Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > e31b59fe09ff595814e8029d984f51c5 > files > 285

lib64exiv2_2-devel-0.16-3mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Exiv2: Exiv2::ExifKey Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.4 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<div class="nav">
<a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a></div>
<h1>Exiv2::ExifKey Class Reference</h1><!-- doxytag: class="Exiv2::ExifKey" --><!-- doxytag: inherits="Exiv2::Key" -->Concrete keys for Exif metadata.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;tags.hpp&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Exiv2::ExifKey:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1ExifKey__inherit__graph.png" border="0" usemap="#Exiv2_1_1ExifKey__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1ExifKey__inherit__map">
<area shape="rect" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="25,7,145,31"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for Exiv2::ExifKey:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1ExifKey__coll__graph.png" border="0" usemap="#Exiv2_1_1ExifKey__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1ExifKey__coll__map">
<area shape="rect" href="classExiv2_1_1Key.html" title="Abstract base class defining the Key of a metadatum. Keys are used to identify and..." alt="" coords="5,172,125,196"><area shape="rect" title="STL class." alt="" coords="149,172,280,196"><area shape="rect" title="STL class." alt="" coords="79,7,351,31"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classExiv2_1_1ExifKey-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="88f3c3ee83cc5c342ab72c777d5e12ce"></a><!-- doxytag: member="Exiv2::ExifKey::AutoPtr" ref="88f3c3ee83cc5c342ab72c777d5e12ce" args="" -->
typedef std::auto_ptr&lt; <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#88f3c3ee83cc5c342ab72c777d5e12ce">AutoPtr</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shortcut for an ExifKey auto pointer. <br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Creators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#0874f4846012c3c0b67690ebb3fe9f9a">ExifKey</a> (const std::string &amp;key)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor to create an Exif key from a key string.  <a href="#0874f4846012c3c0b67690ebb3fe9f9a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#ee189320881e1fb26d0125978214d6ec">ExifKey</a> (uint16_t tag, const std::string &amp;ifdItem)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor to create an Exif key from a tag and IFD item string.  <a href="#ee189320881e1fb26d0125978214d6ec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed2343725793982f89845a1b9d7d30d0"></a><!-- doxytag: member="Exiv2::ExifKey::ExifKey" ref="ed2343725793982f89845a1b9d7d30d0" args="(const Entry &amp;e)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#ed2343725793982f89845a1b9d7d30d0">ExifKey</a> (const <a class="el" href="classExiv2_1_1Entry.html">Entry</a> &amp;e)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor to build an <a class="el" href="classExiv2_1_1ExifKey.html" title="Concrete keys for Exif metadata.">ExifKey</a> from an IFD entry. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="60c87fdaf37922883f415a7ba244a968"></a><!-- doxytag: member="Exiv2::ExifKey::ExifKey" ref="60c87fdaf37922883f415a7ba244a968" args="(const ExifKey &amp;rhs)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#60c87fdaf37922883f415a7ba244a968">ExifKey</a> (const <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> &amp;rhs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea3edf48f1185c36b3ad726f03fd5c92"></a><!-- doxytag: member="Exiv2::ExifKey::~ExifKey" ref="ea3edf48f1185c36b3ad726f03fd5c92" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><b>~ExifKey</b> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="906f6ecf9e2fd85632b9cd8ca682b723"></a><!-- doxytag: member="Exiv2::ExifKey::operator=" ref="906f6ecf9e2fd85632b9cd8ca682b723" args="(const ExifKey &amp;rhs)" -->
<a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#906f6ecf9e2fd85632b9cd8ca682b723">operator=</a> (const <a class="el" href="classExiv2_1_1ExifKey.html">ExifKey</a> &amp;rhs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Accessors</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b59e0750199f96324f5ef44719834c6"></a><!-- doxytag: member="Exiv2::ExifKey::key" ref="3b59e0750199f96324f5ef44719834c6" args="() const " -->
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#3b59e0750199f96324f5ef44719834c6">key</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the key of the metadatum as a string. The key is of the form 'familyName.groupName.tagName'. Note however that the key is not necessarily unique, e.g., an <a class="el" href="classExiv2_1_1ExifData.html" title="A container for Exif data. This is a top-level class of the Exiv2 library. The container...">ExifData</a> may contain multiple metadata with the same key. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="352f1370ce42657386071fcca25555aa"></a><!-- doxytag: member="Exiv2::ExifKey::familyName" ref="352f1370ce42657386071fcca25555aa" args="() const " -->
virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#352f1370ce42657386071fcca25555aa">familyName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an identifier for the type of metadata (the first part of the key). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="03e334874d5a14d2221cfa9b58672c6f"></a><!-- doxytag: member="Exiv2::ExifKey::groupName" ref="03e334874d5a14d2221cfa9b58672c6f" args="() const " -->
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#03e334874d5a14d2221cfa9b58672c6f">groupName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of the group (the second part of the key). For Exif keys, the group name is the IFD item. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0970d1d4dd9eb3239fddb20067086573"></a><!-- doxytag: member="Exiv2::ExifKey::tagName" ref="0970d1d4dd9eb3239fddb20067086573" args="() const " -->
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#0970d1d4dd9eb3239fddb20067086573">tagName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of the tag (which is also the third part of the key). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b28890923bab03724cd0352ec62172d"></a><!-- doxytag: member="Exiv2::ExifKey::tagLabel" ref="3b28890923bab03724cd0352ec62172d" args="() const " -->
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#3b28890923bab03724cd0352ec62172d">tagLabel</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a label for the tag. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68e925f382052cc3ac88a6ef7397236d"></a><!-- doxytag: member="Exiv2::ExifKey::tag" ref="68e925f382052cc3ac88a6ef7397236d" args="() const " -->
virtual uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#68e925f382052cc3ac88a6ef7397236d">tag</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the tag number. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="487d4b68bdcca1fee0fca0fb81201737"></a><!-- doxytag: member="Exiv2::ExifKey::clone" ref="487d4b68bdcca1fee0fca0fb81201737" args="() const " -->
<a class="el" href="classExiv2_1_1Key.html#9bf9953294ceb8d272908a0680aeade8">AutoPtr</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#487d4b68bdcca1fee0fca0fb81201737">clone</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an auto-pointer to a copy of itself (deep copy). The caller owns this copy and the auto-pointer ensures that it will be deleted. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed7f3e5223971db79857d1b65ffaa246"></a><!-- doxytag: member="Exiv2::ExifKey::ifdId" ref="ed7f3e5223971db79857d1b65ffaa246" args="() const " -->
<a class="el" href="namespaceExiv2.html#1615152767a506a955c9d13443b56b62">IfdId</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#ed7f3e5223971db79857d1b65ffaa246">ifdId</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the IFD id. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ab50336317da0559ab9a69a5aedce7d"></a><!-- doxytag: member="Exiv2::ExifKey::ifdName" ref="8ab50336317da0559ab9a69a5aedce7d" args="() const " -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#8ab50336317da0559ab9a69a5aedce7d">ifdName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of the IFD. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b261d0d99befc544926e32cb66d6ff89"></a><!-- doxytag: member="Exiv2::ExifKey::ifdItem" ref="b261d0d99befc544926e32cb66d6ff89" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#b261d0d99befc544926e32cb66d6ff89">ifdItem</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the related image item. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="141e928c87da2ec1a8d52c0238b7eea3"></a><!-- doxytag: member="Exiv2::ExifKey::sectionName" ref="141e928c87da2ec1a8d52c0238b7eea3" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#141e928c87da2ec1a8d52c0238b7eea3">sectionName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the name of the Exif section (deprecated). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d7c5de10de9b6734b060e3433118926b"></a><!-- doxytag: member="Exiv2::ExifKey::idx" ref="d7c5de10de9b6734b060e3433118926b" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#d7c5de10de9b6734b060e3433118926b">idx</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the index (unique id of this key within the original IFD). <br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="846712abec6df0ebc811626c8278c51d"></a><!-- doxytag: member="Exiv2::ExifKey::makeKey" ref="846712abec6df0ebc811626c8278c51d" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#846712abec6df0ebc811626c8278c51d">makeKey</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the key corresponding to the tag and IFD id. The key is of the form '<b>Exif</b>.ifdItem.tagName'. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1ExifKey.html#a326e0ffab35813b6c34513073893b3c">decomposeKey</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parse and convert the key string into tag and IFD Id. Updates data members if the string can be decomposed, or throws <em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em> .  <a href="#a326e0ffab35813b6c34513073893b3c"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Concrete keys for Exif metadata. <dl compact><dt><b>Examples: </b></dt><dd>

