]> git.seodisparate.com - UDPConnection/commitdiff
deploy: b7cd3a00c77c17b709f6e9867edd7c9821f1d7c1
authorStephen-Seo <Stephen-Seo@users.noreply.github.com>
Wed, 23 Nov 2022 05:17:28 +0000 (05:17 +0000)
committerStephen-Seo <Stephen-Seo@users.noreply.github.com>
Wed, 23 Nov 2022 05:17:28 +0000 (05:17 +0000)
63 files changed:
UDPC_8h.html
UDPC_8h_source.html
annotated.html
classes.html
dir_68267d1309a1af8e8297ef4c3efbcdba.html
doxygen.css
files.html
functions.html
functions_vars.html
globals.html
globals_defs.html
globals_func.html
globals_type.html
globals_vars.html
index.html
jquery.js
menu.js
search/all_0.html
search/all_1.html
search/all_1.js
search/all_2.html
search/all_2.js
search/all_3.html
search/all_3.js
search/all_4.html
search/all_4.js
search/all_5.html
search/all_5.js
search/all_6.html
search/all_6.js
search/classes_0.html
search/classes_0.js
search/classes_1.html
search/classes_1.js
search/defines_0.html
search/defines_0.js
search/files_0.html
search/files_0.js
search/functions_0.html
search/functions_0.js
search/pages_0.html
search/pages_0.js
search/search.css
search/search.js
search/typedefs_0.html
search/typedefs_0.js
search/variables_0.html
search/variables_0.js
search/variables_1.html
search/variables_1.js
search/variables_2.html
search/variables_2.js
search/variables_3.html
search/variables_3.js
search/variables_4.html
search/variables_4.js
search/variables_5.html
search/variables_5.js
structUDPC__ConnectionId.html
structUDPC__Event.html
structUDPC__PacketInfo.html
tabs.css
unionUDPC__Event_1_1Value.html

