(入门篇 NettyNIO开发指南)第四章-TIP黏包/拆包问题解决之道

时间:2023-03-09 04:31:20
(入门篇 NettyNIO开发指南)第四章-TIP黏包/拆包问题解决之道

熟悉TCP编程的读者可能都知道,无论是服务端还是客户端,当我们读取或者发送消息的时候,都需要考虑TCP底层的粘包/拆包机制。木章开始我们先简单介绍TCP粘包/拆包的基础知识,然后模拟一个没有考虑TCP粘包/拆包导致功能异常的案例,最后通过正确例米探讨Netty是如何解决这个问题的。如果你已经熟悉了TCP粘包和拆包的相知识,建议你直接跳到代码讲解小节,看Netty是如何解决这个问题的。本章主要内容包:

TCP粘包/拆包的基础知识

没考虑TCP粘包/拆包的问题案例

使用Netty解决读半包问题

4.1    丁CP粘包/拆包

TCP是个流协议,所谓流,就是没奋界限的一串数据。大家可以想想河里的流水,是连成一片的,其间并没有分界线。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。

4.1.1    TCP粘包/拆包问题说明

我们可以通过图解对TCP粘包和拆包问题进行说明,粘包问题示例如图4-1所示。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAl4AAAENCAIAAABRsfwVAAAgAElEQVR4nOy96ZccxZU2/v4DY585/vB67DODjfEi48FjFg/YMCy2kWEAA8K2LDYLsI3BIDYtvVd1bV1r1r7v1VXVe6t3tVpqSb1o7dYOEpsAYUmAEIttCW0tfh+ek/cXysyKzs6me96Buh/ydEdlRj55MzKeuDdu3Pg/n3766YULFyRHiSgWSn5VPJIoFvKFc4kazGrA8zFrllLw1GPmnD/PmEvhmY1KNWBWrK3U7aaFpwGzBuHUrAGzykrmDrkaTfIxS+Bpxqx4iWaVqtT2LKUUPPWYOefPM+ZSqNRj5t9LAzw+ZjXw5IX/R00tGp6cg3g2T855/hk9OQf57KUUPPWYOefPM+ZSeGajUg2YFWsrdbtp4WnArEE4NWvArLKSuUOuRpN8zBJ4mjErXqJZpSq1PUspBU89Zs7584y5FCr1mPn30gCPj1kNPHlhmRrLnwEPcyk8s1GpBsyKtZW63bTwNGDWIJyaNWBWWcncIVejST5mCTzNmBUv0axSldqepZSCpx4z5/x5xlwKlXrM/HtpgMfHrAaevLBMjeXPgIe5FJ7ZqFQDZsXaSt1uWngaMGsQTs0aMKusZO6Qq9EkH7MEnmbMipdoVqlKbc9SSsFTj5lz/jxjLoVKPWb+vTTA42NWA09eWKbG8mfAw1wKz2xUqgGzYm2lbjctPA2YNQinZg2YVVYyd8jVaJKPWQJPM2bFSzSrVKW2Zyml4KnHzDl/njGXQqUeM/9eGuDxMauBJy8sU2P5M+BhLoVnNirVgFmxtlK3mxaeBswahFOzBswqK5k75Go0yccsgacZs+IlmlWqUtuzlFLw1GPmnD/PmEuhUo+Zfy8N8PiY1cCTF5apsfwZ8DCXwjMblWrArFhbqdtNC08DZg3CqVkDZpWVzB1yNZrkY5bA04xZ8RLNKlWp7VlKKXjqMXPOn2fMpVCpx8y/lwZ4fMxq4MkLP4fUSKedP3/+/PnzU1NTVCL5+/z58/THuXPncIRMKQl7gkRwIzrt7Nmz50VBbXR39qj4aPQUiucrVjVLOc8I6YFKFDU/o8ag+PpmJNM2Kn4D5rdkNZg1CKdmDZhVVjJ3yNVoko9ZAk8zZsVLNKtUpbYh+CLOnDmDr/706dP0N/6VyFlRzp07R8dTp06dPHkSx3/84x+SI8knn3xy6tSpU6dOnTlzBpWcPn0aF546ders2bNUjj9wPi6kj5e+cZw2I6Ga6ajYLbBI2Oclwb+ffPIJnktyFyjq3LlzF0r3ipxmwGlUM2oM8sLPITX+4x//OHLkyBtvvPH666+//PLLhw4dOnz48Ntvv/3GG2+8/PLLr7322qFDhw4dOvTqq6++8sorb7zxxuHDh1955ZWXX34ZR8jrr7/+lkzYE+SyS5QDBw7Qmfjj4MGDu3fv3rVr1+7duycnJ3fs2DExMTE5Obl7924qx7U7RcG/kl937NiBa+U/8WXnzp3stRJ56aWX2EcjbZC8++67Z8+eVd/O1Ly+Gcm0jYrfgPktWQ1mDcKpWQNmlZXMHXI1muRjlsDTjFnxEs0qValtCHr5EydOdHR0ZDKZRCKRTqcbRcnIpLm5ub29vb29vaOjA8eOjo7+/v6+vr7+/v5CoZDNZnO5HHskyefzhUKhUCg0NTW1tLS0tLQUi8VMJpPNZrPZbEtLS3NzM8rxRz6fz2azuG9SlKwoxWKxeYZCNdOxra0Nj9Pa2loUhUUCaW1t7WAED45H7u/vb29vR/3FYjGfz7e2tq5evXrv3r3g75k2A06jmlFjkBd+Dqlx79694XBYEIRQKGSz2QRB8Pv90WjU6/WazWaLxWKz2Ww2m9Vqtdvtbrfb5/PZ7XabzYYjxOFwOJ1Op9MpCIJXFPYEuZhEsVqtDodDUqfZbDaZTAAAwb9Ujj8cotAJ7JEul/wkERQajUacib/1er1er6+vr5efD1UQWjpCvF7v+Pj4P/7xD/XtTM3rm5FM26j4DZjfktVg1iCcmjVgVlnJ3CFXo0k+Zgk8zZgVL9GsUpXahpw5c2Zqauqtt94SBMFkMlksFrvd7nK5XC6XIAhumTidTnxE6BBwxPdoMpkaGhqsViv6IjqS4Fer1WqxWBoaGhoaGkwmU11dnU6n0+l0DQ0NVI4/DAaDTqerq6urqal5VpTlouj1essMhWqmo8ViQS9kNBp1orBIIOgASfDgbIdDnZjBYGhoaHA4HG1tbTA31RuO0zaqGTUGeeHnkBpfffXVdDrt9/uLxWIgEIhEIolEolAoxGIxEB41XL/fH4lEYrFYIBDw+/04koAOA4FATBS/kgREoabg8/l8Ph/96vf7fT6f0+nE3T0ej9fr9Xg8giC4RAEN4wOD0PcGesa/Pp8PqOgquhZ/s+J2u9nWic+MWJ+4H5AkT8T+YTabN2zYcPLkyXPnzmlrDIqvb0YybaPiN2B+S1aDWYNwataAWWUlc4dcjSb5mCXwNGNWvESzSlVqG3L69OmpqamDBw/6fD6PxxMKhRKJRCqVSqVS6XQ6m802Njbm83myI1OpFLqOeDyOYzwehz2XEiWdTrNHsjhxSTQajUQioVAoHA4HAgG32+3xeHDrYDAYCoXoD5/P53a7BUHw+XyRSCQSiUSj0YQo0Wg0JEpQlBAjgUAAd8G14XA4HA6jBGcGg0HqGWKxGAzEpqYmOo0kEonERUkkEjimUikgicViuGM8Hs9kMj6fz2q1DgwMYBKqTI0an5zz/CQHDhzw+Xw2m621tbWxsTGXyzU2NtKrSqVSyWQS755tsnSckcCjAqFGxn4MaNyxWIwaEB2j0SggsX9Q80JjosrxN6pCa0ODw7X4BtIXSyqVYr8HSSsnnHIBcr/fn0qlgsFgQ0PDwMAAWq22xqD4+mYk0zYqfgPmt2Q1mDUIp2YNmFVWMnfI1WiSj1kCTzNmxUs0q1SltiHovl9//XV8jMlkMpPJwP+ZyWRisVg+n29vb29qaipeLIVCAR0RHbPZLHiC7XwSiQTRKnVZ+BW3o8tZrmV7G/yRz+cBCSfjbzBxMpmkM8l5C6JKJpP5fL6tra2tra2lpUXSecZiMVQIaWpqwmPSaST5fL5JlPb2drhh6RzyG0MzPp/PaDSuXbuWgh5m1Aw4jWpGjUFe+DmkxoMHD/r9fqvV2tbWNtfUKOEeRWrEaRxqZCskagQLSn6V34ulPTnD4UalRPIgkq+rTI2zFE7NGjCrrGTukKvRJB+zBJ5mzIqXaFapSm1DiBrh+8lkMiChGVEjyVxQYywWSyaTMGEx+4h7ESOy/QMhiUajwWAQ9ZNwqFHxNDk1FgoFdjQgkTI1lnwMDU/OeX6S+bQaQ6EQeT5LUWM8HsftSlEj2j0Zl+TKIAsvGAyGw2G4MuDJgWcVjlCv14ufgoyQ54TlQtTDAlB8qDI1zhTetJglNWvArLKSuUOuRpN8zBJ4mjErXqJZpSq1DSFqNBgMVqu1sbGxubl5ptQIukKnpJIa0VeooUY4kORUFIvFqCeRUyPG4slkEo4o3I5DjdlsltzCHGpsbGyMiW4zPDh8zmVqnOYxNDw55/lJdu/e7ff7BUGAdzsu+ruJGhOJBKhF4iIn5uBbY7FYDN7/kOh/h7CXsDUHg0GWGmkq0e/3sw79SCQCAHQVakPDQnvFtZhRwDEYDMZE4xUTqB6PJxaLpVKpXC6XSqV8Pl8gECD2xZkSyiQLlWY1UJ5KpRC7VKZGDcKpWQNmlZXMHXI1muRjlsDTjFnxEs0qValtCFEjAuLC4TBCNCk8NZfLYa5RwkzpdBodEfGWokMVn2cikcgygnJ8s5FIBEYhXQV+wgRKMpnEmalUqqmpie33ooywg2D6NSbapnQOdZ4sSJq8pAEBUSOYFTNBxKB8asxms3a7vaKior+/X3G12LTNgNOoZtQY5IWfQ2qcnJwMBAJer5cdUpGk0+lEIgGTi6UByd8qqVFRJNPXxHkhcS4ds9kSImT/ZdkRzIoWDzpkCRJxRrgFlWMAS3G5fr+fNYjlgFn2ZfGXqXE2wqlZA2aVlcwdcjWa5GOWwNOMWfESzSpVqW0IUSPCMoPBYC6XI88haxTKqZE6Io7ViKAb0BKZYvF4HJ85ughEFUh6NooGwiccjUZTqRRx3rSCYXHsYs+ZHB5rYBDPETUSE7PUSBfSU7Nzjdls1mazrVy5EtSIJZgzagacRjWjxiAv/BxS486dOwOBgMfjwatST42leE4zNVIJS42JRALDKzYMjM6RU2MgEEC8q9frFRgBNZI3lf2VImAjkYh6aqRBa5kaZwpvWsySmjVgVlnJ3CFXo0k+Zgk8zZgVL9GsUpXahsipMZVK5fN5LNSbPTWCV/CRstTIdhESaiRPD64lavR6vWA7NQI3bEy08NRQIz2aSmqU66RMjSUfQ8OTc56fhLUa0TiSySTLjtFoFHYb0UCpyTnJ/B87EQjBjWhBRSQSAePCs+FyudBkrVarz+eLxWIejweMiA8A/odIJIL1Hl6v1ycK66HFkkqHwyFcLFihAWHLPR5PIBAAqft8vmAwSPMH8XicALPMDbWQhYrw61gs5na7jUZjX18fWq22xqD4+mYk0zYqfgPmt2Q1mDUIp2YNmFVWMnfI1WiSj1kCTzNmxUs0q1SltiHIbPXyyy9j9V44HE6n07lcrlAooKNHp4+19ijBnBzrlkyn0yhUNNHQa+GTJP+k1+vF/GIoFAJxUs/GeqfQWcGNhGkU6gfYe7FDfAjfasxkMpjNQZ3Ef5Dm5uampqbm5mbqZinVAEvhZNdSTC98sHa7vbq6ukyN80GNZDWiDcFSpDdKtprctpMbf3idpe3DUCAQYG21mpqa3/3ud3/+858rKipeeOGF5557DlEzS5Ysueeee2w2m8fjqa2tfeSRR8LhsNvtRtOnCUh21TBRIygQ9RAFut1uWrwoyAT0xhqI+HjQQOk0+hUfUiAQYMeMmUwmEokIgmAwGHp7eyWan1FjUHx9M5JpGxW/AfNbshrMGoRTswbMKiuZO+RqNMnHLIGnGbPiJZpVqlLbEMyEHThwoKGhwW63R6NRRRsR5a2trZhsK2WBsVREfygOxKPR6KpVqxYuXPi73/1u6dKlixcvBkdiDUlI5qmKib5ZTNwoulXBeRBF7iSELS0tmUwGPRJ6UfYcOTWCHTEgkD8sUSOU43A49Hp9mRrngxrJapwpNUpockbU6HQ6H3/88YULF951111PP/30E0888fOf//zuu+92Op0Wi+WXv/zlN7/5Tb1eHwqFVqxYsWjRIp/PZ7FY4AsF54Ht2HQEwIPKLRbL8uXLsfzf4/HQmQiOpShZsCYtzqURJTyuISYOiKXGaDSK2Fc2Pq1MjbMUTs0aMKusZO6Qq9EkH7MEnmbMipdoVqlKbUM+W2pkbTUONbrd7vr6+u9///uLFi3S6/WPPPLI5ZdfzqFGmohBtEE4HCbbUSKUT45QKTpUKRcBuUzZpdi06pp1y5GUqfH/IWokqzEej6NBsMMZRWqUuFVJ8Do51Ojz+WAv6nS6f/3Xf73xxhstFks8HhcEYdmyZY8//jgiUR988MEf/ehHHo8nHA67XK7a2tpkMgl+cjgcVqtVr9c7HA5QndlsFgShvr7eZrOBsWw225IlS6655hqDwYDkNRDvxULllNeG0mQgaQ7mLOGYheOXCB5q8fl8+JbUUyPboOllkeuVza1MSYcpS/ssG8Nn+Blwmu4FJoG7IrZS5ZyaNWBWWYlahXJFDTw+Zo6uJPLpp5+yWf4lv0ouYeFJ3ggfM9VPAZCkK5TTOSiUn8aWHzhwwGKxwKHKdvSUbQOEUSgUMMUIoakK9kjmHXuUiMvlslgsl1122W233Wa1Wv1+/5IlSzDNGY1GQS16vR7uokAgUFNTU11dXVlZabVaBUGora2tqamx2+1Op7OqqkoQhEwmg8xtK1as0Ol0gUAgnU6bzWZkfbNarVjjSHyGeAVyzErsS/Au+BV0SKEY6Ekk1EiZTJDxx+l01tfXl6lx/qixVIQqhxo5ztVS4na7YZ4++uijX/rSl1asWGEymUKhkMfjAefBIvzTn/50+eWX22w2n8/34IMPXnXVVRh1VlZWPvDAA/fdd99PfvKT+++/PxQKrVy58rrrrvvtb3977bXX3nzzzc8++6zT6VyxYsXVV1996aWXPvbYYw0NDSD+UCgUV1rUz5ZEo1GPx4M0jA6HA2xqsVjcbjetJwmJDlV8PIiDnRE1ok3Txh3Ef5KtPNifKCU/5P333z927Njhw4ffeOONQ4cOHTp06PXXX3/ttddee+21V1555cCBAwcPHqQjycGDB1966aWtW7dOTk7u3bt3cnJy586d+Hv//v379+/fu3cv8qdPTEzgp4mJiW3btm3ZsmXLli1bt25FynWUbN68ecuWLdu3b9+2bdu2bdu2b9++ZcuW8fFxHMfHxzdv3jwpytatWzdv3rx58+bR0dGxsTGcT4Jzdu7cSTVv3759z549k5OT27ZtA5idO3eiEro1ZIcoVLJ9+3aA37VrF1Wyffv2HTt2KB63b9++WZ0QYCSphyqoHgK2Y8cOZKjfunUroWIxE3I8F2mYfTo6jo+PQ2ljY2MjIyPDw8P4aWxsbMOGDZs2bRoZGRkdHR0dHcX5pOTR0VH8S+V4g6+++uqrr7762muvHTx4EC3kr3/967vvvvvee++98847R48ePXr06LvvvsvuJ0N/yAc9bOOk3TPYXy9cuHDgwAEkAg0Gg5hrJBuolMhtOzbUju2O4jIJhUImk+mmm2768pe/fPXVV1dWVtpstlAo1NTUVFlZecsttyxZsuS666675ZZbHA5HIBD4wQ9+cOmll37/+99/4IEHKioqfvSjH1177bU6ne4vf/nL1VdfXVFR0dHRcc8999x7773//d//fc0111RXV6dSqRtvvPHb3/72DTfc8LOf/cxkMrW3t8cvnmuEO0qCDT1MNBpFuBAehE0Up2guk82aSqUQzVCmxvmjRszkzTU1gmz8fv/ixYuJGhEdihSmcmq87777LrvsMpvNptfr77zzzl/84hdPPfXUTTfddPnllyN77//9v//3yiuvfPLJJ6+66qp77rnH5/OZTKaf/exnV155ZVVVld1ut1gsCLRhB2isUHLUYDCIxEBWqxWzkkhczqFG8H1sJnONF5j9v7BDzSeffPL3v//9gw8+OHTo0Isvvrhly5YNGzb09fVRrn1kX5R8PIlEAkSOXK+U3xxryOhIQv8iiTxllDWZTEh8bDAYUANbmzwJMlLDU8ZnqM5oNNbX1xsMBqPRaBWFTSVfX1/PnkCJpCmhPJAbDIb6+nqLxSIIAi5kkbDpmyGU9pbFiTph7lMlbMZq9ogWokYISSgU8vv9DQ0NZrMZ9dhsNiDH2naJ6uQZpQkn7m4wGHA5amD/QApsSG1tbW1tLf6QFOL14UIqx0tvaGigt2MwGCilPjUJtGQ4bGKxWDAY9Hq9CJtsbm7GFhADAwNDQ0Pj4+P79u179dVX33zzzaNHj7733nvYNQl5rqempiTujc+WGuUj2lLU2NjYaDAY7rrrrksvvfSf//mf7777bkEQkskkxtAvvPDCokWLFixYUF1dHYvFfvjDH1533XUrVqzALOPtt99+xRVXOByORx555NFHH7Xb7YFA4Dvf+c4f//jHp5566hvf+MZDDz2USCTuvvvu//iP/1i1apXRaEQiaDXUGIvFEGHE9qsqqRHTN3a7XafTlalxXh2q80CN8GQKgvCrX/2KqBF9K7L9yqnx8ccfv+yyywwGg9frXbhw4bXXXrty5cqnnnpqxYoV6XTa4XBcddVVDz30UCQS+elPf3rbbbcFg0GPx3P33XfffPPN8MFWVVUhTodWIrISDAYpwz3cquhwkeIcndpnSI1TU1MnT5587733Dhw4sHXr1nXr1nV1deVyObiOKR+62WzW6/U6na6mpqaiomLVqlWVlZVGUaqqqurq6mgvAnSylCddsiUICf0rCAJyatTX18M1jShfTMqSSGKdyPMcCARodTOFHINi4TejCWCqCoa42Wym/VuwxgaC2V/QGHXWcGvDxyWZG2bDr8gZLok9xuwyVQLfuOIRANQIAc7lcqlUyuVyASdmpmk4wia+Z1FJdpmgah0Oh2QEw45p8JrwprAPDFoFtoagMYfRaKRL6kXBXLvb7QYB0341oEZqEtgXQq/XGwyGurq6F1544amnnlq5cqVOpwM2DIPQ9nCtw+EIhUKZTCadTre0tPT19U1OTr711lsfffTR3FmNtKaLXdwlp0aEwCAUQKfTXX/99V/+8pdfeOEFv99/++2333jjjU888QSWQOBtLliw4Be/+AUtdzabzTfeeOPixYtvuOEGo9HodDqfe+65r371q1VVVWazuaamxuFwRCKRRYsW/fCHP6yvr3e5XNFolPKb86kxHo8Xi8V4PE7hEeqpEc5Yi8VSjlCdJ2rcu3cvXjbLfzFm3lszNabT6UgkgkaAEqTdwWTAd7/73UWLFtlstkQiEQqF8J2jf1y6dOkVV1zhcrkCgcBvf/vb733ve6tWrRIE4cYbb1y4cKHNZgsGg/iM/X7/DTfccP/99wuC8OMf//iOO+5wOBzRaPT666+/7rrr8Akhfkc+XS8X2K8k1L2i86VyPA5WbsTjcZAxUWNNTU17ezs2Mr1w4QJMw+PHjx88eHBkZKSnpyedTqM/wiNbrVYKDpLvmQVPMnoxFpicwFhBz4suG6YJFaIqh8NBN1XssvEHWz+2H5FYXTTfTFujeDweSr8nUSaLGezIZuzDyImtBDUrPhqhpRkmdvglQe5yuQg5ZnpooIMILDrTIu5KRiYd2EVR2GcRBIFekyQQGo9De86Q1QgOq6qqWrlyZVVVFcw+C7P5GsgME2Mo14tCL5G172H0AAkelhCiKowOaXyDt0bPiNGP1+ttaGhAj49Cg8EAVm5oaMATYeKNPBC4u06nM5lMwWCwqalpeHh4cnLy1VdfPXLkyEcfffTiiy/inGg0Ks9NymFHyTEuLsn3+/20hY4gCJFIJJ1O01eMmcu77767oaEhlUrV1dV961vf+tOf/hSPx3/1q18tWLCgqqrK5XI9/vjjJpPJ7XZff/31N910U6FQwIAvlUrddddd3/3ud5csWeL1esPh8HPPPfeNb3xj6dKlwWBQp9PhqZctW/bTn/5UAo+O2Ww2JK7yisfj4PW4GOOKuUPiPLb1UiU0DUnzqSgsW43zR4379u0DnXzm1EijJ6JG6oYcDsfChQu//vWvL1682Gq1Go3GlStXVlZWWiyWmpqaRYsWXX755TqdzuVy3XnnnZdccskLL7wQi8X+8Ic/fOlLX/rP//zPm2+++ZZbbjGbzbW1td/61rfuuOOOZ5555sorr7zpppswc37rrbd++9vfvvXWW5cvX44RLnGzmyvU07F9sWSYT9GwpJZgMEjUuGrVqq6urrNnz37wwQeHDx+emJjo6+sLBAKwq8jOAzmRhUFU5LxYWDYq1UfLhX0QtgeHoSMhS0UlsD07/lCkRtqaB4SE7pW0PS1InE8TSLRPEIUH86lREASKpaIUEFQJeyTkBNLn89G7o8pZtU9LjRJI7GuSDDLAzeR5JgHrwPmJrfjk25oajca6ujqDwcDuU2iXCQZY8HlQIZE0NTNM6hMYYlDgxEJhq9VaX19PT0f3pf3pBGagQ40BteFkOAksFksul+vv7+/u7iarUSUvljKecATTwDQUBCESiWQyGeqmMP7A5//4448vXbr05z//uV6vz2azFRUVP/zhDy+55JIf//jHcJYajcYbbrhh4cKFGDNFo9F8Pr9s2bKbb7552bJliUQiGAw6nc5bb7313/7t36699tpbbrmlrq4uGo3ed999CxYsgOmJ1OQsQviBiBpZ+pQ8DmsUshGq2ISZjrRopByh+jmnRqzlf/jhh2+66aY777zzkUceqaurEwTB5/MZDIaHHnronnvu0ev1RqPx4Ycf/uUvf7lq1Sq/319TU7N48eJbbrnlzjvvrKurC4VCRqNx4cKFjz766PPPP79kyZKHHnqoqqrKYrE888wzd9555/33328ymfAIME1gsJYSeT8o4RIIUSM+zvDFEapWq7Wvr2/Xrl3xeNzr9RqNxsrKytra2oaGBrjd4NIEqWB2kzrTELM5HAR9mTZqRIdFTmzqo2HfCFxqZNmUaINjNSKHA7pXldRIpg/xK4caFR2qLpeLjDB0bdNSI037uVwuOTWS2t1u92dIjXa7HZOs4DnMFKJ5g0vAiyAwuhCPjPEfzDhQl9frBQmxJiMcnjabra6uTmK/ut3uQCAQDAYxBsWMI/y08F0TTpYaqRmg/dBCYcnohxTLCu0tXFdXB09vdXV1fX09vnrN1MgyB20XJcioEd/Rn//852XLli1ZsgSxeE6nE83MbDYvXbr0iSeeMJvN6OiwrhpPF4lE2trayDp0u91wzJrN5ocffvjpp59G+EIul3v22WdXrVqFVhSLxdjV+nJqxKo2JAmhzpNWdNDqfjbMtbm5GUEGOLa0tBSLxTI1zis1TkxM4HtmXxtRIyaN0d0glxIW3VNfxmb9llMjMhPSr0SNGHK63W60P/gSMXPjcDjQieD7xxH+uoaGBrfbjakj/IERotPpZOeN8GUaDAZgFgQhFApRYDfGvzTgRdfs8XhoZC3xUpIlwXaFtPYDLpe4uAek0Wisra1Fh6LT6YxGIxSLWUnsUonOF4BZ3hIEgUpInE4n5ttYjy6NyhX5kvZepuk9LHShx2FdqewDYhADPyfLoHShnBppo2niKre4eSzl5MNSVFRCE5Z4WViBarfb3W43rZxB5VQz4USFmN0k7qEwHD41or3hMYHcLa5nJZ8qzB3YXtA86UTiUWdbApgP89MSaqSBiMViqaio0Ov1iDPCCwVs0j/ZYRRVBJCwCFFPKBRCCZ1PtEShPdAnyuEjwUuEJm02G3kRTM1/wlsAACAASURBVCYTviyolJ6XIqTQkOh81plBoyi6Fz46gKcNwDEOqKmpqaysXL58uU6nQ5armJjpOybuzBoTc12R/UR+b2ILCkegTQLgioyJISoQMDfiYkKhkMvlgrsIWxajO2LTINNWxugAkZkL12JMz64VAQx0icCPOiWr9VFJlNksCI9Go7EQs5UQbW4FAxHrNJAwiI7IOlumxnmlxu3btzudTkzgyamRcqjie8CEM50miJNGilYjjQHJmc7O65CgO4PTRuIuY4/UNbOfK1kebnGmBJzH+n/Q2aEvRm9ChITKMeePfkQOT1EIGFmNYD6dTvf8889XV1eT7xTcST17SHTDKvbgcgCwKqgSCPVEijaNnYm9pNMkdMh6cUmxApPWQKJnoQQ1SoYRLH4M3iFEjT6fT1IIP7PT6cRUGeKbMK3FGl6CaGeHw2FFrzjfoSrXM0JCMFrHjLjFYqmvr4e2KTaHNYIVmwe+HUVqBEnAibpy5Uq9Xm+1Ws1mMzpr4KQmSu0ZSsbnwJKf2+0Oh8MucSEvkT1LSHYm/Mput8PRDQcs+/YFMSAc86B4EahEQuqonH3jEmF/IjbFLQAVotPpsCgQQbAxcVfzWCwGqojFYuy+wRSGw1IjhizICkldUFwmYTFgB3UGAgHyEOCnqJhMnO3uIHRTsm4pcC8cDsM0lPRyYVmaVom/lJUYs0k7nUA5VNnk45Jjecn/9Dw3oyfnPP9nQo34At2My5QVMq2IOz8TasQdBcbbSaNUHNm5FtyCFhKgC2OpkfrraDTqvTgjOUdmSo3oiWDmzp4a5dYYK9RPeZVyqbNkxqFGyorAmpvTUqOkcg41BgIBdMRwMv+PUCP6YmxHqo0aybwjLmGpEU0Rq0c41CifCSZSxOwj+fOJGukSIkU6jX1BeI9o/HQ+RajC+HY4HAj5kcwmsrVpo0bSg9vtttvtiB4iytFAjWR+RZhN6xSpERSogRpp5oVKytT4haNGyp2xefNmOTWyiXRjsRhFlsJ9Sqm9iRrJAehjhNwv8rlGQXR72mw2TGPQ0FgQOY/CMqmQXE/keHSIAQV2ZnkcCfop9A600g7fP3lQ8SWjy8aHQYNTv2z7Dgi8grTgATGWPp8vlUoZDIZVq1bZbLZAIIApJfSDWNXAKhmVU44e9KQ0mGC9fzT4kAAIh8NYkCrx99IogaIiMbKhqB8nE2ZCYR2kBHKe08wWmeOkRhqFUJ9O7wiKRTnriiSQRLp0U/ifQ+J+ZDiZ3jvBgMKhNzk1UiAxTmOvYl3WdPR6veRQBe1RwDA0rJIa4YN1u91WqxWDIZalwJqYdcPSi9raWpPJREY8CTV7ap/ElOTDxHvEXClGeOA2tqlAqxgF4lXamSlnt9sNXsRiX3xBcM4jfoeMUbIaaXaWbEpW2MEH+V1pfABXMDQDPOl0OpvN0rwa+ZNAlpSdmP0GiWZoq8W4GAPBLnsghypZjfCaYsKepUaaAaGJnrCYBUy+3JB8vJhQhOeWToNTFEnA8VDYCEFCjVFxpw4aCoQYhyqYlQTPyKfGwcHBMjWqlZlSI5YWnD17dmRkRE6NNGSjPyhaRHJE30GcJ+8+BHG8L6FGSfCLxECkD5L9CQITKnxx+KJ8AEukQsNzyWfM0ieEzA6fz4fBo6KZCwphI2iAOZVKWa3Wurq6QqEwMTGRTqddLhcWoqHbxYINdGqSHhzzQET51NOhT5QAMJvNTqeTzDuczJ6g+LCsWhziGnnMR9psNr/fjwEyuexwIb07t9tNE1pyg4zsRZdSDnf21nK1Ez9R24Pa8daoUMJwpYSNH6ajpAG4RXMfNyUKIaHHmdahSo8vz0iAZ0RVYCCDwVBdXY1JaFp9iDk/OxM7ozggo1lSssAoNAZkRg0GFnl9fT1RFDs2ZUefNBDBF0cpFAiMw+FA5I7RaLTb7T6ZeJnIIAwLsNQSPFpTU4MRlU6ns9vt0WgUWxnn83k22TJxD43/6DUhgSXRDMcsI0qjl862KHmfJjkNDBcX40XxK6guKRM6jZZpskzGQmXZkQzT0MVhOHLLMh6Pc6ixvr5+48aNlK5vNgRRpsYZU2Nc3OFFMoySJDDEJ4c3SsvL5F+1IjVS2L2cbt1inItib0jUGBQ3K2bdWeyRSKsUW0j6aIq/QAchscZIaFjN1kzUWFNT09bW9ve///3jjz9+9913d+zY0dHREY/HLRYLIhEwGrDb7TSaht+MHV+T5cGnRq8YFyo5pxQ1Ul9JkTIejwfWtoQaSbFEWlAO62VlbyqhSQkePjWSMomu5pMaEbcsiP5GbdQoiLt+SjwBgmga2kX/M82w6vX6mpqampoa5LLBgkWETeF7lAiMe4e43AKtxSFmElZJjTShzlIjNT/WTSqnRmCTCIZKWKaJhAC1tbUI44xGo6tXr966dWtXVxcSEkWj0Vwul8/nyZUqoUZaw0c9DBuVOiNqlAy2ONRIvjE2epb4DEqDA4Z8aawdqYYa6SlgHJMxWqbG/wXUaLfb2SZFOW1pUQcW0lIAFY5ovjgZEQ3xeFzed8ip0e12UzNlrTpBjBcnh4m8NwQ1ojby0bETjdR9YGkwXGSSSgQx7oAlPzTZcDgM+kFfIH8cm82Gtfmwn0AVLDU2Nzd/8sknlAH1zJkzJ06cOHz48IsvvtjZ2ZnNZtF5YeYJ+b1gulFiMOqGQI3k+IXQ5BxsTTdjGbMPqEiN5HUksxiTVaAKWt9C9/J6vXBw0UukEQlLhxTpA9+dcDFxOi8OepSMOUwmEzpfOJ9hjpNi0SCDwaC8Wgk/QfBohJZDjXQv2Nx+v98mLssDPNfFGQzcjHEsvzW1WJqPIMB4fFSFIH6/3086MRgMFRUVFRUVVVVVtIoDthcttAAzEQ8Bak1NDS35YDWMJ0JufYGhRqiFxgFYTWS329H28BSohPTAJpmjhANIK4g8AAaDAe5Zrxiq3d7evnv37rfffvvEiRMnT548d+7cnj17wOuIVEDiGJrVC4rboyIhAKXSpmOMu2MwS40h0VcZZDaUJf4LMcJyJ1DhpbCcl0qlwuEwxe5imAgh2k6lUllRONQIG4Otmd15Q5EasUUJapava9ywYQNlmZ8NQZSpkUeNY2NjiNeA6tEH0XtVua5RMbSdRDGEFb4dm82G1oCxNsbLNLZljxTAgtl1rIhASAILjw00lURGCIIQEvNNyDPGhUoEUsqFAj0Qxo0KiRpXrlzZ2dnJ7q0heftnzpz58MMP33333TfffHPPnj1jY2Nr1qxpb2/Hl4AVJugZ9Xo91kpXV1evWLGCXHAGUXAOUnzRjBG6M2SSQyGWlNCKOhxhK2BRXV0JQR5OissnrVIl6K/hKsQlyIAKqZUJmxOVTqNpYFRSW1uL/C+omfVS0gOyk8cUYEU/2cRV6jROYtONwjgjfzK8iFBaRUVFdXU14mXAGfX19QQeiQK8Xq/NZpMoFpswSEDCkELaUiok3ZL3krUL6XLKCQBTDBOEdMRmEdXV1cuXL3/uueeee+65FStWVFZWVlZWVlVVSXReV1eHFR3w7VMhKQd5durr62tqalaJQpdTcjhwA4g/k8m0tbX19/dv2rRp586dr7322ttvv/3+++9L9ofBZNi+ffvIasScHFb4kdCXRRTI8h992nxqpMETLSeDnyMSiSSTSfAx3Q6c5/F4YrEY9gAJhUIul4uoEa5UjPXpKvo1JC7BYqOK+A5VOfnxf2Ufn70XqHHt2rWSrVG0EUSZGlVRI6bH0WrngRrpV/gW5ocaafmEIucRNdIoW/HM2VDjp59+ev78+U8++eT06dPszgbnzp07ffr08ePH33nnncOHDx88eHDHjh3Dw8NDQ0PDw8Nr1qzp7e3tFgWLnBobG2lEiRUINJhF6AGFeFCiMvZIHTcmFBUF2VUoewv6aIvFQpVAXfDvoX8XBIH8Tn6ZhMQFpuFwmODBdIbViJppYI6BgiDO2OFIo/t4PF4QhebnUJjP5zHOQCX0OJQHB+BRIS2HDTLZvOA/oGx2iAfZuHFjc3OzILpJWcVKQAqMG9nBhPKSbuGJQU4MsgvZqQrQMGavwb50rK6urqqqQnYLCvaB2cduskaeQFJ7iHEPkg8zl8sVi8Wmpqb29vb+/n4kE6f9Rmh3kT179hw6dOj48eN/+9vfPvnkE2yaxgaDyC0YDjWCCClwZvbUCBbE+J46BBJiNaqNT42sACS/cO6oke6FfrJMjf8D1Ij3igiruabGYDBIK9lxx/mhRhr4+5VWm8yD1UhtAJv4nDlz5syZM1Pifo2SLavOnz/P7tpIWwKdPHny73//OzbreO+99957773jx4+fOHHixIkTH3zwwQcffHD8+PGjR48eOXLkr3/9K7Ycwk/s8eOPP/74448/+uijDz/88IMScuLEiY8++uhjUT766CM6H5XQXehex44dO1Fa3n///XdF+asoH374Ie7C1kxHqpyOR48efUeU46IAyZEjR1AItWCvJfbxjx079s4775w4ceK9996jCt95550jR4689dZbhw8fxoYS77//Pk44evQogT927NgHH3zAIkdVqFkC8siRI4cPH37rrbfefvvtw4cPUyHplkCeOHGC1EsPDoWQwqEiOtIrA040AElLIKFG8uGHH3788cdUePLkyVOnTsHnKWl1mMeitorGLN9Pjd1VFH9Ieh4ONYbD4ZQonwk1YryICTl0CDCzMEzEUABZndVQI9lq8JpC6FeyKSnudO6oke4FAGVqnHNqpF8nJibgeUgmk7QtNcm01IgZglAohOnDSCRC63z51EgTIRTZgbkKmDsUWC+nRnhOaJ2yIAgUzU/7W9GtabROLOv1evFlUhAQOz8ntxppbCunRq+YzywcDiOq2+l06nS6np4ePjWyjYF9R0R+co5U3C2PI/Jv5jP8DDhNly9TjKhvpRow0+3oyGqYrXZGoqh8NfDkhfxK6O1L0HIwl2obn376qfynT5nlW2z99HZYnOy19Cv+pWYGtJJbY9i3b98+RJ8lk0lY87DLaZYO+cGLxWJjYyN5QSRmU0zcyImy0kgIhhaE0IQl5e3CFC+WWMTFYNFQKIQeJiLukBwOh9kVFER++OqJm1nLgS2RxNfEYjG4BxDmQ8E+HGpEJ4OhP2VPZWccy9Q4H9RIQlsZa9iUiiJUMTRD+6A4N5UOVSItNAt4vegWRFpEjZikZA1KOf8JJfIGYDUb+JW9RCJeJocnO5DkUKP6/RqnbQyKr29GMm2j4jdgfktWg1mDcGrWgFllJXOHXI0m+Zgl8DRjVrxEs0pVahtC1Ij5TvBfTibRaDSbzba2ttKviL6RcAmiV+Dr5hMMhAxEjFzjzCLF+MVbW7Bu0sjFwgbNxrgiN/gwQxkX08hFL96goxQ1xuPxadc1lqnx/3VqdIvppLHEKiamn4AQ66ikRnapmUpqlMi01BgSd1tUzCNDQg5VdqhYpkb1mDUIp2YNmFVWMnfI1WiSj1kCTzNmxUs0q1SltiGfLTUWi8Xm5uaWlpZsNsshGIytMXUi77KIn5DUG64y+sYlbiS32x0IBGg540ypEdYtBZdKTitTo6rGxEE8myfnPD/JxMQEVu/Sitd4PM7mqiBqlK9rpIACBMGDSGjURqlJKAgtIO5865WlLmPn/9CCKR4B9YRkoQQ+ZjdaTDFiCYecGulM1ExXlRK/uIkgGz5HJQi78Pl8lLqMpUaTydTX1wdXmLbGoPj6ZiTTNip+A+a3ZDWYNQinZg2YVVYyd8jVaJKPWQJPM2bFSzSrVKW2IWfPnp2amnrxxReRVD0ej7MdPVEOnI1wHsqpkVgNJiOiBeOiM5NdawiCoU4GVwUCgTiTPYd6NswEsTnNY+IkZVhM+IW5xoQodBo7/yffNIOOiIylvOHsxCqQpC8WOG8l1JgXpVAoYKvXqqqq4eHhc+fOlbPhaH9yzvOTTExM0OINeq+sp56d05a/fkiUyTQoN7NIFJPLwEoLMxvMhpnEiWSwgpMwPRCWCVEjrZFnqZGGjSySZDJZLBbl5iw7GuAIOxRlqdFisQwMDJSpcTaYJTVrwKyykrlDrkaTfMwSeJoxK16iWaUqtQ2BTXPgwAFkoYN1yNpAEOIeYkeWGonV2HEzdT70PRI1RpgsbvBqsrxF1CiZ/IMQN+O+iURC0VikpyBhDVk6ZjIZSotKpxHgdDrdeLFkMhk5NWLzDYQQZzIZm81WUVExOjp67ty5GTWGaRvVjBqDvLBMjZ89NWJ8JxkhyqnRLSZTFsSMbqwIF29Yz6fGYDCI4NJisagYjBotkcOJ/fbK1KihlarELKlZA2aVlcwdcjWa5GOWwNOMWfESzSpVqW2ISmqkFTjEIiw10jRhmHGKqqHGUCgUEzOjUn9CUTyQUtQIwxS+q9lTIxIC4CqKFaJfVVIjdkvGIt0yNc4hNeKnqamprVu3glQwPsJQK51OS7YcizE5KaixUgsLh8NwYmD5F4QygrIOVbdM4FuAg4UmvVEDYl9DYjYvrIl2OBxyMsOiOreYAk3yBzudDpr3iXt9YDcA+gm1xeNxBKehmULI/UIrsdirMJ2AasvUqEE4NWvArLKSuUOuRpN8zBJ4mjErXqJZpSq1DcFX8NJLL7HUSGxBMy9NouRyOfJAktMyn8+Dfmh+B07OuBjqAmE3BMZHiuhTRD9Q7m+a/8PoH/0YuXbpYwcSdHr4id0Skg2vpVBS6iFpFpN1EbOxpvhXLojLRWdIyYDy+TxRYzQaRT6QsbExOFRn2gw4jWpGjUFe+PmhRlrXuHHjRqReRBPBkRLFkbMbS3/IFcAmh0uJO9653W6sU4TQmgo2a1dEJvha8vk8G3sGwxEJnIjVEAeL1RcS8YnbnIKe2X0Y/H4/Gj2xXSwWC4nJwzweD/sUwEnx3OyqJpZcaUyKXHrBYJA+KpfLNTQ0JNH8jBqD4uubkUzbqPgNmN+S1WDWIJyaNWBWWcncIVejST5mCTzNmBUv0axSldqG0LpGZBcKhUKsF1GRHsAcOAE9T3t7e1NTEyW4wFwjjcupB6Dzm5qaisUifGAUWZrP5+kE/EHUmEwmCRItLCEMEqsOAssP42ZJRjfqzbBGPCETApBVEsmvmUwGCdlbWlqKxWI8HseWNdu2bZuamjp9+vRMmwGnUc2oMcgLP4fUuGXLFjBBc3MzvV025AR/eMWNjdhFhxSMCr88mhoVUmvwiRtU+Xw+eVsJiQuMkCwboTTIY4m4WRB2OBz2eDyIspHnwkdVyWSSMmFS8i3kEGCfBeRHAAiwIO5CgNUj8HjIHwepWTGpyWZrhDgcjjI1ahBOzRowq6xk7pCr0SQfswSeZsyKl2hWqUptQ4ga8SWiB6AeQx6qivExQgfoa4VHNBAIEGOFw2H6AMlHRefTtayXlf388Qdt/SYwKYoICcUYkgSDQfqVEqti2E38Cnh0F7e4STUrBEDRoUq/kkMVFiRyrgKzw+EoU+N8UOPo6CgsrXQ6TbvM0IukRMPYVglr+V3Mzn+0ow3Se2JTCAjtvGMSBZvbSQQJMK1WK3I5Uios5Lpkk2/R1jnyCUs2HTMyi+LW+AOZtJzipndo2ZSPlADjGU0mk8PhwL6DdnG3PBoWwK+LVJZI840YIvZxytSoQTg1a8CsspK5Q65Gk3zMEniaMSteolmlKrUNIWpEylw2l6zZbNbLRKfT1dfXUxZ19Dz4WtHD4HOmk+vq6ipFofOR0RC7gFVUVCCvLFsh/jAajewdIVQ5ZdllRQIV12KzOfR1gEf42ZzsJAQAPRUriOPFr9R9sfnlacfZMjXOITXSr7t27WKzLcD/4CwhLCm6xK2gaFcHdi8nJ7O9ML4EtDa7TNianeIGGvjDxWw0iEybyPQvvxflhAOLg7rQ+AwGg0Pc3dcpbjjluHjzQokgHyNcuFRISSkFJgUdYaDRZTQa3bdvH5JvaWsMiq9vRjJto+I3YH5LVoNZg3Bq1oBZZSVzh1yNJvmYJfA0Y1a8RLNKVWobgrV3b7/9dn9/f4dM2mXS09ODJK5r1qxZu3bt0NDQ4OBgZ2dnR0dHZ2dnc3NzU1NTc3MzVjfiSNe2yKS1tbWtrY1+pfNRG4uhWRSaJCoUCs0yIauxtbUVFxYKBZyfzWYV4SkKfsJUYjqdLhQKANPa2koO1ZzSukbalmTz5s0nT55kkyWpbAacRjWjxiAv/PxQI8mpU6eQqvHEiRNIRHn06NFjMqGf2OPx48fff/99JMY8IpP3GUGiy/eV5NixY/Ka6Y/3338fuTffeecdlCNxJQolCI8dO/buu+/S7dja6ISjWuUjUZDoEnchXVGi0ePHj58+ffrs2bOffPKJtsag+PpmJNM2Kn4D5rdkNZg1CKdmDZhVVjJ3yNVoko9ZAk8zZsVLNKtUpbYhyKHPplrly9mLBSXI10pZWyVHSqNYqk76icXA1sne95Qo+IRLCdVz+vRpnI9N6OTwSj3muXPnPhHlzJkz7CPIK8FNz5w5Q/D+9re/SfIIqmwGnEY1o8YgL/wcUiObqPOCmC9RsYWxSRcp4zD7q0ToV3p/U1NT8ppp4aokqSPdAvWw5YofA30qrBLYx2HbGV8k1coL5d8bm+kUty5bjZoxS2rWgFllJXOHXI0m+Zgl8DRjVrxEs0pVahty/vz506dPy3sGNULf1AVZnyDpKDjC6VgkR+qF6By5UFcgT2isWCcfFemTLedQ4zkme7ukz1Qj0zaqGTUGeeHnkBpZYFOlRyJoGZJ3xtKAnGBUIqf9JSSjLWoN9FDUICRNin5ln5d9HMXPgCOSauWF7C2oBIKTp9U2pzFIZEbNgL2E06hmBE8DZg3CqVkDZpWVzB1yNZrkY5bA04xZ8RLNKlWpbRL0EjB6phVKe0a10bXsGPScksF3Xibnzp3DhagZV1Ft7JGGvARb0QylX+lxqHBKtAQkR0XBT6RP6jzPiUsVp22lqERDM+A0qhk1Bnnh55kapwXPx6xZSsFTj5lz/jxjLoVnNirVgFmxtlK3mxaeBswahFOzBswqK5k75Go0yccsgacZs+IlmlWqUtuzlFLw1GPmnD/PmEuhUo+Zfy8N8PiY1cCTF5apsfwZ8DCXwjMblWrArFhbqdtNC08DZg3CqVkDZpWVzB1yNZrkY5bA04xZ8RLNKlWp7VlKKXjqMXPOn2fMpVCpx8y/lwZ4fMxq4MkLy9RY/gx4mEvhmY1KNWBWrK3U7aaFpwGzBuHUrAGzykrmDrkaTfIxS+Bpxqx4iWaVqtT2LKUUPPWYOefPM+ZSqNRj5t9LAzw+ZjXw5IVlaix/BjzMpfDMRqUaMCvWVup208LTgFmDcGrWgFllJXOHXI0m+Zgl8DRjVrxEs0pVanuWUgqeesyc8+cZcylU6jHz76UBHh+zGnjywjI1lj8DHuZSeGajUg2YFWsrdbtp4WnArEE4NWvArLKSuUOuRpN8zBJ4mjErXqJZpSq1PUspBU89Zs7584y5FCr1mPn30gCPj1kNPHlhmRrLnwEPcyk8s1GpBsyKtZW63bTwNGDWIJyaNWBWWcncIVejST5mCTzNmBUv0axSldqepZSCpx4z5/x5xlwKlXrM/HtpgMfHrAaevLBMjeXPgIe5FJ7ZqFQDZsXaSt1uWngaMGsQTs0aMKusZO6Qq9EkH7MEnmbMipdoVqlKbc9SSsFTj5lz/jxjLoVKPWb+vTTA42NWA09eWKbG8mfAw1wKz2xUqgGzYm2lbjctPA2YNQinZg2YVVYyd8jVaJKPWQJPM2bFSzSrVKW2Zyml4KnHzDl/njGXQqUeM/9eGuDxMauBJy8sU2P5M+BhLoVnNirVgFmxtlK3mxaeBswahFOzBswqK5k75Go0yccsgacZs+IlmlWqUtuzlFLw1GPmnD/PmEuhUo+Zfy8N8PiY1cCTF5apsfwZ8DCXwjMblWrArFhbqdtNC08DZg3CqVkDZpWVzB1yNZrkY5bA04xZ8RLNKlWp7VlKKXjqMXPOn2fMpVCpx8y/lwZ4fMxq4MkLy9RY/gx4mEvhmY1KNWBWrK3U7aaFpwGzBuHUrAGzykrmDrkaTfIxS+Bpxqx4iWaVqtT2LKUUPPWYOefPM+ZSqNRj5t9LAzw+ZjXw5IVlaix/BjzMpfDMRqUaMCvWVup208LTgFmDcGrWgFllJXOHXI0m+Zgl8DRjVrxEs0pVanuWUgqeesyc8+cZcylU6jHz76UBHh+zGnjywjI1lj8DHuZSeGajUg2YFWsrdbtp4WnArEE4NWvArLKSuUOuRpN8zBJ4mjErXqJZpSq1PUspBU89Zs7584y5FCr1mPn30gCPj1kNPHlhmRrLnwEPcyk8s1GpBsyKtZW63bTwNGDWIJyaNWBWWcncIVejST5mCTzNmBUv0axSldqepZSCpx4z5/x5xlwKlXrM/HtpgMfHrAaevLBMjeXPgIe5FJ7ZqFQDZsXaSt1uWngaMGsQTs0aMKusZO6Qq9EkH7MEnmbMipdoVqlKbc9SSsFTj5lz/jxjLoVKPWb+vTTA42NWA09eWKbG8mcg3RhSAo/d95Fuh3/ZTdoI3oULF2hrtylxl2Z2i1QqVETCbqHMbi0p33STsKEqye6Y2LhOXj8r7G5zcswsEtp9Wn45/U279AEGANAWm5J6aEtbUuy0zeDChQtUifxlXdDUGCQ7d8rRTon7icovlNfGabpTSnuLnlfaMFwu7B6l7HtnmwdtEAidSyCR6qZk24lL9E+Yp6am6E2R8DXJ+fV/XZ/AwVwKlXrM/HtpgMfHrAaevLBMjV90amT7F0V4bB9Et5NcxWK+IG73yqdGxa6E7YnYPVepI5PoGf3Xe++9d+DAgbGxsZGRkU2bNo2Pj4+Pj2/YsGHTpk07RUHh2NjYtm3btm/fvn379g0bNvT09PT09PT29o6Ojo6MjIyOjuLXbdu2jYyMrFu3bt26dSMjIzt37ty2bdv4+PhWUUZHR9evX79mzZp+UdasWbNedY5dugAAIABJREFUlM2bN+OE0dFR1MYeCcDx48fRj0/NnBpJjfImN63INSwZjlxQ2jKevfC80sa27CvmV8VWeEHFXtyKtbFy8uTJycnJvr6+/fv3nzp1ik6+wHw17H2nLh7WTJWgRvk4qVSLlewMLJf/XX0CH3MpVOox8++lAR4fsxp48sIyNX5xqRGf+ocffvjmm28eOnTo5ZdffvHFF/fu3btv3759+/YdEGX37t1gl927d+/bt2/v3r27d+8Gx+zcufOll17Cafv378evOE5MTGzdunXnzp2Tk5OTk5N79uzZu3fv3r17d+7cCYbYunXrJlFefPHFl1566aWXXgIJoeYDjBw8eBB/4DQW5+7duwcHBxsbG71er9vtFgQhEAiEw+FIJBKNRuOiZLPZbDabyWSi0Wg4HA6Hw7FYLJ1Op9PpTCbT0tLS3Nzc0tKCX0OhUDAY9Pv9fr8/FArF4/FQKOTz+UKiJBIJFMZisVwul8vlMpmMW5RQKBSJRCKRSCwWw5l0hEQiEZ/Pl0gk+vv7R0ZGtm7dSk+3TxRS7IsvvgiV7tmzZ3JyEiodGhoaGhpau3btrl27cCadhmtLya5du9aKMjAwAF4fHBxEyfDwMIYI7HFoaAg0PzIyslGUDRs2bLxYqGT9+vVr164dGhpat27d2NjY6Ojo2NjY5OTk7t27dzGyZ8+e/fv3oz3sKi27d+/ev3//rl27tm/fTrVt3rwZY5TJycmDBw9u3rw5n88HAoFisTg8PLxx48ZNmzZt2bJlcnISykTD27Zt29jY2MTExI4dOzZv3oxmtnPnzl27dknU/tJLL+3fv3/37t1oq2jDUDUEde7du3f//v379+8/cuQI36b839InqMFcCpV6zPx7aYDHx6wGnrywTI1fXGqEyfLmm282NTV5vV6z2VxbW1tZWVlVVVVVVWUUpV6U2traqqqqysrKVatWPf3005WVlQaDwWAw4DT6Va/X2+12nU63cuXK+vp6vV6v1+urq6srKysrKysrKioqKipWrVpVUVFRLUp9fT2qqqmpWbVq1apVq2praxsYsVqtDQ0NJpMJp9XV1QFndXW12Wx2u93RaDQYDAaDwUAgEI/Hc7kcqI4YsbGxsbGxMZfLpVKpZDKZTCYjkUhAFHAhOC+ZTCYSiVAo5PV6vV5vOBzOZDKJRCIcDidFyWQyqVQK1JvJZDKZTDqdjoqSTqfz+Xxra2tzc3OxWCwUCnQsFovNzc2pVMrv91dVVdnt9oaGhsrKSlJ1lSj19fUSxVZXV+v1eqjUZDKZTCacgFeg0+noNENpMTKi1+t1Op1Op6Nyg8FAt6BjfX29zWYLBALBYNAnitfr9V0sgiC4XC6Xy2Wz2YxGo8lkslgspFg6kkBRgUDA4XAESwv0HwqFHA6H3+9HPbFYLJVKpVKpbDbb2NgYjUYBCScIguB2u+PxuM/nI30aDIbKysqnn34a/65YsQJKrq+vh+roNOjBZrM1NDSg3aINUys1GAzUnvV6vSAImzdvVvSC/K/rE9RgLoVKPWb+vTTA42NWA09eWKbGLy41wkV55MgRp9PpcDhyuVyhUEAPGAwGM6JEIhHWzEqlUul0OplM4o9sNptMJmFs4UwwEwpzuRzIKRqNwt7y+/0+ny8SicDqgiSTSZBZKpWKRCLJZBK3gIDkmpubGxsbQUjJZDKfzxcKhXw+n0wm4/F4LBaLRqN0jF8ssVgMZlw4HMYJKMHd0Tvb7Xb00bAavV6v0+l0Op1erzcUCrlcLovFQuQHuzCVSsEEhDYEUXCLRCIBJLFYDGwajUYDgUAymSwWizabTafTRSKRfD5fLBZXr169evXqjo6OgiiNooB3QQNNTU3Nzc1NTU3Ex9ADqBcKAftKpK2trV0UKqSrqKS9vb27u7unp6erqws3wmn19fVWqzUcDns8HonG8ICJRMLr9eLxbTYbEYzBYLDb7X6/PxAI4NXTaWRku1wuQSYYlOB1JJPJcDgcCATgFXAz4nK5zGazyWQym802m83hcACYz+fL5XJNTU00NkIbDoVCuVwun8/n83lqnOl0OiJKMplsbGxEk2tqaoKq0U4ikQj7dlpbW3O5nN/vr66uPnjw4OejT1CDuRQq9Zj599IAj49ZDTx5YZkav7jUiKmUo0ePOhwOj8fT2dm5ceNG8qRtFmXDhg3Dw8PDw8ObNm3avHnz+Pj4ZkYw5dbT07NmzZrh4eH169ePjIxgZm7jxo19fX29vb29vb19jPT29kom59avXz88PLxhw4aBgYHe3t7BwcGNGzduFwWeug0bNuBeqHDNmjVwA65fv765uRlWCLrpuExisRj1jORlJc8q+np036FQSOJQhZmCLjgmCggyHo/DJRuJRKjHJ2okMAQJfJxMJpuammw2WygUGhwc3LJly8aNG8lBOijKli1b8PhbtmyB2sfGxkgVeAvj4+Pr1q2DKtjjBpngtDVr1gwNDVEhzseLQAlckZiyJR/p2rVrYbJ7vV6XywUb0S4KdMhqgKXG+vp6UKPH4/F4POA2VuQlRI00cgoGgxipgETZS1wuF+jQ6XSCqoHK7/c3NjZ2dnZSqxsWhbTU09ODsUJXVxf9Sk2RHh8ND7JGFMwor1+/PpvNVldXv/LKK5+PPkEN5lKo1GPm30sDPD5mNfDkhWVqLFPjUafTGQqF1q1bt3XrVvQag4ODFHKCXnLjxo2jo6Nbt27dsmXLVkZAgZiOQj8yNjaGuZyRkZHe3l6EumzYsGFkZGRkZAR9+qZNm9ABQbZv347YFkS+bNq0aXR0FDfF3zTJtHHjRvTyAwMD6KT6+/tzuRx8qtqoMRwOw8uaSqXoNJh65FyVUCPsRTKmUT+HGmGhgkqJGgOBQH9//9jY2Pj4OLEgdb7btm2bmJiYmJjAvOyWLVu2bNlCqsBb2LJly7p166AKOg4ODo4qCfTPluD8gYEBvFzoHHOE69evJ51v377d7Xbr9XqbzWa1WsFPRI1gSr/fT4ylSI2gLrvd7nQ6Z0SNwWDQ4XBYLBaj0Yhr2Us8Hg+cHPC4Sqixt7cXk9nsnOjg4CDpCoKhGGTHjh1oihDEdlFDpUtGR0d37do1Pj6ez+fL1MhHrgaeBuSKl5S63bTw5IVlaixT41GbzeZ2u7u7u0dGRoaHh9FT79ixA33x+vXrwVigPbafRVe7YcOGtWvXwhzs6elB14yQja6uLrgK161bR1SHvobsmDVr1oAsBwYGenp6BgYGNmzYgGrJ4gEG2K+I8qDerbOzM5vNUuhNmJFoNAoCg3cOnIfTIpEIenO3241e2O/3x2Ixl8sVDoedTqfH4yFaFQShoaHBZrMFg0HMVhLbwf+MkB+32+33+wkGxQGxbA0ezWQy6L57enpA9rAa161bR+YL+mV0zdAnjSeGh4fxRjAiWbt2bW9vb1dXV19f39DQEEx/CPvuiCQoDAfahkqpQoqgoTCc0dFRm81WVVXlcrk8Ho/X6/V4PDabzW6322w2MgdxdLvdTqeTpocbGhrsdjsmIF0uVygU8ng8VqvVbDabzWZYew6HA6e53W54XJ1Op9vthm4DgYDVarVarSaTCXah0+nEvyaTqaGhATcFDIfDYTabUX8oFFq9ejXLf5D+/v6+vj6KP8KgjRobbHGKT960adOGDRvQSgcHB8l8HBkZ2bt37+joaDKZ1Ov1e/bsKc81qsfMv5cGeHzMauDJC8vUWKbGo+iYWlpa4GsaGRnZvn375OQk7Bi51QiLEDI2NrZp06Z169b19/eDGmGF4CqyGtE7k9cOfwyJMj4+Pjw8jP69v78f9xpiBL02GZrDw8NU2NfXVywWQVQS8ovH46lUKhgMgvDoV4jX64WdAYsTPW8sFgsEAgg6Jd9pMBi02+2YKfT5fFQVK3DAgo/pRiw1IvAHIa/RaNRqtQYCAVAj8ZaikDJZFx8xGUy9/v7+zs7Orq6uoaEhkCiESJdUt27dOvIxdnR0QNvr16/HafCsEiTcemhoyGg0VlRUYMTg8XhYqxF+TlZY3yYdnU5nIBBAlFM0GvX7/agEJ2Dk4XK5QHIoB+ex94KASkGNFouFCgOBgNPpNBqNDQ0NdXV1brcbDU8iRI1dXV3d3d00CICQPxkUCCVQIyTjcmhoaMeOHYODg4FAwGg0TkxMlKlRPWb+vTTA42NWA09eWKbGMjX+/9TY39/f0dGxZs0a9IljY2OK1Dg+Pk7DZzk1YmYRo/L/EWokXyiCGKelRrvdXllZ+bOf/ezmm2/+5S9/ed111910001Lliypra3FFKbNZlu4cOENN9xw5ZVXPv/88+l0OhaLSagRRAjrky0hSxG8CFch+lOHw9HU1AQt9ZcWKLOvr2/NmjUcamxpaSkWi11dXYODg0QDpEBS3dDQ0GpRGhsb29ra+vv76TSixuHhYbr12rVrQY0NDQ2w9tBgiNVgIMK2A8nJqdFisVgsFhh5gUCACA8nYMoQ9WOMYrPZJOTHUiNIlCVO9dTY3d29evVqijPq7u5mzUFyUWBsQYMGCI0qBgcHy9QoQaUeM/9eGuDxMauBJy8sU+MXnRr/+te/wjHV1NTU29vb3t4Ol+bAwAAWvFMYzsjICIWEkN8PHieWGhHf2N3dTceuri5ELoBl4cFjOx14+XByb28v+mhyt7LUyE40wsYlaqQwSJhloCWiRizS8DMiCIJDFIvFcs0111x99dV2u91isfz6179esGDBnXfeiY77mWee+fWvf/3YY4/94Ac/+N73vud0OtPpNGxTCTvCSYu5NwT1RKNReFYRqALDKxQK6fV6i8WSy+Xgc+6WCREYzMHu7u6+vj54O9euXQtTb3BwEDrp7e1taWkpFAodHR3ouCGkQ7wp9PVdXV3t7e0tLS0Is4ShTz5DugW9wd7eXpPJVFVVZTabsdrBYDBYREF0qNFoBKvhX6vVCsVihQkuf/LJJ++7777f/OY3DzzwwAMPPHD//ffX1NS43W6YnjabbcWKFYsXL16+fDlqpiUTtIaHSBeuXbhwWWp0u92IU9Xr9V6vF20Jj0Oe1c7Ozvb29o6OjqampmKx2NnZCfqHIAyHplqp8Q8NDSHcDDI8PLx79+7R0dFUKqXT6Xbu3Fle16geM/9eGuDxMauBJy8sU+MXlxovXLgwNTV1+PBh9HSFQqGvr6+npwf9QmdnJ+JOwUyYBmPnnyA0GEdwKaxGOqJn7+zsxKyPxMtHMjg42NfXh7F8z8WC3o3m1QYGBhBViJ9goYIayYyg+P5AIEDUKP+Vghvhu/vBD35w1VVXWa1Wt9tdX1//X//1X9/85jefffZZq9VqMBjgD3zsscf+5V/+pb6+nmxBWpSC5XSSABO4WGHIptNpIAkGg+l0ur6+Hjrv7e0F/UhEQo39/f2Yi4ViYbj39PTAsuzq6uro6Fi9ejV4kbVyyGqHw3Djxo1r1qzBKpGOjg68YjqNdM4e29raQFQNDQ20/JGWQlpkYjabLRYLCKy6uhrLT3U63QMPPHDJJZcsXLjwj3/846233vr1r3/9Jz/5iU6na2howFWLFy/+yle+snTpUhCtfFEma4/KTUkstcTRYrGEw2EoDZkNSJ+tra0tLS2tra1tbW2YoGVDcuQZDzDdu2bNGrwFSn40Pj6+adOmfD5fVVW1f//+cjYc9Zj599IAj49ZDTx5YZkay9R4GAERra2tfX19zc3NPT09a9eulVMjlhZQCCuEfuVTY1NTE+xR4jkN1IhbwAzlUGMgEJBbjfQr2ZQ+n09OjZgns9lsDz744Fe+8pVf/epXMAExwfbII4/85Cc/8fl8rJv0f4Qah4aGenp68LLUUCN6czK1Z0mNZrOZphhp7YTjYkE4Ky06NJvNS5cuveyyyxYvXuzxeHw+3+9///t/+qd/uv322w0Gg8lkstlsjz766Fe/+tU//vGP8M3OlBrJo+t2u0GNPT09MMEpHGz16tXFYhGLQZubm0GNAwMDZKzLV8KsXbsWGmtqauoSheKnstlsmRr5yNXA04Bc8ZJSt5sWnrywTI1lajwMUwm+uFwu19bW1tPTA2pk+9n+/n5yspHQCaxDFcvGu7u7Ozs7Ozo6Ojo6kE+gs7MT7Lj2YsFqRRiXqJbtpsnFRzXTH2CRQqFAaydcLlckEqF8BclkUkKNlB8OwTUQQRBAjW63u6GhweVyvfDCC9/4xjcWLVoE0jWZTCtXrrzrrrsqKiqwvF1uNVIcipwao9EokXQwGEylUvATFotFNdQIzuvv7yfG6unpaWtry2az6NyRLmD16tVY8UmKReVED+jTWWrs7u7GgIN9p1AvCnt6elpaWogaQVEWiwUjBgwa2PBUitNBECkoE/7Sxx577Lvf/e7vf//7UCgkCMKzzz57xRVXLFiwAHTrcrmeeuqpr3/960888QTOh+eWjNRpqZFS2zidTlAjWqBE8vl8NptFQgBoD1PsEMlcAFQNQs1kMpQ2oaOjAy7WTCZTVVW1b9++MjWqx8y/lwZ4fMxq4MkLy9RYpsbDWPJfKBTQb2K83N3djQAZWmXBBtqQ1Ug9ODpTYkT06ZjOQbYX9DLkv0JQZSlBl02TQ6ito6OjubkZeUyam5tBzF1dXblcLhAIwCmHlelYKRGJRJBOJRwOEzVSIhXMNcKgEQThyiuvvOGGGxKJRCqVcrlcv/nNb772ta9VVFREIhFBEJxO54MPPvjss8+6XC6v14tMNOl0mnL6sESLZXZsGA4YlNILhMNhi8USi8Uwy0UczwrN/3V1dbW1tbW2tnZ2dtLbwTk9PT1dXV2kH7LRFfXJ6h/UWOpkmO94ucViMR6Pw5K2Wq2UNZAcqsLF6WngqQZXgd4wX2g0Gh9++OFLL7303nvvraqqwsThzTff/P3vf//5559vaGjw+XwvvPDCJZdc8vjjj+O9VFZWWiwWl8tF1IgljG63W86OIGCTyQTnrdPpjMfjbW1taKUDAwNtFwt88rScg5oxq2H4VzeIaei7u7uLosTj8Y6OjoGBgUgkUlNTs3379s9NnzAt5lKo1GPm30sDPD5mNfDkhWVqLFPjYavV6nQ6s9lsR0cH9bAtLS09PT2Y3qOOmMhPYtOop0bW7uFQI3u+SmokqzEYDNIiQiy98Pl8cmoMBoO0qN9qtV5//fU///nPsaj8oYce+s53vnPvvfcirCYQCPzud7/7xS9+UV1d/fvf//4vf/kLG3ozU2r0eDx+v99gMIRCoe7ubvTLcmokvmxvb4caW1paSBWkxvmkRlq2D/NxWmrEyTD1rFbro48++p3vfOf+++8HU9bW1l5xxRVf+9rXEFPq9/uXL1/+zW9+88knn7RarRaLRW41wvrHSIVDjTU1NQ0NDeFwuFAoUCttEgWpdBsbG1taWlaXkM7OToxF4LGQU2MqlUJIsCAIZWrkI1cDTwNyxUtK3W5aePLCMjWWqfEwouoTiURTUxMl5Eyn05jKog4X4aPojqmPgB9PPTWiKwcH8wUOLuqsp6VG4h7Kd4P1G0j4KadG5I+G//Mvf/nLj370o2uuueaOO+649957b7/99ttuu02n01VWVkYikfvuu+8rX/nKJZdccsUVV/z7v//7smXLkB8HFuRMqdHhcAiCUFtb6/V6kaWsvb1dTo2kh6amJmT7bGxspLfzP0KN5EQVBEENNSIhOK4SBOHxxx+//PLL//CHP9hsttra2kceeeSyyy578MEHQYR+v3/FihWXXXbZ008/TetD6urqKioq2NzoVqsVAyAONSLxvc/nS6fTaH6FQiEnChIhIfECJXxnZyJxfjabzefzGLXIqRGvAys3ytTIR64GngbkipeUut208OSFZWr8QlPj2bNnX3nllZqaGpPJlM/nMbGEED5a9IbOt1OMyoERKadGGm5jxI1s4Bih53K51tZWTNJgjUH+YmmaTrAEra2tDQP2ZDJZKBTa2towixmPx5FmE4lasFgCZAlqRHYVRWqEVFVVPfPMM8uWLVu5cqVOp4Ohg642GAzq9fqVK1dim4WqqqqamhqYUG63G/GQYEE5NbJsjWzsqVQKSzj0er3L5SoWiz09PTTR1dnZyXqqoUx4U1taWqA6dNwsEWLqC7qFuojkqKS9vZ1or6Ojo7GxEUMHrN9obW3FaTCVqOZCoYBF+lh0yC7qBxXJo28QDoMFG4jWQcCO0+m87777FixYcNttty1duvSOO+645pprFi1aBOsQS1kefvjhBQsWPPDAA9Ct3W7X6XSgRliQdrsdhiNZjRj02Gw2+NKxnQhCXgVBoNnBtrY2jDCSySTloEcLh6DB01QilbMjBgwN29vbi8UiWnUymXS5XGVq5CNXA08DcsVLSt1uWnjywjI1fqGp8dy5c4cOHcJgHOmYiYcQpoFJR7ILkQ2uu7ubSKtTdKhKqJFG1uhEisUizseuBbmLpTidwPoENaJ3y2QyCDKkBfhshCrNMsojVFnjhrKdUeeLVXHogslDi2kzcg+i98emHMg/Dv7jUGNY3PEDnO10OrEgBBGqtBsGnNisG3n16tVw3NGeVrQaD9pubm4mvsS2G/C7QrBvBlRHhYjfQZhuNpsF7+I0lhrb29sbGxuRygdsR1tbUC5TTPtJhNytBoMBysSFTz75JJYzPvzww3/605+WLVtmt9theNXW1loslmeeeeaOO+74wx/+UFFRodPp7Ha7Xq+HCYjayDpkqRF/swtLkElOEIRcLgcdwkrGtpqUn4isRjTLRCLR3NwsMcFZQ5y1pKkNe73eMjXykauBpwG54iWlbjctPHlhmRq/uNSI/B3Hjh3DJsCJRAJfO6w9OTV2Mo7NmVIjS4ezp0YkgctkMvl8Xk6NmMyjvaJKUSN1r6BGioGUU6NdJrAa4U3FdCbSm5WiRqxGR/SmnBpbW1uh83w+T/tDkTmez+exE3IqlZJTYzabjYubJGNPZrY3/0yoMRwOG43Gurq6hoaGGVGj0WgknbhcLmR3Q6JweFApma1Op0PictYYZamRImNp/056EVhDKQgChxrb29tTqRRaGm0WRnrDdtbhcDiXy5WpcVrMpVCpx8y/lwZ4fMxq4MkLy9T4RafGd955B1NB8XicOmj80dLS0t3dTf4lbJqIrhleUBplo/eB64+28GUdqthVEZ0RIl9SqRRtSQjTB2Gf2WwWBEC/Eh+AbmF7YQdEoMV+fkR+mAKk2UdspUS/snvwwiMqCAJ8ceRKRdZszKvRXkuwEX0+H3gOt0BOHET6eEVh5xrBapFIBIm58avL5cIsHVyjNM4gpUH5UDv2sMSeiGQr0x6W2GYZ8URwXHd1dbWKQr7r5uZmlIAFaZdNUGNTUxNOKxaLtFUhbboZj8fr6+tramowBQghlkKgLyJOQY2wArFUERxGVIfsOVi44vF4kNQmFAqZzWa7uEEHIo1dLpff76clHESNWLnIZhjArCRNf2LBKIDBoUo0D48xvA40G43xEx4W7mU0Y/YIaWtrwxww9NPY2JhOpwVBWL58eTlR3Iww8++lAR4fsxp48sIyNX7RqfHo0aOCIFgslng8jt4ZRwyx29raQIdyXygm/4ga0cPS5dTRS6gR7IheiYzC9vb2QqEACsGeTS0tLWRispCwdXA8HsdP+Xy+ra0tl8tFo1HF7QDZBfjkbpXkBw8Gg9gsAj5DmCMw75BPHJsUwkAEMcvTi8M0hFDwKrK54nlDYvpW0CSWBhYKhZaWlnw+j6lEmqClp25qamJ3S47FYvl8Hh09RVrimE6nYfeT65XVPxWyASlEjUVx8ox0ns1mATuRSDQ2NhoMBlAjWWaYTTSZTESNlBwOkSlIhYoMqJgOBKvBwhMu3ltKYpHb7Xav14tlMxaLRb6ukQrBqSik0zBz6fF4EokETdMSwxE1ptNp0jY7OpEfyXVBFmRHRwcMUKfT+dRTT+3evbucKE49Zv69NMDjY1YDT15YpsYyNR7FculQKCThoc+QGpF/BFIUN5fnUCPiJiS9lXpqJPPRLW4iL6fGcDhM5h32zSDjBlOJbE8N9ylOow0CqQbwotyhSlvbkwmrSI20SpLtrGdKjfAzp1IpmN2zpEa8fXpZEmqEVQdVs3Yh5cFBttW6ujoQJCxmGNb0atg3hatgd+KIX00mU21trXpqhNUIwxHUiKkBVsihWqZGvqiHx0euBp4G5IqXlLrdtPDkhWVq/EJT49TU1JEjR7BTgd/vz2az1Buic4R3lHgOnTg8mZgPQ3hkR0cHvEzU/+Ioj1ClcEpMHNIUF2bU4IEkKwpeLJZoaaKR5kThVGQTxeEP+T6CKKFEcezGivF4nFZWOBwObFwM9x22gMDsGpKGw4KEucmajGZRQISRSAQ+W+HiPetDoZDP5zOZTG63G50yLEv4RYmfiMxAjTghFosVCoXW1tZsNpvNZjOZTC6Xwx9YbADHqZwaaWiCpS9EjVjeQIVUVS6XI49ioVAwmUx1dXVEjWw2HLPZjP0+ieEwvEBwKajL7XbTtCuWiiJjDnEkdI5pXdb7Wltbi7lGuFVBw0gIgPRy8KZCKJU5OWyj0SgsYJb4iRrhk8evRUZKUSPGcBAoOZFI2O32Z599dmJiopwNRz1m/r00wONjVgNPXlimxi8uNV4Q1zUivVYgEEBXKxlHw3DElB7ciYlEAuEeyLnaxAjRKmvToJ+llQY0fyPvwWEYYV4NGFhqpDAcUAiukofhEHWxgu3gEcwC+4wca5FIBDNbsOew0gB8Bo8i+f3IJ6y4XyOdhiSuWGRC2VbhU4X9FI/HMRuXTCbBRjSbS+YjvYhUKoVKQJAYRlBOA9wF7E46lytWUditlVECZZIfNSe6au12O/bTYKf3yPmM8QQsQrPZrNfrKaYUgaYIUwILIoEqhKxG2NYwK1Fot9sNMqHoG6wMwYXy7HEIksJm1CzJQei9Y1SUSCQQLyaZ2FakRhKM9rLZLJh4eHi4TI3qMfPvpQEeH7MaePLCMjWWqfEwTIFIJEKjVHVqAAAgAElEQVS9oSI1UsQpu1q86WKZlhrBiKw39TOnRvg8yaWpOC8IMoNHFGE16Lip+0ZfL6FGXMLWyWbD4VNjLBajxZcSaqTY4EwmQydTf03UiMKWlhZoaf6pkaKZJFG7oEaYyCaTiaVGmmssNQcMsYlCdbJTjPX19WAgCpIiavT5fJJ5SoSnwgGOJk0ZU8vUOCNRD4+PXA08DcgVLyl1u2nhyQvL1FimxsPwHGKSj0ONhUIBNl9HRwdC9RCJOiNqbG5uhuOO9WJ95tQoJ8JEIkHRqhBEmUIQJ2I0Gik5gCI1SmJQ1VuNyMBSihqRowB7OlKF8Fqz1JhIJIrFYktLCwJW540aU6kUAkdBNlhu8f+x9+bvcVRX+vgfMDOZyUAmJGGSJwtZnmSSQJZhIA8hhCeQhAQTkkBg4jgkDDHLYAzCi6x9V0vqTd3qVb2pW93qTZslWbLlFbxhW16wkVds2bK8at9l8f3hnT6f666uq+sS9pegOj/U07pdde/bt0r3rXPuWVJSI3YH2Qyr2LJFYIYukeONKJBmDHlWkUCOcuGKaI0on6K5Xii0xmKxkA+qSo03KuLw+MhF4ClAnvISueHmhCdtVKlx4VLj5OTk5OTk2bNn4VWImDMqIYQQCGRzpqRoUJLQiJUOIQokiGQgDQzrVGlpKbldoE/sxlUnhHQvvV6PsDadTkfeLnREMCLtS6Fu0cqVK4uLixFK73K5UCkenqJms9maEAQn+Hw+u91OUYYYAn9CMaIIDZANhZpAYKqFB4fnenG5XLTQUwI5t9uNSBi3212VcNvB3ueKFSvWrFlDdYALElKSELoRaAdnYO+zuLiYUswgWBBEgj02UBEkOzs7MzMzMzMzOzs7Ly8v6Vt0y46OII3MzMysrCwymRYXF69cuXLNmjU6nY7cl/AzsSkLwY2Dtgeqw3ZjTk4OugKTwbJKWXUwBOYfe4fgP7aUMVrwFMHuXVlZSeGVeNswGo1UACszMxMPWFFREUVJkmJKEw5/Io1GAyQk+JM9SgUhmEVFRahG2dzcPD4+/jFYE0Qwy6ESx8wfSwE8PmYReNJGlRoXLjVOTU2NjY0dO3asrKwsKysLCyIdX3311ddff33lypV5TEl3+N9T5pH8/Pw110t6ejpcCmmrKSsrKysri6LTMjMzV65cuWLFCqy2kMyE0GlYJUkomo0WYnS1YsWKZcuWIeiiqKjI7XZbLBYsoHCZIWdU8luBVwvWVvpRiNAoLS0laoQqSfZDUDtRo8lkMnCFFEcMSu4eXq8XsZsVFRXgLZpzCBuBQFWWcE52djbmh827TZ1g8rOzs8lLMzc3d+XKlW+++eabb76J2c7JyWG/RbespKenv/nmm7g7GDc7OxtRmHhvwGQiEJa0QAgoH1SKW1ZUVIRYfhiooclRnCjsqNDzSLkkJ1VK44eYEJwGUzlevyjqlE6jdwiNRmMwGMrKyvC2h8eGJpZ9yDFdbKAk3K+SjlLBvwAebJPJtGPHjqmpqY/BmiCCWQ6VOGb+WArg8TGLwJM2qtS4cKlxZmZmZmZmcHCwq6vrnXfe2b17N3vctWvX3r17DzKyb98+OoHk3XffPcLI4cOHDx48SJ3s2LFj+/bt27dv37Vr1+7du3fv3r1v376DBw8eOHAAR8iOHTvefvvtt99+m05LEvS2f/9+nN/V1bV79+6333578+bNnZ2dGzdudDgcb7zxRjQaxTn79+/Hh3cTcvTo0aNHj3Z3dx8/fvzYsWOHDx8+cuTIiRMnTpw4cfz48XfffReT0NXVtX///q6uLiA8ePDg/v376cd2dXUdOnSou7v74MGDXdfL/v37DyXk4MGDR44cwUAYtLu7++jRo/jz6NGjp0+fPnToUNKcQ/YlhADs3bsX5+zZs2fv3r379u1DCxppfnbu3Lljxw6A3JuQt956a+vWrVu3bn3rrbd27ty5Z88e9lu2B8iOHTtQ137btm24dzt27Ni7d288Hq9KlNPCbiu7/0rbrtC/tYm8CjBTo7Yl1C8pNYIL4eYKogU1QvNGUlzKNgezBKU6QkYCenEhCwES57pcrs2bN2MODxw4QBPLTjsmBLeMzpQepXLo0CE8MHv27Onu7u7v71dD/sUx88dSAI+PWQSetFGlxoVLjew/s7RPfCuHZz5TqgBzyt4++OADxJ8MDg4eOnQoEAjs3bt3YmJiTnj0WQppZmbm2rVrON4oSA7mJPxAnnTajU7ph/swcJAPDw/v378fybW3bt2K95tdCSEKB+mCpMGpO3bsAB/j7QeERBfu3Llz586du3fv3r59++bNm7ds2bJt2zbUR3zrrbfQA6h9+/btaMHLAfgMbzyHDh2i16BDhw69++679DZz9OjR4eHhOadUwQM8/ymloVM23tDDcOsxy6ESx8wfSwE8PmYReNJGlRrVfwMeZjk885lSBZhT9kaNExMTg4ODFy5cGBoampmZmRMeBzM06enp6ZtNjdLjjU6p4GzPH/nMzMzk5OTQ0NCVK1cGBgYmJiZmZmampqamp6enp6cnE8K2jI6Ojo2NjY2NTU9Po52OJGzj2NjY6Ojo6Ogo+plJCL4dHx+fmJiYmJigCycnJyeuFwIwNTWFPxGDP+eUCs72hzulNHTKxht6GG49ZjlU4pj5YymAx8csAk/aqFKj+m/AwyyHZz5TqgBzyt6oMUnPmxMeB7NKjdI+R0dHQYfsOTQ/KScKjSmPJCkbR0ZGhoaGxsfHQX4jIyMDAwNjY2MYnb0wSZIGIhhzTqngbH+4U0pDp2y8oYfh1mOWQyWOmT+WAnh8zCLwpI0qNar/BjzMcnjmM6UKMKfsLWkgaBsi8DiYWWpkl10FwpkNkdmec0oFZ3v+yKenp+nNA28h0A4xVwR+5nrBmTiZPZIkfQWB5keXT09PwyQwMTExOztLJ0tvCuGkewddds4pFZztD3dKaeiUjTf0MNx6zHKoxDHzx1IAj49ZBJ60UaVG9d+Ah1kOz3ymVAHmlL3JDTcnPBHM165doxX8RtHy4SnDLNiJMqgiyEVmko85CZ5izCkvUTylgrM9T5GDJ46Zc/4txiyHShwzfywF8PiYReBJG1VqVP8NeJjl8MxnShVgTtmb3HBzwhPBrFIjH54CzEnwFGNOeYniKRWc7XmKHDxxzJzzbzFmOVTimPljKYDHxywCT9qoUqP6b8DDLIdnPlOqAHPK3uSG48NL6kGuE5UaRR6GG8LMuX0K4CnAnBKe4GzPU+TgiWPmnH+LMcuhEsfMH0sBPD5mEXjSRpUa1X8DHmY5PPOZUgWYU/YmNxwfHrsZduunlPPVjU7pR+FhuCHMnNunAJ4CzCnhCc72PEUOnjhmzvm3GLMcKnHM/LEUwONjFoEnbVSpUf034GGWwzOfKVWAOWVvcsOlREUuIeT0oVLjDSFPieqGMHNunwJ4CjCnhCc42/MUOXjimDnn32LMcqjEMfPHUgCPj1kEnrRRpUb134CHWQ7PfKZUAeaUvckNlxLV+Pj4+Pj42NgYhc2p1HhDyFOiuiHMnNunAJ4CzCnhCc72PEUOnjhmzvm3GLMcKnHM/LEUwONjFoEnbVSpUf034GGWwzOfKVWAOWVvcsOlRJUyYPHWTym+unbt2tTUFOUb4vcjFx04K4nkY/uXhv2xHSY1skZmth8E+0tDYmZThTOyw1H0Bf1wNpyDje6QNqb8+RBp6gDcUIT5E3IK/JDL/zAr9pCL3B1BkXtKUzZyRLCTm4pZDpU4Zv5YCuDxMYvAkzaq1Kj+G/Awy+GZz5QqwJyyN7nh5oSnALMC4ffMLt9sYJ9UpCGAKeMCpYGD4jI1NcVmtKHeJicnx8fH8RlUlIQqidWk1MieKUKN9BOI+ViRhvyzE87GNc4mgiDnfEr/f3wYbujR5Zx/izHLoRLHzB9LATw+ZhF40kaVGtV/Ax5mOTzzmVIFmFP2JjfcnPAUYFYgnJ7Hxsb6+vouXbp05cqVq1evDgwMjMjL8PCw9ChtHBwcvHr1KjoclsjAwMCVK1euXLnS399PjTgf6d8g/f396IHah4eHR0dHBwYG+vr6Ll68ePXq1atXr6KTJJz9/f1XE4JOUn4moa+upJKLFy/29fX19/ePjIxQ49DQ0NDQ0PDw8BAjBJKGuHTpUn9//+TkpJoN52ZglkMljpk/lgJ4fMwi8KSNKjUu3H8DJJ+cmZmhvFwTExNjY2NI1kW5MYeHhwcHBwcHBwcGBuhIQprE6Oho0jlYarFgDTCCrwYGBq4KC/phF1/688qVK5cvX046snLp0qULCenr6xscHMRSPjo6ig3IkZGRiwm5cOECjhA0Xrp0qa+v79y5c0QDly9fxgksD/Un5NKlS7gKVAS0BO/8+fPd3d3btm1rbm6ur69vaGhoampqSSWtra2tra1tbW0dHR3t7e0dHR0dHR3r16/v6OhobGxcu3Zta2trS0vL2rVrW1pampqaGhoa0CH1gD/Xrl3b0NAQjUaj0WgsFmtMSH1CmpqaGhsbY7EYnROJRILBYCwWQ+fRaBQFL1ENuK6urqGhAZ1QdWuqZY0SlT6fD+cHAgGUvIawha9xDlXP9nq9oVCorq6urq7O7/d7PJ5wONzY2BiJRPx+v8vlQplMKuyFP1EUM6mYdktLy6FDh86ePUu3Fbest7f3/Pnz586d6+3txRFyNiE9PT1Jx97e3svycuXKlcHBQdDwx2BNEMEsh0ocM38sBfD4mEXgSRtValy41IjEzQMDA+vXr49Go1i5IpEIipjbE+JyuVBxkFYitoSvyWRC5TwUi2fPcbvdjoRgXYPgK/bbOcXpdNIxqdFqtaJcO3sksVgsqD6P4r3FxcXZ2dkZGRkZGRkFBQVUzwh1j81mMwrWo7ytVqtFDUKdTldWVlZcXFyZEFRpRvVdlJzMyckxJwRzggpNqLKk1+sJGGrKBwIB8EdNTQ0qIScJlZ6vra0Nh8MgDDBHKBSy2WzV1dU+n8/tdqOKvdvtRoesoNA0qjHbJUKlpF0uF8pYWq1Wu93ucDhsNhuKU+JPlIKiApZ6vZ5mDFWoMFdURkp7vVRUVNC3qLmIgotJp6FnKlyFEsdGo9FoNJaVleXl5ZWVlUkvoRqZ1IjaVfhMRa1NJhMVymYrFaMosSYhKCHJHlGvW050Op3H4zl06JBaylgcM38sBfD4mEXgSRtValy41Dg7O3vt2rX333/fbDZrNJqysjKj0ehwOFCrtiohWOxAEnQkKUsIlj/2HDAKFiCsYrSwEt8ICggGR7YxZU12tog8Ss5mZ2ejNCDq61IFY6yGZWVltL6j0i9K/hYUFKD4bW5uLmr5soWUUYOe2ouKiqjwMv1ksAsqHRIwjUYDpnS73aBGl8tlkwhRI3gUqhi9WFDNQrvdbrVabTab0+mUUmN1dTV4zmazSakRF9psNjAoXjjAhfgWyO12O94w6MaBTjD/YD68BFBlY5yDWcUHKoINvqEHAzyKbmmK0AmKG+NmgaKIg2kI9r6zZSDLy8tNJlNVVRUxaElJCW4c3Sz2lpUmBOWU2SMqLctJdna2wWA4cODA9PT0x2NNmBOzHCpxzPyxFMDjYxaBJ21UqXHhUiOcD0+fPo2VJRgMwnzX3Nwcj8dpXQ6FQuFwGHYzqC/4EIlEIpFIY2Njc3Nzc3MzrHBor6urC4fD4XA4FAqRCY4Ep4XD4VqJsNa2pHY6UksoFAqFQgCWdISEQiGv1+tyuex2O5StQCAAADAbNjQ0wAgZi8Xi8Thsd4AHSyBBikajMB7G43FcgrHot0QikXg8jkZ029jYiBY6E59bW1sxEPRFr9frdDpJC6E3EtgMvV4vqexgULvdbrPZDAaDyWQi9jKbzXa7nU72MlJdXQ2FVUqN0KgwHCoAu1wuVke3WCwGgwHKt8FgICUbxYdBWmA+PELgErzBEHWBL+k9g32ZQFesZglCAnFCKc/JycnOztZoNFQnuby8XK/Xo+eKigpiNXolMhqNNpvN4/GEQiHci1gsBiOt2+3GY4PngZ7teDweSwg+19fXx+NxHCOpJBqNhsNhFF4+cuTIx2NNEMEsh0ocM38sBfD4mEXgSRtValy41Aj/wN7eXqPRaLVaI5HIhg0btm7d2tnZ2d7e3tTU1Nzc3NTUBArBbha2puLxOL5qbGxsb29fv379+vXrW1tbqRFrSn19PVpwIdYdVMRFY1wijY2N+Ar0Q+34jGUL5ETw2CWMjhAYhyH19fW1tbXV1dWBQAAEjwURwBoaGsLhMPQzbFYFg0GQHIszGAw2NjauX7++ra2toaEB/QcCAVyFP71eL/VMRxYwbNcgLahoLpeLNtukxmRS42BBhWpIPEpHq9VKJ0vNsykNqnq93mw2s+eDgHGk02A1JQMjhLQxcJLRaCQjM1Q9cB5dBSYDsWkkQlo7tHnYP6WngQtZayoNykpFRYXFYqmtraWHgR4e3G604I2tqamptbUV9zcWi9Ftwl5vW1sbnvwkicfjra2tsVjMbrevWbPm6NGjH481QQSzHCpxzPyxFMDjYxaBJ21UqVGlxl6j0WixWKLRaEdHB3gx5XLQ0NBAREWNgtTIigg1opMkaiQRpEb287p168CO8Expbm6mIeBCEovFWltbkyiZ5WN8bmxshNqXhDwWixEN0yqckhqhr/j9fhDPh06NUCuTRMqLdrudNFQ6zWq1ms1mNLLKJVnOyaSJHVxS10CNpaWlZWVlMFTC5gkCY62dLJmVlZVBR6Q/yVKaxKC0AQwhg21KatTr9Q6HAyYNehKkAt0RLFhXV0ePKz2f9DSq1CiykIpj5o+lAB4fswg8aaNKjSo19mJLLBaLrVu3rqOjo6WlBUs5loZ169atXbuW1D7oWPiqublZkBpbE9LS0iJIjSwnsTQjTo2NjY3rErJlyxawY2tr68aNGzs6OtauXQtKa2hoaGtrw58tLS3r1q1ra2sD/0Wj0bq6OoJBPxAWVPyutrY2XO71eqFrSjFLtUaPx3OTtEboeUmS0qBKJlNyjTEajdi60+l0Uq1Rq9XCC8lsNlssFphJOVqjTqcjxyXSC1NqjUVFRbCywsZbXFxcWFiIr1hVlfYviWVTUqPRaHS73Xj82JekeMJSikcL5n3cl0AgUF9f397ejt0BPJz0iqNSo8hCKo6ZP5YCeHzMIvCkjSo1qtTYazQaS0pKsBDQCr5p0ybwBy0WxJfNzc2tra1YIIjn6DS+1kjnNDQ0wOQFTgUpEvmR1YvVwEDM0WgUqxXZe3ECbJt+vz8ajbLDQfBDCB62oOIJCxs6oa1HaJbYUExaItEbIWQF+5fUG5ieXWrRCTYya2pqiMmcTif2CGHGRDv8X2pra2tqaqiRPpSUlFRUVBQUFGRnZ+v1+srKSoPBYLfbQYFWqxWuQ2VlZU6n0+l0er1eUijZ7Uyr1QovUFAjKBbqI16YHA4HaY0ajQbERhoh62Cl0WjIn0Wj0RgMBnjuFBUVZWZmpqWlrVmzpqCgYMWKFTk5OdhlxP5iSUlJZWVlYWFhZmYmfJewbVlcXAxbK5RRcDM5/pBBlWiSkFit1kAgsHbt2ra2NrodtP+N5wf29lgsBsMp7mZDQwPeddhnMkl3xJ90N6urqzMyMk6ePKm64Yhj5o+lAB4fswg8aaNKjSo19hqNxqKiojiz19Lc3LxhwwaE0xG7EBth0cECQas/PsxJjaRuknlz3bp19C1rs01pliQPF3QCixmQk8MLxk0pTcx2aUqHCyK8JJ0VLSyvc+yu7Fcsd+I0hAzC+4bYDgQG2oP902KxOJ1ObBPCy5SlxiVLltx9990/+MEPHn/88UcfffTxxx9fvny5yWSCIrhy5crvfe97n/3sZ7///e/n5uZqtVqKxmGp0ePxgBrJIZkN3jAYDDCrktZIOhwsqywtsVuJoE8EToDY8vPzH3744S984QsPPfTQokWL7rvvvocffnj16tUIycjOzi4oKPjNb37zjW98Y9myZSUlJUS0FFwBxoUDDqs1EjtSnExZWZnBYKiursbDTPeOfa+iNyF6aOkesW9RTYxxVfpuh5chu92emZl56tQplRrFMfPHUgCPj1kEnrRRpUaVGlNQI0yFHR0dGzduhAn0Q6RGnC9IjSzZIPwcQe5SasS3pOYqo0asd1hA4ZXKsiZRO9gRxljiYxYtOmf9V+kElhqJC8lDlajR7Xbb7XZYO6mRqDEnJ+euu+564oknCgoK0tLSHnjggW984xsvvPBCZWWl0WhcvHjxkiVLli5detdddy1atMhsNtPlN0qNDoeDpUYIu3dILAU10WAw4GR0S9/+9a9//fSnP/3MM88UFxe/+eab991331e/+tVly5aVlpbm5uZWVlYuXbr0M5/5zPPPPw8jLbRGlhoxbhI1svoi4jGKiopKS0srKytrampIQcS9I0rD3WxubsbeAWsAoNtNr18pqbGtra2xsTEUClVVVanUyEcuAk8B8pSXyA03Jzxpo0qNC5cakeH69OnTxcXFJSUlkUiEXQiwcGCjEbzS1taG7bpIJAJyYt1NadGBYQrkQfZJdIIWIhhQy9q1a3Et8SKFUlA7emP5lTRIUi6h44LP2F+RtLqB7cDQZBzz+XzwxGFXSewpkkUOPzwpuUw4HCbkRO1E6qTLwtZK1BgIBFwuF4Xbsx4xRH4I1QBpSQ2q+fn5n/3sZ6FjlZeX5+Xl3X333ffeey90prKyMsRBPvbYY/fff7/ZbCYNlaVGjIsQSQT1I3YeUfbwx8FmJIIlKICVwkzLy8urqqpgFIWmCF6kMyl+ccWKFbfffvvSpUuzsrKKiopee+21L3/5yw8++CByKej1+hdffPFzn/tcWloaIkMKCgqw3WgwGIqKisrLy8nxBz0nGVS1Wi3YFLkdjEaj1+uFyZReUxBxQUYLZBTCrjbccLDfHE/4W6WkRrTDhTsYDBoMhuXLl3d3d89wS17/vawJIpjlUIlj5o+lAB4fswg8aaNKjQuXGicnJ2dnZ0+dOoW4sbq6OlaBk6pc8DdB0IL0WyJCqY9MPB5vbW0Fo9COHUtgKa2a0ld14k5WOaMhmpqakNKMda9NSY3gdZZ6Ee5G7A7uBO+SW008HgdT4nfBmyYUCsUTvjy0/8qxsmKl9vv9FGLvdDpTao0sEUoNqllZWZ/61KdWrFhBvjwPPvjgd77zHTi/OBwOj8djNBp/9atfPffccxaLJeVeI+uharVaTSYTWBAESQ4+FERILjBwfoEmB50SEY1sQgbamARTpqWlffKTn3z55ZczMjLy8/OzsrK+853vfOtb3yotLTUYDHl5ea+99tqnP/3pFStWUCaa4uJiMGthYWFFRQXi9ynWHjAQ/g9U5MgKrdHn89G9i0ajFBSLu49bhickHo/X1tY2NDTgzU9Ea1y3bl1jYyOo8dVXXz18+PDHY00QwSyHShwzfywF8PiYReBJG1VqVKnx/6gxFArhH16OGrHKNDc3sxuQrMCeSdbOlNTI+vLQckOnsXobhxpp94jdkoQ+B8cKKTWCjElZhN4AZQ4OGs3NzRs2bMDQtKOZ5KEK7oSZ1O/3e71ev99PiyleLEhBZGmb/WnICOpwOIxGY2VlJZxoyOM0iQ4pxh8MKqVGbEZWV1f/5Cc/ATXq9Xqv11tRUfE///M/v/vd76ARgkHlqBFp7ciLFUMQNcK3Jcl8SsZVOAQheR7xIllWiauWLVv2z//8z6+99lpeXl5RUVFWVtY3v/nNH/zgB1qtVq/X5+TkLF++/I477njzzTdhPoVqCMtqQUEBnGuMRiMlYwIvQksmV1XaCoVBlfWKogQOeFpCoRB8jHFPxakR7dhQCAaDVqt11apV77333sdjTRDBLIdKHDN/LAXw+JhF4EkbVWpcuNSIzOAnT55Edkpkw0liI/rQ3NwM+2Fra+uGDRs41NjM7EoSN7B/YnFpYIRy09DOEGWvxpmkw0WjUXKBwZmUawbR2cFgELYyXEK0BC7E3hI6JJKDDbalpaWjowOjAADURJwAoQQ3wWAQ+a/hZBtLpDJIinckbFBqmxJBKTU1NTCWUj5SSgALBQ6kCLUSH9hEblarNS8v784771y5ciWShWZkZMCgigRpRqPx+eeff/LJJwsKCmpqarRaLdxzwHzEiBTCaDQaTSYTsq0i5L+6uppOS9Iak6IJ4QdrNpvhVkphGyAwOm358uW33347NhcrKipeeeWVz3/+84899lh5eXl+fn5JScmKFSs+97nPrV69OikSA+ojDKqIpwTpkhsOyJV8aKGtVlVVUcg/7gXCSZG0AfbVeMJoH4vFaNs7zuw64xFKGd0IagyHww6HIzMz89ixY2p6cXHM/LEUwONjFoEnbVSpceFSI2rAnjx5srS0VKfT+f1+dhWQvjXTriGSyUkNqrSmSKkxyQrKWhrxRo8Mak0J4yrrwkOrFRLZwN2G9DAqtpCkpcUTDi84AWHdGzduRNWIJDsndGKkncPodXV1yBUXDAbDjIDkwuEwtBDsUbGmXdIOwazQVCKRCGVXQRULMFySagjeIvUxybLqdDrhm2M2m9esWXPXXXctWbLEbrdnZ2c/+OCD3/zmN//2t78hAGP58uUPPPDA0qVLc3Nzn3vuucLCwurqaoPBgBhKqdZIQm44QALuTNIa5aIJCwoKKNks2Tax9VhYWJienv71r3/9r3/9q9FoTEtLu/vuu7/61a8+99xzSHKbn5+/bNmyO++8c+nSpQUFBdjvpDQ6rKkWm5oUfEmhkwaDgZAg5B9VO1iVHbcbWwNs3oZoNBoIBEhrZA0SUgMGUSOCfUGNp1Q3nBvBzB9LATw+ZhF40kaVGlVq/H/UyLq6SIVPjax+yaFGWqrkqJEYi8YlAkMNCthsqRNQFLEaOwSZRuvr69va2kKhUEdHB3nwJ2FjmRXUiK0pIj80Yq+REsCy5lap0GmARwJqTJmnhvWRYQUqI1Hjiy+++OMf/3jRokWLFi366ZV3z3AAACAASURBVE9/+tRTT61evRq+rKWlpY8//vgjjzzys5/97Mc//vEvf/nLzMxMs9msgBohlBeeT42U851Ii+IdCwsLn3766W9+85uPPPLII4888sMf/vDXv/51RkYGzBX5+flpaWmLFy++9957//CHP2RkZOCXlpeXw6CapERKXWSTIGH/0uPxsPvEJBR+iqDVeMIxiqgx6fyU/xQqNUpRiWPmj6UAHh+zCDxpo0qNC5caUbod1KjVakGNzYkADFZ3JGqMx+PNiXh/1uIKaypexvE+3pTwBaWNN3bjh32Rj8VigUAAelVzIpqeXY9okULSS6LGeEIvJK1RuqghFQ5srXV1dZ2dnaA6Fhh6BuuT0gC9ECoj/VKWGjEuubDWM9Em9Uy+FVBjICGIKIBBFezIprzBRiB0NXxF1IjtRritmkymjIwMZOhGwm643qCSlDYRTZ+bmwvnT1hukROgurqa7KhJZlUorASM9NckR9CkvUYSg8GAUlOw6GInFWCKiopyc3OhU6anp+v1epvNptPpXC6XVqvNz88vLS3Nzs42Go3ATP41paWlhYWFFLxByiibc4DqY7A23tLSUpvNFggEkh4JmBlqamr8fj9sAESNeH9iTybFsVEiyAkQj8ftdrsa8s9HLgJPAfKUl8gNNyc8aaNKjQuXGskNp6ioCFpjPB4H8dTU1FBpAipTAAOj3+8nJoPNCtRIO39wUaEzY7EYkpKgH2y/oSAGVi5pPUL4xUjf92FQBYOCutgqE6QEeL1ei8Xicrn8jFAnVBiEra1BVUHgdwN4KHOI0oler9fn80m1RlaSfgIrKPpBNUNQiMp+fQY4CBunAZYym83wGkV5DY1Gk5GRwfIWFDXU4kAVDnLjJNpjk8bhQnxlMBiwM0d5BgwSIVWM6mDk5uYWFBTA5ScvL6+goID4CbH5ILCysjKTyVRWVpaTk4NEOVRSA2xHQRrEbcgYh93NoqIilAZDpCNYtri4ODc3t7CwkA3zx7jYbiwsLMzNzS0tLbVarYjJwY2m54TuFz1jdXV1brcbBgkyJ9ARzzMeZnqKqDiz1Wp944031KJUN4SZP5YCeHzMIvCkjSo1qtT4f9QIjz74qiCSgdwQKM4hlgjUq6+vb29vj1+fC60pEXEImxW2cECNzYnoDlAviK2urg4kxyqR8XicUpYkbR+CfuDpgx6w0kEhIxUwFAq53e7a2lpp5jbS5+B5EYlE3nrrrYMHD1Ijljy/348jaXsYRao1ks4aCoVi8sLuehI1EgW6XC7wIoVYsEKJv2EOrays1Gg0RI0oUgF7KVQ6nU5nSghrKaV+WJstfHDIQwfpxUnQP1kssdVHRaDAcNDz4CaapEeWl5dXVlbiHOJLaa1gVudL+S3y4MD7piJRoFGqv1L/MKh6vV6qiUa6u9/vp1ciNrQDQTjNkpyr7DPPmiVUapSiEsfMH0sBPD5mEXjSRpUaVWr8f1ojPDZRgKKjo2P9+vUdjFDebXiibty4kbYVkwyqlIiSqJE66ezs7OzspFAQ7O4k2WbxWWogJYMqUaPP52MdZIgF4WvTygh5YbBG45aWlg0bNmzevJnsw4iUh5k0ziTHIb1WjhqRqLopVSQlbMK0QIdCoZqaGioyjH015A33eDykLJKtFcnHUdnY5/NRigBQI/Rat9vtTAhbZIpOQyNOo1h+0DPiRhzXVzxm05oj3hEGUviyIogCal92dnZZWZnD4TAYDOQvQ3xG1AimLC0tRV1i0B4cWaEOohH7lAUFBTCrkjMqUvOQJ21VVRXlwSGShvaJk+GGg2mH0HMi1RrZjW0pNcJ8ClGpkYNKHDN/LAXw+JhF4EkbVWpcuNQ4PT09PT198uRJWN4Q5kXMsWnTptbW1mg0um7dOvBZe3s7dL7mRCY5ihFsTiSQQ0ssFkNkPdLHEKEivQ7i/7CfBzJOIhKomLQMsWoreDQWi8H/pb6+HsZSONM3JQL5KZp7bUJIo2W9hKDPIYsbWDOWyDaAoWOJvDzQnsnLFIEf0UTlZCgWFC6CvVj8LvzelpYWcndEqDgblQGbKkgOJmKPx8MmH0feHIQ2Ik6RLSNFZTfAi6hdTIGS0ClxAvqERkiVkMlgi9GlFl2YVfV6PTYsic+gR+bk5Gg0GlJbKR6fPoMOyaeGbK0gS1ApAID5yO+G9FGwHYI3aOuUDKqs1oihUTYEO9b0NoN7SoWsYZnA0wJbPYpYkZYZTyRZpdedtWvXEkeirBjcqVatWnXkyBE1eEMcM38sBfD4mEXgSRtValy41EgeqjqdzmKxxGIx8qCBgzt0O1oRQDCsYkQR9CxBwqAKaozH43DnY+mT6j2RXpiSGsmUmvRVU1MTIgsbGxvb29sRi4bQ+yZJnh1pz5RtgDUCEw03XZ8llWVTqUcS6Rax65MPUKoUvG0kCezVrJmUTXYDs6rP5yMmSzKrQojAiBrZriwSYXOoJrUjXSq0sSR9EUfKOMNWSSR2zMnJQWI22FRBnDDAIuSffFa1Wm1xcXFBQYFGowFHggVBjXBnNRqNGo0GzjV5eXm4kPLSUT84GajIHss6Clmt1lgs1tzcTBSItxY8dfVMpTC8cpEbDjRL+Go1XR+81NzcTMYPvJzV1dVVV1erRan4yEXgKUCe8hK54eaEJ21UqVGlxuuokRYCuNi0t7fXMxm35SiH5S1y4cNmZFPC052IAdQICoFILZCs1igdiKgRChnsZvzIkySQ7J8sNRJxUrLylpYWel0gjyRy+WEdbqkT5J6G8gE/JpYj165dGwqF7Im4xqQIDfLHqa6upsB/uKdCI4QQ1UGbxJE6cUqETcFKjaSMIiYEJlPpZid4i3VPpaNWqyVqpMTfrDsraZzIboqvyA2HLWJMHjroCgGLGo2msLCwOCFJjrJJyQdYhKBG3DvYJ2A+bWRyAdIDg8b29vYtW7awdpEmeWqknPs+n0+lRj5yEXgKkKe8RG64OeFJG1VqVKnxJMoAhUIhZFvGkgFPnI6ODvKgaUxkH6W1AxoV+degEZuO2Kok+yRsj5RZBm/cZClFajdYKWGDRSMWINrCJA0VZ4LG4Cvb2dnZ2tqK3VAUZEa2cbaEMoTNNkc0TJGLxHC0VQkA+FFURgNTQYnR2QBKLLIYqK6uDh4fcKwlAH6/H5ofG7wBcbvd2BRkOQzZ4LBTCD5zMGJPRD3aEzEecFCqZgT1INEnDLZkO4VYLBbke/N4PKBSstDCpAlrKgybbAUopKqBoTWJQeEQBPstFERciD1F8B9y6JBdtLy83Gq1YpSqqqqKigrsIEIoGw5pmWBHUlIhCFMhQ308Hqe88HjVgyGdNfU3NTW1t7d3dnY2NTVhBwHbB5T7EJ/XrVvX3t7e0dGxadOmDRs2tLa2er3ezMzMEydOqAZVccz8sRTA42MWgSdtVKlRpcaT+fn5Go0mHA5TenEyKoJ+aGkgyyq+amLMjKz5sb29HaZOeLXAsSWSELBjPB4Hfa5fvx6bQNi8gR2S2Iu8IRBxDyUsGAzSMclvAhbgtoSQYkrURftGpOM2NDSwYSrgPzglwZGVAFBmOxoRNM8qiHBVxfn0EoCFGOLxeEByqMgIMynRJJkxqTQHTKx+v5+t3QgvG7fbnbTdCD0SoZOs5gcfWoRFwuXH5/PRfqTZbMY+H0urRNImkwkZZ+DyiuBFUvXwFas1aplE5BQ6QtnmUBkD5T4sFkt5eXlBQQGb2gZp85CUlSyoEIpFIUjQdJM+wO3I4/H4/X66KexzEolE8L5Cr0T0loYkq9gCqE9UtJbefSpKZbPZcnNzz5w5o1KjOGb+WArg8TGLwJM2qtSoUuNJJKhELCPIDGsxFmVyDEFIA3zfsbxihcUHh8OBxc5ut0Mpcbvd9HbvdDrRGwQnwE/SYrFgpatikmtjsYaKQGKSCNJzU6VAqqZEzpZutxtjkcmR/BVra2sR+k2rPzxToJMZjUZs4KF/6CtowcJNKhQt/fBtIZ5AYDtpZqSKIZQiyQ2HdXvBDNDEYpIxaXQmfQUvU1aD5FMjeoaQoZVylGO60DOeBBQJoagP3CxEdOA30pxgr5H0RVAaUS8CKCljOKbaarUihypC+DHJmB+j0QgvHtpcBNFSSAmetKpE2RBcxVYvQSPQss8JfindRL1eX1VVRfOJR4Wti8JOL54iKNnQnrVarUqNfOQi8BQgT3mJ3HBzwpM2qtS4cKmRsuGgVh9yQ9PeT5IVC4sLXuQpapvdK8rJyVm9evWqVauQAAyCCG5EYWdlZWUnJCcnJysra3VCKAcK/C8QV05nIsY8JyenqKioJCFYYUtKSvLz8/Py8pBpBSlXEF2OExBUXlBQQEoPALMh6uTlAccQhJkjj4zJZCoqKsrJycnPz8/Ozk5PT09PT1+zZk1WVlZOTk5OTk5BQUFRURGMihRFgK+AuaCgAOmzMYfAgOUbNMn618BHBif4fD6o0fQ+4Xa76TRKZYBU4CisAd3R6XQGg0E6GeLxeJBPwGq1kh8smVsRPUItiJSnaE689LDsCLLBSwC9hRBVkJ4HtxpKi4P3JNw1nU6HhAMVFRXFxcVkF2X1P7x8gGtBq/QiAjx4l0ryM2Lda4lfUdkKyVphBC4oKMBjg5QFtEXqdDorKysBCbSa9CqGRkpWgH+Knp4etV6jOGb+WArg8TGLwJM2qtS4cKlxYmJidnb28uXL+/fv7+rq2rdvH3vcnpA9e/Z0dXV1dXXt2bNn9+7du3bt2r17d5dEdu3atX379rfffnvnzp1JXSVJyka+pOwN4x46dOjgwYPsET+nq6tr//79hxJy7NixY8eOHT169PDhw2g5cOAAgafLDx8+fOTIkcOHDx87duzkyZMnT548fvz44YTwEdJp0sk8ePDgyZMnT506dfLkyffee2/fvn3btm1bv3499q5wbG9vh5kO0tbWhsaNGzdu3bp1y5YtmzZtovPZC3GElXvDhg3btm1bJxGqCIYMrtgQpa5IOjs7t2zZguHoiF1bbKCSOZowSwWRKuSUlPSZLJPI2dbU1LR+/XpCQlvXbW1tW7Zs2bJly+bNm8mSCQs5beWy0shkEm9oaNi0adORI0dOnz59KiGnE4K7cOrUqaNHjx45cuTIkSPd3d10GloOHz58/PhxnHbixImj8nL8+PGenp6BgQE1rlEcM38sBfD4mEXgSRtValy41Dg1NTU7O3vt2rWZmZmZmZnp6Wn2OJEQtJAk/UkyOTk5MTExPj4+OTmZ1FWSpGzkS8reMC5+AntkBb+U/Y3SRrYT+iql8BHSadLJxHxOTk5OTk5CWR8bG0PL1NQUjvgwlhBqZDuh89kLcRwfHx8bG6PTkmRiYmJ0dHR0dHRkZGRgYGB4eHh8fJy6IpHONtBCxsbGRkZGRkZGRkdHCZ5UxsfHh4eHcSZ1gj/RTkgGBwfHxsbot09OTo6Pj+NbPHiQ0YTQD6efQzI2NobOh4eHBwYGRkZGkqYi6UHFj8XtRiMk6SnCZ/59Z5+iv/c1QQSzHCpxzPyxFMDjYxaBJ21UqXHhUuPs7Oz09DQWXyzoSUep0HBy5CHtREqiKRv5krI3OVLH2oflj06g9ZddzgjzzPWUPy15G5iWeSGQnkZnys0Gi3bm+tmeuZ5fU8KjFn7/HOHPv5QaCQn9QFT6lHsGksCz7w3iMGbkp13uoaIh6BFl2+mZl3uW5GY75asGK1NTU9e4G41/X2vCnJjlUIlj5o+lAB4fswg8aaNKjQuaGmmZmJXoXilPnnO4lF0lScpGvqTsjYUkNxuch0H6uz744AN2ZWeniM8E7KpKZ8rNxqyiB1j6GxU/DOwEphTOs8deywHM+fk0ruIHOOUluHezMo9ukqR8luirawy/ijzw7NPCxyzy78wXwU7mnAEREYfHRy4CTwHylJfIDTcnPGmjSo0LmhrnxCyHZz5TqgBzyt7khpsTngLMCoTTswLMgp3cPOQiM8nHnARPMeaUlyieUsHZnqfIwRPHzDn/FmOWQyWOmT+WAnh8zCLwpI0qNar/BjzMcnjmM6UKMKfsTW64OeEpwKxAOD0rwCzYyc1DLjKTfMxJ8BRjTnmJ4ikVnO15ihw8ccyc828xZjlU4pj5YymAx8csAk/aqFKj+m/AwyyHZz5TqgBzyt7khpsTngLMCoTTswLMgp3cPOQiM8nHnARPMeaUlyieUsHZnqfIwRPHzDn/FmOWQyWOmT+WAnh8zCLwpI0qNar/BjzMcnjmM6UKMKfsTW64OeEpwKxAOD0rwCzYyc1DLjKTfMxJ8BRjTnmJ4ikVnO15ihw8ccyc828xZjlU4pj5YymAx8csAk/aqFKj+m/AwyyHZz5TqgBzyt7khpsTngLMCoTTswLMgp3cPOQiM8nHnARPMeaUlyieUsHZnqfIwRPHzDn/FmOWQyWOmT+WAnh8zCLwpI0qNar/BjzMcnjmM6UKMKfsTW64OeEpwKxAOD0rwCzYyc1DLjKTfMxJ8BRjTnmJ4ikVnO15ihw8ccyc828xZjlU4pj5YymAx8csAk/aqFKj+m/AwyyHZz5TqgBzyt7khpsTngLMCoTTswLMgp3cPOQiM8nHnARPMeaUlyieUsHZnqfIwRPHzDn/FmOWQyWOmT+WAnh8zCLwpI0qNar/BjzMcnjmM6UKMKfsTW64OeEpwKxAOD0rwCzYyc1DLjKTfMxJ8BRjTnmJ4ikVnO15ihw8ccyc828xZjlU4pj5YymAx8csAk/aqFKj+m/AwyyHZz5TqgBzyt7khpsTngLMCoTTswLMgp3cPOQiM8nHnARPMeaUlyieUsHZnqfIwRPHzDn/FmOWQyWOmT+WAnh8zCLwpI0qNS7cfwPkTqOMXJQxbpabNxKnpUwmOcskE7mWKh0XO1ZKkfsK7ZQBjhKVzTApMemIxF3Xrk/xxQFP/dP5NERKod/Iok05IdPXZyJN+gppQmcFcgPNzs5K06ThA2UfnWay/fFF7nexOdLop1Gf09enz066hHK9UgsuYXPAElpqpJmnSWCnNGVKNrmHhEZkf4X0p9EDzzlHepQKgZnhpk79u1sTRDDLoRLHzB9LATw+ZhF40kaVGhcuNZJcS2RKm5mZGR8fJ/qhf3522ZLLKz0zM0NgpLnB2HV5ztVZKkkXEmGkZOJrqfJ+0WorRc4m6WY74QibOVNKOXJsjZOpkV2ppTRA6ciRPht528fGxpBGnDrBn+MJQWryEXlBJm4IZZCnCymb/NTU1ODgYF9f38mTJ999993Dhw+j0ER3d3d3dzeqi0COHDmyf//+Xbt2UYUWKnvS1dV18ODBrq6ud955Z/fu3Xv37j1w4ABKo+zdu3fPnj1UmeS9hBw4cACVTPbu3fuORDiVW7q6ut57770tW7Z0dXUNDw8n3UHcF/y/JD0qcs8n/1m9lngtA69//NYEDmY5VOKY+WMpgMfHLAJP2qhS48KlRizT/f39Q0ND7KqKqgjDEhkaGqJjym+HhoYGBwcHBwevXLly9epVOrJy+fLlS5cuXZSRK1eu9Pf39/f3X716lW3HJadOnaJKQCdP/l+NJ5SaYo/d3d0oLfTee+8dS8jx48ePHz9OH1hBIx2pk8PXC4ocvffee3v37sVCfObMmXPnzvX09PT09Jw5c4Y6PH/+fF9f34ULF+h4/vz5np6es2fPnj17lhpPnDhx+fLlnp6elGWkOjs7N27cuHHjxoaGhnA43NLSsm7dOqo7j/JMbW1tKFhfW1sbiUSoJH1QXtjS9m0JaWpqomL3TU1Nzc3NaIlEIsFgEHUrURiSCkA6E1JdXW0wGPLy8lAlmBUUetRqtSiOWFZWhirTJpOptLS0qKiISh9bEoIKjijQWCoRfIVLkkSr1brdbrPZ7HQ6d+/effz48ROM4M729PRcuHDh1KlT+DbpHDpTepTKe++99/7771+6dGl8fPzjtCaIYJZDJY6ZP5YCeHzMIvCkjSo1LlxqvHDhQiwWc7vddXV1kUgEhe+pKn0oFPJ6vTabDSXgKysr7XZ7bUI8CXElBJVp9Xq9xWJxu91Y5lApvqamJhwOB4NBl8uFMvGVlZVmsxmnocy65XqpqqqqTAjK4ZpMJirA6/F4QqFQKBRCxd1AIOD3+wEGlXhRBxhF6iG1jIRCIXBJJBKpqanxer04ut1uOh/FgfEVBAV+fT4fRnG5XA6Hw2g00sJdnBDU3dVqtRqNpri4GBWYUehYo9FQnXqdTufxeJxOp1arRaPJZNIlhGrwVlRUgJxQQxjVfVFVGKV9jUZjSUkJqu9WVlZaLJbq6uqqqipU2QUG8IrJZALrQKhoMCr04lqqaI9ywXa7vby8HAhNJpNerzcYDCaTyeVymUwmjUbjdrvtdjsK/EJ0Ol1ZWZnNZvN6vVarFXWPzWazw+HA1Nntdrqz1dXVgUDAaDSicDFVewb7VlZWYsbQjqrLbrcb99rtdjudTgxNl9hstrKyMtSXJjZFnWqtVgvqReVqFDRGiePchFANatTizs/Pp/rerKC3lpaWS5cufZzWBBHMcqjEMfPHUgCPj1kEnrRRpcaFS42nT59GHXYUc/f7/SjsDvWiqakpEon4/f5oNBoOh71ebzAYRJXdhoaGSEJYdSQWi0WjUZSTDQQCbrcb7BUMBuPxOHgoEAjgNFS4ra2tdbvdqHBbX18fi8XC4XA4HI4mJBaLRSKR+vr6urq62tpan8+HkvTAGQgEvF4vCMxms5EeU1NTg7r2Pp8PrMZ+wFe1tbX4XRaLBS8BYF+cU1tb6/f70RsN4fV6iXR9Pl80Gm1sbIzKSCwWw+9CiV1qCYfDeBEJBoPQzKqrq0E8VVVVWq1Wr9drtVqdTqfVarGam81mvC7Y7XZwodPpxLuIyWQyGAwajQZUB3qoqalxOByVlZXgm7KysoqKCmhslZWV2oTgVUav1+PlA/QDRsQrC0Sj0VRUVKAroMIlFRUVpaWlOp2O/Uqr1YKnDQaD1WpFY0VFBd4GIJWVlfgVBoOhqqoKLwckOp2uoqICkMrKykBv6MdisRA8KK9msxnTVVFRgV9ntVo7Ojrefvvt7du3b9q0CYWXqUIyBMp3e3v7loRsTsimTZtwbG1thQ7d0dGxQyKbNm2qqKiwWq2nTp36OK0JIpjlUIlj5o+lAB4fswg8aaNKjQuXGk+ePFlRUREOhy9evDg2NoZdKDqyW1BooUYc2c0tFKS9lnBOwfmwysLQSp/Hxsakp5GLysTEBG160b4OPvf392/cuDEej4MjSXw+HxgLuo7dbne5XD6ugOeCwWBdXZ3H47FaraT6sNQYDAZBh0SNLMXW1tbu2bMH1Xrn3B9lj7RfiA+Dg4NbtmypqqoCeRBDQO/UarWgTCIVi8Vit9vtdrvFYqmsrCwpKSkrKyPlD2qf3W7X6/XgJ+hwOp3OZDI5nU6j0UhDlCVEo9GUlJSUlJSUl5eTPkfflpaWlpeXg0dxYXl5eUlJiU6nq6qqotMIsE6ng8IKdRMCxQ66nc1ms9lsDocD7wTaVIJx9Xo9ewKr5hJO+tbhcOj1er/f39vbS7PNuj6R0H4qOfUkfQWnHtoelt7cq1evwn574sSJj9OaIIJZDpU4Zv5YCuDxMYvAkzaq1LhwqfH99983mUzRaHRsbAz9XEv4+E0nys/Ozs5K/S2lDg44mTqhtYbg0UJDmHEa61LIrl+sK83ExMTs7Gxvb29ra2t9fX04HIZFtKamJhQKgcz8fr/D4cCaC2snLG8pedHj8bjdbrAdjLqw8sEUDOZzu90ulysYDNbW1jocjpqamkgkEgqF/H6/3W6H0fXw4cMz8g6KH3zwwXSirjLcO/HDk1bt4eHhjo4OGEuhApISZjabyZhsNBphaAX/4UytVltcXAxqBElANYRKV1JSQkoY9DCoWeXl5WAv2BVhcS0oKCguLtZoNNAdoSzCDgza0+v1ZOYtKysrKSkxGAzg4IqKCsCArRIwwKAwjJeXl1utVvwKspeC7/FjYUmGeooLKyoqYMnEJIAsgRknkP6K1whsZGo0mpqamitXrmC2ryUcrZOITeqhKv2nm+F6qA4PD+NX9PX1ifyv/b2sCSKY5VCJY+aPpQAeH7MIPGmjSo0Llxr7+vpACVNTUyLwRJCLwLtRzKDV3t7eaDQaCASCwSAsvR6PJxKJWK1Wr9cbiUSgiIAgcXQ6nawdlayp2LKC7dHn8xmNRmiNZrPZ4/H4/X7sOzqdTpiR8SdGwWcYbHft2sWnRrnZ+CCx+E5NTY2Nja1du7aqqgpKGInRaHQ4HBaLBYZHaGakIdGmFzmhYLMTe71kxgQvsqqb0WjUaDSg2CT1sbS0lKysOI2GoNPQAuMtgMFqWlRUBNYEvxoMBnB5ZmZmYWEhbI9gR8KGHUEABs0DA23KgiwLCgpgcc3OzsbQGo2G1FPy1sG1Go3G6/VevnxZ/ClV8ADPzs4ODw8XFhaWlJRgrDlF/N+ZL4KdiEBSjFkOlThm/lgK4PExi8CTNqrUuHCp8cyZM3BnIK2RD08EuQi8G8VM1BiLxaDGQXtzuVyRSAQqXV1dHVwwiBdhryNNkY6whdbU1MCFEmax6upq8BB4Eb42Xq83EAjA89Pr9RoMBlJDo9Hoh0iN0WgUbi/wSIJANQSZgZxoMy+JGtGCHT69Xs/u8JHKSB+IdaTUCOIhYYdAh9AX4YRCLkIgKqPRqNfrQY3FxcXk7FNUVARtD1xISKABwykG/FdSUoLPILmSkhIiQuigYF8AoAmBcowz0W1tbe3Vq1fFn1IFD/Ds7Ozg4CBU6osXL4o8w+L/znwR7EQEkmLMcqjEMfPHUgCPj1kEnrRRpcaFS40XLlyA38pHXGuEXev8+fPRaBT7i3V1ddDbwuGwzWbz+XyhUAhqot1uh18lXG1hPoVfK8iSvI2qq6udTqfH44G/JbRGnAnWBIOiJRAIhMNheNXCy8bj8ezcuTMpEF76M1POBj5glwvUCOQwokIcI3bb4QAAIABJREFUDgc2CI1GI3xcWX9XlsNg/MzOzs7KyoINk/xaYXIkpiwsLCwsLCwqKioqKqqsrMRX0L3AgqSx4QMok6yXpNLRaSUlJQUFBYi+gA8ROiev3YKCgr/97W+PPPLIc88997//+7/Lli1btWoViA3OOBqNZvXq1a+//npeXh45+sJgW1hYiF1Swo93AtraJG4GJLgdhUKhoaEh8adUwQM8Ozs7NjaGG6F6qM6JXASeAuQpL5Ebbk540kaVGhcuNfb29lZVVUUikY84NcLHp7+/v76+HruDtJXodrv1en1lZeWyZcseeeSRl1566a9//eszzzzzwgsv+Hw+8E1FRUVGRsaiRYseffTRxYsXY8uturoaxmQiUTh85ufnP/nkkw8//PBTTz1ls9kKCwuhPkJZtFqt4NdwOOzz+bZv3z45OSkHmzMbHySoEdkDGhoaELKCTT7aGsQOos1me+WVV77zne9873vfW7Ro0a9+9auHH374xRdfLC4urqysLC0tzcjIePLJJ3/4wx/ed999zzzzjMViIVKBqw7pfKWlpfn5+U899dQ999yTlZWFQaFlktbIapnQzHJychCemJ+fLw1jIDXX5XKZzeasrKyMjAz6Njc395lnnvmnf/qnp59++rnnnvv5z3/+7W9/G3cBrwKFhYW//vWvP/GJT6xataqysrK4uJj4m8y8tKFI+qtWq8XmqFarzcnJAZtqNBqHw9HY2DgwMCD+lCp4gGdnZ0dGRlRqTEIljpk/lgJ4fMwi8KSNKjUuXGo8d+6cXq+vra2dmJgQgSeCXATejWKG48OlS5egNULDg3bodrtBDw899NAnP/nJl156KT8//7//+78/+9nP/va3v9VqtSaTKScn54knnvjd73730EMP3XbbbRkZGXDVgW+qxWJxuVzwCjGZTM8+++z999//5z//+Wtf+9rPf/5zk8kUi8UQreHxeMjTJxQKud3uXbt2zVNrBDU2NTXBJwWKV5LttKqqqqCg4Lvf/e53v/vdN998My8v7/e///0//MM/PPzww9nZ2Xq9/k9/+tOiRYtef/31++6771vf+hZrbgUvko5VWlpaWFj4u9/97otf/GJaWlpKgypriYXGRluMJNjbA29BXwR4UF1hYSFOgKV08eLFn/jEJ9LT0y0WS0lJyeLFiz/1qU8999xzGo0G3rZZWVn/8i//AmqkLUN43uJPVmsk7xucANcbiF6vdzgc0Wi0v79f/ClV8ADPzs4ODAxgHi5cuCDyDIv/O/NFsBMRSIoxy6ESx8wfSwE8PmYReNJGlRoXLjX29PSUlZV5vd7JyUkReCLIReApwDwzM9PX1xeNRmEgdTqdCPWDc0dtbe3zzz//xS9+0Wg0ulyu8vLyP/zhD5/4xCfS0tLgVFJSUuL3+61W65e+9KVly5aRS6rT6USyAsTI63S6NWvWmM1mv9//7LPP3nPPPVVVVdBNvV4vfFMhPp+vurp6z54989lrJGpsbm6GEbWqqoolJJAEYjDuv//+H/zgBwhRz83N/clPfvLv//7vy5cvLy0tRZS6zWZ78sknv/zlLyP2HyzIusbA51Or1b7wwgtf/epXs7OzCxNCnqhkwGS3J81mc2ZmZlFREeubI9UaQb3EsrB8ajSav/zlL7fffvurr74K42dO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8/OxNjosUmfkSsAME4gWMqXUwb3wBryq0G2TgiuHJEjxkcka8ViWAZui4MpBPaCK1c1vwTrspAnSoyyRSBISEvbq7MSJEydOnDhy5Ehubu7u3bt3796dm5t7+vTpY8eOHT58+Pjx4ydOnNB7hZ04ceK0zn766acDBw5cunSpsbHxr3RP4MLMRMWdmb0tHnjszFzw6IUmaXxzpbG5ubmysvLJkye1tbV1dXV1dXXV1dU1NTU1NTXV1dX1OqvRGd6tr6/XaDSVlZWVlZVVVVV1dXWNjY1NTU2NjY0NDQ21tbVVVVUvXrzAAa2trS0tLS0tLQ0NDTU1NWiovr6+qqqqoqKiurq6qqqquroa5Q0NDVqttqWlpbm5uYViWq22ubm5qakJ9dfV1Wk0mubm5tbW1qampoKCgiNHjuTl5eH+lZ+ff/To0SNHjhw9evTo0aPHdJafn4/C06dPnzt37vTp07hFHjt2DMfDjh8/jj9OnDhx8uTJ06dPnzlz5vz588eOHTt06NApnZ07d+7s2bNo8fDhw99///2xY8cuXLhw9OjRvXv3ZmdnQ7MzMjIQnmZmZu7fv//gwYMHDx7MycnZu3dvbm5uSkpKampqVlZWdnZ2WloaHhr2799/4MCB/fv37927NycnJycnB1qelZW1Z8+evLy8nJwcjJ5F5XhcwBNGRkbGvn37Dh48uFtnubm5p06dKi8v12q19AuAeBju1Wg0jY2NWq0WXyW+u9bWVnLttbS0vHz5sr6+/tGjR7du3bp9+/adO3eu6Ozy5ctXrly5fv369evXf//994KCgmvXrl27du369es3bty4evUqDrt58+bdu3fv3r1bWFh46dKl33///c6dO6iqsLDw2rVrBQUFBQUFt27dunnz5s2bN+/cufPHH3/cunWroKDg999/v379+tWrV69du1ZYWIiz7ty589tvv505cwbvXr58+caNGzdv3rx169a9e/eKioru37///Plz6s8KH625uZlego+s90qsVWcvX7406NL/3+8JXJiZqLgzs7fFA4+dmQsevdAkjW+uNHJhZuIxxqU8mA3W9urVK9y5GhsbqQrd2NioYTCob7POtFqtVqttamqivzbqDCUajaa2trbRkDXpTKvV4gngxYsX5OGgqqoKf1RUVLx48aKioqKkpKS0tLSkpKSoqOjp06cVFRUVFRWlOntB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" alt="" />

