Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > b36c97ff723e66f0f38bce83645c99dc > files > 539

exiv2-doc-0.18.2-1mdv2010.0.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::Internal::TiffImageEntry Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <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="annotated.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="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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="navpath"><a class="el" href="namespaceExiv2.html">Exiv2</a>::<a class="el" href="namespaceExiv2_1_1Internal.html">Internal</a>::<a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html">TiffImageEntry</a>
  </div>
</div>
<div class="contents">
<h1>Exiv2::Internal::TiffImageEntry Class Reference</h1><!-- doxytag: class="Exiv2::Internal::TiffImageEntry" --><!-- doxytag: inherits="Exiv2::Internal::TiffDataEntryBase" -->A standard TIFF IFD entry consisting of a value which is an array of offsets to image data areas. The sizes of the image data areas are provided in a related <a class="el" href="classExiv2_1_1Internal_1_1TiffSizeEntry.html" title="A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This...">TiffSizeEntry</a>, tag and group of which are set in the constructor.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;tiffcomposite_int.hpp&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Exiv2::Internal::TiffImageEntry:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Internal_1_1TiffImageEntry__inherit__graph.png" border="0" usemap="#Exiv2_1_1Internal_1_1TiffImageEntry__inherit__map" alt="Inheritance graph"></center>
<map name="Exiv2_1_1Internal_1_1TiffImageEntry__inherit__map">
<area shape="rect" id="node2" href="classExiv2_1_1Internal_1_1TiffDataEntryBase.html" title="Interface for a standard TIFF IFD entry consisting of a value which is a set of offsets..." alt="" coords="5,155,365,181"><area shape="rect" id="node4" href="classExiv2_1_1Internal_1_1TiffEntryBase.html" title="This abstract base class provides the common functionality of an IFD directory entry..." alt="" coords="25,80,345,107"><area shape="rect" id="node6" href="classExiv2_1_1Internal_1_1TiffComponent.html" title="Interface class for components of a TIFF directory hierarchy (Composite pattern)..." alt="" coords="25,5,345,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for Exiv2::Internal::TiffImageEntry:</div>
<div class="dynsection">
<p><center><img src="classExiv2_1_1Internal_1_1TiffImageEntry__coll__graph.png" border="0" usemap="#Exiv2_1_1Internal_1_1TiffImageEntry__coll__map" alt="Collaboration graph"></center>
<map name="Exiv2_1_1Internal_1_1TiffImageEntry__coll__map">
<area shape="rect" id="node2" href="classExiv2_1_1Internal_1_1TiffDataEntryBase.html" title="Interface for a standard TIFF IFD entry consisting of a value which is a set of offsets..." alt="" coords="1300,56,1660,83"><area shape="rect" id="node4" href="classExiv2_1_1Internal_1_1TiffEntryBase.html" title="This abstract base class provides the common functionality of an IFD directory entry..." alt="" coords="457,56,777,83"><area shape="rect" id="node6" href="classExiv2_1_1Internal_1_1TiffComponent.html" title="Interface class for components of a TIFF directory hierarchy (Composite pattern)..." alt="" coords="7,5,327,32"><area shape="rect" id="node8" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata." alt="" coords="96,56,237,83"><area shape="rect" id="node12" title="STL class." alt="" coords="527,107,708,133"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classExiv2_1_1Internal_1_1TiffImageEntry-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 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"><a class="anchor" name="920fee5ae08af9e68bb0ae151daf7ae8"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::TiffImageEntry" ref="920fee5ae08af9e68bb0ae151daf7ae8" args="(uint16_t tag, uint16_t group, uint16_t szTag, uint16_t szGroup)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#920fee5ae08af9e68bb0ae151daf7ae8">TiffImageEntry</a> (uint16_t tag, uint16_t group, uint16_t szTag, uint16_t szGroup)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5bc44bda7f1aca9da9419aeb465e6981"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::~TiffImageEntry" ref="5bc44bda7f1aca9da9419aeb465e6981" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#5bc44bda7f1aca9da9419aeb465e6981">~TiffImageEntry</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual destructor. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Manipulators</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#59911906e2c0bc63c880ad12ce5ca892">setStrips</a> (const <a class="el" href="classExiv2_1_1Value.html">Value</a> *pSize, const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *pData, uint32_t sizeData, uint32_t baseOffset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the data areas ("strips").  <a href="#59911906e2c0bc63c880ad12ce5ca892"></a><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="2e7de1d7fb782e7307a4c3fdab189e13"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::doAccept" ref="2e7de1d7fb782e7307a4c3fdab189e13" args="(TiffVisitor &amp;visitor)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#2e7de1d7fb782e7307a4c3fdab189e13">doAccept</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffVisitor.html">TiffVisitor</a> &amp;visitor)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#e76a57686b20b3f0db99dd43162e6aef" title="Interface to accept visitors (Visitor pattern). Visitors can perform operations on...">accept()</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af6fb127bb02ed2c8050ad5638a16a70"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::doEncode" ref="af6fb127bb02ed2c8050ad5638a16a70" args="(TiffEncoder &amp;encoder, const Exifdatum *datum)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#af6fb127bb02ed2c8050ad5638a16a70">doEncode</a> (<a class="el" href="classExiv2_1_1Internal_1_1TiffEncoder.html">TiffEncoder</a> &amp;encoder, const <a class="el" href="classExiv2_1_1Exifdatum.html">Exifdatum</a> *datum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffEntryBase.html#120f4553c20edd9a3bedb5bfb2b70627" title="Encode a TIFF component from the metadatum provided and information from the encoder...">encode()</a>. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Write support (Manipulators)</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25893816e161ec419bc35eb30ba6ef7e"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::doWrite" ref="25893816e161ec419bc35eb30ba6ef7e" args="(Blob &amp;blob, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &amp;imageIdx)" -->
virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#25893816e161ec419bc35eb30ba6ef7e">doWrite</a> (<a class="el" href="namespaceExiv2.html#6e7b9a2ef47caec919b15f1ae6ff4872">Blob</a> &amp;blob, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t &amp;imageIdx)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#55718c4016169c10a3f798aa5f578ef2" title="Write a TiffComponent to a binary image.">write()</a>. Write pointers into the image data area to the <em>blob</em>. Return the number of bytes written. The <em>valueIdx</em> and <em>dataIdx</em> arguments are not used. <br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Write support (Accessors)</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#ed8aa315a20badd0eb79ed126ff5a8ec">doWriteData</a> (<a class="el" href="namespaceExiv2.html#6e7b9a2ef47caec919b15f1ae6ff4872">Blob</a> &amp;blob, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &amp;imageIdx) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#785a467e54a53a59858ef2675c209cb4" title="Write the IFD data of this component to a binary image. Return the number of bytes...">writeData()</a>. Write the image data area to the blob. Return the number of bytes written.  <a href="#ed8aa315a20badd0eb79ed126ff5a8ec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e8c8a87d582b2bf70202445ee9ae30d"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::doWriteImage" ref="3e8c8a87d582b2bf70202445ee9ae30d" args="(Blob &amp;blob, ByteOrder byteOrder) const " -->
virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#3e8c8a87d582b2bf70202445ee9ae30d">doWriteImage</a> (<a class="el" href="namespaceExiv2.html#6e7b9a2ef47caec919b15f1ae6ff4872">Blob</a> &amp;blob, <a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a> byteOrder) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#e2628c0c912cb171367d75b557dbeb96" title="Write the image data of this component to a binary image. Return the number of bytes...">writeImage()</a>. Write the image data area to the blob. Return the number of bytes written. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b9999b3f3baa9bbedda30e64eebdda0"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::doSize" ref="9b9999b3f3baa9bbedda30e64eebdda0" args="() const " -->
virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#9b9999b3f3baa9bbedda30e64eebdda0">doSize</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#70cb160a3ee96b6f3d4121e85f3628ab" title="Return the size in bytes of the IFD value of this component when written to a binary...">size()</a>. Return the size of the strip pointers. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b214d807b9cb038cafab876a8e5a4ddc"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::doSizeData" ref="b214d807b9cb038cafab876a8e5a4ddc" args="() const " -->
virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#b214d807b9cb038cafab876a8e5a4ddc">doSizeData</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#5c6eabeeb172dd41745f6713bcfcb34f" title="Return the size in bytes of the IFD data of this component when written to a binary...">sizeData()</a>. Return the size of the image data area. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad1cb7596cce1c63c38cdf6423e80274"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::doSizeImage" ref="ad1cb7596cce1c63c38cdf6423e80274" args="() const " -->
virtual uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExiv2_1_1Internal_1_1TiffImageEntry.html#ad1cb7596cce1c63c38cdf6423e80274">doSizeImage</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#192645bb7f6f48a8e4bbf0fc330555e4" title="Return the size in bytes of the image data of this component when written to a binary...">sizeImage()</a>. Return the size of the image data area. <br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5dd5ce530d9b1012873f50e10c03477d"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::TiffEncoder" ref="5dd5ce530d9b1012873f50e10c03477d" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>TiffEncoder</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A standard TIFF IFD entry consisting of a value which is an array of offsets to image data areas. The sizes of the image data areas are provided in a related <a class="el" href="classExiv2_1_1Internal_1_1TiffSizeEntry.html" title="A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This...">TiffSizeEntry</a>, tag and group of which are set in the constructor. 
<p>
The data is not extracted into the higher level metadata tags, it is only copied to the target image when the image is written. This component is used, e.g., for <em>Exif.Image.StripOffsets</em> for which the sizes are provided in <em>Exif.Image.StripByteCounts</em>. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ed8aa315a20badd0eb79ed126ff5a8ec"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::doWriteData" ref="ed8aa315a20badd0eb79ed126ff5a8ec" args="(Blob &amp;blob, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t &amp;imageIdx) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual uint32_t Exiv2::Internal::TiffImageEntry::doWriteData           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#6e7b9a2ef47caec919b15f1ae6ff4872">Blob</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>blob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceExiv2.html#94c225faf6d6c611a3828fae1c28efa6">ByteOrder</a>&nbsp;</td>
          <td class="paramname"> <em>byteOrder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>dataIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t &amp;&nbsp;</td>
          <td class="paramname"> <em>imageIdx</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffComponent.html#785a467e54a53a59858ef2675c209cb4" title="Write the IFD data of this component to a binary image. Return the number of bytes...">writeData()</a>. Write the image data area to the blob. Return the number of bytes written. 