index 72e9219ccc511589a0e280856794683b4037c131..722ac98a5f83579417dd46d8fffa86accc3b78a5 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: src/UDPC.h File Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -72,8 +73,7 @@ $(function() {
 <a href="#typedef-members">Typedefs</a> &#124;
 <a href="#func-members">Functions</a> &#124;
 <a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">UDPC.h File Reference</div>  </div>
+  <div class="headertitle"><div class="title">UDPC.h File Reference</div></div>
 </div><!--header-->
 <div class="contents">
 
@@ -86,7 +86,7 @@ $(function() {
 </div>
 <p><a href="UDPC_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
 Data Structures</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data identifying a peer via addr, port, and scope_id.  <a href="structUDPC__ConnectionId.html#details">More...</a><br /></td></tr>
@@ -100,22 +100,22 @@ Data Structures</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionUDPC__Event_1_1Value.html">UDPC_Event::Value</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
 Macros</h2></td></tr>
-<tr class="memitem:a8ed92f1223b3f658536728f22d3b3827"><td class="memItemLeft" align="right" valign="top"><a id="a8ed92f1223b3f658536728f22d3b3827"></a>
-#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">UDPC_PACKET_MAX_SIZE</a>&#160;&#160;&#160;8192</td></tr>
+<tr class="memitem:a8ed92f1223b3f658536728f22d3b3827"><td class="memItemLeft" align="right" valign="top"><a id="a8ed92f1223b3f658536728f22d3b3827" name="a8ed92f1223b3f658536728f22d3b3827"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_PACKET_MAX_SIZE</b>&#160;&#160;&#160;8192</td></tr>
 <tr class="memdesc:a8ed92f1223b3f658536728f22d3b3827"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum size of a UDP packet. <br /></td></tr>
 <tr class="separator:a8ed92f1223b3f658536728f22d3b3827"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a780462f48fb18ccb15545ad9d05c70df"><td class="memItemLeft" align="right" valign="top"><a id="a780462f48fb18ccb15545ad9d05c70df"></a>
+<tr class="memitem:a780462f48fb18ccb15545ad9d05c70df"><td class="memItemLeft" align="right" valign="top"><a id="a780462f48fb18ccb15545ad9d05c70df" name="a780462f48fb18ccb15545ad9d05c70df"></a>
 #define&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_DEFAULT_PROTOCOL_ID</b>&#160;&#160;&#160;1357924680</td></tr>
 <tr class="separator:a780462f48fb18ccb15545ad9d05c70df"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
 Typedefs</h2></td></tr>
-<tr class="memitem:a6414a39d34be1f50a660ef89f01c800a"><td class="memItemLeft" align="right" valign="top"><a id="a6414a39d34be1f50a660ef89f01c800a"></a>
+<tr class="memitem:a6414a39d34be1f50a660ef89f01c800a"><td class="memItemLeft" align="right" valign="top"><a id="a6414a39d34be1f50a660ef89f01c800a" name="a6414a39d34be1f50a660ef89f01c800a"></a>
 typedef struct UDPC_Context *&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_HContext</b></td></tr>
 <tr class="separator:a6414a39d34be1f50a660ef89f01c800a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acf09773dbd86360fc70149232bfd3e8e"><td class="memItemLeft" align="right" valign="top"><a id="acf09773dbd86360fc70149232bfd3e8e"></a>
+<tr class="memitem:acf09773dbd86360fc70149232bfd3e8e"><td class="memItemLeft" align="right" valign="top"><a id="acf09773dbd86360fc70149232bfd3e8e" name="acf09773dbd86360fc70149232bfd3e8e"></a>
 typedef enum UDPC_EXPORT UDPC_LoggingType&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_LoggingType</b></td></tr>
 <tr class="separator:acf09773dbd86360fc70149232bfd3e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a228cd7ddf56a4e76e216bc3b80e8bd4a"><td class="memItemLeft" align="right" valign="top">typedef enum UDPC_EXPORT <a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a></td></tr>
@@ -133,7 +133,7 @@ typedef enum UDPC_EXPORT UDPC_LoggingType&#160;</td><td class="memItemRight" val
 <tr class="memdesc:a7b3215b65686670720f098eda2ca1eed"><td class="mdescLeft">&#160;</td><td class="mdescRight">A struct containing information related to the type of event.  <a href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">More...</a><br /></td></tr>
 <tr class="separator:a7b3215b65686670720f098eda2ca1eed"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
 Functions</h2></td></tr>
 <tr class="memitem:aea7e32ca9fdc04530f95c97459391e6d"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC_create_id</a> (UDPC_IPV6_ADDR_TYPE addr, uint16_t port)</td></tr>
 <tr class="memdesc:aea7e32ca9fdc04530f95c97459391e6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr and port.  <a href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">More...</a><br /></td></tr>
@@ -147,7 +147,7 @@ Functions</h2></td></tr>
 <tr class="memitem:a8b80d2df882f03aeee8a92bed7fb0131"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC_create_id_easy</a> (const char *addrString, uint16_t port)</td></tr>
 <tr class="memdesc:a8b80d2df882f03aeee8a92bed7fb0131"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr string and port.  <a href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">More...</a><br /></td></tr>
 <tr class="separator:a8b80d2df882f03aeee8a92bed7fb0131"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a980a8258674d2445604499efc7c75462"><td class="memItemLeft" align="right" valign="top"><a id="a980a8258674d2445604499efc7c75462"></a>
+<tr class="memitem:a980a8258674d2445604499efc7c75462"><td class="memItemLeft" align="right" valign="top"><a id="a980a8258674d2445604499efc7c75462" name="a980a8258674d2445604499efc7c75462"></a>
 UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_create_id_hostname</b> (const char *hostname, uint16_t port)</td></tr>
 <tr class="separator:a980a8258674d2445604499efc7c75462"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a89dee65fcd5b70d25abbf6d4a3ee59f2"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT UDPC_HContext&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC_init</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, int isClient, int isUsingLibsodium)</td></tr>
@@ -201,9 +201,9 @@ UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId
 <tr class="memitem:a4a555a011e95445ed4a2aa88deb17082"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC_has_connection</a> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId)</td></tr>
 <tr class="memdesc:a4a555a011e95445ed4a2aa88deb17082"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a connection exists to the peer identified by the given <code>connectionId</code>.  <a href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">More...</a><br /></td></tr>
 <tr class="separator:a4a555a011e95445ed4a2aa88deb17082"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7fe3e502f4c6f86ce5b2cd1f303aa213"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a7fe3e502f4c6f86ce5b2cd1f303aa213">UDPC_get_list_connected</a> (UDPC_HContext ctx, unsigned int *size)</td></tr>
-<tr class="memdesc:a7fe3e502f4c6f86ce5b2cd1f303aa213"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a dynamically allocated array of connected peers' identifiers.  <a href="UDPC_8h.html#a7fe3e502f4c6f86ce5b2cd1f303aa213">More...</a><br /></td></tr>
-<tr class="separator:a7fe3e502f4c6f86ce5b2cd1f303aa213"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b4355331c9b2797af0c13ce16515547"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC_get_list_connected</a> (UDPC_HContext ctx, unsigned int *size)</td></tr>
+<tr class="memdesc:a6b4355331c9b2797af0c13ce16515547"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a dynamically allocated array of connected peers' identifiers.  <a href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">More...</a><br /></td></tr>
+<tr class="separator:a6b4355331c9b2797af0c13ce16515547"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a8880067a93211c257763c42264f6ceef"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC_free_list_connected</a> (<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> *list)</td></tr>
 <tr class="memdesc:a8880067a93211c257763c42264f6ceef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cleans up a dynamically allocated array of connected peers' identifiers.  <a href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">More...</a><br /></td></tr>
 <tr class="separator:a8880067a93211c257763c42264f6ceef"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -261,97 +261,97 @@ UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId
 <tr class="memitem:a8d0dbbd258e17844a2f9a0e277789581"><td class="memItemLeft" align="right" valign="top">UDPC_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC_set_auth_policy</a> (UDPC_HContext ctx, int value)</td></tr>
 <tr class="memdesc:a8d0dbbd258e17844a2f9a0e277789581"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets how peers are handled regarding public key verification.  <a href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">More...</a><br /></td></tr>
 <tr class="separator:a8d0dbbd258e17844a2f9a0e277789581"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab858dbafe5755daded65ffa4b3e587ab"><td class="memItemLeft" align="right" valign="top"><a id="ab858dbafe5755daded65ffa4b3e587ab"></a>
+<tr class="memitem:a5a3c613a0d96a075ccddfba1e8900828"><td class="memItemLeft" align="right" valign="top"><a id="a5a3c613a0d96a075ccddfba1e8900828" name="a5a3c613a0d96a075ccddfba1e8900828"></a>
 UDPC_EXPORT const char *&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_atostr_cid</b> (UDPC_HContext ctx, <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId)</td></tr>
-<tr class="separator:ab858dbafe5755daded65ffa4b3e587ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af7bdaf35dc1691c3c13aab24eefa9003"><td class="memItemLeft" align="right" valign="top"><a id="af7bdaf35dc1691c3c13aab24eefa9003"></a>
+<tr class="separator:a5a3c613a0d96a075ccddfba1e8900828"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e2401b133c0aae43c5d69304dabbdcc"><td class="memItemLeft" align="right" valign="top"><a id="a9e2401b133c0aae43c5d69304dabbdcc" name="a9e2401b133c0aae43c5d69304dabbdcc"></a>
 UDPC_EXPORT const char *&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_atostr</b> (UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr)</td></tr>
-<tr class="separator:af7bdaf35dc1691c3c13aab24eefa9003"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2ae8e7d87f785dd3b3353a00005c3dc6"><td class="memItemLeft" align="right" valign="top"><a id="a2ae8e7d87f785dd3b3353a00005c3dc6"></a>
-UDPC_EXPORT UDPC_IPV6_ADDR_TYPE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC_strtoa</a> (const char *addrStr)</td></tr>
+<tr class="separator:a9e2401b133c0aae43c5d69304dabbdcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ae8e7d87f785dd3b3353a00005c3dc6"><td class="memItemLeft" align="right" valign="top"><a id="a2ae8e7d87f785dd3b3353a00005c3dc6" name="a2ae8e7d87f785dd3b3353a00005c3dc6"></a>
+UDPC_EXPORT UDPC_IPV6_ADDR_TYPE&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_strtoa</b> (const char *addrStr)</td></tr>
 <tr class="memdesc:a2ae8e7d87f785dd3b3353a00005c3dc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">addrStr must be a valid ipv6 address or a valid ipv4 address <br /></td></tr>
 <tr class="separator:a2ae8e7d87f785dd3b3353a00005c3dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad1c4ad0e4ce9a97b3506335aae16cb49"><td class="memItemLeft" align="right" valign="top"><a id="ad1c4ad0e4ce9a97b3506335aae16cb49"></a>
+<tr class="memitem:ad1c4ad0e4ce9a97b3506335aae16cb49"><td class="memItemLeft" align="right" valign="top"><a id="ad1c4ad0e4ce9a97b3506335aae16cb49" name="ad1c4ad0e4ce9a97b3506335aae16cb49"></a>
 UDPC_EXPORT UDPC_IPV6_ADDR_TYPE&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_strtoa_link</b> (const char *addrStr, uint32_t *linkId_out)</td></tr>
 <tr class="separator:ad1c4ad0e4ce9a97b3506335aae16cb49"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac891801289f8be17e5db81b5de781190"><td class="memItemLeft" align="right" valign="top"><a id="ac891801289f8be17e5db81b5de781190"></a>
+<tr class="memitem:ac891801289f8be17e5db81b5de781190"><td class="memItemLeft" align="right" valign="top"><a id="ac891801289f8be17e5db81b5de781190" name="ac891801289f8be17e5db81b5de781190"></a>
 UDPC_EXPORT UDPC_IPV6_ADDR_TYPE&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_a4toa6</b> (uint32_t a4_be)</td></tr>
 <tr class="separator:ac891801289f8be17e5db81b5de781190"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5f81a1abecf149abe26902ca5d72e316"><td class="memItemLeft" align="right" valign="top"><a id="a5f81a1abecf149abe26902ca5d72e316"></a>
+<tr class="memitem:a5f81a1abecf149abe26902ca5d72e316"><td class="memItemLeft" align="right" valign="top"><a id="a5f81a1abecf149abe26902ca5d72e316" name="a5f81a1abecf149abe26902ca5d72e316"></a>
 UDPC_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_is_big_endian</b> ()</td></tr>
 <tr class="separator:a5f81a1abecf149abe26902ca5d72e316"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a09093c7edd8ed04407c84a94e0d02587"><td class="memItemLeft" align="right" valign="top"><a id="a09093c7edd8ed04407c84a94e0d02587"></a>
+<tr class="memitem:a09093c7edd8ed04407c84a94e0d02587"><td class="memItemLeft" align="right" valign="top"><a id="a09093c7edd8ed04407c84a94e0d02587" name="a09093c7edd8ed04407c84a94e0d02587"></a>
 UDPC_EXPORT uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_no16i</b> (uint16_t i)</td></tr>
 <tr class="separator:a09093c7edd8ed04407c84a94e0d02587"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3e62beb3d497732f5e1d79e19878198c"><td class="memItemLeft" align="right" valign="top"><a id="a3e62beb3d497732f5e1d79e19878198c"></a>
+<tr class="memitem:a3e62beb3d497732f5e1d79e19878198c"><td class="memItemLeft" align="right" valign="top"><a id="a3e62beb3d497732f5e1d79e19878198c" name="a3e62beb3d497732f5e1d79e19878198c"></a>
 UDPC_EXPORT uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_no32i</b> (uint32_t i)</td></tr>
 <tr class="separator:a3e62beb3d497732f5e1d79e19878198c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d6d9407ed6743a23283d8711652d757"><td class="memItemLeft" align="right" valign="top"><a id="a0d6d9407ed6743a23283d8711652d757"></a>
+<tr class="memitem:a0d6d9407ed6743a23283d8711652d757"><td class="memItemLeft" align="right" valign="top"><a id="a0d6d9407ed6743a23283d8711652d757" name="a0d6d9407ed6743a23283d8711652d757"></a>
 UDPC_EXPORT uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_no64i</b> (uint64_t i)</td></tr>
 <tr class="separator:a0d6d9407ed6743a23283d8711652d757"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a61f1ec575cd8a1020bf4d53a72497ab6"><td class="memItemLeft" align="right" valign="top"><a id="a61f1ec575cd8a1020bf4d53a72497ab6"></a>
+<tr class="memitem:a61f1ec575cd8a1020bf4d53a72497ab6"><td class="memItemLeft" align="right" valign="top"><a id="a61f1ec575cd8a1020bf4d53a72497ab6" name="a61f1ec575cd8a1020bf4d53a72497ab6"></a>
 UDPC_EXPORT float&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_no32f</b> (float f)</td></tr>
 <tr class="separator:a61f1ec575cd8a1020bf4d53a72497ab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a93a1a33c4d5dcd4f3e829ce4b15df11c"><td class="memItemLeft" align="right" valign="top"><a id="a93a1a33c4d5dcd4f3e829ce4b15df11c"></a>
+<tr class="memitem:a93a1a33c4d5dcd4f3e829ce4b15df11c"><td class="memItemLeft" align="right" valign="top"><a id="a93a1a33c4d5dcd4f3e829ce4b15df11c" name="a93a1a33c4d5dcd4f3e829ce4b15df11c"></a>
 UDPC_EXPORT double&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_no64f</b> (double f)</td></tr>
 <tr class="separator:a93a1a33c4d5dcd4f3e829ce4b15df11c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
 Variables</h2></td></tr>
-<tr class="memitem:aa5c197773a0914125cb358771139065c"><td class="memItemLeft" align="right" valign="top"><a id="aa5c197773a0914125cb358771139065c"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC_SILENT</a></td></tr>
+<tr class="memitem:aa5c197773a0914125cb358771139065c"><td class="memItemLeft" align="right" valign="top"><a id="aa5c197773a0914125cb358771139065c" name="aa5c197773a0914125cb358771139065c"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_SILENT</b></td></tr>
 <tr class="memdesc:aa5c197773a0914125cb358771139065c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does not log anything. <br /></td></tr>
 <tr class="separator:aa5c197773a0914125cb358771139065c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac04213a4287500a9c5330f543eac3103"><td class="memItemLeft" align="right" valign="top"><a id="ac04213a4287500a9c5330f543eac3103"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC_ERROR</a></td></tr>
+<tr class="memitem:ac04213a4287500a9c5330f543eac3103"><td class="memItemLeft" align="right" valign="top"><a id="ac04213a4287500a9c5330f543eac3103" name="ac04213a4287500a9c5330f543eac3103"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_ERROR</b></td></tr>
 <tr class="memdesc:ac04213a4287500a9c5330f543eac3103"><td class="mdescLeft">&#160;</td><td class="mdescRight">Only log errors. <br /></td></tr>
 <tr class="separator:ac04213a4287500a9c5330f543eac3103"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9cc5d705069747eb439a1c5607baac17"><td class="memItemLeft" align="right" valign="top"><a id="a9cc5d705069747eb439a1c5607baac17"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC_WARNING</a></td></tr>
+<tr class="memitem:a9cc5d705069747eb439a1c5607baac17"><td class="memItemLeft" align="right" valign="top"><a id="a9cc5d705069747eb439a1c5607baac17" name="a9cc5d705069747eb439a1c5607baac17"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_WARNING</b></td></tr>
 <tr class="memdesc:a9cc5d705069747eb439a1c5607baac17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log errors and warnings. <br /></td></tr>
 <tr class="separator:a9cc5d705069747eb439a1c5607baac17"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a248f51c4df127b7fd3a5c91ad5509d15"><td class="memItemLeft" align="right" valign="top"><a id="a248f51c4df127b7fd3a5c91ad5509d15"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC_INFO</a></td></tr>
+<tr class="memitem:a248f51c4df127b7fd3a5c91ad5509d15"><td class="memItemLeft" align="right" valign="top"><a id="a248f51c4df127b7fd3a5c91ad5509d15" name="a248f51c4df127b7fd3a5c91ad5509d15"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_INFO</b></td></tr>
 <tr class="memdesc:a248f51c4df127b7fd3a5c91ad5509d15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log errors, warnings, and info. <br /></td></tr>
 <tr class="separator:a248f51c4df127b7fd3a5c91ad5509d15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad5741af4e5cf1da40fe4a7b92cd1c431"><td class="memItemLeft" align="right" valign="top"><a id="ad5741af4e5cf1da40fe4a7b92cd1c431"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC_VERBOSE</a></td></tr>
+<tr class="memitem:ad5741af4e5cf1da40fe4a7b92cd1c431"><td class="memItemLeft" align="right" valign="top"><a id="ad5741af4e5cf1da40fe4a7b92cd1c431" name="ad5741af4e5cf1da40fe4a7b92cd1c431"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_VERBOSE</b></td></tr>
 <tr class="memdesc:ad5741af4e5cf1da40fe4a7b92cd1c431"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log errors, warning, info, and verbose. <br /></td></tr>
 <tr class="separator:ad5741af4e5cf1da40fe4a7b92cd1c431"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a96ecd597f88d458ed108f33e4f0a6612"><td class="memItemLeft" align="right" valign="top"><a id="a96ecd597f88d458ed108f33e4f0a6612"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC_AUTH_POLICY_FALLBACK</a> =0</td></tr>
+<tr class="memitem:a96ecd597f88d458ed108f33e4f0a6612"><td class="memItemLeft" align="right" valign="top"><a id="a96ecd597f88d458ed108f33e4f0a6612" name="a96ecd597f88d458ed108f33e4f0a6612"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_AUTH_POLICY_FALLBACK</b> =0</td></tr>
 <tr class="memdesc:a96ecd597f88d458ed108f33e4f0a6612"><td class="mdescLeft">&#160;</td><td class="mdescRight">All peers will not be denied regardless of use of public key verification. <br /></td></tr>
 <tr class="separator:a96ecd597f88d458ed108f33e4f0a6612"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6af4629253b3ed1f411015410cee9ad3"><td class="memItemLeft" align="right" valign="top"><a id="a6af4629253b3ed1f411015410cee9ad3"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC_AUTH_POLICY_STRICT</a></td></tr>
+<tr class="memitem:a6af4629253b3ed1f411015410cee9ad3"><td class="memItemLeft" align="right" valign="top"><a id="a6af4629253b3ed1f411015410cee9ad3" name="a6af4629253b3ed1f411015410cee9ad3"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_AUTH_POLICY_STRICT</b></td></tr>
 <tr class="memdesc:a6af4629253b3ed1f411015410cee9ad3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Only peers with public key verification will be allowed. <br /></td></tr>
 <tr class="separator:a6af4629253b3ed1f411015410cee9ad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a72343e4853bf37ad09cb5cebfadc0de6"><td class="memItemLeft" align="right" valign="top"><a id="a72343e4853bf37ad09cb5cebfadc0de6"></a>
+<tr class="memitem:a72343e4853bf37ad09cb5cebfadc0de6"><td class="memItemLeft" align="right" valign="top"><a id="a72343e4853bf37ad09cb5cebfadc0de6" name="a72343e4853bf37ad09cb5cebfadc0de6"></a>
 &#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_ET_NONE</b></td></tr>
 <tr class="separator:a72343e4853bf37ad09cb5cebfadc0de6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a21a88eb4529c120f49036db4b33505cd"><td class="memItemLeft" align="right" valign="top"><a id="a21a88eb4529c120f49036db4b33505cd"></a>
+<tr class="memitem:a21a88eb4529c120f49036db4b33505cd"><td class="memItemLeft" align="right" valign="top"><a id="a21a88eb4529c120f49036db4b33505cd" name="a21a88eb4529c120f49036db4b33505cd"></a>
 &#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_ET_REQUEST_CONNECT</b></td></tr>
 <tr class="separator:a21a88eb4529c120f49036db4b33505cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"><td class="memItemLeft" align="right" valign="top"><a id="a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"></a>
+<tr class="memitem:a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"><td class="memItemLeft" align="right" valign="top"><a id="a6b4bd6a74bd9c6d2d93ca1c1e12bcf94" name="a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"></a>
 &#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_ET_REQUEST_DISCONNECT</b></td></tr>
 <tr class="separator:a6b4bd6a74bd9c6d2d93ca1c1e12bcf94"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abcb673b618b1a667fde68d33b1458aba"><td class="memItemLeft" align="right" valign="top"><a id="abcb673b618b1a667fde68d33b1458aba"></a>
+<tr class="memitem:abcb673b618b1a667fde68d33b1458aba"><td class="memItemLeft" align="right" valign="top"><a id="abcb673b618b1a667fde68d33b1458aba" name="abcb673b618b1a667fde68d33b1458aba"></a>
 &#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_ET_CONNECTED</b></td></tr>
 <tr class="separator:abcb673b618b1a667fde68d33b1458aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aac839f06a0f38fbe1234f834c21595ef"><td class="memItemLeft" align="right" valign="top"><a id="aac839f06a0f38fbe1234f834c21595ef"></a>
+<tr class="memitem:aac839f06a0f38fbe1234f834c21595ef"><td class="memItemLeft" align="right" valign="top"><a id="aac839f06a0f38fbe1234f834c21595ef" name="aac839f06a0f38fbe1234f834c21595ef"></a>
 &#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_ET_DISCONNECTED</b></td></tr>
 <tr class="separator:aac839f06a0f38fbe1234f834c21595ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a8619c6ec9a86458dfa4492967586a5d5"><td class="memItemLeft" align="right" valign="top"><a id="a8619c6ec9a86458dfa4492967586a5d5"></a>
+<tr class="memitem:a8619c6ec9a86458dfa4492967586a5d5"><td class="memItemLeft" align="right" valign="top"><a id="a8619c6ec9a86458dfa4492967586a5d5" name="a8619c6ec9a86458dfa4492967586a5d5"></a>
 &#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_ET_FAIL_CONNECT</b></td></tr>
 <tr class="separator:a8619c6ec9a86458dfa4492967586a5d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a339bec321cb608fcd90fcd7cea102b11"><td class="memItemLeft" align="right" valign="top"><a id="a339bec321cb608fcd90fcd7cea102b11"></a>
+<tr class="memitem:a339bec321cb608fcd90fcd7cea102b11"><td class="memItemLeft" align="right" valign="top"><a id="a339bec321cb608fcd90fcd7cea102b11" name="a339bec321cb608fcd90fcd7cea102b11"></a>
 &#160;</td><td class="memItemRight" valign="bottom"><b>UDPC_ET_GOOD_MODE</b></td></tr>
 <tr class="separator:a339bec321cb608fcd90fcd7cea102b11"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Public API for UDPConnection. </p>
+<div class="textblock"><p >Public API for UDPConnection. </p>
 </div><h2 class="groupheader">Typedef Documentation</h2>
-<a id="a228cd7ddf56a4e76e216bc3b80e8bd4a"></a>
+<a id="a228cd7ddf56a4e76e216bc3b80e8bd4a" name="a228cd7ddf56a4e76e216bc3b80e8bd4a"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a228cd7ddf56a4e76e216bc3b80e8bd4a">&#9670;&nbsp;</a></span>UDPC_AuthPolicy</h2>
 
 <div class="memitem">
@@ -362,11 +362,11 @@ Variables</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<p>Note auth policy will only take effect if public key verification of packets is enabled (if libsodium is enabled). </p>
+<p >Note auth policy will only take effect if public key verification of packets is enabled (if libsodium is enabled). </p>
 
 </div>
 </div>
-<a id="ae5afb11964c7a55edf34ddf9097779b2"></a>
+<a id="ae5afb11964c7a55edf34ddf9097779b2" name="ae5afb11964c7a55edf34ddf9097779b2"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ae5afb11964c7a55edf34ddf9097779b2">&#9670;&nbsp;</a></span>UDPC_ConnectionId</h2>
 
 <div class="memitem">
@@ -379,11 +379,11 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Data identifying a peer via addr, port, and scope_id. </p>
-<p>This struct needn't be used directly; use <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d" title="Creates an UDPC_ConnectionId with the given addr and port.">UDPC_create_id()</a>, <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19" title="Creates an UDPC_ConnectionId with the given addr, scope_id, and port.">UDPC_create_id_full()</a>, <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df" title="Creates an UDPC_ConnectionId with the given port.">UDPC_create_id_anyaddr()</a>, or <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131" title="Creates an UDPC_ConnectionId with the given addr string and port.">UDPC_create_id_easy()</a> to create one. This struct does not hold dynamic data, so there is no need to free it. </p>
+<p >This struct needn't be used directly; use <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d" title="Creates an UDPC_ConnectionId with the given addr and port.">UDPC_create_id()</a>, <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19" title="Creates an UDPC_ConnectionId with the given addr, scope_id, and port.">UDPC_create_id_full()</a>, <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df" title="Creates an UDPC_ConnectionId with the given port.">UDPC_create_id_anyaddr()</a>, or <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131" title="Creates an UDPC_ConnectionId with the given addr string and port.">UDPC_create_id_easy()</a> to create one. This struct does not hold dynamic data, so there is no need to free it. </p>
 
 </div>
 </div>
-<a id="a7b3215b65686670720f098eda2ca1eed"></a>
+<a id="a7b3215b65686670720f098eda2ca1eed" name="a7b3215b65686670720f098eda2ca1eed"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a7b3215b65686670720f098eda2ca1eed">&#9670;&nbsp;</a></span>UDPC_Event</h2>
 
 <div class="memitem">
@@ -396,11 +396,11 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>A struct containing information related to the type of event. </p>
-<p>Note that instances of this struct received from a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will not store any useful data in its union member variable <code>v</code> (it will only be used internally). Thus, all events received through a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will contain a valid <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> <code>conId</code> that identifies the peer that the event is referring to. </p>
+<p >Note that instances of this struct received from a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will not store any useful data in its union member variable <code>v</code> (it will only be used internally). Thus, all events received through a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will contain a valid <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> <code>conId</code> that identifies the peer that the event is referring to. </p>
 
 </div>
 </div>
-<a id="adaa0534bf7f04bb2f6ce8975c99c4af0"></a>
+<a id="adaa0534bf7f04bb2f6ce8975c99c4af0" name="adaa0534bf7f04bb2f6ce8975c99c4af0"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#adaa0534bf7f04bb2f6ce8975c99c4af0">&#9670;&nbsp;</a></span>UDPC_EventType</h2>
 
 <div class="memitem">
@@ -413,7 +413,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>An enum describing the type of event. </p>
-<p>Note that only the following values will be presented when using <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p><ul>
+<p >Note that only the following values will be presented when using <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p><ul>
 <li>UDPC_ET_NONE: No events have ocurred</li>
 <li>UDPC_ET_CONNECTED: A peer has initiated a connection</li>
 <li>UDPC_ET_DISCONNECTED: A peer has disconnected</li>
@@ -421,12 +421,12 @@ Variables</h2></td></tr>
 <li>UDPC_ET_GOOD_MODE: The connection has switched to "good mode"</li>
 <li>UDPC_ET_BAD_MODE: The connection has switched to "bad mode"</li>
 </ul>
-<p>The other unmentioned enum values are used internally, and should never be returned in a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a>.</p>
-<p>All events returned by <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will have set the member variable <code>conId</code> in the <a class="el" href="structUDPC__Event.html" title="A struct containing information related to the type of event.">UDPC_Event</a> which refers to the peer with which the event ocurred. </p>
+<p >The other unmentioned enum values are used internally, and should never be returned in a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a>.</p>
+<p >All events returned by <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will have set the member variable <code>conId</code> in the <a class="el" href="structUDPC__Event.html" title="A struct containing information related to the type of event.">UDPC_Event</a> which refers to the peer with which the event ocurred. </p>
 
 </div>
 </div>
-<a id="ae0261958047ebb5c6a402aa805e4e55b"></a>
+<a id="ae0261958047ebb5c6a402aa805e4e55b" name="ae0261958047ebb5c6a402aa805e4e55b"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ae0261958047ebb5c6a402aa805e4e55b">&#9670;&nbsp;</a></span>UDPC_PacketInfo</h2>
 
 <div class="memitem">
@@ -439,13 +439,13 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Data representing a received/sent packet. </p>
-<p>If data is NULL or dataSize is 0, then this packet is invalid.</p>
+<p >If data is NULL or dataSize is 0, then this packet is invalid.</p>
 <dl class="section warning"><dt>Warning</dt><dd>This struct must be free'd with a call to UDPC_free_PacketInfo to avoid a memory leak. </dd></dl>
 
 </div>
 </div>
 <h2 class="groupheader">Function Documentation</h2>
-<a id="a71f9bf85a02ddd1b4c921fe9b6694fe8"></a>
+<a id="a71f9bf85a02ddd1b4c921fe9b6694fe8" name="a71f9bf85a02ddd1b4c921fe9b6694fe8"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a71f9bf85a02ddd1b4c921fe9b6694fe8">&#9670;&nbsp;</a></span>UDPC_add_whitelist_pk()</h2>
 
 <div class="memitem">
@@ -472,14 +472,14 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Adds a public key to the whitelist. </p>
-<p>By default the whitelist is empty and any peer regardless of key will not be denied connection.</p>
-<p>This function adds one public key to the whitelist. If the whitelist is not empty, then all peers that do not have the matching public key will be denied connection.</p>
-<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p >By default the whitelist is empty and any peer regardless of key will not be denied connection.</p>
+<p >This function adds one public key to the whitelist. If the whitelist is not empty, then all peers that do not have the matching public key will be denied connection.</p>
+<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>The size of the whitelist on success, zero otherwise </dd></dl>
 
 </div>
 </div>
-<a id="a0e2e0c6a6a442db2cb3223d26f849d26"></a>
+<a id="a0e2e0c6a6a442db2cb3223d26f849d26" name="a0e2e0c6a6a442db2cb3223d26f849d26"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a0e2e0c6a6a442db2cb3223d26f849d26">&#9670;&nbsp;</a></span>UDPC_clear_whitelist()</h2>
 
 <div class="memitem">
@@ -496,14 +496,14 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Clears the public key whitelist. </p>
-<p>If the whitelist is empty, then no connections will be denied.</p>
-<p>If there are keys in the whitelist, then new connections will only be allowed if the peer uses a public key in the whitelist.</p>
-<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p >If the whitelist is empty, then no connections will be denied.</p>
+<p >If there are keys in the whitelist, then new connections will only be allowed if the peer uses a public key in the whitelist.</p>
+<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>Zero if the context is invalid or libsodium is not enabled, non-zero if the whitelist was successfully cleared </dd></dl>
 
 </div>
 </div>
-<a id="a1192e0307f75feeac888fe5d49976f55"></a>
+<a id="a1192e0307f75feeac888fe5d49976f55" name="a1192e0307f75feeac888fe5d49976f55"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a1192e0307f75feeac888fe5d49976f55">&#9670;&nbsp;</a></span>UDPC_client_initiate_connection()</h2>
 
 <div class="memitem">
@@ -536,7 +536,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Initiate a connection to a server peer. </p>
-<p>Note that this function does nothing on a server context.</p>
+<p >Note that this function does nothing on a server context.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The context to initiate a connection from </td></tr>
@@ -548,7 +548,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="aea7e32ca9fdc04530f95c97459391e6d"></a>
+<a id="aea7e32ca9fdc04530f95c97459391e6d" name="aea7e32ca9fdc04530f95c97459391e6d"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#aea7e32ca9fdc04530f95c97459391e6d">&#9670;&nbsp;</a></span>UDPC_create_id()</h2>
 
 <div class="memitem">
@@ -575,12 +575,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr and port. </p>
-<p>port should be in native byte order (not network/big-endian). This means that there is no need to convert the 16-bit value to network byte order, this will be done automatically by this library when necessary (without modifying the value in the used <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a>).</p>
+<p >port should be in native byte order (not network/big-endian). This means that there is no need to convert the 16-bit value to network byte order, this will be done automatically by this library when necessary (without modifying the value in the used <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a>).</p>
 <dl class="section return"><dt>Returns</dt><dd>An initialized <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> </dd></dl>
 
 </div>
 </div>
-<a id="a0fa3e1e54877029a226ab9cfb74215df"></a>
+<a id="a0fa3e1e54877029a226ab9cfb74215df" name="a0fa3e1e54877029a226ab9cfb74215df"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a0fa3e1e54877029a226ab9cfb74215df">&#9670;&nbsp;</a></span>UDPC_create_id_anyaddr()</h2>
 
 <div class="memitem">
@@ -597,12 +597,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given port. </p>
-<p>The address contained in the returned <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> will be zeroed out (the "anyaddr" address). port should be in native byte order (not network/big-endian).</p>
+<p >The address contained in the returned <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> will be zeroed out (the "anyaddr" address). port should be in native byte order (not network/big-endian).</p>
 <dl class="section return"><dt>Returns</dt><dd>An initialized <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> </dd></dl>
 
 </div>
 </div>
-<a id="a8b80d2df882f03aeee8a92bed7fb0131"></a>
+<a id="a8b80d2df882f03aeee8a92bed7fb0131" name="a8b80d2df882f03aeee8a92bed7fb0131"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a8b80d2df882f03aeee8a92bed7fb0131">&#9670;&nbsp;</a></span>UDPC_create_id_easy()</h2>
 
 <div class="memitem">
@@ -629,12 +629,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr string and port. </p>
-<p>The address string should be a valid ipv6 or ipv4 address. (If an ipv4 address is given, the internal address of the returned <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> will be ipv4-mapped ipv6 address.) port should be in native byte order (not network/big-endian).</p>
+<p >The address string should be a valid ipv6 or ipv4 address. (If an ipv4 address is given, the internal address of the returned <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> will be ipv4-mapped ipv6 address.) port should be in native byte order (not network/big-endian).</p>
 <dl class="section return"><dt>Returns</dt><dd>An initialized <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> </dd></dl>
 
 </div>
 </div>
-<a id="ab7cb345ce117c04017afd443e5748f19"></a>
+<a id="ab7cb345ce117c04017afd443e5748f19" name="ab7cb345ce117c04017afd443e5748f19"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ab7cb345ce117c04017afd443e5748f19">&#9670;&nbsp;</a></span>UDPC_create_id_full()</h2>
 
 <div class="memitem">
@@ -667,12 +667,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Creates an <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> with the given addr, scope_id, and port. </p>
-<p>port should be in native byte order (not network/big-endian).</p>
+<p >port should be in native byte order (not network/big-endian).</p>
 <dl class="section return"><dt>Returns</dt><dd>An initialized <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> </dd></dl>
 
 </div>
 </div>
-<a id="aad0e88866d4c5cb9c0676bc8d7df574e"></a>
+<a id="aad0e88866d4c5cb9c0676bc8d7df574e" name="aad0e88866d4c5cb9c0676bc8d7df574e"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#aad0e88866d4c5cb9c0676bc8d7df574e">&#9670;&nbsp;</a></span>UDPC_destroy()</h2>
 
 <div class="memitem">
@@ -689,12 +689,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Cleans up the UDPC_HContext. </p>
-<p>If auto updating was enabled for the given context, it will gracefully stop the thread before cleaning up the context.</p>
+<p >If auto updating was enabled for the given context, it will gracefully stop the thread before cleaning up the context.</p>
 <dl class="section warning"><dt>Warning</dt><dd>This function must be called after a UDPC_HContext is no longer used to avoid memory leaks. </dd></dl>
 
 </div>
 </div>
-<a id="a404d2c7a83903004f928737241ecc63a"></a>
+<a id="a404d2c7a83903004f928737241ecc63a" name="a404d2c7a83903004f928737241ecc63a"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a404d2c7a83903004f928737241ecc63a">&#9670;&nbsp;</a></span>UDPC_disable_threaded_update()</h2>
 
 <div class="memitem">
@@ -721,7 +721,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a44bc5cc29862c93e938ac8a625c56380"></a>
+<a id="a44bc5cc29862c93e938ac8a625c56380" name="a44bc5cc29862c93e938ac8a625c56380"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a44bc5cc29862c93e938ac8a625c56380">&#9670;&nbsp;</a></span>UDPC_drop_connection()</h2>
 
 <div class="memitem">
@@ -754,7 +754,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Drops an existing connection to a peer. </p>
-<p>Note that UDPC will send a disconnect packet to the peer before removing the internal connection data handling the connection to that peer.</p>
+<p >Note that UDPC will send a disconnect packet to the peer before removing the internal connection data handling the connection to that peer.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
@@ -766,7 +766,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a0fafce547e9185c29f42d06213b0ff4f"></a>
+<a id="a0fafce547e9185c29f42d06213b0ff4f" name="a0fafce547e9185c29f42d06213b0ff4f"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a0fafce547e9185c29f42d06213b0ff4f">&#9670;&nbsp;</a></span>UDPC_enable_threaded_update()</h2>
 
 <div class="memitem">
@@ -783,7 +783,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Enables auto updating on a separate thread for the given UDPC_HContext. </p>
-<p>By default, the update interval is set to 8 milliseconds.</p>
+<p >By default, the update interval is set to 8 milliseconds.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The context to enable auto updating for </td></tr>
@@ -794,7 +794,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a1a50763773d55aa7a2a9c7ad69575833"></a>
+<a id="a1a50763773d55aa7a2a9c7ad69575833" name="a1a50763773d55aa7a2a9c7ad69575833"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a1a50763773d55aa7a2a9c7ad69575833">&#9670;&nbsp;</a></span>UDPC_enable_threaded_update_ms()</h2>
 
 <div class="memitem">
@@ -832,7 +832,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a8880067a93211c257763c42264f6ceef"></a>
+<a id="a8880067a93211c257763c42264f6ceef" name="a8880067a93211c257763c42264f6ceef"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a8880067a93211c257763c42264f6ceef">&#9670;&nbsp;</a></span>UDPC_free_list_connected()</h2>
 
 <div class="memitem">
@@ -858,7 +858,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a68ed6dcb37c6024486fad28ab0bed845"></a>
+<a id="a68ed6dcb37c6024486fad28ab0bed845" name="a68ed6dcb37c6024486fad28ab0bed845"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a68ed6dcb37c6024486fad28ab0bed845">&#9670;&nbsp;</a></span>UDPC_free_PacketInfo()</h2>
 
 <div class="memitem">
@@ -875,11 +875,11 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Frees a <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a>. </p>
-<p>Internally, the member variable <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">UDPC_PacketInfo::data</a> will be free'd and set to NULL and <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">UDPC_PacketInfo::dataSize</a> will be set to 0 if the given packet is valid. </p>
+<p >Internally, the member variable <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">UDPC_PacketInfo::data</a> will be free'd and set to NULL and <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">UDPC_PacketInfo::dataSize</a> will be set to 0 if the given packet is valid. </p>
 
 </div>
 </div>
-<a id="ab79769e36a92c346c6c410be158ddfe4"></a>
+<a id="ab79769e36a92c346c6c410be158ddfe4" name="ab79769e36a92c346c6c410be158ddfe4"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ab79769e36a92c346c6c410be158ddfe4">&#9670;&nbsp;</a></span>UDPC_get_auth_policy()</h2>
 
 <div class="memitem">
@@ -896,13 +896,13 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Gets how peers are handled regarding public key verification. </p>
-<p>If libsodium is enabled and the auth policy is "strict", then peers attempting to connect will be denied if they do not have public key verification enabled. Otherwise if the auth policy is "fallback", then peers will not be denied a connection regardless of whether or not they use public key verification of packets.</p>
-<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p >If libsodium is enabled and the auth policy is "strict", then peers attempting to connect will be denied if they do not have public key verification enabled. Otherwise if the auth policy is "fallback", then peers will not be denied a connection regardless of whether or not they use public key verification of packets.</p>
+<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>The current auth policy (see <a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>) , or zero on fail </dd></dl>
 
 </div>
 </div>
-<a id="a2c05c6fe89edde1e05ba9b6d8b5f7510"></a>
+<a id="a2c05c6fe89edde1e05ba9b6d8b5f7510" name="a2c05c6fe89edde1e05ba9b6d8b5f7510"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a2c05c6fe89edde1e05ba9b6d8b5f7510">&#9670;&nbsp;</a></span>UDPC_get_event()</h2>
 
 <div class="memitem">
@@ -929,7 +929,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Gets a recorded event. </p>
-<p>See <a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> for possible types of a <a class="el" href="structUDPC__Event.html" title="A struct containing information related to the type of event.">UDPC_Event</a>.</p>
+<p >See <a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> for possible types of a <a class="el" href="structUDPC__Event.html" title="A struct containing information related to the type of event.">UDPC_Event</a>.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
@@ -941,14 +941,14 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a7fe3e502f4c6f86ce5b2cd1f303aa213"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a7fe3e502f4c6f86ce5b2cd1f303aa213">&#9670;&nbsp;</a></span>UDPC_get_list_connected()</h2>
+<a id="a6b4355331c9b2797af0c13ce16515547" name="a6b4355331c9b2797af0c13ce16515547"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6b4355331c9b2797af0c13ce16515547">&#9670;&nbsp;</a></span>UDPC_get_list_connected()</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>* UDPC_get_list_connected </td>
+          <td class="memname">UDPC_EXPORT <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> * UDPC_get_list_connected </td>
           <td>(</td>
           <td class="paramtype">UDPC_HContext&#160;</td>
           <td class="paramname"><em>ctx</em>, </td>
@@ -968,7 +968,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Gets a dynamically allocated array of connected peers' identifiers. </p>
-<p>Note that an additional element is appended to the array that is initialized with all fields to zero.</p>
+<p >Note that an additional element is appended to the array that is initialized with all fields to zero.</p>
 <dl class="section warning"><dt>Warning</dt><dd>One must call <a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef" title="Cleans up a dynamically allocated array of connected peers&#39; identifiers.">UDPC_free_list_connected()</a> with the returned array to clean up data to avoid a memory leak</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
@@ -981,7 +981,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="ad0c7d69eeda20e98696d5c89bbbab096"></a>
+<a id="ad0c7d69eeda20e98696d5c89bbbab096" name="ad0c7d69eeda20e98696d5c89bbbab096"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ad0c7d69eeda20e98696d5c89bbbab096">&#9670;&nbsp;</a></span>UDPC_get_logging_type()</h2>
 
 <div class="memitem">
@@ -998,7 +998,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Gets the logging type of the UDPC context. </p>
-<p>See UDPC_LoggingType for possible values.</p>
+<p >See UDPC_LoggingType for possible values.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
@@ -1009,7 +1009,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a7983f38fe13677f5b35b90cefa54974f"></a>
+<a id="a7983f38fe13677f5b35b90cefa54974f" name="a7983f38fe13677f5b35b90cefa54974f"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a7983f38fe13677f5b35b90cefa54974f">&#9670;&nbsp;</a></span>UDPC_get_max_queued_size()</h2>
 
 <div class="memitem">
@@ -1025,12 +1025,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Gets the size limit of a connection's queue of queued packets. </p>
-<p>Note that a call to this function does not use any locks, as the limit is known at compile time and is the same for all UDPC connections.</p>
+<p >Note that a call to this function does not use any locks, as the limit is known at compile time and is the same for all UDPC connections.</p>
 <dl class="section return"><dt>Returns</dt><dd>The size limit of a connection's queue </dd></dl>
 
 </div>
 </div>
-<a id="aab6fb21c6f5b44123e2660f84561d404"></a>
+<a id="aab6fb21c6f5b44123e2660f84561d404" name="aab6fb21c6f5b44123e2660f84561d404"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#aab6fb21c6f5b44123e2660f84561d404">&#9670;&nbsp;</a></span>UDPC_get_protocol_id()</h2>
 
 <div class="memitem">
@@ -1047,8 +1047,8 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Gets the protocol id of the UDPC context. </p>
-<p>UDPC uses the protocol id by prefixing every sent packet with it. Other UDPC instances will only accept packets with the same protocol id.</p>
-<p>One can use <a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a" title="Sets the protocol id of the UDPC context.">UDPC_set_protocol_id()</a> to change it.</p>
+<p >UDPC uses the protocol id by prefixing every sent packet with it. Other UDPC instances will only accept packets with the same protocol id.</p>
+<p >One can use <a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a" title="Sets the protocol id of the UDPC context.">UDPC_set_protocol_id()</a> to change it.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
@@ -1059,7 +1059,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="aa3f67ad23ae34b647b7f4dd17a8a96dd"></a>
+<a id="aa3f67ad23ae34b647b7f4dd17a8a96dd" name="aa3f67ad23ae34b647b7f4dd17a8a96dd"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#aa3f67ad23ae34b647b7f4dd17a8a96dd">&#9670;&nbsp;</a></span>UDPC_get_queue_send_current_size()</h2>
 
 <div class="memitem">
@@ -1076,12 +1076,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Gets the size of the data structure holding queued packets. </p>
-<p>Note that a UDPC context holds a different data structure per established connection that holds a limited amount of packets to send. If a connection's queue is full, it will not be removed from the main queue that this function (and <a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4" title="Queues a packet to be sent to the specified peer.">UDPC_queue_send()</a>) uses. The queue that this function refers to does not have an imposed limit as it is implemented as a thread-safe linked list (data is dynamically stored on the heap) and access to this data structure is faster than accessing a connection's internal queue. Also note that this queue holds packets for all connections this context maintains. Thus if one connection has free space, then it may partially remove packets only destined for that connection from the queue this function refers to.</p>
+<p >Note that a UDPC context holds a different data structure per established connection that holds a limited amount of packets to send. If a connection's queue is full, it will not be removed from the main queue that this function (and <a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4" title="Queues a packet to be sent to the specified peer.">UDPC_queue_send()</a>) uses. The queue that this function refers to does not have an imposed limit as it is implemented as a thread-safe linked list (data is dynamically stored on the heap) and access to this data structure is faster than accessing a connection's internal queue. Also note that this queue holds packets for all connections this context maintains. Thus if one connection has free space, then it may partially remove packets only destined for that connection from the queue this function refers to.</p>
 <dl class="section return"><dt>Returns</dt><dd>The size of the queue </dd></dl>
 
 </div>
 </div>
-<a id="a1fb87c1522d353bd9fde4c94ec8454c2"></a>
+<a id="a1fb87c1522d353bd9fde4c94ec8454c2" name="a1fb87c1522d353bd9fde4c94ec8454c2"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a1fb87c1522d353bd9fde4c94ec8454c2">&#9670;&nbsp;</a></span>UDPC_get_queued_size()</h2>
 
 <div class="memitem">
@@ -1114,13 +1114,13 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Gets the size of a connection's queue of queued packets. </p>
-<p>Note that a UDPC context holds a queue per established connection that holds a limited amount of packets to send. This function checks a connection's internal queue, but must do so after locking an internal mutex (a call to <a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b" title="Updates the context.">UDPC_update()</a> will lock this mutex, regardless of whether or not the context is using threaded update).</p>
-<p>If <code>exists</code> is a non-null pointer to an <code>int</code>, and a connection to a peer identified by <code>id</code> exists, then the value of <code>exists</code> will be set to non-zero, otherwise a non-existing peer will set the value of <code>exists</code> to zero.</p>
+<p >Note that a UDPC context holds a queue per established connection that holds a limited amount of packets to send. This function checks a connection's internal queue, but must do so after locking an internal mutex (a call to <a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b" title="Updates the context.">UDPC_update()</a> will lock this mutex, regardless of whether or not the context is using threaded update).</p>
+<p >If <code>exists</code> is a non-null pointer to an <code>int</code>, and a connection to a peer identified by <code>id</code> exists, then the value of <code>exists</code> will be set to non-zero, otherwise a non-existing peer will set the value of <code>exists</code> to zero.</p>
 <dl class="section return"><dt>Returns</dt><dd>The size of a connection's queue </dd></dl>
 
 </div>
 </div>
-<a id="affa8655a4e7e3475be441060e92213b3"></a>
+<a id="affa8655a4e7e3475be441060e92213b3" name="affa8655a4e7e3475be441060e92213b3"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#affa8655a4e7e3475be441060e92213b3">&#9670;&nbsp;</a></span>UDPC_get_received()</h2>
 
 <div class="memitem">
@@ -1151,7 +1151,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a8c74f1b9ee0fec610087f83096c9679d"></a>
+<a id="a8c74f1b9ee0fec610087f83096c9679d" name="a8c74f1b9ee0fec610087f83096c9679d"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a8c74f1b9ee0fec610087f83096c9679d">&#9670;&nbsp;</a></span>UDPC_get_receiving_events()</h2>
 
 <div class="memitem">
@@ -1168,7 +1168,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Returns non-zero if the UDPC context will record events. </p>
-<p>Events that have ocurred can by polled by calling <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p>
+<p >Events that have ocurred can by polled by calling <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
@@ -1179,7 +1179,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a4a555a011e95445ed4a2aa88deb17082"></a>
+<a id="a4a555a011e95445ed4a2aa88deb17082" name="a4a555a011e95445ed4a2aa88deb17082"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a4a555a011e95445ed4a2aa88deb17082">&#9670;&nbsp;</a></span>UDPC_has_connection()</h2>
 
 <div class="memitem">
@@ -1217,7 +1217,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a94660d04e7f9b4d9c51a7b2c67707172"></a>
+<a id="a94660d04e7f9b4d9c51a7b2c67707172" name="a94660d04e7f9b4d9c51a7b2c67707172"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a94660d04e7f9b4d9c51a7b2c67707172">&#9670;&nbsp;</a></span>UDPC_has_whitelist_pk()</h2>
 
 <div class="memitem">
@@ -1244,12 +1244,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Checks if a public key is in the whitelist. </p>
-<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>Non-zero if the given public key is in the whitelist </dd></dl>
 
 </div>
 </div>
-<a id="a89dee65fcd5b70d25abbf6d4a3ee59f2"></a>
+<a id="a89dee65fcd5b70d25abbf6d4a3ee59f2" name="a89dee65fcd5b70d25abbf6d4a3ee59f2"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a89dee65fcd5b70d25abbf6d4a3ee59f2">&#9670;&nbsp;</a></span>UDPC_init()</h2>
 
 <div class="memitem">
@@ -1296,7 +1296,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a614e2a058b89839d53fe9d348a058323"></a>
+<a id="a614e2a058b89839d53fe9d348a058323" name="a614e2a058b89839d53fe9d348a058323"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a614e2a058b89839d53fe9d348a058323">&#9670;&nbsp;</a></span>UDPC_init_threaded_update()</h2>
 
 <div class="memitem">
@@ -1329,7 +1329,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Creates an UDPC_HContext that holds state for connections that auto-updates via a thread. </p>
-<p>By default, the update interval is set to 8 milliseconds.</p>
+<p >By default, the update interval is set to 8 milliseconds.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">listenId</td><td>The addr and port to listen on (contained in a <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a>) </td></tr>
@@ -1344,7 +1344,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="ab9a5258877ad3084f7d29954be525bd6"></a>
+<a id="ab9a5258877ad3084f7d29954be525bd6" name="ab9a5258877ad3084f7d29954be525bd6"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ab9a5258877ad3084f7d29954be525bd6">&#9670;&nbsp;</a></span>UDPC_init_threaded_update_ms()</h2>
 
 <div class="memitem">
@@ -1398,7 +1398,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="ac01480f803b063e2b44794420df0f671"></a>
+<a id="ac01480f803b063e2b44794420df0f671" name="ac01480f803b063e2b44794420df0f671"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ac01480f803b063e2b44794420df0f671">&#9670;&nbsp;</a></span>UDPC_is_valid_context()</h2>
 
 <div class="memitem">
@@ -1419,7 +1419,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a7527954b63f502479bdd3771df7cf3a4"></a>
+<a id="a7527954b63f502479bdd3771df7cf3a4" name="a7527954b63f502479bdd3771df7cf3a4"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a7527954b63f502479bdd3771df7cf3a4">&#9670;&nbsp;</a></span>UDPC_queue_send()</h2>
 
 <div class="memitem">
@@ -1464,7 +1464,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Queues a packet to be sent to the specified peer. </p>
-<p>Note that there must already be an established connection with the peer. If a packet is queued for a peer that is not connected, it will be dropped and logged with log-level warning. A client can establish a connection to a server peer via a call to <a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55" title="Initiate a connection to a server peer.">UDPC_client_initiate_connection()</a> or UDPC_client_initiate_connection_pk(). A server must receive an initiate-connection-packet from a client to establish a connection (sent by previously mentioned UDPC_client_initiate_* functions).</p>
+<p >Note that there must already be an established connection with the peer. If a packet is queued for a peer that is not connected, it will be dropped and logged with log-level warning. A client can establish a connection to a server peer via a call to <a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55" title="Initiate a connection to a server peer.">UDPC_client_initiate_connection()</a> or UDPC_client_initiate_connection_pk(). A server must receive an initiate-connection-packet from a client to establish a connection (sent by previously mentioned UDPC_client_initiate_* functions).</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The context to send a packet on </td></tr>
@@ -1478,7 +1478,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="abc2d3284e5c45d6cd888154e813a1383"></a>
+<a id="abc2d3284e5c45d6cd888154e813a1383" name="abc2d3284e5c45d6cd888154e813a1383"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#abc2d3284e5c45d6cd888154e813a1383">&#9670;&nbsp;</a></span>UDPC_remove_whitelist_pk()</h2>
 
 <div class="memitem">
@@ -1505,12 +1505,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Removes a public key from the whitelist. </p>
-<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>Non-zero if a public key was removed </dd></dl>
 
 </div>
 </div>
-<a id="a32e217a02b2e8ba05568aabfaecbcdcb"></a>
+<a id="a32e217a02b2e8ba05568aabfaecbcdcb" name="a32e217a02b2e8ba05568aabfaecbcdcb"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a32e217a02b2e8ba05568aabfaecbcdcb">&#9670;&nbsp;</a></span>UDPC_set_accept_new_connections()</h2>
 
 <div class="memitem">
@@ -1548,7 +1548,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a8d0dbbd258e17844a2f9a0e277789581"></a>
+<a id="a8d0dbbd258e17844a2f9a0e277789581" name="a8d0dbbd258e17844a2f9a0e277789581"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a8d0dbbd258e17844a2f9a0e277789581">&#9670;&nbsp;</a></span>UDPC_set_auth_policy()</h2>
 
 <div class="memitem">
@@ -1575,13 +1575,13 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Sets how peers are handled regarding public key verification. </p>
-<p>If libsodium is enabled and the auth policy is "strict", then peers attempting to connect will be denied if they do not have public key verification enabled. Otherwise if the auth policy is "fallback", then peers will not be denied a connection regardless of whether or not they use public key verification of packets.</p>
-<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p >If libsodium is enabled and the auth policy is "strict", then peers attempting to connect will be denied if they do not have public key verification enabled. Otherwise if the auth policy is "fallback", then peers will not be denied a connection regardless of whether or not they use public key verification of packets.</p>
+<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>The previous auth policy (see <a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>), or zero on fail </dd></dl>
 
 </div>
 </div>
-<a id="ad7eb0c77561f84a63dad29388d099fbe"></a>
+<a id="ad7eb0c77561f84a63dad29388d099fbe" name="ad7eb0c77561f84a63dad29388d099fbe"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ad7eb0c77561f84a63dad29388d099fbe">&#9670;&nbsp;</a></span>UDPC_set_libsodium_key_easy()</h2>
 
 <div class="memitem">
@@ -1608,13 +1608,13 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Sets the public/private keys used for packet verification. </p>
-<p>This function is almost identical with UDPC_set_libsodium_keys, except it will utilize libsodium to generate the associated public key with the given private key.</p>
-<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p >This function is almost identical with UDPC_set_libsodium_keys, except it will utilize libsodium to generate the associated public key with the given private key.</p>
+<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>Non-zero if keys were successfully set, zero if context is invalid or libsodium is not enabled </dd></dl>
 
 </div>
 </div>
-<a id="abd0a7d5c0a17cf3351dbe5abf5f70df1"></a>
+<a id="abd0a7d5c0a17cf3351dbe5abf5f70df1" name="abd0a7d5c0a17cf3351dbe5abf5f70df1"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#abd0a7d5c0a17cf3351dbe5abf5f70df1">&#9670;&nbsp;</a></span>UDPC_set_libsodium_keys()</h2>
 
 <div class="memitem">
@@ -1647,14 +1647,14 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Sets public/private keys used for packet verification. </p>
-<p>If keys are not set and packet verification is enabled, for each new connection new keys will be generated then used. The auto-generated keys used will be unique per connection. Conversely if keys are set, then new connections will use the given keys.</p>
-<p>Note that connections established before calling this function will not use the given keys.</p>
-<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p >If keys are not set and packet verification is enabled, for each new connection new keys will be generated then used. The auto-generated keys used will be unique per connection. Conversely if keys are set, then new connections will use the given keys.</p>
+<p >Note that connections established before calling this function will not use the given keys.</p>
+<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>Non-zero if keys were successfully set, zero if context is invalid or libsodium is not enabled </dd></dl>
 
 </div>
 </div>
-<a id="a6c90dc723e67a07bf65c1fc97e526305"></a>
+<a id="a6c90dc723e67a07bf65c1fc97e526305" name="a6c90dc723e67a07bf65c1fc97e526305"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a6c90dc723e67a07bf65c1fc97e526305">&#9670;&nbsp;</a></span>UDPC_set_logging_type()</h2>
 
 <div class="memitem">
@@ -1681,7 +1681,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Sets the logging type of the UDPC context. </p>
-<p>See UDPC_LoggingType for possible values.</p>
+<p >See UDPC_LoggingType for possible values.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
@@ -1693,7 +1693,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a0720bec1922660c983b1b3d9f6a5de3a"></a>
+<a id="a0720bec1922660c983b1b3d9f6a5de3a" name="a0720bec1922660c983b1b3d9f6a5de3a"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a0720bec1922660c983b1b3d9f6a5de3a">&#9670;&nbsp;</a></span>UDPC_set_protocol_id()</h2>
 
 <div class="memitem">
@@ -1720,7 +1720,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Sets the protocol id of the UDPC context. </p>
-<p>UDPC uses the protocol id by prefixing every sent packet with it. Other UDPC instances will only accept packets with the same protocol id.</p>
+<p >UDPC uses the protocol id by prefixing every sent packet with it. Other UDPC instances will only accept packets with the same protocol id.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
@@ -1732,7 +1732,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a380c91ee395cff22189c7988c3381787"></a>
+<a id="a380c91ee395cff22189c7988c3381787" name="a380c91ee395cff22189c7988c3381787"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a380c91ee395cff22189c7988c3381787">&#9670;&nbsp;</a></span>UDPC_set_receiving_events()</h2>
 
 <div class="memitem">
@@ -1759,7 +1759,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Sets whether or not UDPC will record events. </p>
-<p>Events that have ocurred can by polled by calling <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p>
+<p >Events that have ocurred can by polled by calling <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a></p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">ctx</td><td>The UDPC context </td></tr>
@@ -1771,7 +1771,7 @@ Variables</h2></td></tr>
 
 </div>
 </div>
-<a id="a62a5131b90653ccbfc86ad5db4031ba9"></a>
+<a id="a62a5131b90653ccbfc86ad5db4031ba9" name="a62a5131b90653ccbfc86ad5db4031ba9"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a62a5131b90653ccbfc86ad5db4031ba9">&#9670;&nbsp;</a></span>UDPC_unset_libsodium_keys()</h2>
 
 <div class="memitem">
@@ -1788,12 +1788,12 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Removes set keys if any used for packet verification. </p>
-<p>Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
+<p >Note that public key verification will not occur if it is not enabled during the call to <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2" title="Creates an UDPC_HContext that holds state for connections.">UDPC_init()</a>.</p>
 <dl class="section return"><dt>Returns</dt><dd>Zero if context is invalid or libsodium is not enabled </dd></dl>
 
 </div>
 </div>
-<a id="a68fefba9edca7cd0a81d97ac27c70c0b"></a>
+<a id="a68fefba9edca7cd0a81d97ac27c70c0b" name="a68fefba9edca7cd0a81d97ac27c70c0b"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a68fefba9edca7cd0a81d97ac27c70c0b">&#9670;&nbsp;</a></span>UDPC_update()</h2>
 
 <div class="memitem">
@@ -1810,7 +1810,7 @@ Variables</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Updates the context. </p>
-<p>Updating consists of:</p><ul>
+<p >Updating consists of:</p><ul>
 <li>Checking if peers have timed out</li>
 <li>Handling requests to connect to server peers as a client</li>
 <li>Sending packets to connected peers</li>
@@ -1818,15 +1818,15 @@ Variables</h2></td></tr>
 <li>Calculating round-trip-time (RTT) to peers</li>
 <li>Checking if a peer has not received a packet and queuing that packet to be resent (this is done by using an ack)</li>
 </ul>
-<p>If auto updating was enabled for the context, then there is no need to call this function.</p>
-<p>Note that the context can only receive at most one packet per call to update (due to the fact that UDPC created its UDP socket to not block on receive checks). This is why it is expected to either call this function several times a second (such as in a game's update loop), or have auto-updating enabled via <a class="el" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323" title="Creates an UDPC_HContext that holds state for connections that auto-updates via a thread.">UDPC_init_threaded_update()</a>, <a class="el" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6" title="Creates an UDPC_HContext that holds state for connections that auto-updates via a thread at a specifi...">UDPC_init_threaded_update_ms()</a>, <a class="el" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f" title="Enables auto updating on a separate thread for the given UDPC_HContext.">UDPC_enable_threaded_update()</a>, or <a class="el" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833" title="Enables auto updating on a separate thread for the given UDPC_HContext with the specified update inte...">UDPC_enable_threaded_update_ms()</a>. </p>
+<p >If auto updating was enabled for the context, then there is no need to call this function.</p>
+<p >Note that the context can only receive at most one packet per call to update (due to the fact that UDPC created its UDP socket to not block on receive checks). This is why it is expected to either call this function several times a second (such as in a game's update loop), or have auto-updating enabled via <a class="el" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323" title="Creates an UDPC_HContext that holds state for connections that auto-updates via a thread.">UDPC_init_threaded_update()</a>, <a class="el" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6" title="Creates an UDPC_HContext that holds state for connections that auto-updates via a thread at a specifi...">UDPC_init_threaded_update_ms()</a>, <a class="el" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f" title="Enables auto updating on a separate thread for the given UDPC_HContext.">UDPC_enable_threaded_update()</a>, or <a class="el" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833" title="Enables auto updating on a separate thread for the given UDPC_HContext with the specified update inte...">UDPC_enable_threaded_update_ms()</a>. </p>
 
 </div>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 1da0baaa44b86c63a3ac30b3d7b5036fa02cd82e..7428b1b0a059d9b9c95303be819b1f4226ab2f1b 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: src/UDPC.h Source File</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -66,285 +67,284 @@ $(function() {
 </div>
 </div><!-- top -->
 <div class="header">
-  <div class="headertitle">
-<div class="title">UDPC.h</div>  </div>
+  <div class="headertitle"><div class="title">UDPC.h</div></div>
 </div><!--header-->
 <div class="contents">
-<a href="UDPC_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#ifndef UDPC_CONNECTION_H</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#define UDPC_CONNECTION_H</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// Determine platform macros</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor"># define UDPC_PLATFORM_WINDOWS 1</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor"># define UDPC_PLATFORM_MAC 2</span></div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor"># define UDPC_PLATFORM_LINUX 3</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor"># define UDPC_PLATFORM_UNKNOWN 0</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor"># if defined _WIN32</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_WINDOWS</span></div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor"># elif defined __APPLE__</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_MAC</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"># elif defined __linux__</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_LINUX</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"># else</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_UNKNOWN</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"># endif</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">// OS-based networking macros</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#if UDPC_PLATFORM == UDPC_PLATFORM_WINDOWS</span></div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"># include &lt;winsock2.h&gt;</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"># ifdef UDPC_PLATFORM_MINGW</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#  include &lt;ws2ipdef.h&gt;</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#  include &lt;in6addr.h&gt;</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor"># else</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#  include &lt;Ws2ipdef.h&gt;</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#  include &lt;In6addr.h&gt;</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor"># endif</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160; </div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) closesocket(x)</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#  define UDPC_SOCKETTYPE SOCKET</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#  define UDPC_IPV6_SOCKADDR_TYPE SOCKADDR_IN6</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#  define UDPC_IPV6_ADDR_TYPE IN6_ADDR</span></div>
-<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#  define UDPC_IPV6_ADDR_SUB(addr) addr.u.Byte</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#  define UDPC_SOCKET_RETURN_ERROR(socket) (socket == INVALID_SOCKET)</span></div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
-<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#elif UDPC_PLATFORM == UDPC_PLATFORM_MAC || UDPC_PLATFORM == UDPC_PLATFORM_LINUX</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor"># include &lt;fcntl.h&gt;</span></div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor"># include &lt;netinet/in.h&gt;</span></div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor"># include &lt;sys/socket.h&gt;</span></div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor"># include &lt;unistd.h&gt;</span></div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) close(x)</span></div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">#  define UDPC_SOCKETTYPE int</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">#  define UDPC_IPV6_SOCKADDR_TYPE struct sockaddr_in6</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">#  define UDPC_IPV6_ADDR_TYPE struct in6_addr</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#  define UDPC_IPV6_ADDR_SUB(addr) addr.s6_addr</span></div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#  define UDPC_SOCKET_RETURN_ERROR(socket) (socket &lt;= 0)</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) ((void)0)</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
-<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">// other defines</span></div>
-<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">   81</a></span>&#160;<span class="comment"></span><span class="preprocessor">#define UDPC_PACKET_MAX_SIZE 8192</span></div>
-<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="preprocessor">#define UDPC_DEFAULT_PROTOCOL_ID 1357924680 </span><span class="comment">// 0x50f04948</span></div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
-<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">// other defines continued</span></div>
-<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor"># ifndef UDPC_LIBSODIUM_ENABLED</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#  ifndef crypto_sign_PUBLICKEYBYTES</span></div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;<span class="preprocessor">#   define crypto_sign_PUBLICKEYBYTES 1</span></div>
-<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="preprocessor">#  endif</span></div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">#  ifndef crypto_sign_SECRETKEYBYTES</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<span class="preprocessor">#   define crypto_sign_SECRETKEYBYTES 1</span></div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="preprocessor">#  endif</span></div>
-<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">#  ifndef crypto_sign_BYTES</span></div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;<span class="preprocessor">#   define crypto_sign_BYTES 1</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<span class="preprocessor">#  endif</span></div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;<span class="preprocessor"># endif</span></div>
-<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160; </div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;<span class="preprocessor"># if UDPC_PLATFORM == UDPC_PLATFORM_WINDOWS</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="preprocessor">#  define UDPC_EXPORT __declspec(dllexport)</span></div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor"># else</span></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;<span class="preprocessor">#  define UDPC_EXPORT</span></div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="preprocessor"># endif</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
-<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;<span class="preprocessor">#endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
-<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
-<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<span class="preprocessor"># include &lt;cstdint&gt;</span></div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
-<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;<span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor"># include &lt;stdint.h&gt;</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;<span class="keyword">struct </span>UDPC_Context;</div>
-<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_Context *UDPC_HContext;</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT UDPC_LoggingType {</div>
-<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">  121</a></span>&#160;    <a class="code" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC_SILENT</a>,</div>
-<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">  123</a></span>&#160;    <a class="code" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC_ERROR</a>,</div>
-<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">  125</a></span>&#160;    <a class="code" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC_WARNING</a>,</div>
-<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">  127</a></span>&#160;    <a class="code" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC_INFO</a>,</div>
-<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">  129</a></span>&#160;    <a class="code" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC_VERBOSE</a>,</div>
-<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    UDPC_DEBUG</div>
-<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;} UDPC_LoggingType;</div>
-<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
-<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">  136</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT <a class="code" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a> {</div>
-<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">  138</a></span>&#160;    <a class="code" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC_AUTH_POLICY_FALLBACK</a>=0,</div>
-<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">  140</a></span>&#160;    <a class="code" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC_AUTH_POLICY_STRICT</a>,</div>
-<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="comment">// Used internally to get max size of enum</span></div>
-<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    UDPC_AUTH_POLICY_SIZE</div>
-<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;} <a class="code" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>;</div>
-<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
-<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="structUDPC__ConnectionId.html">  153</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> {</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    UDPC_IPV6_ADDR_TYPE addr;</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    uint32_t scope_id;</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    uint16_t port;</div>
-<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">  157</a></span>&#160;} <a class="code" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC_ConnectionId</a>;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160; </div>
-<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html">  167</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> {</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="comment">// id is stored at offset 8, size 4 (uint32_t) even for &quot;empty&quot; PktInfos</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">  173</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a>;</div>
-<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">  184</a></span>&#160;    uint32_t <a class="code" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">flags</a>;</div>
-<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">  192</a></span>&#160;    uint32_t <a class="code" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">id</a>;</div>
-<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">  202</a></span>&#160;    uint16_t <a class="code" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>;</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    uint16_t rtt;</div>
-<div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">  205</a></span>&#160;    <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">sender</a>;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">  207</a></span>&#160;    <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">receiver</a>;</div>
-<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">  208</a></span>&#160;} <a class="code" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC_PacketInfo</a>;</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; </div>
-<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">  229</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT <a class="code" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> {</div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    UDPC_ET_NONE,</div>
-<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    UDPC_ET_REQUEST_CONNECT,</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    UDPC_ET_REQUEST_DISCONNECT,</div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    UDPC_ET_CONNECTED,</div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    UDPC_ET_DISCONNECTED,</div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    UDPC_ET_FAIL_CONNECT,</div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    UDPC_ET_GOOD_MODE,</div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    UDPC_ET_BAD_MODE</div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;} <a class="code" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a>;</div>
-<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160; </div>
-<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="structUDPC__Event.html">  250</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code" href="structUDPC__Event.html">UDPC_Event</a> {</div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <a class="code" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> type;</div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> conId;</div>
-<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="unionUDPC__Event_1_1Value.html">  253</a></span>&#160;    <span class="keyword">union </span><a class="code" href="unionUDPC__Event_1_1Value.html">Value</a> {</div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        <span class="keywordtype">int</span> dropAllWithAddr;</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keywordtype">int</span> enableLibSodium;</div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    } v;</div>
-<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">  257</a></span>&#160;} <a class="code" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC_Event</a>;</div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160; </div>
-<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">  269</a></span>&#160;UDPC_EXPORT <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC_create_id</a>(UDPC_IPV6_ADDR_TYPE addr, uint16_t port);</div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160; </div>
-<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">  278</a></span>&#160;UDPC_EXPORT <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC_create_id_full</a>(UDPC_IPV6_ADDR_TYPE addr, uint32_t scope_id, uint16_t port);</div>
-<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160; </div>
-<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">  289</a></span>&#160;UDPC_EXPORT <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC_create_id_anyaddr</a>(uint16_t port);</div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160; </div>
-<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">  301</a></span>&#160;UDPC_EXPORT <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC_create_id_easy</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrString, uint16_t port);</div>
-<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
-<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;UDPC_EXPORT <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> UDPC_create_id_hostname(<span class="keyword">const</span> <span class="keywordtype">char</span> *hostname, uint16_t port);</div>
-<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160; </div>
-<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">  321</a></span>&#160;UDPC_EXPORT UDPC_HContext <a class="code" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC_init</a>(<a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, <span class="keywordtype">int</span> isClient, <span class="keywordtype">int</span> isUsingLibsodium);</div>
-<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">  341</a></span>&#160;UDPC_EXPORT UDPC_HContext <a class="code" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC_init_threaded_update</a>(</div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
-<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <span class="keywordtype">int</span> isClient,</div>
-<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="keywordtype">int</span> isUsingLibsodium);</div>
-<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">  364</a></span>&#160;UDPC_EXPORT UDPC_HContext <a class="code" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC_init_threaded_update_ms</a>(</div>
-<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
-<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    <span class="keywordtype">int</span> isClient,</div>
-<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordtype">int</span> updateMS,</div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="keywordtype">int</span> isUsingLibsodium);</div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160; </div>
-<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">  379</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC_enable_threaded_update</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">  390</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC_enable_threaded_update_ms</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> updateMS);</div>
-<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">  399</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC_disable_threaded_update</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
-<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">  406</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC_is_valid_context</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160; </div>
-<div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">  417</a></span>&#160;UDPC_EXPORT <span class="keywordtype">void</span> <a class="code" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC_destroy</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160; </div>
-<div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">  441</a></span>&#160;UDPC_EXPORT <span class="keywordtype">void</span> <a class="code" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC_update</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160; </div>
-<div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">  453</a></span>&#160;UDPC_EXPORT <span class="keywordtype">void</span> <a class="code" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC_client_initiate_connection</a>(</div>
-<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    UDPC_HContext ctx,</div>
-<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;    <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId,</div>
-<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    <span class="keywordtype">int</span> enableLibSodium);</div>
-<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160; </div>
-<div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">  476</a></span>&#160;UDPC_EXPORT <span class="keywordtype">void</span> <a class="code" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC_queue_send</a>(UDPC_HContext ctx, <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> destinationId,</div>
-<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;                     <span class="keywordtype">int</span> isChecked, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, uint32_t size);</div>
-<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160; </div>
-<div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">  495</a></span>&#160;UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC_get_queue_send_current_size</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160; </div>
-<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">  513</a></span>&#160;UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC_get_queued_size</a>(UDPC_HContext ctx, <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> *exists);</div>
-<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160; </div>
-<div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">  523</a></span>&#160;UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC_get_max_queued_size</a>();</div>
-<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160; </div>
-<div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">  531</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC_set_accept_new_connections</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> isAccepting);</div>
-<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160; </div>
-<div class="line"><a name="l00544"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">  544</a></span>&#160;UDPC_EXPORT <span class="keywordtype">void</span> <a class="code" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC_drop_connection</a>(UDPC_HContext ctx, <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId, <span class="keywordtype">int</span> dropAllWithAddr);</div>
-<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
-<div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">  555</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC_has_connection</a>(UDPC_HContext ctx, <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
-<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160; </div>
-<div class="line"><a name="l00571"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7fe3e502f4c6f86ce5b2cd1f303aa213">  571</a></span>&#160;UDPC_EXPORT <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>* <a class="code" href="UDPC_8h.html#a7fe3e502f4c6f86ce5b2cd1f303aa213">UDPC_get_list_connected</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size);</div>
-<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160; </div>
-<div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">  577</a></span>&#160;UDPC_EXPORT <span class="keywordtype">void</span> <a class="code" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC_free_list_connected</a>(<a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> *list);</div>
-<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160; </div>
-<div class="line"><a name="l00590"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">  590</a></span>&#160;UDPC_EXPORT uint32_t <a class="code" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC_get_protocol_id</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160; </div>
-<div class="line"><a name="l00602"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">  602</a></span>&#160;UDPC_EXPORT uint32_t <a class="code" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC_set_protocol_id</a>(UDPC_HContext ctx, uint32_t <span class="keywordtype">id</span>);</div>
-<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160; </div>
-<div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">  612</a></span>&#160;UDPC_EXPORT UDPC_LoggingType <a class="code" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC_get_logging_type</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160; </div>
-<div class="line"><a name="l00623"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">  623</a></span>&#160;UDPC_EXPORT UDPC_LoggingType <a class="code" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC_set_logging_type</a>(UDPC_HContext ctx, UDPC_LoggingType loggingType);</div>
-<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160; </div>
-<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">  633</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC_get_receiving_events</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160; </div>
-<div class="line"><a name="l00644"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">  644</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC_set_receiving_events</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> isReceivingEvents);</div>
-<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160; </div>
-<div class="line"><a name="l00657"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">  657</a></span>&#160;UDPC_EXPORT <a class="code" href="structUDPC__Event.html">UDPC_Event</a> <a class="code" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC_get_event</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *remaining);</div>
-<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160; </div>
-<div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">  665</a></span>&#160;UDPC_EXPORT <a class="code" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> <a class="code" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *remaining);</div>
-<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160; </div>
-<div class="line"><a name="l00674"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">  674</a></span>&#160;UDPC_EXPORT <span class="keywordtype">void</span> <a class="code" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a>(<a class="code" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pInfo);</div>
-<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160; </div>
-<div class="line"><a name="l00693"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">  693</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC_set_libsodium_keys</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sk, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
-<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160; </div>
-<div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">  708</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC_set_libsodium_key_easy</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sk);</div>
-<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160; </div>
-<div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">  718</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC_unset_libsodium_keys</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160; </div>
-<div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">  735</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC_add_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
-<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160; </div>
-<div class="line"><a name="l00745"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">  745</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC_has_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
-<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160; </div>
-<div class="line"><a name="l00755"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">  755</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC_remove_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
-<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160; </div>
-<div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">  771</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC_clear_whitelist</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160; </div>
-<div class="line"><a name="l00787"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">  787</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC_get_auth_policy</a>(UDPC_HContext ctx);</div>
-<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160; </div>
-<div class="line"><a name="l00803"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">  803</a></span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> <a class="code" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC_set_auth_policy</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> value);</div>
-<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160; </div>
-<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *UDPC_atostr_cid(UDPC_HContext ctx, <a class="code" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
-<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160; </div>
-<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *UDPC_atostr(UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr);</div>
-<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160; </div>
-<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;<span class="comment">// =============================================================================</span></div>
-<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;<span class="comment">// Helpers</span></div>
-<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160; </div>
-<div class="line"><a name="l00813"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">  813</a></span>&#160;UDPC_EXPORT UDPC_IPV6_ADDR_TYPE <a class="code" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC_strtoa</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrStr);</div>
-<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160; </div>
-<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_strtoa_link(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrStr, uint32_t *linkId_out);</div>
-<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160; </div>
-<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_a4toa6(uint32_t a4_be);</div>
-<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160; </div>
-<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;UDPC_EXPORT <span class="keywordtype">int</span> UDPC_is_big_endian();</div>
-<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;UDPC_EXPORT uint16_t UDPC_no16i(uint16_t i);</div>
-<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;UDPC_EXPORT uint32_t UDPC_no32i(uint32_t i);</div>
-<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;UDPC_EXPORT uint64_t UDPC_no64i(uint64_t i);</div>
-<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;UDPC_EXPORT <span class="keywordtype">float</span> UDPC_no32f(<span class="keywordtype">float</span> f);</div>
-<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;UDPC_EXPORT <span class="keywordtype">double</span> UDPC_no64f(<span class="keywordtype">double</span> f);</div>
-<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160; </div>
-<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
-<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;}</div>
-<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;<span class="preprocessor">#endif</span></div>
+<a href="UDPC_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#ifndef UDPC_CONNECTION_H</span></div>
+<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#define UDPC_CONNECTION_H</span></div>
+<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span> </div>
+<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
+<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="comment">// Determine platform macros</span></div>
+<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor"># define UDPC_PLATFORM_WINDOWS 1</span></div>
+<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor"># define UDPC_PLATFORM_MAC 2</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor"># define UDPC_PLATFORM_LINUX 3</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor"># define UDPC_PLATFORM_UNKNOWN 0</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor"># if defined _WIN32</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_WINDOWS</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor"># elif defined __APPLE__</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_MAC</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor"># elif defined __linux__</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_LINUX</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor"># else</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#  define UDPC_PLATFORM UDPC_PLATFORM_UNKNOWN</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor"># endif</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="comment">// OS-based networking macros</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#if UDPC_PLATFORM == UDPC_PLATFORM_WINDOWS</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor"># include &lt;winsock2.h&gt;</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="preprocessor"># ifdef UDPC_PLATFORM_MINGW</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#  include &lt;ws2ipdef.h&gt;</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#  include &lt;in6addr.h&gt;</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor"># else</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="preprocessor">#  include &lt;Ws2ipdef.h&gt;</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="preprocessor">#  include &lt;In6addr.h&gt;</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="preprocessor"># endif</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) closesocket(x)</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="preprocessor">#  define UDPC_SOCKETTYPE SOCKET</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span><span class="preprocessor">#  define UDPC_IPV6_SOCKADDR_TYPE SOCKADDR_IN6</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_TYPE IN6_ADDR</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_SUB(addr) addr.u.Byte</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="preprocessor">#  define UDPC_SOCKET_RETURN_ERROR(socket) (socket == INVALID_SOCKET)</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span> </div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span><span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="preprocessor">#elif UDPC_PLATFORM == UDPC_PLATFORM_MAC || UDPC_PLATFORM == UDPC_PLATFORM_LINUX</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="preprocessor"># include &lt;fcntl.h&gt;</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="preprocessor"># include &lt;netinet/in.h&gt;</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="preprocessor"># include &lt;sys/socket.h&gt;</span></div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span><span class="preprocessor"># include &lt;unistd.h&gt;</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span><span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span><span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) close(x)</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span><span class="preprocessor">#  define UDPC_SOCKETTYPE int</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span><span class="preprocessor">#  define UDPC_IPV6_SOCKADDR_TYPE struct sockaddr_in6</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_TYPE struct in6_addr</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span><span class="preprocessor">#  define UDPC_IPV6_ADDR_SUB(addr) addr.s6_addr</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span><span class="preprocessor">#  define UDPC_SOCKET_RETURN_ERROR(socket) (socket &lt;= 0)</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span><span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span> </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="preprocessor">#else</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span><span class="preprocessor"># ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span><span class="preprocessor">#  define UDPC_CLEANUPSOCKET(x) ((void)0)</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span><span class="preprocessor"># endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span><span class="comment">// other defines</span></div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">   81</a></span><span class="comment"></span><span class="preprocessor">#define UDPC_PACKET_MAX_SIZE 8192</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span><span class="preprocessor">#define UDPC_DEFAULT_PROTOCOL_ID 1357924680 </span><span class="comment">// 0x50f04948</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span><span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span><span class="comment">// other defines continued</span></div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span><span class="preprocessor"># ifndef UDPC_LIBSODIUM_ENABLED</span></div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span><span class="preprocessor">#  ifndef crypto_sign_PUBLICKEYBYTES</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span><span class="preprocessor">#   define crypto_sign_PUBLICKEYBYTES 1</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span><span class="preprocessor">#  endif</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span><span class="preprocessor">#  ifndef crypto_sign_SECRETKEYBYTES</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span><span class="preprocessor">#   define crypto_sign_SECRETKEYBYTES 1</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="preprocessor">#  endif</span></div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span><span class="preprocessor">#  ifndef crypto_sign_BYTES</span></div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span><span class="preprocessor">#   define crypto_sign_BYTES 1</span></div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span><span class="preprocessor">#  endif</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span><span class="preprocessor"># endif</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span><span class="preprocessor"># if UDPC_PLATFORM == UDPC_PLATFORM_WINDOWS</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span><span class="preprocessor">#  define UDPC_EXPORT __declspec(dllexport)</span></div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="preprocessor"># else</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span><span class="preprocessor">#  define UDPC_EXPORT</span></div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span><span class="preprocessor"># endif</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span><span class="preprocessor">#endif </span><span class="comment">// DOXYGEN_SHOULD_SKIP_THIS</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span><span class="preprocessor"># include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span><span class="preprocessor">#else</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span><span class="preprocessor"># include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span><span class="keyword">struct </span>UDPC_Context;</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_Context *UDPC_HContext;</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span><span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT UDPC_LoggingType {</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">  121</a></span>    <a class="code hl_variable" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC_SILENT</a>,</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">  123</a></span>    <a class="code hl_variable" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC_ERROR</a>,</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">  125</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC_WARNING</a>,</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">  127</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC_INFO</a>,</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">  129</a></span>    <a class="code hl_variable" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC_VERBOSE</a>,</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>    UDPC_DEBUG</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>} UDPC_LoggingType;</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">  136</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT <a class="code hl_typedef" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a> {</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">  138</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC_AUTH_POLICY_FALLBACK</a>=0,</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">  140</a></span>    <a class="code hl_variable" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC_AUTH_POLICY_STRICT</a>,</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>    <span class="comment">// Used internally to get max size of enum</span></div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    UDPC_AUTH_POLICY_SIZE</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>} <a class="code hl_typedef" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC_AuthPolicy</a>;</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="structUDPC__ConnectionId.html">  153</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> {</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>    UDPC_IPV6_ADDR_TYPE addr;</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span>    uint32_t scope_id;</div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    uint16_t port;</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">  157</a></span>} <a class="code hl_typedef" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC_ConnectionId</a>;</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html">  167</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> {</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>    <span class="comment">// id is stored at offset 8, size 4 (uint32_t) even for &quot;empty&quot; PktInfos</span></div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">  173</a></span>    <span class="keywordtype">char</span> *<a class="code hl_variable" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a>;</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">  184</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">flags</a>;</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">  192</a></span>    uint32_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">id</a>;</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">  202</a></span>    uint16_t <a class="code hl_variable" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>;</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>    uint16_t rtt;</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">  205</a></span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_variable" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">sender</a>;</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">  207</a></span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_variable" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">receiver</a>;</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">  208</a></span>} <a class="code hl_typedef" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC_PacketInfo</a>;</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">  229</a></span><span class="keyword">typedef</span> <span class="keyword">enum</span> UDPC_EXPORT <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> {</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>    UDPC_ET_NONE,</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>    UDPC_ET_REQUEST_CONNECT,</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>    UDPC_ET_REQUEST_DISCONNECT,</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span>    UDPC_ET_CONNECTED,</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>    UDPC_ET_DISCONNECTED,</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>    UDPC_ET_FAIL_CONNECT,</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>    UDPC_ET_GOOD_MODE,</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>    UDPC_ET_BAD_MODE</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>} <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a>;</div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="structUDPC__Event.html">  250</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__Event.html">UDPC_Event</a> {</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span>    <a class="code hl_typedef" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a> type;</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> conId;</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="unionUDPC__Event_1_1Value.html">  253</a></span>    <span class="keyword">union </span><a class="code hl_union" href="unionUDPC__Event_1_1Value.html">Value</a> {</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span>        <span class="keywordtype">int</span> dropAllWithAddr;</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>        <span class="keywordtype">int</span> enableLibSodium;</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>    } v;</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">  257</a></span>} <a class="code hl_typedef" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC_Event</a>;</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">  269</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC_create_id</a>(UDPC_IPV6_ADDR_TYPE addr, uint16_t port);</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">  278</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC_create_id_full</a>(UDPC_IPV6_ADDR_TYPE addr, uint32_t scope_id, uint16_t port);</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">  289</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC_create_id_anyaddr</a>(uint16_t port);</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">  301</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <a class="code hl_function" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC_create_id_easy</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrString, uint16_t port);</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> UDPC_create_id_hostname(<span class="keyword">const</span> <span class="keywordtype">char</span> *hostname, uint16_t port);</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">  321</a></span>UDPC_EXPORT UDPC_HContext <a class="code hl_function" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC_init</a>(<a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId, <span class="keywordtype">int</span> isClient, <span class="keywordtype">int</span> isUsingLibsodium);</div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">  341</a></span>UDPC_EXPORT UDPC_HContext <a class="code hl_function" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC_init_threaded_update</a>(</div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span>    <span class="keywordtype">int</span> isClient,</div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span>    <span class="keywordtype">int</span> isUsingLibsodium);</div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">  364</a></span>UDPC_EXPORT UDPC_HContext <a class="code hl_function" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC_init_threaded_update_ms</a>(</div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> listenId,</div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span>    <span class="keywordtype">int</span> isClient,</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span>    <span class="keywordtype">int</span> updateMS,</div>
+<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span>    <span class="keywordtype">int</span> isUsingLibsodium);</div>
+<div class="line"><a id="l00369" name="l00369"></a><span class="lineno">  369</span> </div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">  379</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC_enable_threaded_update</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">  390</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC_enable_threaded_update_ms</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> updateMS);</div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">  399</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC_disable_threaded_update</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">  406</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC_is_valid_context</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span> </div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">  417</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC_destroy</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">  441</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC_update</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00442" name="l00442"></a><span class="lineno">  442</span> </div>
+<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">  453</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC_client_initiate_connection</a>(</div>
+<div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  454</span>    UDPC_HContext ctx,</div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno">  455</span>    <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId,</div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno">  456</span>    <span class="keywordtype">int</span> enableLibSodium);</div>
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  457</span> </div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">  476</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC_queue_send</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> destinationId,</div>
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  477</span>                     <span class="keywordtype">int</span> isChecked, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, uint32_t size);</div>
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno">  478</span> </div>
+<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">  495</a></span>UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC_get_queue_send_current_size</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  496</span> </div>
+<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">  513</a></span>UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC_get_queued_size</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> *exists);</div>
+<div class="line"><a id="l00514" name="l00514"></a><span class="lineno">  514</span> </div>
+<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">  523</a></span>UDPC_EXPORT <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code hl_function" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC_get_max_queued_size</a>();</div>
+<div class="line"><a id="l00524" name="l00524"></a><span class="lineno">  524</span> </div>
+<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">  531</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC_set_accept_new_connections</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> isAccepting);</div>
+<div class="line"><a id="l00532" name="l00532"></a><span class="lineno">  532</span> </div>
+<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">  544</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC_drop_connection</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId, <span class="keywordtype">int</span> dropAllWithAddr);</div>
+<div class="line"><a id="l00545" name="l00545"></a><span class="lineno">  545</span> </div>
+<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">  555</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC_has_connection</a>(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
+<div class="line"><a id="l00556" name="l00556"></a><span class="lineno">  556</span> </div>
+<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">  571</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>* <a class="code hl_function" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC_get_list_connected</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *size);</div>
+<div class="line"><a id="l00572" name="l00572"></a><span class="lineno">  572</span> </div>
+<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">  577</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC_free_list_connected</a>(<a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> *list);</div>
+<div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span> </div>
+<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"><a class="line" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">  590</a></span>UDPC_EXPORT uint32_t <a class="code hl_function" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC_get_protocol_id</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00591" name="l00591"></a><span class="lineno">  591</span> </div>
+<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">  602</a></span>UDPC_EXPORT uint32_t <a class="code hl_function" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC_set_protocol_id</a>(UDPC_HContext ctx, uint32_t <span class="keywordtype">id</span>);</div>
+<div class="line"><a id="l00603" name="l00603"></a><span class="lineno">  603</span> </div>
+<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">  612</a></span>UDPC_EXPORT UDPC_LoggingType <a class="code hl_function" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC_get_logging_type</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  613</span> </div>
+<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">  623</a></span>UDPC_EXPORT UDPC_LoggingType <a class="code hl_function" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC_set_logging_type</a>(UDPC_HContext ctx, UDPC_LoggingType loggingType);</div>
+<div class="line"><a id="l00624" name="l00624"></a><span class="lineno">  624</span> </div>
+<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">  633</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC_get_receiving_events</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00634" name="l00634"></a><span class="lineno">  634</span> </div>
+<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">  644</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC_set_receiving_events</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> isReceivingEvents);</div>
+<div class="line"><a id="l00645" name="l00645"></a><span class="lineno">  645</span> </div>
+<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">  657</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__Event.html">UDPC_Event</a> <a class="code hl_function" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC_get_event</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *remaining);</div>
+<div class="line"><a id="l00658" name="l00658"></a><span class="lineno">  658</span> </div>
+<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"><a class="line" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">  665</a></span>UDPC_EXPORT <a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> <a class="code hl_function" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC_get_received</a>(UDPC_HContext ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *remaining);</div>
+<div class="line"><a id="l00666" name="l00666"></a><span class="lineno">  666</span> </div>
+<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">  674</a></span>UDPC_EXPORT <span class="keywordtype">void</span> <a class="code hl_function" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a>(<a class="code hl_struct" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a> pInfo);</div>
+<div class="line"><a id="l00675" name="l00675"></a><span class="lineno">  675</span> </div>
+<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">  693</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC_set_libsodium_keys</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sk, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
+<div class="line"><a id="l00694" name="l00694"></a><span class="lineno">  694</span> </div>
+<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">  708</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC_set_libsodium_key_easy</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *sk);</div>
+<div class="line"><a id="l00709" name="l00709"></a><span class="lineno">  709</span> </div>
+<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">  718</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC_unset_libsodium_keys</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00719" name="l00719"></a><span class="lineno">  719</span> </div>
+<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">  735</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC_add_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
+<div class="line"><a id="l00736" name="l00736"></a><span class="lineno">  736</span> </div>
+<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">  745</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC_has_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
+<div class="line"><a id="l00746" name="l00746"></a><span class="lineno">  746</span> </div>
+<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"><a class="line" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">  755</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC_remove_whitelist_pk</a>(UDPC_HContext ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pk);</div>
+<div class="line"><a id="l00756" name="l00756"></a><span class="lineno">  756</span> </div>
+<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">  771</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC_clear_whitelist</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00772" name="l00772"></a><span class="lineno">  772</span> </div>
+<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"><a class="line" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">  787</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC_get_auth_policy</a>(UDPC_HContext ctx);</div>
+<div class="line"><a id="l00788" name="l00788"></a><span class="lineno">  788</span> </div>
+<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">  803</a></span>UDPC_EXPORT <span class="keywordtype">int</span> <a class="code hl_function" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC_set_auth_policy</a>(UDPC_HContext ctx, <span class="keywordtype">int</span> value);</div>
+<div class="line"><a id="l00804" name="l00804"></a><span class="lineno">  804</span> </div>
+<div class="line"><a id="l00805" name="l00805"></a><span class="lineno">  805</span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *UDPC_atostr_cid(UDPC_HContext ctx, <a class="code hl_struct" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> connectionId);</div>
+<div class="line"><a id="l00806" name="l00806"></a><span class="lineno">  806</span> </div>
+<div class="line"><a id="l00807" name="l00807"></a><span class="lineno">  807</span>UDPC_EXPORT <span class="keyword">const</span> <span class="keywordtype">char</span> *UDPC_atostr(UDPC_HContext ctx, UDPC_IPV6_ADDR_TYPE addr);</div>
+<div class="line"><a id="l00808" name="l00808"></a><span class="lineno">  808</span> </div>
+<div class="line"><a id="l00809" name="l00809"></a><span class="lineno">  809</span><span class="comment">// =============================================================================</span></div>
+<div class="line"><a id="l00810" name="l00810"></a><span class="lineno">  810</span><span class="comment">// Helpers</span></div>
+<div class="line"><a id="l00811" name="l00811"></a><span class="lineno">  811</span> </div>
+<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"><a class="line" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">  813</a></span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE <a class="code hl_function" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC_strtoa</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrStr);</div>
+<div class="line"><a id="l00814" name="l00814"></a><span class="lineno">  814</span> </div>
+<div class="line"><a id="l00815" name="l00815"></a><span class="lineno">  815</span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_strtoa_link(<span class="keyword">const</span> <span class="keywordtype">char</span> *addrStr, uint32_t *linkId_out);</div>
+<div class="line"><a id="l00816" name="l00816"></a><span class="lineno">  816</span> </div>
+<div class="line"><a id="l00817" name="l00817"></a><span class="lineno">  817</span>UDPC_EXPORT UDPC_IPV6_ADDR_TYPE UDPC_a4toa6(uint32_t a4_be);</div>
+<div class="line"><a id="l00818" name="l00818"></a><span class="lineno">  818</span> </div>
+<div class="line"><a id="l00819" name="l00819"></a><span class="lineno">  819</span>UDPC_EXPORT <span class="keywordtype">int</span> UDPC_is_big_endian();</div>
+<div class="line"><a id="l00820" name="l00820"></a><span class="lineno">  820</span>UDPC_EXPORT uint16_t UDPC_no16i(uint16_t i);</div>
+<div class="line"><a id="l00821" name="l00821"></a><span class="lineno">  821</span>UDPC_EXPORT uint32_t UDPC_no32i(uint32_t i);</div>
+<div class="line"><a id="l00822" name="l00822"></a><span class="lineno">  822</span>UDPC_EXPORT uint64_t UDPC_no64i(uint64_t i);</div>
+<div class="line"><a id="l00823" name="l00823"></a><span class="lineno">  823</span>UDPC_EXPORT <span class="keywordtype">float</span> UDPC_no32f(<span class="keywordtype">float</span> f);</div>
+<div class="line"><a id="l00824" name="l00824"></a><span class="lineno">  824</span>UDPC_EXPORT <span class="keywordtype">double</span> UDPC_no64f(<span class="keywordtype">double</span> f);</div>
+<div class="line"><a id="l00825" name="l00825"></a><span class="lineno">  825</span> </div>
+<div class="line"><a id="l00826" name="l00826"></a><span class="lineno">  826</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00827" name="l00827"></a><span class="lineno">  827</span>}</div>
+<div class="line"><a id="l00828" name="l00828"></a><span class="lineno">  828</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00829" name="l00829"></a><span class="lineno">  829</span><span class="preprocessor">#endif</span></div>
 <div class="ttc" id="aUDPC_8h_html_a0720bec1922660c983b1b3d9f6a5de3a"><div class="ttname"><a href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC_set_protocol_id</a></div><div class="ttdeci">UDPC_EXPORT uint32_t UDPC_set_protocol_id(UDPC_HContext ctx, uint32_t id)</div><div class="ttdoc">Sets the protocol id of the UDPC context.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a0e2e0c6a6a442db2cb3223d26f849d26"><div class="ttname"><a href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC_clear_whitelist</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_clear_whitelist(UDPC_HContext ctx)</div><div class="ttdoc">Clears the public key whitelist.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a0fa3e1e54877029a226ab9cfb74215df"><div class="ttname"><a href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC_create_id_anyaddr</a></div><div class="ttdeci">UDPC_EXPORT UDPC_ConnectionId UDPC_create_id_anyaddr(uint16_t port)</div><div class="ttdoc">Creates an UDPC_ConnectionId with the given port.</div></div>
