Skip to content

Instantly share code, notes, and snippets.

@PeterOgden
Created June 5, 2019 15:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PeterOgden/8ee630c129610c4ecbac893bd07f0aac to your computer and use it in GitHub Desktop.
Save PeterOgden/8ee630c129610c4ecbac893bd07f0aac to your computer and use it in GitHub Desktop.
VDMA test from forum post
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"\n",
"require(['notebook/js/codecell'], function(codecell) {\n",
" codecell.CodeCell.options_default.highlight_modes[\n",
" 'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
" Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
" Jupyter.notebook.get_cells().map(function(cell){\n",
" if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
" });\n",
"});\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import pynq"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"ol = pynq.Overlay('/home/xilinx/canny.bit')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"ol?"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"vdma = ol.vdma"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"canny = ol.canny_edge_detection_0"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from pynq.lib.video import VideoMode"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"image_mode = VideoMode(height=1080, width=1920, bits_per_pixel=24)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"vdma.readchannel.mode = image_mode\n",
"vdma.writechannel.mode = image_mode"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"vdma.readchannel.start()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"vdma.writechannel.start()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"import PIL.Image"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"img = PIL.Image.open('/home/xilinx/Kerbal_large.png')"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"f = vdma.writechannel.newframe()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"f[:] = img"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"vdma.writechannel.writeframe(f)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"output = vdma.readchannel.readframe()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAB4AAAAQ4CAIAAABnsVYUAABpX0lEQVR4nO3dy3KsuLYFUHvH/f9f9m1kVAYHhNAbCcZoVdmkEILcjcny0s8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7/V79wQY4e/vb/u/v7833PfdHHZ2U4of/E7pdy24emcr/Pn58SPx4wEAAAAgxf+lHCQNXNpCiaEnLeIyMk78eOLPc48BAAAAgKOLaFLwBBP6/f3t/d38vreYoXweAAAAgEXFsiTpM80Fk9OzODXel2P1JPTy+1VW6dxK8Oyt1vyy48eNtnOrmVWrcQAAAACWlhFAN89QxnSVfWrv2svrOt6+R75RiITXuwQwHgiePe2RRdsOkr62WbFy5BTx57n4XscvqsmX6Gxuvb+hKZeT3qk8PtrlM/mwf44AAAAAzqRmWPcWYzZ0GSzmBrW7UClSyVtQ5Fs8q3W1utKsADr3rh0H6Xp3gg9twRVlnes4SL/y5/h8gtNovuC3fMXE0AAAAMDjJW1C+J70s8B2ZQpW6fORTjlUMKOc7VauWxY6bCX//v4+KxP5JjZv+DBJw5Pj9XZa9lu+F987CwAAAPBUSQF0V9LtrlZc3pT2F5FPbX9SE8ueFbaX1bOPvBEFJxrWbnu5pxEAAACAGg0C6KxOBekjlLXKvWzMmtLj9eyv/oOTTPnJ2bm+R14WQlZ2KE75eSfFgePlnQoekFIg/B0hfdisuaUccCZyXcGEveZcZ2TEWVZ8xwMAAAAwTJsK6Nz85bJpcs2Yx59n5XSVsWZ6x4Ca3gJdG3ccT5SrrIQ5y+e27vqfFNc4R36S8qnLOWRllAVdyC8ntj0yflinjQcjg6e/ZGr1OLUN7lOWfddkRmANAAAAvEdhAH1X39JdfNM86LwxGCrrHx1M5RLvTkFVdXM1D9LZ5ad/vOBTlzXvlV19v68WguF4fOSz36a3Ke+aPiee8Se6mWdk8c/+cTj7YX0WnD6CRs8AAADAaxUG0PFd4445UWWR4+4s39wnsRD47OzH3r6TVCZWziQlAz3LNydZgUTNO13sjrk8Y8oxwZ/EFVfrH+czc/qcPpOsH5Yd30+/htoAAAAA8+uyCeFl+nxWbFvZwLfAnJFr/ZTK6nDb5rkTLmxb3xWOPEUpHdLvXahJeoXXG7+MZWd8/PcCAAAAYOtf/RBlvSPqz9tptKDf39/587jiSvC7lC3pLTfi9z+RA8pGbv5daJKKzv+0P4N1BgAAAB6vSwX0VnGBZ5PK0PrtBx8vvd9ultkW85ZexnfJ7Uo8LH2+vdw71y2N0QEAAACepDaAjucylUnWboexdTOg+u3Osk5U8KmUBhqRW1DQSjtlx7y2Zuj/O+HIg5clsWv29vhgPp74jJ1178nt6nP8VGI2rcYZAAAAeLmWFdDFew/Gx6wcoYnKC1k3Ot+a/yqOSWXXOZc12r5dpPb5Z8g3Ln1L0t1/BH97HHD7q7YdrnM/teLjAQAAANBW9xYcxeJFtU0qoxumk0sXaP9chZJZasqfG/qcolULhYLnreCRqHyKci/2lvQ5Uc1MPtcVH6HhtUea2MRPOs9qAwAAAPQzbwC9NSZiXj1EvszUIoFXVsONCY2cbadkuay6djvsN3hNaVJxV/rcvCF7ei+XeEDf/Pm5HFAeDQAAALzBv94niMRDrRKf8cFNsLZx0fyo4Y3IPWlurfQ3Wv3+x/GY42/n13bC34XNGnOtFdtKf3o/R077WmXaiQEAAADUGFEBPW0tbfHExlRQFs/kxpF3OWbb6eWONudTd/R5e1FQIh35SDyDVns7p3XfYwEAAACc6RtAn20jNkkyuGsz/TNxVr6ikSu560TR8D42af+S242hqzenz5N8u/07AwAAALxHdgAd2a0u/Q//U3rUZmU0ZwOmnCjlvMFx0gevyZsiW5w1LN8uU5+jne0tuYqRjaebnPr2Fb58Zo6dmgu+xfX6ZcSvSvwBAAAAkgLolOYAlWFNk1DmbJDc+uvEceIHlx1W/9ndvYjU4V4Om9uj+fIj6Y0mGr6cmEfxtIsfnt07obs2HkwXmU9xDF227JGPzPn3HAAAAABzSq2Arsles8Zs/pFOg8zmuClf/e6CtyzUsS9K3HEHwrbzKU7/z74yuTelVdo+f/r806e7etYfUqQcPGw+AAAAAA8QS6DOgpJjTNMwyTrLHxdKbS5TyK2aQsvKSsxOdy3xvLsbvdD9nUT6okW6ytzixns9/5M24VsBAAAAgBolmxAeE5xOmc7kUdGZrN3nEscpO2An0p1jpEVv63Iu21kAAAAAQG8lATQwg8Qcud/fK5Q5+xOK5ht1Hg9LP/gWt98aAAAAgObyAuh7s5uzjhyVqU08nks50cg1mTk+KyBx62qqzhtbNT3lg/1tjp+NfHPjBydOKX0v00hDnvRePQAAAACLKukBzaJuDK+DJa6L9vieRFl78ZRUtLeCtLfmLAPqxKcN+gEAAABud1oBLRB8kknisJSuxB68iJRXCOnbWt4iMr2/v7/gDOtbiBSMEMmUj6MdX6Uc668b/tEGAAAAwEKu456fx7V9eKFIX5HxZ6eH+D2dpPlD+oM3pit0/YmK+VIAAAAAL5EaQA+ZTGwOQJl5KnB9r7dk0AAAAMAb5G1CmPuX7GWZl5QKKsW/bmfNLgAAAACgraQA+iwRzkqKxcrQ24qxcmITjPpGQHd12wAAAAB4s7wK6MFWTNNgTtPGr7u/k4i87hpzCbuz6IAPAAAAUGPeAFr6DM1N/rVKDKMLdGoBNG2sDwAAADCJfwWfSYlyzo6Jf3bydAwY5pjq/v39FUe9nT6YMuzvRtkcAAAAANbVqwJ66ZLAsslLl462fQx+khd2t5K7QXY/jPz8OBRv1ukfpcthl/7HEAAAAKBSSQU03KKmAJYZeB+w8/efuycCAAAA0EuDCuhgqBSJVIRQ8Fq7zs6T9FAev9OgfwYBAACAlwgE0E2ymPGBTkOyoVZ2Kxlf2LMHJphRXt4jN3Fax1sT/OfirBNL5XnPThR5YIIfuZyPzjAAAAAAPz8/4RwkK+s5C1PieeKZYMPf3ppcLz9FKaH1bKjsSze5yL8Jkdh6zL8kiQt+Nplb/rkDAAAAGKlBC46/v79gelJQBD24aLrsdOtWds/Jeg4wVdDZsD9P2eUEJ1A21PFfuRlWGAAAAGAe4QA6Nzs+i2CO1YjHg4Fhzl4XTeLzj0PBDNP/VTk7svjUXwWfnfleAAAAADRR2JM3Hvek/KV8it7pjCicF7o39Gz+pUvfxnCSDQ+PxNAAAADAg1UFH1kNZyfsDpzVl2CqJgaQZfvte1gA/Qz+VQEAAACeKtyCI7HAOSs0mbb88GPAxLL2UvtK3LMx64O5n0rsmVu5hgVNw3eTyS3ML5ayIImtgdvOObIpH0c1jxwAAAAAKQIBtESmt7Jdy7b5dco92vW07VTBvdDTEkmNLwPllAri+FLU3PSaWzZ50+dXiXxz3SYAAADgqcIV0ETcErkulPOSrvK2ztNYI116B/ndK5MeX4FODal7jAwAAACwqIsAOlgE2iRbKSsjHWB8hFRzosts7lhCm3W64s7d6TXFTZLTwY/NMUVN+clOw/T5578S2tV7SkQehsE9fMr+HbgsZF79BgEAAADkysj+2uYmkSxy2HZ/waYWk/eq7q04ql5aVgvp8cuS2Jg7OMPjpd1eK/2e5yrL7fcFAAAAoId/d09gxjSq35RqMqZPfWvDycRNeF/6edLFHiuj75oJAAAAABT2gC5IQlfJxSKFpUyoR0+D9DFbnd0zNoYOGAAAAACDFQbQx87ClxZtbdE8GZx8HSonNj7gSz/dZQ+Nstcqu0s+/m/KJC97Bx8Fl3ra52or2C/7p2LyiU/d5yyJ/UwG8wYCAAAAeKrCAPrSWc/ZtSoQpUK5Zr65neYWGbb387Pu8xmceeLlBP9tqVyKrI9fPkjr3hcAAACA5qoC6MREL71cuqAOFHJVvgWJfNzTO8BxkYP11GMmoGMPAAAAQFxJAH3ZyiB9nJkLZmcLkgasVfCOxG/T5DcxXUqXjPpBzsz2sBF0LL524wAAAADi/g0+3zPCygJ//7l7Itnicy64ohkyuzFz+C7ODJcMAAAAAOP16gHN1jalXTGDbuv2FRjc6UW/jt6sJAAAAMC0bgugv3/AfnscWS94CTWNSp6xLPxMkLbTkKQbAAAAINegADoY3My8f1f6TM4SxuIy2xujeWlpb5e39fIWzPMdAQAAAIBLVQF0epHv4KYHPRSEsykfOSaSWSfKyqk/t2DbmLhH4jxD+fbuSo9Sct4eV1HfjEVDDwAAAAAWUhJAl22tdnsomW5wlneW419OI7ir4e5Tu5uVG4DGRwv+5HLmZ1PK+lSKs8lHjjn7Ve6tORr8/M/wGgAAAAAAUgPoAaWyLyzhnPaSzyZ244Qbnlo4CwAAAABj1PaALg7yjh+cvE3HgLndcvmVJ62f87CrTq/R7n321c8CAAAAAImyA+hIX4LLDy5RdrrKPD+OXSYimyJm/byT39/f9Nbh80jp5jEVSTQAAAAAM6itgH6e+bPFrU/Z+EJz/kx1rTn/rLzOd08EAAAAgFf7V/zJhcK4FNvK3LU87EZMyzoDAAAAQK6JKqAXzX9nM+cy7tLbB4S5q6zznPMEAAAA4CUmCqBvt1AqGmmjPO1VrNXC4mPFdQYAAACAeZS34Hh2ZeWzr+4uu1VddJHnn/b8MwQAAADgJbIroL+Fn5+myel1oAtVjH7yu12Kt53/hAHfKvXFZ/OcarUjK7nKOgMAAADADK4D6HjclhIOrhjYbXP2n5MWxhPG0F8zz+1S7wdmd3Nrzr70OgMAAABAb7U9oI9Z3uSVwrniceTut2ctg7frsFufs/Erly6y+1xkbpcHfz9y/PlZCXOktDnl55eCM0l8CCuT7iZLF3zDkX6W9FMDAAAAwHhVAfRlzhWJQSsPnkH6xnTNU9cUl8ls8RyCH7m8xrKbW9DyIliuvh2wYBopJ9qOn37HU75EWbNa60sEAAAAwLNdbEIYqSQ9xnwfkRGeYd2Ab6178Wky3nzYAe855lnndZ9VAAAAAJ4howJ6nlitt21GWVPAW7Nh3XL14Ll2Oz1WFkp/P1uw4M9eZwAAAAC4USyATu//myXSo2DC1LVyPrdk0Gepbno9+8//zvzslp11W95+MPHyy/L93ekS2yu3alOekp5ftniuPHX87AAAAABwr6QK6PRd3epNUmfdahqV45R9/JYcP/eMNStztqnj8RSXs6qZxuX4/e7CZ9oSZwAAAAAmFwigI1urNVRfSd3chFMqduzQ/Wmp3PYCt6Nl7UxY7HMJ88SvwXW+8ew/cywLAAAAAHwkVUD3i2WPTQyOvxqpMqLdVeaOjLNTzlXTDKTsg83FZ9Kp30Wxy6YlAAAAAPBsGZsQ9jBzGHeWgMd7PkRGy7rYxPx91xol6xTxg3vcmuLi+pry6shLjsoJlJFBAwAAAPAeNwfQKyoLEMdnjvFcdUBVe+8THcX3G2x1issdHeMfbzsfDTcAAAAAmNl0AfS9gdokha7pi9B7f8iUphYFG/EV1IP3CLLLlmvYhpxBEmcAAAAAFjJFAB2pmZ0zbovnod85J8amx8M67SZXHONGPjjsBh1PNKC2+nuKrKW7sQYcAAAAAKYyRQD9bWswj8v5HDsLn5X6bv93l0Vuo+qzY4LiJ404BqlnNc67kWe7QT/RmR/Xp2CXy1bBccozUNwdGwAAAABmlpHB7ZKymnQsHredpbTNpcSUkWkEy2M7tQM+q8AtO3VkMgNW+8xseevZBo/1a951tYN/QDD/XxUAAAAA8EgXFdBlVaKRT0V6GnzroDs1/H28zwJWLp2V/4isw4QF+x9nezDOOVsAAAAA3iCpBUewYPMyhkvp6nCWQZMo2Dz6GVK6Th+L5S8/dfZYxpeu0zo/6X4BAAAAwNFFAF2Wu50dFm/X+z1mmzDemEent4FOObhg/Pjxj8kuG97ieNlyq7MAAAAAAIlOA+iCwK6sk/JUddDbyawbWc5fRb7u2k7ubJNJAAAAALhFIIBODwdbxYhTZdDLCa7eXZNJVBP0N7+6xAFnfiAf8NYEAAAAgEdK6gEdkZLK7dLG4Ecm2XhwhjnkMudbZMXWwS7q/U66+8jM0TkAAAAAz/ZvwDkWrTCdbT5f007s2RYKzX9/fz0kAAAAAMygtgI6uK9gvJx52iBvoUYWkRXeldzOY5Ii9yxnc57tQp66QSUAAAAAq6sNoLnLWdAsfGzo078ia1PNs8M+gzS5O8e4edviwwMAAAAAwDwE0AG7FO+Wbga5MaLkcZiC0F9DDAAAAADeqUEAfQzX4hWjwWrN7yATpqizbeOWNZ+pZh431VQTn8O2h/Uw1aoCAAAA8DYlAXRWse3x4G0itko6FrmElOMjHwmuZP2y7Ho+lA3YaW5BrYZNmXPK3Wz+RqRfibridwAAAACm1b0Fx7OjsfSrqwxzc0PGfr2hd4n2McwtO1EwFG4+59wdBdum7f1et5yNvMoLHgAAAACeKhBAK6hM0XuJjtHhhPflVVsg1oe5D14cAAAAAAgqqYCuydFm66d8qWa2l5Hx2W/PVqlsMmst+FONT5/ddwAAAABu16AFxzEtbdWH4S7LpeQ7BZMPtuqO3I7IEm1/frbhZHqP7Cwpcy5oEp146shvJ3mwAQAAAGCwcABd2XH49/c3kugtEcZl7bJ49qnKUvHI4Ilx50IxevrVbQ+b51maZyY/S913AAAAAJ7ttAI6ku6NCf7GlyGPua6s7fUiPTp+EnLG4GG9LzN3o7/gwTPM+dLZToyJnwIAAACAx4u14IgkZVkp6s9kxaoRBfPsfXxzK06g1ZzbXnukp8cZ6TMAAAAAr3IaQNe3j1hdWVffYFVsQUxZkGvXpPzHD6YMde97hbI5AwAAAADDBAJoKV6N+gYUH5Wlsr0rbS+r44/Odv8b1rE63lWm1SmajAMAAAAAz/Dv7gnMpbIX8HgTJp5/f39nWXPZB2dWsHciAAAAALxHrAf0zx2Z2ioRZMNd8nYNtTut+fEs9V1Wfn9/u3bhaDjnxIYqQmQAAAAAaCgQQJf1Ps4V7JX8c3db4e00Bnyk7OM1Vbfb4yM7SWbdne2YkXvXJDveXW9wKY5z3v13TXtuAAAAACDdRQX0Vtuc7rNpXsMB+akLwYOfrQm4+30k/tnLAcuyfgAAAAAgV0YA/TbLhY9jMv2CU8TLom9/DxGcwHHOyz0PAAAAAHC78gD6rONB5MjdwTOEj2dWSRt386xv6zzAruvFKkt9yYaEAAAAALBTEkAn9vzdHvP9iJa7vMF3k8au4wfJvgEAAACYR1ULjvQoOZJBb/93zuxsN0MBepnv0i20gMdn9fMfic/DLVfaO/sGAAAAgHTjekDP3HDjK5gnzt8v4riwE85zN6XdnCec8E9ah5M530mIoQEAAACYgU0I9+bME898ZittvNe0YboHAwAAAIB7DQ2gZy6CLggNL6/lWPN7VkIbPDg4zrRZZ7ppn4Eeml/s2cOw4pMAAAAAwOOpgM4WjBSDbayPR+6y5vjBiacOzmG5kHf+Cad3Ku96LWeDHx8tkTQAAAAAtxNAP1C82/Ll8a3cdd7mPhfyTXjXmjYAAAAA3Ojf3ROY0ULJ3e/G3XPZiwe1q8S4P5vQecU5AwAAAMCNqiqgg82LL49f3W5jt93lZ6V+8abYx6EuB8+9I2Mcm1fMNsMUK84ZAAAAAO5VFUAHu+KuntMlNs9teJnHoYob+DbZ5rFyhEgiP3IXykjY3TWmj9+7y29KvMN44lkAAAAAYBJtekB/g8VdJJ2+b9tr9YgRE0PMyMFdjUlOI2dJzMHLcurLxiPx7PgsLs86y+50KUcCAAAAQA/NNiEs6BcxlbOcrqDUNPKRxB4UzZfuMo1d62a9ilsDAAAAwLpqe0CfpWORPgwLlWR+pto8n31npHh53y8POOtZUbaeDXuVbCv9g4/6rg9J5Xl3gwe98xkDAAAAYDbNKqDTLRSN7fYb7OrGMuQb70j92mbtgdnkShP3jdweNvjmLvQVAwAAAODZagPo53Vv6NpLJD5U/WKetfiY9jbdFcvWnDe9//L2f9XRAwAAAPBCfSugy7ZxW92N1xvZdC5xL7t+5d7fuU2bhnd1Y3n7Qk1vAAAAAHiYXgF0YuYlHfsILkLDoPaFgS8AAAAAcLsbekDvzJyNDqvVDZ5l8Mrc9SYg/bxjtu9LOW9iG+iuZpgDAAAAAMSVBNCXZcuPKWruFORN2Jlk2lv2XaW2M9wO2+kUx/HbDvv5j+Dk39nkBAAAAIAJFVZAbzPomthunqRskmk0Mc+1pMxkZBuW+trn78/Te20PfsjnufsAAAAAkJHHNQm24mHcrjS4dy55VgYbn+Hl/HeDnx0Qn1Kx4wzHVzenXLucdIxjuf201e4AAAAAPE9GBXSTQs4lYscmDUbKYr7KEl3ZIgAAAAAwj+sAelg9MgWCN+X2O5UygXm6r1y6LGyf0+2PAQAAAADk9YAuiLQi3RiOvxrZDvjSQlEjXS33JMzzJQIAAADg5Qo3IUzXatu3kWaYAxTzVwsAAAAATCIQQO/Sq34Z1lRNGL6XOc+UoNJUf1IAAAAAwAvFKqAHRLGR2PeW4GySaSxk5EMy8qQp0zhzVwGydycAAAAAzKZ7C464+SOz+Wf4eJPcgoJp3BWUT7JiAAAAAPDv7gkAjSnbBwAAAGASN1dAH92Ynakb7aTsnibejvrm3bvpeQwAAAAAoJUpAuhVCjYjSWXiJZyFmykZaKQVcjCEjbdO3v42Pk5kwMj4iR+JSFyThnlxwfyDH9muZ2R6x9WO35Szk+7OGJ8wAAAAAIw0RQD99/c3VXD2jC66g0PJB6xYXPP1/AyYEjo/fm0BAAAAeKpAAB1MxH4OsWxlDLfL1GbLoJeQVXadtbzpEfzS2Wj9I3dMiscvyPaMvkcAAAAATOWiAjoeZiU2lAh+5BhxTpudnc2qYLaJwe5n5PiRl4uf3lAi+PPLxg4Fd7+5glYhu7g2cmTuCmyPiczh+AzUt7EGAAAAgDlVdS4+HfQkZj0mem27Buc6m0xw/mcp4fGz9fOJj3N5OxJbCZdN7Dvaq9LS5tcbecZS7u9la+nIF23O1zwAAAAAPNJFBXRZ6Hb2qZQcc9o66I/jJRznv/3fSLnr5bBZdcdnvvljerVvilelz+nG5PIpGxsCAAAAwAxOA+iyThGXJZzHgGyhDLpJtpg+SE15eO5UCy7tVUXQza80/SUNAAAAAKwrEEAPaDVwecy0GfQSbg8xe9y7SIOUrNOljxNvybL9VKcFf1XEDwAAAMAjXbTgiPvExJfxX1kGPZvibiSJjX0HSG8xnHJYRNeLveyCshWsuI+MU9D2pF/6/PO/85/hEQIAAACALFUBdFtzZtCRvQcrZxsZYbdbY/GJdpNPOd3ZZxdV2YpkcGvsrGx9y58LAAAAADCn2gD6MiDLrVddJe6sD4V7KztR1qcWul8AAAAAwHhdKqAjueRyeeVnwvFYNqVPwnGEyFJsf1W/Ysut+aWzZs03TqPHLoUFe04qhQYAAABgKl0C6OclnnG39Ai+lH7e4rx7/KUFA9bcptXB4ws6X/e+/Ld9jwAAAAB4ngYBdFZtb/B4GOls88xgJA0AAAAAFCsJoCs7/67VLuA7ydycvd9Mgj8fXy17S31uq5NmNbj4KF5nnbIBAAAAeK0uLTieZxuapwfoPY48kzWxLE8NT3Ov69sNfPvBlFS6bAEL8u4l3ugAAAAA8CqBAFrBZsSuXfLZbnjpu+RdjnDsC3EcbfeT78RSRkucYco0Jlc2592njktdf4qggnEKyroBAAAAoKuSCuiaiG3F4LK3yIIEf3VLgXN6pD6tAXNecVkAAAAAoJ8GLTiOdZfx7gGR/HTa/K6s/29N2j7VUuyaTkw1t64iz3Du4128aPHm46+6HQAAAAAsJxxA56Zax4N/f3+D7R1WDMualCGfLWlZJ+LdNOL7E8Z/Ejwgtyj7eYILtf1h7juJlG4nlxM4esntAAAAAGBRpxXQt1dWrt7QNt4suNNZPoIb5Z2J9zg+O8XjFb8tiB+T+0innPH2ryoAAAAAnIm14LgMy94We62S9EWy7+MlLJ3yAwAAAAAzOw2gI0nrN7JMzC5X37/u2HjhUqdrzG3jcO+w1HAvAAAAAHiAQADdNfl6YawWzKwv1yHlU2VbI2ZZ/eVBP2Xl8J+PBG9cfMCz3ypgBwAAAGBmsRYcbKX09o2UEtdvNtiqO/N2qGBHDinzLiCuWfxg1lzQYNpNAQAAAGBFFwH0tr7yG4E1ycLOKjdnC9q2Javxw3adOi6X65hyxo+PKC6DTdnDsHhWq2tVXNxj6RQ+AwAAALCEQAB9b7a1bgVuZY1zTQFswxXbJemL3ovHC1ZnS6UBAAAAmM39LTiCfY2fqkm8PqD1Mx9rLfLu5QEAAAAA3K4wgC7IudbK8r7aJnoNF0EMnS4r9x+T4QanVNCGxQMAAAAAwMxiAXTkT/sTOyNvLRqYll1pyo6F6f2Xa84VPPVRsA59uZsVkb5QBXe8QME+hGfW7VoDAAAAwOO1bMER323vePAxONNA4NLIiuzHJJsFV5FVMf2MVQIAAACA5qoC6KlKSrsKxuVZWsWUlX1+RaU3ElUDAAAA8DaxAPos6CzoVPsql90VIuuWsqTHsvF+N6J48HvfN4x8MuPnSrzv/SYAAAAAADdq2YLjJ6d38HIF0fVF0MXiq9p2Sttr/Jy37KqlogAAAADAv7bD/f39NdkTbx7bGX4y6O1P4vOf/+ou5d5QBnvAMwYAAADAgzWugH6J5hn0MeTd9jkJNtEO5sLFceRl2xCOIqu9qyJPlPsprwcAAAAAmJwAOs8270vsTbFroJHYQfv422Pr5+PP6+NIgWa6yFp9n42zVwu5dx8AAAAAVlQVQL98N8Kyq26+Vul9t4edYqq+EBM+nL2nNOElAwAAAPBOsQB6W7QbLLMtay8Q/N8Hq7/SYKn1mE0Rp4qSb5QbwUeOjA8y4HUCAAAAAAyjBce13pngWY58Gf7u+oFEftt2YpfmyU8rA/TEBt8Nrzfe1iP3IwAAAABwr9oA+iXh1yqX2Xaeq1x1RGR3x8SPnC3CgPLzoGMr8LtmAgAAAACXYgH0ZflnVuy1aG+B5SYcdHmzFr07BbKucbYFudyaEgAAAACmcn8LDvWbn8tvvg679wf13ZzdqRtpxg0AAADAisoD6BdmkZEQMNKoIeWwxFNffjzeCfoyxNxFzMfEudXlLOe4MscDPv9x3KKzYJXeU5AOAAAAwLPdXwG9hE/+mLJB3DF/PPvh7lfB356dZTfmbm5n8eW31DrxFD+hDPoYSb8hJ71sDF222mUTiKz539+fWmkAAAAA5pEdQNfUdT47qYxHz2fHfMPieF4Z2Uwvty9wbkZZc8cpk17q7qYAAAAAMLPsAPobX+aWvkZqNnPnMLmUK6pfjZp1e96a9zNhifds8wEAAACAM/8KPnNZrvskv7+/q1/mAy6hzLCrfufyAgAAAMCl2h7QKdFbvHXyY8o5J7+WhvvaRa50qt3zmkyjpp49UfMnZ/JHEQAAAID3SKqAjoRZf/9pN6Vl7ML33TZxZXXH24/8btTM82z8s5/UeOTDMKDAWQ01AAAAAI9UWwEdNKaR8e0uJ192dZE9DOPHBw+uCcF3WyYufbNqrNJuW4oNAAAAwGzKA+hdslYftC0dn7VajV0Z9fG/c0f+bhqZcsb0n7xEMHkvbnDRKcf/DvuezuwAAAAArKJLBXSibZAnNTvaJpXxLijp4zTx2jz6o8nbhSYDAgAAAMDkLgLoVrWf349fnkgSXe+ujhkv79RxFwsOAAAAwLRSK6C/uXDbgPjYWWLaNC0lPX+hZ1/7/FdX+U4IAAAAALoKBNCKkXfOFqRsoY5xYdt13vUCTk8ng22mL+f2kvRzl/MWr+1PwvIe/+wgOObnsJesPwAAAACLilVAJ/YgrrEtrE7M3W4X2aMvnkt+fnvMIo/7BAZH2A1+XJ/Ip1IuJPjxSFo6f/TZsDq4cpPJmu7P2zs+/5oDAAAAwNadmxD+rBBibqVs91eWm2cFkcefDA7r43HqPDnpJNMAAAAAgNe6OYCmn9yC6LIBiw97mEjs3iqRTxlk2r8bAAAAAOCdpgugJ0zQshr+JvbT6JHSpsxzO73cRsZnJ10icW47z+PSxQdPXOomd6TJCAAAAADQxBQB9ISh81F6grkNeeujwNzu2Fmnrk+ff9rFpl1Fpjdm/mXjB5+6JRYcAAAAAH4mCaCLWycPsO2znJ7ttr2iGwPHs9j9eHWrlEInStwWsjhWPg6b/sDM1msbAAAAAM4EAuhtELYLyMrysqBddjZzBn0UnGpWGhisa96G3ZHRvvlj+ulqJJ5o3TD08+wl1pWnO/selY1wFK/pXvd2AAAAAPAkFxXQ29rbY6SV2NM2+JFjRrbLoLdHxs8yiUi3hLPjIz+pv+omddPNdzKc0/fZ6/eKJfFXx/PWB9kAAAAAcJfyFhw9ks0J66DT47/LKtp0wabPZQlpQWFvwwYjd93NgoczuHtkcQ1yAeEyAAAAAM9zGkA3icMud8+7rIOeR0os+/mPrMw65bDtmpTVw+b2F2575HitelAURO0zLwsAAAAADFa1CWG8Y0awZUewjDeYQc8ZQ6fIynDHdFhO+XjWgifOZ6009vI1wOc/ImXjkzy0ay07AAAAAA/27/ijv7+/+gArpVtFsKo35eNP8p4rXdr2NtXfsqXfrwAAAABAuqoK6IbtMlr1TBipyS5/wTG3IuM3b/vQZJwVb2Wuyif/8esDAAAAAB9VAfRWpDdxYiK5UHCZ3he45oriTaW3P7yMwo8zaR5eP7UJ8tnlRHbRvHEFdsm4OmsAAAAA7lUbQB+ztl3m9eb2GgUGL07D07mtHzXrsHuREH+vsNALGwAAAABeq1kF9FfiTm5LC17FMS6MHHb224I5HFtpB7d/vPzJj0xzMsG3O98fptyphk1yAAAAAKBA+wD6tRKj24KEd2Sm36Ox9Xu0arpSfAAAAAAATKVBAL0rsdxlZJc9OnZmi9g+8/n9/X12dbDcuYlbFvDZTyYAAAAASysJoHeB1/a/U/7eP7iN3hKap7TH7hlfzeua428CJJhTyerT4t4BAAAAMK32LTgeWY+5Dc3LcvPgmnzLq38OOX7kLGcJfjzZPx68PTtbNX26m/T4Lv7s5RagAAAAADBSIIB+ZIJcbJcOR1Ym3ookLnGTwOLRbumwMVX6WXbtBet243dnqgUHAAAAgJ+yCuhdxHaMvSJFoCum2+kTLusuMmBB/v7+4lOK3JfiWzbPjf5WlPfbKPJ20mcAAAAAJtSgBUck3AymfsGDV4z8mjjGu+lJYlYPjcsVbtI7Yk5td5IsKItOf+bjd2HF9zcAAAAAvFk4gM7NuTo1ppjZLoU8XmbiGiaWk0eGuqxuPtMqud6NNu0t/izULd1Igs9J8AlJeU8w7QoDAAAAwM5pBfTtOVdxrtpcMFrdLc5xtiNXr2ytemxCOHk22uShumV3wSYfBwAAAIDBYi044lFdehaWmGXfHnlfis+wVW+HMsVn32WyN6ark5i/lBsAAAAAVnEaQLdK3wp28HuSY5rZsL1J/KS9z9J8hNc6e/GQ+Nqm9XQAAAAAoJlAAC1JjEjfI26XDMb3aUw8UUp4XdyL4yWOXTgSV/V4Z3c/KS7zz+2yHfm4PBoAAACAqcRacLB1TAmDYV+kncX3V616mxSYv8/JAJeJbTwj/vbO/i5menl72eJ/hi347DyN1AEAAAB4p4sA+pb0aumENL1J9HFtz6qqz/43eHxkArLItoprmetPBAAAAABLCATQY+pzg0HqhAnpt9z18piykXMPm3CJztw11cpH9Ma0t6B5946SZwAAAACm8i/r6IbZ3GOKOgdfyPd0ky/gjTFozakTO3f/9Fn/sj4bAAAAADCtjABaNHbUaU3uTW+V0H6kr8O0KzbtxAAAAAB4ifJNCL/Z1mUIe9a2ePV2AZFtCROD6bOWCz1y7fTtBwvOPtt9TOxlUTztAXs5Xjb7vvzUz/pfMQAAAABWl9eC4ysrad0e8+A4rOul1Q/eL31eV6uLjY9zLCr//U98zMSOHA/+TgEAAACwupIAOrfO9yeaQT8j8bwMAc8OKM6FU3plDOinMXPLjpSJRULehvH0bqhnPPMAAAAAcKm8BUeuRbsBJM75MlIMHjAgiOx6ivlvaGIvjjP9Vk8GDQAAAMAbjAugFzVhUFg8pbadi+dPn9vart7nP/p1gt7m5hM+gQAAAACQqLAHdJlglLZKjjnJPGumcRZlTnJp/aT0XN4eHPz52V6Rv/+rcqrfkcv620irAQAAAJjK/RXQq0Rm37TxZzPny33ktv87Z85bMKs5LyRFSvvyYL/ylOO3BdG5fdJzW4UU9GEHAAAAgPHuD6Ant0sGa3aT+3TBbpIYNmz+sGhv7kqJLxIqm0d/aqJTBsk9kdwZAAAAgCUIoLn21IS693V9wv3KjRBrPPXGAQAAALCKqh7QuU1vgwfPn5E1jA4bli03Gedt/v7TfOTPY3x8mN0pAAAAAN6sqgI62MFA4vaTsyA1zTQaNuJ4vGPvlMs3H+mVyykvUY6jBXtGB2cLAAAAAItq04Lj2N04a7O++Yug++kaNcoxIy4XJ3314kduw+7t92L7KXcKAAAAgEdq1gP6mKA9JlMrKDR+zLU/wyS3Y8A03vwuBwAAAIAJVQXQkWT22PFg+6niM6ZHeMEmGM+L53ThoKEbn6XnfTf7qb9NVhsAAAAYplkFdLri9CTrg9++B7tGB2XJS32L3rOkOBKUn51lN5nv/5Yt7DujqE67BSYu5vGWRfpB/1w9GK1eQtz7JsN7FAAAAIBHqg2gZ67ALY6bz0bb/u9Zk+tIVng2mbPk8fL4yDFHM9+pkT7r0GkpEoeN96uJDBL8Vfz4xCfEswEAAABAD30roOOVvB+tunMM9on2znLnr/gV5TYqCQaX2w3uylqUPN484Xu/mbzqhgIAAACwil4B9IA4LKVAeIBIiNxw2PQjzyLOTvNkElmNzoPl/Gf/O4YHMp2XDQAAAMBCbugB3UrbDhvFc7h3AkfB5tcMEO/sXDZCqynNb6GpAgAAAJDuX49Bs7KkrC7GU6VUL0wJifj7z/YnZeO0m1T2GT2NAAAAADR0UQEd/Lv+zw+3rYeLT/+85Ous6PV4dbm1scfj4wW26qCD2r42yB2t9+3YPWYz/JUAAAAAAG9W3oKjLEqLZKaPCcuOYf1Wvz3oCkaOT/WpKncCbN4oY+s9dwEAAACAN8gIoCtju4/H52tlNd1n5bTxER6/mA01eXo/dn8BsD3F9oB6iUXWBZemOh4AAACAMVID6E95csMU7w0S2wGX/SrlSDdrpMTVjv8RwPawsjk8488IAAAAAHiG7BYcufFWVgb6kvisd47/wtx5d8mzPUVd73jByLuk+4UPDAAAAABjlPeAThSMApvU/A7WvIfDDBIT/3kmnOjYJaPyEua5+83z4uVuLgAAAAALCQTQ30Dq03Oj6+m77ufWXDD7S1yiyAU2X2RV5x/xTheXSe72gMhmkmerl9iAZffxszN+J7O7X0t8cQAAAAB4rVgF9L3Z1m6ftOKQ9MZ0dRflB9czHsEHo8bLK3pM1XlXwa4dkdT4bOO+ytU729Iw0e65ShzHJoQAAAAAjNG9BUfcQhFYysZxW7vsOFhO/vf3V9bANzjU5TSIqN9CcELuPgAAAAD3ujmAjqtP+irLS+tPvf3fgmlEUu/EJHShtPRGx8U8/qR4JdPLjY+1zFnVzeJmAAAAAGaTFECPrPqs7wrdY7a7HLBs/IJWCYmjUam+scZZK+eftHcPl6dzuwEAAABYUVIA3Tv86r2pWtt99oKtgc9+G7dWP4f51dyLSvGNDcvi7NxPHZ/zB+8wCQAAAMASpmjBcRmT5YZoN+6xlnjq3Y6CYugmbuy4sp3AbEMBAAAAwF0CAXSkHnlb4FkZ82W1SL49WMwVnKpI8XaVJec3Vqx7ogAAAABY0UUFdDzzPcu/UpLi4CZv00bMkVD+bNrH7D4SX9Z3vuYr0rB7leWNt3mJf3DaLxEAAAAAL5TXAzq9WXPwt7toLJ5BT5IVbouvz6a0S/0iM7+8uuMB+kTX+N6aJms44EYcZ6tJCwAAAADrugigjwFxyqApQW1imDuPy8A9JSiMNzA5q3vtvUnjM0SS+uZtNzq9FTg+FSkPlYQaAAAAgGmdBtApedYxhivIwtbqxVGsIMoXKS6nMphu/uQ/73sEAAAAwFr+HX/09/fXMPpM7Ad9nMOnaXKraQzQdt1Y0WWpcu4jHSy+3g3iwQMAAABgWkk9oM9cFmxGfnvZDzp9qK6Kz9u1S8PlJnUSya/KpWi4kmVDHftB/+gMDgAAAMAiAhXQDeX24oj8cLm4rWDCZ2H3WpXg3Gu5bwoAAAAAD1ZVAf1z0iIgcsBUHXLbStwv7rgPYZPS75fHjoMrgnuf6+xyXn6XAQAAAFhObQDNV+6+gsfjizPHF+aSTRLnskF6h925gxfs/AkAAAAAY/RtwcGPBhp9NMlbHx/aPv4CAQAAAJhcgwro3IA1fnywp8eNOdq2Y8YkcV5kGophl3b5VYo8hPM8nwAAAADwVRJAp0ddwSMjTZAn34UvHv/lfrAgLE5ch9ydGxtml73v1PiMNdi2u/cZP/8RPO/xZpX1RpdWAwAAADBA3x7Qzwu5gknf399fcYY+Q7be8DZ9hhp/UYlbO0ZC/7PNMyO7aEbOFTxR5IdZgud93ncNAAAAgAcIBND+ln/rrBz1bIku48Vggpl+zBK3pqwmN1e8vj4o8tuChW0yWkpkf7meSzwVAAAAALxQSQV0fdq1S9NmqAKeQXBhF80Wx2TQj/FZrtVfPAAAAADATjiAziqCPpZwFm+Ft0TKdoxWc3suHwdsMK3WQ9UbMJmUlT9rfJHeIDvrg8cc+aybRyf+ggEAAACAeTTrAX0s3oyEg6sHZGeVqses87LhxupLMYnLauvjAYmvSdLfN3x/Xlb6HdxaMPfx8LcFAAAAAEzlNIC+vY5y0R4OWX2By1a4suD6McrC/eKHKr7PZEo77wKdvgKRevBFv3cAAAAAzClWAX2ZQ70qAL03kY9vZkhux5iawbueK/jxxLsvOAYAAABgNqcB9GWj25/kwKtyO7V45enIceYJ+CpLp9NH0Dakn/grjYLm0cdu7InTyDoeAAAAANIFAuiu8eLq2eVx/vGuu62u9651W/1+jVF804u36wQAAACAJTTbhHCAmu609Rnf2QiXkXRXWQnmdgFv7/E9QGX59m6JgitWc68vZ9Kv2fcb7j4AAAAAM7gIoM9KO5ukV532bbscZOQ2a2UnyuqPkbVcZV0aFtWqBXOT0dJ90uHjPoHHI7ddZYqnZ9dBAAAAAPoJBNBj0qgHZ17DkkpFrLfrkd4Gb2u8W3TbCQAAAABAK/8iv/vb+BF3DtQ7UnxVHTQAAAAAcJfCHtAF2WVKQ4PVI9GGrXUL2mtknX3A64Rhd3Pwq5HLde7Xuzmo7CzaQAMAAAAwwLhNCAsS1RXtLvMyhI238c1dtNxUseamXJ7r8ff649iFo+1LiJ+Tx+klywsAAADA0pIC6F2+Ft8P7fLjAzwpm8u9ltw66N/f37Ji2Cctcpb4/pa3zwEAAAAA5lFVAZ2YggU7DvfrANB22Mp2yfGPb6ea0qIkUVkvjpeUqPcTfwfTcGHdIwAAAABWMa4Fx9FdXWj7VWSfXU7Dngzx8tvvpRWs7bcaOuXIrJEfb9irlE4pthsKAAAAQCd3BtB3OTbtfYzKJLGy3PuRFIYDAAAAQLGHB9Ctiqw/mfVLOvxextDHzfGe5zKFz12E4O6UlY1WKkcAAAAAgN4eHkC3jee2oeQuSSyb0vGz8QnPlja+NgPNuunBVTouWtaYf39/3/cEL1x/AAAAAFYxKIAe2dXhGMk1Cel69HeeOTrUjmNrQM6bPv7uRYgMGgAAAIBpxQLohl0IHtx2+S5jYscVk82yJ+3yStOH3d2a+ddQhA0AAABAJ6kV0MFALbdpQOS3KUNlJYDbM64Yrm0zwbN8cPIOGAu9cqjsxRxvq9LbtA8AAAAAANzZA/qu4GxYRHh2ooILf/mWgF0dG7bkjtCk60v60xIZeaHQnyz92tkDAAAAdFUbQLeKRSIdh9+ZlexKzoPFzruVSSyIHhZYL9F3Jb6kDSujc2fSm7YbC3GnAAAAgHVlB9C7DdCyPrhWY9yjSJwavJystsLxg+Pjb8e5DBaXyIXv1W/Lyo9+4W+Tm3v7d9PzuXX77QAAAACo8e/uCfyPMVHL8wKdv7+/gjbEYr6d3guiWUqi3fP8ZtYBAAAAWN2dPaCfpH4/wPoRPtWvuWXpkZPq0hDZ/vFsZYI1yJe9ZY7vDyLbTp79tsaE91qpfn13cgAAAIDbCaAvZLUciUeKESlb2B0Hydqe7njYd8BI+Jieec0WXzYRSZk//xG847s3AYm7C34/sr07u2MaLvIS/XBuzKCnXRMAAACAtcQC6LOU7Z2FeCmBVE3ofCYyTmXV6jbo7FQA+/gUL/J1ONvP8KyK+fi/7/yi7Tz+EUrRcG/M4IAAAAAA/YyrgC4LTQpaGweN7zBQHw1fjtMkRfoGnTKpn/+NiYNF6IlV55G7tis/T5lM3ITdM2hI63AAAABgaSWbEH63CFsosmyb3fz+/s5w7a0uqsk4MyxIpZEBX6dmGv3Owl3+/nP3RAAAAABKpFZAn22M1rCQM2Wc4J+iR3ogtCqgnlb91oUf9QslIJtBwb1r9Qi1dXtZ9+0TAAAAAHiGWAX0t873xvq7Y6A2Z47cryZ6O+zxLJM0bn5JVHf7Zc758Pdw+1LfPgEAAACAZyjvAT0soNmWIgZ3Zjvbrm3RCOlYernbBHLAHIL7T14eTBOR2tsxSz0m5vbYAAAAALzBuE0IW/nGzfMEWG0Du9113dtFJHeRZ7s1X2dLN+FUJ5xSb9M+Nj9zzw0AAABgfhkB9F0RzIRb5EUy4q6WSMHmnORZ7fwtkxnmPS07+nn8QwIAAADQVYMK6GOF4IA+xZd288nqKREcZ85NyaZKGOdcoq9dBj3zVFs5604DAAAAAGNcB9DBVDFrb8Csv2FPOSw3VtuO+chIriz5bd5bYPVId9dtPPLbtufqMX6N298YEaElCAAAALCWQAB9LBb+/sctqcc8wdzI5Dq3ZLvsHk2ysPPYpXvb/w3W+AePDB5wKb1A+3iu+vs4z7eMM897cwYAAAC8QawCOhJItcqqIolbv7SluAj6LBQu7u8RcTlUPA/laLeku8g1uOCdgt2ztPfydJ8PHluQFzeWmYFcNdEj/3oDAAAAeLwGPaBrlAVht6QwuS1EzkpiIwcHT5Sydd7nJ1nLEj/4DX/m32QnyZQ1P76uSD9XYvvyyyQ94htr3vgaY84nbc6q8AmnBAAAABBxcwAd0aOseB5n6WdiyJh+QHGx7c+zYui22w+eLXXDUxzH6XcjdqW1g1vNXC4mX8/4MgIAAACvMl0AHSzDnC2NOouB4k1LUq7irLq5zGzr9mxLh4PjJz9nffHOEpMEAAAAmNkUAXRB6Wg8nj4b5JZdBG9UPIeCnh4/K1RMzzy3JhZ65RDfZfHxdwoAAADgJf7dPYGfn6tYMLcouFN0VR/t/W00mdJXp9ixx1ThkqcOAAAA4DECFdBn9cgpu+qlOzZBjrc/PtshbWTJ53EOSjW3pl2KJg9J/F73aAAdP9FZa++FiqABAAAAeLyLFhyXYdYxBYt/JBLdfrKzfm0cOgVz8UAw/ePFI9R8kJ9osrx7Zo5Hfn9SeQsKHvvIg/fm9yI9vua392F/7d0EAAAAHiCpB3Sw6vmy1vIyNDnLoFOmdJzPpfTa7fQ9BtuWY785N+yquGfL5e1odb/SxxE3xzWvAa9c2ybzmb+7OgAAAMCZiwD6GBAnjpt4ZGId9FmCMzKRSTlXMI+O75eYSAKVK7e0vMcKj4+G9d8AAAAAYCqnAXR6gvxzSIoTW+V+f1JZBz1AWZKYtX1iyiWrdS2QuGJZT93kN2LmuQ3TZBEa/kPkpgAAAADvFAigmwcll2ndZR3057ef/y3L/iZPDBmj1WMQab2y/VXwXJVNw39OWlEXD1X2weYafj1nG8q/PAAAAMCbJfWAPvMtGo3EWIkJV0oy2LDfbr/crTjinLDue2eGRigpPrdg+9Li+/NOZ9x1WSno1lJ8urj0S57qJnpdBAAAAPAY/5qPGG95XNmDosyAYDfetzrlv+ODt5nlOxRnl1ltZxIPCH4F2qarfxvFIzScDwAAAAB8VVVA/1xFV8HfLrct28j8N1j7uS2O3k1mhuhwrQ0Si6trg4/B5Whd28U0OXLCGzfhlGbgRRQAAACwotoAeoDifHPbiuE4YFvp04v3CL5MCW8MoeJNQm5Px1JauDTv7dDjFUvZs/T9SdaNEPUCAAAA0NXsAfSYVrkfbdPJy83ojmfPGvaWwHf1vHLA/Kdaovkbi5OryQPmqQAAAACGaRBAFzSFiMQfYyLCJapE44G4bDHi3iL37TSmyqMXUnkHH7nsj7woAAAA4PFKAuisWG2hBsFjJhlcvbO47TKDjpzl8pinOu4GGVyEhZ7Mwe59PdPk5YHoHwAAAGAS3VtwRJrkXiZN9RFS2y37cqOxs6B5WOXyOzO4s2XfRdK7w443pUevg+2Yx5A08tpgWKJ6b3TrrQAAAADAwwQC6MoEqneANSC9PbuESCHt8YDf39+UTiOR5fo02UhZz+CJpHhfu6XosXPgTkoFevoWlCPdO4cZVgAAAACAhv4VfKYsD7381bR+/zP+1MWl4oK8MXa35vuc/P2n1Yl6v9S56wkHAAAA4NkatOAI7oYXqdst2IGwSVX14Ew2WONc0GEgsQ76c5hmx1+JcWrbgv3ioSLtOHYjt51wsBsJAAAAALQSDqBzQ654b4rtb8uirvoRim1zwLIS0cSC8cteDcGMMn1lxvT2nbOKNj6r4xuCncqONMcRjl+NSKl717smel7RnN8yAAAAgKDTCuh79yL7mTsa2/V6/qmebeLHC27K4KwqWA4/s2B76LO+3pcf36nftZKHWevbAQAAAFAv1oKjoPXw2ThTJWttM6DBketuMeNtN4I/7H0vprrXZdpewgMWhFYmeRjk4AAAAMAw4QC6SUoySdQyldzdAiM5cu6JslxG1bO9VJhT+ruBFP3eHwS75dzuASHpVOsJAAAAcItAAD1PaNIp5ayvWb5sx3w8/nvqy2N2hyV+pF7uaHOmlmOUPZnBHf/i23XunoQmd/zsdPPcxwdEzz8zrScAAADAjWItONg6xkm7mOxYoFpZ61owpRr1207+jOryca/mLVzOTpFbL19mwlsW2ZJx8BwAAAAAqHQRQI/PgGbLfSJZ2LGU9ezI3THBQS4D7qxhzwxY3tnuYL36SvyC71FBsfzD3LihZfNVbXXL3vxnBwAAAMCiAgF0PPRpFXwEE5nf39/jJnsNT9rVjZPMOnW/9s3P6JxwVL9cnyy11bJXdmXZzuSuJuOJCjLoCf+tGHPrAQAAAOaU14KjYfzRNpLLchlpSXnK3FiyOr+zCvfLh23812Sq53+qyZR5wCUAAAAAFMsIoO+KUYKdLgo+2MpduXlD/erKV1+ZS2clwwUX3natRP8AAAAATKh8E8L0bqRn/U9T9utrtQ9b2/0Aa7qU7BogdG0u3PBE/ESf+d2NqFzt3J4qx58kjuAJAQAAAKCrwgA6ay+sbWeGYItnylg9PnY9nW8vxwYAAACAj38Fn8lKn49HHmtFvwom01Binjt4npFZxWdyVmy+HXmrZpJvkNI6vPIxDp7i9u8Fk/AlBQAAAFZU3oIjV9kOda26FZe1+0gZrWYmba+LriIP8O4uFN+UJs/D7TFl7gSmfYY7tSW5/QYBAAAAjDQugC7WPAOaIaS70a5dA+nmfHKCDanTvzXNY9bKGvBp8+gmKp+fx68PAAAA8DxDA+hgfjdhpHK28eAk80ycSfCw7Q8jcWpBTDbJ4sypVSF/J/WpesNLaxLxT1K53OPlWdsBAQAAAHpboAL6FsEy4ZQuwMcf1gdq29T4M1rimCPLdScsDW4l2DVle727+x7scr79Ve4+nPEW6sdTZ8WUTTYFbfJ6puEjVD+f2a7oR/oMAAAArGmuAPqsRPqnXfjSPCcN5nfbwDF+wKVg4Hg2TkH73R4b3z04jP6KLFHWryIHr7UnYZPEtr4/TKsOM1l3CgAAAIAzcwXQzfXYwzBl5HjQPDLJitTebg9oXqr5hgx6jIVyz4aZr/0543y/AAAAgFU8PIBuIj1E3oa5XfOvs8HjJ41X5rZtcv3s+G+Yy2Vs+7AVjCMJHc+aAwAAAAtpHEDHQ8wZcpPcgt+CSK5t9nrs4NEp2xUZt1LQaCWoU0vx3WhNJjnVNoYP9rlfszWnBgAAAIhoHEAXbLaWGKYUJGXNQ5a2NcIF2p799svhMTxIvbWKngEAAAAG69iCIyV9zh1nzAcjKmuQd2sSH6dVQBxZfBl0E/fWk9bcQXcfAAAAgK6qAuhIfLn7eVkY3SkdK4sLm4eMKVdX2cxhN+dget6qXwQ7N3ZKefl7hVadagY0c083yTQAAAAAct2wCeExAN017phfv4AvuAJnddPbg5vPp+xevC0mS1yllI40DV8M3HIXmnx5G858lX9MCjz40gAAAIDnqQ2gl6u1TE8MI0XcWUMFY8f0zD0yje0gzcPoss3llnseshQX7x/XpF99tHTy530vQgAAAACm1b0COp5IXjZBTj84MsItYV88Yk6pb00Pc3cZdzyCzAoob9/4cSpjYs3gdnOVe3h2NdtNn2FNumrVXQQAAABggBtacCwnkmKnJEGD47B707fHZ38DFD9pPQxOKp9dQQ8AAADwQk8IoOsLpeNe0tZgqi3XSLdiF/UzHj8AAACAhykJoC8D2fQULKvgsUl1ZHqafHY6RZpMpevT+NpH3dccAAAAoInCCuhtjFtZdJmbQW/ncJxMipTjs5pTRz41IMbK2tjw2FlYylYspZF383N9nXXqWL0IehLTfi/cXwAAAGAt1wH0WRBTFtDsEs+sQYr7DNwYs84WY+mz0dwti+kOvlPwDVzlOAAAAABdje4BnRuaJJZ5jszjGhaZdmoqEknquy7UY9Lt9PuSeFjbVyAPWGGKufsAAADAWvIC6EU7Nhz7TqR/Nnhwq0XoPc7l+Cvezd7SH4/Brz2CP3/MDoSPeXvRlfUBAAAAlpMXQBcU/2bt45c1/mUafhZp6ZN7pjLeko7dq+zBnuqt0lSTAQAAAKDedQBdWZlYGVjHA6kBcdW2vHR8NHb75b9W5doevzXNK3ybDDjPmxhPMgAAAMAjBQLoMX/RX9nEOeX4ygDx+PHLBYn0SUg5PnjYcSbf5PEZvRdm0zwjjg+bde963HHJLwAAAAD9xCqgz7pkNDz9N0eLxKwNT7c76V0jn7UluRz288GaNQkmmCLItnIz5VZ17gWPn1sPAAAAQFd5PaCbe3b+dezAkPvBXfTcZCbMpnmp/upaPfaP9Mg7DgAAADzYzQE0TKssBr180zAyXV23N4uM9WjduwkAAAC82XQB9C5k6dGI49P04PKArp06hm3qmPLxkcHWin2rL5+WymEv1yQ+gcp26lNZ6KkoU3mBS99cAAAA4J0Cacj4jCOSoHUqF93l2seY+/FBGM8T3+dw8uxSU/KR/PsGAAAADDNFBfS2JHnAzodntoXJIjBeIhhPTx5QBqdX8J29vEz/DgAAAABUCgTQZ/XIwarhYrtk57ItRqXJAzW4y9lXb+bsdea5AQAAALB1XQH9rQs+BlXxP/lPHHY7WuIHL4+JTw+e6vi1On5fgl+93TGv+u685GK9hAMAAABuUd6CI57aBH973GAwmEG3KrLetdRI3Equ+KQrbq93o8jzc2M74IL9Bm+/3dtZPSxLrdmuM0WPrh2XI9c8MDWrocc9AAAAcIuLAPqyUjLlU7ufb7OPgjrokRFb2bnmDAHPsrzIas95ISM9YAWCX6jewW4rs00yJbe9nPNsFwUAAADQ1WkAnZKSHLcvC25odjnIWQYtqWko/lYAqOfbBAAAALATCKDTM5RWOwde1kHXF2w27OxBK21bfo8x23x+zqcU/8qsUgQ9QPofATxgxSZ8gAEAAIBnK+8B/XWZZKVEXfFj6nOfshGK21M0r+CuCdDnTM3WCkC/a77inAn6fkkXuqf1jn2QAAAAALpqEED/NIozFk0kt3bzT8yvE1evVWaUPs7xdtTPYbstZOVQI+22x1zC2R8orHIVE+5AWGm5RwgAAACgXm0AfZanbKOW4j9jv6sTdOSiIr/dHpM+YE0B5rEsNzLD7cSCxdSRTzVJjT9Drdvde8U5V7qxTvYBhcnNV09+DQAAAKyoTQV0J7OlLSnzyZpz5QUeP57bxuRyAq3afLcdKkUkrbsrBN9d/uV7gsiRvbNILRrKXK5bzbM327+HAAAAACl6BdDLZSUrNvkdo+GCjGxkEc/i09uetL38yzET255ERkjpyX4cZKrEeeR38PKPAHZHNn9pBAAAAPBsbTYhPP6woE9Fygcfb7fZ4C2rMfK8K3YVqJxz7mfH5/VThdG9pS9v4nuL5Z5nAAAAgK5KAuiaAO5V2dZWvCPEsK35Uu5dSsOHrPtY/DYia5xcNY/iDG9QEsPQyGFnD0OwRTg/CSX80mcAAACAnaE9oIvzrKf2x6jchHA59/aAHlBtvasjTtkc8haJM5lnwvOYf01W/KsCAAAA4MECAXST/KJTCLJEttIqbZz/Suv1u8b4Do0DemiMDLvHfHB1l+8/nrEyz7gKAAAA4DFKKqDLAo5W1a8Nmz90Em9rwBJvEdq68XrTd1x8vLc9dQAAAAAzaNCC4xPrHLtkFOSMzROibfQ2Z/w0uDnDXbsa9ht5ztv6GLM1D7nRgH9Mzr4p1h8AAABYVziA7pEdVzY9qA8xJ6wDTVyT2WLWtitZswnhmGL84K6M6Qd3UjyHrEx5qgfvLsPeY6UM/pJGIgAAAMBjnFZAzxZ6Fk8muBldixmNM9WNWG71KlUufr9m6DUnneqJmt9UyzXVZAAAAAAuxVpwFJfafT84Q4r9yErP4MKOWe2aUwSfqJmbFJ9dbGTOt/esWOtJHuD2OwIAAADwZoUtR1P+/P8sbUydWbfYKN6u+jjt3DkMCLwiZd2R85Yl1G0vJ2WeNJTenD3y5M+/8+dglf+43W7aVz4AAADA8wQqoCeJUT5FpjNUL8bDmrOQrkfEs12HeAXumeJZzVDMThORsu7cj7yWBQEAAABIFGvB8Rhdy/1G1hLOU7dYXxK7VqK9aOH2PA8MAAAAAO90EUCf/VV+SgwX7wVR8KlbXPa5jhxZ3KgkZQKJ6iPI4ASKZ1WwIWS8d8Tuh70j16z7dRZbH+v62057ki9R8UU13zV0kgUBAAAAeKFYJ9Nd7tM2xNllcNtzHX9YH8LGY8G1qnEh0dnX6pjwTvv8JzbAIYvSeAAAAGCYQAX0LdnEJ0jqdOpdShU81wzNpuEWMz/2t8/NvwwAAAAANQp7QBckxYldO4Ijz1yhOcxZQXpwxQYvV25jCndzjLMvFOk8qwAAAAA1CgPogoLl4kLCuwKg2XLSs8k0b5hbIGuhplrVJ0lsWWP96wV7mwAAAABwVBhAR2TtxRcPeW9MdmZLn9MtOm3qfeud1316y4yPg/udZaENWgEAAABSVAXQiYFI1/7OZS7bVsh6YBUDvq1jMn3pMwAAAPA8JQF04l/6P09KF+YmDTHi/Z1TPgg0VPzNOvsKBwf0/QUAAACep30Ljhq7sOaupHtb7ThV4faOnf2Y2dkLm7vc8h3pekatqAEAAID5zRVAD1BcU5z4weK9FuFhZvsWNJnP5b8DI696wu5GAAAAADsLBNBtA53vRm2tJhMsq8zq5RrJrCtnezafyvruXeV1zcQWMs9VH2eS9R3xjqTGhOs24ZQAAAAAvgYF0PVBZ0PFZYPpbVuDPzzrABC/zG1YfJaBFuehBcFlzQiMcXlT3LXbvbaTPgAAAPA2VQF0eoay7p+KN8yJKkfYfVxuBQWm6pY+z0wAAAAAOkkNoLdBSXEDh+Ag9LNi4g9ZcjuKTPIvzyTTAAAAAOht6h7QDauP2/7B+1nf5/TBB/fh3b0z0AX4Jd7wBsJjDAAAADCz2gB6QPrT5BSrp1Q1Afqx8Pwsl0zMK/vFmpGry9rXMevjS2u1TeXjTdV5AwAAAOA9YgF0sNXG9r9zt7A720/vGc6uqP5igwlj4rAj1zlYFV7z8d1v19oFsXI1IiqfqGlXrKsJr7ryzzKKHwNvLAAAAICR7mnBkZibTJgZ/TSKb3Ivbc6l2Jp/hiNV3l8R4Ru03ZU064MeMAAAAGCY8gB6ucCxVePjT3yTXr1YX/fdaal386nJpHrM8Hi/+tUUt5W1GsGD451S5nQ22+X+oQAAAACgoVgAvVb+Fdf2WmbIkRNHi6feDVtktPpIp/FniEEnKXvv1ABnhhWOa3vh8e/O/KsBAAAAMMY9LTgSk6CGJbpZgnO7t291zdmbzDw9704/OHHApbO81ef/JGPSZ7cbAAAAYOsigD6GKcUNJeK9FC6tW45dGUE2ufB1V+9n5Qx3zLLvvllz3ut1b2LQk64FAAAAoKuqCuiFQqUm80yM9rYZfdYHg0N92wHnDtIpiEwZtvmpjwMeS+PPbvHtgWy/Cazy7fvpPNW27afjD1vNaAvdLwAAAIBWaltwpIRr8R7E8VCmSXj3ktxnt5htF3Z3fHpf6azFT5/V8cjbg+ZOXvL0Fmu++eEtvdoBAAAAnioQQG8LeAfXOPdoICAACuq3LDUju1ljHGvG0793lffoe6JW99ozAwAAADCz8groJrnPI8Ojhhl6WZ3yI1eVoLJXRMXd22toRgEAAADwQhkB9F0dn8efNKuXxeS6pn4Fj0RNg443a/hWI7LmXW+Hew0AAADwQhcB9L057AyJ1QxzaKVHl+TcjRm/XVZ2C/vUDs49pDfgbjJm/EQjvyAD3l4EF/BJ/wgAAAAADJbXgiMSb207R8cHWSLN0cuiH6u6tBs7aQw43fMeTq92AAAAgHuV94DeaRVzzBMAHWfSNcoJXvg84VHZfZln/i/RYxvP4ym6jr+Esn5Et7zWmvwfFgAAAODxLgLo3jlF/A/57+o6fSY+GZ0ljtJv34AbHSzd7XSD4uO3vdjI16Qgj16uSfctzUB+iv51mn8xAQAAAJqLBdCDu7vOHN2mhE3BAz4/jHctyG2jfPzU8VcpWXnKWRqa4XXCcQLbn0Sy1+OKJT6uxwegh4Zre/s9ynXLJqW7/7hlGgAAAABLaNaCo8xlatMk4qkcpD49PNt5L3KWz5GR47/JZjxUjX98e+qUe5FVOLxcJLetF95Nfpsjn71pmOqVCf2kPNiyaQAAAICPmwPohcTjxbL66MTP1pw35VOJg2wPy6rjTklmJ0lv40uR/tt4SfJZqfUx4L6lVp167g4AAADAx3QB9FkJanFA2bB+OXJA5Ske4LhKs+XOI29TVkF0wbr9VNTY3tU0eRIDunIDAAAA8DVFAL0t/Ixsp1Y2eJNoaf58KrGNRvHguW09Es2/sJfOFmeGS4tn2TN05R4v/ZLP1mehfRq7/rMAAAAAkGKKAPqd/XNbdYmtL2hNCSIjXSOeEW+lRHXBY9I7b0xouQmP1Pxl2HgLTRUAAAB4qkAAnRg11kTGZfvmjdR8Prk7+DFYsOXLbI9lioKO3gAAAADQyXUF9Dc5zeozcPm3/8HPzpz6VW4Hd6zy3ubRkSrms/OmbyR4WeV61m77+/PEHRQTg/W7gvjE5yo4q9xLS/9IK1nfmjm/YmMo+gYAAAAYqbwFR0rfjPhGgsckKD5mcaLXO28qaJGc3n/jcuRgZr39Ye7lVy7X4Hw5/XQ1naxnjizLXgLNrGtGPPOtBAAAAHieiwC67dZ/x3w5mEGXnTF9GowXSXXXzUlnVlmwf6/5Z5hL2TUAAADwWlUp1bFXQ/pObomn6OfYlHnkxnq9m420uoSZm6IUeE8OeAygX3LhS7j9OfTWBwAAABimvAVHQ8E4pkdG0zX3CWa1Kb2wf9q1rdh1+ciazM/55C/nuVC4WbAsO/GbNclSqC6f2SQPCQAAAMAAgQA6PRz5ttQ4y7nSi53HlAQOOEVZ5NcpKMwdNqWNcsV0ZlF5FasvwsOq2tPdXncMAAAA8EKDKqDPapwvj5nHErHjXZNMPG/w/i6xsOluuZyCL87kX7ce3na9AAAAADOoDaAvY+WUj2w/G/9t5dxqSK86sbBtXSbLFhwAAACAYdpXQG/jrdmirvSqz0l2SnyqF5bfjvGwcvJH8m8LAAAA8Cr/7p5Ahty85hjG5Y4gIerEwo5hnSf095+7JwIAAAAwQoMK6F3OmxKsFNdp3pjaqC2tdHbvLGyl3d8cpOwkKf1cWvAWp99T3zgAAABgpJIA+iUB1u4ax1xy8M/z+wVGI+/j2WPTOzg7ruTujJ2WN9gefTeZJuv/ku8jraS8pQAAAABopX0P6EcalvFFItpIZjQmUZ1EzcWeLe9lFf/kSzrg+Qxm98cDdrJars8fo0+S9e/+QZhhSgAAAABnAgF075ClIMu7N/eZJHw8q4k+rsxlYM3ONoOOl2k/Y1WDX6iaS0vp+5E74Gy56mxTmmoyAAAAAGdKKqDjwUc8ponnUAOqOItPMSZ5TJxeymFZxae3i9QgV84wsVC04cp/Thqc9u6Hdy1+24vNOr7Tqfv5VmfPM6Vck3zHAQAAgHdq0IIjmMvUN/ydxy0tU4f9ff29DWHPTh2Z0hJp2uBVbfKQZA2ya5px+dkVv/gf6878Y4nvCwAAAPBg4QC6yR+bx9tErOWu+W87P/Sbw413Z9oHo37Bp720reLLHLx95eAzjtfvC372grDHuQAAAACOTiugI4HIgDzoePbZGrD2trvYeMfes98eOxe/ag3PRFYjMZg7G2GGp/Sye8ntM8zVfMIz3KadytZAs10OAAAAwFesBUc8jNuFONv/PX6wsuCuVbySPs5agU5BoDZhBjdM/YU/Y+keUAZb9mcWNc1GCg4oFmmMHv8hAAAAwDzCAXRBqLH9yCMzkak2Ifw5dBneJXGXBdQNd/lLF3lFMfLsKcdsdxEsSzaX6wG9ot5/h5F+TKs3Og94KwAAAACwFQigXxtmLWe5O/WtFT12rrhpRqcWWtvcJr9nd4GdxDcW2ww69+OXJ9U8BwAAAFhdrAXH7erDlwc0mnjAJfzcXfv8YPNvIZhlzNN+1i+oZjFz0+fExh3T3ikAAACARBcB9Pi4MN4somC0JmWJldNId8zcv5fQbwIjQ64b+9i2ehKCI7d9bt/mrJnMT+tlDFYr33KnPB4AAADAS2RvQtgqNwkGQJ/Gu23bSQ8IcMfo8TJg9TWpkbue8bW6PdDcCZblFmsSCgf/oCE+w7YvCXqfAgAAAICjvBYcDcOawbmwmIlKZ4+rpiJN9P6G3l7mf6nrCz8AAACAu2QE0LdHIVlJX9sy6tyzr3K6wReVu13ehFJmO0Pjmia+f44QGT+9OPrsV7f/w7I1W8v1Z/z1BgAAAPBm5ZsQpu8QeNad4NigOe7eFEYG1ImFbathhJr11S44e/rX/zjs5WdzF2HbHvp4rvTRmj/PviAAAADA0goD6PT0+ed/g+bZCgzhSVIi3d5fwE5xbe+68t0/U98f/iT/K1dw0u1apYzg308AAABgOSUBdFb6/D3yLIOORyp3BS7+8h2OUr4XPdLn4nLmmZVN0m6KAAAAwFrKW3Dkym248f1Uj8nU6JFt7RL5y2OWc2/lZpPXCQXvXQYYubDHAuGjSRanbBqTTP7M/MsOAAAAcDQugI6Ys1xRptOW7gGd7No4dPo2zfklXV3WN8LXBwAAAFjR0AA6mI6lFP/e7jI8bXgVYqbmLOkYT13nePF7cWn8U5cLAAAAYGuKCujJfQKmruF4fXuH3fQSx9l+qvmbgO+AuaO1SvCDrw2CSx3s0bH74dmSXjYxz5p8mSbV5W37nhdMqewZHuAzk9/f32nfkAEAAABMa64A+lgirW9DorL4uF/HhlyDb/TuXMFTJ87nsjR+khVOdJbFZ92d+DubrLcjTZ6KJn3VJ/mHKHgtk8wNAAAA4Oj+AHr+iDklQ2xbMjzS9+qa56SDC5+P49TEyg0NyKCbX9TuWzlm0YILVbx0KXNuW/R9o/n/FQUAAABea2gAvVYp6Nbq4U48aJvh6maYQ30ceZYDznB1l7b5b+UixM9SPHLuNAoa0RzNf+/mnyEAAADwZm0C6LNWwrNZqE4wNwo8ti7Z/m+wFfIqS9FPpPXzV2Ih7eewXSOUu0raKz9744uihtXi4yu4x6i8lnXfAgIAAACLahNAf2Oj3b5zTfa1uyXIuz2xyp3Acr2GH+CpCx7ZbnHM2etPdPv39y6XL678QwEAAAAM1qwFxzHvaJI+3x4kDQ5r6stXv9JbId91jQPOe7lD4O5/I104jr/KGrzrxebuEHj71youvX1z8cef6s3XDgAAAMypKoCOJFnHaG/7qZqTFntb3d9sUVTkFUXbW1MzbGTR6tdzwPUmftGO39z5U+mdJv2dG55oIYqgAQAAgJGGbkL4cVegU3ZeYU0Tz0vxsvR7hMraZZyVeL/8Nj3PKt35AQAAgAerDaB7h1YzhGIjJ5C7A16kZcTZ8fFmKbfoNIHPy4OywXMXdvvByxXud727/375u5Mmlz/DP0FbWfPx/gwAAAC4Xd8K6OIUj4/E8OjysLPODG+4NcGHsNXCXn7qDSucZWSeO+fiV/6rWLA9admJAAAAAJroFUDXJ3c0ZGGtADfaxu4SYQAAAOBVbugBvahHJpiDL+qs9fDIOQw25up2Fe5ZLVn6zOj6pM/OYXdV8MUX26Ng/NnfOAAAAGA2JQH0ZV/RtgFHwwimZqhn52U3srA3urFHcE177vmfmW8P7sqpJr5aCN7E+VcJAAAAeIPCCuhtbtU1wJKhPNISGeKKCr6M92bQ3zmUffAoPtQ8QW3ZtWcVj6t0BgAAAGZwHUCfhR2tUpsx6U9uFvOGLgE3srA3mnDx07dtjH+RLy/tm7aPWYROZ8nddPQ4Ddk0AAAAMExGBXTvqtXemUj95FdPbc5yqN5h3C1lm8X9pitXY/xDsp1wWTlz4qcKVqZyNTotZsMHvtO/iunDpmTuLWYEAAAAUCgQQEdCn+Zpyy47i5891/aP3AumffzIbobj87hFteqHS1CThe3UiKNy2MvrKkvbS6cTm0Nxs+azS6is9QYAAACYRHYP6NzEpyYoqd+/q1WmdkyUOgVA32ETq4bPDntn0n2pR6A5g6wMevCbgK49pneDz/OSYzeTxN7T6a1IyqbUdkAAAACAFIEAepeBVsrd9WuS/Ghr5uAmsUP35xK2odgutus2wYwb2nYaZVnecd0in535wVjLsG/9ZUKdEhxfnqL4s217g7QaCgAAAKDGdQX0bEFG1gZcA87btbpzwqE66fqYFbe6jn9k/my6a/Vx1jTmOcXIKun5v3cAAAAAvWW34Ggi2EZ5lxL22B+vYfbUKddLjLkXCrbiC3VXPLruevJV/PDM+UwGHf/Jmmp6AAAAAJfuCaC/LsOUHjH0cs42LitoMstPfoT3nofw2IBi/FWn9E65TJDvnXbbj0ucAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4sv8H7DJxa/Ey0l4AAAAASUVORK5CYII=\n",
"text/plain": [
"<PIL.Image.Image image mode=RGB size=1920x1080 at 0xAECF78D0>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"PIL.Image.fromarray(output)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment