From 559cefd8f4514a0161656963a14f7b18f2d95316 Mon Sep 17 00:00:00 2001 From: Francesc Verdugo Date: Wed, 13 Sep 2023 11:25:06 +0200 Subject: [PATCH] More work in tsp --- notebooks/tsp.ipynb | 865 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 786 insertions(+), 79 deletions(-) diff --git a/notebooks/tsp.ipynb b/notebooks/tsp.ipynb index f089164..7f6489b 100644 --- a/notebooks/tsp.ipynb +++ b/notebooks/tsp.ipynb @@ -152,74 +152,6 @@ "## Serial implementation" ] }, - { - "cell_type": "markdown", - "id": "40027c85", - "metadata": {}, - "source": [ - "### Input distance" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "2eeecdd6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "4×4 Matrix{Int64}:\n", - " 0 2 3 2\n", - " 2 0 4 1\n", - " 3 4 0 3\n", - " 2 1 3 0" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "C = [\n", - " 0 2 3 2\n", - " 2 0 4 1\n", - " 3 4 0 3\n", - " 2 1 3 0 \n", - "]" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "03cac0a1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "4-element Vector{Vector{Tuple{Int64, Int64}}}:\n", - " [(1, 0), (2, 2), (3, 3), (4, 4)]\n", - " [(2, 0), (4, 1), (1, 2), (3, 3)]\n", - " [(3, 0), (1, 3), (2, 3), (4, 10)]\n", - " [(4, 0), (2, 1), (1, 4), (3, 10)]" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "C = [\n", - " [(1,0), (2,2), (3,3), (4,4)],\n", - " [(2,0), (4,1), (1,2), (3,3)],\n", - " [(3,0), (1,3), (2,3), (4,10)], \n", - " [(4,0), (2,1), (1,4), (3,10)]\n", - "]" - ] - }, { "cell_type": "markdown", "id": "f2b70f85", @@ -252,19 +184,105 @@ " Ci = C[i,:]\n", " cities = sortperm(Ci)\n", " distances = Ci[cities]\n", - " collect(zip(cities,distances))[2:end]\n", + " collect(zip(cities,distances))\n", " end\n", "end" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, + "id": "2eeecdd6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4×4 Matrix{Int64}:\n", + " 0 2 3 2\n", + " 2 0 4 1\n", + " 3 4 0 3\n", + " 2 1 3 0" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "C = [\n", + " 0 2 3 2\n", + " 2 0 4 1\n", + " 3 4 0 3\n", + " 2 1 3 0 \n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, "id": "6dd0288e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "4-element Vector{Vector{Tuple{Int64, Int64}}}:\n", + " [(1, 0), (2, 2), (4, 2), (3, 3)]\n", + " [(2, 0), (4, 1), (1, 2), (3, 4)]\n", + " [(3, 0), (1, 3), (4, 3), (2, 4)]\n", + " [(4, 0), (2, 1), (1, 2), (3, 3)]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "connections = sort_neighbors(C)" + "C_sorted = sort_neighbors(C)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "00608e1d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4-element Vector{Tuple{Int64, Int64}}:\n", + " (3, 0)\n", + " (1, 3)\n", + " (4, 3)\n", + " (2, 4)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "city = 3\n", + "C_sorted[city]" + ] + }, + { + "attachments": { + "g25091.png": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABUcAAAHMCAYAAAD25xnyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAewgAAHsIBbtB1PgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURBVHic7N13uCRVmfjx751hBgaGIQ05CgIqGQRRQAxgQBF1F3FNGHH9gWtEMaC4BsCwiu6qKCYMu2KWRddFZUBERZLknDMIDMwMDMzM+f1xbi99q6q7b3dX1enw/TxPPbv3zr3nvI23qqvfOud9J5AkjZNVgWcAOwPbANsCmwBzgdUmj/uBJcBDwHXAVZPHn4BLgVB71JIkSZIkSZLUg02Bo4AzgUeIyc1ej7uBU4B/AubU+SIkSZIkSZIkaTpmAq8Afgssp7+EaKtjIXASsGNNr0mSJEmSJEmSWpoFvJG4Db6KhGjRsQL4BbBHDa9PkiRJkqTSTKQOQJJUmn2ALwPbT+Nn/w5cAlwN3Dj59UPAMmJd0rnAesS6pNsA2wErdxgzAN8DjgTu6jp6SZIkSZIkSerSPOCbxBWc7VZ3LgDeSdwG3+3DsVWB/YHjiMnUditJ7wfe3PvLkSRJkiRJkqTOdiWu/mzXQOmjwBYlzjkB7Av8gLjStNXcPwBWL3FeSZIkSZIkSQLgUFp3n7+LuEp0tYpj2IrYlKlV06ergK0rjkGSJEmSJEnSGHkHxQnJFcDJwPya49kF+FNBPAG4F9iz5ngkSZIkSZIkjaBPUpyEvBV4ZsK4ZgBHU7zV/kFg73ShSZIkSZIkSRp276E4Mfq/wLoJ42q2L3AnxY2adkgYlyRJkiRJkqQh9VqKO9KfDMxKGFeRrYBrycd6G7BZwrgkSZIkSZIkDZmdgIfJJxu/ROweP4jWBy4lH/OfGbxkriRJkiRJkqQBtBpwOfkk4/eJdT4H2UbADeRj/2zKoCRJkiRJkiQNhxPJJxd/y/CsvnwysJCp8a8AnpMyKEmSJEmSBnUrpiQp2p24Db15hehdwM7Epkf9mg88FdgOWKnp+4uA/yhh/IaDgVMy37sa2BFYWuI8kiRJkiRJkkbATOAC8isun93jePOAvYF3EJs4XUZxg6dG46SyfbVgnqMqmEeSJEmSJEnSkHsV+WTiST2O9YWCsdodVSRH502O2zzPQmDNCuaSJEmSJEmSNKQmgIuZmkj8O3EbfC++RfrkKMCrC+b6cEVzSZIkSZIkSRpCLyGfRPxAH+O1So4uB64EbqSe5OgEcFFmrnuAVSuaT5IkSZIkSdKQOZWpCcQH6G/7eSM5evvk2McABwLrTP77v1NPchTgEPJJ2ldXOJ8kSZIkSZKkIbEe8ChTk4fH9znmlsSan63UmRydAVyXme9/KpxPkiRJkqRCM1IHIEnKOQSYlfned/oc83rgwT7HKMsK4LuZ7+0HbJAgFkmSJEnSGDM5KkmD5wWZr88DLk8RSIW+S1wx2jAT2D9RLJIkSZKkMWVyVJIGy0rA3pnv/SJFIBW7jnzC99kpApEkSZIkjS+To5I0WJ5KvjboGSkCqcHvM18/J0kUkiRJkqSxZXJUkgbLjpmvlwDnpgikBgsyX28OrJkgDkmSJEnSmDI5KkmDZdvM11cDj6UIpAaXFXxvm9qjkCRJkiSNLZOjkjRYssnBq5JEUY/rySd+s8lhSZIkSZIqY3JUkgbLhpmvr08SRT0eA27JfC/7+iVJkiRJqozJUUkaLKtnvl6YJIr6ZF/f3CRRSJIkSZLGkslRSRos2eTooiRR1OehzNfzkkQhSZIkSRpLJkclabDMynz9aJIo6rM08/XsJFFIkiRJksaSyVFJGiyLM1+P+jbz7ErZ7EpSSZIkSZIqY3JUkgZLNjk46snR7DZ6k6OSJEmSpNqYHJWkwfJA5usNkkRRn/UyX496AypJkiRJ0gAxOSpJg+X6zNfbJImiHmsD8zPfuzZFIJIkSZKk8WRyVJIGy1WZr7dNEkU9il7b1bVHIUmSJEkaWyZHJWmwZJOjmwIbpQikBk/LfP0IcGOCOCRJkiRJY8rkqCQNlnOAkPnes1MEUoPnZr7+M7A8RSCSJEmSpPFkclSSBssdwJWZ7+2fIpCKzQaemfneGSkCkSRJkiSNL5OjkjR4fp/5+qXAnBSBVOhFwLzM97KvW5IkSZKkSpkclaTB85PM12sAL0kRSIVem/n6duBPKQKRJEmSJI0vk6OSNHguBO7LfO9tKQKpyKbElaPNfoL1RiVJkiRJkqSx9QTgBGARsSlT9tirwrn/PTPXbRXO9SXyr20xcCKwTYXzSpIkSZIkSRowuwInA49RnBRtHP/T5zxXANe1OBZm5lrW5mevA57VYwwbA0to/RqXA6cCT+9xfEmSJEmSJEkDbgaxjuiZtE+IZo+D+pjzkS7nancc0GMM/9XFHAuAFwMTPc4lSZIkSZIkaYDMBl4HXEbn5OBl5FeT3gis1uPcqZOj+xWMk12xWnRcA7wDmNPDnJIkSZIkSZISW4OY4LuNzsnAs4EDiSsmP1nw7yf1GEPK5OhawA2ZMZYBOwN7E7fSr+gw513AMcA6Xc4tSZIkSZIkKYEtad9kqXEsJdYd3T7z+3OINT6zP/+6GmIvywTwc/Kv4fOZn9ua+N/q4YKfbT4eIf632raG2CVJkiRJkiR1aTem12RpITEhuEmbsfYnNipq/r3FwDMqir1sx5F/3dcB81r8/PrEFaJ/L/i95qPRvGlY/jtIkiRJkiRJI2sGcTv86XTeln4D8H7idvvp+FTBGA8AO5UXfiX+H/m4HwX2nMbvzgUOA64uGCN7nEdcTTuz3PAlSZIkSZIktbMyMTF3OZ2TeBdM/uxKXc6xEnBWwXh3Arv0/Qqq8W6K64i+vctxGknnPxWMlT2uJdZ2XbX/8CVJkiRJkiS1Mp+4+rNTk6UVxNWkB/Y53zoUJ2AXAs/tc+wyzQA+Q/F/ixP6HHu6zZvuJm7Nn9/nfJIkSZIkSZKaNJosLWZ6TZa2K3HujYEbC+ZaRkwGzihxrl7MB35N8X+P/6S8+BrNm5a0mCvbvOlJJc0rSZIkSZIkjaVGk6VltE/IPUBM3G1cURxPpLiDfQB+Azyhonk7OZDWq2h/AMyuYM71iEnhe1vMm23etFcFMUiSJEmSJEkjqVHv8mw617u8nljvcrUa4toAuLBFHEuADwNzaogD4kraX7aIJQCfp/oVrasRmzdd1SYOmzdJkiRJkiRJ09BosnQFnZNt59Nbk6V+zQNOaRPXHcB7iV3fq7AN8C1i9/mi+R8G3lrR3K00ktnntIip+bgOmzdJkiRJkiRJ/2dd4jbte5jeNu39kkQ51duIich22/y/AexL/ys45wGHAr8j/jdoNedVwM59ztWvvYnJ405lEO4BjgM2ShPmqAsTENaF8BQIz4TwEgjPhvBkCK7elSRJkiRJGgBbMb0mS40GP09JE2ZL2wK/pfNqyb8DPwGOAJ4FbNhmzJWIjY8OBD5GLC3QapVo41gKfIp6SgtM1xPprnnTk9OEOUrCcyB8GMJpEP4OIbQ4FkH4JYQXpY5YkiRJkiRpHHXbZGnQVxceQutmTa2ORcRGSlcSSwRcB9xN50Ro9jiNwe4K323zpkFYFTykwuI2CdFWx6/jClNJkiRJkiRVqVGX8o90Tvg16lIO0krITmYABwOX0V1ys5djBTGRuEctr6wcjXqyV9L59TWaN9VdT3bI5ZKjSyFcCeGvEP4C4RoIywsSpJdCWDN19JIkSZIkSaNo3JJiE8Azga8TV76WmRS9AvgQsHltr6Z83STJr2f4kuQJhbuJW+rfBWF7CmuLhrUn//3+TIL0xPrjlSRJkiRJGl1up46J4WcDHycmAxfRXTL0duCnxFqlg1ZvtQyjVl4hsdDFQ4WwPYSHmpKjj0BYo7rYJEmSJEmSxoONeNrbFHgucYXsl8n/d3klsDswTomq6TbmWspgNuYaUuG4zOrRF6aOSJIkSZIkaVjtDZxC51WAdwPH0b5j+7h4Mfn/PsNcUqBf6wLvJ66Y7VRz9XTi9nz1LLwokxx9Q+qIJEmSJEmShkmjfuQ5dN4ifi2xfuSqSSIdTCZHizXq1F5B57+r8xn+OrWJhBdkkqOHpI5IkiRJkiSVKqwKYWMIG0JYJXU0I2QucBhwFZ2TV40mSwXNYcaeydH2Gsn3s+n8d2bzpq6FD2eSo09MHZEkSZIkSepL2BLC4RB+BuHGzAf/AOEmCN+fXDE1I3W0Q6jRZOnvtE9UNZos7ZUkyuFhcnT6ptu8aSGxfunGacIcFmETCPc0XRt/lzoiSZIkSZLUs/CPEP5UkAxtd5wLwcYu07M13TVZelKaMIeOydHubUl3zZu2SxPmoApzILwGwi1N18J7IGyTOjJJkiRJktSzcGqbJOgyCI+1+LeFEPZIHf0A25u4AnQF7RNRdxNXlM5PEuXwMjnau/nE5k230f5vc0ybN4V1IJzedJwJ4VIISzPXwL9C8GGGJEmSJEnDbUpy9AYIn4LwPAhNybqwCYQjINyWSQ7cCWHNdLEPnEadxz/RPukUsMlSv0yO9q/RvOlyOv+9XsDYNG8KG3VYOX8HhFdDmEgdqSRJ0pjZBHgu8DbgQ8BxwJeBr07+/x8GDgf2BzYHvF+TJE1HOBXCAgj70bGWaJgP4aJMouATtYQ52OYSE5030jnJdDZwMDZZ6pfJ0fI0kvqn0/nv9wbiqtMRfijSMTkaJlfUnwxhg9TRSpIkjbDtgXcCvwQeoPO9avZ4EDgNeC+wS82xS5KGR9iiy5/fOrO99JpKwhoO69Ndk6WnJ4lyNJkcrcauxHqjj9H+b7rRvGmTNGFWKaw8+bCocRwA4VAIJ7RYPW9tVkmSpPJsSExmXkz3ydBOx5XEFaeb1fZqJEmjKvxPJkGwWuqIarYNMTH0MO3ffB8mJpq2TRPmSDM5Wq0nEP/GF9H+b7zRvGn7NGHWLcyC8FEIK5quf9dBWD11ZJIkSUOucf/Z6TNWGUdj8cqutbwySdIoCp/PJEc3Tx1RTabbZOku4orSdZJEOR5MjtZjDWLJiFvpfJN5NnF7/hjUdgpHZ66B70sdkSRJ0pBaH/gWsIzpJzcXApcCfyaWhjqd2PfhEuD+LsZZDvyQkdwNJUmqWPhmJjEwL3VEFWrUY/wLnd9cryEmkuYkiXS8mByt12xiQ6bL6HweXDj5s7OSRFqLMBvCvU3XwPNSRyRJkjRkZgD/j87JzKXAmcBHgecQt913sh6wL/BB4Ld0Xo36EHErv58nJEnTFa5oSgrcmjqaiqxOTHTexPRWzNlkqV4mR9OYAPYjrqDudF7cTlxBPaLNm8LPm66Dj6SORpIkaYisD/wvnT9jvRVYq4T55gFvAM6g/S7As4FNS5hPkjTawrMzq0a/nDqikm1ATOjcR+ctGKcCeyaJUiZH09uF6TVvepBYP2rEbjTDd5qugysg+PcnSZLU2bOID9GL7htXAD8H9qhw/p2A/6L1Nv57gQMqnF+SNNzCbAiXNiUElkLYKnVUJdkROJHpbbk4kdiUSemYHB0cWwDHAQ/Q/tx5FDgF2D1JlKULv226Ft6XOhpJkqQhcAhxm3zRveJfgafWGMsOwFktYlkGHFZjLJKk4RG+lFk1elzqiEow3SZLdxJXlK6dJEplmRwdPPMYm+ZNYW0IDzddC89JHZEkSdKAO5y4+y57X7gEeDuxBmndJoA3Enc6Fd2zHp0gJknS4ApvySRGz40rSYfSLGKN0HPpnMS5GpssDSKTo4Or0bzpUjqfXxeRvHlTt9vhwwSEkzPXw6OqiU2SJGkkvI7ixShXEbe5p7YNsalo0f3q+xLGJUkaHOHlEB5rSgTcBmGL1FH1oNFk6WZGfmXbyDM5Ovi6ad50B3FldhkF97sUfgXh4xC2nMbPbgLhx5nE6D1xJakkSZIKvJTi+p6/Je48GhRzgF+Qj3MF8Pp0YUmSBkB4PoRHMomAp6SOqkvdNll6WpIo1Q2To8NlZ7pr3rRZfaGFc5qubxdD+AaEIyG8CcIhEA6D8CkIp0NYlkmMLoPwsvpilSRJGio7EbfNZ+/5TgFWThhXKysBJ5GP9zFiOTZJ0vgJ+zG1rt5CCHUWye7XTsSEzKO0T8g8REzIbJ4mTPXA5Ohw2oLYvOl+2p+TjeZNVXYqnTQlOdrN8QCEg6uPT5IkaSjNBa4gf593KoN93z4BfJN83LcA8xPGJUmqX3gmhMVNiYCHIOyVOqppssnS6CsxORq2gLDn5MOAPRjOkhHDptG86Rban6M1lLgIb4bw+8wK+XbHQggnQtiomngkSZJGwsnk7+vOYjh6OcwCfkVxYleSNB7C0yE82JQMWAxh39RRddBoAnMxnZMtFwOHAaskiVRl6CM5GjaD8HYIp0G4r0UC7G4I341JU1Wocd5eQufz9m9Uet6GVSG8AMIHIXwTws+JW+l/Mvn1B4hlRlatZn5JkqSRsT/FC1M2KHGOGcR69c1HmfdpqwNXkn8d7hySpNEXdskkjB6B8MLUUbXRWIFmk6Xx0kNyNGwC4QwIy6e5QrBxfBPC6pW/Ik13xXfC5k2SJEnqYDb5pOJy4Ll9jrsR8bPcMcR7xnvJ3yd+rc85snYkXzP1dgarkZQkqVxhZwh/b0oKLYXw4tRRtbAh8Y2xU+3CRpOlGmoXqka9JEd3b5H8XArhJgjnT/7fop85yxWDtem2VnCNzZskSZLUwXvJ37f9W49jHQP8HnigYMyio+zkKMBHCub5eAXzSJLSCztCuLcpGfQohJekjqpAo+t1p8RJgq7XqlG/ydHbIRwPYR8ImW3aYUMIH588B5oTpJ+v5JWolW4fgDwtSZSSJElqWIW4sjK762eNHse7m/b3gXUkR1cmvxJ2IbBmBXNJktIJT4JwZ1MSaBmEQ1JHldHYctvpDdEtt+Oh1+To5RD+CcI06pOG/SdXlTbOi8di4lQ1Wx1LZ0iSJA2Dw8nfn72uj/EGITkKcFDBXB+uaC5JUv3CthDuyCRGX5U6qkkD1KxFA6aX5OgqEGZ0N034bGb16GE9RasyzCIWwD+XzteDq4kJVa8HkiRJ9bmKqfdk1zPtpqmFmpOjS4BzgC8Brwd2AG7KzFdVcnQCuCgz1x3099okSYMjXJZJ/twC4ZQuj11LDqrRZOkWXCmmYn10q+9G2DlzfvRaL0nlmm7zpjuJK8nXThKlJEnS+NiT/L3Y2/oc81PAG4iNkYru9W/IzFdVchTgFeRf3yA3LpYkTV+4meIGNN0cZTVt2gI4js4Ftx8FTgF2L2leDZ+6kqNrZP7Wv1X+HOrDjsCJwCO0v2Y8NPlzW6cJU5IkaeR9man3X4uJ5ZGqVGdydCXig/fm+X5Q4XySpPoMRHJ0F2KTpcdon+BoNFnatM/5NPzqSo5unflbP778OVSCDYgrRO+j/TWk0bxpzyRRSpIkjaYJ8o2YvlvDvHUmRwG+mJnvIWLpJ6lW1nOQyncUMLfPMS7u4XcmgOcSt893Sq7eQXyj+wJxValUl2dnvv5bkijUSWP7/OeANwLvBjYr+LkZxOvNi4E/AscD/028uZUkSVJvngxkG5f+MEUgFfsh8Pamr+cCexDvKyVJmrZGk6VLab/CKxCLXr8On8Ypr4aVo2ElCBc3rRpdAmGtcudQRRrNm/5C5+vMNcSHNHOSRCpJkjT8jmDq/dVjxD4SVat75ehKwMLMnEdXPKckaYSsQUxA3ErnZIVNltRJHcnR92a21B9b7viqyXSbN91FXH26TpIoJUmShtd3mXpfdU5N89adHIXHdx01jtNqmFOSNOSeQKwTuoj2iYmlxLqj26cJU0Om4uRoeAaER5oSozdAWKO88ZXADsSmTA/T/lq0aPLntkkTpiRJ0tA5l6n3U1+sad4UydGPZea8toY5JUlDalem12RpITF5ukmaMDWkKkyOhs0g3NGUGH0UwtPLGVsDYH3iCtG/0/7a1Gje5P/2kiRJ7d3P1Puow2uaN0Vy9FWZOZcBK9cwryRpSMwgboc/nc5b528A3g+smSRSDbuKkqNhQwhXNyVGV0B4c//jagDNJZb6uJHplfo4GJiZIlBJkqQBtjb5e6f9a5o7RXJ0N/Kv94k1zCtJGnArExsnXUbnJMOFkz9bcn1IjZkKkqNhXQiXMrXO6JF9R6pB13io82c6X79s3iRJkjTVE8jfM+1c09wpkqObk3+9u9UwryRpQDWaLN3G9FZeHZgmTI2gkpOjYU0I52USox8pJVINE5s3SZIkdWdH0q2kTJEcXYv8631WDfNKkgbMlsQ6oYtpn0BoNFnaLk2YGmElJkfDGhDOzSRGjy8tUg2jrYnXuE7Nmx4hXuO2TROmJElScnuSv0fasKa5UyRHZ5N/vS+uYV5J0oDYDZssaTCUlBwNcyH8MZMY/XypkWqYddu86RlJopQkSUpnF/L3RlvUNHeK5Og88q93vxrmlSQl1EuTpTWSRKpxUkJyNKwK4YxMYvTrECZKj1bDbi5wGHAVna+D5xHrKtu8SZIkjYMnkr8f2qGmuVMkRzcm/3r3qGFeSVICjSZLl9M5GXABNllSvfpMjoY5EH6XSYx+A8KMSqLVqGg8LPoTna+L1xJrMq+aJFJJkqR6rE/+PmifmuZOkRzdjvzrfUoN80qSarQucfXn7bT/4L+CuJrUJktKoY/kaJgN4bRMYvTbJkbVpb2BU4BltL9W3g0cR321tyRJkuo0k3yd9tfXNHeK5OhB5O/35tUwrySpBlvRXZMln44ppR6To2E2hFMzidFTILjqWb16IvHauYT2185G86YnpQlTkiSpMpcx9b7n2JrmTZEcPTIz5+01zClJqlijyVKn1U8PEBMAG6cJU5qih+RomAXhF5nE6I9NjKok6xGbN91L+2tpo3nTXkmilCRJKt9PmXq/c1pN86ZIjn43M+cZNcwpSapAo27e2XSum3c9sW7eakkilYr1khw9NJMYDRD+BuG8Lo6TK39lGnarEZs3XUnn66vNmyRJ0ig4mqn3OAuppx9FiuTorZk5P1/DnJKkEjWaLF1B5w/t52OTJQ2uXpKjbypIjnZ7nFv5K9OoaDyEOofO19vrsHmTJEkaXnuTv7/Zs4Z5606Obkv+ddqDQ5KGxLrE7Z73ML3tnvsliVKaPpOjGibTbd50D7F500ZpwpQkSerJbGARU+9rjqth3rqTo0dl5lsGrFnxnFLOROoApCGzFfAvwFuAOW1+binxg/uxxFWl0qB7MTGR32wW8QalhbAR/TcSexAmTJCqV16TJUnSqPoZ8NKmr28DNicuwKnKDcAWTV9/nVjeqCqXAts1fX0m8KwK55Mk9cFVShp1PXarlwaCq/klSdKo+Qfy9zIvrHjOOleO7kH+9b2pwvkkST2wvp3GiclRjQLrQEuSpFExG7iXqfcvZ1Q8Z53J0Z9m5noYt9QrEbfVS3mrAa8G3k0sEN3O+cAXge9T7fYGqWo9bKuXBtYM4EXEOlbP6PCzNwAnACcBiyuOS5IkqRufI34ubbYXcQFPL7YADmnz7+8H1mr6+lxiErOV43uMY3vgYqbmpL4FvLHH8SRJJVmPuC0z+3TObZkaB64c1ajaDTiZzmVRHiAmSTdOE6YkSVLOBsQVlc33LH8hPgjuxX60vx/q5ljRYwwAp2XGWkbnhUmSpAo9kfiBeAntL/6PED9gPylNmFKlTI5q1G1FvNYvpv21finxWt9vszFJkqQyfJX8/UqvKywHITlaVEv1Bz2OJUnq03SbLN1NbLK0YZowpVqYHNW4WJe4Zex2Ot/wn06sPS1JkpTKxsCDTL1PuRfYpIexUidH1wFuyYzzMHHBkpSMNUc1bhp16D4I7NnhZ68DvgR8nbiqVBpl1hzVuFmZWHPrKODJHX72QuALxFUNnhOSJKlu7ybWH232Z+CZwGNdjLP+5O+U5Udd/OwE8DPgoMz3P0YsbydJqthc4DDgKjo/ATuP2MF4ZpJIpTRcOapxNYO4OvR0Or8/3EBcdbpGkkglSdK4Won4sDZ7b/JvKYPq0tHk478GmJMyKEkaB+sTn0L9nfYfeBtNljp1NZZGlclRafrNmxZi8yZJklSvrck3ZwrAe1MGNU2vJW7Db477UTrv5pQk9WFrbLIkdcPkqPS4LemuedN2acKUJElj5PXkE4yN2p9vTRdWR4cQt/5n4357yqAkaZTtTVwBWvSm0XzcRVxRuk6SKKXBY3JUyptP3EZ/GzZvkiRJ6RxC550tH04WXWtvJ+7SLIr3iIRxSdLIadSL+zOd68VdA7wD65pIWSZHpdZWJtaivozO7zMXTv6s548kSSrDa+icGG0c3wJWTRPmFLOBL9L54fLbUgUoSaNiLjHReSOd3yTOBg7GJktSKyZHpc56ad60ZpJIJUnSKDiY4i3p/wP8suD7AbiUtCV/tgL+WhBXqwTp4WnClKTh1m2TpacniVIaLiZHpe7sSqw3WvSBpfloNG/aJE2YkiRpSP0jxfcZvwFWIS78ObHg3wOx2dEJwOo1xjuLuHjpoRYx/Rz4YcH3TZBKUhd2IF78izr0NR+LJn9u2zRhSkPJ5KjUmycQP3wsov17U6N50/ZpwpQkSUPkH2ifGG2YIC4calXX82bi1vWVK4x1FvAG4NoWMQTg34g7cGYCPyj49xXA/6swRkkaejZZkqpnclTqzxrE1RK3Mr1SLwcSP9BIkiQ1ezlx5Wf2/uF/ad074/nEz8Ot7j1uIzZs2rzEODcGjiSWEmo17/2Tr6fZTOA/C37WBKkkZcwi1lf5C50/ZNpkSeqfyVGpHLOJDZkupfP710WTPzsrSaSSJGnQvIzixOiZwGodfncj4BcFv9t8LJ8c6yhgD7rryTGDWFbovcT6652aRJ1O3GFTxASpJLWxOjHReRPTW3lzMPEiLak/Jkelck0A+xF3PnR6P7uduPPB5k2SJI2vA4BHyN8nnEVsRjxdBwLXF4xTdCwGLiTWAv00cDTwTuJn8g8BxxO3wZ9P61qi2eNW4JBpxDkL+GnB79vFXtLY2oD4wfA+Oj/pOhXYM0mU0ugyOSpVZxem17zpQWL90k3ThClJkhJ5IcWJ0T/QXWK0obGT5eqCMas67gTeD6zasQRb3gAAIABJREFURZyzgJ8VjGWCVNJY2ZHpNVl6aPLntkkTpjTyTI5K1dsCOA54gPbveY8CpwC7J4lSkiTV6QUUfx4+m94So81mAa8Gfkvrpk39HCuIK1vfRO9Nn0yQSmNuFWLX2n2JS+gPnjxeCDwTeDLxic8omm6TpTuJK0rXThKlNNomiEXZn04s0J49/56K555UhXnE7Wq30PlDx6g3b1oL2JlYguAlPH4vtB/x2rQFls+RJI2u51OcGP0jseRcmTYh1gv9H2BRwZzTPZYQk61H0bqmaLfaJUj/uaQ5JA2AmcSCx+8HTiPWAJnOk5tlwLXEwsrvJm7NG9YPCY0mS+fS+XVfTfzguEqSSKXRtBlwKPAdYiOYJUzvBuhu4hPhTxMf3vT7BFtS1Njydgmdz8O/AYcx3O+Lc4mrY44nNoO4m+ldgx4mvv6TgTdQbqddSZJSeR7FidFzKD8xmjUbeAbwFuAzwP8CC4lJ04cnjysmYzkV+BzwVmAfqrsXmY0JUmkkTRBXSH4NuJ/ylq7fDXyR4dlu12iydDOukJHqtgnxqe5llHcNepT4kOeVwJz6Xoo00ho7Kjqdf3cQd1SslSTK7q1CfDB6KsXdd3s9Lgc+iPVZJUnDaX9aJ0bnJYhn24JYnpwgjtnAzwtiWUFMzkoaIisTV3fUUfz4EuA1DGZtwA2JH+A6JYYbTZaeliRKaTQ9g3heVVFbqPl4gLiidP16XpY08namu+ZNm6UJs6P1gGMp9+Fwq3uI04C96nlZkiT1bT+Kd3CdT7qHn4OSHAUTpNLQmwkcDtxKbzf4S+l9VcV1xO2yg7DicifiB7tOr+Uh4ge7zdOEKY2kpwG/p/dEQ6/1h5YQV7SvU/1LlMbC5sTmTZ2Si43mTXukCTNnbeALwGJ6vwZ1qkfe6lhArFMqSdKg2ofi++3zSVvrf5CSoxATpL8oiGk5Me8haUDtCVxA5xv3xcBvgKOJ28x2Il4EZzWNNZuYYNiVuG31Y8RkR6eO7oG4LX3Hyl5lezZZktJZGziRzitFVxBr930BeDPxBm0DYLXMeGsBTyTWGH0X8H3idt5O16B7iN0qB+FBjTQKhqV50wTweqZXR/RO4D+JtdQPIF5rsitlViNem/YmXlM+T6yVPJ1r3EnA/CpepCRJfdibuEAo+951Aek/Gw9achRMkEpDZRaxgHG7m/UHgW8Bz6W/7vNziB8ifkD7RiqPEZOvdTRuGrdmEtIgej5wF+2TBWcSEwzr9jnXDsAngBvbzBeAM4CN+pxL0uMa77cX0/n99mLqfb/dADi9Q0w3A58kPsDtJ3k7H3gjcZVou3uve4AX9TGPJEll2ovixOiFDMbOq0FMjkL7BOnrEsYlqcnmwJ9ofWN+I3AEsGoFc88DjqT9Sq7Tqa4O4LCsZJFG2UrEmn6tEgSPAF8Ftqpg7hnEVaVntZg7EBO2z69gbmncDdJOjf0m52kVwx+JScoqHthuCXyZ1jtrVhBrIs9qNYAkSTXYi7hgKvs+dRGDkRiFwU2OQkyQ/pJ8fMswQSol91Rabx27l1gouI6b8VWA91B8sQ3ATZR7UduC4ayBJo2a1YBf0Toh8C1g45pieRbx5q4oluXEWsySype6xvdbiR9MWq1efU7J87WyIXErfatk8W+AuTXFIkljLKwN4SAIH4XwbQg/hfBfEP4DwlshDEqyrU7PoHVidJBKwAxychTGJkEatoFwOIRvQPgThKsgXAPhXAg/gPAOCBumjlJq2I/iJfGBmJBIcZHbGPhxi5juJdZE7ceodM+VRsHatF61fhlxVVndVgLeSesmLB/H1eNSVTYgrhDt9OByOXHF6dNKmPPoFnMsIT60XamEObr1dFqX+fkr/ZcVkSTlhPUhvBPCORCWQQgdjj9A2Cd11DV5OrCQ/HvS3xisxCgMfnIUYoL0VIoTpK9NGFefwhYQjoFw9TTOnwDhUQgnQVgzdeQab88lblXNnpALgUMSxtVwGMX1SB+i+1WcE8REcNEFKHvcQfxglm2oIKlcaxBrExWdh9+gmjIe3XgKcCnF8R2fMC5pHKxOLHlzM53ft/spefOxFmNeTqxLnNIcYnO6ovguJX3DC0kaMeHeaSZ0mo/lEI5OHXnFdgPuI/9edAXxoeagGYbkKIxkgjR8vYdzKEC4EcITUkev8fRUipfEXw1snTCurJ2AW8nHeQ/xotdJo+lDqwRH83HR5M9az0uq3irEJiTZ8/AxYoOSQbEqrVeyvythXNK4mAUcDJxL5/fxq4kJ1TnTHPuIFuP8jFjuY1AcSnG5gbOZ/muVJHUU7sskbG6C8F0IH4RwGIQjIHwZwl0FyZ1RvS/cleFKjMLwJEehfYL0NQnj6lEuOfpXCJ+GcDCEfSDsCeEVEL4DYWnmZ6+FMEj3XxoDm1JcY/Q8YL2EcbWyOfHim433BloXfW40WSpKrBZ9uLDJklSvH5I/FxczmB2ZZxIbpWTjXQH8Q8K4pHFTZvOmgyhuAPd14jk/aF4ALCIf70/w/kWSShLug7AYwlchtCnbEuYQa482J3aWQNi8vlhrsQvwd/LvPVcSa2QPqmFKjsJIJUjD1yEsgvA5OtblDTtBuCVzHh1TS5gSsW7W2eRPvPOJCcVBtR5wFfm4T2Xqh4ItiE2WHij42eaj0WRp91qil9TscPLn5CPU1/CkVyeQj/sBYpdpSfXZkbjdvFVn98bx0OTPbZP5/S0oXgXzZQY70fhMissNvTNlUJI0OsK/QuhiNWT4Tiax89HqYqvdzhQnRq8CNkoY13QMW3IUYGXgvxn6BGl4HoQuFtyFXZha3/dGCIN8L6YRciz5E+4aYP2UQU3TFsBt5ON/D/GpVjdNljatN3RJk3YhX+t4GcOxAnMG8APy15W/Ep/4SqpXo3lTUaKz+Wg0b9qTuE2/qAncKQzmitGsg4jXzObYl+LDXklKIGxIrDnaSOz8IXVEJdmZ2Ag5+155NYOfGIXhTI5C+wTpqxPGVbHwy8xDBhtiq3K7kb+hfpD8ioperU7s7L4W1a282J18YqVoW1z2uIlYH3D1iuKS1NlM4ALy5+f7UwbVpdnAX8i/hg+mDEoac/OID0qn07zp2oLvnUf8QNKP+cDTiPVRDyOu5nwr8Eriis8y7z/eQ/41XEzcHSRJqlW4rCmpc0PqaEqwE60ToxsnjKsbw5ochbFMkIajM8nRbptvS12ZQfFKiV6XaK9DvOE/kdgkoWib143EVVZvpNyu0+8omKvVYZMlaXAUnbu/Il6fqrIDMfGRPb7ax5ibkd9mtASww6KU1gxiDfGiBxitjoeYXoPHZisRV8EfDnwPuG4a8ywnljB6B/Ehcj8miE2jsnO8u89xJUldC+eNUHJ0R2Lj4+z7yzUMT2IUhjs5CrHZ4umMTYI0fCSTHN0xdUQabW8hf3J9t8sx1gDeDJxJfgVqp+N+4sqqMlY1TAC/7jCfTZakwbIusJCp5+m9k9+vykrELe9F14jf9zn2qwrG/EmfY0oqz3SbNx3aw9gHdhiz03E38NreXtb/WYd8c80HGY4ySZI0IsJMCPc3JXXOSh1RH54E3EHxgqctkkXVm2FPjkL7BOmrEsZVgfCjpnNoGYQ1U0ek0TULuJ6pJ9VCuu8wdyH5k7Pb41xijbB+bUW+EcMKYt3R7UsYX1K5PkX+evCWiuf8QMGcZSVHAX5H/hrkk05psOxA3OWSLckTgD/Q20PUfpOjjeMzPc7f8IaCMY/vYzxJUlfCixiNhkytEqM3MXyJURiN5CjEBOlvGekEaVgHwsOMXt1eDahDyZ9Q/9LDOH8rGKdx3AycA/ySeALf0OZnLyGueOjXJwrGflEJ40oq15rEru7ZByVVbqfflvadrMtIjj6Z/Cr6/yphXEnl+yn5Dxa9PkzNJkcfJF5TvgK8j1hz9HXAPxOTlWfSuj76u3qMAWJiNVsy6SHKuceSJLUVVoJwflNSZymELVNH1YNtgdspTowOa8moUUmOQixP2CpB+k8J4ypJ+HrmAcPBqSPSaLuEqSfS7cAqPYzTnBx9FPgF8YlFq/ojWwMnUbylrdst/UXWIr9N94wSxpVUriPJXwNeXOF8M4A/Ns11D3BpZv4ykqMA3yd/ozKsN5LSqNoEeIyp5+oP+xjvAGL5nvcRO/pOp8v9VsQay9lr4SL6q+P2goIxP9THeJKkaQkfzCR1TkgdUQ9aJUZvBoYx0dswSslRGNkEaTgAwoqmc+gcCJZFVGWeSv4kek+PY/0NuA/4CN3VtDqY/IeSFZOx9evYgnGH+UIujaLsA5qLqLYe8Lsy870GWJD5XlnJ0SeTXxF2dEljSypHUYmNXRPEMZO4ujwby5F9jntuZryrsea6JFUoPI9YG7GR1LkGwuqpo+rSNsBtFCdGt0oYVxlGLTkKMUGaLenVSJC+MmFcPQrbMrVe70MQtkkdlUbbCUw9eR4mbnHtxaHEpky9OIr8ifzZHsdqtjH5ba0mJqTBUfSApspao08gbittzPXrye8vyMRQVnIU8k9yr8HEhDRIsg9ozkwYyzrAkkw8v+tzzNeTv87u2eeYkqRCYRcIDzQldZbE7w2VrSlOjN7C8CdGYTSTozAyCdKwCYTrms6h5RBekToqjbYJ8oWV+9lG1o+Vgb9nYrmopLGziYlLShpXUv8+TXkPaDqZYGpXx8U8vpJ8QSaOMpOjryN/k5JiVZqkvB3In59vThpRfGjTHM9VfY43l7g9v3nMz/c5piQpJ2wL4c6mpM6jEIat58UTgVvJvzfeQWzMNApGNTkKrROkjwIvSxjXNIX1IFzO1JIU/dRfl6ZlO/InzYEJ4/lxJpZ7Sxo32611BbBBSWNL6s/5TD0/f1ThXP8vM9c7m/5tQebfykyOziW/EqzfbbKSyvFOpp6bS+l9F0xZvsbUmG4rYcxs/eOLSxhTkvR/wtYQbm9K6CyDcEjqqLq0OcWNk+9kdJKHMNrJUYgJ0t9TnCB9acK4OgjzIVySSYwelToqjYd/YerJ8hiQshbKFwriKcNG5C8MQ1yYWBoZa5Ive1HViq3NiB2jG/Ocy9QmKQsycZSZHIX8CvZft/9xSTX5JVPPzZRb6huydUcvKGHM12fGXEF39eElSS2FLSHcwtRtwIemjqpL7RKjT0kYVxVGPTkKQ5cgDWtBuCCTGP1E6qg0Pn7I1BPlj2nD4XtMjef2Ese+MjP2V0ocW1JvXkz+DbuqOkbN21QfA7K1nxZk4ig7OfrBzPgPYd1RaRDcx9Rz85ik0cAMYk235pj+o4RxNyN/vX15CeNK0pgLm0C4vimhswLC21JH1aXNgOvJv0/cxeglRmE8kqMwNAnSMA/CnzOJ0c+kjkrj5WKmniSfThsOlzI1nrNLHPubmbHPKHFsSb15L/kn01V4Y2aejxf8zILMz5SdHH0W+RuTzUqeQ1J3NiB/Xj4vaUTwz+Rj2q2ksW/OjPuhksaVpDEV1odwRSYxekTqqLrULjG6XcK4qjQuyVGICdIzGNgEaVgVwoJMYvSE1FFpvMwgNj5pPkHemDCeoo7VHyxx/Pdnxi5zVaqk3pzE1PNyQQVzbMjUlWFXAasU/NyCTCxlJ0c3JH+N26/kOSR1Z1/y5+WmiWKZARxG/LDSHM9JJc7R3JAuAN8pcWxJGjNhPQiXZZI6708dVZc2Ba4j/154N7B9wriqNk7JUYDVKE6QLgUOShdWWBXC7zPn0EkQ3F2nWhVtr9o7YTynZmJ5jNgprywHkX+9c0scX1L3sm/SX6tgjp82jb8CeE6Ln1uQiaXs5CjAA5k5hm3LlTRq3sTUc3IxMUlZhbWBLZuOrYgrQg8kbuW/nPx9yqkUP8zp1b9nxj+nxLElaYyEdSFcmknqlLmwpw6bANdSnBjdIWFcdRi35CgMXII0zIHwu8w59E0IVd2HSS3tTP7EeEKiWF5REEvZNUF3L5hjk5LnkNSdvzH1nPxoyeO/KjP+V9v87ILMz1aRHL0iM8ew3URLo+ZIpp6T11Y417Hk70NaHfcA76L8RG229vEVJY8vSWMgzIdwcSap8+HUUXVpE+Aa8u8/9wG7JoyrLuOYHIX2CdKX1BdGmA3hvzPn0LdNjCqVvcmfFOsmiGNr8s0Q7qb8DqpPIv96R7G4tDRMsvWN3lPi2POJtZIaY98OrNXm5xdkYqkiOfqXzBzHVjCHpOn7GFPPyQsrnGs6ydFlxNWda1QUw9sz891a0TySNKLCmhDOyyR1PpY6qi6tT/Fuhfspr8b1oBvX5CjEBOkCkiVIw2wIp2bOoVMgrFT93GrwP/ZUqxd8b1GCGH7G1IRFIG5zu6vkuR5sMb+kdLKlLcq8Bn0ZWK/p68OJN30pPZT5el6SKCQ1VHkN6sVM4rXqH4DPAScQywyVJXsv5DVIkqYtzAF+x9SVlWcCf4DQTR35M2GizGt7N9YnLgDIJgIfAPYHzq89ItVtMfAi4DRi7fWG2cCPgIOBX1Y4/9eBFzd9fTcxWfvGmAqalrNg4sqS4xorJkenWl7wvTqXMa9CrAWY7YD3WWKNrbLNLPhe0X8DSfVZkfm6rGvQS4hv7A0/IT6ISS17HfIaJKVV1TWoyLnk6yqvSmyGsStTH9huAHwGOIRYk/TOkmLwGiRJvZtPfsv5vkxNME3H2qR5YL8eMTGa3T35APA84LzaI1IqjQTpr4BnNn2/kSD9R6rJyUDc0dtsPeA/uhzjLYDJUZXmGeSXUpe9lb2VWcSnEdn5v0t1H0y2K5hv24rmkjQ92VpHR5Yw5trAHU1jPgBsPI3fW5CJpYpt9edl5vhEBXNImr6PMvWcvDhRHLOIq0UvIX+vcinlNZB8Z2bsm0oaV5LGQNg0sxW416NdmaeqrEd8P8m+xzwA7JEgntTGeVt9s9WIq5+LttgfWM2U4S8lnENvria28eHK0amy2zsh1rgqezt71kxiEjR7sv0CeAP5VRxlKdpCX/TfQFJ9qthm/gXiqquGI4HbShi3DNnXl3oLrzTuBmWb+WPEFe6nEleXHtr0b9sBxwFHlDBP9l7I+yBJmr5HKWfbed2r9tcllgPI7thcCDyfuLNB42kxMS/zG2DPpu/PBn5MNStIf0f/D2evLyMQqWF98k8I9q94zhnA9wrmPZ24zb5Kr8zMuQxYueI5JbX3P+RXj/fjgMx4C4CJaf7ugszvlr1ydAbwcGaON5Y8h6TuvIap5+SjxFWcKc0AzmJqXI8w9aFPr06i2uucJGmwrEvcFZH9/L0QeFrCuFJz5ehU84A/UesKUmmw3M/UP/7DK5xrBvAt8ifcWcSaW1XLbp27roY5JbX3Jaael3/pc7wLm8Z6lHjTt9Y0j7Mzsfyh4Gfm9BHbE8hf//bqYzxJ/duD/Hm5TdKIomeSj6uMLWTZ69xXSxhTkjSY5lOcGF3E1DqT48jkaN4atE6QvrjN70kj4S9M/cP/ckXzTEyOnT3RzqG+jvH/lZn7VzXNK6m1I8g/xe6n7vBV5K8zZR791AjNrmoNxKf5ktJZg/x5+bKkEUUziHXgykxkTgD3ZsZ8V59jSpIG01rka903EqP7JoxrUJgcLbYG8GdMkI68OjuxD4vLMl9X9QTpOOBtme9dSOyQVke9qwnyr+3SGuaV1F72PJwH7JwikBpkb0TvAu5JEYik/7MQuCXzvUFYTbOCfK3kfh+mbAesk/me90KSNHrWBP4X2C3z/SXEBNeZtUekYdGoQ5vdzdeoQfqi2iOSanIoU58IrKCcmlbNjiX/5OFCYkfpujylIIYDapxfUrFVyNfhfG8f4w3yytG/Zsb6zz7GklSe7zL13LwobTj/5xqmxvW9Psd7R2a8pcQutZKk0bEmscFS9h52MfDshHENGleOttdqBekjmCAdCXarz/td5usJ4IXE2qBl+ARwVOZ7FwP7AfeVNMd0ZBOhjxHrCUpK6xFibZvmm7UDgM/2ON45wM09/u5uxC1IDfeT70jaa63iDYFdMt87o8exJJXr98TGTA07ApuSX1Fap1WAjTPfu6vPMbP3QucSPyxLkkbDGsQVo7tnvr+E2FTHe09NV2MF6f8S67M3rAz8BPgH4LQEcUmVupypTwPK6lz6r+SfNFxJ+StTp+NvmTjOShCDpGJHMfX8XA5sliCOBVRzLQR4T2bsFcQGTZLS25R4Tjafox9IGlGse5q9h3pTH+NtCCzLjHd0nzFKkgbHGuT7iQRiYvQ5CeMaVK4cnZ52f1f7JYxLqsSHyCcmNu9zzI+QP4GuJt6c122ngljemiAOScU2J153ms/RDyWIY0EmhjKTo9kHNH8scWxJ/VvA1HP0CuJumhTmTM6fvTdbv48x35sZbwWwVX9hSpIGxDyKt0CbwGrN5Oj0mSDV2ChKTPxbH+NlV0gFYt2s7PawupyciWUp+YYEktJawNTz9A7ittKUMZSVHN2f/DXRBzTSYHkz+fO019rkTwfeQmxe0K01gd8WxPKLHmMBmAXcmBnv7D7GkyQNjtWIDZasDdkdk6PdaVXL1gSpRs7pTP0jX0RvXVHfSf6EuQnYopQou7cVsb5oczw2QZEGz+vIXzv+ueYYFmTmLys5mh13EVNrm0pKbx7wIOUkEF86+fu3Eh8270PnROlGxIfLd5O/Fj4MbNljLFCc+H1jH+NJkgZDq8ToUmJXerVmcrR77RKkz00Yl1Sq/cj/kX++yzFWLRgjAPcSm5j0evRzkfpeJpYVwM59jCepGkUrm26m3k7KCzLzl5EcfT75a2KvzaYkVes4ylk92kiONh+PEhtS/hz4DnAi8G3iitBrydc8bRyPAf/Y4+uBeG92Q2bMW+htVaskaXCsRmywVJQYPTBhXMPC5GhvWiVIF2OCVCPkj+RvyLtJJK5G8Y19v0evycx9yH/Y+GWPY0mq3uHkz/9ja5x/QWbufpOjs4lN6JrHfIS4QkzS4FmfuPqh+Zy9lu5LfBQlR3s57gNe3s8LAj5RMO6/9DmmJCmtVWmdGH1JwriGicnR3rVLkNr8SyOhqC7eOcBK0/z9QUqOzgEuy4yzDNi1h7Ek1WMV4HryN3k71jT/gszc/SZHjyF/PXPVqDTYjid/3n6yyzF2Ja4S7fW+5xHiqtJ+GjABbDc5VvPYNxLvkSRJw2lV4j2qidH+mBztz5rAXzFBqhH2Q/J/4J+Y5u+uSlzlUPaxQw+v42sFr+NLPYwjqV4vIH/uXg2sXsPc7yFudW0c7+5jrH2JD2SaX8cdxG6PkgZX0Tb05cQHyN3aEjiMmOi8lHyiMpu0/CnwdsppGjkHuKhgnoNKGFuSlMaqwO/IX9sfJe5a0PSZHO2fCVKNtI3JNyRYDrwwZVBdeg35E/RO4skrafD9jPw5/D1gImVQXdgAuI38azgkZVCSpu3l5M/fO+i/JMYMYBPiQ9/diKvitwDm9jlukW+Tfw2nVjCPJKkec4DfYmK0LCZHy9EuQfrshHFJpXglxX/cT08Z1DQ9i/zKjBW4xUAaJusBt9P/1tYU5gEXkI/9hymDktS175A/jy8B1k4Z1DR9jHzsd2O9Y0kaVisDp5G/ti8jfnZX90yOlmct4DxMkGpEfZPiG+tBvmA8FVhIPu7jUwYlqSfPIa5az57P/Wx1r1qrGlBXUU9ZAEnlmQtcQf58/gPVrPQsyxHkY14OPC9lUJKkns0G/pvixOg/JYxr2JkcLZcJUo2sVYHzyf9x3ws8LWFcrexHvhxAICYqZiWMS1LvPkD+nA7EVVGDZh1iA7tsrAupr6GUpHJtDzxA/rw+F5ifMK5WPkzcLZON9yMpg5Ik9Ww2sSRKUWL01QnjGgUmR8tnglQjaz3gGvJ/3IuI9bgGxRuI3fmycV6IzU+kYffvFCdITyJ2tx8E2wCXk49xKfDchHFJ6t++wMPkz+8rgScljKvZysQmckXXyhMTxiVJ6t1s4JcUJ0ZfkzCuUdFjcjSsBGE3CEdA+DaEX0O4AMItEG6CcDGEH0M4EsKmVb6AAbUu8DeKE6TPSheW1L8tgVvJ/3GvAE4gXrRTWY3ihgOBmNTdMFlkksoyA/gBxef5hcDW6UID4FUUr1p/DHhFwrgkledlxIYX2fP8IeC1CeMC2IriVRoB+DEwM11okqQezQZ+QXFiNPX7zqjoITkaXg9hMYQwzWM5hO9AWLfqFzNg1gUupniR3bPShSX1bwviComiG++LgX0SxPRCile1BmIzlA0SxCSpGjOBr1J8vj8EHEn95TM2AX7UIqYlwIE1xyOpWi8k3tQXnfM/ATarOZ5ZwHsofjgTgG8AK9UckySpf7OAn5O/ri8HXpcwrlHTS3L0yC4So83HTRBSL+iomwlSjax1gT9TfAO+Avgu8MQa4tgB+FmLOAJwOrFbtKTRcwzF9fQCcBlwEDBRcQzziHX9HmoRx73AMyqOQVIaTyM2pyw69xcRa3tWXc5ngvjw5ZIWcawAPkH110JJUvlmUfxZdwVwWMK4RlE/ydGHIJwK4X0QDiJus98ewu4QXgnhWxAeySRIL4WQctdtCu0SpPsmjEvq28rAF2mdmFwGfB/Yo+R5J4irU39G68TIcuDjuH1MGnUHAn+n9XXob8QC9XNKnndT4F+B+9rMffbkz0kaXRsDZ9H6OvAAMTlZ9krSVYhdiS9sM/d9wEtLnleSVI+ZwH9SnBh9a8K4RlUvydHdIOwDYRo71sK2EK7LJEjf0nfUw8cEqUbay2m9cqJxXAkcTUyU9pKwXAnYi/gB44YOc90C7N/zq5E0bDYDFtD+urCQuK30QHpfybUl8Sn974kPYFrN9RjwKdzCKo2LlYgPZIvqkDY/tD2D+IG2150184AXExvQPdBmrgD8gVgGSZI0fGZSXGN/BfC2hHGNshq61Yc9MsnRX5c7/tBYl+IdL4uAZyaMa6y5xag8axGTAYcRG6a0s5C4Jf8K4Cpig6dFxG2pAKsDc4kJjycRL0p7Tn6vk3uJHzoWdhe+pCE3QSxI/wXi9aid5cR72du4AAAgAElEQVTVVhcDVwPXA/cTrxsriKvi5xJrFW8zeezO9BIN5wNvIL7hSxov2wFfYXq1128GziVeg64G7iLeBz1CvJ6tSXyQsxXxGrQDsCudH7osAY7g8QaVkqThMhM4mdjks1kgXt+/XHtE42Fb4oKuZk8h5ixKFK7m8QayV8PEtuWOPzTWA34HbJ/5/mLgAOKuHGmoHUT7FVV1HBamlsbTBHARaa8/P6n8VUoaZO8m7TVoMbB+5a9SklSFmcD3KF4xenjCuMZBDStHAcJZTStHbyx//KGyHq4g1QgrWv5f1bGQuDLi/sz3byCu/JI0Xl5B/jrRaetpP8dyikuK7Fn1C5U0kOYSV4A2Xw8eptqHxtn5ArEevCRpuMwkNjUuSowekTCucVFXcvSGpuTo78sff+isB1xKca7Hz1QaWjuQ/wDwa+DQyf+7iOnd6HdKiP4ceCWPN1g5suDnfLImjZeZwOXkE6PziVtcTyTWI+73GrQM+CvwQWLpj22INUabf+b0il+rpMH0UfLXjDcQG7MdRdxGv6zgZ7o9bgG+RlxVMQH8MfPvS4k1kiVJw2EGcSt9UWL07QnjGid11Bx9NlNrjv5LueMPLROkGjn/zdQ/5uXAzk3/PpuYpPgQcYXpecCDtL75vx/4C/GN4v3EE6Oo1tYq5JMedxFrl0oaD28mfw35cMHPbU1siPIVYp2bWwt+rznBcAXwM+B4Ytfnonqm3yz43eeW87IkDYn5xJv45uvAVeTvW9YkliA6nnhtuYJ4rWl1HbqV2ATuK8A/Ex/IZO1T8HvfLuuFSZIqNYPH60Rnj/elC2vsVJwcDXtDuLMpMXolhFXLG3/otUqQPgA8LWFcUtf2Iv+H/P1p/u5KxITDFsDmk/9/p6ZOWW8tmP8DXY4haTitQmxu0nz+3013D0jmARsRV1vNnxxzujYjNlFpnv9cbPonjZPPkb8P+Ycufn8V4rVnS+K1aF6X8/8mM/cyYoMoSdLgmgC+SnFi9KiEcY2jEpKjYTcIBzcdb4HwcQh/gLCiKTF6OYQtyn4BI8AEqUbCGUz9A36U2DW+LisRu8tlV56uXWMMktIoaoBS9zaVLxTE8NKaY5CUxkbELvHN5/951PuAZDfi9svmGH5a4/ySpO5MEHcFFCVGXeRTvzKSo19l6rb57HE1hPe5YrSt9YHLMEGqIfVC8n+8X0kQxz8VxHFsgjgk1aeoAcqN1N+UbT75MiFXUlwKRNJo+Tr5+4/9E8Txo4I4rNUlSYNnAvgyxYnRDyaMa5xVnRxdAeEiCB+AsGbp0Y+WdgnSPRLGJbU1AZzP1D/ah4FNEsVyQSaWJcDGCWKRVI9jyL9xvj5RLP9aEMvrEsUiqR5bk2/KdmaiWIoaxC1IFIskqdgE8B8UJ0Y/lDCucVdGcvQwCKc0Hb+GcBVTt9QHCLdB2Kv0VzBaTJBq6BxC/g/2+ITxvKggnv9IGI+k6hQ1QEm5WnN1BmMVq6T6/JD8fcfTE8bzjYJ4BrRBXNgIwnGZ46DUUUlShSaAf6c4MXp0wrhUaUOmsDmEEyAsa0qQPgRh+3LGH1kmSDU0ZhK7rGb/UNdJGRRxlURzTI8CW6UMSFIl/o38m+XLk0YE7yUf0xFJI5JUlR2B5Uw933+eNKK4WyZb//SvDGSDuPDTgm2H/546KkmqyATwRYoTox9JGJeiirvVA4SXQ1je9J53Trnjj6T1gcvJ/29zPyZINUDewmBuBdibfFzfTRqRpLINagJgFeBmpsZ1N3FVqaTR8mumnuvLgZ2SRhR9nvx90MuSRpQTXlWQGDU5KmlUTQAnUJwYPSZdWGpSQ3IUIHwj8763S/lzjJwNaJ0g3T1hXBIw+AmAXzFQH1jCCwu2jm2ZLh5p6J1E/g1yv6QRPe4w8rFZXF8aLUUPYk9OGtHjBq3kSEZYD8I9kx8Kl5gclTQGjqM4MfrplEFpirqSo8/JvO+9vfw5RpIJUg2soq2jg3RiF211+0WaUMJGEO4rWB3xrDTxSEOvqOlIqgYoRQa15Iik8pzN1HN80Er4fIz8fdrrUwb0uHBK073Q+0yOShpxx1KcGP1MyqCUU1dy9AmZ971PlD/HyDJBqoEzLE1H/ov8ifOM+sMIPytIjJoclXr3I/LndsoGKEVeST7GlM3qpBER5kGYkziIA8mf34OW1JvLQN6rhZc03QedCWEtk6OSRtgnKU6MfjZlUCpUV3J0+8z73gfKn2OkbQJcQ3GC9KkJ49KY+lfyf4yHJo2o2NbElRzNcZ5VbwhTamotMjkq9W03YAVTz+ufJY2o2ARwAVPjfJj4hi6prTADwnYQ3gzhmxDOh3ArhKVN76FLJ7//RQh1FuSfAVzI1HN7CbEO8qB5D/n7tX9JF05YG8Idk//7PQLhyRDWNDkqaUR9guLE6OdSBqWW6kqOvinzvvfa8ucYeSZINRDmAw8y9Y9wgOpY5XyN/Enz/HqmDvMh3D150XsQwsdMjkp9+w1Tz+dBaYBS5ADy15+vJI1IGgrhKxTvuGh3nAqhjocPryZ/Xn+qhnl7MWD14cPJTf97TTbwNDkqaSR9nOLE6L+lDEpt1dGtfhaES5re81ZAGMSHq8NgE+BaTJAqoS+Q/wMcsA6oU2wELGZqvBcRV35ULPyo6cJ3OHEFjMlRqXf7kL/+fCdpRJ2dwdR4HwWemDQiaeCFr/WQHA0QboGwdYWBzSJ/I34/sHaFc/brLeSvmx+uP4xwQNP/ThfHD4hgclTSCCraZRmAz6cMSh11mRwNO0F4DYRpLhILq0P4aeY979d9Rz3eNqU4QXofcbehBltYG8LzIHwAwolNxzDUmtgMeISpf3jnErePDrLPkD9hDq52yik1tf5M3CJoclRDIExA2AbCP0H4TOY6tW/i4P7I1PN4KbBl0og6K+po/f2kEUkDL3wNwmMQziHuung+sYHB3Ml/XwvC0yB8EsLCzHvrXyHMrCiwt5E/n4+qaK6yzCTfvKDmBnFhHoSbJ//3WQ6hqUa0yVFJI+UYihOjX2DwPzOPu26To8+bfN+6DcKXILwMwpYQZjf9zGqT9yvH8HhZmcaxBMKTqnxBY8IE6fAIm0J4P7Ez5/W0Xu1w7v9n77zD5SauPvxeV1xwAUwzYFNNIHRC753Qewi9EwihJZQAARJqgIQeOiQQktD56J1QQw0hmGKK6d1gYxt36/vj3I2lmdm9u6uRRto97/PogbvePXMkjUbSb86cE9rTOrgGu9NtGNSj+hiMXBxxv98is1QA0ZwQfc6snGhLd36u4qhSUKKNOoXQRyEaW2Oc+llAJ7fGHn8uDOhPI9xN0u8ZwPLZN/u/vI27QnQ4RKd1itwXdgpOO0A0X/Z+KEqjREtCNLDO7w6D6F1jrNomA6f6AB+RvJY/Bfpm0JZvdsYeP3+fX/PRlbFzYywpVXFUUZSW4RjcwugVqDBaBpoVR13bRIim1vj37+X9S/GECqTlINqlxkVRJnF0CWAayc72UFCPGuMk7Itlv2yaiq6PndeTY5+rOKoUlOj+OsepUOJoNyQdRvz6nQDMG8ifRlkGEUTj/t+VXXPRnp3ntJbQXdmmQ3QvRPrgoJSYaFOjX1+eQSPHYj9HhJwwaoQO4CWSvudUIC7aAMmpFkH0Pv+L/v3fv6s4qihKK/ArVBgtO42Ko2uQLBRZ7/YoRCNy2aP2YkHgXVQgLTJVxdF3SVYvL7o4egt2R1stqEeN0R/4nKT/HyORIB5J5NR6A6LesX9TcVQpKE5xdDJEbxVEHN0de/w5LZAvzXIj9j6sm01T0e1NPKhNh+jYbPxRlKyJuiNRGpX+7DuH10BgDMnrdzTQq9aPCsZm2GPQZdk2GfWD6J3YednS8R0VRxVFKTu/xC2MXkUudS4UTzRRkCkaCNHOyLL6F7BT/USdms8zEJ0H0QqZ70V7sxBugfRLJFhFCUu0C0SfIlVUT4FoK4iGdP7bayURR1cCZpLsYLcG9ag5Dse+UI70Z97KqbWm8e8qjioFJbobopFIJeHDIVoLotmQHDmhxdFqBVAGB/AlDQsjOVLj+/FkNk0lxNFvIHpABIfoFBFAo7MhutMQkyrbIdn4pChZ8790NlmIo6djPz/s5rmNPHiU5D5MQ14GMyK6KHZOrq/yHRVHFUUpM0fhFkavRoXRsuGpWn00EEn5swBEs3v1UKkHFUjLSWnE0QdJdqzpwFJBPWqOXsB7JPflK2CAH/OJnFoXOf5dxVGlZBRCHD0E++Z2TAA/fHAZ9r5s5r+Z6ESITug8fzUK00QDILrUOMfj+d8EnqKUhWgOJPq50o99VgQeAnxH8rr9L+V86V0Fe7L7xmyaitZAJoojiL6GaO4q31NxVFGUsnIkbmH0Gsp5j2h3PImjSgFQgbR8lEIcXQe7U10b1KN07IO9PyenN5vIqfUJzkISKo4qZSO4ONoHSX8Rv17LUgDFxXzARJL78x+CP0BH1xjn+aCw/ihKo0SnGH14VY/GL8J+btjKo/28uYvkvswEPC/zi/pANCp2Pnav8V0VRxVFKSNH4BZGryX4c53SJCqOthYLYQfGqUBaXEohjj5DsjNNARYJ6lE6ugMjSe7TeKBKREM9RP1IVsqtUiVXxVGlbAQXR4/DvqEdnLMPvvk99j7tHNQjqQweP89/CuuPotRLNBsSKT0j1n99TuAOAyaTvF6fo9zFNVwF4u7220R0bux8dJHiQMVRRVFKhytVWwT8DXnXVMqJiqOtRy2B9IcB/VJsCi+OboPdkS4I6pEfdsDer/OaNxddHDuPf6vxPRVHlZIRVBwdhF0A5T3KVQDFxWCkamJ8v0YBPcK5FHUjuST57+F8URQX0QEQnRXbzkPy5o41xqirIOrpseE/Yz8vrO/Rfij+ir1f6/oxHS0VG08mQDS8i++rOKooSpk4EDs9SQT8naDPcooHVBxtTaoJpF+gAmmRKLQ42g14hWQHmgDME9IpT3QA/yK5b5OABRs3lcipNQaiGsdHxVGlbAQVR8/Avon9NMf2s+RE7H3bP5w7UX/jPF8YzhdFcRE9YvTR+DZdBP1oLc+NjkAKFsWv0/s9txGKDAvERZvGzs1EZGVNrW20cT7HGf++rx+/FEVRUnMAbmH0H6gw2gqoONq6DEMF0qJTaHF0D+zO87ugHvllY+z9u7IxE1ZOrb27+L6Ko0rJCCaOzo1dAOVVWieHUz/gc5L79wmSYzUA0U7Ged4ujB+KUo2a4mgE0VcQXQDRfB4bvZ3kNToTKWjUKvwJ+zlo8/RmE+Koj+3I9D4piqKkZn/cwuhNqDDaKqg42toMA0ajAmlRKaw42hN4h2Sn+QZZDtpKPEJyH6fT0AAYnRQ7fw9B1EUOMhVHlbIRTBy9GPvGtWVObefFL7D38aj83YgWhuij2DkeCZE+5CsFw1pWfz5E9yPLtuNj1NcQreuhwR9hvwTf5MFukcioQJyKo4qitBz7YedqjoCbUWG0lVBxtPWpJZAuHdAvpcDi6KHYHeZXQT3KBtfLzz/q/3l0Rez8TYTomy62icYD/3fGvw/NZC8VpWmCiKPDab0CKC56Ae+S3M+vgAH+m4oGQDQ4ts0vkzPRORCNj53fzyFayn/7ipIV0QCIfgPR1Fg/Hg/RiJSGHyZ5bTY4eVoazsZ+3tslncmoD0SLNLAtb9xnrjf+fWDqvVQURWmefXELo7cgAUVK66DiaHugAmkxKaQ42gf4mGRH+RToG9KpDLmD5L7OBFas76cJcdTH1kTOU0XJkiDi6F+wb1atUADFxd7Y+3qK/2aiV7sYe6ZDdCN+lyQrSo5E20M0M9an701hbCPs6/IqH14WkEG4C8Tl+MKvBZkURSks++AWRm9FhdFWRMXR9kEF0uJRSHH0eOxOclBQj7JlaSQiJL6/99X3UxVHlVYnd3E0xfVYSroDI0nu73gk56pHaoqjUyE6G6J5/bapKHkT3R7r1zNTiP3PkrwmJyGVTluVE7Cf+w7Ir3kVRxVFKSR74RZG7wF6B/RLyQ4VR9uL4bgF0s8BXUmXP4UTRwcBY0h2jveQ5Z+tTJORatEQGls6dpzxArCr8e+as0YpGLmLoykiuUvL9tjjzx/8NhE9xaz0HVOqiKSTIToFou5+21aUvIj2Mvr0Vk0YyeF6LBz9gM9I7vMn5LZiSMVRRVEKxy7Yk/URcC8qjLYyKo62H4thr5pWgTQMhRNHz8TuGLsG9SgfhpNLjkMtyKSUjVzF0ZQ5gEtNzpFqUR+IVoboVKSATfwcX0+XxeUUpYhEGxt9ea8GDeQUyV1IDsN+/js6n6ZVHFUUpVDsDEzDHhPvQ4XRVkfF0fZkcVQgLQKFEkfnAyaQ7BCvkrpqaWnIoTq2iqNK2chVHH2E5PXXqgVQXATMcRjNDdGzxnneJ5+2FcUn0c5GP96mQQN7Y1+Hp/j1sbC4CsR9TSYF4kxUHFUUpTDshFsYvR+YLaBfSj6oONq+qEAankKJo5dgd4YtgnqUL3MD35GpOKziqFI2chNHN8Yef67MqK2iErA6djQXRGNi5/ntfNpVFJ9Elxrj1fIN/NglDn5FLuJgYdgLexw+Nftmoz4QnRXbGhW1FUVpHXogK2eWBVZHJo/XAVYCFiHbdB874hZGH0CF0XZBxdH2Jm+BtBuwILAMsCoy3q2LjHeLArNn0GaRKYw4OhyYQrITPBXQn1CcgX0x/NSfeRVHlbKRizjaAfyL5HU3CblZtBOutAI35dd8dIFxrhfLr21FSUu0GEQTY/33ExpLD/EL7Pv/UVl4WmC6A6+RPAbjgXlCOqUoSsvSHVgFOBa4HXgd+33U3GYCHwAPAr8HNgf6e/BlB9zC6IOoMNpOqDiqLI7kXXcJpGn6QjdgBeTZ8hYkCM9M6+jaPkZWV54PbA0MTOFD0SmMOHo99olYL6A/oci4IJWKo0rZyEUc3QF7/Dkvg3bKwO3YLwGr5NN0tI9xrjfOp11FMYl2hOhIiOp84Y1+BNH7Rv89sYEG+yEPvfFr7xOgT2N+twTbYY/HfwzqkaIorUQ3ZLXQ9cA4uhYG6tmmIatv9qK5SKvtgakOuw/SnveBdkbFUQVgCdwC6Wc01h86gLWRVGmmxtTsNh0JYjwIGNz8LhaSQoijPwRmkDzo9wbypQgch90JD/ZjOvoRyaVji/ixqyhZkbk42s4FUFyMwI5cuD+fpq1K3yqOKoGIDu3sg99DdDtER0G0IUQ/hGhhiBaFaE2IDoLoHohmGH33VYgaifQ5Efu+v38We1YSzAJxU4CFg3qkKErZGYC8Y7mWrPrcJgJXIEtS62E73MLoE8jEmdJeqDiqVEgjkPZFViSZ6Zp8b5OBGxA9rxUohDh6J8mDPBNYMZAvRaAP9o37U7LNcaMoBSVzcXQf7IH+ZM9tlI0/Yx+T9bNvNjrDONfLZN+morj4nzjazPYqRI0sAx8MfEPyehuF5L1rV9bFHoOuDuqRoihlpT/wW+BbshUJzG068Fdqi6Sb417W+gR+luor5UPFUSVONYH0I8CVfqw3kibkC8dvstxmIqsPyy6SBhdHV8HOcff3AH4UjUOwO90xQT1SlCBkKo72QtJWxK+zdiuA4mIY9sP6c8jSjIyIZoNodOw8j4XIUzoRRWmU6McQfdigKDoWolMg6t1gY7/Hvt/v7HmHykjAAnGKorQIOyAiQlcv9hOQVTKnA3sihZgWQVYRDUImsRYBluu0eTzwNySCqyvbk5BJd3M1QTVh9ElUGG1nVBxVTOoVSDdBJtfrGZMeBc4C9gXWQiZx5mHWeDccETq3RTSov1DfWDoVOJfij2HRiRBd7ti+iT3Yf1nlO1mKco9gP/wumWF7ZaEn8A7JY/MtrZfXQVE6iRaqMv7cbggQT1b53lpNNHo49qB+pM+9KjEXYR+brer7aTQCogZyZEXdILrWOM9/bthjRfFONAKin0P0D4he7nxO+h6ib5Eco88iFep3bazP/4/5kCWY8evsP0hOvHZnZezJ85uDeqQoSlmYE3tlormNAS5FItXTTMYujaRGeauL9t5i1srIzRCBwvzOU7RfdWgliYqjiosRVBdIl8G96i++jQOuQarRp8ljvDjwS6SYU632PgTWSdFO1kT/prEIiPj2dEZObYJ9IK/IqK0ysjv28TktqEeKkhnRiinGqAiiRvPz9ccugPIxmvi+whDgO5LH57/UJdpEp0D0ObJMfiURP53f6w7RZp0CU/xcToRomKf9UJQicxn2fX6zoB4Vi9tIHpuZwKpBPVIUpeisibyYV3tpfxX4KbL8NIu278Se2Klsk4FLcAujT6PCqKLiqFKdpbDfXaMqn1W2t5Ec9lm8366IRNBPr9L2NOAEijnhXzhxtAP4F8kDOAlYMIO2yko34BWSx2gCMG9IpxQlG3IXR0/CHsT3871XJed07GO0W9c/i05xiJ3PQ3Q3RDdBdFunIDrOcR6nQrR9ljulKAVhYaTQUPz6ejKoR8XDVSDugaAeKYpSZPbEXdyoIhJsS6Ypgv7HMsgy/WqChQqjSjVUHFVqMQKpRVPpG9XGu4+RQLvuOfi0OHBLFT8iZKK77iKleQzQQLQPzVdf/gQ6bvDpDbAj9vKo85AwXWUWWyMzkHEuQqqPKUoLEc0D7J3CwH3Q8Wqd3x2MVO+Lp6kYhSyNmp7Ch1ZjIJKTdY7YZ+8jN+ap1X8WnUJzRa1GAwdCx8NN/FZRysaNwK7GZ+sB/8zflUJzHbCX8dmGSL4sRVGUCkcD52C/W08FzkTy603O2acdgQuA+Wt851/ApshqHUUZAbxpfLYU8EYAX5RiMgIZNwZgR2XOAC5E3sPG5+zXZkhk/CKOf3sC2AYYm6tHJaE78DpJRXk8zYu3rc7TJI/VFNydTlGU+jgHe1Zrp6AeFZdjsY9VF0WxonkgOrgzUjSe19q1Te+MIj0Yor6Z742iFINlkAfY+HV1V1CPisswci8QpyhKyTgBd8TSu8CPAvoFkqboXtz+fYeuCFSSaOSo0hUH4k7d8SmwfkC/QATbv+Me715EI+Sd7It9sH4T1KNiszb28boupEOKUmLmxy6A8grFzIdSBPpgVyf8FKhTyIw6IFoUok1lBUN0KEQHQrQTRGtA1C8rxxWlwNxN8pqaASwf1KNicyH2c9DWQT1SFKUoHIj7Rfw+ZAVMEehA3nVdgsbN5LP0VSkHKo4qtdged47Pp5Fq80XhMNx+Pkw2+Z5LSy9kmWb8IH2FqMxKdR4gecymI0uAFUVpjMuxB+pNg3pUfH6GfcyODeqRopSXNbGvp78G9aj4pCgQpyhKC7Ml7hfw64GeAf2qxv64/T0/pFNKoVBxVKnGGtgraSJkwr2Iq+92wO2vPvPGOAL7AB0R1KNysBL2bONtQT1SlPKxOHbi6ieCelQOegLvkDxu35LMRaooSn08RvJamgosFtSjcnAa9vPj7kE9UhQlJAsBY7DHhaspdtqNn2CnVYmQ/KSKouKo4mJO4EPsvnE70COgX12xCXbx0Qg4OKRTRaE/8DnJA/MxsmxT6ZqbsTvWakE9UpRy8Tfsa2iNoB6Vh92wj93pQT1SlPKxOfZ19KegHpWHgcDXJI/daGRFkqIo7UVP7JoMFaGgDEvUD8X2fSxaU0JRcVSx6cBOxxQBj9NAFfiAuCaEJgHLhXSqCPwG+6TuG9SjcrEEMA37olAUpWtcBVD+L6hH5aIb8G+Sx28CWkhAUeqlA3gJ++FwgZBOlYxjsJ8jDwnqkaIoIfgV9ljwMn6FgqyX5Z+PvQ8PZ9ymUnxUHFVM9sHuE+8Ag0I61SCuonkvU47JrEyYExhH8oC8RbHDgIvI1dgda8OgHilKObiH5HWjBVAaZyvs8eeioB4pSnnYBfv6OTuoR+VjNtwF4rSwm6K0DwsC40mOA+MRUakZ5gJ2BS4GngS+ZFZe0EnAZ8D9wCnIRLsvegLPYN8XfuKxDaV8qDiqxJkDGZPi/WEq2a8evhh4yLENbdJeN2QcNfv2Yak9LSnnYh8Mza3SOEOB70kexxcodm4dRQnNWtjjzw1BPSov5jK2qegyMEXpiu7AG9hLKOcM6VRJORh7PD8uqEeKouSJK83YXg3amAv4OfAs7vyftbZ/Aiun3YlOFgEmGvZ1wqe9UXFUiXMpdn/4VcZt7uFos7ItnsLu3NjpkcZ2ft5WzI898L+ICnrN8kfsjrpdUI8Updg8hi3oLRrUo/KyNvb48+egHilK8TkA+7o5IahH5aUn8DbJY6kF4hSlPVgKW8x8ksbeKYdhF+dsdJuGvzHctdz0aE+2lfKh4qhSYQHsYkavkW3KjyHYkaq+xFGAAx02z0xps3RcgX0QNgnqUbmZCztFwZtoigJFcfFj7PHn0qAelR9zWcQMNKm2olRjNuwKo18Cs4d0quT8FHtcPyOoR4qi5IFZWHM6sHSDNhbDHj/i29fA60ggzxvY9R7i26mp9kbojT3h8ynlKLSi+EfFUaXChdh9Ye2M27zF0aZPcbQb8LxhcxwwOKXd0rA49uzcE0E9ag1Oxe6sewX1SFGKRweS7Dl+nXyPFkBJy3LYkRu3B/VIUYrL0dj367bNseQJV4G472k+F5aiKMVnOLNygVa2G5uwY4qjkxDRdXckn6lJ/85/ewt7LI+AjZvwwWQvh90DPNhVyoeKowrIahgzleJDGbe5o9HeC9h9Ma04Cu7ApV97sFsK/o6982sE9ag16A98QfK4vo/MPiqKIvwEe/w5K6hHrcNN2Md29aAeKUrx0Ht1dmyJPQZdHNQjRVGy5Dckr/eZNFcgqSKOfohMVNUbsdQPuAN73BlJ+lRxPYH3DLtPpbSplBMVRxWAn2H3g/UzbG9O4PNYW/8G9nb44EMcBVt4HUUbpNxcFju66M6gHrUWGo2iKNWpVgBF89L5YQnspWb/DOqRohQPXeWRLY+TPLaaT1pRWpMO5OU5fr0/0qSt+YBDaW6SajbgP9jj+kpN+hLHfK+biQi5SjlHlhYAACAASURBVHuh4qgC8AzJPvBqxu39NdbWNGBFJGI+K3HUFS2/mifbheVekjuseen8onnMFKU6roTPbROynxNXYR/jjYJ6pCjFQfODZ89a2GPQX4J6pChKFqxMcSaatnH44uP5cj7stAEnerCrlAsVR5XhyORIvA/8MsP2tjDaquRwz1Ic7Q9MMGxf4Ml2IXE9sF4f1KPWRCvgKoqNThzkw1DsfDgv0AbLIhSlDv6IfX/eLqhHrcl96ES8orQ6x5G8ziciL9chmA27nsafPNl+wLD7uCe7SnlQcVTZD/u5Zr6M2hoIfBRraxTQp/PfshRHAW4wbL/m0XbheBxd6pQH1ZYOzxnSKUUJzC+xB/OfB/WodfkD9rHePqhHihIenTjID1cKpzuCeqQoim8eJHmNPxDWnYSYEAH/8GT3KMPuFKCvJ9tKOVBxVIkvcY+Q4sJZcXWsnZnAhrF/y1oc3cOwPROY16P9wmCG5kbAJUE9am12wT7eZwf1SFHCMTtaACVPdOmwotjEHzYr24Y1f6Gk4R/Yx1sLxClKa9Ade/nlcUE9gvFk8567PPZYlmURFqV4qDiqmKsfz8uonQ1ILt+/0vj3rMXRoQ77O3u0Xwg6EHU7vpPfIzuvZEMH8BLJYz4JWCCkU4oSiN9iD7R7BvWo9TkF+5jvHdAfRQmJq1jZ4yEdagMWRwvEKUqrsgj2M8baAf0Z7vDnGE+2u2FPOB/iybZSDlQcbW9mx843msWKvH7Au7E2PgMGG9/JWhwFeM+wf7Jn+8HZFfsgnhnUo/Zgc+zj7iv/jaKUhbmA79Aoxrzpj0brKkqFm7Hvxy1fgbMAXIl93DcO6pGiKD5wvePMFdCfkxz+LOvR/ouG7ZYuUqJYqDja3riKz2Vx/i8x2tjR8Z08xFEzb/yNnu0HpQciRMR38FtgjpBOtRGPkTz2U4HFgnqkKPlyPvYgvm1Qj9oHM09WBPwiqEeKkj8rYc/43xbUo/Zhfuw8ry+ieV4VpewcRvK6HhPQl0FIhFXcn9c9t2EWKbnXs32l2Kg42t78hOS5nwb08tzGuiSfVe+u8r08xFGzeOkLnu0H5SDsA3h8UI/aizWxj/9fg3qkKPmxEDCZZP9/Hn0xzovZsHPkfIksD1GUdsGsNDwdWDqoR+3FedjPQTsE9UhRlLScQvKafiWgL1dgjzG+J+HPMuw/59m+UmxUHG1vDiV57j/xbL8vUpG+Yn8c1VMx5iGOHm3Yf69VlnvOBpxofPYlcHEAX9qVp4F7kIJYFX4CnEPYBwlFyYNTsJdxH48MtEr2TEbyvcaTeQ8BDgdOC+KRouTL2sAmxmc3ACMD+NKunAnsDwyIfXYGcCciVCuKUj7MSdbxQbyAnZDxJc4jwB2e2zH3b0X8CyRKcXFpQ4+j97B2ob/xt+/x7nckBc5jgY89t9EI5v61TFDNMdjK8qFBPWpPlgFmkDwPdwX1SFGyZwR2MY6HgnrUnnRHlpfFz8NYYM6QTilKTjxNsu9PQQqJKPlyMvbz6L5BPVIUJQ1mtOZ9AXxYDphg+DEGWbXkGzONgG666da+24v4Y1VEZK/YfhYpAleNPCJHzTQCUzzbD8JA4GuSOzYaLcYRihuxO/K6QT1SlGy5FbvPawGUMOyMfS7OCeqRomTPNtj9/sKgHrUvrgJxHwN9QjqlKErTXE7yes5bHB2GnTZoBrBlRu39Avt+optuurXn5ksc7Q28FrM7GViqi9/kIY6axdwne7YfhNOwD9weQT1qbxZGVPf4+XgyqEeKkh0rYxdAuTWoR+1NB/ASyfMxCVgwpFOKkiHdkNQ18T4/AZg3pFNtzpHYz6VHBPVIUZRmOZfktfxUjm0PBd4x2p8JHJxhmydgj1+66aZbe25v4YczDLsn1fGbPMTRAw37X5Y95+gQ7IrEI5HoRSUMo4FrkQJZFdYCNifMUhRFyZIzSRZdmkF9A76SDRHyYB8fayo5qQ9y/kJRys1uyJLLOOcDnwfwRRH+hIih8SWvJwDXAN8F8UhRlGYJlZNuCPAgsKjx+XHAZRm2a+7f+4hArLQH82C/x5yGPlO0C+sgq/Aq+Bjvlgd+Gfv7NeBsD3Z9UJSc0t64EFtR3iaoRwrAfMBEkuflP9TOK6EoZWMd7PHn2qAeKRUeJXlepgNLBvVIUfzTEzuq6FtgcEinFAD2w74//CaoR4qiNINZvfnbHNocBLyMPYacmkPbZnq0u3NoUykOWq2+vdkF+/1pthT2epBc0TcDWKPO3+YROXqBYf85z/ZzZRiSF8DcoY5aP1Jy42zsDr1LUI8UxS/PkOzfWgClOKyCne7gb0E9UhT/mC/tEVKgUgmPq0DceGDukE4pitIwm2CPs1lex4Ow0wNFwB8ybDOO2XZe7SrFQMXR9mYF7PO/dAp75kTxBQ38Ng9x9H7D/vWe7efKddgHbIOQDikJBgHfkDw/o5BIF0UpO9tijz/nB/VIMfk/kudnJnLTV5RWoA9S6Cfexz8F+oZ0SkmwI/Z9QpenKkq5GIZ9Ha+XUVv9gCcc7V1JPsE/3ZFJnHjbmpKovVBxtL3phx1cslMKe780bH2H6EP1bBOw++JY4zujUvgG8IFh/8S8c44uAiyBLG9cFKnq2Q8R0ibGto+QnR0FvIFEZMUZgeTZivMgspRSKQZjgfOQPCUVFgf2Rm7yIC9xSzKrT8yH5H7oi7z4jUNu0hORvvBW5/Zh5t4rrcpg5CZf6XeDkfGnH/LgORHpu+OQvjYKyWM8JmajG3CKYXcCkn9UKQ6/BrZgVjqPDmQ82iL2nQ7kvjQC6ROLIH2hH9I3xgPfI+f3Q5L3pWmZ74HSivRk1vgzAslLWelzsyPjz0Skz40G3kTGoveQB9YKRyDFOuKcivRXpRjciqxoWjX22aFI5MRHsc/mRKq2jkD6xUBk/OmHPKx/jyzlHcus56A3kBcDRVGy5SPkWSCem24t4HHP7fRD8qWvbXx+JSJQRp7bc7EC8m4e5/Uc2lUUpRhMRATD4bHP1gJu9mQ/bQ7Tgcbfad7FhpHMDQ85jHfzIlWg/oYk8jXV33q2ScAjSEGNlTrt3mZ8ZybJh0+lGPQDPiN5rr5CKpY9iV3Vvt7tI+AviNA6R147o5SSXogY9kekorM5G1bvNhK4CIkYdeWS+21eO6Q0xA3Y52pH4GfATcCXjn+vZ5sIPIAURlg2t71RysoywLHI8h3XTHg921fALcAhyBKnMca/v4eMd0qxcC3JvRrJj38hUpigmfvSTOBVZMXClui5V5QsuYfk9feIZ/t9Om2a1/l15Fuv4Vij/UmkyzdYUqI5IdoEol9D9FeIboptpnjcamjkqHIdyfP/agpbZuSo7+2LFL7ta9iaiRTC804vJLfkPYia6/sgVKIn4p/5UrMV/xxGthfFFEQs3wZZDqIoACsiL55f4b/PzTD+/gYtgFJUhtP8JEwj2yvAUWR0U1VKyVxIdOe/8d/fXGLarvnsltIELtHD9zYGuBhYOad9UpR24miS19tk7AimZumNLb5GyARu3is8HzN8eCjn9gMR9YToOIhuhug9iKIaW6sH5ag4quyJ/cxpRljWy+7Ai01u72H3xf8a33mwSb9AxljzXc4rvZEo0Q+xdyTLbTp60RaVRZHlIM1G6zW6vQccTlvOciqdrAXcRb5j0DVoIbii0g94ivz6wmTgcmDBPHZOKSTzIGk3xpFfv/sCXUVRZA4g33vSU8BWueyZorQHy2FfZ/t7sNsLqQZv2r6F/IXRBbEn/9ukwF80iNqCaHxr9XutiqPKUGzt5vgAfmRZkGkgEhkft30O+Hmh7wD2QKqTz1vnb8Ygedu+RJaYTUTycPVHoi2GI3kA6llKMBO4BDgJeRlRwjME6Q97Ud85nI7kt3gficIb3/lZ/85tHmblh6yHD4AjgdsbcVopNUshUTPr1/n9KcDbSIqGCUg+N5D8o/2RG8MSyFKnevgXkkvu5Tq/r2RLNyT9wRnIPaUevkLuS18hfeJ75MWlcl9aGJk5ree+ORXJK3gqcn9TWp9+SPqfI5HJ4q6IkPFnNNLnJiLjUt9OW0OQMajeqshjkOegy0nmJlXCsTzyfLpGnd+fhIxBnyBj0NjOzwcj49ACyItBvRPA/wR+jizdVxQlHSORZ80KTwLrpLDXCxFBzYmMO4CdyT+v+fHIM1OFmUge9g9y9iMA0SBmvQfEeRd5nlw49tmc0NHK+Z5HILnO4yyF5LlW2ofHgXVjf79J/iL57tjV45dA3t/Tsj+zauBUWAkP7/E/QA5eV7PYLwG/BzZDEs/XQ+9OJ49GlhuY6q65fQb8NO0OKanoQKKHzVxo5jYeufn/AsnXV2+urLmRh4g/Ig/7XfW7e0gmFFZajz7AWYgYVasvfM6sPLWLUp9o34H0n92QHHEfddHGdCQv6QAP+6U0z3LAs9Q+VzORQilnABtT/8RLH2AVJC/XA0ikaK12PgS287BPSrHZCpncq9UXpiDLf45DcqTXO/EyCNgQOB2ZhOlqJcbzSFoRJRz9kcmR6dQ+Vx8jKw/2QO419Uy8dEMEiz2BP2PndTe3qcC5iOiuKErzHId9fTWbxqIn8h5k2ruP+ibXfNMTu2pzGxU5jgZB9A5E/4DoGIg27BRMgeg8jRzVyNE2xFVfY7OcfcgqcrQDyaMatzvSg132RSIdaj30/Q5ReH0wEDlRXS2RvB670p6SPXMAd1L73DyMdPR+ntpcBgmB/qJGm2OBHTy1pxSLJbEHN1OMuBHYHD/5aLsBGwDXIlGF1dp9G6n4qeTPYdQWLN8HTkbEBR/MgRR3er5GmxESzVevGKaUh9mQyMBa5/5FJKrc1wvVcCRC1JWLKT72HYGm+wjBckiERbVzMwkRNTfET6GV7sCmSPG5WmPfSKSQl6IozTEUeyL+1ibsdEcKFZvX6AOESwt2oMOfPQP5UjBUHEXF0XZkAPAdyX7wRM4+ZCWObu+we3Qag7MhAmS1B7B3kPxKWVbOXBN38urK9ibJpQ9KtvwIe8axss1Alo1kGcnSF4lCrRXZdxH55+9RsuOnVK/6PBGJ2sky7+M8SOoI88ZR2SYDB2XYvpKkP/KSUu36fx150O+ZoQ/rIxNA1Xz4DxK1rLQGC1O72NKjwEYZtt8DeXCstYriDmD2DH1QkuxH9VVO45HJ3PkybH8osrKm1r1xjwzbV5RW51rsd5yVGrSxK+7r8zWaL1xyZ4p96ou98uEDsn1eKhEqjqLiaLvye+y+sEmO7WchjvZA3sfiNr8hxarP/kjlumoPXaeQ73KAdan+YvANUpxFyZYNqC4Q/RtYPUdf+iB9sNrLyV3o0rJW4HDspPHxczwsR1/mRZbrV1vqegEavZU1cwDP4D7+Y5H+4iNyuF42QHIzufz5HF3y3AosjayOcZ3jj4Adc/SlGyL8f13Fn1eB+XP0p105luoi9V3kW6RtfuS+5PJlJvKcpChK4yyGnS7jBRqLAjcrQfvY3k2xT6c77B2awl6LoeIoKo62K/Ngr5QcRX4R7lmIo0c4bJ7SrLG5kRL3rkH5UaRQRQh6IUUvXLmdJgJbBPKrHdgFWb5nHvcpwC/JV5CIswTVl7k+jeRwU8rJ2bjP61fA1gH92pDqYslV+Fk+qdgsSHUh8h6yjdKqRR8kSswlmo+j/sJhSvFYCync4BKd/kC49AnzAP/n8CtCUn0MD+RXq9NB9dQKnyI5jUOxBdXTDp2PTtwpSjO4Jh4OaeD3RRJHf4CdjuN9wi3vLyAqjqLiaDtzHnZ/ODmntn2Lowsg72Bxe19Tf92JBAOQ6k2mg9MRtTWUCBZnA9yJ6SeRrpqg4mZLpJKiebxHIwVLQtMLefh3iRP/RPP/lZGTcT8UPoEsJwzNECSZvsvHiwL61arMhSyXN4/1NOAYivHivwXuiL7xNF/IQQnH8kg0snk+xxB2cqZCB5I3yVWgbhQyya345VzcY/6DFON4zw88htvHM2r8TlEUN/NgT5BNQu4P9VAUcXQ23KlhtmnCVguj4igqjrYzs2MH/0wD1s6h7bWBm4yt2aCXHoheYPbt/Zsx1gt5yDONTQZ2btLBrJgfO49AhKjEWiDFH6vhzmn1AsV4GYizJ24R9//QHKRl4mDcD4Q3UKy8SB24Z9ki4MSAfrUafZEocPMYTwB+HNAvFwsjwpTp61dIUTGlHCyKewL2feRlokhsgD07HiHPR7pywh+u6tURkpewSM8X3YErcPt6ZEC/FKWs/Bz7WnqDcuV4vhp7H+4K6lEhUXEUFUfbnV2w+8THFE/zqcVZ2PvwDE2u7HQ9UH1HcZcFzgn8C/cLTFNhs0qCocCX2Mf3YSQnbRHZBnce0jNDOqXUzXq402b8kWJEB7r4Dba/M4FtQzrVQvwd+/iOAVYN6VQN5sWdluZNijtuKrPoi1T7Ns/faxQ3n+fKiABv+nxLSKdaiC1xr0z5XUinatCBu7jCDLItHKYorUg33IFDj5Jv7Y1mOQH3M1SoFHkFRsVRVBxVJBjJ7BevAANDOlUnB+AOpmmqX+/sMDaFfCtVNcNA3EsF7qK4YkoZ6AY8gn1c/wX0C+hXPWyNHUE6E9gqpFNKlwwBPsHuc5eFdKpOzsD2+1skklBpHlcU8URgzZBO1cFciBhq+v63kE4pdXEN9nl7l3A5betlZSSFg+m7FttIxwK4hecLQzpVJ3/E9vsLiivyK0pRmRf3aoKbKFbkuMkB2BM7M4DNQzpVXFQcRcVRRVJsvo3dNx6i2DmKt8cdYLV7M8YWxq5CPhPYyYenOTAU+AB9KfCJKxrudaRadBk4CNv/LylXWHi7cS/2ObuVYuQ57ooO3KJK02H8CkthR4FPozwP9YsgFevNPrFHSKeUmvwE931jsZBONcAm2BODk4FlQzpVYrrhzlv1F8ox+d4NEW9M/x+kHP4rSpFYH3dh2jspZm2Do3FHvP82pFPFRsVRVBxVhBVwT7g/TjEjSPfBnVrxT80adFU9PSu1m7VZBFjJsTWbU/BH2Det7yhG8ZaysTi2KDEBESuaZSiwI3JT/gsy+/A88CKyNOU24HRgO2TGwgdXYffraz3ZVvziynHyNun6QjekL+8A/Aw4Fsm5tg+Sp893vqjeSH829+Ngz+20Ax3IuGAey1+nsNkPWBf4FXApcDfwFHLOnkIq3l+GJOxeIkU7cdbDnsX8GoksVYrFAKTiuBlhk/XqmeWwn4PS3GuPxb5unkLFsGbYH/tYvko6IaQ78kK6E1L1+ljgCGBvZHzyvTKnH+40Ebt5bkdR2oFdkfuCeT09iRRvKgI9cEeNR8gkvt4LqqLiKCqOKrPYFPeE0H+A4eHcStCBBPS5JoLupMkAq20dxp4i22UC82NX/6tsaW4uRzrs3ZjK0/bElVtnzybs/ATJF/ihw16tbSJwHekvvD7Afw3bM8mn6ppSPwOwl9NPQkSDRhmKCKF3YEfDm9t0JLJzL/wtE1gUuzjKN0jKAKV+XBVeH6DxKNwfABcBL+GeUay1PY2fvLEnO2yXIVVEu3EJ9nk6LeM2t3a0WXnwbJYOROg3be6bytP2Yy5kIiN+DL+juYmTYUhRl3twF7iMb9OQaNVdkSKpPvgh8lwVb+czihn9oShF5zDc1+6nhK/RsSDyDl/tmXfjcK6VARVHUXFUSfJT3EvVvyF8bY0hwH24x7snaHIiuwfwjmFsMv6iZqpxB+4dSSuOdkPEDtNmUQt3FJEtsI/f3U3acuUsbWSbQPqoux9hz/I+n9Km4pffYZ/7Rqu9b4NEI7tm9OvZ3gHWSrkfFQ512L/Ik+12YDbsCL7xyEN/o+xDc/0hvt1GuijjHojYFbc5g3TRgYpflsR++BtJ8ytZ6mEO3DnsItKJoyAT0Obk0GcUc+lnUTkf+7wc3qCNnZElaM3el15HnmF8cJzD/hmebCtKu3EAbsFgOjJ25D3x0K3TpzEOn8z3qvVy9q1EqDiKiqOKzQ6IPmj2lZlINHqIAKBdsd8VK9s9pFiFs7vDYNbVN10RQfEt7bKEZbAjhO5MabOdMGccv0dSIDRDWnG0sh3fZPsVLnPY3DSlTcUPA7CjyN+m8UhO1xLsRrcZyNLGtHQDnjNsT0KLYNTLIdjn5ldN2vIhjkZIIbo0LztrYi/5uD6FPcUv12Gf86wjgP7iaLOypRVHQfLNmXYP82C3HZgTO8LzVRpfUeVKs9LoNg0/+f97IWJr3PY4YLAH24rSjmyLvCO5rttPkWj9LCfYKqyDPKPUO6ZMJHyEa0FRcRQVRxU3x1N9TBmDPF/mUaxpZWrrS9eSYvV7N+A1w+DnQN9ULtdmXpKzWlOxd8pHzhYz1+RMmlui226sj30+zkxhr9J5xyFhzychEX5LIg/kHUguiLk72z4bd1XYmcjNv1nmwk4q/GQKe4o/XIPtNk3YcYmjk5Gw+jOQaM5dkGI4JyLRPK5BdTqwVbM7E2Ndh+1zPNhtdXoCo0ket9E0/4JREUdnIEvrL0Qm6FZBxp3end8bgNwjfoZElrv6xpVN+lDBLIwynfIU+mllhmM/i9yacZvmCg2zfR/iqGtl0If4W6rdypyBff1v2IQdlzj6PfAYkrLhUCS6dE8k/cbTju9X+scGTe/NLLZ02P6NB7uK0q4sC7xJ9Rf10chzhe8c992BHwP/rNH2eCSa9AXHv6lA6kTFUVQcVWy2xB05am6fIhPzviddO5DxqtoS+so7/yFpG9rAYfjYtEa74FaSO3GBwwcf4ugi2NGjl3uw2+rcQvKYTUIE7WY5ANiIxoSNOYC7sPvFCyn8APi9w6YK5mHphp2PdiTNVXeviKMzgIeRYhNdLSFdGTuSJgI+wk9RDLPK8dg6fGp3XDmwf5bC3uqIQNrIko+OzjbNJXMzgaVT+LIcdvSoCubhcQlhK2fY3gCS496r2Pc8H+IoyD3Y3DcfUYitTE/sSdp/NWmrIo5OB+5FhNCuIivWwha1I2AUsyZz0mAKtp+TbY0BRWl1+uNefWCKkTcgeaabLTTaA1gDeW4w8/Sb20uI8AUiVLgmaiaiS+wNVBxFxVElyc64gxlrbZMRzW9HRNdphu7Is/jvsINmzO1NYMUm20lwrWF4LP6qhLswq1Efh7yAZiGOAvzVsPst+YT7lpU5sGcFQuVJ7An8G7tvpImymhd7/85N56aSkg2xz/HuTdp6BPgHjYtXg7DzQUZI8Yy0bO6wq8JEbeITaJUX91Dj9jHY5++3KW2aItinNFlJUfGCa4LmgYzbvDLW1gxEwDf7vS9xtBfwsWH7/zzZblVcEzTNrGYASa/yF2DxBn83BBFDTT+aKYxpspPD7mYe7CpKu7Mh8AZdCwfTkAmXi5GlqJsAKyEFPedGAnyWRSZK9gXOQnLomSvgXNtY4BfYzxWDEcHU/P4EZKWTAqg4quKokmBn3MVsn0KCLF1jirlVVu79CSmcvjky3i2GaDMLIykx10AKJJ+OpMOsVrg9vk0ETsDPxDH9sJP1X+HDcBXmRF5y4w/+PclWHHVFxqowUR3XuVg+oD+uB/hdU9o0I2NVmAjLdSTPR5oJjLlT+LEcdpTgIynsVXAJLypMVMc1QRNyAqM38qIR9+felDa3wR7XNP9xOFwTNDtn2N4GJKOH/9D5eVbiKNiRsVMJkzy/LJjn4lOaj6xMc19y5Sm+PYW9Cr2wI2P/6sGuoihyfR1B15GdvrdJiNhaa7XfEGSlggqkVVFxFBVHFeEnuIXRJ5mVJqQ7skLpPcf3stymIoWghvvcYVfeIV+Vml3cGGtnOrOWrGUpjrqEib94st2K3EvyWP03rDvMh903jkpp0yVMrJbSptIc3bBf0C4L6I+Zt2msJ7tnGnYnoUvrq/FT7Otz2aAewUMk/fl3SnuuJbsXp7SpNI9ZkTzL1Bf9SC6Xfh9ZjgnZiqM/wL6ufEQgtiK9sAsxhUx98bLhy4ee7F6M3e91olhR/NEbOBh36iaf29fIGFVvCrRaAmma2g4tgoqjqDiqSDCaSxj9J7OeW+P0QJ4rXat+fW5jkeeXYX53VzjPaOwTJM9aFphCbPxBM0txFCQqw9xPxaYn9nKNE4N6JBef2TcOT2mzF/Z+npDSptIcy2Of340C+nOOwx8fIsmKDrvNFPZoB+LLjSMkh0xoTNEqbe5jsAsGvuHBptIc5ktilhOoFxltbRn7tyzFUZDJzrj96zzbbxXWxh6vVw3oz2WGL1Pw86y+LvZ+ruLBrqIoNj9CikGaKU6a3b5DVsJtQ3MF9oZg3xMipHhumweMqDiKiqPtzr7IUnizXzyOWxg1WQZ5p/YVTToRSUm2CxkHF5nK7g0ZtTMQKW5SaWc0yQObtTi6lcP+kh7ttwprYh+n1YN65I528VFF3Kx09rAHm0rjHE3yPEwmbETlydj9ra8Hu64I2dM82G1F3iV5nC4N6w5gV3m9yYPN3bD72lAPdpXGmBt72fJeGbW1OsmHTVOEzVocNYtffuzZfqtwCsnjFDqi8lzDn6k0V7DQxBUhe5wHu4qi1GYEElF6HZJ39BtqCwOTkPvBzUgwx+r4KaA2N26BdCxhJ4RyItoNopsc21uGOHpHle+1ygowFUeVOPvjFkbvp7l39IWB/ZCgkKew34fNbQpSmPk25HlsHZqbAGqY3tj59fbLqK1rjHY2Mf49a3F0AHZY8B4e7bcKh5M8RuNprMJ8FpxE0qfvkeI5afmVYXecB5tK4/yN5Hl4PKg39lj1rUfbpvDxoEfbrcIc2PeC0DmiF8Z+SNjfg11XypBmC74ozeMqmLZQBu30Jrm08mvsXJRZi6OulDL1LsNsJ+4meYzuCusON5P05wOPth80bN/q0baiKPUzAHne+CFSqGQFpCjTXPiZDKnG3MBrtKVAGp1liKCNbrN33UYpUHFUqXAgbmH0PvwWxp0dWRa/NDLerYiMd0MIOBm9NPaOr5BBOxuSjMq41vGdrMVRgLcM+7/zbL8VuJTkMXomn5LEygAAIABJREFUrDssh738/UJPtjfC7nP6kpg/Zi61P9T+eqZ0Q6La4/485tH+iYbt9z3abhVWx74uFw3oz2xIUa64P5/gJ5oY4DPD9q882VXq5wiS52BMRu2YKTt2c3wna3F0IezrS/PL2bxN8hidGtCXXsAXhj93erR/tmE7dJ55RVHyZ24kUsslkLZwqg0VRztRcVQBiWY3V1JFwD34FUYLRyUMf4TxeYQ8EPqkH3AFs3IjfQ0c47mNenkLWCL2t7n/in1M3grihfSbfRABO55+4U385QZ17dsI4HNP9pWu6QAWNz4L1edAItqHG5/5rCpv7tuCiMj2vcc2yo45Bk3Fb5RUvXQgeQfPRfKEVZiG5OHxdc7eIjkpo/el/DGPeRY5blcBjoz9fT9hKoN/hPTduLg/AngigC9FpRf2fSDkfWlb7AjjLO9LiyNRGzM8tqEoSrH5EtgAeBRYKvb5QCS6fGP85FovGrcjORGbZbIvRxQlMEcitYjMfOb3ADsgS91bloo4ai4b+wzJPeSTc5EQ2QqHIXkGQjDK+HtYEC+KjdknfIvlcU7DzpczGHkwXxU7MutpYEckktQHH2NXDB+OVGBT8mFO7KTOWfa5WvRCbgpxxuK3MIu5b90QgTTki3fRMMeg95D0L1mwPXZERB9gAUQQXdD4t2+QXJQPePRhFFIUpYLel/In6/teb+BqZi0T+h441HMb9RIB7wDLxj4bHsaVwjIU+9kk1H2pL3Cm8dmX+Ml5XMHct97Iyq1PPbahKErx+YLaAukmtJxA2vEc8FxoLxQlMEcjmp3JLcBPkcCQlqby0DfA+Nz3UrL1gINif98H/N1zG43wjfG3uf+KfUzMY+aTXyIP4V3xKlJE4s/4jWSIkHyScXG0VZZHlAXX8c6yz9XiJJIPgwBn4XdcdNnSPpck6/tSnM2AA+r43hjgeuD3yCSiT/S+FJ6s+9xJSA65Cr8mXaRKWsw+p2NQkiLdl84kGWAAUpzA1yQx6H1JUZRZVATSx0guqx7ErAjSFwP4pShKNvwKeb8xuRlJ/9TywijMSupsPvz4jBrtC1zJrNDciYSLlKhgPkzqw5+NeUx8PoA3wwfIxfkQ2Szx+s74W4WJfHFdgyH63DaIYBHnJeCPnttx7Zv2uSRZ3peaYRqy7Oou/AujoPelIpBln1uOZCqh54GLPdpvBvO+p30uSVHuS7sDvzA+exJJVeUTvS8pihKnIpCaKWYGIe9jK+fukaIoWXAsbmH0H7RJxGiFijjax/jcZ96704HFYn8fhxQ6CclE4+9+QbwoLh3YyXYnhXAkxjAk7+i7SPSo2WfTYvZ5X0VWlPpwHe+8+9wPkajAeCXQ8cBPkHyXPjHHINA+Z5LlfakZeiKV6R8BnkUKGfpE70vhMfucrzGoB7Kcvmfn39OR1TShczma15T2uSRFuC+tggQYxPkGeVnx3X/0vqQoisnnSJToO8bnlQjSlXL3SFEUnxyLrJA0+TsyOZtVSrNCUllWbz7s+RKeVkNyi1Z4DviTJ9tpMB/2Qr90F40ISSwd7we+xcg4a5BM+tsXyWuzDFJJfv3Yv/dEIihWR3LejPXkg/aJsLheOLPscyaLIfkj45FCM4C9sR8IfeB64dQ+lySr+5KL04HLY3/3QCKmFkbGmu1JRlCthkT+bYXk5PKBjkHhMfucr4qcx5N8gTwLeMWT7TRon6tNtftSXtGjP8SuDDsVEUY/zqA9vS8piuLiY+Rd7HFg0djng5EI0o2RVVaKopSLU4HfOD6/EdiT8JP4wTgZEcQq26sebPYGRsZsTqG+SJufGb5ESEJ4nxxv2H/Ds/1W4EuSx+ig2l/PlB8gS8jMfnEfdiW1ZvnYsH1Y7a8rnlkE+/wul1PbCyLR7PG2ZyJRglmxAPb+/qjmL9qP80gen6cC+tIPEbSmGz6Nx84D2CxnGra1MED+PEXyHJiF2ZphSURkq9h8i/pE11sNX/7jwReTR402LsygjTKzHPY47et674rFkUJI8banIysZsuIH2Pu7ZIbtKYpSLhZEAgbMceJLJKBFKT8jsM/vD2r+Qikrv8M+1xFwFclVlG1FZcfNvFNzeLB9CsmiJmciYmkRMPcvdD7NIpJFn2iWN5CcN3can28G7OzBfgcy+xnH3H8lW1zHO48+NxRJNj/c+PyXyM0hK1z7puNQkiKNQRORlDB7Ig8OFfrjT1DS+1J4fPe5bshy+ooYGiETwJNT2vWF9rnahLovLYREY80X+ywCDibbYqZ6X1IUpRYfIRGkZiHBIUjKIRVIFaUcnA6c6Pj8SuBAJEiordkRO2oqTe6p5ZGlPxV7b1L/8rQ8IkfvMOzf7Nl+K2BGlFwd1h1ABEwzotVHNNlQ7D63nge7Sv10IMVP4ufgwIzbnBt4HfvcmwWZsmAH/I65rci+JI/RZKB7UI+Ea7DP3aI1f1EfRRxz243LSJ6DJ1Pa+5Vhr5G0QllHjnYgwleeY27Z6IUdLb5rxm0ugAgP5n3p6IzbBUkjE29zCsUYcxVFKRYLITUgXBGkPwzol5IejRxtbTqQIsOuiNHL8bcit7RUco6+ZXzegeTga/ZhfDtmFR4AEbD2rPO3azk+24PkDP53pJs9H2H8be6/AqOQ2cEK5jELwbfADcCRsc9WQ3IBpon0dO2b9ol8iZClOvGl9Etk2N5cyCy3ecM/HTgjw3YrmH3uI9zFMNoZ8xrsjTyQjw7gS5yLgX1if3cg+bbeTWlX70vhGWX8nfa+t13s/2ciole9AuTCxt9zOn77Bs0LuEORyOc42ueSTAU+ILmUPsv70vzISgbz3B+HnxQPXWH297dp43xjiqJU5UNm5SCNj1eVCNINgdfyd0tRlBp0AOcjtVtMLgMOIbk6rq2ZDXkAiqvH+9T8RW1Oxa1I+9reTuFbf5JRrRH1C7ftxBEkj9E4ZonpIdkJuz+skNLmUYa979CZkxD8neR5eCSjdgYDL2P3o99n1J6Lm4y2H8qx7bIwF/Y52iGoR0IHyRySEfCHlDbnRsSzuM1tU9pUGmcL7D63QAp7zzjs+dzSFLjc0mFvvpq/aE/uIXmM7sionWorGU7KqD0X9xlt35Zj24qilI+FcEe6f0F9dUaU4qGRo61JB3AR7mfJPCZfS0Ml5+hk7Hyg6+XrSm6sQzKqFeDFEI4UnJeNvweQrLYbijGOz2Z3fNYIGxh/v4jOnITA7HNr4L9C+UDgfmxB/ULgGM9tVaMDe3x9Iae2y8TXwPvGZ+vl74ZFhD0ODXB9sQE2wJ6Q0ftS/rjG/vVdX2wBzPvep8BnIRwpOGYF5nXxv9R8LuBh7BfQc5CCCXnQE3vllo5BiqLUohJB+r7x+dxIqiAVSBUlPB3IqrefO/7tXPJJ21NKziepIn9E89FzRY4cPdew9RkaJeiiF3YOyOODeiS4IkfT3Hx7IpGioSI1lFmshH1uzRf4NPQDnnC0cSX5jgGuCsgb59h+mTDze74e1p3/8T1Jv85Kae8Kw54ubw7HayTPxbUpbBU5cvQ/hq3rU9hqZdbDPu4/8mh/ELNE+ZCRHGs5fFgtZx8URSknw5CUR+YY8jnJ4sxK8dHI0daiG/a7VGU7O6BfhSW+TPox4PDY3wsgD0bPNmH3JprPNbIJsL/x2QHIsu4KE5q03UEyBxjMKoKhJJkKPI2cjwo7AmeGced/uKJXP09hbxPsyNOslnMrtXkFySs7OPbZDsg1mpa+yPLItY3PrwUOIt8xYEfj76mIiKLYPEYyxcsPkGqo/w3jDiDFBsyI5i9S2OsBbG185qPPK83xGMkJt62RfLdTmrB1IpIrtBl+CawS+/sDpMBTnGbz3C6GXVVY73tunkXSaMSv+R3wE+0/EHgQ+7nmAvKP5DDvS+Oxo2YVRVFcfIBEkD4GDI99Pg/yPLMBxZncVpR2oTtS3HUvx7+djeQzV2rQHztS8NIAfmRZrX5th+2sK4+WmZ9jH6+QVQj7Iks4fEaSmXkuv6AYuVXblRtIno8xiDCRhr7YlcAj4DpmpRbJiw7s/Ez35OxDmZgLO0d02ijNtJirLNJGkrnyXG6R0keleTbBPh/bB/Ajy2r1vzVsTwPm9Wi/1biT5PH6mPRL6wcCz2H3tSvIfzVTD2SSOe5HmqKniqK0J4sh46MrglSjD8uBRo62Bt2BP+OOGD05oF+l43qSB+8bZClqnmQpjl5n2B2H/5yGrcRcSLRM/Jj9MYW9NCJXB1JJzewbaSJZ58JeHnt+CntKelzCxC4p7PVBIqJMmzcRRgTf0OHLTwL4USZMYeITJO1HM6QV2tdHhKS4P2lS0IAUPTFfInSCJhzdkT4WPyd3B/AjK3G0B5IfLm77Xk+2W5UdsMftH6ewVy3Fy9XkP2EHUvxNJ2gURfHB4rgF0s9Qka0MqDhafrpja3qVTVMHNohLmDgqZx+yEkcXwhb6rvJgt9W5g+Qxm4CIis1wN5LzdcEGfzcEO6KwIm6nqa57usPmiinsKenphohN8XPyCs2JT72QPmee41sIJz6ZQu04JLJVqc6O2OfQTL1SL/sBDyAiZyMiRDckvctEhy8HN+kLyAPnDMPeH1LYU/zwe5LnZCZ2EbesyUoc3Ru7D+sETW16IQXi4sfsn03a6gs8jn0OriWMMArwvOHLF9iFSxVFUeplcexJxspk8mIB/VK6RsXRctMd+CtuYfSEgH6Vlu7Am9hROrPl6ENW4uifHHZX9mC31XEJ5r9t0tZjzHrR/BeSj20LRLiO97EewMLANkgkxTiHDxFwaJN+gOS1HGvYaya/ruKf3+AnSscljL4NbA5s1OQ2R5P7BLCGwx+NVO6aXtiC+ds0J3DvF7PxMVK9cXdgWeyK83MC6yDj1Bu4x6CnSSdomJM+M4AlU9hT/LAYMJ3kucl7mXEW4qjrGe9T8n3GKyvnYF//Zg7rruiGWxj9L/Ks1ex9yRy7GmFThz+/S2FPURQFYAmqC6SLBvRLqY2Ko+WlJ/azY2UrQlHt0rIP9gHNMwQ3C3F0aey8dbqMrH7MqIKJJBNu10tFHK22TcFe5l5tS/vwfqHD5pYpbSp+GIgtXI+k8UiWSdTXlxrZNmxyn7phV66eDAxt0l67cTj2uTi85i/cxMXRapvZ96ptL5NOLF8ZO2pU8/wVhxtJnpuZyARHXmQhjrryiOe9OqiszIv9fPIijeUe7UV9Y0ujW7xwVyP0QFZmxG1NQFbrKIqipKWaQPohKpAWFRVHy0kv4HbsczeT5t6XlBg9sfNRfQ8sklP7vsXRDmT5k2lzrXRuthWufFS3NWHnMYedRrevSVavboblsaOC/k3+RRCU6pyFfe6PadBGkcTRAxy2LmvSVjvSF1nqGT9+44D5G7RTjzja1TYTSckyKMX+dEcqQZt2l0thU/HLD7HF61fILyWHb3F0HuBbw+ZX5J9Xvsxcgj0e/KyB3xdNHD3KYeucJm0piqK4GIGsUDDHmg/JT1tQ6kfF0fLRC7s+Q+W94rCAfrUUO2Mf4MdIX52zHnyLo4c67N2S0sd2owP3UrBG85StjaQ3cCXq7mr7EIkWTRvR0BuJ+DLtb5DSruKXQdjVcycCSzVgoyji6DCkuF3czljS5cttR/bHPh930dikxvzAr5Eq0abw1dU2CfgbfqIHj3fYv8aDXcUvV2Kfp7xW0vgURztwRxQclNLHdsMlMI+l/hf8IomjI4Dxhp0vSRcNryiK4qKaQPoBKpAWDRVHy0Vv4P9wC6Np0g+2LbVeKu9FcvPF+S1wcnbuALAAds61J5Bl8Y2yLJLbMl6R/ntkmf37zTjXxiyFRM3ElzZPQJaGvtWEvUUQkeGHSH63oUD/TvvjgO8QQfQVZOnac8iFnpZLgEOMz24EdvNgW/HLnsCfjc9GIi+C39fx+9PwH+V1FfBOA9/viUwsmILa4UhqB6V+ugFPAasbn/8SOK8JewOB1YCVkOIBCwOzI8L8WGQM+gZ4FZlQebLz87SshtzT4mPpt8h970sP9hV/zIHk6IxPys1E8kM+knHbywJzx/6egDzPNMMRwB+Nz15E+uKMJm22K4ciuYrjvIisRprSxW+7I4UgfXMJksevXmZD0ryYRcb2RQpDKYqi+GZJJNBqXuPzD4H1gNF5O6Q4GYE898RZCsm9rxSLPkjE6MbG5xGSRunS3D1qcRbHrsw7A9g6pFMNMA/wLraSrvm1msdV3f0/iMhQBvbG9n8MGsFXVDqAh7HP2d8IV9W3UVyF4F4gnyj8VmQ5RICIH8+pNJ/uIG8WxB05v39Ip5Sa7IV9vj6lubzbIVgX9zWzYkinSkx3pHij2SeuDOlUA3QA12P7/080tZCiKNmyJPAZ7gjShQP6pcxCI0fLQV/gIexzNQPRO5SMcBVn+p7GK3TmzezY+dwiJBq2LKJKEemBRG6Zx/Vxil/tdgtgGnbI+bYhnVK6ZB7cD1KXhHSqTk7G9ns88uChNI+rONN3SARokZkTeB3b95tCOqXUhUtMepv0xSKzZhnslB4RcHRIp1qAhZCJVfO4lqHK+zm4J4mHhXRKUZS24Qe4n+vfRwXSIqDiaPHpi6xeMs/TdGRCX8mYP2Mf/G/Jt2prIwzEnR/zY7QCpw+G4X4puBu5WIvIJthR0BHwh5BOKXWzKe78kKdT3EiXo7H9jZB8zko6quVP/AJ7mWhRmAt4HtvndyhP5H07MzuSPsY8fy+TXPpeJJbB/QLaaJ5exc32uMf440M61QWuCbuZwI9DOqUoStuxLFIQ0CWQDg/mlQIqjhadfsCjuIXRPQL61Vb0BZ7GPgkTkWi8IjEfkqPSFVW0ckC/Wo0NgMnYx/kpYHBAv1zshr2kMEKiiHvW+J1SLFxVdSPgCoq1RL0Dd2ROhORAVfwwAHdhtXHA+gH9cjEMydXkitZaOqBfSmMsiftlbhTFi3ZZB7twUITkzx0U0K9WwyU2Rkh+1yKtUuqO5B5z+XpsQL8URWlflkMF0iKi4mhx6Y87AHA6Wjsld+YAXsM+GdOQB6siRCGsgSR1Nn2cgp2oVknPjsjFaB7vt5AbXmh6AGcgURGmj/9CZl6UcnE27pe7BylG9NZg3BGNEZKPrgjjZCsxLxJ5aR7ryUgi8iKwIe7ove+BNQP6pTTHqkhhJPN8fkFxnjN+BkzC9nE0MH9Av1qVaqLj/1GMyu9DgPupLuIqiqKEYjnga+yx6W2kUK+SPyqOFpOBuPOdT0VWsigBGIo7+qUShWdWn8uLHohAa+aTrLwk7xDIr3ZgH9wC6SSkInwoMWg4Ug3a1VdfRJa4KuWjA6kS7DqvnwIbhXONNRDxweXbX5FxSvHPIsB7uI/7LUiezxD0BE7FPT5OBDYP5JeSno2Q3MHmeZ2BpProFcivOYB/OPyKkGIXSwTyq9XpDlxH9eMeMkf/BrgLwEXIqosiRbcqitKeLI9bIB2FCqQhUHG0eAxCArtcAYDbBfRLQSKjXAV5ImAsUigjTxFgZdx53CLk5WWTHH1pV7ZCoqCqCZGr5OhLT6QPul5cIyR58YAc/VGy4Vjc5zdC8uktmKMvg4ELcOdEjYAL0RfQrJkX9xL7CClGczj5pl5YF/dKi4o/GjFaflZGokVd5/htYLMcfekA9qzhz0jyHRPbkQ7gFNzHfybwF/Jd3TBvZ5uulTMRcBa6kkFRlOJQSyDVFQ/5ouJosRiEW+uaAmwT0C8lRj/gZqqLEyORvAdZvoyuANxK9Qe/d5GBVsmHNZHIPde5mI5U+s1yYO0FHICc92r98irCRfQo/tkX99LRCMkxfBbZvowORl6GXZWgI2SZwxEZtq8kGQjcQ/Xr/xVgJ7IVqldDxPlqPryB5K1UWoMlkOedauf7HrItXNkNWUpVbWIgQpZTFy0PeCvzc9w5ziMkB+xvyTaafQiSTui7Kj5MQp6VFEVRisYKuAv+voUKpHmi4mhxGAy8gFsY3TqgX0oVfo67KE9lewc4Dn8RC32AXYEHqC6KRohoqgUH8mdu5NxUOy8zgDuR8G9fIuWiiED1UY12xwO7e2pPKRbLAW9S/dxPRHJ9ro2/KJlVkaX91V4+IySZ/Gqe2lPqpwM4BneKlbhAeTRSvM8H/ZGovcdqtBkhUVz9PbWpFId+wLXUPvf/BPbC3/mfFziS2sLsNODXaNR6CFaheqqPyjPJJfi7R3QgE9SX486HW9neRsQHRVGUoqICaXhUHC0GQ4D/YJ+LycCWAf1SumB53DkQTFHsSaSq59qIyFkP3ZAL9GDgJqQKca12vgb287BPSvN0Q5awdnWuxiB5GPcDFqN+4ao/kkPrNOA5aovkEfAommet1emPLF135XaMb6OBPyHRg43kR54L2LazjVFdtDETuJpiFOFoZ1YF/k3tczUdGR9ORKL7ZqvTdndgKWRy8DZqixERUozppx72SSk2u1B99URlm4AUbPsFsDT1pyDqjQhpv0ZSw3Q11r0KrO5hn5TmGYTk9KyWbiUuWF6ERAA3stJhHqQo5qXUFmIrY90laEohRVHKwYq4BdI38TexrVRHxdHwzI08y5nnYSJh62u0BT6iqboB+yNLeepZLhQhVeVHIYLmeGS5UT9E6BiMFNlYAnkp6IqZwDVIlOqYBn1XsmF+4FzgJ9TXxyYh/WE0krt2fOdng4DZkUFiCeqPQv4U+BVwY0NeK2VmBeQFsF5RYCzS5z5kVp+LmDUGDUUeEOpdAvkKcCjwTP0uKxnSAykK91tkyX1XzESKp4xC7iPjkX7Rn1l9YrHOrZ7I9+mIGH8SMlmktD4DkP52CJL/uiumIsLWKKSvTUD63SCkz82J3PeGUV+aou+QlRQXIf1PCc+qiIC5Yp3f/wbpDx8x677UgfSHQcgz0AjqT5XwHHJfeql+lxVFUYKzIvAw9lj3FrA+MvGsZMMIRIiOsxSy8krJnnmQifCljc+/R5bSP5K7R0rT9EeiBj+h9iy2r20GElGqsxnFZRlkOWlXkS6+tg+QPtg3j51TCslayI0jj/4WIUse9iTfgj9K/cyOjAmfkU9/mIKMeRqx3r4MQ4q0VStU6Hsbh+RY1oj1YtKBFK7sapWVz+1lZJWEFl1SFKWsrIQ7r/8baARplmjkaDjmxZ0yaQIyKaCUlD7APkgOtq6WFDWzvYdEZwzPaX+U9IwAzgY+xn9/mA7chyxd1YJLSoW1kCXuXaV4aGabgBQZ06UN5aE/cCDwFF2n42hmewuJEl0grx1SCs/8wAnUzoucZnsG+BkyAaCUgw2QyZOu0nE0s32H5L9dN7e9URRFyZbVcT/Hv0FjKbKU+lFxNAwLIql2XO+c64VzS/HNMCRq505kiVAzD3zTgGeB0xHBQ2fCy0s3YEPgHGSZV7Pi+dfAzciLoc4eKrXog0TQXI77plPvNhoRW3dFC+uUnUWBo4C7qV1Yq9Y2FRFaT0WWzipKLVZB+sqTSN9pps+NB+5BCootlq/7imf6I2mHrqLrnKG1tneQ3KY7oytmFEVpTVbH/aymAmk2qDiaPwsh93PzuI9Fc8jnTp5CY6WQxQhkyeGRSLGTCqORvH0TkKX5o5CIi5HIoKi0HoOAZZH+sAQSadMf+CEiYFT4Fok8HYXcDEch0V+K0ihDkXHoJKRAXIVvgf8iAsQE4CvkRvUm0uc+zNdNJSd6IHl9KvelhZHKzyNi3/kGEVI/JnlfmpCrp0qr0A+5x43o3Bbs/GxjklGgrwC3In1uFPAamku0VVkIefkcgQjf8yD3qjWN712N9ItRwOvImKQoitLqrAHcj71S4lUk6Obr3D1qXTTnaL4shKy2XsT4fBywKZI7XGkTXiSpjp8W1h2lQJxAsm+MDOuO0oJcQrKPPRTWHaVAnE2ybzwb1h2lTXiJZL/7XVh3lMCshh1FolFSiqK0K2vgjiD9D8lgKyUdGjmaH8Nwrx75FllxpASgW2gHFEVRFEVRFEVRFEVRHDwDbI6s8IqzLFLZfs7cPVKU5hkOPI6sWIvzLbAJ8HzO/iidqDiqKIqiKIqiKIqiKEpReRr4MXZao+VQgVQpD0sgdQuGG59XhNEX8nZImYWKo4qiKIqiKIqiKIqiFJmnkAhSUyBdHhVIleIzAskxOtT4/EtgXSTtpBIQFUcVRVEURVEURVEURSk6T+GOIK0IpHPk7pGidM2SiDA6v/H5l0hhsf/aP4n6Q7QIRKtBtDJEi0HUM3NP25geoR1QFEVRFEVRFEVRFEWpgycRgfReoH/s84pAuhHwTQC/FMXFD4BHgPmMz79AhNGREM0BrA2s3rmtBPRz2JoC0UvAX4G/QIc5SaCkQCNHFUVRFEVRFEVRFEUpC08CWwATjc9XAB5CI0iVYrAc8AS2MPo5sAEwsvPvnwN3AMcC6+AWRgF6A2sAlwCvQ7SJb4fbGRVHFUVRFEVRFEVRFEUpE08A2wGTjM9XRATSwbl7pCizqEQyz2V8/hESJfp6F7+fAnwIvNv53xnGvy8I3A3RduldVUDFUUVRFEVRFEVRFEVRysdDwDaoQKoUixVxC6MfAusD7zh+8zlwA//f3l2HSVJdfRz/1rrCLsFdlsUluCV4cAgEggQnIQR4seBuQQIECcEhQLAAIRCCbpBggeC+LLqwuCxrsF7vH6c7U33rdk93l3XP/D7P089u18zcutN9p6rr1Lnnwp7AYsBACBaCYJj9yyzYzYAXIj/TG7gawrnS7X73pOCoiIiIiIiIiLSjEcBPgcnO9pWBe7CgkkheVsbG5A+c7aOxwOi7np85H4J5INgNgusgeA8CJ1M0+A6CO4E1gH9GvjAU2DutzndnkQWZwgBbRWsNYEEsyj0n0B8Yh6X/PgeMgGBC3h0VEREREREREXE8iGWQ3gX0i2xfE7gf2BQYX0C/pHtZC7iPeED+A6zG6Pv+H2skvhZMg3A/LNjas7RxI+DMRjoqcb0gnA+4Ajtw1JN2PgnCa4ETIBibZedERERERERERDrxIJZBeifxAOl9WICZRlnEAAAgAElEQVRUSV6SlbWBe4kHRt/GAqNj0ttV8DGEbwFLlza4Cz5JE3pgGaKbU389joHAAcBrEC6bVcdEREREREREpDsKe0G4PYQ7RB5rdvJDD2B1Gd0p9mthGaSDs+ipdHvr4M8YHYVNpU8xMPo/U6r8X5rUy3k+CXgSeA1L/Z2IFXmdF4uEr09H6u68wL8sQBp8lUtvRaQbCodjpT6iHodAJwFpE+EiWGH1qGdUokZERESkqqOB05xttwM7dPJz92MB0juBvpHt5SnPm6EMUknPj7HatoOc7W9hGaOfpL/LsD8wPLLh5fT30f30Ar4FfoetpvUUBFOrf3u4LHALsExpw1zAycCBWXZSRLqr8AfAY9ixJmoBsrkDJ5KycAA2zWuY84WVgBfz74+IiIhIqwuXBI5L0EA5QPp3KgOka9MxxX5igvZFANbFFkdyA6MjscDopxnt9xhsRnfZNRntp1vpAcFoCI6H4NHagVGA4DVgEyqLGe8IYc8qPyAiksQFxAOjIu3kdOKBURERERHxCnsCf8bqhoalRzPuA7YjPuW4HCB1A1oijdgE/zh6E5txnUFgNJwPwouA4yMbr4DgsfT31f240+rrEHwM4d+BPUobZseCFxmkC4s0IuwFLAusgU1hnQMbn/2wkhGfAM8D90Kg8drywi2AXYvuhUjzwjWBg4ruhYiIiEgbORS7ngPLiNuVyuzPRtyLBUjvcNoo14jcDGWQSuM2xbKS+znbXwI2BhKWnQwPxKbrl80CLAwsjq0bBDAdOJfKQKkk0ERwFIB3nOezoOCoFCYcgp3wVqW+O4AzILwT+K1lTkvrCWcBLi09mYIVV9+6uP6INCrsC1yJ1emeidW92q7QLomIiIi0tHARrGwfwGfAESRPlrgX2AUrD9g7sn2d0tc2RwFSqd/mwN+IB0ZfxAKjX6ewj1WpXls3xMby8RC8l8K+pKRH59/iNVvk/zPJrpaCSD0GYKnr9U6N6An8DHgNwg0y65UkcR5WVxTgFGx6gkg7OYmO+twXAP8psC+SinAQhD+C8FAIb4DwvxA+V3r8pejeSXcX9oVwNQh/A+FVED4dGZ+PF907EZHOhT2Aa+mopXgQBGNTavwOYCdgmrP9R9hiOgNjPyEStwU2ltzA6AvARqQTGO1MAOwM3AThhjnsr9toInM07A1sGdnwLATj0uqQSELjgEeB14APSs8B5gdWw7IPB5S2DQLuhnBFCN7Ot5tSXbgBsE/pySvYdAF3pUqRFhauCBxeejIaC5TuV1x/pHnh0thquasAS9D8TWWRDIRzYIuqroKVFepd5Rsn5dYlEZHmHUDHVOJ7ILgt5fbvwIJKN1N5vPwxNkV6G+D7lPcpXcf2wE3Ez7XPAz8BvklxX3/CFnoqG4KtYbAx8MPSttWBERAeB8GZKe5b6hP2hvByCMPIY4smG3uOjgLLIbZohQjYyoTRsfF67W8Ph0J4gtX3CzsJ+IfzQviIM4b/nk63JblwIITvlt6XGaWajUB4lvOezZ9wR3+icoyNSNiedB1nUzk2Gsz4DHtB+EJkrG5S2n64M4Z/WLsdaQ3h9s77Vu3xXMIdPU/luNMNoe5tDSrHQwjMHf+2cLk6x6emi4pIiwsXgnB86Zg1rvKzfjg5cjxLI2C6PZZB6h5nHwT6p9B+u1qC+GuyVKE9ah07AFOJvz5PYiUmcxRuCOFHznm+2hR8aYAnAyIcCOGikcdypTfgGCwbb9/yNwLHQXBPft0V8QnGQnAaBP+BYHon3/sJlj06JrJxc6zGpRTvbGDR0v/Pt/dUpK0cT8cd3esheKDIzkgmPgb+QT5Tp0Qa9TV2gf9u0R0REalPGABXAINLG46BYEyNH0jqdiyD1L1u3BirEe9OmZbubUf8GaNPYAszjc+3O8FDwLrOfs/tPElMOuN7ATfFDhi1/BcrAKtsK2lDwQQIbwSOKm3og61u/2JxfRII1wJ+U3oymo5i7CJtIlwOOKb05Gs6ptZL+xoH3I1ldj4PPAfBZ/al8BXgB4X1TMQWLByBzcYqjdHgA/tSeCv22UZEpNX9EpuWDPA0cFkO+7wdq914E5UxkZ8Ad2FT7Cfn0A9pbTsBfyEeN3scqz86IfceAbYQU3gBcGJpw4LYAmOPFtOfrqGZ6PIr2AFLxd2lnb3vPK93MSfJRNgfK8Bezmb/NQSaBihtJOwFXI3dbAE4GIIvC+yQpCIYgcpuSMsKRtERUBARaUPhvNjMMbBpy/tAMDOnnd+GBUhvJB4gvRP4KQqQdmd7A1cSn239GBYYLfpa9UE6gqMAK6DgaCK+hQUmAe9FHp9iB6qy5YFrgFEQrpd1B0UyMofzPMupG9K504DFS//XVGRpR4cDq5b+fz8ENxbZGREREZE2cAkwtPT/30HwRs77vxX4BfEp9ptgizRpin33tA/+wOiD2EzrogOjEF8AarD3u6RunuBocD8Ei0Ue82Iv9DpYZlf5Ts4CwP3YytIibSTsAfwssuEtCNxMUslNuDpwSOnJV2gqsrSdcAk67tx+h622KiIiIiJVhbth09cBRtKRQZq3W4FdiQdIN0UB0u7oV1gNXDdWdj+WTfx97j3ycxdq/KqQXnQhvsxRj2AqBE9CsBeWQlweEH2Bv9giTiLtIOwNXAisGNl4cjF9EQj7YlORe5Y2aCqytJmwB3AVHaubHmt1gERERETEL5wDOK/0ZCbwSwimFNihvwK7ATOc7ZsCd2BxD+n6fg1cTjxOdh+wLa0TGAXYzHn+diG96EKaqDka3A/hCcC5pQ3zYqnoV6TXLZEkwkHAEpENPYG5gJWxsTqs/I3AaRDckm//JOIEYJnS/++D4KYiOyPShIOwmRVgixVeXGBfRERERNrBpXSUOfuTJWIV7hYsS/RqKoNjm2EZpNtiC+FJ17QfVuYhcLbfg806zei9DwMIwgZ/ZkkqZ6qNQ2sCJVZn5mjMVcC0yPONUuiLSFpWwlZuLT+eAf4BnERHYPQpYBMITiqkhwKEKwBHlp5MQlORpe2EC2P1csGmYv0aAjfjQERERET+J/w5HSXOPgSOK7AzrmuBX9JRSrBsM5RB2pUdhgXs3cDoP8k0MArAlhD+FcI1LFDamXAr4BFgQGTjBTbbW5JoZrV6IBgH4RhgkdKGBdLqkEgO3sFWIHy+6I50X/9b2bt3acOxqvsq7SUMsBkTg0obzoTgpQI7JCIiItLiwiHARZEN+0MwoajeVPHn0r9XUZlMtjlwM7AjlYli0t4OB87xbL8d2IXs3+sewM9Lj48gfAR4xf7PeKAPMBuwLDYGl3J+/nmKq9fbpTQZHI39rA4O0komUBn4HATMScdKiMOA3wPHQfgbCG7OuX8CR2FlDsAye/9UYF9EmvErYOPS/0cCZxTYFxEREZF2sDBW7gxgMnAIhIdU/3agI5kC4McQjog8vwWCq1PsX9mfsSxCd8XybW2f7IRiIF3BkfgDi7di5fjcRbqytgCwewPf/wSwNQStVAu1bTUZHA2HAvNENnyeRmdE0hG8CKwS3x4uCewJHIzVk5kVuBHCnhDckGMHpbIUx0TgEisBW9XqzvOzIJxU+v80CA5Ms3MidYiO4W+ACzsZw8s7z4+HMLqq5MEQTE6rcyIiIiItrh+Nl+eb0/mZ59LrTsw1WIDUXbl8OyyDdGcUIG1nRwFnebb/FdiV/AKjo4AHgfWwLNF6f+YPwJUQuCUgpEnNZo7u4/zsEyn0RSRjwUjgaAhvAUYAs2MnvEshfAiCTwvtXve1YenRiF9E/j8ZUHBUirRW6dGI7Zznh2NjWURERERaQzkr1Q2Q/gwLkO5E/tmFktzJ2HokrpuxzM0c39PgTWCT0qLSawCrAcOB+YEhpb6MAz4FXgb+A8HT+fWv++gF4WYQ3Ff/j4QbAqdENkzFihOLtIngJQgPxKZEgE2735fKcS0iIiIiIiLp+QCrrdiIG+mYWv80ljFXNjKFPnXmajoySKML5pQDpDujAGk7ORU4wbP9GqxsVkGZmMFE4F+lhxSgF3AvhC9hf9j3ACPjq+2GPbAVwH8N7AX0jHzxDxB8lEtvRdLzN2wq7Gyl5xug4GiergDub+D7NwPWjTw/E7uDBvowIsW4kcYWdfsxVkS97CLgk8jzLFfBFBEREWkBwbfAbY39TPiXyJMxEDT486m4CguMXk5lgHR7rK7SLuiapB2cDhzn2X4VFuvSFPVurDw1fsXS42zgewjfw1bGmobVZRwGDPT8/F3405FFWlwwHcK36ahlOX+Rvel+Gl0EKxxKZXD0EgjGpNkjkcYEd2HnwDqFM6gMjl5bqo8sIiIiIq3vytK/boB0ByxAWsQCPlK/M4BjPNuvBPZDgdFuz1dztD+wTCc/NwUrXnsGBFNT75VIPqIFj5W1JSIiIiIiItVciQVGL6MyQFouFaAAaesJgPOxRZldlwO/oZNVVaV76IVlhW6Mrfq2ATC0yvfOwGp63IZlvIzOo4Mi2Qj7AYtHNnxWVE9ERERERESkLVyBJZSdTzxAGpLvSudSWwBcCPyf52vnA79FgVEp6QXBu8C7wGUQBtj04kWwlbH6AmOBr4FREEwqrKci6dodW4ip7LGiOiIiIiIiIiJt40I6MhKjdqQjQDrD/SHJVQD8ETjA87XzgMPz7Y60OmdafRACH5UeIm0i3B64C4JpdX7/usC5kQ0zgL+m3y8RERERERFJ4GE6Vqt/tciOOC4o/esGSHfCSrbtjepYFiUALgb293ztHODIfLsj7cBXc1Sk3VwCnAfhLcDdwEsQTKz8lrA3sCp2ktoT6Bn54mUQvJlLT6VZH1O5MrhqHUu7+YzKMfxdUR0RERERaR/B5p1/T2EuwAJxf3C274FlkO6DAqR56wFcjV3zu84Gjs61N9I2FByVrmJB7A7QkcBMCD8GxmF37YYAC1C5AFPZfVitEWlpwR+xaREibSq4Abih6F6IiIiISKrKtUfPc7bviQVIf4kCpHnpiQVG9/B8TYFRqUnBUekK3CLKPbBg6AI1fmYKdoA8AwKtVC8iIlWENwBLer4wLPL/pSB8zvM9r0KwVzb9EgEITwc29Xxh0cj/+1cZnxMgWD+bfomIdCt/wAKk5zrb98KuVX+FAqRZ6wn8GdjN87WTgFPz7Y60GwVHpStYGtgA2Kj0WLTK900FXgHuBK6DYEw+3RMRkTa2FLBSJ98zAFjZs73OWtgiTVsE/9iL6lHle75NvzsiIt3WeViA9Bxn+96lfxUgzU5P4DrgF56vnQCcnm93pB0pOCpdQPA1cFvpAYSDgYWB2bED5STsAuCd+hdtEhEREREREanbuViA9PfO9r2xDNJ9UYA0bb2BW4DtPF87Djgj3+5Iu1JwVLqgYAKttZKhiIi0r/2BwU3+7Lg0OyLicSY2jbAZ09PsiIiIAB2Zo26AdB8sQPprFCBNSx8sMLqtsz0EDsMWzBKpi4KjIiIiIlUFzxTdA5HqgteA14ruhYiIVDgHyyA929n+SzoCpO66GdKYPsCtwDbO9hA4BLgo9x5JW+tRdAdERERERERERLqQ3wOneLb/CrgcC55Kc/pgJfV8gdGDUGBUmqDMURERERERERGRdJ2MBUFPdLb/Cgvk7YcySBvVF7gd2NLZHgIHApfk3iPpEpQ5KiIiIiIiIiKSvpOA0zzb9wXORxmkjRgA/BN/YPQAFBiVBJQ5KiIiIiIiIiKSjXLm6AnO9oOxwN6h+XanLQ0A/gFs6GyfgS12dV3uPZIuRcFREREREREREZHsnIhliR7vbD+k9K8CpNUNBO4G1ne2zwD2Bq7PvUfS5Sg4KiIiIiIiIiKSrROwAOlxzvZDsAzSw3LvUesbiE2lX8/ZPgPYE7gh5/5IF6XgqIiIiIiIiIhI9o7HAqTHOtsPxQKkv82hD/MBSwDDgQWwKevzer5vSyw4OQoYn0O/XLMC9wFrOttnALsDN+XeI+myFBwVEREREREREcnHcViA9Bhn+2FYgPTwlPe3MLApNi19PWDOOn/u95H/vw48AjwMjAAmptc9r1mBB4DVne3TgJ2AOzLev3QzCo6KiIiIiIiIiOTnWCxAerSzvZw5mjRAOhj4OZZh+aPSvpJYpvQ4EAuM3gH8BXgIC+imaQgWGF3N2T4V2BG4M+X9idCj6A6IiIiIiIiIiHQzxwBne7b/FjinyTZnB04GRgNXAT8meWDUNQgLuo4AXi39P63Eu6HAg/gDozugwKhkRJmjIiIiIiIiIiL5K2eOHuVsPxzLyDyyznb6lb73SKxOaD0mAO8D3wDfl35uYKmtWYG5gN6dtLEMcB1WKuBQ4N469+0zB/AvYHln+xQsMHp3grZFalJwVERERERERESkGMcA/YGDnO1HYAFSN3Dq+glwMbB4je+ZCTyH1Qx9FMv4/KSTdnsDi2BZnBsAGwILVvne4cA9wN+Bg4GPOmnbNScWGF3O2f49sA2WpSrSJT2H/aGXH6cX2x1pIcdROTZeL7Y70gX9icoxppOtlJ1N5dj4T7HdkW7ieSrH3WnFdkcKtgaV4yEE5i60RyIikrUAuIj48T/Epsn79AHOxwKfvp8LgTex7NT5U+rjWsClwLc19vkNFtCs11xYsNZtZxKwUQr9FumUao6KiIiIiIiIiBQnxDIuL/Z87aTSI2oh4AngEPw1Rf8L/BRYGjgLGJNSH58CfoNlkB4DfOH5vqFYBun5dD5beS5sUadlne3fAVth2aQimetZwD6HAisAu5X+XzYdW1FtGazWxAxgfO69k7z1ABYGVseKRa+DTQtYLPI9U4DHsVXxpuTcP+l6+gA7UzllIwRmAVbGatwsgE0jGYcdi6Rrmw1YEVgXO/4Mi3xtGnZnfHbsPKXzkqRhfmAV7Ly3NrAZdgwqGwt8iF0YfJ977yRvfYGlgDWx49D6WPZo1GvY8UjnJRGRru1+7HOnuyDRetg1y7+xgOcj2LnD9Sm2ovz/AW9l1ku7Ln8CuAT7jLwWlfGlADuX/RC4CzuHuebGpvkv42yfhAVGH0m3yyLFCbBAw8HYH8TnVE+99j0mYXcmfoelU/fPt/uSgUHYReA52N2syTQ2Jj4GbgP2B5bMue/SnuYEdgQuw6aVTKP+8TYDeBu4GtgVmCfnvkv6AuxD2mFYUfcvaewYNAG7WXMK9iG1b669l3bUFwt4nQw8ho2hRsbcV1gNr8OBldCsn65gHuAX2CrCo7CLynrHw3RgJHAFdqNvrpz7LiIi2QuIlwErP67Epq37vvYnLOGsCMsQLxNUfjwBDHG+fwHsOsv93onYZ2yRLmER4ET8gz3JYxxwDXaRoYuD9tET2AS4AQt4pzkmXsNW5Jsvt99G2sEA7MLzARq76KwnWPoosBeVWV7S+hYHTsVW5EzzGPQNFnhfG/+UJum+1sRqclW7gGn28QFWp32J3H4TScNgYE8sQ2YG6Z6XRmAzsupdnVhERFpfrQCpL06yUzHdrNAXuBB/H5+m4zy1IPCO53u+JT5zQqQtrQhcT7rBiGqPd4F9samv0pr6ALtjWRFZj4cZWBbYyrn8ZtKqZseys74m+zE3ETv5KzDf2tbGjg21CtWn9XgVO+Z1VltJuq4e2DSwZ8l+vIVYJsZWufxm0qw5sPPSWLIfD+Ox85JmOYiIdA0BNm291rF/NK03o/KX+GNCd2Hl8971fG0sVmpPpK0tg2VoNfIBbgo2zf5dbOX6kcBHWMChkXbeB3bJ/leUBvTAAtef0PiH+g+BN4AXsLHxBY1Ng54J3AEsmvlvKa1kIHAGjR8/xgLvYUGtl7Ex9w2NBdK+By4AZs38t5RG/BDL8m1kPEwGPqPyvDSGxsfVKGC7zH9DaTXbYLW9Ghkrk7Ax9hY25t7BxmCjJWceQzcHW80swB+wc0Qj7+U32DHoldLjPRrPPp4EnI2VMhIRkfbWA7gW//H+DdJZhT4L2+A/B/pWuR9LvMaqSFsZiH34mkrtD2lTsA/uJwObY4td1MqsmRNbpGB/rL5kPTXhHsZfkFjytRKWMt/Z+/UpcBMWRF0Ly/irpjc2fXBrrP7sf+g8YPodcAKqB9gdbIvdMe1szL2FTX/+BTZOa100DsAy4XcE/gi8Xkf7n2J1STW1ulizYplTnc1g+B47bxwPbIrdUKm1SOE8WP2j/8NW36wnWHEvlYvLSde0CJad3Nl4GAvcCRyELbgzb402e5ba3QQ4DlvFtbMg23Rs+p1b00vytzP13SB+A1uVeCfshk6tafGDsHPXLlgW0cg62v8I2D7V30xERIpwHfFj/Ae0/kyBrej8uv1L7LpLpG2tRO2aouUaSLuT/M51DyxYehX+Ow3lx2RsZTbJXw/gWGof/L7CLgLSSJcfAvwKWxilVpbfy6guW1c1CPgLtU+272I3ZYb5m2jIgtgYf7OTfd4JDE1hf9K4NakdKJ+OBSx3JvkCfz2BDbEPq7UW2JmE1aiVrml3ar//E7FyQxtRO/hej/5YEO2f1D7XfgSsk3Bf0pwhwN+ofY4YiQW8F0phf4tSX43/mylugQ4REUlmN+LH9S9I5/omD7+i+vnpC2wBb5G2dQDVp3xNwVZ2XjyjfQ/CVhn+uMr+Q+B2NMU1T3NQu6zC+1gWcL+M9r8cloVaLVNsApYtKF3H8tTOmnkGm8qRVRbnT6g9ZfsDVDMnTwFwBNVnMXyPZVotnNH+ZwGOwUrFVBsT16PFUrqSAcCfqf5+f4llJWeVxbkgltX+XZX9T8PGpDLZ87MqNgW+2ph4HNgso30HwJbAUzX2Pwpl5oiItJvZsABi9Hg+A9g4QZv9sJuoBwDnYjfQ7sYS227DEtKOADYgvev3S/F/Pl8upfZFcteD6quPhVitxzTuhNejL/bBv9rq5y9Te8qapGNRqmcsfItNQc1r0awlgAer9CUETsqpH5KtDbH6tL73+F3sAjEvG2DTIqsF5H6aY1+6q17YDblqf/c3kt+5YABwCtVvHj5N7RIi0h5mA57E/x5PxlaSzysQPg+WQV9tBsV1aOHKPGxJ9UD1SJJdxDZqc/wrAJdvFm+SY19ERCSZK4kfy09uop31sDUSnqbzkojRx1isZE/SuqZ9gec97W+asF2RQvTGLjJ9fzRjsA9jRVgIuL9Kv94HhhfUr+5gBarX1LoNmLugfu1I9Tq1l5B8aqMUZwf8gafpWD3apFOlm9EHm27v+6AxHZtKItnoh5Ux8P2tv4cFr4uwONUzi0eS301ESd98wGv439vHKa6My3pUD4jdg7KWs7QH/jIH07Da530K6FM/4DT8M2qmotk0IiLtYAUsSzR6DH+J2mu3VPNX/J8R6n2Mw1agT2IF4ufLV7EEPJG2EeAvAhwC/6K4IFhZAByMPzjxMdlNpezOFsc/hXQy9l4UbX7sQtU3Zi8rsF/SvK3xX4B+jk1zL9oqWOaq27+ZwD4F9qur6onNVvD9jbdC3dee2J19X3DiXVq/gL7EzY6/5vBMbFZN0Rmag7Gpcb6/iYfQAoVZ2IX4hWsIfAisXWC/yn6MJTC4/ZsB/LzAfomISOfcgOZMYN2U2mr2cWyT+y+7wNPmtgnbFMnVH/H/cZxFa9WzWh//gk1voqmMaZof/6Inn2MBolbRC7gC/9g9ubhuSRPWxb9S8wsUf3Mmajb8Qflp2GqNko4AuBZ/kOr44rrltQW2KI/b1xexWqXSHgYDzxJ/H7/Dbty0kqPxT7O/EWVnpGkz/DflnwJ+UGC/XHPhH7uTKS67XkREahtO/Ab7jQnaKwdHZ2DlBy8B9sXiJ8Ow66m5sRkw25W+Xm0h7CSlYmYFvnHae57WiimJVHUI/gvQQ4vsVA0rAp8S7/PjNJeCLpX6YwdU9/V9j+wW4UrqNPwH9t2K7JTUbTGs3o37/j1MawaX+gN3Ee/vJLQaY1pOJP76tnIJgzWAr4j3+T4UrGoHAbZQgfv+fUPrrgq/J/5M+1ML7FNXsgz+mx73YLWHW80g/DXZx6HyUyIirchd52Umdu5p1v5YGZhGEsbmBP5J/NzxRoJ+gCUpuW226ucpkf9ZFVt93h28hxXZqTpUm/J9ZpGd6iJ8RaHboXTBqcT7PRFYqshOSad6A/8h/t79h9auodcT+Dvxfo+iNQO67WRd4nfS26F0wfL4g/zHFNkpqcsR+G92rFVkp+rgm/I9g9YoQ9LOqt0kbvXSBX3wB0hfoZh63SIi4teb+Ar1dxbYl6eJnzt+mKDN2bAFAqPtXZ6smyLZmgXLBnT/EH5XZKcasAbxlex1UZDMTvgzZ5YtslMNuBz/RUG/IjslNfnq0rwMDCmyU3UagE2vdPt/XZGdanNz4F8E7qgiO9WADYkvKDaN1qhNKH6rE586PYX2+SzxW+J/L59hU62lOVcTf02fwbIzW92sWEkPt/8XF9kpERGpsDXx4/QWBfZnU09/DkjY5rVOe9+iG3XSwi4i/kfwT5LVg+gPrIlNZz4Bq1l6OXAeNk1yH2wVs7Smv+9I/HcYTWtnnLWq2Yhn486k9Wqt1dILeIz4mDixyE5JVasSz3oaCyySoM0AyxbeFisNchZWU/mPwOmlbRuQXvB1Tiyz2h1zm6fUfndzLfHX8pYU2u2D1VhaAwtgroytKJ/FlPf9if8Or1P8Yj4S1wtbFdZ9v/4vhbYHY9Pj1sGyoVcA5k2hXZ9rif8Of8loX13dusTruX5Odu9dFhYAviT+eW7dIjslIiL/496E+5xiPyf2J37uOz1hmxsS/2yyScI2RTKxPPFaVR/SeIH5ocDOWM2M/+IvXO97fI0FZ9Oog+SbBp70j7k78mVdZl2mYBvPPkPgtgRtzkd8msJ3wKKJeipp64kttuRevDWzmuEG2M2Ye4gXAK/2mA7cC/w0yS9Rsi7xaeBvo4zlRq1D/INZs2UKBmPHl0uxTORq56ZvgQewWqZp3lS7wbOvI1NsX9JxOPH36R80d5N4bqzW143Y379vwaQQy4y+Dbvx2DNZ9/9nIBaAd8hngJsAACAASURBVPelxXga0wersxZ9DfOYkeT7/BUCv07Q5ubEx+Cr6CaNiEgreJ/K4/Ofiu0OYNfLacZTehBPvDo7YZsimfCtttzMh+ifedpp5DEZy+pLcoEwgPgBZjKtXyOzlaxIPIPvFbJd4OoH2NS/tIOjADt42rwjYZuSrn2Jv0fXNNmWb9GMRh4PAgs2ue+y8zztKhhWv4B4Bt8MYLUG2ugFbAXcCnxP4+NgLBaMSGM1zSHEj28T0VTnVjIHMJ7K9+gLbBZFvQYDe2GLx7nn0Hoe72KZFWlYifhNmlfQgmCN8JUouDDjfa5P9UB6kuAowBWeNn+TsE0REUlmUeLH5u0K7ZElvLl9SmMR1FucNp9NoU2RVK1PfPDf2GRbSYOj5cdfSXY325eBeEmC9rqb26l87fKYfuXLrEorOAqWFej+TlpJvDX0Jl7v+BssWNGMpMHREPiUZCtEDgbGOG1+SXvUqGsFvmP4pQ22sbSnjWYed5LOoiu7edo+K4V2JR1nEH9/9mywjb09bTT6mAmckug36XCxp/2iL7jaRT/i9Y4/I9v61wOAd6g+NpIGR2cjPpPmQyxDVkREiuGu8TGDxmfvpm0P4p9NFkuhXTcZZjqtvbChdEMjqByk3wHzNNlWNDg6DZsmeylW128rLBC7KrARdvfhavyr+YYkT91+wGlvMjbFWmpbinjGyw0Z73ML/GMgzeDoksSzaNKoXSjJ7U78PU9S4y8aHP0Iyxw8ESv5sRGWfbgedrw6Hf/00xCbwp1kKvyunjYPSdBed/IMla/bWBrL4IPawdEPgL9jmVS/B64Cnqd6tt/fSZ5xFxBfsGs8jf9ekr4hWEmF6HvzDI1nDVcLjs7EpjDfigUs/wBcj023rzZGj0nyC5UMwcoWRdt9nnSyobu6A0geLG/UhZ59phkcBcsUddvdJ4V2RUSkOSdReUx+t9juMC92/RTt010ptb0y8XPQUim1LZLYcsQH6EUJ2tsIu8jchvozpGbBAqhuP6aS7A7F2p42f5egve7CfS9mkO1Ba1YqD8AvAyOdPqQRHAXLiHbvVi2QUtvSPHcl3U9IFpS8E7uwXbiBn/k58eBICByXoB89sQCrG5TTtNbafMfuZm6WucHRZ7FxsVCNn1kc+Jtn/yEW+EpqM0+7R6XQriRzKPH3Zasm2okGR8t1jHekdgbIj7CApbv/aaQzu8G96Aqxm0NSXUA8cP0u2ZYWWpPKG7g3E3/f0giO9iV+0ftaCu2KiEhzbqLymHxvQf3ogX32cWfzfUHycmNlg4mXjkljvQeRVJxDPCBZVLDId8f8+IRtPuK0NxoFJmrpS3wBm79lvM+rIvuaDqyCZdhkERxdhvgB+eiU2pbmLE/87/6IgvqyBvGF6d5K2KYvk2y9hG12de5iJJNorsTC0tjf+21YHeVGnEL8ffuUdIIjzzntvp5Cm5KMW9/2ZZrLrtwbm31zPo3NVOkL3E18zN3dRB9csxGvpdpsPefuwneDZr8M99eXyhkMo7EbNVkERwEO9rS9ckpti4hIY56k8nicZW3rX2BT28uP32KfeW8mfuMsxEq9LJtyHz529nFoyu2LNKUH8Zp4RS5SMxCY4PTnoYRt7kj8j3z9hG12Zb6FizbKcH8bUBmsPLe0PavgKMC/nbbfSLFtady5VL4fU4DZC+zPdcT/BpKU4+hHvHTI1Qn72JX5Xq9rm2xrdpJl3t1HNuePX3naVWCiOMsSfz/2b7KtpbDpaM0YRPzCZAo2uyKpK512x2H1LcXPvUEzkWzrRZ/t7G8rrLxVVsHRWYivQnxBSm2LiEhjXqPyeHxChvtyYz/VHp9jM08GZ9CHV5x9nZTBPkQa9iPifwjbFtqj+KI5byZsz3ehfXHCNrsydxrXR2SXaTsQm6ZW3tcHdFx8ZBkc3Yf4uF86xfalMe/TOjdoIF4UPcTqJCfhBia+wabcS5yv/nBaq3c3al1PX9L4ADcr8cDEGSm0K805lXhAsqiFEI4gPuY2SaFd3+c9TWPz64Etnhd9ra7LcH8/xGZtlff1l9L2LIOjEF8xeEyKbYuISP1GU3k8znJ9gnqCo59h2ZxzZtSHJ5z9nVv720WyEw10beB8bTxwT4598fnCeZ509bLJWP3BqKIutFtdQDwr6q9YZmcWzgYWjTzfF8vOyNrt2NTpKPdvQfKxKPG6oDcV0I8o9xgEyVfyvdl5PhS7IJY492/xM6w8ShGewIIWUc0uVhg1DstKjdJ5qTjumHsAW8SoCI96tqUx5p7AbnZG6bzntxzx2QtZnZf6YIHX3qXnX2NTHPPgnpfmA5bIad8iItLBncnxXSG96DAXtnDkB9j1etqryU9ynmc5M0OkplrB0X8TvxDMm5ut8XEKbf7Leb4kWrXeZ1nsYBjlvnZpWQtbMbXsOuDBjPblGoctzBKlUgvFcANCM/EHB/Lkm9Kf9Dj0BPEPOgpM+Lmvy0Nkd4OmMzOwLN+ogSm17R5bV8ZWFpd8DSSeGZ7Vea8eX3q2pTHmQuJlinTe83PPS1OxY3gWjsOCsWWH4L9Bl4WHsTrvUToviYjkb7LzPMmitJ3ZGdg48tgO2Atbh8a9Pu4PHAk8RrqfUfs7z79PsW2RpvTEBmI0pbnoYrj9ia8Wncbq8vMQX4Rn+xTa7Wr2pfI1mko2d3IGULmC95fEF1vJclo9wGnEpw9I/q6h8n14odjuAPEp8KNTaneE0+5dKbXblQzEApLR12mfAvvTm8rVo0Pg9ym1vYTTbgj8JKW2pX7rEX8f0l54oBFrefqzXUpt7+a0OxMF5H1upfJ1+ndG+1keK+FQ3o+bTZ71tHqAp532b0i5fRER6dybVB6Ljy2wLysRPzeE2HVMMwtV+rzotH1KSu2KNKycObow8bsSz+TblZhTqFx4YBoWqEjqU+LTyTR1KM59TV4nm2nup2GrsJYdhD9bJkvuWJ8Lm+os+XLHXNHHoJWA3Z1tl6bUtvu76RgUN5x4jeMix8QqxGvDjkqp7bewethRGhP5c1/zSdi5ryi++sZpjbn/Os8DNOZ8lnSeZ3EM6oXdHCyXbPkOOCCD/XRG5yURkeKNd54XeU36Alan3C1LuBGwR0r7cG/M5lFWT8SrfOHp+wD0Vp4diRiMrZJ5hLP9VKzWRRrciwt9AIxzX5MsxsPqwMGR5/cRr3uVB9/F5vDceyF5jLl6/Qwr7RCtL/oKcH5K7btjblE66syJccfDTOCdIjpSspfzfCbp1uV+23mu81L+3Ne8PKuhKHs7z9/HVrFNw3vE623rvFepBzDM2ZbFeekorJRG2XHY+5M332fjtDKDRESkPu6CeIsV0osO07BA6CfO9jRmGfcFFnC2fZhCuyJN6VX6d1Fn+9dktwDBcGDByPM+WEB0AezD4ZZUTt8ur1qWxpT6spHYHY+yog86rcgdE2lfEPQFrqYjE2sSxWRKQMdFYjQ4tRjFZy52J7MSrzGcVoaUazAWmI8aWnosA2xO/IL4pdL2KSn1wf176o0dA4u4IG5V7jFoNPE6THlZmvgd8vuwmQhpGQmsFnmu81L+3Ne8yBs0u2JTraP+nGL707DjTTQgrDFXaV7itdDSPi8tCRwfef4s8MeU91Evd7wPxupu5z2bR0SkO2vFJK7x2AzekyLblsfOk27QtBHDiM/KKvKzl3Rz5eCom878eYb7/DVwWJ3f+wJ2B/3+lPvgFrif1ftd3VvWY+JELBBVdgyWFVOE6dhCK9EFqDQm8uWrdZdV7dfFsFo59fgGuBBbnTGtwCj4/5405iq5r0eW56VaegJXUJlFPAM7ZqVJ56XitcqYmwNbGTbqM9LLXC/7gsqLLo25Slmfl3oAV9FR1mo69hl5Ror7aES185KCoyIi+XGDg4tja3QUvWr9455tS5MsOLqC8zwkPpNKJDflafXuQjsT8u6IYzpwEZaplXZgFOK/3+AM9tHu3NckzfofK1BZNuEZ4JIU22+GW99llkJ60X35FvsquubM08BWWEmPNAOj4D/GasxVco9BRZ2XzgLWdrb9EVsoLk06LxWvFcZcb+CvxBcmPIz0j4nueU9jrlLW56VDqTy2nIUtTFEUnZdERIrnLkjbG1iniI44fDfKkt5UXd95PgqbTSpSiGrB0aIHZS9sYZ7R2AIoaa+gqovQ2gLsDlVUWmOivPBAeQr7VGwF6qIyJcrcMeG7KJLs+F7voo9DawBPAk+V/p8m30WojkOVWuG8tCtwuLPtVdLPGgWdl1rBQOd5EWPuAuIXC9eQTT1ujbnasjwvLULliryjSLd8VDN0XhIRKd6rxAORGxTREYdvYSh3MdFGub/XwwnbE0mkPK1+qrM9y4VBbqcyXbw/dmd6QSwAsWzka32B/YAtgI1JrwZFH+e5+/t3dyGWvRt9ndIaE8diq4CXnUmxqwGX9XWea0zky/d6Z3Uc+gibuljWEzsGzQmsCKxFxzRHgDWxqSSHAH9KqQ/uMQjSz05td3mel3w2waa8Rn0DbE82tU91Xiqeu0CR7+80S0cB+zvbXsFuFmdB573asjov9cDqx5aD8SHwG4qrqVym85KISPFC4FFgh8i27bAb80UuEulOgYdkpWZWJL6+gIKj0hJOwf7Yyo8ip/WsANzr9CfEVm5zp5k16yin7awWfmlnX1H5Gv0yhTaXAr6PtDmSyiBUNa86fbkthb64Rjv7OCSDfUh1ixP/m1+25k9kZzasJm50rIbY6uQ7pbSPeYn/vmlnp7a786l8ff6d477XxqbPRvc/kfj0+jSd7uzvuQz3JX5PUfke/D7Hff8f8WPC28A8Ge5zhLO/tG7+dBUrEX9PFkqh3QOcNi+r42fm8fTl1zV/onFLePaxTM2fEBGRLOxBa10n9MA+l0b78zUdiXbNOM9pbzLpzxYWaUh5Wr07labIovwvY7VGT3W2z0d6ixG4NZSKrrHaitIeEz2B6+gIhs7EAq5FZ0qUub+fxkS+fK93USfIb7Djz4+pnC4SYLVxZ0thH76/J425SkWdl9bEVqKPTrH+HtgSK7OQFR2DilfUmNsbW/gtagw2Y+bTDPfr/n5F13luNVmclxbCZsyUfUo2ZTqa4asvquOQiEj+7iBexmXvBO316PxbavotsLKz7R5spmkz+gK7ONvuBr5tsj2RVJT/UNyU6AXIfwqj6yTgH862nUjnrv1izvMsLz7alTsm3LT3Rv0WWDXy/DLgiYRtpmU24heJSVbek8Z9RXxK6yJFdCTiWWBfZ9tQz7Zm+P6edByq5DsGBRnvc0Xsw160zt40bGrToxnvW+el4qV93qvH7sCVVI7tL7DA6AcZ79v9/XTeq/QZ8SmMSc5LAXA5lceXA0hesy0t7jFoJjYWRUQkXxOAO51tu2Mzz5pxOZb4MXuDP9ev9HNnO9unY5mfzdoLmNvZdn2C9kRSUU6Fdmt59sI+NKdV47NZpwNbR573BDbF/sCTGO48L/r3bEVvUZm+v0TC9g6L/H8iVnvWvQNVTX/n+VDPz44BPm+uayzp2aYxka/pwHtUjrOkYy4N5RrJ0b5sha0qnIT7u32JZaxKB/dvcDD2QSqroOEKwENUFpyfjt3ZviejfUbpvFQ89zXP+hi0I7bYUjSj4ytgI6zsTJZmB37gbNOYqzQBO95EL0aTjInlsFrGZc8CH1LfZyHfBe2Cnp99A8t0b4b7u31A68zuERHpbi4DfhF53he7nnYXCq3HEGzG5jHAI1gC2otYXXN3hsBA7Hy1GTa935eYdhE227cZvYEjnW2jgfubbE8kdbMSr2uxfaE9MgGWXh3t1yUJ2+yNpalH20wjE6yrKRd9Lj8+I1nWllvDNO3HoQn69iunrclYIF7ydReV74N7x7QoFxOvPZnU1U6bj6fQZlczP/G/859ktK+lsQyp6L6mAztntD/XoNL+ovvPa9/S4WfE6wxnVd7jp9iCP279rhUz2p9rXeJ/X3lkyrabh6l8jf6SoC1fDdO0H8sl6N+tTlv3JmhLRESS+zfxa1T3Zno9bqP6eWMiNnPkAyxRY0aN7w2Bm0l2nXyYp013MUqRQpSzFcYRn761br5d8QqJZwklrfe3GjDA2fZKwja7Ivc1mQt/hmVXsJ7z/DXsxCD5cu9A/pjkNXLS4B6DBhJf5blR6znPdQyK+xgLFkWtl8F+FscWpoku+Bdiq0ffnMH+fH5E/INms3fkpXnu32FANp+FNgVuobJ80bjS9pcy2J/P+s7zcVjmhlRy/w7XK6ITOfCNdZ2XRESK9TvneV8sazNNA7FF/xbCZk9Vu/aaCpwG7Ebz18lzY4veRn0G/LnJ9kQycw2VEfzXi+3O/4yhsl9XJGzvRKe98RRfX7UVDSae1ZLkrk6rZo4GWPAr2laeKxRLhw2Iv68rFdojcybxu7ZJsqgXIv57/ixhH7uq26l8nf6TcvvDiJ9jZpL+KtCdOcfpQ9JMfWneR1S+Fxek3P5PsGnPbtbGj1LeT2cec/rQKpn6rWYb4sfrxZtsq5UzR5f3tJVVpr6IiNTvAeLH590abGMD4EasxnWj55WJwLXAUsl+DQJsOr/bfpKFpkRS1Svy/4ex4rhlS2EfAN/OtUeVhmIZi1FJi8Nv5Tx/jPhCMGL1R56nsu7oNjRf1uB6Kld/bsT2VGYMv49lekW92mTbqxEvCP1Ik21JMk9hgcd+kW3bAC8U053/cT8MfI6dzJv1U+f5TLJf7KddPUxl4HhVrP5fGgvHLIgdR+aLbAuBA0le17pRWzvPy1N5JX8PY4selG2N3XxL4/3YCAtCRo9x3wFbkG9pjTmpPLeDznvV/BvLkIlmdm8DnNtEW1/R/A3+AcCuzrbHgTedbc3WrnY/G08FnmyyLRERSc8B2HVu9LPDpcBzxM8B1TxcevTCboatVfp3GLYQ92CgD1bOcBx2k/4FLBYwgnhd0mYcRvxc8yTKGpUWNTfxmmenFtojqwWaZobVUp72DkzYx67sJCpfq+k0v0peEq86/bgtxbbdepKTsPp/Uoz7qHw/3qXYDLofEK9RfFfCNp912ns6YXtd2WJY8Dj6ejVTiN61ALYAmHs+OCKFthu1uqcfu9f8CcnSzsTfjzSyOtfBLi7c8407vT0PBxH/HVthAbxW9QSVr1UR083nIf6epZnhPtJp270BLSIixXGvyUPs+jiruuhpW4/4jNQp2GKoIi3LDUy8T3EL08xNR4ZW+fE9yQJXZzntTaWyzpxUGkY8MHFUAf3IKjjaD1slPNr2DSm1Lc35BfGT/7oF9SXAFt9w+7NXrR/qxLKe9nSDprYniX8YTBIwnx94h/j7cHSybjbtEqcfE7E7+FKMAVi5neh7cnXCNtcmHhidjK0EW4Tnnb78t6B+tIv9iB8v8i75kmVwdE1P23uk1LaIiCTXi3g5nBArN+WupdJqlsNmNbh9P6TITonUwxeY2LHJtjYDzsambzVqKeJ3sUMshbxZsxCvs5E0A6w7cAMTn1KZ1p+HrIKjBxAfY6qxVSxfYOKfCdq7A7vwa9RAbPqjOz4+IVng6nqnvanA7Ana6w5+Q/x9aDaoNBc2Bclt77jk3Wy6P25mcpLVsCUdfyYeyJyv5k9UtybxY9oUYMvk3WzKxsTHv27Q1DYUGwPR1yyvxdrKsgyO/t1pdxK6QSMi0mrmJ57UU75O6l9gv2pZBrt2cvt8J6qtL21gAPE/updpbvDuQMdFxd1YttVwqmei9sVSrq8innYdYrVGk6xUf5ynTbfuhcTtSXYfyOuVRXC0N/CB0+57FJcpLR0uo/J9mQms2GRb5YVPXsYWY1uD6rVvA6zO8tHAh8THfQjs0mQ/ABbF6htH2/trgva6iyHEg0tPNNHO3Phvup2PBT+aeczS5O9UdranP+smbFOSW4v4+3JeE+2sjtXuirYzHSub0OyYa7Z2d9mjTn8mYuVDpLYbiL+PzS7M1IysgqPLEZ8hdFUK7YqISPrWI76oY4jVoB5aXLe81safMfoK7VMOQMQbRHSLwNejHBx1H5OAN7A08BGlf98kHjSIPsZiC3E0a07if5zNBn27G18Q8SPyzSrIIjh6CPFxlnfQV/x8QcT7m2zL9wFiBjamnwP+hS248QLxIIb7SFqD+RanvSRB3+7GF0R0FzHqzD6eNpI+6i2E77MgFphKGvSVbDxK/LPLwg224cs+T/q4ttlfCNjc014zQd/uyBdETLP+eWeyCo7e47SZd9BXREQasx3xdWJCLL6ybIH9itoHW3DS7eMHFLN+iUjTfNPPP6PxCH+14GijjzeAlZP8QtjFhNvuzxO22Z34pp+fk+P+0w6Ozo2txhdt8xPyLxcg1flqfW7fRDu+4Gijj0nYatVJbOhp9+6EbXYncxH/kDWaxrLoWi04eoenvU0TtCfp8k0/v7fBNlopONoXeMtpazK6SGnEncTfj81z2ncWwdGfetq8KWGbIiKSvb3wB0gnAb+kuASwWfBfw4VYcpUWf5S2dDTxAX1Fg20shV38uZkx9T4+LPWjT7JfhY2I3+1/FuiRsN3upB/wNpWv4TRglZz2n3Zw9G/Ex9s+CduUdC1GPLA5hsanf/4BW1iumWPQ99hUykWS/SoMIh6UmIZWaGzUGcTfo3Mb+PlWCo5u62nr0Sbbkuz8i/j71MiN1VYKjp7paevsJtvqrpYjPqvhHZKX16hH2sHRodgNpmh7k7HyVyIi0vq2xp+dGWKz4vLOIt2K6mXJ3sBmTIm0tGp3FfoAL2EBzqhdgRsb3Ed/rM7f2lgG6HAs8NE38j1TsGzVV7DprQ8BD2NBzSTmAl7EPlSWzSz15emEbXc3PwEecLaNxlZs/Sbjfe9D5aI1b2EZHM04EPijs+1ZbIwmHW+SrpOBk5xt92ILmYQNtrUM9ne/BrA0MIzKQGuIZRO/ix2DnsFu7nzbaKc9rsNqDEZdQPJs1O6mP/A6lcHqEAs01rO43qbAb1Pu00fA3g3+zALYeSk6/qZj58dXUuqXpGNx7OZc9PPKOOy8914dP38o6WcWjgB+3+DPbAA8SGVN7Y+wY+HElPrVXZxL/DhyK80vXlqvQdgsnqgHsM/qjQqwm8TbOttPw2pzi4hIe/gRljQ0l+dr07AFJs/CEkWysglwAnad5fMwNqM463iBSKbWI55xOQ77MJ2GPtid66ymMvcBHiF+5yLJivfd3a3EX8+/0z5ZuKsTX3F2Gqr72Kr6AaOIj7ljUtxHGovq1LIf8f5/nPE+u7KtiL+eX2F1attBfyzwrgy+9nE68ffrOZIvjJSXhbEFLd3fYbsC+9TOBuHPjDmwyE416Aji/X+X1l3tWEREqpsHSyyrNuNkGpbctjHpXbPPik3ff7bGfqdjiS5a7Fi6jHOID/QxwEJFdqoOAZat5fb9LfJdSKirGUp8caZ2CTgPAz4n3vejiuyUdGoV4gHtmTSerVeErYhPwZyBfTiR5l1O/O/4HayWcCvrib+kx8soKNHKegNPEX/fRpC87E/WZsdKP7h912rkyfwY/7F9hyI7VaedsL5G+z4VWKvITomISCI9gSPpvJzhGOAS7Hw1u7el6pbCZjDcQedrOozEEu1EupRqFwVvUDlVvZUEwMXE+/wdrbOCWztbm/hFQYhl17SqRfAHde+luILVUr+D8N8FdacEtpIN8NcBOrnAPnUV/bGAovvavkDjNWnz0hP/DbtxWJkZaW2LEF+oMsQWr+lVYL9qGYo/S/lVYECB/eoqjiP+2k7Gphe2qi2xMlZuv9MuNyIiIsVYEJvVWStwGX18gs20vQZLijsJSxw6HSsBdhM2W2Z8ne1NAo6l9W8eizRtAaw2lTv438PqcbWSPljauNvXmcAuBfarqzkQ/wHxElpviv2K2IHf7etbNH7HTIoR4F/5cDo2paPV7EA82zUE/oGmlqRlGP6pwm/SegXf++Nf5Xo6Vkxf2sPm+G8M/pPWCzbOD7xGvK9foZVi09IDy55xX+MpwM4F9quaPfCP35vRTWIRka7mh1g5PLdEYlaPicCFwLx5/HIiRVsG+Jr4H8LnWIZUK5iL6vU2DiuwX12Vrw5biAUBhhTYr6htsAV13D5+jNVhk/bRG7gP/42PM2iN7K0AOJr4lMUQeJLWC6C0u1Xw38keA6xZYL+i5sc/+2ImrRnYl9r2wH+h8TStE5RfHX9NzInYgnSSnn7YisDuaz0DOJ7WuFncEzgV/7hth9IQIiLSvBWBP+GP46TxeBWbzt+qM7dEMrMWNgXQl/1yEsVmRK2PPzswBH5XYL+6sgDLFPW95u8BqxXXNfoA5+O/GPgCWL64rkkCA4HH8Y+5fwPzFdc15sDKNPj69hIwW3Fd69I2wqbwuK/5VGzRkSIzojYHvsQ/JlTruH0div/c8jVWZ7goAdY337Tp74HNiutalzYrNuXQ93f+ADBncV1jHmyVYF/fnkY1+EVEuos+wE+xuv1v03wwdBqW8HEqlp0q0q0ti2Xl+P5YXiT/bJ2hWAq3L1NrJroAzcNRVD94Xkj+q3Kvi386YQi8j6YUtru+wO34399vgYPJN4s0AHbHv9hXCDyKXTxLdlajehDyOfK/UTM3cD3+ANp0YL+c+yPp2x0LwPvG3N1YOaI8LQ88UaU/Y7EFhCQ7g4D78b/+32DnpTwTCHpgY/SrKn0agQKjIiLd2QJYaacjgCuxc9jjWDxnFPb5+SHgLuA84NdYMtqgIjor0soWw7/6aYgFKa8Dhmfch0HYH3O1FPHvgF9k3AfpsD/VLxQ/wVa265dxH5anetCsHCRp1UXEpDG9gCuo/l6/hN0dzTprcFMs+6ZaP27GgrmSvaWxjHXf+zAdGy+LZNyHWbGptL5SHiEwARuX0jVsRfUFCsYBJ5J9iZmFgEvx15IMsYUItRBlPvoAN1D9fPBfLJs8y/NSgF3svlijH1djZWpEREREJAWD8C+QEr0YvRlYj3RrLi0KnEL1u+EhMBJYIcV9Sn3WBEZT/X3531vWQAAABKNJREFUBDgGq8GXlp7YVMG7qF1w+mIUpOqKdsfq6FV7318F9iHd7OWBwK7AszX2Oxm7ISD5GgL8jervyzTs5t06pBugGA6cSfWgaAi8DCyZ4j6lNSxO7UDUOOBs0n3vA6zM0Z+pflMyxOp/q5xH/vbDyhhUe1+ex85daWbfzALshd0YrLbfSaXvEREREZEM7EnnBX5HA78HNsECC43ogRUSPgxL9a4VAJuJpYUr3bs4s2FB8VrjYQY2pesgbKGvRoMUswBbYlP2q9WZLT8+BX6W5BeSlrcUtbM3QyyT/BZsMZVmprvOg2WiX49l/9Xa18vASk3/NpKG/fHXx44+3sEW8toIW02+ET2xxaCOBP7TyX6mAxc1sQ9pH/2wGtfTqT0WnsHK0KxG41Os+2GLX/6OzmuFjQf+D61AXqQVgBeo/T5NxJIMdqW51X3nx4KsN+Ovuxx9PIt93hIRERGRKtL48DwHlhmxZx3tTQNex2pZjMIWx5mAfbDrjQU258BWEh8OLIfVFe3MS1im1lONdl4ysRGWrVlPfc+vsBqho7ApgF9jY2I6Nh4GYTX8hpfaW4rOa0rOwFbmOxELkkjX1gNb+fsM6lstcTRWGuQt4CNsvI0tfW0INubmw7K9lgCG1dHmeGxhuouxsSvFmhc4F9i5ju+dQuV56UtsTHyHTZUtn5cWwcbDstRXR/YZLFD7QoN9l/a0IrZIYT2118dj5723sHIQX2HBsilYIH0wNuaGlx7LUF9pmluxm8kfN9h3SV9P7O//NOo7XryHjYeRWG3/CVg2Otjn4EHYzb0lsHNTPWVCxgLHYQtwzGyg7yIiIiKSwMrAHfgXR8rq8QawG/kuwCL16QPsC7xLfuNhOlbza+kcfj9pPbNhZTe+Ib8xNx7LjJ8rh99PGrcm8E9qzzpI+/ES8HPSLSkj7SEAtqf2VPssHvcBa+fw+0nj5sTKblSrT5vF41ssKFvPzUIRERERyciy2F3qsWQXAHsAuwDRxWfr64VNG/s32QUovsCmrtaT4Sdd3yzA4Vg2YFYXn29ji++opl97+CFwDdkFKKZhQdit0HRmsTGwBbZyfa26oEkeE7Aauivn9DtJMkOBY7Hs0KzOS29gpRvqyVQVERERkZz0A3bA6iF9RrIPfN8DD2EBj2ZqM0lrWBi7OHic5BeMH2EXhluhlVelupWx6dUvkzw4/zpW63atXH8DSdMAYBds+vGXJBsPk7AbdQejzGGpbk6sxvYDdF4bsrPHl8Bt2A3HRmu4S+tYA7gAK62QZDzMBF4BzgNWzfU3EBEREeli8spwCbCaWWvSUTtyGB01JYdi9bbKj4/oqP/2IrboxeSc+ir5GIhNA1yBjjExHx1joh9WL3Q8liHzNjYeRmK1ZUfl32Vpc3MAP8KORUti4242rM7oQCwTvVznbSw25t7CsnEew27ySNcRAMtjgYrh2JhYlI5j0BDsfDSByvPSW1gd0aexmzwi9eoDrI4t2rYENu4Wwo4/g7Bao9/SMe7ex855o7Aatq+g2pFdzdzYeWlp7Bi0OPaZeCgdAfAJ2Oehr7Hz0kjsvPQ4NnNGRERERBL6f4q84qeT02aBAAAAAElFTkSuQmCC" + } + }, + "cell_type": "markdown", + "id": "53c102ea", + "metadata": {}, + "source": [ + "
\n", + "\n", + "
" ] }, { @@ -272,34 +290,661 @@ "id": "4f8cf018", "metadata": {}, "source": [ - "### Implementation" + "### Loop over all paths" ] }, { "cell_type": "code", - "execution_count": 25, - "id": "d00beaba", + "execution_count": 8, + "id": "e6125bab", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "visital_all_paths_recursive! (generic function with 1 method)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function visital_all_paths(C_sorted,city)\n", + " num_cities = length(C_sorted)\n", + " path=zeros(Int,num_cities)\n", + " hops = 1\n", + " path[hops] = city\n", + " visital_all_paths_recursive!(C_sorted,hops,path)\n", + "end\n", + "function visital_all_paths_recursive!(C_sorted,hops,path)\n", + " num_cities = length(C_sorted)\n", + " if hops != num_cities\n", + " city = path[hops]\n", + " connections = C_sorted[city]\n", + " next_hops = hops + 1\n", + " for (next_city,distance_increment) in connections\n", + " already_visited = (next_city in view(path,1:hops))\n", + " if ! already_visited\n", + " path[next_hops] = next_city\n", + " visital_all_paths_recursive!(C_sorted,next_hops,path)\n", + " end\n", + " end\n", + " return nothing\n", + " else\n", + " @show path\n", + " return nothing\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "723a0f1a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "(path, distance, min_distance) = ([1, 2, 4, 3], 13, 13)\n", - "(path, distance, min_distance) = ([1, 3, 2, 4], 7, 7)\n" + "path = [1, 2, 4, 3]\n", + "path = [1, 2, 3, 4]\n", + "path = [1, 4, 2, 3]\n", + "path = [1, 4, 3, 2]\n", + "path = [1, 3, 4, 2]\n", + "path = [1, 3, 2, 4]\n" + ] + } + ], + "source": [ + "city = 1\n", + "visital_all_paths(C_sorted,city)" + ] + }, + { + "attachments": { + "g25091.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "id": "8cbc8597", + "metadata": {}, + "source": [ + "
\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "65e654df", + "metadata": {}, + "source": [ + "### Serial implementation without pruning" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "cfa159a0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tsp_serial_no_prune_recursive! (generic function with 1 method)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function tsp_serial_no_prune(C_sorted,city)\n", + " num_cities = length(C_sorted)\n", + " path=zeros(Int,num_cities)\n", + " hops = 1\n", + " path[hops] = city\n", + " distance=0\n", + " min_distance = typemax(Int)\n", + " tsp_serial_no_prune_recursive!(C_sorted,hops,path,distance,min_distance)\n", + "end\n", + "function tsp_serial_no_prune_recursive!(C_sorted,hops,path,distance,min_distance)\n", + " num_cities = length(C_sorted)\n", + " if hops != num_cities\n", + " city = path[hops]\n", + " connections = C_sorted[city]\n", + " next_hops = hops + 1\n", + " for (next_city,distance_increment) in connections\n", + " already_visited = (next_city in view(path,1:hops))\n", + " if ! already_visited\n", + " next_distance = distance + distance_increment\n", + " path[next_hops] = next_city\n", + " min_distance = tsp_serial_no_prune_recursive!(\n", + " C_sorted,next_hops,path,next_distance,min_distance)\n", + " end\n", + " end\n", + " return min_distance\n", + " else\n", + " min_distance = min(distance,min_distance)\n", + " #@show path, distance, min_distance\n", + " return min_distance\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d1be2bfc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "city = 1\n", + "min_distance = tsp_serial_no_prune(C_sorted,city)" + ] + }, + { + "cell_type": "markdown", + "id": "3c160cf9", + "metadata": {}, + "source": [ + "### Final serial implementation" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "d76d49de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tsp_serial_recursive! (generic function with 1 method)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function tsp_serial(C_sorted,city)\n", + " num_cities = length(C_sorted)\n", + " path=zeros(Int,num_cities)\n", + " hops = 1\n", + " path[hops] = city\n", + " distance=0\n", + " min_distance = typemax(Int)\n", + " tsp_serial_recursive!(C_sorted,hops,path,distance,min_distance)\n", + "end\n", + "function tsp_serial_recursive!(C_sorted,hops,path,distance,min_distance)\n", + " if distance >= min_distance\n", + " return min_distance\n", + " end\n", + " num_cities = length(C_sorted)\n", + " if hops != num_cities\n", + " city = path[hops]\n", + " connections = C_sorted[city]\n", + " next_hops = hops + 1\n", + " for (next_city,distance_increment) in connections\n", + " already_visited = (next_city in view(path,1:hops))\n", + " if ! already_visited\n", + " next_distance = distance + distance_increment\n", + " path[next_hops] = next_city\n", + " min_distance = tsp_serial_recursive!(\n", + " C_sorted,next_hops,path,next_distance,min_distance)\n", + " end\n", + " end\n", + " return min_distance\n", + " else\n", + " min_distance = min(distance,min_distance)\n", + " #@show path, distance, min_distance\n", + " return min_distance\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "998087f2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "city = 1\n", + "min_distance = tsp_serial(C_sorted,city)" + ] + }, + { + "cell_type": "markdown", + "id": "7f0a5d5c", + "metadata": {}, + "source": [ + "### Performance" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "e1eb74d8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1.286362 seconds (1 allocation: 144 bytes)\n", + " 0.002820 seconds (1 allocation: 144 bytes)\n" ] }, { "data": { "text/plain": [ - "7" + "22" ] }, - "execution_count": 25, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], + "source": [ + "n = 11\n", + "using Random\n", + "Random.seed!(1)\n", + "C = rand(1:10,n,n)\n", + "C_sorted = sort_neighbors(C)\n", + "city = 1\n", + "@time tsp_serial_no_prune(C_sorted,city)\n", + "@time tsp_serial(C_sorted,city)" + ] + }, + { + "cell_type": "markdown", + "id": "733ce76e", + "metadata": {}, + "source": [ + "## Parallel implementation" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "354f5abb", + "metadata": {}, + "outputs": [], + "source": [ + "using Distributed" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "7f8f6702", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3-element Vector{Int64}:\n", + " 2\n", + " 3\n", + " 4" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "if workers() == procs()\n", + " addprocs(3)\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "5c0603a1", + "metadata": {}, + "outputs": [], + "source": [ + "function enumerate_paths_dist(C_sorted,city,max_hops)\n", + " T = typeof((0,Int[]))\n", + " jobs_chnl = RemoteChannel(()->Channel{T}(1))\n", + " @sync begin\n", + " for w in workers()\n", + " @spawnat w consume_jobs(C_sorted,jobs_chnl)\n", + " end\n", + " generate_jobs(C_sorted,city,max_hops,jobs_chnl)\n", + " end\n", + "end\n", + "function generate_jobs(C_sorted,city,max_hops,jobs_chnl)\n", + " num_cities = length(C_sorted)\n", + " path=zeros(Int,num_cities)\n", + " hops = 1\n", + " path[hops] = city\n", + " generate_jobs_recursive(C_sorted,hops,path,max_hops,jobs_chnl)\n", + " for w in workers()\n", + " put!(jobs_chnl,(0,Int[]))\n", + " end\n", + " close(jobs_chnl)\n", + "end\n", + "function generate_jobs_recursive(C_sorted,hops,path,max_hops,jobs_chnl)\n", + " num_cities = length(C_sorted)\n", + " if hops == max_hops\n", + " @show path\n", + " put!(jobs_chnl,(hops,copy(path)))\n", + " return nothing\n", + " else\n", + " city = path[hops]\n", + " connections = C_sorted[city]\n", + " next_hops = hops + 1\n", + " for (next_city,distance_increment) in connections\n", + " already_visited = (next_city in view(path,1:hops))\n", + " if ! already_visited\n", + " path[next_hops] = next_city\n", + " generate_jobs_recursive(C_sorted,next_hops,path,max_hops,jobs_chnl)\n", + " end\n", + " end\n", + " return nothing\n", + " end\n", + "end\n", + "@everywhere function consume_jobs(C_sorted,jobs_chnl)\n", + " while true\n", + " hops,path = take!(jobs_chnl)\n", + " if hops == 0\n", + " println(\"Done!\")\n", + " break\n", + " end\n", + " consume_jobs_recursive(C_sorted,hops,path)\n", + " end\n", + "end\n", + "@everywhere function consume_jobs_recursive(C_sorted,hops,path)\n", + " num_cities = length(C_sorted)\n", + " if hops != num_cities\n", + " city = path[hops]\n", + " connections = C_sorted[city]\n", + " next_hops = hops + 1\n", + " for (next_city,distance_increment) in connections\n", + " already_visited = (next_city in view(path,1:hops))\n", + " if ! already_visited\n", + " path[next_hops] = next_city\n", + " consume_jobs_recursive(C_sorted,next_hops,path)\n", + " end\n", + " end\n", + " return nothing\n", + " else\n", + " @show path\n", + " return nothing\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "f6e9565c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "path = [1, 2, 0, 0]\n", + "path = [1, 4, 0, 0]\n", + "path = [1, 3, 0, 0]\n", + " From worker 2:\tpath = [1, 2, 4, 3]\n", + " From worker 4:\tpath = [1, 3, 4, 2]\n", + " From worker 3:\tpath = [1, 4, 2, 3]\n", + " From worker 3:\tpath = [1, 4, 3, 2]\n", + " From worker 2:\tpath = [1, 2, 3, 4]\n", + " From worker 4:\tpath = [1, 3, 2, 4]\n", + " From worker 2:\tDone!\n", + " From worker 4:\tDone!\n", + " From worker 3:\tDone!\n" + ] + } + ], + "source": [ + "C = [\n", + " 0 2 3 2\n", + " 2 0 4 1\n", + " 3 4 0 3\n", + " 2 1 3 0 \n", + "]\n", + "C_sorted = sort_neighbors(C)\n", + "city = 1\n", + "max_hops = 2\n", + "min_distance = enumerate_paths_dist(C_sorted,city,max_hops)" + ] + }, + { + "cell_type": "markdown", + "id": "cb3457f7", + "metadata": {}, + "source": [ + "### How to track the global minimum distance?" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "364a51fa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " From worker 3:\tmin_distance = 9223372036854775807\n", + " From worker 3:\tdistance = 9\n", + " From worker 4:\tmin_distance = 9\n", + " From worker 4:\tdistance = 6\n", + " From worker 2:\tmin_distance = 6\n", + " From worker 2:\tdistance = 6\n", + "min_distance = 6\n" + ] + } + ], + "source": [ + "buffer = 1 # very important\n", + "min_distance_chnl = RemoteChannel(()->Channel{Int}(buffer))\n", + "put!(min_distance_chnl,typemax(Int))\n", + "@sync for w in workers()\n", + " @spawnat w begin\n", + " sleep(rand(1:3))\n", + " min_distance = take!(min_distance_chnl)\n", + " @show min_distance\n", + " distance = rand(5:10)\n", + " min_distance = min(distance,min_distance)\n", + " @show distance\n", + " put!(min_distance_chnl,min_distance)\n", + " end\n", + "end\n", + "min_distance = take!(min_distance_chnl)\n", + "@show min_distance\n", + "close(min_distance_chnl)" + ] + }, + { + "cell_type": "markdown", + "id": "a1d20178", + "metadata": {}, + "source": [ + "### Final parallel implementation" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "96c649b7", + "metadata": {}, + "outputs": [], + "source": [ + "function tsp_dist(C_sorted,city,max_hops)\n", + " T = typeof((0,Int[],0))\n", + " jobs_chnl = RemoteChannel(()->Channel{T}(1))\n", + " min_distance_chnl = RemoteChannel(()->Channel{Int}(1))\n", + " put!(min_distance_chnl,typemax(Int))\n", + " @sync begin\n", + " for w in workers()\n", + " @spawnat w consume_jobs(C_sorted,jobs_chnl,min_distance_chnl)\n", + " end\n", + " generate_jobs(C_sorted,city,max_hops,jobs_chnl)\n", + " end\n", + " min_distance = take!(min_distance_chnl)\n", + " close(min_distance_chnl)\n", + " return min_distance\n", + "end\n", + "function generate_jobs(C_sorted,city,max_hops,jobs_chnl)\n", + " num_cities = length(C_sorted)\n", + " path=zeros(Int,num_cities)\n", + " hops = 1\n", + " path[hops] = city\n", + " distance = 0\n", + " generate_jobs_recursive(C_sorted,hops,path,max_hops,jobs_chnl,distance)\n", + " for w in workers()\n", + " put!(jobs_chnl,(0,Int[],0))\n", + " end\n", + " close(jobs_chnl)\n", + "end\n", + "function generate_jobs_recursive(C_sorted,hops,path,max_hops,jobs_chnl,distance)\n", + " num_cities = length(C_sorted)\n", + " if hops == max_hops\n", + " @show path, distance\n", + " put!(jobs_chnl,(hops,copy(path),distance))\n", + " return nothing\n", + " else\n", + " city = path[hops]\n", + " connections = C_sorted[city]\n", + " next_hops = hops + 1\n", + " for (next_city,distance_increment) in connections\n", + " already_visited = (next_city in view(path,1:hops))\n", + " next_distance = distance + distance_increment\n", + " if ! already_visited\n", + " path[next_hops] = next_city\n", + " generate_jobs_recursive(\n", + " C_sorted,next_hops,path,max_hops,jobs_chnl,next_distance)\n", + " end\n", + " end\n", + " return nothing\n", + " end\n", + "end\n", + "@everywhere function consume_jobs(C_sorted,jobs_chnl,min_distance_chnl)\n", + " while true\n", + " hops,path,distance = take!(jobs_chnl)\n", + " if hops == 0\n", + " println(\"Done!\")\n", + " break\n", + " end\n", + " min_distance = take!(min_distance_chnl)\n", + " put!(min_distance_chnl,min_distance)\n", + " consume_jobs_recursive(C_sorted,hops,path,min_distance_chnl,distance,min_distance)\n", + " end\n", + "end\n", + "@everywhere function consume_jobs_recursive(C_sorted,hops,path,min_distance_chnl,distance,min_distance)\n", + " if distance >= min_distance\n", + " return min_distance\n", + " end\n", + " num_cities = length(C_sorted)\n", + " if hops != num_cities\n", + " city = path[hops]\n", + " connections = C_sorted[city]\n", + " next_hops = hops + 1\n", + " for (next_city,distance_increment) in connections\n", + " already_visited = (next_city in view(path,1:hops))\n", + " next_distance = distance + distance_increment\n", + " if ! already_visited\n", + " path[next_hops] = next_city\n", + " min_distance = consume_jobs_recursive(\n", + " C_sorted,next_hops,path,min_distance_chnl,next_distance,min_distance)\n", + " end\n", + " end\n", + " return min_distance\n", + " else\n", + " min_distance = take!(min_distance_chnl)\n", + " min_distance = min(min_distance,distance)\n", + " put!(min_distance_chnl,min_distance)\n", + " @show path, distance, min_distance\n", + " return min_distance\n", + " end\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "dfa18d93", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(path, distance) = ([1, 2, 0, 0], 2)\n", + "(path, distance) = ([1, 4, 0, 0], 2)\n", + "(path, distance) = ([1, 3, 0, 0], 3)\n", + " From worker 3:\t(path, distance, min_distance) = ([1, 3, 4, 2], 7, 7)\n", + " From worker 2:\t(path, distance, min_distance) = ([1, 2, 4, 3], 6, 6)\n", + " From worker 3:\tDone!\n", + " From worker 4:\t(path, distance, min_distance) = ([1, 4, 2, 3], 7, 6)\n", + " From worker 2:\tDone!\n", + " From worker 4:\tDone!\n" + ] + }, + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "city = 1\n", + "max_hops = 2\n", + "min_distance = tsp_dist(C_sorted,city,max_hops)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d00beaba", + "metadata": {}, + "outputs": [], "source": [ "function tsp_serial(C,city)\n", " #connections = sort_neighbors(C)\n", @@ -517,12 +1162,74 @@ "metadata": {}, "source": [] }, + { + "cell_type": "code", + "execution_count": null, + "id": "03cac0a1", + "metadata": {}, + "outputs": [], + "source": [ + "C = [\n", + " [(1,0), (2,2), (3,3), (4,4)],\n", + " [(2,0), (4,1), (1,2), (3,3)],\n", + " [(3,0), (1,3), (2,3), (4,10)], \n", + " [(4,0), (2,1), (1,4), (3,10)]\n", + "]" + ] + }, { "cell_type": "markdown", "id": "88b90b22", "metadata": {}, "source": [] }, + { + "cell_type": "markdown", + "id": "a66fc73f", + "metadata": {}, + "source": [ + "### Visit all possible paths and compute their distance" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "59d245bf", + "metadata": {}, + "outputs": [], + "source": [ + "function compute_distances(C_sorted,city)\n", + " num_cities = length(C_sorted)\n", + " path=zeros(Int,num_cities)\n", + " hops = 1\n", + " path[hops] = city\n", + " distance=0\n", + " compute_distances_recursive!(C_sorted,hops,path,distance)\n", + "end\n", + "function compute_distances_recursive!(C_sorted,hops,path,distance)\n", + " num_cities = length(C_sorted)\n", + " if hops != num_cities\n", + " city = path[hops]\n", + " connections = C_sorted[city]\n", + " next_hops = hops + 1\n", + " for (next_city,distance_increment) in connections\n", + " already_visited = (next_city in view(path,1:hops))\n", + " if ! already_visited\n", + " next_distance = distance + distance_increment\n", + " path[next_hops] = next_city\n", + " compute_distances_recursive!(C_sorted,next_hops,path,next_distance)\n", + " end\n", + " end\n", + " return nothing\n", + " else\n", + " @show path, distance\n", + " return nothing\n", + " end\n", + "end\n", + "city = 1\n", + "compute_distances(C_sorted,city)" + ] + }, { "cell_type": "code", "execution_count": null,