@@ -366,12 +366,12 @@ $(function() {
 <div class="ttc" id="aUDPC_8h_html_a68ed6dcb37c6024486fad28ab0bed845"><div class="ttname"><a href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC_free_PacketInfo</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_free_PacketInfo(UDPC_PacketInfo pInfo)</div><div class="ttdoc">Frees a UDPC_PacketInfo.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a68fefba9edca7cd0a81d97ac27c70c0b"><div class="ttname"><a href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC_update</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_update(UDPC_HContext ctx)</div><div class="ttdoc">Updates the context.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a6af4629253b3ed1f411015410cee9ad3"><div class="ttname"><a href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC_AUTH_POLICY_STRICT</a></div><div class="ttdeci">UDPC_AUTH_POLICY_STRICT</div><div class="ttdoc">Only peers with public key verification will be allowed.</div><div class="ttdef"><b>Definition:</b> UDPC.h:140</div></div>
+<div class="ttc" id="aUDPC_8h_html_a6b4355331c9b2797af0c13ce16515547"><div class="ttname"><a href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC_get_list_connected</a></div><div class="ttdeci">UDPC_EXPORT UDPC_ConnectionId * UDPC_get_list_connected(UDPC_HContext ctx, unsigned int *size)</div><div class="ttdoc">Gets a dynamically allocated array of connected peers' identifiers.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a6c90dc723e67a07bf65c1fc97e526305"><div class="ttname"><a href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC_set_logging_type</a></div><div class="ttdeci">UDPC_EXPORT UDPC_LoggingType UDPC_set_logging_type(UDPC_HContext ctx, UDPC_LoggingType loggingType)</div><div class="ttdoc">Sets the logging type of the UDPC context.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a71f9bf85a02ddd1b4c921fe9b6694fe8"><div class="ttname"><a href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC_add_whitelist_pk</a></div><div class="ttdeci">UDPC_EXPORT int UDPC_add_whitelist_pk(UDPC_HContext ctx, const unsigned char *pk)</div><div class="ttdoc">Adds a public key to the whitelist.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a7527954b63f502479bdd3771df7cf3a4"><div class="ttname"><a href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC_queue_send</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_queue_send(UDPC_HContext ctx, UDPC_ConnectionId destinationId, int isChecked, const void *data, uint32_t size)</div><div class="ttdoc">Queues a packet to be sent to the specified peer.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a7983f38fe13677f5b35b90cefa54974f"><div class="ttname"><a href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC_get_max_queued_size</a></div><div class="ttdeci">UDPC_EXPORT unsigned long UDPC_get_max_queued_size()</div><div class="ttdoc">Gets the size limit of a connection's queue of queued packets.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a7b3215b65686670720f098eda2ca1eed"><div class="ttname"><a href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC_Event</a></div><div class="ttdeci">struct UDPC_EXPORT UDPC_Event UDPC_Event</div><div class="ttdoc">A struct containing information related to the type of event.</div></div>
-<div class="ttc" id="aUDPC_8h_html_a7fe3e502f4c6f86ce5b2cd1f303aa213"><div class="ttname"><a href="UDPC_8h.html#a7fe3e502f4c6f86ce5b2cd1f303aa213">UDPC_get_list_connected</a></div><div class="ttdeci">UDPC_EXPORT UDPC_ConnectionId * UDPC_get_list_connected(UDPC_HContext ctx, unsigned int *size)</div><div class="ttdoc">Gets a dynamically allocated array of connected peers' identifiers.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a8880067a93211c257763c42264f6ceef"><div class="ttname"><a href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC_free_list_connected</a></div><div class="ttdeci">UDPC_EXPORT void UDPC_free_list_connected(UDPC_ConnectionId *list)</div><div class="ttdoc">Cleans up a dynamically allocated array of connected peers' identifiers.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a89dee65fcd5b70d25abbf6d4a3ee59f2"><div class="ttname"><a href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC_init</a></div><div class="ttdeci">UDPC_EXPORT UDPC_HContext UDPC_init(UDPC_ConnectionId listenId, int isClient, int isUsingLibsodium)</div><div class="ttdoc">Creates an UDPC_HContext that holds state for connections.</div></div>
 <div class="ttc" id="aUDPC_8h_html_a8b80d2df882f03aeee8a92bed7fb0131"><div class="ttname"><a href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC_create_id_easy</a></div><div class="ttdeci">UDPC_EXPORT UDPC_ConnectionId UDPC_create_id_easy(const char *addrString, uint16_t port)</div><div class="ttdoc">Creates an UDPC_ConnectionId with the given addr string and port.</div></div>
@@ -412,7 +412,7 @@ $(function() {
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index df6a8f6d6cc1f2643f3b214804a2d0ea541810b4..73d73a3622a3afd1a03fa53397065a78920b9335 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: Data Structures</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -62,8 +63,7 @@ $(function() {
 </div>
 
 <div class="header">
-  <div class="headertitle">
-<div class="title">Data Structures</div>  </div>
+  <div class="headertitle"><div class="title">Data Structures</div></div>
 </div><!--header-->
 <div class="contents">
 <div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
@@ -77,7 +77,7 @@ $(function() {
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index e2ed61a5bc7d4d3f1b387daf89fa4e0e769d7722..3909373e18951843c2dec2c01a6e445a01cf2d9e 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: Data Structure Index</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -62,23 +63,22 @@ $(function() {
 </div>
 
 <div class="header">
-  <div class="headertitle">
-<div class="title">Data Structure Index</div>  </div>
+  <div class="headertitle"><div class="title">Data Structure Index</div></div>
 </div><!--header-->
 <div class="contents">
 <div class="qindex"><a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_V">V</a></div>
 <div class="classindex">
 <dl class="classindex even">
-<dt class="alphachar"><a name="letter_U">U</a></dt>
+<dt class="alphachar"><a id="letter_U" name="letter_U">U</a></dt>
 <dd><a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a></dd><dd><a class="el" href="structUDPC__Event.html">UDPC_Event</a></dd><dd><a class="el" href="structUDPC__PacketInfo.html">UDPC_PacketInfo</a></dd></dl>
 <dl class="classindex odd">
-<dt class="alphachar"><a name="letter_V">V</a></dt>
+<dt class="alphachar"><a id="letter_V" name="letter_V">V</a></dt>
 <dd><a class="el" href="unionUDPC__Event_1_1Value.html">UDPC_Event::Value</a></dd></dl>
 </div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 4509c807918832228df7ddf3f1e4a69e24df538d..f2ede20a684173014a01f8f020fa50ac0c4e8c83 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: src Directory Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -66,21 +67,20 @@ $(function() {
 </div>
 </div><!-- top -->
 <div class="header">
-  <div class="headertitle">
-<div class="title">src Directory Reference</div>  </div>
+  <div class="headertitle"><div class="title">src Directory Reference</div></div>
 </div><!--header-->
 <div class="contents">
 <table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="files" name="files"></a>
 Files</h2></td></tr>
-<tr class="memitem:UDPC_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html">UDPC.h</a> <a href="UDPC_8h_source.html">[code]</a></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="UDPC_8h.html">UDPC.h</a> <a href="UDPC_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:UDPC_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Public API for UDPConnection. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index ffbff0224931d970bd6092ba0ca5fe5b9b2bc2ea..2010785cd814b16eff99d4b44aba01ce0cdab9fa 100644 (file)
@@ -1,4 +1,4 @@
-/* The standard CSS for doxygen 1.9.1 */
+/* The standard CSS for doxygen 1.9.4 */
 
 body, table, div, p, dl {
        font: 400 14px/22px Roboto,sans-serif;
@@ -228,6 +228,33 @@ a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
        color: #4665A2; 
 }
 
+a.code.hl_class { /* style for links to class names in code snippets */ }
+a.code.hl_struct { /* style for links to struct names in code snippets */ }
+a.code.hl_union { /* style for links to union names in code snippets */ }
+a.code.hl_interface { /* style for links to interface names in code snippets */ }
+a.code.hl_protocol { /* style for links to protocol names in code snippets */ }
+a.code.hl_category { /* style for links to category names in code snippets */ }
+a.code.hl_exception { /* style for links to exception names in code snippets */ }
+a.code.hl_service { /* style for links to service names in code snippets */ }
+a.code.hl_singleton { /* style for links to singleton names in code snippets */ }
+a.code.hl_concept { /* style for links to concept names in code snippets */ }
+a.code.hl_namespace { /* style for links to namespace names in code snippets */ }
+a.code.hl_package { /* style for links to package names in code snippets */ }
+a.code.hl_define { /* style for links to macro names in code snippets */ }
+a.code.hl_function { /* style for links to function names in code snippets */ }
+a.code.hl_variable { /* style for links to variable names in code snippets */ }
+a.code.hl_typedef { /* style for links to typedef names in code snippets */ }
+a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ }
+a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ }
+a.code.hl_signal { /* style for links to Qt signal names in code snippets */ }
+a.code.hl_slot { /* style for links to Qt slot names in code snippets */ }
+a.code.hl_friend { /* style for links to friend names in code snippets */ }
+a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ }
+a.code.hl_property { /* style for links to property names in code snippets */ }
+a.code.hl_event { /* style for links to event names in code snippets */ }
+a.code.hl_sequence { /* style for links to sequence names in code snippets */ }
+a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ }
+
 /* @end */
 
 dl.el {
@@ -235,7 +262,7 @@ dl.el {
 }
 
 ul {
-  overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
+  overflow: visible;
 }
 
 #side-nav ul {
@@ -313,6 +340,7 @@ div.line.glow {
 
 span.lineno {
        padding-right: 4px;
+        margin-right: 9px;
        text-align: right;
        border-right: 2px solid #0F0;
        background-color: #E8E8E8;
@@ -439,6 +467,12 @@ img.footer {
        vertical-align: middle;
 }
 
+.compoundTemplParams {
+       color: #4665A2;
+       font-size: 80%;
+       line-height: 120%;
+}
+
 /* @group Code Colorization */
 
 span.keyword {
@@ -1322,6 +1356,11 @@ dl.section dd {
 }
 
 
+#projectrow
+{
+       height: 56px;
+}
+
 #projectlogo
 {
        text-align: center;
@@ -1337,18 +1376,19 @@ dl.section dd {
 #projectalign
 {
         vertical-align: middle;
+        padding-left: 0.5em;
 }
 
 #projectname
 {
-       font: 300% Tahoma, Arial,sans-serif;
+       font: 200% Tahoma, Arial,sans-serif;
        margin: 0px;
        padding: 2px 0px;
 }
     
 #projectbrief
 {
-       font: 120% Tahoma, Arial,sans-serif;
+       font: 90% Tahoma, Arial,sans-serif;
        margin: 0px;
        padding: 0px;
 }
@@ -1487,6 +1527,10 @@ span.emoji {
          */
 }
 
+span.obfuscator {
+  display: none;
+}
+
 .PageDocRTL-title div.toc li.level1 {
   margin-left: 0 !important;
   margin-right: 0;
@@ -1541,7 +1585,7 @@ tr.heading h2 {
 
 #powerTip {
        cursor: default;
-       white-space: nowrap;
+       /*white-space: nowrap;*/
        background-color: white;
        border: 1px solid gray;
        border-radius: 4px 4px 4px 4px;
@@ -1780,6 +1824,10 @@ table.DocNodeLTR {
    margin-left: 0;
 }
 
+code.JavaDocCode {
+  direction:ltr;
+}
+
 tt, code, kbd, samp
 {
   display: inline-block;
index c41234a168b853e5f3331c7aba489692289d9595..9acc6cd783b57efba5d0c3735196ca9fefc31d9d 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: File List</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -62,8 +63,7 @@ $(function() {
 </div>
 
 <div class="header">
-  <div class="headertitle">
-<div class="title">File List</div>  </div>
+  <div class="headertitle"><div class="title">File List</div></div>
 </div><!--header-->
 <div class="contents">
 <div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
@@ -75,7 +75,7 @@ $(function() {
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index ce07d710ab17f867e6f43312bba597f5c3cb8ab5..c708655b9db67db7115b0dd666e63551e65266ba 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: Data Fields</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -63,29 +64,17 @@ $(function() {
 
 <div class="contents">
 <div class="textblock">Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:</div><ul>
-<li>data
-: <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">UDPC_PacketInfo</a>
-</li>
-<li>dataSize
-: <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">UDPC_PacketInfo</a>
-</li>
-<li>flags
-: <a class="el" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">UDPC_PacketInfo</a>
-</li>
-<li>id
-: <a class="el" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">UDPC_PacketInfo</a>
-</li>
-<li>receiver
-: <a class="el" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">UDPC_PacketInfo</a>
-</li>
-<li>sender
-: <a class="el" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">UDPC_PacketInfo</a>
-</li>
+<li>data&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">UDPC_PacketInfo</a></li>
+<li>dataSize&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">UDPC_PacketInfo</a></li>
+<li>flags&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">UDPC_PacketInfo</a></li>
+<li>id&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">UDPC_PacketInfo</a></li>
+<li>receiver&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">UDPC_PacketInfo</a></li>
+<li>sender&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">UDPC_PacketInfo</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 7448fc7237c57883f0e76db45d5f0473267536f3..f4ce27b029c154bcea9925cd81b2b5029ab66f75 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: Data Fields - Variables</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -63,29 +64,17 @@ $(function() {
 
 <div class="contents">
 &#160;<ul>
-<li>data
-: <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">UDPC_PacketInfo</a>
-</li>
-<li>dataSize
-: <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">UDPC_PacketInfo</a>
-</li>
-<li>flags
-: <a class="el" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">UDPC_PacketInfo</a>
-</li>
-<li>id
-: <a class="el" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">UDPC_PacketInfo</a>
-</li>
-<li>receiver
-: <a class="el" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">UDPC_PacketInfo</a>
-</li>
-<li>sender
-: <a class="el" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">UDPC_PacketInfo</a>
-</li>
+<li>data&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">UDPC_PacketInfo</a></li>
+<li>dataSize&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">UDPC_PacketInfo</a></li>
+<li>flags&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1">UDPC_PacketInfo</a></li>
+<li>id&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe">UDPC_PacketInfo</a></li>
+<li>receiver&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">UDPC_PacketInfo</a></li>
+<li>sender&#160;:&#160;<a class="el" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">UDPC_PacketInfo</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 39a38bbbedbbaad96b2a23e77b99620dc81bb2eb..a923dce63d0c122d6e7d353e9bc36b0399a4f282 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: Globals</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -64,177 +65,67 @@ $(function() {
 <div class="contents">
 <div class="textblock">Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:</div>
 
-<h3><a id="index_u"></a>- u -</h3><ul>
-<li>UDPC_add_whitelist_pk()
-: <a class="el" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC.h</a>
-</li>
-<li>UDPC_AUTH_POLICY_FALLBACK
-: <a class="el" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC.h</a>
-</li>
-<li>UDPC_AUTH_POLICY_STRICT
-: <a class="el" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC.h</a>
-</li>
-<li>UDPC_AuthPolicy
-: <a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC.h</a>
-</li>
-<li>UDPC_clear_whitelist()
-: <a class="el" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC.h</a>
-</li>
-<li>UDPC_client_initiate_connection()
-: <a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC.h</a>
-</li>
-<li>UDPC_ConnectionId
-: <a class="el" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC.h</a>
-</li>
-<li>UDPC_create_id()
-: <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC.h</a>
-</li>
-<li>UDPC_create_id_anyaddr()
-: <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC.h</a>
-</li>
-<li>UDPC_create_id_easy()
-: <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC.h</a>
-</li>
-<li>UDPC_create_id_full()
-: <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC.h</a>
-</li>
-<li>UDPC_destroy()
-: <a class="el" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC.h</a>
-</li>
-<li>UDPC_disable_threaded_update()
-: <a class="el" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC.h</a>
-</li>
-<li>UDPC_drop_connection()
-: <a class="el" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC.h</a>
-</li>
-<li>UDPC_enable_threaded_update()
-: <a class="el" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC.h</a>
-</li>
-<li>UDPC_enable_threaded_update_ms()
-: <a class="el" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC.h</a>
-</li>
-<li>UDPC_ERROR
-: <a class="el" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC.h</a>
-</li>
-<li>UDPC_Event
-: <a class="el" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC.h</a>
-</li>
-<li>UDPC_EventType
-: <a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC.h</a>
-</li>
-<li>UDPC_free_list_connected()
-: <a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC.h</a>
-</li>
-<li>UDPC_free_PacketInfo()
-: <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC.h</a>
-</li>
-<li>UDPC_get_auth_policy()
-: <a class="el" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC.h</a>
-</li>
-<li>UDPC_get_event()
-: <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC.h</a>
-</li>
-<li>UDPC_get_list_connected()
-: <a class="el" href="UDPC_8h.html#a7fe3e502f4c6f86ce5b2cd1f303aa213">UDPC.h</a>
-</li>
-<li>UDPC_get_logging_type()
-: <a class="el" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC.h</a>
-</li>
-<li>UDPC_get_max_queued_size()
-: <a class="el" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC.h</a>
-</li>
-<li>UDPC_get_protocol_id()
-: <a class="el" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC.h</a>
-</li>
-<li>UDPC_get_queue_send_current_size()
-: <a class="el" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC.h</a>
-</li>
-<li>UDPC_get_queued_size()
-: <a class="el" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC.h</a>
-</li>
-<li>UDPC_get_received()
-: <a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC.h</a>
-</li>
-<li>UDPC_get_receiving_events()
-: <a class="el" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC.h</a>
-</li>
-<li>UDPC_has_connection()
-: <a class="el" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC.h</a>
-</li>
-<li>UDPC_has_whitelist_pk()
-: <a class="el" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC.h</a>
-</li>
-<li>UDPC_INFO
-: <a class="el" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC.h</a>
-</li>
-<li>UDPC_init()
-: <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC.h</a>
-</li>
-<li>UDPC_init_threaded_update()
-: <a class="el" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC.h</a>
-</li>
-<li>UDPC_init_threaded_update_ms()
-: <a class="el" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC.h</a>
-</li>
-<li>UDPC_is_valid_context()
-: <a class="el" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC.h</a>
-</li>
-<li>UDPC_PACKET_MAX_SIZE
-: <a class="el" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">UDPC.h</a>
-</li>
-<li>UDPC_PacketInfo
-: <a class="el" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC.h</a>
-</li>
-<li>UDPC_queue_send()
-: <a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC.h</a>
-</li>
-<li>UDPC_remove_whitelist_pk()
-: <a class="el" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC.h</a>
-</li>
-<li>UDPC_set_accept_new_connections()
-: <a class="el" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC.h</a>
-</li>
-<li>UDPC_set_auth_policy()
-: <a class="el" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC.h</a>
-</li>
-<li>UDPC_set_libsodium_key_easy()
-: <a class="el" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC.h</a>
-</li>
-<li>UDPC_set_libsodium_keys()
-: <a class="el" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC.h</a>
-</li>
-<li>UDPC_set_logging_type()
-: <a class="el" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC.h</a>
-</li>
-<li>UDPC_set_protocol_id()
-: <a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC.h</a>
-</li>
-<li>UDPC_set_receiving_events()
-: <a class="el" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC.h</a>
-</li>
-<li>UDPC_SILENT
-: <a class="el" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC.h</a>
-</li>
-<li>UDPC_strtoa()
-: <a class="el" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC.h</a>
-</li>
-<li>UDPC_unset_libsodium_keys()
-: <a class="el" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC.h</a>
-</li>
-<li>UDPC_update()
-: <a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC.h</a>
-</li>
-<li>UDPC_VERBOSE
-: <a class="el" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC.h</a>
-</li>
-<li>UDPC_WARNING
-: <a class="el" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC.h</a>
-</li>
+<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
+<li>UDPC_add_whitelist_pk()&#160;:&#160;<a class="el" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC.h</a></li>
+<li>UDPC_AUTH_POLICY_FALLBACK&#160;:&#160;<a class="el" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC.h</a></li>
+<li>UDPC_AUTH_POLICY_STRICT&#160;:&#160;<a class="el" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC.h</a></li>
+<li>UDPC_AuthPolicy&#160;:&#160;<a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC.h</a></li>
+<li>UDPC_clear_whitelist()&#160;:&#160;<a class="el" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC.h</a></li>
+<li>UDPC_client_initiate_connection()&#160;:&#160;<a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC.h</a></li>
+<li>UDPC_ConnectionId&#160;:&#160;<a class="el" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC.h</a></li>
+<li>UDPC_create_id()&#160;:&#160;<a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC.h</a></li>
+<li>UDPC_create_id_anyaddr()&#160;:&#160;<a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC.h</a></li>
+<li>UDPC_create_id_easy()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC.h</a></li>
+<li>UDPC_create_id_full()&#160;:&#160;<a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC.h</a></li>
+<li>UDPC_destroy()&#160;:&#160;<a class="el" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC.h</a></li>
+<li>UDPC_disable_threaded_update()&#160;:&#160;<a class="el" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC.h</a></li>
+<li>UDPC_drop_connection()&#160;:&#160;<a class="el" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC.h</a></li>
+<li>UDPC_enable_threaded_update()&#160;:&#160;<a class="el" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC.h</a></li>
+<li>UDPC_enable_threaded_update_ms()&#160;:&#160;<a class="el" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC.h</a></li>
+<li>UDPC_ERROR&#160;:&#160;<a class="el" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC.h</a></li>
+<li>UDPC_Event&#160;:&#160;<a class="el" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC.h</a></li>
+<li>UDPC_EventType&#160;:&#160;<a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC.h</a></li>
+<li>UDPC_free_list_connected()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC.h</a></li>
+<li>UDPC_free_PacketInfo()&#160;:&#160;<a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC.h</a></li>
+<li>UDPC_get_auth_policy()&#160;:&#160;<a class="el" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC.h</a></li>
+<li>UDPC_get_event()&#160;:&#160;<a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC.h</a></li>
+<li>UDPC_get_list_connected()&#160;:&#160;<a class="el" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC.h</a></li>
+<li>UDPC_get_logging_type()&#160;:&#160;<a class="el" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC.h</a></li>
+<li>UDPC_get_max_queued_size()&#160;:&#160;<a class="el" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC.h</a></li>
+<li>UDPC_get_protocol_id()&#160;:&#160;<a class="el" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC.h</a></li>
+<li>UDPC_get_queue_send_current_size()&#160;:&#160;<a class="el" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC.h</a></li>
+<li>UDPC_get_queued_size()&#160;:&#160;<a class="el" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC.h</a></li>
+<li>UDPC_get_received()&#160;:&#160;<a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC.h</a></li>
+<li>UDPC_get_receiving_events()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC.h</a></li>
+<li>UDPC_has_connection()&#160;:&#160;<a class="el" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC.h</a></li>
+<li>UDPC_has_whitelist_pk()&#160;:&#160;<a class="el" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC.h</a></li>
+<li>UDPC_INFO&#160;:&#160;<a class="el" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC.h</a></li>
+<li>UDPC_init()&#160;:&#160;<a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC.h</a></li>
+<li>UDPC_init_threaded_update()&#160;:&#160;<a class="el" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC.h</a></li>
+<li>UDPC_init_threaded_update_ms()&#160;:&#160;<a class="el" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC.h</a></li>
+<li>UDPC_is_valid_context()&#160;:&#160;<a class="el" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC.h</a></li>
+<li>UDPC_PACKET_MAX_SIZE&#160;:&#160;<a class="el" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">UDPC.h</a></li>
+<li>UDPC_PacketInfo&#160;:&#160;<a class="el" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC.h</a></li>
+<li>UDPC_queue_send()&#160;:&#160;<a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC.h</a></li>
+<li>UDPC_remove_whitelist_pk()&#160;:&#160;<a class="el" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC.h</a></li>
+<li>UDPC_set_accept_new_connections()&#160;:&#160;<a class="el" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC.h</a></li>
+<li>UDPC_set_auth_policy()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC.h</a></li>
+<li>UDPC_set_libsodium_key_easy()&#160;:&#160;<a class="el" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC.h</a></li>
+<li>UDPC_set_libsodium_keys()&#160;:&#160;<a class="el" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC.h</a></li>
+<li>UDPC_set_logging_type()&#160;:&#160;<a class="el" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC.h</a></li>
+<li>UDPC_set_protocol_id()&#160;:&#160;<a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC.h</a></li>
+<li>UDPC_set_receiving_events()&#160;:&#160;<a class="el" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC.h</a></li>
+<li>UDPC_SILENT&#160;:&#160;<a class="el" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC.h</a></li>
+<li>UDPC_strtoa()&#160;:&#160;<a class="el" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC.h</a></li>
+<li>UDPC_unset_libsodium_keys()&#160;:&#160;<a class="el" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC.h</a></li>
+<li>UDPC_update()&#160;:&#160;<a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC.h</a></li>
+<li>UDPC_VERBOSE&#160;:&#160;<a class="el" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC.h</a></li>
+<li>UDPC_WARNING&#160;:&#160;<a class="el" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index f4c7cee36453f25c66588169200a91105c9612ec..b2b401d00c18b333a4f20aad46b94b5edf1f65e0 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: Globals</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -63,14 +64,12 @@ $(function() {
 
 <div class="contents">
 &#160;<ul>
-<li>UDPC_PACKET_MAX_SIZE
-: <a class="el" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">UDPC.h</a>
-</li>
+<li>UDPC_PACKET_MAX_SIZE&#160;:&#160;<a class="el" href="UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827">UDPC.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 86aeb3ab87ab9523e7c54fdab1c39fc0b1b273ab..6d25e9eb532c8f864f8ca415d9dbcc29e1a63abe 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: Globals</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -64,138 +65,54 @@ $(function() {
 <div class="contents">
 &#160;
 
-<h3><a id="index_u"></a>- u -</h3><ul>
-<li>UDPC_add_whitelist_pk()
-: <a class="el" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC.h</a>
-</li>
-<li>UDPC_clear_whitelist()
-: <a class="el" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC.h</a>
-</li>
-<li>UDPC_client_initiate_connection()
-: <a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC.h</a>
-</li>
-<li>UDPC_create_id()
-: <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC.h</a>
-</li>
-<li>UDPC_create_id_anyaddr()
-: <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC.h</a>
-</li>
-<li>UDPC_create_id_easy()
-: <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC.h</a>
-</li>
-<li>UDPC_create_id_full()
-: <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC.h</a>
-</li>
-<li>UDPC_destroy()
-: <a class="el" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC.h</a>
-</li>
-<li>UDPC_disable_threaded_update()
-: <a class="el" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC.h</a>
-</li>
-<li>UDPC_drop_connection()
-: <a class="el" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC.h</a>
-</li>
-<li>UDPC_enable_threaded_update()
-: <a class="el" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC.h</a>
-</li>
-<li>UDPC_enable_threaded_update_ms()
-: <a class="el" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC.h</a>
-</li>
-<li>UDPC_free_list_connected()
-: <a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC.h</a>
-</li>
-<li>UDPC_free_PacketInfo()
-: <a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC.h</a>
-</li>
-<li>UDPC_get_auth_policy()
-: <a class="el" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC.h</a>
-</li>
-<li>UDPC_get_event()
-: <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC.h</a>
-</li>
-<li>UDPC_get_list_connected()
-: <a class="el" href="UDPC_8h.html#a7fe3e502f4c6f86ce5b2cd1f303aa213">UDPC.h</a>
-</li>
-<li>UDPC_get_logging_type()
-: <a class="el" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC.h</a>
-</li>
-<li>UDPC_get_max_queued_size()
-: <a class="el" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC.h</a>
-</li>
-<li>UDPC_get_protocol_id()
-: <a class="el" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC.h</a>
-</li>
-<li>UDPC_get_queue_send_current_size()
-: <a class="el" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC.h</a>
-</li>
-<li>UDPC_get_queued_size()
-: <a class="el" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC.h</a>
-</li>
-<li>UDPC_get_received()
-: <a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC.h</a>
-</li>
-<li>UDPC_get_receiving_events()
-: <a class="el" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC.h</a>
-</li>
-<li>UDPC_has_connection()
-: <a class="el" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC.h</a>
-</li>
-<li>UDPC_has_whitelist_pk()
-: <a class="el" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC.h</a>
-</li>
-<li>UDPC_init()
-: <a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC.h</a>
-</li>
-<li>UDPC_init_threaded_update()
-: <a class="el" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC.h</a>
-</li>
-<li>UDPC_init_threaded_update_ms()
-: <a class="el" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC.h</a>
-</li>
-<li>UDPC_is_valid_context()
-: <a class="el" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC.h</a>
-</li>
-<li>UDPC_queue_send()
-: <a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC.h</a>
-</li>
-<li>UDPC_remove_whitelist_pk()
-: <a class="el" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC.h</a>
-</li>
-<li>UDPC_set_accept_new_connections()
-: <a class="el" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC.h</a>
-</li>
-<li>UDPC_set_auth_policy()
-: <a class="el" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC.h</a>
-</li>
-<li>UDPC_set_libsodium_key_easy()
-: <a class="el" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC.h</a>
-</li>
-<li>UDPC_set_libsodium_keys()
-: <a class="el" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC.h</a>
-</li>
-<li>UDPC_set_logging_type()
-: <a class="el" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC.h</a>
-</li>
-<li>UDPC_set_protocol_id()
-: <a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC.h</a>
-</li>
-<li>UDPC_set_receiving_events()
-: <a class="el" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC.h</a>
-</li>
-<li>UDPC_strtoa()
-: <a class="el" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC.h</a>
-</li>
-<li>UDPC_unset_libsodium_keys()
-: <a class="el" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC.h</a>
-</li>
-<li>UDPC_update()
-: <a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC.h</a>
-</li>
+<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
+<li>UDPC_add_whitelist_pk()&#160;:&#160;<a class="el" href="UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8">UDPC.h</a></li>
+<li>UDPC_clear_whitelist()&#160;:&#160;<a class="el" href="UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26">UDPC.h</a></li>
+<li>UDPC_client_initiate_connection()&#160;:&#160;<a class="el" href="UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55">UDPC.h</a></li>
+<li>UDPC_create_id()&#160;:&#160;<a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d">UDPC.h</a></li>
+<li>UDPC_create_id_anyaddr()&#160;:&#160;<a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df">UDPC.h</a></li>
+<li>UDPC_create_id_easy()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131">UDPC.h</a></li>
+<li>UDPC_create_id_full()&#160;:&#160;<a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19">UDPC.h</a></li>
+<li>UDPC_destroy()&#160;:&#160;<a class="el" href="UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e">UDPC.h</a></li>
+<li>UDPC_disable_threaded_update()&#160;:&#160;<a class="el" href="UDPC_8h.html#a404d2c7a83903004f928737241ecc63a">UDPC.h</a></li>
+<li>UDPC_drop_connection()&#160;:&#160;<a class="el" href="UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380">UDPC.h</a></li>
+<li>UDPC_enable_threaded_update()&#160;:&#160;<a class="el" href="UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f">UDPC.h</a></li>
+<li>UDPC_enable_threaded_update_ms()&#160;:&#160;<a class="el" href="UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833">UDPC.h</a></li>
+<li>UDPC_free_list_connected()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8880067a93211c257763c42264f6ceef">UDPC.h</a></li>
+<li>UDPC_free_PacketInfo()&#160;:&#160;<a class="el" href="UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845">UDPC.h</a></li>
+<li>UDPC_get_auth_policy()&#160;:&#160;<a class="el" href="UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4">UDPC.h</a></li>
+<li>UDPC_get_event()&#160;:&#160;<a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510">UDPC.h</a></li>
+<li>UDPC_get_list_connected()&#160;:&#160;<a class="el" href="UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547">UDPC.h</a></li>
+<li>UDPC_get_logging_type()&#160;:&#160;<a class="el" href="UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096">UDPC.h</a></li>
+<li>UDPC_get_max_queued_size()&#160;:&#160;<a class="el" href="UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f">UDPC.h</a></li>
+<li>UDPC_get_protocol_id()&#160;:&#160;<a class="el" href="UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404">UDPC.h</a></li>
+<li>UDPC_get_queue_send_current_size()&#160;:&#160;<a class="el" href="UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd">UDPC.h</a></li>
+<li>UDPC_get_queued_size()&#160;:&#160;<a class="el" href="UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2">UDPC.h</a></li>
+<li>UDPC_get_received()&#160;:&#160;<a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3">UDPC.h</a></li>
+<li>UDPC_get_receiving_events()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d">UDPC.h</a></li>
+<li>UDPC_has_connection()&#160;:&#160;<a class="el" href="UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082">UDPC.h</a></li>
+<li>UDPC_has_whitelist_pk()&#160;:&#160;<a class="el" href="UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172">UDPC.h</a></li>
+<li>UDPC_init()&#160;:&#160;<a class="el" href="UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2">UDPC.h</a></li>
+<li>UDPC_init_threaded_update()&#160;:&#160;<a class="el" href="UDPC_8h.html#a614e2a058b89839d53fe9d348a058323">UDPC.h</a></li>
+<li>UDPC_init_threaded_update_ms()&#160;:&#160;<a class="el" href="UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6">UDPC.h</a></li>
+<li>UDPC_is_valid_context()&#160;:&#160;<a class="el" href="UDPC_8h.html#ac01480f803b063e2b44794420df0f671">UDPC.h</a></li>
+<li>UDPC_queue_send()&#160;:&#160;<a class="el" href="UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4">UDPC.h</a></li>
+<li>UDPC_remove_whitelist_pk()&#160;:&#160;<a class="el" href="UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383">UDPC.h</a></li>
+<li>UDPC_set_accept_new_connections()&#160;:&#160;<a class="el" href="UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb">UDPC.h</a></li>
+<li>UDPC_set_auth_policy()&#160;:&#160;<a class="el" href="UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581">UDPC.h</a></li>
+<li>UDPC_set_libsodium_key_easy()&#160;:&#160;<a class="el" href="UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe">UDPC.h</a></li>
+<li>UDPC_set_libsodium_keys()&#160;:&#160;<a class="el" href="UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1">UDPC.h</a></li>
+<li>UDPC_set_logging_type()&#160;:&#160;<a class="el" href="UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305">UDPC.h</a></li>
+<li>UDPC_set_protocol_id()&#160;:&#160;<a class="el" href="UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a">UDPC.h</a></li>
+<li>UDPC_set_receiving_events()&#160;:&#160;<a class="el" href="UDPC_8h.html#a380c91ee395cff22189c7988c3381787">UDPC.h</a></li>
+<li>UDPC_strtoa()&#160;:&#160;<a class="el" href="UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6">UDPC.h</a></li>
+<li>UDPC_unset_libsodium_keys()&#160;:&#160;<a class="el" href="UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9">UDPC.h</a></li>
+<li>UDPC_update()&#160;:&#160;<a class="el" href="UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b">UDPC.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 9ef8c0936eb6305dc4cd811be304f3d6ae7d4ee4..fa96691535ec44b086ae493f561d42abcd5e8af2 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: Globals</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -63,26 +64,16 @@ $(function() {
 
 <div class="contents">
 &#160;<ul>
-<li>UDPC_AuthPolicy
-: <a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC.h</a>
-</li>
-<li>UDPC_ConnectionId
-: <a class="el" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC.h</a>
-</li>
-<li>UDPC_Event
-: <a class="el" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC.h</a>
-</li>
-<li>UDPC_EventType
-: <a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC.h</a>
-</li>
-<li>UDPC_PacketInfo
-: <a class="el" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC.h</a>
-</li>
+<li>UDPC_AuthPolicy&#160;:&#160;<a class="el" href="UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a">UDPC.h</a></li>
+<li>UDPC_ConnectionId&#160;:&#160;<a class="el" href="UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2">UDPC.h</a></li>
+<li>UDPC_Event&#160;:&#160;<a class="el" href="UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed">UDPC.h</a></li>
+<li>UDPC_EventType&#160;:&#160;<a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC.h</a></li>
+<li>UDPC_PacketInfo&#160;:&#160;<a class="el" href="UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b">UDPC.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index f650fc203187c3f421cc3737536b66e304432ee5..b64d3260f0353ce7c2471dffc79df119f6110343 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: Globals</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -63,32 +64,18 @@ $(function() {
 
 <div class="contents">
 &#160;<ul>
-<li>UDPC_AUTH_POLICY_FALLBACK
-: <a class="el" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC.h</a>
-</li>
-<li>UDPC_AUTH_POLICY_STRICT
-: <a class="el" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC.h</a>
-</li>
-<li>UDPC_ERROR
-: <a class="el" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC.h</a>
-</li>
-<li>UDPC_INFO
-: <a class="el" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC.h</a>
-</li>
-<li>UDPC_SILENT
-: <a class="el" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC.h</a>
-</li>
-<li>UDPC_VERBOSE
-: <a class="el" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC.h</a>
-</li>
-<li>UDPC_WARNING
-: <a class="el" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC.h</a>
-</li>
+<li>UDPC_AUTH_POLICY_FALLBACK&#160;:&#160;<a class="el" href="UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612">UDPC.h</a></li>
+<li>UDPC_AUTH_POLICY_STRICT&#160;:&#160;<a class="el" href="UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3">UDPC.h</a></li>
+<li>UDPC_ERROR&#160;:&#160;<a class="el" href="UDPC_8h.html#ac04213a4287500a9c5330f543eac3103">UDPC.h</a></li>
+<li>UDPC_INFO&#160;:&#160;<a class="el" href="UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15">UDPC.h</a></li>
+<li>UDPC_SILENT&#160;:&#160;<a class="el" href="UDPC_8h.html#aa5c197773a0914125cb358771139065c">UDPC.h</a></li>
+<li>UDPC_VERBOSE&#160;:&#160;<a class="el" href="UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431">UDPC.h</a></li>
+<li>UDPC_WARNING&#160;:&#160;<a class="el" href="UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17">UDPC.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 0a523891069f554779bd19ff989a9532be99e25e..e1083690317f7ee84c4a4bb60164041722b8c141 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: UDPConnection</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 </div><!-- top -->
 <!-- window showing the filter options -->
@@ -61,17 +62,16 @@ $(function() {
 </iframe>
 </div>
 
-<div class="PageDoc"><div class="header">
-  <div class="headertitle">
-<div class="title">UDPConnection </div>  </div>
+<div><div class="header">
+  <div class="headertitle"><div class="title">UDPConnection </div></div>
 </div><!--header-->
 <div class="contents">
-<div class="textblock"><p><a class="el" href="UDPC_8h.html">UDPC.h</a> </p>
+<div class="textblock"><p ><a class="el" href="UDPC_8h.html">UDPC.h</a> </p>
 </div></div><!-- PageDoc -->
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 103c32d79b749c24101fba7ff19fd17ee1a59724..c9ed3d99cbc898d1ab4d9bd378e55e43ad9022f5 100644 (file)
--- a/jquery.js
+++ b/jquery.js
@@ -1,5 +1,5 @@
-/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
+/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
 /*! jQuery UI - v1.12.1 - 2019-01-27
 * http://jqueryui.com
 * Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
diff --git a/menu.js b/menu.js
index 2fe2214f26aafa79ae0a11cecc6f127d13ff9eb9..818b859b7a1c3e57128ac5317ad8088120e2f941 100644 (file)
--- a/menu.js
+++ b/menu.js
@@ -28,7 +28,15 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
     if ('children' in data) {
       result+='<ul>';
       for (var i in data.children) {
-        result+='<li><a href="'+relPath+data.children[i].url+'">'+
+        var url;
+        var link;
+        link = data.children[i].url;
+        if (link.substring(0,1)=='^') {
+          url = link.substring(1);
+        } else {
+          url = relPath+link;
+        }
+        result+='<li><a href="'+url+'">'+
                                 data.children[i].text+'</a>'+
                                 makeTree(data.children[i],relPath)+'</li>';
       }
@@ -36,15 +44,91 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
     }
     return result;
   }
-
-  $('#main-nav').append(makeTree(menudata,relPath));
-  $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
+  var searchBox;
   if (searchEnabled) {
     if (serverSide) {
-      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
+      searchBox='<div id="MSearchBox" class="MSearchBoxInactive">'+
+                 '<div class="left">'+
+                  '<form id="FSearchBox" action="'+relPath+searchPage+
+                    '" method="get"><img id="MSearchSelect" src="'+
+                    relPath+'search/mag.svg" alt=""/>'+
+                  '<input type="text" id="MSearchField" name="query" value="'+search+
+                    '" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)"'+
+                    ' onblur="searchBox.OnSearchFieldFocus(false)">'+
+                  '</form>'+
+                 '</div>'+
+                 '<div class="right"></div>'+
+                '</div>';
     } else {
-      $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
+      searchBox='<div id="MSearchBox" class="MSearchBoxInactive">'+
+                 '<span class="left">'+
+                  '<img id="MSearchSelect" src="'+relPath+
+                     'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()"'+
+                     ' onmouseout="return searchBox.OnSearchSelectHide()" alt=""/>'+
+                  '<input type="text" id="MSearchField" value="'+search+
+                    '" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" '+
+                    'onblur="searchBox.OnSearchFieldFocus(false)" '+
+                    'onkeyup="searchBox.OnSearchFieldChange(event)"/>'+
+                 '</span>'+
+                 '<span class="right"><a id="MSearchClose" '+
+                  'href="javascript:searchBox.CloseResultsWindow()">'+
+                  '<img id="MSearchCloseImg" border="0" src="'+relPath+
+                  'search/close.svg" alt=""/></a>'
+                 '</span>'
+                '</div>';
+    }
+  }
+
+  $('#main-nav').before('<div class="sm sm-dox"><input id="main-menu-state" type="checkbox"/>'+
+                        '<label class="main-menu-btn" for="main-menu-state">'+
+                        '<span class="main-menu-btn-icon"></span> '+
+                        'Toggle main menu visibility</label>'+
+                        '<span id="searchBoxPos1" style="position:absolute;right:8px;top:8px;height:36px;"></span>'+
+                        '</div>');
+  $('#main-nav').append(makeTree(menudata,relPath));
+  $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
+  if (searchBox) {
+    $('#main-menu').append('<li id="searchBoxPos2" style="float:right"></li>');
+  }
+  var $mainMenuState = $('#main-menu-state');
+  var prevWidth = 0;
+  if ($mainMenuState.length) {
+    function initResizableIfExists() {
+      if (typeof initResizable==='function') initResizable();
+    }
+    // animate mobile menu
+    $mainMenuState.change(function(e) {
+      var $menu = $('#main-menu');
+      var options = { duration: 250, step: initResizableIfExists };
+      if (this.checked) {
+        options['complete'] = function() { $menu.css('display', 'block') };
+        $menu.hide().slideDown(options);
+      } else {
+        options['complete'] = function() { $menu.css('display', 'none') };
+        $menu.show().slideUp(options);
+      }
+    });
+    // set default menu visibility
+    function resetState() {
+      var $menu = $('#main-menu');
+      var $mainMenuState = $('#main-menu-state');
+      var newWidth = $(window).outerWidth();
+      if (newWidth!=prevWidth) {
+        if ($(window).outerWidth()<768) {
+          $mainMenuState.prop('checked',false); $menu.hide();
+          $('#searchBoxPos1').html(searchBox);
+          $('#searchBoxPos2').hide();
+        } else {
+          $menu.show();
+          $('#searchBoxPos1').empty();
+          $('#searchBoxPos2').html(searchBox);
+          $('#searchBoxPos2').show();
+        }
+        prevWidth = newWidth;
+      }
     }
+    $(window).ready(function() { resetState(); initResizableIfExists(); });
+    $(window).resize(resetState);
   }
   $('#main-menu').smartmenus();
 }
index 1ec5b2d597f21e1c7b676f7f3167ffc217622540..bb9e364396dc26443a8cfb15998a0302749d87ed 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 9f80e90431b7c693060f893c643e63cdcf60f53c..8989416f28c54ddadf302e9b1168397e1566eb2f 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 6193feee0221d681c6acd4c49d087501692adbad..2986fcf3e5118e0736630cf8af34065d80724cb5 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['flags_2',['flags',['../structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1',1,'UDPC_PacketInfo']]]
+  ['flags_0',['flags',['../structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1',1,'UDPC_PacketInfo']]]
 ];
index 02cfffc2e13911f86c16e1489830d3ca5d06b033..98e648c91ab0b0eafe1d98d573ce176b1d58cb71 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 91798007116faf6acbdb9765acf4c982e0879182..582a462fdc4175eff63e2a684d9b09e154b91986 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['id_3',['id',['../structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe',1,'UDPC_PacketInfo']]]
+  ['id_0',['id',['../structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe',1,'UDPC_PacketInfo']]]
 ];
index 39767b85baa9ec68a42ce7bcd9d238277818898b..f4e8da7288b23c822a96d6724bc81913d4ee49be 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 81d7653cf4a3cadf03e4cbec673cd3753bea6715..29d5c8ce5ca4d0de5024e9443a0707893c49d307 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['receiver_4',['receiver',['../structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d',1,'UDPC_PacketInfo']]]
+  ['receiver_0',['receiver',['../structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d',1,'UDPC_PacketInfo']]]
 ];
index fc40463c89f794281268400aff9c675c6c2e27f6..678d3a2e0150dc4c37b6d6beeca39ae24e0e2613 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 454b7665bc07c452b706c33e82653132a4f27e8c..5587522d566e648e8b2faafe6ad1915163a160b8 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['sender_5',['sender',['../structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc',1,'UDPC_PacketInfo']]]
+  ['sender_0',['sender',['../structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc',1,'UDPC_PacketInfo']]]
 ];
index 9dd9344b0d0ac453424f37ee7feef56711d58ef8..aa9af78207b7ad5dfa7a9595f0d495616d1de4e7 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 8a843fadc7fdeeacddec6afa07960b24b2ca8b27..3fc71b889d88ff1477c782fdb26b2496dea34d91 100644 (file)
@@ -1,60 +1,60 @@
 var searchData=
 [
-  ['udpc_2eh_6',['UDPC.h',['../UDPC_8h.html',1,'']]],
-  ['udpc_5fadd_5fwhitelist_5fpk_7',['UDPC_add_whitelist_pk',['../UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8',1,'UDPC.h']]],
-  ['udpc_5fauth_5fpolicy_5ffallback_8',['UDPC_AUTH_POLICY_FALLBACK',['../UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612',1,'UDPC.h']]],
-  ['udpc_5fauth_5fpolicy_5fstrict_9',['UDPC_AUTH_POLICY_STRICT',['../UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3',1,'UDPC.h']]],
-  ['udpc_5fauthpolicy_10',['UDPC_AuthPolicy',['../UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a',1,'UDPC.h']]],
-  ['udpc_5fclear_5fwhitelist_11',['UDPC_clear_whitelist',['../UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26',1,'UDPC.h']]],
-  ['udpc_5fclient_5finitiate_5fconnection_12',['UDPC_client_initiate_connection',['../UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55',1,'UDPC.h']]],
-  ['udpc_5fconnectionid_13',['UDPC_ConnectionId',['../structUDPC__ConnectionId.html',1,'UDPC_ConnectionId'],['../UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2',1,'UDPC_ConnectionId():&#160;UDPC.h']]],
-  ['udpc_5fcreate_5fid_14',['UDPC_create_id',['../UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d',1,'UDPC.h']]],
-  ['udpc_5fcreate_5fid_5fanyaddr_15',['UDPC_create_id_anyaddr',['../UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df',1,'UDPC.h']]],
-  ['udpc_5fcreate_5fid_5feasy_16',['UDPC_create_id_easy',['../UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131',1,'UDPC.h']]],
-  ['udpc_5fcreate_5fid_5ffull_17',['UDPC_create_id_full',['../UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19',1,'UDPC.h']]],
-  ['udpc_5fdestroy_18',['UDPC_destroy',['../UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e',1,'UDPC.h']]],
-  ['udpc_5fdisable_5fthreaded_5fupdate_19',['UDPC_disable_threaded_update',['../UDPC_8h.html#a404d2c7a83903004f928737241ecc63a',1,'UDPC.h']]],
-  ['udpc_5fdrop_5fconnection_20',['UDPC_drop_connection',['../UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380',1,'UDPC.h']]],
-  ['udpc_5fenable_5fthreaded_5fupdate_21',['UDPC_enable_threaded_update',['../UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f',1,'UDPC.h']]],
-  ['udpc_5fenable_5fthreaded_5fupdate_5fms_22',['UDPC_enable_threaded_update_ms',['../UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833',1,'UDPC.h']]],
-  ['udpc_5ferror_23',['UDPC_ERROR',['../UDPC_8h.html#ac04213a4287500a9c5330f543eac3103',1,'UDPC.h']]],
-  ['udpc_5fevent_24',['UDPC_Event',['../UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed',1,'UDPC_Event():&#160;UDPC.h'],['../structUDPC__Event.html',1,'UDPC_Event']]],
-  ['udpc_5feventtype_25',['UDPC_EventType',['../UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0',1,'UDPC.h']]],
-  ['udpc_5ffree_5flist_5fconnected_26',['UDPC_free_list_connected',['../UDPC_8h.html#a8880067a93211c257763c42264f6ceef',1,'UDPC.h']]],
-  ['udpc_5ffree_5fpacketinfo_27',['UDPC_free_PacketInfo',['../UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845',1,'UDPC.h']]],
-  ['udpc_5fget_5fauth_5fpolicy_28',['UDPC_get_auth_policy',['../UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4',1,'UDPC.h']]],
-  ['udpc_5fget_5fevent_29',['UDPC_get_event',['../UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510',1,'UDPC.h']]],
-  ['udpc_5fget_5flist_5fconnected_30',['UDPC_get_list_connected',['../UDPC_8h.html#a7fe3e502f4c6f86ce5b2cd1f303aa213',1,'UDPC.h']]],
-  ['udpc_5fget_5flogging_5ftype_31',['UDPC_get_logging_type',['../UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096',1,'UDPC.h']]],
-  ['udpc_5fget_5fmax_5fqueued_5fsize_32',['UDPC_get_max_queued_size',['../UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f',1,'UDPC.h']]],
-  ['udpc_5fget_5fprotocol_5fid_33',['UDPC_get_protocol_id',['../UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404',1,'UDPC.h']]],
-  ['udpc_5fget_5fqueue_5fsend_5fcurrent_5fsize_34',['UDPC_get_queue_send_current_size',['../UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd',1,'UDPC.h']]],
-  ['udpc_5fget_5fqueued_5fsize_35',['UDPC_get_queued_size',['../UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2',1,'UDPC.h']]],
-  ['udpc_5fget_5freceived_36',['UDPC_get_received',['../UDPC_8h.html#affa8655a4e7e3475be441060e92213b3',1,'UDPC.h']]],
-  ['udpc_5fget_5freceiving_5fevents_37',['UDPC_get_receiving_events',['../UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d',1,'UDPC.h']]],
-  ['udpc_5fhas_5fconnection_38',['UDPC_has_connection',['../UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082',1,'UDPC.h']]],
-  ['udpc_5fhas_5fwhitelist_5fpk_39',['UDPC_has_whitelist_pk',['../UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172',1,'UDPC.h']]],
-  ['udpc_5finfo_40',['UDPC_INFO',['../UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15',1,'UDPC.h']]],
-  ['udpc_5finit_41',['UDPC_init',['../UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2',1,'UDPC.h']]],
-  ['udpc_5finit_5fthreaded_5fupdate_42',['UDPC_init_threaded_update',['../UDPC_8h.html#a614e2a058b89839d53fe9d348a058323',1,'UDPC.h']]],
-  ['udpc_5finit_5fthreaded_5fupdate_5fms_43',['UDPC_init_threaded_update_ms',['../UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6',1,'UDPC.h']]],
-  ['udpc_5fis_5fvalid_5fcontext_44',['UDPC_is_valid_context',['../UDPC_8h.html#ac01480f803b063e2b44794420df0f671',1,'UDPC.h']]],
-  ['udpc_5fpacket_5fmax_5fsize_45',['UDPC_PACKET_MAX_SIZE',['../UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827',1,'UDPC.h']]],
-  ['udpc_5fpacketinfo_46',['UDPC_PacketInfo',['../UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b',1,'UDPC_PacketInfo():&#160;UDPC.h'],['../structUDPC__PacketInfo.html',1,'UDPC_PacketInfo']]],
-  ['udpc_5fqueue_5fsend_47',['UDPC_queue_send',['../UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4',1,'UDPC.h']]],
-  ['udpc_5fremove_5fwhitelist_5fpk_48',['UDPC_remove_whitelist_pk',['../UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383',1,'UDPC.h']]],
-  ['udpc_5fset_5faccept_5fnew_5fconnections_49',['UDPC_set_accept_new_connections',['../UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb',1,'UDPC.h']]],
-  ['udpc_5fset_5fauth_5fpolicy_50',['UDPC_set_auth_policy',['../UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkey_5feasy_51',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkeys_52',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
-  ['udpc_5fset_5flogging_5ftype_53',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
-  ['udpc_5fset_5fprotocol_5fid_54',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
-  ['udpc_5fset_5freceiving_5fevents_55',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
-  ['udpc_5fsilent_56',['UDPC_SILENT',['../UDPC_8h.html#aa5c197773a0914125cb358771139065c',1,'UDPC.h']]],
-  ['udpc_5fstrtoa_57',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
-  ['udpc_5funset_5flibsodium_5fkeys_58',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
-  ['udpc_5fupdate_59',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]],
-  ['udpc_5fverbose_60',['UDPC_VERBOSE',['../UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431',1,'UDPC.h']]],
-  ['udpc_5fwarning_61',['UDPC_WARNING',['../UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17',1,'UDPC.h']]],
-  ['udpconnection_62',['UDPConnection',['../index.html',1,'']]]
+  ['udpc_2eh_0',['UDPC.h',['../UDPC_8h.html',1,'']]],
+  ['udpc_5fadd_5fwhitelist_5fpk_1',['UDPC_add_whitelist_pk',['../UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8',1,'UDPC.h']]],
+  ['udpc_5fauth_5fpolicy_5ffallback_2',['UDPC_AUTH_POLICY_FALLBACK',['../UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612',1,'UDPC.h']]],
+  ['udpc_5fauth_5fpolicy_5fstrict_3',['UDPC_AUTH_POLICY_STRICT',['../UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3',1,'UDPC.h']]],
+  ['udpc_5fauthpolicy_4',['UDPC_AuthPolicy',['../UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a',1,'UDPC.h']]],
+  ['udpc_5fclear_5fwhitelist_5',['UDPC_clear_whitelist',['../UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26',1,'UDPC.h']]],
+  ['udpc_5fclient_5finitiate_5fconnection_6',['UDPC_client_initiate_connection',['../UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55',1,'UDPC.h']]],
+  ['udpc_5fconnectionid_7',['UDPC_ConnectionId',['../structUDPC__ConnectionId.html',1,'UDPC_ConnectionId'],['../UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2',1,'UDPC_ConnectionId():&#160;UDPC.h']]],
+  ['udpc_5fcreate_5fid_8',['UDPC_create_id',['../UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d',1,'UDPC.h']]],
+  ['udpc_5fcreate_5fid_5fanyaddr_9',['UDPC_create_id_anyaddr',['../UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df',1,'UDPC.h']]],
+  ['udpc_5fcreate_5fid_5feasy_10',['UDPC_create_id_easy',['../UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131',1,'UDPC.h']]],
+  ['udpc_5fcreate_5fid_5ffull_11',['UDPC_create_id_full',['../UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19',1,'UDPC.h']]],
+  ['udpc_5fdestroy_12',['UDPC_destroy',['../UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e',1,'UDPC.h']]],
+  ['udpc_5fdisable_5fthreaded_5fupdate_13',['UDPC_disable_threaded_update',['../UDPC_8h.html#a404d2c7a83903004f928737241ecc63a',1,'UDPC.h']]],
+  ['udpc_5fdrop_5fconnection_14',['UDPC_drop_connection',['../UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380',1,'UDPC.h']]],
+  ['udpc_5fenable_5fthreaded_5fupdate_15',['UDPC_enable_threaded_update',['../UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f',1,'UDPC.h']]],
+  ['udpc_5fenable_5fthreaded_5fupdate_5fms_16',['UDPC_enable_threaded_update_ms',['../UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833',1,'UDPC.h']]],
+  ['udpc_5ferror_17',['UDPC_ERROR',['../UDPC_8h.html#ac04213a4287500a9c5330f543eac3103',1,'UDPC.h']]],
+  ['udpc_5fevent_18',['UDPC_Event',['../UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed',1,'UDPC_Event():&#160;UDPC.h'],['../structUDPC__Event.html',1,'UDPC_Event']]],
+  ['udpc_5feventtype_19',['UDPC_EventType',['../UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0',1,'UDPC.h']]],
+  ['udpc_5ffree_5flist_5fconnected_20',['UDPC_free_list_connected',['../UDPC_8h.html#a8880067a93211c257763c42264f6ceef',1,'UDPC.h']]],
+  ['udpc_5ffree_5fpacketinfo_21',['UDPC_free_PacketInfo',['../UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845',1,'UDPC.h']]],
+  ['udpc_5fget_5fauth_5fpolicy_22',['UDPC_get_auth_policy',['../UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4',1,'UDPC.h']]],
+  ['udpc_5fget_5fevent_23',['UDPC_get_event',['../UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510',1,'UDPC.h']]],
+  ['udpc_5fget_5flist_5fconnected_24',['UDPC_get_list_connected',['../UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547',1,'UDPC.h']]],
+  ['udpc_5fget_5flogging_5ftype_25',['UDPC_get_logging_type',['../UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096',1,'UDPC.h']]],
+  ['udpc_5fget_5fmax_5fqueued_5fsize_26',['UDPC_get_max_queued_size',['../UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f',1,'UDPC.h']]],
+  ['udpc_5fget_5fprotocol_5fid_27',['UDPC_get_protocol_id',['../UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404',1,'UDPC.h']]],
+  ['udpc_5fget_5fqueue_5fsend_5fcurrent_5fsize_28',['UDPC_get_queue_send_current_size',['../UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd',1,'UDPC.h']]],
+  ['udpc_5fget_5fqueued_5fsize_29',['UDPC_get_queued_size',['../UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2',1,'UDPC.h']]],
+  ['udpc_5fget_5freceived_30',['UDPC_get_received',['../UDPC_8h.html#affa8655a4e7e3475be441060e92213b3',1,'UDPC.h']]],
+  ['udpc_5fget_5freceiving_5fevents_31',['UDPC_get_receiving_events',['../UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d',1,'UDPC.h']]],
+  ['udpc_5fhas_5fconnection_32',['UDPC_has_connection',['../UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082',1,'UDPC.h']]],
+  ['udpc_5fhas_5fwhitelist_5fpk_33',['UDPC_has_whitelist_pk',['../UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172',1,'UDPC.h']]],
+  ['udpc_5finfo_34',['UDPC_INFO',['../UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15',1,'UDPC.h']]],
+  ['udpc_5finit_35',['UDPC_init',['../UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2',1,'UDPC.h']]],
+  ['udpc_5finit_5fthreaded_5fupdate_36',['UDPC_init_threaded_update',['../UDPC_8h.html#a614e2a058b89839d53fe9d348a058323',1,'UDPC.h']]],
+  ['udpc_5finit_5fthreaded_5fupdate_5fms_37',['UDPC_init_threaded_update_ms',['../UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6',1,'UDPC.h']]],
+  ['udpc_5fis_5fvalid_5fcontext_38',['UDPC_is_valid_context',['../UDPC_8h.html#ac01480f803b063e2b44794420df0f671',1,'UDPC.h']]],
+  ['udpc_5fpacket_5fmax_5fsize_39',['UDPC_PACKET_MAX_SIZE',['../UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827',1,'UDPC.h']]],
+  ['udpc_5fpacketinfo_40',['UDPC_PacketInfo',['../UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b',1,'UDPC_PacketInfo():&#160;UDPC.h'],['../structUDPC__PacketInfo.html',1,'UDPC_PacketInfo']]],
+  ['udpc_5fqueue_5fsend_41',['UDPC_queue_send',['../UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4',1,'UDPC.h']]],
+  ['udpc_5fremove_5fwhitelist_5fpk_42',['UDPC_remove_whitelist_pk',['../UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383',1,'UDPC.h']]],
+  ['udpc_5fset_5faccept_5fnew_5fconnections_43',['UDPC_set_accept_new_connections',['../UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb',1,'UDPC.h']]],
+  ['udpc_5fset_5fauth_5fpolicy_44',['UDPC_set_auth_policy',['../UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkey_5feasy_45',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkeys_46',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
+  ['udpc_5fset_5flogging_5ftype_47',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
+  ['udpc_5fset_5fprotocol_5fid_48',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
+  ['udpc_5fset_5freceiving_5fevents_49',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
+  ['udpc_5fsilent_50',['UDPC_SILENT',['../UDPC_8h.html#aa5c197773a0914125cb358771139065c',1,'UDPC.h']]],
+  ['udpc_5fstrtoa_51',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
+  ['udpc_5funset_5flibsodium_5fkeys_52',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
+  ['udpc_5fupdate_53',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]],
+  ['udpc_5fverbose_54',['UDPC_VERBOSE',['../UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431',1,'UDPC.h']]],
+  ['udpc_5fwarning_55',['UDPC_WARNING',['../UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17',1,'UDPC.h']]],
+  ['udpconnection_56',['UDPConnection',['../index.html',1,'']]]
 ];
index f1e516d75abf29bc81d9b238432e0eff2192ea1d..d3026a7763b8939b1790461f017975ced4c668a0 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="all_6.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 9ed5e0a0ad555f14e1b1aaa32724bcd008bf7638..772229dbe34a6720f4dd7c936af3f5d1d11a40f5 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['value_63',['Value',['../unionUDPC__Event_1_1Value.html',1,'UDPC_Event']]]
+  ['value_0',['Value',['../unionUDPC__Event_1_1Value.html',1,'UDPC_Event']]]
 ];
index af8159ee61c28064a42a2d60b2457b29cdcb6f3e..9d4f871a1c6ea547e69d5cc16cc5a6ca8a41cc7e 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index a6138ebb84899fefda24e7a9c1f4802380ccc907..b104b9c465ce0579e91cbe8b6ded410bd833a58b 100644 (file)
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['udpc_5fconnectionid_64',['UDPC_ConnectionId',['../structUDPC__ConnectionId.html',1,'']]],
-  ['udpc_5fevent_65',['UDPC_Event',['../structUDPC__Event.html',1,'']]],
-  ['udpc_5fpacketinfo_66',['UDPC_PacketInfo',['../structUDPC__PacketInfo.html',1,'']]]
+  ['udpc_5fconnectionid_0',['UDPC_ConnectionId',['../structUDPC__ConnectionId.html',1,'']]],
+  ['udpc_5fevent_1',['UDPC_Event',['../structUDPC__Event.html',1,'']]],
+  ['udpc_5fpacketinfo_2',['UDPC_PacketInfo',['../structUDPC__PacketInfo.html',1,'']]]
 ];
index 576e91689443b5e6888b660fa8e379dd3db5d404..0557f9fb44ee65d83cb6e83b4b841939fb3f7b47 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="classes_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 6eea1f958a3b85509a9128dd4a53477d3102a6b2..772229dbe34a6720f4dd7c936af3f5d1d11a40f5 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['value_67',['Value',['../unionUDPC__Event_1_1Value.html',1,'UDPC_Event']]]
+  ['value_0',['Value',['../unionUDPC__Event_1_1Value.html',1,'UDPC_Event']]]
 ];
index 15cc3de38d3d743bf47034017377623757dd10fe..d0cf63345b97b4179584891898162756535b9354 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="defines_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index c833ad0054a606b2c6867a1ffb1170b3f8b1348d..4152bf39f476de6e0c712d913b74c610227f09b4 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['udpc_5fpacket_5fmax_5fsize_129',['UDPC_PACKET_MAX_SIZE',['../UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827',1,'UDPC.h']]]
+  ['udpc_5fpacket_5fmax_5fsize_0',['UDPC_PACKET_MAX_SIZE',['../UDPC_8h.html#a8ed92f1223b3f658536728f22d3b3827',1,'UDPC.h']]]
 ];
index 9498842a62658a696497b75d13f38e46e8d06776..2dbb4c2f679e4939e7a638f654c24cd04269de78 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="files_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 8c9a62726fb7dd95d2e6933086d9a9cbe655b522..c04167ce7430326295f509fea3f96e1bd5a51865 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['udpc_2eh_68',['UDPC.h',['../UDPC_8h.html',1,'']]]
+  ['udpc_2eh_0',['UDPC.h',['../UDPC_8h.html',1,'']]]
 ];
index eb4c5014c401e4d277434803bd0322e70ca31cd8..3b739c7f4972b5a0f6885577756d046a21421d0b 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="functions_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index f1c155c23a203c1ae90d61feff96c146d3f4a704..f9145e00ae1a7b85d55993efce3e7e9c6ff9b1be 100644 (file)
@@ -1,45 +1,45 @@
 var searchData=
 [
-  ['udpc_5fadd_5fwhitelist_5fpk_69',['UDPC_add_whitelist_pk',['../UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8',1,'UDPC.h']]],
-  ['udpc_5fclear_5fwhitelist_70',['UDPC_clear_whitelist',['../UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26',1,'UDPC.h']]],
-  ['udpc_5fclient_5finitiate_5fconnection_71',['UDPC_client_initiate_connection',['../UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55',1,'UDPC.h']]],
-  ['udpc_5fcreate_5fid_72',['UDPC_create_id',['../UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d',1,'UDPC.h']]],
-  ['udpc_5fcreate_5fid_5fanyaddr_73',['UDPC_create_id_anyaddr',['../UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df',1,'UDPC.h']]],
-  ['udpc_5fcreate_5fid_5feasy_74',['UDPC_create_id_easy',['../UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131',1,'UDPC.h']]],
-  ['udpc_5fcreate_5fid_5ffull_75',['UDPC_create_id_full',['../UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19',1,'UDPC.h']]],
-  ['udpc_5fdestroy_76',['UDPC_destroy',['../UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e',1,'UDPC.h']]],
-  ['udpc_5fdisable_5fthreaded_5fupdate_77',['UDPC_disable_threaded_update',['../UDPC_8h.html#a404d2c7a83903004f928737241ecc63a',1,'UDPC.h']]],
-  ['udpc_5fdrop_5fconnection_78',['UDPC_drop_connection',['../UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380',1,'UDPC.h']]],
-  ['udpc_5fenable_5fthreaded_5fupdate_79',['UDPC_enable_threaded_update',['../UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f',1,'UDPC.h']]],
-  ['udpc_5fenable_5fthreaded_5fupdate_5fms_80',['UDPC_enable_threaded_update_ms',['../UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833',1,'UDPC.h']]],
-  ['udpc_5ffree_5flist_5fconnected_81',['UDPC_free_list_connected',['../UDPC_8h.html#a8880067a93211c257763c42264f6ceef',1,'UDPC.h']]],
-  ['udpc_5ffree_5fpacketinfo_82',['UDPC_free_PacketInfo',['../UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845',1,'UDPC.h']]],
-  ['udpc_5fget_5fauth_5fpolicy_83',['UDPC_get_auth_policy',['../UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4',1,'UDPC.h']]],
-  ['udpc_5fget_5fevent_84',['UDPC_get_event',['../UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510',1,'UDPC.h']]],
-  ['udpc_5fget_5flist_5fconnected_85',['UDPC_get_list_connected',['../UDPC_8h.html#a7fe3e502f4c6f86ce5b2cd1f303aa213',1,'UDPC.h']]],
-  ['udpc_5fget_5flogging_5ftype_86',['UDPC_get_logging_type',['../UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096',1,'UDPC.h']]],
-  ['udpc_5fget_5fmax_5fqueued_5fsize_87',['UDPC_get_max_queued_size',['../UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f',1,'UDPC.h']]],
-  ['udpc_5fget_5fprotocol_5fid_88',['UDPC_get_protocol_id',['../UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404',1,'UDPC.h']]],
-  ['udpc_5fget_5fqueue_5fsend_5fcurrent_5fsize_89',['UDPC_get_queue_send_current_size',['../UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd',1,'UDPC.h']]],
-  ['udpc_5fget_5fqueued_5fsize_90',['UDPC_get_queued_size',['../UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2',1,'UDPC.h']]],
-  ['udpc_5fget_5freceived_91',['UDPC_get_received',['../UDPC_8h.html#affa8655a4e7e3475be441060e92213b3',1,'UDPC.h']]],
-  ['udpc_5fget_5freceiving_5fevents_92',['UDPC_get_receiving_events',['../UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d',1,'UDPC.h']]],
-  ['udpc_5fhas_5fconnection_93',['UDPC_has_connection',['../UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082',1,'UDPC.h']]],
-  ['udpc_5fhas_5fwhitelist_5fpk_94',['UDPC_has_whitelist_pk',['../UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172',1,'UDPC.h']]],
-  ['udpc_5finit_95',['UDPC_init',['../UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2',1,'UDPC.h']]],
-  ['udpc_5finit_5fthreaded_5fupdate_96',['UDPC_init_threaded_update',['../UDPC_8h.html#a614e2a058b89839d53fe9d348a058323',1,'UDPC.h']]],
-  ['udpc_5finit_5fthreaded_5fupdate_5fms_97',['UDPC_init_threaded_update_ms',['../UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6',1,'UDPC.h']]],
-  ['udpc_5fis_5fvalid_5fcontext_98',['UDPC_is_valid_context',['../UDPC_8h.html#ac01480f803b063e2b44794420df0f671',1,'UDPC.h']]],
-  ['udpc_5fqueue_5fsend_99',['UDPC_queue_send',['../UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4',1,'UDPC.h']]],
-  ['udpc_5fremove_5fwhitelist_5fpk_100',['UDPC_remove_whitelist_pk',['../UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383',1,'UDPC.h']]],
-  ['udpc_5fset_5faccept_5fnew_5fconnections_101',['UDPC_set_accept_new_connections',['../UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb',1,'UDPC.h']]],
-  ['udpc_5fset_5fauth_5fpolicy_102',['UDPC_set_auth_policy',['../UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkey_5feasy_103',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
-  ['udpc_5fset_5flibsodium_5fkeys_104',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
-  ['udpc_5fset_5flogging_5ftype_105',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
-  ['udpc_5fset_5fprotocol_5fid_106',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
-  ['udpc_5fset_5freceiving_5fevents_107',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
-  ['udpc_5fstrtoa_108',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
-  ['udpc_5funset_5flibsodium_5fkeys_109',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
-  ['udpc_5fupdate_110',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]]
+  ['udpc_5fadd_5fwhitelist_5fpk_0',['UDPC_add_whitelist_pk',['../UDPC_8h.html#a71f9bf85a02ddd1b4c921fe9b6694fe8',1,'UDPC.h']]],
+  ['udpc_5fclear_5fwhitelist_1',['UDPC_clear_whitelist',['../UDPC_8h.html#a0e2e0c6a6a442db2cb3223d26f849d26',1,'UDPC.h']]],
+  ['udpc_5fclient_5finitiate_5fconnection_2',['UDPC_client_initiate_connection',['../UDPC_8h.html#a1192e0307f75feeac888fe5d49976f55',1,'UDPC.h']]],
+  ['udpc_5fcreate_5fid_3',['UDPC_create_id',['../UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d',1,'UDPC.h']]],
+  ['udpc_5fcreate_5fid_5fanyaddr_4',['UDPC_create_id_anyaddr',['../UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df',1,'UDPC.h']]],
+  ['udpc_5fcreate_5fid_5feasy_5',['UDPC_create_id_easy',['../UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131',1,'UDPC.h']]],
+  ['udpc_5fcreate_5fid_5ffull_6',['UDPC_create_id_full',['../UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19',1,'UDPC.h']]],
+  ['udpc_5fdestroy_7',['UDPC_destroy',['../UDPC_8h.html#aad0e88866d4c5cb9c0676bc8d7df574e',1,'UDPC.h']]],
+  ['udpc_5fdisable_5fthreaded_5fupdate_8',['UDPC_disable_threaded_update',['../UDPC_8h.html#a404d2c7a83903004f928737241ecc63a',1,'UDPC.h']]],
+  ['udpc_5fdrop_5fconnection_9',['UDPC_drop_connection',['../UDPC_8h.html#a44bc5cc29862c93e938ac8a625c56380',1,'UDPC.h']]],
+  ['udpc_5fenable_5fthreaded_5fupdate_10',['UDPC_enable_threaded_update',['../UDPC_8h.html#a0fafce547e9185c29f42d06213b0ff4f',1,'UDPC.h']]],
+  ['udpc_5fenable_5fthreaded_5fupdate_5fms_11',['UDPC_enable_threaded_update_ms',['../UDPC_8h.html#a1a50763773d55aa7a2a9c7ad69575833',1,'UDPC.h']]],
+  ['udpc_5ffree_5flist_5fconnected_12',['UDPC_free_list_connected',['../UDPC_8h.html#a8880067a93211c257763c42264f6ceef',1,'UDPC.h']]],
+  ['udpc_5ffree_5fpacketinfo_13',['UDPC_free_PacketInfo',['../UDPC_8h.html#a68ed6dcb37c6024486fad28ab0bed845',1,'UDPC.h']]],
+  ['udpc_5fget_5fauth_5fpolicy_14',['UDPC_get_auth_policy',['../UDPC_8h.html#ab79769e36a92c346c6c410be158ddfe4',1,'UDPC.h']]],
+  ['udpc_5fget_5fevent_15',['UDPC_get_event',['../UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510',1,'UDPC.h']]],
+  ['udpc_5fget_5flist_5fconnected_16',['UDPC_get_list_connected',['../UDPC_8h.html#a6b4355331c9b2797af0c13ce16515547',1,'UDPC.h']]],
+  ['udpc_5fget_5flogging_5ftype_17',['UDPC_get_logging_type',['../UDPC_8h.html#ad0c7d69eeda20e98696d5c89bbbab096',1,'UDPC.h']]],
+  ['udpc_5fget_5fmax_5fqueued_5fsize_18',['UDPC_get_max_queued_size',['../UDPC_8h.html#a7983f38fe13677f5b35b90cefa54974f',1,'UDPC.h']]],
+  ['udpc_5fget_5fprotocol_5fid_19',['UDPC_get_protocol_id',['../UDPC_8h.html#aab6fb21c6f5b44123e2660f84561d404',1,'UDPC.h']]],
+  ['udpc_5fget_5fqueue_5fsend_5fcurrent_5fsize_20',['UDPC_get_queue_send_current_size',['../UDPC_8h.html#aa3f67ad23ae34b647b7f4dd17a8a96dd',1,'UDPC.h']]],
+  ['udpc_5fget_5fqueued_5fsize_21',['UDPC_get_queued_size',['../UDPC_8h.html#a1fb87c1522d353bd9fde4c94ec8454c2',1,'UDPC.h']]],
+  ['udpc_5fget_5freceived_22',['UDPC_get_received',['../UDPC_8h.html#affa8655a4e7e3475be441060e92213b3',1,'UDPC.h']]],
+  ['udpc_5fget_5freceiving_5fevents_23',['UDPC_get_receiving_events',['../UDPC_8h.html#a8c74f1b9ee0fec610087f83096c9679d',1,'UDPC.h']]],
+  ['udpc_5fhas_5fconnection_24',['UDPC_has_connection',['../UDPC_8h.html#a4a555a011e95445ed4a2aa88deb17082',1,'UDPC.h']]],
+  ['udpc_5fhas_5fwhitelist_5fpk_25',['UDPC_has_whitelist_pk',['../UDPC_8h.html#a94660d04e7f9b4d9c51a7b2c67707172',1,'UDPC.h']]],
+  ['udpc_5finit_26',['UDPC_init',['../UDPC_8h.html#a89dee65fcd5b70d25abbf6d4a3ee59f2',1,'UDPC.h']]],
+  ['udpc_5finit_5fthreaded_5fupdate_27',['UDPC_init_threaded_update',['../UDPC_8h.html#a614e2a058b89839d53fe9d348a058323',1,'UDPC.h']]],
+  ['udpc_5finit_5fthreaded_5fupdate_5fms_28',['UDPC_init_threaded_update_ms',['../UDPC_8h.html#ab9a5258877ad3084f7d29954be525bd6',1,'UDPC.h']]],
+  ['udpc_5fis_5fvalid_5fcontext_29',['UDPC_is_valid_context',['../UDPC_8h.html#ac01480f803b063e2b44794420df0f671',1,'UDPC.h']]],
+  ['udpc_5fqueue_5fsend_30',['UDPC_queue_send',['../UDPC_8h.html#a7527954b63f502479bdd3771df7cf3a4',1,'UDPC.h']]],
+  ['udpc_5fremove_5fwhitelist_5fpk_31',['UDPC_remove_whitelist_pk',['../UDPC_8h.html#abc2d3284e5c45d6cd888154e813a1383',1,'UDPC.h']]],
+  ['udpc_5fset_5faccept_5fnew_5fconnections_32',['UDPC_set_accept_new_connections',['../UDPC_8h.html#a32e217a02b2e8ba05568aabfaecbcdcb',1,'UDPC.h']]],
+  ['udpc_5fset_5fauth_5fpolicy_33',['UDPC_set_auth_policy',['../UDPC_8h.html#a8d0dbbd258e17844a2f9a0e277789581',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkey_5feasy_34',['UDPC_set_libsodium_key_easy',['../UDPC_8h.html#ad7eb0c77561f84a63dad29388d099fbe',1,'UDPC.h']]],
+  ['udpc_5fset_5flibsodium_5fkeys_35',['UDPC_set_libsodium_keys',['../UDPC_8h.html#abd0a7d5c0a17cf3351dbe5abf5f70df1',1,'UDPC.h']]],
+  ['udpc_5fset_5flogging_5ftype_36',['UDPC_set_logging_type',['../UDPC_8h.html#a6c90dc723e67a07bf65c1fc97e526305',1,'UDPC.h']]],
+  ['udpc_5fset_5fprotocol_5fid_37',['UDPC_set_protocol_id',['../UDPC_8h.html#a0720bec1922660c983b1b3d9f6a5de3a',1,'UDPC.h']]],
+  ['udpc_5fset_5freceiving_5fevents_38',['UDPC_set_receiving_events',['../UDPC_8h.html#a380c91ee395cff22189c7988c3381787',1,'UDPC.h']]],
+  ['udpc_5fstrtoa_39',['UDPC_strtoa',['../UDPC_8h.html#a2ae8e7d87f785dd3b3353a00005c3dc6',1,'UDPC.h']]],
+  ['udpc_5funset_5flibsodium_5fkeys_40',['UDPC_unset_libsodium_keys',['../UDPC_8h.html#a62a5131b90653ccbfc86ad5db4031ba9',1,'UDPC.h']]],
+  ['udpc_5fupdate_41',['UDPC_update',['../UDPC_8h.html#a68fefba9edca7cd0a81d97ac27c70c0b',1,'UDPC.h']]]
 ];
index 8517b48f05dc324c03ca98dfc7fa660d0c13c8dd..198171258798d3ac809398a9b65ebb467dea9426 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="pages_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 87889911a4fcfaee42c77f0294080cd9746a41f4..a580aeeb724c3c089a8d916eaaeb828a1932f0e8 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['udpconnection_130',['UDPConnection',['../index.html',1,'']]]
+  ['udpconnection_0',['UDPConnection',['../index.html',1,'']]]
 ];
index 9074198f81f13dedf965db7bf9ba591fe194eae3..648a792f5eaf28a4075a5fbc3c971d7f327c2148 100644 (file)
@@ -17,7 +17,7 @@
 #MSearchSelect {
     display: inline-block;
     vertical-align: middle;
-    height: 1.4em;
+    height: 19px;
     padding: 0 0 0 0.3em;
     margin: 0;
 }
@@ -26,7 +26,7 @@
     display: inline-block;
     vertical-align: middle;
     width: 7.5em;
-    height: 1.1em;
+    height: 19px;
     margin: 0 0.15em;
     padding: 0;
     line-height: 1em;
     background: none;
 }
 
+@media(hover: none) {
+    /* to avoid zooming on iOS */
+    #MSearchField {
+        font-size: 16px;
+    }
+}
 
 #MSearchBox .right {
     display: inline-block;
@@ -138,7 +144,7 @@ a.SelectItem:hover {
 /*---------------- Search results window */
 
 iframe#MSearchResults {
-    width: 60ex;
+    /*width: 60ex;*/
     height: 15em;
 }
 
index fb226f734e6daca1cfb5a63012d8563e26677549..607f4e10c1774c7e1eeb882c4f46c08a492e1b9d 100644 (file)
@@ -80,7 +80,7 @@ function getYPos(item)
           storing this instance.  Is needed to be able to set timeouts.
    resultPath - path to use for external files
 */
-function SearchBox(name, resultsPath, inFrame, label, extension)
+function SearchBox(name, resultsPath, label, extension)
 {
   if (!name || !resultsPath) {  alert("Missing parameters to SearchBox."); }
   if (!extension || extension == "") { extension = ".html"; }
@@ -96,7 +96,6 @@ function SearchBox(name, resultsPath, inFrame, label, extension)
   this.hideTimeout           = 0;
   this.searchIndex           = 0;
   this.searchActive          = false;
-  this.insideFrame           = inFrame;
   this.searchLabel           = label;
   this.extension             = extension;
 
@@ -136,30 +135,14 @@ function SearchBox(name, resultsPath, inFrame, label, extension)
     var searchSelectWindow = this.DOMSearchSelectWindow();
     var searchField        = this.DOMSearchSelect();
 
-    if (this.insideFrame)
-    {
-      var left = getXPos(searchField);
-      var top  = getYPos(searchField);
-      left += searchField.offsetWidth + 6;
-      top += searchField.offsetHeight;
-
-      // show search selection popup
-      searchSelectWindow.style.display='block';
-      left -= searchSelectWindow.offsetWidth;
-      searchSelectWindow.style.left =  left + 'px';
-      searchSelectWindow.style.top  =  top  + 'px';
-    }
-    else
-    {
-      var left = getXPos(searchField);
-      var top  = getYPos(searchField);
-      top += searchField.offsetHeight;
-
-      // show search selection popup
-      searchSelectWindow.style.display='block';
-      searchSelectWindow.style.left =  left + 'px';
-      searchSelectWindow.style.top  =  top  + 'px';
-    }
+    var left = getXPos(searchField);
+    var top  = getYPos(searchField);
+    top += searchField.offsetHeight;
+
+    // show search selection popup
+    searchSelectWindow.style.display='block';
+    searchSelectWindow.style.left =  left + 'px';
+    searchSelectWindow.style.top  =  top  + 'px';
 
     // stop selection hide timer
     if (this.hideTimeout)
@@ -367,25 +350,18 @@ function SearchBox(name, resultsPath, inFrame, label, extension)
     {
        var domSearchBox = this.DOMSearchBox();
        this.DOMSearchClose().style.display = 'inline-block';
-       if (this.insideFrame)
-       {
-         var domPopupSearchResults = this.DOMPopupSearchResults();
-         domPopupSearchResultsWindow.style.position = 'relative';
-         domPopupSearchResultsWindow.style.display  = 'block';
-         var width = document.body.clientWidth - 8; // the -8 is for IE :-(
-         domPopupSearchResultsWindow.style.width    = width + 'px';
-         domPopupSearchResults.style.width          = width + 'px';
-       }
-       else
-       {
-         var domPopupSearchResults = this.DOMPopupSearchResults();
-         var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
-         var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
-         domPopupSearchResultsWindow.style.display = 'block';
-         left -= domPopupSearchResults.offsetWidth;
-         domPopupSearchResultsWindow.style.top     = top  + 'px';
-         domPopupSearchResultsWindow.style.left    = left + 'px';
-       }
+       var domPopupSearchResults = this.DOMPopupSearchResults();
+       var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+       var top  = getYPos(domSearchBox) + 20;  // domSearchBox.offsetHeight + 1;
+       domPopupSearchResultsWindow.style.display = 'block';
+       left -= domPopupSearchResults.offsetWidth;
+       var maxWidth = document.body.clientWidth;
+       var width = 400;
+       if (left<10) left=10;
+       if (width+left+8>maxWidth) width=maxWidth-left-8;
+       domPopupSearchResultsWindow.style.top     = top  + 'px';
+       domPopupSearchResultsWindow.style.left    = left + 'px';
+       domPopupSearchResultsWindow.style.width   = width + 'px';
     }
 
     this.lastSearchValue = searchValue;
@@ -764,10 +740,15 @@ function createResults()
     if (searchData[e][1].length==2) // single result
     {
       srLink.setAttribute('href',searchData[e][1][1][0]);
+      srLink.setAttribute('onclick','parent.searchBox.CloseResultsWindow()');
       if (searchData[e][1][1][1])
       {
        srLink.setAttribute('target','_parent');
       }
+      else
+      {
+       srLink.setAttribute('target','_blank');
+      }
       var srScope = document.createElement('span');
       setClassAttr(srScope,'SRScope');
       srScope.innerHTML = searchData[e][1][1][2];
@@ -785,10 +766,15 @@ function createResults()
         setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
         setClassAttr(srChild,'SRScope');
         srChild.setAttribute('href',searchData[e][1][c+1][0]);
+        srChild.setAttribute('onclick','parent.searchBox.CloseResultsWindow()');
         if (searchData[e][1][c+1][1])
         {
          srChild.setAttribute('target','_parent');
         }
+        else
+        {
+         srChild.setAttribute('target','_blank');
+        }
         srChild.innerHTML = searchData[e][1][c+1][2];
         srChildren.appendChild(srChild);
       }
index a4684c4ad28bb88e3cd581697596b2faea2b5caa..ee21dad57fe2c2b327ea10d338f4a3a4329c1be2 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="typedefs_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 8009f899ac1f3870584a8eccc4b2519bba4c04a4..4975eb9cb7078972ced3a9833eeb63760cc4078d 100644 (file)
@@ -1,8 +1,8 @@
 var searchData=
 [
-  ['udpc_5fauthpolicy_124',['UDPC_AuthPolicy',['../UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a',1,'UDPC.h']]],
-  ['udpc_5fconnectionid_125',['UDPC_ConnectionId',['../UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2',1,'UDPC.h']]],
-  ['udpc_5fevent_126',['UDPC_Event',['../UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed',1,'UDPC.h']]],
-  ['udpc_5feventtype_127',['UDPC_EventType',['../UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0',1,'UDPC.h']]],
-  ['udpc_5fpacketinfo_128',['UDPC_PacketInfo',['../UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b',1,'UDPC.h']]]
+  ['udpc_5fauthpolicy_0',['UDPC_AuthPolicy',['../UDPC_8h.html#a228cd7ddf56a4e76e216bc3b80e8bd4a',1,'UDPC.h']]],
+  ['udpc_5fconnectionid_1',['UDPC_ConnectionId',['../UDPC_8h.html#ae5afb11964c7a55edf34ddf9097779b2',1,'UDPC.h']]],
+  ['udpc_5fevent_2',['UDPC_Event',['../UDPC_8h.html#a7b3215b65686670720f098eda2ca1eed',1,'UDPC.h']]],
+  ['udpc_5feventtype_3',['UDPC_EventType',['../UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0',1,'UDPC.h']]],
+  ['udpc_5fpacketinfo_4',['UDPC_PacketInfo',['../UDPC_8h.html#ae0261958047ebb5c6a402aa805e4e55b',1,'UDPC.h']]]
 ];
index 1e477c08c4e2701f329c4d7e2c0cd513a1e4b429..fd893a69febb0bb935d1a742c2d29d2da923323b 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_0.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 0c3c3b04d77f6d3063b6e2b32d3f379f5c6a41df..2eb9505454cfb0282a8d9266ea144050292672ec 100644 (file)
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['data_111',['data',['../structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e',1,'UDPC_PacketInfo']]],
-  ['datasize_112',['dataSize',['../structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74',1,'UDPC_PacketInfo']]]
+  ['data_0',['data',['../structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e',1,'UDPC_PacketInfo']]],
+  ['datasize_1',['dataSize',['../structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74',1,'UDPC_PacketInfo']]]
 ];
index ea73d9a494f45f41551f3591bd58bcc086157fb5..5f8e440026c470e5070c8e7a9287425f79847f13 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_1.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index fda11d3c2c4f3d6531cab5f5678af6efe04a31c8..2986fcf3e5118e0736630cf8af34065d80724cb5 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['flags_113',['flags',['../structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1',1,'UDPC_PacketInfo']]]
+  ['flags_0',['flags',['../structUDPC__PacketInfo.html#ad538ac2682e8276dc33553237f012ce1',1,'UDPC_PacketInfo']]]
 ];
index 0580462e9c83c4b2571ca2fd402b59122f739820..77a7f4812220eb34b6242ddcfd2f849e64ca3ef6 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_2.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 92593951b7c5419269a7822e2ef878cbc30e2248..582a462fdc4175eff63e2a684d9b09e154b91986 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['id_114',['id',['../structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe',1,'UDPC_PacketInfo']]]
+  ['id_0',['id',['../structUDPC__PacketInfo.html#ac21cc9beab22eb1e1a2d5c0797ed0fbe',1,'UDPC_PacketInfo']]]
 ];
index 0d69e761935326c5d5dde8ca7c50542393f2b4c5..3ee62baa9a0e138f63209efb47057c9804ecf3a3 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_3.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 0571ee303bdc1f071e9394cf3b627eca7db3b536..29d5c8ce5ca4d0de5024e9443a0707893c49d307 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['receiver_115',['receiver',['../structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d',1,'UDPC_PacketInfo']]]
+  ['receiver_0',['receiver',['../structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d',1,'UDPC_PacketInfo']]]
 ];
index a4b6506bb53f147f8fdb29d2c6b1f3f0e2a71f2b..640713f6f1e8f8636181a6cf0ba8ce054ac9cc73 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_4.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 9e2dbafff9ab07add9feb33387adbb668fc5d44e..5587522d566e648e8b2faafe6ad1915163a160b8 100644 (file)
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['sender_116',['sender',['../structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc',1,'UDPC_PacketInfo']]]
+  ['sender_0',['sender',['../structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc',1,'UDPC_PacketInfo']]]
 ];
index 7e345d16c9f02dc331784a445f7ee26c188bbeda..7b2ba970a8c4f957aeebc97c3c353b26eaa6f1e5 100644 (file)
@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head><title></title>
 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <link rel="stylesheet" type="text/css" href="search.css"/>
 <script type="text/javascript" src="variables_5.js"></script>
 <script type="text/javascript" src="search.js"></script>
 <div class="SRStatus" id="Loading">Loading...</div>
 <div id="SRResults"></div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 createResults();
 /* @license-end */
 </script>
 <div class="SRStatus" id="Searching">Searching...</div>
 <div class="SRStatus" id="NoMatches">No Matches</div>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 document.getElementById("Loading").style.display="none";
 document.getElementById("NoMatches").style.display="none";
 var searchResults = new SearchResults("searchResults");
index 9272503abf09fa916ac8c3b47c7611165a13a42b..c554b63743e6912c36e9b4ceca2f6f17c02d8f1e 100644 (file)
@@ -1,10 +1,10 @@
 var searchData=
 [
-  ['udpc_5fauth_5fpolicy_5ffallback_117',['UDPC_AUTH_POLICY_FALLBACK',['../UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612',1,'UDPC.h']]],
-  ['udpc_5fauth_5fpolicy_5fstrict_118',['UDPC_AUTH_POLICY_STRICT',['../UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3',1,'UDPC.h']]],
-  ['udpc_5ferror_119',['UDPC_ERROR',['../UDPC_8h.html#ac04213a4287500a9c5330f543eac3103',1,'UDPC.h']]],
-  ['udpc_5finfo_120',['UDPC_INFO',['../UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15',1,'UDPC.h']]],
-  ['udpc_5fsilent_121',['UDPC_SILENT',['../UDPC_8h.html#aa5c197773a0914125cb358771139065c',1,'UDPC.h']]],
-  ['udpc_5fverbose_122',['UDPC_VERBOSE',['../UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431',1,'UDPC.h']]],
-  ['udpc_5fwarning_123',['UDPC_WARNING',['../UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17',1,'UDPC.h']]]
+  ['udpc_5fauth_5fpolicy_5ffallback_0',['UDPC_AUTH_POLICY_FALLBACK',['../UDPC_8h.html#a96ecd597f88d458ed108f33e4f0a6612',1,'UDPC.h']]],
+  ['udpc_5fauth_5fpolicy_5fstrict_1',['UDPC_AUTH_POLICY_STRICT',['../UDPC_8h.html#a6af4629253b3ed1f411015410cee9ad3',1,'UDPC.h']]],
+  ['udpc_5ferror_2',['UDPC_ERROR',['../UDPC_8h.html#ac04213a4287500a9c5330f543eac3103',1,'UDPC.h']]],
+  ['udpc_5finfo_3',['UDPC_INFO',['../UDPC_8h.html#a248f51c4df127b7fd3a5c91ad5509d15',1,'UDPC.h']]],
+  ['udpc_5fsilent_4',['UDPC_SILENT',['../UDPC_8h.html#aa5c197773a0914125cb358771139065c',1,'UDPC.h']]],
+  ['udpc_5fverbose_5',['UDPC_VERBOSE',['../UDPC_8h.html#ad5741af4e5cf1da40fe4a7b92cd1c431',1,'UDPC.h']]],
+  ['udpc_5fwarning_6',['UDPC_WARNING',['../UDPC_8h.html#a9cc5d705069747eb439a1c5607baac17',1,'UDPC.h']]]
 ];
index e04e6b60302bf6e9670959ff98b286be8d40dacb..248689aac7b0afb10d40e223b02ef9b4d0ecb7f9 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: UDPC_ConnectionId Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -64,8 +65,7 @@ $(function() {
 <div class="header">
   <div class="summary">
 <a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">UDPC_ConnectionId Struct Reference</div>  </div>
+  <div class="headertitle"><div class="title">UDPC_ConnectionId Struct Reference</div></div>
 </div><!--header-->
 <div class="contents">
 
@@ -74,28 +74,28 @@ $(function() {
 
 <p><code>#include &lt;<a class="el" href="UDPC_8h_source.html">UDPC.h</a>&gt;</code></p>
 <table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Data Fields</h2></td></tr>
-<tr class="memitem:ace33511e3490f5e686cff7f047bf1729"><td class="memItemLeft" align="right" valign="top"><a id="ace33511e3490f5e686cff7f047bf1729"></a>
+<tr class="memitem:ace33511e3490f5e686cff7f047bf1729"><td class="memItemLeft" align="right" valign="top"><a id="ace33511e3490f5e686cff7f047bf1729" name="ace33511e3490f5e686cff7f047bf1729"></a>
 UDPC_IPV6_ADDR_TYPE&#160;</td><td class="memItemRight" valign="bottom"><b>addr</b></td></tr>
 <tr class="separator:ace33511e3490f5e686cff7f047bf1729"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a03517f4451bbfa4ff4021d38725ce513"><td class="memItemLeft" align="right" valign="top"><a id="a03517f4451bbfa4ff4021d38725ce513"></a>
+<tr class="memitem:a03517f4451bbfa4ff4021d38725ce513"><td class="memItemLeft" align="right" valign="top"><a id="a03517f4451bbfa4ff4021d38725ce513" name="a03517f4451bbfa4ff4021d38725ce513"></a>
 uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>scope_id</b></td></tr>
 <tr class="separator:a03517f4451bbfa4ff4021d38725ce513"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3be4eba99a41e33023b976ea29474029"><td class="memItemLeft" align="right" valign="top"><a id="a3be4eba99a41e33023b976ea29474029"></a>
+<tr class="memitem:a3be4eba99a41e33023b976ea29474029"><td class="memItemLeft" align="right" valign="top"><a id="a3be4eba99a41e33023b976ea29474029" name="a3be4eba99a41e33023b976ea29474029"></a>
 uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>port</b></td></tr>
 <tr class="separator:a3be4eba99a41e33023b976ea29474029"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Data identifying a peer via addr, port, and scope_id. </p>
-<p>This struct needn't be used directly; use <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d" title="Creates an UDPC_ConnectionId with the given addr and port.">UDPC_create_id()</a>, <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19" title="Creates an UDPC_ConnectionId with the given addr, scope_id, and port.">UDPC_create_id_full()</a>, <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df" title="Creates an UDPC_ConnectionId with the given port.">UDPC_create_id_anyaddr()</a>, or <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131" title="Creates an UDPC_ConnectionId with the given addr string and port.">UDPC_create_id_easy()</a> to create one. This struct does not hold dynamic data, so there is no need to free it. </p>
+<div class="textblock"><p >Data identifying a peer via addr, port, and scope_id. </p>
+<p >This struct needn't be used directly; use <a class="el" href="UDPC_8h.html#aea7e32ca9fdc04530f95c97459391e6d" title="Creates an UDPC_ConnectionId with the given addr and port.">UDPC_create_id()</a>, <a class="el" href="UDPC_8h.html#ab7cb345ce117c04017afd443e5748f19" title="Creates an UDPC_ConnectionId with the given addr, scope_id, and port.">UDPC_create_id_full()</a>, <a class="el" href="UDPC_8h.html#a0fa3e1e54877029a226ab9cfb74215df" title="Creates an UDPC_ConnectionId with the given port.">UDPC_create_id_anyaddr()</a>, or <a class="el" href="UDPC_8h.html#a8b80d2df882f03aeee8a92bed7fb0131" title="Creates an UDPC_ConnectionId with the given addr string and port.">UDPC_create_id_easy()</a> to create one. This struct does not hold dynamic data, so there is no need to free it. </p>
 </div><hr/>The documentation for this struct was generated from the following file:<ul>
 <li>src/<a class="el" href="UDPC_8h_source.html">UDPC.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 576d9b9d934295174e9a1d1c27bba01c7d2e09a9..03667d87069da095a902838f97621bc13a0b75a7 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: UDPC_Event Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -65,8 +66,7 @@ $(function() {
   <div class="summary">
 <a href="#nested-classes">Data Structures</a> &#124;
 <a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">UDPC_Event Struct Reference</div>  </div>
+  <div class="headertitle"><div class="title">UDPC_Event Struct Reference</div></div>
 </div><!--header-->
 <div class="contents">
 
@@ -75,33 +75,33 @@ $(function() {
 
 <p><code>#include &lt;<a class="el" href="UDPC_8h_source.html">UDPC.h</a>&gt;</code></p>
 <table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
 Data Structures</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionUDPC__Event_1_1Value.html">Value</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Data Fields</h2></td></tr>
-<tr class="memitem:ae1cfa566bb5079c84d1852d7ac1b1833"><td class="memItemLeft" align="right" valign="top"><a id="ae1cfa566bb5079c84d1852d7ac1b1833"></a>
+<tr class="memitem:ae1cfa566bb5079c84d1852d7ac1b1833"><td class="memItemLeft" align="right" valign="top"><a id="ae1cfa566bb5079c84d1852d7ac1b1833" name="ae1cfa566bb5079c84d1852d7ac1b1833"></a>
 <a class="el" href="UDPC_8h.html#adaa0534bf7f04bb2f6ce8975c99c4af0">UDPC_EventType</a>&#160;</td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
 <tr class="separator:ae1cfa566bb5079c84d1852d7ac1b1833"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9eb52565caff5b8ffd3fd40156b961d2"><td class="memItemLeft" align="right" valign="top"><a id="a9eb52565caff5b8ffd3fd40156b961d2"></a>
+<tr class="memitem:a9eb52565caff5b8ffd3fd40156b961d2"><td class="memItemLeft" align="right" valign="top"><a id="a9eb52565caff5b8ffd3fd40156b961d2" name="a9eb52565caff5b8ffd3fd40156b961d2"></a>
 <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>&#160;</td><td class="memItemRight" valign="bottom"><b>conId</b></td></tr>
 <tr class="separator:a9eb52565caff5b8ffd3fd40156b961d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4c05ba5e90d1590a8ebfda0a277e2909"><td class="memItemLeft" align="right" valign="top"><a id="a4c05ba5e90d1590a8ebfda0a277e2909"></a>
+<tr class="memitem:a4c05ba5e90d1590a8ebfda0a277e2909"><td class="memItemLeft" align="right" valign="top"><a id="a4c05ba5e90d1590a8ebfda0a277e2909" name="a4c05ba5e90d1590a8ebfda0a277e2909"></a>
 union <a class="el" href="unionUDPC__Event_1_1Value.html">UDPC_Event::Value</a>&#160;</td><td class="memItemRight" valign="bottom"><b>v</b></td></tr>
 <tr class="separator:a4c05ba5e90d1590a8ebfda0a277e2909"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>A struct containing information related to the type of event. </p>
-<p>Note that instances of this struct received from a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will not store any useful data in its union member variable <code>v</code> (it will only be used internally). Thus, all events received through a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will contain a valid <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> <code>conId</code> that identifies the peer that the event is referring to. </p>
+<div class="textblock"><p >A struct containing information related to the type of event. </p>
+<p >Note that instances of this struct received from a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will not store any useful data in its union member variable <code>v</code> (it will only be used internally). Thus, all events received through a call to <a class="el" href="UDPC_8h.html#a2c05c6fe89edde1e05ba9b6d8b5f7510" title="Gets a recorded event.">UDPC_get_event()</a> will contain a valid <a class="el" href="structUDPC__ConnectionId.html" title="Data identifying a peer via addr, port, and scope_id.">UDPC_ConnectionId</a> <code>conId</code> that identifies the peer that the event is referring to. </p>
 </div><hr/>The documentation for this struct was generated from the following file:<ul>
 <li>src/<a class="el" href="UDPC_8h_source.html">UDPC.h</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 749ae7007d546d30a4c7285b559807df433ee0c2..f795c2149f509c003eec1e96c390609c45e1ddba 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: UDPC_PacketInfo Struct Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -64,8 +65,7 @@ $(function() {
 <div class="header">
   <div class="summary">
 <a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">UDPC_PacketInfo Struct Reference</div>  </div>
+  <div class="headertitle"><div class="title">UDPC_PacketInfo Struct Reference</div></div>
 </div><!--header-->
 <div class="contents">
 
@@ -74,7 +74,7 @@ $(function() {
 
 <p><code>#include &lt;<a class="el" href="UDPC_8h_source.html">UDPC.h</a>&gt;</code></p>
 <table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Data Fields</h2></td></tr>
 <tr class="memitem:a1358f91f28c4a023ef201e868bf1069e"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a></td></tr>
 <tr class="separator:a1358f91f28c4a023ef201e868bf1069e"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -87,24 +87,24 @@ Data Fields</h2></td></tr>
 <tr class="memitem:a70230a2eb6a638d9e9fc04e230c92a74"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a></td></tr>
 <tr class="memdesc:a70230a2eb6a638d9e9fc04e230c92a74"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size in bytes of the received packet's data inside the <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> pointer member variable.  <a href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">More...</a><br /></td></tr>
 <tr class="separator:a70230a2eb6a638d9e9fc04e230c92a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa55075dde4f9c476b4d1467bbffd43a7"><td class="memItemLeft" align="right" valign="top"><a id="aa55075dde4f9c476b4d1467bbffd43a7"></a>
+<tr class="memitem:aa55075dde4f9c476b4d1467bbffd43a7"><td class="memItemLeft" align="right" valign="top"><a id="aa55075dde4f9c476b4d1467bbffd43a7" name="aa55075dde4f9c476b4d1467bbffd43a7"></a>
 uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>rtt</b></td></tr>
 <tr class="separator:aa55075dde4f9c476b4d1467bbffd43a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5af734c663d3df72dad2b81a8794b6dc"><td class="memItemLeft" align="right" valign="top"><a id="a5af734c663d3df72dad2b81a8794b6dc"></a>
-<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#a5af734c663d3df72dad2b81a8794b6dc">sender</a></td></tr>
+<tr class="memitem:a5af734c663d3df72dad2b81a8794b6dc"><td class="memItemLeft" align="right" valign="top"><a id="a5af734c663d3df72dad2b81a8794b6dc" name="a5af734c663d3df72dad2b81a8794b6dc"></a>
+<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>&#160;</td><td class="memItemRight" valign="bottom"><b>sender</b></td></tr>
 <tr class="memdesc:a5af734c663d3df72dad2b81a8794b6dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> of the sender. <br /></td></tr>
 <tr class="separator:a5af734c663d3df72dad2b81a8794b6dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a965f393584d389dc72becd439cafde0d"><td class="memItemLeft" align="right" valign="top"><a id="a965f393584d389dc72becd439cafde0d"></a>
-<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structUDPC__PacketInfo.html#a965f393584d389dc72becd439cafde0d">receiver</a></td></tr>
+<tr class="memitem:a965f393584d389dc72becd439cafde0d"><td class="memItemLeft" align="right" valign="top"><a id="a965f393584d389dc72becd439cafde0d" name="a965f393584d389dc72becd439cafde0d"></a>
+<a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a>&#160;</td><td class="memItemRight" valign="bottom"><b>receiver</b></td></tr>
 <tr class="memdesc:a965f393584d389dc72becd439cafde0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="structUDPC__ConnectionId.html">UDPC_ConnectionId</a> of the receiver. <br /></td></tr>
 <tr class="separator:a965f393584d389dc72becd439cafde0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Data representing a received/sent packet. </p>
-<p>If <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> is NULL or <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a> is 0, then this packet is invalid.</p>
+<div class="textblock"><p >Data representing a received/sent packet. </p>
+<p >If <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> is NULL or <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a> is 0, then this packet is invalid.</p>
 <dl class="section warning"><dt>Warning</dt><dd>This struct must be free'd with a call to UDPC_free_PacketInfo to avoid a memory leak. </dd></dl>
 </div><h2 class="groupheader">Field Documentation</h2>
-<a id="a1358f91f28c4a023ef201e868bf1069e"></a>
+<a id="a1358f91f28c4a023ef201e868bf1069e" name="a1358f91f28c4a023ef201e868bf1069e"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a1358f91f28c4a023ef201e868bf1069e">&#9670;&nbsp;</a></span>data</h2>
 
 <div class="memitem">
@@ -115,11 +115,11 @@ uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>rtt</b></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<p>A char array of size <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>. Will be NULL if this <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a> is invalid. </p>
+<p >A char array of size <a class="el" href="structUDPC__PacketInfo.html#a70230a2eb6a638d9e9fc04e230c92a74">dataSize</a>. Will be NULL if this <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a> is invalid. </p>
 
 </div>
 </div>
-<a id="a70230a2eb6a638d9e9fc04e230c92a74"></a>
+<a id="a70230a2eb6a638d9e9fc04e230c92a74" name="a70230a2eb6a638d9e9fc04e230c92a74"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a70230a2eb6a638d9e9fc04e230c92a74">&#9670;&nbsp;</a></span>dataSize</h2>
 
 <div class="memitem">
@@ -132,11 +132,11 @@ uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>rtt</b></td></tr>
 </div><div class="memdoc">
 
 <p>The size in bytes of the received packet's data inside the <a class="el" href="structUDPC__PacketInfo.html#a1358f91f28c4a023ef201e868bf1069e">data</a> pointer member variable. </p>
-<p>UDPC does not return an empty packet when calling <a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3" title="Get a received packet from a given UDPC context.">UDPC_get_received()</a>, so in such a packet dataSize shouldn't be zero. (UDPC only stores received packets that do have a payload.) This means that if this variable is 0, then this <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a> is invalid. </p>
+<p >UDPC does not return an empty packet when calling <a class="el" href="UDPC_8h.html#affa8655a4e7e3475be441060e92213b3" title="Get a received packet from a given UDPC context.">UDPC_get_received()</a>, so in such a packet dataSize shouldn't be zero. (UDPC only stores received packets that do have a payload.) This means that if this variable is 0, then this <a class="el" href="structUDPC__PacketInfo.html" title="Data representing a received/sent packet.">UDPC_PacketInfo</a> is invalid. </p>
 
 </div>
 </div>
-<a id="ad538ac2682e8276dc33553237f012ce1"></a>
+<a id="ad538ac2682e8276dc33553237f012ce1" name="ad538ac2682e8276dc33553237f012ce1"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ad538ac2682e8276dc33553237f012ce1">&#9670;&nbsp;</a></span>flags</h2>
 
 <div class="memitem">
@@ -149,7 +149,7 @@ uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>rtt</b></td></tr>
 </div><div class="memdoc">
 
 <p>Flags indication some additional information about the received packet. </p>
-<p>The following list indicates what each used bit in <code>flags</code> refers to.</p><ul>
+<p >The following list indicates what each used bit in <code>flags</code> refers to.</p><ul>
 <li>0x1: Is an initiate-connection packet</li>
 <li>0x2: Is a ping packet</li>
 <li>0x4: Is a packet that will not be re-sent if not received</li>
@@ -158,7 +158,7 @@ uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>rtt</b></td></tr>
 
 </div>
 </div>
-<a id="ac21cc9beab22eb1e1a2d5c0797ed0fbe"></a>
+<a id="ac21cc9beab22eb1e1a2d5c0797ed0fbe" name="ac21cc9beab22eb1e1a2d5c0797ed0fbe"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ac21cc9beab22eb1e1a2d5c0797ed0fbe">&#9670;&nbsp;</a></span>id</h2>
 
 <div class="memitem">
@@ -171,7 +171,7 @@ uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>rtt</b></td></tr>
 </div><div class="memdoc">
 
 <p>The packet's id. </p>
-<p>Packets start with id = 0, and will wrap around. This can be used to determine specifically how out of order a packet may be. </p>
+<p >Packets start with id = 0, and will wrap around. This can be used to determine specifically how out of order a packet may be. </p>
 
 </div>
 </div>
@@ -181,7 +181,7 @@ uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>rtt</b></td></tr>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>
index 85a0cd5b5857b5fc94039256cd05e133b7e3bd9d..00d1c602496431b8bbd41230f33a0208bf756651 100644 (file)
--- a/tabs.css
+++ b/tabs.css
@@ -1 +1 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:#666;-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
\ No newline at end of file
index 8f11037c72f7b8f7bfc83c2baab785dfe0493710..1692b2ee0959ef517e621b8639b67c13130a8fed 100644 (file)
@@ -2,8 +2,8 @@
 <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.9.1"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.4"/>
 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 <title>UDPConnection: UDPC_Event::Value Union Reference</title>
 <link href="tabs.css" rel="stylesheet" type="text/css"/>
@@ -19,8 +19,8 @@
 <div id="titlearea">
 <table cellspacing="0" cellpadding="0">
  <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
+ <tr id="projectrow">
+  <td id="projectalign">
    <div id="projectname">UDPConnection
    </div>
    <div id="projectbrief">A network connection implementation over UDP</div>
 </table>
 </div>
 <!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
+<!-- Generated by Doxygen 1.9.4 -->
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search",'Search','.html');
 /* @license-end */
 </script>
 <script type="text/javascript" src="menudata.js"></script>
 <script type="text/javascript" src="menu.js"></script>
 <script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
 $(function() {
   initMenu('',true,false,'search.php','Search');
   $(document).ready(function() { init_search(); });
 });
-/* @license-end */</script>
+/* @license-end */
+</script>
 <div id="main-nav"></div>
 <!-- window showing the filter options -->
 <div id="MSearchSelectWindow"
@@ -68,17 +69,16 @@ $(function() {
 <div class="header">
   <div class="summary">
 <a href="#pub-attribs">Data Fields</a>  </div>
-  <div class="headertitle">
-<div class="title">UDPC_Event::Value Union Reference</div>  </div>
+  <div class="headertitle"><div class="title">UDPC_Event::Value Union Reference</div></div>
 </div><!--header-->
 <div class="contents">
 <table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
 Data Fields</h2></td></tr>
-<tr class="memitem:a174ba7a922af274d990c5557b8f00fc7"><td class="memItemLeft" align="right" valign="top"><a id="a174ba7a922af274d990c5557b8f00fc7"></a>
+<tr class="memitem:a174ba7a922af274d990c5557b8f00fc7"><td class="memItemLeft" align="right" valign="top"><a id="a174ba7a922af274d990c5557b8f00fc7" name="a174ba7a922af274d990c5557b8f00fc7"></a>
 int&#160;</td><td class="memItemRight" valign="bottom"><b>dropAllWithAddr</b></td></tr>
 <tr class="separator:a174ba7a922af274d990c5557b8f00fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3b917ebd9685800c442da05c269abbe2"><td class="memItemLeft" align="right" valign="top"><a id="a3b917ebd9685800c442da05c269abbe2"></a>
+<tr class="memitem:a3b917ebd9685800c442da05c269abbe2"><td class="memItemLeft" align="right" valign="top"><a id="a3b917ebd9685800c442da05c269abbe2" name="a3b917ebd9685800c442da05c269abbe2"></a>
 int&#160;</td><td class="memItemRight" valign="bottom"><b>enableLibSodium</b></td></tr>
 <tr class="separator:a3b917ebd9685800c442da05c269abbe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
@@ -88,7 +88,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>enableLibSodium</b></t
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
 </small></address>
 </body>
 </html>