Commit 1fd2cc4ab0782804cd79986b17b498a09ffbe82f

Authored by Imanol-Mikel Barba Sabariego
1 parent 6c1aa719

git-svn-id: svn://imanolbarba.net/PAD@36 c2ee353e-ed0d-4329-bf56-03aec153487f

Showing 142 changed files with 4311 additions and 2192 deletions
JChatClient/bin/client
No preview for this file type
JChatClient/doc/html/_socket_8cpp.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/Socket.cpp</title> 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/Socket.cpp</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -90,20 +90,20 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -90,20 +90,20 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
90 </div><!--header--> 90 </div><!--header-->
91 <div class="contents"> 91 <div class="contents">
92 92
93 -<p>Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. 93 +<p>Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>.
94 <a href="#details">Más...</a></p> 94 <a href="#details">Más...</a></p>
95 <div class="textblock"><code>#include &quot;<a class="el" href="_socket_8h_source.html">Socket.h</a>&quot;</code><br/> 95 <div class="textblock"><code>#include &quot;<a class="el" href="_socket_8h_source.html">Socket.h</a>&quot;</code><br/>
96 </div><a name="details" id="details"></a><h2 class="groupheader">Descripción detallada</h2> 96 </div><a name="details" id="details"></a><h2 class="groupheader">Descripción detallada</h2>
97 -<div class="textblock"><p>Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. </p> 97 +<div class="textblock"><p>Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. </p>
98 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl> 98 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl>
99 <dl class="section date"><dt>Fecha</dt><dd>13/06/2013</dd></dl> 99 <dl class="section date"><dt>Fecha</dt><dd>13/06/2013</dd></dl>
100 -<p>En este fichero se implementan los métodos de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> definidos en <a class="el" href="_socket_8h.html" title="Header de la clase Socket.">Socket.h</a> </p> 100 +<p>En este fichero se implementan los métodos de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> definidos en <a class="el" href="_socket_8h.html" title="Header de la clase Socket. ">Socket.h</a> </p>
101 </div></div><!-- contents --> 101 </div></div><!-- contents -->
102 <!-- start footer part --> 102 <!-- start footer part -->
103 <hr class="footer"/><address class="footer"><small> 103 <hr class="footer"/><address class="footer"><small>
104 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 104 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
105 <img class="footer" src="doxygen.png" alt="doxygen"/> 105 <img class="footer" src="doxygen.png" alt="doxygen"/>
106 -</a> 1.8.3.1 106 +</a> 1.8.4
107 </small></address> 107 </small></address>
108 </body> 108 </body>
109 </html> 109 </html>
JChatClient/doc/html/_socket_8h.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/Socket.h</title> 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/Socket.h</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -92,7 +92,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -92,7 +92,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
92 </div><!--header--> 92 </div><!--header-->
93 <div class="contents"> 93 <div class="contents">
94 94
95 -<p>Header de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. 95 +<p>Header de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>.
96 <a href="#details">Más...</a></p> 96 <a href="#details">Más...</a></p>
97 <div class="textblock"><code>#include &lt;iostream&gt;</code><br/> 97 <div class="textblock"><code>#include &lt;iostream&gt;</code><br/>
98 <code>#include &lt;sstream&gt;</code><br/> 98 <code>#include &lt;sstream&gt;</code><br/>
@@ -116,16 +116,16 @@ Clases&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -116,16 +116,16 @@ Clases&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
116 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> 116 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
117 </table> 117 </table>
118 <a name="details" id="details"></a><h2 class="groupheader">Descripción detallada</h2> 118 <a name="details" id="details"></a><h2 class="groupheader">Descripción detallada</h2>
119 -<div class="textblock"><p>Header de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. </p> 119 +<div class="textblock"><p>Header de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. </p>
120 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl> 120 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl>
121 <dl class="section date"><dt>Fecha</dt><dd>12/06/2013</dd></dl> 121 <dl class="section date"><dt>Fecha</dt><dd>12/06/2013</dd></dl>
122 -<p>En este fichero se define la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>, que es la clase que se abstraer toda la comunicación con sockets al programador </p> 122 +<p>En este fichero se define la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>, que es la clase que se abstraer toda la comunicación con sockets al programador </p>
123 </div></div><!-- contents --> 123 </div></div><!-- contents -->
124 <!-- start footer part --> 124 <!-- start footer part -->
125 <hr class="footer"/><address class="footer"><small> 125 <hr class="footer"/><address class="footer"><small>
126 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 126 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
127 <img class="footer" src="doxygen.png" alt="doxygen"/> 127 <img class="footer" src="doxygen.png" alt="doxygen"/>
128 -</a> 1.8.3.1 128 +</a> 1.8.4
129 </small></address> 129 </small></address>
130 </body> 130 </body>
131 </html> 131 </html>
JChatClient/doc/html/_socket_8h_source.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/Socket.h</title> 7 <title>Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/Socket.h</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -95,7 +95,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -95,7 +95,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
95 <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor"></span></div> 95 <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor"></span></div>
96 <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div> 96 <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
97 <div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div> 97 <div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div>
98 -<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets.">SocketException.h</a>&quot;</span></div> 98 +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets. ">SocketException.h</a>&quot;</span></div>
99 <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &lt;sys/socket.h&gt;</span></div> 99 <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &lt;sys/socket.h&gt;</span></div>
100 <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div> 100 <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
101 <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;netinet/in.h&gt;</span></div> 101 <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;netinet/in.h&gt;</span></div>
@@ -109,11 +109,11 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -109,11 +109,11 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
109 <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">using namespace </span>std;</div> 109 <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">using namespace </span>std;</div>
110 <div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div> 110 <div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
111 <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div> 111 <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
112 -<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="class_socket.html"> 31</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_socket.html" title="Clase del socket.">Socket</a></div> 112 +<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="class_socket.html"> 31</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a></div>
113 <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div> 113 <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
114 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">private</span>:</div> 114 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">private</span>:</div>
115 <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div> 115 <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
116 -<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="class_socket.html#a231ddf6e338a86640e26808b83efeaa1"> 36</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_socket.html#a231ddf6e338a86640e26808b83efeaa1" title="Descriptor del fichero del socket.">sock</a>;</div> 116 +<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="class_socket.html#a231ddf6e338a86640e26808b83efeaa1"> 36</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_socket.html#a231ddf6e338a86640e26808b83efeaa1" title="Descriptor del fichero del socket. ">sock</a>;</div>
117 <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div> 117 <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
118 <div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="class_socket.html#ae4d80b83c327ed835b5f4575a499a400"> 39</a></span>&#160; <span class="keyword">struct </span>sockaddr_in sockAddr;</div> 118 <div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="class_socket.html#ae4d80b83c327ed835b5f4575a499a400"> 39</a></span>&#160; <span class="keyword">struct </span>sockaddr_in sockAddr;</div>
119 <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div> 119 <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
@@ -123,7 +123,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -123,7 +123,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
123 <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div> 123 <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
124 <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">public</span>:</div> 124 <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">public</span>:</div>
125 <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div> 125 <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
126 -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a>();</div> 126 +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a>();</div>
127 <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div> 127 <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
128 <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">void</span> Create();</div> 128 <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">void</span> Create();</div>
129 <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div> 129 <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
@@ -131,7 +131,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -131,7 +131,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
131 <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div> 131 <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
132 <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">void</span> Listen(<span class="keywordtype">int</span> backlog);</div> 132 <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">void</span> Listen(<span class="keywordtype">int</span> backlog);</div>
133 <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div> 133 <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
134 -<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">void</span> Accept(<a class="code" href="class_socket.html" title="Clase del socket.">Socket</a> &amp;clientSock);</div> 134 +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">void</span> Accept(<a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a> &amp;clientSock);</div>
135 <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div> 135 <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
136 <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">void</span> Connect(<span class="keywordtype">string</span> hostname, <span class="keywordtype">int</span> port);</div> 136 <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">void</span> Connect(<span class="keywordtype">string</span> hostname, <span class="keywordtype">int</span> port);</div>
137 <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div> 137 <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
@@ -139,17 +139,17 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -139,17 +139,17 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
139 <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div> 139 <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
140 <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordtype">int</span> getSock();</div> 140 <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordtype">int</span> getSock();</div>
141 <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div> 141 <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
142 -<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a>&amp; operator &lt;&lt; ( <span class="keyword">const</span> <span class="keywordtype">string</span>&amp; );</div> 142 +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a>&amp; operator &lt;&lt; ( <span class="keyword">const</span> <span class="keywordtype">string</span>&amp; );</div>
143 <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div> 143 <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
144 -<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">const</span> <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a>&amp; operator &gt;&gt; ( <span class="keywordtype">string</span>&amp; );</div> 144 +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">const</span> <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a>&amp; operator &gt;&gt; ( <span class="keywordtype">string</span>&amp; );</div>
145 <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;};</div> 145 <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;};</div>
146 <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* SOCKET_H_ */</span><span class="preprocessor"></span></div> 146 <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* SOCKET_H_ */</span><span class="preprocessor"></span></div>
147 </div><!-- fragment --></div><!-- contents --> 147 </div><!-- fragment --></div><!-- contents -->
148 <!-- start footer part --> 148 <!-- start footer part -->
149 <hr class="footer"/><address class="footer"><small> 149 <hr class="footer"/><address class="footer"><small>
150 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 150 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
151 <img class="footer" src="doxygen.png" alt="doxygen"/> 151 <img class="footer" src="doxygen.png" alt="doxygen"/>
152 -</a> 1.8.3.1 152 +</a> 1.8.4
153 </small></address> 153 </small></address>
154 </body> 154 </body>
155 </html> 155 </html>
JChatClient/doc/html/_socket_exception_8h.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/SocketException.h</title> 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/SocketException.h</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -108,13 +108,13 @@ Clases&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -108,13 +108,13 @@ Clases&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
108 <div class="textblock"><p>Header de excepción de Sockets. </p> 108 <div class="textblock"><p>Header de excepción de Sockets. </p>
109 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl> 109 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl>
110 <dl class="section date"><dt>Fecha</dt><dd>10/06/2013</dd></dl> 110 <dl class="section date"><dt>Fecha</dt><dd>10/06/2013</dd></dl>
111 -<p>En este fichero se define la clase <a class="el" href="class_socket_exception.html" title="Clase de Excepción de Sockets.">SocketException</a> para el control de excepciones producidas por la librería. </p> 111 +<p>En este fichero se define la clase <a class="el" href="class_socket_exception.html" title="Clase de Excepción de Sockets. ">SocketException</a> para el control de excepciones producidas por la librería. </p>
112 </div></div><!-- contents --> 112 </div></div><!-- contents -->
113 <!-- start footer part --> 113 <!-- start footer part -->
114 <hr class="footer"/><address class="footer"><small> 114 <hr class="footer"/><address class="footer"><small>
115 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 115 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
116 <img class="footer" src="doxygen.png" alt="doxygen"/> 116 <img class="footer" src="doxygen.png" alt="doxygen"/>
117 -</a> 1.8.3.1 117 +</a> 1.8.4
118 </small></address> 118 </small></address>
119 </body> 119 </body>
120 </html> 120 </html>
JChatClient/doc/html/_socket_exception_8h_source.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/SocketException.h</title> 7 <title>Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/SocketException.h</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -98,24 +98,24 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -98,24 +98,24 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
98 <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">using namespace </span>std;</div> 98 <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">using namespace </span>std;</div>
99 <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div> 99 <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
100 <div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div> 100 <div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
101 -<div class="line"><a name="l00020"></a><span class="lineno"><a class="code" href="class_socket_exception.html"> 20</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_socket_exception.html" title="Clase de Excepción de Sockets.">SocketException</a></div> 101 +<div class="line"><a name="l00020"></a><span class="lineno"><a class="code" href="class_socket_exception.html"> 20</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_socket_exception.html" title="Clase de Excepción de Sockets. ">SocketException</a></div>
102 <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;{</div> 102 <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;{</div>
103 <div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">public</span>:</div> 103 <div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">public</span>:</div>
104 <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div> 104 <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
105 -<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a06573084bad8aca1443281c0970fe033"> 25</a></span>&#160; <a class="code" href="class_socket_exception.html#a06573084bad8aca1443281c0970fe033" title="Constructor de la clase.">SocketException</a> ( <span class="keywordtype">string</span> m ) : message ( m ) {};</div> 105 +<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a06573084bad8aca1443281c0970fe033"> 25</a></span>&#160; <a class="code" href="class_socket_exception.html#a06573084bad8aca1443281c0970fe033" title="Constructor de la clase. ">SocketException</a> ( <span class="keywordtype">string</span> m ) : message ( m ) {};</div>
106 <div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a659557c899329aea01977c980c4db9b9"> 26</a></span>&#160; <a class="code" href="class_socket_exception.html#a659557c899329aea01977c980c4db9b9">~SocketException</a> (){};</div> 106 <div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a659557c899329aea01977c980c4db9b9"> 26</a></span>&#160; <a class="code" href="class_socket_exception.html#a659557c899329aea01977c980c4db9b9">~SocketException</a> (){};</div>
107 <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div> 107 <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
108 -<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="class_socket_exception.html#ae160a594055812694ac93f7118c4af1c"> 29</a></span>&#160; <span class="keywordtype">string</span> <a class="code" href="class_socket_exception.html#ae160a594055812694ac93f7118c4af1c" title="Getter del atributo message.">description</a>() { <span class="keywordflow">return</span> message; }</div> 108 +<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="class_socket_exception.html#ae160a594055812694ac93f7118c4af1c"> 29</a></span>&#160; <span class="keywordtype">string</span> <a class="code" href="class_socket_exception.html#ae160a594055812694ac93f7118c4af1c" title="Getter del atributo message. ">description</a>() { <span class="keywordflow">return</span> message; }</div>
109 <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">private</span>:</div> 109 <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">private</span>:</div>
110 -<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a43f3472f1433552059ffeb9a251a9b76"> 32</a></span>&#160; <span class="keywordtype">string</span> <a class="code" href="class_socket_exception.html#a43f3472f1433552059ffeb9a251a9b76" title="Mensaje asociado a la excepción producida.">message</a>; </div> 110 +<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a43f3472f1433552059ffeb9a251a9b76"> 32</a></span>&#160; <span class="keywordtype">string</span> <a class="code" href="class_socket_exception.html#a43f3472f1433552059ffeb9a251a9b76" title="Mensaje asociado a la excepción producida. ">message</a>; </div>
111 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;};</div> 111 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;};</div>
112 <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* SOCKETEXCEPTION_H_ */</span><span class="preprocessor"></span></div> 112 <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* SOCKETEXCEPTION_H_ */</span><span class="preprocessor"></span></div>
113 </div><!-- fragment --></div><!-- contents --> 113 </div><!-- fragment --></div><!-- contents -->
114 <!-- start footer part --> 114 <!-- start footer part -->
115 <hr class="footer"/><address class="footer"><small> 115 <hr class="footer"/><address class="footer"><small>
116 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 116 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
117 <img class="footer" src="doxygen.png" alt="doxygen"/> 117 <img class="footer" src="doxygen.png" alt="doxygen"/>
118 -</a> 1.8.3.1 118 +</a> 1.8.4
119 </small></address> 119 </small></address>
120 </body> 120 </body>
121 </html> 121 </html>
JChatClient/doc/html/annotated.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Lista de clases</title> 7 <title>Socket: Lista de clases</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -88,17 +88,17 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -88,17 +88,17 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
88 <div class="contents"> 88 <div class="contents">
89 <div class="textblock">Lista de las clases, estructuras, uniones e interfaces con una breve descripción:</div><div class="directory"> 89 <div class="textblock">Lista de las clases, estructuras, uniones e interfaces con una breve descripción:</div><div class="directory">
90 <table class="directory"> 90 <table class="directory">
91 -<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_socket.html" target="_self">Socket</a></td><td class="desc">Clase del socket</td></tr>  
92 -<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_socket_exception.html" target="_self">SocketException</a></td><td class="desc">Clase de Excepción de Sockets</td></tr>  
93 -<tr id="row_2_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structthread__args.html" target="_self">thread_args</a></td><td class="desc">Argumentos de los threads</td></tr> 91 +<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_socket.html" target="_self">Socket</a></td><td class="desc">Clase del socket </td></tr>
  92 +<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_socket_exception.html" target="_self">SocketException</a></td><td class="desc">Clase de Excepción de Sockets </td></tr>
  93 +<tr id="row_2_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structthread__args.html" target="_self">thread_args</a></td><td class="desc">Argumentos de los threads </td></tr>
94 </table> 94 </table>
95 </div><!-- directory --> 95 </div><!-- directory -->
96 </div><!-- contents --> 96 </div><!-- contents -->
97 <!-- start footer part --> 97 <!-- start footer part -->
98 <hr class="footer"/><address class="footer"><small> 98 <hr class="footer"/><address class="footer"><small>
99 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 99 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
100 <img class="footer" src="doxygen.png" alt="doxygen"/> 100 <img class="footer" src="doxygen.png" alt="doxygen"/>
101 -</a> 1.8.3.1 101 +</a> 1.8.4
102 </small></address> 102 </small></address>
103 </body> 103 </body>
104 </html> 104 </html>
JChatClient/doc/html/class_socket-members.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Lista de los miembros</title> 7 <title>Socket: Lista de los miembros</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -106,9 +106,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -106,9 +106,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
106 </table></div><!-- contents --> 106 </table></div><!-- contents -->
107 <!-- start footer part --> 107 <!-- start footer part -->
108 <hr class="footer"/><address class="footer"><small> 108 <hr class="footer"/><address class="footer"><small>
109 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 109 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
110 <img class="footer" src="doxygen.png" alt="doxygen"/> 110 <img class="footer" src="doxygen.png" alt="doxygen"/>
111 -</a> 1.8.3.1 111 +</a> 1.8.4
112 </small></address> 112 </small></address>
113 </body> 113 </body>
114 </html> 114 </html>
JChatClient/doc/html/class_socket.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia de la Clase Socket</title> 7 <title>Socket: Referencia de la Clase Socket</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -100,7 +100,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -100,7 +100,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
100 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> 100 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
101 Métodos públicos</h2></td></tr> 101 Métodos públicos</h2></td></tr>
102 <tr class="memitem:a7c3256c4fc6e2c603df73201049fae5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_socket.html#a7c3256c4fc6e2c603df73201049fae5a">Socket</a> ()</td></tr> 102 <tr class="memitem:a7c3256c4fc6e2c603df73201049fae5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_socket.html#a7c3256c4fc6e2c603df73201049fae5a">Socket</a> ()</td></tr>
103 -<tr class="memdesc:a7c3256c4fc6e2c603df73201049fae5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. <a href="#a7c3256c4fc6e2c603df73201049fae5a">Más...</a><br/></td></tr> 103 +<tr class="memdesc:a7c3256c4fc6e2c603df73201049fae5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. <a href="#a7c3256c4fc6e2c603df73201049fae5a">Más...</a><br/></td></tr>
104 <tr class="separator:a7c3256c4fc6e2c603df73201049fae5a"><td class="memSeparator" colspan="2">&#160;</td></tr> 104 <tr class="separator:a7c3256c4fc6e2c603df73201049fae5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
105 <tr class="memitem:add736ccf41f102910a2b8ac5e77eb8b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_socket.html#add736ccf41f102910a2b8ac5e77eb8b1">Create</a> ()</td></tr> 105 <tr class="memitem:add736ccf41f102910a2b8ac5e77eb8b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_socket.html#add736ccf41f102910a2b8ac5e77eb8b1">Create</a> ()</td></tr>
106 <tr class="memdesc:add736ccf41f102910a2b8ac5e77eb8b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Método para crear sockets. <a href="#add736ccf41f102910a2b8ac5e77eb8b1">Más...</a><br/></td></tr> 106 <tr class="memdesc:add736ccf41f102910a2b8ac5e77eb8b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Método para crear sockets. <a href="#add736ccf41f102910a2b8ac5e77eb8b1">Más...</a><br/></td></tr>
@@ -159,13 +159,13 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -159,13 +159,13 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
159 <tr> 159 <tr>
160 <td class="memname">Socket::Socket </td> 160 <td class="memname">Socket::Socket </td>
161 <td>(</td> 161 <td>(</td>
162 - <td class="paramname"></td><td>)</td> 162 + <td class="paramname">)</td><td></td>
163 <td></td> 163 <td></td>
164 </tr> 164 </tr>
165 </table> 165 </table>
166 </div><div class="memdoc"> 166 </div><div class="memdoc">
167 167
168 -<p>Constructor de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. </p> 168 +<p>Constructor de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. </p>
169 <p>Inicializa el file descriptor del socket y prepara la memoria donde se almacenarán las llaves públicas. </p> 169 <p>Inicializa el file descriptor del socket y prepara la memoria donde se almacenarán las llaves públicas. </p>
170 170
171 </div> 171 </div>
@@ -179,17 +179,18 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -179,17 +179,18 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
179 <td class="memname">void Socket::Accept </td> 179 <td class="memname">void Socket::Accept </td>
180 <td>(</td> 180 <td>(</td>
181 <td class="paramtype"><a class="el" href="class_socket.html">Socket</a> &amp;&#160;</td> 181 <td class="paramtype"><a class="el" href="class_socket.html">Socket</a> &amp;&#160;</td>
182 - <td class="paramname"><em>clientSock</em></td><td>)</td> 182 + <td class="paramname"><em>clientSock</em>)</td><td></td>
183 <td></td> 183 <td></td>
184 </tr> 184 </tr>
185 </table> 185 </table>
186 </div><div class="memdoc"> 186 </div><div class="memdoc">
187 187
188 <p>Método para aceptar conexiones. </p> 188 <p>Método para aceptar conexiones. </p>
189 -<p>Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> en la referencia proporcionada por argumento. </p> 189 +<pre class="fragment">Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase
  190 +</pre><p> <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> en la referencia proporcionada por argumento. </p>
190 <dl class="params"><dt>Parámetros</dt><dd> 191 <dl class="params"><dt>Parámetros</dt><dd>
191 <table class="params"> 192 <table class="params">
192 - <tr><td class="paramname">clientSock</td><td>Instáncia de <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> que comunica con el cliente entrante </td></tr> 193 + <tr><td class="paramname">clientSock</td><td>Instáncia de <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> que comunica con el cliente entrante </td></tr>
193 </table> 194 </table>
194 </dd> 195 </dd>
195 </dl> 196 </dl>
@@ -221,7 +222,8 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -221,7 +222,8 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
221 </div><div class="memdoc"> 222 </div><div class="memdoc">
222 223
223 <p>Método para hacer bind a una dirección y puerto. </p> 224 <p>Método para hacer bind a una dirección y puerto. </p>
224 -<p>Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que posteriormente actúe de servidor escuchando conexiones. </p> 225 +<pre class="fragment">Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que
  226 +</pre><p> posteriormente actúe de servidor escuchando conexiones. </p>
225 <dl class="params"><dt>Parámetros</dt><dd> 227 <dl class="params"><dt>Parámetros</dt><dd>
226 <table class="params"> 228 <table class="params">
227 <tr><td class="paramname">address</td><td>Dirección IP asignada </td></tr> 229 <tr><td class="paramname">address</td><td>Dirección IP asignada </td></tr>
@@ -239,7 +241,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -239,7 +241,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
239 <tr> 241 <tr>
240 <td class="memname">void Socket::Close </td> 242 <td class="memname">void Socket::Close </td>
241 <td>(</td> 243 <td>(</td>
242 - <td class="paramname"></td><td>)</td> 244 + <td class="paramname">)</td><td></td>
243 <td></td> 245 <td></td>
244 </tr> 246 </tr>
245 </table> 247 </table>
@@ -275,7 +277,8 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -275,7 +277,8 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
275 </div><div class="memdoc"> 277 </div><div class="memdoc">
276 278
277 <p>Método para efectuar conexiones. </p> 279 <p>Método para efectuar conexiones. </p>
278 -<p>Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la dirección y puerto especificados y atienda conexiones. </p> 280 +<pre class="fragment">Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la
  281 +</pre><p> dirección y puerto especificados y atienda conexiones. </p>
279 <dl class="params"><dt>Parámetros</dt><dd> 282 <dl class="params"><dt>Parámetros</dt><dd>
280 <table class="params"> 283 <table class="params">
281 <tr><td class="paramname">hostname</td><td>Hostname al que conectarse </td></tr> 284 <tr><td class="paramname">hostname</td><td>Hostname al que conectarse </td></tr>
@@ -293,7 +296,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -293,7 +296,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
293 <tr> 296 <tr>
294 <td class="memname">void Socket::Create </td> 297 <td class="memname">void Socket::Create </td>
295 <td>(</td> 298 <td>(</td>
296 - <td class="paramname"></td><td>)</td> 299 + <td class="paramname">)</td><td></td>
297 <td></td> 300 <td></td>
298 </tr> 301 </tr>
299 </table> 302 </table>
@@ -311,7 +314,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -311,7 +314,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
311 <tr> 314 <tr>
312 <td class="memname">int Socket::getSock </td> 315 <td class="memname">int Socket::getSock </td>
313 <td>(</td> 316 <td>(</td>
314 - <td class="paramname"></td><td>)</td> 317 + <td class="paramname">)</td><td></td>
315 <td></td> 318 <td></td>
316 </tr> 319 </tr>
317 </table> 320 </table>
@@ -330,7 +333,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -330,7 +333,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
330 <td class="memname">void Socket::Listen </td> 333 <td class="memname">void Socket::Listen </td>
331 <td>(</td> 334 <td>(</td>
332 <td class="paramtype">int&#160;</td> 335 <td class="paramtype">int&#160;</td>
333 - <td class="paramname"><em>backlog</em></td><td>)</td> 336 + <td class="paramname"><em>backlog</em>)</td><td></td>
334 <td></td> 337 <td></td>
335 </tr> 338 </tr>
336 </table> 339 </table>
@@ -355,14 +358,15 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -355,14 +358,15 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
355 <td class="memname">const <a class="el" href="class_socket.html">Socket</a> &amp; Socket::operator&lt;&lt; </td> 358 <td class="memname">const <a class="el" href="class_socket.html">Socket</a> &amp; Socket::operator&lt;&lt; </td>
356 <td>(</td> 359 <td>(</td>
357 <td class="paramtype">const string &amp;&#160;</td> 360 <td class="paramtype">const string &amp;&#160;</td>
358 - <td class="paramname"><em>text</em></td><td>)</td> 361 + <td class="paramname"><em>text</em>)</td><td></td>
359 <td></td> 362 <td></td>
360 </tr> 363 </tr>
361 </table> 364 </table>
362 </div><div class="memdoc"> 365 </div><div class="memdoc">
363 366
364 <p>Método para enviar mensajes. </p> 367 <p>Método para enviar mensajes. </p>
365 -<p>Este método envía el mensaje que se le proporciona a través del <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> con o sin encriptación según las opciones de compilación usando el <a class="el" href="howto.html#proto">protocolo</a> implementado. </p> 368 +<pre class="fragment">Este método envía el mensaje que se le proporciona a través del Socket con o sin encriptación según
  369 +</pre><p> las opciones de compilación usando el <a class="el" href="howto.html#proto">protocolo</a> implementado. </p>
366 <dl class="params"><dt>Parámetros</dt><dd> 370 <dl class="params"><dt>Parámetros</dt><dd>
367 <table class="params"> 371 <table class="params">
368 <tr><td class="paramname">text</td><td>Mensaje a enviar </td></tr> 372 <tr><td class="paramname">text</td><td>Mensaje a enviar </td></tr>
@@ -380,14 +384,15 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -380,14 +384,15 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
380 <td class="memname">const <a class="el" href="class_socket.html">Socket</a> &amp; Socket::operator&gt;&gt; </td> 384 <td class="memname">const <a class="el" href="class_socket.html">Socket</a> &amp; Socket::operator&gt;&gt; </td>
381 <td>(</td> 385 <td>(</td>
382 <td class="paramtype">std::string &amp;&#160;</td> 386 <td class="paramtype">std::string &amp;&#160;</td>
383 - <td class="paramname"><em>text</em></td><td>)</td> 387 + <td class="paramname"><em>text</em>)</td><td></td>
384 <td></td> 388 <td></td>
385 </tr> 389 </tr>
386 </table> 390 </table>
387 </div><div class="memdoc"> 391 </div><div class="memdoc">
388 392
389 <p>Método para recibir mensajes. </p> 393 <p>Método para recibir mensajes. </p>
390 -<p>Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las opciones de compilación usando el <a class="el" href="howto.html#proto">protocolo</a> implementado. </p> 394 +<pre class="fragment">Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las \ref defines "opciones de compilación" usando
  395 +</pre><p> el <a class="el" href="howto.html#proto">protocolo</a> implementado. </p>
391 <dl class="params"><dt>Parámetros</dt><dd> 396 <dl class="params"><dt>Parámetros</dt><dd>
392 <table class="params"> 397 <table class="params">
393 <tr><td class="paramname">text</td><td>Mensaje a recibir </td></tr> 398 <tr><td class="paramname">text</td><td>Mensaje a recibir </td></tr>
@@ -541,9 +546,9 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -541,9 +546,9 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
541 </div><!-- contents --> 546 </div><!-- contents -->
542 <!-- start footer part --> 547 <!-- start footer part -->
543 <hr class="footer"/><address class="footer"><small> 548 <hr class="footer"/><address class="footer"><small>
544 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 549 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
545 <img class="footer" src="doxygen.png" alt="doxygen"/> 550 <img class="footer" src="doxygen.png" alt="doxygen"/>
546 -</a> 1.8.3.1 551 +</a> 1.8.4
547 </small></address> 552 </small></address>
548 </body> 553 </body>
549 </html> 554 </html>
JChatClient/doc/html/class_socket_exception-members.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Lista de los miembros</title> 7 <title>Socket: Lista de los miembros</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -96,9 +96,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -96,9 +96,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
96 </table></div><!-- contents --> 96 </table></div><!-- contents -->
97 <!-- start footer part --> 97 <!-- start footer part -->
98 <hr class="footer"/><address class="footer"><small> 98 <hr class="footer"/><address class="footer"><small>
99 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 99 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
100 <img class="footer" src="doxygen.png" alt="doxygen"/> 100 <img class="footer" src="doxygen.png" alt="doxygen"/>
101 -</a> 1.8.3.1 101 +</a> 1.8.4
102 </small></address> 102 </small></address>
103 </body> 103 </body>
104 </html> 104 </html>
JChatClient/doc/html/class_socket_exception.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia de la Clase SocketException</title> 7 <title>Socket: Referencia de la Clase SocketException</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -128,7 +128,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -128,7 +128,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
128 <td class="memname">SocketException::SocketException </td> 128 <td class="memname">SocketException::SocketException </td>
129 <td>(</td> 129 <td>(</td>
130 <td class="paramtype">string&#160;</td> 130 <td class="paramtype">string&#160;</td>
131 - <td class="paramname"><em>m</em></td><td>)</td> 131 + <td class="paramname"><em>m</em>)</td><td></td>
132 <td></td> 132 <td></td>
133 </tr> 133 </tr>
134 </table> 134 </table>
@@ -160,7 +160,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -160,7 +160,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
160 <tr> 160 <tr>
161 <td class="memname">SocketException::~SocketException </td> 161 <td class="memname">SocketException::~SocketException </td>
162 <td>(</td> 162 <td>(</td>
163 - <td class="paramname"></td><td>)</td> 163 + <td class="paramname">)</td><td></td>
164 <td></td> 164 <td></td>
165 </tr> 165 </tr>
166 </table> 166 </table>
@@ -184,7 +184,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -184,7 +184,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
184 <tr> 184 <tr>
185 <td class="memname">string SocketException::description </td> 185 <td class="memname">string SocketException::description </td>
186 <td>(</td> 186 <td>(</td>
187 - <td class="paramname"></td><td>)</td> 187 + <td class="paramname">)</td><td></td>
188 <td></td> 188 <td></td>
189 </tr> 189 </tr>
190 </table> 190 </table>
@@ -229,9 +229,9 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -229,9 +229,9 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
229 </div><!-- contents --> 229 </div><!-- contents -->
230 <!-- start footer part --> 230 <!-- start footer part -->
231 <hr class="footer"/><address class="footer"><small> 231 <hr class="footer"/><address class="footer"><small>
232 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 232 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
233 <img class="footer" src="doxygen.png" alt="doxygen"/> 233 <img class="footer" src="doxygen.png" alt="doxygen"/>
234 -</a> 1.8.3.1 234 +</a> 1.8.4
235 </small></address> 235 </small></address>
236 </body> 236 </body>
237 </html> 237 </html>
JChatClient/doc/html/classes.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Índice de clases</title> 7 <title>Socket: Índice de clases</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -100,9 +100,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -100,9 +100,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
100 </div><!-- contents --> 100 </div><!-- contents -->
101 <!-- start footer part --> 101 <!-- start footer part -->
102 <hr class="footer"/><address class="footer"><small> 102 <hr class="footer"/><address class="footer"><small>
103 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 103 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
104 <img class="footer" src="doxygen.png" alt="doxygen"/> 104 <img class="footer" src="doxygen.png" alt="doxygen"/>
105 -</a> 1.8.3.1 105 +</a> 1.8.4
106 </small></address> 106 </small></address>
107 </body> 107 </body>
108 </html> 108 </html>
JChatClient/doc/html/client_8cpp.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/client.cpp</title> 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/client.cpp</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -128,7 +128,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -128,7 +128,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
128 <div class="textblock"><p>Fichero de implementación de un cliente. </p> 128 <div class="textblock"><p>Fichero de implementación de un cliente. </p>
129 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl> 129 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl>
130 <dl class="section date"><dt>Fecha</dt><dd>13/06/2013</dd></dl> 130 <dl class="section date"><dt>Fecha</dt><dd>13/06/2013</dd></dl>
131 -<p>En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT </p> 131 +<p>En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT </p>
132 </div><h2 class="groupheader">Documentación de las funciones</h2> 132 </div><h2 class="groupheader">Documentación de las funciones</h2>
133 <a class="anchor" id="ab4a3d59d9d8c97b79cb3a6cb6a0e403c"></a> 133 <a class="anchor" id="ab4a3d59d9d8c97b79cb3a6cb6a0e403c"></a>
134 <div class="memitem"> 134 <div class="memitem">
@@ -138,7 +138,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -138,7 +138,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
138 <td class="memname">bool connect </td> 138 <td class="memname">bool connect </td>
139 <td>(</td> 139 <td>(</td>
140 <td class="paramtype"><a class="el" href="class_socket.html">Socket</a> &amp;&#160;</td> 140 <td class="paramtype"><a class="el" href="class_socket.html">Socket</a> &amp;&#160;</td>
141 - <td class="paramname"><em>s</em></td><td>)</td> 141 + <td class="paramname"><em>s</em>)</td><td></td>
142 <td></td> 142 <td></td>
143 </tr> 143 </tr>
144 </table> 144 </table>
@@ -157,7 +157,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -157,7 +157,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
157 <td class="memname">void killThread </td> 157 <td class="memname">void killThread </td>
158 <td>(</td> 158 <td>(</td>
159 <td class="paramtype"><a class="el" href="structthread__args.html">thread_args</a> *&#160;</td> 159 <td class="paramtype"><a class="el" href="structthread__args.html">thread_args</a> *&#160;</td>
160 - <td class="paramname"><em>t_arg</em></td><td>)</td> 160 + <td class="paramname"><em>t_arg</em>)</td><td></td>
161 <td></td> 161 <td></td>
162 </tr> 162 </tr>
163 </table> 163 </table>
@@ -175,14 +175,14 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -175,14 +175,14 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
175 <tr> 175 <tr>
176 <td class="memname">int main </td> 176 <td class="memname">int main </td>
177 <td>(</td> 177 <td>(</td>
178 - <td class="paramname"></td><td>)</td> 178 + <td class="paramname">)</td><td></td>
179 <td></td> 179 <td></td>
180 </tr> 180 </tr>
181 </table> 181 </table>
182 </div><div class="memdoc"> 182 </div><div class="memdoc">
183 183
184 <p>Método principal del cliente. </p> 184 <p>Método principal del cliente. </p>
185 -<p>Este método inicializa el <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor. </p> 185 +<p>Este método inicializa el <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor. </p>
186 186
187 </div> 187 </div>
188 </div> 188 </div>
@@ -194,7 +194,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -194,7 +194,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
194 <td class="memname">void* recvThread </td> 194 <td class="memname">void* recvThread </td>
195 <td>(</td> 195 <td>(</td>
196 <td class="paramtype">void *&#160;</td> 196 <td class="paramtype">void *&#160;</td>
197 - <td class="paramname"><em>args</em></td><td>)</td> 197 + <td class="paramname"><em>args</em>)</td><td></td>
198 <td></td> 198 <td></td>
199 </tr> 199 </tr>
200 </table> 200 </table>
@@ -213,7 +213,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -213,7 +213,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
213 <td class="memname">void* sendThread </td> 213 <td class="memname">void* sendThread </td>
214 <td>(</td> 214 <td>(</td>
215 <td class="paramtype">void *&#160;</td> 215 <td class="paramtype">void *&#160;</td>
216 - <td class="paramname"><em>args</em></td><td>)</td> 216 + <td class="paramname"><em>args</em>)</td><td></td>
217 <td></td> 217 <td></td>
218 </tr> 218 </tr>
219 </table> 219 </table>
@@ -256,9 +256,9 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -256,9 +256,9 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
256 </div><!-- contents --> 256 </div><!-- contents -->
257 <!-- start footer part --> 257 <!-- start footer part -->
258 <hr class="footer"/><address class="footer"><small> 258 <hr class="footer"/><address class="footer"><small>
259 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 259 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
260 <img class="footer" src="doxygen.png" alt="doxygen"/> 260 <img class="footer" src="doxygen.png" alt="doxygen"/>
261 -</a> 1.8.3.1 261 +</a> 1.8.4
262 </small></address> 262 </small></address>
263 </body> 263 </body>
264 </html> 264 </html>
JChatClient/doc/html/client_8dox.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/client.dox</title> 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/client.dox</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -91,9 +91,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -91,9 +91,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
91 </div></div><!-- contents --> 91 </div></div><!-- contents -->
92 <!-- start footer part --> 92 <!-- start footer part -->
93 <hr class="footer"/><address class="footer"><small> 93 <hr class="footer"/><address class="footer"><small>
94 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 94 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
95 <img class="footer" src="doxygen.png" alt="doxygen"/> 95 <img class="footer" src="doxygen.png" alt="doxygen"/>
96 -</a> 1.8.3.1 96 +</a> 1.8.4
97 </small></address> 97 </small></address>
98 </body> 98 </body>
99 </html> 99 </html>
JChatClient/doc/html/client_8h.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h</title> 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -110,9 +110,9 @@ Clases&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -110,9 +110,9 @@ Clases&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
110 </div><!-- contents --> 110 </div><!-- contents -->
111 <!-- start footer part --> 111 <!-- start footer part -->
112 <hr class="footer"/><address class="footer"><small> 112 <hr class="footer"/><address class="footer"><small>
113 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 113 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
114 <img class="footer" src="doxygen.png" alt="doxygen"/> 114 <img class="footer" src="doxygen.png" alt="doxygen"/>
115 -</a> 1.8.3.1 115 +</a> 1.8.4
116 </small></address> 116 </small></address>
117 </body> 117 </body>
118 </html> 118 </html>
JChatClient/doc/html/client_8h_source.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h</title> 7 <title>Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -92,23 +92,23 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -92,23 +92,23 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
92 <a href="client_8h.html">Ir a la documentación de este archivo.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef CLIENT_H_</span></div> 92 <a href="client_8h.html">Ir a la documentación de este archivo.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef CLIENT_H_</span></div>
93 <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CLIENT_H_</span></div> 93 <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CLIENT_H_</span></div>
94 <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor"></span></div> 94 <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor"></span></div>
95 -<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_8h.html" title="Header de la clase Socket.">Socket.h</a>&quot;</span></div> 95 +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_8h.html" title="Header de la clase Socket. ">Socket.h</a>&quot;</span></div>
96 <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div> 96 <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
97 -<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets.">SocketException.h</a>&quot;</span></div> 97 +<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets. ">SocketException.h</a>&quot;</span></div>
98 <div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div> 98 <div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div>
99 <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;signal.h&gt;</span></div> 99 <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;signal.h&gt;</span></div>
100 <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div> 100 <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
101 <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;sys/time.h&gt;</span></div> 101 <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;sys/time.h&gt;</span></div>
102 <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div> 102 <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
103 <div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div> 103 <div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
104 -<div class="line"><a name="l00017"></a><span class="lineno"><a class="code" href="structthread__args.html"> 17</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structthread__args.html" title="Argumentos de los threads.">thread_args</a></div> 104 +<div class="line"><a name="l00017"></a><span class="lineno"><a class="code" href="structthread__args.html"> 17</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structthread__args.html" title="Argumentos de los threads. ">thread_args</a></div>
105 <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;{</div> 105 <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;{</div>
106 <div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div> 106 <div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
107 -<div class="line"><a name="l00021"></a><span class="lineno"><a class="code" href="structthread__args.html#ad5d64499f5f6e2df467c96b52a94c520"> 21</a></span>&#160; pthread_mutex_t *<a class="code" href="structthread__args.html#ad5d64499f5f6e2df467c96b52a94c520" title="Variable de control de la exclusión mútua entre threads.">mutex</a>;</div> 107 +<div class="line"><a name="l00021"></a><span class="lineno"><a class="code" href="structthread__args.html#ad5d64499f5f6e2df467c96b52a94c520"> 21</a></span>&#160; pthread_mutex_t *<a class="code" href="structthread__args.html#ad5d64499f5f6e2df467c96b52a94c520" title="Variable de control de la exclusión mútua entre threads. ">mutex</a>;</div>
108 <div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div> 108 <div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
109 -<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="structthread__args.html#a96ee28beaed4175257db3d8794245f25"> 27</a></span>&#160; pthread_cond_t *<a class="code" href="structthread__args.html#a96ee28beaed4175257db3d8794245f25" title="Variable de notificación a otros threads.">condition</a>;</div> 109 +<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="structthread__args.html#a96ee28beaed4175257db3d8794245f25"> 27</a></span>&#160; pthread_cond_t *<a class="code" href="structthread__args.html#a96ee28beaed4175257db3d8794245f25" title="Variable de notificación a otros threads. ">condition</a>;</div>
110 <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div> 110 <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
111 -<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489"> 31</a></span>&#160; <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a> *<a class="code" href="structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489" title="Puntero al socket.">s</a>;</div> 111 +<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489"> 31</a></span>&#160; <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a> *<a class="code" href="structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489" title="Puntero al socket. ">s</a>;</div>
112 <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;};</div> 112 <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;};</div>
113 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div> 113 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
114 <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div> 114 <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
@@ -117,9 +117,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -117,9 +117,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
117 </div><!-- fragment --></div><!-- contents --> 117 </div><!-- fragment --></div><!-- contents -->
118 <!-- start footer part --> 118 <!-- start footer part -->
119 <hr class="footer"/><address class="footer"><small> 119 <hr class="footer"/><address class="footer"><small>
120 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 120 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
121 <img class="footer" src="doxygen.png" alt="doxygen"/> 121 <img class="footer" src="doxygen.png" alt="doxygen"/>
122 -</a> 1.8.3.1 122 +</a> 1.8.4
123 </small></address> 123 </small></address>
124 </body> 124 </body>
125 </html> 125 </html>
JChatClient/doc/html/client_code.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Client</title> 7 <title>Socket: Client</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -80,9 +80,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -80,9 +80,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
80 </div><!--header--> 80 </div><!--header-->
81 <div class="contents"> 81 <div class="contents">
82 <div class="textblock"><p>Ejemplo de aplicación cliente</p> 82 <div class="textblock"><p>Ejemplo de aplicación cliente</p>
83 -<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="_socket_8h.html" title="Header de la clase Socket.">Socket.h</a>&quot;</span></div> 83 +<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="_socket_8h.html" title="Header de la clase Socket. ">Socket.h</a>&quot;</span></div>
84 <div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div> 84 <div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
85 -<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets.">SocketException.h</a>&quot;</span></div> 85 +<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets. ">SocketException.h</a>&quot;</span></div>
86 <div class="line"><span class="preprocessor">#include &lt;sstream&gt;</span></div> 86 <div class="line"><span class="preprocessor">#include &lt;sstream&gt;</span></div>
87 <div class="line"><span class="preprocessor">#include &lt;signal.h&gt;</span></div> 87 <div class="line"><span class="preprocessor">#include &lt;signal.h&gt;</span></div>
88 <div class="line"><span class="preprocessor">#include &lt;cstdlib&gt;</span></div> 88 <div class="line"><span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
@@ -96,21 +96,21 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -96,21 +96,21 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
96 <div class="line"> exit(-1);</div> 96 <div class="line"> exit(-1);</div>
97 <div class="line">}</div> 97 <div class="line">}</div>
98 <div class="line"></div> 98 <div class="line"></div>
99 -<div class="line"><span class="keywordtype">int</span> <a class="code" href="client_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4" title="Método principal del cliente.">main</a>()</div> 99 +<div class="line"><span class="keywordtype">int</span> <a class="code" href="client_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4" title="Método principal del cliente. ">main</a>()</div>
100 <div class="line">{</div> 100 <div class="line">{</div>
101 <div class="line"> signal(SIGPIPE, exitClient);</div> 101 <div class="line"> signal(SIGPIPE, exitClient);</div>
102 <div class="line"> signal(SIGINT, exitClient);</div> 102 <div class="line"> signal(SIGINT, exitClient);</div>
103 -<div class="line"> <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a> s;</div> 103 +<div class="line"> <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a> s;</div>
104 <div class="line"> <span class="keywordtype">string</span> send, recv, host;</div> 104 <div class="line"> <span class="keywordtype">string</span> send, recv, host;</div>
105 <div class="line"> <span class="keywordtype">int</span> port;</div> 105 <div class="line"> <span class="keywordtype">int</span> port;</div>
106 -<div class="line"> s.<a class="code" href="class_socket.html#add736ccf41f102910a2b8ac5e77eb8b1" title="Método para crear sockets.">Create</a>();</div> 106 +<div class="line"> s.<a class="code" href="class_socket.html#add736ccf41f102910a2b8ac5e77eb8b1" title="Método para crear sockets. ">Create</a>();</div>
107 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Created socket&quot;</span> &lt;&lt; endl;</div> 107 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Created socket&quot;</span> &lt;&lt; endl;</div>
108 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Hostname: &quot;</span>;</div> 108 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Hostname: &quot;</span>;</div>
109 <div class="line"> cin &gt;&gt; host;</div> 109 <div class="line"> cin &gt;&gt; host;</div>
110 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Port: &quot;</span>;</div> 110 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Port: &quot;</span>;</div>
111 <div class="line"> cin &gt;&gt; port;</div> 111 <div class="line"> cin &gt;&gt; port;</div>
112 <div class="line"> cin.ignore();</div> 112 <div class="line"> cin.ignore();</div>
113 -<div class="line"> s.<a class="code" href="class_socket.html#aa1d074c1aa400e8bca7c7da79b036abe" title="Método para efectuar conexiones.">Connect</a>(host,port);</div> 113 +<div class="line"> s.<a class="code" href="class_socket.html#aa1d074c1aa400e8bca7c7da79b036abe" title="Método para efectuar conexiones. ">Connect</a>(host,port);</div>
114 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Connected&quot;</span> &lt;&lt; endl;</div> 114 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Connected&quot;</span> &lt;&lt; endl;</div>
115 <div class="line"> <span class="keywordflow">while</span>(<span class="keyword">true</span>)</div> 115 <div class="line"> <span class="keywordflow">while</span>(<span class="keyword">true</span>)</div>
116 <div class="line"> {</div> 116 <div class="line"> {</div>
@@ -123,9 +123,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -123,9 +123,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
123 </div><!-- fragment --> </div></div><!-- contents --> 123 </div><!-- fragment --> </div></div><!-- contents -->
124 <!-- start footer part --> 124 <!-- start footer part -->
125 <hr class="footer"/><address class="footer"><small> 125 <hr class="footer"/><address class="footer"><small>
126 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 126 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
127 <img class="footer" src="doxygen.png" alt="doxygen"/> 127 <img class="footer" src="doxygen.png" alt="doxygen"/>
128 -</a> 1.8.3.1 128 +</a> 1.8.4
129 </small></address> 129 </small></address>
130 </body> 130 </body>
131 </html> 131 </html>
JChatClient/doc/html/dir_15c52bfb9a80984ec0ac7c94446ac4fc.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient/src</title> 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient/src</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -95,15 +95,15 @@ Archivos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -95,15 +95,15 @@ Archivos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
95 <tr class="memdesc:client_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fichero de implementación de un cliente. <br/></td></tr> 95 <tr class="memdesc:client_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fichero de implementación de un cliente. <br/></td></tr>
96 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> 96 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
97 <tr class="memitem:_socket_8cpp"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_socket_8cpp.html">Socket.cpp</a></td></tr> 97 <tr class="memitem:_socket_8cpp"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_socket_8cpp.html">Socket.cpp</a></td></tr>
98 -<tr class="memdesc:_socket_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. <br/></td></tr> 98 +<tr class="memdesc:_socket_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. <br/></td></tr>
99 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> 99 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 </table> 100 </table>
101 </div><!-- contents --> 101 </div><!-- contents -->
102 <!-- start footer part --> 102 <!-- start footer part -->
103 <hr class="footer"/><address class="footer"><small> 103 <hr class="footer"/><address class="footer"><small>
104 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 104 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
105 <img class="footer" src="doxygen.png" alt="doxygen"/> 105 <img class="footer" src="doxygen.png" alt="doxygen"/>
106 -</a> 1.8.3.1 106 +</a> 1.8.4
107 </small></address> 107 </small></address>
108 </body> 108 </body>
109 </html> 109 </html>
JChatClient/doc/html/dir_74bdbd27aa6df54b6fb8f419761ac887.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient</title> 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 </div><!-- contents --> 92 </div><!-- contents -->
93 <!-- start footer part --> 93 <!-- start footer part -->
94 <hr class="footer"/><address class="footer"><small> 94 <hr class="footer"/><address class="footer"><small>
95 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 <img class="footer" src="doxygen.png" alt="doxygen"/> 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97 -</a> 1.8.3.1 97 +</a> 1.8.4
98 </small></address> 98 </small></address>
99 </body> 99 </body>
100 </html> 100 </html>
JChatClient/doc/html/dir_75b82e7e4a5feb05200b9ad7adf06257.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del directorio /home</title> 7 <title>Socket: Referencia del directorio /home</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 </div><!-- contents --> 92 </div><!-- contents -->
93 <!-- start footer part --> 93 <!-- start footer part -->
94 <hr class="footer"/><address class="footer"><small> 94 <hr class="footer"/><address class="footer"><small>
95 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 <img class="footer" src="doxygen.png" alt="doxygen"/> 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97 -</a> 1.8.3.1 97 +</a> 1.8.4
98 </small></address> 98 </small></address>
99 </body> 99 </body>
100 </html> 100 </html>
JChatClient/doc/html/dir_86dc413d07e0b16a37ceb0e2a17fed53.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse</title> 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 </div><!-- contents --> 92 </div><!-- contents -->
93 <!-- start footer part --> 93 <!-- start footer part -->
94 <hr class="footer"/><address class="footer"><small> 94 <hr class="footer"/><address class="footer"><small>
95 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 <img class="footer" src="doxygen.png" alt="doxygen"/> 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97 -</a> 1.8.3.1 97 +</a> 1.8.4
98 </small></address> 98 </small></address>
99 </body> 99 </body>
100 </html> 100 </html>
JChatClient/doc/html/dir_8f7199732ad0be50edd1dbedbf9226de.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del directorio /home/imanol/devel</title> 7 <title>Socket: Referencia del directorio /home/imanol/devel</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 </div><!-- contents --> 92 </div><!-- contents -->
93 <!-- start footer part --> 93 <!-- start footer part -->
94 <hr class="footer"/><address class="footer"><small> 94 <hr class="footer"/><address class="footer"><small>
95 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 <img class="footer" src="doxygen.png" alt="doxygen"/> 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97 -</a> 1.8.3.1 97 +</a> 1.8.4
98 </small></address> 98 </small></address>
99 </body> 99 </body>
100 </html> 100 </html>
JChatClient/doc/html/dir_ade356989cf64bc7da597536eeab2615.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del directorio /home/imanol</title> 7 <title>Socket: Referencia del directorio /home/imanol</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 </div><!-- contents --> 92 </div><!-- contents -->
93 <!-- start footer part --> 93 <!-- start footer part -->
94 <hr class="footer"/><address class="footer"><small> 94 <hr class="footer"/><address class="footer"><small>
95 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 <img class="footer" src="doxygen.png" alt="doxygen"/> 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97 -</a> 1.8.3.1 97 +</a> 1.8.4
98 </small></address> 98 </small></address>
99 </body> 99 </body>
100 </html> 100 </html>
JChatClient/doc/html/dir_c16c2f6bdf6587439d9ad3d8f0d21517.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient/src/include</title> 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient/src/include</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -89,7 +89,7 @@ Archivos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -89,7 +89,7 @@ Archivos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
89 <tr class="memitem:client_8h"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html">client.h</a> <a href="client_8h_source.html">[código]</a></td></tr> 89 <tr class="memitem:client_8h"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html">client.h</a> <a href="client_8h_source.html">[código]</a></td></tr>
90 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> 90 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
91 <tr class="memitem:_socket_8h"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_socket_8h.html">Socket.h</a> <a href="_socket_8h_source.html">[código]</a></td></tr> 91 <tr class="memitem:_socket_8h"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_socket_8h.html">Socket.h</a> <a href="_socket_8h_source.html">[código]</a></td></tr>
92 -<tr class="memdesc:_socket_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. <br/></td></tr> 92 +<tr class="memdesc:_socket_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. <br/></td></tr>
93 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> 93 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
94 <tr class="memitem:_socket_exception_8h"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_socket_exception_8h.html">SocketException.h</a> <a href="_socket_exception_8h_source.html">[código]</a></td></tr> 94 <tr class="memitem:_socket_exception_8h"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_socket_exception_8h.html">SocketException.h</a> <a href="_socket_exception_8h_source.html">[código]</a></td></tr>
95 <tr class="memdesc:_socket_exception_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header de excepción de Sockets. <br/></td></tr> 95 <tr class="memdesc:_socket_exception_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header de excepción de Sockets. <br/></td></tr>
@@ -98,9 +98,9 @@ Archivos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -98,9 +98,9 @@ Archivos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
98 </div><!-- contents --> 98 </div><!-- contents -->
99 <!-- start footer part --> 99 <!-- start footer part -->
100 <hr class="footer"/><address class="footer"><small> 100 <hr class="footer"/><address class="footer"><small>
101 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 101 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
102 <img class="footer" src="doxygen.png" alt="doxygen"/> 102 <img class="footer" src="doxygen.png" alt="doxygen"/>
103 -</a> 1.8.3.1 103 +</a> 1.8.4
104 </small></address> 104 </small></address>
105 </body> 105 </body>
106 </html> 106 </html>
JChatClient/doc/html/dir_c63cc34e984e21a69fd262eeef6a5cbb.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD</title> 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 </div><!-- contents --> 92 </div><!-- contents -->
93 <!-- start footer part --> 93 <!-- start footer part -->
94 <hr class="footer"/><address class="footer"><small> 94 <hr class="footer"/><address class="footer"><small>
95 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 <img class="footer" src="doxygen.png" alt="doxygen"/> 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97 -</a> 1.8.3.1 97 +</a> 1.8.4
98 </small></address> 98 </small></address>
99 </body> 99 </body>
100 </html> 100 </html>
JChatClient/doc/html/doxygen.css
1 -/* The standard CSS for doxygen 1.8.3.1 */ 1 +/* The standard CSS for doxygen 1.8.4 */
2 2
3 body, table, div, p, dl { 3 body, table, div, p, dl {
4 - font: 400 14px/19px Roboto,sans-serif; 4 + font: 400 14px/22px Roboto,sans-serif;
5 } 5 }
6 6
7 /* @group Heading Levels */ 7 /* @group Heading Levels */
@@ -11,6 +11,7 @@ h1.groupheader { @@ -11,6 +11,7 @@ h1.groupheader {
11 } 11 }
12 12
13 .title { 13 .title {
  14 + font: 400 14px/28px Roboto,sans-serif;
14 font-size: 150%; 15 font-size: 150%;
15 font-weight: bold; 16 font-weight: bold;
16 margin: 10px 2px; 17 margin: 10px 2px;
@@ -168,8 +169,8 @@ pre.fragment { @@ -168,8 +169,8 @@ pre.fragment {
168 } 169 }
169 170
170 div.fragment { 171 div.fragment {
171 - padding: 4px;  
172 - margin: 4px; 172 + padding: 0px;
  173 + margin: 0px;
173 background-color: #FBFCFD; 174 background-color: #FBFCFD;
174 border: 1px solid #C4CFE5; 175 border: 1px solid #C4CFE5;
175 } 176 }
@@ -687,6 +688,7 @@ div.directory { @@ -687,6 +688,7 @@ div.directory {
687 .directory td.entry { 688 .directory td.entry {
688 white-space: nowrap; 689 white-space: nowrap;
689 padding-right: 6px; 690 padding-right: 6px;
  691 + padding-top: 3px;
690 } 692 }
691 693
692 .directory td.entry a { 694 .directory td.entry a {
@@ -787,7 +789,7 @@ table.fieldtable { @@ -787,7 +789,7 @@ table.fieldtable {
787 } 789 }
788 790
789 .fieldtable td.fieldname { 791 .fieldtable td.fieldname {
790 - padding-top: 5px; 792 + padding-top: 3px;
791 } 793 }
792 794
793 .fieldtable td.fielddoc { 795 .fieldtable td.fielddoc {
@@ -796,7 +798,7 @@ table.fieldtable { @@ -796,7 +798,7 @@ table.fieldtable {
796 } 798 }
797 799
798 .fieldtable td.fielddoc p:first-child { 800 .fieldtable td.fielddoc p:first-child {
799 - margin-top: 2px; 801 + margin-top: 0px;
800 } 802 }
801 803
802 .fieldtable td.fielddoc p:last-child { 804 .fieldtable td.fielddoc p:last-child {
JChatClient/doc/html/files.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Lista de archivos</title> 7 <title>Socket: Lista de archivos</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -96,18 +96,18 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -96,18 +96,18 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
96 <tr id="row_0_0_0_0_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_0_0_0_0_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_')"/><img id="img_0_0_0_0_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_')"/><a class="el" href="dir_15c52bfb9a80984ec0ac7c94446ac4fc.html" target="_self">src</a></td><td class="desc"></td></tr> 96 <tr id="row_0_0_0_0_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_0_0_0_0_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_')"/><img id="img_0_0_0_0_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_')"/><a class="el" href="dir_15c52bfb9a80984ec0ac7c94446ac4fc.html" target="_self">src</a></td><td class="desc"></td></tr>
97 <tr id="row_0_0_0_0_0_0_0_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_0_0_0_0_0_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_0_')"/><img id="img_0_0_0_0_0_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_0_')"/><a class="el" href="dir_c16c2f6bdf6587439d9ad3d8f0d21517.html" target="_self">include</a></td><td class="desc"></td></tr> 97 <tr id="row_0_0_0_0_0_0_0_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_0_0_0_0_0_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_0_')"/><img id="img_0_0_0_0_0_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_0_')"/><a class="el" href="dir_c16c2f6bdf6587439d9ad3d8f0d21517.html" target="_self">include</a></td><td class="desc"></td></tr>
98 <tr id="row_0_0_0_0_0_0_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="client_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="client_8h.html" target="_self">client.h</a></td><td class="desc"></td></tr> 98 <tr id="row_0_0_0_0_0_0_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="client_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="client_8h.html" target="_self">client.h</a></td><td class="desc"></td></tr>
99 -<tr id="row_0_0_0_0_0_0_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="_socket_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="_socket_8h.html" target="_self">Socket.h</a></td><td class="desc">Header de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a></td></tr>  
100 -<tr id="row_0_0_0_0_0_0_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="_socket_exception_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="_socket_exception_8h.html" target="_self">SocketException.h</a></td><td class="desc">Header de excepción de Sockets</td></tr>  
101 -<tr id="row_0_0_0_0_0_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="client_8cpp.html" target="_self">client.cpp</a></td><td class="desc">Fichero de implementación de un cliente</td></tr>  
102 -<tr id="row_0_0_0_0_0_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="_socket_8cpp.html" target="_self">Socket.cpp</a></td><td class="desc">Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a></td></tr> 99 +<tr id="row_0_0_0_0_0_0_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="_socket_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="_socket_8h.html" target="_self">Socket.h</a></td><td class="desc">Header de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> </td></tr>
  100 +<tr id="row_0_0_0_0_0_0_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="_socket_exception_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="_socket_exception_8h.html" target="_self">SocketException.h</a></td><td class="desc">Header de excepción de Sockets </td></tr>
  101 +<tr id="row_0_0_0_0_0_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="client_8cpp.html" target="_self">client.cpp</a></td><td class="desc">Fichero de implementación de un cliente </td></tr>
  102 +<tr id="row_0_0_0_0_0_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="_socket_8cpp.html" target="_self">Socket.cpp</a></td><td class="desc">Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> </td></tr>
103 </table> 103 </table>
104 </div><!-- directory --> 104 </div><!-- directory -->
105 </div><!-- contents --> 105 </div><!-- contents -->
106 <!-- start footer part --> 106 <!-- start footer part -->
107 <hr class="footer"/><address class="footer"><small> 107 <hr class="footer"/><address class="footer"><small>
108 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 108 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
109 <img class="footer" src="doxygen.png" alt="doxygen"/> 109 <img class="footer" src="doxygen.png" alt="doxygen"/>
110 -</a> 1.8.3.1 110 +</a> 1.8.4
111 </small></address> 111 </small></address>
112 </body> 112 </body>
113 </html> 113 </html>
JChatClient/doc/html/functions.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Miembros de las clases</title> 7 <title>Socket: Miembros de las clases</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -157,9 +157,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -157,9 +157,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
157 </div><!-- contents --> 157 </div><!-- contents -->
158 <!-- start footer part --> 158 <!-- start footer part -->
159 <hr class="footer"/><address class="footer"><small> 159 <hr class="footer"/><address class="footer"><small>
160 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 160 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
161 <img class="footer" src="doxygen.png" alt="doxygen"/> 161 <img class="footer" src="doxygen.png" alt="doxygen"/>
162 -</a> 1.8.3.1 162 +</a> 1.8.4
163 </small></address> 163 </small></address>
164 </body> 164 </body>
165 </html> 165 </html>
JChatClient/doc/html/functions_func.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Miembros de las clases - Funciones</title> 7 <title>Socket: Miembros de las clases - Funciones</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -139,9 +139,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -139,9 +139,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
139 </div><!-- contents --> 139 </div><!-- contents -->
140 <!-- start footer part --> 140 <!-- start footer part -->
141 <hr class="footer"/><address class="footer"><small> 141 <hr class="footer"/><address class="footer"><small>
142 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 142 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
143 <img class="footer" src="doxygen.png" alt="doxygen"/> 143 <img class="footer" src="doxygen.png" alt="doxygen"/>
144 -</a> 1.8.3.1 144 +</a> 1.8.4
145 </small></address> 145 </small></address>
146 </body> 146 </body>
147 </html> 147 </html>
JChatClient/doc/html/functions_vars.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Miembros de las clases - Variables</title> 7 <title>Socket: Miembros de las clases - Variables</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -112,9 +112,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -112,9 +112,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
112 </div><!-- contents --> 112 </div><!-- contents -->
113 <!-- start footer part --> 113 <!-- start footer part -->
114 <hr class="footer"/><address class="footer"><small> 114 <hr class="footer"/><address class="footer"><small>
115 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 115 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
116 <img class="footer" src="doxygen.png" alt="doxygen"/> 116 <img class="footer" src="doxygen.png" alt="doxygen"/>
117 -</a> 1.8.3.1 117 +</a> 1.8.4
118 </small></address> 118 </small></address>
119 </body> 119 </body>
120 </html> 120 </html>
JChatClient/doc/html/globals.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Miembros de los ficheros</title> 7 <title>Socket: Miembros de los ficheros</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -114,9 +114,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -114,9 +114,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
114 </div><!-- contents --> 114 </div><!-- contents -->
115 <!-- start footer part --> 115 <!-- start footer part -->
116 <hr class="footer"/><address class="footer"><small> 116 <hr class="footer"/><address class="footer"><small>
117 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 117 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
118 <img class="footer" src="doxygen.png" alt="doxygen"/> 118 <img class="footer" src="doxygen.png" alt="doxygen"/>
119 -</a> 1.8.3.1 119 +</a> 1.8.4
120 </small></address> 120 </small></address>
121 </body> 121 </body>
122 </html> 122 </html>
JChatClient/doc/html/globals_func.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Miembros de los ficheros</title> 7 <title>Socket: Miembros de los ficheros</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -108,9 +108,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -108,9 +108,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
108 </div><!-- contents --> 108 </div><!-- contents -->
109 <!-- start footer part --> 109 <!-- start footer part -->
110 <hr class="footer"/><address class="footer"><small> 110 <hr class="footer"/><address class="footer"><small>
111 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 111 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
112 <img class="footer" src="doxygen.png" alt="doxygen"/> 112 <img class="footer" src="doxygen.png" alt="doxygen"/>
113 -</a> 1.8.3.1 113 +</a> 1.8.4
114 </small></address> 114 </small></address>
115 </body> 115 </body>
116 </html> 116 </html>
JChatClient/doc/html/globals_vars.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Miembros de los ficheros</title> 7 <title>Socket: Miembros de los ficheros</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -99,9 +99,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -99,9 +99,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
99 </div><!-- contents --> 99 </div><!-- contents -->
100 <!-- start footer part --> 100 <!-- start footer part -->
101 <hr class="footer"/><address class="footer"><small> 101 <hr class="footer"/><address class="footer"><small>
102 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 102 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
103 <img class="footer" src="doxygen.png" alt="doxygen"/> 103 <img class="footer" src="doxygen.png" alt="doxygen"/>
104 -</a> 1.8.3.1 104 +</a> 1.8.4
105 </small></address> 105 </small></address>
106 </body> 106 </body>
107 </html> 107 </html>
JChatClient/doc/html/howto.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: HOWTO</title> 7 <title>Socket: HOWTO</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -146,9 +146,9 @@ Programar un cliente&lt;/h2&gt; @@ -146,9 +146,9 @@ Programar un cliente&lt;/h2&gt;
146 </div></div><!-- contents --> 146 </div></div><!-- contents -->
147 <!-- start footer part --> 147 <!-- start footer part -->
148 <hr class="footer"/><address class="footer"><small> 148 <hr class="footer"/><address class="footer"><small>
149 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 149 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
150 <img class="footer" src="doxygen.png" alt="doxygen"/> 150 <img class="footer" src="doxygen.png" alt="doxygen"/>
151 -</a> 1.8.3.1 151 +</a> 1.8.4
152 </small></address> 152 </small></address>
153 </body> 153 </body>
154 </html> 154 </html>
JChatClient/doc/html/howto_8dox.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/howto.dox</title> 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/howto.dox</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -91,9 +91,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -91,9 +91,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
91 </div></div><!-- contents --> 91 </div></div><!-- contents -->
92 <!-- start footer part --> 92 <!-- start footer part -->
93 <hr class="footer"/><address class="footer"><small> 93 <hr class="footer"/><address class="footer"><small>
94 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 94 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
95 <img class="footer" src="doxygen.png" alt="doxygen"/> 95 <img class="footer" src="doxygen.png" alt="doxygen"/>
96 -</a> 1.8.3.1 96 +</a> 1.8.4
97 </small></address> 97 </small></address>
98 </body> 98 </body>
99 </html> 99 </html>
JChatClient/doc/html/index.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Página principal</title> 7 <title>Socket: Página principal</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -79,8 +79,8 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -79,8 +79,8 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
79 <div class="title">Página principal </div> </div> 79 <div class="title">Página principal </div> </div>
80 </div><!--header--> 80 </div><!--header-->
81 <div class="contents"> 81 <div class="contents">
82 -<div class="textblock"><p>La librería <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> es una implementación de comunicación con Sockets TCP/IP en <a href="http://linux.org">GNU/Linux</a>.</p>  
83 -<p>El objetivo principal de esta librería es abstraer toda la capa de comunicación al programador, lo único que debe hacer es guardar los datos a enviar en un contenedor STL del tipo <a href="http://www.cplusplus.com/reference/string/string/">std::string</a> y enviarlo a una instancia debidamente incializada de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. Este se encarga de inicializar los sockets, atender las conexiones o realizar nuevas, etc.</p> 82 +<div class="textblock"><p>La librería <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> es una implementación de comunicación con Sockets TCP/IP en <a href="http://linux.org">GNU/Linux</a>.</p>
  83 +<p>El objetivo principal de esta librería es abstraer toda la capa de comunicación al programador, lo único que debe hacer es guardar los datos a enviar en un contenedor STL del tipo <a href="http://www.cplusplus.com/reference/string/string/">std::string</a> y enviarlo a una instancia debidamente incializada de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. Este se encarga de inicializar los sockets, atender las conexiones o realizar nuevas, etc.</p>
84 <p>Para más información, consultar el <a class="el" href="howto.html">HOWTO</a> <br/> 84 <p>Para más información, consultar el <a class="el" href="howto.html">HOWTO</a> <br/>
85 <br/> 85 <br/>
86 </p> 86 </p>
@@ -89,9 +89,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -89,9 +89,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
89 </div></div><!-- contents --> 89 </div></div><!-- contents -->
90 <!-- start footer part --> 90 <!-- start footer part -->
91 <hr class="footer"/><address class="footer"><small> 91 <hr class="footer"/><address class="footer"><small>
92 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 92 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
93 <img class="footer" src="doxygen.png" alt="doxygen"/> 93 <img class="footer" src="doxygen.png" alt="doxygen"/>
94 -</a> 1.8.3.1 94 +</a> 1.8.4
95 </small></address> 95 </small></address>
96 </body> 96 </body>
97 </html> 97 </html>
JChatClient/doc/html/jquery.js
1 -/*! jQuery v1.7.1 jquery.com | jquery.org/license */  
2 -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function()  
3 -{g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};  
4 -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d  
5 -&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),  
6 -f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()  
7 -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c)  
8 -{if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); 1 +/*!
  2 + * jQuery JavaScript Library v1.7.1
  3 + * http://jquery.com/
  4 + *
  5 + * Copyright 2011, John Resig
  6 + * Dual licensed under the MIT or GPL Version 2 licenses.
  7 + * http://jquery.org/license
  8 + *
  9 + * Includes Sizzle.js
  10 + * http://sizzlejs.com/
  11 + * Copyright 2011, The Dojo Foundation
  12 + * Released under the MIT, BSD, and GPL Licenses.
  13 + *
  14 + * Date: Mon Nov 21 21:11:03 2011 -0500
  15 + */
  16 +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))
  17 +}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;
  18 +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false
  19 +}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
  20 +/*!
  21 + * Sizzle CSS Selector Engine
  22 + * Copyright 2011, The Dojo Foundation
  23 + * Released under the MIT, BSD, and GPL Licenses.
  24 + * More information: http://sizzlejs.com/
  25 + */
  26 +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1
  27 +},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);
  28 +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;
  29 +if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)
  30 +}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b
  31 +})}})(window);
JChatClient/doc/html/mainpage_8dox.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/mainpage.dox</title> 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/mainpage.dox</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -88,9 +88,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -88,9 +88,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
88 </div><!-- contents --> 88 </div><!-- contents -->
89 <!-- start footer part --> 89 <!-- start footer part -->
90 <hr class="footer"/><address class="footer"><small> 90 <hr class="footer"/><address class="footer"><small>
91 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 91 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
92 <img class="footer" src="doxygen.png" alt="doxygen"/> 92 <img class="footer" src="doxygen.png" alt="doxygen"/>
93 -</a> 1.8.3.1 93 +</a> 1.8.4
94 </small></address> 94 </small></address>
95 </body> 95 </body>
96 </html> 96 </html>
JChatClient/doc/html/makefile_8dox.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/makefile.dox</title> 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/makefile.dox</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -88,9 +88,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -88,9 +88,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
88 </div><!-- contents --> 88 </div><!-- contents -->
89 <!-- start footer part --> 89 <!-- start footer part -->
90 <hr class="footer"/><address class="footer"><small> 90 <hr class="footer"/><address class="footer"><small>
91 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 91 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
92 <img class="footer" src="doxygen.png" alt="doxygen"/> 92 <img class="footer" src="doxygen.png" alt="doxygen"/>
93 -</a> 1.8.3.1 93 +</a> 1.8.4
94 </small></address> 94 </small></address>
95 </body> 95 </body>
96 </html> 96 </html>
JChatClient/doc/html/pages.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Páginas relacionadas</title> 7 <title>Socket: Páginas relacionadas</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -81,16 +81,16 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -81,16 +81,16 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
81 <div class="contents"> 81 <div class="contents">
82 <div class="textblock">Lista de toda la documentación relacionada:</div><div class="directory"> 82 <div class="textblock">Lista de toda la documentación relacionada:</div><div class="directory">
83 <table class="directory"> 83 <table class="directory">
84 -<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="client_code.html" target="_self">Client</a></td><td class="desc">Ejemplo de aplicación cliente</td></tr>  
85 -<tr id="row_1_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="howto.html" target="_self">HOWTO</a></td><td class="desc">Descripción de funcionamiento y uso de la librería</td></tr> 84 +<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="client_code.html" target="_self">Client</a></td><td class="desc">Ejemplo de aplicación cliente </td></tr>
  85 +<tr id="row_1_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="howto.html" target="_self">HOWTO</a></td><td class="desc">Descripción de funcionamiento y uso de la librería </td></tr>
86 </table> 86 </table>
87 </div><!-- directory --> 87 </div><!-- directory -->
88 </div><!-- contents --> 88 </div><!-- contents -->
89 <!-- start footer part --> 89 <!-- start footer part -->
90 <hr class="footer"/><address class="footer"><small> 90 <hr class="footer"/><address class="footer"><small>
91 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 91 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
92 <img class="footer" src="doxygen.png" alt="doxygen"/> 92 <img class="footer" src="doxygen.png" alt="doxygen"/>
93 -</a> 1.8.3.1 93 +</a> 1.8.4
94 </small></address> 94 </small></address>
95 </body> 95 </body>
96 </html> 96 </html>
JChatClient/doc/html/search/all_61.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_61.js"></script> 6 <script type="text/javascript" src="all_61.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_62.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_62.js"></script> 6 <script type="text/javascript" src="all_62.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_63.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_63.js"></script> 6 <script type="text/javascript" src="all_63.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_64.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_64.js"></script> 6 <script type="text/javascript" src="all_64.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_66.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_66.js"></script> 6 <script type="text/javascript" src="all_66.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_67.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_67.js"></script> 6 <script type="text/javascript" src="all_67.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_68.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_68.js"></script> 6 <script type="text/javascript" src="all_68.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_6b.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_6b.js"></script> 6 <script type="text/javascript" src="all_6b.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_6c.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_6c.js"></script> 6 <script type="text/javascript" src="all_6c.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_6d.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_6d.js"></script> 6 <script type="text/javascript" src="all_6d.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_6f.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_6f.js"></script> 6 <script type="text/javascript" src="all_6f.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_70.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_70.js"></script> 6 <script type="text/javascript" src="all_70.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_72.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_72.js"></script> 6 <script type="text/javascript" src="all_72.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_73.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_73.js"></script> 6 <script type="text/javascript" src="all_73.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_74.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_74.js"></script> 6 <script type="text/javascript" src="all_74.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/all_7e.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="all_7e.js"></script> 6 <script type="text/javascript" src="all_7e.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/classes_73.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="classes_73.js"></script> 6 <script type="text/javascript" src="classes_73.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/classes_74.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="classes_74.js"></script> 6 <script type="text/javascript" src="classes_74.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/files_63.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="files_63.js"></script> 6 <script type="text/javascript" src="files_63.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/files_68.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="files_68.js"></script> 6 <script type="text/javascript" src="files_68.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/files_6d.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="files_6d.js"></script> 6 <script type="text/javascript" src="files_6d.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/files_73.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="files_73.js"></script> 6 <script type="text/javascript" src="files_73.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_61.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_61.js"></script> 6 <script type="text/javascript" src="functions_61.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_62.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_62.js"></script> 6 <script type="text/javascript" src="functions_62.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_63.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_63.js"></script> 6 <script type="text/javascript" src="functions_63.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_64.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_64.js"></script> 6 <script type="text/javascript" src="functions_64.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_67.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_67.js"></script> 6 <script type="text/javascript" src="functions_67.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_6b.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_6b.js"></script> 6 <script type="text/javascript" src="functions_6b.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_6c.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_6c.js"></script> 6 <script type="text/javascript" src="functions_6c.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_6d.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_6d.js"></script> 6 <script type="text/javascript" src="functions_6d.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_6f.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_6f.js"></script> 6 <script type="text/javascript" src="functions_6f.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_72.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_72.js"></script> 6 <script type="text/javascript" src="functions_72.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_73.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_73.js"></script> 6 <script type="text/javascript" src="functions_73.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/functions_7e.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="functions_7e.js"></script> 6 <script type="text/javascript" src="functions_7e.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/pages_63.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="pages_63.js"></script> 6 <script type="text/javascript" src="pages_63.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/pages_68.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="pages_68.js"></script> 6 <script type="text/javascript" src="pages_68.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/pages_70.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="pages_70.js"></script> 6 <script type="text/javascript" src="pages_70.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/search.css
@@ -48,7 +48,7 @@ @@ -48,7 +48,7 @@
48 height:19px; 48 height:19px;
49 background:url('search_m.png') repeat-x; 49 background:url('search_m.png') repeat-x;
50 border:none; 50 border:none;
51 - width:116px; 51 + width:111px;
52 margin-left:20px; 52 margin-left:20px;
53 padding-left:4px; 53 padding-left:4px;
54 color: #909090; 54 color: #909090;
JChatClient/doc/html/search/variables_63.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="variables_63.js"></script> 6 <script type="text/javascript" src="variables_63.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/variables_66.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="variables_66.js"></script> 6 <script type="text/javascript" src="variables_66.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/variables_6d.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="variables_6d.js"></script> 6 <script type="text/javascript" src="variables_6d.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/search/variables_73.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><title></title> 2 <html><head><title></title>
3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4 -<meta name="generator" content="Doxygen 1.8.3.1"> 4 +<meta name="generator" content="Doxygen 1.8.4">
5 <link rel="stylesheet" type="text/css" href="search.css"/> 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 <script type="text/javascript" src="variables_73.js"></script> 6 <script type="text/javascript" src="variables_73.js"></script>
7 <script type="text/javascript" src="search.js"></script> 7 <script type="text/javascript" src="search.js"></script>
JChatClient/doc/html/structthread__args-members.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Lista de los miembros</title> 7 <title>Socket: Lista de los miembros</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -95,9 +95,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;); @@ -95,9 +95,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
95 </table></div><!-- contents --> 95 </table></div><!-- contents -->
96 <!-- start footer part --> 96 <!-- start footer part -->
97 <hr class="footer"/><address class="footer"><small> 97 <hr class="footer"/><address class="footer"><small>
98 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 98 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
99 <img class="footer" src="doxygen.png" alt="doxygen"/> 99 <img class="footer" src="doxygen.png" alt="doxygen"/>
100 -</a> 1.8.3.1 100 +</a> 1.8.4
101 </small></address> 101 </small></address>
102 </body> 102 </body>
103 </html> 103 </html>
JChatClient/doc/html/structthread__args.html
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 -<meta name="generator" content="Doxygen 1.8.3.1"/> 6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 <title>Socket: Referencia de la Estructura thread_args</title> 7 <title>Socket: Referencia de la Estructura thread_args</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script> 9 <script type="text/javascript" src="jquery.js"></script>
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 </table> 31 </table>
32 </div> 32 </div>
33 <!-- end header part --> 33 <!-- end header part -->
34 -<!-- Generado por Doxygen 1.8.3.1 --> 34 +<!-- Generado por Doxygen 1.8.4 -->
35 <script type="text/javascript"> 35 <script type="text/javascript">
36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar'); 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 </script> 37 </script>
@@ -125,7 +125,7 @@ Atributos públicos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -125,7 +125,7 @@ Atributos públicos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
125 125
126 <p>Variable de notificación a otros threads. </p> 126 <p>Variable de notificación a otros threads. </p>
127 <p>Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.</p> 127 <p>Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.</p>
128 -<p><em>Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.</em> </p> 128 +<p>Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.* </p>
129 129
130 </div> 130 </div>
131 </div> 131 </div>
@@ -165,9 +165,9 @@ Atributos públicos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt; @@ -165,9 +165,9 @@ Atributos públicos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
165 </div><!-- contents --> 165 </div><!-- contents -->
166 <!-- start footer part --> 166 <!-- start footer part -->
167 <hr class="footer"/><address class="footer"><small> 167 <hr class="footer"/><address class="footer"><small>
168 -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html"> 168 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
169 <img class="footer" src="doxygen.png" alt="doxygen"/> 169 <img class="footer" src="doxygen.png" alt="doxygen"/>
170 -</a> 1.8.3.1 170 +</a> 1.8.4
171 </small></address> 171 </small></address>
172 </body> 172 </body>
173 </html> 173 </html>
JChatClient/doc/latex/Makefile
@@ -13,6 +13,8 @@ refman.pdf: clean refman.tex @@ -13,6 +13,8 @@ refman.pdf: clean refman.tex
13 pdflatex refman ;\ 13 pdflatex refman ;\
14 latex_count=`expr $$latex_count - 1` ;\ 14 latex_count=`expr $$latex_count - 1` ;\
15 done 15 done
  16 + makeindex refman.idx
  17 + pdflatex refman
16 18
17 19
18 clean: 20 clean:
JChatClient/doc/latex/class_socket.tex
@@ -80,7 +80,9 @@ Inicializa el file descriptor del socket y prepara la memoria donde se almacenar @@ -80,7 +80,9 @@ Inicializa el file descriptor del socket y prepara la memoria donde se almacenar
80 80
81 Método para aceptar conexiones. 81 Método para aceptar conexiones.
82 82
83 -Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase \hyperlink{class_socket}{Socket} en la referencia proporcionada por argumento. 83 +\begin{DoxyVerb}Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase
  84 +\end{DoxyVerb}
  85 + \hyperlink{class_socket}{Socket} en la referencia proporcionada por argumento.
84 \begin{DoxyParams}{Parámetros} 86 \begin{DoxyParams}{Parámetros}
85 {\em client\-Sock} & Instáncia de \hyperlink{class_socket}{Socket} que comunica con el cliente entrante \\ 87 {\em client\-Sock} & Instáncia de \hyperlink{class_socket}{Socket} que comunica con el cliente entrante \\
86 \hline 88 \hline
@@ -97,7 +99,9 @@ Este método bloquea el thread que lo ejecuta hasta que recibe una conexión ent @@ -97,7 +99,9 @@ Este método bloquea el thread que lo ejecuta hasta que recibe una conexión ent
97 99
98 Método para hacer bind a una dirección y puerto. 100 Método para hacer bind a una dirección y puerto.
99 101
100 -Este método asigna el socket a una dirección I\-P (y por tanto, a una interfaz de red en concreto) y un puerto, para que posteriormente actúe de servidor escuchando conexiones. 102 +\begin{DoxyVerb}Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que
  103 +\end{DoxyVerb}
  104 + posteriormente actúe de servidor escuchando conexiones.
101 \begin{DoxyParams}{Parámetros} 105 \begin{DoxyParams}{Parámetros}
102 {\em address} & Dirección I\-P asignada \\ 106 {\em address} & Dirección I\-P asignada \\
103 \hline 107 \hline
@@ -127,7 +131,9 @@ Este método cierra el socket para que no se pueda escribir ni leer más en él, @@ -127,7 +131,9 @@ Este método cierra el socket para que no se pueda escribir ni leer más en él,
127 131
128 Método para efectuar conexiones. 132 Método para efectuar conexiones.
129 133
130 -Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la dirección y puerto especificados y atienda conexiones. 134 +\begin{DoxyVerb}Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la
  135 +\end{DoxyVerb}
  136 + dirección y puerto especificados y atienda conexiones.
131 \begin{DoxyParams}{Parámetros} 137 \begin{DoxyParams}{Parámetros}
132 {\em hostname} & Hostname al que conectarse \\ 138 {\em hostname} & Hostname al que conectarse \\
133 \hline 139 \hline
@@ -183,7 +189,9 @@ Este método configura el socket para que se ponga en modo escucha y así pueda @@ -183,7 +189,9 @@ Este método configura el socket para que se ponga en modo escucha y así pueda
183 189
184 Método para enviar mensajes. 190 Método para enviar mensajes.
185 191
186 -Este método envía el mensaje que se le proporciona a través del \hyperlink{class_socket}{Socket} con o sin encriptación según las opciones de compilación usando el \hyperlink{howto_proto}{protocolo} implementado. 192 +\begin{DoxyVerb}Este método envía el mensaje que se le proporciona a través del Socket con o sin encriptación según
  193 +\end{DoxyVerb}
  194 + las opciones de compilación usando el \hyperlink{howto_proto}{protocolo} implementado.
187 \begin{DoxyParams}{Parámetros} 195 \begin{DoxyParams}{Parámetros}
188 {\em text} & Mensaje a enviar \\ 196 {\em text} & Mensaje a enviar \\
189 \hline 197 \hline
@@ -199,7 +207,9 @@ Este método envía el mensaje que se le proporciona a través del \hyperlink{cl @@ -199,7 +207,9 @@ Este método envía el mensaje que se le proporciona a través del \hyperlink{cl
199 207
200 Método para recibir mensajes. 208 Método para recibir mensajes.
201 209
202 -Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las opciones de compilación usando el \hyperlink{howto_proto}{protocolo} implementado. 210 +\begin{DoxyVerb}Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las \ref defines "opciones de compilación" usando
  211 +\end{DoxyVerb}
  212 + el \hyperlink{howto_proto}{protocolo} implementado.
203 \begin{DoxyParams}{Parámetros} 213 \begin{DoxyParams}{Parámetros}
204 {\em text} & Mensaje a recibir \\ 214 {\em text} & Mensaje a recibir \\
205 \hline 215 \hline
JChatClient/doc/latex/doxygen.sty
@@ -5,78 +5,43 @@ @@ -5,78 +5,43 @@
5 \RequirePackage{alltt} 5 \RequirePackage{alltt}
6 \RequirePackage{array} 6 \RequirePackage{array}
7 \RequirePackage{calc} 7 \RequirePackage{calc}
8 -\RequirePackage{color}  
9 -\RequirePackage{fancyhdr}  
10 -\RequirePackage{longtable}  
11 -\RequirePackage{verbatim} 8 +\RequirePackage{float}
12 \RequirePackage{ifthen} 9 \RequirePackage{ifthen}
13 -\RequirePackage{xtab}  
14 -\RequirePackage{multirow} 10 +\RequirePackage{verbatim}
15 \RequirePackage[table]{xcolor} 11 \RequirePackage[table]{xcolor}
  12 +\RequirePackage{xtab}
16 13
17 -% Use helvetica font instead of times roman  
18 -\RequirePackage{helvet}  
19 -\RequirePackage{sectsty}  
20 -\RequirePackage{tocloft}  
21 -\providecommand{\rmdefault}{phv}  
22 -\providecommand{\bfdefault}{bc}  
23 -  
24 -  
25 -% Setup fancy headings  
26 -\pagestyle{fancyplain}  
27 -\newcommand{\clearemptydoublepage}{%  
28 - \newpage{\pagestyle{empty}\cleardoublepage}%  
29 -}  
30 -\renewcommand{\chaptermark}[1]{%  
31 - \markboth{#1}{}%  
32 -}  
33 -\renewcommand{\sectionmark}[1]{%  
34 - \markright{\thesection\ #1}%  
35 -}  
36 -\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}  
37 -\fancyhead[CE]{\fancyplain{}{}}  
38 -\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}  
39 -\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}  
40 -\fancyhead[CO]{\fancyplain{}{}}  
41 -\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}  
42 -\fancyfoot[LE]{\fancyplain{}{}}  
43 -\fancyfoot[CE]{\fancyplain{}{}}  
44 -\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generado el Martes, 10 de Diciembre de 2013 04\-:23\-:31 para Socket por Doxygen }}  
45 -\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generado el Martes, 10 de Diciembre de 2013 04\-:23\-:31 para Socket por Doxygen }}  
46 -\fancyfoot[CO]{\fancyplain{}{}}  
47 -\fancyfoot[RO]{\fancyplain{}{}}  
48 %---------- Internal commands used in this style file ---------------- 14 %---------- Internal commands used in this style file ----------------
49 15
50 -\newcommand\tabfill[1]{%  
51 - \dimen@\linewidth%  
52 - \advance\dimen@\@totalleftmargin%  
53 - \advance\dimen@-\dimen\@curtab%  
54 - \parbox[t]\dimen@{\raggedright #1\ifhmode\strut\fi}%  
55 -}  
56 -  
57 \newcommand{\ensurespace}[1]{% 16 \newcommand{\ensurespace}[1]{%
58 - \begingroup 17 + \begingroup%
59 \setlength{\dimen@}{#1}% 18 \setlength{\dimen@}{#1}%
60 - \vskip\z@\@plus\dimen@  
61 - \penalty -100\vskip\z@\@plus -\dimen@  
62 - \vskip\dimen@ 19 + \vskip\z@\@plus\dimen@%
  20 + \penalty -100\vskip\z@\@plus -\dimen@%
  21 + \vskip\dimen@%
63 \penalty 9999% 22 \penalty 9999%
64 - \vskip -\dimen@  
65 - \vskip\z@skip % hide the previous |\vskip| from |\addvspace|  
66 - \endgroup 23 + \vskip -\dimen@%
  24 + \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
  25 + \endgroup%
  26 +}
  27 +
  28 +\newcommand{\DoxyLabelFont}{}
  29 +\newcommand{\entrylabel}[1]{%
  30 + {%
  31 + \parbox[b]{\labelwidth-4pt}{%
  32 + \makebox[0pt][l]{\DoxyLabelFont#1}%
  33 + \vspace{1.5\baselineskip}%
  34 + }%
  35 + }%
67 } 36 }
68 37
69 -% Generic environment used by all paragraph-based environments defined  
70 -% below. Note that the command \title{...} needs to be defined inside  
71 -% those environments!  
72 \newenvironment{DoxyDesc}[1]{% 38 \newenvironment{DoxyDesc}[1]{%
73 \ensurespace{4\baselineskip}% 39 \ensurespace{4\baselineskip}%
74 - \begin{list}{}%  
75 - {%  
76 - \settowidth{\labelwidth}{40pt}%  
77 - \setlength{\leftmargin}{\labelwidth}% 40 + \begin{list}{}{%
  41 + \settowidth{\labelwidth}{20pt}%
78 \setlength{\parsep}{0pt}% 42 \setlength{\parsep}{0pt}%
79 - \setlength{\itemsep}{-4pt}% 43 + \setlength{\itemsep}{0pt}%
  44 + \setlength{\leftmargin}{\labelwidth+\labelsep}%
80 \renewcommand{\makelabel}{\entrylabel}% 45 \renewcommand{\makelabel}{\entrylabel}%
81 }% 46 }%
82 \item[#1]% 47 \item[#1]%
@@ -84,6 +49,21 @@ @@ -84,6 +49,21 @@
84 \end{list}% 49 \end{list}%
85 } 50 }
86 51
  52 +\newsavebox{\xrefbox}
  53 +\newlength{\xreflength}
  54 +\newcommand{\xreflabel}[1]{%
  55 + \sbox{\xrefbox}{#1}%
  56 + \setlength{\xreflength}{\wd\xrefbox}%
  57 + \ifthenelse{\xreflength>\labelwidth}{%
  58 + \begin{minipage}{\textwidth}%
  59 + \setlength{\parindent}{0pt}%
  60 + \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
  61 + \end{minipage}%
  62 + }{%
  63 + \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
  64 + }%
  65 +}
  66 +
87 %---------- Commands used by doxygen LaTeX output generator ---------- 67 %---------- Commands used by doxygen LaTeX output generator ----------
88 68
89 % Used by <pre> ... </pre> 69 % Used by <pre> ... </pre>
@@ -97,11 +77,12 @@ @@ -97,11 +77,12 @@
97 77
98 % Used by @code ... @endcode 78 % Used by @code ... @endcode
99 \newenvironment{DoxyCode}{% 79 \newenvironment{DoxyCode}{%
100 -  
101 -  
102 -\begin{scriptsize}\begin{alltt}% 80 + \par%
  81 + \scriptsize%
  82 + \begin{alltt}%
103 }{% 83 }{%
104 -\end{alltt}\end{scriptsize}% 84 + \end{alltt}%
  85 + \normalsize%
105 } 86 }
106 87
107 % Used by @example, @include, @includelineno and @dontinclude 88 % Used by @example, @include, @includelineno and @dontinclude
@@ -148,13 +129,13 @@ @@ -148,13 +129,13 @@
148 \enddescription% 129 \enddescription%
149 } 130 }
150 131
151 -% Used by @image, @dotfile, and @dot ... @enddot 132 +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
152 % (only if caption is specified) 133 % (only if caption is specified)
153 \newenvironment{DoxyImage}{% 134 \newenvironment{DoxyImage}{%
154 \begin{figure}[H]% 135 \begin{figure}[H]%
155 - \begin{center}% 136 + \begin{center}%
156 }{% 137 }{%
157 - \end{center}% 138 + \end{center}%
158 \end{figure}% 139 \end{figure}%
159 } 140 }
160 141
@@ -227,7 +208,7 @@ @@ -227,7 +208,7 @@
227 \end{DoxyDesc}% 208 \end{DoxyDesc}%
228 } 209 }
229 210
230 -% Used by @return 211 +% Used by @return and @returns
231 \newenvironment{DoxyReturn}[1]{% 212 \newenvironment{DoxyReturn}[1]{%
232 \begin{DoxyDesc}{#1}% 213 \begin{DoxyDesc}{#1}%
233 }{% 214 }{%
@@ -270,8 +251,7 @@ @@ -270,8 +251,7 @@
270 251
271 % Used by @par and @paragraph 252 % Used by @par and @paragraph
272 \newenvironment{DoxyParagraph}[1]{% 253 \newenvironment{DoxyParagraph}[1]{%
273 - \begin{list}{}%  
274 - {% 254 + \begin{list}{}{%
275 \settowidth{\labelwidth}{40pt}% 255 \settowidth{\labelwidth}{40pt}%
276 \setlength{\leftmargin}{\labelwidth}% 256 \setlength{\leftmargin}{\labelwidth}%
277 \setlength{\parsep}{0pt}% 257 \setlength{\parsep}{0pt}%
@@ -285,192 +265,192 @@ @@ -285,192 +265,192 @@
285 265
286 % Used by parameter lists 266 % Used by parameter lists
287 \newenvironment{DoxyParams}[2][]{% 267 \newenvironment{DoxyParams}[2][]{%
288 - \begin{DoxyDesc}{#2}%  
289 - \item[] \hspace{\fill} \vspace{-40pt}%  
290 - \settowidth{\labelwidth}{40pt}%  
291 - \setlength{\LTleft}{0pt}%  
292 - \setlength{\tabcolsep}{0.01\textwidth}% 268 + \par%
  269 + \tabletail{\hline}%
  270 + \tablelasttail{\hline}%
  271 + \tablefirsthead{}%
  272 + \tablehead{}%
293 \ifthenelse{\equal{#1}{}}% 273 \ifthenelse{\equal{#1}{}}%
294 - {\begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%  
295 - p{0.815\textwidth}|}}% 274 + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
  275 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
  276 + p{0.805\textwidth}|}}%
296 {\ifthenelse{\equal{#1}{1}}% 277 {\ifthenelse{\equal{#1}{1}}%
297 - {\begin{longtable}{|>{\centering}p{0.10\textwidth}|% 278 + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
  279 + \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
298 >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% 280 >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
299 - p{0.685\textwidth}|}}%  
300 - {\begin{longtable}{|>{\centering}p{0.10\textwidth}|% 281 + p{0.678\textwidth}|}}%
  282 + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
  283 + \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
301 >{\centering\hspace{0pt}}p{0.15\textwidth}|% 284 >{\centering\hspace{0pt}}p{0.15\textwidth}|%
302 >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% 285 >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
303 - p{0.515\textwidth}|}}% 286 + p{0.501\textwidth}|}}%
304 }\hline% 287 }\hline%
305 }{% 288 }{%
306 - \end{longtable}%  
307 - \end{DoxyDesc}% 289 + \end{xtabular}%
  290 + \tablefirsthead{}%
  291 + \vspace{6pt}%
308 } 292 }
309 293
310 % Used for fields of simple structs 294 % Used for fields of simple structs
311 \newenvironment{DoxyFields}[1]{% 295 \newenvironment{DoxyFields}[1]{%
312 - \begin{DoxyDesc}{#1}%  
313 - \item[] \hspace{\fill} \vspace{-40pt}%  
314 - \settowidth{\labelwidth}{40pt}%  
315 - \setlength{\LTleft}{0pt}%  
316 - \setlength{\tabcolsep}{0.01\textwidth}%  
317 - \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% 296 + \par%
  297 + \tabletail{\hline}%
  298 + \tablelasttail{\hline}%
  299 + \tablehead{}%
  300 + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
  301 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
318 p{0.15\textwidth}|% 302 p{0.15\textwidth}|%
319 - p{0.635\textwidth}|}% 303 + p{0.63\textwidth}|}%
320 \hline% 304 \hline%
321 }{% 305 }{%
322 - \end{longtable}%  
323 - \end{DoxyDesc}% 306 + \end{xtabular}%
  307 + \tablefirsthead{}%
  308 + \vspace{6pt}%
324 } 309 }
325 310
326 -% is used for parameters within a detailed function description 311 +% Used for parameters within a detailed function description
327 \newenvironment{DoxyParamCaption}{% 312 \newenvironment{DoxyParamCaption}{%
328 \renewcommand{\item}[2][]{##1 {\em ##2}}% 313 \renewcommand{\item}[2][]{##1 {\em ##2}}%
329 - }{% 314 +}{%
330 } 315 }
331 316
332 % Used by return value lists 317 % Used by return value lists
333 \newenvironment{DoxyRetVals}[1]{% 318 \newenvironment{DoxyRetVals}[1]{%
334 - \begin{DoxyDesc}{#1}%  
335 - \begin{description}%  
336 - \item[] \hspace{\fill} \vspace{-25pt}%  
337 - \setlength{\tabcolsep}{0.01\textwidth}%  
338 - \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% 319 + \par%
  320 + \tabletail{\hline}%
  321 + \tablelasttail{\hline}%
  322 + \tablehead{}%
  323 + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
  324 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
339 p{0.705\textwidth}|}% 325 p{0.705\textwidth}|}%
340 - \hline% 326 + \hline%
341 }{% 327 }{%
342 - \end{longtable}%  
343 - \end{description}%  
344 - \end{DoxyDesc}% 328 + \end{xtabular}%
  329 + \tablefirsthead{}%
  330 + \vspace{6pt}%
345 } 331 }
346 332
347 % Used by exception lists 333 % Used by exception lists
348 \newenvironment{DoxyExceptions}[1]{% 334 \newenvironment{DoxyExceptions}[1]{%
349 - \begin{DoxyDesc}{#1}%  
350 - \begin{description}%  
351 - \item[] \hspace{\fill} \vspace{-25pt}%  
352 - \definecolor{tableShade}{HTML}{F8F8F8}%  
353 - \rowcolors{1}{white}{tableShade}%  
354 - \arrayrulecolor{gray}%  
355 - \setlength{\tabcolsep}{0.01\textwidth}%  
356 - \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% 335 + \par%
  336 + \tabletail{\hline}%
  337 + \tablelasttail{\hline}%
  338 + \tablehead{}%
  339 + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
  340 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
357 p{0.705\textwidth}|}% 341 p{0.705\textwidth}|}%
358 - \hline% 342 + \hline%
359 }{% 343 }{%
360 - \end{longtable}%  
361 - \end{description}%  
362 - \end{DoxyDesc}% 344 + \end{xtabular}%
  345 + \tablefirsthead{}%
  346 + \vspace{6pt}%
363 } 347 }
364 348
365 % Used by template parameter lists 349 % Used by template parameter lists
366 \newenvironment{DoxyTemplParams}[1]{% 350 \newenvironment{DoxyTemplParams}[1]{%
367 - \begin{DoxyDesc}{#1}%  
368 - \begin{description}%  
369 - \item[] \hspace{\fill} \vspace{-25pt}%  
370 - \definecolor{tableShade}{HTML}{F8F8F8}%  
371 - \rowcolors{1}{white}{tableShade}%  
372 - \arrayrulecolor{gray}%  
373 - \setlength{\tabcolsep}{0.01\textwidth}%  
374 - \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% 351 + \par%
  352 + \tabletail{\hline}%
  353 + \tablelasttail{\hline}%
  354 + \tablehead{}%
  355 + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
  356 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
375 p{0.705\textwidth}|}% 357 p{0.705\textwidth}|}%
376 - \hline% 358 + \hline%
377 }{% 359 }{%
378 - \end{longtable}%  
379 - \end{description}%  
380 - \end{DoxyDesc}% 360 + \end{xtabular}%
  361 + \tablefirsthead{}%
  362 + \vspace{6pt}%
381 } 363 }
382 364
383 -\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}  
384 -\newenvironment{DoxyCompactList}  
385 -{\begin{list}{}{  
386 - \setlength{\leftmargin}{0.5cm}  
387 - \setlength{\itemsep}{0pt}  
388 - \setlength{\parsep}{0pt}  
389 - \setlength{\topsep}{0pt}  
390 - \renewcommand{\makelabel}{\hfill}}}  
391 -{\end{list}}  
392 -\newenvironment{DoxyCompactItemize}  
393 -{  
394 - \begin{itemize}  
395 - \setlength{\itemsep}{-3pt}  
396 - \setlength{\parsep}{0pt}  
397 - \setlength{\topsep}{0pt}  
398 - \setlength{\partopsep}{0pt}  
399 -}  
400 -{\end{itemize}}  
401 -\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}  
402 -\newlength{\tmplength}  
403 -\newenvironment{TabularC}[1]  
404 -{  
405 -\setlength{\tmplength}  
406 - {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}  
407 - \par\begin{xtabular*}{\linewidth}  
408 - {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}  
409 -}  
410 -{\end{xtabular*}\par}  
411 -\newcommand{\entrylabel}[1]{  
412 - {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{%  
413 - \usefont{OT1}{phv}{bc}{n}\color{darkgray}#1}\vspace{1.5\baselineskip}}}}  
414 -\newenvironment{Desc}  
415 -{\begin{list}{}  
416 - {  
417 - \settowidth{\labelwidth}{40pt}  
418 - \setlength{\leftmargin}{\labelwidth}  
419 - \setlength{\parsep}{0pt}  
420 - \setlength{\itemsep}{-4pt}  
421 - \renewcommand{\makelabel}{\entrylabel}  
422 - } 365 +% Used for member lists
  366 +\newenvironment{DoxyCompactItemize}{%
  367 + \begin{itemize}%
  368 + \setlength{\itemsep}{-3pt}%
  369 + \setlength{\parsep}{0pt}%
  370 + \setlength{\topsep}{0pt}%
  371 + \setlength{\partopsep}{0pt}%
  372 +}{%
  373 + \end{itemize}%
423 } 374 }
424 -{\end{list}}  
425 -\newsavebox{\xrefbox}  
426 -\newlength{\xreflength}  
427 -\newcommand{\xreflabel}[1]{%  
428 - \sbox{\xrefbox}{#1}%  
429 - \setlength{\xreflength}{\wd\xrefbox}%  
430 - \ifthenelse{\xreflength>\labelwidth}{%  
431 - \begin{minipage}{\textwidth}%  
432 - \setlength{\parindent}{0pt}%  
433 - \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%  
434 - \end{minipage}%  
435 - }{%  
436 - \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%  
437 - }}% 375 +
  376 +% Used for member descriptions
  377 +\newenvironment{DoxyCompactList}{%
  378 + \begin{list}{}{%
  379 + \setlength{\leftmargin}{0.5cm}%
  380 + \setlength{\itemsep}{0pt}%
  381 + \setlength{\parsep}{0pt}%
  382 + \setlength{\topsep}{0pt}%
  383 + \renewcommand{\makelabel}{\hfill}%
  384 + }%
  385 +}{%
  386 + \end{list}%
  387 +}
  388 +
  389 +% Used for reference lists (@bug, @deprecated, @todo, etc.)
438 \newenvironment{DoxyRefList}{% 390 \newenvironment{DoxyRefList}{%
439 \begin{list}{}{% 391 \begin{list}{}{%
440 \setlength{\labelwidth}{10pt}% 392 \setlength{\labelwidth}{10pt}%
441 \setlength{\leftmargin}{\labelwidth}% 393 \setlength{\leftmargin}{\labelwidth}%
442 \addtolength{\leftmargin}{\labelsep}% 394 \addtolength{\leftmargin}{\labelsep}%
443 \renewcommand{\makelabel}{\xreflabel}% 395 \renewcommand{\makelabel}{\xreflabel}%
444 - }%  
445 }% 396 }%
446 -{\end{list}}  
447 -\newenvironment{DoxyRefDesc}[1] 397 +}{%
  398 + \end{list}%
  399 +}
  400 +
  401 +% Used by @bug, @deprecated, @todo, etc.
  402 +\newenvironment{DoxyRefDesc}[1]{%
  403 + \begin{list}{}{%
  404 + \renewcommand\makelabel[1]{\textbf{##1}}%
  405 + \settowidth\labelwidth{\makelabel{#1}}%
  406 + \setlength\leftmargin{\labelwidth+\labelsep}%
  407 + }%
  408 +}{%
  409 + \end{list}%
  410 +}
  411 +
  412 +% Used by parameter lists and simple sections
  413 +\newenvironment{Desc}
448 {\begin{list}{}{% 414 {\begin{list}{}{%
449 - \renewcommand\makelabel[1]{\textbf{##1}}  
450 - \settowidth\labelwidth{\makelabel{#1}}  
451 - \setlength\leftmargin{\labelwidth+\labelsep}}}  
452 -{\end{list}}  
453 -\newenvironment{Indent}  
454 - {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}  
455 - \item[]\ignorespaces}  
456 - {\unskip\end{list}}  
457 -\setlength{\parindent}{0cm}  
458 -\setlength{\parskip}{0.2cm}  
459 -\addtocounter{secnumdepth}{2}  
460 -\usepackage[T1]{fontenc}  
461 -\makeatletter  
462 -\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%  
463 - {-1.0ex}%  
464 - {1.0ex}%  
465 - {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}}  
466 -\renewcommand{\subparagraph}{\@startsection{subparagraph}{5}{0ex}%  
467 - {-1.0ex}%  
468 - {1.0ex}%  
469 - {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}}  
470 -\makeatother  
471 -\allsectionsfont{\usefont{OT1}{phv}{bc}{n}\selectfont\color{darkgray}}  
472 -\stepcounter{secnumdepth}  
473 -\stepcounter{tocdepth} 415 + \settowidth{\labelwidth}{40pt}%
  416 + \setlength{\leftmargin}{\labelwidth}%
  417 + \setlength{\parsep}{0pt}%
  418 + \setlength{\itemsep}{-4pt}%
  419 + \renewcommand{\makelabel}{\entrylabel}%
  420 + }
  421 +}{%
  422 + \end{list}%
  423 +}
  424 +
  425 +% Used by tables
  426 +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
  427 +\newlength{\tmplength}%
  428 +\newenvironment{TabularC}[1]%
  429 +{%
  430 +\setlength{\tmplength}%
  431 + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}%
  432 + \par\begin{xtabular*}{\linewidth}%
  433 + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}%
  434 +}%
  435 +{\end{xtabular*}\par}%
  436 +
  437 +% Used for member group headers
  438 +\newenvironment{Indent}{%
  439 + \begin{list}{}{%
  440 + \setlength{\leftmargin}{0.5cm}%
  441 + }%
  442 + \item[]\ignorespaces%
  443 +}{%
  444 + \unskip%
  445 + \end{list}%
  446 +}
  447 +
  448 +% Used when hyperlinks are turned off
  449 +\newcommand{\doxyref}[3]{%
  450 + \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
  451 +}
  452 +
  453 +% Used for syntax highlighting
474 \definecolor{comment}{rgb}{0.5,0.0,0.0} 454 \definecolor{comment}{rgb}{0.5,0.0,0.0}
475 \definecolor{keyword}{rgb}{0.0,0.5,0.0} 455 \definecolor{keyword}{rgb}{0.0,0.5,0.0}
476 \definecolor{keywordtype}{rgb}{0.38,0.25,0.125} 456 \definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
JChatClient/doc/latex/howto.tex
@@ -16,8 +16,6 @@ Debido a la complejidad añadida que supone hacerlo por esta vía, ya que la lib @@ -16,8 +16,6 @@ Debido a la complejidad añadida que supone hacerlo por esta vía, ya que la lib
16 Este modo transmite los carácteres de texto sin ningún tipo de encriptación, por lo tanto son totalmente visibles para cualquier agente intermedio. Sin embargo, el modo sin encriptación es más rápido y ofrece el doble de velocidad de transferencia aproximadamente. \par 16 Este modo transmite los carácteres de texto sin ningún tipo de encriptación, por lo tanto son totalmente visibles para cualquier agente intermedio. Sin embargo, el modo sin encriptación es más rápido y ofrece el doble de velocidad de transferencia aproximadamente. \par
17 \hypertarget{howto_send}{}\subsection{Envío/\-Recepción de mensajes}\label{howto_send} 17 \hypertarget{howto_send}{}\subsection{Envío/\-Recepción de mensajes}\label{howto_send}
18 El mensaje se transmite de la siguiente forma\-: 18 El mensaje se transmite de la siguiente forma\-:
19 -  
20 -  
21 \begin{DoxyEnumerate} 19 \begin{DoxyEnumerate}
22 \item Bob le quiere mandar a Alice un mensaje, primero pone el número de carácteres (bytes) que ocupa el mensaje en forma de string terminado con carácter N\-U\-L\-L ('\textbackslash{}0'). 20 \item Bob le quiere mandar a Alice un mensaje, primero pone el número de carácteres (bytes) que ocupa el mensaje en forma de string terminado con carácter N\-U\-L\-L ('\textbackslash{}0').
23 \item Bob añade el mensaje íntegro y lo manda todo junto. 21 \item Bob añade el mensaje íntegro y lo manda todo junto.
JChatClient/doc/latex/refman.aux
1 \relax 1 \relax
  2 +\providecommand\hyper@newdestlabel[2]{}
  3 +\catcode `"\active
  4 +\catcode `<\active
  5 +\catcode `>\active
  6 +\@nameuse{es@quoting}
2 \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} 7 \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
3 \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined 8 \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
4 \global\let\oldcontentsline\contentsline 9 \global\let\oldcontentsline\contentsline
@@ -14,10 +19,7 @@ @@ -14,10 +19,7 @@
14 \global\let\hyper@last\relax 19 \global\let\hyper@last\relax
15 \gdef\HyperFirstAtBeginDocument#1{#1} 20 \gdef\HyperFirstAtBeginDocument#1{#1}
16 \providecommand\HyField@AuxAddToFields[1]{} 21 \providecommand\HyField@AuxAddToFields[1]{}
17 -\catcode`"\active  
18 -\catcode`<\active  
19 -\catcode`>\active  
20 -\@nameuse{es@quoting} 22 +\providecommand\HyField@AuxAddToCoFields[2]{}
21 \select@language{spanish} 23 \select@language{spanish}
22 \@writefile{toc}{\select@language{spanish}} 24 \@writefile{toc}{\select@language{spanish}}
23 \@writefile{lof}{\select@language{spanish}} 25 \@writefile{lof}{\select@language{spanish}}
@@ -25,29 +27,29 @@ @@ -25,29 +27,29 @@
25 \@writefile{toc}{\contentsline {chapter}{\numberline {1}P\IeC {\'a}gina principal}{1}{chapter.1}} 27 \@writefile{toc}{\contentsline {chapter}{\numberline {1}P\IeC {\'a}gina principal}{1}{chapter.1}}
26 \@writefile{lof}{\addvspace {10\p@ }} 28 \@writefile{lof}{\addvspace {10\p@ }}
27 \@writefile{lot}{\addvspace {10\p@ }} 29 \@writefile{lot}{\addvspace {10\p@ }}
28 -\newlabel{index}{{1}{1}{Página principal\relax }{chapter.1}{}} 30 +\newlabel{index}{{1}{1}{Página principal}{chapter.1}{}}
29 \@writefile{toc}{\contentsline {chapter}{\numberline {2}Client}{3}{chapter.2}} 31 \@writefile{toc}{\contentsline {chapter}{\numberline {2}Client}{3}{chapter.2}}
30 \@writefile{lof}{\addvspace {10\p@ }} 32 \@writefile{lof}{\addvspace {10\p@ }}
31 \@writefile{lot}{\addvspace {10\p@ }} 33 \@writefile{lot}{\addvspace {10\p@ }}
32 -\newlabel{client_code}{{2}{3}{Client\relax }{chapter.2}{}} 34 +\newlabel{client_code}{{2}{3}{Client}{chapter.2}{}}
33 \@writefile{toc}{\contentsline {chapter}{\numberline {3}H\discretionary {-}{}{}O\discretionary {-}{}{}W\discretionary {-}{}{}T\discretionary {-}{}{}O}{5}{chapter.3}} 35 \@writefile{toc}{\contentsline {chapter}{\numberline {3}H\discretionary {-}{}{}O\discretionary {-}{}{}W\discretionary {-}{}{}T\discretionary {-}{}{}O}{5}{chapter.3}}
34 \@writefile{lof}{\addvspace {10\p@ }} 36 \@writefile{lof}{\addvspace {10\p@ }}
35 \@writefile{lot}{\addvspace {10\p@ }} 37 \@writefile{lot}{\addvspace {10\p@ }}
36 -\newlabel{howto}{{3}{5}{H\-O\-W\-T\-O\relax }{chapter.3}{}} 38 +\newlabel{howto}{{3}{5}{H\-O\-W\-T\-O}{chapter.3}{}}
37 \@writefile{toc}{\contentsline {section}{\numberline {3.1}Descripci\IeC {\'o}n del protocolo}{5}{section.3.1}} 39 \@writefile{toc}{\contentsline {section}{\numberline {3.1}Descripci\IeC {\'o}n del protocolo}{5}{section.3.1}}
38 -\newlabel{howto_proto}{{3.1}{5}{Descripción del protocolo\relax }{section.3.1}{}} 40 +\newlabel{howto_proto}{{3.1}{5}{Descripción del protocolo}{section.3.1}{}}
39 \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Modo en texto llano}{5}{subsection.3.1.1}} 41 \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Modo en texto llano}{5}{subsection.3.1.1}}
40 -\newlabel{howto_plain}{{3.1.1}{5}{Modo en texto llano\relax }{subsection.3.1.1}{}} 42 +\newlabel{howto_plain}{{3.1.1}{5}{Modo en texto llano}{subsection.3.1.1}{}}
41 \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Env\IeC {\'\i }o/\discretionary {-}{}{}Recepci\IeC {\'o}n de mensajes}{5}{subsection.3.1.2}} 43 \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Env\IeC {\'\i }o/\discretionary {-}{}{}Recepci\IeC {\'o}n de mensajes}{5}{subsection.3.1.2}}
42 -\newlabel{howto_send}{{3.1.2}{5}{Envío/\-Recepción de mensajes\relax }{subsection.3.1.2}{}} 44 +\newlabel{howto_send}{{3.1.2}{5}{Envío/\-Recepción de mensajes}{subsection.3.1.2}{}}
43 \@writefile{toc}{\contentsline {section}{\numberline {3.2}Compilaci\IeC {\'o}n}{6}{section.3.2}} 45 \@writefile{toc}{\contentsline {section}{\numberline {3.2}Compilaci\IeC {\'o}n}{6}{section.3.2}}
44 -\newlabel{howto_compile}{{3.2}{6}{Compilación\relax }{section.3.2}{}} 46 +\newlabel{howto_compile}{{3.2}{6}{Compilación}{section.3.2}{}}
45 \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Flags de compilaci\IeC {\'o}n}{6}{subsection.3.2.1}} 47 \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Flags de compilaci\IeC {\'o}n}{6}{subsection.3.2.1}}
46 -\newlabel{howto_flags}{{3.2.1}{6}{Flags de compilación\relax }{subsection.3.2.1}{}} 48 +\newlabel{howto_flags}{{3.2.1}{6}{Flags de compilación}{subsection.3.2.1}{}}
47 \@writefile{toc}{\contentsline {section}{\numberline {3.3}Ejemplos}{6}{section.3.3}} 49 \@writefile{toc}{\contentsline {section}{\numberline {3.3}Ejemplos}{6}{section.3.3}}
48 -\newlabel{howto_examples}{{3.3}{6}{Ejemplos\relax }{section.3.3}{}} 50 +\newlabel{howto_examples}{{3.3}{6}{Ejemplos}{section.3.3}{}}
49 \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Programar un cliente}{6}{subsection.3.3.1}} 51 \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Programar un cliente}{6}{subsection.3.3.1}}
50 -\newlabel{howto_server}{{3.3.1}{6}{Programar un cliente\relax }{subsection.3.3.1}{}} 52 +\newlabel{howto_server}{{3.3.1}{6}{Programar un cliente}{subsection.3.3.1}{}}
51 \@writefile{toc}{\contentsline {chapter}{\numberline {4}\IeC {\'I}ndice de clases}{7}{chapter.4}} 53 \@writefile{toc}{\contentsline {chapter}{\numberline {4}\IeC {\'I}ndice de clases}{7}{chapter.4}}
52 \@writefile{lof}{\addvspace {10\p@ }} 54 \@writefile{lof}{\addvspace {10\p@ }}
53 \@writefile{lot}{\addvspace {10\p@ }} 55 \@writefile{lot}{\addvspace {10\p@ }}
@@ -60,131 +62,113 @@ @@ -60,131 +62,113 @@
60 \@writefile{lof}{\addvspace {10\p@ }} 62 \@writefile{lof}{\addvspace {10\p@ }}
61 \@writefile{lot}{\addvspace {10\p@ }} 63 \@writefile{lot}{\addvspace {10\p@ }}
62 \@writefile{toc}{\contentsline {section}{\numberline {6.1}Referencia de la Clase Socket}{11}{section.6.1}} 64 \@writefile{toc}{\contentsline {section}{\numberline {6.1}Referencia de la Clase Socket}{11}{section.6.1}}
63 -\newlabel{class_socket}{{6.1}{11}{Referencia de la Clase Socket\relax }{section.6.1}{}}  
64 -\gdef \LT@i {\LT@entry  
65 - {1}{78.18367pt}\LT@entry  
66 - {1}{380.5249pt}}  
67 -\gdef \LT@ii {\LT@entry  
68 - {1}{78.18367pt}\LT@entry  
69 - {1}{380.5249pt}} 65 +\newlabel{class_socket}{{6.1}{11}{Referencia de la Clase Socket}{section.6.1}{}}
  66 +\gdef \PWST@i{1}
  67 +\gdef \PWST@ii{1}
70 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Descripci\IeC {\'o}n detallada}{12}{subsection.6.1.1}} 68 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Descripci\IeC {\'o}n detallada}{12}{subsection.6.1.1}}
71 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}Documentaci\IeC {\'o}n del constructor y destructor}{12}{subsection.6.1.2}} 69 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}Documentaci\IeC {\'o}n del constructor y destructor}{12}{subsection.6.1.2}}
72 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.2.1}Socket}{12}{subsubsection.6.1.2.1}} 70 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.2.1}Socket}{12}{subsubsection.6.1.2.1}}
73 -\newlabel{class_socket_a7c3256c4fc6e2c603df73201049fae5a}{{6.1.2.1}{12}{Socket\relax }{subsubsection.6.1.2.1}{}} 71 +\newlabel{class_socket_a7c3256c4fc6e2c603df73201049fae5a}{{6.1.2.1}{12}{Socket}{subsubsection.6.1.2.1}{}}
74 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Documentaci\IeC {\'o}n de las funciones miembro}{12}{subsection.6.1.3}} 72 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Documentaci\IeC {\'o}n de las funciones miembro}{12}{subsection.6.1.3}}
75 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.1}Accept}{12}{subsubsection.6.1.3.1}} 73 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.1}Accept}{12}{subsubsection.6.1.3.1}}
76 -\newlabel{class_socket_a25cdd79546b8e7e49f2195208ae6d00c}{{6.1.3.1}{12}{Accept\relax }{subsubsection.6.1.3.1}{}} 74 +\newlabel{class_socket_a25cdd79546b8e7e49f2195208ae6d00c}{{6.1.3.1}{12}{Accept}{subsubsection.6.1.3.1}{}}
77 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.2}Bind}{12}{subsubsection.6.1.3.2}} 75 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.2}Bind}{12}{subsubsection.6.1.3.2}}
78 -\newlabel{class_socket_afdc52c70cf11911cc1a3c595a7849cf0}{{6.1.3.2}{12}{Bind\relax }{subsubsection.6.1.3.2}{}} 76 +\newlabel{class_socket_afdc52c70cf11911cc1a3c595a7849cf0}{{6.1.3.2}{12}{Bind}{subsubsection.6.1.3.2}{}}
79 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.3}Close}{12}{subsubsection.6.1.3.3}} 77 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.3}Close}{12}{subsubsection.6.1.3.3}}
80 -\newlabel{class_socket_a4c8ced9a8ce58834191b3b4f2033b173}{{6.1.3.3}{12}{Close\relax }{subsubsection.6.1.3.3}{}}  
81 -\gdef \LT@iii {\LT@entry  
82 - {1}{78.18367pt}\LT@entry  
83 - {1}{380.5249pt}}  
84 -\gdef \LT@iv {\LT@entry  
85 - {1}{78.18367pt}\LT@entry  
86 - {1}{380.5249pt}}  
87 -\gdef \LT@v {\LT@entry  
88 - {1}{78.18367pt}\LT@entry  
89 - {1}{380.5249pt}}  
90 -\gdef \LT@vi {\LT@entry  
91 - {1}{78.18367pt}\LT@entry  
92 - {1}{380.5249pt}} 78 +\newlabel{class_socket_a4c8ced9a8ce58834191b3b4f2033b173}{{6.1.3.3}{12}{Close}{subsubsection.6.1.3.3}{}}
  79 +\gdef \PWST@iii{1}
  80 +\gdef \PWST@iv{1}
  81 +\gdef \PWST@v{1}
93 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.4}Connect}{13}{subsubsection.6.1.3.4}} 82 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.4}Connect}{13}{subsubsection.6.1.3.4}}
94 -\newlabel{class_socket_aa1d074c1aa400e8bca7c7da79b036abe}{{6.1.3.4}{13}{Connect\relax }{subsubsection.6.1.3.4}{}} 83 +\newlabel{class_socket_aa1d074c1aa400e8bca7c7da79b036abe}{{6.1.3.4}{13}{Connect}{subsubsection.6.1.3.4}{}}
95 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.5}Create}{13}{subsubsection.6.1.3.5}} 84 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.5}Create}{13}{subsubsection.6.1.3.5}}
96 -\newlabel{class_socket_add736ccf41f102910a2b8ac5e77eb8b1}{{6.1.3.5}{13}{Create\relax }{subsubsection.6.1.3.5}{}} 85 +\newlabel{class_socket_add736ccf41f102910a2b8ac5e77eb8b1}{{6.1.3.5}{13}{Create}{subsubsection.6.1.3.5}{}}
97 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.6}get\discretionary {-}{}{}Sock}{13}{subsubsection.6.1.3.6}} 86 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.6}get\discretionary {-}{}{}Sock}{13}{subsubsection.6.1.3.6}}
98 -\newlabel{class_socket_abc14da0faa1d00fe361eeede1b3cda4a}{{6.1.3.6}{13}{get\-Sock\relax }{subsubsection.6.1.3.6}{}} 87 +\newlabel{class_socket_abc14da0faa1d00fe361eeede1b3cda4a}{{6.1.3.6}{13}{get\-Sock}{subsubsection.6.1.3.6}{}}
99 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.7}Listen}{13}{subsubsection.6.1.3.7}} 88 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.7}Listen}{13}{subsubsection.6.1.3.7}}
100 -\newlabel{class_socket_a4d476d11854d7acb17b8d196c8171865}{{6.1.3.7}{13}{Listen\relax }{subsubsection.6.1.3.7}{}} 89 +\newlabel{class_socket_a4d476d11854d7acb17b8d196c8171865}{{6.1.3.7}{13}{Listen}{subsubsection.6.1.3.7}{}}
101 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.8}operator$<$$<$}{13}{subsubsection.6.1.3.8}} 90 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.8}operator$<$$<$}{13}{subsubsection.6.1.3.8}}
102 -\newlabel{class_socket_a5beab0c84c933510a53126f786cff6de}{{6.1.3.8}{13}{operator$<$$<$\relax }{subsubsection.6.1.3.8}{}} 91 +\newlabel{class_socket_a5beab0c84c933510a53126f786cff6de}{{6.1.3.8}{13}{operator$<$$<$}{subsubsection.6.1.3.8}{}}
103 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.9}operator$>$$>$}{13}{subsubsection.6.1.3.9}} 92 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.9}operator$>$$>$}{13}{subsubsection.6.1.3.9}}
104 -\newlabel{class_socket_ab6b2dffea36c60c53f8d5e539f1cf000}{{6.1.3.9}{13}{operator$>$$>$\relax }{subsubsection.6.1.3.9}{}}  
105 -\gdef \LT@vii {\LT@entry  
106 - {1}{78.18367pt}\LT@entry  
107 - {1}{380.5249pt}}  
108 -\gdef \LT@viii {\LT@entry  
109 - {1}{78.18367pt}\LT@entry  
110 - {1}{380.5249pt}} 93 +\newlabel{class_socket_ab6b2dffea36c60c53f8d5e539f1cf000}{{6.1.3.9}{13}{operator$>$$>$}{subsubsection.6.1.3.9}{}}
  94 +\gdef \PWST@vi{1}
  95 +\gdef \PWST@vii{1}
  96 +\gdef \PWST@viii{1}
111 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.10}Receive}{14}{subsubsection.6.1.3.10}} 97 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.10}Receive}{14}{subsubsection.6.1.3.10}}
112 -\newlabel{class_socket_aa1a8b143bb2adf57934156d9e33b8611}{{6.1.3.10}{14}{Receive\relax }{subsubsection.6.1.3.10}{}} 98 +\newlabel{class_socket_aa1a8b143bb2adf57934156d9e33b8611}{{6.1.3.10}{14}{Receive}{subsubsection.6.1.3.10}{}}
113 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.11}Send}{14}{subsubsection.6.1.3.11}} 99 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.11}Send}{14}{subsubsection.6.1.3.11}}
114 -\newlabel{class_socket_a4c4ecb88d5587177899198861d29d3dd}{{6.1.3.11}{14}{Send\relax }{subsubsection.6.1.3.11}{}} 100 +\newlabel{class_socket_a4c4ecb88d5587177899198861d29d3dd}{{6.1.3.11}{14}{Send}{subsubsection.6.1.3.11}{}}
115 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}Documentaci\IeC {\'o}n de los datos miembro}{14}{subsection.6.1.4}} 101 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}Documentaci\IeC {\'o}n de los datos miembro}{14}{subsection.6.1.4}}
116 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.1}sock}{14}{subsubsection.6.1.4.1}} 102 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.1}sock}{14}{subsubsection.6.1.4.1}}
117 -\newlabel{class_socket_a231ddf6e338a86640e26808b83efeaa1}{{6.1.4.1}{14}{sock\relax }{subsubsection.6.1.4.1}{}} 103 +\newlabel{class_socket_a231ddf6e338a86640e26808b83efeaa1}{{6.1.4.1}{14}{sock}{subsubsection.6.1.4.1}{}}
118 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.2}sock\discretionary {-}{}{}Addr}{14}{subsubsection.6.1.4.2}} 104 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.2}sock\discretionary {-}{}{}Addr}{14}{subsubsection.6.1.4.2}}
119 -\newlabel{class_socket_ae4d80b83c327ed835b5f4575a499a400}{{6.1.4.2}{14}{sock\-Addr\relax }{subsubsection.6.1.4.2}{}} 105 +\newlabel{class_socket_ae4d80b83c327ed835b5f4575a499a400}{{6.1.4.2}{14}{sock\-Addr}{subsubsection.6.1.4.2}{}}
120 \@writefile{toc}{\contentsline {section}{\numberline {6.2}Referencia de la Clase Socket\discretionary {-}{}{}Exception}{14}{section.6.2}} 106 \@writefile{toc}{\contentsline {section}{\numberline {6.2}Referencia de la Clase Socket\discretionary {-}{}{}Exception}{14}{section.6.2}}
121 -\newlabel{class_socket_exception}{{6.2}{14}{Referencia de la Clase Socket\-Exception\relax }{section.6.2}{}}  
122 -\gdef \LT@ix {\LT@entry  
123 - {1}{78.18367pt}\LT@entry  
124 - {1}{380.5249pt}} 107 +\newlabel{class_socket_exception}{{6.2}{14}{Referencia de la Clase Socket\-Exception}{section.6.2}{}}
  108 +\gdef \PWST@ix{1}
125 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Descripci\IeC {\'o}n detallada}{15}{subsection.6.2.1}} 109 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Descripci\IeC {\'o}n detallada}{15}{subsection.6.2.1}}
126 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}Documentaci\IeC {\'o}n del constructor y destructor}{15}{subsection.6.2.2}} 110 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}Documentaci\IeC {\'o}n del constructor y destructor}{15}{subsection.6.2.2}}
127 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.1}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.1}} 111 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.1}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.1}}
128 -\newlabel{class_socket_exception_a06573084bad8aca1443281c0970fe033}{{6.2.2.1}{15}{Socket\-Exception\relax }{subsubsection.6.2.2.1}{}} 112 +\newlabel{class_socket_exception_a06573084bad8aca1443281c0970fe033}{{6.2.2.1}{15}{Socket\-Exception}{subsubsection.6.2.2.1}{}}
129 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.2}$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.2}} 113 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.2}$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.2}}
130 -\newlabel{class_socket_exception_a659557c899329aea01977c980c4db9b9}{{6.2.2.2}{15}{$\sim $\-Socket\-Exception\relax }{subsubsection.6.2.2.2}{}} 114 +\newlabel{class_socket_exception_a659557c899329aea01977c980c4db9b9}{{6.2.2.2}{15}{$\sim $\-Socket\-Exception}{subsubsection.6.2.2.2}{}}
131 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}Documentaci\IeC {\'o}n de las funciones miembro}{15}{subsection.6.2.3}} 115 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}Documentaci\IeC {\'o}n de las funciones miembro}{15}{subsection.6.2.3}}
132 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.1}description}{15}{subsubsection.6.2.3.1}} 116 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.1}description}{15}{subsubsection.6.2.3.1}}
133 -\newlabel{class_socket_exception_ae160a594055812694ac93f7118c4af1c}{{6.2.3.1}{15}{description\relax }{subsubsection.6.2.3.1}{}} 117 +\newlabel{class_socket_exception_ae160a594055812694ac93f7118c4af1c}{{6.2.3.1}{15}{description}{subsubsection.6.2.3.1}{}}
134 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{15}{subsection.6.2.4}} 118 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{15}{subsection.6.2.4}}
135 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.4.1}message}{15}{subsubsection.6.2.4.1}} 119 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.4.1}message}{15}{subsubsection.6.2.4.1}}
136 -\newlabel{class_socket_exception_a43f3472f1433552059ffeb9a251a9b76}{{6.2.4.1}{15}{message\relax }{subsubsection.6.2.4.1}{}}  
137 -\@writefile{toc}{\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{15}{section.6.3}}  
138 -\newlabel{structthread__args}{{6.3}{15}{Referencia de la Estructura thread\-\_\-args\relax }{section.6.3}{}} 120 +\newlabel{class_socket_exception_a43f3472f1433552059ffeb9a251a9b76}{{6.2.4.1}{15}{message}{subsubsection.6.2.4.1}{}}
  121 +\@writefile{toc}{\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{16}{section.6.3}}
  122 +\newlabel{structthread__args}{{6.3}{16}{Referencia de la Estructura thread\-\_\-args}{section.6.3}{}}
139 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{16}{subsection.6.3.1}} 123 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{16}{subsection.6.3.1}}
140 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n de los datos miembro}{16}{subsection.6.3.2}} 124 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n de los datos miembro}{16}{subsection.6.3.2}}
141 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.1}condition}{16}{subsubsection.6.3.2.1}} 125 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.1}condition}{16}{subsubsection.6.3.2.1}}
142 -\newlabel{structthread__args_a96ee28beaed4175257db3d8794245f25}{{6.3.2.1}{16}{condition\relax }{subsubsection.6.3.2.1}{}} 126 +\newlabel{structthread__args_a96ee28beaed4175257db3d8794245f25}{{6.3.2.1}{16}{condition}{subsubsection.6.3.2.1}{}}
143 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.2}mutex}{16}{subsubsection.6.3.2.2}} 127 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.2}mutex}{16}{subsubsection.6.3.2.2}}
144 -\newlabel{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{{6.3.2.2}{16}{mutex\relax }{subsubsection.6.3.2.2}{}} 128 +\newlabel{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{{6.3.2.2}{16}{mutex}{subsubsection.6.3.2.2}{}}
145 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.3}s}{16}{subsubsection.6.3.2.3}} 129 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.3}s}{16}{subsubsection.6.3.2.3}}
146 -\newlabel{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{{6.3.2.3}{16}{s\relax }{subsubsection.6.3.2.3}{}} 130 +\newlabel{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{{6.3.2.3}{16}{s}{subsubsection.6.3.2.3}{}}
147 \@writefile{toc}{\contentsline {chapter}{\numberline {7}Documentaci\IeC {\'o}n de archivos}{17}{chapter.7}} 131 \@writefile{toc}{\contentsline {chapter}{\numberline {7}Documentaci\IeC {\'o}n de archivos}{17}{chapter.7}}
148 \@writefile{lof}{\addvspace {10\p@ }} 132 \@writefile{lof}{\addvspace {10\p@ }}
149 \@writefile{lot}{\addvspace {10\p@ }} 133 \@writefile{lot}{\addvspace {10\p@ }}
150 \@writefile{toc}{\contentsline {section}{\numberline {7.1}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.cpp}{17}{section.7.1}} 134 \@writefile{toc}{\contentsline {section}{\numberline {7.1}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.cpp}{17}{section.7.1}}
151 -\newlabel{client_8cpp}{{7.1}{17}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.cpp\relax }{section.7.1}{}} 135 +\newlabel{client_8cpp}{{7.1}{17}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.cpp}{section.7.1}{}}
152 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Descripci\IeC {\'o}n detallada}{17}{subsection.7.1.1}} 136 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Descripci\IeC {\'o}n detallada}{17}{subsection.7.1.1}}
153 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Documentaci\IeC {\'o}n de las funciones}{18}{subsection.7.1.2}} 137 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Documentaci\IeC {\'o}n de las funciones}{18}{subsection.7.1.2}}
154 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.1}connect}{18}{subsubsection.7.1.2.1}} 138 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.1}connect}{18}{subsubsection.7.1.2.1}}
155 -\newlabel{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{{7.1.2.1}{18}{connect\relax }{subsubsection.7.1.2.1}{}} 139 +\newlabel{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{{7.1.2.1}{18}{connect}{subsubsection.7.1.2.1}{}}
156 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.2}kill\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.2}} 140 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.2}kill\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.2}}
157 -\newlabel{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{{7.1.2.2}{18}{kill\-Thread\relax }{subsubsection.7.1.2.2}{}} 141 +\newlabel{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{{7.1.2.2}{18}{kill\-Thread}{subsubsection.7.1.2.2}{}}
158 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.3}main}{18}{subsubsection.7.1.2.3}} 142 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.3}main}{18}{subsubsection.7.1.2.3}}
159 -\newlabel{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{{7.1.2.3}{18}{main\relax }{subsubsection.7.1.2.3}{}} 143 +\newlabel{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{{7.1.2.3}{18}{main}{subsubsection.7.1.2.3}{}}
160 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.4}recv\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.4}} 144 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.4}recv\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.4}}
161 -\newlabel{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{{7.1.2.4}{18}{recv\-Thread\relax }{subsubsection.7.1.2.4}{}} 145 +\newlabel{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{{7.1.2.4}{18}{recv\-Thread}{subsubsection.7.1.2.4}{}}
162 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.5}send\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.5}} 146 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.5}send\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.5}}
163 -\newlabel{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{{7.1.2.5}{18}{send\-Thread\relax }{subsubsection.7.1.2.5}{}} 147 +\newlabel{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{{7.1.2.5}{18}{send\-Thread}{subsubsection.7.1.2.5}{}}
164 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}Documentaci\IeC {\'o}n de las variables}{18}{subsection.7.1.3}} 148 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}Documentaci\IeC {\'o}n de las variables}{18}{subsection.7.1.3}}
165 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.1}connected}{18}{subsubsection.7.1.3.1}} 149 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.1}connected}{18}{subsubsection.7.1.3.1}}
166 -\newlabel{client_8cpp_ab36823025f12a809217f7771125658c2}{{7.1.3.1}{18}{connected\relax }{subsubsection.7.1.3.1}{}} 150 +\newlabel{client_8cpp_ab36823025f12a809217f7771125658c2}{{7.1.3.1}{18}{connected}{subsubsection.7.1.3.1}{}}
167 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.2}finished}{18}{subsubsection.7.1.3.2}} 151 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.2}finished}{18}{subsubsection.7.1.3.2}}
168 -\newlabel{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{{7.1.3.2}{18}{finished\relax }{subsubsection.7.1.3.2}{}} 152 +\newlabel{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{{7.1.3.2}{18}{finished}{subsubsection.7.1.3.2}{}}
169 \@writefile{toc}{\contentsline {section}{\numberline {7.2}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.dox}{19}{section.7.2}} 153 \@writefile{toc}{\contentsline {section}{\numberline {7.2}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.dox}{19}{section.7.2}}
170 -\newlabel{client_8dox}{{7.2}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.dox\relax }{section.7.2}{}} 154 +\newlabel{client_8dox}{{7.2}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.dox}{section.7.2}{}}
171 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.2.1}} 155 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.2.1}}
172 \@writefile{toc}{\contentsline {section}{\numberline {7.3}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.dox}{19}{section.7.3}} 156 \@writefile{toc}{\contentsline {section}{\numberline {7.3}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.dox}{19}{section.7.3}}
173 -\newlabel{howto_8dox}{{7.3}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/howto.dox\relax }{section.7.3}{}} 157 +\newlabel{howto_8dox}{{7.3}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/howto.dox}{section.7.3}{}}
174 \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.3.1}} 158 \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.3.1}}
175 \@writefile{toc}{\contentsline {section}{\numberline {7.4}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/client.h}{19}{section.7.4}} 159 \@writefile{toc}{\contentsline {section}{\numberline {7.4}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/client.h}{19}{section.7.4}}
176 -\newlabel{client_8h}{{7.4}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/client.h\relax }{section.7.4}{}} 160 +\newlabel{client_8h}{{7.4}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/client.h}{section.7.4}{}}
177 \@writefile{toc}{\contentsline {section}{\numberline {7.5}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.h}{19}{section.7.5}} 161 \@writefile{toc}{\contentsline {section}{\numberline {7.5}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.h}{19}{section.7.5}}
178 -\newlabel{_socket_8h}{{7.5}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket.h\relax }{section.7.5}{}} 162 +\newlabel{_socket_8h}{{7.5}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket.h}{section.7.5}{}}
179 \@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.5.1}} 163 \@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.5.1}}
180 \@writefile{toc}{\contentsline {section}{\numberline {7.6}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.h}{20}{section.7.6}} 164 \@writefile{toc}{\contentsline {section}{\numberline {7.6}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.h}{20}{section.7.6}}
181 -\newlabel{_socket_exception_8h}{{7.6}{20}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket\-Exception.h\relax }{section.7.6}{}} 165 +\newlabel{_socket_exception_8h}{{7.6}{20}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket\-Exception.h}{section.7.6}{}}
182 \@writefile{toc}{\contentsline {subsection}{\numberline {7.6.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.6.1}} 166 \@writefile{toc}{\contentsline {subsection}{\numberline {7.6.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.6.1}}
183 \@writefile{toc}{\contentsline {section}{\numberline {7.7}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.dox}{21}{section.7.7}} 167 \@writefile{toc}{\contentsline {section}{\numberline {7.7}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.dox}{21}{section.7.7}}
184 -\newlabel{mainpage_8dox}{{7.7}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/mainpage.dox\relax }{section.7.7}{}} 168 +\newlabel{mainpage_8dox}{{7.7}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/mainpage.dox}{section.7.7}{}}
185 \@writefile{toc}{\contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{21}{section.7.8}} 169 \@writefile{toc}{\contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{21}{section.7.8}}
186 -\newlabel{makefile_8dox}{{7.8}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/makefile.dox\relax }{section.7.8}{}} 170 +\newlabel{makefile_8dox}{{7.8}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/makefile.dox}{section.7.8}{}}
187 \@writefile{toc}{\contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{21}{section.7.9}} 171 \@writefile{toc}{\contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{21}{section.7.9}}
188 -\newlabel{_socket_8cpp}{{7.9}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/\-Socket.cpp\relax }{section.7.9}{}} 172 +\newlabel{_socket_8cpp}{{7.9}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/\-Socket.cpp}{section.7.9}{}}
189 \@writefile{toc}{\contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.9.1}} 173 \@writefile{toc}{\contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.9.1}}
190 -\@writefile{toc}{\contentsline {part}{\IeC {\'I}ndice}{21}{subsection.7.9.1}} 174 +\@writefile{toc}{\contentsline {part}{\IeC {\'I}ndice}{22}{section*.13}}
JChatClient/doc/latex/refman.idx
@@ -19,8 +19,8 @@ @@ -19,8 +19,8 @@
19 \indexentry{operator$<$$<$@{operator$<$$<$}!Socket@{Socket}|hyperpage}{13} 19 \indexentry{operator$<$$<$@{operator$<$$<$}!Socket@{Socket}|hyperpage}{13}
20 \indexentry{Socket@{Socket}!operator$>$$>$@{operator$>$$>$}|hyperpage}{13} 20 \indexentry{Socket@{Socket}!operator$>$$>$@{operator$>$$>$}|hyperpage}{13}
21 \indexentry{operator$>$$>$@{operator$>$$>$}!Socket@{Socket}|hyperpage}{13} 21 \indexentry{operator$>$$>$@{operator$>$$>$}!Socket@{Socket}|hyperpage}{13}
22 -\indexentry{Socket@{Socket}!Receive@{Receive}|hyperpage}{13}  
23 -\indexentry{Receive@{Receive}!Socket@{Socket}|hyperpage}{13} 22 +\indexentry{Socket@{Socket}!Receive@{Receive}|hyperpage}{14}
  23 +\indexentry{Receive@{Receive}!Socket@{Socket}|hyperpage}{14}
24 \indexentry{Socket@{Socket}!Send@{Send}|hyperpage}{14} 24 \indexentry{Socket@{Socket}!Send@{Send}|hyperpage}{14}
25 \indexentry{Send@{Send}!Socket@{Socket}|hyperpage}{14} 25 \indexentry{Send@{Send}!Socket@{Socket}|hyperpage}{14}
26 \indexentry{Socket@{Socket}!sock@{sock}|hyperpage}{14} 26 \indexentry{Socket@{Socket}!sock@{sock}|hyperpage}{14}
@@ -36,7 +36,7 @@ @@ -36,7 +36,7 @@
36 \indexentry{description@{description}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15} 36 \indexentry{description@{description}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15}
37 \indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!message@{message}|hyperpage}{15} 37 \indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!message@{message}|hyperpage}{15}
38 \indexentry{message@{message}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15} 38 \indexentry{message@{message}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15}
39 -\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{15} 39 +\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{16}
40 \indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!condition@{condition}|hyperpage}{16} 40 \indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!condition@{condition}|hyperpage}{16}
41 \indexentry{condition@{condition}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{16} 41 \indexentry{condition@{condition}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{16}
42 \indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!mutex@{mutex}|hyperpage}{16} 42 \indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!mutex@{mutex}|hyperpage}{16}
JChatClient/doc/latex/refman.ilg
1 -This is makeindex, version 2.15 [TeX Live 2012] (kpathsea + Thai support). 1 +This is makeindex, version 2.15 [TeX Live 2013] (kpathsea + Thai support).
2 Scanning input file refman.idx....done (68 entries accepted, 0 rejected). 2 Scanning input file refman.idx....done (68 entries accepted, 0 rejected).
3 Sorting entries....done (442 comparisons). 3 Sorting entries....done (442 comparisons).
4 Generating output file refman.ind....done (151 lines written, 0 warnings). 4 Generating output file refman.ind....done (151 lines written, 0 warnings).
JChatClient/doc/latex/refman.ind
@@ -100,7 +100,7 @@ @@ -100,7 +100,7 @@
100 \indexspace 100 \indexspace
101 101
102 \item {Receive} 102 \item {Receive}
103 - \subitem {Socket}, \hyperpage{13} 103 + \subitem {Socket}, \hyperpage{14}
104 \item {recv\discretionary {-}{}{}Thread} 104 \item {recv\discretionary {-}{}{}Thread}
105 \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18} 105 \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18}
106 106
@@ -127,7 +127,7 @@ @@ -127,7 +127,7 @@
127 \subitem {Listen}, \hyperpage{13} 127 \subitem {Listen}, \hyperpage{13}
128 \subitem {operator$<$$<$}, \hyperpage{13} 128 \subitem {operator$<$$<$}, \hyperpage{13}
129 \subitem {operator$>$$>$}, \hyperpage{13} 129 \subitem {operator$>$$>$}, \hyperpage{13}
130 - \subitem {Receive}, \hyperpage{13} 130 + \subitem {Receive}, \hyperpage{14}
131 \subitem {Send}, \hyperpage{14} 131 \subitem {Send}, \hyperpage{14}
132 \subitem {sock}, \hyperpage{14} 132 \subitem {sock}, \hyperpage{14}
133 \subitem {sock\discretionary {-}{}{}Addr}, \hyperpage{14} 133 \subitem {sock\discretionary {-}{}{}Addr}, \hyperpage{14}
@@ -143,7 +143,7 @@ @@ -143,7 +143,7 @@
143 \indexspace 143 \indexspace
144 144
145 \item {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}, 145 \item {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args},
146 - \hyperpage{15} 146 + \hyperpage{16}
147 \subitem {condition}, \hyperpage{16} 147 \subitem {condition}, \hyperpage{16}
148 \subitem {mutex}, \hyperpage{16} 148 \subitem {mutex}, \hyperpage{16}
149 \subitem {s}, \hyperpage{16} 149 \subitem {s}, \hyperpage{16}
JChatClient/doc/latex/refman.log
1 -This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) (format=pdflatex 2013.8.1) 10 DEC 2013 04:23 1 +This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2013.12.7) 12 DEC 2013 17:44
2 entering extended mode 2 entering extended mode
3 restricted \write18 enabled. 3 restricted \write18 enabled.
4 %&-line parsing enabled. 4 %&-line parsing enabled.
5 **refman 5 **refman
6 (./refman.tex 6 (./refman.tex
7 LaTeX2e <2011/06/27> 7 LaTeX2e <2011/06/27>
8 -Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, lo  
9 -aded. 8 +Babel <3.9f> and hyphenation patterns for 5 languages loaded.
10 (/usr/share/texlive/texmf-dist/tex/latex/base/book.cls 9 (/usr/share/texlive/texmf-dist/tex/latex/base/book.cls
11 Document Class: book 2007/10/19 v1.4h Standard LaTeX document class 10 Document Class: book 2007/10/19 v1.4h Standard LaTeX document class
12 (/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo 11 (/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo
@@ -25,60 +24,56 @@ File: bk10.clo 2007/10/19 v1.4h Standard LaTeX file (size option) @@ -25,60 +24,56 @@ File: bk10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
25 \belowcaptionskip=\skip42 24 \belowcaptionskip=\skip42
26 \bibindent=\dimen102 25 \bibindent=\dimen102
27 ) 26 )
28 -(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty  
29 -Package: geometry 2010/09/12 v5.6 Page Geometry 27 +(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
  28 +Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
  29 +\calc@Acount=\count88
  30 +\calc@Bcount=\count89
  31 +\calc@Adimen=\dimen103
  32 +\calc@Bdimen=\dimen104
  33 +\calc@Askip=\skip43
  34 +\calc@Bskip=\skip44
  35 +LaTeX Info: Redefining \setlength on input line 76.
  36 +LaTeX Info: Redefining \addtolength on input line 77.
  37 +\calc@Ccount=\count90
  38 +\calc@Cskip=\skip45
  39 +) (./doxygen.sty
  40 +Package: doxygen
30 41
31 -(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty  
32 -Package: keyval 1999/03/16 v1.13 key=value parser (DPC)  
33 -\KV@toks@=\toks14  
34 -)  
35 -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty  
36 -Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)  
37 -Package ifpdf Info: pdfTeX in PDF mode is detected.  
38 -)  
39 -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty  
40 -Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)  
41 -Package ifvtex Info: VTeX not detected. 42 +(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
  43 +Package: alltt 1997/06/16 v2.0g defines alltt environment
42 ) 44 )
43 -(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty  
44 -Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional 45 +(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
  46 +Package: array 2008/09/09 v2.4c Tabular extension package (FMi)
  47 +\col@sep=\dimen105
  48 +\extrarowheight=\dimen106
  49 +\NC@list=\toks14
  50 +\extratabsurround=\skip46
  51 +\backup@length=\skip47
45 ) 52 )
46 -\Gm@cnth=\count88  
47 -\Gm@cntv=\count89  
48 -\c@Gm@tempcnt=\count90  
49 -\Gm@bindingoffset=\dimen103  
50 -\Gm@wd@mp=\dimen104  
51 -\Gm@odd@mp=\dimen105  
52 -\Gm@even@mp=\dimen106  
53 -\Gm@layoutwidth=\dimen107  
54 -\Gm@layoutheight=\dimen108  
55 -\Gm@layouthoffset=\dimen109  
56 -\Gm@layoutvoffset=\dimen110  
57 -\Gm@dimlist=\toks15 53 +(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty
  54 +Package: float 2001/11/08 v1.3d Float enhancements (AL)
  55 +\c@float@type=\count91
  56 +\float@exts=\toks15
  57 +\float@box=\box26
  58 +\@float@everytoks=\toks16
  59 +\@floatcapt=\box27
58 ) 60 )
59 -(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty  
60 -Package: makeidx 2000/03/29 v1.0m Standard LaTeX package 61 +(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
  62 +Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
61 ) 63 )
62 -(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty  
63 -Package: natbib 2010/09/13 8.31b (PWD, AO)  
64 -\bibhang=\skip43  
65 -\bibsep=\skip44  
66 -LaTeX Info: Redefining \cite on input line 694.  
67 -\c@NAT@ctr=\count91 64 +(/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty
  65 +Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
  66 +\every@verbatim=\toks17
  67 +\verbatim@line=\toks18
  68 +\verbatim@in@stream=\read1
68 ) 69 )
69 -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty  
70 -Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)  
71 -  
72 -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty  
73 -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) 70 +(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
  71 +Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
74 72
75 -(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty  
76 -Package: trig 1999/03/16 v1.09 sin cos tan (DPC)  
77 -)  
78 -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg  
79 -File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live 73 +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg
  74 +File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
80 ) 75 )
81 -Package graphics Info: Driver file: pdftex.def on input line 91. 76 +Package xcolor Info: Driver file: pdftex.def on input line 225.
82 77
83 (/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def 78 (/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def
84 File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX 79 File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
@@ -90,126 +85,13 @@ Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) @@ -90,126 +85,13 @@ Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
90 Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) 85 Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
91 ) 86 )
92 \Gread@gobject=\count92 87 \Gread@gobject=\count92
93 -))  
94 -\Gin@req@height=\dimen111  
95 -\Gin@req@width=\dimen112  
96 -)  
97 -(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty  
98 -Package: multicol 2011/06/27 v1.7a multicolumn formatting (FMi)  
99 -\c@tracingmulticols=\count93  
100 -\mult@box=\box26  
101 -\multicol@leftmargin=\dimen113  
102 -\c@unbalance=\count94  
103 -\c@collectmore=\count95  
104 -\doublecol@number=\count96  
105 -\multicoltolerance=\count97  
106 -\multicolpretolerance=\count98  
107 -\full@width=\dimen114  
108 -\page@free=\dimen115  
109 -\premulticols=\dimen116  
110 -\postmulticols=\dimen117  
111 -\multicolsep=\skip45  
112 -\multicolbaselineskip=\skip46  
113 -\partial@page=\box27  
114 -\last@line=\box28  
115 -\mult@rightbox=\box29  
116 -\mult@grightbox=\box30  
117 -\mult@gfirstbox=\box31  
118 -\mult@firstbox=\box32  
119 -\@tempa=\box33  
120 -\@tempa=\box34  
121 -\@tempa=\box35  
122 -\@tempa=\box36  
123 -\@tempa=\box37  
124 -\@tempa=\box38  
125 -\@tempa=\box39  
126 -\@tempa=\box40  
127 -\@tempa=\box41  
128 -\@tempa=\box42  
129 -\@tempa=\box43  
130 -\@tempa=\box44  
131 -\@tempa=\box45  
132 -\@tempa=\box46  
133 -\@tempa=\box47  
134 -\@tempa=\box48  
135 -\@tempa=\box49  
136 -\c@columnbadness=\count99  
137 -\c@finalcolumnbadness=\count100  
138 -\last@try=\dimen118  
139 -\multicolovershoot=\dimen119  
140 -\multicolundershoot=\dimen120  
141 -\mult@nat@firstbox=\box50  
142 -\colbreak@box=\box51  
143 -\multicol@sort@counter=\count101  
144 -)  
145 -(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty  
146 -Package: float 2001/11/08 v1.3d Float enhancements (AL)  
147 -\c@float@type=\count102  
148 -\float@exts=\toks16  
149 -\float@box=\box52  
150 -\@float@everytoks=\toks17  
151 -\@floatcapt=\box53  
152 -)  
153 -(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty  
154 -\lst@mode=\count103  
155 -\lst@gtempboxa=\box54  
156 -\lst@token=\toks18  
157 -\lst@length=\count104  
158 -\lst@currlwidth=\dimen121  
159 -\lst@column=\count105  
160 -\lst@pos=\count106  
161 -\lst@lostspace=\dimen122  
162 -\lst@width=\dimen123  
163 -\lst@newlines=\count107  
164 -\lst@lineno=\count108  
165 -\lst@maxwidth=\dimen124  
166 -  
167 -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty  
168 -File: lstmisc.sty 2007/02/22 1.4 (Carsten Heinz)  
169 -\c@lstnumber=\count109  
170 -\lst@skipnumbers=\count110  
171 -\lst@framebox=\box55  
172 -)  
173 -(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg  
174 -File: listings.cfg 2007/02/22 1.4 listings configuration  
175 -))  
176 -Package: listings 2007/02/22 1.4 (Carsten Heinz)  
177 -  
178 -(/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty  
179 -Package: color 2005/11/14 v1.0j Standard LaTeX Color (DPC)  
180 -  
181 -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg  
182 -File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive  
183 -)  
184 -Package color Info: Driver file: pdftex.def on input line 130.  
185 -)  
186 -(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty  
187 -Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)  
188 -)  
189 -(/usr/share/texmf/tex/latex/xcolor/xcolor.sty  
190 -Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)  
191 -  
192 -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg  
193 -File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive  
194 ) 88 )
195 -Package xcolor Info: Driver file: pdftex.def on input line 225.  
196 -  
197 (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty 89 (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty
198 Package: colortbl 2012/02/13 v1.0a Color table columns (DPC) 90 Package: colortbl 2012/02/13 v1.0a Color table columns (DPC)
199 -  
200 -(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty  
201 -Package: array 2008/09/09 v2.4c Tabular extension package (FMi)  
202 -\col@sep=\dimen125  
203 -\extrarowheight=\dimen126  
204 -\NC@list=\toks19  
205 -\extratabsurround=\skip47  
206 -\backup@length=\skip48  
207 -)  
208 -\everycr=\toks20  
209 -\minrowclearance=\skip49 91 +\everycr=\toks19
  92 +\minrowclearance=\skip48
210 ) 93 )
211 -LaTeX Info: Redefining \color on input line 702.  
212 -\rownum=\count111 94 +\rownum=\count93
213 Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337. 95 Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337.
214 Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341. 96 Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341.
215 Package xcolor Info: Model `RGB' extended on input line 1353. 97 Package xcolor Info: Model `RGB' extended on input line 1353.
@@ -220,204 +102,59 @@ Package xcolor Info: Model `HSB&#39; substituted by `hsb&#39; on input line 1358. @@ -220,204 +102,59 @@ Package xcolor Info: Model `HSB&#39; substituted by `hsb&#39; on input line 1358.
220 Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359. 102 Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
221 Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360. 103 Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
222 ) 104 )
223 -(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty  
224 -Package: textcomp 2005/09/27 v1.99g Standard LaTeX package  
225 -Package textcomp Info: Sub-encoding information:  
226 -(textcomp) 5 = only ISO-Adobe without \textcurrency  
227 -(textcomp) 4 = 5 + \texteuro  
228 -(textcomp) 3 = 4 + \textohm  
229 -(textcomp) 2 = 3 + \textestimated + \textcurrency  
230 -(textcomp) 1 = TS1 - \textcircled - \t  
231 -(textcomp) 0 = TS1 (full)  
232 -(textcomp) Font families with sub-encoding setting implement  
233 -(textcomp) only a restricted character set as indicated.  
234 -(textcomp) Family '?' is the default used for unknown fonts.  
235 -(textcomp) See the documentation for details.  
236 -Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71.  
237 -  
238 -(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def  
239 -File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file  
240 -)  
241 -LaTeX Info: Redefining \oldstylenums on input line 266.  
242 -Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 281.  
243 -Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 282.  
244 -Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 283.  
245 -Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 284.  
246 -Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 285.  
247 -Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 286.  
248 -Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 287.  
249 -Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 288.  
250 -Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 289.  
251 -Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 290.  
252 -Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 291.  
253 -Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 292.  
254 -Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 293.  
255 -Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 294.  
256 -Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 295.  
257 -Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 296.  
258 -Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 297.  
259 -Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 298.  
260 -Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 299.  
261 -Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 300.  
262 -Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 301.  
263 -Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 302.  
264 -Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 303.  
265 -Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 304.  
266 -  
267 -Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 305.  
268 -Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 306.  
269 -Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 307.  
270 -Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 308.  
271 -Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 309.  
272 -Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 310.  
273 -Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 311.  
274 -Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 312.  
275 -Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 313.  
276 -Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 314.  
277 -Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 315.  
278 -Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 316.  
279 -Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 317.  
280 -Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 318.  
281 -Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 319.  
282 -Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 320.  
283 -Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 321.  
284 -Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 322.  
285 -Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 323.  
286 -Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 324.  
287 -Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 325.  
288 -Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 326.  
289 -Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 327.  
290 -Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 328.  
291 -Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 329.  
292 -Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 330.  
293 -Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 331.  
294 -Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 332.  
295 -Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 333.  
296 -Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 334.  
297 -Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 335.  
298 -Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 336.  
299 -Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 337.  
300 -Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 338.  
301 -Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 339.  
302 -Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 340.  
303 -)  
304 -(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty  
305 -Package: alltt 1997/06/16 v2.0g defines alltt environment  
306 -)  
307 -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty  
308 -Package: hyperref 2012/05/13 v6.82q Hypertext links for LaTeX  
309 -  
310 -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty  
311 -Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)  
312 -  
313 -  
314 -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty  
315 -Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)  
316 -Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)  
317 -Package hobsub Info: Skipping package `infwarerr' (already loaded).  
318 -Package hobsub Info: Skipping package `ltxcmds' (already loaded).  
319 -Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)  
320 -Package ifluatex Info: LuaTeX not detected.  
321 -Package hobsub Info: Skipping package `ifvtex' (already loaded).  
322 -Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO)  
323 -Package hobsub Info: Skipping package `ifpdf' (already loaded).  
324 -Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)  
325 -Package etexcmds Info: Could not find \expanded.  
326 -(etexcmds) That can mean that you are not using pdfTeX 1.50 or  
327 -(etexcmds) that some package has redefined \expanded.  
328 -(etexcmds) In the latter case, load this package earlier.  
329 -Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)  
330 -Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)  
331 -Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO  
332 -)  
333 -Package pdftexcmds Info: LuaTeX not detected.  
334 -Package pdftexcmds Info: \pdf@primitive is available.  
335 -Package pdftexcmds Info: \pdf@ifprimitive is available.  
336 -Package pdftexcmds Info: \pdfdraftmode found.  
337 -Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO)  
338 -Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO  
339 -)  
340 -Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO)  
341 -Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO)  
342 -)  
343 -Package hobsub Info: Skipping package `hobsub' (already loaded).  
344 -Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO)  
345 -Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO)  
346 -Package: xcolor-patch 2011/01/30 xcolor patch  
347 -Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO)  
348 -Package atveryend Info: \enddocument detected (standard20110627).  
349 -Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)  
350 -Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)  
351 -Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)  
352 -)  
353 -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty  
354 -Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)  
355 -)  
356 -\@linkdim=\dimen127  
357 -\Hy@linkcounter=\count112  
358 -\Hy@pagecounter=\count113  
359 -  
360 -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def  
361 -File: pd1enc.def 2012/05/13 v6.82q Hyperref: PDFDocEncoding definition (HO) 105 +(/usr/share/texlive/texmf-dist/tex/latex/xtab/xtab.sty
  106 +Package: xtab 2011/07/31 v2.3f Extended supertabular package
  107 +\c@tracingst=\count94
  108 +\PWSTcapht=\dimen107
  109 +\ST@wd=\dimen108
  110 +\ST@rightskip=\skip49
  111 +\ST@leftskip=\skip50
  112 +\ST@parfillskip=\skip51
  113 +\c@PWSTtable=\count95
  114 +\PWSTlastpage=\count96
  115 +\PWSTpenultimate=\count97
  116 +\PWSTcurpage=\count98
  117 +\PWSTtempc=\count99
  118 +\PWSTlines=\count100
  119 +\PWST@lastht=\dimen109
  120 +\PWST@generalht=\dimen110
  121 +\PWST@ht=\dimen111
  122 +\ST@pageleft=\dimen112
  123 +\ST@headht=\dimen113
  124 +\ST@tailht=\dimen114
  125 +\ST@pagesofar=\dimen115
  126 +\ST@pboxht=\dimen116
  127 +\ST@lineht=\dimen117
  128 +\ST@stretchht=\dimen118
  129 +\ST@prevht=\dimen119
  130 +\ST@toadd=\dimen120
  131 +\ST@dimen=\dimen121
  132 +\ST@pbox=\box28
  133 +)
  134 +\xrefbox=\box29
  135 +\xreflength=\skip52
  136 +\tmplength=\skip53
362 ) 137 )
363 -\Hy@SavedSpaceFactor=\count114 138 +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
  139 +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
364 140
365 -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg  
366 -File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive 141 +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
  142 +Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
  143 +\KV@toks@=\toks20
367 ) 144 )
368 -Package hyperref Info: Option `colorlinks' set `true' on input line 3941.  
369 -Package hyperref Info: Option `unicode' set `true' on input line 3941. 145 +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
  146 +Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
370 147
371 -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def  
372 -File: puenc.def 2012/05/13 v6.82q Hyperref: PDF Unicode definition (HO) 148 +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
  149 +Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
373 ) 150 )
374 -Package hyperref Info: Hyper figures OFF on input line 4062.  
375 -Package hyperref Info: Link nesting OFF on input line 4067.  
376 -Package hyperref Info: Hyper index ON on input line 4070.  
377 -Package hyperref Info: Plain pages OFF on input line 4077.  
378 -Package hyperref Info: Backreferencing ON on input line 4080.  
379 -Package hyperref Info: Implicit mode ON; LaTeX internals redefined.  
380 -Package hyperref Info: Bookmarks ON on input line 4300.  
381 -  
382 -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty  
383 -Package: backref 2010/08/30 v1.36 Bibliographical back referencing  
384 -  
385 -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty  
386 -Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)  
387 -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2  
388 -82.  
389 -))  
390 -\c@Hy@tempcnt=\count115  
391 -  
392 -(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty  
393 -\Urlmuskip=\muskip10  
394 -Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc. 151 +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg
  152 +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
395 ) 153 )
396 -LaTeX Info: Redefining \url on input line 4653.  
397 -\Fld@menulength=\count116  
398 -\Field@Width=\dimen128  
399 -\Fld@charsize=\dimen129  
400 -Package hyperref Info: Hyper figures OFF on input line 5773.  
401 -Package hyperref Info: Link nesting OFF on input line 5778.  
402 -Package hyperref Info: Hyper index ON on input line 5781.  
403 -Package hyperref Info: backreferencing ON on input line 5786.  
404 -Package hyperref Info: Link coloring ON on input line 5791.  
405 -Package hyperref Info: Link coloring with OCG OFF on input line 5798.  
406 -Package hyperref Info: PDF/A mode OFF on input line 5803.  
407 -LaTeX Info: Redefining \ref on input line 5843.  
408 -LaTeX Info: Redefining \pageref on input line 5847.  
409 -\Hy@abspage=\count117  
410 -\c@Item=\count118  
411 -\c@Hfootnote=\count119 154 +Package graphics Info: Driver file: pdftex.def on input line 91.
412 ) 155 )
413 -  
414 -Package hyperref Message: Driver: hpdftex.  
415 -  
416 -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def  
417 -File: hpdftex.def 2012/05/13 v6.82q Hyperref driver for pdfTeX  
418 -\Fld@listcount=\count120  
419 -\c@bookmark@seq@number=\count121  
420 -\Hy@SectionHShift=\skip50 156 +\Gin@req@height=\dimen122
  157 +\Gin@req@width=\dimen123
421 ) 158 )
422 (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty 159 (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
423 Package: inputenc 2008/03/30 v1.1d Input encoding file 160 Package: inputenc 2008/03/30 v1.1d Input encoding file
@@ -625,6 +362,88 @@ Now handling font encoding OMX ... @@ -625,6 +362,88 @@ Now handling font encoding OMX ...
625 ... no UTF-8 mapping file for font encoding OMX 362 ... no UTF-8 mapping file for font encoding OMX
626 Now handling font encoding U ... 363 Now handling font encoding U ...
627 ... no UTF-8 mapping file for font encoding U 364 ... no UTF-8 mapping file for font encoding U
  365 + defining Unicode char U+00A9 (decimal 169)
  366 + defining Unicode char U+00AA (decimal 170)
  367 + defining Unicode char U+00AE (decimal 174)
  368 + defining Unicode char U+00BA (decimal 186)
  369 + defining Unicode char U+02C6 (decimal 710)
  370 + defining Unicode char U+02DC (decimal 732)
  371 + defining Unicode char U+200C (decimal 8204)
  372 + defining Unicode char U+2026 (decimal 8230)
  373 + defining Unicode char U+2122 (decimal 8482)
  374 + defining Unicode char U+2423 (decimal 9251)
  375 +))
  376 +(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
  377 +Package: makeidx 2000/03/29 v1.0m Standard LaTeX package
  378 +)
  379 +(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
  380 +Package: multicol 2011/06/27 v1.7a multicolumn formatting (FMi)
  381 +\c@tracingmulticols=\count101
  382 +\mult@box=\box30
  383 +\multicol@leftmargin=\dimen124
  384 +\c@unbalance=\count102
  385 +\c@collectmore=\count103
  386 +\doublecol@number=\count104
  387 +\multicoltolerance=\count105
  388 +\multicolpretolerance=\count106
  389 +\full@width=\dimen125
  390 +\page@free=\dimen126
  391 +\premulticols=\dimen127
  392 +\postmulticols=\dimen128
  393 +\multicolsep=\skip54
  394 +\multicolbaselineskip=\skip55
  395 +\partial@page=\box31
  396 +\last@line=\box32
  397 +\mult@rightbox=\box33
  398 +\mult@grightbox=\box34
  399 +\mult@gfirstbox=\box35
  400 +\mult@firstbox=\box36
  401 +\@tempa=\box37
  402 +\@tempa=\box38
  403 +\@tempa=\box39
  404 +\@tempa=\box40
  405 +\@tempa=\box41
  406 +\@tempa=\box42
  407 +\@tempa=\box43
  408 +\@tempa=\box44
  409 +\@tempa=\box45
  410 +\@tempa=\box46
  411 +\@tempa=\box47
  412 +\@tempa=\box48
  413 +\@tempa=\box49
  414 +\@tempa=\box50
  415 +\@tempa=\box51
  416 +\@tempa=\box52
  417 +\@tempa=\box53
  418 +\c@columnbadness=\count107
  419 +\c@finalcolumnbadness=\count108
  420 +\last@try=\dimen129
  421 +\multicolovershoot=\dimen130
  422 +\multicolundershoot=\dimen131
  423 +\mult@nat@firstbox=\box54
  424 +\colbreak@box=\box55
  425 +\multicol@sort@counter=\count109
  426 +)
  427 +(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty
  428 +\bigstrutjot=\dimen132
  429 +)
  430 +(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
  431 +Package: textcomp 2005/09/27 v1.99g Standard LaTeX package
  432 +Package textcomp Info: Sub-encoding information:
  433 +(textcomp) 5 = only ISO-Adobe without \textcurrency
  434 +(textcomp) 4 = 5 + \texteuro
  435 +(textcomp) 3 = 4 + \textohm
  436 +(textcomp) 2 = 3 + \textestimated + \textcurrency
  437 +(textcomp) 1 = TS1 - \textcircled - \t
  438 +(textcomp) 0 = TS1 (full)
  439 +(textcomp) Font families with sub-encoding setting implement
  440 +(textcomp) only a restricted character set as indicated.
  441 +(textcomp) Family '?' is the default used for unknown fonts.
  442 +(textcomp) See the documentation for details.
  443 +Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71.
  444 +
  445 +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
  446 +File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
628 Now handling font encoding TS1 ... 447 Now handling font encoding TS1 ...
629 ... processing UTF-8 mapping file for font encoding TS1 448 ... processing UTF-8 mapping file for font encoding TS1
630 449
@@ -699,47 +518,97 @@ File: ts1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc @@ -699,47 +518,97 @@ File: ts1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
699 defining Unicode char U+25E6 (decimal 9702) 518 defining Unicode char U+25E6 (decimal 9702)
700 defining Unicode char U+25EF (decimal 9711) 519 defining Unicode char U+25EF (decimal 9711)
701 defining Unicode char U+266A (decimal 9834) 520 defining Unicode char U+266A (decimal 9834)
702 -)  
703 -Now handling font encoding PD1 ...  
704 -... no UTF-8 mapping file for font encoding PD1  
705 -Now handling font encoding PU ...  
706 -... no UTF-8 mapping file for font encoding PU  
707 - defining Unicode char U+00A9 (decimal 169)  
708 - defining Unicode char U+00AA (decimal 170)  
709 - defining Unicode char U+00AE (decimal 174)  
710 - defining Unicode char U+00BA (decimal 186)  
711 - defining Unicode char U+02C6 (decimal 710)  
712 - defining Unicode char U+02DC (decimal 732)  
713 - defining Unicode char U+200C (decimal 8204)  
714 - defining Unicode char U+2026 (decimal 8230)  
715 - defining Unicode char U+2122 (decimal 8482)  
716 - defining Unicode char U+2423 (decimal 9251)  
717 )) 521 ))
  522 +LaTeX Info: Redefining \oldstylenums on input line 266.
  523 +Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 281.
  524 +Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 282.
  525 +Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 283.
  526 +Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 284.
  527 +Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 285.
  528 +Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 286.
  529 +Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 287.
  530 +Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 288.
  531 +Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 289.
  532 +Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 290.
  533 +Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 291.
  534 +Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 292.
  535 +Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 293.
  536 +Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 294.
  537 +Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 295.
  538 +Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 296.
  539 +Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 297.
  540 +Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 298.
  541 +Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 299.
  542 +Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 300.
  543 +Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 301.
  544 +Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 302.
  545 +Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 303.
  546 +Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 304.
  547 +
  548 +Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 305.
  549 +Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 306.
  550 +Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 307.
  551 +Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 308.
  552 +Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 309.
  553 +Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 310.
  554 +Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 311.
  555 +Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 312.
  556 +Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 313.
  557 +Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 314.
  558 +Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 315.
  559 +Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 316.
  560 +Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 317.
  561 +Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 318.
  562 +Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 319.
  563 +Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 320.
  564 +Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 321.
  565 +Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 322.
  566 +Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 323.
  567 +Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 324.
  568 +Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 325.
  569 +Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 326.
  570 +Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 327.
  571 +Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 328.
  572 +Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 329.
  573 +Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 330.
  574 +Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 331.
  575 +Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 332.
  576 +Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 333.
  577 +Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 334.
  578 +Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 335.
  579 +Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 336.
  580 +Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 337.
  581 +Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 338.
  582 +Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 339.
  583 +Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 340.
  584 +)
718 (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty 585 (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
719 -Package: babel 2008/07/08 v3.8m The Babel package 586 +Package: babel 2013/05/16 v3.9f The Babel package
720 587
721 -(/usr/share/texlive/texmf-dist/tex/generic/babel/spanish.ldf  
722 -Language: spanish.ldf 2011/10/06 v5.0k Spanish support from the babel system 588 +(/usr/share/texlive/texmf-dist/tex/generic/babel-spanish/spanish.ldf
  589 +Language: spanish.ldf 2010/05/23 v5.0j Spanish support from the babel system
723 590
724 (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def 591 (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
725 -File: babel.def 2008/07/08 v3.8m Babel common definitions  
726 -\babel@savecnt=\count122  
727 -\U@D=\dimen130 592 +File: babel.def 2013/05/16 v3.9f Babel common definitions
  593 +\babel@savecnt=\count110
  594 +\U@D=\dimen133
728 ) 595 )
729 -  
730 -Package babel Warning: No hyphenation patterns were loaded for  
731 -(babel) the language `Spanish'  
732 -(babel) I will use the patterns loaded for \language=0 instead.  
733 -  
734 -\l@spanish = a dialect from \language0  
735 -\es@datefmt=\count123 596 +\es@datefmt=\count111
736 \es@quottoks=\toks23 597 \es@quottoks=\toks23
737 -\es@quotdepth=\count124  
738 -Package babel Info: Making " an active character on input line 496.  
739 -Package babel Info: Making . an active character on input line 599.  
740 -Package babel Info: Making < an active character on input line 644.  
741 -Package babel Info: Making > an active character on input line 644.  
742 -)) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/mathptmx.sty 598 +\es@quotdepth=\count112
  599 +Package babel Info: Making " an active character on input line 495.
  600 +Package babel Info: Making . an active character on input line 588.
  601 +Package babel Info: Making < an active character on input line 633.
  602 +Package babel Info: Making > an active character on input line 633.
  603 +))
  604 +(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
  605 +Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
  606 +
  607 +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
  608 +File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
  609 +LaTeX Font Info: Redeclaring font encoding T1 on input line 43.
  610 +))
  611 +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/mathptmx.sty
743 Package: mathptmx 2005/04/12 PSNFSS-v9.2a Times w/ Math, improved (SPQR, WaS) 612 Package: mathptmx 2005/04/12 PSNFSS-v9.2a Times w/ Math, improved (SPQR, WaS)
744 LaTeX Font Info: Redeclaring symbol font `operators' on input line 28. 613 LaTeX Font Info: Redeclaring symbol font `operators' on input line 28.
745 LaTeX Font Info: Overwriting symbol font `operators' in version `normal' 614 LaTeX Font Info: Overwriting symbol font `operators' in version `normal'
@@ -781,203 +650,302 @@ Package: helvet 2005/04/12 PSNFSS-v9.2a (WaS) @@ -781,203 +650,302 @@ Package: helvet 2005/04/12 PSNFSS-v9.2a (WaS)
781 (/usr/share/texlive/texmf-dist/tex/latex/psnfss/courier.sty 650 (/usr/share/texlive/texmf-dist/tex/latex/psnfss/courier.sty
782 Package: courier 2005/04/12 PSNFSS-v9.2a (WaS) 651 Package: courier 2005/04/12 PSNFSS-v9.2a (WaS)
783 ) 652 )
784 -(/usr/share/texlive/texmf-dist/tex/latex/sectsty/sectsty.sty  
785 -Package: sectsty 2002/02/25 v2.0.2 Commands to change all sectional heading sty  
786 -les  
787 -)  
788 (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty 653 (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
789 -Package: amssymb 2009/06/22 v3.00 654 +Package: amssymb 2013/01/14 v3.01 AMS font symbols
790 655
791 (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty 656 (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
792 -Package: amsfonts 2009/06/22 v3.00 Basic AMSFonts support 657 +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
793 \@emptytoks=\toks24 658 \@emptytoks=\toks24
794 \symAMSa=\mathgroup6 659 \symAMSa=\mathgroup6
795 \symAMSb=\mathgroup7 660 \symAMSb=\mathgroup7
796 LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' 661 LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
797 -(Font) U/euf/m/n --> U/euf/b/n on input line 96. 662 +(Font) U/euf/m/n --> U/euf/b/n on input line 106.
798 )) 663 ))
799 -(/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty  
800 -Package: tocloft 2010/10/13 v2.3e parameterised ToC, etc., typesetting  
801 -Package tocloft Info: The document has chapter divisions on input line 43.  
802 -\cftparskip=\skip51  
803 -\cftbeforetoctitleskip=\skip52  
804 -\cftaftertoctitleskip=\skip53  
805 -\cftbeforepartskip=\skip54  
806 -\cftpartnumwidth=\skip55  
807 -\cftpartindent=\skip56  
808 -\cftbeforechapskip=\skip57  
809 -\cftchapindent=\skip58  
810 -\cftchapnumwidth=\skip59  
811 -\cftbeforesecskip=\skip60  
812 -\cftsecindent=\skip61  
813 -\cftsecnumwidth=\skip62  
814 -\cftbeforesubsecskip=\skip63  
815 -\cftsubsecindent=\skip64  
816 -\cftsubsecnumwidth=\skip65  
817 -\cftbeforesubsubsecskip=\skip66  
818 -\cftsubsubsecindent=\skip67  
819 -\cftsubsubsecnumwidth=\skip68  
820 -\cftbeforeparaskip=\skip69  
821 -\cftparaindent=\skip70  
822 -\cftparanumwidth=\skip71  
823 -\cftbeforesubparaskip=\skip72  
824 -\cftsubparaindent=\skip73  
825 -\cftsubparanumwidth=\skip74  
826 -\cftbeforeloftitleskip=\skip75  
827 -\cftafterloftitleskip=\skip76  
828 -\cftbeforefigskip=\skip77  
829 -\cftfigindent=\skip78  
830 -\cftfignumwidth=\skip79  
831 -\c@lofdepth=\count125  
832 -\c@lotdepth=\count126  
833 -\cftbeforelottitleskip=\skip80  
834 -\cftafterlottitleskip=\skip81  
835 -\cftbeforetabskip=\skip82  
836 -\cfttabindent=\skip83  
837 -\cfttabnumwidth=\skip84  
838 -) (./doxygen.sty  
839 -Package: doxygen 664 +(/usr/share/texlive/texmf-dist/tex/latex/sectsty/sectsty.sty
  665 +Package: sectsty 2002/02/25 v2.0.2 Commands to change all sectional heading sty
  666 +les
  667 +)
  668 +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
  669 +Package: geometry 2010/09/12 v5.6 Page Geometry
840 670
841 -(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty  
842 -Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ)  
843 -\calc@Acount=\count127  
844 -\calc@Bcount=\count128  
845 -\calc@Adimen=\dimen131  
846 -\calc@Bdimen=\dimen132  
847 -\calc@Askip=\skip85  
848 -\calc@Bskip=\skip86  
849 -LaTeX Info: Redefining \setlength on input line 76.  
850 -LaTeX Info: Redefining \addtolength on input line 77.  
851 -\calc@Ccount=\count129  
852 -\calc@Cskip=\skip87 671 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
  672 +Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
  673 +Package ifpdf Info: pdfTeX in PDF mode is detected.
  674 +)
  675 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
  676 +Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
  677 +Package ifvtex Info: VTeX not detected.
  678 +)
  679 +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
  680 +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
  681 +)
  682 +\Gm@cnth=\count113
  683 +\Gm@cntv=\count114
  684 +\c@Gm@tempcnt=\count115
  685 +\Gm@bindingoffset=\dimen134
  686 +\Gm@wd@mp=\dimen135
  687 +\Gm@odd@mp=\dimen136
  688 +\Gm@even@mp=\dimen137
  689 +\Gm@layoutwidth=\dimen138
  690 +\Gm@layoutheight=\dimen139
  691 +\Gm@layouthoffset=\dimen140
  692 +\Gm@layoutvoffset=\dimen141
  693 +\Gm@dimlist=\toks25
853 ) 694 )
854 (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty 695 (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
855 -\fancy@headwidth=\skip88  
856 -\f@ncyO@elh=\skip89  
857 -\f@ncyO@erh=\skip90  
858 -\f@ncyO@olh=\skip91  
859 -\f@ncyO@orh=\skip92  
860 -\f@ncyO@elf=\skip93  
861 -\f@ncyO@erf=\skip94  
862 -\f@ncyO@olf=\skip95  
863 -\f@ncyO@orf=\skip96  
864 -)  
865 -(/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty  
866 -Package: longtable 2004/02/01 v4.11 Multi-page Table package (DPC)  
867 -\LTleft=\skip97  
868 -\LTright=\skip98  
869 -\LTpre=\skip99  
870 -\LTpost=\skip100  
871 -\LTchunksize=\count130  
872 -\LTcapwidth=\dimen133  
873 -\LT@head=\box56  
874 -\LT@firsthead=\box57  
875 -\LT@foot=\box58  
876 -\LT@lastfoot=\box59  
877 -\LT@cols=\count131  
878 -\LT@rows=\count132  
879 -\c@LT@tables=\count133  
880 -\c@LT@chunks=\count134  
881 -\LT@p@ftn=\toks25 696 +\fancy@headwidth=\skip56
  697 +\f@ncyO@elh=\skip57
  698 +\f@ncyO@erh=\skip58
  699 +\f@ncyO@olh=\skip59
  700 +\f@ncyO@orh=\skip60
  701 +\f@ncyO@elf=\skip61
  702 +\f@ncyO@erf=\skip62
  703 +\f@ncyO@olf=\skip63
  704 +\f@ncyO@orf=\skip64
882 ) 705 )
883 -(/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty  
884 -Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements  
885 -\every@verbatim=\toks26  
886 -\verbatim@line=\toks27  
887 -\verbatim@in@stream=\read1 706 +(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty
  707 +Package: natbib 2010/09/13 8.31b (PWD, AO)
  708 +\bibhang=\skip65
  709 +\bibsep=\skip66
  710 +LaTeX Info: Redefining \cite on input line 694.
  711 +\c@NAT@ctr=\count116
888 ) 712 )
889 -(/usr/share/texlive/texmf-dist/tex/latex/xtab/xtab.sty  
890 -Package: xtab 2011/07/31 v2.3f Extended supertabular package  
891 -\c@tracingst=\count135  
892 -\PWSTcapht=\dimen134  
893 -\ST@wd=\dimen135  
894 -\ST@rightskip=\skip101  
895 -\ST@leftskip=\skip102  
896 -\ST@parfillskip=\skip103  
897 -\c@PWSTtable=\count136  
898 -\PWSTlastpage=\count137  
899 -\PWSTpenultimate=\count138  
900 -\PWSTcurpage=\count139  
901 -\PWSTtempc=\count140  
902 -\PWSTlines=\count141  
903 -\PWST@lastht=\dimen136  
904 -\PWST@generalht=\dimen137  
905 -\PWST@ht=\dimen138  
906 -\ST@pageleft=\dimen139  
907 -\ST@headht=\dimen140  
908 -\ST@tailht=\dimen141  
909 -\ST@pagesofar=\dimen142  
910 -\ST@pboxht=\dimen143  
911 -\ST@lineht=\dimen144  
912 -\ST@stretchht=\dimen145  
913 -\ST@prevht=\dimen146  
914 -\ST@toadd=\dimen147  
915 -\ST@dimen=\dimen148  
916 -\ST@pbox=\box60 713 +(/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty
  714 +Package: tocloft 2013/05/02 v2.3f parameterised ToC, etc., typesetting
  715 +Package tocloft Info: The document has chapter divisions on input line 44.
  716 +\cftparskip=\skip67
  717 +\cftbeforetoctitleskip=\skip68
  718 +\cftaftertoctitleskip=\skip69
  719 +\cftbeforepartskip=\skip70
  720 +\cftpartnumwidth=\skip71
  721 +\cftpartindent=\skip72
  722 +\cftbeforechapskip=\skip73
  723 +\cftchapindent=\skip74
  724 +\cftchapnumwidth=\skip75
  725 +\cftbeforesecskip=\skip76
  726 +\cftsecindent=\skip77
  727 +\cftsecnumwidth=\skip78
  728 +\cftbeforesubsecskip=\skip79
  729 +\cftsubsecindent=\skip80
  730 +\cftsubsecnumwidth=\skip81
  731 +\cftbeforesubsubsecskip=\skip82
  732 +\cftsubsubsecindent=\skip83
  733 +\cftsubsubsecnumwidth=\skip84
  734 +\cftbeforeparaskip=\skip85
  735 +\cftparaindent=\skip86
  736 +\cftparanumwidth=\skip87
  737 +\cftbeforesubparaskip=\skip88
  738 +\cftsubparaindent=\skip89
  739 +\cftsubparanumwidth=\skip90
  740 +\cftbeforeloftitleskip=\skip91
  741 +\cftafterloftitleskip=\skip92
  742 +\cftbeforefigskip=\skip93
  743 +\cftfigindent=\skip94
  744 +\cftfignumwidth=\skip95
  745 +\c@lofdepth=\count117
  746 +\c@lotdepth=\count118
  747 +\cftbeforelottitleskip=\skip96
  748 +\cftafterlottitleskip=\skip97
  749 +\cftbeforetabskip=\skip98
  750 +\cfttabindent=\skip99
  751 +\cfttabnumwidth=\skip100
917 ) 752 )
918 -(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty  
919 -\bigstrutjot=\dimen149 753 +\@indexfile=\write3
  754 +\openout3 = `refman.idx'.
  755 +
  756 +
  757 +Writing index file refman.idx
  758 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
  759 +Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX
  760 +
  761 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
  762 +Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)
  763 +
  764 +
  765 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
  766 +Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)
  767 +Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)
  768 +Package hobsub Info: Skipping package `infwarerr' (already loaded).
  769 +Package hobsub Info: Skipping package `ltxcmds' (already loaded).
  770 +Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
  771 +Package ifluatex Info: LuaTeX not detected.
  772 +Package hobsub Info: Skipping package `ifvtex' (already loaded).
  773 +Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO)
  774 +Package hobsub Info: Skipping package `ifpdf' (already loaded).
  775 +Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
  776 +Package etexcmds Info: Could not find \expanded.
  777 +(etexcmds) That can mean that you are not using pdfTeX 1.50 or
  778 +(etexcmds) that some package has redefined \expanded.
  779 +(etexcmds) In the latter case, load this package earlier.
  780 +Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)
  781 +Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)
  782 +Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO
  783 +)
  784 +Package pdftexcmds Info: LuaTeX not detected.
  785 +Package pdftexcmds Info: \pdf@primitive is available.
  786 +Package pdftexcmds Info: \pdf@ifprimitive is available.
  787 +Package pdftexcmds Info: \pdfdraftmode found.
  788 +Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO)
  789 +Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO
  790 +)
  791 +Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO)
  792 +Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO)
  793 +)
  794 +Package hobsub Info: Skipping package `hobsub' (already loaded).
  795 +Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO)
  796 +Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO)
  797 +Package: xcolor-patch 2011/01/30 xcolor patch
  798 +Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO)
  799 +Package atveryend Info: \enddocument detected (standard20110627).
  800 +Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)
  801 +Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)
  802 +Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)
  803 +)
  804 +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
  805 +Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO)
  806 +)
  807 +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
  808 +Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
920 ) 809 )
921 -\tmplength=\skip104  
922 -\xrefbox=\box61  
923 -\xreflength=\skip105 810 +\@linkdim=\dimen142
  811 +\Hy@linkcounter=\count119
  812 +\Hy@pagecounter=\count120
924 813
925 -(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty  
926 -Package: fontenc 2005/09/27 v1.99g Standard LaTeX package 814 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
  815 +File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO)
  816 +Now handling font encoding PD1 ...
  817 +... no UTF-8 mapping file for font encoding PD1
  818 +)
  819 +\Hy@SavedSpaceFactor=\count121
927 820
928 -(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def  
929 -File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file  
930 -LaTeX Font Info: Redeclaring font encoding T1 on input line 43.  
931 -)))  
932 -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty  
933 -File: lstlang1.sty 2004/09/05 1.3 listings language file 821 +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
  822 +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
934 ) 823 )
935 -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty  
936 -File: lstlang1.sty 2004/09/05 1.3 listings language file 824 +Package hyperref Info: Hyper figures OFF on input line 4443.
  825 +Package hyperref Info: Link nesting OFF on input line 4448.
  826 +Package hyperref Info: Hyper index ON on input line 4451.
  827 +Package hyperref Info: Plain pages OFF on input line 4458.
  828 +Package hyperref Info: Backreferencing ON on input line 4461.
  829 +Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
  830 +Package hyperref Info: Bookmarks ON on input line 4688.
  831 +
  832 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty
  833 +Package: backref 2012/07/25 v1.38 Bibliographical back referencing
  834 +
  835 +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
  836 +Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)
  837 +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
  838 +82.
  839 +))
  840 +\c@Hy@tempcnt=\count122
  841 +
  842 +(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
  843 +\Urlmuskip=\muskip10
  844 +Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc.
937 ) 845 )
938 -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty  
939 -File: lstmisc.sty 2007/02/22 1.4 (Carsten Heinz) 846 +LaTeX Info: Redefining \url on input line 5041.
  847 +\XeTeXLinkMargin=\dimen143
  848 +\Fld@menulength=\count123
  849 +\Field@Width=\dimen144
  850 +\Fld@charsize=\dimen145
  851 +Package hyperref Info: Hyper figures OFF on input line 6295.
  852 +Package hyperref Info: Link nesting OFF on input line 6300.
  853 +Package hyperref Info: Hyper index ON on input line 6303.
  854 +Package hyperref Info: backreferencing ON on input line 6308.
  855 +Package hyperref Info: Link coloring OFF on input line 6315.
  856 +Package hyperref Info: Link coloring with OCG OFF on input line 6320.
  857 +Package hyperref Info: PDF/A mode OFF on input line 6325.
  858 +LaTeX Info: Redefining \ref on input line 6365.
  859 +LaTeX Info: Redefining \pageref on input line 6369.
  860 +\Hy@abspage=\count124
  861 +\c@Item=\count125
  862 +\c@Hfootnote=\count126
940 ) 863 )
941 -\@indexfile=\write3  
942 -\openout3 = `refman.idx'.  
943 864
  865 +Package hyperref Message: Driver: hpdftex.
944 866
945 -Writing index file refman.idx  
946 -(./refman.aux  
947 -LaTeX Info: Redefining \. on input line 21.  
948 -LaTeX Info: Redefining \% on input line 21. 867 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
  868 +File: hpdftex.def 2012/11/06 v6.83m Hyperref driver for pdfTeX
  869 +\Fld@listcount=\count127
  870 +\c@bookmark@seq@number=\count128
  871 +\Hy@SectionHShift=\skip101
  872 +)
  873 +Package hyperref Info: Option `colorlinks' set `true' on input line 103.
  874 +Package hyperref Info: Option `unicode' set `true' on input line 103.
  875 +
  876 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
  877 +File: puenc.def 2012/11/06 v6.83m Hyperref: PDF Unicode definition (HO)
  878 +Now handling font encoding PU ...
  879 +... no UTF-8 mapping file for font encoding PU
  880 +) (./refman.aux
  881 +LaTeX Info: Redefining \. on input line 23.
  882 +LaTeX Info: Redefining \% on input line 23.
949 ) 883 )
950 \openout1 = `refman.aux'. 884 \openout1 = `refman.aux'.
951 885
952 -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 49.  
953 -LaTeX Font Info: ... okay on input line 49.  
954 -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 49.  
955 -LaTeX Font Info: ... okay on input line 49.  
956 -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 49.  
957 -LaTeX Font Info: ... okay on input line 49.  
958 -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 49.  
959 -LaTeX Font Info: ... okay on input line 49.  
960 -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 49.  
961 -LaTeX Font Info: ... okay on input line 49.  
962 -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 49.  
963 -LaTeX Font Info: ... okay on input line 49.  
964 -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 49.  
965 -LaTeX Font Info: Try loading font information for TS1+cmr on input line 49.  
966 - (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd 886 +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 113.
  887 +LaTeX Font Info: ... okay on input line 113.
  888 +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 113.
  889 +LaTeX Font Info: ... okay on input line 113.
  890 +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 113.
  891 +LaTeX Font Info: ... okay on input line 113.
  892 +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 113.
  893 +LaTeX Font Info: ... okay on input line 113.
  894 +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 113.
  895 +LaTeX Font Info: ... okay on input line 113.
  896 +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 113.
  897 +LaTeX Font Info: ... okay on input line 113.
  898 +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 113.
  899 +LaTeX Font Info: Try loading font information for TS1+cmr on input line 113.
  900 +
  901 +
  902 +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
967 File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions 903 File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
968 ) 904 )
969 -LaTeX Font Info: ... okay on input line 49.  
970 -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 49.  
971 -LaTeX Font Info: ... okay on input line 49.  
972 -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 49.  
973 -LaTeX Font Info: ... okay on input line 49.  
974 -LaTeX Font Info: Try loading font information for T1+phv on input line 49. 905 +LaTeX Font Info: ... okay on input line 113.
  906 +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 113.
  907 +LaTeX Font Info: ... okay on input line 113.
  908 +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 113.
  909 +LaTeX Font Info: ... okay on input line 113.
  910 +LaTeX Font Info: Try loading font information for T1+phv on input line 113.
975 911
976 (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd 912 (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd
977 File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv. 913 File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv.
978 ) 914 )
979 LaTeX Font Info: Font shape `T1/phv/m/n' will be 915 LaTeX Font Info: Font shape `T1/phv/m/n' will be
980 -(Font) scaled to size 8.99994pt on input line 49. 916 +(Font) scaled to size 8.99994pt on input line 113.
  917 +
  918 +(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii
  919 +[Loading MPS to PDF converter (version 2006.09.02).]
  920 +\scratchcounter=\count129
  921 +\scratchdimen=\dimen146
  922 +\scratchbox=\box56
  923 +\nofMPsegments=\count130
  924 +\nofMParguments=\count131
  925 +\everyMPshowfont=\toks26
  926 +\MPscratchCnt=\count132
  927 +\MPscratchDim=\dimen147
  928 +\MPnumerator=\count133
  929 +\makeMPintoPDFobject=\count134
  930 +\everyMPtoPDFconversion=\toks27
  931 +) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
  932 +Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
  933 +
  934 +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
  935 +Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO)
  936 +)
  937 +Package grfext Info: Graphics extension search list:
  938 +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
  939 +G,.JBIG2,.JB2,.eps]
  940 +(grfext) \AppendGraphicsExtensions on input line 452.
  941 +
  942 +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
  943 +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
  944 +e
  945 +))
  946 +LaTeX Info: Redefining \. on input line 113.
  947 +LaTeX Info: Redefining \% on input line 113.
  948 +\big@size=\dimen148
981 949
982 *geometry* driver: auto-detecting 950 *geometry* driver: auto-detecting
983 *geometry* detected driver: pdftex 951 *geometry* detected driver: pdftex
@@ -1013,85 +981,72 @@ LaTeX Font Info: Font shape `T1/phv/m/n&#39; will be @@ -1013,85 +981,72 @@ LaTeX Font Info: Font shape `T1/phv/m/n&#39; will be
1013 * \@reversemarginfalse 981 * \@reversemarginfalse
1014 * (1in=72.27pt=25.4mm, 1cm=28.453pt) 982 * (1in=72.27pt=25.4mm, 1cm=28.453pt)
1015 983
1016 -(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii  
1017 -[Loading MPS to PDF converter (version 2006.09.02).]  
1018 -\scratchcounter=\count142  
1019 -\scratchdimen=\dimen150  
1020 -\scratchbox=\box62  
1021 -\nofMPsegments=\count143  
1022 -\nofMParguments=\count144  
1023 -\everyMPshowfont=\toks28  
1024 -\MPscratchCnt=\count145  
1025 -\MPscratchDim=\dimen151  
1026 -\MPnumerator=\count146  
1027 -\makeMPintoPDFobject=\count147  
1028 -\everyMPtoPDFconversion=\toks29  
1029 -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty  
1030 -Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf  
1031 -  
1032 -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty  
1033 -Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO)  
1034 -)  
1035 -Package grfext Info: Graphics extension search list:  
1036 -(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE  
1037 -G,.JBIG2,.JB2,.eps]  
1038 -(grfext) \AppendGraphicsExtensions on input line 452.  
1039 -  
1040 -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg  
1041 -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv  
1042 -e  
1043 -))  
1044 -\c@lstlisting=\count148  
1045 -\AtBeginShipoutBox=\box63  
1046 -Package backref Info: ** backref set up for natbib ** on input line 49.  
1047 -Package hyperref Info: Link coloring ON on input line 49.  
1048 - 984 +\AtBeginShipoutBox=\box57
  985 +Package backref Info: ** backref set up for natbib ** on input line 113.
  986 +Package hyperref Info: Link coloring ON on input line 113.
1049 (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty 987 (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
1050 -Package: nameref 2010/04/30 v2.40 Cross-referencing by name of section 988 +Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section
1051 989
1052 (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty 990 (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
1053 Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO) 991 Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO)
1054 ) 992 )
1055 -\c@section@level=\count149 993 +\c@section@level=\count135
1056 ) 994 )
1057 -LaTeX Info: Redefining \ref on input line 49.  
1058 -LaTeX Info: Redefining \pageref on input line 49.  
1059 -LaTeX Info: Redefining \nameref on input line 49. 995 +LaTeX Info: Redefining \ref on input line 113.
  996 +LaTeX Info: Redefining \pageref on input line 113.
  997 +LaTeX Info: Redefining \nameref on input line 113.
1060 998
1061 (./refman.out) (./refman.out) 999 (./refman.out) (./refman.out)
1062 \@outlinefile=\write4 1000 \@outlinefile=\write4
1063 \openout4 = `refman.out'. 1001 \openout4 = `refman.out'.
1064 1002
1065 -LaTeX Info: Redefining \. on input line 49.  
1066 -LaTeX Info: Redefining \% on input line 49.  
1067 -\big@size=\dimen152  
1068 -Package hyperref Info: Option `pageanchor' set `false' on input line 50. 1003 +Package hyperref Info: Option `pageanchor' set `false' on input line 116.
1069 LaTeX Font Info: Font shape `T1/phv/m/n' will be 1004 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1070 -(Font) scaled to size 12.9599pt on input line 54. 1005 +(Font) scaled to size 12.9599pt on input line 121.
1071 LaTeX Font Info: Font shape `T1/phv/m/n' will be 1006 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1072 -(Font) scaled to size 10.79993pt on input line 56. 1007 +(Font) scaled to size 10.79993pt on input line 123.
1073 LaTeX Font Info: Font shape `T1/phv/m/n' will be 1008 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1074 -(Font) scaled to size 8.09995pt on input line 58. 1009 +(Font) scaled to size 8.09995pt on input line 125.
  1010 +Package babel Info: Redefining spanish shorthand <<
  1011 +(babel) in language on input line 127.
  1012 +Package babel Info: Redefining spanish shorthand >>
  1013 +(babel) in language on input line 127.
  1014 +Package babel Info: Redefining spanish shorthand "=
  1015 +(babel) in language on input line 127.
  1016 +Package babel Info: Redefining spanish shorthand "~
  1017 +(babel) in language on input line 127.
  1018 +Package babel Info: Redefining spanish shorthand "!
  1019 +(babel) in language on input line 127.
  1020 +Package babel Info: Redefining spanish shorthand "?
  1021 +(babel) in language on input line 127.
1075 [1 1022 [1
1076 1023
1077 1024
1078 -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2 1025 +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
  1026 +Package babel Info: Redefining spanish shorthand <<
  1027 +(babel) in language on input line 128.
  1028 +Package babel Info: Redefining spanish shorthand >>
  1029 +(babel) in language on input line 128.
  1030 +Package babel Info: Redefining spanish shorthand "=
  1031 +(babel) in language on input line 128.
  1032 +Package babel Info: Redefining spanish shorthand "~
  1033 +(babel) in language on input line 128.
  1034 +Package babel Info: Redefining spanish shorthand "!
  1035 +(babel) in language on input line 128.
  1036 +Package babel Info: Redefining spanish shorthand "?
  1037 +(babel) in language on input line 128.
  1038 + [2
1079 1039
1080 ] 1040 ]
1081 LaTeX Font Info: Font shape `T1/phv/m/n' will be 1041 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1082 -(Font) scaled to size 22.39185pt on input line 63. 1042 +(Font) scaled to size 22.39185pt on input line 129.
1083 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <24.88> not available 1043 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <24.88> not available
1084 -(Font) Font shape `T1/phv/b/n' tried instead on input line 63. 1044 +(Font) Font shape `T1/phv/b/n' tried instead on input line 129.
1085 LaTeX Font Info: Font shape `T1/phv/b/n' will be 1045 LaTeX Font Info: Font shape `T1/phv/b/n' will be
1086 -(Font) scaled to size 22.39185pt on input line 63.  
1087 -LaTeX Font Info: Try loading font information for OT1+phv on input line 63.  
1088 - (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd  
1089 -File: ot1phv.fd 2001/06/04 scalable font definitions for OT1/phv.  
1090 -)  
1091 -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be  
1092 -(Font) scaled to size 22.39185pt on input line 63.  
1093 -  
1094 -(./refman.toc 1046 +(Font) scaled to size 22.39185pt on input line 129.
  1047 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
  1048 +(Font) scaled to size 22.39185pt on input line 129.
  1049 + (./refman.toc
1095 LaTeX Info: Redefining \. on input line 1. 1050 LaTeX Info: Redefining \. on input line 1.
1096 LaTeX Info: Redefining \% on input line 1. 1051 LaTeX Info: Redefining \% on input line 1.
1097 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <10> not available 1052 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <10> not available
@@ -1100,7 +1055,8 @@ LaTeX Font Info: Font shape `T1/phv/b/n&#39; will be @@ -1100,7 +1055,8 @@ LaTeX Font Info: Font shape `T1/phv/b/n&#39; will be
1100 (Font) scaled to size 8.99994pt on input line 2. 1055 (Font) scaled to size 8.99994pt on input line 2.
1101 LaTeX Font Info: Try loading font information for OT1+ztmcm on input line 2. 1056 LaTeX Font Info: Try loading font information for OT1+ztmcm on input line 2.
1102 1057
1103 - (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ztmcm.fd 1058 +
  1059 +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ztmcm.fd
1104 File: ot1ztmcm.fd 2000/01/03 Fontinst v1.801 font definitions for OT1/ztmcm. 1060 File: ot1ztmcm.fd 2000/01/03 Fontinst v1.801 font definitions for OT1/ztmcm.
1105 ) 1061 )
1106 LaTeX Font Info: Try loading font information for OML+ztmcm on input line 2. 1062 LaTeX Font Info: Try loading font information for OML+ztmcm on input line 2.
@@ -1132,7 +1088,19 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n&#39; in size &lt;7.4&gt; not available @@ -1132,7 +1088,19 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n&#39; in size &lt;7.4&gt; not available
1132 (Font) Font shape `OT1/ptm/b/n' tried instead on input line 2. 1088 (Font) Font shape `OT1/ptm/b/n' tried instead on input line 2.
1133 LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <6> not available 1089 LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <6> not available
1134 (Font) Font shape `OT1/ptm/b/n' tried instead on input line 2. 1090 (Font) Font shape `OT1/ptm/b/n' tried instead on input line 2.
1135 - [1 1091 +Package babel Info: Redefining spanish shorthand <<
  1092 +(babel) in language on input line 31.
  1093 +Package babel Info: Redefining spanish shorthand >>
  1094 +(babel) in language on input line 31.
  1095 +Package babel Info: Redefining spanish shorthand "=
  1096 +(babel) in language on input line 31.
  1097 +Package babel Info: Redefining spanish shorthand "~
  1098 +(babel) in language on input line 31.
  1099 +Package babel Info: Redefining spanish shorthand "!
  1100 +(babel) in language on input line 31.
  1101 +Package babel Info: Redefining spanish shorthand "?
  1102 +(babel) in language on input line 31.
  1103 + [3
1136 1104
1137 ] 1105 ]
1138 LaTeX Font Info: Font shape `T1/phv/bx/sc' in size <10> not available 1106 LaTeX Font Info: Font shape `T1/phv/bx/sc' in size <10> not available
@@ -1145,7 +1113,19 @@ LaTeX Font Info: Font shape `T1/phv/bx/n&#39; in size &lt;7&gt; not available @@ -1145,7 +1113,19 @@ LaTeX Font Info: Font shape `T1/phv/bx/n&#39; in size &lt;7&gt; not available
1145 (Font) Font shape `T1/phv/b/n' tried instead on input line 70. 1113 (Font) Font shape `T1/phv/b/n' tried instead on input line 70.
1146 LaTeX Font Info: Font shape `T1/phv/b/n' will be 1114 LaTeX Font Info: Font shape `T1/phv/b/n' will be
1147 (Font) scaled to size 6.29996pt on input line 70. 1115 (Font) scaled to size 6.29996pt on input line 70.
1148 - [2] 1116 +Package babel Info: Redefining spanish shorthand <<
  1117 +(babel) in language on input line 70.
  1118 +Package babel Info: Redefining spanish shorthand >>
  1119 +(babel) in language on input line 70.
  1120 +Package babel Info: Redefining spanish shorthand "=
  1121 +(babel) in language on input line 70.
  1122 +Package babel Info: Redefining spanish shorthand "~
  1123 +(babel) in language on input line 70.
  1124 +Package babel Info: Redefining spanish shorthand "!
  1125 +(babel) in language on input line 70.
  1126 +Package babel Info: Redefining spanish shorthand "?
  1127 +(babel) in language on input line 70.
  1128 + [4]
1149 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <12> not available 1129 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <12> not available
1150 (Font) Font shape `T1/phv/b/n' tried instead on input line 76. 1130 (Font) Font shape `T1/phv/b/n' tried instead on input line 76.
1151 LaTeX Font Info: Font shape `T1/phv/b/n' will be 1131 LaTeX Font Info: Font shape `T1/phv/b/n' will be
@@ -1160,177 +1140,1017 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n&#39; in size &lt;7&gt; not available @@ -1160,177 +1140,1017 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n&#39; in size &lt;7&gt; not available
1160 \tf@toc=\write5 1140 \tf@toc=\write5
1161 \openout5 = `refman.toc'. 1141 \openout5 = `refman.toc'.
1162 1142
1163 -LaTeX Info: Redefining \. on input line 64.  
1164 -LaTeX Info: Redefining \% on input line 64.  
1165 - [3]  
1166 -[4 1143 +LaTeX Info: Redefining \. on input line 130.
  1144 +LaTeX Info: Redefining \% on input line 130.
  1145 +Package babel Info: Redefining spanish shorthand <<
  1146 +(babel) in language on input line 130.
  1147 +Package babel Info: Redefining spanish shorthand >>
  1148 +(babel) in language on input line 130.
  1149 +Package babel Info: Redefining spanish shorthand "=
  1150 +(babel) in language on input line 130.
  1151 +Package babel Info: Redefining spanish shorthand "~
  1152 +(babel) in language on input line 130.
  1153 +Package babel Info: Redefining spanish shorthand "!
  1154 +(babel) in language on input line 130.
  1155 +Package babel Info: Redefining spanish shorthand "?
  1156 +(babel) in language on input line 130.
  1157 + [5]
  1158 +Package babel Info: Redefining spanish shorthand <<
  1159 +(babel) in language on input line 130.
  1160 +Package babel Info: Redefining spanish shorthand >>
  1161 +(babel) in language on input line 130.
  1162 +Package babel Info: Redefining spanish shorthand "=
  1163 +(babel) in language on input line 130.
  1164 +Package babel Info: Redefining spanish shorthand "~
  1165 +(babel) in language on input line 130.
  1166 +Package babel Info: Redefining spanish shorthand "!
  1167 +(babel) in language on input line 130.
  1168 +Package babel Info: Redefining spanish shorthand "?
  1169 +(babel) in language on input line 130.
  1170 +
  1171 +[6
1167 1172
1168 ] 1173 ]
1169 -Package hyperref Info: Option `pageanchor' set `true' on input line 66. 1174 +Package hyperref Info: Option `pageanchor' set `true' on input line 132.
1170 1175
1171 Cap\'{\i }tulo 1. 1176 Cap\'{\i }tulo 1.
  1177 +Package babel Info: Redefining spanish shorthand <<
  1178 +(babel) in language on input line 135.
  1179 +Package babel Info: Redefining spanish shorthand >>
  1180 +(babel) in language on input line 135.
  1181 +Package babel Info: Redefining spanish shorthand "=
  1182 +(babel) in language on input line 135.
  1183 +Package babel Info: Redefining spanish shorthand "~
  1184 +(babel) in language on input line 135.
  1185 +Package babel Info: Redefining spanish shorthand "!
  1186 +(babel) in language on input line 135.
  1187 +Package babel Info: Redefining spanish shorthand "?
  1188 +(babel) in language on input line 135.
1172 LaTeX Font Info: Font shape `T1/phv/m/n' will be 1189 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1173 -(Font) scaled to size 18.66588pt on input line 67. 1190 +(Font) scaled to size 18.66588pt on input line 135.
1174 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <20.74> not available 1191 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <20.74> not available
1175 -(Font) Font shape `T1/phv/b/n' tried instead on input line 67. 1192 +(Font) Font shape `T1/phv/b/n' tried instead on input line 135.
1176 LaTeX Font Info: Font shape `T1/phv/b/n' will be 1193 LaTeX Font Info: Font shape `T1/phv/b/n' will be
1177 -(Font) scaled to size 18.66588pt on input line 67.  
1178 -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be  
1179 -(Font) scaled to size 18.66588pt on input line 67. 1194 +(Font) scaled to size 18.66588pt on input line 135.
  1195 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
  1196 +(Font) scaled to size 18.66588pt on input line 135.
1180 (./index.tex 1197 (./index.tex
1181 LaTeX Font Info: Try loading font information for T1+pcr on input line 1. 1198 LaTeX Font Info: Try loading font information for T1+pcr on input line 1.
1182 (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd 1199 (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd
1183 File: t1pcr.fd 2001/06/04 font definitions for T1/pcr. 1200 File: t1pcr.fd 2001/06/04 font definitions for T1/pcr.
1184 ) 1201 )
1185 -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be 1202 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
1186 (Font) scaled to size 8.99994pt on input line 9. 1203 (Font) scaled to size 8.99994pt on input line 9.
  1204 +
  1205 +Underfull \hbox (badness 10000) detected at line 9
  1206 +[][][]
  1207 + []
  1208 +
  1209 +
  1210 +Underfull \hbox (badness 10000) detected at line 12
  1211 +[][][]
  1212 + []
  1213 +
1187 ) 1214 )
1188 -[1 1215 +Package babel Info: Redefining spanish shorthand <<
  1216 +(babel) in language on input line 137.
  1217 +Package babel Info: Redefining spanish shorthand >>
  1218 +(babel) in language on input line 137.
  1219 +Package babel Info: Redefining spanish shorthand "=
  1220 +(babel) in language on input line 137.
  1221 +Package babel Info: Redefining spanish shorthand "~
  1222 +(babel) in language on input line 137.
  1223 +Package babel Info: Redefining spanish shorthand "!
  1224 +(babel) in language on input line 137.
  1225 +Package babel Info: Redefining spanish shorthand "?
  1226 +(babel) in language on input line 137.
  1227 +Package babel Info: Redefining spanish shorthand <<
  1228 +(babel) in language on input line 137.
  1229 +Package babel Info: Redefining spanish shorthand >>
  1230 +(babel) in language on input line 137.
  1231 +Package babel Info: Redefining spanish shorthand "=
  1232 +(babel) in language on input line 137.
  1233 +Package babel Info: Redefining spanish shorthand "~
  1234 +(babel) in language on input line 137.
  1235 +Package babel Info: Redefining spanish shorthand "!
  1236 +(babel) in language on input line 137.
  1237 +Package babel Info: Redefining spanish shorthand "?
  1238 +(babel) in language on input line 137.
  1239 + [1
1189 1240
1190 ] 1241 ]
1191 -LaTeX Info: Redefining \. on input line 69.  
1192 -LaTeX Info: Redefining \% on input line 69. 1242 +LaTeX Info: Redefining \. on input line 137.
  1243 +LaTeX Info: Redefining \% on input line 137.
  1244 +Package babel Info: Redefining spanish shorthand <<
  1245 +(babel) in language on input line 137.
  1246 +Package babel Info: Redefining spanish shorthand >>
  1247 +(babel) in language on input line 137.
  1248 +Package babel Info: Redefining spanish shorthand "=
  1249 +(babel) in language on input line 137.
  1250 +Package babel Info: Redefining spanish shorthand "~
  1251 +(babel) in language on input line 137.
  1252 +Package babel Info: Redefining spanish shorthand "!
  1253 +(babel) in language on input line 137.
  1254 +Package babel Info: Redefining spanish shorthand "?
  1255 +(babel) in language on input line 137.
  1256 +Package babel Info: Redefining spanish shorthand <<
  1257 +(babel) in language on input line 137.
  1258 +Package babel Info: Redefining spanish shorthand >>
  1259 +(babel) in language on input line 137.
  1260 +Package babel Info: Redefining spanish shorthand "=
  1261 +(babel) in language on input line 137.
  1262 +Package babel Info: Redefining spanish shorthand "~
  1263 +(babel) in language on input line 137.
  1264 +Package babel Info: Redefining spanish shorthand "!
  1265 +(babel) in language on input line 137.
  1266 +Package babel Info: Redefining spanish shorthand "?
  1267 +(babel) in language on input line 137.
1193 [2 1268 [2
1194 1269
1195 ] 1270 ]
1196 Cap\'{\i }tulo 2. 1271 Cap\'{\i }tulo 2.
  1272 +Package babel Info: Redefining spanish shorthand <<
  1273 +(babel) in language on input line 137.
  1274 +Package babel Info: Redefining spanish shorthand >>
  1275 +(babel) in language on input line 137.
  1276 +Package babel Info: Redefining spanish shorthand "=
  1277 +(babel) in language on input line 137.
  1278 +Package babel Info: Redefining spanish shorthand "~
  1279 +(babel) in language on input line 137.
  1280 +Package babel Info: Redefining spanish shorthand "!
  1281 +(babel) in language on input line 137.
  1282 +Package babel Info: Redefining spanish shorthand "?
  1283 +(babel) in language on input line 137.
1197 (./client_code.tex 1284 (./client_code.tex
1198 LaTeX Font Info: Font shape `T1/phv/m/n' will be 1285 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1199 (Font) scaled to size 6.29996pt on input line 4. 1286 (Font) scaled to size 6.29996pt on input line 4.
1200 -) [3]  
1201 -LaTeX Info: Redefining \. on input line 73.  
1202 -LaTeX Info: Redefining \% on input line 73. 1287 +)
  1288 +Package babel Info: Redefining spanish shorthand <<
  1289 +(babel) in language on input line 141.
  1290 +Package babel Info: Redefining spanish shorthand >>
  1291 +(babel) in language on input line 141.
  1292 +Package babel Info: Redefining spanish shorthand "=
  1293 +(babel) in language on input line 141.
  1294 +Package babel Info: Redefining spanish shorthand "~
  1295 +(babel) in language on input line 141.
  1296 +Package babel Info: Redefining spanish shorthand "!
  1297 +(babel) in language on input line 141.
  1298 +Package babel Info: Redefining spanish shorthand "?
  1299 +(babel) in language on input line 141.
  1300 +Package babel Info: Redefining spanish shorthand <<
  1301 +(babel) in language on input line 141.
  1302 +Package babel Info: Redefining spanish shorthand >>
  1303 +(babel) in language on input line 141.
  1304 +Package babel Info: Redefining spanish shorthand "=
  1305 +(babel) in language on input line 141.
  1306 +Package babel Info: Redefining spanish shorthand "~
  1307 +(babel) in language on input line 141.
  1308 +Package babel Info: Redefining spanish shorthand "!
  1309 +(babel) in language on input line 141.
  1310 +Package babel Info: Redefining spanish shorthand "?
  1311 +(babel) in language on input line 141.
  1312 + [3]
  1313 +LaTeX Info: Redefining \. on input line 141.
  1314 +LaTeX Info: Redefining \% on input line 141.
  1315 +Package babel Info: Redefining spanish shorthand <<
  1316 +(babel) in language on input line 141.
  1317 +Package babel Info: Redefining spanish shorthand >>
  1318 +(babel) in language on input line 141.
  1319 +Package babel Info: Redefining spanish shorthand "=
  1320 +(babel) in language on input line 141.
  1321 +Package babel Info: Redefining spanish shorthand "~
  1322 +(babel) in language on input line 141.
  1323 +Package babel Info: Redefining spanish shorthand "!
  1324 +(babel) in language on input line 141.
  1325 +Package babel Info: Redefining spanish shorthand "?
  1326 +(babel) in language on input line 141.
  1327 +Package babel Info: Redefining spanish shorthand <<
  1328 +(babel) in language on input line 141.
  1329 +Package babel Info: Redefining spanish shorthand >>
  1330 +(babel) in language on input line 141.
  1331 +Package babel Info: Redefining spanish shorthand "=
  1332 +(babel) in language on input line 141.
  1333 +Package babel Info: Redefining spanish shorthand "~
  1334 +(babel) in language on input line 141.
  1335 +Package babel Info: Redefining spanish shorthand "!
  1336 +(babel) in language on input line 141.
  1337 +Package babel Info: Redefining spanish shorthand "?
  1338 +(babel) in language on input line 141.
1203 [4 1339 [4
1204 1340
1205 ] 1341 ]
1206 Cap\'{\i }tulo 3. 1342 Cap\'{\i }tulo 3.
  1343 +Package babel Info: Redefining spanish shorthand <<
  1344 +(babel) in language on input line 141.
  1345 +Package babel Info: Redefining spanish shorthand >>
  1346 +(babel) in language on input line 141.
  1347 +Package babel Info: Redefining spanish shorthand "=
  1348 +(babel) in language on input line 141.
  1349 +Package babel Info: Redefining spanish shorthand "~
  1350 +(babel) in language on input line 141.
  1351 +Package babel Info: Redefining spanish shorthand "!
  1352 +(babel) in language on input line 141.
  1353 +Package babel Info: Redefining spanish shorthand "?
  1354 +(babel) in language on input line 141.
1207 (./howto.tex 1355 (./howto.tex
1208 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <14.4> not available 1356 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <14.4> not available
1209 (Font) Font shape `T1/phv/b/n' tried instead on input line 5. 1357 (Font) Font shape `T1/phv/b/n' tried instead on input line 5.
1210 LaTeX Font Info: Font shape `T1/phv/b/n' will be 1358 LaTeX Font Info: Font shape `T1/phv/b/n' will be
1211 (Font) scaled to size 12.9599pt on input line 5. 1359 (Font) scaled to size 12.9599pt on input line 5.
1212 -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be 1360 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
1213 (Font) scaled to size 12.9599pt on input line 5. 1361 (Font) scaled to size 12.9599pt on input line 5.
1214 -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be 1362 +Package babel Info: Redefining spanish shorthand <<
  1363 +(babel) in language on input line 5.
  1364 +Package babel Info: Redefining spanish shorthand >>
  1365 +(babel) in language on input line 5.
  1366 +Package babel Info: Redefining spanish shorthand "=
  1367 +(babel) in language on input line 5.
  1368 +Package babel Info: Redefining spanish shorthand "~
  1369 +(babel) in language on input line 5.
  1370 +Package babel Info: Redefining spanish shorthand "!
  1371 +(babel) in language on input line 5.
  1372 +Package babel Info: Redefining spanish shorthand "?
  1373 +(babel) in language on input line 5.
  1374 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
1215 (Font) scaled to size 10.79993pt on input line 15. 1375 (Font) scaled to size 10.79993pt on input line 15.
1216 - [5])  
1217 -LaTeX Info: Redefining \. on input line 77.  
1218 -LaTeX Info: Redefining \% on input line 77. 1376 +Package babel Info: Redefining spanish shorthand <<
  1377 +(babel) in language on input line 15.
  1378 +Package babel Info: Redefining spanish shorthand >>
  1379 +(babel) in language on input line 15.
  1380 +Package babel Info: Redefining spanish shorthand "=
  1381 +(babel) in language on input line 15.
  1382 +Package babel Info: Redefining spanish shorthand "~
  1383 +(babel) in language on input line 15.
  1384 +Package babel Info: Redefining spanish shorthand "!
  1385 +(babel) in language on input line 15.
  1386 +Package babel Info: Redefining spanish shorthand "?
  1387 +(babel) in language on input line 15.
  1388 +Package babel Info: Redefining spanish shorthand <<
  1389 +(babel) in language on input line 17.
  1390 +Package babel Info: Redefining spanish shorthand >>
  1391 +(babel) in language on input line 17.
  1392 +Package babel Info: Redefining spanish shorthand "=
  1393 +(babel) in language on input line 17.
  1394 +Package babel Info: Redefining spanish shorthand "~
  1395 +(babel) in language on input line 17.
  1396 +Package babel Info: Redefining spanish shorthand "!
  1397 +(babel) in language on input line 17.
  1398 +Package babel Info: Redefining spanish shorthand "?
  1399 +(babel) in language on input line 17.
  1400 +Package babel Info: Redefining spanish shorthand <<
  1401 +(babel) in language on input line 27.
  1402 +Package babel Info: Redefining spanish shorthand >>
  1403 +(babel) in language on input line 27.
  1404 +Package babel Info: Redefining spanish shorthand "=
  1405 +(babel) in language on input line 27.
  1406 +Package babel Info: Redefining spanish shorthand "~
  1407 +(babel) in language on input line 27.
  1408 +Package babel Info: Redefining spanish shorthand "!
  1409 +(babel) in language on input line 27.
  1410 +Package babel Info: Redefining spanish shorthand "?
  1411 +(babel) in language on input line 27.
  1412 +Package babel Info: Redefining spanish shorthand <<
  1413 +(babel) in language on input line 29.
  1414 +Package babel Info: Redefining spanish shorthand >>
  1415 +(babel) in language on input line 29.
  1416 +Package babel Info: Redefining spanish shorthand "=
  1417 +(babel) in language on input line 29.
  1418 +Package babel Info: Redefining spanish shorthand "~
  1419 +(babel) in language on input line 29.
  1420 +Package babel Info: Redefining spanish shorthand "!
  1421 +(babel) in language on input line 29.
  1422 +Package babel Info: Redefining spanish shorthand "?
  1423 +(babel) in language on input line 29.
  1424 +Package babel Info: Redefining spanish shorthand <<
  1425 +(babel) in language on input line 29.
  1426 +Package babel Info: Redefining spanish shorthand >>
  1427 +(babel) in language on input line 29.
  1428 +Package babel Info: Redefining spanish shorthand "=
  1429 +(babel) in language on input line 29.
  1430 +Package babel Info: Redefining spanish shorthand "~
  1431 +(babel) in language on input line 29.
  1432 +Package babel Info: Redefining spanish shorthand "!
  1433 +(babel) in language on input line 29.
  1434 +Package babel Info: Redefining spanish shorthand "?
  1435 +(babel) in language on input line 29.
  1436 + [5]
  1437 +Package babel Info: Redefining spanish shorthand <<
  1438 +(babel) in language on input line 29.
  1439 +Package babel Info: Redefining spanish shorthand >>
  1440 +(babel) in language on input line 29.
  1441 +Package babel Info: Redefining spanish shorthand "=
  1442 +(babel) in language on input line 29.
  1443 +Package babel Info: Redefining spanish shorthand "~
  1444 +(babel) in language on input line 29.
  1445 +Package babel Info: Redefining spanish shorthand "!
  1446 +(babel) in language on input line 29.
  1447 +Package babel Info: Redefining spanish shorthand "?
  1448 +(babel) in language on input line 29.
  1449 +Package babel Info: Redefining spanish shorthand <<
  1450 +(babel) in language on input line 38.
  1451 +Package babel Info: Redefining spanish shorthand >>
  1452 +(babel) in language on input line 38.
  1453 +Package babel Info: Redefining spanish shorthand "=
  1454 +(babel) in language on input line 38.
  1455 +Package babel Info: Redefining spanish shorthand "~
  1456 +(babel) in language on input line 38.
  1457 +Package babel Info: Redefining spanish shorthand "!
  1458 +(babel) in language on input line 38.
  1459 +Package babel Info: Redefining spanish shorthand "?
  1460 +(babel) in language on input line 38.
  1461 +Package babel Info: Redefining spanish shorthand <<
  1462 +(babel) in language on input line 40.
  1463 +Package babel Info: Redefining spanish shorthand >>
  1464 +(babel) in language on input line 40.
  1465 +Package babel Info: Redefining spanish shorthand "=
  1466 +(babel) in language on input line 40.
  1467 +Package babel Info: Redefining spanish shorthand "~
  1468 +(babel) in language on input line 40.
  1469 +Package babel Info: Redefining spanish shorthand "!
  1470 +(babel) in language on input line 40.
  1471 +Package babel Info: Redefining spanish shorthand "?
  1472 +(babel) in language on input line 40.
  1473 +)
  1474 +LaTeX Info: Redefining \. on input line 145.
  1475 +LaTeX Info: Redefining \% on input line 145.
  1476 +Package babel Info: Redefining spanish shorthand <<
  1477 +(babel) in language on input line 145.
  1478 +Package babel Info: Redefining spanish shorthand >>
  1479 +(babel) in language on input line 145.
  1480 +Package babel Info: Redefining spanish shorthand "=
  1481 +(babel) in language on input line 145.
  1482 +Package babel Info: Redefining spanish shorthand "~
  1483 +(babel) in language on input line 145.
  1484 +Package babel Info: Redefining spanish shorthand "!
  1485 +(babel) in language on input line 145.
  1486 +Package babel Info: Redefining spanish shorthand "?
  1487 +(babel) in language on input line 145.
  1488 +Package babel Info: Redefining spanish shorthand <<
  1489 +(babel) in language on input line 145.
  1490 +Package babel Info: Redefining spanish shorthand >>
  1491 +(babel) in language on input line 145.
  1492 +Package babel Info: Redefining spanish shorthand "=
  1493 +(babel) in language on input line 145.
  1494 +Package babel Info: Redefining spanish shorthand "~
  1495 +(babel) in language on input line 145.
  1496 +Package babel Info: Redefining spanish shorthand "!
  1497 +(babel) in language on input line 145.
  1498 +Package babel Info: Redefining spanish shorthand "?
  1499 +(babel) in language on input line 145.
1219 [6] 1500 [6]
1220 Cap\'{\i }tulo 4. 1501 Cap\'{\i }tulo 4.
1221 -(./annotated.tex) [7 1502 +Package babel Info: Redefining spanish shorthand <<
  1503 +(babel) in language on input line 145.
  1504 +Package babel Info: Redefining spanish shorthand >>
  1505 +(babel) in language on input line 145.
  1506 +Package babel Info: Redefining spanish shorthand "=
  1507 +(babel) in language on input line 145.
  1508 +Package babel Info: Redefining spanish shorthand "~
  1509 +(babel) in language on input line 145.
  1510 +Package babel Info: Redefining spanish shorthand "!
  1511 +(babel) in language on input line 145.
  1512 +Package babel Info: Redefining spanish shorthand "?
  1513 +(babel) in language on input line 145.
  1514 +(./annotated.tex
  1515 +Package babel Info: Redefining spanish shorthand <<
  1516 +(babel) in language on input line 1.
  1517 +Package babel Info: Redefining spanish shorthand >>
  1518 +(babel) in language on input line 1.
  1519 +Package babel Info: Redefining spanish shorthand "=
  1520 +(babel) in language on input line 1.
  1521 +Package babel Info: Redefining spanish shorthand "~
  1522 +(babel) in language on input line 1.
  1523 +Package babel Info: Redefining spanish shorthand "!
  1524 +(babel) in language on input line 1.
  1525 +Package babel Info: Redefining spanish shorthand "?
  1526 +(babel) in language on input line 1.
  1527 +)
  1528 +Package babel Info: Redefining spanish shorthand <<
  1529 +(babel) in language on input line 147.
  1530 +Package babel Info: Redefining spanish shorthand >>
  1531 +(babel) in language on input line 147.
  1532 +Package babel Info: Redefining spanish shorthand "=
  1533 +(babel) in language on input line 147.
  1534 +Package babel Info: Redefining spanish shorthand "~
  1535 +(babel) in language on input line 147.
  1536 +Package babel Info: Redefining spanish shorthand "!
  1537 +(babel) in language on input line 147.
  1538 +Package babel Info: Redefining spanish shorthand "?
  1539 +(babel) in language on input line 147.
  1540 +Package babel Info: Redefining spanish shorthand <<
  1541 +(babel) in language on input line 147.
  1542 +Package babel Info: Redefining spanish shorthand >>
  1543 +(babel) in language on input line 147.
  1544 +Package babel Info: Redefining spanish shorthand "=
  1545 +(babel) in language on input line 147.
  1546 +Package babel Info: Redefining spanish shorthand "~
  1547 +(babel) in language on input line 147.
  1548 +Package babel Info: Redefining spanish shorthand "!
  1549 +(babel) in language on input line 147.
  1550 +Package babel Info: Redefining spanish shorthand "?
  1551 +(babel) in language on input line 147.
  1552 + [7
1222 1553
1223 ] 1554 ]
1224 -LaTeX Info: Redefining \. on input line 79.  
1225 -LaTeX Info: Redefining \% on input line 79. 1555 +LaTeX Info: Redefining \. on input line 147.
  1556 +LaTeX Info: Redefining \% on input line 147.
  1557 +Package babel Info: Redefining spanish shorthand <<
  1558 +(babel) in language on input line 147.
  1559 +Package babel Info: Redefining spanish shorthand >>
  1560 +(babel) in language on input line 147.
  1561 +Package babel Info: Redefining spanish shorthand "=
  1562 +(babel) in language on input line 147.
  1563 +Package babel Info: Redefining spanish shorthand "~
  1564 +(babel) in language on input line 147.
  1565 +Package babel Info: Redefining spanish shorthand "!
  1566 +(babel) in language on input line 147.
  1567 +Package babel Info: Redefining spanish shorthand "?
  1568 +(babel) in language on input line 147.
  1569 +Package babel Info: Redefining spanish shorthand <<
  1570 +(babel) in language on input line 147.
  1571 +Package babel Info: Redefining spanish shorthand >>
  1572 +(babel) in language on input line 147.
  1573 +Package babel Info: Redefining spanish shorthand "=
  1574 +(babel) in language on input line 147.
  1575 +Package babel Info: Redefining spanish shorthand "~
  1576 +(babel) in language on input line 147.
  1577 +Package babel Info: Redefining spanish shorthand "!
  1578 +(babel) in language on input line 147.
  1579 +Package babel Info: Redefining spanish shorthand "?
  1580 +(babel) in language on input line 147.
1226 [8 1581 [8
1227 1582
1228 ] 1583 ]
1229 Cap\'{\i }tulo 5. 1584 Cap\'{\i }tulo 5.
1230 -(./files.tex) [9]  
1231 -LaTeX Info: Redefining \. on input line 81.  
1232 -LaTeX Info: Redefining \% on input line 81. 1585 +Package babel Info: Redefining spanish shorthand <<
  1586 +(babel) in language on input line 147.
  1587 +Package babel Info: Redefining spanish shorthand >>
  1588 +(babel) in language on input line 147.
  1589 +Package babel Info: Redefining spanish shorthand "=
  1590 +(babel) in language on input line 147.
  1591 +Package babel Info: Redefining spanish shorthand "~
  1592 +(babel) in language on input line 147.
  1593 +Package babel Info: Redefining spanish shorthand "!
  1594 +(babel) in language on input line 147.
  1595 +Package babel Info: Redefining spanish shorthand "?
  1596 +(babel) in language on input line 147.
  1597 +(./files.tex
  1598 +Package babel Info: Redefining spanish shorthand <<
  1599 +(babel) in language on input line 1.
  1600 +Package babel Info: Redefining spanish shorthand >>
  1601 +(babel) in language on input line 1.
  1602 +Package babel Info: Redefining spanish shorthand "=
  1603 +(babel) in language on input line 1.
  1604 +Package babel Info: Redefining spanish shorthand "~
  1605 +(babel) in language on input line 1.
  1606 +Package babel Info: Redefining spanish shorthand "!
  1607 +(babel) in language on input line 1.
  1608 +Package babel Info: Redefining spanish shorthand "?
  1609 +(babel) in language on input line 1.
  1610 +)
  1611 +Package babel Info: Redefining spanish shorthand <<
  1612 +(babel) in language on input line 149.
  1613 +Package babel Info: Redefining spanish shorthand >>
  1614 +(babel) in language on input line 149.
  1615 +Package babel Info: Redefining spanish shorthand "=
  1616 +(babel) in language on input line 149.
  1617 +Package babel Info: Redefining spanish shorthand "~
  1618 +(babel) in language on input line 149.
  1619 +Package babel Info: Redefining spanish shorthand "!
  1620 +(babel) in language on input line 149.
  1621 +Package babel Info: Redefining spanish shorthand "?
  1622 +(babel) in language on input line 149.
  1623 +Package babel Info: Redefining spanish shorthand <<
  1624 +(babel) in language on input line 149.
  1625 +Package babel Info: Redefining spanish shorthand >>
  1626 +(babel) in language on input line 149.
  1627 +Package babel Info: Redefining spanish shorthand "=
  1628 +(babel) in language on input line 149.
  1629 +Package babel Info: Redefining spanish shorthand "~
  1630 +(babel) in language on input line 149.
  1631 +Package babel Info: Redefining spanish shorthand "!
  1632 +(babel) in language on input line 149.
  1633 +Package babel Info: Redefining spanish shorthand "?
  1634 +(babel) in language on input line 149.
  1635 + [9]
  1636 +LaTeX Info: Redefining \. on input line 149.
  1637 +LaTeX Info: Redefining \% on input line 149.
  1638 +Package babel Info: Redefining spanish shorthand <<
  1639 +(babel) in language on input line 149.
  1640 +Package babel Info: Redefining spanish shorthand >>
  1641 +(babel) in language on input line 149.
  1642 +Package babel Info: Redefining spanish shorthand "=
  1643 +(babel) in language on input line 149.
  1644 +Package babel Info: Redefining spanish shorthand "~
  1645 +(babel) in language on input line 149.
  1646 +Package babel Info: Redefining spanish shorthand "!
  1647 +(babel) in language on input line 149.
  1648 +Package babel Info: Redefining spanish shorthand "?
  1649 +(babel) in language on input line 149.
  1650 +Package babel Info: Redefining spanish shorthand <<
  1651 +(babel) in language on input line 149.
  1652 +Package babel Info: Redefining spanish shorthand >>
  1653 +(babel) in language on input line 149.
  1654 +Package babel Info: Redefining spanish shorthand "=
  1655 +(babel) in language on input line 149.
  1656 +Package babel Info: Redefining spanish shorthand "~
  1657 +(babel) in language on input line 149.
  1658 +Package babel Info: Redefining spanish shorthand "!
  1659 +(babel) in language on input line 149.
  1660 +Package babel Info: Redefining spanish shorthand "?
  1661 +(babel) in language on input line 149.
1233 [10 1662 [10
1234 1663
1235 ] 1664 ]
1236 Cap\'{\i }tulo 6. 1665 Cap\'{\i }tulo 6.
  1666 +Package babel Info: Redefining spanish shorthand <<
  1667 +(babel) in language on input line 149.
  1668 +Package babel Info: Redefining spanish shorthand >>
  1669 +(babel) in language on input line 149.
  1670 +Package babel Info: Redefining spanish shorthand "=
  1671 +(babel) in language on input line 149.
  1672 +Package babel Info: Redefining spanish shorthand "~
  1673 +(babel) in language on input line 149.
  1674 +Package babel Info: Redefining spanish shorthand "!
  1675 +(babel) in language on input line 149.
  1676 +Package babel Info: Redefining spanish shorthand "?
  1677 +(babel) in language on input line 149.
1237 (./class_socket.tex 1678 (./class_socket.tex
  1679 +Package babel Info: Redefining spanish shorthand <<
  1680 +(babel) in language on input line 3.
  1681 +Package babel Info: Redefining spanish shorthand >>
  1682 +(babel) in language on input line 3.
  1683 +Package babel Info: Redefining spanish shorthand "=
  1684 +(babel) in language on input line 3.
  1685 +Package babel Info: Redefining spanish shorthand "~
  1686 +(babel) in language on input line 3.
  1687 +Package babel Info: Redefining spanish shorthand "!
  1688 +(babel) in language on input line 3.
  1689 +Package babel Info: Redefining spanish shorthand "?
  1690 +(babel) in language on input line 3.
1238 LaTeX Font Info: Font shape `T1/phv/m/it' in size <9> not available 1691 LaTeX Font Info: Font shape `T1/phv/m/it' in size <9> not available
1239 (Font) Font shape `T1/phv/m/sl' tried instead on input line 17. 1692 (Font) Font shape `T1/phv/m/sl' tried instead on input line 17.
1240 LaTeX Font Info: Font shape `T1/phv/m/sl' will be 1693 LaTeX Font Info: Font shape `T1/phv/m/sl' will be
1241 (Font) scaled to size 8.09995pt on input line 17. 1694 (Font) scaled to size 8.09995pt on input line 17.
  1695 +Package babel Info: Redefining spanish shorthand <<
  1696 +(babel) in language on input line 47.
  1697 +Package babel Info: Redefining spanish shorthand >>
  1698 +(babel) in language on input line 47.
  1699 +Package babel Info: Redefining spanish shorthand "=
  1700 +(babel) in language on input line 47.
  1701 +Package babel Info: Redefining spanish shorthand "~
  1702 +(babel) in language on input line 47.
  1703 +Package babel Info: Redefining spanish shorthand "!
  1704 +(babel) in language on input line 47.
  1705 +Package babel Info: Redefining spanish shorthand "?
  1706 +(babel) in language on input line 47.
  1707 +Package babel Info: Redefining spanish shorthand <<
  1708 +(babel) in language on input line 47.
  1709 +Package babel Info: Redefining spanish shorthand >>
  1710 +(babel) in language on input line 47.
  1711 +Package babel Info: Redefining spanish shorthand "=
  1712 +(babel) in language on input line 47.
  1713 +Package babel Info: Redefining spanish shorthand "~
  1714 +(babel) in language on input line 47.
  1715 +Package babel Info: Redefining spanish shorthand "!
  1716 +(babel) in language on input line 47.
  1717 +Package babel Info: Redefining spanish shorthand "?
  1718 +(babel) in language on input line 47.
1242 [11] 1719 [11]
1243 -LaTeX Font Info: Font shape `OT1/phv/bc/it' in size <10> not available  
1244 -(Font) Font shape `OT1/phv/bc/sl' tried instead on input line 78.  
1245 -LaTeX Font Info: Font shape `OT1/phv/bc/sl' will be 1720 +Package babel Info: Redefining spanish shorthand <<
  1721 +(babel) in language on input line 52.
  1722 +Package babel Info: Redefining spanish shorthand >>
  1723 +(babel) in language on input line 52.
  1724 +Package babel Info: Redefining spanish shorthand "=
  1725 +(babel) in language on input line 52.
  1726 +Package babel Info: Redefining spanish shorthand "~
  1727 +(babel) in language on input line 52.
  1728 +Package babel Info: Redefining spanish shorthand "!
  1729 +(babel) in language on input line 52.
  1730 +Package babel Info: Redefining spanish shorthand "?
  1731 +(babel) in language on input line 52.
  1732 +Package babel Info: Redefining spanish shorthand <<
  1733 +(babel) in language on input line 57.
  1734 +Package babel Info: Redefining spanish shorthand >>
  1735 +(babel) in language on input line 57.
  1736 +Package babel Info: Redefining spanish shorthand "=
  1737 +(babel) in language on input line 57.
  1738 +Package babel Info: Redefining spanish shorthand "~
  1739 +(babel) in language on input line 57.
  1740 +Package babel Info: Redefining spanish shorthand "!
  1741 +(babel) in language on input line 57.
  1742 +Package babel Info: Redefining spanish shorthand "?
  1743 +(babel) in language on input line 57.
  1744 +Package babel Info: Redefining spanish shorthand <<
  1745 +(babel) in language on input line 64.
  1746 +Package babel Info: Redefining spanish shorthand >>
  1747 +(babel) in language on input line 64.
  1748 +Package babel Info: Redefining spanish shorthand "=
  1749 +(babel) in language on input line 64.
  1750 +Package babel Info: Redefining spanish shorthand "~
  1751 +(babel) in language on input line 64.
  1752 +Package babel Info: Redefining spanish shorthand "!
  1753 +(babel) in language on input line 64.
  1754 +Package babel Info: Redefining spanish shorthand "?
  1755 +(babel) in language on input line 64.
  1756 +Package babel Info: Redefining spanish shorthand <<
  1757 +(babel) in language on input line 71.
  1758 +Package babel Info: Redefining spanish shorthand >>
  1759 +(babel) in language on input line 71.
  1760 +Package babel Info: Redefining spanish shorthand "=
  1761 +(babel) in language on input line 71.
  1762 +Package babel Info: Redefining spanish shorthand "~
  1763 +(babel) in language on input line 71.
  1764 +Package babel Info: Redefining spanish shorthand "!
  1765 +(babel) in language on input line 71.
  1766 +Package babel Info: Redefining spanish shorthand "?
  1767 +(babel) in language on input line 71.
  1768 +LaTeX Font Info: Font shape `T1/phv/bc/it' in size <10> not available
  1769 +(Font) Font shape `T1/phv/bc/sl' tried instead on input line 78.
  1770 +LaTeX Font Info: Font shape `T1/phv/bc/sl' will be
1246 (Font) scaled to size 8.99994pt on input line 78. 1771 (Font) scaled to size 8.99994pt on input line 78.
1247 -LaTeX Font Info: Font shape `T1/phv/m/it' in size <10> not available  
1248 -(Font) Font shape `T1/phv/m/sl' tried instead on input line 85.  
1249 -LaTeX Font Info: Font shape `T1/phv/m/sl' will be  
1250 -(Font) scaled to size 8.99994pt on input line 85. 1772 +Package babel Info: Redefining spanish shorthand <<
  1773 +(babel) in language on input line 78.
  1774 +Package babel Info: Redefining spanish shorthand >>
  1775 +(babel) in language on input line 78.
  1776 +Package babel Info: Redefining spanish shorthand "=
  1777 +(babel) in language on input line 78.
  1778 +Package babel Info: Redefining spanish shorthand "~
  1779 +(babel) in language on input line 78.
  1780 +Package babel Info: Redefining spanish shorthand "!
  1781 +(babel) in language on input line 78.
  1782 +Package babel Info: Redefining spanish shorthand "?
  1783 +(babel) in language on input line 78.
  1784 +LaTeX Font Info: Font shape `T1/phv/m/n' will be
  1785 +(Font) scaled to size 7.19995pt on input line 83.
1251 1786
1252 -Underfull \vbox (badness 10000) detected at line 87 1787 +Overfull \hbox (139.95627pt too wide) in paragraph at lines 83--83
  1788 +[]\T1/pcr/m/n/8 Este método bloquea el thread que lo ejecuta hasta que recibe u
  1789 +na conexión entrante, que almacena como instancia de la clase
1253 [] 1790 []
1254 1791
1255 -  
1256 -Underfull \vbox (badness 10000) detected at line 106 1792 +LaTeX Font Info: Font shape `T1/phv/m/it' in size <10> not available
  1793 +(Font) Font shape `T1/phv/m/sl' tried instead on input line 87.
  1794 +LaTeX Font Info: Font shape `T1/phv/m/sl' will be
  1795 +(Font) scaled to size 8.99994pt on input line 87.
  1796 +Package babel Info: Redefining spanish shorthand <<
  1797 +(babel) in language on input line 97.
  1798 +Package babel Info: Redefining spanish shorthand >>
  1799 +(babel) in language on input line 97.
  1800 +Package babel Info: Redefining spanish shorthand "=
  1801 +(babel) in language on input line 97.
  1802 +Package babel Info: Redefining spanish shorthand "~
  1803 +(babel) in language on input line 97.
  1804 +Package babel Info: Redefining spanish shorthand "!
  1805 +(babel) in language on input line 97.
  1806 +Package babel Info: Redefining spanish shorthand "?
  1807 +(babel) in language on input line 97.
  1808 +
  1809 +Overfull \hbox (111.15625pt too wide) in paragraph at lines 102--102
  1810 +[]\T1/pcr/m/n/8 Este método asigna el socket a una dirección IP (y por tanto, a
  1811 + una interfaz de red en concreto) y un puerto, para que
1257 [] 1812 []
1258 1813
1259 -LaTeX Info: Redefining \. on input line 130.  
1260 -LaTeX Info: Redefining \% on input line 130. 1814 +Package babel Info: Redefining spanish shorthand <<
  1815 +(babel) in language on input line 117.
  1816 +Package babel Info: Redefining spanish shorthand >>
  1817 +(babel) in language on input line 117.
  1818 +Package babel Info: Redefining spanish shorthand "=
  1819 +(babel) in language on input line 117.
  1820 +Package babel Info: Redefining spanish shorthand "~
  1821 +(babel) in language on input line 117.
  1822 +Package babel Info: Redefining spanish shorthand "!
  1823 +(babel) in language on input line 117.
  1824 +Package babel Info: Redefining spanish shorthand "?
  1825 +(babel) in language on input line 117.
  1826 +LaTeX Info: Redefining \. on input line 129.
  1827 +LaTeX Info: Redefining \% on input line 129.
  1828 +Package babel Info: Redefining spanish shorthand <<
  1829 +(babel) in language on input line 129.
  1830 +Package babel Info: Redefining spanish shorthand >>
  1831 +(babel) in language on input line 129.
  1832 +Package babel Info: Redefining spanish shorthand "=
  1833 +(babel) in language on input line 129.
  1834 +Package babel Info: Redefining spanish shorthand "~
  1835 +(babel) in language on input line 129.
  1836 +Package babel Info: Redefining spanish shorthand "!
  1837 +(babel) in language on input line 129.
  1838 +Package babel Info: Redefining spanish shorthand "?
  1839 +(babel) in language on input line 129.
  1840 +Package babel Info: Redefining spanish shorthand <<
  1841 +(babel) in language on input line 129.
  1842 +Package babel Info: Redefining spanish shorthand >>
  1843 +(babel) in language on input line 129.
  1844 +Package babel Info: Redefining spanish shorthand "=
  1845 +(babel) in language on input line 129.
  1846 +Package babel Info: Redefining spanish shorthand "~
  1847 +(babel) in language on input line 129.
  1848 +Package babel Info: Redefining spanish shorthand "!
  1849 +(babel) in language on input line 129.
  1850 +Package babel Info: Redefining spanish shorthand "?
  1851 +(babel) in language on input line 129.
1261 [12] 1852 [12]
1262 -Underfull \vbox (badness 10000) detected at line 136  
1263 - []  
1264 -  
1265 -  
1266 -Underfull \vbox (badness 10000) detected at line 174 1853 +Package babel Info: Redefining spanish shorthand <<
  1854 +(babel) in language on input line 129.
  1855 +Package babel Info: Redefining spanish shorthand >>
  1856 +(babel) in language on input line 129.
  1857 +Package babel Info: Redefining spanish shorthand "=
  1858 +(babel) in language on input line 129.
  1859 +Package babel Info: Redefining spanish shorthand "~
  1860 +(babel) in language on input line 129.
  1861 +Package babel Info: Redefining spanish shorthand "!
  1862 +(babel) in language on input line 129.
  1863 +Package babel Info: Redefining spanish shorthand "?
  1864 +(babel) in language on input line 129.
  1865 +
  1866 +Overfull \hbox (149.55627pt too wide) in paragraph at lines 134--134
  1867 +[]\T1/pcr/m/n/8 Este método sirve a los sockets que actúan como cliente para po
  1868 +der efectuar conexiones a otro socket que esté escuchando en la
1267 [] 1869 []
1268 1870
  1871 +Package babel Info: Redefining spanish shorthand <<
  1872 +(babel) in language on input line 149.
  1873 +Package babel Info: Redefining spanish shorthand >>
  1874 +(babel) in language on input line 149.
  1875 +Package babel Info: Redefining spanish shorthand "=
  1876 +(babel) in language on input line 149.
  1877 +Package babel Info: Redefining spanish shorthand "~
  1878 +(babel) in language on input line 149.
  1879 +Package babel Info: Redefining spanish shorthand "!
  1880 +(babel) in language on input line 149.
  1881 +Package babel Info: Redefining spanish shorthand "?
  1882 +(babel) in language on input line 149.
  1883 +Package babel Info: Redefining spanish shorthand <<
  1884 +(babel) in language on input line 160.
  1885 +Package babel Info: Redefining spanish shorthand >>
  1886 +(babel) in language on input line 160.
  1887 +Package babel Info: Redefining spanish shorthand "=
  1888 +(babel) in language on input line 160.
  1889 +Package babel Info: Redefining spanish shorthand "~
  1890 +(babel) in language on input line 160.
  1891 +Package babel Info: Redefining spanish shorthand "!
  1892 +(babel) in language on input line 160.
  1893 +Package babel Info: Redefining spanish shorthand "?
  1894 +(babel) in language on input line 160.
  1895 +Package babel Info: Redefining spanish shorthand <<
  1896 +(babel) in language on input line 171.
  1897 +Package babel Info: Redefining spanish shorthand >>
  1898 +(babel) in language on input line 171.
  1899 +Package babel Info: Redefining spanish shorthand "=
  1900 +(babel) in language on input line 171.
  1901 +Package babel Info: Redefining spanish shorthand "~
  1902 +(babel) in language on input line 171.
  1903 +Package babel Info: Redefining spanish shorthand "!
  1904 +(babel) in language on input line 171.
  1905 +Package babel Info: Redefining spanish shorthand "?
  1906 +(babel) in language on input line 171.
  1907 +Package babel Info: Redefining spanish shorthand <<
  1908 +(babel) in language on input line 187.
  1909 +Package babel Info: Redefining spanish shorthand >>
  1910 +(babel) in language on input line 187.
  1911 +Package babel Info: Redefining spanish shorthand "=
  1912 +(babel) in language on input line 187.
  1913 +Package babel Info: Redefining spanish shorthand "~
  1914 +(babel) in language on input line 187.
  1915 +Package babel Info: Redefining spanish shorthand "!
  1916 +(babel) in language on input line 187.
  1917 +Package babel Info: Redefining spanish shorthand "?
  1918 +(babel) in language on input line 187.
1269 1919
1270 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 1920 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1271 -(hyperref) removing `math shift' on input line 181. 1921 +(hyperref) removing `math shift' on input line 187.
1272 1922
1273 1923
1274 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 1924 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1275 -(hyperref) removing `math shift' on input line 181. 1925 +(hyperref) removing `math shift' on input line 187.
1276 1926
1277 1927
1278 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 1928 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1279 -(hyperref) removing `math shift' on input line 181. 1929 +(hyperref) removing `math shift' on input line 187.
1280 1930
1281 1931
1282 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 1932 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1283 -(hyperref) removing `math shift' on input line 181. 1933 +(hyperref) removing `math shift' on input line 187.
1284 1934
1285 1935
1286 -Underfull \vbox (badness 10000) detected at line 190 1936 +Overfull \hbox (19.95619pt too wide) in paragraph at lines 192--192
  1937 +[]\T1/pcr/m/n/8 Este método envía el mensaje que se le proporciona a través del
  1938 + Socket con o sin encriptación según
1287 [] 1939 []
1288 1940
  1941 +Package babel Info: Redefining spanish shorthand <<
  1942 +(babel) in language on input line 205.
  1943 +Package babel Info: Redefining spanish shorthand >>
  1944 +(babel) in language on input line 205.
  1945 +Package babel Info: Redefining spanish shorthand "=
  1946 +(babel) in language on input line 205.
  1947 +Package babel Info: Redefining spanish shorthand "~
  1948 +(babel) in language on input line 205.
  1949 +Package babel Info: Redefining spanish shorthand "!
  1950 +(babel) in language on input line 205.
  1951 +Package babel Info: Redefining spanish shorthand "?
  1952 +(babel) in language on input line 205.
1289 1953
1290 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 1954 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1291 -(hyperref) removing `math shift' on input line 197. 1955 +(hyperref) removing `math shift' on input line 205.
1292 1956
1293 1957
1294 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 1958 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1295 -(hyperref) removing `math shift' on input line 197. 1959 +(hyperref) removing `math shift' on input line 205.
1296 1960
1297 1961
1298 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 1962 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1299 -(hyperref) removing `math shift' on input line 197. 1963 +(hyperref) removing `math shift' on input line 205.
1300 1964
1301 1965
1302 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 1966 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1303 -(hyperref) removing `math shift' on input line 197. 1967 +(hyperref) removing `math shift' on input line 205.
1304 1968
1305 1969
1306 -Underfull \vbox (badness 10000) detected at line 206 1970 +Overfull \hbox (173.55629pt too wide) in paragraph at lines 210--210
  1971 +[]\T1/pcr/m/n/8 Este método recibe un mensaje de longitud arbitrária con o sin
  1972 +encriptación según las \ref defines "opciones de compilación" usando
1307 [] 1973 []
1308 1974
1309 -LaTeX Font Info: Try loading font information for OT1+pcr on input line 214.  
1310 -  
1311 -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd  
1312 -File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr.  
1313 -)  
1314 -  
1315 -LaTeX Font Warning: Font shape `OT1/pcr/bc/n' undefined  
1316 -(Font) using `OT1/pcr/m/n' instead on input line 214.  
1317 -  
1318 -LaTeX Info: Redefining \. on input line 219.  
1319 -LaTeX Info: Redefining \% on input line 219. 1975 +LaTeX Info: Redefining \. on input line 213.
  1976 +LaTeX Info: Redefining \% on input line 213.
  1977 +Package babel Info: Redefining spanish shorthand <<
  1978 +(babel) in language on input line 213.
  1979 +Package babel Info: Redefining spanish shorthand >>
  1980 +(babel) in language on input line 213.
  1981 +Package babel Info: Redefining spanish shorthand "=
  1982 +(babel) in language on input line 213.
  1983 +Package babel Info: Redefining spanish shorthand "~
  1984 +(babel) in language on input line 213.
  1985 +Package babel Info: Redefining spanish shorthand "!
  1986 +(babel) in language on input line 213.
  1987 +Package babel Info: Redefining spanish shorthand "?
  1988 +(babel) in language on input line 213.
  1989 +Package babel Info: Redefining spanish shorthand <<
  1990 +(babel) in language on input line 213.
  1991 +Package babel Info: Redefining spanish shorthand >>
  1992 +(babel) in language on input line 213.
  1993 +Package babel Info: Redefining spanish shorthand "=
  1994 +(babel) in language on input line 213.
  1995 +Package babel Info: Redefining spanish shorthand "~
  1996 +(babel) in language on input line 213.
  1997 +Package babel Info: Redefining spanish shorthand "!
  1998 +(babel) in language on input line 213.
  1999 +Package babel Info: Redefining spanish shorthand "?
  2000 +(babel) in language on input line 213.
1320 [13] 2001 [13]
1321 -Underfull \vbox (badness 10000) detected at line 227  
1322 - []  
1323 -  
1324 -  
1325 -Underfull \vbox (badness 10000) detected at line 248  
1326 - []  
1327 2002
  2003 +LaTeX Font Warning: Font shape `T1/pcr/bc/n' undefined
  2004 +(Font) using `T1/pcr/m/n' instead on input line 224.
  2005 +
  2006 +Package babel Info: Redefining spanish shorthand <<
  2007 +(babel) in language on input line 224.
  2008 +Package babel Info: Redefining spanish shorthand >>
  2009 +(babel) in language on input line 224.
  2010 +Package babel Info: Redefining spanish shorthand "=
  2011 +(babel) in language on input line 224.
  2012 +Package babel Info: Redefining spanish shorthand "~
  2013 +(babel) in language on input line 224.
  2014 +Package babel Info: Redefining spanish shorthand "!
  2015 +(babel) in language on input line 224.
  2016 +Package babel Info: Redefining spanish shorthand "?
  2017 +(babel) in language on input line 224.
  2018 +Package babel Info: Redefining spanish shorthand <<
  2019 +(babel) in language on input line 245.
  2020 +Package babel Info: Redefining spanish shorthand >>
  2021 +(babel) in language on input line 245.
  2022 +Package babel Info: Redefining spanish shorthand "=
  2023 +(babel) in language on input line 245.
  2024 +Package babel Info: Redefining spanish shorthand "~
  2025 +(babel) in language on input line 245.
  2026 +Package babel Info: Redefining spanish shorthand "!
  2027 +(babel) in language on input line 245.
  2028 +Package babel Info: Redefining spanish shorthand "?
  2029 +(babel) in language on input line 245.
  2030 +Package babel Info: Redefining spanish shorthand <<
  2031 +(babel) in language on input line 261.
  2032 +Package babel Info: Redefining spanish shorthand >>
  2033 +(babel) in language on input line 261.
  2034 +Package babel Info: Redefining spanish shorthand "=
  2035 +(babel) in language on input line 261.
  2036 +Package babel Info: Redefining spanish shorthand "~
  2037 +(babel) in language on input line 261.
  2038 +Package babel Info: Redefining spanish shorthand "!
  2039 +(babel) in language on input line 261.
  2040 +Package babel Info: Redefining spanish shorthand "?
  2041 +(babel) in language on input line 261.
  2042 +Package babel Info: Redefining spanish shorthand <<
  2043 +(babel) in language on input line 264.
  2044 +Package babel Info: Redefining spanish shorthand >>
  2045 +(babel) in language on input line 264.
  2046 +Package babel Info: Redefining spanish shorthand "=
  2047 +(babel) in language on input line 264.
  2048 +Package babel Info: Redefining spanish shorthand "~
  2049 +(babel) in language on input line 264.
  2050 +Package babel Info: Redefining spanish shorthand "!
  2051 +(babel) in language on input line 264.
  2052 +Package babel Info: Redefining spanish shorthand "?
  2053 +(babel) in language on input line 264.
  2054 +Package babel Info: Redefining spanish shorthand <<
  2055 +(babel) in language on input line 271.
  2056 +Package babel Info: Redefining spanish shorthand >>
  2057 +(babel) in language on input line 271.
  2058 +Package babel Info: Redefining spanish shorthand "=
  2059 +(babel) in language on input line 271.
  2060 +Package babel Info: Redefining spanish shorthand "~
  2061 +(babel) in language on input line 271.
  2062 +Package babel Info: Redefining spanish shorthand "!
  2063 +(babel) in language on input line 271.
  2064 +Package babel Info: Redefining spanish shorthand "?
  2065 +(babel) in language on input line 271.
1328 ) (./class_socket_exception.tex 2066 ) (./class_socket_exception.tex
1329 -LaTeX Info: Redefining \. on input line 17.  
1330 -LaTeX Info: Redefining \% on input line 17. 2067 +Package babel Info: Redefining spanish shorthand <<
  2068 +(babel) in language on input line 3.
  2069 +Package babel Info: Redefining spanish shorthand >>
  2070 +(babel) in language on input line 3.
  2071 +Package babel Info: Redefining spanish shorthand "=
  2072 +(babel) in language on input line 3.
  2073 +Package babel Info: Redefining spanish shorthand "~
  2074 +(babel) in language on input line 3.
  2075 +Package babel Info: Redefining spanish shorthand "!
  2076 +(babel) in language on input line 3.
  2077 +Package babel Info: Redefining spanish shorthand "?
  2078 +(babel) in language on input line 3.
  2079 +LaTeX Info: Redefining \. on input line 13.
  2080 +LaTeX Info: Redefining \% on input line 13.
  2081 +Package babel Info: Redefining spanish shorthand <<
  2082 +(babel) in language on input line 13.
  2083 +Package babel Info: Redefining spanish shorthand >>
  2084 +(babel) in language on input line 13.
  2085 +Package babel Info: Redefining spanish shorthand "=
  2086 +(babel) in language on input line 13.
  2087 +Package babel Info: Redefining spanish shorthand "~
  2088 +(babel) in language on input line 13.
  2089 +Package babel Info: Redefining spanish shorthand "!
  2090 +(babel) in language on input line 13.
  2091 +Package babel Info: Redefining spanish shorthand "?
  2092 +(babel) in language on input line 13.
  2093 +Package babel Info: Redefining spanish shorthand <<
  2094 +(babel) in language on input line 13.
  2095 +Package babel Info: Redefining spanish shorthand >>
  2096 +(babel) in language on input line 13.
  2097 +Package babel Info: Redefining spanish shorthand "=
  2098 +(babel) in language on input line 13.
  2099 +Package babel Info: Redefining spanish shorthand "~
  2100 +(babel) in language on input line 13.
  2101 +Package babel Info: Redefining spanish shorthand "!
  2102 +(babel) in language on input line 13.
  2103 +Package babel Info: Redefining spanish shorthand "?
  2104 +(babel) in language on input line 13.
1331 [14] 2105 [14]
1332 -Underfull \vbox (badness 10000) detected at line 50  
1333 - [] 2106 +Package babel Info: Redefining spanish shorthand <<
  2107 +(babel) in language on input line 29.
  2108 +Package babel Info: Redefining spanish shorthand >>
  2109 +(babel) in language on input line 29.
  2110 +Package babel Info: Redefining spanish shorthand "=
  2111 +(babel) in language on input line 29.
  2112 +Package babel Info: Redefining spanish shorthand "~
  2113 +(babel) in language on input line 29.
  2114 +Package babel Info: Redefining spanish shorthand "!
  2115 +(babel) in language on input line 29.
  2116 +Package babel Info: Redefining spanish shorthand "?
  2117 +(babel) in language on input line 29.
  2118 +Package babel Info: Redefining spanish shorthand <<
  2119 +(babel) in language on input line 34.
  2120 +Package babel Info: Redefining spanish shorthand >>
  2121 +(babel) in language on input line 34.
  2122 +Package babel Info: Redefining spanish shorthand "=
  2123 +(babel) in language on input line 34.
  2124 +Package babel Info: Redefining spanish shorthand "~
  2125 +(babel) in language on input line 34.
  2126 +Package babel Info: Redefining spanish shorthand "!
  2127 +(babel) in language on input line 34.
  2128 +Package babel Info: Redefining spanish shorthand "?
  2129 +(babel) in language on input line 34.
  2130 +Package babel Info: Redefining spanish shorthand <<
  2131 +(babel) in language on input line 41.
  2132 +Package babel Info: Redefining spanish shorthand >>
  2133 +(babel) in language on input line 41.
  2134 +Package babel Info: Redefining spanish shorthand "=
  2135 +(babel) in language on input line 41.
  2136 +Package babel Info: Redefining spanish shorthand "~
  2137 +(babel) in language on input line 41.
  2138 +Package babel Info: Redefining spanish shorthand "!
  2139 +(babel) in language on input line 41.
  2140 +Package babel Info: Redefining spanish shorthand "?
  2141 +(babel) in language on input line 41.
  2142 +Package babel Info: Redefining spanish shorthand <<
  2143 +(babel) in language on input line 57.
  2144 +Package babel Info: Redefining spanish shorthand >>
  2145 +(babel) in language on input line 57.
  2146 +Package babel Info: Redefining spanish shorthand "=
  2147 +(babel) in language on input line 57.
  2148 +Package babel Info: Redefining spanish shorthand "~
  2149 +(babel) in language on input line 57.
  2150 +Package babel Info: Redefining spanish shorthand "!
  2151 +(babel) in language on input line 57.
  2152 +Package babel Info: Redefining spanish shorthand "?
  2153 +(babel) in language on input line 57.
1334 2154
1335 2155
1336 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 2156 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
@@ -1344,68 +2164,747 @@ Package hyperref Warning: Token not allowed in a PDF string (Unicode): @@ -1344,68 +2164,747 @@ Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1344 Package hyperref Warning: Token not allowed in a PDF string (Unicode): 2164 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1345 (hyperref) removing `math shift' on input line 57. 2165 (hyperref) removing `math shift' on input line 57.
1346 2166
  2167 +Package babel Info: Redefining spanish shorthand <<
  2168 +(babel) in language on input line 60.
  2169 +Package babel Info: Redefining spanish shorthand >>
  2170 +(babel) in language on input line 60.
  2171 +Package babel Info: Redefining spanish shorthand "=
  2172 +(babel) in language on input line 60.
  2173 +Package babel Info: Redefining spanish shorthand "~
  2174 +(babel) in language on input line 60.
  2175 +Package babel Info: Redefining spanish shorthand "!
  2176 +(babel) in language on input line 60.
  2177 +Package babel Info: Redefining spanish shorthand "?
  2178 +(babel) in language on input line 60.
  2179 +Package babel Info: Redefining spanish shorthand <<
  2180 +(babel) in language on input line 67.
  2181 +Package babel Info: Redefining spanish shorthand >>
  2182 +(babel) in language on input line 67.
  2183 +Package babel Info: Redefining spanish shorthand "=
  2184 +(babel) in language on input line 67.
  2185 +Package babel Info: Redefining spanish shorthand "~
  2186 +(babel) in language on input line 67.
  2187 +Package babel Info: Redefining spanish shorthand "!
  2188 +(babel) in language on input line 67.
  2189 +Package babel Info: Redefining spanish shorthand "?
  2190 +(babel) in language on input line 67.
  2191 +Package babel Info: Redefining spanish shorthand <<
  2192 +(babel) in language on input line 74.
  2193 +Package babel Info: Redefining spanish shorthand >>
  2194 +(babel) in language on input line 74.
  2195 +Package babel Info: Redefining spanish shorthand "=
  2196 +(babel) in language on input line 74.
  2197 +Package babel Info: Redefining spanish shorthand "~
  2198 +(babel) in language on input line 74.
  2199 +Package babel Info: Redefining spanish shorthand "!
  2200 +(babel) in language on input line 74.
  2201 +Package babel Info: Redefining spanish shorthand "?
  2202 +(babel) in language on input line 74.
  2203 +Package babel Info: Redefining spanish shorthand <<
  2204 +(babel) in language on input line 77.
  2205 +Package babel Info: Redefining spanish shorthand >>
  2206 +(babel) in language on input line 77.
  2207 +Package babel Info: Redefining spanish shorthand "=
  2208 +(babel) in language on input line 77.
  2209 +Package babel Info: Redefining spanish shorthand "~
  2210 +(babel) in language on input line 77.
  2211 +Package babel Info: Redefining spanish shorthand "!
  2212 +(babel) in language on input line 77.
  2213 +Package babel Info: Redefining spanish shorthand "?
  2214 +(babel) in language on input line 77.
1347 ) (./structthread__args.tex 2215 ) (./structthread__args.tex
1348 -LaTeX Info: Redefining \. on input line 17.  
1349 -LaTeX Info: Redefining \% on input line 17.  
1350 - [15])  
1351 -LaTeX Info: Redefining \. on input line 85.  
1352 -LaTeX Info: Redefining \% on input line 85. 2216 +Package babel Info: Redefining spanish shorthand <<
  2217 +(babel) in language on input line 3.
  2218 +Package babel Info: Redefining spanish shorthand >>
  2219 +(babel) in language on input line 3.
  2220 +Package babel Info: Redefining spanish shorthand "=
  2221 +(babel) in language on input line 3.
  2222 +Package babel Info: Redefining spanish shorthand "~
  2223 +(babel) in language on input line 3.
  2224 +Package babel Info: Redefining spanish shorthand "!
  2225 +(babel) in language on input line 3.
  2226 +Package babel Info: Redefining spanish shorthand "?
  2227 +(babel) in language on input line 3.
  2228 +LaTeX Info: Redefining \. on input line 13.
  2229 +LaTeX Info: Redefining \% on input line 13.
  2230 +Package babel Info: Redefining spanish shorthand <<
  2231 +(babel) in language on input line 13.
  2232 +Package babel Info: Redefining spanish shorthand >>
  2233 +(babel) in language on input line 13.
  2234 +Package babel Info: Redefining spanish shorthand "=
  2235 +(babel) in language on input line 13.
  2236 +Package babel Info: Redefining spanish shorthand "~
  2237 +(babel) in language on input line 13.
  2238 +Package babel Info: Redefining spanish shorthand "!
  2239 +(babel) in language on input line 13.
  2240 +Package babel Info: Redefining spanish shorthand "?
  2241 +(babel) in language on input line 13.
  2242 +Package babel Info: Redefining spanish shorthand <<
  2243 +(babel) in language on input line 13.
  2244 +Package babel Info: Redefining spanish shorthand >>
  2245 +(babel) in language on input line 13.
  2246 +Package babel Info: Redefining spanish shorthand "=
  2247 +(babel) in language on input line 13.
  2248 +Package babel Info: Redefining spanish shorthand "~
  2249 +(babel) in language on input line 13.
  2250 +Package babel Info: Redefining spanish shorthand "!
  2251 +(babel) in language on input line 13.
  2252 +Package babel Info: Redefining spanish shorthand "?
  2253 +(babel) in language on input line 13.
  2254 + [15]
  2255 +Package babel Info: Redefining spanish shorthand <<
  2256 +(babel) in language on input line 24.
  2257 +Package babel Info: Redefining spanish shorthand >>
  2258 +(babel) in language on input line 24.
  2259 +Package babel Info: Redefining spanish shorthand "=
  2260 +(babel) in language on input line 24.
  2261 +Package babel Info: Redefining spanish shorthand "~
  2262 +(babel) in language on input line 24.
  2263 +Package babel Info: Redefining spanish shorthand "!
  2264 +(babel) in language on input line 24.
  2265 +Package babel Info: Redefining spanish shorthand "?
  2266 +(babel) in language on input line 24.
  2267 +
  2268 +Underfull \hbox (badness 10000) detected at line 27
  2269 +[][][]
  2270 + []
  2271 +
  2272 +
  2273 +Underfull \hbox (badness 10000) detected at line 30
  2274 +[][][]
  2275 + []
  2276 +
  2277 +Package babel Info: Redefining spanish shorthand <<
  2278 +(babel) in language on input line 35.
  2279 +Package babel Info: Redefining spanish shorthand >>
  2280 +(babel) in language on input line 35.
  2281 +Package babel Info: Redefining spanish shorthand "=
  2282 +(babel) in language on input line 35.
  2283 +Package babel Info: Redefining spanish shorthand "~
  2284 +(babel) in language on input line 35.
  2285 +Package babel Info: Redefining spanish shorthand "!
  2286 +(babel) in language on input line 35.
  2287 +Package babel Info: Redefining spanish shorthand "?
  2288 +(babel) in language on input line 35.
  2289 +Package babel Info: Redefining spanish shorthand <<
  2290 +(babel) in language on input line 38.
  2291 +Package babel Info: Redefining spanish shorthand >>
  2292 +(babel) in language on input line 38.
  2293 +Package babel Info: Redefining spanish shorthand "=
  2294 +(babel) in language on input line 38.
  2295 +Package babel Info: Redefining spanish shorthand "~
  2296 +(babel) in language on input line 38.
  2297 +Package babel Info: Redefining spanish shorthand "!
  2298 +(babel) in language on input line 38.
  2299 +Package babel Info: Redefining spanish shorthand "?
  2300 +(babel) in language on input line 38.
  2301 +Package babel Info: Redefining spanish shorthand <<
  2302 +(babel) in language on input line 47.
  2303 +Package babel Info: Redefining spanish shorthand >>
  2304 +(babel) in language on input line 47.
  2305 +Package babel Info: Redefining spanish shorthand "=
  2306 +(babel) in language on input line 47.
  2307 +Package babel Info: Redefining spanish shorthand "~
  2308 +(babel) in language on input line 47.
  2309 +Package babel Info: Redefining spanish shorthand "!
  2310 +(babel) in language on input line 47.
  2311 +Package babel Info: Redefining spanish shorthand "?
  2312 +(babel) in language on input line 47.
  2313 +Package babel Info: Redefining spanish shorthand <<
  2314 +(babel) in language on input line 54.
  2315 +Package babel Info: Redefining spanish shorthand >>
  2316 +(babel) in language on input line 54.
  2317 +Package babel Info: Redefining spanish shorthand "=
  2318 +(babel) in language on input line 54.
  2319 +Package babel Info: Redefining spanish shorthand "~
  2320 +(babel) in language on input line 54.
  2321 +Package babel Info: Redefining spanish shorthand "!
  2322 +(babel) in language on input line 54.
  2323 +Package babel Info: Redefining spanish shorthand "?
  2324 +(babel) in language on input line 54.
  2325 +)
  2326 +LaTeX Info: Redefining \. on input line 153.
  2327 +LaTeX Info: Redefining \% on input line 153.
  2328 +Package babel Info: Redefining spanish shorthand <<
  2329 +(babel) in language on input line 153.
  2330 +Package babel Info: Redefining spanish shorthand >>
  2331 +(babel) in language on input line 153.
  2332 +Package babel Info: Redefining spanish shorthand "=
  2333 +(babel) in language on input line 153.
  2334 +Package babel Info: Redefining spanish shorthand "~
  2335 +(babel) in language on input line 153.
  2336 +Package babel Info: Redefining spanish shorthand "!
  2337 +(babel) in language on input line 153.
  2338 +Package babel Info: Redefining spanish shorthand "?
  2339 +(babel) in language on input line 153.
  2340 +Package babel Info: Redefining spanish shorthand <<
  2341 +(babel) in language on input line 153.
  2342 +Package babel Info: Redefining spanish shorthand >>
  2343 +(babel) in language on input line 153.
  2344 +Package babel Info: Redefining spanish shorthand "=
  2345 +(babel) in language on input line 153.
  2346 +Package babel Info: Redefining spanish shorthand "~
  2347 +(babel) in language on input line 153.
  2348 +Package babel Info: Redefining spanish shorthand "!
  2349 +(babel) in language on input line 153.
  2350 +Package babel Info: Redefining spanish shorthand "?
  2351 +(babel) in language on input line 153.
1353 [16] 2352 [16]
1354 Cap\'{\i }tulo 7. 2353 Cap\'{\i }tulo 7.
  2354 +Package babel Info: Redefining spanish shorthand <<
  2355 +(babel) in language on input line 153.
  2356 +Package babel Info: Redefining spanish shorthand >>
  2357 +(babel) in language on input line 153.
  2358 +Package babel Info: Redefining spanish shorthand "=
  2359 +(babel) in language on input line 153.
  2360 +Package babel Info: Redefining spanish shorthand "~
  2361 +(babel) in language on input line 153.
  2362 +Package babel Info: Redefining spanish shorthand "!
  2363 +(babel) in language on input line 153.
  2364 +Package babel Info: Redefining spanish shorthand "?
  2365 +(babel) in language on input line 153.
1355 (./client_8cpp.tex 2366 (./client_8cpp.tex
  2367 +Package babel Info: Redefining spanish shorthand <<
  2368 +(babel) in language on input line 3.
  2369 +Package babel Info: Redefining spanish shorthand >>
  2370 +(babel) in language on input line 3.
  2371 +Package babel Info: Redefining spanish shorthand "=
  2372 +(babel) in language on input line 3.
  2373 +Package babel Info: Redefining spanish shorthand "~
  2374 +(babel) in language on input line 3.
  2375 +Package babel Info: Redefining spanish shorthand "!
  2376 +(babel) in language on input line 3.
  2377 +Package babel Info: Redefining spanish shorthand "?
  2378 +(babel) in language on input line 3.
  2379 +
1356 Underfull \hbox (badness 10000) in paragraph at lines 9--10 2380 Underfull \hbox (badness 10000) in paragraph at lines 9--10
1357 2381
1358 [] 2382 []
1359 2383
  2384 +Package babel Info: Redefining spanish shorthand <<
  2385 +(babel) in language on input line 32.
  2386 +Package babel Info: Redefining spanish shorthand >>
  2387 +(babel) in language on input line 32.
  2388 +Package babel Info: Redefining spanish shorthand "=
  2389 +(babel) in language on input line 32.
  2390 +Package babel Info: Redefining spanish shorthand "~
  2391 +(babel) in language on input line 32.
  2392 +Package babel Info: Redefining spanish shorthand "!
  2393 +(babel) in language on input line 32.
  2394 +Package babel Info: Redefining spanish shorthand "?
  2395 +(babel) in language on input line 32.
  2396 +
  2397 +Underfull \hbox (badness 10000) detected at line 33
  2398 +[][][]
  2399 + []
  2400 +
  2401 +
  2402 +Underfull \hbox (badness 10000) detected at line 36
  2403 +[][][]
  2404 + []
  2405 +
  2406 +Package babel Info: Redefining spanish shorthand <<
  2407 +(babel) in language on input line 41.
  2408 +Package babel Info: Redefining spanish shorthand >>
  2409 +(babel) in language on input line 41.
  2410 +Package babel Info: Redefining spanish shorthand "=
  2411 +(babel) in language on input line 41.
  2412 +Package babel Info: Redefining spanish shorthand "~
  2413 +(babel) in language on input line 41.
  2414 +Package babel Info: Redefining spanish shorthand "!
  2415 +(babel) in language on input line 41.
  2416 +Package babel Info: Redefining spanish shorthand "?
  2417 +(babel) in language on input line 41.
  2418 +Package babel Info: Redefining spanish shorthand <<
  2419 +(babel) in language on input line 41.
  2420 +Package babel Info: Redefining spanish shorthand >>
  2421 +(babel) in language on input line 41.
  2422 +Package babel Info: Redefining spanish shorthand "=
  2423 +(babel) in language on input line 41.
  2424 +Package babel Info: Redefining spanish shorthand "~
  2425 +(babel) in language on input line 41.
  2426 +Package babel Info: Redefining spanish shorthand "!
  2427 +(babel) in language on input line 41.
  2428 +Package babel Info: Redefining spanish shorthand "?
  2429 +(babel) in language on input line 41.
1360 [17 2430 [17
1361 2431
1362 -]) (./client_8dox.tex 2432 +]
  2433 +Package babel Info: Redefining spanish shorthand <<
  2434 +(babel) in language on input line 41.
  2435 +Package babel Info: Redefining spanish shorthand >>
  2436 +(babel) in language on input line 41.
  2437 +Package babel Info: Redefining spanish shorthand "=
  2438 +(babel) in language on input line 41.
  2439 +Package babel Info: Redefining spanish shorthand "~
  2440 +(babel) in language on input line 41.
  2441 +Package babel Info: Redefining spanish shorthand "!
  2442 +(babel) in language on input line 41.
  2443 +Package babel Info: Redefining spanish shorthand "?
  2444 +(babel) in language on input line 41.
  2445 +Package babel Info: Redefining spanish shorthand <<
  2446 +(babel) in language on input line 48.
  2447 +Package babel Info: Redefining spanish shorthand >>
  2448 +(babel) in language on input line 48.
  2449 +Package babel Info: Redefining spanish shorthand "=
  2450 +(babel) in language on input line 48.
  2451 +Package babel Info: Redefining spanish shorthand "~
  2452 +(babel) in language on input line 48.
  2453 +Package babel Info: Redefining spanish shorthand "!
  2454 +(babel) in language on input line 48.
  2455 +Package babel Info: Redefining spanish shorthand "?
  2456 +(babel) in language on input line 48.
  2457 +Package babel Info: Redefining spanish shorthand <<
  2458 +(babel) in language on input line 59.
  2459 +Package babel Info: Redefining spanish shorthand >>
  2460 +(babel) in language on input line 59.
  2461 +Package babel Info: Redefining spanish shorthand "=
  2462 +(babel) in language on input line 59.
  2463 +Package babel Info: Redefining spanish shorthand "~
  2464 +(babel) in language on input line 59.
  2465 +Package babel Info: Redefining spanish shorthand "!
  2466 +(babel) in language on input line 59.
  2467 +Package babel Info: Redefining spanish shorthand "?
  2468 +(babel) in language on input line 59.
  2469 +Package babel Info: Redefining spanish shorthand <<
  2470 +(babel) in language on input line 70.
  2471 +Package babel Info: Redefining spanish shorthand >>
  2472 +(babel) in language on input line 70.
  2473 +Package babel Info: Redefining spanish shorthand "=
  2474 +(babel) in language on input line 70.
  2475 +Package babel Info: Redefining spanish shorthand "~
  2476 +(babel) in language on input line 70.
  2477 +Package babel Info: Redefining spanish shorthand "!
  2478 +(babel) in language on input line 70.
  2479 +Package babel Info: Redefining spanish shorthand "?
  2480 +(babel) in language on input line 70.
  2481 +Package babel Info: Redefining spanish shorthand <<
  2482 +(babel) in language on input line 81.
  2483 +Package babel Info: Redefining spanish shorthand >>
  2484 +(babel) in language on input line 81.
  2485 +Package babel Info: Redefining spanish shorthand "=
  2486 +(babel) in language on input line 81.
  2487 +Package babel Info: Redefining spanish shorthand "~
  2488 +(babel) in language on input line 81.
  2489 +Package babel Info: Redefining spanish shorthand "!
  2490 +(babel) in language on input line 81.
  2491 +Package babel Info: Redefining spanish shorthand "?
  2492 +(babel) in language on input line 81.
  2493 +Package babel Info: Redefining spanish shorthand <<
  2494 +(babel) in language on input line 92.
  2495 +Package babel Info: Redefining spanish shorthand >>
  2496 +(babel) in language on input line 92.
  2497 +Package babel Info: Redefining spanish shorthand "=
  2498 +(babel) in language on input line 92.
  2499 +Package babel Info: Redefining spanish shorthand "~
  2500 +(babel) in language on input line 92.
  2501 +Package babel Info: Redefining spanish shorthand "!
  2502 +(babel) in language on input line 92.
  2503 +Package babel Info: Redefining spanish shorthand "?
  2504 +(babel) in language on input line 92.
  2505 +Package babel Info: Redefining spanish shorthand <<
  2506 +(babel) in language on input line 99.
  2507 +Package babel Info: Redefining spanish shorthand >>
  2508 +(babel) in language on input line 99.
  2509 +Package babel Info: Redefining spanish shorthand "=
  2510 +(babel) in language on input line 99.
  2511 +Package babel Info: Redefining spanish shorthand "~
  2512 +(babel) in language on input line 99.
  2513 +Package babel Info: Redefining spanish shorthand "!
  2514 +(babel) in language on input line 99.
  2515 +Package babel Info: Redefining spanish shorthand "?
  2516 +(babel) in language on input line 99.
  2517 +Package babel Info: Redefining spanish shorthand <<
  2518 +(babel) in language on input line 102.
  2519 +Package babel Info: Redefining spanish shorthand >>
  2520 +(babel) in language on input line 102.
  2521 +Package babel Info: Redefining spanish shorthand "=
  2522 +(babel) in language on input line 102.
  2523 +Package babel Info: Redefining spanish shorthand "~
  2524 +(babel) in language on input line 102.
  2525 +Package babel Info: Redefining spanish shorthand "!
  2526 +(babel) in language on input line 102.
  2527 +Package babel Info: Redefining spanish shorthand "?
  2528 +(babel) in language on input line 102.
  2529 +Package babel Info: Redefining spanish shorthand <<
  2530 +(babel) in language on input line 109.
  2531 +Package babel Info: Redefining spanish shorthand >>
  2532 +(babel) in language on input line 109.
  2533 +Package babel Info: Redefining spanish shorthand "=
  2534 +(babel) in language on input line 109.
  2535 +Package babel Info: Redefining spanish shorthand "~
  2536 +(babel) in language on input line 109.
  2537 +Package babel Info: Redefining spanish shorthand "!
  2538 +(babel) in language on input line 109.
  2539 +Package babel Info: Redefining spanish shorthand "?
  2540 +(babel) in language on input line 109.
  2541 +) (./client_8dox.tex
  2542 +Package babel Info: Redefining spanish shorthand <<
  2543 +(babel) in language on input line 3.
  2544 +Package babel Info: Redefining spanish shorthand >>
  2545 +(babel) in language on input line 3.
  2546 +Package babel Info: Redefining spanish shorthand "=
  2547 +(babel) in language on input line 3.
  2548 +Package babel Info: Redefining spanish shorthand "~
  2549 +(babel) in language on input line 3.
  2550 +Package babel Info: Redefining spanish shorthand "!
  2551 +(babel) in language on input line 3.
  2552 +Package babel Info: Redefining spanish shorthand "?
  2553 +(babel) in language on input line 3.
  2554 +Package babel Info: Redefining spanish shorthand <<
  2555 +(babel) in language on input line 6.
  2556 +Package babel Info: Redefining spanish shorthand >>
  2557 +(babel) in language on input line 6.
  2558 +Package babel Info: Redefining spanish shorthand "=
  2559 +(babel) in language on input line 6.
  2560 +Package babel Info: Redefining spanish shorthand "~
  2561 +(babel) in language on input line 6.
  2562 +Package babel Info: Redefining spanish shorthand "!
  2563 +(babel) in language on input line 6.
  2564 +Package babel Info: Redefining spanish shorthand "?
  2565 +(babel) in language on input line 6.
1363 LaTeX Info: Redefining \. on input line 7. 2566 LaTeX Info: Redefining \. on input line 7.
1364 LaTeX Info: Redefining \% on input line 7. 2567 LaTeX Info: Redefining \% on input line 7.
1365 - [18]) (./howto_8dox.tex) (./client_8h.tex 2568 +Package babel Info: Redefining spanish shorthand <<
  2569 +(babel) in language on input line 7.
  2570 +Package babel Info: Redefining spanish shorthand >>
  2571 +(babel) in language on input line 7.
  2572 +Package babel Info: Redefining spanish shorthand "=
  2573 +(babel) in language on input line 7.
  2574 +Package babel Info: Redefining spanish shorthand "~
  2575 +(babel) in language on input line 7.
  2576 +Package babel Info: Redefining spanish shorthand "!
  2577 +(babel) in language on input line 7.
  2578 +Package babel Info: Redefining spanish shorthand "?
  2579 +(babel) in language on input line 7.
  2580 +Package babel Info: Redefining spanish shorthand <<
  2581 +(babel) in language on input line 7.
  2582 +Package babel Info: Redefining spanish shorthand >>
  2583 +(babel) in language on input line 7.
  2584 +Package babel Info: Redefining spanish shorthand "=
  2585 +(babel) in language on input line 7.
  2586 +Package babel Info: Redefining spanish shorthand "~
  2587 +(babel) in language on input line 7.
  2588 +Package babel Info: Redefining spanish shorthand "!
  2589 +(babel) in language on input line 7.
  2590 +Package babel Info: Redefining spanish shorthand "?
  2591 +(babel) in language on input line 7.
  2592 + [18]
  2593 +Underfull \hbox (badness 10000) detected at line 7
  2594 +[][][]
  2595 + []
  2596 +
  2597 +
  2598 +Underfull \hbox (badness 10000) detected at line 10
  2599 +[][][]
  2600 + []
  2601 +
  2602 +) (./howto_8dox.tex
  2603 +Package babel Info: Redefining spanish shorthand <<
  2604 +(babel) in language on input line 3.
  2605 +Package babel Info: Redefining spanish shorthand >>
  2606 +(babel) in language on input line 3.
  2607 +Package babel Info: Redefining spanish shorthand "=
  2608 +(babel) in language on input line 3.
  2609 +Package babel Info: Redefining spanish shorthand "~
  2610 +(babel) in language on input line 3.
  2611 +Package babel Info: Redefining spanish shorthand "!
  2612 +(babel) in language on input line 3.
  2613 +Package babel Info: Redefining spanish shorthand "?
  2614 +(babel) in language on input line 3.
  2615 +Package babel Info: Redefining spanish shorthand <<
  2616 +(babel) in language on input line 6.
  2617 +Package babel Info: Redefining spanish shorthand >>
  2618 +(babel) in language on input line 6.
  2619 +Package babel Info: Redefining spanish shorthand "=
  2620 +(babel) in language on input line 6.
  2621 +Package babel Info: Redefining spanish shorthand "~
  2622 +(babel) in language on input line 6.
  2623 +Package babel Info: Redefining spanish shorthand "!
  2624 +(babel) in language on input line 6.
  2625 +Package babel Info: Redefining spanish shorthand "?
  2626 +(babel) in language on input line 6.
  2627 +
  2628 +Underfull \hbox (badness 10000) detected at line 7
  2629 +[][][]
  2630 + []
  2631 +
  2632 +
  2633 +Underfull \hbox (badness 10000) detected at line 10
  2634 +[][][]
  2635 + []
  2636 +
  2637 +) (./client_8h.tex
  2638 +Package babel Info: Redefining spanish shorthand <<
  2639 +(babel) in language on input line 3.
  2640 +Package babel Info: Redefining spanish shorthand >>
  2641 +(babel) in language on input line 3.
  2642 +Package babel Info: Redefining spanish shorthand "=
  2643 +(babel) in language on input line 3.
  2644 +Package babel Info: Redefining spanish shorthand "~
  2645 +(babel) in language on input line 3.
  2646 +Package babel Info: Redefining spanish shorthand "!
  2647 +(babel) in language on input line 3.
  2648 +Package babel Info: Redefining spanish shorthand "?
  2649 +(babel) in language on input line 3.
  2650 +
1366 Underfull \hbox (badness 10000) in paragraph at lines 4--11 2651 Underfull \hbox (badness 10000) in paragraph at lines 4--11
1367 2652
1368 [] 2653 []
1369 2654
1370 ) (./_socket_8h.tex 2655 ) (./_socket_8h.tex
1371 Underfull \hbox (badness 3471) in paragraph at lines 3--3 2656 Underfull \hbox (badness 3471) in paragraph at lines 3--3
1372 -[]\OT1/phv/bc/n/14.4 Referencia del Archi-vo /home/imanol/devel/eclipse/-P-A-D/ 2657 +[]\T1/phv/bc/n/14.4 Referencia del Ar-chi-vo /home/imanol/devel/eclipse/-P-A-D/
1373 -J-Chat-Client/src/include/- 2658 -J-Chat-Client/src/include/-
1374 [] 2659 []
1375 2660
  2661 +Package babel Info: Redefining spanish shorthand <<
  2662 +(babel) in language on input line 3.
  2663 +Package babel Info: Redefining spanish shorthand >>
  2664 +(babel) in language on input line 3.
  2665 +Package babel Info: Redefining spanish shorthand "=
  2666 +(babel) in language on input line 3.
  2667 +Package babel Info: Redefining spanish shorthand "~
  2668 +(babel) in language on input line 3.
  2669 +Package babel Info: Redefining spanish shorthand "!
  2670 +(babel) in language on input line 3.
  2671 +Package babel Info: Redefining spanish shorthand "?
  2672 +(babel) in language on input line 3.
1376 2673
1377 Underfull \hbox (badness 10000) in paragraph at lines 9--21 2674 Underfull \hbox (badness 10000) in paragraph at lines 9--21
1378 2675
1379 [] 2676 []
1380 2677
1381 2678
1382 -Underfull \vbox (badness 1077) has occurred while \output is active [] 2679 +Underfull \vbox (badness 1087) has occurred while \output is active []
1383 2680
1384 LaTeX Info: Redefining \. on input line 21. 2681 LaTeX Info: Redefining \. on input line 21.
1385 LaTeX Info: Redefining \% on input line 21. 2682 LaTeX Info: Redefining \% on input line 21.
1386 - [19])  
1387 -(./_socket_exception_8h.tex 2683 +Package babel Info: Redefining spanish shorthand <<
  2684 +(babel) in language on input line 21.
  2685 +Package babel Info: Redefining spanish shorthand >>
  2686 +(babel) in language on input line 21.
  2687 +Package babel Info: Redefining spanish shorthand "=
  2688 +(babel) in language on input line 21.
  2689 +Package babel Info: Redefining spanish shorthand "~
  2690 +(babel) in language on input line 21.
  2691 +Package babel Info: Redefining spanish shorthand "!
  2692 +(babel) in language on input line 21.
  2693 +Package babel Info: Redefining spanish shorthand "?
  2694 +(babel) in language on input line 21.
  2695 +Package babel Info: Redefining spanish shorthand <<
  2696 +(babel) in language on input line 21.
  2697 +Package babel Info: Redefining spanish shorthand >>
  2698 +(babel) in language on input line 21.
  2699 +Package babel Info: Redefining spanish shorthand "=
  2700 +(babel) in language on input line 21.
  2701 +Package babel Info: Redefining spanish shorthand "~
  2702 +(babel) in language on input line 21.
  2703 +Package babel Info: Redefining spanish shorthand "!
  2704 +(babel) in language on input line 21.
  2705 +Package babel Info: Redefining spanish shorthand "?
  2706 +(babel) in language on input line 21.
  2707 + [19]
  2708 +Package babel Info: Redefining spanish shorthand <<
  2709 +(babel) in language on input line 28.
  2710 +Package babel Info: Redefining spanish shorthand >>
  2711 +(babel) in language on input line 28.
  2712 +Package babel Info: Redefining spanish shorthand "=
  2713 +(babel) in language on input line 28.
  2714 +Package babel Info: Redefining spanish shorthand "~
  2715 +(babel) in language on input line 28.
  2716 +Package babel Info: Redefining spanish shorthand "!
  2717 +(babel) in language on input line 28.
  2718 +Package babel Info: Redefining spanish shorthand "?
  2719 +(babel) in language on input line 28.
  2720 +
  2721 +Underfull \hbox (badness 10000) detected at line 29
  2722 +[][][]
  2723 + []
  2724 +
  2725 +
  2726 +Underfull \hbox (badness 10000) detected at line 32
  2727 +[][][]
  2728 + []
  2729 +
  2730 +) (./_socket_exception_8h.tex
1388 Underfull \hbox (badness 3471) in paragraph at lines 3--3 2731 Underfull \hbox (badness 3471) in paragraph at lines 3--3
1389 -[]\OT1/phv/bc/n/14.4 Referencia del Archi-vo /home/imanol/devel/eclipse/-P-A-D/ 2732 +[]\T1/phv/bc/n/14.4 Referencia del Ar-chi-vo /home/imanol/devel/eclipse/-P-A-D/
1390 -J-Chat-Client/src/include/- 2733 -J-Chat-Client/src/include/-
1391 [] 2734 []
1392 2735
  2736 +Package babel Info: Redefining spanish shorthand <<
  2737 +(babel) in language on input line 3.
  2738 +Package babel Info: Redefining spanish shorthand >>
  2739 +(babel) in language on input line 3.
  2740 +Package babel Info: Redefining spanish shorthand "=
  2741 +(babel) in language on input line 3.
  2742 +Package babel Info: Redefining spanish shorthand "~
  2743 +(babel) in language on input line 3.
  2744 +Package babel Info: Redefining spanish shorthand "!
  2745 +(babel) in language on input line 3.
  2746 +Package babel Info: Redefining spanish shorthand "?
  2747 +(babel) in language on input line 3.
1393 2748
1394 Underfull \hbox (badness 10000) in paragraph at lines 9--10 2749 Underfull \hbox (badness 10000) in paragraph at lines 9--10
1395 2750
1396 [] 2751 []
1397 2752
  2753 +Package babel Info: Redefining spanish shorthand <<
  2754 +(babel) in language on input line 17.
  2755 +Package babel Info: Redefining spanish shorthand >>
  2756 +(babel) in language on input line 17.
  2757 +Package babel Info: Redefining spanish shorthand "=
  2758 +(babel) in language on input line 17.
  2759 +Package babel Info: Redefining spanish shorthand "~
  2760 +(babel) in language on input line 17.
  2761 +Package babel Info: Redefining spanish shorthand "!
  2762 +(babel) in language on input line 17.
  2763 +Package babel Info: Redefining spanish shorthand "?
  2764 +(babel) in language on input line 17.
  2765 +
  2766 +Underfull \hbox (badness 10000) detected at line 18
  2767 +[][][]
  2768 + []
  2769 +
1398 LaTeX Info: Redefining \. on input line 21. 2770 LaTeX Info: Redefining \. on input line 21.
1399 LaTeX Info: Redefining \% on input line 21. 2771 LaTeX Info: Redefining \% on input line 21.
1400 -[20]) (./mainpage_8dox.tex) (./makefile_8dox.tex) (./_socket_8cpp.tex 2772 +Package babel Info: Redefining spanish shorthand <<
  2773 +(babel) in language on input line 21.
  2774 +Package babel Info: Redefining spanish shorthand >>
  2775 +(babel) in language on input line 21.
  2776 +Package babel Info: Redefining spanish shorthand "=
  2777 +(babel) in language on input line 21.
  2778 +Package babel Info: Redefining spanish shorthand "~
  2779 +(babel) in language on input line 21.
  2780 +Package babel Info: Redefining spanish shorthand "!
  2781 +(babel) in language on input line 21.
  2782 +Package babel Info: Redefining spanish shorthand "?
  2783 +(babel) in language on input line 21.
  2784 +Package babel Info: Redefining spanish shorthand <<
  2785 +(babel) in language on input line 21.
  2786 +Package babel Info: Redefining spanish shorthand >>
  2787 +(babel) in language on input line 21.
  2788 +Package babel Info: Redefining spanish shorthand "=
  2789 +(babel) in language on input line 21.
  2790 +Package babel Info: Redefining spanish shorthand "~
  2791 +(babel) in language on input line 21.
  2792 +Package babel Info: Redefining spanish shorthand "!
  2793 +(babel) in language on input line 21.
  2794 +Package babel Info: Redefining spanish shorthand "?
  2795 +(babel) in language on input line 21.
  2796 +[20]
  2797 +Underfull \hbox (badness 10000) detected at line 21
  2798 +[][][]
  2799 + []
  2800 +
  2801 +) (./mainpage_8dox.tex
  2802 +Package babel Info: Redefining spanish shorthand <<
  2803 +(babel) in language on input line 3.
  2804 +Package babel Info: Redefining spanish shorthand >>
  2805 +(babel) in language on input line 3.
  2806 +Package babel Info: Redefining spanish shorthand "=
  2807 +(babel) in language on input line 3.
  2808 +Package babel Info: Redefining spanish shorthand "~
  2809 +(babel) in language on input line 3.
  2810 +Package babel Info: Redefining spanish shorthand "!
  2811 +(babel) in language on input line 3.
  2812 +Package babel Info: Redefining spanish shorthand "?
  2813 +(babel) in language on input line 3.
  2814 +) (./makefile_8dox.tex
  2815 +Package babel Info: Redefining spanish shorthand <<
  2816 +(babel) in language on input line 3.
  2817 +Package babel Info: Redefining spanish shorthand >>
  2818 +(babel) in language on input line 3.
  2819 +Package babel Info: Redefining spanish shorthand "=
  2820 +(babel) in language on input line 3.
  2821 +Package babel Info: Redefining spanish shorthand "~
  2822 +(babel) in language on input line 3.
  2823 +Package babel Info: Redefining spanish shorthand "!
  2824 +(babel) in language on input line 3.
  2825 +Package babel Info: Redefining spanish shorthand "?
  2826 +(babel) in language on input line 3.
  2827 +) (./_socket_8cpp.tex
  2828 +Package babel Info: Redefining spanish shorthand <<
  2829 +(babel) in language on input line 3.
  2830 +Package babel Info: Redefining spanish shorthand >>
  2831 +(babel) in language on input line 3.
  2832 +Package babel Info: Redefining spanish shorthand "=
  2833 +(babel) in language on input line 3.
  2834 +Package babel Info: Redefining spanish shorthand "~
  2835 +(babel) in language on input line 3.
  2836 +Package babel Info: Redefining spanish shorthand "!
  2837 +(babel) in language on input line 3.
  2838 +Package babel Info: Redefining spanish shorthand "?
  2839 +(babel) in language on input line 3.
  2840 +
1401 Underfull \hbox (badness 10000) in paragraph at lines 9--10 2841 Underfull \hbox (badness 10000) in paragraph at lines 9--10
1402 2842
1403 [] 2843 []
1404 2844
1405 -) (./refman.ind  
1406 -LaTeX Info: Redefining \. on input line 1.  
1407 -LaTeX Info: Redefining \% on input line 1. 2845 +Package babel Info: Redefining spanish shorthand <<
  2846 +(babel) in language on input line 12.
  2847 +Package babel Info: Redefining spanish shorthand >>
  2848 +(babel) in language on input line 12.
  2849 +Package babel Info: Redefining spanish shorthand "=
  2850 +(babel) in language on input line 12.
  2851 +Package babel Info: Redefining spanish shorthand "~
  2852 +(babel) in language on input line 12.
  2853 +Package babel Info: Redefining spanish shorthand "!
  2854 +(babel) in language on input line 12.
  2855 +Package babel Info: Redefining spanish shorthand "?
  2856 +(babel) in language on input line 12.
  2857 +
  2858 +Underfull \hbox (badness 10000) detected at line 13
  2859 +[][][]
  2860 + []
  2861 +
  2862 +
  2863 +Underfull \hbox (badness 10000) detected at line 16
  2864 +[][][]
  2865 + []
  2866 +
  2867 +)
  2868 +LaTeX Info: Redefining \. on input line 166.
  2869 +LaTeX Info: Redefining \% on input line 166.
  2870 +Package babel Info: Redefining spanish shorthand <<
  2871 +(babel) in language on input line 166.
  2872 +Package babel Info: Redefining spanish shorthand >>
  2873 +(babel) in language on input line 166.
  2874 +Package babel Info: Redefining spanish shorthand "=
  2875 +(babel) in language on input line 166.
  2876 +Package babel Info: Redefining spanish shorthand "~
  2877 +(babel) in language on input line 166.
  2878 +Package babel Info: Redefining spanish shorthand "!
  2879 +(babel) in language on input line 166.
  2880 +Package babel Info: Redefining spanish shorthand "?
  2881 +(babel) in language on input line 166.
  2882 +Package babel Info: Redefining spanish shorthand <<
  2883 +(babel) in language on input line 166.
  2884 +Package babel Info: Redefining spanish shorthand >>
  2885 +(babel) in language on input line 166.
  2886 +Package babel Info: Redefining spanish shorthand "=
  2887 +(babel) in language on input line 166.
  2888 +Package babel Info: Redefining spanish shorthand "~
  2889 +(babel) in language on input line 166.
  2890 +Package babel Info: Redefining spanish shorthand "!
  2891 +(babel) in language on input line 166.
  2892 +Package babel Info: Redefining spanish shorthand "?
  2893 +(babel) in language on input line 166.
1408 [21] 2894 [21]
  2895 +Package babel Info: Redefining spanish shorthand <<
  2896 +(babel) in language on input line 168.
  2897 +Package babel Info: Redefining spanish shorthand >>
  2898 +(babel) in language on input line 168.
  2899 +Package babel Info: Redefining spanish shorthand "=
  2900 +(babel) in language on input line 168.
  2901 +Package babel Info: Redefining spanish shorthand "~
  2902 +(babel) in language on input line 168.
  2903 +Package babel Info: Redefining spanish shorthand "!
  2904 +(babel) in language on input line 168.
  2905 +Package babel Info: Redefining spanish shorthand "?
  2906 +(babel) in language on input line 168.
  2907 + (./refman.ind
1409 Underfull \hbox (badness 10000) in paragraph at lines 5--7 2908 Underfull \hbox (badness 10000) in paragraph at lines 5--7
1410 []\T1/phv/m/n/10 /home/imanol/devel/eclipse/-P-A-D/-J-Chat-Client/src/- 2909 []\T1/phv/m/n/10 /home/imanol/devel/eclipse/-P-A-D/-J-Chat-Client/src/-
1411 [] 2910 []
@@ -1432,38 +2931,86 @@ Overfull \hbox (17.3224pt too wide) in paragraph at lines 19--21 @@ -1432,38 +2931,86 @@ Overfull \hbox (17.3224pt too wide) in paragraph at lines 19--21
1432 - 2931 -
1433 [] 2932 []
1434 2933
  2934 +Package babel Info: Redefining spanish shorthand <<
  2935 +(babel) in language on input line 134.
  2936 +Package babel Info: Redefining spanish shorthand >>
  2937 +(babel) in language on input line 134.
  2938 +Package babel Info: Redefining spanish shorthand "=
  2939 +(babel) in language on input line 134.
  2940 +Package babel Info: Redefining spanish shorthand "~
  2941 +(babel) in language on input line 134.
  2942 +Package babel Info: Redefining spanish shorthand "!
  2943 +(babel) in language on input line 134.
  2944 +Package babel Info: Redefining spanish shorthand "?
  2945 +(babel) in language on input line 134.
  2946 +Package babel Info: Redefining spanish shorthand <<
  2947 +(babel) in language on input line 134.
  2948 +Package babel Info: Redefining spanish shorthand >>
  2949 +(babel) in language on input line 134.
  2950 +Package babel Info: Redefining spanish shorthand "=
  2951 +(babel) in language on input line 134.
  2952 +Package babel Info: Redefining spanish shorthand "~
  2953 +(babel) in language on input line 134.
  2954 +Package babel Info: Redefining spanish shorthand "!
  2955 +(babel) in language on input line 134.
  2956 +Package babel Info: Redefining spanish shorthand "?
  2957 +(babel) in language on input line 134.
1435 [22 2958 [22
1436 2959
1437 ] 2960 ]
1438 LaTeX Info: Redefining \. on input line 151. 2961 LaTeX Info: Redefining \. on input line 151.
1439 LaTeX Info: Redefining \% on input line 151. 2962 LaTeX Info: Redefining \% on input line 151.
  2963 +Package babel Info: Redefining spanish shorthand <<
  2964 +(babel) in language on input line 151.
  2965 +Package babel Info: Redefining spanish shorthand >>
  2966 +(babel) in language on input line 151.
  2967 +Package babel Info: Redefining spanish shorthand "=
  2968 +(babel) in language on input line 151.
  2969 +Package babel Info: Redefining spanish shorthand "~
  2970 +(babel) in language on input line 151.
  2971 +Package babel Info: Redefining spanish shorthand "!
  2972 +(babel) in language on input line 151.
  2973 +Package babel Info: Redefining spanish shorthand "?
  2974 +(babel) in language on input line 151.
  2975 +Package babel Info: Redefining spanish shorthand <<
  2976 +(babel) in language on input line 151.
  2977 +Package babel Info: Redefining spanish shorthand >>
  2978 +(babel) in language on input line 151.
  2979 +Package babel Info: Redefining spanish shorthand "=
  2980 +(babel) in language on input line 151.
  2981 +Package babel Info: Redefining spanish shorthand "~
  2982 +(babel) in language on input line 151.
  2983 +Package babel Info: Redefining spanish shorthand "!
  2984 +(babel) in language on input line 151.
  2985 +Package babel Info: Redefining spanish shorthand "?
  2986 +(babel) in language on input line 151.
1440 [23 2987 [23
1441 2988
1442 ]) 2989 ])
1443 -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 97.  
1444 -Package atveryend Info: Empty hook `AfterLastShipout' on input line 97. 2990 +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 171.
  2991 +Package atveryend Info: Empty hook `AfterLastShipout' on input line 171.
1445 (./refman.aux 2992 (./refman.aux
1446 -LaTeX Info: Redefining \. on input line 21.  
1447 -LaTeX Info: Redefining \% on input line 21. 2993 +LaTeX Info: Redefining \. on input line 23.
  2994 +LaTeX Info: Redefining \% on input line 23.
1448 ) 2995 )
1449 -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 97.  
1450 -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 97. 2996 +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 171.
  2997 +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 171.
1451 Package rerunfilecheck Info: File `refman.out' has not changed. 2998 Package rerunfilecheck Info: File `refman.out' has not changed.
1452 -(rerunfilecheck) Checksum: DDDDBC43CB7E9CFAA74D492C11EA7B0A;14371. 2999 +(rerunfilecheck) Checksum: 90DE45FB725CFE1F61E3D4F1E8F376EA;14366.
1453 3000
1454 3001
1455 LaTeX Font Warning: Some font shapes were not available, defaults substituted. 3002 LaTeX Font Warning: Some font shapes were not available, defaults substituted.
1456 3003
1457 -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 97. 3004 +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 171.
1458 ) 3005 )
1459 Here is how much of TeX's memory you used: 3006 Here is how much of TeX's memory you used:
1460 - 12386 strings out of 495059  
1461 - 171405 string characters out of 3182031  
1462 - 293523 words of memory out of 3000000  
1463 - 15121 multiletter control sequences out of 15000+200000  
1464 - 78540 words of font info for 111 fonts, out of 3000000 for 9000  
1465 - 14 hyphenation exceptions out of 8191  
1466 - 41i,13n,58p,578b,625s stack positions out of 5000i,500n,10000p,200000b,50000s 3007 + 13117 strings out of 494969
  3008 + 181938 string characters out of 6179593
  3009 + 267729 words of memory out of 5000000
  3010 + 15919 multiletter control sequences out of 15000+600000
  3011 + 87263 words of font info for 113 fonts, out of 8000000 for 9000
  3012 + 40 hyphenation exceptions out of 8191
  3013 + 48i,13n,43p,578b,691s stack positions out of 5000i,500n,10000p,200000b,80000s
1467 {/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texliv 3014 {/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texliv
1468 e/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texm 3015 e/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texm
1469 f-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist 3016 f-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist
@@ -1472,10 +3019,10 @@ urw/helvetic/uhvb8a.pfb&gt;&lt;/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic @@ -1472,10 +3019,10 @@ urw/helvetic/uhvb8a.pfb&gt;&lt;/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic
1472 /uhvb8ac.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvbo8ac.p 3019 /uhvb8ac.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvbo8ac.p
1473 fb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></usr/sha 3020 fb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></usr/sha
1474 re/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvro8a.pfb> 3021 re/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvro8a.pfb>
1475 -Output written on refman.pdf (29 pages, 133388 bytes). 3022 +Output written on refman.pdf (29 pages, 133189 bytes).
1476 PDF statistics: 3023 PDF statistics:
1477 - 804 PDF objects out of 1000 (max. 8388607)  
1478 - 757 compressed objects within 8 object streams  
1479 - 173 named destinations out of 1000 (max. 500000) 3024 + 794 PDF objects out of 1000 (max. 8388607)
  3025 + 747 compressed objects within 8 object streams
  3026 + 165 named destinations out of 1000 (max. 500000)
1480 601 words of extra memory for PDF output out of 10000 (max. 10000000) 3027 601 words of extra memory for PDF output out of 10000 (max. 10000000)
1481 3028
JChatClient/doc/latex/refman.out
@@ -72,4 +72,4 @@ @@ -72,4 +72,4 @@
72 \BOOKMARK [1][-]{section.7.8}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000m\000a\000k\000e\000f\000i\000l\000e\000.\000d\000o\000x}{chapter.7}% 72 72 \BOOKMARK [1][-]{section.7.8}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000m\000a\000k\000e\000f\000i\000l\000e\000.\000d\000o\000x}{chapter.7}% 72
73 \BOOKMARK [1][-]{section.7.9}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000S\000o\000c\000k\000e\000t\000.\000c\000p\000p}{chapter.7}% 73 73 \BOOKMARK [1][-]{section.7.9}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000S\000o\000c\000k\000e\000t\000.\000c\000p\000p}{chapter.7}% 73
74 \BOOKMARK [2][-]{subsection.7.9.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.9}% 74 74 \BOOKMARK [2][-]{subsection.7.9.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.9}% 74
75 -\BOOKMARK [-1][-]{subsection.7.9.1}{\376\377\000\315\000n\000d\000i\000c\000e}{}% 75 75 +\BOOKMARK [-1][-]{section*.13}{\376\377\000\315\000n\000d\000i\000c\000e}{}% 75
JChatClient/doc/latex/refman.pdf
No preview for this file type
JChatClient/doc/latex/refman.tex
1 -\documentclass{book}  
2 -\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}  
3 -\usepackage{makeidx}  
4 -\usepackage{natbib} 1 +\documentclass[twoside]{book}
  2 +
  3 +% Packages required by doxygen
  4 +\usepackage{calc}
  5 +\usepackage{doxygen}
5 \usepackage{graphicx} 6 \usepackage{graphicx}
  7 +\usepackage[utf8]{inputenc}
  8 +\usepackage{makeidx}
6 \usepackage{multicol} 9 \usepackage{multicol}
7 -\usepackage{float}  
8 -\usepackage{listings}  
9 -\usepackage{color}  
10 -\usepackage{ifthen}  
11 -\usepackage[table]{xcolor} 10 +\usepackage{multirow}
12 \usepackage{textcomp} 11 \usepackage{textcomp}
13 -\usepackage{alltt}  
14 -\usepackage{ifpdf}  
15 -\ifpdf  
16 -\usepackage[pdftex,  
17 - pagebackref=true,  
18 - colorlinks=true,  
19 - linkcolor=blue,  
20 - unicode  
21 - ]{hyperref}  
22 -\else  
23 -\usepackage[ps2pdf,  
24 - pagebackref=true,  
25 - colorlinks=true,  
26 - linkcolor=blue,  
27 - unicode  
28 - ]{hyperref}  
29 -\usepackage{pspicture}  
30 -\fi  
31 -\usepackage[utf8]{inputenc} 12 +\usepackage[table]{xcolor}
  13 +
  14 +% NLS support packages
32 \usepackage[spanish]{babel} 15 \usepackage[spanish]{babel}
  16 +% Font selection
  17 +\usepackage[T1]{fontenc}
33 \usepackage{mathptmx} 18 \usepackage{mathptmx}
34 \usepackage[scaled=.90]{helvet} 19 \usepackage[scaled=.90]{helvet}
35 \usepackage{courier} 20 \usepackage{courier}
36 -\usepackage{sectsty}  
37 \usepackage{amssymb} 21 \usepackage{amssymb}
38 -\usepackage[titles]{tocloft}  
39 -\usepackage{doxygen}  
40 -\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=8,numbers=left }  
41 -\makeindex  
42 -\setcounter{tocdepth}{3}  
43 -\renewcommand{\footrulewidth}{0.4pt} 22 +\usepackage{sectsty}
44 \renewcommand{\familydefault}{\sfdefault} 23 \renewcommand{\familydefault}{\sfdefault}
  24 +\allsectionsfont{%
  25 + \fontseries{bc}\selectfont%
  26 + \color{darkgray}%
  27 +}
  28 +\renewcommand{\DoxyLabelFont}{%
  29 + \fontseries{bc}\selectfont%
  30 + \color{darkgray}%
  31 +}
  32 +
  33 +% Page & text layout
  34 +\usepackage{geometry}
  35 +\geometry{%
  36 + a4paper,%
  37 + top=2.5cm,%
  38 + bottom=2.5cm,%
  39 + left=2.5cm,%
  40 + right=2.5cm%
  41 +}
  42 +\tolerance=750
45 \hfuzz=15pt 43 \hfuzz=15pt
46 -\setlength{\emergencystretch}{15pt}  
47 \hbadness=750 44 \hbadness=750
48 -\tolerance=750 45 +\setlength{\emergencystretch}{15pt}
  46 +\setlength{\parindent}{0cm}
  47 +\setlength{\parskip}{0.2cm}
  48 +\makeatletter
  49 +\renewcommand{\paragraph}{%
  50 + \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
  51 + \normalfont\normalsize\bfseries\SS@parafont%
  52 + }%
  53 +}
  54 +\renewcommand{\subparagraph}{%
  55 + \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
  56 + \normalfont\normalsize\bfseries\SS@subparafont%
  57 + }%
  58 +}
  59 +\makeatother
  60 +
  61 +% Headers & footers
  62 +\usepackage{fancyhdr}
  63 +\pagestyle{fancyplain}
  64 +\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
  65 +\fancyhead[CE]{\fancyplain{}{}}
  66 +\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
  67 +\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
  68 +\fancyhead[CO]{\fancyplain{}{}}
  69 +\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
  70 +\fancyfoot[LE]{\fancyplain{}{}}
  71 +\fancyfoot[CE]{\fancyplain{}{}}
  72 +\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por Doxygen }}
  73 +\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por Doxygen }}
  74 +\fancyfoot[CO]{\fancyplain{}{}}
  75 +\fancyfoot[RO]{\fancyplain{}{}}
  76 +\renewcommand{\footrulewidth}{0.4pt}
  77 +\renewcommand{\chaptermark}[1]{%
  78 + \markboth{#1}{}%
  79 +}
  80 +\renewcommand{\sectionmark}[1]{%
  81 + \markright{\thesection\ #1}%
  82 +}
  83 +
  84 +% Indices & bibliography
  85 +\usepackage{natbib}
  86 +\usepackage[titles]{tocloft}
  87 +\setcounter{tocdepth}{3}
  88 +\setcounter{secnumdepth}{5}
  89 +\makeindex
  90 +
  91 +% Hyperlinks (required, but should be loaded last)
  92 +\usepackage{ifpdf}
  93 +\ifpdf
  94 + \usepackage[pdftex,pagebackref=true]{hyperref}
  95 +\else
  96 + \usepackage[ps2pdf,pagebackref=true]{hyperref}
  97 +\fi
  98 +\hypersetup{%
  99 + colorlinks=true,%
  100 + linkcolor=blue,%
  101 + citecolor=blue,%
  102 + unicode%
  103 +}
  104 +
  105 +% Custom commands
  106 +\newcommand{\clearemptydoublepage}{%
  107 + \newpage{\pagestyle{empty}\cleardoublepage}%
  108 +}
  109 +
  110 +
  111 +%===== C O N T E N T S =====
  112 +
49 \begin{document} 113 \begin{document}
50 -\hypersetup{pageanchor=false,citecolor=blue} 114 +
  115 +% Titlepage & ToC
  116 +\hypersetup{pageanchor=false}
  117 +\pagenumbering{roman}
51 \begin{titlepage} 118 \begin{titlepage}
52 \vspace*{7cm} 119 \vspace*{7cm}
53 -\begin{center} 120 +\begin{center}%
54 {\Large Socket }\\ 121 {\Large Socket }\\
55 \vspace*{1cm} 122 \vspace*{1cm}
56 -{\large Generado por Doxygen 1.8.3.1}\\ 123 +{\large Generado por Doxygen 1.8.4}\\
57 \vspace*{0.5cm} 124 \vspace*{0.5cm}
58 -{\small Martes, 10 de Diciembre de 2013 04:23:31}\\ 125 +{\small Jueves, 12 de Diciembre de 2013 17:44:34}\\
59 \end{center} 126 \end{center}
60 \end{titlepage} 127 \end{titlepage}
61 \clearemptydoublepage 128 \clearemptydoublepage
62 -\pagenumbering{roman}  
63 \tableofcontents 129 \tableofcontents
64 \clearemptydoublepage 130 \clearemptydoublepage
65 \pagenumbering{arabic} 131 \pagenumbering{arabic}
66 -\hypersetup{pageanchor=true,citecolor=blue} 132 +\hypersetup{pageanchor=true}
  133 +
  134 +%--- Begin generated contents ---
67 \chapter{Página principal} 135 \chapter{Página principal}
68 \label{index}\hypertarget{index}{}\input{index} 136 \label{index}\hypertarget{index}{}\input{index}
69 \chapter{Client} 137 \chapter{Client}
@@ -92,6 +160,12 @@ @@ -92,6 +160,12 @@
92 \input{mainpage_8dox} 160 \input{mainpage_8dox}
93 \input{makefile_8dox} 161 \input{makefile_8dox}
94 \input{_socket_8cpp} 162 \input{_socket_8cpp}
  163 +%--- End generated contents ---
  164 +
  165 +% Index
  166 +\newpage
  167 +\phantomsection
95 \addcontentsline{toc}{part}{Índice} 168 \addcontentsline{toc}{part}{Índice}
96 \printindex 169 \printindex
  170 +
97 \end{document} 171 \end{document}
JChatClient/doc/latex/refman.toc
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
42 \contentsline {subsubsection}{\numberline {6.2.3.1}description}{15}{subsubsection.6.2.3.1} 42 \contentsline {subsubsection}{\numberline {6.2.3.1}description}{15}{subsubsection.6.2.3.1}
43 \contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{15}{subsection.6.2.4} 43 \contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{15}{subsection.6.2.4}
44 \contentsline {subsubsection}{\numberline {6.2.4.1}message}{15}{subsubsection.6.2.4.1} 44 \contentsline {subsubsection}{\numberline {6.2.4.1}message}{15}{subsubsection.6.2.4.1}
45 -\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{15}{section.6.3} 45 +\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{16}{section.6.3}
46 \contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{16}{subsection.6.3.1} 46 \contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{16}{subsection.6.3.1}
47 \contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n de los datos miembro}{16}{subsection.6.3.2} 47 \contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n de los datos miembro}{16}{subsection.6.3.2}
48 \contentsline {subsubsection}{\numberline {6.3.2.1}condition}{16}{subsubsection.6.3.2.1} 48 \contentsline {subsubsection}{\numberline {6.3.2.1}condition}{16}{subsubsection.6.3.2.1}
@@ -73,4 +73,4 @@ @@ -73,4 +73,4 @@
73 \contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{21}{section.7.8} 73 \contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{21}{section.7.8}
74 \contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{21}{section.7.9} 74 \contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{21}{section.7.9}
75 \contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.9.1} 75 \contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.9.1}
76 -\contentsline {part}{\IeC {\'I}ndice}{21}{subsection.7.9.1} 76 +\contentsline {part}{\IeC {\'I}ndice}{22}{section*.13}
JChatClient/doc/latex/structthread__args.tex
@@ -42,7 +42,7 @@ Variable de notificación a otros threads. @@ -42,7 +42,7 @@ Variable de notificación a otros threads.
42 42
43 Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones. 43 Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.
44 44
45 -{\itshape Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.} \hypertarget{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{\index{thread\-\_\-args@{thread\-\_\-args}!mutex@{mutex}} 45 +Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.$\ast$ \hypertarget{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{\index{thread\-\_\-args@{thread\-\_\-args}!mutex@{mutex}}
46 \index{mutex@{mutex}!thread_args@{thread\-\_\-args}} 46 \index{mutex@{mutex}!thread_args@{thread\-\_\-args}}
47 \subsubsection[{mutex}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t$\ast$ thread\-\_\-args\-::mutex}}\label{structthread__args_ad5d64499f5f6e2df467c96b52a94c520} 47 \subsubsection[{mutex}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t$\ast$ thread\-\_\-args\-::mutex}}\label{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}
48 48
JChatClient/src/client.cpp
@@ -40,9 +40,6 @@ bool connect(Socket&amp; s) @@ -40,9 +40,6 @@ bool connect(Socket&amp; s)
40 cin.ignore(); 40 cin.ignore();
41 cout << "Nickname: "; 41 cout << "Nickname: ";
42 getline(cin,nick); 42 getline(cin,nick);
43 - host = "localhost";  
44 - port = 3001;  
45 -  
46 try 43 try
47 { 44 {
48 s.Create(); 45 s.Create();
JChatServer/bin/pad/prac2/Connection.class
No preview for this file type
JChatServer/src/pad/prac2/Connection.java
@@ -96,7 +96,7 @@ public class Connection extends Thread @@ -96,7 +96,7 @@ public class Connection extends Thread
96 { 96 {
97 try 97 try
98 { 98 {
99 - str = ""; 99 + str = "/disconnect";
100 str = socket.recvMsg(); 100 str = socket.recvMsg();
101 if(str.equals("/disconnect")) 101 if(str.equals("/disconnect"))
102 { 102 {
@@ -132,11 +132,6 @@ public class Connection extends Thread @@ -132,11 +132,6 @@ public class Connection extends Thread
132 socket.sendMsg(cE.getMessage()); 132 socket.sendMsg(cE.getMessage());
133 } 133 }
134 } 134 }
135 - else if(str.equals(""))  
136 - {  
137 - System.out.println(serv.getNickname(this) + " disconnected");  
138 - break;  
139 - }  
140 else 135 else
141 { 136 {
142 System.out.println("FROM " + serv.getNickname(this) + ": " + str); 137 System.out.println("FROM " + serv.getNickname(this) + ": " + str);
QChatClient/QChatClient.pro
@@ -15,20 +15,21 @@ TEMPLATE = app @@ -15,20 +15,21 @@ TEMPLATE = app
15 SOURCES += main.cpp\ 15 SOURCES += main.cpp\
16 chatwindow.cpp \ 16 chatwindow.cpp \
17 loginscreen.cpp \ 17 loginscreen.cpp \
18 - chatroomselect.cpp \  
19 chatroom.cpp \ 18 chatroom.cpp \
20 Socket.cpp \ 19 Socket.cpp \
21 - client.cpp 20 + client.cpp \
  21 + chatwidget.cpp
22 22
23 HEADERS += chatwindow.h \ 23 HEADERS += chatwindow.h \
24 loginscreen.h \ 24 loginscreen.h \
25 - chatroomselect.h \  
26 chatroom.h \ 25 chatroom.h \
27 SocketException.h \ 26 SocketException.h \
28 Socket.h \ 27 Socket.h \
29 - client.h 28 + client.h \
  29 + chatwidget.h
30 30
31 FORMS += chatwindow.ui \ 31 FORMS += chatwindow.ui \
32 loginscreen.ui \ 32 loginscreen.ui \
33 - chatroomselect.ui \  
34 chatroom.ui 33 chatroom.ui
  34 +
  35 +LIBS += -lpthread
QChatClient/QChatClient.pro.user
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE QtCreatorProject> 2 <!DOCTYPE QtCreatorProject>
3 -<!-- Written by QtCreator 2.7.0, 2013-12-12T02:20:40. --> 3 +<!-- Written by QtCreator 2.7.1, 2013-12-18T16:20:32. -->
4 <qtcreator> 4 <qtcreator>
5 <data> 5 <data>
6 <variable>ProjectExplorer.Project.ActiveTarget</variable> 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -53,7 +53,7 @@ @@ -53,7 +53,7 @@
53 <valuemap type="QVariantMap"> 53 <valuemap type="QVariantMap">
54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value> 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value> 55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
56 - <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{d6a12d1a-dee4-4341-8f4f-e2749eba145e}</value> 56 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{430bae4e-c8d6-488c-936e-c89fd5587cd0}</value>
57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value> 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
@@ -189,6 +189,7 @@ @@ -189,6 +189,7 @@
189 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> 189 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
190 </valuemap> 190 </valuemap>
191 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> 191 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
  192 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
192 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> 193 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
193 <value type="bool" key="Analyzer.Project.UseGlobal">true</value> 194 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
194 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> 195 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
@@ -246,7 +247,7 @@ @@ -246,7 +247,7 @@
246 </data> 247 </data>
247 <data> 248 <data>
248 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable> 249 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
249 - <value type="QString">{fd24a9a9-cdbc-49b3-845c-b174fda2a7ac}</value> 250 + <value type="QString">{0fd5067a-d849-4d4e-9457-800baef2de83}</value>
250 </data> 251 </data>
251 <data> 252 <data>
252 <variable>ProjectExplorer.Project.Updater.FileVersion</variable> 253 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
QChatClient/QChatClient.pro.user.fd24a9a 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE QtCreatorProject>
  3 +<!-- Written by QtCreator 2.7.0, 2013-12-12T02:20:40. -->
  4 +<qtcreator>
  5 + <data>
  6 + <variable>ProjectExplorer.Project.ActiveTarget</variable>
  7 + <value type="int">0</value>
  8 + </data>
  9 + <data>
  10 + <variable>ProjectExplorer.Project.EditorSettings</variable>
  11 + <valuemap type="QVariantMap">
  12 + <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
  13 + <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
  14 + <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
  15 + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
  16 + <value type="QByteArray" key="language">Cpp</value>
  17 + <valuemap type="QVariantMap" key="value">
  18 + <value type="QString" key="CurrentPreferences">CppGlobal</value>
  19 + </valuemap>
  20 + </valuemap>
  21 + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
  22 + <value type="QByteArray" key="language">QmlJS</value>
  23 + <valuemap type="QVariantMap" key="value">
  24 + <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
  25 + </valuemap>
  26 + </valuemap>
  27 + <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
  28 + <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
  29 + <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
  30 + <value type="int" key="EditorConfiguration.IndentSize">4</value>
  31 + <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
  32 + <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
  33 + <value type="int" key="EditorConfiguration.PaddingMode">1</value>
  34 + <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
  35 + <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
  36 + <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
  37 + <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
  38 + <value type="int" key="EditorConfiguration.TabSize">8</value>
  39 + <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
  40 + <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
  41 + <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
  42 + <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
  43 + <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
  44 + <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
  45 + </valuemap>
  46 + </data>
  47 + <data>
  48 + <variable>ProjectExplorer.Project.PluginSettings</variable>
  49 + <valuemap type="QVariantMap"/>
  50 + </data>
  51 + <data>
  52 + <variable>ProjectExplorer.Project.Target.0</variable>
  53 + <valuemap type="QVariantMap">
  54 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
  55 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
  56 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{d6a12d1a-dee4-4341-8f4f-e2749eba145e}</value>
  57 + <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
  58 + <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
  59 + <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
  60 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
  61 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
  62 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
  63 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  64 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
  65 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  66 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
  67 + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
  68 + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
  69 + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
  70 + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
  71 + </valuemap>
  72 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
  73 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  74 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
  75 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  76 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
  77 + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
  78 + <value type="QString">-w</value>
  79 + <value type="QString">-r</value>
  80 + </valuelist>
  81 + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
  82 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
  83 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
  84 + </valuemap>
  85 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
  86 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
  87 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  88 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
  89 + </valuemap>
  90 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
  91 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
  92 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  93 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
  94 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  95 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
  96 + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
  97 + <value type="QString">-w</value>
  98 + <value type="QString">-r</value>
  99 + </valuelist>
  100 + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
  101 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
  102 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
  103 + </valuemap>
  104 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
  105 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
  106 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  107 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
  108 + </valuemap>
  109 + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
  110 + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
  111 + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
  112 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
  113 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  114 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
  115 + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
  116 + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/imanol/devel/eclipse/PAD/build-QChatClient-Desktop-Debug</value>
  117 + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
  118 + </valuemap>
  119 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
  120 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
  121 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
  122 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  123 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
  124 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  125 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
  126 + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
  127 + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
  128 + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
  129 + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
  130 + </valuemap>
  131 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
  132 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  133 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
  134 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  135 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
  136 + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
  137 + <value type="QString">-w</value>
  138 + <value type="QString">-r</value>
  139 + </valuelist>
  140 + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
  141 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
  142 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
  143 + </valuemap>
  144 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
  145 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
  146 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  147 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
  148 + </valuemap>
  149 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
  150 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
  151 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  152 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
  153 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  154 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
  155 + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
  156 + <value type="QString">-w</value>
  157 + <value type="QString">-r</value>
  158 + </valuelist>
  159 + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
  160 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
  161 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
  162 + </valuemap>
  163 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
  164 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
  165 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  166 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
  167 + </valuemap>
  168 + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
  169 + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
  170 + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
  171 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
  172 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  173 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
  174 + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
  175 + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/imanol/devel/eclipse/PAD/build-QChatClient-Desktop-Release</value>
  176 + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
  177 + </valuemap>
  178 + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
  179 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
  180 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
  181 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
  182 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
  183 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  184 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
  185 + </valuemap>
  186 + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
  187 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
  188 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  189 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
  190 + </valuemap>
  191 + <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
  192 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
  193 + <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
  194 + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
  195 + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
  196 + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
  197 + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
  198 + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
  199 + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
  200 + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
  201 + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
  202 + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
  203 + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
  204 + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
  205 + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
  206 + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
  207 + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
  208 + <value type="int">0</value>
  209 + <value type="int">1</value>
  210 + <value type="int">2</value>
  211 + <value type="int">3</value>
  212 + <value type="int">4</value>
  213 + <value type="int">5</value>
  214 + <value type="int">6</value>
  215 + <value type="int">7</value>
  216 + <value type="int">8</value>
  217 + <value type="int">9</value>
  218 + <value type="int">10</value>
  219 + <value type="int">11</value>
  220 + <value type="int">12</value>
  221 + <value type="int">13</value>
  222 + <value type="int">14</value>
  223 + </valuelist>
  224 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">QChatClient</value>
  225 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  226 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/imanol/devel/eclipse/PAD/QChatClient/QChatClient.pro</value>
  227 + <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
  228 + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
  229 + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">QChatClient.pro</value>
  230 + <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
  231 + <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
  232 + <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
  233 + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
  234 + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
  235 + <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
  236 + <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
  237 + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
  238 + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
  239 + </valuemap>
  240 + <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
  241 + </valuemap>
  242 + </data>
  243 + <data>
  244 + <variable>ProjectExplorer.Project.TargetCount</variable>
  245 + <value type="int">1</value>
  246 + </data>
  247 + <data>
  248 + <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
  249 + <value type="QString">{fd24a9a9-cdbc-49b3-845c-b174fda2a7ac}</value>
  250 + </data>
  251 + <data>
  252 + <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
  253 + <value type="int">12</value>
  254 + </data>
  255 +</qtcreator>
QChatClient/chatroom.cpp
@@ -6,6 +6,133 @@ Chatroom::Chatroom(QWidget *parent) : @@ -6,6 +6,133 @@ Chatroom::Chatroom(QWidget *parent) :
6 ui(new Ui::Chatroom) 6 ui(new Ui::Chatroom)
7 { 7 {
8 ui->setupUi(this); 8 ui->setupUi(this);
  9 + QList<int> chatSizes;
  10 + QList<int> splitSizes;
  11 + chatSizes.push_front(ui->chatText->height());
  12 + chatSizes.push_front(100);
  13 + splitSizes.push_front(ui->chatWindow->width());
  14 + splitSizes.push_front(200);
  15 + ui->chatSplitter->setSizes(chatSizes);
  16 + ui->windowSplitter->setSizes(splitSizes);
  17 + connected = false;
  18 +}
  19 +
  20 +void killThread(thread_args *t_arg)
  21 +{
  22 + if(t_arg != 0)
  23 + {
  24 + delete t_arg;
  25 + t_arg = 0;
  26 + }
  27 + pthread_exit(NULL);
  28 +}
  29 +
  30 +void *sendThread(void* args)
  31 +{
  32 + string send;
  33 + struct thread_args *t_arg = (struct thread_args*)args;
  34 + while(connected)
  35 + {
  36 + cout << "> ";
  37 + getline(cin,send);
  38 + if(cin.eof())
  39 + {
  40 + send = "/exit";
  41 + }
  42 + try
  43 + {
  44 + *(t_arg->s) << send;
  45 + if(send == "/disconnect" || send == "/exit")
  46 + {
  47 + break;
  48 + }
  49 + }
  50 + catch(SocketException& e)
  51 + {
  52 + cout << e.description() << endl;
  53 + }
  54 + }
  55 + killThread(t_arg);
  56 +}
  57 +
  58 +void *recvThread(void* args)
  59 +{
  60 + string recv;
  61 + struct thread_args *t_arg = (struct thread_args*)args;
  62 + while(true)
  63 + {
  64 + try
  65 + {
  66 + *(t_arg->s) >> recv;
  67 + }
  68 + catch(SocketException &e)
  69 + {
  70 + connected = false;
  71 + cout << e.description() << endl;
  72 + cout << "Connection lost. Press Enter to retry connection to chatroom. Press CTRL+C to exit." << endl;
  73 + pthread_cond_signal(t_arg->condition);
  74 + break;
  75 + }
  76 + if(recv == "DISC_OK")
  77 + {
  78 + cout << "Disconnecting" << endl;
  79 + connected = false;
  80 + pthread_cond_signal(t_arg->condition);
  81 + break;
  82 + }
  83 + else if(recv == "EXIT_OK")
  84 + {
  85 + cout << "Exiting" << endl;
  86 + connected = false;
  87 + pthread_cond_signal(t_arg->condition);
  88 + break;
  89 + }
  90 + else
  91 + {
  92 + cout << recv << endl;
  93 + }
  94 + }
  95 + killThread(t_arg);
  96 +}
  97 +
  98 +void Chatroom::start()
  99 +{
  100 + Socket s;
  101 + connected = false;
  102 + pthread_mutex_t mutex;
  103 + pthread_mutex_init(&mutex,0);
  104 + pthread_cond_t condition;
  105 + pthread_cond_init(&condition,0);
  106 + pthread_t recv, send;
  107 + pthread_attr_t attr;
  108 + pthread_attr_init(&attr);
  109 + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
  110 + pthread_mutex_lock(&mutex);
  111 + thread_args *sArgs = new thread_args;
  112 + thread_args *rArgs = new thread_args;
  113 + sArgs->mutex = &mutex;
  114 + sArgs->condition = &condition;
  115 + sArgs->s = &s;
  116 +
  117 + rArgs->mutex = &mutex;
  118 + rArgs->condition = &condition;
  119 + rArgs->s = &s;
  120 +
  121 + pthread_create(&send,&attr,sendThread,(void *)sArgs);
  122 + pthread_create(&recv,&attr,recvThread,(void *)rArgs);
  123 +
  124 + while(connected)
  125 + {
  126 + pthread_cond_wait(&condition,&mutex);
  127 + }
  128 + pthread_mutex_unlock(&mutex);
  129 + pthread_join(recv,NULL);
  130 + pthread_join(send,NULL);
  131 + s.Close();
  132 + pthread_cond_destroy(&condition);
  133 + pthread_mutex_destroy(&mutex);
  134 +
  135 + //LAUNCH LOGINSCREEN
9 } 136 }
10 137
11 Chatroom::~Chatroom() 138 Chatroom::~Chatroom()
QChatClient/chatroom.h
@@ -2,6 +2,14 @@ @@ -2,6 +2,14 @@
2 #define CHATROOM_H 2 #define CHATROOM_H
3 3
4 #include <QMainWindow> 4 #include <QMainWindow>
  5 +#include "Socket.h"
  6 +
  7 +struct thread_args
  8 +{
  9 + pthread_mutex_t *mutex;
  10 + pthread_cond_t *condition;
  11 + Socket *s;
  12 +};
5 13
6 namespace Ui { 14 namespace Ui {
7 class Chatroom; 15 class Chatroom;
@@ -17,6 +25,12 @@ public: @@ -17,6 +25,12 @@ public:
17 25
18 private: 26 private:
19 Ui::Chatroom *ui; 27 Ui::Chatroom *ui;
  28 + void start();
  29 + bool connected;
20 }; 30 };
21 31
  32 +void *sendThread(void* args);
  33 +void *recvThread(void* args);
  34 +void killThread(thread_args *t_arg);
  35 +
22 #endif // CHATROOM_H 36 #endif // CHATROOM_H
QChatClient/chatroom.ui
@@ -13,9 +13,90 @@ @@ -13,9 +13,90 @@
13 <property name="windowTitle"> 13 <property name="windowTitle">
14 <string>MainWindow</string> 14 <string>MainWindow</string>
15 </property> 15 </property>
16 - <widget class="QWidget" name="centralwidget"/>  
17 - <widget class="QStatusBar" name="statusbar"/> 16 + <widget class="QWidget" name="centralwidget">
  17 + <layout class="QGridLayout" name="gridLayout_2">
  18 + <item row="0" column="0">
  19 + <widget class="QSplitter" name="windowSplitter">
  20 + <property name="orientation">
  21 + <enum>Qt::Horizontal</enum>
  22 + </property>
  23 + <widget class="QWidget" name="chatWindow" native="true">
  24 + <layout class="QGridLayout" name="gridLayout">
  25 + <property name="leftMargin">
  26 + <number>0</number>
  27 + </property>
  28 + <property name="topMargin">
  29 + <number>0</number>
  30 + </property>
  31 + <property name="rightMargin">
  32 + <number>0</number>
  33 + </property>
  34 + <property name="bottomMargin">
  35 + <number>0</number>
  36 + </property>
  37 + <property name="spacing">
  38 + <number>0</number>
  39 + </property>
  40 + <item row="0" column="0">
  41 + <widget class="QSplitter" name="chatSplitter">
  42 + <property name="orientation">
  43 + <enum>Qt::Vertical</enum>
  44 + </property>
  45 + <widget class="ChatWidget" name="chatText">
  46 + <property name="readOnly">
  47 + <bool>true</bool>
  48 + </property>
  49 + </widget>
  50 + <widget class="QTextEdit" name="inputText">
  51 + <property name="sizePolicy">
  52 + <sizepolicy hsizetype="Expanding" vsizetype="Ignored">
  53 + <horstretch>0</horstretch>
  54 + <verstretch>0</verstretch>
  55 + </sizepolicy>
  56 + </property>
  57 + <property name="maximumSize">
  58 + <size>
  59 + <width>16777215</width>
  60 + <height>16777215</height>
  61 + </size>
  62 + </property>
  63 + </widget>
  64 + </widget>
  65 + </item>
  66 + </layout>
  67 + </widget>
  68 + <widget class="QListWidget" name="userList">
  69 + <property name="sizePolicy">
  70 + <sizepolicy hsizetype="Ignored" vsizetype="Expanding">
  71 + <horstretch>0</horstretch>
  72 + <verstretch>0</verstretch>
  73 + </sizepolicy>
  74 + </property>
  75 + <property name="minimumSize">
  76 + <size>
  77 + <width>0</width>
  78 + <height>0</height>
  79 + </size>
  80 + </property>
  81 + <property name="maximumSize">
  82 + <size>
  83 + <width>16777215</width>
  84 + <height>16777215</height>
  85 + </size>
  86 + </property>
  87 + </widget>
  88 + </widget>
  89 + </item>
  90 + </layout>
  91 + </widget>
18 </widget> 92 </widget>
  93 + <customwidgets>
  94 + <customwidget>
  95 + <class>ChatWidget</class>
  96 + <extends>QTextEdit</extends>
  97 + <header>chatwidget.h</header>
  98 + </customwidget>
  99 + </customwidgets>
19 <resources/> 100 <resources/>
20 <connections/> 101 <connections/>
21 </ui> 102 </ui>
QChatClient/chatroomselect.cpp deleted
1 -#include "chatroomselect.h"  
2 -#include "ui_chatroomselect.h"  
3 -  
4 -ChatroomSelect::ChatroomSelect(QWidget *parent) :  
5 - QDialog(parent),  
6 - ui(new Ui::ChatroomSelect)  
7 -{  
8 - ui->setupUi(this);  
9 -}  
10 -  
11 -ChatroomSelect::~ChatroomSelect()  
12 -{  
13 - delete ui;  
14 -}  
QChatClient/chatroomselect.h deleted
1 -#ifndef CHATROOMSELECT_H  
2 -#define CHATROOMSELECT_H  
3 -  
4 -#include <QDialog>  
5 -  
6 -namespace Ui {  
7 -class ChatroomSelect;  
8 -}  
9 -  
10 -class ChatroomSelect : public QDialog  
11 -{  
12 - Q_OBJECT  
13 -  
14 -public:  
15 - explicit ChatroomSelect(QWidget *parent = 0);  
16 - ~ChatroomSelect();  
17 -  
18 -private:  
19 - Ui::ChatroomSelect *ui;  
20 -};  
21 -  
22 -#endif // CHATROOMSELECT_H  
QChatClient/chatroomselect.ui deleted
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<ui version="4.0">  
3 - <class>ChatroomSelect</class>  
4 - <widget class="QDialog" name="ChatroomSelect">  
5 - <property name="geometry">  
6 - <rect>  
7 - <x>0</x>  
8 - <y>0</y>  
9 - <width>555</width>  
10 - <height>379</height>  
11 - </rect>  
12 - </property>  
13 - <property name="sizePolicy">  
14 - <sizepolicy hsizetype="Minimum" vsizetype="Minimum">  
15 - <horstretch>0</horstretch>  
16 - <verstretch>0</verstretch>  
17 - </sizepolicy>  
18 - </property>  
19 - <property name="windowTitle">  
20 - <string>Dialog</string>  
21 - </property>  
22 - <layout class="QGridLayout" name="gridLayout">  
23 - <item row="2" column="1">  
24 - <spacer name="listVertSpacer">  
25 - <property name="orientation">  
26 - <enum>Qt::Vertical</enum>  
27 - </property>  
28 - <property name="sizeType">  
29 - <enum>QSizePolicy::Fixed</enum>  
30 - </property>  
31 - <property name="sizeHint" stdset="0">  
32 - <size>  
33 - <width>20</width>  
34 - <height>5</height>  
35 - </size>  
36 - </property>  
37 - </spacer>  
38 - </item>  
39 - <item row="5" column="1" colspan="3">  
40 - <widget class="QWidget" name="buttonBox" native="true">  
41 - <layout class="QGridLayout" name="gridLayout_3">  
42 - <item row="0" column="1">  
43 - <widget class="QPushButton" name="okButton">  
44 - <property name="text">  
45 - <string>OK</string>  
46 - </property>  
47 - </widget>  
48 - </item>  
49 - <item row="0" column="2">  
50 - <widget class="QPushButton" name="cancelButton">  
51 - <property name="text">  
52 - <string>Cancel</string>  
53 - </property>  
54 - </widget>  
55 - </item>  
56 - <item row="0" column="0">  
57 - <spacer name="buttonHorizSpacer">  
58 - <property name="orientation">  
59 - <enum>Qt::Horizontal</enum>  
60 - </property>  
61 - <property name="sizeHint" stdset="0">  
62 - <size>  
63 - <width>40</width>  
64 - <height>20</height>  
65 - </size>  
66 - </property>  
67 - </spacer>  
68 - </item>  
69 - </layout>  
70 - </widget>  
71 - </item>  
72 - <item row="0" column="1">  
73 - <spacer name="topSpacer">  
74 - <property name="orientation">  
75 - <enum>Qt::Vertical</enum>  
76 - </property>  
77 - <property name="sizeType">  
78 - <enum>QSizePolicy::Fixed</enum>  
79 - </property>  
80 - <property name="sizeHint" stdset="0">  
81 - <size>  
82 - <width>20</width>  
83 - <height>5</height>  
84 - </size>  
85 - </property>  
86 - </spacer>  
87 - </item>  
88 - <item row="3" column="0">  
89 - <spacer name="leftSpacer">  
90 - <property name="orientation">  
91 - <enum>Qt::Horizontal</enum>  
92 - </property>  
93 - <property name="sizeType">  
94 - <enum>QSizePolicy::Fixed</enum>  
95 - </property>  
96 - <property name="sizeHint" stdset="0">  
97 - <size>  
98 - <width>10</width>  
99 - <height>20</height>  
100 - </size>  
101 - </property>  
102 - </spacer>  
103 - </item>  
104 - <item row="3" column="1">  
105 - <widget class="QColumnView" name="chatroomList"/>  
106 - </item>  
107 - <item row="1" column="1">  
108 - <widget class="QLabel" name="titleLabel">  
109 - <property name="text">  
110 - <string>Select one chatroom from the list:</string>  
111 - </property>  
112 - </widget>  
113 - </item>  
114 - <item row="3" column="3">  
115 - <widget class="QWidget" name="roomButtonBox" native="true">  
116 - <layout class="QGridLayout" name="gridLayout_2">  
117 - <item row="1" column="0">  
118 - <widget class="QPushButton" name="editButton">  
119 - <property name="text">  
120 - <string>Edit</string>  
121 - </property>  
122 - </widget>  
123 - </item>  
124 - <item row="2" column="0">  
125 - <widget class="QPushButton" name="removeButton">  
126 - <property name="text">  
127 - <string>Delete</string>  
128 - </property>  
129 - </widget>  
130 - </item>  
131 - <item row="0" column="0">  
132 - <widget class="QPushButton" name="addButton">  
133 - <property name="text">  
134 - <string>Add</string>  
135 - </property>  
136 - </widget>  
137 - </item>  
138 - <item row="3" column="0">  
139 - <spacer name="buttonVertSpacer">  
140 - <property name="orientation">  
141 - <enum>Qt::Vertical</enum>  
142 - </property>  
143 - <property name="sizeHint" stdset="0">  
144 - <size>  
145 - <width>20</width>  
146 - <height>40</height>  
147 - </size>  
148 - </property>  
149 - </spacer>  
150 - </item>  
151 - </layout>  
152 - </widget>  
153 - </item>  
154 - <item row="3" column="2">  
155 - <spacer name="listHorizSpacer">  
156 - <property name="orientation">  
157 - <enum>Qt::Horizontal</enum>  
158 - </property>  
159 - <property name="sizeType">  
160 - <enum>QSizePolicy::Fixed</enum>  
161 - </property>  
162 - <property name="sizeHint" stdset="0">  
163 - <size>  
164 - <width>5</width>  
165 - <height>20</height>  
166 - </size>  
167 - </property>  
168 - </spacer>  
169 - </item>  
170 - </layout>  
171 - </widget>  
172 - <resources/>  
173 - <connections/>  
174 -</ui>  
QChatClient/chatwidget.cpp 0 → 100644
  1 +#include "chatwidget.h"
  2 +
  3 +ChatWidget::ChatWidget(QWidget *parent) :
  4 + QTextEdit(parent)
  5 +{
  6 +
  7 +}
  8 +
  9 +void ChatWidget::printServerMsg(QString &str)
  10 +{
  11 + this->append("<p style=\"font-style:italic;color:gray;\">" + str + "</p>");
  12 +}
  13 +
  14 +void ChatWidget::printMsg(QString &str)
  15 +{
  16 + this->append(str);
  17 +}
  18 +
  19 +void ChatWidget::printStatusMsg(QString &str)
  20 +{
  21 + this->append("<p style=\"font-weight:bold;\">" + str + "</p>");
  22 +}
  23 +
QChatClient/chatwidget.h 0 → 100644
  1 +#ifndef CHATWIDGET_H
  2 +#define CHATWIDGET_H
  3 +
  4 +#include <QTextEdit>
  5 +
  6 +class ChatWidget : public QTextEdit
  7 +{
  8 + Q_OBJECT
  9 +public:
  10 + explicit ChatWidget(QWidget *parent = 0);
  11 + void printServerMsg(QString &str);
  12 + void printMsg(QString& str);
  13 + void printStatusMsg(QString& str);
  14 +
  15 +signals:
  16 +
  17 +public slots:
  18 +
  19 +};
  20 +
  21 +#endif // CHATWIDGET_H
QChatClient/chatwindow.cpp
@@ -8,6 +8,10 @@ ChatWindow::ChatWindow(QWidget *parent) : @@ -8,6 +8,10 @@ ChatWindow::ChatWindow(QWidget *parent) :
8 ui(new Ui::ChatWindow) 8 ui(new Ui::ChatWindow)
9 { 9 {
10 ui->setupUi(this); 10 ui->setupUi(this);
  11 + QList<int> sizes;
  12 + sizes.push_front(ui->chatText->height());
  13 + sizes.push_front(100);
  14 + ui->splitter->setSizes(sizes);
11 } 15 }
12 16
13 ChatWindow::~ChatWindow() 17 ChatWindow::~ChatWindow()
QChatClient/chatwindow.ui
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 <x>0</x> 7 <x>0</x>
8 <y>0</y> 8 <y>0</y>
9 <width>400</width> 9 <width>400</width>
10 - <height>449</height> 10 + <height>502</height>
11 </rect> 11 </rect>
12 </property> 12 </property>
13 <property name="windowTitle"> 13 <property name="windowTitle">
@@ -24,54 +24,45 @@ @@ -24,54 +24,45 @@
24 </sizepolicy> 24 </sizepolicy>
25 </property> 25 </property>
26 <layout class="QGridLayout" name="gridLayout"> 26 <layout class="QGridLayout" name="gridLayout">
27 - <item row="1" column="0">  
28 - <widget class="QWidget" name="widget" native="true">  
29 - <layout class="QGridLayout" name="gridLayout_2">  
30 - <item row="0" column="0">  
31 - <widget class="QSplitter" name="splitter">  
32 - <property name="orientation">  
33 - <enum>Qt::Vertical</enum>  
34 - </property>  
35 - <widget class="QTextBrowser" name="chatText">  
36 - <property name="sizePolicy">  
37 - <sizepolicy hsizetype="Expanding" vsizetype="Ignored">  
38 - <horstretch>0</horstretch>  
39 - <verstretch>0</verstretch>  
40 - </sizepolicy>  
41 - </property>  
42 - </widget>  
43 - <widget class="QTextEdit" name="inputText">  
44 - <property name="enabled">  
45 - <bool>true</bool>  
46 - </property>  
47 - <property name="sizePolicy">  
48 - <sizepolicy hsizetype="Expanding" vsizetype="Preferred">  
49 - <horstretch>0</horstretch>  
50 - <verstretch>0</verstretch>  
51 - </sizepolicy>  
52 - </property>  
53 - <property name="minimumSize">  
54 - <size>  
55 - <width>0</width>  
56 - <height>0</height>  
57 - </size>  
58 - </property>  
59 - <property name="maximumSize">  
60 - <size>  
61 - <width>16777215</width>  
62 - <height>16777215</height>  
63 - </size>  
64 - </property>  
65 - <property name="baseSize">  
66 - <size>  
67 - <width>0</width>  
68 - <height>0</height>  
69 - </size>  
70 - </property>  
71 - </widget>  
72 - </widget>  
73 - </item>  
74 - </layout> 27 + <item row="0" column="0">
  28 + <widget class="QSplitter" name="splitter">
  29 + <property name="orientation">
  30 + <enum>Qt::Vertical</enum>
  31 + </property>
  32 + <widget class="ChatWidget" name="chatText">
  33 + <property name="readOnly">
  34 + <bool>true</bool>
  35 + </property>
  36 + </widget>
  37 + <widget class="QTextEdit" name="inputText">
  38 + <property name="enabled">
  39 + <bool>true</bool>
  40 + </property>
  41 + <property name="sizePolicy">
  42 + <sizepolicy hsizetype="Expanding" vsizetype="Ignored">
  43 + <horstretch>0</horstretch>
  44 + <verstretch>0</verstretch>
  45 + </sizepolicy>
  46 + </property>
  47 + <property name="minimumSize">
  48 + <size>
  49 + <width>0</width>
  50 + <height>0</height>
  51 + </size>
  52 + </property>
  53 + <property name="maximumSize">
  54 + <size>
  55 + <width>16777215</width>
  56 + <height>16777215</height>
  57 + </size>
  58 + </property>
  59 + <property name="baseSize">
  60 + <size>
  61 + <width>0</width>
  62 + <height>0</height>
  63 + </size>
  64 + </property>
  65 + </widget>
75 </widget> 66 </widget>
76 </item> 67 </item>
77 </layout> 68 </layout>
@@ -88,6 +79,13 @@ @@ -88,6 +79,13 @@
88 </widget> 79 </widget>
89 </widget> 80 </widget>
90 <layoutdefault spacing="6" margin="11"/> 81 <layoutdefault spacing="6" margin="11"/>
  82 + <customwidgets>
  83 + <customwidget>
  84 + <class>ChatWidget</class>
  85 + <extends>QTextEdit</extends>
  86 + <header>chatwidget.h</header>
  87 + </customwidget>
  88 + </customwidgets>
91 <resources/> 89 <resources/>
92 <connections/> 90 <connections/>
93 </ui> 91 </ui>
QChatClient/client.cpp
1 -/** @file  
2 -* \brief Fichero de implementación de un cliente  
3 -* \author Imanol Barba Sabariego  
4 -* \date 13/06/2013  
5 -*  
6 -* En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase Socket.  
7 -* REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT  
8 -*/  
9 #include "client.h" 1 #include "client.h"
10 2
11 using namespace std; 3 using namespace std;
12 4
13 -//! Variable de estado del programa.  
14 -bool connected;  
15 -//! Variable de estado del programa.  
16 -bool finished;  
17 -  
18 -//! Método de liberación de los argumentos  
19 -/*! Este método se encarga de liberar la memoria asignada a los argumentos pasados a los threads que ahora han terminado. */  
20 -void killThread(thread_args *t_arg)  
21 -{  
22 - if(t_arg != 0)  
23 - {  
24 - delete t_arg;  
25 - t_arg = 0;  
26 - }  
27 - pthread_exit(NULL);  
28 -}  
29 -  
30 -//! Método de conexión  
31 -/*! Este método conecta el cliente a una sala de chat. */  
32 -bool connect(Socket& s)  
33 -{  
34 - string host, nick, response;  
35 - int port;  
36 - cout << "Hostname: ";  
37 - getline(cin,host);  
38 - cout << "Port: ";  
39 - cin >> port;  
40 - cin.ignore();  
41 - cout << "Nickname: ";  
42 - getline(cin,nick);  
43 - host = "localhost";  
44 - port = 3001;  
45 -  
46 - try  
47 - {  
48 - s.Create();  
49 - s.Connect(host,port);  
50 - cout << "Connected" << endl;  
51 - connected = true;  
52 - s << nick;  
53 - s >> response;  
54 - while(response == "CHATNICKINVALID")  
55 - {  
56 - cout << "Spaces not allowed in nicknames, please enter another nickname: ";  
57 - getline(cin,nick);  
58 - s << nick;  
59 - s >> response;  
60 - }  
61 - while(response == "CHATNICKEXIST")  
62 - {  
63 - cout << "Nickname in use, please enter another nickname: ";  
64 - getline(cin,nick);  
65 - s << nick;  
66 - s >> response;  
67 - }  
68 - while(response == "CHATFULL")  
69 - {  
70 - cout << "Chatroom is full, please wait..." << endl;  
71 - s.Close();  
72 - return false;  
73 - }  
74 - if(response != "CHATOK")  
75 - {  
76 - cout << "Error: " << response << endl;  
77 - s.Close();  
78 - return false;  
79 - }  
80 - }  
81 - catch(SocketException& e)  
82 - {  
83 - cout << e.description() << endl;  
84 - exit(-1);  
85 - }  
86 - return true;  
87 -}  
88 -  
89 -//! Thread de envío de mensajes  
90 -/*! Este método es ejecutado por un thread con el objetivo de enviar los mensajes y comandos que el usuario introduce por teclado. */  
91 -void *sendThread(void* args)  
92 -{  
93 - string send;  
94 - struct thread_args *t_arg = (struct thread_args*)args;  
95 - while(connected)  
96 - {  
97 - cout << "> ";  
98 - getline(cin,send);  
99 - if(cin.eof())  
100 - {  
101 - send = "/exit";  
102 - }  
103 - try  
104 - {  
105 - *(t_arg->s) << send;  
106 - if(send == "/disconnect" || send == "/exit")  
107 - {  
108 - break;  
109 - }  
110 - }  
111 - catch(SocketException& e)  
112 - {  
113 - cout << e.description() << endl;  
114 - }  
115 - }  
116 - killThread(t_arg);  
117 -}  
118 -  
119 -//! Thread de recepción de mensajes  
120 -/*! Este método es ejecutado por un thread con el objetivo de recibir los mensajes por el socket, gestionarlos e imprimirlos por pantalla o tomar las medidas necesarias .*/  
121 -void *recvThread(void* args)  
122 -{  
123 - string recv;  
124 - struct thread_args *t_arg = (struct thread_args*)args;  
125 - while(true)  
126 - {  
127 - try  
128 - {  
129 - *(t_arg->s) >> recv;  
130 - }  
131 - catch(SocketException &e)  
132 - {  
133 - connected = false;  
134 - cout << e.description() << endl;  
135 - cout << "Connection lost. Press Enter to retry connection to chatroom. Press CTRL+C to exit." << endl;  
136 - pthread_cond_signal(t_arg->condition);  
137 - break;  
138 - }  
139 - if(recv == "DISC_OK")  
140 - {  
141 - cout << "Disconnecting" << endl;  
142 - connected = false;  
143 - pthread_cond_signal(t_arg->condition);  
144 - break;  
145 - }  
146 - else if(recv == "EXIT_OK")  
147 - {  
148 - cout << "Exiting" << endl;  
149 - connected = false;  
150 - finished = true;  
151 - pthread_cond_signal(t_arg->condition);  
152 - break;  
153 - }  
154 - else  
155 - {  
156 - cout << recv << endl;  
157 - }  
158 - }  
159 - killThread(t_arg);  
160 -}  
161 -  
162 //! Método principal del cliente 5 //! Método principal del cliente
163 /*! Este método inicializa el Socket, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor.*/ 6 /*! Este método inicializa el Socket, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor.*/
164 -/*int main()  
165 -{  
166 - //signal(SIGPIPE, exitClient); UNUSED  
167 - Socket s;  
168 - connected = finished = false;  
169 - pthread_mutex_t mutex;  
170 - pthread_mutex_init(&mutex,0);  
171 - pthread_cond_t condition;  
172 - pthread_cond_init(&condition,0);  
173 - pthread_t recv, send;  
174 - pthread_attr_t attr;  
175 - pthread_attr_init(&attr);  
176 - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);  
177 - int retries = 3;  
178 - while (!finished)  
179 - {  
180 - while(!connect(s))  
181 - {  
182 - if((--retries) <= 0)  
183 - {  
184 - cout << "Exiting" << endl;  
185 - exit(-1);  
186 - }  
187 - cout << "Couldn't connect to chatroom, retrying..." << endl;  
188 - }  
189 - pthread_mutex_lock(&mutex);  
190 - thread_args *sArgs = new thread_args;  
191 - thread_args *rArgs = new thread_args;  
192 - sArgs->mutex = &mutex;  
193 - sArgs->condition = &condition;  
194 - sArgs->s = &s;  
195 -  
196 - rArgs->mutex = &mutex;  
197 - rArgs->condition = &condition;  
198 - rArgs->s = &s;  
199 -  
200 - pthread_create(&send,&attr,sendThread,(void *)sArgs);  
201 - pthread_create(&recv,&attr,recvThread,(void *)rArgs);  
202 -  
203 - while(connected)  
204 - {  
205 - pthread_cond_wait(&condition,&mutex);  
206 - }  
207 - pthread_mutex_unlock(&mutex);  
208 - pthread_join(recv,NULL);  
209 - pthread_join(send,NULL);  
210 - s.Close();  
211 - }  
212 - pthread_cond_destroy(&condition);  
213 - pthread_mutex_destroy(&mutex);  
214 -}*/ 7 +/
QChatClient/client.h
@@ -14,23 +14,8 @@ @@ -14,23 +14,8 @@
14 \brief Este struct define los argumentos que recibe un thread abierto por la aplicación servidor al recibir una conexión entrante 14 \brief Este struct define los argumentos que recibe un thread abierto por la aplicación servidor al recibir una conexión entrante
15 \author Imanol Barba Sabariego 15 \author Imanol Barba Sabariego
16 \date 11/06/2013 */ 16 \date 11/06/2013 */
17 -struct thread_args  
18 -{  
19 - //! Variable de control de la exclusión mútua entre threads  
20 - /** Esta variable se usa para bloquear otros threads en operaciones de exclusion mútua donde se modifican variables compartidas */  
21 - pthread_mutex_t *mutex;  
22 - //! Variable de notificación a otros threads  
23 - /*! \brief Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.  
24 17
25 - *Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya  
26 - quedado bloqueado y no admita más conexiones.* */  
27 - pthread_cond_t *condition;  
28 - //! Puntero al socket  
29 - /*! \brief Esta variable representa el puntero al socket que proviene de la conexión entrante recibida por el servidor. Con este, el thread  
30 - puede recibir y enviar los datos. */  
31 - Socket *s;  
32 -};  
33 18
34 19
35 20
36 -#endif /* CLIENT_H_ */  
37 \ No newline at end of file 21 \ No newline at end of file
  22 +#endif /* CLIENT_H_ */
QChatClient/loginscreen.cpp
@@ -6,6 +6,61 @@ LoginScreen::LoginScreen(QWidget *parent) : @@ -6,6 +6,61 @@ LoginScreen::LoginScreen(QWidget *parent) :
6 ui(new Ui::LoginScreen) 6 ui(new Ui::LoginScreen)
7 { 7 {
8 ui->setupUi(this); 8 ui->setupUi(this);
  9 + ui->nickEdit->setPlaceholderText("Nickname");
  10 + ui->serverURLEdit->setPlaceholderText("Server hostname:port");
  11 +}
  12 +
  13 +void LoginScreen::parseURL(QString host, int port, QString URL)
  14 +{
  15 +
  16 +}
  17 +
  18 +bool LoginScreen::validateURL(QString& url)
  19 +{
  20 +
  21 +}
  22 +
  23 +bool LoginScreen::connect(Socket& s)
  24 +{
  25 + QString host, nick;
  26 + string response;
  27 + int port;
  28 + parseURL(host,port,ui->serverURLEdit->text());
  29 + nick = ui->nickEdit->text();
  30 + try
  31 + {
  32 + s.Create();
  33 + s.Connect(host.toStdString(),port);
  34 + s << nick.toStdString();
  35 + s >> response;
  36 + if(response == "CHATNICKINVALID")
  37 + {
  38 + cout << "Spaces not allowed in nicknames, please enter another nickname: ";
  39 + }
  40 + else if(response == "CHATNICKEXIST")
  41 + {
  42 + cout << "Nickname in use, please enter another nickname: ";
  43 + }
  44 + else if(response == "CHATFULL")
  45 + {
  46 + cout << "Chatroom is full, please wait..." << endl;
  47 + }
  48 + else if(response != "CHATOK")
  49 + {
  50 + cout << "Error: " << response << endl;
  51 + }
  52 + else
  53 + {
  54 + return true;
  55 + }
  56 + s.Close();
  57 + return false;
  58 + }
  59 + catch(SocketException& e)
  60 + {
  61 + cout << e.description() << endl;
  62 + exit(-1);
  63 + }
9 } 64 }
10 65
11 LoginScreen::~LoginScreen() 66 LoginScreen::~LoginScreen()
QChatClient/loginscreen.h
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 #define LOGINSCREEN_H 2 #define LOGINSCREEN_H
3 3
4 #include <QDialog> 4 #include <QDialog>
  5 +#include "Socket.h"
5 6
6 namespace Ui { 7 namespace Ui {
7 class LoginScreen; 8 class LoginScreen;
@@ -13,6 +14,9 @@ class LoginScreen : public QDialog @@ -13,6 +14,9 @@ class LoginScreen : public QDialog
13 14
14 public: 15 public:
15 explicit LoginScreen(QWidget *parent = 0); 16 explicit LoginScreen(QWidget *parent = 0);
  17 + bool connect(Socket& s);
  18 + bool validateURL(QString& url);
  19 + void parseURL(QString host, int port, QString URL);
16 ~LoginScreen(); 20 ~LoginScreen();
17 21
18 private: 22 private:
QChatClient/loginscreen.ui
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 <x>0</x> 7 <x>0</x>
8 <y>0</y> 8 <y>0</y>
9 <width>402</width> 9 <width>402</width>
10 - <height>204</height> 10 + <height>173</height>
11 </rect> 11 </rect>
12 </property> 12 </property>
13 <property name="sizePolicy"> 13 <property name="sizePolicy">
@@ -20,61 +20,6 @@ @@ -20,61 +20,6 @@
20 <string>Login</string> 20 <string>Login</string>
21 </property> 21 </property>
22 <layout class="QGridLayout" name="gridLayout"> 22 <layout class="QGridLayout" name="gridLayout">
23 - <item row="5" column="1">  
24 - <widget class="QComboBox" name="chatroomBox">  
25 - <property name="currentText">  
26 - <string/>  
27 - </property>  
28 - </widget>  
29 - </item>  
30 - <item row="2" column="1">  
31 - <spacer name="verticalSpacer">  
32 - <property name="orientation">  
33 - <enum>Qt::Vertical</enum>  
34 - </property>  
35 - <property name="sizeType">  
36 - <enum>QSizePolicy::Fixed</enum>  
37 - </property>  
38 - <property name="sizeHint" stdset="0">  
39 - <size>  
40 - <width>20</width>  
41 - <height>10</height>  
42 - </size>  
43 - </property>  
44 - </spacer>  
45 - </item>  
46 - <item row="4" column="2">  
47 - <spacer name="rightSpacer">  
48 - <property name="orientation">  
49 - <enum>Qt::Horizontal</enum>  
50 - </property>  
51 - <property name="sizeType">  
52 - <enum>QSizePolicy::Minimum</enum>  
53 - </property>  
54 - <property name="sizeHint" stdset="0">  
55 - <size>  
56 - <width>10</width>  
57 - <height>20</height>  
58 - </size>  
59 - </property>  
60 - </spacer>  
61 - </item>  
62 - <item row="0" column="1">  
63 - <spacer name="topSpacer">  
64 - <property name="orientation">  
65 - <enum>Qt::Vertical</enum>  
66 - </property>  
67 - <property name="sizeType">  
68 - <enum>QSizePolicy::Fixed</enum>  
69 - </property>  
70 - <property name="sizeHint" stdset="0">  
71 - <size>  
72 - <width>20</width>  
73 - <height>5</height>  
74 - </size>  
75 - </property>  
76 - </spacer>  
77 - </item>  
78 <item row="1" column="1"> 23 <item row="1" column="1">
79 <widget class="QLabel" name="titleLabel"> 24 <widget class="QLabel" name="titleLabel">
80 <property name="sizePolicy"> 25 <property name="sizePolicy">
@@ -94,7 +39,7 @@ @@ -94,7 +39,7 @@
94 </property> 39 </property>
95 </widget> 40 </widget>
96 </item> 41 </item>
97 - <item row="6" column="1"> 42 + <item row="7" column="1">
98 <widget class="QWidget" name="buttonBox" native="true"> 43 <widget class="QWidget" name="buttonBox" native="true">
99 <property name="sizePolicy"> 44 <property name="sizePolicy">
100 <sizepolicy hsizetype="Preferred" vsizetype="Maximum"> 45 <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
@@ -133,6 +78,38 @@ @@ -133,6 +78,38 @@
133 </layout> 78 </layout>
134 </widget> 79 </widget>
135 </item> 80 </item>
  81 + <item row="2" column="1">
  82 + <spacer name="verticalSpacer">
  83 + <property name="orientation">
  84 + <enum>Qt::Vertical</enum>
  85 + </property>
  86 + <property name="sizeType">
  87 + <enum>QSizePolicy::Fixed</enum>
  88 + </property>
  89 + <property name="sizeHint" stdset="0">
  90 + <size>
  91 + <width>20</width>
  92 + <height>10</height>
  93 + </size>
  94 + </property>
  95 + </spacer>
  96 + </item>
  97 + <item row="0" column="1">
  98 + <spacer name="topSpacer">
  99 + <property name="orientation">
  100 + <enum>Qt::Vertical</enum>
  101 + </property>
  102 + <property name="sizeType">
  103 + <enum>QSizePolicy::Fixed</enum>
  104 + </property>
  105 + <property name="sizeHint" stdset="0">
  106 + <size>
  107 + <width>20</width>
  108 + <height>5</height>
  109 + </size>
  110 + </property>
  111 + </spacer>
  112 + </item>
136 <item row="3" column="0"> 113 <item row="3" column="0">
137 <spacer name="leftSpacer"> 114 <spacer name="leftSpacer">
138 <property name="orientation"> 115 <property name="orientation">
@@ -150,10 +127,26 @@ @@ -150,10 +127,26 @@
150 </spacer> 127 </spacer>
151 </item> 128 </item>
152 <item row="3" column="1"> 129 <item row="3" column="1">
153 - <widget class="QLineEdit" name="userEdit"/> 130 + <widget class="QLineEdit" name="nickEdit"/>
154 </item> 131 </item>
155 <item row="4" column="1"> 132 <item row="4" column="1">
156 - <widget class="QLineEdit" name="passwordEdit"/> 133 + <widget class="QLineEdit" name="serverURLEdit"/>
  134 + </item>
  135 + <item row="4" column="2">
  136 + <spacer name="rightSpacer">
  137 + <property name="orientation">
  138 + <enum>Qt::Horizontal</enum>
  139 + </property>
  140 + <property name="sizeType">
  141 + <enum>QSizePolicy::Minimum</enum>
  142 + </property>
  143 + <property name="sizeHint" stdset="0">
  144 + <size>
  145 + <width>10</width>
  146 + <height>20</height>
  147 + </size>
  148 + </property>
  149 + </spacer>
157 </item> 150 </item>
158 </layout> 151 </layout>
159 </widget> 152 </widget>
QChatClient/main.cpp
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 int main(int argc, char *argv[]) 6 int main(int argc, char *argv[])
7 { 7 {
8 QApplication a(argc, argv); 8 QApplication a(argc, argv);
9 - ChatWindow l;  
10 - l.show(); 9 + Chatroom c;
  10 + c.show();
11 11
12 return a.exec(); 12 return a.exec();
13 } 13 }
build-QChatClient-Desktop-Debug/Makefile
1 ############################################################################# 1 #############################################################################
2 # Makefile for building: QChatClient 2 # Makefile for building: QChatClient
3 -# Generated by qmake (3.0) (Qt 5.0.1) on: jue dic 12 02:20:27 2013 3 +# Generated by qmake (3.0) (Qt 5.0.2) on: mié dic 18 16:05:46 2013
4 # Project: ../QChatClient/QChatClient.pro 4 # Project: ../QChatClient/QChatClient.pro
5 # Template: app 5 # Template: app
6 # Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../QChatClient/QChatClient.pro 6 # Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../QChatClient/QChatClient.pro
@@ -48,24 +48,24 @@ OBJECTS_DIR = ./ @@ -48,24 +48,24 @@ OBJECTS_DIR = ./
48 SOURCES = ../QChatClient/main.cpp \ 48 SOURCES = ../QChatClient/main.cpp \
49 ../QChatClient/chatwindow.cpp \ 49 ../QChatClient/chatwindow.cpp \
50 ../QChatClient/loginscreen.cpp \ 50 ../QChatClient/loginscreen.cpp \
51 - ../QChatClient/chatroomselect.cpp \  
52 ../QChatClient/chatroom.cpp \ 51 ../QChatClient/chatroom.cpp \
53 ../QChatClient/Socket.cpp \ 52 ../QChatClient/Socket.cpp \
54 - ../QChatClient/client.cpp moc_chatwindow.cpp \ 53 + ../QChatClient/client.cpp \
  54 + ../QChatClient/chatwidget.cpp moc_chatwindow.cpp \
55 moc_loginscreen.cpp \ 55 moc_loginscreen.cpp \
56 - moc_chatroomselect.cpp \  
57 - moc_chatroom.cpp 56 + moc_chatroom.cpp \
  57 + moc_chatwidget.cpp
58 OBJECTS = main.o \ 58 OBJECTS = main.o \
59 chatwindow.o \ 59 chatwindow.o \
60 loginscreen.o \ 60 loginscreen.o \
61 - chatroomselect.o \  
62 chatroom.o \ 61 chatroom.o \
63 Socket.o \ 62 Socket.o \
64 client.o \ 63 client.o \
  64 + chatwidget.o \
65 moc_chatwindow.o \ 65 moc_chatwindow.o \
66 moc_loginscreen.o \ 66 moc_loginscreen.o \
67 - moc_chatroomselect.o \  
68 - moc_chatroom.o 67 + moc_chatroom.o \
  68 + moc_chatwidget.o
69 DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \ 69 DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \
70 /usr/share/qt5/mkspecs/common/shell-unix.conf \ 70 /usr/share/qt5/mkspecs/common/shell-unix.conf \
71 /usr/share/qt5/mkspecs/common/unix.conf \ 71 /usr/share/qt5/mkspecs/common/unix.conf \
@@ -84,14 +84,8 @@ DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \ @@ -84,14 +84,8 @@ DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \
84 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \ 84 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
85 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \ 85 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
86 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \ 86 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
87 - /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \  
88 - /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \  
89 - /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \  
90 - /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \  
91 - /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \  
92 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \ 87 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
93 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \ 88 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
94 - /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \  
95 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \ 89 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
96 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \ 90 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
97 /usr/share/qt5/mkspecs/features/qt_functions.prf \ 91 /usr/share/qt5/mkspecs/features/qt_functions.prf \
@@ -101,9 +95,8 @@ DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \ @@ -101,9 +95,8 @@ DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \
101 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \ 95 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
102 /usr/share/qt5/mkspecs/features/default_pre.prf \ 96 /usr/share/qt5/mkspecs/features/default_pre.prf \
103 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \ 97 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
104 - /usr/share/qt5/mkspecs/features/debug.prf \ 98 + /usr/share/qt5/mkspecs/features/resolve_config.prf \
105 /usr/share/qt5/mkspecs/features/default_post.prf \ 99 /usr/share/qt5/mkspecs/features/default_post.prf \
106 - /usr/share/qt5/mkspecs/features/shared.prf \  
107 /usr/share/qt5/mkspecs/features/qml_debug.prf \ 100 /usr/share/qt5/mkspecs/features/qml_debug.prf \
108 /usr/share/qt5/mkspecs/features/declarative_debug.prf \ 101 /usr/share/qt5/mkspecs/features/declarative_debug.prf \
109 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \ 102 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
@@ -150,7 +143,7 @@ first: all @@ -150,7 +143,7 @@ first: all
150 143
151 all: Makefile $(TARGET) 144 all: Makefile $(TARGET)
152 145
153 -$(TARGET): ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h $(OBJECTS) 146 +$(TARGET): ui_chatwindow.h ui_loginscreen.h ui_chatroom.h $(OBJECTS)
154 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) 147 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
155 { test -n "$(DESTDIR)" && DESTDIR="$(DESTDIR)" || DESTDIR=.; } && test $$(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $$DESTDIR" -ex quit '$(TARGET)' && test -f $(TARGET).gdb-index && objcopy --add-section '.gdb_index=$(TARGET).gdb-index' --set-section-flags '.gdb_index=readonly' '$(TARGET)' '$(TARGET)' && rm -f $(TARGET).gdb-index || true 148 { test -n "$(DESTDIR)" && DESTDIR="$(DESTDIR)" || DESTDIR=.; } && test $$(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $$DESTDIR" -ex quit '$(TARGET)' && test -f $(TARGET).gdb-index && objcopy --add-section '.gdb_index=$(TARGET).gdb-index' --set-section-flags '.gdb_index=readonly' '$(TARGET)' '$(TARGET)' && rm -f $(TARGET).gdb-index || true
156 149
@@ -172,14 +165,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma @@ -172,14 +165,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma
172 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \ 165 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
173 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \ 166 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
174 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \ 167 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
175 - /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \  
176 - /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \  
177 - /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \  
178 - /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \  
179 - /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \  
180 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \ 168 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
181 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \ 169 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
182 - /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \  
183 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \ 170 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
184 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \ 171 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
185 /usr/share/qt5/mkspecs/features/qt_functions.prf \ 172 /usr/share/qt5/mkspecs/features/qt_functions.prf \
@@ -189,9 +176,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma @@ -189,9 +176,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma
189 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \ 176 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
190 /usr/share/qt5/mkspecs/features/default_pre.prf \ 177 /usr/share/qt5/mkspecs/features/default_pre.prf \
191 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \ 178 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
192 - /usr/share/qt5/mkspecs/features/debug.prf \ 179 + /usr/share/qt5/mkspecs/features/resolve_config.prf \
193 /usr/share/qt5/mkspecs/features/default_post.prf \ 180 /usr/share/qt5/mkspecs/features/default_post.prf \
194 - /usr/share/qt5/mkspecs/features/shared.prf \  
195 /usr/share/qt5/mkspecs/features/qml_debug.prf \ 181 /usr/share/qt5/mkspecs/features/qml_debug.prf \
196 /usr/share/qt5/mkspecs/features/declarative_debug.prf \ 182 /usr/share/qt5/mkspecs/features/declarative_debug.prf \
197 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \ 183 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
@@ -230,14 +216,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma @@ -230,14 +216,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma
230 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri: 216 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri:
231 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri: 217 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri:
232 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri: 218 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri:
233 -/usr/share/qt5/mkspecs/modules/qt_lib_qml.pri:  
234 -/usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri:  
235 -/usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri:  
236 -/usr/share/qt5/mkspecs/modules/qt_lib_quick.pri:  
237 -/usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri:  
238 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri: 219 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri:
239 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri: 220 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri:
240 -/usr/share/qt5/mkspecs/modules/qt_lib_v8.pri:  
241 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri: 221 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri:
242 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri: 222 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri:
243 /usr/share/qt5/mkspecs/features/qt_functions.prf: 223 /usr/share/qt5/mkspecs/features/qt_functions.prf:
@@ -247,9 +227,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma @@ -247,9 +227,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma
247 /usr/share/qt5/mkspecs/features/exclusive_builds.prf: 227 /usr/share/qt5/mkspecs/features/exclusive_builds.prf:
248 /usr/share/qt5/mkspecs/features/default_pre.prf: 228 /usr/share/qt5/mkspecs/features/default_pre.prf:
249 /usr/share/qt5/mkspecs/features/unix/default_pre.prf: 229 /usr/share/qt5/mkspecs/features/unix/default_pre.prf:
250 -/usr/share/qt5/mkspecs/features/debug.prf: 230 +/usr/share/qt5/mkspecs/features/resolve_config.prf:
251 /usr/share/qt5/mkspecs/features/default_post.prf: 231 /usr/share/qt5/mkspecs/features/default_post.prf:
252 -/usr/share/qt5/mkspecs/features/shared.prf:  
253 /usr/share/qt5/mkspecs/features/qml_debug.prf: 232 /usr/share/qt5/mkspecs/features/qml_debug.prf:
254 /usr/share/qt5/mkspecs/features/declarative_debug.prf: 233 /usr/share/qt5/mkspecs/features/declarative_debug.prf:
255 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf: 234 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
@@ -275,8 +254,8 @@ qmake: FORCE @@ -275,8 +254,8 @@ qmake: FORCE
275 qmake_all: FORCE 254 qmake_all: FORCE
276 255
277 dist: 256 dist:
278 - @test -d .tmp/QChatClient1.0.0 || $(MKDIR) .tmp/QChatClient1.0.0  
279 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.h ../QChatClient/loginscreen.h ../QChatClient/chatroomselect.h ../QChatClient/chatroom.h ../QChatClient/SocketException.h ../QChatClient/Socket.h ../QChatClient/client.h .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/main.cpp ../QChatClient/chatwindow.cpp ../QChatClient/loginscreen.cpp ../QChatClient/chatroomselect.cpp ../QChatClient/chatroom.cpp ../QChatClient/Socket.cpp ../QChatClient/client.cpp .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.ui ../QChatClient/loginscreen.ui ../QChatClient/chatroomselect.ui ../QChatClient/chatroom.ui .tmp/QChatClient1.0.0/ && (cd `dirname .tmp/QChatClient1.0.0` && $(TAR) QChatClient1.0.0.tar QChatClient1.0.0 && $(COMPRESS) QChatClient1.0.0.tar) && $(MOVE) `dirname .tmp/QChatClient1.0.0`/QChatClient1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/QChatClient1.0.0 257 + @test -d .tmp/QChatClient1.0.0 || mkdir -p .tmp/QChatClient1.0.0
  258 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.h ../QChatClient/loginscreen.h ../QChatClient/chatroom.h ../QChatClient/SocketException.h ../QChatClient/Socket.h ../QChatClient/client.h ../QChatClient/chatwidget.h .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/main.cpp ../QChatClient/chatwindow.cpp ../QChatClient/loginscreen.cpp ../QChatClient/chatroom.cpp ../QChatClient/Socket.cpp ../QChatClient/client.cpp ../QChatClient/chatwidget.cpp .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.ui ../QChatClient/loginscreen.ui ../QChatClient/chatroom.ui .tmp/QChatClient1.0.0/ && (cd `dirname .tmp/QChatClient1.0.0` && $(TAR) QChatClient1.0.0.tar QChatClient1.0.0 && $(COMPRESS) QChatClient1.0.0.tar) && $(MOVE) `dirname .tmp/QChatClient1.0.0`/QChatClient1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/QChatClient1.0.0
280 259
281 260
282 clean:compiler_clean 261 clean:compiler_clean
@@ -303,9 +282,9 @@ compiler_wayland-server-header_make_all: @@ -303,9 +282,9 @@ compiler_wayland-server-header_make_all:
303 compiler_wayland-server-header_clean: 282 compiler_wayland-server-header_clean:
304 compiler_wayland-client-header_make_all: 283 compiler_wayland-client-header_make_all:
305 compiler_wayland-client-header_clean: 284 compiler_wayland-client-header_clean:
306 -compiler_moc_header_make_all: moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp 285 +compiler_moc_header_make_all: moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroom.cpp moc_chatwidget.cpp
307 compiler_moc_header_clean: 286 compiler_moc_header_clean:
308 - -$(DEL_FILE) moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp 287 + -$(DEL_FILE) moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroom.cpp moc_chatwidget.cpp
309 moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ 288 moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
310 /usr/include/qt5/QtWidgets/qmainwindow.h \ 289 /usr/include/qt5/QtWidgets/qmainwindow.h \
311 /usr/include/qt5/QtWidgets/qwidget.h \ 290 /usr/include/qt5/QtWidgets/qwidget.h \
@@ -339,6 +318,7 @@ moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ @@ -339,6 +318,7 @@ moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
339 /usr/include/qt5/QtCore/qoldbasicatomic.h \ 318 /usr/include/qt5/QtCore/qoldbasicatomic.h \
340 /usr/include/qt5/QtCore/qatomic_vxworks.h \ 319 /usr/include/qt5/QtCore/qatomic_vxworks.h \
341 /usr/include/qt5/QtCore/qatomic_power.h \ 320 /usr/include/qt5/QtCore/qatomic_power.h \
  321 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
342 /usr/include/qt5/QtCore/qatomic_alpha.h \ 322 /usr/include/qt5/QtCore/qatomic_alpha.h \
343 /usr/include/qt5/QtCore/qatomic_armv7.h \ 323 /usr/include/qt5/QtCore/qatomic_armv7.h \
344 /usr/include/qt5/QtCore/qatomic_armv6.h \ 324 /usr/include/qt5/QtCore/qatomic_armv6.h \
@@ -451,6 +431,7 @@ moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \ @@ -451,6 +431,7 @@ moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \
451 /usr/include/qt5/QtCore/qoldbasicatomic.h \ 431 /usr/include/qt5/QtCore/qoldbasicatomic.h \
452 /usr/include/qt5/QtCore/qatomic_vxworks.h \ 432 /usr/include/qt5/QtCore/qatomic_vxworks.h \
453 /usr/include/qt5/QtCore/qatomic_power.h \ 433 /usr/include/qt5/QtCore/qatomic_power.h \
  434 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
454 /usr/include/qt5/QtCore/qatomic_alpha.h \ 435 /usr/include/qt5/QtCore/qatomic_alpha.h \
455 /usr/include/qt5/QtCore/qatomic_armv7.h \ 436 /usr/include/qt5/QtCore/qatomic_armv7.h \
456 /usr/include/qt5/QtCore/qatomic_armv6.h \ 437 /usr/include/qt5/QtCore/qatomic_armv6.h \
@@ -525,11 +506,13 @@ moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \ @@ -525,11 +506,13 @@ moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \
525 /usr/include/qt5/QtCore/qfiledevice.h \ 506 /usr/include/qt5/QtCore/qfiledevice.h \
526 /usr/include/qt5/QtGui/qvector2d.h \ 507 /usr/include/qt5/QtGui/qvector2d.h \
527 /usr/include/qt5/QtGui/qtouchdevice.h \ 508 /usr/include/qt5/QtGui/qtouchdevice.h \
  509 + ../QChatClient/Socket.h \
  510 + ../QChatClient/SocketException.h \
528 ../QChatClient/loginscreen.h 511 ../QChatClient/loginscreen.h
529 /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/loginscreen.h -o moc_loginscreen.cpp 512 /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/loginscreen.h -o moc_loginscreen.cpp
530 513
531 -moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \  
532 - /usr/include/qt5/QtWidgets/qdialog.h \ 514 +moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
  515 + /usr/include/qt5/QtWidgets/qmainwindow.h \
533 /usr/include/qt5/QtWidgets/qwidget.h \ 516 /usr/include/qt5/QtWidgets/qwidget.h \
534 /usr/include/qt5/QtGui/qwindowdefs.h \ 517 /usr/include/qt5/QtGui/qwindowdefs.h \
535 /usr/include/qt5/QtCore/qglobal.h \ 518 /usr/include/qt5/QtCore/qglobal.h \
@@ -561,6 +544,7 @@ moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \ @@ -561,6 +544,7 @@ moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \
561 /usr/include/qt5/QtCore/qoldbasicatomic.h \ 544 /usr/include/qt5/QtCore/qoldbasicatomic.h \
562 /usr/include/qt5/QtCore/qatomic_vxworks.h \ 545 /usr/include/qt5/QtCore/qatomic_vxworks.h \
563 /usr/include/qt5/QtCore/qatomic_power.h \ 546 /usr/include/qt5/QtCore/qatomic_power.h \
  547 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
564 /usr/include/qt5/QtCore/qatomic_alpha.h \ 548 /usr/include/qt5/QtCore/qatomic_alpha.h \
565 /usr/include/qt5/QtCore/qatomic_armv7.h \ 549 /usr/include/qt5/QtCore/qatomic_armv7.h \
566 /usr/include/qt5/QtCore/qatomic_armv6.h \ 550 /usr/include/qt5/QtCore/qatomic_armv6.h \
@@ -635,11 +619,17 @@ moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \ @@ -635,11 +619,17 @@ moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \
635 /usr/include/qt5/QtCore/qfiledevice.h \ 619 /usr/include/qt5/QtCore/qfiledevice.h \
636 /usr/include/qt5/QtGui/qvector2d.h \ 620 /usr/include/qt5/QtGui/qvector2d.h \
637 /usr/include/qt5/QtGui/qtouchdevice.h \ 621 /usr/include/qt5/QtGui/qtouchdevice.h \
638 - ../QChatClient/chatroomselect.h  
639 - /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroomselect.h -o moc_chatroomselect.cpp 622 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  623 + /usr/include/qt5/QtGui/qicon.h \
  624 + ../QChatClient/Socket.h \
  625 + ../QChatClient/SocketException.h \
  626 + ../QChatClient/chatroom.h
  627 + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroom.h -o moc_chatroom.cpp
640 628
641 -moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \  
642 - /usr/include/qt5/QtWidgets/qmainwindow.h \ 629 +moc_chatwidget.cpp: /usr/include/qt5/QtWidgets/QTextEdit \
  630 + /usr/include/qt5/QtWidgets/qtextedit.h \
  631 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  632 + /usr/include/qt5/QtWidgets/qframe.h \
643 /usr/include/qt5/QtWidgets/qwidget.h \ 633 /usr/include/qt5/QtWidgets/qwidget.h \
644 /usr/include/qt5/QtGui/qwindowdefs.h \ 634 /usr/include/qt5/QtGui/qwindowdefs.h \
645 /usr/include/qt5/QtCore/qglobal.h \ 635 /usr/include/qt5/QtCore/qglobal.h \
@@ -671,6 +661,7 @@ moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ @@ -671,6 +661,7 @@ moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
671 /usr/include/qt5/QtCore/qoldbasicatomic.h \ 661 /usr/include/qt5/QtCore/qoldbasicatomic.h \
672 /usr/include/qt5/QtCore/qatomic_vxworks.h \ 662 /usr/include/qt5/QtCore/qatomic_vxworks.h \
673 /usr/include/qt5/QtCore/qatomic_power.h \ 663 /usr/include/qt5/QtCore/qatomic_power.h \
  664 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
674 /usr/include/qt5/QtCore/qatomic_alpha.h \ 665 /usr/include/qt5/QtCore/qatomic_alpha.h \
675 /usr/include/qt5/QtCore/qatomic_armv7.h \ 666 /usr/include/qt5/QtCore/qatomic_armv7.h \
676 /usr/include/qt5/QtCore/qatomic_armv6.h \ 667 /usr/include/qt5/QtCore/qatomic_armv6.h \
@@ -745,28 +736,260 @@ moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \ @@ -745,28 +736,260 @@ moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
745 /usr/include/qt5/QtCore/qfiledevice.h \ 736 /usr/include/qt5/QtCore/qfiledevice.h \
746 /usr/include/qt5/QtGui/qvector2d.h \ 737 /usr/include/qt5/QtGui/qvector2d.h \
747 /usr/include/qt5/QtGui/qtouchdevice.h \ 738 /usr/include/qt5/QtGui/qtouchdevice.h \
748 - /usr/include/qt5/QtWidgets/qtabwidget.h \  
749 - /usr/include/qt5/QtGui/qicon.h \  
750 - ../QChatClient/chatroom.h  
751 - /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroom.h -o moc_chatroom.cpp 739 + /usr/include/qt5/QtGui/qtextdocument.h \
  740 + /usr/include/qt5/QtGui/qtextoption.h \
  741 + /usr/include/qt5/QtGui/qtextcursor.h \
  742 + /usr/include/qt5/QtGui/qtextformat.h \
  743 + /usr/include/qt5/QtGui/qpen.h \
  744 + ../QChatClient/chatwidget.h
  745 + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatwidget.h -o moc_chatwidget.cpp
752 746
753 compiler_wayland-code_make_all: 747 compiler_wayland-code_make_all:
754 compiler_wayland-code_clean: 748 compiler_wayland-code_clean:
755 compiler_moc_source_make_all: 749 compiler_moc_source_make_all:
756 compiler_moc_source_clean: 750 compiler_moc_source_clean:
757 -compiler_uic_make_all: ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h 751 +compiler_uic_make_all: ui_chatwindow.h ui_loginscreen.h ui_chatroom.h
758 compiler_uic_clean: 752 compiler_uic_clean:
759 - -$(DEL_FILE) ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h  
760 -ui_chatwindow.h: ../QChatClient/chatwindow.ui 753 + -$(DEL_FILE) ui_chatwindow.h ui_loginscreen.h ui_chatroom.h
  754 +ui_chatwindow.h: ../QChatClient/chatwindow.ui \
  755 + ../QChatClient/chatwidget.h \
  756 + /usr/include/qt5/QtWidgets/QTextEdit \
  757 + /usr/include/qt5/QtWidgets/qtextedit.h \
  758 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  759 + /usr/include/qt5/QtWidgets/qframe.h \
  760 + /usr/include/qt5/QtWidgets/qwidget.h \
  761 + /usr/include/qt5/QtGui/qwindowdefs.h \
  762 + /usr/include/qt5/QtCore/qglobal.h \
  763 + /usr/include/qt5/QtCore/qconfig.h \
  764 + /usr/include/qt5/QtCore/qfeatures.h \
  765 + /usr/include/qt5/QtCore/qsystemdetection.h \
  766 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  767 + /usr/include/qt5/QtCore/qprocessordetection.h \
  768 + /usr/include/qt5/QtCore/qlogging.h \
  769 + /usr/include/qt5/QtCore/qflags.h \
  770 + /usr/include/qt5/QtCore/qtypeinfo.h \
  771 + /usr/include/qt5/QtCore/qtypetraits.h \
  772 + /usr/include/qt5/QtCore/qsysinfo.h \
  773 + /usr/include/qt5/QtCore/qobjectdefs.h \
  774 + /usr/include/qt5/QtCore/qnamespace.h \
  775 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  776 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  777 + /usr/include/qt5/QtCore/qobject.h \
  778 + /usr/include/qt5/QtCore/qstring.h \
  779 + /usr/include/qt5/QtCore/qchar.h \
  780 + /usr/include/qt5/QtCore/qbytearray.h \
  781 + /usr/include/qt5/QtCore/qrefcount.h \
  782 + /usr/include/qt5/QtCore/qatomic.h \
  783 + /usr/include/qt5/QtCore/qbasicatomic.h \
  784 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  785 + /usr/include/qt5/QtCore/qgenericatomic.h \
  786 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  787 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  788 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  789 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  790 + /usr/include/qt5/QtCore/qatomic_power.h \
  791 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  792 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  793 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  794 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  795 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  796 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  797 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  798 + /usr/include/qt5/QtCore/qatomic_mips.h \
  799 + /usr/include/qt5/QtCore/qatomic_s390.h \
  800 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  801 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  802 + /usr/include/qt5/QtCore/qatomic_x86.h \
  803 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  804 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  805 + /usr/include/qt5/QtCore/qatomic_unix.h \
  806 + /usr/include/qt5/QtCore/qarraydata.h \
  807 + /usr/include/qt5/QtCore/qstringbuilder.h \
  808 + /usr/include/qt5/QtCore/qlist.h \
  809 + /usr/include/qt5/QtCore/qalgorithms.h \
  810 + /usr/include/qt5/QtCore/qiterator.h \
  811 + /usr/include/qt5/QtCore/qcoreevent.h \
  812 + /usr/include/qt5/QtCore/qscopedpointer.h \
  813 + /usr/include/qt5/QtCore/qmetatype.h \
  814 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  815 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  816 + /usr/include/qt5/QtCore/qisenum.h \
  817 + /usr/include/qt5/QtCore/qobject_impl.h \
  818 + /usr/include/qt5/QtCore/qmargins.h \
  819 + /usr/include/qt5/QtGui/qpaintdevice.h \
  820 + /usr/include/qt5/QtCore/qrect.h \
  821 + /usr/include/qt5/QtCore/qsize.h \
  822 + /usr/include/qt5/QtCore/qpoint.h \
  823 + /usr/include/qt5/QtGui/qpalette.h \
  824 + /usr/include/qt5/QtGui/qcolor.h \
  825 + /usr/include/qt5/QtGui/qrgb.h \
  826 + /usr/include/qt5/QtCore/qstringlist.h \
  827 + /usr/include/qt5/QtCore/qdatastream.h \
  828 + /usr/include/qt5/QtCore/qiodevice.h \
  829 + /usr/include/qt5/QtCore/qpair.h \
  830 + /usr/include/qt5/QtCore/qregexp.h \
  831 + /usr/include/qt5/QtCore/qstringmatcher.h \
  832 + /usr/include/qt5/QtGui/qbrush.h \
  833 + /usr/include/qt5/QtCore/qvector.h \
  834 + /usr/include/qt5/QtGui/qmatrix.h \
  835 + /usr/include/qt5/QtGui/qpolygon.h \
  836 + /usr/include/qt5/QtGui/qregion.h \
  837 + /usr/include/qt5/QtCore/qline.h \
  838 + /usr/include/qt5/QtGui/qtransform.h \
  839 + /usr/include/qt5/QtGui/qpainterpath.h \
  840 + /usr/include/qt5/QtGui/qimage.h \
  841 + /usr/include/qt5/QtGui/qpixmap.h \
  842 + /usr/include/qt5/QtCore/qsharedpointer.h \
  843 + /usr/include/qt5/QtCore/qshareddata.h \
  844 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  845 + /usr/include/qt5/QtCore/qhash.h \
  846 + /usr/include/qt5/QtGui/qfont.h \
  847 + /usr/include/qt5/QtGui/qfontmetrics.h \
  848 + /usr/include/qt5/QtGui/qfontinfo.h \
  849 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  850 + /usr/include/qt5/QtGui/qcursor.h \
  851 + /usr/include/qt5/QtGui/qkeysequence.h \
  852 + /usr/include/qt5/QtGui/qevent.h \
  853 + /usr/include/qt5/QtCore/qvariant.h \
  854 + /usr/include/qt5/QtCore/qmap.h \
  855 + /usr/include/qt5/QtCore/qdebug.h \
  856 + /usr/include/qt5/QtCore/qtextstream.h \
  857 + /usr/include/qt5/QtCore/qlocale.h \
  858 + /usr/include/qt5/QtCore/qset.h \
  859 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  860 + /usr/include/qt5/QtCore/qurl.h \
  861 + /usr/include/qt5/QtCore/qurlquery.h \
  862 + /usr/include/qt5/QtCore/qfile.h \
  863 + /usr/include/qt5/QtCore/qfiledevice.h \
  864 + /usr/include/qt5/QtGui/qvector2d.h \
  865 + /usr/include/qt5/QtGui/qtouchdevice.h \
  866 + /usr/include/qt5/QtGui/qtextdocument.h \
  867 + /usr/include/qt5/QtGui/qtextoption.h \
  868 + /usr/include/qt5/QtGui/qtextcursor.h \
  869 + /usr/include/qt5/QtGui/qtextformat.h \
  870 + /usr/include/qt5/QtGui/qpen.h
761 /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatwindow.ui -o ui_chatwindow.h 871 /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatwindow.ui -o ui_chatwindow.h
762 872
763 ui_loginscreen.h: ../QChatClient/loginscreen.ui 873 ui_loginscreen.h: ../QChatClient/loginscreen.ui
764 /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/loginscreen.ui -o ui_loginscreen.h 874 /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/loginscreen.ui -o ui_loginscreen.h
765 875
766 -ui_chatroomselect.h: ../QChatClient/chatroomselect.ui  
767 - /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroomselect.ui -o ui_chatroomselect.h  
768 -  
769 -ui_chatroom.h: ../QChatClient/chatroom.ui 876 +ui_chatroom.h: ../QChatClient/chatroom.ui \
  877 + ../QChatClient/chatwidget.h \
  878 + /usr/include/qt5/QtWidgets/QTextEdit \
  879 + /usr/include/qt5/QtWidgets/qtextedit.h \
  880 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  881 + /usr/include/qt5/QtWidgets/qframe.h \
  882 + /usr/include/qt5/QtWidgets/qwidget.h \
  883 + /usr/include/qt5/QtGui/qwindowdefs.h \
  884 + /usr/include/qt5/QtCore/qglobal.h \
  885 + /usr/include/qt5/QtCore/qconfig.h \
  886 + /usr/include/qt5/QtCore/qfeatures.h \
  887 + /usr/include/qt5/QtCore/qsystemdetection.h \
  888 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  889 + /usr/include/qt5/QtCore/qprocessordetection.h \
  890 + /usr/include/qt5/QtCore/qlogging.h \
  891 + /usr/include/qt5/QtCore/qflags.h \
  892 + /usr/include/qt5/QtCore/qtypeinfo.h \
  893 + /usr/include/qt5/QtCore/qtypetraits.h \
  894 + /usr/include/qt5/QtCore/qsysinfo.h \
  895 + /usr/include/qt5/QtCore/qobjectdefs.h \
  896 + /usr/include/qt5/QtCore/qnamespace.h \
  897 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  898 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  899 + /usr/include/qt5/QtCore/qobject.h \
  900 + /usr/include/qt5/QtCore/qstring.h \
  901 + /usr/include/qt5/QtCore/qchar.h \
  902 + /usr/include/qt5/QtCore/qbytearray.h \
  903 + /usr/include/qt5/QtCore/qrefcount.h \
  904 + /usr/include/qt5/QtCore/qatomic.h \
  905 + /usr/include/qt5/QtCore/qbasicatomic.h \
  906 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  907 + /usr/include/qt5/QtCore/qgenericatomic.h \
  908 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  909 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  910 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  911 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  912 + /usr/include/qt5/QtCore/qatomic_power.h \
  913 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  914 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  915 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  916 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  917 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  918 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  919 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  920 + /usr/include/qt5/QtCore/qatomic_mips.h \
  921 + /usr/include/qt5/QtCore/qatomic_s390.h \
  922 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  923 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  924 + /usr/include/qt5/QtCore/qatomic_x86.h \
  925 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  926 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  927 + /usr/include/qt5/QtCore/qatomic_unix.h \
  928 + /usr/include/qt5/QtCore/qarraydata.h \
  929 + /usr/include/qt5/QtCore/qstringbuilder.h \
  930 + /usr/include/qt5/QtCore/qlist.h \
  931 + /usr/include/qt5/QtCore/qalgorithms.h \
  932 + /usr/include/qt5/QtCore/qiterator.h \
  933 + /usr/include/qt5/QtCore/qcoreevent.h \
  934 + /usr/include/qt5/QtCore/qscopedpointer.h \
  935 + /usr/include/qt5/QtCore/qmetatype.h \
  936 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  937 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  938 + /usr/include/qt5/QtCore/qisenum.h \
  939 + /usr/include/qt5/QtCore/qobject_impl.h \
  940 + /usr/include/qt5/QtCore/qmargins.h \
  941 + /usr/include/qt5/QtGui/qpaintdevice.h \
  942 + /usr/include/qt5/QtCore/qrect.h \
  943 + /usr/include/qt5/QtCore/qsize.h \
  944 + /usr/include/qt5/QtCore/qpoint.h \
  945 + /usr/include/qt5/QtGui/qpalette.h \
  946 + /usr/include/qt5/QtGui/qcolor.h \
  947 + /usr/include/qt5/QtGui/qrgb.h \
  948 + /usr/include/qt5/QtCore/qstringlist.h \
  949 + /usr/include/qt5/QtCore/qdatastream.h \
  950 + /usr/include/qt5/QtCore/qiodevice.h \
  951 + /usr/include/qt5/QtCore/qpair.h \
  952 + /usr/include/qt5/QtCore/qregexp.h \
  953 + /usr/include/qt5/QtCore/qstringmatcher.h \
  954 + /usr/include/qt5/QtGui/qbrush.h \
  955 + /usr/include/qt5/QtCore/qvector.h \
  956 + /usr/include/qt5/QtGui/qmatrix.h \
  957 + /usr/include/qt5/QtGui/qpolygon.h \
  958 + /usr/include/qt5/QtGui/qregion.h \
  959 + /usr/include/qt5/QtCore/qline.h \
  960 + /usr/include/qt5/QtGui/qtransform.h \
  961 + /usr/include/qt5/QtGui/qpainterpath.h \
  962 + /usr/include/qt5/QtGui/qimage.h \
  963 + /usr/include/qt5/QtGui/qpixmap.h \
  964 + /usr/include/qt5/QtCore/qsharedpointer.h \
  965 + /usr/include/qt5/QtCore/qshareddata.h \
  966 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  967 + /usr/include/qt5/QtCore/qhash.h \
  968 + /usr/include/qt5/QtGui/qfont.h \
  969 + /usr/include/qt5/QtGui/qfontmetrics.h \
  970 + /usr/include/qt5/QtGui/qfontinfo.h \
  971 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  972 + /usr/include/qt5/QtGui/qcursor.h \
  973 + /usr/include/qt5/QtGui/qkeysequence.h \
  974 + /usr/include/qt5/QtGui/qevent.h \
  975 + /usr/include/qt5/QtCore/qvariant.h \
  976 + /usr/include/qt5/QtCore/qmap.h \
  977 + /usr/include/qt5/QtCore/qdebug.h \
  978 + /usr/include/qt5/QtCore/qtextstream.h \
  979 + /usr/include/qt5/QtCore/qlocale.h \
  980 + /usr/include/qt5/QtCore/qset.h \
  981 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  982 + /usr/include/qt5/QtCore/qurl.h \
  983 + /usr/include/qt5/QtCore/qurlquery.h \
  984 + /usr/include/qt5/QtCore/qfile.h \
  985 + /usr/include/qt5/QtCore/qfiledevice.h \
  986 + /usr/include/qt5/QtGui/qvector2d.h \
  987 + /usr/include/qt5/QtGui/qtouchdevice.h \
  988 + /usr/include/qt5/QtGui/qtextdocument.h \
  989 + /usr/include/qt5/QtGui/qtextoption.h \
  990 + /usr/include/qt5/QtGui/qtextcursor.h \
  991 + /usr/include/qt5/QtGui/qtextformat.h \
  992 + /usr/include/qt5/QtGui/qpen.h
770 /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroom.ui -o ui_chatroom.h 993 /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroom.ui -o ui_chatroom.h
771 994
772 compiler_yacc_decl_make_all: 995 compiler_yacc_decl_make_all:
@@ -813,6 +1036,7 @@ main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \ @@ -813,6 +1036,7 @@ main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \
813 /usr/include/qt5/QtCore/qoldbasicatomic.h \ 1036 /usr/include/qt5/QtCore/qoldbasicatomic.h \
814 /usr/include/qt5/QtCore/qatomic_vxworks.h \ 1037 /usr/include/qt5/QtCore/qatomic_vxworks.h \
815 /usr/include/qt5/QtCore/qatomic_power.h \ 1038 /usr/include/qt5/QtCore/qatomic_power.h \
  1039 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
816 /usr/include/qt5/QtCore/qatomic_alpha.h \ 1040 /usr/include/qt5/QtCore/qatomic_alpha.h \
817 /usr/include/qt5/QtCore/qatomic_armv7.h \ 1041 /usr/include/qt5/QtCore/qatomic_armv7.h \
818 /usr/include/qt5/QtCore/qatomic_armv6.h \ 1042 /usr/include/qt5/QtCore/qatomic_armv6.h \
@@ -887,6 +1111,8 @@ main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \ @@ -887,6 +1111,8 @@ main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \
887 /usr/include/qt5/QtCore/qfiledevice.h \ 1111 /usr/include/qt5/QtCore/qfiledevice.h \
888 /usr/include/qt5/QtGui/qvector2d.h \ 1112 /usr/include/qt5/QtGui/qvector2d.h \
889 /usr/include/qt5/QtGui/qtouchdevice.h \ 1113 /usr/include/qt5/QtGui/qtouchdevice.h \
  1114 + ../QChatClient/Socket.h \
  1115 + ../QChatClient/SocketException.h \
890 ../QChatClient/chatroom.h \ 1116 ../QChatClient/chatroom.h \
891 /usr/include/qt5/QtWidgets/QMainWindow \ 1117 /usr/include/qt5/QtWidgets/QMainWindow \
892 /usr/include/qt5/QtWidgets/qmainwindow.h \ 1118 /usr/include/qt5/QtWidgets/qmainwindow.h \
@@ -936,6 +1162,7 @@ chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \ @@ -936,6 +1162,7 @@ chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \
936 /usr/include/qt5/QtCore/qoldbasicatomic.h \ 1162 /usr/include/qt5/QtCore/qoldbasicatomic.h \
937 /usr/include/qt5/QtCore/qatomic_vxworks.h \ 1163 /usr/include/qt5/QtCore/qatomic_vxworks.h \
938 /usr/include/qt5/QtCore/qatomic_power.h \ 1164 /usr/include/qt5/QtCore/qatomic_power.h \
  1165 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
939 /usr/include/qt5/QtCore/qatomic_alpha.h \ 1166 /usr/include/qt5/QtCore/qatomic_alpha.h \
940 /usr/include/qt5/QtCore/qatomic_armv7.h \ 1167 /usr/include/qt5/QtCore/qatomic_armv7.h \
941 /usr/include/qt5/QtCore/qatomic_armv6.h \ 1168 /usr/include/qt5/QtCore/qatomic_armv6.h \
@@ -1052,16 +1279,15 @@ chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \ @@ -1052,16 +1279,15 @@ chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \
1052 /usr/include/qt5/QtWidgets/qmenu.h \ 1279 /usr/include/qt5/QtWidgets/qmenu.h \
1053 /usr/include/qt5/QtWidgets/QSplitter \ 1280 /usr/include/qt5/QtWidgets/QSplitter \
1054 /usr/include/qt5/QtWidgets/qsplitter.h \ 1281 /usr/include/qt5/QtWidgets/qsplitter.h \
1055 - /usr/include/qt5/QtWidgets/QTextBrowser \  
1056 - /usr/include/qt5/QtWidgets/qtextbrowser.h \ 1282 + /usr/include/qt5/QtWidgets/QTextEdit \
1057 /usr/include/qt5/QtWidgets/qtextedit.h \ 1283 /usr/include/qt5/QtWidgets/qtextedit.h \
1058 /usr/include/qt5/QtGui/qtextdocument.h \ 1284 /usr/include/qt5/QtGui/qtextdocument.h \
1059 /usr/include/qt5/QtGui/qtextoption.h \ 1285 /usr/include/qt5/QtGui/qtextoption.h \
1060 /usr/include/qt5/QtGui/qtextcursor.h \ 1286 /usr/include/qt5/QtGui/qtextcursor.h \
1061 /usr/include/qt5/QtGui/qtextformat.h \ 1287 /usr/include/qt5/QtGui/qtextformat.h \
1062 /usr/include/qt5/QtGui/qpen.h \ 1288 /usr/include/qt5/QtGui/qpen.h \
1063 - /usr/include/qt5/QtWidgets/QTextEdit \  
1064 - /usr/include/qt5/QtWidgets/QWidget 1289 + /usr/include/qt5/QtWidgets/QWidget \
  1290 + ../QChatClient/chatwidget.h
1065 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatwindow.o ../QChatClient/chatwindow.cpp 1291 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatwindow.o ../QChatClient/chatwindow.cpp
1066 1292
1067 loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ 1293 loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
@@ -1098,6 +1324,7 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ @@ -1098,6 +1324,7 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1098 /usr/include/qt5/QtCore/qoldbasicatomic.h \ 1324 /usr/include/qt5/QtCore/qoldbasicatomic.h \
1099 /usr/include/qt5/QtCore/qatomic_vxworks.h \ 1325 /usr/include/qt5/QtCore/qatomic_vxworks.h \
1100 /usr/include/qt5/QtCore/qatomic_power.h \ 1326 /usr/include/qt5/QtCore/qatomic_power.h \
  1327 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
1101 /usr/include/qt5/QtCore/qatomic_alpha.h \ 1328 /usr/include/qt5/QtCore/qatomic_alpha.h \
1102 /usr/include/qt5/QtCore/qatomic_armv7.h \ 1329 /usr/include/qt5/QtCore/qatomic_armv7.h \
1103 /usr/include/qt5/QtCore/qatomic_armv6.h \ 1330 /usr/include/qt5/QtCore/qatomic_armv6.h \
@@ -1172,6 +1399,8 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ @@ -1172,6 +1399,8 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1172 /usr/include/qt5/QtCore/qfiledevice.h \ 1399 /usr/include/qt5/QtCore/qfiledevice.h \
1173 /usr/include/qt5/QtGui/qvector2d.h \ 1400 /usr/include/qt5/QtGui/qvector2d.h \
1174 /usr/include/qt5/QtGui/qtouchdevice.h \ 1401 /usr/include/qt5/QtGui/qtouchdevice.h \
  1402 + ../QChatClient/Socket.h \
  1403 + ../QChatClient/SocketException.h \
1175 ui_loginscreen.h \ 1404 ui_loginscreen.h \
1176 /usr/include/qt5/QtCore/QVariant \ 1405 /usr/include/qt5/QtCore/QVariant \
1177 /usr/include/qt5/QtWidgets/QAction \ 1406 /usr/include/qt5/QtWidgets/QAction \
@@ -1187,20 +1416,6 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ @@ -1187,20 +1416,6 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1187 /usr/include/qt5/QtGui/qinputmethod.h \ 1416 /usr/include/qt5/QtGui/qinputmethod.h \
1188 /usr/include/qt5/QtWidgets/QButtonGroup \ 1417 /usr/include/qt5/QtWidgets/QButtonGroup \
1189 /usr/include/qt5/QtWidgets/qbuttongroup.h \ 1418 /usr/include/qt5/QtWidgets/qbuttongroup.h \
1190 - /usr/include/qt5/QtWidgets/QComboBox \  
1191 - /usr/include/qt5/QtWidgets/qcombobox.h \  
1192 - /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \  
1193 - /usr/include/qt5/QtWidgets/qstyleoption.h \  
1194 - /usr/include/qt5/QtWidgets/qabstractspinbox.h \  
1195 - /usr/include/qt5/QtGui/qvalidator.h \  
1196 - /usr/include/qt5/QtWidgets/qslider.h \  
1197 - /usr/include/qt5/QtWidgets/qabstractslider.h \  
1198 - /usr/include/qt5/QtWidgets/qstyle.h \  
1199 - /usr/include/qt5/QtWidgets/qtabbar.h \  
1200 - /usr/include/qt5/QtWidgets/qtabwidget.h \  
1201 - /usr/include/qt5/QtWidgets/qrubberband.h \  
1202 - /usr/include/qt5/QtWidgets/qframe.h \  
1203 - /usr/include/qt5/QtCore/qabstractitemmodel.h \  
1204 /usr/include/qt5/QtWidgets/QGridLayout \ 1419 /usr/include/qt5/QtWidgets/QGridLayout \
1205 /usr/include/qt5/QtWidgets/qgridlayout.h \ 1420 /usr/include/qt5/QtWidgets/qgridlayout.h \
1206 /usr/include/qt5/QtWidgets/qlayout.h \ 1421 /usr/include/qt5/QtWidgets/qlayout.h \
@@ -1210,7 +1425,19 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ @@ -1210,7 +1425,19 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1210 /usr/include/qt5/QtWidgets/qheaderview.h \ 1425 /usr/include/qt5/QtWidgets/qheaderview.h \
1211 /usr/include/qt5/QtWidgets/qabstractitemview.h \ 1426 /usr/include/qt5/QtWidgets/qabstractitemview.h \
1212 /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ 1427 /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  1428 + /usr/include/qt5/QtWidgets/qframe.h \
  1429 + /usr/include/qt5/QtCore/qabstractitemmodel.h \
1213 /usr/include/qt5/QtCore/qitemselectionmodel.h \ 1430 /usr/include/qt5/QtCore/qitemselectionmodel.h \
  1431 + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \
  1432 + /usr/include/qt5/QtWidgets/qstyleoption.h \
  1433 + /usr/include/qt5/QtWidgets/qabstractspinbox.h \
  1434 + /usr/include/qt5/QtGui/qvalidator.h \
  1435 + /usr/include/qt5/QtWidgets/qslider.h \
  1436 + /usr/include/qt5/QtWidgets/qabstractslider.h \
  1437 + /usr/include/qt5/QtWidgets/qstyle.h \
  1438 + /usr/include/qt5/QtWidgets/qtabbar.h \
  1439 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  1440 + /usr/include/qt5/QtWidgets/qrubberband.h \
1214 /usr/include/qt5/QtWidgets/QLabel \ 1441 /usr/include/qt5/QtWidgets/QLabel \
1215 /usr/include/qt5/QtWidgets/qlabel.h \ 1442 /usr/include/qt5/QtWidgets/qlabel.h \
1216 /usr/include/qt5/QtWidgets/QLineEdit \ 1443 /usr/include/qt5/QtWidgets/QLineEdit \
@@ -1226,9 +1453,9 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \ @@ -1226,9 +1453,9 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1226 /usr/include/qt5/QtWidgets/QWidget 1453 /usr/include/qt5/QtWidgets/QWidget
1227 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o loginscreen.o ../QChatClient/loginscreen.cpp 1454 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o loginscreen.o ../QChatClient/loginscreen.cpp
1228 1455
1229 -chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselect.h \  
1230 - /usr/include/qt5/QtWidgets/QDialog \  
1231 - /usr/include/qt5/QtWidgets/qdialog.h \ 1456 +chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \
  1457 + /usr/include/qt5/QtWidgets/QMainWindow \
  1458 + /usr/include/qt5/QtWidgets/qmainwindow.h \
1232 /usr/include/qt5/QtWidgets/qwidget.h \ 1459 /usr/include/qt5/QtWidgets/qwidget.h \
1233 /usr/include/qt5/QtGui/qwindowdefs.h \ 1460 /usr/include/qt5/QtGui/qwindowdefs.h \
1234 /usr/include/qt5/QtCore/qglobal.h \ 1461 /usr/include/qt5/QtCore/qglobal.h \
@@ -1260,6 +1487,7 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec @@ -1260,6 +1487,7 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec
1260 /usr/include/qt5/QtCore/qoldbasicatomic.h \ 1487 /usr/include/qt5/QtCore/qoldbasicatomic.h \
1261 /usr/include/qt5/QtCore/qatomic_vxworks.h \ 1488 /usr/include/qt5/QtCore/qatomic_vxworks.h \
1262 /usr/include/qt5/QtCore/qatomic_power.h \ 1489 /usr/include/qt5/QtCore/qatomic_power.h \
  1490 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
1263 /usr/include/qt5/QtCore/qatomic_alpha.h \ 1491 /usr/include/qt5/QtCore/qatomic_alpha.h \
1264 /usr/include/qt5/QtCore/qatomic_armv7.h \ 1492 /usr/include/qt5/QtCore/qatomic_armv7.h \
1265 /usr/include/qt5/QtCore/qatomic_armv6.h \ 1493 /usr/include/qt5/QtCore/qatomic_armv6.h \
@@ -1334,11 +1562,14 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec @@ -1334,11 +1562,14 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec
1334 /usr/include/qt5/QtCore/qfiledevice.h \ 1562 /usr/include/qt5/QtCore/qfiledevice.h \
1335 /usr/include/qt5/QtGui/qvector2d.h \ 1563 /usr/include/qt5/QtGui/qvector2d.h \
1336 /usr/include/qt5/QtGui/qtouchdevice.h \ 1564 /usr/include/qt5/QtGui/qtouchdevice.h \
1337 - ui_chatroomselect.h \ 1565 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  1566 + /usr/include/qt5/QtGui/qicon.h \
  1567 + ../QChatClient/Socket.h \
  1568 + ../QChatClient/SocketException.h \
  1569 + ui_chatroom.h \
1338 /usr/include/qt5/QtCore/QVariant \ 1570 /usr/include/qt5/QtCore/QVariant \
1339 /usr/include/qt5/QtWidgets/QAction \ 1571 /usr/include/qt5/QtWidgets/QAction \
1340 /usr/include/qt5/QtWidgets/qaction.h \ 1572 /usr/include/qt5/QtWidgets/qaction.h \
1341 - /usr/include/qt5/QtGui/qicon.h \  
1342 /usr/include/qt5/QtWidgets/qactiongroup.h \ 1573 /usr/include/qt5/QtWidgets/qactiongroup.h \
1343 /usr/include/qt5/QtWidgets/QApplication \ 1574 /usr/include/qt5/QtWidgets/QApplication \
1344 /usr/include/qt5/QtWidgets/qapplication.h \ 1575 /usr/include/qt5/QtWidgets/qapplication.h \
@@ -1349,8 +1580,13 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec @@ -1349,8 +1580,13 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec
1349 /usr/include/qt5/QtGui/qinputmethod.h \ 1580 /usr/include/qt5/QtGui/qinputmethod.h \
1350 /usr/include/qt5/QtWidgets/QButtonGroup \ 1581 /usr/include/qt5/QtWidgets/QButtonGroup \
1351 /usr/include/qt5/QtWidgets/qbuttongroup.h \ 1582 /usr/include/qt5/QtWidgets/qbuttongroup.h \
1352 - /usr/include/qt5/QtWidgets/QColumnView \  
1353 - /usr/include/qt5/QtWidgets/qcolumnview.h \ 1583 + /usr/include/qt5/QtWidgets/QGridLayout \
  1584 + /usr/include/qt5/QtWidgets/qgridlayout.h \
  1585 + /usr/include/qt5/QtWidgets/qlayout.h \
  1586 + /usr/include/qt5/QtWidgets/qlayoutitem.h \
  1587 + /usr/include/qt5/QtWidgets/qboxlayout.h \
  1588 + /usr/include/qt5/QtWidgets/QHeaderView \
  1589 + /usr/include/qt5/QtWidgets/qheaderview.h \
1354 /usr/include/qt5/QtWidgets/qabstractitemview.h \ 1590 /usr/include/qt5/QtWidgets/qabstractitemview.h \
1355 /usr/include/qt5/QtWidgets/qabstractscrollarea.h \ 1591 /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
1356 /usr/include/qt5/QtWidgets/qframe.h \ 1592 /usr/include/qt5/QtWidgets/qframe.h \
@@ -1364,27 +1600,37 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec @@ -1364,27 +1600,37 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec
1364 /usr/include/qt5/QtWidgets/qabstractslider.h \ 1600 /usr/include/qt5/QtWidgets/qabstractslider.h \
1365 /usr/include/qt5/QtWidgets/qstyle.h \ 1601 /usr/include/qt5/QtWidgets/qstyle.h \
1366 /usr/include/qt5/QtWidgets/qtabbar.h \ 1602 /usr/include/qt5/QtWidgets/qtabbar.h \
1367 - /usr/include/qt5/QtWidgets/qtabwidget.h \  
1368 /usr/include/qt5/QtWidgets/qrubberband.h \ 1603 /usr/include/qt5/QtWidgets/qrubberband.h \
1369 - /usr/include/qt5/QtWidgets/QGridLayout \  
1370 - /usr/include/qt5/QtWidgets/qgridlayout.h \  
1371 - /usr/include/qt5/QtWidgets/qlayout.h \  
1372 - /usr/include/qt5/QtWidgets/qlayoutitem.h \  
1373 - /usr/include/qt5/QtWidgets/qboxlayout.h \  
1374 - /usr/include/qt5/QtWidgets/QHeaderView \  
1375 - /usr/include/qt5/QtWidgets/qheaderview.h \  
1376 - /usr/include/qt5/QtWidgets/QLabel \  
1377 - /usr/include/qt5/QtWidgets/qlabel.h \  
1378 - /usr/include/qt5/QtWidgets/QPushButton \  
1379 - /usr/include/qt5/QtWidgets/qpushbutton.h \  
1380 - /usr/include/qt5/QtWidgets/qabstractbutton.h \  
1381 - /usr/include/qt5/QtWidgets/QSpacerItem \  
1382 - /usr/include/qt5/QtWidgets/QWidget  
1383 - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroomselect.o ../QChatClient/chatroomselect.cpp 1604 + /usr/include/qt5/QtWidgets/QListWidget \
  1605 + /usr/include/qt5/QtWidgets/qlistwidget.h \
  1606 + /usr/include/qt5/QtWidgets/qlistview.h \
  1607 + /usr/include/qt5/QtWidgets/QSplitter \
  1608 + /usr/include/qt5/QtWidgets/qsplitter.h \
  1609 + /usr/include/qt5/QtWidgets/QTextEdit \
  1610 + /usr/include/qt5/QtWidgets/qtextedit.h \
  1611 + /usr/include/qt5/QtGui/qtextdocument.h \
  1612 + /usr/include/qt5/QtGui/qtextoption.h \
  1613 + /usr/include/qt5/QtGui/qtextcursor.h \
  1614 + /usr/include/qt5/QtGui/qtextformat.h \
  1615 + /usr/include/qt5/QtGui/qpen.h \
  1616 + /usr/include/qt5/QtWidgets/QWidget \
  1617 + ../QChatClient/chatwidget.h
  1618 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroom.o ../QChatClient/chatroom.cpp
1384 1619
1385 -chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \  
1386 - /usr/include/qt5/QtWidgets/QMainWindow \  
1387 - /usr/include/qt5/QtWidgets/qmainwindow.h \ 1620 +Socket.o: ../QChatClient/Socket.cpp ../QChatClient/Socket.h \
  1621 + ../QChatClient/SocketException.h
  1622 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Socket.o ../QChatClient/Socket.cpp
  1623 +
  1624 +client.o: ../QChatClient/client.cpp ../QChatClient/client.h \
  1625 + ../QChatClient/Socket.h \
  1626 + ../QChatClient/SocketException.h
  1627 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o client.o ../QChatClient/client.cpp
  1628 +
  1629 +chatwidget.o: ../QChatClient/chatwidget.cpp ../QChatClient/chatwidget.h \
  1630 + /usr/include/qt5/QtWidgets/QTextEdit \
  1631 + /usr/include/qt5/QtWidgets/qtextedit.h \
  1632 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  1633 + /usr/include/qt5/QtWidgets/qframe.h \
1388 /usr/include/qt5/QtWidgets/qwidget.h \ 1634 /usr/include/qt5/QtWidgets/qwidget.h \
1389 /usr/include/qt5/QtGui/qwindowdefs.h \ 1635 /usr/include/qt5/QtGui/qwindowdefs.h \
1390 /usr/include/qt5/QtCore/qglobal.h \ 1636 /usr/include/qt5/QtCore/qglobal.h \
@@ -1416,6 +1662,7 @@ chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \ @@ -1416,6 +1662,7 @@ chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \
1416 /usr/include/qt5/QtCore/qoldbasicatomic.h \ 1662 /usr/include/qt5/QtCore/qoldbasicatomic.h \
1417 /usr/include/qt5/QtCore/qatomic_vxworks.h \ 1663 /usr/include/qt5/QtCore/qatomic_vxworks.h \
1418 /usr/include/qt5/QtCore/qatomic_power.h \ 1664 /usr/include/qt5/QtCore/qatomic_power.h \
  1665 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
1419 /usr/include/qt5/QtCore/qatomic_alpha.h \ 1666 /usr/include/qt5/QtCore/qatomic_alpha.h \
1420 /usr/include/qt5/QtCore/qatomic_armv7.h \ 1667 /usr/include/qt5/QtCore/qatomic_armv7.h \
1421 /usr/include/qt5/QtCore/qatomic_armv6.h \ 1668 /usr/include/qt5/QtCore/qatomic_armv6.h \
@@ -1490,69 +1737,12 @@ chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \ @@ -1490,69 +1737,12 @@ chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \
1490 /usr/include/qt5/QtCore/qfiledevice.h \ 1737 /usr/include/qt5/QtCore/qfiledevice.h \
1491 /usr/include/qt5/QtGui/qvector2d.h \ 1738 /usr/include/qt5/QtGui/qvector2d.h \
1492 /usr/include/qt5/QtGui/qtouchdevice.h \ 1739 /usr/include/qt5/QtGui/qtouchdevice.h \
1493 - /usr/include/qt5/QtWidgets/qtabwidget.h \  
1494 - /usr/include/qt5/QtGui/qicon.h \  
1495 - ui_chatroom.h \  
1496 - /usr/include/qt5/QtCore/QVariant \  
1497 - /usr/include/qt5/QtWidgets/QAction \  
1498 - /usr/include/qt5/QtWidgets/qaction.h \  
1499 - /usr/include/qt5/QtWidgets/qactiongroup.h \  
1500 - /usr/include/qt5/QtWidgets/QApplication \  
1501 - /usr/include/qt5/QtWidgets/qapplication.h \  
1502 - /usr/include/qt5/QtCore/qcoreapplication.h \  
1503 - /usr/include/qt5/QtCore/qeventloop.h \  
1504 - /usr/include/qt5/QtWidgets/qdesktopwidget.h \  
1505 - /usr/include/qt5/QtGui/qguiapplication.h \  
1506 - /usr/include/qt5/QtGui/qinputmethod.h \  
1507 - /usr/include/qt5/QtWidgets/QButtonGroup \  
1508 - /usr/include/qt5/QtWidgets/qbuttongroup.h \  
1509 - /usr/include/qt5/QtWidgets/QFrame \  
1510 - /usr/include/qt5/QtWidgets/qframe.h \  
1511 - /usr/include/qt5/QtWidgets/QGridLayout \  
1512 - /usr/include/qt5/QtWidgets/qgridlayout.h \  
1513 - /usr/include/qt5/QtWidgets/qlayout.h \  
1514 - /usr/include/qt5/QtWidgets/qlayoutitem.h \  
1515 - /usr/include/qt5/QtWidgets/qboxlayout.h \  
1516 - /usr/include/qt5/QtWidgets/QHeaderView \  
1517 - /usr/include/qt5/QtWidgets/qheaderview.h \  
1518 - /usr/include/qt5/QtWidgets/qabstractitemview.h \  
1519 - /usr/include/qt5/QtWidgets/qabstractscrollarea.h \  
1520 - /usr/include/qt5/QtCore/qabstractitemmodel.h \  
1521 - /usr/include/qt5/QtCore/qitemselectionmodel.h \  
1522 - /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \  
1523 - /usr/include/qt5/QtWidgets/qstyleoption.h \  
1524 - /usr/include/qt5/QtWidgets/qabstractspinbox.h \  
1525 - /usr/include/qt5/QtGui/qvalidator.h \  
1526 - /usr/include/qt5/QtWidgets/qslider.h \  
1527 - /usr/include/qt5/QtWidgets/qabstractslider.h \  
1528 - /usr/include/qt5/QtWidgets/qstyle.h \  
1529 - /usr/include/qt5/QtWidgets/qtabbar.h \  
1530 - /usr/include/qt5/QtWidgets/qrubberband.h \  
1531 - /usr/include/qt5/QtWidgets/QListView \  
1532 - /usr/include/qt5/QtWidgets/qlistview.h \  
1533 - /usr/include/qt5/QtWidgets/QMenuBar \  
1534 - /usr/include/qt5/QtWidgets/qmenubar.h \  
1535 - /usr/include/qt5/QtWidgets/qmenu.h \  
1536 - /usr/include/qt5/QtWidgets/QTextBrowser \  
1537 - /usr/include/qt5/QtWidgets/qtextbrowser.h \  
1538 - /usr/include/qt5/QtWidgets/qtextedit.h \  
1539 /usr/include/qt5/QtGui/qtextdocument.h \ 1740 /usr/include/qt5/QtGui/qtextdocument.h \
1540 /usr/include/qt5/QtGui/qtextoption.h \ 1741 /usr/include/qt5/QtGui/qtextoption.h \
1541 /usr/include/qt5/QtGui/qtextcursor.h \ 1742 /usr/include/qt5/QtGui/qtextcursor.h \
1542 /usr/include/qt5/QtGui/qtextformat.h \ 1743 /usr/include/qt5/QtGui/qtextformat.h \
1543 - /usr/include/qt5/QtGui/qpen.h \  
1544 - /usr/include/qt5/QtWidgets/QTextEdit \  
1545 - /usr/include/qt5/QtWidgets/QWidget  
1546 - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroom.o ../QChatClient/chatroom.cpp  
1547 -  
1548 -Socket.o: ../QChatClient/Socket.cpp ../QChatClient/Socket.h \  
1549 - ../QChatClient/SocketException.h  
1550 - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Socket.o ../QChatClient/Socket.cpp  
1551 -  
1552 -client.o: ../QChatClient/client.cpp ../QChatClient/client.h \  
1553 - ../QChatClient/Socket.h \  
1554 - ../QChatClient/SocketException.h  
1555 - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o client.o ../QChatClient/client.cpp 1744 + /usr/include/qt5/QtGui/qpen.h
  1745 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatwidget.o ../QChatClient/chatwidget.cpp
1556 1746
1557 moc_chatwindow.o: moc_chatwindow.cpp 1747 moc_chatwindow.o: moc_chatwindow.cpp
1558 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatwindow.o moc_chatwindow.cpp 1748 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatwindow.o moc_chatwindow.cpp
@@ -1560,12 +1750,12 @@ moc_chatwindow.o: moc_chatwindow.cpp @@ -1560,12 +1750,12 @@ moc_chatwindow.o: moc_chatwindow.cpp
1560 moc_loginscreen.o: moc_loginscreen.cpp 1750 moc_loginscreen.o: moc_loginscreen.cpp
1561 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_loginscreen.o moc_loginscreen.cpp 1751 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_loginscreen.o moc_loginscreen.cpp
1562 1752
1563 -moc_chatroomselect.o: moc_chatroomselect.cpp  
1564 - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroomselect.o moc_chatroomselect.cpp  
1565 -  
1566 moc_chatroom.o: moc_chatroom.cpp 1753 moc_chatroom.o: moc_chatroom.cpp
1567 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroom.o moc_chatroom.cpp 1754 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroom.o moc_chatroom.cpp
1568 1755
  1756 +moc_chatwidget.o: moc_chatwidget.cpp
  1757 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatwidget.o moc_chatwidget.cpp
  1758 +
1569 ####### Install 1759 ####### Install
1570 1760
1571 install: FORCE 1761 install: FORCE
build-QChatClient-Desktop-Debug/QChatClient
No preview for this file type
build-QChatClient-Desktop-Debug/Socket.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/chatroomselect.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/chatwidget.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/chatwindow.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/client.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/customtextedit.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/loginscreen.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/main.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_chatroom.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_chatroomselect.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_chatwidget.cpp 0 → 100644
  1 +/****************************************************************************
  2 +** Meta object code from reading C++ file 'chatwidget.h'
  3 +**
  4 +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
  5 +**
  6 +** WARNING! All changes made in this file will be lost!
  7 +*****************************************************************************/
  8 +
  9 +#include "../QChatClient/chatwidget.h"
  10 +#include <QtCore/qbytearray.h>
  11 +#include <QtCore/qmetatype.h>
  12 +#if !defined(Q_MOC_OUTPUT_REVISION)
  13 +#error "The header file 'chatwidget.h' doesn't include <QObject>."
  14 +#elif Q_MOC_OUTPUT_REVISION != 67
  15 +#error "This file was generated using the moc from 5.0.2. It"
  16 +#error "cannot be used with the include files from this version of Qt."
  17 +#error "(The moc has changed too much.)"
  18 +#endif
  19 +
  20 +QT_BEGIN_MOC_NAMESPACE
  21 +struct qt_meta_stringdata_ChatWidget_t {
  22 + QByteArrayData data[1];
  23 + char stringdata[12];
  24 +};
  25 +#define QT_MOC_LITERAL(idx, ofs, len) \
  26 + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
  27 + offsetof(qt_meta_stringdata_ChatWidget_t, stringdata) + ofs \
  28 + - idx * sizeof(QByteArrayData) \
  29 + )
  30 +static const qt_meta_stringdata_ChatWidget_t qt_meta_stringdata_ChatWidget = {
  31 + {
  32 +QT_MOC_LITERAL(0, 0, 10)
  33 + },
  34 + "ChatWidget\0"
  35 +};
  36 +#undef QT_MOC_LITERAL
  37 +
  38 +static const uint qt_meta_data_ChatWidget[] = {
  39 +
  40 + // content:
  41 + 7, // revision
  42 + 0, // classname
  43 + 0, 0, // classinfo
  44 + 0, 0, // methods
  45 + 0, 0, // properties
  46 + 0, 0, // enums/sets
  47 + 0, 0, // constructors
  48 + 0, // flags
  49 + 0, // signalCount
  50 +
  51 + 0 // eod
  52 +};
  53 +
  54 +void ChatWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
  55 +{
  56 + Q_UNUSED(_o);
  57 + Q_UNUSED(_id);
  58 + Q_UNUSED(_c);
  59 + Q_UNUSED(_a);
  60 +}
  61 +
  62 +const QMetaObject ChatWidget::staticMetaObject = {
  63 + { &QTextEdit::staticMetaObject, qt_meta_stringdata_ChatWidget.data,
  64 + qt_meta_data_ChatWidget, qt_static_metacall, 0, 0}
  65 +};
  66 +
  67 +
  68 +const QMetaObject *ChatWidget::metaObject() const
  69 +{
  70 + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
  71 +}
  72 +
  73 +void *ChatWidget::qt_metacast(const char *_clname)
  74 +{
  75 + if (!_clname) return 0;
  76 + if (!strcmp(_clname, qt_meta_stringdata_ChatWidget.stringdata))
  77 + return static_cast<void*>(const_cast< ChatWidget*>(this));
  78 + return QTextEdit::qt_metacast(_clname);
  79 +}
  80 +
  81 +int ChatWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
  82 +{
  83 + _id = QTextEdit::qt_metacall(_c, _id, _a);
  84 + if (_id < 0)
  85 + return _id;
  86 + return _id;
  87 +}
  88 +QT_END_MOC_NAMESPACE
build-QChatClient-Desktop-Debug/moc_chatwidget.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_chatwindow.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_customtextedit.cpp 0 → 100644
  1 +/****************************************************************************
  2 +** Meta object code from reading C++ file 'customtextedit.h'
  3 +**
  4 +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
  5 +**
  6 +** WARNING! All changes made in this file will be lost!
  7 +*****************************************************************************/
  8 +
  9 +#include "../QChatClient/customtextedit.h"
  10 +#include <QtCore/qbytearray.h>
  11 +#include <QtCore/qmetatype.h>
  12 +#if !defined(Q_MOC_OUTPUT_REVISION)
  13 +#error "The header file 'customtextedit.h' doesn't include <QObject>."
  14 +#elif Q_MOC_OUTPUT_REVISION != 67
  15 +#error "This file was generated using the moc from 5.0.2. It"
  16 +#error "cannot be used with the include files from this version of Qt."
  17 +#error "(The moc has changed too much.)"
  18 +#endif
  19 +
  20 +QT_BEGIN_MOC_NAMESPACE
  21 +struct qt_meta_stringdata_customTextEdit_t {
  22 + QByteArrayData data[1];
  23 + char stringdata[16];
  24 +};
  25 +#define QT_MOC_LITERAL(idx, ofs, len) \
  26 + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
  27 + offsetof(qt_meta_stringdata_customTextEdit_t, stringdata) + ofs \
  28 + - idx * sizeof(QByteArrayData) \
  29 + )
  30 +static const qt_meta_stringdata_customTextEdit_t qt_meta_stringdata_customTextEdit = {
  31 + {
  32 +QT_MOC_LITERAL(0, 0, 14)
  33 + },
  34 + "customTextEdit\0"
  35 +};
  36 +#undef QT_MOC_LITERAL
  37 +
  38 +static const uint qt_meta_data_customTextEdit[] = {
  39 +
  40 + // content:
  41 + 7, // revision
  42 + 0, // classname
  43 + 0, 0, // classinfo
  44 + 0, 0, // methods
  45 + 0, 0, // properties
  46 + 0, 0, // enums/sets
  47 + 0, 0, // constructors
  48 + 0, // flags
  49 + 0, // signalCount
  50 +
  51 + 0 // eod
  52 +};
  53 +
  54 +void customTextEdit::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
  55 +{
  56 + Q_UNUSED(_o);
  57 + Q_UNUSED(_id);
  58 + Q_UNUSED(_c);
  59 + Q_UNUSED(_a);
  60 +}
  61 +
  62 +const QMetaObject customTextEdit::staticMetaObject = {
  63 + { &QTextEdit::staticMetaObject, qt_meta_stringdata_customTextEdit.data,
  64 + qt_meta_data_customTextEdit, qt_static_metacall, 0, 0}
  65 +};
  66 +
  67 +
  68 +const QMetaObject *customTextEdit::metaObject() const
  69 +{
  70 + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
  71 +}
  72 +
  73 +void *customTextEdit::qt_metacast(const char *_clname)
  74 +{
  75 + if (!_clname) return 0;
  76 + if (!strcmp(_clname, qt_meta_stringdata_customTextEdit.stringdata))
  77 + return static_cast<void*>(const_cast< customTextEdit*>(this));
  78 + return QTextEdit::qt_metacast(_clname);
  79 +}
  80 +
  81 +int customTextEdit::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
  82 +{
  83 + _id = QTextEdit::qt_metacall(_c, _id, _a);
  84 + if (_id < 0)
  85 + return _id;
  86 + return _id;
  87 +}
  88 +QT_END_MOC_NAMESPACE
build-QChatClient-Desktop-Debug/moc_customtextedit.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_loginscreen.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/ui_chatroom.h
@@ -13,15 +13,14 @@ @@ -13,15 +13,14 @@
13 #include <QtWidgets/QAction> 13 #include <QtWidgets/QAction>
14 #include <QtWidgets/QApplication> 14 #include <QtWidgets/QApplication>
15 #include <QtWidgets/QButtonGroup> 15 #include <QtWidgets/QButtonGroup>
16 -#include <QtWidgets/QFrame>  
17 #include <QtWidgets/QGridLayout> 16 #include <QtWidgets/QGridLayout>
18 #include <QtWidgets/QHeaderView> 17 #include <QtWidgets/QHeaderView>
19 -#include <QtWidgets/QListView> 18 +#include <QtWidgets/QListWidget>
20 #include <QtWidgets/QMainWindow> 19 #include <QtWidgets/QMainWindow>
21 -#include <QtWidgets/QMenuBar>  
22 -#include <QtWidgets/QTextBrowser> 20 +#include <QtWidgets/QSplitter>
23 #include <QtWidgets/QTextEdit> 21 #include <QtWidgets/QTextEdit>
24 #include <QtWidgets/QWidget> 22 #include <QtWidgets/QWidget>
  23 +#include "chatwidget.h"
25 24
26 QT_BEGIN_NAMESPACE 25 QT_BEGIN_NAMESPACE
27 26
@@ -29,12 +28,14 @@ class Ui_Chatroom @@ -29,12 +28,14 @@ class Ui_Chatroom
29 { 28 {
30 public: 29 public:
31 QWidget *centralwidget; 30 QWidget *centralwidget;
  31 + QGridLayout *gridLayout_2;
  32 + QSplitter *windowSplitter;
  33 + QWidget *chatWindow;
32 QGridLayout *gridLayout; 34 QGridLayout *gridLayout;
33 - QListView *listView;  
34 - QTextBrowser *textBrowser;  
35 - QTextEdit *textEdit;  
36 - QFrame *frame;  
37 - QMenuBar *menubar; 35 + QSplitter *chatSplitter;
  36 + ChatWidget *chatText;
  37 + QTextEdit *inputText;
  38 + QListWidget *userList;
38 39
39 void setupUi(QMainWindow *Chatroom) 40 void setupUi(QMainWindow *Chatroom)
40 { 41 {
@@ -43,48 +44,51 @@ public: @@ -43,48 +44,51 @@ public:
43 Chatroom->resize(800, 600); 44 Chatroom->resize(800, 600);
44 centralwidget = new QWidget(Chatroom); 45 centralwidget = new QWidget(Chatroom);
45 centralwidget->setObjectName(QStringLiteral("centralwidget")); 46 centralwidget->setObjectName(QStringLiteral("centralwidget"));
46 - gridLayout = new QGridLayout(centralwidget); 47 + gridLayout_2 = new QGridLayout(centralwidget);
  48 + gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));
  49 + windowSplitter = new QSplitter(centralwidget);
  50 + windowSplitter->setObjectName(QStringLiteral("windowSplitter"));
  51 + windowSplitter->setOrientation(Qt::Horizontal);
  52 + chatWindow = new QWidget(windowSplitter);
  53 + chatWindow->setObjectName(QStringLiteral("chatWindow"));
  54 + gridLayout = new QGridLayout(chatWindow);
  55 + gridLayout->setSpacing(0);
47 gridLayout->setObjectName(QStringLiteral("gridLayout")); 56 gridLayout->setObjectName(QStringLiteral("gridLayout"));
48 - listView = new QListView(centralwidget);  
49 - listView->setObjectName(QStringLiteral("listView"));  
50 - QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); 57 + gridLayout->setContentsMargins(0, 0, 0, 0);
  58 + chatSplitter = new QSplitter(chatWindow);
  59 + chatSplitter->setObjectName(QStringLiteral("chatSplitter"));
  60 + chatSplitter->setOrientation(Qt::Vertical);
  61 + chatText = new ChatWidget(chatSplitter);
  62 + chatText->setObjectName(QStringLiteral("chatText"));
  63 + chatText->setReadOnly(true);
  64 + chatSplitter->addWidget(chatText);
  65 + inputText = new QTextEdit(chatSplitter);
  66 + inputText->setObjectName(QStringLiteral("inputText"));
  67 + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Ignored);
51 sizePolicy.setHorizontalStretch(0); 68 sizePolicy.setHorizontalStretch(0);
52 sizePolicy.setVerticalStretch(0); 69 sizePolicy.setVerticalStretch(0);
53 - sizePolicy.setHeightForWidth(listView->sizePolicy().hasHeightForWidth());  
54 - listView->setSizePolicy(sizePolicy);  
55 - listView->setMaximumSize(QSize(150, 16777215)); 70 + sizePolicy.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth());
  71 + inputText->setSizePolicy(sizePolicy);
  72 + inputText->setMaximumSize(QSize(16777215, 16777215));
  73 + chatSplitter->addWidget(inputText);
56 74
57 - gridLayout->addWidget(listView, 0, 2, 1, 1); 75 + gridLayout->addWidget(chatSplitter, 0, 0, 1, 1);
58 76
59 - textBrowser = new QTextBrowser(centralwidget);  
60 - textBrowser->setObjectName(QStringLiteral("textBrowser"));  
61 -  
62 - gridLayout->addWidget(textBrowser, 0, 1, 1, 1);  
63 -  
64 - textEdit = new QTextEdit(centralwidget);  
65 - textEdit->setObjectName(QStringLiteral("textEdit"));  
66 - QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed); 77 + windowSplitter->addWidget(chatWindow);
  78 + userList = new QListWidget(windowSplitter);
  79 + userList->setObjectName(QStringLiteral("userList"));
  80 + QSizePolicy sizePolicy1(QSizePolicy::Ignored, QSizePolicy::Expanding);
67 sizePolicy1.setHorizontalStretch(0); 81 sizePolicy1.setHorizontalStretch(0);
68 sizePolicy1.setVerticalStretch(0); 82 sizePolicy1.setVerticalStretch(0);
69 - sizePolicy1.setHeightForWidth(textEdit->sizePolicy().hasHeightForWidth());  
70 - textEdit->setSizePolicy(sizePolicy1);  
71 - textEdit->setMinimumSize(QSize(0, 100));  
72 - textEdit->setMaximumSize(QSize(16777215, 100));  
73 -  
74 - gridLayout->addWidget(textEdit, 2, 1, 1, 2);  
75 -  
76 - frame = new QFrame(centralwidget);  
77 - frame->setObjectName(QStringLiteral("frame"));  
78 - frame->setFrameShape(QFrame::StyledPanel);  
79 - frame->setFrameShadow(QFrame::Raised); 83 + sizePolicy1.setHeightForWidth(userList->sizePolicy().hasHeightForWidth());
  84 + userList->setSizePolicy(sizePolicy1);
  85 + userList->setMinimumSize(QSize(0, 0));
  86 + userList->setMaximumSize(QSize(16777215, 16777215));
  87 + windowSplitter->addWidget(userList);
80 88
81 - gridLayout->addWidget(frame, 1, 1, 1, 1); 89 + gridLayout_2->addWidget(windowSplitter, 0, 0, 1, 1);
82 90
83 Chatroom->setCentralWidget(centralwidget); 91 Chatroom->setCentralWidget(centralwidget);
84 - menubar = new QMenuBar(Chatroom);  
85 - menubar->setObjectName(QStringLiteral("menubar"));  
86 - menubar->setGeometry(QRect(0, 0, 800, 25));  
87 - Chatroom->setMenuBar(menubar);  
88 92
89 retranslateUi(Chatroom); 93 retranslateUi(Chatroom);
90 94
build-QChatClient-Desktop-Debug/ui_chatroomselect.h
@@ -51,6 +51,11 @@ public: @@ -51,6 +51,11 @@ public:
51 if (ChatroomSelect->objectName().isEmpty()) 51 if (ChatroomSelect->objectName().isEmpty())
52 ChatroomSelect->setObjectName(QStringLiteral("ChatroomSelect")); 52 ChatroomSelect->setObjectName(QStringLiteral("ChatroomSelect"));
53 ChatroomSelect->resize(555, 379); 53 ChatroomSelect->resize(555, 379);
  54 + QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
  55 + sizePolicy.setHorizontalStretch(0);
  56 + sizePolicy.setVerticalStretch(0);
  57 + sizePolicy.setHeightForWidth(ChatroomSelect->sizePolicy().hasHeightForWidth());
  58 + ChatroomSelect->setSizePolicy(sizePolicy);
54 gridLayout = new QGridLayout(ChatroomSelect); 59 gridLayout = new QGridLayout(ChatroomSelect);
55 gridLayout->setObjectName(QStringLiteral("gridLayout")); 60 gridLayout->setObjectName(QStringLiteral("gridLayout"));
56 listVertSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed); 61 listVertSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
build-QChatClient-Desktop-Debug/ui_chatwindow.h
1 /******************************************************************************** 1 /********************************************************************************
2 ** Form generated from reading UI file 'chatwindow.ui' 2 ** Form generated from reading UI file 'chatwindow.ui'
3 ** 3 **
4 -** Created by: Qt User Interface Compiler version 5.0.1 4 +** Created by: Qt User Interface Compiler version 5.0.2
5 ** 5 **
6 ** WARNING! All changes made in this file will be lost when recompiling UI file! 6 ** WARNING! All changes made in this file will be lost when recompiling UI file!
7 ********************************************************************************/ 7 ********************************************************************************/
@@ -18,9 +18,9 @@ @@ -18,9 +18,9 @@
18 #include <QtWidgets/QMainWindow> 18 #include <QtWidgets/QMainWindow>
19 #include <QtWidgets/QMenuBar> 19 #include <QtWidgets/QMenuBar>
20 #include <QtWidgets/QSplitter> 20 #include <QtWidgets/QSplitter>
21 -#include <QtWidgets/QTextBrowser>  
22 #include <QtWidgets/QTextEdit> 21 #include <QtWidgets/QTextEdit>
23 #include <QtWidgets/QWidget> 22 #include <QtWidgets/QWidget>
  23 +#include "chatwidget.h"
24 24
25 QT_BEGIN_NAMESPACE 25 QT_BEGIN_NAMESPACE
26 26
@@ -29,10 +29,8 @@ class Ui_ChatWindow @@ -29,10 +29,8 @@ class Ui_ChatWindow
29 public: 29 public:
30 QWidget *centralWidget; 30 QWidget *centralWidget;
31 QGridLayout *gridLayout; 31 QGridLayout *gridLayout;
32 - QWidget *widget;  
33 - QGridLayout *gridLayout_2;  
34 QSplitter *splitter; 32 QSplitter *splitter;
35 - QTextBrowser *chatText; 33 + ChatWidget *chatText;
36 QTextEdit *inputText; 34 QTextEdit *inputText;
37 QMenuBar *menuBar; 35 QMenuBar *menuBar;
38 36
@@ -40,7 +38,7 @@ public: @@ -40,7 +38,7 @@ public:
40 { 38 {
41 if (ChatWindow->objectName().isEmpty()) 39 if (ChatWindow->objectName().isEmpty())
42 ChatWindow->setObjectName(QStringLiteral("ChatWindow")); 40 ChatWindow->setObjectName(QStringLiteral("ChatWindow"));
43 - ChatWindow->resize(400, 449); 41 + ChatWindow->resize(400, 502);
44 centralWidget = new QWidget(ChatWindow); 42 centralWidget = new QWidget(ChatWindow);
45 centralWidget->setObjectName(QStringLiteral("centralWidget")); 43 centralWidget->setObjectName(QStringLiteral("centralWidget"));
46 centralWidget->setEnabled(true); 44 centralWidget->setEnabled(true);
@@ -53,40 +51,27 @@ public: @@ -53,40 +51,27 @@ public:
53 gridLayout->setSpacing(6); 51 gridLayout->setSpacing(6);
54 gridLayout->setContentsMargins(11, 11, 11, 11); 52 gridLayout->setContentsMargins(11, 11, 11, 11);
55 gridLayout->setObjectName(QStringLiteral("gridLayout")); 53 gridLayout->setObjectName(QStringLiteral("gridLayout"));
56 - widget = new QWidget(centralWidget);  
57 - widget->setObjectName(QStringLiteral("widget"));  
58 - gridLayout_2 = new QGridLayout(widget);  
59 - gridLayout_2->setSpacing(6);  
60 - gridLayout_2->setContentsMargins(11, 11, 11, 11);  
61 - gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));  
62 - splitter = new QSplitter(widget); 54 + splitter = new QSplitter(centralWidget);
63 splitter->setObjectName(QStringLiteral("splitter")); 55 splitter->setObjectName(QStringLiteral("splitter"));
64 splitter->setOrientation(Qt::Vertical); 56 splitter->setOrientation(Qt::Vertical);
65 - chatText = new QTextBrowser(splitter); 57 + chatText = new ChatWidget(splitter);
66 chatText->setObjectName(QStringLiteral("chatText")); 58 chatText->setObjectName(QStringLiteral("chatText"));
67 - QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Ignored);  
68 - sizePolicy1.setHorizontalStretch(0);  
69 - sizePolicy1.setVerticalStretch(0);  
70 - sizePolicy1.setHeightForWidth(chatText->sizePolicy().hasHeightForWidth());  
71 - chatText->setSizePolicy(sizePolicy1); 59 + chatText->setReadOnly(true);
72 splitter->addWidget(chatText); 60 splitter->addWidget(chatText);
73 inputText = new QTextEdit(splitter); 61 inputText = new QTextEdit(splitter);
74 inputText->setObjectName(QStringLiteral("inputText")); 62 inputText->setObjectName(QStringLiteral("inputText"));
75 inputText->setEnabled(true); 63 inputText->setEnabled(true);
76 - QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Preferred);  
77 - sizePolicy2.setHorizontalStretch(0);  
78 - sizePolicy2.setVerticalStretch(0);  
79 - sizePolicy2.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth());  
80 - inputText->setSizePolicy(sizePolicy2); 64 + QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Ignored);
  65 + sizePolicy1.setHorizontalStretch(0);
  66 + sizePolicy1.setVerticalStretch(0);
  67 + sizePolicy1.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth());
  68 + inputText->setSizePolicy(sizePolicy1);
81 inputText->setMinimumSize(QSize(0, 0)); 69 inputText->setMinimumSize(QSize(0, 0));
82 inputText->setMaximumSize(QSize(16777215, 16777215)); 70 inputText->setMaximumSize(QSize(16777215, 16777215));
83 inputText->setBaseSize(QSize(0, 0)); 71 inputText->setBaseSize(QSize(0, 0));
84 splitter->addWidget(inputText); 72 splitter->addWidget(inputText);
85 73
86 - gridLayout_2->addWidget(splitter, 0, 0, 1, 1);  
87 -  
88 -  
89 - gridLayout->addWidget(widget, 1, 0, 1, 1); 74 + gridLayout->addWidget(splitter, 0, 0, 1, 1);
90 75
91 ChatWindow->setCentralWidget(centralWidget); 76 ChatWindow->setCentralWidget(centralWidget);
92 menuBar = new QMenuBar(ChatWindow); 77 menuBar = new QMenuBar(ChatWindow);
build-QChatClient-Desktop-Debug/ui_loginscreen.h
@@ -13,7 +13,6 @@ @@ -13,7 +13,6 @@
13 #include <QtWidgets/QAction> 13 #include <QtWidgets/QAction>
14 #include <QtWidgets/QApplication> 14 #include <QtWidgets/QApplication>
15 #include <QtWidgets/QButtonGroup> 15 #include <QtWidgets/QButtonGroup>
16 -#include <QtWidgets/QComboBox>  
17 #include <QtWidgets/QDialog> 16 #include <QtWidgets/QDialog>
18 #include <QtWidgets/QGridLayout> 17 #include <QtWidgets/QGridLayout>
19 #include <QtWidgets/QHeaderView> 18 #include <QtWidgets/QHeaderView>
@@ -29,59 +28,46 @@ class Ui_LoginScreen @@ -29,59 +28,46 @@ class Ui_LoginScreen
29 { 28 {
30 public: 29 public:
31 QGridLayout *gridLayout; 30 QGridLayout *gridLayout;
32 - QComboBox *chatroomBox;  
33 - QSpacerItem *verticalSpacer;  
34 - QSpacerItem *rightSpacer;  
35 - QSpacerItem *topSpacer;  
36 QLabel *titleLabel; 31 QLabel *titleLabel;
37 QWidget *buttonBox; 32 QWidget *buttonBox;
38 QGridLayout *gridLayout_2; 33 QGridLayout *gridLayout_2;
39 QPushButton *cancelButton; 34 QPushButton *cancelButton;
40 QPushButton *connectButton; 35 QPushButton *connectButton;
41 QSpacerItem *buttonHorizSpacer; 36 QSpacerItem *buttonHorizSpacer;
  37 + QSpacerItem *verticalSpacer;
  38 + QSpacerItem *topSpacer;
42 QSpacerItem *leftSpacer; 39 QSpacerItem *leftSpacer;
43 - QLineEdit *userEdit;  
44 - QLineEdit *passwordEdit; 40 + QLineEdit *nickEdit;
  41 + QLineEdit *serverURLEdit;
  42 + QSpacerItem *rightSpacer;
45 43
46 void setupUi(QDialog *LoginScreen) 44 void setupUi(QDialog *LoginScreen)
47 { 45 {
48 if (LoginScreen->objectName().isEmpty()) 46 if (LoginScreen->objectName().isEmpty())
49 LoginScreen->setObjectName(QStringLiteral("LoginScreen")); 47 LoginScreen->setObjectName(QStringLiteral("LoginScreen"));
50 - LoginScreen->resize(402, 204); 48 + LoginScreen->resize(402, 173);
  49 + QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
  50 + sizePolicy.setHorizontalStretch(0);
  51 + sizePolicy.setVerticalStretch(0);
  52 + sizePolicy.setHeightForWidth(LoginScreen->sizePolicy().hasHeightForWidth());
  53 + LoginScreen->setSizePolicy(sizePolicy);
51 gridLayout = new QGridLayout(LoginScreen); 54 gridLayout = new QGridLayout(LoginScreen);
52 gridLayout->setObjectName(QStringLiteral("gridLayout")); 55 gridLayout->setObjectName(QStringLiteral("gridLayout"));
53 - chatroomBox = new QComboBox(LoginScreen);  
54 - chatroomBox->setObjectName(QStringLiteral("chatroomBox"));  
55 -  
56 - gridLayout->addWidget(chatroomBox, 5, 1, 1, 1);  
57 -  
58 - verticalSpacer = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Fixed);  
59 -  
60 - gridLayout->addItem(verticalSpacer, 2, 1, 1, 1);  
61 -  
62 - rightSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);  
63 -  
64 - gridLayout->addItem(rightSpacer, 4, 2, 1, 1);  
65 -  
66 - topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);  
67 -  
68 - gridLayout->addItem(topSpacer, 0, 1, 1, 1);  
69 -  
70 titleLabel = new QLabel(LoginScreen); 56 titleLabel = new QLabel(LoginScreen);
71 titleLabel->setObjectName(QStringLiteral("titleLabel")); 57 titleLabel->setObjectName(QStringLiteral("titleLabel"));
72 - QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum);  
73 - sizePolicy.setHorizontalStretch(0);  
74 - sizePolicy.setVerticalStretch(0);  
75 - sizePolicy.setHeightForWidth(titleLabel->sizePolicy().hasHeightForWidth());  
76 - titleLabel->setSizePolicy(sizePolicy); 58 + QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Maximum);
  59 + sizePolicy1.setHorizontalStretch(0);
  60 + sizePolicy1.setVerticalStretch(0);
  61 + sizePolicy1.setHeightForWidth(titleLabel->sizePolicy().hasHeightForWidth());
  62 + titleLabel->setSizePolicy(sizePolicy1);
77 titleLabel->setMaximumSize(QSize(16777215, 20)); 63 titleLabel->setMaximumSize(QSize(16777215, 20));
78 64
79 gridLayout->addWidget(titleLabel, 1, 1, 1, 1); 65 gridLayout->addWidget(titleLabel, 1, 1, 1, 1);
80 66
81 buttonBox = new QWidget(LoginScreen); 67 buttonBox = new QWidget(LoginScreen);
82 buttonBox->setObjectName(QStringLiteral("buttonBox")); 68 buttonBox->setObjectName(QStringLiteral("buttonBox"));
83 - sizePolicy.setHeightForWidth(buttonBox->sizePolicy().hasHeightForWidth());  
84 - buttonBox->setSizePolicy(sizePolicy); 69 + sizePolicy1.setHeightForWidth(buttonBox->sizePolicy().hasHeightForWidth());
  70 + buttonBox->setSizePolicy(sizePolicy1);
85 gridLayout_2 = new QGridLayout(buttonBox); 71 gridLayout_2 = new QGridLayout(buttonBox);
86 gridLayout_2->setObjectName(QStringLiteral("gridLayout_2")); 72 gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));
87 cancelButton = new QPushButton(buttonBox); 73 cancelButton = new QPushButton(buttonBox);
@@ -99,21 +85,33 @@ public: @@ -99,21 +85,33 @@ public:
99 gridLayout_2->addItem(buttonHorizSpacer, 0, 0, 1, 1); 85 gridLayout_2->addItem(buttonHorizSpacer, 0, 0, 1, 1);
100 86
101 87
102 - gridLayout->addWidget(buttonBox, 6, 1, 1, 1); 88 + gridLayout->addWidget(buttonBox, 7, 1, 1, 1);
  89 +
  90 + verticalSpacer = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Fixed);
  91 +
  92 + gridLayout->addItem(verticalSpacer, 2, 1, 1, 1);
  93 +
  94 + topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
  95 +
  96 + gridLayout->addItem(topSpacer, 0, 1, 1, 1);
103 97
104 leftSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum); 98 leftSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
105 99
106 gridLayout->addItem(leftSpacer, 3, 0, 1, 1); 100 gridLayout->addItem(leftSpacer, 3, 0, 1, 1);
107 101
108 - userEdit = new QLineEdit(LoginScreen);  
109 - userEdit->setObjectName(QStringLiteral("userEdit")); 102 + nickEdit = new QLineEdit(LoginScreen);
  103 + nickEdit->setObjectName(QStringLiteral("nickEdit"));
110 104
111 - gridLayout->addWidget(userEdit, 3, 1, 1, 1); 105 + gridLayout->addWidget(nickEdit, 3, 1, 1, 1);
112 106
113 - passwordEdit = new QLineEdit(LoginScreen);  
114 - passwordEdit->setObjectName(QStringLiteral("passwordEdit")); 107 + serverURLEdit = new QLineEdit(LoginScreen);
  108 + serverURLEdit->setObjectName(QStringLiteral("serverURLEdit"));
115 109
116 - gridLayout->addWidget(passwordEdit, 4, 1, 1, 1); 110 + gridLayout->addWidget(serverURLEdit, 4, 1, 1, 1);
  111 +
  112 + rightSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
  113 +
  114 + gridLayout->addItem(rightSpacer, 4, 2, 1, 1);
117 115
118 116
119 retranslateUi(LoginScreen); 117 retranslateUi(LoginScreen);
@@ -124,7 +122,6 @@ public: @@ -124,7 +122,6 @@ public:
124 void retranslateUi(QDialog *LoginScreen) 122 void retranslateUi(QDialog *LoginScreen)
125 { 123 {
126 LoginScreen->setWindowTitle(QApplication::translate("LoginScreen", "Login", 0)); 124 LoginScreen->setWindowTitle(QApplication::translate("LoginScreen", "Login", 0));
127 - chatroomBox->setCurrentText(QString());  
128 titleLabel->setText(QApplication::translate("LoginScreen", "Log in to chatroom", 0)); 125 titleLabel->setText(QApplication::translate("LoginScreen", "Log in to chatroom", 0));
129 cancelButton->setText(QApplication::translate("LoginScreen", "Cancel", 0)); 126 cancelButton->setText(QApplication::translate("LoginScreen", "Cancel", 0));
130 connectButton->setText(QApplication::translate("LoginScreen", "OK", 0)); 127 connectButton->setText(QApplication::translate("LoginScreen", "OK", 0));