<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>xmltooling: xmlsignature::SignatureBuilder Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">xmltooling  <span id="projectnumber">1.5.3</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</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> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('a00076.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pub-static-methods">Static Public Member Functions</a> | <a href="a00220.html">List of all members</a> </div> <div class="headertitle"> <div class="title">xmlsignature::SignatureBuilder Class Reference</div> </div> </div><!--header--> <div class="contents"> <p>Builder for <a class="el" href="a00075.html" title="XMLObject representing XML Digital Signature, version 20020212, Signature element. ">Signature</a> objects. <a href="a00076.html#details">More...</a></p> <p><code>#include <xmltooling/signature/Signature.h></code></p> <div class="dynheader"> Inheritance diagram for xmlsignature::SignatureBuilder:</div> <div class="dyncontent"> <div class="center"> <img src="a00076.png" usemap="#xmlsignature::SignatureBuilder_map" alt=""/> <map id="xmlsignature::SignatureBuilder_map" name="xmlsignature::SignatureBuilder_map"> <area href="a00020.html" title="A factory interface for obtaining XMLObjects. " alt="xmltooling::ConcreteXMLObjectBuilder" shape="rect" coords="0,56,229,80"/> <area href="a00106.html" title="A factory interface for obtaining an XMLObject. " alt="xmltooling::XMLObjectBuilder" shape="rect" coords="0,0,229,24"/> </map> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:aded6d97fe79ea1a2aa117c0cb89af7c5"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00075.html">Signature</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#aded6d97fe79ea1a2aa117c0cb89af7c5">buildObject</a> (const XMLCh *nsURI, const XMLCh *localName, const XMLCh *prefix=0, const <a class="el" href="a00069.html">xmltooling::QName</a> *schemaType=0) const </td></tr> <tr class="memdesc:aded6d97fe79ea1a2aa117c0cb89af7c5"><td class="mdescLeft"> </td><td class="mdescRight">Creates an empty XMLObject with a particular element name. <a href="#aded6d97fe79ea1a2aa117c0cb89af7c5">More...</a><br/></td></tr> <tr class="separator:aded6d97fe79ea1a2aa117c0cb89af7c5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89bdf827ee1351a3bcb4e6fba6d62e0b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00075.html">Signature</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#a89bdf827ee1351a3bcb4e6fba6d62e0b">buildObject</a> () const </td></tr> <tr class="memdesc:a89bdf827ee1351a3bcb4e6fba6d62e0b"><td class="mdescLeft"> </td><td class="mdescRight">Default builder. <a href="#a89bdf827ee1351a3bcb4e6fba6d62e0b">More...</a><br/></td></tr> <tr class="separator:a89bdf827ee1351a3bcb4e6fba6d62e0b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">xmltooling::XMLObjectBuilder</a></td></tr> <tr class="memitem:afe26636964c75e9d407cd50e56375977 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00105.html">XMLObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afe26636964c75e9d407cd50e56375977">buildFromQName</a> (const <a class="el" href="a00069.html">QName</a> &q) const </td></tr> <tr class="memdesc:afe26636964c75e9d407cd50e56375977 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Creates an empty <a class="el" href="a00105.html" title="Object that represents an XML Element that has been unmarshalled into this C++ object. ">XMLObject</a> with a particular element name. <a href="#afe26636964c75e9d407cd50e56375977">More...</a><br/></td></tr> <tr class="separator:afe26636964c75e9d407cd50e56375977 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89318e01de86c40975c62012f1ef7e6e inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00105.html">XMLObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a89318e01de86c40975c62012f1ef7e6e">buildFromElement</a> (xercesc::DOMElement *element, bool bindDocument=false) const </td></tr> <tr class="memdesc:a89318e01de86c40975c62012f1ef7e6e inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Creates an unmarshalled <a class="el" href="a00105.html" title="Object that represents an XML Element that has been unmarshalled into this C++ object. ">XMLObject</a> from a DOM Element. <a href="#a89318e01de86c40975c62012f1ef7e6e">More...</a><br/></td></tr> <tr class="separator:a89318e01de86c40975c62012f1ef7e6e inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aee93390bc68d0b9a91a6c49c488dda52 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00105.html">XMLObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee93390bc68d0b9a91a6c49c488dda52">buildFromDocument</a> (xercesc::DOMDocument *doc, bool bindDocument=true) const </td></tr> <tr class="memdesc:aee93390bc68d0b9a91a6c49c488dda52 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Creates an unmarshalled <a class="el" href="a00105.html" title="Object that represents an XML Element that has been unmarshalled into this C++ object. ">XMLObject</a> from the root of a DOM Document. <a href="#aee93390bc68d0b9a91a6c49c488dda52">More...</a><br/></td></tr> <tr class="separator:aee93390bc68d0b9a91a6c49c488dda52 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> <tr class="memitem:ab151aa97570bb0ac389ced0e13e3e867"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00075.html">Signature</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html#ab151aa97570bb0ac389ced0e13e3e867">buildSignature</a> ()</td></tr> <tr class="memdesc:ab151aa97570bb0ac389ced0e13e3e867"><td class="mdescLeft"> </td><td class="mdescRight">Singleton builder. <a href="#ab151aa97570bb0ac389ced0e13e3e867">More...</a><br/></td></tr> <tr class="separator:ab151aa97570bb0ac389ced0e13e3e867"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_static_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_a00106')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="a00106.html">xmltooling::XMLObjectBuilder</a></td></tr> <tr class="memitem:a26c2ed67001b16d8648fb9f1a9ede00b inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00105.html">XMLObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a26c2ed67001b16d8648fb9f1a9ede00b">buildOneFromElement</a> (xercesc::DOMElement *element, bool bindDocument=false)</td></tr> <tr class="memdesc:a26c2ed67001b16d8648fb9f1a9ede00b inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Creates an unmarshalled <a class="el" href="a00105.html" title="Object that represents an XML Element that has been unmarshalled into this C++ object. ">XMLObject</a> using the default build method, if a builder can be found. <a href="#a26c2ed67001b16d8648fb9f1a9ede00b">More...</a><br/></td></tr> <tr class="separator:a26c2ed67001b16d8648fb9f1a9ede00b inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3cb470370051b7d3f55280c940bb3ae9 inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="a00106.html">XMLObjectBuilder</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a3cb470370051b7d3f55280c940bb3ae9">getBuilder</a> (const <a class="el" href="a00069.html">QName</a> &key)</td></tr> <tr class="memdesc:a3cb470370051b7d3f55280c940bb3ae9 inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves an <a class="el" href="a00106.html" title="A factory interface for obtaining an XMLObject. ">XMLObjectBuilder</a> using the key it was registered with. <a href="#a3cb470370051b7d3f55280c940bb3ae9">More...</a><br/></td></tr> <tr class="separator:a3cb470370051b7d3f55280c940bb3ae9 inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8bfe4e33e339d1390dca6bb8d3377c34 inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="a00106.html">XMLObjectBuilder</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a8bfe4e33e339d1390dca6bb8d3377c34">getBuilder</a> (const xercesc::DOMElement *element)</td></tr> <tr class="memdesc:a8bfe4e33e339d1390dca6bb8d3377c34 inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves an <a class="el" href="a00106.html" title="A factory interface for obtaining an XMLObject. ">XMLObjectBuilder</a> for a given DOM element. <a href="#a8bfe4e33e339d1390dca6bb8d3377c34">More...</a><br/></td></tr> <tr class="separator:a8bfe4e33e339d1390dca6bb8d3377c34 inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a054f7a25141c19f22c27660ea85fc2af inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="a00106.html">XMLObjectBuilder</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a054f7a25141c19f22c27660ea85fc2af">getDefaultBuilder</a> ()</td></tr> <tr class="memdesc:a054f7a25141c19f22c27660ea85fc2af inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the default <a class="el" href="a00106.html" title="A factory interface for obtaining an XMLObject. ">XMLObjectBuilder</a> for DOM elements. <a href="#a054f7a25141c19f22c27660ea85fc2af">More...</a><br/></td></tr> <tr class="separator:a054f7a25141c19f22c27660ea85fc2af inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6c2ff4bca03df69332ebdea631869d2e inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top">static const std::map< <a class="el" href="a00069.html">QName</a>, <br class="typebreak"/> <a class="el" href="a00106.html">XMLObjectBuilder</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a6c2ff4bca03df69332ebdea631869d2e">getBuilders</a> ()</td></tr> <tr class="memdesc:a6c2ff4bca03df69332ebdea631869d2e inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Gets an immutable list of all the builders currently registered. <a href="#a6c2ff4bca03df69332ebdea631869d2e">More...</a><br/></td></tr> <tr class="separator:a6c2ff4bca03df69332ebdea631869d2e inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae610bbe9b275d38c47f31edc4a5c1313 inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#ae610bbe9b275d38c47f31edc4a5c1313">registerBuilder</a> (const <a class="el" href="a00069.html">QName</a> &builderKey, <a class="el" href="a00106.html">XMLObjectBuilder</a> *builder)</td></tr> <tr class="memdesc:ae610bbe9b275d38c47f31edc4a5c1313 inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Registers a new builder for the given key. <a href="#ae610bbe9b275d38c47f31edc4a5c1313">More...</a><br/></td></tr> <tr class="separator:ae610bbe9b275d38c47f31edc4a5c1313 inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a59a70310dfa62ae07e04cb8f7b4bf9da inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a59a70310dfa62ae07e04cb8f7b4bf9da">registerDefaultBuilder</a> (<a class="el" href="a00106.html">XMLObjectBuilder</a> *builder)</td></tr> <tr class="memdesc:a59a70310dfa62ae07e04cb8f7b4bf9da inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Registers a default builder. <a href="#a59a70310dfa62ae07e04cb8f7b4bf9da">More...</a><br/></td></tr> <tr class="separator:a59a70310dfa62ae07e04cb8f7b4bf9da inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8d51ed5fa716e00686cce3d73cb9b691 inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a8d51ed5fa716e00686cce3d73cb9b691">deregisterBuilder</a> (const <a class="el" href="a00069.html">QName</a> &builderKey)</td></tr> <tr class="memdesc:a8d51ed5fa716e00686cce3d73cb9b691 inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Deregisters a builder. <a href="#a8d51ed5fa716e00686cce3d73cb9b691">More...</a><br/></td></tr> <tr class="separator:a8d51ed5fa716e00686cce3d73cb9b691 inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4ecdff36694103918b398fbca57d4f10 inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ecdff36694103918b398fbca57d4f10"></a> static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a4ecdff36694103918b398fbca57d4f10">deregisterDefaultBuilder</a> ()</td></tr> <tr class="memdesc:a4ecdff36694103918b398fbca57d4f10 inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Deregisters default builder. <br/></td></tr> <tr class="separator:a4ecdff36694103918b398fbca57d4f10 inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4e301b5121aa8317adf08c4d0653dd27 inherit pub_static_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e301b5121aa8317adf08c4d0653dd27"></a> static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a4e301b5121aa8317adf08c4d0653dd27">destroyBuilders</a> ()</td></tr> <tr class="memdesc:a4e301b5121aa8317adf08c4d0653dd27 inherit pub_static_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Unregisters and destroys all registered builders. <br/></td></tr> <tr class="separator:a4e301b5121aa8317adf08c4d0653dd27 inherit pub_static_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Builder for <a class="el" href="a00075.html" title="XMLObject representing XML Digital Signature, version 20020212, Signature element. ">Signature</a> objects. </p> </div><h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="aded6d97fe79ea1a2aa117c0cb89af7c5"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00075.html">Signature</a>* xmlsignature::SignatureBuilder::buildObject </td> <td>(</td> <td class="paramtype">const XMLCh * </td> <td class="paramname"><em>nsURI</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const XMLCh * </td> <td class="paramname"><em>localName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const XMLCh * </td> <td class="paramname"><em>prefix</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00069.html">xmltooling::QName</a> * </td> <td class="paramname"><em>schemaType</em> = <code>0</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Creates an empty XMLObject with a particular element name. </p> <p>The results are undefined if localName is nullptr or empty. </p> <p>The caller is responsible for freeing the resulting object.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">nsURI</td><td>namespace URI for element </td></tr> <tr><td class="paramname">localName</td><td>local name of element </td></tr> <tr><td class="paramname">prefix</td><td>prefix of element name </td></tr> <tr><td class="paramname">schemaType</td><td>xsi:type of the object </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the empty XMLObject </dd></dl> <p>Implements <a class="el" href="a00106.html#ac68aa317eb6d14c3c5d8f7e0d74c7e50">xmltooling::XMLObjectBuilder</a>.</p> </div> </div> <a class="anchor" id="a89bdf827ee1351a3bcb4e6fba6d62e0b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="a00075.html">Signature</a>* xmlsignature::SignatureBuilder::buildObject </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Default builder. </p> <dl class="section return"><dt>Returns</dt><dd>empty <a class="el" href="a00075.html" title="XMLObject representing XML Digital Signature, version 20020212, Signature element. ">Signature</a> object </dd></dl> <p>Implements <a class="el" href="a00020.html#adda9934e2989a6258a0d2aaca3493024">xmltooling::ConcreteXMLObjectBuilder</a>.</p> </div> </div> <a class="anchor" id="ab151aa97570bb0ac389ced0e13e3e867"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a00075.html">Signature</a>* xmlsignature::SignatureBuilder::buildSignature </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Singleton builder. </p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>xmltooling/signature/<a class="el" href="a00172.html">Signature.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="a00205.html">xmlsignature</a></li><li class="navelem"><a class="el" href="a00076.html">SignatureBuilder</a></li> <li class="footer">Generated on Wed Sep 2 2015 18:20:35 for xmltooling by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li> </ul> </div> </body> </html>