<p>
This function writes the image data to the data area of the current directory. It is used for TIFF image entries in the makernote (large preview images) so that the image data remains in the makernote IFD. 
<p>Reimplemented from <a class="el" href="classExiv2_1_1Internal_1_1TiffEntryBase.html#7230dfee0bf12437dba4a4a9d8e27692">Exiv2::Internal::TiffEntryBase</a>.</p>

</div>
</div><p>
<a class="anchor" name="59911906e2c0bc63c880ad12ce5ca892"></a><!-- doxytag: member="Exiv2::Internal::TiffImageEntry::setStrips" ref="59911906e2c0bc63c880ad12ce5ca892" args="(const Value *pSize, const byte *pData, uint32_t sizeData, uint32_t baseOffset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Exiv2::Internal::TiffImageEntry::setStrips           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classExiv2_1_1Value.html">Value</a> *&nbsp;</td>
          <td class="paramname"> <em>pSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceExiv2.html#16f60a5bd4207fe155f6cf93a15efa72">byte</a> *&nbsp;</td>
          <td class="paramname"> <em>pData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>sizeData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>baseOffset</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the data areas ("strips"). 
<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>pSize</em>&nbsp;</td><td>Pointer to the <a class="el" href="classExiv2_1_1Value.html" title="Common interface for all types of values used with metadata.">Value</a> holding the sizes corresponding to this data entry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pData</em>&nbsp;</td><td>Pointer to the data area. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sizeData</em>&nbsp;</td><td>Size of the data area. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>baseOffset</em>&nbsp;</td><td>Base offset into the data area. </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="classExiv2_1_1Internal_1_1TiffDataEntryBase.html#5e9e26731e696cffd810ab1ebe4a2a85">Exiv2::Internal::TiffDataEntryBase</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="tiffcomposite__int_8hpp.html">tiffcomposite_int.hpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jun 25 15:18:15 2009 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.9 </small></address>
</body>
</html>