Repository where I mostly put random python scripts.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

288 lines
283 KiB

{
"cells": [
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"def plot_result(single, threads, manager, streams, sizes, xLab=\"Tasks\", yLab=\"Execution Time (MS)\", title=\"Execution Times\"):\n",
" plt.title(title)\n",
" if len(sizes) == len(single):\n",
" plt.plot(sizes, single, label=\"Single Threaded\")\n",
" if len(sizes) == len(threads):\n",
" plt.plot(sizes, threads, label=\"Vanilla Threads\")\n",
" plt.plot(sizes, manager, label=\"Parallel Task Queue\")\n",
" plt.plot(sizes, streams, label=\"Parallel Stream\")\n",
" plt.legend(bbox_to_anchor=(0.6, 0.95), loc='upper left', borderaxespad=0.)\n",
" plt.xlabel(xLab)\n",
" plt.ylabel(yLab)\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"single = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
"threads = [2, 10, 45, 31, 42, 36, 55, 66, 59, 85, 171, 98, 126, 138, 105, 111, 107, 121, 122, 134]\n",
"manager = [1, 1, 2, 10, 1, 3, 2, 1, 2, 1, 4, 3, 3, 1, 2, 2, 2, 2, 2, 2]\n",
"streams = [4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
"sizes = [1, 101, 201, 301, 401, 501, 601, 701, 801, 901, 1001, 1101, 1201, 1301, 1401, 1501, 1601, 1701, 1801, 1901]\n",
"plot_result(single, threads, manager, streams, sizes, title='Operational Overhead')"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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bhbEN4bE5jqqR3nlrx+tZs3OnIDus0vLejzy+67lvj5kyBD+9re/kZyczHnnncdll13GoEGDTtru8OHD9O/fn4kTJ/LAAw/w6quv8tBDDzFu3DjGjRvHFVdcwX/+858yj/H6669Tv359li1bxrFjxxgwYABDhgyhffv2Hv0MGzZs4J133uHVV19lzJgxzJ49m6uvvhqA/Px8li9fTkFBAYMGDeKDDz4gKSmJd999lwcffJDJkyczcuRIbr75ZgAeeughXn/9de666y7GjRvHbbfdxrXXXstLL71Ucrx58+axYcMGvv/+e4wxDB8+nK+++oqEhASmT5/OypUrKSwspHfv3vTp08ejnyFQtMUfqQ7tgrotIDFJW/wq4iUmJpKRkcGkSZNISkrisssu48033zxpu7i4OIYNGwZAnz59SrpglixZwujRowG48soryzzGvHnzmDp1KikpKfTr1499+/axYcMGj2Ns3749KSkpJx0b4LLLLgNg/fr1rFq1it/97nekpKTw6KOPloyHX7VqFQMHDqR79+5MmzaN1atXA7B48WKuuMKOZbnmmmtOiHfevHn06tWL3r17s27dOjZs2MDXX3/NJZdcQnx8PPXq1WP48OEe/wyBoi3+SJWbBXWbQ51GsP+7cEejqpCKWubBFB0dzdlnn83ZZ59N9+7dmTJlCmPHjj1hm9jY2JKhhtHR0RQWFnq8f2MML7zwAkOHDvUpPlc3lOvYrq4egISEhJJjdO3alSVLlpz0/rFjx/L+++/Ts2dP3nzzTRYtWlTyWlnDJ40x/PnPf+bWW2894flnn33Wp/gDSVv8kSo32yb+xKY6qkdFvPXr15/Q+l65ciVt27b1+P39+/dn9uzZAEyfPr3MbYYOHcrLL79MQUEBAJmZmRw+fNiPqE/WqVMn9uzZU5L4CwoKSlr2ubm5tGjRgoKCAqZNm1byngEDBpTE7P780KFDmTx5MocOHQJgx44d7N69m7POOov333+fo0ePkpuby0cffRTQn8ET2uKPRMVFx7t64hKh4AgcOwS1vBsmplSoHDp0iLvuuosDBw4QExPDaaedxqRJkzx+/7PPPsvVV1/NxIkTOf/886lf/+QSJTfddBNbt26ld+/eGGNISkri/fffD+SPQVxcHLNmzeLuu+/m4MGDFBYWcs8999C1a1f+/ve/069fP5KSkujXrx+5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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"single = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
"threads = []\n",
"manager = [1, 1, 2, 10, 1, 3, 2, 1, 2, 1, 4, 3, 3, 1, 2, 2, 2, 2, 2, 2]\n",
"streams = [4, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
"sizes = [1, 101, 201, 301, 401, 501, 601, 701, 801, 901, 1001, 1101, 1201, 1301, 1401, 1501, 1601, 1701, 1801, 1901]\n",
"plot_result(single, threads, manager, streams, sizes, title='Operational Overhead')"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"single = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
"threads = [2, 12, 53, 37, 39, 35, 58, 58, 63, 62, 132, 103, 94, 128, 132, 115, 110, 121, 124, 135, 145, 146, 160, 160, 171, 177, 189, 186, 201, 210, 210, 224, 226, 231, 232, 246, 265, 264, 299, 273, 291, 317, 295, 322, 320, 316, 329, 324, 345, 349, 353, 443, 405, 391, 377, 385, 383, 393, 419, 426, 418, 414, 433, 426, 433, 452, 466, 460, 467, 483, 494, 487, 501, 508, 507, 519, 530, 535, 542, 545, 556, 573, 566, 575, 579, 582, 594, 605, 612, 613, 622, 630, 632, 643, 666, 670, 662, 668, 669, 684]\n",
"manager = [2, 1, 1, 5, 1, 1, 1, 1, 2, 1, 3, 11, 1, 2, 1, 2, 3, 2, 2, 2, 2, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, 1, 8, 2, 1, 1, 1, 2, 2, 1, 2, 3, 3, 2, 2, 2, 1, 2, 2, 1, 2, 3, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 2, 4, 3, 4, 3, 3, 4, 2, 3, 3, 4, 4, 3, 3, 4, 4, 3, 5, 5, 4, 4, 4, 4, 4, 3, 5, 6, 6, 5]\n",
"streams = [4, 2, 0, 0, 2, 0, 0, 0, 1, 1, 0, 2, 2, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
"sizes = [1, 101, 201, 301, 401, 501, 601, 701, 801, 901, 1001, 1101, 1201, 1301, 1401, 1501, 1601, 1701, 1801, 1901, 2001, 2101, 2201, 2301, 2401, 2501, 2601, 2701, 2801, 2901, 3001, 3101, 3201, 3301, 3401, 3501, 3601, 3701, 3801, 3901, 4001, 4101, 4201, 4301, 4401, 4501, 4601, 4701, 4801, 4901, 5001, 5101, 5201, 5301, 5401, 5501, 5601, 5701, 5801, 5901, 6001, 6101, 6201, 6301, 6401, 6501, 6601, 6701, 6801, 6901, 7001, 7101, 7201, 7301, 7401, 7501, 7601, 7701, 7801, 7901, 8001, 8101, 8201, 8301, 8401, 8501, 8601, 8701, 8801, 8901, 9001, 9101, 9201, 9301, 9401, 9501, 9601, 9701, 9801, 9901]\n",
"plot_result(single, threads, manager, streams, sizes, title='Operational Overhead')\n"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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33339cjUFY0KAr8JeNTeYBeggkAZnOzduzdU5nn+/Pl8+ctfZs2aNZx99tls27aNjo6OiN4BixYtori4GLDF3b7xjW+wYsUKcnNzWbt2bcKxnn76aR577LHQHXN7ezvvv/9+j+b7pz/9iSVLltDV1cW2bdtYtWoVtbW1FBUV8eUvf5nTTjstwt/g1hrqSQ2lVHj22WcjhMXu3btDhepi8dxzz7F8+fJQjaK9e/dSXV29X3NQQeA3ERqBOoyVDJDinXu6cX0EXi655BK+/e1vs2jRIp5//nmuu+660Da39DPAL37xCw444ADeeustgsEgRUVFCccyxvDQQw8xceLEiPdd01MyNm3axE9/+lNef/11KioqWLx4Me3t7eTl5fHaa6/x3HPPsXTpUn7961/zj3/8A4DZs2ezfPlympqaqKysjDje0KFDKS0tZePGjRFawfLly1mwYAEQWaq6vb099DwYDPLKK690O+e8vDyCHnOy+xljDBdccAH/8z//k9K5poKWofYb7+KvuQRKlrFr1y5GjRoFwN13351wv5EjR5KTk8Mf/vCHpDbvhQsXcsstt+AWzXzzzTd7NK/du3dTWlrKsGHD2L59O3/7298AW0V1165dnHrqqfziF7+IKHtx8sknc8UVV/CJT3wiVHnUy+WXX843v/nNUJ+DZ599lnfffZfPfOYzABxwwAHU1dURDAZ5+OGHQ59bsGABt9xyS+i1K0zHjBnDG2/YQpVvvPEGmzZtAuDEE09k6dKl1Nfb6Pumpibee++9Hp1/NKoR+I03o1izi5Us47rrruOss86ioqKCE044IbSYRXPxxRdz5plncs8993DyySdHaAuxuOaaa7jsssuYNm0awWCQsWPH8sQTT6Q8r+nTp3PEEUcwadIkDj74YObNmwfYngOnn3467e3tGGP4+c9/HvG5s846i5aWFhYtWsSTTz4ZMm0BoTLc06ZNo7Ozk46ODlauXBm607/xxhs57bTTqKqqYtasWSHzz69+9Su+/vWvM23aNLq6ujj22GP57W9/G7oekydPZs6cOUyYMAGA2tparr/+ehYsWEAwGCQ/P59bb721R/0fotEy1H7z3A/hX47n/1urYNiovp2PMigZ6GWoBxt79uzh05/+NLNnz+ZHP/pRn8yhX5ShVhyio4YURRn0lJWV8cwzz/T1NFJGfQR+E4yOGlIU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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"single = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
"threads=[]\n",
"manager = [2, 1, 1, 5, 1, 1, 1, 1, 2, 1, 3, 11, 1, 2, 1, 2, 3, 2, 2, 2, 2, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, 1, 8, 2, 1, 1, 1, 2, 2, 1, 2, 3, 3, 2, 2, 2, 1, 2, 2, 1, 2, 3, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 2, 4, 3, 4, 3, 3, 4, 2, 3, 3, 4, 4, 3, 3, 4, 4, 3, 5, 5, 4, 4, 4, 4, 4, 3, 5, 6, 6, 5]\n",
"streams = [4, 2, 0, 0, 2, 0, 0, 0, 1, 1, 0, 2, 2, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n",
"sizes = [1, 101, 201, 301, 401, 501, 601, 701, 801, 901, 1001, 1101, 1201, 1301, 1401, 1501, 1601, 1701, 1801, 1901, 2001, 2101, 2201, 2301, 2401, 2501, 2601, 2701, 2801, 2901, 3001, 3101, 3201, 3301, 3401, 3501, 3601, 3701, 3801, 3901, 4001, 4101, 4201, 4301, 4401, 4501, 4601, 4701, 4801, 4901, 5001, 5101, 5201, 5301, 5401, 5501, 5601, 5701, 5801, 5901, 6001, 6101, 6201, 6301, 6401, 6501, 6601, 6701, 6801, 6901, 7001, 7101, 7201, 7301, 7401, 7501, 7601, 7701, 7801, 7901, 8001, 8101, 8201, 8301, 8401, 8501, 8601, 8701, 8801, 8901, 9001, 9101, 9201, 9301, 9401, 9501, 9601, 9701, 9801, 9901]\n",
"plot_result(single, threads, manager, streams, sizes, title='Operational Overhead')\n"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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vr8FTSJKKdWMFZRWkpFXisVqIzLYl3bBfnh4nL4vATrEVynV5MycOZO+ffuSmJhI//79+eWXXwC46aab2Lx580ltMy0tjfj4eKeWzcnJoX///vTv35/27dvTsWPH6unt27c7vZ1TFRQUVOs8i9XGvpwS0nKK8fQQzogK4o3nn+Zf/3rutMRWRc9ElFJNyk8//cSyZctYt24dvr6+HD58mIqKCgDeeuut0xJDeHg469evB2DGjBkEBQXx97//HbAnI2dYLBa8vBr/I9YYQ35pJQfySrEaaBfiR2SwLx5u6oLUMxGlVJOSmZlJREQEvr6+AERERNChQwcARo4cWf1QuaCgIB5++GH69evH0KFDOXToEAC7du1i6NChJCQkMG3atBN+m7darUyZMoXk5GQSExN54403GhSj1Wrl5ptvpm/fvowePZrS0tLq+O655x6SkpJ48cUXWbt2LWeffTaDBg1izJgxZGbax9e++eabJCcn069fPyZOnEhJSQkAe/bs4cwzz6yOvaZ//vOfJCUl0zs+gakPT8fHy5PuUUG89fJz9OrZk+HDh7Nt27YGHUdj0DMRpVStHv1kE5sPFDTqNvt0COGRi/rWOn/06NE89thj9OjRg/POO48rr7ySs88++7jliouLGTp0KDNnzuT+++/nzTffZNq0adx9993cfffdTJo0iddff/2E+3j77bcJDQ1l9erVlJeXM2zYMEaPHk1cXJxTx7Bjxw7ef/993nzzTa644goWLVrE1VdfDUBFRQVr1qyhsrKSs88+m48//pjIyEg++OADHn74YebMmcOECRO4+eabAZg2bRpvv/02d955J3fffTe33XYb1157La+88kr1/r788ks2bt7K3CUrsBnD32++iowta8kPCmLBggWsX78ei8XCwIEDGTRokFPH0Fg0iSilmpSgoCDWrl3Ld999x8qVK7nyyiuZNWsWkydPPmo5Hx8fxo0bB8CgQYNYsWIFYO8OW7JkCQB//vOfq7uhalq+fDkpKSksXLgQgPz8fHbs2OF0EomLi6N///7V+67ZxXXllVcCsG3bNlJTUzn//PMB+9lLdHQ0AKmpqUybNo28vDyKiooYM2YMAD/88AOLFi0C4JprruGBBx6gvNLK/z7+lK+/WsGa1Wfh7elBcXERO3fupLCwkEsvvZSAgAAAxo8f71T8jUmTiFKqVnWd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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"single = [501, 3000, 5501, 8001, 10502, 13003, 15503, 18004, 20504, 23005]\n",
"threads = [503, 501, 503, 502, 503, 504, 504, 538, 504, 505]\n",
"manager = [503, 501, 1002, 1046, 1501, 2001, 2002, 2502, 3002, 3002]\n",
"streams = [504, 502, 1000, 1001, 1501, 2001, 2005, 2501, 3002, 3002]\n",
"sizes = [1, 6, 11, 16, 21, 26, 31, 36, 41, 46]\n",
"plot_result(single, threads, manager, streams, sizes, title='Sleeping Tasks')"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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f1QsTdGSDUp1MI/9+BibDmxq1X0O7z6cX4/7tUfb1tTU8NFHHzFz5kwmTZrE999/j4jwj3/8gz89+Xf+8shvANiwYQPffPMN4eHhVFRU8MknnxAWFsbWrVu56KKLaGy1/vz58znttNN4+eWXKSoqYty4cUybNs16MygUMNZN2bvGN7qPI8tFJyQk8N5777Fp0yZE5KgSynfffTelpaX885//xJqdbikpKaG8vJxBg+qvRE5LS7OqkTbi9ttv584772TSpEns3r2bGTNmsHHjxga337hxI2+99RbLli0jODiYm266iTfeeKNZXVea+JVSraKyspKUlBTAavFfffXVbN68mblz55Kbm0t1dTUDe/dwdfOkp6cTHm7N7rHb7dxyyy2sWrWKwMBAtmzZ0uixlixZwsKFC10t4qqqKnbv3m29KQEQGmV199hiISDwmPt4++23WbBgATU1NeTm5rJhwwYSExMJCwvj6quvZtasWfXGFP7whz8wfvx4FixYcFx/pyN9+umn9U4OJSUljRZx++yzz8jKynLVAqqsrCQ2NrZZx9TEr1QH42nLvLXV9fG7u/XWW7nrrrtIT09n6ZIPeeih37gSv3sJ5CeeeIK4uDhWr16Nw+EgLCys0WMZY3j33XcZNmxYvdddtfVtsVBYbJVxiDx6OnhD5aKDgoL48ccf+eyzz3jnnXf429/+xueffw7A2LFjycrK4sCBA3Tv3r3e/rp27UpkZCTbt2+v1+rPyspi+vTpAPWuENzLODscDr7//vujvnNQUBAOt6qjdZ8xxnDFFVfwxz/+sdG/UWO0opFSymuKi4tJSLDWaL5aN5h6jBk9xcXFxMfHExAQwL/+9a8m+6xnzJjBM88846qlv3LlyvobhERax2mgjEND5aLLysooLi7m5z//OU888QSrV692fWbmzJncc889nHnmmZSWlh61z7vvvpvbbruNykpr5tKnn37K+vXrXXf3iouLY+PGjTgcDt577z3X56ZPn84zzzzjel538hwwYAArVqwArDuD7dixA4CpU6fyzjvvsH+/tVjtwIEDrtLQntIWv1LKax566CEuuOACunXrxmk/G8OOBkox33TTTZx33nm89tprzJw5s97VwLE8+OCD3HHHHSQnJ+NwOBg4cCCLFi06vEFdGYeDO6CqCMK71ft8Q+WiS0tLOeuss6iqqsIYw1//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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"single = [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]\n",
"threads = [2, 0, 2, 6, 5, 4, 7, 48, 30, 7]\n",
"manager = [2, 0, 1, 2, 1, 4, 1, 3, 0, 1]\n",
"streams = [9, 1, 0, 2, 0, 0, 0, 1, 0, 0]\n",
"sizes = [1, 6, 11, 16, 21, 26, 31, 36, 41, 46]\n",
"plot_result(single, threads, manager, streams, sizes, title='Sleeping Tasks')"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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jEmTJrFnT9Vv4nv27OHjjz/m559/xt/fn3vuuYclS5ao0JWHaMPfmrGUqFddjaYeKC4uJjExEVAe/2233UZqaio33ngj6enplJWV0bNnT0f7qVOnEhwcDIDFYuHee+8lOTkZX19f9u3bpxrZ7YBhYF0eAt9++y2rVq1yeMQlJSUcO3bMOFqJx293MfxlhUAgn3yxhkXv3oLVaiU9PZ3du3czYMAAgoKCuO2225gyZYrbmMIzzzzDiBEjWLRoUb38XiZr1qxxezjk5eVVK+K2du1atmzZ4tACKi4upn379rW6pzb8rRlrCVjLGrsXmnrGU8+8vjFj/K7cd999PPzww0ydOpV169Yxb948x7HQUOfs1hdffJEOHTqwfft27HY7QUFGXr20uWTcOA2/lJLPPvuMfv3cC5icOnWqXKjHR2X3uHr8pYUcTivjhZderSAX7efnx8aNG1m7di3Lli3jn//8J99//z0Aw4YNY8uWLZw5c4aoKPeJWhEREYSGhnLo0CE3r3/Lli1MnDgRwO0NwVVG2m638+uvvzq/s4Gfnx92u73COVJKZs2axd/+9jfqio7xt2Ysxc7i0BqNF8jNzaVLly4AvPfee9W269SpEz4+PnzwwQfOmLW0oTx+d82dSZMm8epLf0fmn4bis2zbts3latK9CIuvv7vHbykkr5RK5aILCgrIzc3l8ssv58UXX2T79u2O0yZPnswjjzzCFVdcQX5+foXvMHfuXO6//36Ki1X4dM2aNezatUtV9wI6dOjAnj17sNvtLF++3HHexIkTefXVVx3b5sOzR48ebN26FYCtW7dy+LAq5Th+/HiWLVvG6dOqXPmZM2c4evRolb9tZXi79GIb4G0gDjXUPgdIBT4GegBHgBuklGeruITGW9ht6j+DNvwaLzJv3jyuv/562rZtyyWXXOIwXuW55557uPbaa3n//feZPHmyehuQUg3uCqHy5F0Gep94/DEevHMWCcNHYbfb6dm7H198+ZWRs28HP5cJVT7+To/fOD5o2IWVykXn5+czbdo0SkpKkFLyj3/8w62f119/Pfn5+UydOpWvvvrKEaoC9XaTk5NDQkICFouFsrIyUlJSHJ78ggULmDJlCjExMSQlJTnCOa+88gq///3vSUhIwGq1ctFFF/Hmm286fo+BAwcyYsQI+vbtC8CAAQN49tlnmThxIna7HX9/f1577TW6d+/u8b+LV2WZhRDvAT9JKd8WQgQAIcCjwBkp5QIhxCNAWyllte+mWpbZC5QWwN+6QLs+cJ/+bZs7LVKW2SGN3Flp5vgFQpQRRikrgqxUCG0PhadVLn1IFJw5AiU50P58Z5rm2aNK0z+mn0pf9g9WEsyVTdqqJwoKCrj66qsZNmwYzz3XOJlz1ckye83jF0JEAhcBswGklGVAmRBiGjDOaPYesA5onKBka8aUm9WDu5qmipnFU5nmjimLHBIFhZkqbFlaACVnIayje26+KduQd1K9DUTGetXog0rd/O6777x6j3PBmzH+nkAm8G8hxDYhxNtCiFCgg5Qy3WiTAXSo7GQhxJ1CiM1CiM2ZmZle7GYrxUzjLJ/frNE0Feyuht/XPbXTUqzi+H5ByoO3FCmjjw+Elctw8fFHVdk6owq6+AfT2vGm4fcDhgBvSCkHA4XAI64NpIozVRprklIuklImSSmTYmJivNjNVorp8Vu1x69pgpQWOD38ynT1LUXKgAujApalSMkmB4Y5c/hNzFx+H//qK3G1Irxp+NOANCnlb8b2MtSD4JQQohOAsTztxT5oqsLh8evBXU0Tw1IM2fshP0Ntm9Ww7FZl4KVdtTGVMf1D1D5bmVNAzRVTcjkytuJDoZXiNcMvpcwAjgshzETb8cBuYBUwy9g3C1hZyekab6MNv6apUpKrlmXGJCbhCyHRyuvPSVMTD5FOZUxzCZUbfv8g6JgAwY1b4Lwp4dHgrhCiPTAK6AwUAynAZilrVE26D1hiZPQcAn6Heth8IoS4DTgK3FDHvmvOBauL4TcrDGk0TQHT8Jv4GPLKEZ1VMfMzB9V+M1bvF4Qqeh5cua6+eQ2Ng2o9fiHExUKIb4AvgcuATsAA4HFgpxDir0KIiKrOl1ImG3H6BCnlVVLKs1LKbCnleCllHynlBCnlmfr8QhoPsbgUkdZev6YeqBdZZptFhXMClVk5cvwkcYMGA7Dutx1MmTNXSSWHxjirYQkBkV0gvJOSZa5EurmoqIgZM2YQHx9PXFwco0ePpqCggJycHF5//fU6f+fmSk2hnsuBO6SUw6SUd0opH5dS/lFKORUYBGwDLvV6LzX1j9VFnE0P8GrqgVrJMtssjowyN1lm09sP72QUN3F5ExVCefdRvSqmZIbGKPnkKnj55Zfp0KEDO3fuJCUlhXfeeQd/f/9qDX+1ctHNnGoNv5RyrpTyWBXHrFLKFVLKz7zTNY1XcfP4dUqnpn6pUZb5kYe4Zfp1FWWZLxjLkMkz+GXTNlXmsIqShtXKMldCenq6QzoCoF+/fgQGBvLII49w8OBBEhMTmTt3LuvWrWPMmDFMnTqVAQMGYLPZmDt3LsOGDSMhIYF//etfgJqgNX78eIYMGUJ8fLzj/keOHKF///7Mnj2bvn37MmPGDNasWcOoUaPo06cPGzdurI+f95ypNsYvhLgS2CGlPGpsPwlci4rNPyClrHz+tabp4+rx60lcLYqM556jdE/9yjIHnt+fjo8+6i0bddcAACAASURBVFHbGmWZF/4N7BZ2793P+l83ExwSomSZV3xEUGkm+7OsTJ9zN5s3boSokkrvUaMscznmzJnDxIkTWbZsGePHj2fWrFn06dOHBQsWkJKS4tDHWbduHVu3biUlJYWePXuyaNEiIiMj2bRpE6WlpYwaNYqJEyfStWtXli9fTkREBFlZWYwcOZKpU6cCcODAAT799FPeffddhg0bxn/+8x/Wr1/PqlWreO6551ixYkUtf/36p6bB3fnASAAhxBRgJjAdGAy8CUzyau803sPV49ehHk09UKMsc0kxPXt0g1IVzpk68SKC/VW4xlJSzL13/R/Ju/fjGxCsZJl9fNSgbiVUL8tckcTERA4dOsS3337LmjVrGDZsGBs2bHDT2jEZPny4Qz7622+/ZceOHSxbtgxQYnL79+8nNjaWRx99lB9//BEfHx9OnDjheJvp2bMn8fHxAAwcOJDx48cjhCA+Pt5RSKWxqcnwSymlOUJzDfCOlHILsEUIcY93u6bxKm4evw71tCQ89czrm2plmadcwbr//pt5/3gTCrMBQWhIsGMi1ovPP0uH6Ci2b9uK3TewgkRxeaqVZa6CsLAwrrnmGq655hp8fHz46quvuPbaayu0c5WLllLy6quvMmmSu4+7ePFiMjMz2bJlC/7+/vTo0cMhmxwY6JSL8PHxcWz7+Pg0mXGDmgZ3hRAiTAjhg8rDX+tyrPp/GU3Txi3Grz1+TT0jJVjLnLLMpfm89+kqdcxqTr4Saj5JWSG52afpFNsDn8BQd1nmKpg0aRKvvvoqpsikuyxzRX7++WfOnlUiwGVlZezevZvu3bsTHh5eqcSy633eeOMNLBblHO3bt4/CwkJyc3Np3749/v7+/PDDD7WWRW5sajL8LwHJwGZgj5RyM4AQYjCQXt2JmiaOW1aPTufU1DPFZ+D0LuY99gjXX389Qy8YQ3RUlJqBCyo7x9dfVcPKPc49v7uZ9z5ZwaBBg9i7d6+b110ZTzzxBBaLhYSEBAYOHMgTTzxRbfuDBw8yduxY4uPjGTx4MElJSVx77bW0a9eOUaNGERcXx9y5cyucd/vttzNgwACGDBlCXFwcd911F1arlRkzZrB582bi4+N5//336d+/f51/qsagRllmIUQXoD2w3ZywZUgt+FeV8VPfaFlmL/DlH2DT22r9d19D9wsatz+ac6LJyTLnpinVTP9giO4Hp1IgIAza9nB6/GYbcMoqa+qNOssyCyGGuGwmioqzOxvE8Gu8gA71aGpDSZ4S9iuvfFkV1lIcoZysfUpnJyjSKaoGzmVAmErd1DQYNQ3ubkbJM2QZ266WXwKXeKNTmgZAh3o0taEwS2Xj+AdDYHjN7a0lytD7+iulzYCwihOsAsPVDN2ILloypIGpyfA/DFyH0udZCiyXUlZd/l3TfNAef4tDSkklb+X1g1mzNjdNVbIS5YYH7Ta1TwinUmZwFER0qvqavv7Q7jzv9LeVU1MIv6aZuy9JKUejxNa6AmuFEJ8IIRLrr4uaRsFaDAGG56a1epo9QUFBZGdn1/gfvs7YLGpg1loCxeVKZNttcGoXFBiplOa8ENcqWJoGQ0pJdnZ2tSmxHqlzSikPCSFWAsHALUBfVLaPprliKVEytWX5OtTTAoiNjSUtLQ2vVKuTEnJPQlC4qnV7Ml9p45hYitUgrW82hJ9VufmFWZDtA35V59VrvEdQUBCxsbFVHq9pcLcXcBMwDTiOCvc8J6Usru48TTPAWqxisLnHdainBeDv7++YbVrv5J+CTy6Ay1+A7H2w9QP482GnLPKq+2Dr+2r9wRRI+RrWzINHjlcrnKZpPGrK4z+A0sv/GtgAdAPuFkI8LIR42Nud03gRS4lD+lbP3NVUS4FRCSu8I/SdrJyGQ/9T++x22PcNdFQSBez7GrIOQFgHbfSbMDUZ/qeB5YAdCAPCy300zRXT4wet1aOpHrMEYngn6DFaZejsW632pW9Tsf0L7lVyyXu/gMy90K5P4/VXUyPVhnqklPPO5eJCiCNAPmADrFLKJCFEFPAx0AM4AtwgpTxb1TU0XsJS4jT8OtSjqY58Y5J+eEc1YNt7POz5AiY+C9s/Vtk8fSZCxk7Y8E/VdujvGq+/mhqpKcb/OPBaVYZZCHEJECKl/KKay1wspcxy2X4EWCulXCCEeMTY/nMt+605VyzFzldxPbirqQ7T4w/roJYX3g+7V8Ly/4PU1TD4FjXrdswflNcv7dD/isbrr6ZGasrq2Ql8IYQoAbYCmShxtj5AIrAGeK6W95wGjDPW3wPWoQ1/w2MtVoNzPn46nbMls3MZxA6Dtt09P8daquQ8hv5OFTLPz1DFzs16trFJMORWNaAb3BYmzFP7Q6Jg2G31/Q00XqCmPP6VUspRwP8BuwBfIA/4EBgupXxISlld/pgEvhVCbBFC3Gns6yClNAXeMoAOlZ0ohLhTCLFZCLHZKylqrRm7TRl7v2BVt1Qb/paJpRg+uw02vVW783avgm8ehZ2fqu38DBXfd2X8POg8BK74u9bYaYZ4mse/H9hfh+uPllKeEEK0B74TQriVBZJSSiFEpTNOpJSLgEWgRNrqcG9NVViNWbv+QeAXoAd3WypmiCanBkktKVV4BqGKn6R+pfanroahs1SMP7yj+zmh7eDOH+q9y5qGoaasnnNCSnnCWJ5GZQcNB04Z6p6myudpb/ZBUwmmXINfsJqNqT3+5k1xDrwYBwfWuO93GP7jzn3718CL8VB0xrnv45nwdBT8v15wfBMcWKsGbA+tUxO28jMgvNIXc00zxWuGXwgRKoQIN9eBiSjBt1XALKPZLKD6Ksma+scUaPPXoZ4WwaldaiJe8n/c95v597kuhn/f15B7DPZ/p7alVDn5XUcqJ+Cjm5QYW9Jt6u/k4PdQeLpiqEfTrPGmx98BWC+E2A5sBL6UUn4NLAAuFULsByYY25qGxPT4/YN1qKclkH1ALfevcZ+MZ3r8hZkq3g+QbiitmHn4BaeVbEfcNSo9syhLOQOXPKa0nH56QYWByod6NM0aj2L8Qoi+wBuogdk4IUQCMFVK+WxV50gpDwGDKtmfjSrjqGksTI/fL0h7/C2BbGP4rTQXjm2Anhep7XyXInm5adC2p8q1R6hwjrXMeW673nDeJSoLKKSdytaJvxa2LAYff+iY0JDfSONlPPX43wL+AlgApJQ7UBo+muaIq8fv668Nf3Mn+6CqYOUbCKlfO/fnuwik5RxTM2qtJTDwaijNg2O/ON8WovsoSeUZn8DVb6h9U16CxzPhsQzoOrzhvo/G63hq+EOklBvL7Wsa5eI1tcfV4/cL1KGe5kh+Brw2Ak5ug6z90ClBefqpX6m4PRjZOEZsPjdNtQUY/aDxkFitzvULgohKlByFUKFAX48CA5pmhKeGP0sIcR4qLx8hxHXoYuvNF4vr4K7O6mmW7PlcefBbP4Czh1Wopt9ktZ61T7XJz4DOg1WGTu5xFd8PCIcO8dBrrDL82Qcg6jyVxqlpNXj6r/174F9AfyHECeBB4G6v9UrjXSyuMX5t+Jslqcbg7Palqp5tuz7Q9zL3YwUZEBkL4Z1VSufJbdBpkDLy/S6DnKNw+CeI7t0430HTaHhk+KWUh6SUE4AYoL+UcrSU8ohXe6bxHq4ev1+g1uppbpTmw5GfVBjHUqj2tesNkV3UIOy+r1X+fUmuysZp0xWO/gwnk6HbSNW+72S1tBSqczWtCo8MvxCijRDifuAZYL4Q4hUhxCve7ZrGa5TkqGVwW8Pj1zH+ZsXB79Vb2kSXpLpoQwa532Vw/Dc4vVtth3eCyK4q1BMUCRf8Xu2P6Ky8f9ASyq0QT0M9X6FklHcCW1w+muaIWTM1KFJ5/DrU07zY9y0EtYEBVym9nOC2Tr2cfpepvPuNhj5PWAfl8QNc+ld3XZ1+l6ul9vhbHZ4O1wdJKXXFrZZCcQ4ERoKPr0rn1KGe5kXGDqW46eunvP68E85jnRLVgO6OpWo7vBMMuhn8QyBxpvt1km5TGUCdBzdc3zVNAk89/g+EEHcIIToJIaLMj1d7pvEeJTkQbBRh8Q3UoR5vUJCp8uvri5xjKiVTSnVdM7TTYxQk3OBsJ4RSzESo7fCOavD2oj9WzNwJi4GL/6LTNVshnhr+MuD/oerummGezd7qlMbLFOeoUAHowV1vsWYeLLmu/q63bA78907IO2kMyJ5XddsuQ2HY7RDaXoWBNJpyePqo/wPQu1wlLU1zpSQHgg3Dr2fueof8dDhzSGVQ+Qef27WspSojx8dP5e5DzQOylz0P459QbwAaTTk8NfwHgCJvdkTTgBTnQPv+at0M9UipjUR9Yg6gZx+EjnF1u8a6hUoOudMgsFvUx9TKr2lA1sfHWVNZoymHp4a/EEgWQvwAOALCUsr7vdIrjXcpcQ31BKilzeJc15w7Zsps9v66GX67HX55VRnvi/7g3L9ruRqojehcP/3UtEo8NfwrjI+muSOl8kYdoR7T8Jdpw18deekQEOosUF8TxabhP+BZe5sFzh5xDtqeOaTkksvyYdsS9QCw26EoGzrG67czzTnhaenF97zdEU0DYSlWRt70+H0D1VLH+avng6uhx2i44oWa20qpZs0CZHlo+Ld9AF88BL9bDd0vdAqqAZzYDL3GqYfD0Z/1hCvNOVNtVo8Q4hNjuVMIsaP8p2G6qKlXHLN2y4V6tEJn9eSdqLl2rUlpPkibWs/2sFT1cUP89ss/gs2qBNX8glRePqhcezPfPlobfs25UVM654vGcgpwZSWfGhFC+AohtgkhvjC2ewohfhNCHBBCfCyEaDLxhdQzqfxj8z+QsgXXdjdDEBU8fm34q8RuU/r1xWdqbgvOh6t/qAr1uP49Hf0FVv9ZhW1cObkNQmPg9C7YuEhtd4iD86eo450SnQ8BPdNWc47UZPhfA5BSHq3s4+E9HgD2uGwvBF6UUvYGzgK31brXXuJ/af/j37v+TWlLNoKuOj3gEuO3VN5eozx4cC9QXh3mw7XLEBXyKXTJgk7+D/z2Jmx73+X6BUpKOWkO9L4UfnhOpW92HgyJMyDuOhXq6T1erZ93SX18K00rpibDf04jSEKIWOAK4G1jWwCXAMuMJu8BV53LPeoTm129ntulvYaWzZhiHeqpNWa8vijbs/ZmKmeXoWrpOsBrrq+ZB4XG9TJ2Kn2dzoPh8ufVeIulUG1HdIbr3lH/XiFRaj00+py/kqZ1U9PgbpfqVDg9SOd8CfgTEG5stwNypJRm9a40oIsnHW0IrEa3rLIFFxcr0aGeWlOap5YluSrs4+NbfXvzN44dppaZe6H7BWo9+wB0HQlpG2HT2zDuz84C6J0SIaITjH4I/rfAeb5GU8/UZPiLqaMKpxBiCnBaSrlFCDGuDuffCdwJ0K1bt7p0odaYHr+5bJGY3qjD4zcMv/b4q8b0+JHqjSm0XfXtzbeqTglKDC99u3N/YSZceJ8KH6VtUvtPboOwjsroA4z9E/S/AmL61vtX0WigZsOffQ6pnKOAqUKIy4EgIAJ4GWgjhPAzvP5Y4ERlJ0spFwGLAJKSkhpktNVmZGKYyxZJcQ4glEECp5yAWZxFU5GSPOd6UXbVhn/XclXI3jGOEgWdBzk9ejPM066PCuPs/0YN/JrxfBMfX/XQ0Gi8RE0x/jond0sp/yKljJVS9gBuAr6XUs4AfgBM9apZwMq63qO+sdqtbssWSUmOmgxkKjVqj79mHB4/VWf2nD0Ky++Gdc+ph6uPn5rw1SkRTu1SQngOw98bOicq7//EFshKha7Dvf89NBqDag2/lHKkF+75Z+BhIcQBVMz/HS/co060Go/fDPMA+Bkev7WVe/x2u/LWK6PU1eOvwvB//Rf1G+Ych4JTagxFCOXJ28pURays/SB8oW0Pp4e/7m9q2e+yevsqmuaLlJLCUuV42uySXSdzazijbngqy3xOSCnXSSmnGOuHpJTDpZS9pZTXSymbjKvZKmL8rjo9AP5BalmV0Wst/PYmvDrEPefepCaPf983kPqlkcUj4cRW58O1s5F7f3Kb8vjb9lCZVB0GqofAgTXQpjvE9K/vb6Rphny+I50hz3zH3ow8lm46xhWvrGfbsbP1fp8GMfzNhdbp8RuG39rKDf+pFDU714zPu1KSC8L4r1I+pdNSDF/Nhei+MHmh2pe51/lwbdtThdbSk5XhNydf+QdD+wFqvd9lWntHA8CGg9mUWu38+bOdPP91KiN7RZHYtU3NJ9YSjw2/MQO3sxCim/mp9940MmZsv1V5/NrwK/LTjWVGxWMluaqoiY+/M9RTdAa+fRw+uglyjsLlLzilrpHOh6sQKs6f+rUK9bjKLXQ2ip33neyVr6Rp+ry/4Qj7T+U7tneeyCEkwJftx3MoLLXyzLQ4hBecAo9E2oQQ9wFPAacAc3aTBFpU6kGr8PhL8yEw3LmtDb/CNPj56dD+fPdjpXmGtr10hnq+eRR2fKweCBfeD73Gqv3hndQ1XB+u8dep2bihMWr2rcnAq9WYQPdRXvtamqbLsewinly5i6mDOvPK9MGUWm2kZuQzZ1RP0nNLSIiNpE+H8JovVAc8lWV+AOgnpfRw6mLzxPT0W/QELmup09iDkdUjdIzf4fGfqnisJFcZfuGjPP2jv8D2j2DMH2D8k+5t2/VW13IteTjkVvUpT+8J6qNplazZo/7W1qWexmKzk5qRj8UmSYhtw18u7+TVe3sa6jkOeGd4uQlhGvwWHeqxlTlTOEGFIvyCKnr8Bafhb93UQGVLx1rqnNhmPgBcKclTOvwh7ZTh/+5JiOwKY/5Ysa0Zww+u/7ispmWxdu8pfH0EeSVWNh85y84TysQmxHq/cpqnHv8hYJ0Q4kvcK3D9wyu9aiQcWT0tOdRjLXE3/GAUXC9n+HOOQ2muGpDsMqTh+tcYuMb1K4vxl+ZBVE81IHv0FzXAO2EeBIRUbGvG8IO04ddUTV6Jhd8OnWHGiG4s3XicNXtOUVhqJTLYn9i251ij2QM8NfzHjE+A8WmRmAa/xU7gstvAbnXq85j4B1ecuWvm9beGGb2uxr6gisHdwAglpGZm9fStIu9ee/wtnpyiMlZtP8nMEd3x8fF84DU1I58VySeQEk7kFGO1S6YO6szR7CI+334SPx9BQmykVwZzy+NpBa6/AgghwoztAm92qrEwQz0tVp3TnJ1bvsSiX2DFmbtmzL9VGH4jvBMcVUVWT54zxg8qFz+mX+XX6jJUpXa6SjBoWhRPrdrFyuSTDIptw6BapFo+//Vevk89jb+v+js6v1MEg7u15fqkWOZ+ugO7lNw9oIO3uu2Gp1k9ccAHQJSxnQXcKqXc5cW+NTgtfgKXqcDpOrgLavZu+Zm7Do+/yPv9amwKjAHdzokVa+RaStTvFhThrF3Qt5q8+9BouHeT9/qqaVQ2HMxmZfJJAA5lFXhs+IvLbKw/kMWsC3owb+pAt2NTEjozJaFzvfe1Ojwd3F0EPCyl7C6l7A78AXjLe91qHByhnpaa1WM1pJd8y3n8/kFVe/ytIc0zP13l6LcfoDx+19m7plxDYIRKxwTop/PuWyMWm50nV6YQ2zYYHwGHMwsrbfeX/+7gtsWbsNudf0frD2RRarUz4fyG8ehrwlPDHyql/MHckFKuA0K90qNGpMV7/KYRrzC4G1RNjL8VePz5GRDWASK6qKynYpcp8qZcQ1Ab6D8FrnoDelzUOP3UNCrvrj/M/tMF/HXqQGLbhnAwq6LhX5d6mo82Hmft3tMs25Lm2L92zynCA/0Y3jOqIbtcJR5n9QghnkCFewBmojJ9WhSOdM6WmtVjMzz+CqGeICgrN2zTEmL8djvs+i8MuAp8y/2pp3wG541Xg7D5GRDeUX1AqWmmb1cF09v2VPuCIiAwDBJvbtjvoGkSpOcW8/La/Uw4vz3jz+/AB78e5ZCLx7/t2Fl+PXSGjzYeo2d0KFGhASz4ei9ZhaUIBN/tPsVF/WII8GsaKjmeGv45wF+B/xrbPxn7WhQtfgKXGc4pH+rxC4KirHJtTY+/GYd6jq6Hz24DX38YMM25P/sgLJsD8TfAtW8pw9/uPDXrFuDT2c7fw99I2Qzyfm61puny0cbjlFhsPDlFxed7RYfx26Ez2O0SIeChj5M5kl1ESIAvb9+aRNvQAKa/9SvPf50KqCGhaYMaNo5fHZ5m9ZwFaiqz2OxxSDa02FCPObhbPp0zqKKBd3j8zTjUc/aIWp7c5m74c46q5c5P1Iza/HToMRrCjfhrURZM+huEtVcPDlAxfk2rZe2eUwzp1pZu7ZQj0CsmlGKLjYy8EorKbBzJLmLelQOYMbK7I2tn02MTsBlxfiEg0K+Gkp0NSLXvHUKIl4zl50KIVeU/DdPFhsMh0tZiQz1VGH6/SgZ3W0Ief85xtTyZXPn+4Lbw4TVKuC68g9Pj7xgPw++EuGuh1zi1T3v8LZoyq53r3viFH/dlVjh2MqeYXSfzmOCSatkrWg1xHs4qdEgvTBzY0WH0Afx9fQjy9yXI37dJGX2o2eM3Y/oveLsjTQEzf7/Fe/zlJ3D5BVVM5zQNfnMu0JJrGv5tKlPHTMHMPa5y8m9ZoTR3hC8k3Kgmsl35shJNM8cEpr0Oe1ZBRNN5TdfUP0ezC9l89CyrUzK4qG+M27G1e08DMOH89o59vWLCADiUWcDaPacY0CmCzm28P+O2vqjW8EspzULriVLKl12PCSEeAP7nrY41Bm7qnGVFymD0aEHKiVVN4PIPriSds5l6/HYbHPxBqWCann1JDpw9DFkHlAefcxzCO6u8fbNQisnQ2e7bkV1g5N0N0HFNQyOl5Kf9WST1aMtBY6B254mK9RjW7D5F93YhnGcYe4AOEYGEBPjy9a4Mthw9y70X926wftcHng4xz6pk3+zqThBCBAkhNgohtgshdgkhzNm/PYUQvwkhDgghPhZCNBkJCDc9/pTPYPEVUNiCBEmrnMAVWEk6ZzON8e/7GpZcqzR1co+pwuagiqX853qV5ZN7HNp0bdx+ahqd1SkZ3PruRj7ZdJzDRmpmakY+pVbnG39qRj7rD2QxeWBHNykFIQSJXdvw8wFlHy6L966aZn1TrccvhJgO3Az0LBfTDweqKD7qoBS4REpZIITwB9YLIVYDDwMvSimXCiHeBG4D3qjzN6hH3CZwleYDUnmLoe0at2P1RZWhnmCwW5S37GPEIi3NNKsnc69apm2EvJMw4v/gtyOqxCEotdHc49DVG+WkNc2FwlIrz3yxG4Dtabn4GZo7FpskNSOfhNg2SCl5YmUK4UF+3DX2vArXWPy74ZwpLCPY35fIEP8G7f+5UpPH/wvwd2CvsTQ/fwAmVXeiVJjJ4f7GRwKXAMuM/e8BV9Wp517AbQKXmfNeml/NGc2M6rR6wH2WrrUZ5fFnpMDiKUpTJ8uQXNj3jRKka3ees75tm25wYrN6IETGNm6fNfXOgdP5zHj7V/JKLDW2/dePh0jPLaF7uxB2nsjlcFYhXYwY/Y40NWlvZfJJNh4+w58m9ScqtGJgIsDPh46RQc3O6EPNMf6jwFHggrpcXAjhC2wBegOvAQeBHCkdifJpQJcqzr0TuBOgW7eGqfLoFuO3GX885Sc2NWeqCvX4G4NSlhIIMCZkW5rRzN2t78ORn+DYr5C9X+079qtaRnaDix9TqpoZO+DXNwCpQz0tkB/2ZvLzgWw2HznDJf2rlkaQUrIy+QRj+8YwuFsbXl67n7AAP6YM6sTqlAxSTuSSV2Lh2S/3MCg2khuHtby/FY9i/EKIfCFEnvEpEULYhBB5NZ0npbRJKROBWGA40L+GU1zPXSSlTJJSJsXExNR8Qj3gls7p8PhbkOGvbgIXVO7xn4tWj92mBsjPhZI8OL236uNSwr7Vat0saC58US+XKAPfdyIkTjcUM439kS2uZHSr55ARp9+Z5jRN6bnFZOS6/w0fzCzgaHYRlw7oQEJsJFJCfqmVXtFhxHeJ5LfDZ3hyRQrZhaU8c1UcvrWQXm4ueGT4pZThUsoIKWUEEAxcC7zu6U2klDnAD6g3hzZCCPNNIxY4Ubsuew+3CVym4W9JHn9VE7gqM/yuE7hcRctqw57PYdE4NVO2rvz8Miwaqx4AlXF6N+QcU+sH1iqdnfMudh53Del0csng0R5/i+NQpvq/6pqZc+9/tnH/Unfn47vdKj1z/PntievinJ/RKyaUYT2iOJxVyIrkk8y6oAcJsS2zroKnkg0OpJQSWCGEeAp4pKp2QogYwCKlzBFCBAOXAgtRD4DrgKWobKGVdem4N3CrwGWGelpSjN98mFUoxGIYftd4vmv+vrXEGQ6qDWYe/ZlDKtZeF7IPqPsfXKuKk5cn1fD2e14Eh39U63HXqcHc4Chn6ApUkZSAMPUw1zH+FofD4zdKGJZZ7exMy8XHB6w2O37G5Kq1e04xsHMEnSLV33THiCAy8kroGR3KuH7tuSxOZfCcF9PidCgdeKrHf43Lpg+QBNQUA+gEvGfE+X2AT6SUXwghdgNLhRDPAtuAd2rfbe9gavRY7VYXj79y6dVmibVEyQ/7lHvRc3j8Lrn8rtk8luK6Gf5CYxak6ZF7yt4vVYx+4jPOh0fq1xASDWufVhlIJmcOqxBO38lOw991uBrIdS14Dup7dxqkMn8CWu5/6tZIfomFzPxSOkQEciqvlNN5JZzOL6XMZgcbHMgsoH/HCE7nlbD12FnuvaSP49y4LpFkFZTSNSoEXx9Bnw7hjfhNGgZPPf4rXdatwBFgWuVNFVLKHUCFMkRSykOoeH+Tw93jb4mhnrKKA7vgYvjLefw+/srI1jWzp9AQOjONt6ds/jcc/B4uecI5CWv/N3BkvSp/2DHO2TY0BpLmOCUVfPyhTXc1oOtTyZ/3qAedGj6aFoOZhz91UGfe+ukwO0/kcjrf6cjsSMulf8cIFn6diq+P4OrBzpySOaN7kNSjrZvcQkvHU5G233m7I42NXdqRxsCfivF72BgHmAAAIABJREFUP9STWZRJWEAYwX4NNNXbWlIxlROc3nz5GH9wWyg8fQ6G3/T4a2H4pTQkFmzKMy88DR3i4FSKit/P+Qa6VZKDX1oACIjqpeQWBt1U+fX7Tqz119A0DkVlVs4WWejSJpgSi43swjJHymV5TInkKxI68876w+xIyyWzoJTwID/sdknKiVx6Rofy2dY07hl3Hj2jnW98F54XzYXnRTfId2oqeJrV854Qoo3LdlshxLve61bD46rP01Ae/4yvZrA4ZbHXrl8BW2nF+D44B3vN8I6UalA3xCgaUVe9HtPw56ZV386V3DSnJPKhdWo5ZJaSR06cWbnRB6WV32kQdEqoW181TQopJfcs2cq0f/6MlJLXfzjAxH/8j8LSyiXTD2UV4iPg/E7h9O0Qzje7Mkg+lkNCbCQDu0Sy7VgOT6xIoUubYO69pHnJK3gDT0M9CUZmDqBkmoUQLaqatKsGv1uM34vpnNnF2WSXNKAkhLWsYkYPqJm74PT4bWWAVIOj0LChnnQXJc1DRtG3DgPg979BWMfqz535X6W9r2n2fLMrg3WpynE4dqaITUfOUlhm46f9WUyOq/h3cCizgNi2IQT6+XLvJb259z8qk+eusb2w2SRvrz8MwJszhxISUOuclhaHp0EtHyGEY6RMCBFFHTKCmjIVPX7vTuCSUlJmL3PMHWgQrCVVGP5yM3dNQ28OjtZlEpeUhscvlN69rZLZlDs+hY3lSjef3Kby8IPaKL0dgMiuarC2sjCVK6HtVKUsTbPi8+0n+WDDEcd2qdXG05/vpp0xW3Z7Wi4pRqbO2j2n2H48h6c/343FZmdvRh63v7eZH/dl0svIwrkivhOje6vQTUKXNsTHqvGfsX1jmDSwadS8bWw8Nd5/BzYIIT41tq8H5nunS42Dqwa/Xdq97vGbbxgWe83Ty+sNW1nFyVvgMnPXlGI2HgAhpuGvwySusgJ1nei+kLUP8k5A2x7O41LCmnlKC2nIrc6Hz8lkVfQ8MAyObVDyyVoSuUXzzvrD7DuVz/VJXQny9yXlRB4nc0t4+aZE5n66gy93nCS/1EpIgC/f7z3N5qNnOZxVSPuIQFYlnyTtbBHntQ/juqEqRVcIwbNXxbHw672M7h2NXUoui+vIo5ef7ya01prxdALX+8A1wCnjc42U8oPqz2peuHre7umc3hnctRgesKUyT/hcsFmguKK0LKDSNavN6jGyIBwevxnqqcHjt9uhoFwBCzO+33mIWpYf4D2VAnlp6gFxZD3YrKrO7clt0HmQyrkHJZ+swzctgvwSC8Vl7rUupJQcyiygqMzGr4dU2NP07kf0bMf5ncJZs0dNuLr1gh5kF5ZxOKuQ3u3DWLB6L7vT8/jbNQksv2cUUxKcDkKP6FDemDmUyBB/2oYG8MbMoXSNCmmgb9r0qU3+UhRQKKX8J5AphOjppT41Cq4ev/sELu94/KanX2Yvq98L//oGvD6y8tm21tIqQj3l0jlNj98R6qkhxv/dE/BKoqphYGLG97sYhr98nD/1a0Coe+/7Gv5zA/zrIig+A7HDnIZfz7BtMUx/61f+8Kl7NbTswjLySpTTtdYw8DvScokOC6RDRCBxXSKx2SUBfj7cMaYnAb4+XB7fkXdnDSPQz4cxfaK5PL6GsR9NBTydwPUUatJWP+DfKKXND4EWU6XELcbvJtngnQlcZcb16z3Uk3NUxdQtRRUnKdlKwb+SKei+/iqkUt7j9ySrJ2Mn/Pq6yq8/c8iZY296/KZMQvnMntSvoMtQVdd2y2L1e496UNW+7TkWDnyn2kVqw98SOJpdSMqJPPafKqC4zEZwgJL/NvPvI4P9WbvnFE9PG8jOEyobRwhBQmwkS36D8ztF0C4skFX3jaJbVAghAX5899BYYsIDdfimDnjq8V8NTAUKAaSUJ1Ga/C0Gt6weafX64K5p8Os91GPOOyiqpFxCVaEeYXje5WP8nmT1fPUn50QpUxkTnIY/MhbCOsDZo85jeelwciv0m6xm3NrKVCrm+Cehz6VqENcsoKI9/haBGa4ptdr5+UCWY7+przNzZDdO5paw+ehZDpwucGjomMsEY9m/Y4QjK6dbuxDHA0RTOzw1/GWGRo8EEEK0uPnuVXv8BSqGXc84DH99e/wOw19Jmqi1tOrMGL+gilk9ITUY/rx0OPYLjH5IbZta+OA0/KHR0HUE7F6h2gOse049LAZeA+dfqXR2rnzFWQQG1ESs869UDwZNs2ftnlP0igklPNDPUZwc1MSrgP/f3nmHR1Guffh+t6b3BFJJCCT03jsCIthA9NgrWI/Hglj5BNSjomLvHAuKqFjoIFUpSgfpAUIL6b0nm23v98fspodmQiCZ+7pyZWd2yjs7yW+fed6naDXcMyAKd4OWp37ai11WCH1sC09Gd2zBdd3UCf765FyF/ychxOcolTXvB9YCXzTcsC4+NX38lXzvlvp39zSYq8cp/KW1WPx1JXCBo+9utVLMBg+lBEJdwu+MuW89HLzClIJqToqzwOitzCmMekl5glr5HMSvVern93tYKdzm5gd3L63Z+1arg5u/U+ruqFzW5Jda2H4yh9EdWzIkJpB1hzOw25U5qBNZxbTydyPQ08gTI2M4naPMEzlDMHVaDZ/f2YvekX6NNv6myLlG9cxC6Zr1K4qff5qU8oOGHNjFps7JXWiQCd7yyV1bPU/umpSIiLpdPXUIv85YqRSzQ+j1rspPXcKfskeZG2jZWRHx6q4ed0cavF9r5ang0CKlH65nMAx99vyvTeWy5K9jWVjtkhHtghjRPojMwrLyCponMovK4+/vGRhJTAsPWnq50MKrFpekSr1xrpO7E6WUXwJrHMtaIcR0KeVLDTq6i0gNV4/dUlHCtwH8/A1u8Z+38LvWdPXoXBzCX0c4Z8rfSpy+0QMC2sL+n5VoIiEcwl+pgc6Qp5UWiGUFEDkYjE1qikjlDOxNzMOg1dAlzIfoQA80oqI08umcEkZ1UKJy9FoNc+7tQ37pRcxtaaacq6tnhBBihRAiWAjREdhKE5vcrdXV45zcbIBCbU7Br/fM3TO6eupI4ALlC6G6q8dp8dfWhUtKxdUT4qjc4d9GedpI3QsrX4D0gxUWPyiumw7XQfc7wLfVhV2byiWD3S6Z89dJEnMqjILT2SXMWHKQaYsPEJda0ThnX1I+7YI9Meg0+Lob6NnKlzVxGSTmlmKxyXKLHyDEx5X2wWr2dUNzrq6e21Aao+8HVgBPSCmnNOTALjY1E7gsFZmrDWDxlydwXVSL31R7VA8oIu2cfK1s8evqsPgLU6EovZLwO6JwfrgFtn8OCGg97AIvQuVS5+ddicxYeojHf/wbu11is0se/WE387YlMH9HIg/O3YXJYlMqY6bk07lSp6uR7VsQl1rAW6sOIwT0iGiaXa4uZc61Omdb4HEUH38CcKcQokmlwTktfo3Q1LT4GyCWv0HCOa1lFQ3Vq0f12KxKrH1drh5ngxJzSU2LvzYff4pjYtcZpx/gSLgqTIUxb8Azx6HP/f/selQuOcxWO6n5pcz87TABHgZ2n87jhx2nmbctgX1J+bx1Y1e+vqc3p3NK+GzDcRJySig0WasI/4j2Sr2cFfvTuK1PBG2CmpTz4LLgXGv1LAX+LaVcJ5RsicnADqBjXTsIIcKBb4EWKGGgs6WU7zsKvM0HIlEauvxLSpl7wVdQTzh9/EatsSKc0xnO2ICTu/Vq8VceZ3VXj1PM63L1BHdTauCnH1CEXmiVxC69W+21ek78oWzTsrOy7B2uPB0ExkLPJt++oVlyIrOIGz/bQk6xGa1GsPTRQUxbfICpCw8A0DfKj+u7hSCE4NquIXyy/jg6R6NyZ5QOQHSgO1EB7uSXWnh6dGyjXEtz51yFv4+UsgDKe+6+LYRYepZ9rMBTUsrdQghPYJcQYg1wD7BOSjlTCPEcSt/eRg/xcCZwGbQGbE63T7nFX/8+fufkbr2WbCir1JC8uqvHGT1Ul6vH6bJJ2VO1x67epeaxMg7Dzq+g261gcDz4abRw24/gF101Hl+lSSClZPqSg1isdqaObU+nUG86hHjx2Z09WbInBSGU7lfOLNqpY9vze1w676w5ikGnIaZSO0MhBB/eqvy9+bidpeKqSoNwRuEXQjwjpXxTSlkghLhJSvlzpbfvAV6oa18pZSqQ6nhdKISIA0JRWjYOc2z2DbCeS0D4yy1+jRGr0wp31qppSIv/fF09Uipx8F3+VbMPrtO/b/CoKdbOcgx1JXB5hShROKl7lKcC5xdEZVdP+iE48CvEr1bOMbJaUFfrYed3LSqXHFuOZ2PQCXq28mP36VzWOZKtcorNbIrPYsa1HbhnYEWZrgAPI/cNqlm2q6W3C0+OiuG/y+NoH+xVo61hp0quH5WLz9l8/JX71z1f7b1zTqkUQkSi9N/dBrRwfCkApKG4gmrb5wEhxE4hxM7MzMzaNqlXnD5+vVaP3Rnh4+qYdGqIcE57RTinrK2gWl2k7YOljym1bqrjFH6fVmdw9dTh4xdCsfpT/q5q8Xu0UAqsWc1KGeVNs5RErbFvVY3aUbnsScs3MembHby46CAAry6P4+M/jvP5hhP8vDOJwW0DuKPfuUdk3T0gkr5RfmoN/EuQs7l6RB2va1uu/QBCeKBMCj/heHIof09KKYUQtaqelHI2MBugV69e56GMF0YVH3+5W8QIeveGsfgdlr5EYpM2dOIcvW7OSdviWkoyOIXfNxIyDjo6bjks/MrXVBfB3eDYWoe/3mHxtxkJO75QiqadWA99H1Imb1WaHK+uiKPYbONoeiHFZVYOpuRz38Aopl3b4YKOp9dqmP9g/3oepUp9cDa1kXW8rm25BkIIPYroz5NSLnCsThdCBEspU4UQwUDGOY+2AXH6+I1aI4XO8EWtQUk0Ksuv9/NVntS12C3oNOco/M5a+7XV4ikXfodVVpoDni1hzjUVZY7PJPwh3ZXIn/hVSpQPKJUyda6w+kUlYih2zLmNU+WSYfm+VD78PZ6l/xlUxeXyx5EMHvv+b0ositFjs0u6hnmzNymf5ftSMVnsdA5TY+qbImdTm65CiAIU697V8RrH8hlzqh3RP18CcVLKdyq9tQS4G5jp+L34QgZe3zgtfoPWUJHMpTUopQgyj9T7+SoLv9lmxlXneoatK2FyCH9tCVrOyV0fh/CXZCuW+6lNiosI6p7cBcW6HzFdCV+NGqysM7gpvvujv4HRCyIGnNs4VS4ZftxxmsNphSRkl9AmyAOAErOV/1t4gEBPI2M7BwPg525geLsghs9az7ztpwHoHKrG2DdFzij8Usp/Ep4xELgT2C+EcHZfeAFF8H8SQkxEyQn41z84R73hFPvycE5QwhlDuiuuDpulXjtBVa7Rc14hneUWf23CX8nV49zGGYrprOFTVzgnKG6hwZNrro8dowh/m5Fn73urcklRaLKUd7Y6mVVMoIeRBX8nsfNULsl5pfz0YH/6RFUUQJNS4uduYG9iHu4GLa0DmlwhXhUasGG6lPJP6p4HGNFQ571QnJm7Bq2hoja/1qD4va0mJbnJGbNeD1QW+/Mq22A6i6tHaMA7VFkuzVF63VbmTK6euogdA2v9oOstZ99W5ZJiU3wWFpujEmZmEScyi3j9t8MA3N2/VRXRByXUsnOoNxuOZtIx1BuNRm1y0hRpMOG/3Khi8Vd29QS2V16n7Klf4a8UxnleIZ2lZ3L1FCpzEm7+ynJJNuTXg/B7BMGzJ89/P5VGZ21cOt6uejRCqX1fVGYlzNeVVU8Mwd1Y+7+/U/g7qyGXTRZV+B2U+/g1BuzS0XhFq1dKChu9lDDHHnfW2/kqJ26dl6un3OKvJdm5rFAZqzPxrDhLKZXsHa6UUrBb6w7nVLlsySgwce+cHaTmm+gS5s2ce/uw8O8kXl0eR26Jheu6hpCUW8LJrGJSC0rpGuZTp+hDRZatKvxNl/Nptt6kqZy5a7VXsvg1GiXCJXXPGfY+f6pH9ZwzpQ7Br9XVU6AIv94FAtvBqT8h+zgEdVB+4MIsfpVLmldXxBGfXkTHEC/WH8nkeGYR3287jV6r4Y6+ETwyLJqoAHcOpRaQmFN61uSpYbGBPD06ltEd1SbmTZVmJ/y70nfV2vykShx/ucXvmMgM6QZpB6o2Z/mHVB6D2WZWyhgXpp19R6erx1JckY1bmK64osoKKurcx1wFCX9BVrxSK99ZkkEV/suS09klVUogO9lyPJvFe1J4aGhrXr9BcUX+vDOJXQm53NQzjJeu70TbFp60DvSgqEwxbrqEnVn4jTot/x7eRu1n24RpVsKfUZLBPSvvYXXC6hrvOf36SjhnJVcPQItOSgx77ql6G0sNi/+HW2Ddy2ff0enqgYrInpXPwZyrHe0OHcIfO0Zx7djKlJDU6CvA4Akuanje5UZ+qYUbPv2LCZ9uLhdvAIvNzrTFBwjzdeWR4W0I83WjfbAXX/15EruEkR0qMmYrR+d0ClFdOM2dZiX8BY449/xaErKqCD92JTvNafE7feam+kvkqjK5ay2DghTIOXH2HUvzwcPxCF6SrWTnxq9RykpkHKoQ/rDeFZO8/m2hw/XwzAmlW5bKZcW7a46SXWwms6iM99YcLV//9V8nic8oYsa1HXHRK9b5yPZBmG12gjyNVQTe2ewkws8Nb7f6C0tWuTxpVsJvsikx7aXWmvXlnSGVRsfkpw0qhN/F8Q9Un8Jf2eIvy1Os8/ykM+9ktylZxH6tleXSHMWdU7l6qFP4NVpoe6Xy2r+NUotHjcG/rHh56SGumLWeb7ec4s5+rbildzhfbz7FkbRCUvNLeW9tPCPbB1Wx7J217ke0D6oSihnh545WI6qUR1ZpvjSrqB6n4JtqaSVY2eIHsAkqyii4ONLW61H4zTYzeo0ei92CxemyKUhRGqZo67gtzvP7t4bTmxVXz+ktSjZuq4FwfF3VXraDnlTcPJ7qJN3lRoHJwrdbThHb0pO7+kcy+coYbDbJbwfSeHHRAQK9jNjskunXVm2J0SXUm8dHtOW6biFV1ht0GqZd04Gu4aqrT0UV/nJsdhtaoS0vlmZDVFj8RofwV653/w+x2C246d3IL8vHXOqI0JE2KEwBn4iKDQtSlKQsz5YV/n2/aOV3SbZSpbP1MGh/rUP4K9VWCYyFwKfrbcwqDcPhtAISspWJWwH0j/Zn49FMrHbJS9d1pFdkRZLVs1e14/kF+wGYPCqGcL+qjfA0GsGTo2JqPc/dAyIbZPwqlx/NSvidgl+bq8cmFeHXCMX7dTFcPe46d/LL8rGUVorJz0usKvy/TlKE/55lFaGcfo765wmbIe80DJoMbUcrlUR9wuttjCoNj8liY8Inmyk228rXdQv3IcLPDT93A90jfKtsf3OvcH7dlURuiZkHhrS+2MNVaSI0L+F3+Pidvytjs9vQarRoHd2jbEJURPUY3JU2g6b6s/jNNjNuesVas1SO1MlPrHgtpdIK0WZR/PvOUE6PlorIH16mLMdcBR6B8OSBii8plcuCzcezKDbbmHlDZzqHebP1RA6vLDvE3qQ8xncPRVutZIJGI/j+/n5Y7fbyCV0VlfOleQn/WSx+ndCVu3qsUGHxC6H4+evL4j+9DUteAu6OUsmWysfNqyT8xVkV58yKr3D1uPoo/YDzE5X4fC+lumJ5j2CVRmfh30l8uyUBvUbDjOs6EtPCg8d+/JvUfOVvUKcRPD4ihrVxGbgbtIzvEYpRp6VDsBerDqSx/VQOI9vX3sDEoNNgaF5xGSr1TLP663EKfl1RPTUt/kpRMEav+vPxb/0YS1k+blYlkshSlq+EXroHQv7piu2y4ytep/xdYfG7+FS0hYxR6+NfaiTmlPDcr/vJL7GwJymPH7afZsepXFbsT0NK8DDqSMotZfJPe1hzKJ0hMYEYdcrfnRCCmRM6c3OvcIbHBjXylag0VZqVxX+2qB6t0KIVlYS/ctNwF+/6sfitZjj2O5YgT9wcQm41Fyqir3erGtKZfczxQiglIzwcQuDqUxGjrzZGaVQKTBYOpRTgqtfSJcwbIQQvLT2EViOYd39fXlx0kHVx6YqVrtUwb1Jf3I069iTmMf6Tv5CyIgTTSetAD964sUsjXZFKc6BZCb9T8OsUfo22PITTpjUoLh4nLt714+NP+BPMhZg13rgXZoAezOZiRfjd/JSG5k6y4pWiasFdFYs/vK8Suql3VSaAfSPrtWKoyvlhsti4/qO/OJlVDMDX9/YmwN3I2rh0nr2qHcHerozqEMTauHR+2pFI/2j/8uJo3cJ9uLVPBL/sTGJ4bGBjXoZKM0R19Tiw2q3ohK7c4rdWb7pirCcf/5GVoHPBonfF1RGlY7EUKY3LvcMVi9/ZfD37uJKsFdoT0vYr4ZvOkgtX/hcmrqn65aRyUfl8wwlOZhXz2vjOeBh1rD6YxupDaWgE3NJbia4a3k55SissszKyfVXXzUvXdWT1k0Pw91DrJ6lcXBpM+IUQXwkhMoQQByqt8xNCrBFCxDt++57pGPWNyVLs+F2zebpN2tBKG5oDSmtge/UeuC7e/9zHL6XSyar1cCxCYJQSHRoslhLF4veJAGspFKUr22fHQ0AbZQLXUgKHlytuHlAmmz1UH3BDczS9kJeXHsJkqQi3/GLTCe75ejsfrz/G1V2Cua1vBENjAlkXl8GaQ+n0auWHr7syPxTk6UI3R9JUdZeOXqshUu1wpdIINKTFPwe4qtq654B1Usq2wDrH8kWjtDBV+V2LgNvsNrTmEnSOEElr9RaF9RHVk3FIibuPvQqztKJ38UMvJRabWRH+iP6AgM0fKhm8OSeVcgvRV0DkYMX673LzPxuDyjljs0uenL+Hr/46yWcbjgOKe2fW6iMcSStkYLQ/065Ryl2PaB9ERmEZh9MKGVHNsn9oaDQTB0UR4nOOfZVVVBqYhmy9uFEIEVlt9fXAMMfrb4D1wLMNNQZLSgp2UxnG1krCU2lJBgCmWurf26QNnd2GczrXVt3V4+KtNDqx25Ua/RfCkd8AkG1HYz3wNnr/dujzD2JBKK6e4C7Q4y7Y+qlST99uUQqseQQqCVwq9YrdLonPKEKnFbQOcEc43GY2u+REZhGrD6VzMKWA1gHufLL+OOO7h3IsowiTxc4bE7owJKbCNz88NgiNAHstk7VXdWrJVZ3Ushkqlw4Xe3K3hZQy1fE6Dag9ULmeSJ0+A1teHlE//wSAyeFTL5VWpJTl/+jgCOe0W9E6/Os2bbXkGKMXIJWCaBeaJHV0JYT0wOKuROQYAtuhzzuIRQDuDitx5AyIWwpLHlWWg9pd2LlUzsoT8/ewZG8KAI+NaMtkR6mDL/88wWsrlL60g9oEMOumrox4ez0zlhykpbcr7gYtfVtXzZnwdTfQJ8qPjMIyogNV943KpU2jRfVIKaUQQtb1vhDiAeABgIiIiLo2OyNaLy/MCQnlyyZzIWhBorQ+NFZqQ2iTNrQ2a/kHYtNUt/grFWq7EOEvyoCknTD8hfLKnHrfKPRCYBZCcfWAEtnz4EZI2a0UXAvpcf7nUjkrG49msmRvCnf0iyCzsIxP1x/juq4htAnyYMX+NGJbePLkqBiGxATgZtDxxMgYXl0Rh0GnYUS7oPK4+8p8cEt3yqz2KgaFisqlyMUW/nQhRLCUMlUIEQxk1LWhlHI2MBugV69edX5BnAmttxf2fIdfvqyIUqupPCnLZDVVFX67DZ3NUm7xW6tXyCyv13MOE7w2K6yZBsWZENYL+j6oWPtIiLmqvPuWXmfEoHPDIkoVV48Tn3C15s4/ZOneFNbFpePlqueJkTH4OSZbNx/L4qediWw7mUNUgDsvXtOBQpOV4bMUi/6dm7uyJzGPp0bFVHHP3DMwkp93JXI0vaiGK8dJkJfLRbk2FZV/ysUW/iXA3cBMx+/FDXkyjZcXtsJCpN2OSNuPqVLdk1JrKd7GCsvdajOjtVsqfPzVo3qM51GaOXUPbP1Yya7d/xN4h8GmtxW/fcvOWEozAdBr9Ojd/LBInRLKqVJvzFp9hOwiM6UWG0UmK+/c3I3sojIenrcbgJZeLvx3fCeMOi1GDy1Pj45l2uKDPPerUvmytgicmRO68ObKw4yqQ/hVVC4XGkz4hRA/oEzkBgghkoDpKIL/kxBiIpAA/Kuhzg+g9fIGux17cTHalL8pFQIXBCakEstvLSvvQWuzlqKVVPj4NdUe5Z0Wf20hnXabEqrpfEpI+Vv5PWkdzLsJfrpLabRy1xIQotziN2gN6I1eWPxi1CYp9Uh+qYWE7BKeHh1LcZmVT9Yf5+ouwSzfn0pxmZXfHh9M2xaeVfa5vW8r5u9I5PfDGYR4u9A+2LPGcXtE+PLjA/0v1mWoXAQsdgs6obvk3HPSbAatFlF9rrGeaLBwTinlrVLKYCmlXkoZJqX8UkqZLaUcIaVsK6UcKaXMaajzA2i9FbG25RdA+gFKNVp8NcrjuKk0F95qC3+9r2xjNaGFipIN1T/wM5VmXvAAfHdDxXLKHnALUMIvx76liH6nCdB6KFDRfUuv0Zc3Y1GpPw4mK/eoS5g3j17RhlAfVyZ+s5MFu5OZOCiqhugDaDWCV8Z1ApRetZeaEKjUPzmmHAb9MIgNSRsaeyhVkFJy8sabSHm24aLdm3TJBq234p6xF+RDUTomIQjTuZJqLqU055jSxvCP16HDOGxWEzop0fpGAUU1XT11+fjNJUp5ZKsJCtPBs4Xi6gnppmTVthkB962qUlqhhvDbVOGvT/Y5hL9TiDduBh3zH+zHn/FZuBl1XNWx7rDKHhG+/PRgf9oGqX2JmwP7M/dTYi1hT8YehoUPa+zhlGM+doyyo0cpO3oU73Hj8Bg0sN7P0aSFX+OlCL+toABrSRYWI/jqPcCcgykzTtnIWgqrXsBKGVpAF9gOCnee3ccfvwYQYDMrog8Qvwo63wQZcUqNfCcR/aocyin0Bq0BvVZf7vppbmw+nkWhycpohxj6mJQaAAAgAElEQVRbbXa+25rA2M7BBHgY+XrzKU5nF5/XMa/rFsL+5HzCfF3Ls2fDfN24pc+5RYb1ibo0S1tvTNqITqNjQMiAxh7KOWHJyKBgxQr87roLcaF5L5U4vm8TCX+u5IpHXi1fl794Mcb27XGJqdpxrGDVanR+vrj17n3GYx7K2M/onXYyvI9Az4r1UkoWxC+gV8tetPJqVfXYK1ZQsms3usBA/O67l4KCTHa/N50YQxi+I6/EfYByf8pKi9j01hTa2gMxao0IFyN+d9+Nxt+PtbOexJKYiEtMLCMfe6P82L/Pnk5w9/4E/q2UZhctgjg49QlaL1lMoHfVVpr/lCYt/OWunrx8ykpywAi+Rh8oPk2ps/Jlj7tg97fYotuhRaD1bwOFO7FW/2PVGZQCaWX5ShLX4keVhK7IQWDwVMI9j6yEwPZKC8WQ7nWOq7rFX2w+P3FrKry46ACJOaWsenIIUQHufLMlgVeWHWLD0UzGdArmlWWH8HLRVWkafiZMFhuL96Zg1Gno2eqiVgNpUJKLknlq/VP4u/rz2w2/XRZuqJxvviHny69w7dIVtx51/y+cC9JiIf2JpwhOKSS9zQBaXHk1xVu2kPLsc+gjImi9dAkaozJXV3bsGMlPPYUxOprWixed8biahauZuMbOkdM7kNdX5PX8fvp3ZmyZQYxvDPOvmV9euLF0/36Sn5qCxtUVe4nSKnPrrsVEbTpJrlFH0aKlRC9fhj44mHWvPUrUz9vIddPjpnfDVlRE2dF4jvVsQcTXayk1gOvaI2xuGcqAfz1G2sY1BL/zE1l+CzAEx+DSoQMLR7gx6IudlMYfhV6q8J8z2nKLPx9zWT7gja+Lkjxlyj2hhHb2fUgR/rICdDojWg8lYsMmaplUcZZmTt0DRWnKuvhV0GGcEoe/Z54SvgmKq6cOqkzuNjMfv3RMnidkl3A8U/nCm7b4AK+N78y7a47i527gjyOZbDmRTa9WiuvlXIX/aHohY97fRJ5d0im06XQie3P7m5hsJpKLkjmWd4y2vm0be0hVsJtMIES5+AIU/bHe8fuPcxZ+abEgrVaE0VjlKSHz22/wTSmkwBXsr7+Bf6/+pL3yX7S+vlhOnybzi//R4t+PIqUk7ZX/gtVK2ZEjWJKT0YWEIE0mhFaLMBjKz2NJT6f30mMUuELskWLyf/sNt6GDKTYX885frxMkfDiVcYQfD37PHZ3vQtpspM54Ca2/P9ErfyP1halkfPIx0WYLqwa4srybjQ++tJE+8w1sk24idOE2dnY08uZ1Nj4b+TbRq+PIfeNt/LdCUqQ7QxduZPPo/ujenU3xsBtJe+W/lLlCQI4Vc84hiu+6hq89VuL16SP06TWs3u6VkyZdndMp/Pa8XEodhdl83ZREqdKCZPAKhaAO4NMKq5RodC7oPBS3Q42oHlAqY+aeUmLyhQb6PKisjx2j/FhKYN1LypeAV2id42quk7tSSiZ9s5OHv9vN2jilEN19A6PYFJ/F4Df/wGyz89OD/Ylt4YnZaufl6zuds+gDxLTw5L6BkQB0CfVpiEu46OzJ2MPvib9zR/s7AC65icicb77hSLfuHOnWnewvvwLAfOoU5hMnQKOhaP0f53Qcc1IyR/r05Uj3HiTcepsS1QJY0tPJ+uhjdrURvDNegyY1k/gBAzGfOMEX17uyub0g7dOPSTi8nYLlKyjZtg2/u+8GoPCP9SQ98m+OdO/BkX79Kd66FdORIxwdNJjjI0ehs0q+fiSahEBInfwUx3v2Ia3/cGa9nMxHr2Xx3SwbkRNnkp4Qx8ZPXqTs4EHeGZDDW4c+IuCZp7FIK7leGia89iPFge5sGtmCwlWrKLlpEnYBQ974mjCPMB5a+xCjeY+EQNBZIWzGKxhc3fB6/in8c22cHjICY2IG827w43gvpZvey9rfiPCM4K7eDzbAXWviFr9wcwOdDlt2BiZHE3Ufd8WiN0mrkiQlBMSOwZa8GK3OFY2j4mUNVw9A15th3ctKieTwvkpp5NAeSsSO0MI17ylPBKE9zlguuTyBS6NHr20+wr9gdzLrDis5e1tPZhPbwpOpV7enY4gXmUVl9GrlS5sgD766tzcJ2cV0CPE673M8dWUsHUO8GRDtX9/DbxR2pe8C4KGuD/F3xt+sT1zPpM6TGnlUFeQvXoIhKgpdyxZkvv8+niNHUOiw9n1vv53cuXMxJyZiCD9znkrhmjXI0lJln3nzyPn2W/wnTSLjjTewW818d6URS0s/Vv87hDtch5LqK/it6D287x2NfepKDj/3JK2ztbh06kTQM09TtGEDWR9+iC0/H5+bbqJ461bSps9A6+uL0GopnDiON8uWMqbfeGaa3uWBzI4czDxAj6DuRHi1orV3FLnF2XjNnsOuKQ8QFJ/NqWgP3MYMYl7cPArNhRy6VcO/Bz9NeMsYHu/+OK+XvoI+oAfHTu+h2+g7uKlNd2YHzWbN6TUAZEUV4F/iTe9+SvOkHmPu4qPjv5NxaBeZ/jpajrySwQ9P4q+FHzO+XxtGRo7CUL1YZD3RtIVfCLTe3thysyj1VYTYzysMAJMQFUlTsWOwJy9Bp3dD66lY/PbaXD39H4U93yudsWKuUvz+XW+peL/Xvec0rnKLX6vHoDFclpO7yXmlHEjOL5+YdZJbbOb77acps9pr7PP9tgS6hftgtds5kFzAbX0i0GoEE3qGVdku1MeV0AusZOmi1zKue91PW5c6G5M2EuIeQhtfpR/zweyDhHqE4m30Zmj4UD7d8ynZpdn4u577F5s1M5OSnTvxvOoqbHl5FP/5F15Xj6110rV0zx7yN6zneN5xoryj8Bk0BLdevYjbtYaSlauJ8FQmyV06d8KlQwdMhw4ROHky3uOu58SYsSQ//Qz24mKMbdvid+cd5M6dS/obb+AxaBA+N96INJvJnf8T9sJCADRenqSN6oJctQS3tm3J//dNlJ08QObHn5CbdALLit9YOdyT1h164aJzYaU2jscnTOL7vz9Es1/Dv6+cztb9JlrNXY9FwJYnhrFi/2e06ehDxPJT5Ldpwe/jg/Br041ury+FhAQOPTSClR2yiE/T8n7UVby3+z1m+cTj2t6Hl26eU+7T9weWp+2n9cJdWDXQ9r9vMrRTXw4sPsiS40vo16s/IwbdBcCNMTey8NhC3tHuo02HGGZcOwWAcK9w7ut0X5335ub73uK6RddRZCnio7BheAeEMvb+18753l4oTVr4QXH32PJyMPkpwu/lGoBGSko0lYS/1UCsWj1ajyB0ejcAbF61TKbojHDNu7DgQeg47oLHdLm7emx2yYNzd3IguYDv7+/LgOiKchNP/7Kv3I1THX93A6+O74TVJnlg7k6u61a/E1aXO0dzj/LY748xJGwIH1zxAQCHsg/R0b8jAMPDh/PJnk/YmLSR8W3Hn9MxpZQkPzWFku3bCdPryVu4iKJ165BWKz7jq/4NWzIyOD1xEvbiYvyAfKBgzlxa/jiXnEeexC/fRpZzYyHwuXECAJ7Dh6EPCqLFC8+TOuMlsFoJeuYZDBERuPXuTdHadRStXYc0mzGfTiT3u++qnPfvdT5025eH+6T7eXb76yR3i+OD415YflzI0RCY37uMV6KvI6koiTUJa8gvy2dD4ga6BXbDx8WHK6a8zR9bhrMrsJAfihbCXogMkjznATMHZ3Fq/+cA3N9d4FMEs3zWI1MFA0MGEuIegqfBk0JzIVeGXVku+k6GvfABm3eNwjqoB2O6DwfgxX4v8saON3ih7wvlE8JajZYX+7/IMxue4cV+L6KvXuurDgLdApnSawpzDs6hb3Dfc9qnPmgWwm/Py1MsfMBV54oLDovfWQ9Hq8fm7o/Wv01FBy7nJG11oobAU3H/aExVJncvQ1fP99sSOJBcgIdRx7TFB1nx2GAMOg3r4tJZG5fOc2Pa8dDQ6DMeY9sLIy/SaC8PpJS8uvVVbNLGweyDAOSZ8kguSuammJsAiPWNpaV7SzYkbThn4S9YtpyS7dvRuLuT8vwL2AsL0bi7k/HWW3heMbw88g0g4823sJvNTH7YSG6gC+7ZpXz0peT0bbfjV2LjxTu0TL53Nn29u3B8zBjyfv4FfVgYhjbK04nPhAn4TJhQ5fyt5n6LlJLE+x8g4733kSYTvrfdSstp0wA4/vwUei5cDsCJTv7sSduDzdvOxAdtFFp0fDziY3aEDQFgS8oWQIm6OZJ7hMk9JwNgMLoxetk2RgMvVD75s7C08rLi+ueuap9RpFck+7P2MyxsWI3Pz93Tj1Grd1VZNzhsMIPDBtfYtqN/R5bfsLzG+rMxIWYCE2ImnH3DeqTJC7/G2wtbYjoljsdaRfg1VV09OBqxCC1ax6SuTdpqPV59UN3it9qtDXauC2Ha4gP8uCOxfHlAtD9f3t2bzzce5/218ZhtdgZE+zNxUBQTv9lJx+krEUJgtdlpE+TBfQOjGnH0lydrT69lb+ouXl/oSviJFI58egW5b/wHgI7+HZQsTr2OodcMxevjnzi96DHC33ufzPfeJ+frrwHlb9Yu7eXWpgSkxUxpmxBaT32JtHvvJzlA8Pk1VmZ8U8zhAQPQOsqM2JEIs4VfB2rJC3TnuzFzuWfVPfzQL49b19uI7x9GQmQe65PWE5cTx96BhTy8CJYFp7F1+a18Nfor1p5ey3eHvmP2qNnsTN/JtL+mUWYrA6BFZzszt5gocYEHWi6iZO5irm59NZ3HdyBi5XLsAl4v/BmbtDGuzTgWHVvEFeFXMMQh+gAd/JWmN9M3TwdgaPjQevnso7yjiMuOY2Bo/SdKXao0eeHXenljLiout/hddC64Cq0y2VupAqZVWtFpdOiEo9m6veGF36AxXHKZuxuPZvLtlgRGdWhBdKAH2UVl/LwriVeWHWLu1gT6RPrRO9KXO/q1IsjLhbdv6kp8hhIxpRFwU69wDLomHSzWIKw6tYob9roSHV/Euq6C4fG52N75H4yWRP6dRu5ipZ7hWDkS1x0WillDxsyZ5Hw7F/dBgyiNDGLZsUXYJfRs0ZVuQV3ZmrKVfbkH+atnPv1YR+J4DZ36XsOA8JYs1f+J3H+Y69uMxdfFj0XxC8l1teN58wQ+iR5JG982fDbyM9ZGreRobAJD73yOfntnsvLkSgrNhfQY1oMD/jro3IKD6Yt4ffvrrEtYR6GlkNe3v87W1K20cG9RRbj3eCdh8TByQ1QgiYWJLDy2kD9dA+lwVwgBGi9OFh0jwDWA6f2n0yOoR41sWm+jNy8PeJlTBacIcQ+htXfrevnsJ3WexBURV+BpqFnKo6nSDITfC1uxCZOjCJoi/DpKNQK8KiYVq1v8VnnhVriUknWn19E/pD/u+ppNOZxCr9cqUT1WacUu7WhEwwvmroQc9iRWrTfk726gXUQREsGMJSlE+rvx4a3dcdFrFR9xXilzNp/Cx03Px7f3KC9xDNSYmK1MqbWUTUmbGNlqZJ3XZrPbWHt6LcPCh1Upk30xSC9OJ7komR4tepBdms2J/BN0OGWjLDKYw/ZkuqUYMLRqhS4wkL2//0Tajk146D2I9YvFLu0cyj5Ema2MKO8oAlz9ySnNwdKtHe37jcGclEzh2rUczT1CgVmZyNQKLR382+Oic+Fk0WmO9gwiNKw9XRN1uP2yjnGbrLgMGsjsQdto1bU3bb7dxMMe3hTGf4AxNhZps8Kva0n3FUhPd/jmW8x+Hux+qA/L034nobU3nQM6syB9F5M6D+TTvfEMDRtFVspmfjn6C2OuuponhiqZogWdJ3LdwuvY7XaMWN9YFgcW8uEVH1YR204BnegU0Akcrueh4UNZn7QeL4MXs4a9je9VSpJczl+ChccWotPoGNVqFCtOrkAjNHw68tNyKx2okh1rsVs4seQEx/OP02rQXQS6BsKutxkSNgSdRlenK+tcXVznQ5R3FFHezesptckLv8bbC3uphVLHpK2bzg0XgwelrvYqFTFt0oZWo60o0vYPLP6D2Qd5cv2TjGszjlcGvlLj/dTiVIxaI0atsfyx3GK3NLjwncgs4pbZW7HYqrY3ENpi/Nu9i0BDZs6TzLl7CC565XMQQvDy9Z24ZfZWXhjbroron42fj/zMWzvf4qUBL3FD2xtq3+boz7y67VWm9p3KLe1uqXWbhsBqt/LIukc4nnec+dfM59Vtr2LauZuX5tlIjPHho4GFzPzGjmuHjsgXH0P8ZzoRjj+JTMcxnMWZbYBzOrvUAGkLQil65Gksp0/jA1TOKMhnFfmAG6CLEMwaoWHmHDu3Sond24PQadOI2v0ffvAt4OZwLcM35WN3sxD67jtgs5H02OMcuLs9q/O28sJ8+N+wErYfeB+t0PLywJfp07IPty6/lY/2fESoRygvD3yZpceXMufgHKb0nlI+Di+DF8/3fZ7nNj3H4ZzDjI0ae9Z6NcPCh/HOznd4uvfT+LpUZEY/0fMJtqdt58aYG7kl9hbic+MZETGiquhXQ6/R83/9/o9H1j3CmKgx+Bh9+HTvp1wddfVZ753KP6fJC7/wcAcJVukKKF23XHwiMflUFT+b3YZO6MqF3y5rhiOeK38kKkkri44t4oa2N9A9qCJzUUrJhqQN9A3ui06jqxB+W8MKv5SS6UsO4qLXsnbyIHzcKgR83PzHybSVAJK2sX8yLPbGKvu2CfJg+wsjziuZCmB90noA3t31LleEX4GPS9WkquzSbD74+4PybS+m8M8/Mp+juUcxaAw8sOYB8ouzeXO1HYsOwo/m8XwyWDUC04EDFE/6N0IH3j/P4dXDH3Ai/wSlllJGRY5ifJvxPLT2IbwN3ugy83htjpWUW+/CtbCMT273obBdGO8OexchBL/G/8rsfbPxNfoyaL+NCctz+b+fId9VMm2SK4vvWYvBzZsOCR1YdmIZ8XcZWTBiHqF+kWhclKqybf/cRFshuMtSiHzczruOuSud0OHmMG5WT1hNqa0UV50reo2eOzrcwW3tb6vx1DU6cjSDQwdjlVY89Wd3cwS4BvDnrX/WOI6fix8rblhRvn7xuMXn9PTaq2Uvtt62tXzbbbdvO+s+KvVDkxb+5+YNJ+RQPqMAq82AQaOEXbnoXMgxKRWhlxxfwvu738cqrWg1WoQQaITmH7l6NiRuoKN/R7JN2by69VV+vOZHlu9L5+edSTx/vQ/JRcnlsb3OBI1rFl7DxM4TubPDnVWONXP7TAwaA5N7KREMSYVJTP1zKpN7TSbYJZZJ3+wkNd901jFJKckqMtGz93LuWTeTQNdAPrjiA9IP7WbK13/w9vB+pPsayfD5g0PZh6pYa1mlWUzZMIWHuj5Ev+CKgnMllhKeXP8k10dfz9jWY6ucL78sn93puxkWPoxNSZv44O8PmNZ/Gm9sf4OVp1YCUGYtwyO7mDcWuaDN28AR10EIITBZTSRFuDFq7ir+nPM6xi9+QWMHd707HtExvH+LO+a9+xm9qYgvbvalRaaVOxflYzQrX+YaIfA0KMlfBeYCpJTsa2fkh2u9GPVnMVdsKSFK2vlaa8Cg1VBkzsCIFrdiyawbNNyyzUBYsomPrxaMOKil3SkLiZNG07NDX6YET+dfS/+Fm4sb/xn8HP6u/lzf7Tbmxc1jwsAJJOYep/WCnWzvqGdDRDE/DJ+Bb4DiDrvL92EWpa3hVMEpBjz6Li6nPoODB/noGg0xsf1xc1MibDr6d2TZiWVM6vIA4SFVey47Y++9DHUntzldiJWpS4idXxbnSl3Hqbz+fFyWF8O9qVKTJi38AQZv9hszGAXYLTpcHe4LV50rJquJ9OJ0Xt36KhFeEQwPH87YKEW8tEJ7wa6e1KJUjuQe4ameTxHqGcrk9ZOZf2Q+i7ZGseNULm//uR6AoWFKRMLw8OGczD/JoexDvLPzHQaGDKS1jzJptTFpI/Pi5gEwMHQgfYP7MnP7THZn7GbG5hmEl7zA4dRCJvQMBc5ujRfoNrIx9y9GtRrFpqRNvLH9Ddr/tIvB6TArroz0aS8y88C9vLr1VeaOnVv+Tzlr5yx2pe9ixuYZLLp+ES46xfr8Yv8XbE7ZzP7M/fQN7lslqeiv5L+wSRsTO00kzCOMeXHzCHIL4ru47xgYOpBgdyU1/brVBzBmx7O2nWBASDu8jd7sPLKK/nuLWP3C3QSv3keevwuJES6Yy0oYuGsXrW2CAaeMuOdaeGSTG34nstFiJK2ncszEwkT8XIzYpZ38Mh1tbf4M3pmCb2g0HdZmkN3Gn+IwP2J9Y3HRuZCXe4wgjxD8OnZnVE8NrW8Lx3f3SYb2NRIfvxPDvgKufGwmADG+Mbw19C18jD7l1/uf7v+hhVsLJsRMQNfFzlrXp0jtE8TrbQfRMaBj+Wei1+p5b/h77ErfxfDIEVjeaUvRho0M6a2nc1CX8u3Gth5LsaWYezudW0Kgisr5IpxFsy5levXqJXfu3Hne++3Y8xVvLX2Hl+bZWHNHIAva6Pit3Tu8ljefDWl/Ee4eQ0L6br7r9g6RlQoh9ZnXh54tejImagwCwaDQQfi6+HIq/xT7svYpj+qhg8qTN9KL0zHbzIR7hfPD4R94bdtrLBm3BB9dCI/98W/i8w+QkzgGnUaL8NlATJA3C8f9woHkfI6kKRN/xdY8Pjx6P4EuEfT0VVK6N2R+jwYtdmlFq9HT2XsYf2TMpa1Hb+KLdmBKv5qHut3LpKEt2Zi0EUk1373JjCExg7K2Ydilnbd2vEWsXyxfXvkl/9v/Pz78+0Nm/c9KWKEBTZmZ0PfeZX1bM1P/nMo9He+hrW9bCtIS2bLwE6KD2vNtwGGujR3P4OwASE5n2YllRHpHcir/FDG+bekY0Kn83LvTd5Neks7zfZ7DbLPw7u53KTQXEuAawGPdH0Or0WJJSSHrgw/xnzKZce5f09G/I1a7lbjsQ/zfz4Low/mYteDz8xxsoYFMWDKBe5eXMWqPcp3uQwZTvHETAOH/m43HYCW2+vu473l9++sATO8/nQmtx3HyhgmUHT2K1teX6N9WoPVpGrV8VFTOhBBil5SyRlJSowi/EOIq4H1AC3whpZx5pu0vVPitFhMTPurJzM/trOxjYH+QN08vyyTxyk481fMwSMmr8wNpm5BB1IJfcWmnPFaPXTCWxMKKOPb2fu35aMRHjFs0jkKLItQv9nuRf8X+i1JrKeMXj6fYUszC6xdy/+r7sUs7C69bxA2fbiYu6zjuUR9jkSXlxwuTE/hgzFOMeX8TVnvF56/33oFLyK/ly9KupTTxXhA2XMO/QQg7ttJQSk49gmvYXPTuJ1kyfglT/3qafVn7alz/kwtt9D8sefFOLUfCBG46N76/+nuifaIx28w8PPcGpsw8TuDTUyhYthxbTg6tly/j4c2T2ZK6Ba1N8sZXNiIc6ZpHh0fzY8uTTPvhwuc/quPSoQOR839k+vZXWHhsIQBT+06lrzWCnNsnkjFhEGOm/Q+AT/d8yoJd3/DhHB3eI0fRYsoUToy/AdcuXQid9Vb5Ma12K/esvAet0PL1VV+jERpKdu3i9KT7CZ4xHe/rr6+38auoXMpcMsIvhNACR4FRQBKwA7hVSnmorn0uVPhB8fNHLkxn4CFJgdENH5MJjYDXxj2INjWdZ7csQGq0uHXrSqvv5iI0GootxeVzANtTtzNjywxCPUJJL0nnyyu/5KM9H3Ek5whLxy9lXtw8Zu+bjUZoCHYPJrkomQ+Gf0B6WjTPLdiPViOwUUqAl4UFDw9k/o5EPl6bQ5ivG4UmKz8+0A93Q4XHLceUVZ704qZ3x9ugWKb5ZbmUWEsIcA1Cr9GTWpzEIxtuJdAtkOSiZKb2nVolAcW6dSem/7wAWg2a1pG4fvsxPu5+VXzDGd98TfbrbxK9ehXW7GwSbr0Nv4n3EfDUZFKKUzB/9wvm92cT+Pp/sezZT95PPyGCAkCnw/WD1/Bx9cNVr9TUySzJrJGIFuQWiLZSCrzZZq5RdErfogXCYMBqt5ZHOwW5KYXySksKcHWr6ssus5Wht4IwGBBCYC8rK39dGYvdgkBUScG3l5VVKR2sotLUuZSEvz8wQ0o52rH8PICU8vW69rlQ4Z+6cD+Zpz/kkH4zH3xmx9UsmdbvPp7a+zPCasNDK0l0C2Bl9AAe3DGfDK9AbNqa0x42TQ5SlKGxe6CRnkis2LRZIDUg7AjpgpAa7JpihHRBa/fFYrPjotPiYdSRWVSGt6ueIC8jSEjIKcFstRPkacTb7dxqetRGrimXHFMOLlpXQj1Cqrj5rekZ6Pz8CPjPf0iZMgV9eDjCWFV0rekZ6IKCiF6+DICUqVPJX7QYQ1QkAJbTibj370/YZ59iLyzk+NirsWVlEfbZp3gOG3bB41ZRUbk41CX8jTG5GwokVlpOojxFpAIhxAPAAwAREefWNq86IT6u5BfeRnfTKfTTbsO/zEAX726sjQlhyMH1hAX7YB13O9YEK9tdzPhmJdd6HDtBmGQmriIYgTJBXCa9MJOLQIebCEWgoVSm4iKC0GBAKwTBLTxw1WvJTS/E19cVo1ER+WCThbQCE4GBHv+om1KQtFGUd4KWHqEYq0VnuMTE4j9pIsb27bGkpGA6eLDG/sboNnhfe03F8aZMQej02PLyAHDt0pXAx/6jVDn18iLsvXcp3X9AFX0VlcucxrD4bwSuklJOcizfCfSVUj5a1z7/xNWjoqKi0lypy+JvjCDaZKByV4YwxzoVFRUVlYtAYwj/DqCtECJKCGEAbgGWNMI4VFRUVJolF93HL6W0CiEeBVahhHN+JaWs6YBWUVFRUWkQGiVzV0q5AljRGOdWUVFRae6ohTJUVFRUmhmq8KuoqKg0M1ThV1FRUWlmqMKvoqKi0sy4LKpzCiEygYQL3D0AyKrH4VwOqNfcPFCvuflwodfdSkoZWH3lZSH8/wQhxM7aMteaMuo1Nw/Ua24+1Pd1q64eFRUVlWaGKvwqKioqzYzmIPyzG3sAjYB6zc0D9ZqbD/V63U3ex6+ioqKiUiCM43MAAAWQSURBVJXmYPGrqKioqFRCFX4VFRWVZkaTFX4hxFVCiCNCiGNCiOcaezz1hRAiXAjxhxDikBDioBDiccd6PyHEGiFEvOO3r2O9EEJ84Pgc9gkhejTuFVw4QgitEOJvIcQyx3KUEGKb49rmO8p8I4QwOpaPOd6PbMxx/xOEED5CiF+EEIeFEHFCiP5N/V4LIZ50/G0fEEL8IIRwaWr3WgjxlRAiQwhxoNK6876vQoi7HdvHCyHuPtfzN0nhdzR0/xgYA3QAbhVCdGjcUdUbVuApKWUHoB/wb8e1PQesk1K2BdY5lkH5DNo6fh4APr34Q643HgfiKi2/AbwrpWwD5AITHesnArmO9e86trtceR9YKaVsB3RFuf4me6+FEKHAY0AvKWUnlNLtt9D07vUc4Kpq687rvgoh/IDpKK1r+wDTnV8WZ0VK2eR+gP7AqkrLzwPPN/a4GuhaFwOjgCNAsGNdMHDE8fpz4NZK25dvdzn9oHRqWwdcASxDaS2fBeiq33OUXg/9Ha91ju1EY1/DBVyzN3Cy+tib8r2moie3n+PeLQNGN8V7DUQCBy70vgK3Ap9XWl9luzP9NEmLn9obuoc20lgaDMdjbXdgG9BCSpnqeCsNaOF43VQ+i/eAZwC7Y9kfyJNSWh3Lla+r/Jod7+c7tr/ciAIyga8dLq4vhBDuNOF7LaVMBmYBp4FUlHu3i6Z/r+H87+sF3++mKvxNHiGEB/Ar8ISUsqDye1L5+m8ycbpCiGuADCnlrsYey0VGB/QAPpVSdgeKqXj8B5rkvfYFrkf50gsB3KnpEmnyNPR9barC36Qbugsh9CiiP09KucCxOl0IEex4PxjIcKxvCp/FQOA6IcQp4EcUd8/7gI8QwtlFrvJ1lV+z431vIPtiDrieSAKSpJTbHMu/oHwRNOV7PRI4KaXMlFJagAUo97+p32s4//t6wfe7qQp/k23oLoQQwJdAnJTynUpvLQGcs/p3o/j+nevvckQG9APyKz1OXhZIKZ+XUoZJKSNR7uXvUsrbgT+AGx2bVb9m52dxo2P7y84qllKmAYlCiFjHqhHAIZrwvUZx8fQTQrg5/tad19yk77WD872vq4ArhRC+jielKx3rzk5jT3A04MTJWOAocByY2tjjqcfrGoTyCLgP2OP4GYvi11wHxANrAT/H9gIlwuk4sB8lWqLRr+MfXP8wYJnjdWtgO3AM+BkwOta7OJaPOd5v3djj/gfX2w3Y6bjfiwDfpn6vgZeAw8ABYC5gbGr3GvgBZQ7DgvJkN/FC7itwn+PajwH3nuv51ZINKioqKs2MpurqUVFRUVGpA1X4VVRUVJoZqvCrqKioNDNU4VdRUVFpZqjCr6KiotLM0J19ExWV5oEQwhlOB9ASsKGUTADoI6U0n2X/e1BC7R5tsEGqqNQDqvCrqDiQUmajxM0jhJgBFEkpZzXqoFRUGgDV1aOicgaEEPcLIXYIIfYKIX4VQrg51t/kqBe/VwixsZb9rhZCbBFCBJxtWxWVi40q/CoqZ2aBlLK3lNJZC99ZB34aMNqx/rrKOwghxqMUUxsrpcw607YqKo2BKvwqKmemkxBikxBiP3A70NGx/i9gjhDifpRmIU6uAJ4FrpZS5p5lWxWVRkEVfhWVMzMHeFRK2RmlhowLgJTyIeD/UKoj7nJMDINST8UTiHEe4Azbqqg0Cqrwq6icGU8g1VEK+3bnSiFEtJRym5RyGkrkj7M8bgIwAfhWCNHxLNuqqDQKalSPisqZeRGlw1mm47enY/1bQoi2KJUT1wF7cUQESSkPCyFuB34WQlxbx7YqKo2GWp1TRUVFpZmhunpUVFRUmhmq8KuoqKg0M1ThV1FRUWlmqMKvoqKi0sxQhV9FRUWlmaEKv4qKikozQxV+FRUVlWbG/wOdpiXfy+mu3QAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"single = [0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 2, 3, 4, 4, 4, 3, 4, 4, 5, 4, 4, 4, 5, 5, 5, 5, 5, 6, 5, 7, 6, 6, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 9, 9, 8, 8, 9, 9, 10, 10, 9, 8, 10, 10, 11, 10, 9, 11, 11, 12, 12, 10, 12, 13, 13, 11, 13, 13, 13, 12, 14, 14, 14, 13, 15, 15, 16, 15, 14, 15, 16, 17, 17, 15, 17, 17, 19, 15, 18, 18, 19, 19, 19, 20, 17, 20, 20, 20, 21, 21, 22, 21, 21, 22, 22, 21, 20, 23, 25, 23, 21, 22, 26, 24, 23, 26, 27, 24, 27, 25, 26, 25, 26, 26, 30, 27, 26, 29, 26, 27, 28, 30, 31, 28, 32, 29, 29, 30, 31, 33, 34, 35, 31, 31, 33, 33, 34, 33, 33, 33, 35, 35, 35, 37, 35, 35, 38, 37, 38]\n",
"threads = [2, 0, 8, 11, 3, 8, 7, 5, 11, 5, 31, 19, 16, 6, 5, 7, 6, 8, 6, 6, 9, 9, 8, 9, 11, 13, 11, 9, 16, 11, 10, 10, 14, 11, 11, 20, 12, 14, 16, 14, 25, 17, 15, 19, 16, 37, 46, 63, 40, 22, 19, 19, 36, 20, 18, 20, 20, 21, 24, 25, 21, 22, 22, 29, 24, 23, 23, 24, 26, 24, 25, 25, 28, 24, 29, 27, 28, 28, 28, 28, 30, 27, 31, 28, 33, 30, 31, 28, 33, 32, 32, 38, 32, 33, 33, 32, 42, 34, 36, 37, 37, 38, 39, 35, 44, 40, 37, 37, 41, 40, 37, 39, 42, 41, 40, 43, 41, 44, 41, 45, 47, 45, 49, 47, 45, 44, 50, 45, 46, 49, 47, 45, 49, 49, 48, 50, 48, 48, 54, 53, 51, 50, 51, 53, 51, 51, 55, 54, 54, 56, 55, 57, 54, 55, 56, 57, 59, 57, 67, 59, 58, 58, 61, 61, 58, 60, 61, 73, 65, 59, 60, 61, 63, 63, 67, 67, 70, 69, 65, 64, 64, 66, 64, 67, 64, 71, 66, 66, 73, 78, 70, 70, 70, 71, 73, 69, 69, 74, 78, 72]\n",
"manager = [2, 0, 1, 16, 1, 1, 2, 2, 41, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 3, 2, 1, 1, 1, 3, 27, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 3, 2, 1, 2, 2, 2, 3, 1, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 3, 2, 3, 3, 2, 3, 2, 2, 3, 3, 3, 2, 3, 3, 2, 4, 5, 2, 3, 6, 7, 5, 3, 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, 4, 3, 3, 4, 4, 5, 4, 4, 5, 3, 4, 4, 4, 3, 4, 3, 4, 4, 4, 4, 4, 4, 3, 5, 3, 5, 4, 5, 5, 7, 4, 4, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 4, 6, 6, 7, 6, 5, 6, 6, 5, 6, 7, 6, 5, 6, 7, 6, 6, 6, 7, 7, 6, 5, 7, 6, 6, 7]\n",
"streams = [10, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 4, 4, 3, 3, 4, 3, 4, 3, 4, 4, 4, 4, 4, 4, 5, 4, 5, 4, 4, 4, 4, 5, 5, 5, 4, 5, 5, 5, 4, 6, 6, 5, 5, 7, 5, 5, 4, 5, 5, 5, 4, 6, 6, 5, 5, 6, 7, 6, 6, 7, 6, 5, 6, 7, 5, 6, 6, 5, 6, 6, 7, 6, 6, 6, 6, 6, 5, 6, 7, 7, 6, 7, 7, 6, 6, 7, 7, 7, 6, 7, 7, 6, 6, 7, 6, 8, 7]\n",
"sizes = [1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86, 91, 96, 101, 106, 111, 116, 121, 126, 131, 136, 141, 146, 151, 156, 161, 166, 171, 176, 181, 186, 191, 196, 201, 206, 211, 216, 221, 226, 231, 236, 241, 246, 251, 256, 261, 266, 271, 276, 281, 286, 291, 296, 301, 306, 311, 316, 321, 326, 331, 336, 341, 346, 351, 356, 361, 366, 371, 376, 381, 386, 391, 396, 401, 406, 411, 416, 421, 426, 431, 436, 441, 446, 451, 456, 461, 466, 471, 476, 481, 486, 491, 496, 501, 506, 511, 516, 521, 526, 531, 536, 541, 546, 551, 556, 561, 566, 571, 576, 581, 586, 591, 596, 601, 606, 611, 616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 766, 771, 776, 781, 786, 791, 796, 801, 806, 811, 816, 821, 826, 831, 836, 841, 846, 851, 856, 861, 866, 871, 876, 881, 886, 891, 896, 901, 906, 911, 916, 921, 926, 931, 936, 941, 946, 951, 956, 961, 966, 971, 976, 981, 986, 991, 996]\n",
"plot_result(single, threads, manager, streams, sizes, title='Complex Math')"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"manager = [2, 0, 1, 16, 1, 1, 2, 2, 41, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 3, 2, 1, 1, 1, 3, 27, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 3, 2, 1, 2, 2, 2, 3, 1, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 3, 2, 3, 3, 2, 3, 2, 2, 3, 3, 3, 2, 3, 3, 2, 4, 5, 2, 3, 6, 7, 5, 3, 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, 4, 3, 3, 4, 4, 5, 4, 4, 5, 3, 4, 4, 4, 3, 4, 3, 4, 4, 4, 4, 4, 4, 3, 5, 3, 5, 4, 5, 5, 7, 4, 4, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 4, 6, 6, 7, 6, 5, 6, 6, 5, 6, 7, 6, 5, 6, 7, 6, 6, 6, 7, 7, 6, 5, 7, 6, 6, 7]\n",
"streams = [10, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 4, 4, 3, 3, 4, 3, 4, 3, 4, 4, 4, 4, 4, 4, 5, 4, 5, 4, 4, 4, 4, 5, 5, 5, 4, 5, 5, 5, 4, 6, 6, 5, 5, 7, 5, 5, 4, 5, 5, 5, 4, 6, 6, 5, 5, 6, 7, 6, 6, 7, 6, 5, 6, 7, 5, 6, 6, 5, 6, 6, 7, 6, 6, 6, 6, 6, 5, 6, 7, 7, 6, 7, 7, 6, 6, 7, 7, 7, 6, 7, 7, 6, 6, 7, 6, 8, 7]\n",
"sizes = [1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86, 91, 96, 101, 106, 111, 116, 121, 126, 131, 136, 141, 146, 151, 156, 161, 166, 171, 176, 181, 186, 191, 196, 201, 206, 211, 216, 221, 226, 231, 236, 241, 246, 251, 256, 261, 266, 271, 276, 281, 286, 291, 296, 301, 306, 311, 316, 321, 326, 331, 336, 341, 346, 351, 356, 361, 366, 371, 376, 381, 386, 391, 396, 401, 406, 411, 416, 421, 426, 431, 436, 441, 446, 451, 456, 461, 466, 471, 476, 481, 486, 491, 496, 501, 506, 511, 516, 521, 526, 531, 536, 541, 546, 551, 556, 561, 566, 571, 576, 581, 586, 591, 596, 601, 606, 611, 616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 766, 771, 776, 781, 786, 791, 796, 801, 806, 811, 816, 821, 826, 831, 836, 841, 846, 851, 856, 861, 866, 871, 876, 881, 886, 891, 896, 901, 906, 911, 916, 921, 926, 931, 936, 941, 946, 951, 956, 961, 966, 971, 976, 981, 986, 991, 996]\n",
"plot_result([], [], manager, streams, sizes, title='Complex Maths')"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"single = [0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 4, 5, 5, 5, 5, 5, 7, 9, 7, 10, 9, 10, 18, 11, 13, 15, 17, 18, 15, 17, 19, 22, 21, 22, 24, 29, 29, 26, 27, 32, 34, 36, 31, 36, 34, 42, 54, 41, 40, 49, 52, 45, 47, 50, 51, 50, 53, 55, 56, 58, 59, 62, 64, 65, 68, 69, 71, 74, 78, 78, 81, 82, 84, 86, 88, 92, 93, 96, 114, 101, 103, 105, 109, 109, 112, 136, 117, 120, 125, 127, 131, 131, 134, 137, 141, 142, 148, 148, 151, 155, 157, 160, 164, 167, 202, 173, 177, 182, 184, 198, 189, 193, 195, 204, 206, 225, 211, 214, 215, 220, 226, 228, 230, 234, 245, 243, 245, 249, 255, 256, 261, 264, 271, 272, 277, 279, 285, 287, 293, 298, 302, 304, 310, 317, 317, 323, 328, 363, 347, 346, 352, 351, 353, 359, 365, 382, 373, 417, 385, 391, 393, 398, 401, 409, 410, 414, 419, 423, 430, 440, 438, 443, 448, 457, 484, 472, 475, 476, 486, 485, 489, 493, 524, 508, 511, 520, 526, 531, 533, 539, 546, 571, 554, 562, 572, 582, 578, 595, 613, 601, 603, 608, 614, 620, 632, 644, 637, 642, 655, 656, 666, 668, 697, 681, 692, 693, 718, 710, 712, 719, 725, 743, 755, 743, 754, 756, 763, 770, 781, 792, 808, 805, 803, 839, 819, 838, 839, 839, 856, 859, 878, 880, 885, 884, 922, 893, 906, 935, 915, 933, 944, 955, 954, 976, 965, 968, 983, 983, 996, 996, 1012, 1045, 1060, 1028, 1034, 1059, 1064, 1057, 1088, 1078, 1083, 1104, 1106, 1113, 1121, 1151, 1138, 1146, 1167, 1162, 1180, 1190, 1189, 1187, 1222, 1208, 1229, 1231, 1235, 1245, 1261, 1279, 1266, 1277, 1301, 1299, 1308, 1321, 1322, 1332, 1363, 1347, 1357, 1381, 1386, 1401, 1390, 1412, 1420, 1427, 1435, 1431, 1448, 1466, 1469, 1485, 1510, 1485, 1496, 1529, 1529, 1563, 1554, 1551, 1569, 1578, 1575, 1589, 1590, 1601, 1613, 1639, 1630, 1666, 1668, 1660, 1689, 1698, 1707, 1697, 1737, 1717, 1750, 1739, 1778, 1782, 1788, 1776, 1816, 1819, 1843, 1838, 1847, 1871, 1878, 1868, 1881, 1882, 1904, 1930, 1915, 1935, 1950, 1942, 1966, 1966, 1981, 1997, 2013, 2011, 2061, 2058, 2048, 2050, 2102, 2105, 2086, 2117, 2124, 2130, 2135, 2167, 2147, 2154, 2177, 2188, 2208, 2204, 2232, 2227, 2247, 2280, 2294, 2308, 2301, 2310, 2311, 2345, 2339, 2344, 2386, 2384, 2391, 2416, 2427, 2422, 2430, 2442, 2465, 2463, 2477, 2517, 2520, 2523, 2550, 2540, 2552, 2572, 2597, 2616, 2606, 2601, 2649, 2650, 2675, 2686, 2669, 2692, 2704, 2713, 2732, 2762, 2756, 2770, 2797, 2786, 2837, 2810, 2826, 2867, 2887, 2898, 2900, 2910, 2899, 2914, 2921, 2945, 2947, 2988, 2978, 2986, 3000, 3044, 3041, 3049, 3053, 3083, 3097, 3105, 3104, 3144, 3179, 3146, 3170, 3194, 3235, 3245, 3215, 3231, 3246, 3255, 3263, 3301, 3291, 3313, 3352, 3367, 3351, 3371, 3390, 3398, 3408, 3455, 3434, 3448, 3498, 3522, 3545, 3530, 3554, 3545, 3546, 3573, 3596, 3598]\n",
"threads = [1, 3, 4, 9, 26, 14, 12, 10, 11, 17, 14, 15, 30, 18, 20, 26, 27, 27, 24, 28, 28, 34, 60, 60, 39, 58, 36, 53, 40, 47, 41, 46, 67, 55, 53, 65, 64, 63, 70, 55, 58, 63, 57, 65, 62, 63, 72, 63, 71, 81, 72, 100, 76, 78, 86, 87, 90, 78, 80, 82, 88, 85, 100, 90, 88, 102, 91, 95, 104, 96, 101, 112, 102, 114, 103, 116, 107, 117, 107, 117, 114, 116, 114, 123, 128, 119, 144, 123, 138, 127, 140, 130, 143, 134, 171, 134, 175, 139, 151, 141, 156, 137, 143, 162, 174, 164, 152, 181, 155, 153, 183, 163, 185, 182, 197, 202, 190, 195, 189, 200, 174, 247, 198, 194, 203, 208, 202, 198, 203, 225, 209, 211, 235, 225, 213, 227, 244, 210, 230, 227, 230, 238, 211, 245, 241, 241, 250, 239, 270, 375, 289, 269, 389, 934, 295, 425, 463, 617, 660, 314, 672, 1137, 436, 570, 323, 322, 288, 318, 295, 293, 389, 363, 354, 373, 323, 341, 343, 326, 343, 324, 313, 320, 327, 320, 325, 310, 322, 330, 350, 345, 353, 355, 356, 409, 352, 356, 372, 360, 355, 375, 366, 446, 347, 368, 364, 374, 413, 374, 393, 415, 435, 375, 405, 427, 420, 419, 409, 418, 401, 390, 432, 445, 421, 424, 411, 415, 405, 461, 443, 445, 429, 422, 434, 429, 469, 462, 437, 431, 437, 474, 454, 491, 496, 467, 466, 593, 508, 473, 563, 528, 517, 488, 497, 492, 514, 489, 533, 505, 541, 518, 526, 513, 539, 540, 531, 671, 772, 664, 548, 539, 554, 562, 585, 564, 629, 756, 596, 572, 628, 554, 605, 595, 593, 605, 588, 653, 594, 652, 605, 648, 609, 584, 611, 610, 590, 589, 659, 602, 601, 634, 617, 681, 622, 618, 663, 664, 650, 689, 675, 652, 697, 698, 643, 693, 759, 709, 659, 666, 678, 646, 691, 762, 734, 697, 699, 819, 741, 814, 735, 764, 735, 739, 778, 796, 752, 764, 762, 765, 775, 781, 750, 762, 788, 840, 769, 814, 806, 831, 755, 775, 817, 799, 802, 808, 808, 817, 836, 833, 844, 807, 885, 871, 823, 855, 838, 867, 915, 837, 851, 889, 856, 855, 939, 923, 906, 910, 894, 888, 923, 915, 939, 902, 929, 875, 956, 889, 927, 925, 911, 994, 977, 925, 931, 1035, 912, 1047, 1005, 1030, 978, 938, 1004, 984, 1017, 998, 980, 1064, 989, 991, 1022, 1009, 985, 1044, 1102, 1028, 1049, 1042, 1086, 1051, 1062, 1075, 1091, 1078, 1077, 1066, 1098, 1035, 1074, 1064, 1083, 1083, 1062, 1122, 1124, 1106, 1139, 1120, 1129, 1160, 1127, 1209, 1114, 1124, 1148, 1169, 1165, 1151, 1120, 1130, 1142, 1218, 1193, 1197, 1179, 1171, 1165, 1236, 1223, 1178, 1239, 1222, 1214, 1200, 1206, 1215, 1213, 1214, 1249, 1252, 1337, 1231, 1232, 1319, 1283, 1246, 1262, 1297, 1278, 1300, 1244, 1264, 1327, 1333, 1266, 1342, 1326, 1412, 1282, 1296, 1303, 1315, 1363, 1341, 1333, 1342, 1352, 1318, 1341, 1384, 1353, 1358]\n",
"manager = [2, 1, 6, 3, 1, 2, 2, 4, 2, 5, 1, 2, 3, 3, 2, 2, 2, 3, 4, 2, 2, 3, 3, 4, 4, 3, 3, 3, 3, 5, 6, 6, 5, 6, 5, 8, 5, 5, 5, 5, 7, 7, 6, 7, 11, 7, 8, 5, 8, 7, 9, 17, 13, 11, 27, 16, 13, 11, 10, 19, 22, 13, 15, 13, 13, 13, 16, 14, 14, 15, 16, 17, 18, 16, 31, 13, 15, 15, 14, 15, 16, 28, 16, 15, 18, 16, 18, 20, 18, 20, 23, 18, 26, 19, 26, 21, 22, 21, 28, 24, 32, 27, 24, 25, 31, 28, 26, 25, 26, 27, 28, 28, 45, 31, 34, 32, 31, 31, 31, 40, 32, 36, 36, 34, 37, 40, 38, 36, 40, 43, 37, 42, 39, 39, 41, 40, 46, 66, 43, 45, 43, 53, 67, 45, 51, 48, 52, 49, 58, 51, 54, 52, 55, 104, 66, 61, 74, 70, 66, 69, 83, 120, 72, 75, 63, 68, 99, 67, 66, 64, 61, 64, 72, 99, 75, 87, 71, 71, 90, 71, 104, 70, 79, 105, 77, 75, 85, 80, 86, 106, 77, 84, 86, 79, 85, 82, 92, 83, 84, 87, 93, 94, 110, 90, 121, 90, 91, 93, 91, 100, 92, 124, 101, 102, 104, 99, 102, 102, 102, 102, 121, 118, 108, 104, 105, 113, 111, 111, 113, 107, 109, 127, 133, 127, 119, 115, 118, 123, 119, 142, 138, 119, 121, 136, 136, 126, 133, 127, 142, 129, 142, 144, 132, 144, 148, 141, 142, 141, 139, 138, 150, 155, 143, 158, 144, 159, 172, 199, 166, 167, 151, 151, 168, 163, 164, 157, 174, 163, 179, 178, 165, 177, 169, 181, 177, 171, 172, 167, 188, 172, 177, 204, 181, 203, 188, 195, 186, 202, 194, 202, 207, 197, 189, 217, 192, 195, 218, 196, 200, 198, 202, 206, 217, 200, 222, 224, 216, 223, 213, 243, 221, 213, 215, 223, 216, 225, 224, 241, 234, 232, 232, 236, 226, 260, 240, 250, 241, 235, 245, 249, 258, 272, 254, 288, 266, 253, 261, 274, 276, 258, 265, 256, 254, 258, 291, 266, 273, 263, 271, 265, 280, 288, 273, 285, 303, 276, 292, 297, 290, 295, 284, 284, 294, 290, 294, 299, 303, 300, 318, 302, 305, 305, 324, 318, 302, 311, 321, 317, 330, 325, 310, 325, 330, 331, 331, 326, 327, 342, 344, 382, 343, 336, 343, 362, 343, 354, 353, 363, 348, 352, 363, 345, 346, 364, 444, 361, 369, 363, 368, 383, 367, 369, 373, 371, 387, 377, 382, 380, 371, 375, 391, 393, 391, 386, 395, 395, 392, 419, 407, 405, 411, 399, 407, 417, 415, 427, 421, 430, 415, 427, 431, 442, 448, 445, 447, 442, 450, 488, 447, 450, 452, 468, 459, 448, 463, 458, 458, 453, 479, 472, 466, 466, 470, 486, 469, 504, 514, 489, 495, 486, 504, 498, 491, 498, 494, 502, 509, 519, 542, 512, 504, 513, 515, 514, 524, 518, 518, 520, 512, 533]\n",
"streams = [14, 3, 1, 3, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 2, 3, 3, 5, 4, 6, 4, 3, 5, 5, 4, 6, 5, 5, 7, 6, 6, 8, 8, 8, 8, 8, 7, 9, 9, 8, 8, 11, 10, 8, 9, 11, 11, 10, 11, 12, 12, 11, 12, 12, 12, 12, 13, 13, 15, 14, 14, 17, 14, 17, 17, 17, 17, 32, 16, 18, 16, 18, 17, 19, 22, 21, 21, 28, 22, 24, 23, 25, 26, 25, 23, 30, 25, 30, 31, 69, 26, 30, 30, 27, 29, 32, 28, 29, 32, 33, 34, 34, 50, 31, 33, 34, 42, 37, 41, 37, 37, 41, 40, 37, 39, 41, 46, 43, 46, 48, 42, 49, 43, 54, 48, 67, 48, 48, 57, 46, 49, 53, 50, 88, 54, 91, 53, 54, 57, 54, 91, 69, 65, 70, 481, 67, 91, 81, 158, 82, 79, 67, 76, 70, 71, 65, 98, 69, 84, 88, 75, 111, 80, 72, 74, 73, 80, 87, 87, 86, 79, 86, 83, 81, 89, 88, 90, 93, 95, 90, 96, 104, 102, 107, 114, 111, 112, 104, 129, 99, 102, 115, 123, 113, 109, 115, 128, 103, 117, 129, 110, 121, 112, 125, 116, 117, 155, 120, 126, 125, 119, 129, 117, 137, 125, 122, 123, 135, 127, 150, 136, 144, 137, 131, 140, 137, 133, 132, 147, 147, 143, 174, 140, 153, 169, 163, 158, 179, 157, 152, 157, 161, 160, 175, 165, 155, 174, 169, 176, 178, 175, 176, 219, 217, 206, 170, 179, 177, 184, 184, 197, 198, 205, 182, 202, 213, 212, 185, 177, 222, 187, 228, 200, 201, 208, 210, 200, 234, 214, 206, 247, 227, 213, 248, 209, 216, 249, 216, 230, 237, 220, 263, 223, 211, 252, 230, 255, 256, 241, 231, 260, 227, 241, 264, 245, 268, 262, 259, 251, 262, 243, 252, 239, 287, 279, 256, 285, 271, 254, 284, 306, 266, 254, 292, 293, 307, 276, 280, 282, 302, 323, 292, 300, 330, 282, 320, 287, 286, 297, 296, 302, 309, 283, 300, 297, 300, 328, 328, 323, 333, 334, 328, 324, 301, 322, 373, 321, 325, 333, 337, 347, 340, 332, 335, 358, 328, 355, 330, 366, 389, 322, 349, 372, 354, 395, 384, 363, 388, 356, 353, 406, 412, 401, 354, 408, 393, 396, 391, 375, 391, 369, 372, 393, 423, 397, 358, 409, 423, 395, 423, 451, 418, 415, 411, 422, 420, 386, 456, 419, 438, 462, 404, 435, 456, 460, 458, 426, 437, 461, 409, 430, 480, 505, 470, 452, 494, 466, 482, 483, 447, 473, 454, 487, 466, 442, 529, 489, 470, 514, 484, 526, 498, 526, 487, 525, 488, 495, 500, 514, 538, 526, 538, 523, 525, 563, 551, 523, 566, 540, 516, 531, 550, 525, 524, 556, 606, 532, 520, 538, 535, 546, 572, 574, 565, 544, 588, 544, 593, 616, 536, 604, 592, 600, 575, 563, 571, 570]\n",
"sizes = [1, 21, 41, 61, 81, 101, 121, 141, 161, 181, 201, 221, 241, 261, 281, 301, 321, 341, 361, 381, 401, 421, 441, 461, 481, 501, 521, 541, 561, 581, 601, 621, 641, 661, 681, 701, 721, 741, 761, 781, 801, 821, 841, 861, 881, 901, 921, 941, 961, 981, 1001, 1021, 1041, 1061, 1081, 1101, 1121, 1141, 1161, 1181, 1201, 1221, 1241, 1261, 1281, 1301, 1321, 1341, 1361, 1381, 1401, 1421, 1441, 1461, 1481, 1501, 1521, 1541, 1561, 1581, 1601, 1621, 1641, 1661, 1681, 1701, 1721, 1741, 1761, 1781, 1801, 1821, 1841, 1861, 1881, 1901, 1921, 1941, 1961, 1981, 2001, 2021, 2041, 2061, 2081, 2101, 2121, 2141, 2161, 2181, 2201, 2221, 2241, 2261, 2281, 2301, 2321, 2341, 2361, 2381, 2401, 2421, 2441, 2461, 2481, 2501, 2521, 2541, 2561, 2581, 2601, 2621, 2641, 2661, 2681, 2701, 2721, 2741, 2761, 2781, 2801, 2821, 2841, 2861, 2881, 2901, 2921, 2941, 2961, 2981, 3001, 3021, 3041, 3061, 3081, 3101, 3121, 3141, 3161, 3181, 3201, 3221, 3241, 3261, 3281, 3301, 3321, 3341, 3361, 3381, 3401, 3421, 3441, 3461, 3481, 3501, 3521, 3541, 3561, 3581, 3601, 3621, 3641, 3661, 3681, 3701, 3721, 3741, 3761, 3781, 3801, 3821, 3841, 3861, 3881, 3901, 3921, 3941, 3961, 3981, 4001, 4021, 4041, 4061, 4081, 4101, 4121, 4141, 4161, 4181, 4201, 4221, 4241, 4261, 4281, 4301, 4321, 4341, 4361, 4381, 4401, 4421, 4441, 4461, 4481, 4501, 4521, 4541, 4561, 4581, 4601, 4621, 4641, 4661, 4681, 4701, 4721, 4741, 4761, 4781, 4801, 4821, 4841, 4861, 4881, 4901, 4921, 4941, 4961, 4981, 5001, 5021, 5041, 5061, 5081, 5101, 5121, 5141, 5161, 5181, 5201, 5221, 5241, 5261, 5281, 5301, 5321, 5341, 5361, 5381, 5401, 5421, 5441, 5461, 5481, 5501, 5521, 5541, 5561, 5581, 5601, 5621, 5641, 5661, 5681, 5701, 5721, 5741, 5761, 5781, 5801, 5821, 5841, 5861, 5881, 5901, 5921, 5941, 5961, 5981, 6001, 6021, 6041, 6061, 6081, 6101, 6121, 6141, 6161, 6181, 6201, 6221, 6241, 6261, 6281, 6301, 6321, 6341, 6361, 6381, 6401, 6421, 6441, 6461, 6481, 6501, 6521, 6541, 6561, 6581, 6601, 6621, 6641, 6661, 6681, 6701, 6721, 6741, 6761, 6781, 6801, 6821, 6841, 6861, 6881, 6901, 6921, 6941, 6961, 6981, 7001, 7021, 7041, 7061, 7081, 7101, 7121, 7141, 7161, 7181, 7201, 7221, 7241, 7261, 7281, 7301, 7321, 7341, 7361, 7381, 7401, 7421, 7441, 7461, 7481, 7501, 7521, 7541, 7561, 7581, 7601, 7621, 7641, 7661, 7681, 7701, 7721, 7741, 7761, 7781, 7801, 7821, 7841, 7861, 7881, 7901, 7921, 7941, 7961, 7981, 8001, 8021, 8041, 8061, 8081, 8101, 8121, 8141, 8161, 8181, 8201, 8221, 8241, 8261, 8281, 8301, 8321, 8341, 8361, 8381, 8401, 8421, 8441, 8461, 8481, 8501, 8521, 8541, 8561, 8581, 8601, 8621, 8641, 8661, 8681, 8701, 8721, 8741, 8761, 8781, 8801, 8821, 8841, 8861, 8881, 8901, 8921, 8941, 8961, 8981, 9001, 9021, 9041, 9061, 9081, 9101, 9121, 9141, 9161, 9181, 9201, 9221, 9241, 9261, 9281, 9301, 9321, 9341, 9361, 9381, 9401, 9421, 9441, 9461, 9481, 9501, 9521, 9541, 9561, 9581, 9601, 9621, 9641, 9661, 9681, 9701, 9721, 9741, 9761, 9781, 9801, 9821, 9841, 9861, 9881, 9901, 9921, 9941, 9961, 9981]\n",
"plot_result(single, threads, manager, streams, sizes, title='Complex Maths')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}