假设客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到的字节数是不确定的,故可能存在以下4种情况。
(1)服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和拆包:
(2)服务端一次接收到了两个数据包,D1和D2粘合在一起,被称为TCP粘包;
(3)服务端分两次读取到了两个数据包,第一次读取到了完整的D1包和D2包的部分内容,第二次读取到了D2包的剩余内容,这被称为TCP拆包:
(4)服务端分两次读取到了两个数据包,第一次读取到了D1包的部分内容D1, 第二次读取到了D1包的剩余内容D1和D2包的整包。
如果此时服务端TCP接收滑窗非常小,而数据包D1和D2 比较大,很有可能会发生第五种可能,即服务端分多次才能将D1和D2包接收完全,期间发生多次拆包。

4.1.2    丁CP粘包/拆包发生的原因

问题产生的原因有三个,分别如下。

(1)应用程序WRITE写入的字节大小大于套接口发送缓冲区大小;
(2)进行MSS大小的TCP分段:
(3)以太网帧的payLoad大于MTU进行IP分片。

aaarticlea/png;base64,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imntaQodHj4zQ3o4gKiF7u7ulpYWDoeTmJj4z3/+c8GCBY8ePcrOzs7IyMjLy2tvb4cv5nNycv7+979/8MEHly9fTk9PDwwMnD9//ltvvbVs2bK1a9du2rQpKysLHw/f2jjFR2BSZjvj4OEwm4RHFbPDfq0dtt6wYMX9+/f37dsH3z2bxEyH99sx4+DhkOPgETAb1UaX3ZR4BMwEwqCZgBlTyfSxR0dH8/Pz9+/fD2uJj01auIrBkszM4/TFZ5IYvYTYpJjWnqbQ4eEzM6SHA51ONzg4ePz48blz565ateqzzz77f//v/7355puLFi364osvPv74448//vjixYsikSgpKWnx4sVvvvnmm2+++c477yxYsOCbb775n//5n48//vidd96ZO3euhYVFWloaPh6+tXGKj8CkzHbGwcNhNgmPKmaH/bo7bAg6jYmJsbOzg8VPTGKmw/vtmHHwcMhx8AiYjWqjy25KPAJmAmHQTMCMqWT62Gq1uqioyMrKqquryzwk/i8xKQMePjNDejjQarW9vb27d+/+05/+ZGVldfbs2Xnz5q1cubKsrCw6OnrOnDlvv/32jRs3xsbGWCzW/v3758+f/8EHH2zfvj0xMdHKymrhwoVnzpyZP38+LFQglUrx8fCtjVN8BCZltjMOHg6zSXhUMTvs19phQ1imUqm8d+8e9LDNQ+KT8yLGY2bGwSNgJhAGzQTMmEqmj61UKhMSEtavXw+La5odtql4DMyTs8ZnZkgPBxqNpru7e9euXe+9915KSkpZWdnHH3+8YsUKWF7p119/Xbp0KayLIpVKc3Jy5s+f/84775w4ceLMmTMLFy5csGCBra3tzJkz79y5A+sM4uPhWxun+AhMymxnHDwcZpPwqGJ22K+1w4ZPEnU6XWJi4oYNG/h8vjnobHJexHjMzDh4BMwEwqCZgBlTyfSxtVptbGzszp0729ratIbtpzAtycw8Tl98JonRS4hNimntaQodHj4zQ3o4GB0d7e/v371795w5c2pra/Pz8+fOnbtixYqtW7e6uLhs2rTp448/zszMHBsbEwqF4eHhf/7zn99444133333k08++etf/zpr1qz33ntv0aJF1tbWT548MTtsTHIcMTvs19pho8UEEhMTd+zYwefzTfpGggHvt2PGwcMhx8EjYDaqjS67KfEImAmEQTMBM6aS6WNrtdqa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" alt="" />

