Last active
July 7, 2019 09:00
-
-
Save martin-mok/ee8075fa1856423c9f15dccdd2f4edb3 to your computer and use it in GitHub Desktop.
The very basic of guessing a random number
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# The very basic of guessing a random number. \n", | |
"If we want to guess a random number X in a given range (e.g. between 1 and 100), the best strategy is to use binary search.\n", | |
"While the range is 1-100, the max number of guessing is 7 in a binary search. It is quite interesting to show the distribution of number of guesses needed for diferent X by using binary search as solving strategy. However, if the random number X is biased, say for example, it has 80% chance to be in 1-50 vs 20% in 51-100, then the averange number of guessing can be reduced by using some statistical method induced, improving the efficiency of a practical number guessing program.\n", | |
"### Reference links: \n", | |
"1.[6 Tries to Guess a Number Between 1-100](https://puzzling.stackexchange.com/questions/3074/6-tries-to-guess-a-number-between-1-100) \n", | |
"2.[What is the best strategy for a guess-my-number game?](https://math.stackexchange.com/questions/98344/what-is-the-best-strategy-for-a-guess-my-number-game) \n", | |
"3.[Guessing a number knowing only if the number proposed is lower or higher?](https://stackoverflow.com/questions/9605110/guessing-a-number-knowing-only-if-the-number-proposed-is-lower-or-higher) \n", | |
"\n", | |
"\n", | |
"\n", | |
"Below is the program that use binary search to guess the random number, and the distribution of this method is shown." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"guess a random number in between 1 and 100\n", | |
"x=80 times of guessing:7\n", | |
"a,b,guess=(79, 81, 80)\n" | |
] | |
} | |
], | |
"source": [ | |
"import random\n", | |
"def guess_num(xmin,xmax,x):#since min & max are python Built-in Function name, we use xmin & xmax here.\n", | |
"\ta,b,guess_count=xmin,xmax,1\n", | |
"\tif x==xmin:\n", | |
"\t\treturn a,b,xmin\n", | |
"\tif x==xmax:\n", | |
"\t\treturn a,b,xmax\n", | |
"\tguess=int((a+b)/2)\n", | |
"\twhile guess!=x:\n", | |
"\t\tif guess<x: a=guess\n", | |
"\t\telif guess>x: b=guess\n", | |
"\t\tguess=int((a+b)/2)\n", | |
"\t\tguess_count=guess_count+1\n", | |
"\treturn guess_count,a,b,guess\n", | |
"# Driver code to test above method\n", | |
"print(\"guess a random number in between 1 and 100\")\n", | |
"xmin,xmax=1,100\n", | |
"#for x in range(xmin,xmax+1):\n", | |
"x=random.randrange(100)\n", | |
"print('x='+str(x),\"times of guessing:{0}\\na,b,guess={1}\".format(guess_num(xmin,xmax,x)[0],guess_num(xmin,xmax,x)[1:]))\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"average number of guessing is 5.68\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAxMAAAEkCAYAAABUumxsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsfXmcJEWV//dVVVf39DEzzM0hDCICgqsIciuDgqDruXhfoCvouq6irruuqyvqyiEI6qo/BZYdjxUPdvEARAVmABFxAZFbQRgcGIa5j77riN8fEVEZEfkiM7K6enq6J76fT3+6qjIz8uXLiMz34n3fCxJCICIiIiIiIiIiIiIioihKUy1ARERERERERERERMT0RHQmIiIiIiIiIiIiIiLaQnQmIiIiIiIiIiIiIiLaQnQmIiIiIiIiIiIiIiLaQnQmIiIiIiIiIiIiIiLaQnQmIiIiIiIiIiIiIiLawg51JohoGREJIlq1M5yTiFaqbafvKHnyZAo8fqk6fpep60tELyOiG4hoCxE1p+K+7UwgolVKB8umWpYdDZL4ABHdTUTDeiwQ0dKplm26gohOVzpcOdWyzERMtz5KRGcreZe3cewu936KyMeu/M7KAhEtV3o5e6plcVHknlUCG1wO4DTn5zqAbQA2A7gPwO8AXCGEeKyQtBEWiOi1AJ4PYKUQYuUUi7NTgIheBODnkM5vA8B6AALAyFTKFTFl+ASAf1efRwE8rT43pkaciIiIiIgIG4aD8CUhxJaplGWyEeRMGKgB2KQ+E4DZAOYB2A/AawD8OxH9D4D3CyHWM8cPA/gjgCfbE7ctTMU585Al02uROG4rPcfX1PG7Cj4I6Uj8EMDpQojoROza+JD6/xHIh3ScAZ04tkI+U/4y1YLMUOjndW1Kpdgx2NXeTxERPnxa/V8OIDoTBn4jhFhm/kBEcwEcBeB0AG8A8HoARxPRkUIIy1gWQvwOwIFtS9sGpuKceZioTEqvO9U1TTIOVv+/Ex2JXRtEtAjAQvX10uhIdAZCiKsAXDXVcsxUCCF2mef1Lvh+iojY5THhnAkhxBYhxHVCiDcD+GtI2sGeAP5nom1HRCjMUv8Hp1SKiJ0Bui9ACBH7Q0RERERExBSjownYQojrAPyj+nokEb3K3J6TDF1SSYAriGgjEdWIaD0R3U9ElxPRKVltEdHLiejnRLROJeielXdOp73diOhiInqUiEaJ6AkiuoSIdvfsn5s040vw5mTSvyGhOH3aSNqzktlCEtyI6FAi+i4RrSaiMSLaQES/IKJTM45pJdsQ0TwiuoiIHlPHP0lEl/r0EQIi6iaijxDR7US0lYhGiOiP6jxLmP31NS5VP60w9LEy8JxWYikRvUr1sS1ENEhEvyWit4Qc69mHTVR07xERHUFEP1F9ejsR/YaIXmHsXyWifyai+0gmFT9NRN8konkB17g3EV2m7vWoumcXEtGcnOMWEtG5RHSv0sWQOv/nfed1+sieRPR1NWbGiOjuPFmdthYT0ReJ6CF1zVuJ6HdE9FEi6nb21eNjlfGbOT7OLnjuV6p+sJWItql+cJra5hu3uUmpec8Fks+5dxDRr1RfGCeiNUT0AyI6MqPd44noSpLPpXEl98NE9GMiei8RlZz9B4joU0R0p+pv+jx3ENEFRHSIs7+3r1MHngtEdBrJcT9ERJuU7l/ptp/VBtNmZlKzOwadba17TESz1L39I8ln0joi+j4R7Z9x7tcQ0bVqnNbUNf2RiK4gojeFyur2KUNP21W/XEFEJ+Xo4Tmq/6xT8j9ERJ8hop6QPpsH1Wc/TER/UPdvIxH9lIiO8OyfpffW+CCiMhGdpdodVjq8mogO97RbJqITiOjLql8/bfTrq4joJRnXYN7vuUR0PiXPnS1KZl3Y45CMdvpJPisFEb0sRH/quELj0TnfJ4jo/0iO+VGS4/4rRPSMjGPeQET/TfJ5vkX1i0dI2jRZ/brVT4noICL6Fsn3So2IfszsfzIlz6UxIlpL8ln6SZ986riO2Rduf6NJetcS0SEkbdHH1H3YQkS3EtH7iKjL2Xe50/8fI/t9tdxzjkJjwjhuP3UN2n7dTEQ3E9F7iKicc+zb1D0bVOe7kYj+OusYFkKI3D9IvpeATArO27cKYK3a/wpn2zL1+yrmuP9W2/TfFgBjxvff+toC8FH1uQmZEF4HcFbAOVeqbR8F8Ij6PAw5A67Puw7AQRk6OTtDF7r90/P0AOAYpbcRtW1QfW/9Gfsu1fJ5znsmZDKqvgatE/39OwDKzHGr1Pa3G5+HIKNN+tjHAOwW0m+cthcCuMtoZxQygV9/3wTgKOcYfe0NYx/92/8Gnvd0dexKAJ9Snxuqf5n97aysYzPaP1vts9z5fanR9qsBjKv+aZ63AUkN7AGwAklS+bCxz10Aqhn36j2qjwoA243+IwA8DGB3j9zHAdho7DvmnPcvAA7IOO+ZSBLhhyD7690F+sMRzvm3ObLfDWARMz7WG/uY4+MfC5z7k0Yb+pmh+9jF8I9b9l6HPhcADAD4lXPurU5/+IBnPJt9Vevb/K3H2H8OgPuddjfBfiacF9rXMcHnAoBLHVk2q2sXkPkvus1lBZ8pus2lnu1L9T7MNn2PP4jkuTQKewxsBLAfc+znHd27fXdtqKxmnwJwmfpcZ/rFqZ5rPNE591Yk783bAJyr2y+oWy3XtyBZBgIyF8J8ftUBvKmg3perbf8OWVRDQD4btxvtjgA4mjn2EEfvo0iPg094rkff748B+LNx/DYAW9Q+v1S/fzFDL3+L5PlYCtRl4fGojjsIydjQ+jevdxOAY5njPsD0T9OWGgRwYs6YegfkGDf794+N/aqQdoR5ni1KRv39bKdtfS0dtS8wye9aQ6fm/RqEbVOtANBr7P9lJHawgHxvme+rL3diTKjjXwn7GbBFHa+//wpAn+fYrzo6Mp/NH0SBZ3PozdIXuzJw/++p/Z9wfl+mfl/l/P5i42LOAjCgficAu0PO1l/oaWtE3dSvAVistvUA2CvrnM4DZgtkRZhXQj0gABwP4FG1/T4AXR6dnJ2hB93+6SF6KNDuUt0BmG3HIOn0PzL00A9ZBUd3lE8yx+qOsxnA73XnhcytebX6XQD4QpHBrtrQg2QT5KAuq98PB3CP2rYWwIIMuXI7NHPs6cY11SENyblq22KlI92P5nmO9fZ7hDkTWyANBd0/FwL4sdr2BOSAfgqSJlhWf69G4my9P0MnWyCdhuPU7yXIYgja6P4lc+w+xr28FMAB6jiCzE/R9+p+OE6ncd7t6r4dY2x7VuA92Q3AGtXOPQBeqH4vQ+ZcbVLbflWk7wee+wTjvlwO5bBAvvA/Z+iUG7fsvQ4dv5A5CQLAHwC8AsAs9ftcAP8C+cJvwDAQAPQiean8J4BnGNvmATgF8nlbNX7/N7X/OtWnKur3LgD7A/hnAGeE9nVM4LkA4F2Gvs8BMEf9vghyTIwjMVoKjW+j3aWe7d6+guTZvBnSgDlZ9b8SgBcBWK22/5BpUz9fz4HxvFLXdCqA/wyV1ehTmyGfQe+DMkoA7AvgJrV9jb6PxrELAGxQ228HcIhxn9+q+o2+N94+69GdlmsL5HPzw0j6635IDO9hOA5Xjt6XG9e7EcAbofougL8CcK/a/jvm2GdDFuF4JeSzmwy9f1LJ2QRwZMb93g7pCJyC5F3/LPX/jWqfp+G87412fq32+WwBXbYzHueofikgnxuHGsctBfBtJO/Muc6xbwHwFQBHIxlvBJnH8l1DlpSBiaSfblc6O8Q4fj9jv6+p/eqqr+h3W0Vd0z8COLNTz5Ec/bb6GybnXfsaJA7EvyB5Z3QBOAnAQ2r7N4s+ozowJvZD4mCuhJoABNANOQmlHbXLmGPfZsh3AWy76Fso+GwOvVn6YlcG7v8vhpBdxu/LwDsT/6R+/3mBDrTMOMf3AvZbxWxbqbY1AbyI2X4AEo/+7R6dnJ1xbt3+6QVkCml3qb52ZtsNatuvwUcfzkHysJjtGexrAcxnjtURoEdD75M67kXGvTqF2b4YiQGZekijM86EAPCvzPYeJDP77/Qc6+33CHMmbmSO64M9+3g8s8+nMo7XOhkBY8TDNpqPc7bpF8qXPddUhYwMCACv95x3M9QDu4178imjjSXM9pcZsr8ktO8HnlsbZ7+AMkac7V83zu2OW/ZeO/ssBzN+IWeQBaSBMM9zrH4OXm38dgSSF1lqPHvauVYd889tjJNUX0ebzwVIA+Qxte0Sz3mvMfRdaHwbxy31bPf2FSTP5mHP+DlVbR+F7ahpg/PBTshq9CkB4G3McbsjeQe92Nn2GSTG71zm2DcabXv7rEdeUy7fc1MbUZc527L0vtxo9zhm+2HG9n0KyqyfK/+Vcb/HoQxkZp8qknfBa5jtz0ZiL+xbQK52xuO/q2N+DOY5JeyxUyQqS0iio6dl9NM/QzmPzD4HI5mUPLPAuVdhcuyLpYbcHX3XQjobWu7Xec6/L+TzuQaHCWCcc2mG/G2PCcgJJgHJrOlljtVR7SaM55zqBw/D82xw+knQs3myFq3bbHzO5XxDeoUAsIgc7m8gLmjjGBO3CCFucX8UQvwRwJXq6+sneI5Jh+L8naC+niuE4Orunw/5guyHnB3lcIkQYiPzu+ZM7ktEfQVE07q7Q8i8GgtCiKcBfEN9fWOBdotgFMCXmHOPQhqWgAyjTwbOY847BOC36utvhBA3McfdECDXD4UQjzDtrwDwG/W11XeJaBZkZAgALuIaFEKMI+n3Pr72t9V9awdansuEEGuZ8/8SkqIBdLA/ENECyCgoIGe/BLPb+Z06n4PT1P/lQohNnn2+p/6fYPBc9bOxC8D8wHPpY9rOb/Kg6HPhBUjynb7gaXOy9B2KK7nxA+CnkC/RbgDPMn7Xup1DRL0dlOMvSO5/C0KIpyDXcALSz4G/Uf8vEUwNeyHEDyGj6xPBMPzPzS+qr6cSERVs9xYhxK+Zdu+EnEEGkip+ofiZ+n9sxj4/F0Lcx21Qz73vqK/vZnZ5l/q/QhRbT6ud8aifFxd7nlMAcIX6n5lTY0K1dY36mqWnrwp/5cR3QBqbDwkhLgk9t4FO2xcmOv2uXQYZyV8lZMW7FFRf+C1khGVZcZFbKDQm1JjTObAXCyGGmTYvg1yCgGDbsM9H8lw7lzmngJx4DsaOWAHbNxBMXA85Y/ACACuJ6O1EtEdg+yOQtIGJYGXGNt3xXjDBc+wIHArZaQQSuS0IIbYCuFN99V3T/3l+N0v9zi0glz7Piox9blT/nz2BB0kWHlAPFQ76unabhPMCMkzJYZ36z77ckCzGliXXyoxtXN89HHIGDgBuVwlzqT9IbjEA+JLobvP8ngkiqiJ5YIf0h06Ou+er/00kjpYFIcTjmJy1Fo5R/z+cofM71D69SByHh9VfFcBtJBNhD8wx3q5V/z9IRN8hWZxioAPXUPS5cKj6v9ZjsAPyJTyVay+w1ySEqCEZn+b4ux0yiro75P04k4j27YAcd2QYjannE8kCBc9RX1MGiIGsbaFy+Z6b+vkyF3J2tgh8fQnIeB6TTJb/MMmE6nUqMVgn3/5e7ZZlO+Q9ty5T/19BRIuN85YBvFN9vTynDReFxqNKXN5Lff1RxvPiK2qf1DOaiPYimWR+p0oUbhh6uljt1q6ejnKuqyg6bV+Y6PS7Vj+39/DdB3UvtGPmTToPQNEx8UxIOhzgeZcKIZpIbATzXao/r1OT5hx+A0ljC8JkORPmBW/27qWgXjR/B+kYvAhyduBJlTX//4jo0IzDNyqFTQRZC9rpbQsz9tlZoGXcKrLLZmov13dN27kf1WyURhe3T45cWXrWMhEkF7jTYK9JQV9XkWsKhppd5KAjR3nbs9aDKdp3zdmxxRl/s9U+vtlXblHKEMxD8twJ6Q+dHHe6X23NmHUDJD+909B6n4NsvWv0AoCKLr4VUlfPhIwmPQhgAxH9iIhe7ToWQohvA7gEciy9HfKlv4WIfk9En6X2K7IVfS5offv6t54N5mYpdxQKPReEEJshZ2a3QPKZvwngUSJ6imTlm+N3hByQ71g9jrz6xcT7csjzBSg+Tgs/j1W/vRtyDByvzjkG+Sx6GjJ/BJC0Fh8yn1tCiAchjagK5NjROAXS+N4K4H+z2mDaLDoeze8L4X9WaDvLekarPvggJG3yBZDPnO2QOnoaSaSkXT3p51S7ky6dti/MNjr9rtX3oors53aP2m8i0cqiY8Icc0Xfpbk2mRBiDMmYysVkORPPVf+fUDM8uRBCXA45u3EWgJ9AvmCWQiak3UlEn/AcylF5Oomi4dudAd35u0wJdla5Ziq4vqvH/GYhBAX8LfO03Ylxt6P7w1SOZa331wTqfZU+UAhxB2RS49shEy8fhXTKXg/5rLzGLf8nhHgvZATos5AzU2OQkZlPAXiYcsqNdgjT8dmZCyHEtZDvpjMhE4LXAFgCOXO9kojaoX4Uxc6g2x0tw5cg8xYehaR3zBNC9AshFgkhliCZMc9CyHPrUvX/XcZv+vMVORMRLAqOR9MumxPwrFiqdyZZovS7kDTm6yFpnbOEEHOFEEuUnj6id88QOUtPO0Pf21HQ9+KqwOf22VMk52S9S4PvdcedCUVjeKn6mspDyIIQ4mkhxJeFEK+F9JyOgKxkQAA+R0R/1VFhE2SF+7Rn6nrqOvzTAz8y6/xPArSMs4goa6ZIh1DbnV0uCn2efTL20TIJFPCGJxk74z12UbTvtsK5xKztsQOwCZJmBIT1h072Ud3WHJU74oNv5n4i/UHr/Tme7ZkQQowIIf5bCHGaEGI/yCiFLvv5cshJF/eY+4UQnxZCnABJG3gVJA2gD8C3yKmNPgnQ+vZGQtT7IjQXxIU2eHz3Y9LGphBiqxDiUiHEm4QQe0JymbURekZbddqLwRxHWZGmiebNhDxfgEl+l6h+8hr19W1CiP9VUSITi9EZ/BBy9v5gInqhyrXSa2YVpTi1UGA8mrloRZ8XR0M+OzdBTlzc4sz4AxPXk85zy3p+zxRM6Lk9yTDHXNF3qf7sHd9Fn82TEZk4A7JUGyDXjmgLQuL/IJNFn4CU9biJi8ciKzStt93l/K4T3vYCA8X7P6gNWfQLoh3v//dIclRO4HYguZDZYeqre02TBX2e4zO43nrBoT9lcHR3NDLvscILd4QgGSjad+9AYhT/DXYwFK1F81bZPqqg+0Mn+6heVK+EhAtrgYj2hv/BnDfmCcnYcqE5yN5FI4tACPGYEOITAH6gfsqk1wghxoUQVyNJvt8dMtoxmdAc9iVEtJ9nnyPRPr0wb3zusLEphHhACHEmkkTPdulOoecbA/CA+pr1XpzoO/OFGYnm+hq3QFbtmkwsQDL7+nvPPid24kQqkVUnN78bsoRmFcB9yibpxDm841El9GojtugzWo+FP3kScoGJ60n38ZdPsJ3pAP3cPoCIihYEABJ7bDKiOY8ieQb67L0SkqRw812qPy8momd72j8G2RRrCx11JojoZCSVlW4TQlyTtb9xXNW3TXGGNVVqskI5xxNRyrgguVKkzoD/kbNZJ/q8jIi4mbEPoz15NZ+xcAKSkFVidCLOPxNfGeufIWfyBtF+AlVR6MpAByOZXWpBJbrpmdUf7iCZQqDv8Z5ElDISiehFyK6IsSPwJiJ6pvsjEb0YiWytviuE2A65CBUAfNJMMmTaqBBRfyeFVdD94XSOv09yZdmj1deO9QchxAYk0dJ/9Oz2Mc/vQNIfXujJO3gb/Al4y9X/w4nonZ59AABEZCbaep+NCppy0XrW5BxjUjQmm2Z2F4DH1Wefvv9pAu3r+8E9U7ohKbMdRTv3YxKhq8ucQcxq90R0KmQd+omgF3JhQbftbiR0mSszksc7Bb0OAJDQqE15dgfwDx08n44yvRlyghSQZTgLo83xuFz9fz8ReSclScK891vV//05u0Q9W7MmcUKgF6s7kIjeO8G2dnbcgCQ35GKXTmrCfG4baNuey4Maczp/50Mep/89APaEvF9XGr/fDVlOFpA2oQU1MfbxIvJM2Jkgojkkl1S/AtI4nQW54E+RUqrnkFyS/bVkLGlORIuJ6CuQuRQCsu7tZGAbgP8lolfomXNlKP4ccoDfj7RR8zPIB8FCAN8mokXquDlE9K+Qdbq3ojjuV/9PaTNR8lOQ0Y0XAPg+Ee2l5OpXeSe6g5wnhNjmaaOjELLsri4JezkRvV4PSmWk/xIymexpyJUjdwoIWdlHl2VcTkTPBSQvlYjeAFnKLrfAwCRjHMDPtTNMRCUiehWSB8evhBC3Osd8HElFmt8Q0euUcQDVxrOI6CzIJL7DJ0FmvXDQLADXEdHh6rxlZQB9X+13vRDiRk8b7eKz6v8pRHSZMW5nE9FnAPw9/OP2Vkh+fBXAFaSq+BBRr3qpXgpPfxCyJLJ+8F9ORJ8xxzcR7UZEryGin8Au2fsKIrqNiM4gon2M/XuJ6AxIBwZIyhsDwPVE9BUierFJ51Iza8vV16fgr3zSEaiX3efU1/cR0eeIaLaSZSHJ3IKTIcuPtgP9TD6DiN6l+7C6zmuRTdFpF39HRL8gorc692+uer4uUz/9gj26s/gPyHG8GPIZcLCSpUJEbwbwX0hmLtvFVkiK8Yd0X1KTFz+BjLyPginH2WmogiJ6RvxyInq+kqVERC+FrCzVsdlfIctx3g1pBB4M+Zz9bpvNtTMez4Ocee4DcBMRnWZO7BDRM9T4vxPA64zjboUcT/Mh7ZLd1f6ziOjdkBNJEyp4IIS4H7LwAAB8jYjONp6jZSLaX/2Wol5ON6ic33+AtD9PAvBLIjrSsBMrRHQYEen75ULbc+/MckQmgHMgF5bbAzJ37gAlV7fqH7ri138Ko6Keejafrb6+m2Tlr7nq2MWQdL6XoMizWYQtCrIcyYIv5pLgenU8/deEDLunVjFW7SxT+61yfv+S085WJDMR+u8TIW2FnlNtW6m2fRTSSxNKeeYy5usAPMfT9gcdGTcjWR3139DeonULIAe7UG09Bbloyipjn6X6nB653mvI0YR84ZhLv38X/IJ2q5CzQInRxtKQvmMctxAJDUtAOmLmPd4E/3LxuXJlnPd0dezKjH3Ohn/xliNVn9BybkeyiNQvkCwutNw5LvMeOePqbM92bxuGTt6DZKGl7Y6sD8NZRMc4/oWQlRz0vjXIXJVR4zcBZ4GfidwLp50jkCxUKFRfGDG+/wFqpdGieg0496eN87jj4wIkC9u9hTn2dUjGln5W1dTn/8y6p5CGwVWw9bsF9oJKAsaiWwBe62wbRsKX179dA2N1ZCQLDupnyCZHt0MAXho6TkLuudH2Uud3gnwx6e11Q/4mgA9ARi8EPOM/45xdkAam2Ye1LjciWbmWGz8rwTyb864bMtph3o9BJCv36r/glXAx8VXVT4Y9ZrcY33+NJK8mJVOObrVc34J0ggXk+9+81jqANxcZo1nXkndvkH4WDxrfJ3y/mWP+3jjXlRN43hQej+q4Z0FS2cxjNzo6EHAWn0PaLtmC5Bn1eyTGMTfW2X7K7NcNaeuZ59lsnCd1jzFJ9kVWfwvtd3ltQCbgjxnyjUC+L027iut373KOeVzp4cJOjAm17VVOf9oMOVb19+vBrHaujv2qsZ/5bBaqH+XeM/1XNDLRhaQU1gKl3EchF/j5V8jl1t8kJJ2gCC5Wgv8EwJ8gX0DdkBGOH0Cu/FloAY2C2AhpXH0Jcna8CjkDeSmA5wshHuAOEkJ8BcCbIF9ow5CRnlshV0r8LHdMHpTuToB8gK+HNML3QYFkJyHEN9X1fA/SGemHfMn+CsAbhBBvF/yCdpMGIcR6SOrKRyF5+zVIPT8MqfeDhRBtrV0wmRBC3A7JO/4Z5EO5AtlHPwa56F9wHeZJwiOQ0YPLIe+xXrHziwAOF55SeUJyfw+EDHH+BtIRmQv5ULoDcjGxFwp+gZ8JQwjxO8iktosh9dkFqcs7IHV7pBBinb+FCZ37M5CGx82QL/IKZI3vdwghPoYkcZdbCOwqyBW6V0DqrAxpLLxHCPG3OecdEkK8DsArIcf3k5DRmSrkffweZET3/cZhN0KWIv0W5MzlMIAByGfW9ZCLW71KCGH2w/dAOkwrIEP0ejb0IciXxyFCiBuwAyAk3g3JPf8/yHcGQb4c/1oI8VUkZYgLzaILOWt4EqQDuAryJTgE+XI+DBNff4jD9yBpLz+AjNzVIJ+vT0G+B18jZOWeHQIhxC8gx/+VkH2iGzJ/4dOQhVD0vW83QiEgef0fgbzeKqSxcjWAY4QQ3884tqNQz+KjkUSEuyAnUr4JWRmp0/fbLAHbduI12hyPQs4kHwr5PFgBaejNhnxO3gMZmToeyUJ7+rivQOZa6ChFRZ3r05A8+KwSpEEQQowJId4E+Rz9GaTd1AdpYP8W0h681N/C9IIQ4r8AHABpq9wPeQ/mQI65FZA0zqWe486AZDjUIWmw+6CD5e+FED+DpP5dCvkc7IW877+GrDh3svDkoQohPgBZJfB2JM/mmwC8UvWjYJDyTiIiIiJ2eZAsnKCNsn2FUaI1ovMgmZj9CORM2oCQCfoRHQIR3QI5GfIuIcTyKRZnWoGI3gYZxX8SwD47egIuImI6IThTOyJiVwDJaj4+NCEXPJvwzE7ETosPQjoSD0dHYodAJ2DfHB2JzoKIjoZ0JJqQiaQRxaA5/5dHRyIiIhvRmYiIsLEKMrTvBRE9CuALQogZE8bdlUBEF0HSBH4uhHha/bYEkk6gF8f84hSJN+NARP8FmdexQgixUf22LySd7Uy1W9R3GyCiMyEpEz+AzKtrqETdv4GkEALAD4UQq6dKxukIIvpbSEdsDMA3pliciIidHtGZiIiw8T5Ig3ILZOWLpyFXtz0VkiP5dchVRb9BRLVIHZiWOAKydDOIaBQyYdUs3fcdADtiFeNdBSdBJniDiIYgZ8oHjO2fF7LaVURx7A3JT/88gAYRbYXsyzof8m50tmTqjIWqfPhryL6pq0p+QQixZuqkioiYHog5ExERBojoQshKEqnSxkT0PwAeF0J8hIi+A5k4d+gOFzJiQiCilwN4I2R1mCWQCbSbIZO/LxdC/E/G4REFQURvgUzUPBSyeEcvZHGJ2wB8XXS+/O8uAyI6BLJizPGQC5bG/gxyAAAgAElEQVTNg0xCfwAyKfsbQogRfwsRGkS0FDJ5vQlZdedSAOcLIZoZh0VERCA6ExERFohoLWT5tdRMqTJClwshFhPRqwF8XwjhWx22EBYsWCCWLl3aiaYiIiIidhnceeedG4QQC6dajoiIXRmR5hQRYWMAshwvh4WQs9iAXBehY0l5S5cuxR133NGp5iIiIiJ2CRDR4/l7RURETCYmvAJ2RMQMw02QK7IfZv6oVmn+PGRNaQDYH7JmeERERERERETELovoTERE2Ph7yJr3vyOix4jodiJ6DMmiLjqZsR/A16ZIxoiIiIiIiIiInQKR5hQRYUAI8RgRHQiZ1HgkgN0B3Ae5qudyteouhBAX+1uJiIiIiIiIiNg1EJ2JiAgHymG4BLE8aEREREREREREJiLNKSIiIiIiIiIiIiKiLURnIiLCABFViejTRPQQEQ0TUcP5qwe2cwAR3W38bSOisyZb/oiIiIiIiIiIHYnoTERE2LgAwKcAPAzgSwA+6/x9LqQRIcQfhRDPF0I8H8BhAIYBXDUpEnvw5JYRbB+tZe6zdaSGtVtHM/cZqzfw2IahzH2EEHhk3XY0m9nr1jy+cQijteyKuuu3j2Hj4FjmPsPjdazeNJy5T6Mp8Mi6QWStpSPlHkStkb0u1ZpAXT61NXt9sPF6M0iXDz+dr8u/bBxuW5fbRmtYsyUt61i9gVU58jWbYfd61Yb8e71u2yg2D41n7jM0ln+v641m0L3+8/pB1HPu9RObhzE4lp4zWLd9FJsYWQfH6niS0aWJWqOJP68fzNxH98VGjl5XbxrG8Hj2nMbmoXGs2549rkdr4fc6bz2qxzYMYayevtc+XW4cHMOGnDEeERExfRCdiYgIG68H8GkhxKuEEJ8QQnzG/WujzZcC+LMQYofVQ7/23qdw7Hk34phzb/S+tP+ycRhHfP56HHv+jbj1kQ3sPrVGE6d86RaccOFKfG3FI97zfej7d+PEi27Gmd+507vP8lsfw/EXrMQJF670Gpl3/WUzjjr3Bhx93o3449rt7D5bR2o47vwVeNEXVuB/7nyC3UcIgbdc8luceNFN+NRP7vPKdN51D+HEi27Ca792q9dguu6+tThG6XL9dl6XqzcN48hzrsex592IWx5ez+4jdXlzri4//IO7cdLFN+M93/avO/Lt21bhxReswLIL/Lr8vdbluTfiwae2tX5ft20Ux5x7I449/0b88v61rd9Haw2ceNFNWHbhSlx2y6Pec7//v+/CiRfdjA9ccZd3n0tvfhTLLlyJky6+CeN13ni//dGNOOrcG3DUuTd4De3NQ+M45rwb8eILVuCnf1jD7iOEwBu+eRtOvOgmfPbqB7wyfe7qB/HSL96E13/jNu+9/ukf1uC481fgmHNvsByHu1dvwbHn3YgjPn89Hlhj6HL7KI465wYcd/6NuO6+tVyTaDYFXvPVW/HSL96E8697yCvfJ398H0686Ca89dLfeve58s4n8KIvrMBx56/ANo9z+6ent+MI1Rfv+stmdp+R8QZOuHAlll24Estvfcx7vjO+fQdOvOhmfPgHd3v3+dqKR3DChStxypdusRy1q+9Zgxd9YQWOPvcGy6G994mtOPKcG3DMuTfivie3etuNiIiYPojORESEjX4At3W4zTcDuML9kYjOJKI7iOiO9et5A7Rd/OTuJwEA28fquPlPfNvX3f8UxupNNJrCawj9YfWW1kz61fc8xe5TbzTxs3ukoXf9g0+zM5QAcNXdcp+nto7irsd5I+dnf1iDRlNgvN7E9Q8+ze5z85/Wtwy9a+7lZVqzdRS/W7UJAPDze/lrA4Af/17q6f4127wRg5/+IV+Xv7h/LUZrTTQFcK3nfPc8sRWPqnNc49FloylaRvOND63zzkBfpeReu82vy6vveUrqstHErx5IdLnyj+sxOFaHELAM9Lse34zVm+QM+7UevY7WGrhOOSDX3rvWO4uu5Vu9aQT3PrmF3edn96xBUwBj9Sauf4C/1yv+uA5bR2oQArjuPl6mxzcO4/d/2dK6Zh9+rMbE3au3YI0nGvdTtc+20brlFP7y/rWoNQTqTWHp5voH1rV0aTpmJv60bjseUM7c1ffwDhGQ9MXbH9vknQDQ43rT0Dh+88hGdp+r73kKtYZArSGs+27i9sc24imlA98Y2jZaww0PrcvcB0ju9WMbhnC/4Wj9/N61EALYPlrHjaodKd8a1FW/vOHBdan2IiIiph+iMxERYeNnAF7cqcaIqArg1QB+5G4TQlwihDhcCHH4woW+RbfbgzmDPjTOG/fmPr7ZbXMfn2G7cWgc5kRvrcEbmBsKyjQWINMQQ6Fw9/HNjDebAhsGk9nn4RA9eRylED1ZMnmoNhuHxmDa50NjnZFpyJDJpJ2Y+6w3DFjfPXQjM95rHTT7Fn+tRfuo7z6a5xr29Idao2lFGsL6e7LPkE9nZn/13FOrTc/9HBqrWzqYyHgM0pk1hvLPVWsILz0sqJ8N8jrLoxdGRERMD8TSsBERNv4DwLeJqAngWgCb3B2EEH4OSBovB3CXEIKfIpwkhBhYliEUYKiFGB0AUKs3gW57HyFEYUMoRKYQB6DW5NvZPDxuzayHOCZjIYaxT0+D+UYUb6zbynR1GSKTacSauvcZeXVPxGFdSr4GBnq6rN8aTWHRWnyRKlu+EAcs38EZrjXQbAqUSmTts3HQznUIu4+JTKahb+lsMIlwFDW2TbiRCG/fL+iAefvZYLGxCEgHuFK25x/H6g1sHUnoVt5+5nFaff0sIiJieiE6ExERNjTF6WwAn/bsUy7Q3lvAUJwmE66x6TU6ihp8gUYHZ8BsG6lbs/EhBneYQZUvU91nhA6mDeO8tsIcnHyZagHXBvB62j5Wt+QIcgTHPYaxZ5a94XHA0vKlr3XT0LgVXfEa7oPF+miIzoSQkZreasW7D8D3dyGE11H1GsYh/cyKAEpaYdlxdlLyMTqrNZrYNGxE0nwOWEGnNcQp0TL1Vu19NjhOmtXPxtrvZxEREdML0ZmIiLDxbgAdmS4jol4AJwF4byfaC8XQeMOilkwoMuHQPrhZX24GM9XOoM1RD4tMhMxo5+9TbwoIIUCULTfnmLj0kxCZgig7E6ARhRjG7n7WjLHRH7aP1jFaa6Cnqxw0Y+zOoHMOWFq+dH9oJ1IVGs0ZGmOcCaf/cTJtHalZ9K4Qw9g0pn064+6pG80JuaebHDqhr5+ZdMLxekA0J+D5IGVixjUTqUo+8w7YhhiZiIiYcYjORESEASHE8g62NQxgfqfaC0XaSA7JT+ANNdd4HKk10NftGmpuZCJtIKzf7sxgMk7AaK2B7aOJARIiUyhtpNEUqJQpcx/OMQmln2wIoJVtCJgxTs/0MjIFGHku/cQXmQBkP3jGvF5nxjjMMOYiE2mdpa/BdXh9kaowneVTwzY4/Y/TWVZ/MA3jDYNjLafadlpD5UtTw0L6WcpwZ3TvRldCdOajhoXcR7cv5lHD6o0mNhq5K3llcCMiIqYHYgJ2RMQMQ8jsdq3RxObhxNgMmd0GeOM9hOaUphSFGKFh0RKuzKcrEzcDGnJtKZkYB8c1kILyOEJzJhiD0dUlJ5ObI+CbMQaSa+wUNay9Ge3O5EwAvGOS1ll6HzcfxBeZqDeFqjAlnHsapjPOAQvSmdsOo/tto3Ur6Tqkn2lqWCdksvqZcZ3a6XCjKzEyERExMxAjExG7PIjocgCfE0I8pj5nQQgh/nZHyNUuQoyrVEJqIId/eKwBDDj7OAYFV0GmHaeEc3AaTZGa2RyrN9HTZaexpKMlzD4ZFI0iMqXpJxOg7AQYjCEyZUUQ3P6g9zUdp6ZnHYag+xjg7IREz8brtsMbqrMwaljIzL/fAVs/OIauSgkjhlMSkoAt22rP2WmHAjcxalg791HK1GwKDBvXsE3R6VyHLW/hw4iIiOmB6ExERAAnAPiy+vwSZOdM7PRvv/Xb8/MTgnntKeO2zchEhqFWRCa3AhMgjbM8R4GjU4RQdkJkSlU4Yq4tTT/x5XF05t6FctkBaTS60ZVg/n/QfQwwjLlVkofaNIw7FC3Jo4Z1OZWNJkINa0u+AN1z0ZzRWgPbRm0ZOGpYe/dR7jNab8D1RzcMjqWeJzEyERExMxCdiYhdHkKIfY3PS6dQlI4gaHY7lZCa3sdNSAX4WVWXN83nTEzOjDYgjbN5fUmZGZd+4pWpU5QdNzLTaGK83kS1khibLv1Ey1St5CSFt+l0Zc3Wc5EJN7oSbBi37ey4TlP+dXLVnORaIQHUsBDDOJCyo9tznQmuj7nRFbddv3ztUcNSEbmA3BBgAv3M0x987YU4+REREdMP0ZmIiJhhCOLdB5Si9BnuefuF5Ux0Zkaba2tovGHRTwA+OTZoxrgN+gkAjIw3LGeC26fWsB0Obr8QgzFEpqEsys52ZsaYuYdcpKpTDliIU8LNsnMOL+88t0HZGeMpO3pf995xfcyNrkj5OuPshERgQqKEQLpPuHTCUJl0ZMIXUXMdmRiZiIiYGYgJ2BERBojoGCJ6pfF9PhFdQUT3EtGFRFRkjYkpQXu5AKFGh93WyHgD2x0jnC0NO0lUDyBtnHH7cAnFk6mnEJlcQ4+jn3Rqxnik1mjNAnOUnZAZYy660ikHLIQuFeKkAp2nhnGUnfWDaZ2F9DEgfa2ckxbi7IRMEoQ6E26f4OiERXImfEnw6X4W15mIiJgJiM5ERISN8wAcZny/AMArAPwJwN8B+MRUCFUE7cz6hsw6AmnjkaNMcNSKjhnunPHoSSg24c6AutWsgAnoKWCml5Pbdbo4XXbKMAbQitakKDucYRyQYyLl64yzo6lhWfsEG8ZOfxger2PQueYg/n9Byk6oztx+xkVX2NK1bYwhLprDj6F859eViaMTapl8/TbEAYuIiJh+iM5ERISNgwDcAQBE1AXg9QA+LIQ4FcC/AnjrFMoWBLemPjvry1RgckushhiPbvIxkOaON5oCm4YCHJw2qkJxbfGRCbstt5oVEDY7zsoUwEHnIxO2ntw1JoD0jHGToZ+EyjQ8VocQPGXH3Z+LTPBc+7SRbq5vUUS+ETdiwlTkCpEpVfp2e1qvnExuW0M5lJ20YRwqX37faLsiWojOGH1w0ao8mTg6oe4PPgpWzJmIiJiZiM5ERISNfgDb1OcjAPQBuFp9vwvA3lMhVCi4hNSQWd+mSM+sskayZ40CE64Bs2loHK7NELZAXP4+gH/dBFumfEfJvTaWfhIwY8y1FRLB4Skxdjss/SRQT3qhuBRlZ/sY1m1Lz7K341xyThqvM86gzdaZroCVJ1PKkWN04cokHV5bJk0N80UAUoZ7aGSCiQyl5bPPOVpL0wnZMRREDRtN/RYyhlyZuH6vdTXic8BizkRExIxEdCYiImw8CeB56vPLAdwnhFinvu8GYHhKpArElpEa+4JOzfoG0BhC+N7sDGYjvx3WcG87KTyE5uTIxBpUdjuh9JN2qVeuoRcUdQkwjL1tjdXZ2eyxehOPbRhK/e52o3ajQq4Ryjm8AJ8Y7iLEKQxpx5Vp49BY6noB6VD4kuBDIhMhDli7Y3G80Uz3oYBqTu2OoZRMGfcwPGciOhMRETMB0ZmIiLBxBYBziOhKAB8B8F1j2wsAPDwlUgWCMwKAQKOPob+4CDGE8gwcABitNS1DYnCsjlHHeQjOBQiSaXKMUG9bAboMcbqCnEBHb0NjdXY2fXi8wc5mA8CDT21L/ZZ2wNpzmtz76HN42+pbIX2Uc8Bq+e0AMjLEGcabh8fx1FbbIWUTsAOoYSH9jGsHsK+10RTYmIpKhkVL3EhCuw5OFjXsyc0j2O4UGOAqYEVEREw/xNKwERE2zgYwCuAoyGTsi4xtzwPwoymQKRheo8h4uQ+P11lOc1BkImCmPIS+A8hZ3/7uinef8UYTzaZAqZSsxRBCveL2cWdA2426uEboaK2RMpBkW23MsjPRkhAue8rwzHAofatzc7kvIToLipwEGu5heSbhs+NZ7YT0dUDqnzOMhUhTgdpNWp+QszNex5xZXQB4OmFoBaxUP2Nlyr8/mhrGPV9C+lhERMT0RHQmIiIMCCEaAD7v2fbaHSxOYXAGKWAbahxfHUgbWD7evXW+NqMAgDS4s5wJQDoUPaWykq+BLU4FJiBsRtuloPgMY3NV6hBKUZYRau0XkFsSkjPRLv1EtsUbxj6kcmjapuyEOTv2wnq8wxtEoQuKlgQ6YJ7IBIeQtUyAUGpYcQcsxPni6IRAZx2wkVqDLVvLIeZMRETMDESaU0SEASJaQER7O7+9l4j+w1x/YmdFCM3J53CYBla90UxVDQLCjNsQg0/KZBhCHgPYnKHlknuBMNqImxzLna8pbINpQvQTQyaOfgKERXDCIhOh+g43jAGgEZK03paz43F4jWvlHFmgk3S1QAfME5nwyRaUtN5BZ2fYGtf5zgRHJwTazJnIooYxjiCHGJmIiJgZiM5ERISNywF8XH8hok8B+H+QJWF/QkRvmirBQuB/wWfPYAK24b5paDxV9QdobzE2n6FmGqJemer5cpuz477k3pDIREomT2TCNBhDHCWOfgIwTlcIZadN+gkgjbwJRSbaLHNaxAjN28d0wGqNJjYNB5Q5nQj1ykMJ9ME0jn10wrYiE94xlBeZEEH9NaifBTrSPmoYh7jORETEzEB0JiIibBwO4Abj+/sAnCOEmA/ga5BJ2TstuLUKACcy4TXcEwOG4zcDtvHIlU4FOPoOPxNtthUiU4gD4EvudX/z6SlPJiHs2fGgGWOfYWy046Of1BrCKus7Uf5/ociEoTOudKpss24bqxNwdoYC+oPZt3wOrxs940qYBs/8j4VTdgC7n/nohK4DxpZhLZAzkbdPSH81+4WPThie+xIeAYuRiYiImYHoTERE2JgH4GkAIKJDACwB8C217ccADpgiuYJgvuCXzO5pfQ4z3HnakdmOabhvG62zi2tlLcZmtRXk4OTLFHJt7gyoT0+FZfK1M8bLbcI0jPUaEADQ01XC7J4knS3PYMxyJmw92ZEJcxsHMwfAXN9ibm8Xuivy1SEELNrMhOTLiQoBdjTHfw8dh3cCMrmRiXydmY5V4kT7xpCPTpjl7PiuNcQB841Fs1/46ITh/awR3M9iNaeIiJmB6ExERNjYCGAv9fklANYIIXQ52C7s5GPGfMHvM7+39TmPvgPYM4++doYDeO1ZC+RZbY3lt+UzVK1rMwwXXzum0TI8Xseg0ke1XMKSOR4nICRaMujTkyFTgJFnnmvhQHcrMR3IzyXIop/YfaBhtWVu42DOGlvy9Xejz5IvW/9ZlB37PppFAgJm2QN0v220nqKTFZHJpYbl6azuuae+MbRpmI+uZBnurnzcNZiw+1ni4Ph0H+JEu3TCvZ3xaI6jLJ3FyERExMzATm0YRURMAa4HcDYRfQDARyGjERoHAnh8SqQKhN/A4o2FilF21TRgNngN0hBaRdLOWL2BrSOSMlEuEfacOytpy5M8WlSmkHwQ0wg16ScLB7rR111O2vIYxl6ZvA5OfmTCR19a2N+NWVVDJqXz8XoTmxX9pESAKjqFWkNYRplPTyPjNmUn1zD2ORMD3ZjVZconr9Vc38LWl7tycqJ/nxMQZhgn++w5d1brnCY1zN/X/as5WzLVGsGGsT43J5/r/GpqWMhYFEL4x2OAA2ZFczKcplY7Af1+q0EnHOiuYF5vtbVtxIlMZOksVnOKiJgZiM5ERISNfwKwGsC5AP4M4DPGtrcB+PVUCBWCWqPZ4rWXCHjGbvzsvWnA7D43mZX30Xf2md/X+jw83mANIVcODZNWMb+vin6TvuNxTIrKFEJNajRNgyqZnV3QX0Vv1ZhlV4ajSz9ZbFA1zBwA2zgz9BTkdPGG54LUzL8838ahZJ95fd0tqhHgd0xcPZnG597z2oxMOA6Y1r+5j6kv19nx6SwkKlTzXOeCgW70VtNOobdfGRGv0VoD29RaIeUSYQ/D4XXL6ZrycvDpbMnsHlQZalhIv98+Vm8Z8r3VMhYOdBvyhThgPgfH7Bu87k1dWJHLQbs/9Jr9wanmlKWzGJmIiJgZiM5ERIQBIcTTQoiThBADQoiXCCE2GJtPBPChqZItDybXeV5fFQOG4T7iMRb2mpsYlL5k5z3m9rRmKOtN0ZrpNPcxaTk+42XhQLdtuCuZJGUikd2MXvhk8kZdChpUCwe60ccYoWZy77y+qnV9ITL5jDNbTzz9ZKFrGI+lDeOFA93oriT7aOMzRT+ZZ+vJNIx366tauRku6h5K0YJ++z5q/Zv7LJrNOzuuw7vXbobh7nEKTZ35cibS1Ku0TL6+vsG6tqpDMQun7Ojra8k3mN/PvGPRQ+/zjSF3P6ufBY0hXvfm/fE59gsGutHn9IfQCFiMTEREzAxEZyIiggERlYjoECI6noj6AEAIsU0IwWcn7gRwZ7d7u9Mz7pIyYRjuprFQ442FRQM9jnGbNtT2MGZVvQafx6Ayk3tn91Qwu6fLkIk3zpZaM9q8IWRScXxcdjmrmjbO1jmGandX8qjUhqib3LvUiuDwMpl6yjY8GcM45UykZdo6Ums5TgPdFczvT+gnbpWdvmrFmuV2ERqZ4Azjhf2ufCq6Yjm83da99s+O21GO1j7u7HiOAxZiGMtrM6NntgO2+5xZ6Con1B/A6WcZOstzwGz5/E4TF4Fx6YSLjPvq62d7+Khhxj4hjn0qMuFEwJbGyERExIxHdCYiIhwQ0d8DWAvgHgA3QlVwIqIfE9EHp1K2LJj0Hdcg1UbHtpEkIbW/u4Ldeg3D3ZNY7BpYHK3FpEN4DXePg+Oeq7srPePutvWM3XpbOQNj9WbrnD7aiNfI63ccHG2EujKZhrFyurLoJ75qTqaeMiM43el7lzLWTQenljYE032gYUVxXJkBYM6spD+YSetpg5a5j66zY93H9P3xOQBuyeHd5wT0rVQfTcu0p2Osc3Q911gfGq9bOhvoqWBBf6IzImDx7OR7tnzZ1LC9djMjJxnODqN7c4JgQX+1RakC/P1sUQA1zJYpIypUtR0wMxK6txOZsPoYkxwfEREx/RCdiYgIA0R0BoAvQyZevxGAOQ15C4BTp0KuELiJxfZsoTbcbYfDpsqEzoamDbVQIzmP6uGbcTeTe6uVEmbPqtgGTI2RaY5HptSMdkgUoKBh7I1MmDJlGWcmBz1EpvQ+CxgD1pSrr7uChQN22c7djcpWvqTutu5jy9lxHF7GAXCjK7MN49OMem0IcEzcvAUdVTDXC5mIAza/r4oew2ny9v3+nlwHLMjZcca1T/e2MyF15tIJfbk53miOJ1fI1f2WkfHWfaqUSN5Dg07n62MRERHTF9GZiIiw8REAXxRCnAngKmfbQyiwzgQRzSWiK4noISJ6kIiO7qSgLjKNImVcpeg7DBVltNbAdpWQ2lUmzJnVZRsdjKG2p89IdoxHjlJkG0I9rDPhGttElEu9WmIZLabhnlHNyZufkC+TS2NpNkVb9JM0JSYgWuJ1cOwZ4yHXMDZm2Wd1lS3aUSZlJ/c+8n0rhLLjtmPSivzGuocaltJZtgPGJxMbDli1YulsQX83ykbFI20cu3TCBQPVXGrY7nOS3CSvs+O7TkcXXeW0M+HSCXu6yrwDVpR65TiF5qRGb7UMIrIcMHNcxpyJiIiZgehMRETY2BfALzzbhgDMLdDWlwFcJ4Q4EMDzADw4QdkykU3X8FFRmNljJ/eiVCI+MuHLmbBKpzqGe15icb9j8NV4oxBAinplJve69JOikYkNjgFn50zwuiyXCD3GfiO1Rop+Yl6bPcvud3D8kYl8Y902POtWYqyMTCQ6WjjQjUo5bRgDOcnEHDXMvY8eZ6ePo7050ZUqYxiP1hrYPmY7vLnUsECnMJ1MbDhg3WVGZ4Z8yml16YS91Qofmch0ED3OTs4YWtBvO2BaDrMv8mOIiUzMC6A5OTKZ16TbN3UWIxMRETMP0ZmIiLCxAcBSz7YDADwZ0ggRzQbwYgD/CQBCiHEhxJZOCOhDZiKp17hiDD7OcK/akYlGU7QMdwBYMtsXmcjg2nOGu+vgeIxQAKnIhCnP/L4qeoxrM/n/Fj2mvyc/mdjVE+N0sXoar6eoONYse10aUm4FpnS1JClTysHhZHJ0OctxAs1kdZeyox0iDT1rPFZvYMtwEl3Zrbfaxn0MMIw9ERhulp1zeDlqWEqm3GiO3R9cyk61XErprMvUWSuaYEfkALDUsA2uIx2QZ5LnAKR1xtOlAHcM1VN0wgVGAr83j8NxwMxtun2TTmeWDa43RYvOFRERMX0RnYmICBs/A/BvRPRM4zdBRAsAfBj2InZZeCaA9QD+i4h+T0SX6apQGkR0JhHdQUR3rF+/fsKCazoNAMztrfK8+4CZ0K3DSTu7qcWozFnfkVrDokzM7e2yDDAzCrBlODHwd+uzqR4jjCEkZ+/TBt8WQya9QJabYO4amOaMsVnm1NTTnN4uvsqO0xYr0winJ/v63HY4LvvQeL1luPdWy+jpKjsODmcwVlmny9T3vD6ZiKtn9htNgU3G9r5qBQftPtD6fuCSAWuRMk0N05Q3QNJjyiXKpYaldFZL62xen637kZqkhmVRdsaNqlUac7Xunf7QaApsNPr7/D7HWFdRL+s+OjK5hjER4aDdZ7d+O2jJbCuaoxOKrT6mcj5capi5vkWlJKMruf2sr2o5ACOMo7mg34nmtNoxxiI7hhoph7VaLrGLI5ptzeurWv1+nVHmWDs+Zj97zu6zYXQzxOBERMT0R3QmIiJsfBLAGID7IFfDFgC+AklRagD4bGA7FQAvAPD/hBCHQlKkPm7uIIS4RAhxuBDi8IULF05YcDMi0FWm4hWB6olxq6Hr1buOSQhH22wTAHoqZWdG25cLkOa1u4nDAJxE1AYzO5ueZQdselF3pcRWvQpxukzKUKInm8riRmY4PVk6UsYuqycnosLJZOZEcHoaNUrt9naXcfAec3De3+X9F+4AACAASURBVDwXf3vcvvjQifujXEo7YKYjpuV3IxNudMUX9XJL05rUMCGA0XojHZmopHMmzFlyfbzrgG0aGm8ZqnN7u1CtlFhjfdjp7+Y9NPWl9XnywUvwT6ccgA+c8Cy89ci9rXuq+9l4PdGZPqdLDXMdgFKJ2Kphbj/Li0wsmu3pZzWmnzlUQXcMEdkyaWfOpH71ZehMOz7vPHop3r9sP3z85QfixIMWo2L2MyNqGBERMT3hX7EoImIXhBBiIxEdDuAsACdDroJdAfBVABcLIbYFNvUEgCeEELer71fCcSY6DZN/3FUuWfXvdUKwzUevWi9+bWxYHPFq2rh1owAurWLc40x0d5Usw3DYkwvw6PqhlEyWEaqMxnQ+QLLPQicxVs8YCyEcp6vkJNyGlzm1kpm7tZ5sKkuIniwdsYZnw1pVuFqW1aw4Y93KiagmejIjO0BC2QGANx+xt/W7hu5PprGn5XepYVYFJpXcyzpgjFPYV61gtCZnujlHddSoIsQZxvo8rgPmtmPuK2Xi+nvFooaZ0Pe2XCK8f9mzWr/b1LBkcT6NKitf2vmV8jH31Emaz0uaXtjfja5KG/0sQyb9nBirN9DTVbImHHqrdiTNhB6j/d0V/NMpB7Z+L5dITs0g5k1ERMwERGciIsKBEGI7gM+pv3bbWEtEq4noACHEHwG8FMADnZKRQ814KVdKhHKJMKurjBFljLkJwYsGevD0toSSkMxuMwZfd0ZkwpMkC9jlJLsrJRAlhhc74+7JmRi2jBc14+4Y3O6Mtp0YK3XTaIrWytZlpSM3MmFWs6qUCHNd+kktLZNuw501DqlM5OoISM8Yu7P+7oxxy+katw1jV0/JtrJ1LzTKTDTHjExoSo+bTMzl2eQ6YNpR7S5jo/IfOQdsrdFHuWiONsBt6pVHJia53+7v5RY1bNxZA8G8tybMWXZ9T12HNS1f+joB5EYK+5xE7mGOGubrZ3Wmnzm5UKbcic5smcbqzVbEp1opSYe8yuum16szPmoYERExPRGdiYiIycM/APhvIqoCeBTAuybzZOYCUNrA6etOnAl3tnZBf7c1Y+2bCZX/nchEaiY0nVhstglIQ87klw+PNzBeb2KzkqFEitfO0Jxcg0/+z6ZodDGRiZpF2dGGsd9RYuknWiY2gpNtMJbJ1FOGYZwxY7yANTy5mf80lSXZlm/kcZEJPQufla/CRgFqTOTERw0LiubkGMZMfwB4Y92NTADSwRkftp0JzikDYNPpWGeCccDG0xQ481oAk+ZkR8A0NWy01oQQcpIgxLm3o4SMAzbesHI9WjI5Fd+GSnz0i0OfR2em09poRGciImK6IzoTEREGiOjGnF2EEOKlIW0JIe4GcPjEpQqDfwZZRiO2j9axachISO2vYvVmfoE4DTYyYSQMA/6KO0IIy4CpVkoolwjVSgnj9SYaTYE1W0Za2+f1SWpSCBVF/s+maJiOQ4vLzs4YZzhKmfSTHMOYMRjNZGbeyONnjHljnaM5pfXEGXQ+w5ir5mQ5YCUdObHLDvP0GM7ZyXHAmCgMVwGLNYzdSFUAzUkIkaLsyLbS1DCfwWwl+ivHa5zJM3GpYSE0p/F6M1VNSsuiqWHrt4+1Jgx6ukro767k5kz4HDCz+AIvUwNmQEsf76eGxchERMSugJiAHRFhowS56rX5twDAsQCeDXtF7J0KNrc9Peu+etNwi54wr6+KrrKbkJpl8NmLn4XMHo87s7PJrHYi06qNSX4Ea4S26DvMbGh3tsFdYUp2Wlz2VjJxgGHMRAF8lB0NNmeC47IzNCd3xph3cHIoMd3pe5dsC4lMNNX/tJPqLogYyv93KTuuLNtGa9horBWiK1JpZBrGOZGqtEwNlrIDeKhhIZQd3c/qXD/LjsCY1yLla7YqnmmZNDXN7GfuGCIitgIWF81JUcOcqBwnE9fHzKphJny5FNxCfxEREdMXMTIREWFACLGM+52I9oMsC3vODhWoAOpWzkR61v3xjcOtz9zs9jgXmWBmt4fG69g2kuwTRKswztNbrbSoTZZMDNdeG9yWg9PtiUw4BrdZBpVLjNUGV7eKmDSaAuP1JtZuNdYIYAyqpKJNccpOKP8/L+Hd3Ndsg41MMAadPzKRrkxk6qzCGNteZyeHUjSLiUys3jTSymmZ1ysdXr4CFmMYh8jk3MchJmEd8FDDPDqr5CRgdxnRhES+OtZvT9rgdDbuGO5mnzDb4sY1XwEru58NeaNybs5EIrd5PE8Ny88zidWcIiKmP2JkIiIiAEKIPwM4D8AFUy2LDybNSc/89RaJAnA5E8oQdRc/y6SiNHR5zPTssSsT7+CkeeOc0WfnOqQXiGMTY418Dm1wERF6uzwyFaiyA9h64ugnttPl15Obx+HqG0hHS3yUHT4Bu0jOhEht73WcS3fxNfNapHw2Zceks/X6DGN1nfkVsNK65/oDkHZwhpmEdQBWf9DwUXkqzD21nAnVz2Y5ETD2njqRE6vwgOEU+saQjiZwzv04S6ezIxOmzhYFyGQ6qpzOQuh0MTIRETH9ESMTERHhWA9Jddopwc2Gmi/zv7BRgDxKEVOlaCydgF0uEYjkWgGNplzciitFCdizvo+34+C0ciaSdjYOjWO7cji6ynIBsC5mMTEuZ0LKVG4dnytTlp6q/mtz6SdZORNmWd+RWiM3WjJW46vsALzjEJQzwRjG2pmw8kxCKifVG37KjmUYp3XPVyZK68xdgK3ezK/mxFF23M+t3zwOGN/PcnImxuoYNaIrPgfMXZcjkS97DIVGc1yncP0gQ3NyHLAxax0JMzIR3s9izkRExMxCjExERASAiOYB+AjkuhM7Jeo53HYuMmHOYCaLsWVTUbYM11rJqeUSYbfeKmsoW7kAhnHsy5lY0C9X5a3m5AK0kmS7eSN0Qb803O3EWGbG2Ihc+PTUmullF61j9OThsut28rns8vhSiWxHcJPpCPJ6MqM35rEcPcebTMzMGLvrl0g5S61VjMcbTTxpJNKzOqs1WecLsA1jVvfMas6co5qVr8LfR9tYn2UaxpwD5uH/V3KoYRzNyc3x0RW6qk5Ujuv37mduXIdGc0zdr9kykqwV0p2st2E9I2pNp0xzTj/z5JnEyERExMxCjExERBggoscgV702UQWwWH0+dcdKFI46YyibBtDqTYnBl5R9DEySNQyhJzYn7czvq6KkDINqudQykGuNpj8yYbRlyeSZ0QbS5TFD2slLwDZ55V49BVTZMSk7fT6ZWsasOcvuN4z19emIjN1WDyNTw4re9OXNGPsSYwPXmSCS63PoaM4ThnyLPBGmEMoOp/v8WfZ0eVJzET3t8ObJZBrDRSITFUZnZgI2Vwxhw+B4q//M6iq3zp2Sz1lpmpOF1xlTAYut5pSte8B9RjTYtUzcz8lv4RGwiIiI6YvoTERE2LgJaWdiFMDjAH6kcid2SuRFJkyKz4IB3rgC+JwJ0/gz2zGNDpeO4jOS+3LaaodSZLXTzzgTGYmxgG0IsTI5VI8Qyg7XThfDr+eqOQFSTxsG02357p1vFrv9yERaZ+Z2kxqm5dMVmNLyNfyUnZz7yFfASvctkxpmlrOd31dtGa9ZMrVrGNtOa0YCdre/j+n+4zqt3siEbwwxERjWAWOoYXYfM5yJlINTwAHzVcAqx8hERMRMQnQmIiIMCCFOn2oZ2gWfgM0PcT27XSkRSgQ0Va5DveFWuEkb7lY7ljORQXNyqjlxWOQx3BtNgVHDeNRGo292vRWZYJOd05QdwF+px7dmQghlh2snP2ciW0/93ckKyK7TZRnG3TmGsbdkZ5qyw1UJA/R1J1QdQBruWu9u1CvEMDbB50z480w0Ncx0hs12ADdnoulNJi5C2WH7GZMzoalhru280Gu4+6NNeeMxt59VwsZQWqamHZnI62dBVcNiNaeIiOmOmDMRETFDUGtys6HZxgIRpWZD2WpOTKUWIJkJNc8JyHwAzuADMgx3L33HNkI1rSrfoErPfnLrTAA8Fcimn/iNUB9lh5cpz8jL1lMW/aQjlB2Gy26XhuWpYRoL+j1GaC2MsmOCy+tJErDDHVVbZxmGcZvJxF05OtPya2pYSr5+j3w1Jw+mO98hD8+ZSEcmvDI5SeuFIhMF+llERMT0RYxMREQYIKJ/y9jcBLAVwF1CiFt3kEhBaDZFqz4/UUBkwjGwdAnTUTfps8tOCM6a9XWpFSHVnFrHlkuYPYuZcc8q35njKJm87BpLP0m2+wz3hH5SvMqO1RaTTJy1mBjA62mhz1h3ZOoIlz0jAdvXbtYse0gyMddWIQfMoIa12vHqLMMwLpJMbEZOWDodTw1ryeeLnDh93+5nvM6SRH+uAlbaAfNOEoQ6YG1HwGI1p4iImYToTERE2DgbMmeCW+la/y6I6DYAfy2E2LoDZfPCikqUbOPKRaVEmDurq/XdNLC2jtRaTkl3pWRROMyEYI3snAl+9riI4T5eb2JwjKeicHXtAYNrz1ZzatMw7uqQYcwtJlZL00+AgMhEVjJxXpnToBWwmQTsUr4DlsgXahhnO2BsBSwmZwIIcXBc6tXEKTvmeEsS/c31TLKpYcEOWE5kYnZPBT1d6QpMNU5nedSwDKfVGwGbYNWwiIiI6YtIc4qIsHEQgEcAfBTAPgB61P+Pqd+PAfBmtd9Osxo2ly8B8EbHgv7uFlUIsA0svTI1kDbyOKM0O2ciPDJhJnwSkRXl2GLIZF5PpVyy2nVlyk2M9SSFt9rxUT2cBOwilJ3QdSaAgoZxreGP4Ex0nYmmj+ZUjFLE0ed8sui1QgBfBaz8ssOsTA71aqTT1ZwyErABfqY+S2cjBSITWWNRt9c6T9sOWEY/81AFOcTIRETEzEKMTERE2PgagMuEEBcbv60G8EUiKgP4vBDipUS0L4B/APD3UyGkC658J5BvXAG2YbF5aLz12TXyWKPDlzPh0pxycibMdrRMehbalMk9tq+7grH6uPUbZ7hz9f+r7VJ2ai7XPj+ZeAFbYUqg2XQjODkOjsfwHM+cMU5fW1hkQurKjkyE30d3JfNhJrHfJ4vp8LIVsApQ6LIjTBOn7OStZ5Lbz7z5CU0MlTz9zDNJoMFWwPJFCjlqWEbfD01aN/ObXHD9LCIiYvoiRiYiImwcDeAuz7a7ABylPt8BYNEOkSgAdSb5Gsg3rgDbwNo0bBruTmSCMR7NiIJLrSiWJFu1ZTL2N2Vyr4eb1W4Z7mVmlr1AzoQ3mbjeYCteAVIHFceAGjDoJ0Rk66np5pbkGYxVY9+MnAnTMGaMYG9kgjGMuZLDPvl8M9rjKUpRdmRigcdJbSdpfUFGhKkTycRdXDTHE5nIG0Ppak6m4W5GwPIiE8XWM8lqK5UzEZib48vXApxqTnGdiYiIaY/oTERE2NgK4KWebSeq7YCkP23bIRIFwC7fmWck+w13KzLhGFR5jombDxCyzkSrHSYywcmUikykDJhyy+iyqRRSFq5kJ5B/bZVyqdVeUwDbRgzqlXE9RJQyjl3nLZVb4qGDFctJyKjmxEUmCnDZ6z7DOJcalsW1z6aG5VJ2CpQdDi5zmkMNC6HsaEqYXYK4ADUsK6fDioBlt8NWwGJyJoB0PzPXCknL5Do4fgfMlyQOxJyJiIiZhkhzioiwcTmAfyGiAQBXAlgHGYF4A4D3AThX7XckgPumREIGfo52QGSi0l5kortSwoDRvkmBycyZyDH4AH+0JDX72e033LtKaYPKXpnYTYzNkalSavHFM/XUXcG20cTgch0lSYtptOThFhOT18ZRYnrYfVPUK+PYnq4SiNBKrJfbw7nspqOal4+TSSkaC6eG2fS55Jya+jbuo9DlUcNCDWPGSfVRdiw6HbvSel7kxDDcnSiAeZ19Fg0r+zorjgMmhE2nyyqLvFtv1bqm0EpmhSITzKrhERER0xfRmYiIsKFLw34IwPvVZwIwBOlI6O3XAPjBjhXND18Cdmh+gkaRnAmzAhPA5UwYxkuBXAApEx8tSc1+ujL1mwZVdmJs1eLah+WWaGciM4KTG5nwl9CtlidQzclD2dHrGwx6qFkm8taZ6Gq3mlOKa5+mhplGpT8ykc6ZyMpJcB3elANW8iUT5+cLaVj9jCkNmyXfnFldlp5cmpPRTG7VsCwHrN4UrcXyyiWynA33PmY9H1JrrGRQw3zryQAxMhERMdMQnYmICANCiCaATxLRhQCeC2B3AE8BuFcIscXY73dTJCKLuq/iDjt73GN9t/IThsKrOblGslt1x5cLEBoF4GRKz35mRCZyEmPtnIkQmcoAaimZuMhEVjtV09DLSFTnIhPzjVnsquO8mc4Cpydze5EqO3Zyv18+swITkE0pmuU4O73Vsh3Nya1MxEdzUoax4/C6MhGFRSayKTs5kYkMaliWEz1Wa7aSpwH7nub112qGw+pWQOMmCSyZnMURhzyVzNJRw4zIBMXIRETETEJ0JiIiGCjH4ZapliMU5gvZpPdUKyV0lcmqe59FKdo8XCAy0Z834+6h77Czqq6Dw8vEVXOy2jGujTOMvTkTIbklwXrKiUxU7Jl2bzUnp515fTb9RK5eXmoZinZZX0ZP28da8vkoO2WumpMnAZuLCvkM9/FGE4Oj2Q6Y35lgKmB51uZwDdhMY73esGbFTZlcalhmZCK3n/md+8woQGptjhxqWEY0x84xsZ2JfAcn2X9orN6iXpXI7a/5BRs0uH4WERExfRETsCMiZgB8pWGB9Cx0aGlY11AvRN+p+xOL2SpFbjUnQ2abUmQfOyuDouFSKYQQ/twSpx2XfuJeQ7aeCjpdHsM469ryZHJlMPuAr5IT4K7NwSRgl/w6c/tD9noh9rGpa3XWHelyVpn2VyYqQNmp+yk7RGQtipipM6Zyki83J09nbp6JJR9DDfO1ZTus/ighkK17uT9/D/uqFct5dNtxv5uoxJyJiIgZhehMRETMAJhGsmtk5NFuvGVYi864Z60zYZxDz/pq9HdXWK47J1O6mlO2EWrqotYQlpFXtegn2Tpyr6Fjeqr7DePUzD8nUxcvU1ZlndCSnY3cBOzs6wQy7qNLoSvggI3VbfpPpjORZaw7SesppzAn4ZmTjaM5VQvcU7OPjYzbC8SZDqFbNaxEwPw+f2lYH5WOlSnlgHn6fU71Jl9eDuBGJqIzEREx3RGdiYiIGQCbiuJyoo3Z7q4yW5VJY+tIZ3IBUjQn4xw6IdjXTpZM6XUmsmUyZ0AbTTcykWEY50QBLD3lGcZF9JRRmaiIntLViMIMY46y480zKeiA2fK174CZa3xUKyVrdjxf90k7I7WGl7LjyphlGOcmrWesgJ0VBdju5LiUMyYJ5vVVre3VlMPqpzkVccCy+lhPpWxNEvgqhgF8nklERMT0RXQmIiJmAOxViv1Gx4KBqmV8AbaxkFU+1DU6FuTmTPhnQ8223NwEwDZCTZnSORM5MpnlYZtNm8ueQb1awEYBPHpyDWPXYMzUk7sehz+CwOspTCZ7PYBiM8YNj6Oa1x8y5Usl9yffZ3WVUzKaOhs0citShnFOf6gw9CAgTdkBsqs7uW1q1FrVnPicCdcAd+Xz6YtLALfHUE4f81DpZNt50ZKw50OpZFPDQiMTTRGdiYiI6Y7oTETs8iCiTUT0AvX5ciLad6plKgrfCtiAbXTwM+68oZROqMw2OlKJxYEGDE/f4R9NebXs3bbKzirYvhnjconQY5yzU3pyFwBzz5u1HkcQzcknU0YEJzQykcyyexZEDIlMeO6jm8dj9VGmHTOaY87Yp/pVkM7SMnHOQlZ1JxNcnsm4tzRsdhTAXBzRko9beDBjDGU69jmRibSDw/cXTqZQahgXAYuIiJi+iM5ERATQB0C/QU8HsLATjRLRKiK6l4juJqI7OtGmD1kJ2EUoRSbcBMoiM+5FqBV5lCLfcUB6xna+M3tv0yma3vr/QPt6yopMzO+rpmhnptPlrsdhniMvMRbgjXWaAGWHi0z4yw6HUMPSBiVL2cnRvamzrMhEEDWMKYvLGsbBkQkmAdtbGjY7PwHwODuMYZ7lgLkVsEZrPJUOCMjj8Dr2jANmrTsRcyYiInYVxNKwERHA4wDOICL9Fj2UiHp8Owshbi7Q9glCiA0Tki4AWQnYvXlRAI+RXDQyUXUW78qqIJNvuPtm3P3lauf2piswuUaVz8gDpMG4cShLJo9RlZEzwVF/TD2Njje8i4lVKyVUy6XWLLdbPtcnE0vZ6S5uGGsnwqbQ+alhoTpjKTvd2c6lL2ciTZ/rnLEeGpkwZWtFc8xqTgUSxLV8ZuK1lIWJTGSMIV0BS0eVhjKiOabuKyXCXGOtEC0PB04nbeXmxJyJiIhpj+hMREQA5wH4JoDTAAgAX/fsR2q7/y05RbASsEv+WWnWIPUsYJZVrWWgp4KeLtdwz8gFcI2+bv+sKpAVBfAb7pzhWHFoTuN1nsueaquAg1OUsmPqyabs8PSb8eFmIZlyZ4wLV3PiE7A1NWy0liUfZ7gXM4zleX066wzNqWOGMUMN8yWtlxgKnJSvDL04Ytb5rUkCjwNWa0inJKufuc6vuwaJG8HLkinUAbP7WVxnIiJiuiPSnCJ2eQghLgewN4CXQDoMHwLwMubvJPU/uGkAvySiO4noTHcjEZ1JRHcQ0R3r16+f0DX4FhYDgGcvHmh9fu5es1PHhs487j5nFgaUAfPcPeek9i9CczrAkOkQpi0ftcKVab9FfS3KBCdTxUnAtiITjkxaT11lwoFLBuCCk4mj7By4JNFxnp6yKDumTHNmdeEZ82alZWJn/tNG3AGGTM9mrk2DM4x9kQkguY8L+qtYMifMUeWM0AMMmTidmdGcLJ3191Swh5Jj/0X9KYdXHpMdGdEw+8ABmTqz8xOEEFbOhFkEYF5ftRWtOniPOWx+BNfPOMP8gMX9rc8T6Wf7zO9t/caNRb04Ykomtp8NqGOA/Q35XMR1JiIiZhZiZCIiAoAQ4ikATxHRtwBcI4R4rAPNHiuEWENEiwD8iogeMilSQohLAFwCAIcffviE3qj1DPrOW47YG2P1JgZ6KjjhgEWpY/0Jlumk6UtPOxw3/Wk93vzCZ6T2Ty2UlZGA/XfL9sOsahn7LujDwXswzoQvCuDItPucWfjm2w/D3au34J1H75Pa36VTZOVMfOIVB+EZ82bh8H3mYfHsQEoRY4Q+d685uPhNz8PqTSM47Zilqe2WkZcxyw4A55/6V/jB/63GSw5cxM7ohxrrLzlwET73moMxUmvgDYftldquwXHZa+Y6E46j+sU3Ph8/unM1XvacJaz8oUboyw9Zgk+/6jloNAVee+ieqe1+ndntl0uEb7zjMFxz71N4HdMOEG6sv/XIvVFrCMyZ1YXjnrWAbQtIR7/sKCFZM/1d5RIueedh+MX9a733ITRB/PRjZZ2IRbN7cOQz56e2h/azub1VXHba4bjtzxvxtqPSY0jLZEYaAb6fnXXiszGvrxvP2X0A+8zvY9sCYs5ERMRMQ3QmIiIMCCHepT8TUT+A3QBsEkIMtdHWGvV/HRFdBeAIAEXyLYJhzh67s52zqmX83bL9vMd6IxOM0XfUM+fjKMZwAbj1E/wVZOb2VnHWic8uJFO1XLIWANM48TmLceJzFrPtVJyqNlk5E0vm9OBjJx+YIVNY4i4AvO5Qv8FerRiz7Bn8fwDYd0EfPv7yLJnCDONyifCOo5d629HgIxP8LDsAPGtRP/7l5QcVko8zQivlEt51rL+ImtcwZpypv9prLv5qr7kTlqm3WskcNxpunklWHwOAF+y9G16w924Z8nE0tfQ97e+u4AMv2d/bjhXNyelnL9p/IV60v7/uRHdXGTCiGwD/fFjQ342PnOQf1xqxmlNExMxCpDlFRDggopNV9aUtAFYB2EpEvyOikwq00UdEA/ozJD3qvsmQF0jq2wPpXIA8FKnWkoV0zoS/gkyuTIGzs/ky2TOg4x4ue9syFdSRPK/B/8+hObUlUxt60mCrOWVUCstDqGGcBzPqNXGdcVz/9ufVTAer3hSoZeTlhKBjfb+jOutM39eIkYmIiJmFGJmIiDBARCcDuAbAIwA+B2AtgN0BvAnAtUT0CiHErwKaWgzgKlVVpwLge0KI6yZHamdhsVJRwz1tFJRLPE86C+mcCT+lKFcmZsa5HSPUngFt2lV2CssURtnJQxGaU65MHTLWNaxSurqaU4cd1XYMY+8s+05gGKeS/E0qXTvyBdKw8tDZftYZmTTccRkRETG9EZ2JiAgbZwP4JYBXCiFabzki+iyAqwF8BkCuMyGEeBTA8yZJxhRqE5g95gye3mo5VV40D6bxMjxeb62WW3FKngbJxOzfjsFnJ8c6ORMFDb1OyWQnxiZVe9oxjH33rl2YORGNhq7m1L6jOvk6a8MxCczjCIWbgJ1Hc8rDztnPwpLWQ8FVDYuIiJi+iDSniAgbzwPwNdORAAD1/esAnj8lUuUgKwE7D52adTRzAYbG/JWcgmRiZ7TbiEwEroAdJlNnogDmLLulp4JUMCA8wTkUeWVOuepDWZiMWfbJ0FnHIhM5a5mEoEhuThYmvZ91KjIR15mIiJj2iM5ERISNMQDp+qkSA2r7Tgdz9riwwdex/ATPWgCedSyKytTXTmTCkEkmx9qVdiYqU0f11A79hHO6Osxln5ij2hnDuMjaHO3I1CnDuNEUGDeodEWjhICPTjfF/SzmTERERGQgOhMRETZW/v/27jxOsqq8//jn6WVmWGbYl2FHcWFkd0gQF8YlSoQo7hoxQPSHJhAxMXHBKKBx+2k0ahIToohRo3FBBWJQXMAdGHBDkEBYDDCBQUBQYJaeJ3/cW3DurVtdXbdO9T11+/t+vfo1U9XVt0/dOl11nvuc5xzgbWZWWFrGzPYgmwL1rQba1FfhaujAV48jFckW5mgPN60i2iB0It589lEUE4/iPMXOTMzMsodJP3NdTref4gpYw01zilXH0WFmhfN2/4aHsgCD1grB3Df66yfqFoFp4gAAIABJREFU32PVe8Qw/Uz7TIi0imomRIpeD3wPuMbMfgisAXYGDiNb3en1Dbatp+KAL8LKSUPP0Y5fJFtnEDpZLsCOPB1s2MzEKM5T7CvGhZXCBi7uH8HAeBR9a4jMBGTnrTMovm/9Q8FErGlOdbJyhaD1gdmXhu3fJmUmRKQ3ZSZEAu7+X8ABwAeBxcAhwBLgA8BB7n5tg83raZgC7Fjz7sOrsMWlKAcfdCypnL4z3CB0w4yXVnNqZv5/OJd92PMUfy57xWpOYc3EwOes6op2xOV0aw2M57bR3yDC9t1fCCZiLQ2bYD+LlgHTak4i406ZCZGSfDfsv2y6HYMI57UPXgsQZ3A1PVU9dSHWgK9ezUTxCuiGwj4TMeb/DzcwHvo8Ve2AHXmficI5i1FnMmRQWDhnCQyModjPwmlOtTITlUFrxH4WbdqhVnMSkYwyEyItMMzyndOTRnkV2GFrJkLxNmOrs89EcdnO9bFXvRpyn4l+x6/Vpmjr/3dqJsKC4hgrhQ23z0S/4/dtU+SidSj2s3CaU619JiqXYY3Zz2IV+sftZyIyvhRMiLTAMBuLmXVvUFdvY7GIg5dY88aDc/FAcMV4csKiLHNaL4MT8zzFHRhPTDwUWLrDpk0efQfsuAPj5ovWodjP7l+/Mbg/VoA4XGaicPwINRNLpicG/vsJqWZCpF0UTIi0QHHAN/wAq/HMRKR9JsJBy31Dz2WPv89E8fhpDIzLV42HKsCONWWnVwAWadnhYTMTcftZnCxAuAJWv+P3b9Pw7w8h7TMh0i4KJkRaYJj9E6B7gFFvlaIeg5caV0KrshzDXp0dfpWd+Ks5FY5fq2ZitAPjmVJmIs4eJgkGqkMOjqP2s1KAND1ptaZLRZ3mFOH9IaTMhEi7KJgQaYGNm+JulDXs/gmFY9cYvExMWFdAUWfAFwZWD4xg/f+4GZxEionDOpNNmwpz2gdeASvSdLVRZnOGnbIDo+1ndQOdUQZgQ2cmCvtMaDUnkXGnYEKkDzNbYWbPM7Ndmm5LL4VpTgNORYHuAdZmtQZ88QYvVT9X54r71AivGNdt06jn/9d57ULhwDrczXlywrBypX4fo1jNqXj8CFfZhxwYQ+R+1jWlqN7rGbdmYvj3h5BWcxJpFwUTIgEz+3sz+6fg9nOBnwCfA64ys0Mba9wshinAhu4BVtM1E1BxNbTG1IqpXnPZe8wnn7U9sdb/7zWXPdZmYjXqCEK9rrLXmT5X3i8k+pSdCAPjYaeFwWj7WZ0+BrNlc4YPwKLWTCiYEBl7CiZEin4f+H5w+wzgfOBA4FLgtCYa1c/wmYnh50RPThhV4806g8esTeVBX41pToX1/4dbZWeq4vnFXGVn0eTwS3YunpqoVYAfmiwEE/X3L8naM/xrCL2n0NWaRhR5yg7E7Wfd7Yubmai3XO3wWcKQaiZE2kXBhEjRzsCNAGa2G/AY4J3u/jOyXbGTzExs2FR/l2KIt1pL1QCmzpXQ7OfiZkvCnYnrDEKzJXSHHxyPcprTsPUSMEtmIsL8/7oD415X2at2Sh+0TcMWE0Nxlath+9moA7B6NRNx+5kyEyLtomBCpOh+YMv8/0cA9wCr89u/AZY20ah+wh2wB12+E7qvhta98lgdTNR7mylfQa0z6Os5/aTm1fvwPNWfsjO6aU4xpuyEwei6jcNOn4sz175Xti3GHiaxMxOxVw2r+5pWZZImLNJqb8pMiEhg+HdRkXa5AjjJzH4JnARc6O6dEdXewJrGWjaLwg7YMWomal55rBpw1hkkZz83/KAvvJp+/4bh1v+H4nmKv8pO83PZoThwX1eomYgwZaduv4p5lX0EAVjvfhYhsK9bM1FxbhZPTQ5cRJ/9XJzXsSPsS1rNSWT8KZgQKXoTcAFZ0fXdwKuC7x1DVjeRnEJmIso0p5iZieGnOZnVm9ISXoW9P0ZmIngu0VfZqTEwNsuyI51Vl2JM2SnUTGycqbx/rrqX9617ziIWE0cKcEI9+1mtAuwR/i3WDewjF62H2a8ZbVonMvYUTIgE3P0yM9sDeDRwrbvfE3z7TODaZlo2u0JmIkoBdsyaieGXht1i0VStK6q9pp/ULwoPMhMRzxEMM9B7KJiIk5moLsCuE6R29gtZPzNc+3ouO5z4ak6p7TMRbWU1reYkIgEFEyIl7v5b4PKK+/+jgebMyYYhdimG7sHCZjWXF62cWhHhamjtK9pBYPXAkNNPoPhc6hcTx5vm1Pm5e8lWEIpSMxGxABvyYGemkzmJG4DFGKzHyEyE7Ru2n3W3L142J9ZiCNoBW0RCKsAWKTGzg83sHDO7w8w2mtkh+f3vMLMjm25flZnCPhPDXa3dbHqy9o7AUQcw4cC95oCvd2Fs3ZqJMMCpO/8/3m7O5Z+LPWUnLMCuU7gLcQKwqj69aHKCiQSKiSFyAfZ0OXMSL5tTv4/FLVpXZkKkXRRMiATM7AnAD8imOf0bxb+RTRRrKJJR2GdiyALsuldCYXTTnOoO+MKgaNjC2HKb6l8xjlczAcXB+igzEzHqTGoPjCsCsLrna2pyovAcY0wN693PYhQ7p1AzodWcRKQ3BRMiRe8Cvkq2v8RflL53BXDIvLdoDjZsGnJp2AgDPohdgB0WOzc/PSZr0/CrOfW6wl++Ij33NgXnKUpmIpyy81C/qputGlUAVndgXG5T7H0mQnVqc8qbI8bcZyJGlhC0mpOIFCmYECk6BPiwuztQvmR2B7DD/DepvzAzUWvTukhXtyunVkS4Glp3wNdr4B5lNaeabTKzyFNQ5iszUS+YWBQhAIsZpGY/WyzuH1avbGCdflbeHLH+1LB42ZzoqzkpMyHSKgomRIoeADbv8b3lwK8HOZiZTZrZj8zs/KFbNouwAHt6yHnkw1x1rKoHiDF9J3Zmos6SneU2DZfBKf7+upuJwWgHxsWaieH3C4mamajZr7KfHb64P9Szn0Uo9K+9z8SIAlbQDtgiUqRgQqTou8BrzCwcYXQ+7V4OfHPA450CXB2jYbMJC7DrrLoTa3A1qmlOtXcBjnjFOGvT8MXE0D0Fpe5mYlAcrEffZ6KwmlNzG/1VDYzrLu8LcYr7Q70zYDECxLT2fIHhA7CJCaPT3d1hkwIKkbGmYEKk6M1kU51+kv/fgePM7FvAYcAZcz2Qme0GHAV8ZATtLIhagB29ZqK5VYp6zfOvXzMRDtzjnadY8/9j7zOxbuNM5f2DiDIwrsp41awxKbcpytSwHn9zUfpZzKlhNftZZ3PEjtj9TNkJkfGmYEIk4O4/AZ4E3Ea2G7YBJ+ffPsLdrxngcH8HvI5sFaguZnaima02s9Vr164dotXDF2Dvu3zZg/9/zC7LZnnk7GLWTKwI2rSiZptiTz8Z1XkaZsrOvhHOU6iYmRgu4wUPvY5mxbYOIvY0p047Npue5GHbb1n7OB29/uaqiqDnYt/lSwFYuniKPbbrNetydjFXwMralJ2z3bbZjGWbTdc+TofqJkTaQ5vWiZS4+xXAU81sCbAtcLe73zfIMczsaOB2d7/czFb1+D1nku2qzcqVK4f6NN045KZ1K3ZZxpkveyy33H0/L1y5e+12xNxn4ohH7sD7X3QgD2zYxDEH7VrrGLELsJ/32F1xnC0XT/GEfbavdYzs9xfbNUwx8YlPehhbbTbNXtttziN3Wlr7OB1hbUSYmag7Zeekp+zDDksXs8+OW7LX9lvUbFPcgfFfH7WCR++8jEP32oatNh9+YBx7Ot3bnr0fB+6+NY972HZsGXU3+vr97EMvPpjzfnorT9t3p9ore4WyfpYFq9mKTsNniESkGQomRHpw9weAW2v++OOBZ5nZM4ElwDIz+6S7HxutgTl3L0wTqDvoe/pjdh66LTGvIE9MGM85eLfo7YEhCrCnJnnp7+45TJOy3x8xM7Hl4ile/oS9h23Sg3pmJmoWYC9bMs0rnviwodrUWQGrs5M2DDcw3mHpYv5k1cOHalOodwasXj/bcdkS/nTVPsM0KXo2Z4/tNuekJw/XppAyEyLtoWBCpMTM9gWeD+xOFgiE3N2P63cMd38j8Mb8eKuAvxxFIAHFD+LJCatdyBtD9dr2zc2mjF0zEUvMmonYpiIXYMcyPWkEm0sndc5S7Gex9+aITTUTIu2hYEIkYGZ/BJxFVnh9O7C+9JDkPvXCD+K6RbKxlAdPkxNWe659DL2uDDd9nqpWc0pFz9WcUjhnQTTRZJBa1uvcNNn3q5eGTbOfKTMhMt4UTIgUvRn4MvByd787xgHd/SLgohjHqrJhJpyK0vzV41DTA75eU3PqFsbGsiix8xQKMxAxCrBj6Z4als7AOPY0pxhi7vkyCspMiLSHggmRop2BV8UKJOZDcVnY1AZ8DQcTkQtjY0ntPIUmeywNW2czxJhiroAVW69+ltw0p4TOWbic7syMggmRcZbOO4tIGr4H7Nt0IwYRo/g6ltSuHvcKGpKrmUjoKnuYzUkrM1HK5iQ0/7/n0rANnrPKFbCG2JsjtrCfbdxUuXq2iIwJZSZEik4GzjGzXwFfA+4qP8Ddk/rkCz+I6664E0t5V+KmB3y9CmOTy0wkNDCesOrMRPNT6NINwHr2swYzAdUrYKXTz1QzIdIeCiZEim4GfgR8ssf3ncT+bobd/Tqm1Gomel8xbnjKzlRa5ynUu2ai6b41ftOcmu5nXStgpRSAmWomRNoiqUGRSAL+BXgR8CXgF3Sv5pSctAqw07p63HOQ13SQk9h5CvWqmWg669W9AlY6wUTPAuwUzlmiK2ApMyHSHgomRIqeDfyVu3+g6YbMVfhB3Py89rQGfCkWxkJ65ykUBqQbZtKpx+laASup+f/d52ZqwphILbhPaDpd+LepzITIeEvnnUUkDb8Frmq6EYMIB3xNZya6VtxpePDSc2nY1IKJhAZ5veb/TzZ9lT3lAKwi0Gq6j0HVCljpBGDFzERSZWgiMqDm3+1E0vIx4A+bbsQgwgLspgcw5bXtmx68ZDuCd9+f3FX2hAZ5vQLSps9Z0sFERaDV9PmqakNa5yzITGhpWJGxpmlOIkU3AS8xswuBC6hezemseW/VLMLMRK+ryvMlxQHf9ERxRRtIIOhK8Dx19MpANJ31SrnOpCozUV7ZrAnjkgFTzYTIeFMwIVL04fzfPYGnVnzfgaSCiY0zYWYitQFf84OXqdKKNtD8QC/lYuJeQUPT9ThdK2AlNDCuCk6bDlir2pBUAFbYZ0LBhMg4UzAhUrR30w0YVKEAu+l9JkqDl6YH7VA9OG56oFf+/YsSGuT13psjsUA1gcF6R4p9DLqD1hT+HjsKmQlXMCEyzhRMiATc/aam2zCoDZtS2mcivSuhVVfUmx4Yd9dMpDPI69WHkivATigzkWrNRNL9LAwmVDMhMtbSeWcRkVqK05yaHvClN3ipumqc3NKwCQ2MxyYzkUCg2pHqak4pTjvsCPuZpjmJjDdlJmTBM7Prgee4+0/M7Aayuohe3N0fPk9Nm5OkCrDLtQAJDJJTnM+e9MC4V81E41Po0gtUO6oCrRSmFCXdzyZVgC3SFgomROBi4J7g/2P1yRZ+EDd99TjFde0rrxqrALunnqs5KTPRU/U0p+Zf07ANZs2/P4QmCwXY2mdCZJwpmJAFz91PCP5/fINNqSX8IG766nF5wJnCILkqW9P0oGp6Ir3z1NE7M9HsOSvXvqSQ9epIsY+V27B4agKr2nSlIVNaGlakNdJ5NxZJgJm9xcx26fG95Wb2lvluUz+FHbCbHiQnOEd7uuqqcXLFxOlcZe81Va7xpWETDFQ7UpxKV25DSpkcUM2ESJs0/24nkpbTgN16fG+X/PtJCQuwm7563DXNKYFBcjnAmpowJlKrLUloYNxzB+ymz1nK05yqaiaSCyaab09ImQmR9kjr3UWkebONmLYB1s1XQ+aquDRsYlfcExjAlM9JCleMU77KnmpmIuU9EyqzXyn0s2Cjv5SmhYEyEyJtopoJWfDMbBXwlOCuV5rZ0aWHbQYcBfx8vto1VzPh0rCNXz0uD5Kbv3pcPidpzGVPL4PT0WuqXEpT6KYnrfGVy0IpFvlD2tOcivtMqABbZJwpmBCBI4C/zv/vwAkVj1kPXAW8er4aNVcbU8pMJDh9pzzoTOGKdooZnI6eqzk1PoUuLCZOa2CcbgF2utOciqs5KTMhMs7SencRaYC7n+HuE+4+QTbN6bDO7eBribsf4u4/aLq9ZSkVYHfXTDT/FlMeuKcw/STlYCLVfSZSHhhX9SnVTMxO+0yItIcyEyKBPKAYKykVYKdYJFsOsFIIJsK57JDGeeoYhx2wUxsYT04YZuDBmDiJfjYm2RxlJkTGW/PvdiIylMI0p4avHk9OGOFYNIVBX/mcND0oztqQ7mZiPTMTCU2hS6nGpKNchJ1CMFEIwBLIEoa0mpNIe6T17iLSEma2xMwuNbOfmNnPzeyMUf2ucNO6FAalqQ1gyoPj5AZ5iW0m1nM1p6RqJpp/DcvK5216qvnXtBCAJXbOlJkQaY+03l1E2mMd8BR3PxA4CDjSzA4bxS/aOJNOATYU54qnMLWiPM0ptQLsFM5RqFd2q+l6nJSnOUFFP0vgbzHtfhZmJrSak8g4a/7dTqSFPPOb/OZ0/jWSy2+FAuwElstM7WpoigXYixIeGPfOTKRUgJ3WwBhS7WfpZnO0mpNIe6T17iLSADO7wswek///LWa2S6TjTprZj4HbgQvd/ZLS9080s9Vmtnrt2rW1f084zSmFYGL/XbcCYOdlS9hh6eKGW1M1zan5c7TzVkvYfsvs3Byw29YNt6aoVwai6fP26OVLH2zDAbtt1WhbqqQ4nW7/oG8dsHti/aywz4SCCZFxptWcRGB/YMv8/6cBFwC3DntQd58BDjKzrYEvmtl+7n5l8P0zgTMBVq5cWfvTNKV9JgDe+4ID+crP1vD4fbZPYkCV5A7YUxN85sTf5XvX/YqjDljedHMKUt0Be8elS/jsKx/H1Wvu5VkHRYn3o+rOTDQftB60+9acfcKh3Pnb9Rx9QFrnTDUTIu2hYEIkCxyOMbPbyPaZ2NnM9uj1YHf/5SAHd/e7zewi4Ejgyj4PH1i4NGwKA5gdli7muMP3aroZD0rxijHAPjsuZZ8dlzbdjC6995lovm8dvMc2HLzHNk03o1JXAXYi/WzVo3ZsugmVtM+ESHsomBCBfwb+BngdWV3DF/s8vu+EbTPbAdiQBxKbAU8D3j1sQ6sUCrAbnteeou59JpofFKcs1dWcUpfifiYpU2ZCpD0UTMiC5+7vMLMLgRXAx4B3AtcPedjlwMfNbJKsNumz7n7+kMestGFTOjtgpyjFwtiU9QpIewUZkuneZ0LnazZazUmkPRRMiADufhlwmZkdD3zC3X8x5PF+Chwco239zBQKsDVQLitfUU9hyc6UVQUN05OW1F4YKUpxCeKUaTUnkfZQMCEScPcnN92GQRWWhtXV0C6p1kykqmo6k7IS/amfDUY7YIu0h97tRErMbH8z+7yZrTWzjWZ2u5l91sz2b7ptVVIrwE5N12pOCexMnLLJij5UnsIj3VJcNSxlqpkQaQ9lJkQCZnYocDFwP3Au8L/AzsAfAEeZ2ZPc/fIGm9gl/CCe1KCviwpjB1OVmVDGq78U9zNJmfaZEGkPBRMiRe8kW771qe5+b+dOM1sKfD3//tMbalulcDWnaU1H6VK+qq6aidlVTWlqeo+JcVAOUtXPZqfMhEh76N1OpOgw4J1hIAGQ33438LhGWjWLwg7YGsB0UWZiMFVF/FoWtr+ufqYC7FkV95nQak4i40zvdiJF/S6RJXcJTQXYs1Nh7GCq4gb1q/7Uzwaj1ZxE2kPvdiJFlwCn5tOaHmRmWwCvB37YSKtmEWYmVCjbTQXYgzGz7oGx+lVf5YyOaiZmp9WcRNpDNRMiRacCFwE3mdn5wBqyAuyjgM2AVY21rIewZkJLeHbTPhODm5ywwtViZSb669pnQv1sVqqZEGkPBRMiAXe/1MwOA94CPAPYFrgT+CbwNnf/WZPtqxJ+EOtqaDftgD24qQljXeG2zlk/6meDUWZCpD0UTIiU5LtXP7/pdsxVuM+ECrC7lbM1GuT1Vz5nykz019XPVIA9K2UmRNpD73YiY65QgK1pTl3K2Rplb/orB6XqV/2pnw0mzHZpNSeR8aZgQmTMFZeG1QCmrDxFZ5GuGPfVnZnQOeunq5/pnM2qkJnQpnUiY03vdiJjLpxvrLnt3bTPxOC0m/Pg1M8GU9xnQsGEyDjTu53ImAunOWnQ102FsYMrZyYmFaT2pX42mEkVYIu0ht7tRMacCrBn112ArYCrn+59JnTO+lE/G8yUCrBFWkMjD5GcmS0yszvN7FlNt2UQGzapAHs25UGd5rL3p9WcBhcGXNOThpnO2WyUmRBpD32qiuTcfT2wEXig6bYMopCZUDDRpWtnYhVg91U+Z8p49ReeI01x6i/sYxu1mpPIWNM7nkjRlxijPSY2bXLCi3raAbubCmMH1zVlR/2qr7CfqY/1p8yESHto0zqRov8EPmhmnycLLNYAhU86d/9mEw2rUt79WlMrunVlJjRlp69yAKYC7P6mJhRMDEI1EyLtoWBCpOgL+b/Pzb86HLD838n5blQvhT0mNOCrVB4Yq2aiPxUTDy78+1uk89XXZLg0rPaZEBlrCiZEip7cdAMGod2v+5vuykwomOhn0lSAPagw4FJdTn/KTIi0h4IJkYC7X9x0GwZR2LBOA75KXTUTGuj11bWak7JefakAezATppoJkbZQMCFSwcy2Bw4DtgPOc/c7zWwJsN7dk1l6RHtM9NddgK2gq5/yOVPWqz/VTAymmJlI5i1VRGrQO55IwDLvAW4GzgXOAvbKv/1l4E0NNa1SuMeEVtypVr6qrpqJ/soF1wpU+wsDMNVM9BdmvzZ5tjKdiIwnfUKIFL0ROBl4K/C7ZEXXHecBR8/lIGa2u5l9y8yuNrOfm9kp8ZuqzMRcaGnYwXXtgK3BcV9h0Ko+1p+ZFZeHdQUTIuNK05xEil4BvNXd32lm5VWbrgMePsfjbARe6+5XmNlS4HIzu9Ddr4rZWBVg91cuwFZtSX+qmRhcGHCpj83N5IQ9WC8xs8mZTmadPBEZhD4hRIp2BX7Y43vrgS3mchB3X+PuV+T/vxe4Oj92VCrA7q8rM6GBcV/lwFR9qz9lJganFZ1E2kHveCJFtwD79fjegcANgx7QzPYCDgYuKd1/opmtNrPVa9euHfSwAGyY0T4T/UxNGPvvuhUAB++xNRPK4PTVnZnQOetn/922evA8PXbPbRpuzXgoTHPSXhMiY0vTnESKPge8xcyu4KEMhZvZI4HXAmcOcjAz25JsI7zXuPs94ffc/czO8VauXFnrk7S8A7Z0MzPOOv5QLv6vtax61A5NN2csdGcmFKj2s9OyJZx78hO4/o7f8Hsrdmq6OWNBKzqJtIOCCZGi04HDgW8DN+X3fQ7YHfg+8K65HsjMpskCiU+5+zlxm5kJC7DLV5PlITssXczzH7tb080YG+XVnBSozs2KXZaxYpdlTTdjbIT9THtNiIwvBRMiAXe/38xWAX8IPIOs6PpXwNvIgoKNczmOmRnwUeBqd3/fiJpbyEzo6rHE0pWZ0BQ6GQHVTIi0g4IJkRJ3nwE+kX/V9XjgZcDPzOzH+X2nuvtXhm1faOOMpjlJfJPatE7mQaFmQsGEyNhSMCFSwcz2AX6HbAWmm4HL3P26uf68u3+X4h4VI7FhkwqwJT6t5iTzIexXCiZExpeCCZGAmS0B/pEsqxCuej5jZh8HTnL3dY00roIyEzIKXas5aQqdjMCkpjmJtII+IUSK3gu8FDgN2AdYmv97OlmA8Z7GWlZBBdgyCl07YKtvyQhMaZqTSCsoMyFS9GLgDHd/R3Df9cDbs5pq/hx4dRMNq6ICbBmF8mpOClRlFMJ+pqVhRcaXRh8iRYuBS3t87xJg0Ty2pa/wA1hXjyWWrsyEAlUZAWUmRNpBnxAiRV8Hnt7je08HvjmPbelrw4wyExJfd82EAlWJTzUTIu2gaU6y4JnZw4Kb7wM+YWZbkG1WdxuwE/BC4JnAsfPfwt7CAmwt3ymxaJ8JmQ/KTIi0g4IJkWxjuvCTzIA/AV5Vug/gYoqrPDVqJlwaVlePJZLyPhNaKUxGoZCZmFEwITKuFEyIwAlNN6CuwjQnXT2WSMqZCRVgyyhonwmRdlAwIQueu3+86TbUVSjA1tVjiaS8mpMKsGUUtJqTSDvoE0JkjKkAW0ZBO2DLfFDNhEg7KDMhUmJmRwIvAHYHlpS+7e5+xPy3qlr4AawCbImlazUnTaGTEdBqTiLtoE8IkYCZvQ74CnA0sAUwU/pKKhcf7oCtAZ/E0r2akwJViU+ZCZF2UGZCpOhk4J+Bk919punG9LOhsAO2BnwSh/aZkPmgzIRIO+hSpkjRMuBz4xBIQDEzoQJsiaUcPKgAW0ahmJlIKukrIgPQJ4RI0VeBw5puxFyFBdjlFXhE6ir3JU1zklEorOakfSZExpamOYkUnQx80cwc+BpwV/kB7n79vLeqh3CesTITEot2wJb5oJoJkXZQMCFS5MC9wNuBv+nxmGR2wA7XZteAT2JRzYTMh3CnddVMiIwvBRMiRWcDhwPvB34BrG+0NX0U95nQgE/i0D4TMh+UmRBpBwUTIkWryFZyOrvhdsyJCrBlFMqZiWllvWQEtJqTSDvoE0Kk6A7gtqYbMVfhB7AKsCWWcMrchMGECrBlBLSak0g7aPQhUvRB4E/NbCz+NsIVUKY14JNIwivGqsWRUSms5qTMhMjY0jQnkaJtgP2Aq8zsQrpXc3J3P23+m1WtUICtvQAkkrBGQvUSMiqFzISWhhUZWwomRIreFPz/kRXfdyCZYEIF2DIKxcyE+pWMhmomRNpBwYRIwN3H6vJ+cWlYDfokjrAvafdrGRWt5iTSDvqUEBkBMzvLzG43sytH+XvCmgnNbZdYwit2+pvaAAAOhklEQVTG5ZWdRGLRPhMi7aDRh8honA0cOepfslE7YMsIhIGpMhMyKlrNSaQdNM1JJGBmm8jqInpy9747YLv7t81sr0jN6incZ0IF2BJLoWZCQaqMiFZzEmkHBRMiRW+lO5jYDng6sJgs4xCFmZ0InAiwxx571DpGoQBb01Ekkj2325ydli3mtnvWcdje2zXdHGkp1UyItIOCCZGAu59edb+ZTQLnAb+O+LvOBM4EWLlyZa1P0j97yj7c8Zt1bJhxlm+1JFbTZIGbnpzgvD97Aj/+5d0c8agdmm6OtNTv7L0tp//BCiYnJ3jUTkubbo6I1GTuuhogMhdmdjTw9+6+1xwfvxdwvrvv1++xK1eu9NWrVw/VPhGRhcbMLnf3lU23Q2Qh0yRrkblbDGzbdCNEREREUqFpTiIBM6sqXlhEtiv2u4A5pQ/M7NPAKmB7M7sZOM3dPxqrnSIiIiIpUDAhUnQj1as5GfDfwElzOYi7vyRim0RERESSpGBCpOiP6Q4mHgBuAi5z95n5b5KIiIhImhRMiATc/eym2yAiIiIyLlSALSIiIiIitSgzIVJiZscBLwH2AMqbN7i7P3z+WyUiIiKSHu0zIRIwszcDZwBX5l/ryo9x9xNG8HvXktVlDGJ74I7YbUncQnzOsDCf90J8zrAwn/cwz3lPd9fOiiINUjAhEjCzG4EvuvufN92Wfsxs9ULbrGkhPmdYmM97IT5nWJjPeyE+Z5E2Uc2ESNF2wHlNN0JERERkHCiYECm6GDiw6UaIiIiIjAMVYIsUvQY4x8x+BXwFuLP8AHffNO+tqnZm0w1owEJ8zrAwn/dCfM6wMJ/3QnzOIq2hmgmRgJl1AoVefxju7grCRURERFBmQqTsrfQOJEREREQkoMyEiIiIiIjUogJskTFjZkea2TVmdp2ZvaHp9oyKme1uZt8ys6vN7Odmdkp+/7ZmdqGZXZv/u03TbY3NzCbN7Edmdn5+e28zuyR/zv9uZouabmNsZra1mX3ezH6Rv+aPa/trbWZ/nvftK83s02a2pI2vtZmdZWa3m9mVwX2Vr61lPpi/v/3UzA5pruUiMhcKJkTGiJlNAv8A/D6wAniJma1otlUjsxF4rbvvCxwGnJQ/1zcA33D3RwDfyG+3zSnA1cHtdwPvz5/zXcDLG2nVaH0AuMDdH022otrVtPi1NrNdgVcDK919P2ASeDHtfK3PBo4s3dfrtf194BH514nAh+epjSJSk4IJkfHyO8B17n69u68HPgM8u+E2jYS7r3H3K/L/30s2uNyV7Pl+PH/Yx4FjmmnhaJjZbsBRwEfy2wY8Bfh8/pA2PudlwJOAjwK4+3p3v5uWv9ZkdYubmdkUsDmwhha+1u7+bbpXxuv12j4b+FfP/BDY2syWz09LRaQOBRMi42VX4H+C2zfn97Wame0FHAxcAuzk7msgCziAHZtr2Uj8HfA6oLOy2HbA3e6+Mb/dxtf8YcBa4GP59K6PmNkWtPi1dvdbgPcCvyQLIn4NXE77X+uOXq/tgnyPExlnCiZExotV3NfqVRTMbEvgC8Br3P2eptszSmZ2NHC7u18e3l3x0La95lPAIcCH3f1g4Le0aEpTlbxG4NnA3sAuwBZkU3zK2vZa97MQ+rtIqyiYEBkvNwO7B7d3A25tqC0jZ2bTZIHEp9z9nPzu2zrTHvJ/b2+qfSPweOBZZnYj2RS2p5BlKrbOp8JAO1/zm4Gb3f2S/PbnyYKLNr/WTwNucPe17r4BOAc4nPa/1h29XtsF9R4n0gYKJkTGy2XAI/IVXxaRFWye23CbRiKvFfgocLW7vy/41rnAcfn/jwO+PN9tGxV3f6O77+bue5G9tt9095cC3wKenz+sVc8ZwN3/F/gfM3tUftdTgato8WtNNr3pMDPbPO/rnefc6tc60Ou1PRf4o3xVp8OAX3emQ4lImrTPhMiYMbNnkl2tngTOcve3N9ykkTCzJwDfAX7GQ/UDp5LVTXwW2INsQPYCdy8Xd449M1sF/KW7H21mDyPLVGwL/Ag41t3XNdm+2MzsILKi80XA9cAJZBe8Wvtam9kZwIvIVi77EfAKsvqAVr3WZvZpYBWwPXAbcBrwJSpe2zyw+nuy1Z/uA05w99VNtFtE5kbBhIiIiIiI1KJpTiIiIiIiUouCCRERERERqUXBhIiIiIiI1KJgQkREREREalEwISIiIiIitSiYEJEFxcyONzM3s31q/OwxZvYXo2jXfDCzVWZ2uplFe+/Pj+lm9rRYxxQRkfGhYEJEZO6OAcY2mCBb6/809N4vIiKR6ANFRKRFzGxx020QEZGFQ8GEiCx4ZnaRmX3XzJ5mZleY2X1mdqWZHRM85mzgOGDXfFqPm9mNwfe3N7MPm9ktZrbOzH5hZidW/K6nmdmPzOwBM7vOzF5hZmeHx8oft7mZvdvMbjCz9fm/bwqnKAVTjJ5rZv9iZmvJdhiueo6nk2UlADZ0nkPw/eVm9q9mdkfe/p+a2bEDnMat8udxl5ndY2afMrPtSm2YMrM35udmnZndamZ/a2ZL+h3czHYws0/nx77LzD5mZs/Kn8eq4HE35q9V+ec9PwfhfQea2bn58e43s++Z2RNLjznUzC40s1/l/eJ6M/vH4Ps7m9nH8+eyzszWmNn5ZrbjnM+ciMgYm2q6ASIiiXg48AHgncAdwGuBz5vZo939OuBtwA7AocCz8p9ZB2Bmy4DvAZsBpwM3AM8APmxmi939Q/njVgD/AVwKvBhYBLwZ2ArY1GmImU0BXwVW5L/3Z8Bh+WO3zdsW+hDwn8DLgF4D848AuwEvB54AzAS/bwvgYmAb4FTgf4BjgU+Y2ebufmafcwfwd8DXgZcAjwDeAewCPDl4zCeBPwDeDXwf2Dd/fnsBz+tz/HOA/YE3Atflj//QHNpVycwOAb4D/Aj4f8B9wKuAr5vZ4e5+uZltSfY6XAocD9ybt/Xw4FCfAPYE/orsvO0EPBXYvG7bRETGirvrS1/60teC+SIbFDqwT3DfRcAG4BHBfTuSDbhPDe47G7i54phvBh4Ifz6//1/IApOp/Pa/AWuBzYPHLM9/9sbgvpflbXxS6XhvAtYDO+a3V+WP++Icn/vp+eOnSvefnN+/qnT/14HbgclZjtlpwwWl+1+a3//U/PYT89t/1ONxB83yO56eP+aFpfvPLbcbuBE4u+IYDpwe3P4GcDWwKLhvMr/vS/ntlfnPHTBL234DvLrpfq0vfelLX019aZqTiEjmWne/tnPD3W8nG0jvMYefPRK4BLghn8ozFWQXtiPLMECWXfiKu98X/J41ZFfpy8e7Cfh+6XhfA6bz44S+ONcn2cOTgFvc/aLS/Z8ky8as6PqJbp8t3f4cWbblcfntI8kCoS9UPKdOG3o5jCywKz/Pz8+hXV3MbDPgiE4bg7YYWQDVacu1wN3AP5vZsWa2e8XhLgP+ysxOMbP9zczqtElEZFwpmBARydxZcd86ek8bCu1INgDdUPr6XP79Tu3AcrIApaxc57Aj2dSZ8vEuLR2vY80c2jibbXsc43+D7/dTeA7uvh64C9g1v2tHsmldv6H4nDrno/ycQsuBu9x9w2y/cwDbkmUh3kz3OT4Z2MbMJtz912TTtG4F/hH4ZV5LE07JehFZhuR1wE+BW8zsLTGX3xURSZlqJkREhvcrskHxKT2+f03+7xqyQXXZThXHuwF4YY/j3Vi67VUPGsCdwKMq7t85aE8/hedgZovIajBuCY7xANl0pyq3znLsNWQD/OlSQFE+b+S/Y1GpLeVg6G6yrMk/AP9a9QvdfVP+74+B5+WZi5VkNRufNbMD3f3KPIN1EnCSmT2KrEj/DLLpbB+e5TmJiLSCggkRkblbR1ZkXXYB8GfAL/PBZS8/BJ6ZFzXfB9kqSsDjKWYGLiArMP6Nu/8iSssz6/J/NyMrJu64GHiBmT3e3b8X3P+HZEHS1XM49guBs4LbLyDLfv8gv30B8HpgK3f/xoDt/iFZJuE5FKdTvaDisTcB+5XuOzq84e6/NbPvAAcCV3QCh9m4+0bgh2b2ZrIC/H2BK0uPuQY41cxeVdEGEZFWUjAhIjJ3VwHbmtmfAKuBB9z9Z8D7yaa7fMfM3k+WidgCeDTwRHd/dv7zfwM8H/iqmb0XWEw21eY2gtWcgE8BJwDfMLO/BX5CdrX94WQD2WPCuosB2w/wWjP7T2DG3VeTFZafApxjZm8CbiYrjP494JXuPlN1sJLHmNnHgM8AjwTeDlzcCRzc/SIz+zTZClnvI5uytYlsdaRnAq939/+qOrC7f83MvgucaWbbk63m9HyyYACK5+4zwFn563B+/pjjKw77F8C3yV6Lj5IFc9sDh5AVnL/BzI4GTgS+RJYp2gJ4NVkg9gMz24qsxuJTwC/Ipkk9mywj8zVERBYABRMiInP3EbJi4HcAW5NdBd/L3X9tZocDbyG7+r4r2VSaa4AvdH7Y3a8ys6OA95BdYb+FbJnUI8kG1Z3HbTCzZwBvIBvM7g38FvhvsqVl19ds//lkc///NG+rAZZfqT8C+P/Au4Cledtf5u6fnOOxTyELdP6dLItwHtnAO3QsWQbnj8lWplpHNmXrq/Svf3gu2VKw7yYrxj6XLBA7G/h18LiPA7uTLYH7SrLlX59DFoA8yN2vMLNDyfbe+CDZ8rxrgSuAf8ofdi1wf/57lpMFEZcBv+fuN1u2QeAVZEvL7kkW1FwDvNTdv9zn+YiItIK5DzvVVkRE6sr3MrgO+A93f3nT7RknZvYPZFmHbd19XZ+Hi4jICCgzISIyj8zsQ2RLwd5KtqnbKWTTYj7QZLtSZ2bHk2UPfk425etIsk3m3qNAQkSkOQomRETm1xKyqTo7kU1XuhR4mrv/tNFWpe+3wGvI6kYWk9UwnEo2ZUxERBqiaU4iIiIiIlKLNtUREREREZFaFEyIiIiIiEgtCiZERERERKQWBRMiIiIiIlKLggkREREREanl/wD3esBreKkYMgAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"%matplotlib inline\n", | |
"xmin,xmax=1,100\n", | |
"x=range(xmin,xmax+1)\n", | |
"t=[guess_num(xmin,xmax,x)[0] for x in range(xmin,xmax+1)] #'times needed to guessing x'\n", | |
"print(\"average number of guessing is\",sum(t)/len(t) )\n", | |
"plt.plot(x,t,linewidth=3)\n", | |
"plt.title(\"Disribuition of number of guessing unsing binary search method\",fontsize=24)\n", | |
"plt.xlabel(\"Integer to be guess\",fontsize=16)\n", | |
"plt.ylabel(\"number of times of guessing\",fontsize=16)\n", | |
"plt.show()" | |
] | |
} | |
], | |
"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.7.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment