{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# UD04 · Notebook 6 — Navegar con cámara\n", "\n", "Esta vez, haremos un seguidor de línea usando la cámara del robot. Para hacer esto, usaremos la cámara para capturar imágenes del suelo y procesarlas para detectar la línea. Luego usaremos la información obtenida para controlar el robot y hacer que siga la línea.\n", "\n", "Para hacer esto, usaremos la librería `opencv` para procesar imágenes y `aitk.robots` para controlar el robot.\n", "\n", "Comencemos por instalar e importar las librerías necesarias:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!pip install aitk numpy opencv-python-headless matplotlib requests Pillow" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "import aitk.robots as bots\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import cv2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Seguidor de línea simple\n", "\n", "Crearemos el mundo de Robot y Robot. Necesitaremos la imagen del mapa para este ejemplo (tienes 5 diponibles de `EX2_pista_1.png` a `EX2_pista_5.png`), contiene una pista con una línea negra.\n", "\n", "El robot tendrá una cámara que capturará imágenes del suelo y las procesará para detectar la línea. Será de tipo `GroundCamera` y la añadiremos al robot." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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44/jhRdewI033jh8R0VERETDTomI9lSR3/3ud/HnP/8Zf/rTnwZdLyIYP348vvnNb+Jb3/oWAKC9vR21tbVYtWoVrr32WrzxxhuYMWMGXn75ZcyePRsAsHr1alxxxRXYs2cPxo8ff8z96OjoQHl5Oda9vwY3vHkVDGXqHgIREREN4HYLdl7difb2dpSVlR1xu7RKGh599FHMnj0bn/vc51BTU4NzzjkHv/nNb1Lrd+3ahaamJjQ0NKSWlZeXY86cOdiwYQMAYMOGDaioqEgFBgBoaGiAYRjYtGnToD83Go2io6Oj38On0tl9IiIiOg5phYZ3330XK1aswLRp0/DUU0/hpptuwte//nXcd999AICmpiYAQG1tbb/X1dbWptY1NTWhpqam33rLslBZWZnaZqBly5ahvLw89Zg4cWJijXYhCRERER2ntEKD53k499xz8ZOf/ATnnHMObrzxRtxwww245557Rmr/AABLly5Fe3t76rF79+4R/XlERER0uLRCw7hx4zBjxox+y0477TQ0NjYCAOrq6gAAzc3N/bZpbm5Oraurq0NLS0u/9Y7joLW1NbXNQMFgEGVlZf0eRERElFlphYYLL7wQO3bs6LfsrbfewuTJkwEAU6dORV1dHdauXZta39HRgU2bNqG+vh4AUF9fj7a2NmzZsiW1zbPPPgvP8zBnzpwhHwgRERGNLCudjW+99VZ85CMfwU9+8hN8/vOfx0svvYRf//rX+PWvfw0AUErhlltuwY9+9CNMmzYNU6dOxfe//32MHz8eV111FQC/ZOKyyy5LVWvE43EsXrwY1157rVbPCSIiIsqOtELDeeedh4cffhhLly7FnXfeialTp+IXv/gFFixYkNrm29/+Nrq7u3HjjTeira0NF110EVavXo1QKJTa5re//S0WL16MSy65BIZhYP78+bj77ruH76iIiIho2KU1TkOu4DgNREREw2dExmkgIiKi0YuhgYiIiLQwNBAREZEWhgYiIiLSwtBAREREWtLqcplzlOKcVURERGka2HFStyNlXoaG5MF1dXUiHnFguSwwISIi0iUQNIz9G5w/5iIAQG9XLxbhtmOGh7wcp+Hdd9/FSSedlO3dICIiKii7d+/GhAkTjrg+L0saKisrAQCNjY0oLy/P8t6MvI6ODkycOBG7d+8u+Mm6eKyFicdamHishUNE0NnZeczp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2WcxderUfutnzZoF27b7He+OHTvQ2NjY73i3bt3a70K0Zs0alJWVHXaByzWe5yEajRbUcV5yySXYunUrXnvttdRj9uzZWLBgQerrQjnWwXR1deGdd97BuHHjCuq8AsCFF154WJfot956C5MnTwZQeNcnAFi5ciVqamowb9681LJCO6/DJtstMdP14IMPSjAYlFWrVsn27dvlxhtvlIqKin6tV/NBZ2envPrqq/Lqq68KAPnZz34mr776qrz//vsi4ndpqqiokD/+8Y/y17/+VT7zmc8M2qXpnHPOkU2bNsmLL74o06ZNy7kuTSIiN910k5SXl8vzzz/fr3tTT09Papuvfe1rMmnSJHn22Wdl8+bNUl9fL/X19an1ya5Nl156qbz22muyevVqGTt2bM51bfrud78r69atk127dslf//pX+e53vytKKXn66adFpHCOczB9e0+IFNaxfvOb35Tnn39edu3aJX/+85+loaFBqqurpaWlRUQK61hfeuklsSxLfvzjH8vOnTvlt7/9rRQVFcn999+f2qaQrk+u68qkSZPkO9/5zmHrCum8Dpe8Cw0iIv/yL/8ikyZNkkAgIOeff75s3Lgx27uUtueee04AHPZYuHChiPjdmr7//e9LbW2tBINBueSSS2THjh39vseBAwfkC1/4gpSUlEhZWZl85Stfkc7OziwczdENdpwAZOXKlaltent75R/+4R9kzJgxUlRUJFdffbV8+OGH/b7Pe++9J5dffrmEw2Gprq6Wb37zmxKPxzN8NEf31a9+VSZPniyBQEDGjh0rl1xySSowiBTOcQ5mYGgopGO95pprZNy4cRIIBOSEE06Qa665pt+4BYV0rCIijz32mMycOVOCwaBMnz5dfv3rX/dbX0jXp6eeekoAHLb/IoV3XoeDEhHJShEHERER5ZW8atNARERE2cPQQERERFoYGoiIiEgLQwMRERFpYWggIiIiLQwNREREpIWhgYiIiLQwNBAREZEWhgYiIiLSwtBAREREWhgaiIiISMv/BzQtLwLfVGJSAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nombre_imagen = \"EX2_pista_1.png\"\n", "\n", "# Cargamos la imagen en una variable\n", "\n", "img = cv2.imread(nombre_imagen)\n", "\n", "# Mostramos la imagen\n", "plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Random seed set to: 9750301\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "035972ee9985432c8a7013989e0ca16e", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HTML(value='')" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "be3c87d6f85e4ccca1031b20ef8822dc", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HTML(value='')" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "f7adab9e79264250897d03c271087379", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HTML(value='')" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "5c256ee6382f4aef83bd50d6853e773f", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Image(value=b'\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x00x\\x00\\x00\\x002\\x08\\x06\\x00\\x00\\x00\\x97\\xa7\\x1f\\xd…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6f0c4e23f180455aaac4cd308903d650", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Image(value=b'\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\\x01\\x00\\x00\\x01\\x00\\x01\\x00\\x00\\xff\\xdb\\x00C\\x00\\x08\\x06\\x0…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "world = bots.World(220, 180, boundary_wall_color=\"yellow\", ground_image_filename=nombre_imagen)\n", "\n", "robot = bots.Scribbler(x=24, y=90, a=90)\n", "robot.add_device(bots.GroundCamera(width=120, height=50))\n", "\n", "world.add_robot(robot)\n", "\n", "robot['ground-camera'].watch()\n", "world.watch()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Implementa la función `controlador_cam` que será el que tendrá que controlar el robot. Puedes basarte en el ejemplo hecho en [`UD04_N01_introduccion_opencv.ipynb`](https://colab.research.google.com/github/martinezpenya/ModelosIA/blob/main/docs/UD04/notebooks/UD04_N01_introduccion_opencv.ipynb) para detectar la línea (ten en cuenta que la cámara aquí está debajo del robot, por lo que si usamos la parte inferior de la imagen seguramente el robot sea demasiado inestable, sería mejor usar la parte superior de la imagen) y en el ejemplo hecho en [`UD04_N03_ejemplos_robots.ipynb`](https://colab.research.google.com/github/martinezpenya/ModelosIA/blob/main/docs/UD04/notebooks/UD04_N03_ejemplos_robots.ipynb) para controlar el robot." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using random seed: 9750301\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "d561a25550514fc28e39bede23888893", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/600 [00:00" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg0AAAGiCAYAAABkuvUyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3iUlEQVR4nO39eZxcVZ34/7/OXWrpPd1JdydkISwKAcKSQGjBBcgQMeKWj4NOdFAZ+cgEN1yZj6Kj4+DP+X3UYQZxdBzgM+igzAwoDAIxYBAJAQJI2MIWSIB0d7beu6rucr5/3Krq7qSTnOr0dqvez8ej0l11b3XureXe932fc95Haa01QgghhBCHYE31BgghhBAiHiRoEEIIIYQRCRqEEEIIYUSCBiGEEEIYkaBBCCGEEEYkaBBCCCGEEQkahBBCCGFEggYhhBBCGJGgQQghhBBGJGgQQgghhJEpCxquvfZajjzySFKpFMuWLePhhx+eqk0RQgghhIEpCRp++ctfcsUVV/CNb3yDxx57jJNPPpkVK1bQ2dk5FZsjhBBCCANqKiasWrZsGaeffjr//M//DEAYhsybN49Pf/rTfPWrX53szRFCCCGEAWey/8NcLsemTZu48sori49ZlsXy5cvZsGHDqM/JZrNks9ni/TAM2bNnD01NTSilJnybhRBCiHKmtaa3t5c5c+ZgWQduhJj0oGHXrl0EQUBLS8uIx1taWnjuuedGfc7VV1/N3/7t307G5gkhhBAVa/v27cydO/eAyyc9aBiLK6+8kiuuuKJ4v7u7m/nz53PUTdXY1TIARAghhDgcwYDm5dV91NbWHnS9SQ8aZs6ciW3bdHR0jHi8o6OD1tbWUZ+TTCZJJpP7PW5XKexqaZ4QQgghxsOhmvwn/TI9kUiwZMkS1q1bV3wsDEPWrVtHW1vbZG+OEEIIIQxNSfPEFVdcwcUXX8zSpUs544wz+OEPf0h/fz8f//jHp2JzhBBCCGFgSoKGiy66iJ07d3LVVVfR3t7OKaecwl133bVf50ghhBBCTB9TUqfhcPX09FBfX8+xt9ZIR0ghhBDiMAX9mhfe30t3dzd1dXUHXC/mZ1zpBCmEEEJMlpgHDUIIIYSYLBI0CCGEEMKIBA1CCCGEMCJBgxBCCCGMSNAghBBCCCMSNAghhBDCiAQNQgghhDAiQYMQQgghjEjQIIQQQggjEjQIIYQQwogEDUIIIYQwIkGDEEIIIYxI0CCEEEIIIxI0CCGEEMKIBA1CCCGEMCJBgxBCCCGMSNAghBBCCCMSNAghhBDCiAQNQgghhDAiQYMQQgghjDhTvQFCmNBaG64I2o9u+JrC07QfLQNQFmAXfleo/O/YFMNodRjfDKXU2J8shBDTmAQNYnrRUYAQZkBnNOEghFmNzmqCPvD3hgTdmrBPE/RD2K8JB/K3LGhPQwg6BEKKgYLWuvg7SlE8r1uAKj5c/B0brIRCJcFKHuRnCqy0wqpS0c80KDcKRJRDFJA4w+47oGwFhd+VGvo/hRBimpOgQUw6rfMndi/KAISDGm9HSO61kNyOEH+XJugOCXp0dOuL1iEYty0Yrz80KuXmb0mFcvPBRwJUQmElhh4vBB5RsKGwqsBK5QOQFKi0wkpGQYkq/BweaOQDnmIApIbdGBYE7buccciGaND7vo77vqyjvcwHeOyg78hoCw02X+27ntrn54jfhwWSQogDkqBBTKjhzQphH+ReD8m9HpDbHpJ9JQoU/J1h1KSwT3YgrrQX3Rgo7IjBDo1ygleM8pgdBRbFIKIQiCRAOflgxFVDgcs+v2NFwYRyR9mG4U01o+2XDwx7P3UQ3YrCfKZnn9di+O5rH3Swf7ChvQP/v4Sg/aHnKNcgO6PyTUwqCpCUS/H1w84HVPm/o+z84/n1lJN/vZx8kOaqYY8Ne52dfCCYygeCiUNs0/DNkwhFxJQEDWLcaa3RHvi7Nd7OkMyWgMGnArKvBoT9EA7og58kKpFmv9jiQBfqYSnBSKkOdi6LeTBnJJ/BUdZov6v9H7fyQYelwAUrHQVzdvWwDFI1Q7/XgF2rosBveMCXUMVmL5WQoEJMXxI0iMOmNRBG/Q/8XSH9T/gMPBGQey3Eaw/RuaneQmGsEgKDg9HAPhkUPcpvoz+xBA5YqWH9YwpBRQqsaoVdr3DqFfYMC6dR4TRaODPyzVzD+8RIvxgxySRoEGNSaHbQOchsCeh/LGDgSZ/MiwE6i5x8hDgYP2quC/sOkjUapWnKrlXYDQpnhsJpsnCaFE4+sLAb8481qqHRP9JnQ4wzCRpEycKMJvtqyMDjPr1/9Mi9HhL2I4GCEONpnyYrHURNfv5uTRYo9gy2R/ZfsdLgzrJw51gkZlu4rVFwUcheWDUqak4RYgwkaBBGdKAJujX9jwf0/N4jsyUg6JIoQYgpl29O0RlduIv3egBPDLWxWNVg1+UDh0aLxBEWyQUWiSNtnMaoj4WVJGr2kJSEOAgJGsQBFYZG5raF9Nzv0fuAT257GI1wEELERpivaeLt0BS/wPnmD6dRkZhj4R5hkZhrkTzSIrnQxqmPRttEBc+keUNEJGgQ+9PRELfMiyE993r0/sHD79ISLAhRTvLNH/4ujb8rgCeDaDRIvn6I26xIHWuTOtYmMc/CnZ3vLyFNGxVNggYxQpjVZF4M6Pofj/5NPsHeadQEUWy7zY+VL4yvt/O/u9FwNSsZDWeLhq4RpVztkQc67UfFonShRkAIaE2Yryugs6BzOkr7hkA4stJk8WcQLdMB0d8r1JoQIo5C0IMQDGqCLk3m+RCUh1WjcJqijET6BJv08TZus4Vdlx8mKmmIiiFBgxjRDLHnthy96z3CgUneiGFj35VD1EN8poUz08KdqbBnqKjneE3UkcuuzhfVSeXbY1MU55MYT9qPRohoTxeLNg39ni9dnR36qXNRR9Ewk/85qNGZqKJlOJh/fEAPrTOohwpaFUteD/0+4uc0it9EBdEQ9mpyvZrcKyF9D/pgg9tikTrGIr3IpupEh8R8KyqiZUkQUc4kaKhwWmu8dk33b3N03+Ph7z1UTd/xY9cr3BaF2xKlPhNHRDd3thVVOyxU7ytOJDX57arKBdzo/zZVnOcif9OFZuTC/RG/a3Q2H1QM5OfaGNTRfBv5eTeK828Mm4dDexDm8hkTf6jSog44+P3hWZCAUbMio2ZLClUUh90fPkduVOhoaIVihoeDPEcB9oFfV0X+bxxgFe2PKFA5ygrDqk/m91VD9Hrka4sU34tClmjcSpWXuQC8N0K8N0J6/+hjJbM4zRbVi23Six1Sx9q4LdKUUY4kaKhQWmvCfuj9g8ee/8qRe20COzgqsKrArrdIHKFIL3JIHWsV05tW7bA5FcrAvsV2Dr5Xpe1zcd6OkOjkFwKFYGCU5pPiiTEcFqwUHKBkd5Tp2GeBpUZu6bCJvgq7MWLCr8I6w1exGBkB7Lv+vkb7m8O306TkeFhYd1gwXHyMEY/pQvDg5TNGuXxGKTc0GVrx8Rz7BHuacCAf1BUCteFBWxAFeNof1hxWLgIIByD3SkjulZCuuzycmYrU0TbVZzhRU8YsC5WSzpTlQIKGCqQDTfblkF2/yNL/sD8xJZ2daLx4+k02Vac4JI+2SS6IxouP26RJFUgpNZR9Kc4fIa/jeIlipcNItQX5DFChySqXzyQVmq4GhwKMoE8T9mqC3mhiNr8rP0lbL6MGgnEJNHQOvDc03hs+vX/wsWco0sfb1JzuUH26g92Qn7tDvv+xJEFDBdFaE/bC3v/Jsfe23Ph3clTgNCuqTnSoOsWmarET9bZ2kTSliAW139SYJXLAdoCqg/+NEU1YhSxH4Xcfgr6QoEvj79UEe6Of/t5hM792afyu6Pfp3qQS7NX0PejTt9HHrlVUn2pTs8yl6hQbe0b0OkkAER8SNFQIHUZDKHfdkKH/iQD8cfrDCpymaGhW7Vsd0ic4OE0Ky2QmQiEq1IgmLHv/r4pda8PskY8VJoLT2XwTSb55xN+j8TrCaHr5N0L83WFxYrigP+qIOy0EEHRpeu7z6f2jj9tiUXOmQ+3ZLokFFlZagoc4kKChzGkdHTR6fu+x6xdZ/I7xyS6oBLhzLOre4VKzzCG5wEI58oUXYqIolZ9+OwH28DDj6GEr6SigKGYj9ob4OzW510Kyr4V4r0XZijA/AmiqshQ6B7ntIXu25+i6yyN9vEXd21yqz3Cwa1XUh0YOJ9OSBA1lTOuoTv2u/5el515vXGabVAmoOsWm/jyX6qUOVrXKd1iTb7gQU05FdUqsWQp3FmhtE0US5EeTgL9Hk3stILctJPdaSO71fIZi19QUcAt7Nf0PB/RvCkjOs6hb7lL7Nhe3WY4t05EEDWWq0BzR+S8ZBp8ODvtgYNVC1QkODe92SZ/gYFXJl1mI6a7YRyNfw0Q5kJitSMy20Euj/hCFeiFBlybzckDm2YDsq1Ezh79HT97U9gFkXwnZeX2Wvb/JUfsWl/rlLsmjJIs5nUjQUG7yJaD7Nvp0/msW743DixZUCqpPc5jxngTpE2yspHx5hSgHSqmo42YN2DVRZiJ1rI0+P6oN4u8M8TpDsi+HDD4dkHkpIOyPipJNaEYiAL9Ts/e2HL0PeNS0Ocx4d4LEXAvlyvFnqknQUEYKHaX2/neO3b/KEvYdxh+zIX28TeMHElSf7uRLMssXVohyp5TCrgJ7gU1ivkX1UiCEoEeTeSkksyVg8Nkgmum2d2KbNPxdmq7bPXr/4FN/nkv9BS6JuZY0W0whCRrKSNgHu27K0nVnDp0d+99xj1A0fiBJ7dujTkny5RSiMhW/+zY4MxQ1Sy2qT7OjJo1eTeaFgP7HfTIvhOS2h4T9E1NONujS7Lk1R8/9Hg3vSlB3nkuiRUZoTQUJGsqA1tFY7p3XZ+le5415OKVVBTVtLk0XJaI68lJbQQixD2XlMxFVUQn4mrMcgm5N7nXN4JM+fY/45LaH45+FCMHfqdn171l6/+jR+L4ENW9xsaol6zCZJGiIOa01/k5Nxz9n6Nvoj62YnYLEAouZq5PUvsXJ1/uXL6EQ4tCUUjgNCrtek16UoPF/Jci+EtL/eFTQKfN8EHWmHK8kRAjZF0N2/DBD9R98Zv5FktSbpcliskjQEHPeGyHtP8ww8GQwpi+lSkDt211mfiQpE8wIIcaseMJ2IXWMTfJoi4aVCXKvh/T90aP/MZ/sy+H4la33oX+jT+aFgBnvSdCw0sWpkyaLiWYdepWR7r//fi688ELmzJmDUorbbrttxHKtNVdddRWzZ88mnU6zfPlyXnjhhRHr7Nmzh9WrV1NXV0dDQwOXXHIJfX2H02uv8mityb0e0HFthoE/jS1gcJoVzZcmaVmTItEqzRFCiHGi8s0Y1Yr0m2xmfizJ3G9WMedraWrf5uDMVGM4+4wu2KPZdVOWN74zyMBmP5r5VaaRnzAlv239/f2cfPLJXHvttaMu/973vsc111zDj3/8YzZu3Eh1dTUrVqwgkxmqZbp69Wqefvpp1q5dyx133MH999/PpZdeOva9qDBaa/xOTfs1GfofHUNJNwWpN1sccWWahgsT2FUSnQshJo5SCqcpKhs952/SzP1OFbMuTkZ9p8Yj3+3DwBMBr397kD3/nSPM6Gh+DzHulD6MV1Ypxa233sr73vc+IDqZzZkzhy984Qt88YtfBKC7u5uWlhZuuOEGPvShD/Hss8+yaNEiHnnkEZYuXQrAXXfdxbve9S5ee+015syZc8j/t6enh/r6eo69tRa7uvLOdl57yI4fDDLwxBgyDA7UnuXQ/FcpnGYZGSGEmBo60AR90L/Ro3utx+DTAXoc5sRRLtS8xWHWx1O4s+UYZyro17zw/l66u7upq6s74HrjlCCKbN26lfb2dpYvX158rL6+nmXLlrFhwwYANmzYQENDQzFgAFi+fDmWZbFx48ZR/242m6Wnp2fErRJprfF2hXT8ODOmgMFKQ9OfJ2j9TFoCBiHElFK2wqlX1P2Zy5yvpZnz9TRVSx2s9OH9Xe1B7/0+b3xngP5HA3QgGYfxNK5BQ3t7OwAtLS0jHm9paSkua29vp7m5ecRyx3FobGwsrrOvq6++mvr6+uJt3rx547nZsaA16AzsujFL34bSR0lYNTDrE0ma/iIptReEENOGUgqn3qLmTJcjvp5m9pfSVJ1mo5KH8Uc1ZF4I2fEPg3Tf7RHmJHAYL+MaNEyUK6+8ku7u7uJt+/btU71Jky/Q7L4lR8+9XskBg92oaPl0moaVCayEBAtCiOlHKbDTipqzHOZ+s4rZV6RJnzjKvOElCLo0HT/OsOeXOcIBjXRzOHzjOuSytbUVgI6ODmbPHpoMvqOjg1NOOaW4Tmdn54jn+b7Pnj17is/fVzKZJJk8nLAz3nSo6dvgs/fWbMnDldzZipY1aaqX2ChbAgYhxPSmlEKloPYdDlUn2/Tc67H3jhzejrGNitAZ2H1zFn9vyKyPpbBqZdrtwzGumYaFCxfS2trKunXrio/19PSwceNG2traAGhra6Orq4tNmzYV17n33nsJw5Bly5aN5+aUBa0hty2a+S3sL+25bqui9fNpqpdKwCCEiBelFE6jxYxVCeb+bRX1F7ioMfZ30B503eXR+a8Zwn7JOByOkjMNfX19vPjii8X7W7du5YknnqCxsZH58+fzuc99jr/7u7/j2GOPZeHChXz9619nzpw5xREWxx9/PO985zv55Cc/yY9//GM8z+Pyyy/nQx/6kNHIiUqiNeisZtfPs+ReK60eq9uiaL0iTdViW+ovCCFiSylFYr5Ny1+nqFnqsOsXWbIvhaVnHXzoXutBCM3/O4VdI0PNx6LkoOHRRx/lnHPOKd6/4oorALj44ou54YYb+PKXv0x/fz+XXnopXV1dnH322dx1112kUqnic37+859z+eWXc95552FZFqtWreKaa64Zh90pM1rTc68XlYcugdtq0frZlAQMQoiyoBSoRNTfIfUmmz235OhemyMcKPEPBUTz8zjQ/MlURQ7ZP1yHVadhqlRKnYbcGyHb/6Yf7w3zt8ieoZj9hRTVSx0JGIQQ5UdDmNP0/dFn540ZvPbS+zooFxo/mKDpL5LSOTxvSuo0iPET5jR7b81GnX8MWTXQfGmS6iUSMAghypQCK6moPScaZVF1WukjLLQHe/4rR/dvvajstDAmQcM0lXkuiNJopp9nBxo/kKTu7a50ehRClD2lFIkjLeZ8Kc2M97got7Tn6yzsvDGaHTh++fapI0HDNBRmNXt/nSMsYQ6v2jMdZrzHBQkYhBAVojDCYubHUzStTmLVlPb8sA923pAl+3Igc1UYkqBhmtFaM7A5oP9x886PTrNi5l8mZfyxEKIiWWlouijBrEtS2HWlHQRzr4bs/LcMYZ9McmVCgoZpRnvQ9RvzLINKQNOHkyTmWVIaWghRkZRSKEvR8E6XWX+VxKop7VjY/3jA7v/MwThMmFXuJGiYTjQMPhsw8KT5J7dqsU39OdKPQQhR4VQ0CVb9eS7Nn0xi1ZbwXB+6bs8x8KQ0UxyKBA3TSJjT9Kz1jMce23WKxv+VHHOVNCGEKDfKUdSf79J0URKVOvT6BWEf7Pr3LP5uaaY4GAkaphHvjZC+h8yzDNVnOqRPtKVZYoporSfkJoQ4DAqwYMZ7E8x4T6Kks9zgswF7b8uNaY6LSjGuE1aJsdNa03O/R9Bj9mm1amDGhTJr5UTTGgg0YQbCjEbnotLeYQ50ThP2a4KB6DHtabRPdPNA+7o4wZhyidKnFihXDf2eVKhkNO7cSubvJ6I0q7JBOYCTv+/k79vR1ZRyQNmALR1ghRhOqeh71fjBBLk3Qvr+6JsFAhp6fudR0+aQXiQXZKORoGGaCPbokspF157lkjxSEkXjQeuoopz2QOcg6NN4r4fkXgvJtYf4u0OCHk3QqwkHNOEA0TS7uYnbJuVEgYZKquhnQmElop8qQfS7mw8wXIWVBiut8jdQqfzvSbCq8r+nonVUkihoUVCMNtTQrXiYLOV4uc8BedSEyURcvamRv4/YdjVseXF/918mJ4by5dRbNH8ihffaANlXzObv8fdo9vxnjjlfTkvT7ygkaJgGtNYMPBOQ22b2obaqoX6Fi0pM8IaVqWITgB+V6s6+HJLdFpDdGpJ9JYjaNAMgzN+mYhvzGQsGC2dagzOuOvBPNfwxlQ843EJwEgUk5H9Xdn7VQlbkUNsa6v2mbNfeyE3Wvp6Y11IRbbdSUQbGjh6zEgqsfOCVAKuwv+6wYCuRD6pS+WxPSqEKGZ9UdN9KK+zqaKrmgwVREnhMX+4Rill/leSN7w0S9pg9p/9hn76HfGrf4ch7uw8JGqaDEPoe8IyvXKtOiiZtkQ9zabSv8XZqsq8GDDzuM/h0gL9LE/RNbNZg0hwkvtj3IZ3VB1laYewoQBr6mW8aKjzm5AOIWoVTr7DrFXZd9NOZYWHXD2V4rLSKMjupqAlJTD2lFNWnOcy4IMHuW3JGwav2YO+vc1SdbOM0yvs4nAQN04C/OyroZEK5UHdO6SVTK5HW0RVw0KUZ+JNP30af7NYQb0cYXcULARAQZZaKVdtLbFuxouJCVnWUlbBqFHatwpmpcGdZuLMtEkdY2A0KKzGU8cCSDMWksaHhvQkGngoYfNrsWDu4JaBvo0/9O115n4aRoGGKaa3pf8wn6Da72kvMs0ifZKNkIvhRFZoedAYGnvTpfcCnf5OPv2eC0uNChBD2Q9iv8fcNLob1n7BrFG6Lwm2xht0U7hEWbrNV7CwLEkyMN6UUThPMXJ3ktW8NoDMGTwqi2g01ZzrYDdLZuECChimms9D/mL9fm/CBVJ/u4DSpg7avViodarwOTf/DPt3rPHKvBoSDU71VoqJpikmKoFsTdGsyz+ejVzvfoTUZZSYS8y1SR9skj4oCCqcpagaRGWvHh1KK9Ek2dee4dN9lNhlg9tWQ3gd8Gla6SNQQkaBhigW9msGnDJsmElD7FumYsy8dRMFCz30ePb/3yG0PJasgpr+AKKgd1ARdmtz2/NBAG5wGhdOkSBxhkV5kkzrewZ2psKrznTjlGDAmVkLR+IEEA4/7eO2Hjhq0B91356g7x8UucTKsciVBwxQbfDaIUucGUm+2SRwhwyyhMKRPE+zVdN3l0f3bHF5HhXfoE+UhiPo5+bujrETPfT7KyeLOtkgda5N6s016kU3yyKEmDQkiDClIzLeoX5Fg141Zo6dkt4b0PyIjKQokaJhCOtT0P+qbXRVbUH2KU/JELOUq7Nf03u+x97Yc2e0hmCVrhIgl7UNue0hue0jPeg8rBe5si+qlTjSa6igLu1HJSc1Q3TkuPfd5RsPctQfdv/OoPt2RbAMSNEypoFuTfdnsbGcloeo0u7LbN3U0bHLw+YDd/5Fj4Al/aodKWoWKjIX6ACoapje8UFI+MaQ1Q8HhsHZuHUYdNHW+JoQOiQIgSZqIAwmijpfZF0OyL+bo+k0Ot8UifYIdFX1bGA0DlUnsRqeUwm2F+uUuO6/PGn3XBp70yW4NqDpJTpnyCkwRrTVee0juDbPGd3e2Reooe4K3avrSWhP2avbclqPrds94tMmYKYrj9lUCnEYrGkLXFB2Q7XqFXaNQ6fwY/qQqjulXlsqXfqZYKEmHDA3zzBeO0mG+7HQuGhpaLD2diyYv01kIB3V0y0S/63w56xGPZaP1R9RpyN/0PveLy0XZCAeiFHp2a0jXXR7JIy2qT3WofVtUNVb6QOxPWYq681y6fpvD22HQtyELPfd5MtcPEjRMqczzIWGf2brVpzoVWwFSh5rMloCd/5Zl4KlgwpoirJooOEu0WiTmWyTnWbhH2LgtaqhSYqHoTz6DMFEHkEJp6xEBwPD74cj72tdRMJHJl7jORj+jACM/b0Z+WVgIUvyoEymF+TKCfOXGfV7fYnXM0VhDgRGQn5545P395sawhzIwY6bz26UL2RkdxUL5wKwQpGl/2P7l91f70XqhF71OZdVp1s9nIF7K0XVnjvTxNnXvcKk6zcFtsmTU1TBOo6LuHJfdN5sVfBp4IsBr1yRmV/aLKEHDFBp4yqzCkEpAepFdkXOShhlN9+88dv8yiz/OHR2tWoU7S5F6k03VYidK6zZEw9+UO7VXZ0rtP6z24FtT4rbqfGCyb9NICIQjX2c9PEsxyn874mVSwD5NaMUmm+HrjMdLmz/Q63DY9oV6KMAasU/DgovC/XxRJ50dmlMkGIh+14OaoA+CnhC/O8py6RyEHtHEZF5+wrIsxUBlWtFRE0b/owEDfwpIzLWofbtL7VsdErMtqVZJNAlc3Tku3Xd7+LsPfWzJtYcM/MnHba3sYk8SNEyRcACyL5ld4jiNiuTCykqLaa0JemD3L7J0/U9ufPouKFBJSC6wo1nsTrBJHWVj5Ts3VdLrW+xxP+rFZ5xfh9K33Wg6ch0NjwwHCwFGPsjo0QTdIf5ujbdb4++Ofg/2hlFgUag2OYUddbVXaL7I0nVnjtqzXRre5ZKYY0VZn0r63O8jMS/qTNp9t0GhHB96H/CpP8+FCq7IK0HDFMm9GhhPg+22WritlfPF1lqTey2k81+y5qNLDsGdrahZFl1ppY6xh830WDmvqxid0WdAgV0NdvX+6xYyNsUmozA6Ufu7Q3I7QrwdGm9HiLcrxN8V4u/S+F37NwNNBr9Ts/fWHL2/96hb7lK/wiUx14oqzFbiV0FB7dtdeu730AaF4AafC8i1hyTnVW7/MgkapoDWmuwrIcGAWdCQXmRXTDpRh5rM8wEd/5wh80J4WJ32lAvJoyzqz09QvdTBnaUq5nUUk6cwwyb2sPNuCuxam+SRdrEpSOcY6sDap8luD8m+HJB9JcTfGeJ36ehCYqKDCZ2f/vmWHL33ezSsTFC33MWpwCGbSkXNk6mjbaMie2G/pu9hPwq0Kuy1KpCgYSoEkH0lMGsLVfn+DBVAB5qBJwM6/ilD7rXDSC84kDrKouHCBDXLnGj4WYV+wcU0kM9oFabbLkgda8O5LjqMykt7HVFGIvNyQOa5gOy2sDg6ZkJGvGjw2jU7r8/S+0efxg8mqDndGbGNlcCpU9Sc6ZhV5g1gYJNPwzsT2NUTv23TkQQNUyDMQcawP4PdqKK2xzKntaZvo0/HP2fwd439COkeYTHj3S51y13suqjHncQLYjpTlsKZoXAaIPVmi9q3O1FVyG5N5sUogBh8LiD7YkDQy/gHECFkngvY8f8bpO48l6aLkrizKyvQrjnDYfcvsoQDh1538LkAf0+IXV0ZF3P7kqBhCuiMNqpEBpCYY+VPfuVLh5q+h3w6fjT2gMGqjqq8Na7KH/AquQiWiCfFUN8CC9yZCnemRc0ZTrHTZWaLT98jAdmXAnJvhFEWYpzoHHTf7TH4VEDT6iS1ZzlR/ZEK4DRbpE906H/40OnfsA8Gnwoqtl+DBA1TINcREvQbToV9hIU1SuercqFDTf8jQRQwdI4hYLAgudBi5keTVC+pnIOcqBzKUtg10dTaiTkJat8ezUuR3RrQ97BP/6M+/m49PgFEGJWr7vjHQbIvJWhclcCeUf5ZBysN1Usc+h/zjZqN+zf51J/vVmTVTQkapkDuVcNZGO2oI9++497Lhdaawc0B7dcM4u8sPWBQLtSd5zLzI0mcWeV/YBMCoiDCnaVwZiqqlzoEvZqBPwX0bfDofyQg6NWH3YQRDsKe/8yRfTmg+X+nSCwo745/SimqT7Wx0yp6/Q4huzXE26lJVNCotgIJGiabjuZoN/lSKzuqKVCO31WtNdmtYZRhGEPAYM9QzPxIkvrlLiolQydF5SkUAHPqFbVvVdQsc/A6Q3of8Ol7wCPz8mFO5Kah/7GA178zSMuaFFWLy3vuG3eORWKBZdQh0tsZ4r0WRtViK+zYU/497KaZ0It6SBsFDS4k5pbnWxT2ws5/zZLdWvooieQCi9lfSNHwLhcrXXlfWiH2pVQ0/0lynk3ThxIc8a0qZl+RIr3YRqUO4w/rKDO64/8/SO8f/ajseJlSTtREYUJnYHBLZU6tW55npGks7NX4uwwrQc6yRi0mE3dhTrP7V1n6Hy+x/m5++OnsK9NUn+5UZHuiEIeilIrmVVjuMu/vqpj9xXSUJTiMKoZ+p6bjnzP0PljGgUP++GJVma0+8OT4FJ6LG2memGRBrzaqcw6QnGeV5Ts08ERA1x250lKnFlSf5tByearihoMJUarC90OloPatDtWnOfRt9Nl7a3bMRdOCvZqOf8qgrBQ1bU7ZNVUopUjMtXBmWkaj23LbQoIujdNUXq/DoUimYRJpHZWP9bsMR07Mt0bOGBhzWoO3K2T3f5iNhy6yonHUrVdIwCBEqZSKpnGvO9fhiG9UMfMvEzjNY/sOBV2ajh9nGNgcYDJlR9w4jYrEfLPTYjigyWytvCYKCRommddu2DnJiWo0lNU7pDU993oMPlfCF01B9ek2LZ9O4TRJwCDEWCkVjbho+oskR3y9iuozHNQYMpl+h6bzugy5bYHZZF8xomxF1UlmV2phNpp0sNxeg0Mpp1NSLHg7zBrBrLTCbS6fYU5aa7wdmq7bS2iWUFB1sk3rZ9I4MyVgEOJwKaXy8y1YzLkyzcyPJ7HrS/9eZV8O6fxJJpoyvMxOmunj7GgukUMJo9dhXGbgjREJGiaZ124YNKSiEtJlI4Cuu3J4JQyvTC60aP10SgIGIcaZUgq7WtH4/gSzv5wmeUzpp4L+xwJ235JDG8wqHSdOk4XbYna8yb4SEGbKK2g6FAkaJlN+ghgTVkrhzCift8fr1PT8zjPubWw3KGZ9IolbwbPJCTHRlKOoWeow56tpqpbYpZ0RAui6PcfAY35ZZRvsGkVyvlkTRW5HSNg/wRs0zZTPWSkGwn6Mqo0B2HUKq0xmUdP5vgz+HvMDS8O7XKqXOBIwCDHRFCTmWcz5Upras51h83sfWjgAu27K4u8sn2YKlY5qwZi8DjoH2W2V1RlSgoZJ5O8NjVNZbmv5vDX+Tk3vHz3jYV6pYy0a3pWQOgxCTBKlFPYMRfOnUtS+3S0pcMi8GLL3tlzZ1CxQSpE40jLrJKqjzpCVpHzOTDHg79WEWdOgoTxOmFrraFrfV82+WCoBM96bwJlZHvsvRFwoFc2q2fzJJFWn2OaBQwjdaz0yz5XPaIrkkYbFsDRkXw3QYXnstwkJGiaLjoqjmM5ElyiXTIOG3vWe0cxxAKljbWrOdsuucIwQceHMVLRcnjKuVwAQdGt2/2eOcHACN2wSubPNZxf2d+nS6s7EXJmcmaY/jSbo1mbDcxQ4LeXx1uReCxl81qzNTyXIzycxwRslhDigQmXE5r9KYjeYB+/9D/sMPlliafhpSjlRPw8TQZcm6JFMgxhvIfhdpjUawK6O/zBDHWr6N/n4ew0rYM6zqF4qnR+FmGpKKaqXOMx4d8L4LKE92Ht7jqA//idQZZtPFuh3hQTdhz8deVxI0DBZwigiNWFVq8ObmW6a0DnofzQwLuZUc6ZT0pWNEGLiKEfR8B6X9AnmtewHNgcMbC6DIZgWJOcZVobsiwIHXSFRgwQNk0SHGF9x29XRNLdxF3Rr45LRVjXUnOlKlkGIacSuV8z8iyRWjdn6OgPdd5n3YZq+FE6zQiXN1jat9FsOJGiYLGHUEdKEVW3+YZ3OBp4KCAfM9jm9yDFOBwohJodSiqrFNrVnmw/DHNwckHk+iHW6XilwZiisKrOd9nbEeGdLVNJR+uqrr+b000+ntraW5uZm3ve+97Fly5YR62QyGdasWUNTUxM1NTWsWrWKjo6OEets27aNlStXUlVVRXNzM1/60pfw/diHpgelS+nTUBP/TIMONANP+GZNExZUn2Y+j70QYhI50PDuhPEU0EGfpvcBHx3E+0TqNFjGnbJzb0imYVTr169nzZo1PPTQQ6xduxbP8zj//PPp7x+qo/n5z3+e22+/nVtuuYX169fzxhtv8IEPfKC4PAgCVq5cSS6X48EHH+TGG2/khhtu4Kqrrhq/vZqGtGfew9auUajEBG/QBPP3aDIvGo6aSEL1adIBUojpSClF6miL2rMMp8TU0Pugh2/Yh2u6shvMMw3+zrBsilsdSkkTo951110j7t9www00NzezadMm3va2t9Hd3c3PfvYzfvGLX3DuuecCcP3113P88cfz0EMPceaZZ3LPPffwzDPP8Lvf/Y6WlhZOOeUUvv3tb/OVr3yFb37zmyQSMT9bHkDQo9EmyRQFToOKdZ0CrTX+bo1nGH0nj7TKZoipEOVI2Yr68xP03OsblcL3OjQDjwfU/1l8v9cqqXAaLbIG0UA4qAn7NXZdfI/bpg7rHe3u7gagsbERgE2bNuF5HsuXLy+uc9xxxzF//nw2bNgAwIYNGzjppJNoaWkprrNixQp6enp4+umnR/1/stksPT09I25xE/QaDslRYM+I/wcv+2pgXOil+mQHqwz6cAhRzhLzLapPN7zODKFvg0eYi2+2QSmMK9Nqj4qp1TDmoCEMQz73uc9x1llnceKJJwLQ3t5OIpGgoaFhxLotLS20t7cX1xkeMBSWF5aN5uqrr6a+vr54mzdv3lg3e8qEpkEDYNfGP2gYfMawaSIFqeNKnF1PCDHpVALqznGNO2kPPh/EflSBaT+O0AO/W4KGg1qzZg1PPfUUN99883huz6iuvPJKuru7i7ft27dP+P853oI+jdHQZRX/oEF7kDXsz2DXKpILZPprIaY7pRTpE22ShuWl/Z2azPPxno/CbTLbV+1FFX8rwZiChssvv5w77riD++67j7lz5xYfb21tJZfL0dXVNWL9jo4OWltbi+vsO5qicL+wzr6SySR1dXUjbnET9pk3T1g18T6Beu2hcU0Kp1HhSn8GIWLBSkPNWYbDLzX0P+rHeuilaaZB+/nmiRjvq6mSjtZaay6//HJuvfVW7r33XhYuXDhi+ZIlS3Bdl3Xr1hUf27JlC9u2baOtrQ2AtrY2Nm/eTGdnZ3GdtWvXUldXx6JFiw5nX6a1wDBoUHHPNGjw2rVxfYbUmx0wLzgnhJhKCqpPsY07/A0+FxhXwp2O7BmW2VnSjyr+VkJVyJJGT6xZs4Zf/OIX/PrXv6a2trbYB6G+vp50Ok19fT2XXHIJV1xxBY2NjdTV1fHpT3+atrY2zjzzTADOP/98Fi1axEc/+lG+973v0d7ezte+9jXWrFlDMlm+veGCPm02JEdFQy7jSqPxOkLjTpDp4yTLIERcKKVIHm2TOMJisPvQTZBBdzT0uuaMeH7PrWSU+Q0NOjn6XTqqS1PSWTV+Snonr7vuOrq7u3nHO97B7Nmzi7df/vKXxXV+8IMf8O53v5tVq1bxtre9jdbWVv77v/+7uNy2be644w5s26atrY2PfOQj/OVf/iXf+ta3xm+vphkdasL+Q68HUWejWFeDDCC3PTTLqiQhMSeeBxMhKpWVVFSdajgvwyBkng/RYTyvwFVSYRuW0A66NTre/T6NlBQTmXRoSaVSXHvttVx77bUHXGfBggXceeedpfzXsab9aByvCbs65jUaAshtN+sE6TQp7Pr4z+YpRKWpPtVhz69yaO8QK+qoiULniOUkfFYiKutvchUU9htmk2NOLvMmgw9hxmxVq1rF+l3RPmS3m31znEYr3v03hKhQbquFa5glzL4cEGZjmmlwFFbKsHx2f2VkGmJ8eooPHYA2LHJipeMdNAQ92qhiHIA7S+WjeCFEnNgNiuSRZgeqoFvjtcf0bOpgHDRIpkGMGx1odM5sXSsVjaCIK68jNJukSkHiCDvWTTFCVCrlQuoYs6JsOoDMC/E8myoH40mrwgENMe27UQoJGiZDgHE5VZVSxlPQTkdeZ2iWolPgzrZiva9CVCqlFKljbJRJf8gQsi8FsewMqUrINEjzhBg3UfOE2bpWKt7NE36H+dBSt0UiBiHiKnGkZdy5Mfd6SDgwsdszEZSlsKrM1tVZDt0xtAzE+PQUHyX1aYhx84QONZ7hFLHKBqdZPn5CxJVdpUjOMxt66e007+s03Vg1htlfna/8W+bkqD0ZSurTEN/mCZ3FuPqb3aCM2wqFENOPciB5lGFnyL1h1FEwhudUu9o8aAgMK+HGmQQNk0D7GA85UjFunghzOqp8acCdaaGcmEZHQghwIDHXNjqhhgPg74lnmWXTfmaa6MKp3MX09BQvOjRv67JSxDfTkMM4BWk3KLNOVEKIaUkphTNLoRJm6+deNyv6Nt1YCcybJwyboeNMgobJEETZhkNS0VAmFdOoQee0cZueI0GDELHnzjIvfpR7LZ5DC1TC/IgsmQYxLrSP8YgC5ca3T0OYw7h5wq5XMrulEDHnzLSM+yblXo9n0GCcacC8w3ucSdAwCbRn+EGyos5FcRX2abNIW+WDhrgOExFCAFHG0LSqa7BXx3JIokqUMHrCsMN7nEnQMAlMP0gq3zwRV4HB9LEQ7aNdb0nMIETc2eDOMjuNhFkIYzjsspRZh6V5QowL45SVlW+eiCnjoMEGq3qCN0YIMSmcmWbHLJ2LZ60G40wD0jwhxolpjQZUvJsnjA8IdlQYRggRf06T2WmklNFV04llODpEmifEuDGed8KKd/OE6cgJ5cjslkKUC6fJcBbImGYasDHvnB7D+TVKJUHDJCgt0xDfk2lJzROSaRCiLDiNJWYaYnZeLWVouI5nKYqSSNAwCYxHTygV7+YJ07rrNsaTwAghpi+Fwq7BrMBTGE0fHbeqkMoq4QJHggYxLgw/SMoqLaqdbkLDuuvKBistmQYhYi9fW8Z0hEEs558o4SwpU2OLcWFUDbIgpkGD1hAOmq2rEvHOqAghhigXrKRhrYY+zArdTSemfRo08du3MZCgYRIYBw0KlB3PK3Dta+NmGMkyCFE+VEKhDIOGOGYalNmcXADoIGY7NwYSNEwC7Zv2aSC+mYaceXAkU2ILUT6iTIPZumG/RsfsvFpSnwbJNIjxYNyjVsW3T4POaeP9lEyDEOVDuZhnGgbjl2lAYV7cSYIGMR5Mr8BVnDMNHsYdPiVoEKJ8KNu8j1KYJX5BAxhvcyWUxpegYRKU0jxRUipsGtG+eXueShLbmTyFEPuwzSvZxrLMcimbXAHHNQkaJkMlNE/42rg9z0pUwDdLiAqhbPOidGGO2GUaSuqDUQGpBgkaJkMJQUNc3xHtm7fnGRWCEULEgrJKyzTErSNkSRsc0+N3KSpgF6deKZ85Fdd3JMC8T4NkGoQoHyU1T0zspkwIaZ4YIa6nqHgx7VFbQi/d6Ub7WjINQlQipYw7cOuA2DVPEJpvcgW0TkjQMBlKGoYT0w+dDjAOjuI8k6cQYiRVSlG6GM7NUFqfhgnbjGlDgobJYDhdqlJATEdPEII2/HbFeSZPIcT+TJtVdRynjjZOMyBBgxgfpWQa4pre0iHmX66YjhARQhyA6Xe6lOPEdKEpLXAocxI0TIZS+jTE9R0p4WAQ12GlQojRldKBO3bZhlI6skvQIMZFBfRpKOkKQoIGIcpLKWeSmJValj4NI0nQMAmMP3QxzjTo0Hz8dWyHlQohRlfS1XjMzqwljZmfuM2YLuTwPRkqIb1VwlzycZ3+WwgxupKuxuN21qmEOjslqIBdnAZi1oQ3FtIRUogKVs7HOGmeGEGChslQCR866QgpROUq52NcJfRJK4EEDWJ8SKZBiMpVxrUMSirOF9c6OyWQoGESlNQRMqafOa3N9zOa/jumOyqE2F8pw8rjpoQ6DbHtk1YCCRomQzm39xWU0jxhVcaXS4hKUdKFUcyUlmmYsM2YNipgF6eBcm7vKzANGizkUydEuTG+Eo/hAa6Uir4VcGyrgF0Uk0FXRDpFCDEq47bJid2MCVEBzculkKBhMhifT1V80/byxRKicpV180QJF0QVcEatgF2cBirlIrxS9lMIMUSX0O4fxzOO9GkYoQJ2ceoZp+7jfBUuAYMQFUkX/zk0FcNjnC5l9EQFnFErYBenATmhDonZAUMIcQilTB0dxzOOFHcaIY5vYXmrgA9dReyjEJVC6/IOGkqae6L8D24lvYXXXXcdixcvpq6ujrq6Otra2vjtb39bXJ7JZFizZg1NTU3U1NSwatUqOjo6RvyNbdu2sXLlSqqqqmhubuZLX/oSvu+Pz95MV+WeaSglfTehGyKEmArGgyfieACQTMMIJQUNc+fO5bvf/S6bNm3i0Ucf5dxzz+W9730vTz/9NACf//znuf3227nllltYv349b7zxBh/4wAeKzw+CgJUrV5LL5XjwwQe58cYbueGGG7jqqqvGd6+mmzLuWVyyGLZpCiEOosTmibh9/aW400hOKStfeOGFI+5/5zvf4brrruOhhx5i7ty5/OxnP+MXv/gF5557LgDXX389xx9/PA899BBnnnkm99xzD8888wy/+93vaGlp4ZRTTuHb3/42X/nKV/jmN79JIpEYvz2bTso801BKRyghRJkp9zLLMjX2CGPexSAIuPnmm+nv76etrY1NmzbheR7Lly8vrnPccccxf/58NmzYAMCGDRs46aSTaGlpKa6zYsUKenp6itmK0WSzWXp6ekbcylEsv1B55VxGVghxYCVdNFiqrI8BxsfBGCs5aNi8eTM1NTUkk0k+9alPceutt7Jo0SLa29tJJBI0NDSMWL+lpYX29nYA2tvbRwQMheWFZQdy9dVXU19fX7zNmzev1M2eUsbprTL+Mg1XIbspRGUoYbK6OH75VSmz8gYTthnTRslBw5vf/GaeeOIJNm7cyGWXXcbFF1/MM888MxHbVnTllVfS3d1dvG3fvn1C/79xZ/hBKunDOa2U0HsaYnngEEKMgzh+90s4Luug/FMNJfVpAEgkEhxzzDEALFmyhEceeYR//Md/5KKLLiKXy9HV1TUi29DR0UFraysAra2tPPzwwyP+XmF0RWGd0SSTSZLJZKmbOi3oUqqllfxuTCNlfKUhhDgwpUpoWg2IXf8nZWN+3JJMw6GFYUg2m2XJkiW4rsu6deuKy7Zs2cK2bdtoa2sDoK2tjc2bN9PZ2VlcZ+3atdTV1bFo0aLD3ZTpKdTRzYCy43tG1aajZmWWSyHKi8L4O62DGE5tV8JxWVdA0FDSte2VV17JBRdcwPz58+nt7eUXv/gFv//977n77rupr6/nkksu4YorrqCxsZG6ujo+/elP09bWxplnngnA+eefz6JFi/joRz/K9773Pdrb2/na177GmjVrYptJOBRtOmU08e55a5qWi2MZWSHEQVjmx644nlSV6VlSx3P/SlVS0NDZ2clf/uVfsmPHDurr61m8eDF33303f/ZnfwbAD37wAyzLYtWqVWSzWVasWMGPfvSj4vNt2+aOO+7gsssuo62tjerqai6++GK+9a1vje9eTSdhCZ2E4to8oTFPy5VwgBFCxIBS5tnDUmoeTBOlHK8kaNjHz372s4MuT6VSXHvttVx77bUHXGfBggXceeedpfy38VZqpiGmV+GmXxZVUgOoEGK6U5h34tY+8evT4GB+XPZjtnNjINd8E0yHGEfXxmmwaUj6NAhRoRSohNlZVed07LINyjW/yAmzE7gh04QcvieY9rXx6IlSPpzTjc4Z9mlw4jy0VAgxGmXaJU1DmI3X1bhKGSZHNeiY7dtYSNAwwbSHeaYhrn1BNWjTCNuWoEGIcmOlzCo96hieWJWtwDVbN8yUWLMmhiRomGi++cgCyzDFNx2FkmkQomJZyTJO4Svz/dMeaMMh9nElQcME0755G16sMw05s1WVrcCJb3AkhNifShmuGMNMQ0l9NrzyH0EhQcME034JIwvinGkwPBAoaZ4QouyYNk+gIRyc8M0ZVwqwDIMi7VH2VSElaJhgpfRpsOKcaTBNOUrzhBBlx/SkGgUN8cs0GDdP+FoyDeLwlDR6IqaZBk0JmQZHxbeIlRBiVFZVCZmGzIRvzvhS5k3HUfNEzIKiEknQMMG0j3G6qhIyDcrJBw5CiLJhpQ2vxDWEAzE7qap884sBndNgWrMmpiRomGClRJ6qhB7I0415pkGaJ4QoN1YVJfRpKN+gIcyVUOgupiRomGDaM2/jMm4XnG40aMOUY5RpmNjNEUJMLiutzCotxzBoUCofFBnQOR2NmCtjEjRMsNI6QlZApsFVIJkGIcqKlS5x9ESczqulNE94kmkQh6mUcbvK8IM57YQl1GlI5ietEkKUDeWASpitG2Y0Ok5RgwWqyrRPgwQN4jBordGeNusIaYFy43lCDXPmI0TinE0RQhyAVcLVeNbwmDhdKPOm4zCnJWgQh8e0ZKpy49tBUGeJukUbiG2/DSHEASnLfARFmI1f1UTj0SG5/DB7w+NhHEnQMJFKmNEtzh0EddZ8kpY4jxARQhyApVBps1V1Nl4FkJRS0XB4k4u6sIRCdzElQcMEM69foKJ5GWIozGEcNJimMIUQMVJKZ8EssatloJLKOBMcuzoUJZKgYSLp/FSpBpRDbCslGmcaVIwLWAkhDkiV0KchzOnYVU20kubNxxI0iMNiPKrAjW/zROgZd2mIbalsIcRBlNBZUOcw7jg9Xaik+VDxYGBit2WqSdAwkUrKNMS3eQLPfFXTYVlCiBixzPsrxXEmSCtpfnyOW/GqUknQMJFKnpNhYjdnooReCR0h3YndFiHEFCih6VHn4tUREqKLHWmeiEjQMMFMR0/gENtKidqnhKAhptkUIcQBKWWeaQhLqJI7XVglNE9I0CDGTGvQpTRPxDTToEvJNEjzhBDlxyo10xCvE6uSjpBFEjRMMOPiTg6x7dOgTfs0KMk0CFGWSsg0lH2fBukIKcaslOJOMR49QVDC6Im47qMQ4iCUcX8l7cVx9ATSPJEnQcMEK6W4U2z7NJRwAFDyiROi7CiVvyAw+X6HxK5Pg3LNO3HL6Akxdjrf3m9A2fGde6KkA4B84oQoS8oxnB6baH6GWCmh4mWYI3ZBUSnkED7BjNv7HcCKaXu/xrwjpHzihChLysE8aCihtst0YTzZXmhe1C+O5BA+kbT5lyOaFntiN2eilNQTOq6BkRDioJRjfgyLY9CgTOfWCPLDSsuUBA0TSAfmJ1QrzqMKSogZJNMgRHkq6+YJzKfHJtToXPz2z5QcwieQaX8GiHn9ghK+H+X7VRKisknzREQH0jwhxkiXMGV0rOsXlNKBs4w7CAlRyTQYBw1xZNo8QYBkGsTYaL8y5mRQJfRTiFslOCFECcr46206ekKH8cykmJKgYQKVVCkxzlNG25hfYcSsEpwQQkBpoydCyTSIsdAelZFpsM1jhrjNbieEEGDeEVIHWvo0iLHRoXm2LraFnSD6FJl2gJKgQYjyVMrFdQwTq8ad1cN4jg4xJUHDRApLGD0R43fCOODRgPRpEELEkHE2WFPWzbAxPlVNfzrEPPqO8TuhEubjs8PMxG6LEGKKlPnxznSEmw7LO6Maw7cuRipkTgYrjXnQUOYzwAlRqXTOfLSYZTiN9nRilZBp0P6EbsqUivGpavoznS4aShu2ON1YKWX8SSr3GeCEqFRhCVNeq+TEbstEUI5kGkCCholVMZkGZVxzPhyc2G0RQkwNndPGxzwrhkPMS+nTIB0hxdiU0MYX546QVgqz5gktzRNClCOtSxhi7lBaFdlpQKGi7TY5zoVIR0gxNqapOiCWQ5AKrLQynr1SggYhypF5bQLlxnCIucpf2Jlst87PP1GmhzoJGiZShTRPqJQyzpT43Rpdrt8mISpVCGGmhBl943i8s5RxsBNNVliex7k4vnXxUUr2IMafL+WAXWuYaegv72ppQlQiHUbfbRMqCcqOYWpVmTcjl5RljhkJGiZQSf0U4vwhU2DPMG2ekBEUQpSdEII+w0xDlYp12XwjZXyIk6BhIpUwkVOch+goCxzToGFQS4EnIcqMDiDoNQwa0grlTPAGTTHT0WRxJEHDBCqls0+sp4xW4Mww+yiFgxotmQYhyksAQZdppsG8uqKYfiRomEil9BCOe/NEo/noCWmeEKK86EATdJt9r+0aZT75k5h2Dito+O53v4tSis997nPFxzKZDGvWrKGpqYmamhpWrVpFR0fHiOdt27aNlStXUlVVRXNzM1/60pfw/fKru6ks8zkZ4tw8gQKnwbxPQ9ArIyiEKCc6Y948YdfFt0+D8VGrjBMpYw4aHnnkEf7lX/6FxYsXj3j885//PLfffju33HIL69ev54033uADH/hAcXkQBKxcuZJcLseDDz7IjTfeyA033MBVV1019r2YppRdwmcnxkGDQmHXG149aPB2xDmtIoTYl7czNBsxYEVNmaqcG/3L3JiChr6+PlavXs1Pf/pTZsyYUXy8u7ubn/3sZ3z/+9/n3HPPZcmSJVx//fU8+OCDPPTQQwDcc889PPPMM9x0002ccsopXHDBBXz729/m2muvJZcrs7F4Jby65ZBpsKrMDgS5NyTLIEQ58dpDsyZWC5xZMQ4Y5NA1tqBhzZo1rFy5kuXLl494fNOmTXieN+Lx4447jvnz57NhwwYANmzYwEknnURLS0txnRUrVtDT08PTTz896v+XzWbp6ekZcYsDVdLoiXh/Gu0GhVVltm5uWyBfPiHKiNceGn2nlQVui3Sli7OSB77cfPPNPPbYYzzyyCP7LWtvbyeRSNDQ0DDi8ZaWFtrb24vrDA8YCssLy0Zz9dVX87d/+7elbuqUM50VjULd9hhzZljY1QrP4MiRaw/RGVCGQYYQYvrSoSb3mlnQgA1uS0wzDXKhA5SYadi+fTuf/exn+fnPf04qlZqobdrPlVdeSXd3d/G2ffv2Sfu/D4dKYp5piHntApVSxlcQ4UAUOAgh4i/sB2+XYSfIWoVdH9NMg9bGfc+MLxhjqKR3b9OmTXR2dnLaaafhOA6O47B+/XquueYaHMehpaWFXC5HV1fXiOd1dHTQ2toKQGtr636jKQr3C+vsK5lMUldXN+IWB1YJQYNp3fbpSilIHmleqyG3LSzbCV2EqCRBT4i/2+wiIDHXim1hJx0Y9j1T+U7wZdrZs6Sg4bzzzmPz5s088cQTxdvSpUtZvXp18XfXdVm3bl3xOVu2bGHbtm20tbUB0NbWxubNm+ns7Cyus3btWurq6li0aNE47db0oFxlXGM9zOrYn0STC80KU+gsZF8t42nghKgQWmv8vRrfMNOQmGvFb4ZL8oeqELPOnooxNPzHR0m7Vltby4knnjjiserqapqamoqPX3LJJVxxxRU0NjZSV1fHpz/9adra2jjzzDMBOP/881m0aBEf/ehH+d73vkd7eztf+9rXWLNmDclkcpx2a5pQ+SYKAzpL9MmMcXTqzrWwqqLmh0PJvhSic6Amr5VLCDEBsq+EZpPQKUjMs0srejdtaPN+Z1YMp/4uwbjHQz/4wQ+wLItVq1aRzWZZsWIFP/rRj4rLbdvmjjvu4LLLLqOtrY3q6mouvvhivvWtb433pkw9FdVZN+lBo3PRh9I0yJiO7DqFO9si+9Khw/HMCwHhgMZKxTdIEkLA4DNmDf1WFSTnxrdGQ5g1nMXTKu8+DYcdNPz+978fcT+VSnHttddy7bXXHvA5CxYs4M477zzc/3r6U2BXGzZP5PIjKOIcNNQqEkeYBQ1+lyb7SojTGNNOUUII9CBkXzALGuxahTsnvt9344n2LMq6THZ838GYsKrN1tNZjc7Fu41fuZA61jb7VIXQ/7gv5aSFiLHsqyG+4URVTpOFG+PCTqZz5igbrGR89/NQJGiYQEphXCWxmGmIMaUU6RNss7ryGgafDQh7J3yzhBATQIeawS2+8ZwT6UVx7c8QMZ2dV9nlPSGXBA0TSUUzupnQGW3cZjadJRfYODPM9jm7NYgKPUm2QYjY0R4MPB4YjyioOinGEQMQDhquaIFKSKZBjIWK2vFMhJn8CIqYs1JQtdisq0zYCwOPld/spkJUAn+vZvBps/4MzkyFe4RFnKd/DPpKaZ6Y4I2ZQhI0TCQL7HrToKE8Mg04UHWyYRMF0PugXxbBkhCVRGtN/8M+Qb/ZMSt5lI0704rziHKCbrMCVsopjJorTxI0TDC7VhkF1zobdbSJe6peKUXqzTZ2g+GMl9sDBp8OYr/fQlSScAD6NvpmZZUtqFpsx74mi2nfDeWaz/gbRxI0TCClFFa1Mu4YGBj2Qp7uEkdYpI4ya78M+6FnvYeWVgohYiP3SsDg02ZfWpWA6iVObOszFJgHDWClJ3hjppAEDRPMqjbvSWtainXas6D2bY7xp6vvIR9vh0xgJUQc6FDTvc4zqvwKkD7OJtEa71ON9swq3UJ+xFy8+3weVLzfyRiwa5Vx1UNvV3mcOBWK9CIHt9Vsv4NuTfddHtovk6BJiDKltSa3PaTvYcPUoA01Zzpl0TRhWkfHtGk2riRomGB2rUIZFvoom0yDArdFUX2qYcFRDT33e+ReL4+gSYiyFUL37zz8nYYFnRpUWTRNhL3abH4NwGmM974eigQNEyzKNJit6+8KTaapiAXlKOrOc42vMPxOzd7bc5JtEGIay20P6f6dZ3ycqjrFITHXivNISyCfaTAsvuc0lfdptbz3bhpQKWVcqyHo0YR9E7xBkyh1tE3VieaNe733+ww8JSMphJiOwoxmz3/lCPaYfT+tNNQvd8viLBP0akLD5gnJNIjDohS4zWYvc5gDb3f5pOhVCupXJIyzDUGXZvfPs1HgJHGDENOG1pqBJ3x61ptnGVLH2aTebKNinmbQWuPv1cb1ZMp9Er7y3rtpwnRmN53V5dOvgWjIac0ZTjSJlaGBpwP23ibNFEJMF1qD16HZdVMWbTrTowMNFySiCfviHTNACH6nWdOxShUK+sV9pw9MgoZJkDAMGsJc1K+hnNLzKgUz3p0wn8DFhz23Zul7xEeH5fM6CBFXOqvZ88ssmRfNs6BVJ9hl0QESQAfgdRqOnKhTWFXEuvLloUjQMAncVsvslfbBaw/NJoCJkerTHapOMxxJAYR9sPOnWbIvlVcAJUTcaF/TdWeO7rWe8XFJpaDh3QmsmondtkkTgtdptvN2fXlXgwQJGiaFVW0+B0XutbCsqiMWqmI2rUpgVZk/L/d6SPs1g+Re00jcIMTk06Gm9wE/apYwHG4IUL3UiWozlMnlti5czBlw6qyynncCJGiYFHa1wp1VQtBgOLQnLpSC1PE29eeX1pM683xI+w8GyW2TERVCTCYdavoe9On8SaakEV3OTEXjqhKaI2PA3x0al5C2G82H2MeVBA2TwKpWOLPMXmqvIyQcKL8TpHKh8YNJkkeW8JHTMPhUwI5/GCTzQih9HISYBNqPMgwd/5wprWO2ikZLpY+zyybLANGFnNHEXCrqv1ZO+z4aCRomgUpAYrZZgZMwFxVQKTdKKZyZipkfTZbc1pl5PuSNbw/Qu96XURVCTKAwo9l7R472Hw7iG9ZjKKg62WbGe12UXV4nzey2EG04m2difvwLWR2KBA2TQCkVfZhMXu0AMi+YfELjRylF9ekOM96bKHlCF69D037NIJ3/msXrlA6SQownrTVee0jHjzLs/Fm25CJzzkzFrI8njftuxYX2dZRpMLiOUzYk55X/KdW8S7s4LMkjLZTDoSNWDdmXA7SvUU55fQEBrISi8QMJsltD+jb4JRVxCvth7605Ms8FNK1OUnWyjXJVWQ9vEmIiaR0VLep/xGfXL7JkXy69lL2Vhqa/SEaFnMrsyxj0a7w3DEdO1CnsGeW1/6ORoGGSJObY2LUKP3vob2RuR0jQo8u2HKlVo2i+NIW/e4DMlhKbYjQMPhPw+t8NUH+uy4z3J0jko/tyO2AJMVG01hDC4JaomFrfBt+44uEIChrem4g6OZfh9y/o0eR2mB2jEvMsLLf8XoN9SdAwSVQSkgst/F2Hbnrw2qOypfYMXZYnQqUU7mxo+XSa9u8PRlc3JdKD0HWnR/9jPvUrEtSf6+I0g7LK7/USYrwUMgvZlwO6fuvRt9En6BpjU58Fdee6NK5KYCXK83vnd2qCvWavT3KhXVajRg5EgoZJopxoAqf+Rw4dNATdmuyrAcmjyrd9TClF+k02LX+dYsf3M8YpwBE0eDs0u27M0rveo+7PXOre4eLMUGXXGUuIsSpkFcJ+zcDTAd1rPQafDAh6DqNfkAU1b3Fo/mQSp758j1OZ5wOz5honaoKmAo47EjRMFisfiboY1WEYeDKg7hx34rdriqVPspnz5RQ7fpgh98oYR41oyG4N2fmvWbru9Kg/z6X2bCdqtlDSbCEqT6GjsPYg+1JA3yMBfQ96ZLeFMA7F42raHFrXpLAbyve7pUPNwFNmL5ZdFXV2r4RDjQQNk0QpReJIC7tO4e8+dOia2RKgM6DSk7BxU0gpRep4mzlfTtNxbYbBpw9j5EgI3mshu/49S9f/5Kg61aHu7dGEWXaDkuBBlD0dRE2b3o6QgSd8+h4J8N7IFycajwFHDtSf6zLzY0mcpvLNMAD4OzW5NwynAa+G5NwSh4TFlAQNkyhxhIXTZBY0+Ls12VdC0seX/wdRKUXqGJvZX0yx6/9l6X3AP7yqmCH4uzQ9az167/dILrSoOsWhts0hcYQdzbxnSQZCxJvWGu1BOKgJujSDzwUMPBmQfTkKFMLB8f3/rHQ0p0TTh5PYNeX93dFak90WEuw1y34mF9jlM9fGIUjQMImUC+lFNpnnD/1BDHo0g8/6pN5sVUznPneORevn0iQW5NjzX1nC3sP/mzoLmedCMlty7P2vHMmjbKpOim6pN9vRuPL8BZMEEWI6KtYk0UQB8e7ohJbbFpDdGpJ5MRgqPz9B5UucmYqmjyRp+DO3Ms4aOqqXEw6YrV612C77ok4FlfD2TytVJzns/bV36C93CAOPBzSsjEZeVAKlFCoNTR+MStHuuikbNVeMx4FQR+27mS0BmS0Be+8Au0aRXGiTPtEmdbSF22LhNFlY1RJAiKmjA03Yp/F7NEGPxt8TFRjKvRqSfTXA36PRGU2YZeJnxLWjE+KsS1Kkjs5fwFTAV0N70P+oWX8GlYLUm8o/I1wgQcMkUigSCyycmQp/56HPhIPPBgRdGqulAr6lwyhXUX1q1JFx7+05uu/2jIc9mdIZ8DMaf5dP/yM+ygWnUWE3WrizFMkFNokFFol5FnaNQiWiwlTKBWwpKCXMFUYv6ADwo1kTta/ROQgGNf5ujb8zxN8V4u3S+LtCgm5N0KcJejVhPxMfHIzCaVY0rEzQ8E634voEee0h2VfM+le5rdEFR6W8PhI0TCYFbrNF6miLvp0GQy/7dVSH4J1uxXwgi1S+NO3HktQsc9jzqxx9j/jj0vN7NNqLSlV7HQGZZ6E3/x8pJ5q5zmmycGYonAaF0xTdtxsUdo3Cqo1+2tUq+kYNvxhT+/zc9/GDbpTh43qfh/ddHuZPVF5+6F0+ja19DUH+ZBaARo+a4i4sVw5DTTl2dAPAUtGy/H4pd+gFUA4oK3qeclT+5yj7r0b8GOXOYTxuYrTX+mCvc2FZEM3XEGajnzqrCQcg6IuyBSN+DkTDHoM+HQUFXSFBf/5vTaOq6CoFtWe5NP6vBMmFlTcCSWvNwBOBcZ+Q5Pyor1qlkKBhkqkkpBc79D0cHPrqIYC+jT5173DLfhTFaJSKTj7pRTazv5ym7yGfvb/JRWOnJ2l6Du1HBV78zmH/oQLyJ83iCdGOToh2lYqaN5IKlQQrqbAKvycKzx06ySqb4jwc+52wCyf2wkk/GHa1GujosVw0NEznhl3Bevl1vPw6ISNOTLpw1tND/8/w/3P/FyF6jlKMPDEb/D7iZDMsgFJ2Pniwo2CieH/47/nXqXC/UHtDFV5HK+onpBh63r6Uxf5Hufzrud8++kCoh17rXP519ka+tjqrCTNRB0Tt5f+eJvqn8HtIFIiFTEmWYCxUCqqXOsy4MEF6UVSoqJKChQKdgf7HfeOZLauXOGVZ8v9AJGiYZEopqk9z2JXIojOHXn/wmQCvPSS5sHLazPallMKuhrpzHapPsen5g0/3b3Pktof7H/wng2YozTziQcZeXS8GxrZnJs8q39ds2lNgNyiqTrKjaa1PsLGrKucEOBqvM2TwKbOrEqsaqk6qrGOzBA1TwG2xSB1tG9UkCLqiJorEkZXTZnYgSimcRsWM97rUvd2h936Prrs8sq+OT8EaISqGA26zovZsl9qzXVLHWFHWp8KPMVpD38O+cbXM9HE2dmN516vYlwQNU8BKQ82ZDoPPGjRRAD3ro/kV7AoZB3xQKupQ6jQoGi5MUHdOgv5NPt3rcgw+GRAaZG+EqEgKnCZF+gSbmjNdqpfYUb0F6dhbpAc1fQ8ZXoFYUHWyg5Wa2G2abiRomALKUlQvcdjzXzmjdHbu1YCBJ31q2pyKvxIoynfOsuug9h0O1Wc4ZF8J6HvAp+8RH689ROemeiOFmFoqFQUKqaNtqs9wSC+ycWdZ0QRTcigZQeuoQFZ2q1nThF2rqF7qVEwdnQIJGqZI8kiL5FEWA48d+gMaDkLPeo+a0x0o/+koSlbo81B1QnRQnPGBBIObA/oe8Rh4IpqY57AqTAoRByrfMTQByXk2VSfbpI63SS60cZtVxZ3cShZCz+89wj6z1ZPHWCQXVFbTBEjQMHVsqHu7y8ATZk0U/Y/6ZF8NSR4tfRsORimFO0vhnKOofZuD360Z/JNP/58CMs8FZLdL/wdRRmxwZykScy2SC21Sb7JJHWvjNKniEFk5Xhya1pB7PaRvo3nTRN3b3OLIp0oiQcOUUVSd7JA4wiK3/dBRQ9gHXf+To/myVEXM2X64lIpqJrhNCvfcBLVvjarreZ2awad9BjYH5N4ICfbq8ZvMR4gJohJROtyqjfrzJOZapI6xSR5t4cywsKoVVhrJJoxVoOm51yPoNjsQuC2K9Ik2qgLbeCRomCJKRR+86qW2UdCAht4HfBreHZI6ugLD28Ok3EJRJkgfbzPjA1ElPq8jJPdaSHZrSHZbVMM/HMjXOPCYtHoQooJZFOtR4OQ/qw0Kd7ZFYraFOyeqUmrPiIoIOfWqouoCTAavU9OzzjOuqVF1skNijlWR/UIkaJhCylbUn5eg6y4PbVB9LOjWdN2Zo+WylBw0DpOyomYMd5ZF+gRdnAxI++DvCsm9HpLdHuK1h/h7NMFejb83xN+rR9bXkAyFGM3wr6cVjZiyqvIVRPM/7QaFXR8FAXZjvuJovtqoNayAVbFapjQzTAgdarrvyeF1mH2ZVRLqz3eLxcYqjQQNUywxz6JmiUPvA2Ztab0P+NS+LaBqsS0HkXFSqDxZuOJLzLVJzLWpPiNf4S8XVWvUnibMkZ9EKD8/QE/UvBH0aMIeTTAYVRQcUbXRZ6hcc74aY7FK40E3jKEJgqx8RUa78DjFyopYKrpvD60T3Y/mylD5q1flDP2OIl/xL3+/UF1xn/R24eoXiF6LQofS/LTMOn9lpn1d/J1gWMVFDToXLYsqLkb3CSHM5f9O4bUI8tUUCz/D/OufX178+8OqLI6ouKiHbcNweuhvFCp47vdS24UXPP9aW/v8LLzutspXsQSVUFgpsNIKK5VvHkipYlVQu05h1ymsGoXlDnuena966UavrXyPp47Wmty2kJ7fm3d0qjrFqehiexI0TDGVgvoVLv2P+UbTsAZ7NXv/O0f6zWlUhY0PnmxK5Q/0aSANxUu+2TBqDyidL+lcKDsc7BNAFIMGhk6MB/v/Cye4EUHC/kGEstTQiW34zxi0b2sdzX+BHgqqij9DPTKYKAQPhYACRr6mheeOJj9ZqipcvQ9XCL4Kd+1oxaHXkaFAzBoKvqQYUhkIoOu3Ht4Os3YJlYC6cxysqgnermlMgoYpppSi6lSH9Ak2/Y+YNaD3P+bTt8Gn9h1St2FaUUNXkcUHxEEVOqxC/sp75NLJ3hxRQbTWDD4T0PO7nHEzY3KhRc2yCpxAcJjKG2Q6DSkXZrw7gWU4KZXOwq7/yOLtkAZ1IYQYi7APdv9HlqDXbH2VgBkXJio6ywASNEwLSinSix2qFpsnfnKvhOz5zyxhVgIHIYQohQ403ety9P/JfHhU6li74rMMIEHDtGFVwYxV5tkGgJ57PXof9KN2YSGEEIektSazJWDPr3Lmhd5saLgwgVU3oZsWCyUFDd/85jdRSo24HXfcccXlmUyGNWvW0NTURE1NDatWraKjo2PE39i2bRsrV66kqqqK5uZmvvSlL+H7UqJPKUX6eJu6c1zjptxwAHbdkCH7UnjITnVCCCEg7IGdN2Txd5kfNKtPdahZKn3IYAyZhhNOOIEdO3YUbw888EBx2ec//3luv/12brnlFtavX88bb7zBBz7wgeLyIAhYuXIluVyOBx98kBtvvJEbbriBq666anz2JuaspGLG+xM4M80/mF67pvNfMvi7DauSCCFEhQozmt2/zDLwlHmzhFWraPzzBFatBAwwhqDBcRxaW1uLt5kzZwLQ3d3Nz372M77//e9z7rnnsmTJEq6//noefPBBHnroIQDuuecennnmGW666SZOOeUULrjgAr797W9z7bXXksvJlIQQ1W2Y8d5ENKTLhIaBJwN235Ql6NPSVCGEEPvSUS2R7ns89v6mhGYJBXXnOlSdaMv04XklBw0vvPACc+bM4aijjmL16tVs27YNgE2bNuF5HsuXLy+ue9xxxzF//nw2bNgAwIYNGzjppJNoaWkprrNixQp6enp4+umnD/h/ZrNZenp6RtzKloKGC1yqTi1hNKyGrrs9dv9HNqoRIIGDEEIUaTR9D/vs+vcsuoTr08Q8i8b3JStyYqoDKSloWLZsGTfccAN33XUX1113HVu3buWtb30rvb29tLe3k0gkaGhoGPGclpYW2tvbAWhvbx8RMBSWF5YdyNVXX019fX3xNm/evFI2O1aUUti1FjM/ksBuKiG0DWDv7Tn23JIr6UshhBDlTIeagccCOv8lYzwhFUTlopsuSuDOUdKXYZiSijtdcMEFxd8XL17MsmXLWLBgAb/61a9Ip0vo9l+iK6+8kiuuuKJ4v6enp6wDB4iG9zS+P8GuG7NDpXsPQWdg9y+zKBtmvDeBlZYPuhCiculQM/hUQPs1g6XVtVFQd55L7VtliOW+DmvIZUNDA29605t48cUXaW1tJZfL0dXVNWKdjo4OWltbAWhtbd1vNEXhfmGd0SSTSerq6kbcyp1yFDMuTFBzllNSYTydgV3/L8uu/5clGJA+DkKICqSjZtqBzQE7vp8puRBe8iiLmauTqKQEDPs6rKChr6+Pl156idmzZ7NkyRJc12XdunXF5Vu2bGHbtm20tbUB0NbWxubNm+ns7Cyus3btWurq6li0aNHhbEpZUimY9fEUqTeV9jZpH/b+JkfndRn8XVqGYwohKooONX0P+LR/fxDvjdJGltkzFLM+nsSZqaTz4yhKOht98YtfZP369bzyyis8+OCDvP/978e2bT784Q9TX1/PJZdcwhVXXMF9993Hpk2b+PjHP05bWxtnnnkmAOeffz6LFi3iox/9KH/605+4++67+drXvsaaNWtIJpMTsoNxppTCbVXMuiRV0jBMiGYj7L7H443vDpLZ4qMDiRyEEOUvHNR03ZGj/Z9KzzCoJDR9OEG11GQ4oJL6NLz22mt8+MMfZvfu3cyaNYuzzz6bhx56iFmzZgHwgx/8AMuyWLVqFdlslhUrVvCjH/2o+Hzbtrnjjju47LLLaGtro7q6mosvvphvfetb47tXZUQpRdVim1kfT9LxzxnCwRKerGFwc8DrfzfIzI8kqTvXjaY/li+DEKLMaK3x92h2/zxL913e0PTsplQ0t0TDOxMyV9pBKB3DRu+enh7q6+s59tZa7OrKeHdDT9N1h8euG0oMHPJUCmrf4tD0oSSJBTLmWAhRPrQfdXjceWOWwWeDaBr1UlhQ0+bQ+rkUTn1lzq4Q9GteeH8v3d3dB+03KFNjx4TlKhpWuoR9UUWzUodV6gz03OuTeSmk6c8T1LzFxaqSrIMQIr601vidmq7/ydF1l0fQNYZrYAVVp9i0XJbCrqvMgKEUEjTEiHKh8X8lCD3N3v/MlZ5+A3KvhrT/IEP1gz5NFyVJHWuBJcGDECI+tNboLPQ+4LHnv3JkXxp7Gf2qk21aP5vGmSUdH01I0BAjSilUGmZ+OImVVuy+OYseQ1OF9qHvjz6DzwQ0rHCpf1cCt0UCByHE9BcOagb+5LP3Do+BP/no7Bj/kIL0iVHA4LZKASdTEjTEkJVWNK6KijftvilDMMaq2sFeze5f5ejd4NNwQYLatzk4TfLlEUJML1pD2K/JvBCw99c5Bp7wCQcO4w9aULXYpvUzaan4WCIJGmJKuTDj3S52jWLnv2bw94yxP2sYNVl0/kuGnnUWDRcmqD3LxaoGZckXSQgxdXSoCXo1fQ/59K73GNgcjD2zUGBB7dkOzf87la/FIMe5UkjQEFNKKXCg7hyHxJwqOv8lw+BzAYx1LIyGzAshHf+UYe9vcjS8K0HtWxzsGfKlEkJMLu1pMi+H9D/i03Ofh9ceGpfTPxiVgBnvSdD0oQR2rSVDK8dAgoaYU7YidbzFnK+m2XVTlp713mFNWKU9yL4Y0nldhq47LOrOcalpc3BnWyhHOgoJIcaf1lGg4O/UDD7l07PeI/NSGI2GGKeiAM4sRdNFSerPd7FSciAbKwkayoBSCqcVWi5PkXqTze6bs1FzxWF82bQH2ZdDdr6cZe/tOWpOd6g71yV5tI2VApQEEEKIsdOhRnvgd2kGHvfpf8wn81yA1zF+gQIAFqTebNP8iSTpxbZkTg+TBA1lojCyouFCl/SJNrv+PUvfRh+Cw//bfqem606P7rUeqTfZ1J7lUL3UITEvSu/Jl1AIcVAadD4SCAcguzUg80LIwJ98Bp/2CfoYl2PVvqw01F+QoOnPE9LUOk4kaCgzylKkjraZfUWa7ntz7L01h9c+DpG7Bp2DwacCBp8NcP4rR+pYm5q3OKSPt3FbLCyZEU4IMYwONEFPVN45ty2k/wmfzLMB/h5N0KdLr9xoSDmQPsGm8c8TVJ3sYLlK+i+MEwkaypRdp5jxnugLs/e/cvQ+4B3eEKXhAvB3afp2+fQ95OPMUqSOsak62aH6VBtnloWVivpbCCHKn9YagujCIsxpvA5NZkvA4HMBudcCvDeiURDj2uwwGgVOs6Lx/QnqznVxGqTC43iToKGMKUuRPNKi5TMpas922P3L3Njqsh+Mjpov+jqjAEIlIHW0TfoEm9SbbFLH2rjNqjifqkIifiHiasRURSEEXZrcjpDcayG5bSHZrQHZbSHBXo0OmbBMwmjsOkXdOQ4N70mQOMJCOl1NDAkaypxSCpWA6mUOqeNteu/36bozR3ZrOP5f6DCa42Lw6YDBpwNUEuwahTvbIn28TerNNonZFk6Twq5XkokQYprTniboj7IEYW++mWF7SPbVgNy2EL9bE2ZAD+oxlbUfD3ajovZMh4YLEyTmWVgJOa5MJAkaKoRSCqde0fDuBDWnO/T83qPrzhzeTj0hHZAAdBb8rMbfHTD4VAAK7HqFO0vhNFskF1gkj7JJLrCwaxUqEQU4Mn23EBNLaw1+VFJe+1FwoHPg79F4O0O8zhBvR4jXqQm6NUFPSNCjoybO6TAvsg1Og6KmzaH+z1xSx9goV44Zk0GChgqjFDgtisY/T1D7DpeedR7d94xTZ8lD0VE6M+jS8EJI3x+JmipscJoUiRYLp9WKfjYr3JkWzkyF02Tlh3ky1LShCvsjBwpRmUY0FehRfmoIsxSzBEGvxu/WBF1hFAh0Fe5r/D0h/t5oCOR+f2s6sSE5z6L2HJe6t0X1Y2QE1+SSoKECKRX1K0i0Kpo+lKD+z1x67vXoWe+RfSWcsMzDqDTgg9+h8TsCeDLKSCgnn3FwouyDXauKAYTTZOE0KOw6FU3vnVJYSbBSCpVUUSfMpIqeb0//ctjFTmT516LQFqyDqHe5DomWh0Cg0QHRaBY//zPM/wzygV/hb4VDPwn2PwNow/dZ2aM8aKv87KgM9VfJH02Ule/DooaeW1iGU3iOQlnA8OVq6LnKiv6usqPHscq/LogOdf6qH7QfncCj24EfDweiUQhhb/Qz6NWEfeD3RBkCnYk+LzrIf8b8/Ps+md/xceA0KVLH2dS+1aH6VAe7Tpo3p4oEDRVO2Qq3WdF4UdTbeOBPPt33eGReDAj7p2ijNMUDY+Fyx9+lyW6F/Y52NlhJik0bVjLfxJFQUeBhR78XAomh4CJat3hycylesahE9KeVlX9cQzj8Cmz4pnrRwT7ayOiArP387/niNTosLBt2wA+idHCUHh4WHBR/5oODEY/l/69hgQQMO/kXqojng4dCMFH8fZ/X2LhPyyhBg8q/btGJvrCeGro/fFk+sFD5rFIxOBi+3B6+vhoWLAwFJsqOgkjsfEBpR+8xNlhO/gTiDgs4XBUlpJxhAY1LMciJ9iMKLkdjJdi/0+4BPgvR+z7yQe0Rve+5/Ps92om/+DnIP1b8/OihpoMRv49cNi2zAeNBgVUDiSMsat/qUn1qVBdGhnVPPQkaBBCdLN1ZirrlLrVvcxl8KqD3Dx59G338vRM3nvqwBVGxGAamc0415ka5Kh2epdCj/HZo8j6JfVigktHoq+rTHKpOjkZfqWS0WJogpgcJGsQQFQ2JVEmoOs0mvdim6S80fRt9+jZ4DD4XEPZN9UYKIcqGBW6zIrHApuoEm+rTo34KVnIoGyWmFwkaxKiUitK2VnM04qLuXBfv9ZCBzT59D/rRWOyeSeg8KYQoG8qN+ifZjYr0cTZVpzokF9q4TQqVkmxCHEjQIA5JKbCrFdaxNsljLRrenSD7UsDAUwEDj/sMPh8QDgJTNE5bCDENWVFfEiulSBxpkT7OJnW0TWK+RWKuVew7BOXfybWcSNAgjEVf7Kj5InW8Teo4mxnvTeDv1Qw86TP4VED21ZDcq8H4lawWQsSGXadwZysSR1gkF9okj7ZJLrSwq1WxE6pkE+JNggYxJoVhmyoZDd1MtCaoPy8/Oc1uzeCWgMHNPtlXw6g2Q09+DLgQItZUEqxqhV2jsBsUyXkWySNtEgssnEYVNT/UKHAkg1COJGgQ40bZCmeGwpkBqWNsGt7lEvaD1x6SeyMk+3JA9uUwCiR6wvzwM6bvyAwhKk2htoY9NFzZaVK4cywSsy3cfBl4p9HCnSnl4CuRBA1iwiilsGvAPsYmebRF7VlOVGPAB29nSO7VkOxrIV57iN8Z4u3U+LtCadoQYqLZ0bwwdl3+Vq+igmlNhUqsFm6TwplpoZJDtS+iGheSQahkEjSISaFUVJSnUJgnOd8mOd+mRgNBNOlNmNHorMbv0njtIV67xusI8Xfnq94NavSgJsyCzmnCHNL5cqwOULBJ54tB7SdmFQQrQr4omXLzxcxcsPI/VSIqZlZoQnDqo8DAboiaEJwGNVQ1tfC8BBVReVMcHgkaxJRSCnDyGYma6GiVOAI4YWgdrTU6A0G/JuyPJs0JM5owmy+j26sJu6OfQW++1v6AzgchEGaHSi8XKiFqrYfuF/+joZ+HGkmqiv/s+yDD5sjIH4D3fVwNPb9Y2TBBPqBSWC5RFUM3X9XyYL/bKlrXzlc9tMBy86WYC1UuEyPHuw8v/Txi821Grx4JQ9Umh71WOhc9onMUq1RqP3rxwlx+HT9fvrhQwrhwv1g9M38/XzlTe/mKl7lhf694f2huBD28ltdo8y5QWCd/Z/g+jfbmHug9H/73h7+Xw183Rn98xPtdOBMrDvw5cPKVStMKK6Ww0kQl0tPk7+crmlbl10vlA4XkUIXTQtVTlcpXQZWmAzHOJGgQ055SCpWODqbMHLmsOGnPaCeRYY+HhRr+hSDCo1iOF/InsOHlmA9xZV1o9x16IH/gV/lSx8NLUztqZDuxm7/vDDvXHOjYfqCTkem6hUXjfPk4YrKkUVco8fESlunCvBuFIGOfeTi0l1952PtYXC9fonzfv32gksyFoAYolqbe136fBRgZEBbLXuefv8/nQDkjn3fQ3/f572UkgphsEjSIWBtxBXcQtmuwkjB2yJPVBL7UCiAx4p4QYpKMkqQUQgghhNifBA1CCCGEMCJBgxBCCCGMSNAghBBCCCMSNAghhBDCiAQNQgghhDAiQYMQQgghjEjQIIQQQggjEjQIIYQQwogEDUIIIYQwIkGDEEIIIYxI0CCEEEIIIxI0CCGEEMKIBA1CCCGEMCJBgxBCCCGMSNAghBBCCCMSNAghhBDCiAQNQgghhDAiQYMQQgghjJQcNLz++ut85CMfoampiXQ6zUknncSjjz5aXK615qqrrmL27Nmk02mWL1/OCy+8MOJv7Nmzh9WrV1NXV0dDQwOXXHIJfX19h783QgghhJgwJQUNe/fu5ayzzsJ1XX7729/yzDPP8H//7/9lxowZxXW+973vcc011/DjH/+YjRs3Ul1dzYoVK8hkMsV1Vq9ezdNPP83atWu54447uP/++7n00kvHb6+EEEIIMe6U1lqbrvzVr36VP/7xj/zhD38YdbnWmjlz5vCFL3yBL37xiwB0d3fT0tLCDTfcwIc+9CGeffZZFi1axCOPPMLSpUsBuOuuu3jXu97Fa6+9xpw5cw65HT09PdTX13PsrbXY1cp084UQQggxiqBf88L7e+nu7qauru6A65WUafjNb37D0qVL+eAHP0hzczOnnnoqP/3pT4vLt27dSnt7O8uXLy8+Vl9fz7Jly9iwYQMAGzZsoKGhoRgwACxfvhzLsti4ceOo/282m6Wnp2fETQghhBCTq6Sg4eWXX+a6667j2GOP5e677+ayyy7jM5/5DDfeeCMA7e3tALS0tIx4XktLS3FZe3s7zc3NI5Y7jkNjY2NxnX1dffXV1NfXF2/z5s0rZbOFEEIIMQ5KChrCMOS0007j7//+7zn11FO59NJL+eQnP8mPf/zjido+AK688kq6u7uLt+3bt0/o/yeEEEKI/ZUUNMyePZtFixaNeOz4449n27ZtALS2tgLQ0dExYp2Ojo7istbWVjo7O0cs932fPXv2FNfZVzKZpK6ubsRNCCGEEJOrpKDhrLPOYsuWLSMee/7551mwYAEACxcupLW1lXXr1hWX9/T0sHHjRtra2gBoa2ujq6uLTZs2Fde59957CcOQZcuWjXlHhBBCCDGxnFJW/vznP89b3vIW/v7v/54///M/5+GHH+YnP/kJP/nJTwBQSvG5z32Ov/u7v+PYY49l4cKFfP3rX2fOnDm8733vA6LMxDvf+c5is4bneVx++eV86EMfMho5IYQQQoipUVLQcPrpp3Prrbdy5ZVX8q1vfYuFCxfywx/+kNWrVxfX+fKXv0x/fz+XXnopXV1dnH322dx1112kUqniOj//+c+5/PLLOe+887Asi1WrVnHNNdeM314JIYQQYtyVVKdhupA6DUIIIcT4mZA6DUIIIYSoXBI0CCGEEMKIBA1CCCGEMCJBgxBCCCGMSNAghBBCCCMlDbkUQgghRHwdaMCk6UDKWAYNhZ0LBmI3WlQIIYSYOlqjARQsn/VuzphxNgCDfYOs4UuHDB5iWafh5Zdf5uijj57qzRBCCCHKyvbt25k7d+4Bl8cy09DY2AjAtm3bqK+vn+KtmXg9PT3MmzeP7du3l/1kXbKv5Un2tTzJvpYPrTW9vb2HnM4hlkGDZUX9N+vr68vyzTuQSprhU/a1PMm+lifZ1/JgchEuoyeEEEIIYUSCBiGEEEIYiWXQkEwm+cY3vkEymZzqTZkUlbS/sq/lSfa1PMm+Vp5Yjp4QQgghxOSLZaZBCCGEEJNPggYhhBBCGJGgQQghhBBGJGgQQgghhBEJGoQQQghhJJZBw7XXXsuRRx5JKpVi2bJlPPzww1O9SSW7//77ufDCC5kzZw5KKW677bYRy7XWXHXVVcyePZt0Os3y5ct54YUXRqyzZ88eVq9eTV1dHQ0NDVxyySX09fVN4l6Yufrqqzn99NOpra2lubmZ973vfWzZsmXEOplMhjVr1tDU1ERNTQ2rVq2io6NjxDrbtm1j5cqVVFVV0dzczJe+9CV835/MXTmk6667jsWLFxerxrW1tfHb3/62uLxc9nNf3/3ud1FK8bnPfa74WDnt6ze/+U2UUiNuxx13XHF5Oe0rwOuvv85HPvIRmpqaSKfTnHTSSTz66KPF5eVyfDryyCP3e1+VUqxZswYov/d1XOiYufnmm3UikdD/9m//pp9++mn9yU9+Ujc0NOiOjo6p3rSS3Hnnnfr//J//o//7v/9bA/rWW28dsfy73/2urq+v17fddpv+05/+pN/znvfohQsX6sHBweI673znO/XJJ5+sH3roIf2HP/xBH3PMMfrDH/7wJO/Joa1YsUJff/31+qmnntJPPPGEfte73qXnz5+v+/r6iut86lOf0vPmzdPr1q3Tjz76qD7zzDP1W97yluJy3/f1iSeeqJcvX64ff/xxfeedd+qZM2fqK6+8cip26YB+85vf6P/5n//Rzz//vN6yZYv+m7/5G+26rn7qqae01uWzn8M9/PDD+sgjj9SLFy/Wn/3sZ4uPl9O+fuMb39AnnHCC3rFjR/G2c+fO4vJy2tc9e/boBQsW6I997GN648aN+uWXX9Z33323fvHFF4vrlMvxqbOzc8R7unbtWg3o++67T2tdXu/reIld0HDGGWfoNWvWFO8HQaDnzJmjr7766incqsOzb9AQhqFubW3V//AP/1B8rKurSyeTSf0f//EfWmutn3nmGQ3oRx55pLjOb3/7W62U0q+//vqkbftYdHZ2akCvX79eax3tm+u6+pZbbimu8+yzz2pAb9iwQWsdBVmWZen29vbiOtddd52uq6vT2Wx2cnegRDNmzND/+q//Wpb72dvbq4899li9du1a/fa3v70YNJTbvn7jG9/QJ5988qjLym1fv/KVr+izzz77gMvL+fj02c9+Vh999NE6DMOye1/HS6yaJ3K5HJs2bWL58uXFxyzLYvny5WzYsGEKt2x8bd26lfb29hH7WV9fz7Jly4r7uWHDBhoaGli6dGlxneXLl2NZFhs3bpz0bS5Fd3c3MDRb6aZNm/A8b8T+HnfcccyfP3/E/p500km0tLQU11mxYgU9PT08/fTTk7j15oIg4Oabb6a/v5+2tray3M81a9awcuXKEfsE5fmevvDCC8yZM4ejjjqK1atXs23bNqD89vU3v/kNS5cu5YMf/CDNzc2ceuqp/PSnPy0uL9fjUy6X46abbuITn/gESqmye1/HS6yChl27dhEEwYg3CKClpYX29vYp2qrxV9iXg+1ne3s7zc3NI5Y7jkNjY+O0fi3CMORzn/scZ511FieeeCIQ7UsikaChoWHEuvvu72ivR2HZdLJ582ZqampIJpN86lOf4tZbb2XRokVlt58333wzjz32GFdfffV+y8ptX5ctW8YNN9zAXXfdxXXXXcfWrVt561vfSm9vb9nt68svv8x1113Hsccey913381ll13GZz7zGW688UagfI9Pt912G11dXXzsYx8Dyu8zPF5iOTW2iK81a9bw1FNP8cADD0z1pkyYN7/5zTzxxBN0d3fzn//5n1x88cWsX79+qjdrXG3fvp3PfvazrF27llQqNdWbM+EuuOCC4u+LFy9m2bJlLFiwgF/96lek0+kp3LLxF4YhS5cu5e///u8BOPXUU3nqqaf48Y9/zMUXXzzFWzdxfvazn3HBBRcwZ86cqd6UaS1WmYaZM2di2/Z+vVc7OjpobW2doq0af4V9Odh+tra20tnZOWK57/vs2bNn2r4Wl19+OXfccQf33Xcfc+fOLT7e2tpKLpejq6trxPr77u9or0dh2XSSSCQ45phjWLJkCVdffTUnn3wy//iP/1hW+7lp0yY6Ozs57bTTcBwHx3FYv34911xzDY7j0NLSUjb7OpqGhgbe9KY38eKLL5bV+wowe/ZsFi1aNOKx448/vtgcU47Hp1dffZXf/e53/NVf/VXxsXJ7X8dLrIKGRCLBkiVLWLduXfGxMAxZt24dbW1tU7hl42vhwoW0traO2M+enh42btxY3M+2tja6urrYtGlTcZ17772XMAxZtmzZpG/zwWitufzyy7n11lu59957Wbhw4YjlS5YswXXdEfu7ZcsWtm3bNmJ/N2/ePOJAtHbtWurq6vY7wE03YRiSzWbLaj/PO+88Nm/ezBNPPFG8LV26lNWrVxd/L5d9HU1fXx8vvfQSs2fPLqv3FeCss87ab0j0888/z4IFC4DyOz4BXH/99TQ3N7Ny5criY+X2vo6bqe6JWaqbb75ZJ5NJfcMNN+hnnnlGX3rppbqhoWFE79U46O3t1Y8//rh+/PHHNaC///3v68cff1y/+uqrWutoSFNDQ4P+9a9/rZ988kn93ve+d9QhTaeeeqreuHGjfuCBB/Sxxx477YY0aa31ZZddpuvr6/Xvf//7EcObBgYGiut86lOf0vPnz9f33nuvfvTRR3VbW5tua2srLi8MbTr//PP1E088oe+66y49a9asaTe06atf/apev3693rp1q37yySf1V7/6Va2U0vfcc4/Wunz2czTDR09oXV77+oUvfEH//ve/11u3btV//OMf9fLly/XMmTN1Z2en1rq89vXhhx/WjuPo73znO/qFF17QP//5z3VVVZW+6aabiuuU0/EpCAI9f/58/ZWvfGW/ZeX0vo6X2AUNWmv9T//0T3r+/Pk6kUjoM844Qz/00ENTvUklu++++zSw3+3iiy/WWkfDmr7+9a/rlpYWnUwm9Xnnnae3bNky4m/s3r1bf/jDH9Y1NTW6rq5Of/zjH9e9vb1TsDcHN9p+Avr6668vrjM4OKj/+q//Ws+YMUNXVVXp97///XrHjh0j/s4rr7yiL7jgAp1Op/XMmTP1F77wBe153iTvzcF94hOf0AsWLNCJRELPmjVLn3feecWAQevy2c/R7Bs0lNO+XnTRRXr27Nk6kUjoI444Ql900UUj6haU075qrfXtt9+uTzzxRJ1MJvVxxx2nf/KTn4xYXk7Hp7vvvlsD+22/1uX3vo4HpbXWU5LiEEIIIUSsxKpPgxBCCCGmjgQNQgghhDAiQYMQQgghjEjQIIQQQggjEjQIIYQQwogEDUIIIYQwIkGDEEIIIYxI0CCEEEIIIxI0CCGEEMKIBA1CCCGEMCJBgxBCCCGM/H+vtQs5y+dhmgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nombre_imagen = \"EX2_pista_6.png\"\n", "\n", "# Cargamos la imagen en una variable\n", "\n", "img = cv2.imread(nombre_imagen)\n", "\n", "# Mostramos la imagen\n", "plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Random seed set to: 118642\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "2b570ed3a09b4086963046745ef355a7", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HTML(value='')" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "47152daacf174cfb80fce7e684fe31a8", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HTML(value='')" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7cc63eefab0c4b14b4b74bf0cc158d7a", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HTML(value='')" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "58b790cdd0944f68a3339c9df1ff72f6", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Image(value=b'\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x00x\\x00\\x00\\x002\\x08\\x06\\x00\\x00\\x00\\x97\\xa7\\x1f\\xd…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "bb7d0b15d7c64f97be05f77631bc3dc1", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Image(value=b'\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\\x01\\x00\\x00\\x01\\x00\\x01\\x00\\x00\\xff\\xdb\\x00C\\x00\\x08\\x06\\x0…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "world = bots.World(220, 180, boundary_wall_color=\"yellow\", ground_image_filename=nombre_imagen)\n", "\n", "ancho_camara = 120\n", "alto_camara = 50\n", "robot = bots.Scribbler(x=36, y=80, a=90)\n", "robot.add_device(bots.GroundCamera(width=ancho_camara, height=alto_camara))\n", "\n", "world.add_robot(robot)\n", "\n", "robot['ground-camera'].watch()\n", "world.watch()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using random seed: 118642\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "83bf885c7eb44be18c200185482d0b50", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/600 [00:00