4.1.3    粘包问题的解决策略

由于底层的TCP无法理解上层的业务数据,所以在底层是无法保证数据包不被拆分和重组的,这个问题只能通过上层的应用协议核设计来解决,根据业界的主流协议的解决方案,可以归纳如下。
(l)消息定长,例如每个报文的大小为固定长度200字节,如果不够,空位补空格:
(2)在包尾增加回车换行符进行分割,例如FTP协议:
(3)将消息分为消息头和消息休,消息头中包含表示消息总长度(或者消息体长度〉的字段,通常设计思路为消息头的第一个字段使用int32来表示消息的总长度;
(4)更复杂的应用层协议。

介绍完了TCP粘包/拆包的基础知识,下面我们就通过实际例程来看看如何使用Netty提供的半包解码器来解决TCP粘包/拆包问题。

4.2    未考虑TCP粘包导致功能异常案例

在前面的时间服务器例程中,我们多次强调并没有考虑读半包问题,这在功能测试时往往没有问题,但是一旦压力上来,或者发送大报文之后,就会存在粘包/拆包问题。如果代码没有考虑,往往就会出现解码错位或者错误,导致程序不能正常工作。下面我们以3.l节的代码为例,模拟故障场景,然后看看如何正确使用Netty的半包解码器来解决TCP粘包/拆包问题。

4.2.1    TimeServer的改造
4-1    Netty时间服务器服务端

1.TimeServer

package lqy2_nianbao_fault_82;

import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioServerSocketChannel; /**
* @author lilinfeng
* @date 2014年2月14日
* @version 1.0
*/
public class TimeServer { public void bind(int port) throws Exception {
// 配置服务端的NIO线程组
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_BACKLOG, 1024)
.childHandler(new ChildChannelHandler());
// 绑定端口,同步等待成功
ChannelFuture f = b.bind(port).sync(); // 等待服务端监听端口关闭
f.channel().closeFuture().sync();
} finally {
// 优雅退出,释放线程池资源
bossGroup.shutdownGracefully();
workerGroup.shutdownGracefully();
}
} private class ChildChannelHandler extends ChannelInitializer<SocketChannel> {
@Override
protected void initChannel(SocketChannel arg0) throws Exception {
arg0.pipeline().addLast(new TimeServerHandler());
} } /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
int port = 8080;
if (args != null && args.length > 0) {
try {
port = Integer.valueOf(args[0]);
} catch (NumberFormatException e) {
// 采用默认值
}
}
new TimeServer().bind(port);
}
}

