[libxml2] Rebuild API documentation
- From: Nick Wellnhofer <nwellnhof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libxml2] Rebuild API documentation
- Date: Tue, 23 Aug 2022 23:07:00 +0000 (UTC)
commit bd6a42723266115bed754e760fdcbc82a3618343
Author: Nick Wellnhofer <wellnhofer aevum de>
Date: Wed Aug 24 00:17:51 2022 +0200
Rebuild API documentation
doc/devhelp/libxml2-globals.html | 48 ++++++++++++++++----------------
doc/devhelp/libxml2-parserInternals.html | 2 +-
doc/devhelp/libxml2-tree.html | 5 ----
doc/devhelp/libxml2-xmlexports.html | 7 +----
doc/devhelp/libxml2-xpath.html | 12 --------
doc/devhelp/libxml2.devhelp2 | 5 ----
6 files changed, 26 insertions(+), 53 deletions(-)
---
diff --git a/doc/devhelp/libxml2-globals.html b/doc/devhelp/libxml2-globals.html
index e89d8ec1..e65d8857 100644
--- a/doc/devhelp/libxml2-globals.html
+++ b/doc/devhelp/libxml2-globals.html
@@ -146,15 +146,15 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="oldXMLWDcompatibility">Variable
</a>oldXMLWDcompatibility</h3><pre class="programlisting">int oldXMLWDcompatibility;
-</pre><p/>
+</pre><p>Global setting, DEPRECATED.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlBufferAllocScheme">Variable
</a>xmlBufferAllocScheme</h3><pre class="programlisting"><a
href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlBufferAllocScheme;
-</pre><p/>
+</pre><p>DEPRECATED: Don't use. Global setting, default allocation policy for buffers, default is <a
href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a></p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlDefaultBufferSize">Variable
</a>xmlDefaultBufferSize</h3><pre class="programlisting">int xmlDefaultBufferSize;
-</pre><p/>
+</pre><p>DEPRECATED: Don't use. Global setting, default buffer size. Default value is <a
href="libxml2-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlDefaultSAXHandler">Variable
</a>xmlDefaultSAXHandler</h3><pre class="programlisting"><a
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> xmlDefaultSAXHandler;
@@ -170,31 +170,31 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlDoValidityCheckingDefaultValue">Variable
</a>xmlDoValidityCheckingDefaultValue</h3><pre class="programlisting">int xmlDoValidityCheckingDefaultValue;
-</pre><p/>
+</pre><p>Global setting, indicate that the parser should work in validating mode. Disabled by default.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlFree">Variable </a>xmlFree</h3><pre
class="programlisting"><a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree;
-</pre><p/>
+</pre><p>@mem: an already allocated block of memory The variable holding the libxml free() implementation</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlGenericError">Variable </a>xmlGenericError</h3><pre
class="programlisting"><a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a>
xmlGenericError;
-</pre><p/>
+</pre><p>Global setting: function used for generic error callbacks</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlGenericErrorContext">Variable
</a>xmlGenericErrorContext</h3><pre class="programlisting">void * xmlGenericErrorContext;
-</pre><p/>
+</pre><p>Global setting passed to generic error callbacks</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlGetWarningsDefaultValue">Variable
</a>xmlGetWarningsDefaultValue</h3><pre class="programlisting">int xmlGetWarningsDefaultValue;
-</pre><p/>
+</pre><p>Global setting, indicate that the parser should provide warnings. Activated by default.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlIndentTreeOutput">Variable
</a>xmlIndentTreeOutput</h3><pre class="programlisting">int xmlIndentTreeOutput;
-</pre><p/>
+</pre><p>Global setting, asking the serializer to indent the output tree by default Enabled by default</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlKeepBlanksDefaultValue">Variable
</a>xmlKeepBlanksDefaultValue</h3><pre class="programlisting">int xmlKeepBlanksDefaultValue;
-</pre><p/>
+</pre><p>Global setting, indicate that the parser should keep all blanks nodes found in the content
Activated by default, this is actually needed to have the parser conformant to the XML Recommendation,
however the option is kept for some applications since this was libxml1 default behaviour.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlLastError">Variable </a>xmlLastError</h3><pre
class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> xmlLastError;
@@ -202,23 +202,23 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlLineNumbersDefaultValue">Variable
</a>xmlLineNumbersDefaultValue</h3><pre class="programlisting">int xmlLineNumbersDefaultValue;
-</pre><p/>
+</pre><p>DEPRECATED: The modern options API always enables line numbers. Global setting, indicate that the
parser should store the line number in the content field of elements in the DOM tree. Disabled by default
since this may not be safe for old classes of application.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlLoadExtDtdDefaultValue">Variable
</a>xmlLoadExtDtdDefaultValue</h3><pre class="programlisting">int xmlLoadExtDtdDefaultValue;
-</pre><p/>
+</pre><p>Global setting, indicate that the parser should load DTD while not validating. Disabled by
default.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlMalloc">Variable </a>xmlMalloc</h3><pre
class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc;
-</pre><p/>
+</pre><p>@size: the size requested in bytes The variable holding the libxml malloc() implementation Returns
a pointer to the newly allocated block or NULL in case of error</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlMallocAtomic">Variable </a>xmlMallocAtomic</h3><pre
class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic;
-</pre><p/>
+</pre><p>@size: the size requested in bytes The variable holding the libxml malloc() implementation for
atomic data (i.e. blocks not containing pointers), useful when using a garbage collecting allocator. Returns
a pointer to the newly allocated block or NULL in case of error</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlMemStrdup">Variable </a>xmlMemStrdup</h3><pre
class="programlisting"><a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup;
-</pre><p/>
+</pre><p>@str: a zero terminated string The variable holding the libxml strdup() implementation Returns the
copy of the string or NULL in case of error</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFilenameValue">Variable
</a>xmlOutputBufferCreateFilenameValue</h3><pre class="programlisting"><a
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>
xmlOutputBufferCreateFilenameValue;
@@ -226,7 +226,7 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlParserDebugEntities">Variable
</a>xmlParserDebugEntities</h3><pre class="programlisting">int xmlParserDebugEntities;
-</pre><p/>
+</pre><p>Global setting, asking the parser to print out debugging information. while handling entities.
Disabled by default</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFilenameValue">Variable
</a>xmlParserInputBufferCreateFilenameValue</h3><pre class="programlisting"><a
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>
xmlParserInputBufferCreateFilenameValue;
@@ -234,15 +234,15 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlParserVersion">Variable
</a>xmlParserVersion</h3><pre class="programlisting">const char * xmlParserVersion;
-</pre><p/>
+</pre><p>Constant string describing the internal version of the library</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlPedanticParserDefaultValue">Variable
</a>xmlPedanticParserDefaultValue</h3><pre class="programlisting">int xmlPedanticParserDefaultValue;
-</pre><p/>
+</pre><p>DEPRECATED: Use the modern options API with XML_PARSE_PEDANTIC. Global setting, indicate that the
parser be pedantic Disabled by default.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlRealloc">Variable </a>xmlRealloc</h3><pre
class="programlisting"><a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc;
-</pre><p/>
+</pre><p>@mem: an already allocated block of memory @size: the new size requested in bytes The variable
holding the libxml realloc() implementation Returns a pointer to the newly reallocated block or NULL in case
of error</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlRegisterNodeDefaultValue">Variable
</a>xmlRegisterNodeDefaultValue</h3><pre class="programlisting"><a
href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefaultValue;
@@ -250,23 +250,23 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlSaveNoEmptyTags">Variable
</a>xmlSaveNoEmptyTags</h3><pre class="programlisting">int xmlSaveNoEmptyTags;
-</pre><p/>
+</pre><p>Global setting, asking the serializer to not output empty tags as <empty/> but
<empty></empty>. those two forms are indistinguishable once parsed. Disabled by default</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlStructuredError">Variable
</a>xmlStructuredError</h3><pre class="programlisting"><a
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> xmlStructuredError;
-</pre><p/>
+</pre><p>Global setting: function used for structured error callbacks</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlStructuredErrorContext">Variable
</a>xmlStructuredErrorContext</h3><pre class="programlisting">void * xmlStructuredErrorContext;
-</pre><p/>
+</pre><p>Global setting passed to structured error callbacks</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlSubstituteEntitiesDefaultValue">Variable
</a>xmlSubstituteEntitiesDefaultValue</h3><pre class="programlisting">int xmlSubstituteEntitiesDefaultValue;
-</pre><p/>
+</pre><p>Global setting, indicate that the parser should not generate entity references but replace them
with the actual content of the entity Disabled by default, this should be activated when using XPath since
the XPath data model requires entities replacement and the XPath engine does not handle entities references
transparently.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlTreeIndentString">Variable
</a>xmlTreeIndentString</h3><pre class="programlisting">const char * xmlTreeIndentString;
-</pre><p/>
+</pre><p>The string used to do one-level indent. By default is equal to " " (two spaces)</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlCleanupGlobals"/>xmlCleanupGlobals ()</h3><pre
class="programlisting">void xmlCleanupGlobals (void)<br/>
diff --git a/doc/devhelp/libxml2-parserInternals.html b/doc/devhelp/libxml2-parserInternals.html
index 372f9c25..02d6ea51 100644
--- a/doc/devhelp/libxml2-parserInternals.html
+++ b/doc/devhelp/libxml2-parserInternals.html
@@ -307,7 +307,7 @@ int <a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a> (<a href="libxml2-tr
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span
class="term"><i><tt>ent</tt></i>:</span></td><td>the entity</td></tr><tr><td><span
class="term"><i><tt>firstNode</tt></i>:</span></td><td>the fist node in the chunk</td></tr><tr><td><span
class="term"><i><tt>lastNode</tt></i>:</span></td><td>the last nod in the
chunk</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlParserMaxDepth">Variable
</a>xmlParserMaxDepth</h3><pre class="programlisting">unsigned int xmlParserMaxDepth;
-</pre><p/>
+</pre><p>arbitrary depth limit for the XML documents that we allow to process. This is not a limitation of
the parser but a safety boundary feature. It can be disabled with the <a
href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> parser option.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlStringComment">Variable
</a>xmlStringComment</h3><pre class="programlisting">const xmlCharxmlStringComment[] xmlStringComment;
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index 02920e77..f98c947c 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -45,7 +45,6 @@
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
-#define <a href="#XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a>;
#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
@@ -285,10 +284,6 @@ int <a href="#xmlValidateQName">xmlValidateQName</a> (const <a
href="libxml2-xm
<hr/>
<div class="refsect2" lang="en"><h3><a name="LIBXML2_NEW_BUFFER">Macro
</a>LIBXML2_NEW_BUFFER</h3><pre class="programlisting">#define <a
href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
</pre><p>Macro used to express that the API use the new buffers for <a
href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> and xmlOutputBuffer. The change was
introduced in 2.9.0.</p>
-</div>
- <hr/>
- <div class="refsect2" lang="en"><h3><a name="XML_DOCB_DOCUMENT_NODE">Macro
</a>XML_DOCB_DOCUMENT_NODE</h3><pre class="programlisting">#define <a
href="#XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a>;
-</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="XML_GET_CONTENT">Macro </a>XML_GET_CONTENT</h3><pre
class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
diff --git a/doc/devhelp/libxml2-xmlexports.html b/doc/devhelp/libxml2-xmlexports.html
index 392c02a0..8afa1a6c 100644
--- a/doc/devhelp/libxml2-xmlexports.html
+++ b/doc/devhelp/libxml2-xmlexports.html
@@ -43,8 +43,7 @@
<p>Author(s): </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
- <pre class="synopsis">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>;
-#define <a href="#XMLCALL">XMLCALL</a>;
+ <pre class="synopsis">#define <a href="#XMLCALL">XMLCALL</a>;
#define <a href="#XMLCDECL">XMLCDECL</a>;
#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
@@ -57,10 +56,6 @@
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
- <div class="refsect2" lang="en"><h3><a name="LIBXML_DLL_IMPORT">Macro </a>LIBXML_DLL_IMPORT</h3><pre
class="programlisting">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>;
-</pre><p/>
-</div>
- <hr/>
<div class="refsect2" lang="en"><h3><a name="XMLCALL">Macro </a>XMLCALL</h3><pre
class="programlisting">#define <a href="#XMLCALL">XMLCALL</a>;
</pre><p>Macro which declares the calling convention for exported functions</p>
</div>
diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html
index 60ed596b..4378b35b 100644
--- a/doc/devhelp/libxml2-xpath.html
+++ b/doc/devhelp/libxml2-xpath.html
@@ -128,18 +128,6 @@ typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a
<hr/>
<div class="refsect2" lang="en"><h3><a name="XML_XPATH_NOVAR">Macro </a>XML_XPATH_NOVAR</h3><pre
class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
</pre><p>forbid variables in expression</p>
-</div>
- <hr/>
- <div class="refsect2" lang="en"><h3><a name="XPATH_LOCATIONSET">Macro </a>XPATH_LOCATIONSET</h3><pre
class="programlisting">#define <a href="#XPATH_LOCATIONSET">XPATH_LOCATIONSET</a>;
-</pre><p/>
-</div>
- <hr/>
- <div class="refsect2" lang="en"><h3><a name="XPATH_POINT">Macro </a>XPATH_POINT</h3><pre
class="programlisting">#define <a href="#XPATH_POINT">XPATH_POINT</a>;
-</pre><p/>
-</div>
- <hr/>
- <div class="refsect2" lang="en"><h3><a name="XPATH_RANGE">Macro </a>XPATH_RANGE</h3><pre
class="programlisting">#define <a href="#XPATH_RANGE">XPATH_RANGE</a>;
-</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetGetLength">Macro
</a>xmlXPathNodeSetGetLength</h3><pre class="programlisting">#define <a
href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
diff --git a/doc/devhelp/libxml2.devhelp2 b/doc/devhelp/libxml2.devhelp2
index 79541328..2789154d 100644
--- a/doc/devhelp/libxml2.devhelp2
+++ b/doc/devhelp/libxml2.devhelp2
@@ -98,7 +98,6 @@
<keyword type="macro" name="LIBXML_CATALOG_ENABLED"
link="libxml2-xmlversion.html#LIBXML_CATALOG_ENABLED"/>
<keyword type="macro" name="LIBXML_DEBUG_ENABLED" link="libxml2-xmlversion.html#LIBXML_DEBUG_ENABLED"/>
<keyword type="macro" name="LIBXML_DEBUG_RUNTIME" link="libxml2-xmlversion.html#LIBXML_DEBUG_RUNTIME"/>
- <keyword type="macro" name="LIBXML_DLL_IMPORT" link="libxml2-xmlexports.html#LIBXML_DLL_IMPORT"/>
<keyword type="macro" name="LIBXML_DOTTED_VERSION" link="libxml2-xmlversion.html#LIBXML_DOTTED_VERSION"/>
<keyword type="macro" name="LIBXML_EXPR_ENABLED" link="libxml2-xmlversion.html#LIBXML_EXPR_ENABLED"/>
<keyword type="macro" name="LIBXML_FTP_ENABLED" link="libxml2-xmlversion.html#LIBXML_FTP_ENABLED"/>
@@ -162,7 +161,6 @@
<keyword type="macro" name="XML_DEFAULT_VERSION" link="libxml2-parser.html#XML_DEFAULT_VERSION"/>
<keyword type="macro" name="XML_DEPRECATED" link="libxml2-xmlversion.html#XML_DEPRECATED"/>
<keyword type="macro" name="XML_DETECT_IDS" link="libxml2-parser.html#XML_DETECT_IDS"/>
- <keyword type="macro" name="XML_DOCB_DOCUMENT_NODE" link="libxml2-tree.html#XML_DOCB_DOCUMENT_NODE"/>
<keyword type="macro" name="XML_GET_CONTENT" link="libxml2-tree.html#XML_GET_CONTENT"/>
<keyword type="macro" name="XML_GET_LINE" link="libxml2-tree.html#XML_GET_LINE"/>
<keyword type="macro" name="XML_LOCAL_NAMESPACE" link="libxml2-tree.html#XML_LOCAL_NAMESPACE"/>
@@ -265,9 +263,6 @@
<keyword type="macro" name="XML_XML_NAMESPACE" link="libxml2-tree.html#XML_XML_NAMESPACE"/>
<keyword type="macro" name="XML_XPATH_CHECKNS" link="libxml2-xpath.html#XML_XPATH_CHECKNS"/>
<keyword type="macro" name="XML_XPATH_NOVAR" link="libxml2-xpath.html#XML_XPATH_NOVAR"/>
- <keyword type="macro" name="XPATH_LOCATIONSET" link="libxml2-xpath.html#XPATH_LOCATIONSET"/>
- <keyword type="macro" name="XPATH_POINT" link="libxml2-xpath.html#XPATH_POINT"/>
- <keyword type="macro" name="XPATH_RANGE" link="libxml2-xpath.html#XPATH_RANGE"/>
<keyword type="macro" name="XP_ERROR" link="libxml2-xpathInternals.html#XP_ERROR"/>
<keyword type="macro" name="XP_ERROR0" link="libxml2-xpathInternals.html#XP_ERROR0"/>
<keyword type="macro" name="htmlDefaultSubelement" link="libxml2-HTMLparser.html#htmlDefaultSubelement"/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]