<p>
<a class="el" href="addmoddel_8cpp-example.html#_a3">addmoddel.cpp</a>.</dl><hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="0874f4846012c3c0b67690ebb3fe9f9a"></a><!-- doxytag: member="Exiv2::ExifKey::ExifKey" ref="0874f4846012c3c0b67690ebb3fe9f9a" args="(const std::string &amp;key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Exiv2::ExifKey::ExifKey           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [explicit]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor to create an Exif key from a key string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key string. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em>&nbsp;</td><td>if the first part of the key is not '<b>Exif</b>' or the remainin parts of the key cannot be parsed and converted to an ifd-item and tag name. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ee189320881e1fb26d0125978214d6ec"></a><!-- doxytag: member="Exiv2::ExifKey::ExifKey" ref="ee189320881e1fb26d0125978214d6ec" args="(uint16_t tag, const std::string &amp;ifdItem)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Exiv2::ExifKey::ExifKey           </td>
          <td>(</td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>ifdItem</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor to create an Exif key from a tag and IFD item string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tag</em>&nbsp;</td><td>The tag value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ifdItem</em>&nbsp;</td><td>The IFD string. For <a class="el" href="classExiv2_1_1MakerNote.html" title="Exif makernote interface.">MakerNote</a> tags, this must be the IFD item of the specific <a class="el" href="classExiv2_1_1MakerNote.html" title="Exif makernote interface.">MakerNote</a>. "MakerNote" is not allowed. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em>&nbsp;</td><td>if the key cannot be constructed from the tag and IFD item parameters. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a326e0ffab35813b6c34513073893b3c"></a><!-- doxytag: member="Exiv2::ExifKey::decomposeKey" ref="a326e0ffab35813b6c34513073893b3c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Exiv2::ExifKey::decomposeKey           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parse and convert the key string into tag and IFD Id. Updates data members if the string can be decomposed, or throws <em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em> . 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classExiv2_1_1Error.html" title="Simple error class used for exceptions. An output operator is provided to print errors...">Error</a></em>&nbsp;</td><td>if the key cannot be decomposed. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="tags_8hpp.html">tags.hpp</a></ul>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Feb 5 11:51:10 2008 for Exiv2 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>
</body>
</html>