2.TimeServerHandler

 package lqy2_nianbao_fault_82;

 import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerAdapter;
import io.netty.channel.ChannelHandlerContext; /**
* @author lilinfeng
* @date 2014年2月14日
* @version 1.0
*/
public class TimeServerHandler extends ChannelHandlerAdapter { private int counter; @Override
public void channelRead(ChannelHandlerContext ctx, Object msg)
throws Exception {
ByteBuf buf = (ByteBuf) msg;
byte[] req = new byte[buf.readableBytes()];
buf.readBytes(req);
String body = new String(req, "UTF-8").substring(0, req.length
- System.getProperty("line.separator").length());
System.out.println("The time server receive order : " + body
+ " ; the counter is : " + ++counter);
String currentTime = "QUERY TIME ORDER".equalsIgnoreCase(body) ? new java.util.Date(
System.currentTimeMillis()).toString() : "BAD ORDER";
currentTime = currentTime + System.getProperty("line.separator");
ByteBuf resp = Unpooled.copiedBuffer(currentTime.getBytes());
ctx.writeAndFlush(resp);
} @Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
ctx.close();
}
}

每读到一条消息后,就计一次数,然后发送应答消息给客户端。按照设计,服务端接收到的消息总数应该跟客户端发送的消息总数相同,而且请求消息删除回车换行符后应该为“QUERYTIMEORDER”。下面我们继续看下客户端的改造。

3.TimeClient

 package lqy2_nianbao_fault_82;

 import io.netty.bootstrap.Bootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel; /**
* @author lilinfeng
* @date 2014年2月14日
* @version 1.0
*/
public class TimeClient { public void connect(int port, String host) throws Exception {
// 配置客户端NIO线程组
EventLoopGroup group = new NioEventLoopGroup();
try {
Bootstrap b = new Bootstrap();
b.group(group).channel(NioSocketChannel.class)
.option(ChannelOption.TCP_NODELAY, true)
.handler(new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(SocketChannel ch)
throws Exception { ch.pipeline().addLast(new TimeClientHandler());
}
}); // 发起异步连接操作
ChannelFuture f = b.connect(host, port).sync(); // 当代客户端链路关闭
f.channel().closeFuture().sync();
} finally {
// 优雅退出,释放NIO线程组
group.shutdownGracefully();
}
} /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
int port = 8080;
if (args != null && args.length > 0) {
try {
port = Integer.valueOf(args[0]);
} catch (NumberFormatException e) {
// 采用默认值
}
}
new TimeClient().connect(port, "127.0.0.1");
}
}

4.TimeClientHandler

 package lqy2_nianbao_fault_82;

 import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerAdapter;
import io.netty.channel.ChannelHandlerContext; import java.util.logging.Logger; /**
* @author lilinfeng
* @date 2014年2月14日
* @version 1.0
*/
public class TimeClientHandler extends ChannelHandlerAdapter { private static final Logger logger = Logger
.getLogger(TimeClientHandler.class.getName()); private int counter; private byte[] req; /**
* Creates a client-side handler.
*/
public TimeClientHandler() {
req = ("QUERY TIME ORDER" + System.getProperty("line.separator"))
.getBytes();
}
@Override
public void channelActive(ChannelHandlerContext ctx) {
ByteBuf message = null;
for (int i = 0; i < 100; i++) {
message = Unpooled.buffer(req.length);
message.writeBytes(req);
ctx.writeAndFlush(message);
}
} @Override
public void channelRead(ChannelHandlerContext ctx, Object msg)
throws Exception {
ByteBuf buf = (ByteBuf) msg;
byte[] req = new byte[buf.readableBytes()];
buf.readBytes(req);
String body = new String(req, "UTF-8");
System.out.println("Now is : " + body + " ; the counter is : "
+ ++counter);
} @Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
// 释放资源
logger.warning("Unexpected exception from downstream : "
+ cause.getMessage());
ctx.close();
}
}

主要的修改点就是代码33~38行,客户端跟服务端链路建立成功之后,循环发送100条消息,每发送一条就刷新一次,保证每条消息都会被写入Cl1annel中。按照我们的设计,服务端应该接收到100条查询时间指令的请求消息。第48~49行,客户端每接收到服务端一条应答消息之后,就打印一次计数器。按照设计初衷,客户端应该打印100次服务端的系统时间。下面的小节就来看下运行结果是否符合设计初衷。

4.2.3    运行结果

分别执行服务端和客户端,运行结果如下。

服务端

The time server receive order : QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORD ; the counter is : 1
The time server receive order :
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER
QUERY TIME ORDER ; the counter is : 2

服务端运行结果表明它只接收到了两条消息,第一条包含57条“QUERY TIME ORDER”指令,第二条包含了43条“QUERY TIME ORDER”指令,总数正好是100条。我们期待的是收到100条消息,每条包含一条“QUERYTIME ORDER'指令。这说明发生了TCP粘包。

客户端

Now is : BAD ORDER
BAD ORDER
; the counter is : 1

按照设计初衷,客户端应该收到100条当前系统时间的消息,但实际上只收到了一条。这不难理解,因为服务端只收到了2条请求消息,所以实际服务端只发送了2条应答,由于请求消息不满足查询条件,所以返回了2条“BAD ORDER”应答消息。但是实际上客户端只收到了一条包含2BAD ORDER指令的消息,说明服务端返回的应答消息也发生了粘包。
由于上面的例程没有考虑TCP的粘包/拆包,所以当发生TCP粘包时,我们的程序就不能正常工作。


下面的章节将演示如何通过N'etty的LineBasedFrameDecoder和StringDecoder来解决TCP粘包问题。

4.3    利用LineBasedFrameDecoder解决TCP粘包问题

为了解决TCP粘包/拆包导致的半包读写问题重Netty默认提供了多种编解码器用于处理半包,只要能熟练掌握这些类库的使用,TCP粘包问题从此会变得非常容易,你甚至不需要关心它们,这也是其他NIO框架和JDK原生的NIOAPI所无法匹敌的。
下面我们就以修正时间服务器为目标进行开发和讲解,通过对实际代码的讲解让大家能够尽快熟悉和掌握半包解码器的使用。

4.3.1    支持TCP粘包的Timeserver
直接看代码,然后对LineBasedFra1neDecoder和StringDecoder的APl进行说明。

4-3    Netty    时间服务器服务端TimeServer

 package lqy3_nianbao_correct_88;

 import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.codec.LineBasedFrameDecoder;
import io.netty.handler.codec.string.StringDecoder; /**
* @author lilinfeng
* @date 2014年2月14日
* @version 1.0
*/
public class TimeServer { public void bind(int port) throws Exception {
// 配置服务端的NIO线程组
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_BACKLOG, 1024)
.childHandler(new ChildChannelHandler());
// 绑定端口,同步等待成功
ChannelFuture f = b.bind(port).sync(); // 等待服务端监听端口关闭
f.channel().closeFuture().sync();
} finally {
// 优雅退出,释放线程池资源
bossGroup.shutdownGracefully();
workerGroup.shutdownGracefully();
}
} private class ChildChannelHandler extends ChannelInitializer<SocketChannel> {
@Override
protected void initChannel(SocketChannel arg0) throws Exception {
arg0.pipeline().addLast(new LineBasedFrameDecoder(1024));
arg0.pipeline().addLast(new StringDecoder());
arg0.pipeline().addLast(new TimeServerHandler());
}
} /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
int port = 8080;
if (args != null && args.length > 0) {
try {
port = Integer.valueOf(args[0]);
} catch (NumberFormatException e) {
// 采用默认值
}
}
new TimeServer().bind(port);
}
}

重点看45~47行,在原来的TimeServerHandler之前新增了两个解码器:第一个是LineBasedFrameDecoder,第二个是StringDecoder。这两个类的功能后续会进行介绍,下面继续看TimeServerHandler的代码修改。

4-4    Netty时间服务器服务端    TimeServerHandler

 package lqy3_nianbao_correct_88;

 import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerAdapter;
import io.netty.channel.ChannelHandlerContext; /**
* @author lilinfeng
* @date 2014年2月14日
* @version 1.0
*/
public class TimeServerHandler extends ChannelHandlerAdapter {
private int counter; @Override
public void channelRead(ChannelHandlerContext ctx, Object msg)
throws Exception {
String body = (String) msg;
System.out.println("The time server receive order : " + body
+ " ; the counter is : " + ++counter);
String currentTime = "QUERY TIME ORDER".equalsIgnoreCase(body) ? new java.util.Date(
System.currentTimeMillis()).toString() : "BAD ORDER";
currentTime = currentTime + System.getProperty("line.separator");
ByteBuf resp = Unpooled.copiedBuffer(currentTime.getBytes());
ctx.writeAndFlush(resp);
} @Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
ctx.close();
}
}

直接看19~21行,可以发现接收到的msg就是删除回车换行符后的请求消息,不需要额外考虑处理读半包问题,也不需要对请求消息进行编码,代码非常简洁。读者可能会质疑这样是否可行,不着急我们先继续看看客户端的类似改造,然后运行程序看执行结果,最后再揭开其中的奥秘。

4.3.2    支持TCP粘包的TimeClient

支持TCP粘包的客户端修改起来也非常简单,代码如下。

Netty时间服务器客户端TimeClient

 package lqy3_nianbao_correct_88;

 import io.netty.bootstrap.Bootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.netty.handler.codec.LineBasedFrameDecoder;
import io.netty.handler.codec.string.StringDecoder; /**
* @author lilinfeng
* @date 2014年2月14日
* @version 1.0
*/
public class TimeClient {
public void connect(int port, String host) throws Exception {
// 配置客户端NIO线程组
EventLoopGroup group = new NioEventLoopGroup();
try {
Bootstrap b = new Bootstrap();
b.group(group).channel(NioSocketChannel.class)
.option(ChannelOption.TCP_NODELAY, true)
.handler(new ChannelInitializer<SocketChannel>() {
@Override
public void initChannel(SocketChannel ch)
throws Exception {
ch.pipeline().addLast(
new LineBasedFrameDecoder(1024));
ch.pipeline().addLast(new StringDecoder());
ch.pipeline().addLast(new TimeClientHandler());
}
}); // 发起异步连接操作
ChannelFuture f = b.connect(host, port).sync(); // 当代客户端链路关闭
f.channel().closeFuture().sync();
} finally {
// 优雅退出,释放NIO线程组
group.shutdownGracefully();
}
} /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
int port = 8080;
if (args != null && args.length > 0) {
try {
port = Integer.valueOf(args[0]);
} catch (NumberFormatException e) {
// 采用默认值
}
}
new TimeClient().connect(port, "127.0.0.1");
}
}

31~34行与服务端类似,直接在TimeClientHandler之前新增LineBasedFrameDecoder
StringDecoder解码器,下面我们继续看TimeClientHandler的代码修改。

Netty时间服务器客户端TimeClientHandler

 package lqy3_nianbao_correct_88;

 import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerAdapter;
import io.netty.channel.ChannelHandlerContext; import java.util.logging.Logger; /**
* @author lilinfeng
* @date 2014年2月14日
* @version 1.0
*/
public class TimeClientHandler extends ChannelHandlerAdapter { private static final Logger logger = Logger
.getLogger(TimeClientHandler.class.getName()); private int counter; private byte[] req; /**
* Creates a client-side handler.
*/
public TimeClientHandler() {
req = ("QUERY TIME ORDER" + System.getProperty("line.separator"))
.getBytes();
} @Override
public void channelActive(ChannelHandlerContext ctx) {
ByteBuf message = null;
for (int i = 0; i < 100; i++) {
message = Unpooled.buffer(req.length);
message.writeBytes(req);
ctx.writeAndFlush(message);
}
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg)
throws Exception {
String body = (String) msg;
System.out.println("Now is : " + body + " ; the counter is : "
+ ++counter);
} @Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
// 释放资源
logger.warning("Unexpected exception from downstream : "
+ cause.getMessage());
ctx.close();
}
}

第44~46行拿到的msg    已经是解码成字符串之后的应答消息了,相比于之前的代问简洁了很多。

下个小节我们运行重构后的时间服务器服务端和客户端,看看它能否像设计预期那样正常工作。

4.3.3    运行支持TCP粘包的时间服务器程序

为了尽量模拟TCP粘包和半包场景,采用简单的压力测试,链路建立成功之后,客户端连续发送100条消息给服务端,然后查看服务端和客户端的运行结果。
分别运行TimeServer和TimeClient,执行结果如下。

服务咐执行结果如下。

The time server receive order : QUERY TIME ORDER ; the counter is : 1
The time server receive order : QUERY TIME ORDER ; the counter is : 2
The time server receive order : QUERY TIME ORDER ; the counter is : 3
The time server receive order : QUERY TIME ORDER ; the counter is : 4
The time server receive order : QUERY TIME ORDER ; the counter is : 5
The time server receive order : QUERY TIME ORDER ; the counter is : 6
The time server receive order : QUERY TIME ORDER ; the counter is : 7
The time server receive order : QUERY TIME ORDER ; the counter is : 8
The time server receive order : QUERY TIME ORDER ; the counter is : 9
The time server receive order : QUERY TIME ORDER ; the counter is : 10
The time server receive order : QUERY TIME ORDER ; the counter is : 11
The time server receive order : QUERY TIME ORDER ; the counter is : 12
The time server receive order : QUERY TIME ORDER ; the counter is : 13
The time server receive order : QUERY TIME ORDER ; the counter is : 14
The time server receive order : QUERY TIME ORDER ; the counter is : 15
The time server receive order : QUERY TIME ORDER ; the counter is : 16
The time server receive order : QUERY TIME ORDER ; the counter is : 17
The time server receive order : QUERY TIME ORDER ; the counter is : 18
The time server receive order : QUERY TIME ORDER ; the counter is : 19
The time server receive order : QUERY TIME ORDER ; the counter is : 20
The time server receive order : QUERY TIME ORDER ; the counter is : 21
The time server receive order : QUERY TIME ORDER ; the counter is : 22
The time server receive order : QUERY TIME ORDER ; the counter is : 23
The time server receive order : QUERY TIME ORDER ; the counter is : 24
The time server receive order : QUERY TIME ORDER ; the counter is : 25
The time server receive order : QUERY TIME ORDER ; the counter is : 26
The time server receive order : QUERY TIME ORDER ; the counter is : 27
The time server receive order : QUERY TIME ORDER ; the counter is : 28
The time server receive order : QUERY TIME ORDER ; the counter is : 29
The time server receive order : QUERY TIME ORDER ; the counter is : 30
The time server receive order : QUERY TIME ORDER ; the counter is : 31
The time server receive order : QUERY TIME ORDER ; the counter is : 32
The time server receive order : QUERY TIME ORDER ; the counter is : 33
The time server receive order : QUERY TIME ORDER ; the counter is : 34
The time server receive order : QUERY TIME ORDER ; the counter is : 35
The time server receive order : QUERY TIME ORDER ; the counter is : 36
The time server receive order : QUERY TIME ORDER ; the counter is : 37
The time server receive order : QUERY TIME ORDER ; the counter is : 38
The time server receive order : QUERY TIME ORDER ; the counter is : 39
The time server receive order : QUERY TIME ORDER ; the counter is : 40
The time server receive order : QUERY TIME ORDER ; the counter is : 41
The time server receive order : QUERY TIME ORDER ; the counter is : 42
The time server receive order : QUERY TIME ORDER ; the counter is : 43
The time server receive order : QUERY TIME ORDER ; the counter is : 44
The time server receive order : QUERY TIME ORDER ; the counter is : 45
The time server receive order : QUERY TIME ORDER ; the counter is : 46
The time server receive order : QUERY TIME ORDER ; the counter is : 47
The time server receive order : QUERY TIME ORDER ; the counter is : 48
The time server receive order : QUERY TIME ORDER ; the counter is : 49
The time server receive order : QUERY TIME ORDER ; the counter is : 50
The time server receive order : QUERY TIME ORDER ; the counter is : 51
The time server receive order : QUERY TIME ORDER ; the counter is : 52
The time server receive order : QUERY TIME ORDER ; the counter is : 53
The time server receive order : QUERY TIME ORDER ; the counter is : 54
The time server receive order : QUERY TIME ORDER ; the counter is : 55
The time server receive order : QUERY TIME ORDER ; the counter is : 56
The time server receive order : QUERY TIME ORDER ; the counter is : 57
The time server receive order : QUERY TIME ORDER ; the counter is : 58
The time server receive order : QUERY TIME ORDER ; the counter is : 59
The time server receive order : QUERY TIME ORDER ; the counter is : 60
The time server receive order : QUERY TIME ORDER ; the counter is : 61
The time server receive order : QUERY TIME ORDER ; the counter is : 62
The time server receive order : QUERY TIME ORDER ; the counter is : 63
The time server receive order : QUERY TIME ORDER ; the counter is : 64
The time server receive order : QUERY TIME ORDER ; the counter is : 65
The time server receive order : QUERY TIME ORDER ; the counter is : 66
The time server receive order : QUERY TIME ORDER ; the counter is : 67
The time server receive order : QUERY TIME ORDER ; the counter is : 68
The time server receive order : QUERY TIME ORDER ; the counter is : 69
The time server receive order : QUERY TIME ORDER ; the counter is : 70
The time server receive order : QUERY TIME ORDER ; the counter is : 71
The time server receive order : QUERY TIME ORDER ; the counter is : 72
The time server receive order : QUERY TIME ORDER ; the counter is : 73
The time server receive order : QUERY TIME ORDER ; the counter is : 74
The time server receive order : QUERY TIME ORDER ; the counter is : 75
The time server receive order : QUERY TIME ORDER ; the counter is : 76
The time server receive order : QUERY TIME ORDER ; the counter is : 77
The time server receive order : QUERY TIME ORDER ; the counter is : 78
The time server receive order : QUERY TIME ORDER ; the counter is : 79
The time server receive order : QUERY TIME ORDER ; the counter is : 80
The time server receive order : QUERY TIME ORDER ; the counter is : 81
The time server receive order : QUERY TIME ORDER ; the counter is : 82
The time server receive order : QUERY TIME ORDER ; the counter is : 83
The time server receive order : QUERY TIME ORDER ; the counter is : 84
The time server receive order : QUERY TIME ORDER ; the counter is : 85
The time server receive order : QUERY TIME ORDER ; the counter is : 86
The time server receive order : QUERY TIME ORDER ; the counter is : 87
The time server receive order : QUERY TIME ORDER ; the counter is : 88
The time server receive order : QUERY TIME ORDER ; the counter is : 89
The time server receive order : QUERY TIME ORDER ; the counter is : 90
The time server receive order : QUERY TIME ORDER ; the counter is : 91
The time server receive order : QUERY TIME ORDER ; the counter is : 92
The time server receive order : QUERY TIME ORDER ; the counter is : 93
The time server receive order : QUERY TIME ORDER ; the counter is : 94
The time server receive order : QUERY TIME ORDER ; the counter is : 95
The time server receive order : QUERY TIME ORDER ; the counter is : 96
The time server receive order : QUERY TIME ORDER ; the counter is : 97
The time server receive order : QUERY TIME ORDER ; the counter is : 98
The time server receive order : QUERY TIME ORDER ; the counter is : 99
The time server receive order : QUERY TIME ORDER ; the counter is : 100

客户端运行结果如下。

Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 1
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 2
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 3
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 4
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 5
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 6
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 7
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 8
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 9
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 10
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 11
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 12
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 13
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 14
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 15
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 16
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 17
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 18
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 19
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 20
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 21
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 22
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 23
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 24
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 25
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 26
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 27
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 28
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 29
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 30
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 31
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 32
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 33
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 34
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 35
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 36
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 37
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 38
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 39
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 40
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 41
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 42
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 43
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 44
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 45
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 46
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 47
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 48
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 49
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 50
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 51
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 52
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 53
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 54
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 55
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 56
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 57
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 58
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 59
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 60
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 61
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 62
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 63
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 64
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 65
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 66
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 67
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 68
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 69
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 70
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 71
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 72
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 73
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 74
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 75
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 76
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 77
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 78
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 79
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 80
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 81
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 82
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 83
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 84
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 85
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 86
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 87
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 88
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 89
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 90
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 91
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 92
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 93
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 94
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 95
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 96
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 97
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 98
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 99
Now is : Thu Oct 22 11:03:33 CST 2015 ; the counter is : 100

程序的运行结果完全符合预期,说明通过使用LineBasedFrameDecoder和StringDecoder成功解决了TCP粘包导致的读半包问题。对于使用者来说,只要将支持半包解码的handler添加到ChannelPipeline中即可,不需要写额外的代码,用户使用起来非常简单。

下个小节,我们就对添加LineBas巳dFrameDecoder和StringDecoder之后就能解决TCP粘包导致的读半包或者多包问题的原因进行分析。


4.3.4    LineBasedFrameDecoder和StringDecoder的原理分析

LineBasedFrameDecoder的工作原理是它依次遍历ByteBuf中的可读字节,判断看是否有\n或者以\r\n气如果有,就以此位置为结束位置,从可读索引到结束位置区间的字节就组成了一行。它是以换行符为结束标志的解码器,支持携带结束符或者不携带结束符两种解码方式,同时支持配置单行的最大长度。如果连续读取到最大长度后仍然没有发现换行符,就会抛出异常,同时忽略掉之前读到的异常码流。
StringDecoder的功能非常简单,就是将接收到的对象转换成字符串,然后继续调用后面的handler。LineBasedFrameDecoder+StringDecoder组合就是按行切换的文本解码器,它被设计用来支持TCP的粘包和拆包。

可能读者会提出新的疑问:如果发送的消息不是以换行符结束的该怎么办呢?或者没有回车换行符,靠消息头中的长度字段来分包怎么办?是不是需要自己写半包解码器?答案是否定的,Netty提供了多种支持TCP粘包/拆包的解码器,用来满足用户的不同诉求。
第5章我们将学习分隔符解码器,由于它在实际项目中应用非常广泛,所以单独用一章对其用法和原理进行讲解。

4.4    总结

本章首先对TCP的粘包和拆包进行了讲解,给出了解决这个问题的通用做法。然后我们对第3章的时间服务器进行改造和测试,首先验证没有考虑TCP粘包/拆包导致的问题。随后给出了解决方案,即利用LineBasedFrameDecoder+StringDecoder来解决TCP的粘包/拆包问题。