{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# NYC measles cases by vaccination status (2018 - 2019)\n", "\n", "* This Jupyter/Python notebook creates a bar chart of the 2018-2019 NYC measles outbreak cases by MMR vaccination status.\n", "* This notebook is part of the [Visualizing the 2019 Measles Outbreak](https://carlos-afonso.github.io/measles/) open-source GitHub project.\n", "* [Carlos Afonso](https://www.linkedin.com/in/carlos-afonso-w/), November 6, 2019." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from datetime import datetime\n", "import matplotlib.pyplot as plt\n", "import os\n", "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Read and show the data\n", "\n", "The data was manually collected from the [NYC Health Measles webpage](https://www1.nyc.gov/site/doh/health/health-topics/measles.page) and saved as a CSV file. This manual approach was used because the data is small." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Start DateEnd DateUnvaccinatedOne Prior MMRTwo Prior MMRUnknown MMRTotal
02018-09-012019-08-19477473194649
\n", "
" ], "text/plain": [ " Start Date End Date Unvaccinated One Prior MMR Two Prior MMR \\\n", "0 2018-09-01 2019-08-19 477 47 31 \n", "\n", " Unknown MMR Total \n", "0 94 649 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Set (relative) path to the CSV data file\n", "data_file = os.path.join('..', 'data', 'nyc-health', 'final', 'nyc-measles-cases-by-vaccination-status.csv')\n", "\n", "# Import data from the CSV file as a pandas dataframe\n", "df = pd.read_csv(data_file)\n", "\n", "# Show the data\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Extract context information" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to show the start and end dates in the plot, to provide context. We use just the month information for consistency across the other data visualizations, especially the \"NYC new case by month\"." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Sep 2018', 'Aug 2019']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Notes about the lambda function below:\n", "# - 1. strptime transforms the raw date string to a datetime object\n", "# - 2. strftime transforms the datetime object to a nicelly formatted date string\n", "[start_month, end_month] = map(\n", " lambda x: datetime.strptime(x, '%Y-%m-%d').strftime('%b %Y'),\n", " df.iloc[0, :2]\n", ")\n", "\n", "# Show the nicelly formated date strings\n", "[start_month, end_month]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We also want to show the total number of cases in the plot, to provide context." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "649" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the number of total cases (last row, last column)\n", "total_cases = df.iloc[0, -1]\n", "\n", "# Check if there is a problem with the data where the reported total\n", "# does not match the sum of the number of cases for each age group\n", "if total_cases != df.iloc[0, 2:-1].sum():\n", " print('WARNING: cases for each age group do NOT add up to the reported total!')\n", "\n", "# Show the total cases\n", "total_cases" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Extract the data to plot" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Unvaccinated 477\n", "One Prior MMR 47\n", "Two Prior MMR 31\n", "Unknown MMR 94\n", "Name: 0, dtype: object" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract the data to plot\n", "data_to_plot = df.iloc[0, 2:-1]\n", "\n", "# Show the data to plot\n", "data_to_plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create default bar chart" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig_default = plt.figure()\n", "ax = data_to_plot.plot.bar()\n", "plt.title('NYC measles cases by MMR vaccination status')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Save default bar chart" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Set image file path/name (without file extension)\n", "img_file = os.path.join('..', 'images', 'nyc-measles-cases-by-vaccination-status-bar-chart-default')\n", "\n", "# Save as PNG image\n", "fig_default.savefig(img_file + '.png', bbox_inches='tight', dpi=200)\n", "\n", "# Save as SVG image\n", "fig_default.savefig(img_file + '.svg', bbox_inches='tight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create improved bar chart\n", "\n", "We want the bar chart to be clear and to contain the necessary context.\n", "\n", "To contextualize the bar chart we:\n", "* use a title that explictly says what the bar chart represents;\n", "* add text annotations that provides information about:\n", " * the start and end dates, \n", " * the total number of cases during that period, and\n", " * the data and image sources.\n", "\n", "To make the bar chart as clear as possible we:\n", "* use an horizontal bar chart because it is easier to read than a vertical one;\n", "* explicitly show the number and percentage of cases for each vaccination status category;\n", "* use a large enough font to make all labels easy to read;\n", "* remove unnecessary elements (x-axis ticks and values, y-axis ticks, and plot box)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAisAAAFeCAYAAABEqV/HAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdedxtY/3/8dfbPMtQZCaNIiUhY5pEhBJ+EZolGhBFOkKTaDBkyqwB5SBTxDHPRJm+pmOeyzzz+f3xuZZ7nX3Wnu5z3+fsw/v5eNyPfe+1rnWta6+991qfdU1bEYGZmZnZoJpmShfAzMzMrBMHK2ZmZjbQHKyYmZnZQHOwYmZmZgPNwYqZmZkNNAcrZmb2uiZJU7oMI22kXtPUcmwcrPRI0paSQtJTkhbrkvZlSVH+n0HSDWXb43vYz84l7V2S5mhY/25Jv5J0naT/SXpe0v9J+r2kdw339b1eSBpTjt+uU7osb2SSxpf3YaHJuM/qOxqSHpDU8fwm6XO19EfWli9WWx6S3tMln7dU33lJ41vWjWvJq/73iqQnJV0vaa+m7/vrSe1YrDKZ9/tx4IyWZWuUspwzOcsyEiRNK2kbYN8RyGuiYzOoHKz0bzbg0F4TR8SLwFbAK8BGktZvl1bSO4AfAwF8KSKerK2bVtIewH+A7YGZgUuAc4FZgG8A10vatO9XZPb6Mz/Q7aL4+R7z+lwP66ftkuZS4LiWv78CNwJLAT8ELpQ0W49lsh5IWgD4B/B6upHbGNgfmGtSMpnajo2DleH5mKSv9Jo4Iq4Afl2eHiBpztY0pSruMGAm4ICI+GdLkgOBXYE7gDUj4h0RsU5ErA0sBmxHnjCPlvTJfl+Q2evI4+WxbZAhaVZgHeDFDvk8Sd44dAtWNu6SD8AhEbFZy9/nI2JFYBnggfL47S75TM2+CLwbuHoy7rPdNe6KUpatJmNZRspIXbenquv/VFXYAXFvedynzyru3YBbgQWAXzWs3wZYFbgN2Km+QtI6wNfIE9rqEXFefX1EvBwR+wFjgOmAn/dRLrPXm7OA54ENO7THr0vWSJ7ZIZ9HyNrLpUut50TK3ekqXfLpKCJuAPYsT9cZbj6DLiLujoibI+K5ASjLs6Us90zpslhvHKz07yxgLDAHcHCvG5Uv6JfIO7WvSFqzWidpEeBnZFPRFyPi2ZbNv1ce94qI+zvs5jfANcC1kubuVqbSZnuZpHklHSzpQUnPSLq8tGUiaWlJp0l6QtJDkv4qadGGvKaTtI2kq0oeT0o6X9KGbfY9t6Q9JF1b0r4g6V5Jx0h6Z0P6lSSdLOnukvYeSUd360/Qksf/k3Rh2d8zkq6Q9JWmC9pI7K/ks7ykP0u6r+zzhtKvZvaWdNNJ+npp139M0kuSHpV0ZlNNmaQFJR0m6RZlv6VHJZ0hae025XhXObb3l9czXtLvJL2lIe2bJO1byvqssm/UOEmb9fPai9kl/bZ8tp4tn60J8pG0f/ks/qhN2b9T1v+4x30+TbbDLwis1CbNxsAzwGld8qr6mbWrXdmIPI/+pceytXNXeez4vS3NwfeX4zHR97Ckubqsf39t2YckHafsC/eCpKeV/d52kTRTQx4zStqhfD+fVvYBOkMN/U16TauGPiu1ZXNK2lHSTeXzfJ+kAyTN27C/ns4dksYAVTCyaNnPuLKubZ8VSR+WdJKkRyS9WL4rB6rh5rTkcZWkuUp57yvlv0nS9yVN1/QeNZG0uaQLyn6fLXn8QtI89eMFHFOeblH2P2aEj03V9+uwhjIupOa+WSN5zmgWEf7r4Q/Ykgw0DiPbw/9bnn+xIe3LeWgb8/ld2e4mYPqy7O9l2c8b0r+FDGJeBeYd4dcUwM1kbc7/yCDsmrL8JeDL5An9NuBvwN1l3V3ATLV8picvDlGOyxnkneZzZdleLfudj2zOCrK26W8l/WNl2ePAwrX0KwLPluNwPnAC2XcngKeA99bSjinLd23Z52Fl+dPAP4FTgCfKsmMBDWd/XY7v5mTzQJB9Fv5KniACuKw6hoBqn4FHyAvo2NoxehX4TC3feYD/K+uuK+W7oKQLYKuWcnyivI8B/As4sbzvUd7TJWppZyJrE6Ls46/A2bXXMabH1z6eoc/5i2SQfzpZ4xHAL2tpP1Dtr01e15TXtngf39FNyv/7NqSbg/xs/hHYrKQ7srZ+sbLsNrIm9FXgmjb7vISsbV24bDO+Zf24snzLLmU/oKQ7sYdju09Ju2PDureXdTfUlm1aPsuvlM/JCaXc1eflbw3H54qy7lHgJLJvXHUe+uww01bHYpWGZSeVbS4q/1ffzauGe+4ANizrq+/9scAuZd0aZfk5Lfl/s5Sj+s6eUPZTfTc/0HAOvYXse/QU+Tn/B+UaAPyqx+/LdiX9k+T35G/AfQx9h6pzxS7AxWX57eU1bTjCx2bLsvywhnIuRMvnnBE6Z3Q9RiORyRvhr/UNBLZg6OI8f0vaTsHKrLUP1PbAZ8v/1wMzNKRfpay/YxReUzB0AZu7LBN5MavWHQBMW9bNVr6YAaxfy2ePsuwfVT5l+WLkCT+AT9SWVyfmfZkwSJidPFlF9cUpy/9Zln2spfy/YOILzRhaghUy6ArgWiYMguYlg4YAvjac/XU4tguXk8ALwFq15TMxFNjtVJZtVJ5fDMxcSzsN2dcpgLNry39Ulu3Zss+1mfhE8ubyGX0J2KC2XOSJL4BLass3L8uOaXlv3k8GGs/Wy9jh9Y9n6AT5gdrypciTfgAr1Zb/qyxboSWf95bl5/XzHS2f1WeBuxrSVa/xM3QJVsrzC8vzJVryWYS8IP+ahpN4STOONsEK2Un+XWSz7avlPfpQD6/z/TRcyFs+GzuX5zOSF6vnW/Mmg/LqgrJgbXl1Q3UaMFtt+cdKGf8HzDiMtNWxaApWHq+/92SQ+FBZt+oknDvavS9r0BKslOP6ChnYf6y2fBqGBj6Mr15PWVedJ68GFqgt/zhDwcesXd7PGcs+H6V2LSnLL2j9/NDwmR3hY7Ml/QUrI3LO6PbnZqBhioijyAh4LuD3fWz3DFB1zv0x2XTzErBF5MihVm8tjw8Nv7Rd7RIR/y3lC4aqvp8mL6ivlHVPM9Q2vyRkFTCwLfmh3LzKp6Qfz1CHwe1r+3u05DOm7K9K/xTwp/J0kVr66hi0ti//grwjObzL69uxPG4RtTbqiHiUDGRayzep+4PsTDgrsF9EvNafISKeL/u6g7wTguwYfQp5gXmulvZV8sILPRyPiDidHBW2g4aG7X6Z/IzuFxEn1dJGROwFXAmsJKlqLqnyvrflvbmWbMb8Ev01H/8yIq6p5XMDGVACbF1Ld0R5bK023qI8HtnHPqvP6hnAIpI+1LJ6Y/LOvdd+Ju2agj5PBn1/7iGPI9QydJk8id9E9lG7nwwmr+iWUXkvbgCWk/S2ltVVjdIfy/P5yeOwd2veEXEZWTMH5fNVvs9bkUH2FuU4VunPAY4m79rf2U/abq8J2D8iLq9tfz9ZwwJQf//6PXf0Yzvys71nKX+V96sRsTsZWC1K8yiynaLWRB8RZ5M3drPTfbTNnGT/qWfJwLLK4wXy/Pk18qaqm9E8Np2M9Dmj2aRGO2+UPxqiTTLKrKorN64tb1uzUktzMENR+Y86pNuANndRI/Caqv3P07L8I2X5tQ3b7E6t5oLsExDA1W32MRMZjD1DqaFpk+7NwEfJE38AR9TWHVSW3U/27VkFmK5NPmNayvfW8vyxDvu+t6SZv9/9dcjz7JLH6sN8b2YlT9K7lXzurK2rLkjPkcPoP0PtrrYln7NK2nXbrN+TCe/EVyzPXyZPcJtQqy3ro/zjSz4TNd2QJ/zW1zQPedF7hKHm0WnJqvCn6HJ3WtJP8B0lg5Jgwianucp+jizPe6lZeSt5x31Fy/6urF4D3WtWLiGr2o8lay6rqvm7gU8P4/O1U9n+h7Vly5Rl47psOy15s7EpcGf9cwqsTO81WT2nbTkWTTUrE30+Gfou79Yl307njn5qVm4vy97WZj9fr3++yrLqHDp7h9e7Wg/H5iaGan93AN7TIW1jzcoIHpstW19np20YoXNGtz/XrEyCiLiXobv2/SS9uY/N9679/7MO6R4oj/3k3Y8gq2pbl0Etym9YV1m4PH6g9c6x3D0+R45QmoVa50FJb5P0a2Un1yeAh4FzGLprqXd63YlsB38rsDNZLf+opD9K+miX11eVb+6m8pUyLtiSdlL2V2lXO9OodFDbSdJ5kh4ka7UuZ6gW4rXjERF/JpseZiRr6cYC/5V0tqStWjr1Va/plDavfZd6usi77R3IZolNyJPPI5IulrSdpFl6fP2QF/im11+NqFug9poeA04lm+bWKos/XtKcGFkj2a+/k5+/z9aWbQDMQG+1IVXZHiCb6JZXdoZH0uLAB+m9Y2196PLnyDvcU8jjvgd5B96P48j3aOPasmqOpWPqCZXWlXSipP8jj8mtZO3LolWy8tjP57avz3gXjzcse7k8TnCd6vPc0Y/q8zi+zfo7y+P8Lctfjay9aNVY/jY2KfkvS14bblB2hv6tGgYctDOKx6atET5ntNVzT2VrFhGHSPo8Gb3uR75Zvag+yETEyx3S3UDeCS4iab6I6NgcJOnrZE3GGeUk282rkc0Nw1VNhnUneffYSUCOyiGriKclT5pnkB3UriRP3hOMsoqIJ4CPSlqBvNh8jGwP3RTYVNLeEfH9LuV7mKzt6OSpEdhfpZ9RAO8lg6M3k819V5LH41ry+FzVuk1EfE/SfmTTxCfJu9yPlb8vSfpoZLNi9fpPJgOgdqrmACJiH0nHkRf5tYDVgQ+Xv29K+nDUmvs6eLnLZ/ullueHl31+gQxcqiahI3vY10Qi4hlJpwOflfSByOaoz5NBeL8zlx5PTi3wObJPQBUkDGsUUCnbJmRfh2WB4yV9Isqtag/b3yvpfOAjkt4ZEbeUMj1P1twAOXqIDGY/TfZPuYr8rP2H7MewD7BmLet+rgkjef3o6XX3e+7oU7cLefVdeqFleU9l7yQiritByVrksPqPAkuQTVNbS9ooIk7ulMcoH5tK4+SHI3jOaG+kq2per390rhpbnLwQBLA+vTUDLVbSd0xX0p5e0m7dJd1MDDVLbdhDvkFeUFqXr0FLFWlt3RgmbGZpm7bNPmcjO529AHyqYf229FDFSd6Bb1+O9SuUDoIN5auO822T+P437q9D+nF0qAIma0TWI0+Q55W0u1ProFbSLU1DVW2b934DhjolbtJSjlV6eZ1t8p6OrOWoOlfv3MM240vaiaqDgbeVdTe3LK83+8xO3m3f0XpMOuxzou8oGZwEsBfZ1PQScHBtfddmoLJs/vK+X1yeXwPcUlvfdwfbsv6DDI0c2bbP92Wr6rNONhkGcEJLmi3K8iuB+RryuLqsX6M8X6M8P7fNPpcteS7ZT9p2n8VOn8/yuoIymoRhnDs6vC9V2evNQNXAhyXbvJ5tyvoDa8saz6Fl3Tn1YzuM792SZAA/wXelzWd2JI/NF1vT1ta9r2mbhnR9nzO6/bkZaARExJ3AD8rT3zPyVW37lMcfd2lq+hE5lPBusgp8criSrFZevqlsynlablPOzyLgPeSF6JqIaPpNik+Ux2nK9nNIulLSdfVEEfFoROxD1j5Mw1BTDi3pxpPV1ItLendD+d4i6WZJ50iabVL3V3NxefxUwz4XJfua/Czym71CWfXT8rxuguNRtj9GORdD1cRDRDwf2YH26LKo6kh3QXlsN//KEeX1rlee/0I5T8Zrc2FETjp4Njnyo553Lz7esKxqlhlXXxjZkfto8sS7F9nx8KiGY9KPv5MdFz9L9u2ZjmHUhkTEg2Rz4EqSViVr2iZ1bhUi4ipy6nSAPSW9tVP6FieS3711GTqmx7SkqT5bh0VLrayk+clgGIY+X1eTF7wVJb2pYZ/fJmu63t9n2pHQ17mj6OezU31XNmqzvmpKGddHnl1JWlU5p8pB9eURcRsZZMCE37mm1zSSx6aqgW1t7oLsnzKBUThnNHKwMnL2J6tV52eEj2vk1PvHkaNHLpW0cn29pOkl7UT+vkgA34rmkUUjLrIvwWFkkHS0JpzAaB5ylMfbgLvLRadq336vpCVqaaeVtAtZXQ1ZU0Dk7yMJWEbSdvV9S1qGHAr7NNlBrZ3fkO/JMVWfg7L9LKV87wSeioinR2h/AH8gT+TbSVqtlsfM5BBDyM6WMHRM1mvZ3zoM9VmpT9z1EFnT80tJM9TSz8lQUHJleTyEvFhvL2mDlvy3JO98lyb7x1RlmR/YS7XfqVGO/Kgm+LuS3u3T8j6vSN4xv8zQRbruiPJY3cUe1ce+JhI5weLp5Hu8I3nsxg0zuxPIz8Yh5XnP/V662I3smzYHQzcmXUX2kzgFWJ68236MiX+UrvpsrVOahIDXZt49kZwjCYa+b0+RAePMwKGqTRinnMjytf30k7bX19RFX+eO4vnyOHu5WepkP7L2bFfV+qaVPj+7AauRc0yN9I3gf8hz5BfL96Ou6odU/85Vr6n+sy0jeWz+XR4/IqkKZinNVE0TN470OaPZpFbNvFH+6NAMVEvzdvLC0LV5hz6agUr66cmLW5S/m8mhfaeQ/TGCvMvaqpf8Sp6T3AxUls3C0Dj+x8n5Vk5j6LdVLqU2moOhnunVDKJjyZE3QfbRCeCCWvoPMTTB3H/Ik+y5ZJV+UGsea1O+aRiaO+YZ8mJ1cu243Uqtiryf/XU5vl9iaDKu88v7VU30NI4yAoQcbhxkB7ULyv6q43B3OY4vMTRfxdwMzV9zX3ktpzE0UeGfW8qxEUPzafybnLTpuvL8FWCjWtoZy/sV5FDI00r+D1TvCw3zATW89vFln1eT34lTy+eiOobbdNi2+iydNxLfUYbmsQlyCHd9XU/NQGX5fAxNGPbvlnXDagaqpdu0VsY1+3jN69S2O7Bh/YIMjTy6vfZZfoEMGKvJAb9U22ZOhua9ub9sU006+DLwyWGmrY7FsJqBhnnuUO31Xwz8ptM5jqzJqCbLu4Tsq1RNwPgwE89V03gOLet6bgZiaFK4amK8Exhqonsa+GAt7TK1tKdQ5ogaqWNT1p3C0DWl+u6+SAaejzDhaKAROWd0PUaTmsEb5Y8egpWSbgdGIVipbbduOSHcTZ5wniNPOPvRZshdh7xGJFgpy2cEvlu+YM+QfWeuIft5zNKSdpaSz82l/PeXL8s25EiNahKzeWvbLE9eZB8s6x4l75hbJ25rV75pyDb+i8mL/9PkhXsPYK6G19nT/no4xquUL/tj5ct+K9k3ZeaWdJuRnR+fLK//X+S8LnOXL34w4Sy2byV/3PKO8jl4ipyL4evANA3lWJYc/fFASX9X+Rwt15B2TnKispvJu69nSnl2ojYhVpfXPb5sOzfZ7v4YGbRcQO0C1mbbavK9LUbiO1o+b1WfspUbjntPwUpZd15Zt0vL8kkKVkraajLCm+jx5E42a1VB94fbpHk3OVvp/eU9uLV8tldkaGqEk1q2mY2cB+qm8j4+UT7/E+2j17SMTLAynHPH2iX9C8DtZdkatD/HrUperB8tr+dWslP1Ag1pRyRYKek3KcfjcfJccS/ZjPb2hrQ7k9/l58mm0hE7NrW89mTo/HJHeY9nIM+JrZ/zST5ndPtT2ZGZ2RRXqqP/j/yZibfGxL+TZWZvQO6zYmZTnKSZlbPu7kqOgjjSgYqZVVyzYmZTnKT7yKHFM5KTFC4Vvc0TZGZvAK5ZMbNBcDHl143JeSIcqJjZa1yzYmZmZgPNNStmZmY20BysmJmZ2UBzsGJmZmYDzcGKmZmZDTQHK2ZmZjbQHKyYmZnZQHOwYmZmZgPNwYqZmZkNNAcrZmZmNtAcrJiZmdlAc7BiZmZmA83BipmZmQ00BytmZmY20Kab0gWwqYi07pQugpnZZBdx6pQuwhuda1bMzMxsoDlYMTMzs4HmYMXMzMwGmoMVMzMzG2gOVszMzGygOVgxMzOzgeZgxczMzAaagxUzMzMbaA5WzMzMbKA5WDEzM7OB5mDFzMzMBpqDFTMzsxEkaRlJL0oaU1u2mKTo8rdGSdst3ZY9lGEaSVdJ+n/l+fguedbLOp+kIyTdJ+kpSWdJ+mDDPr4h6SFJD0raXdI0LevnlfS0pNUbtl1F0t2SZu3lmPqHDM3MzEaIpOmAI4HpW1Y9AmzesMnMwH7Aw8B1ZVlTOgH7AjMA5/dQlK1L2j+V598BZmtItyvwNuDMUv5ZgHOBhYBfA4+VvC6UtGJEXFfSvRM4EDgCGA/8CLgDOKqW907A5RExUXkj4iJJNwA/Br7f7cWMerAi6UhgC2DxiBjfsH4N4Dxg94gYM9rlGU2SxgGLRcRio7iP2YGZIuKREcrvSGCLiNBI5Gdm9gb3A2Cp1oUR8QxwbOtySb8hA5svRMT/StqmdN8B5i3p7uxUAElzAHsBW0dElDzHNqT7DPBOYJeIuKws/jLwHmDtiDijpPsLcDvwQ2Djku7zwAPAVyPiVUnvAb5ACVYkzQd8E1irQ1H3As6TdFBE3NHpNbkZaGTtRUavo0LScsDNNHwRzMxsypK0NFlTsUcf6bcFjoyICzukmw/YEzg3Iv7YQ9ZbkQHQRAFKLc+ZgP2BW4Bf1lbNBFxSBSoAEfEwee1ZppZuQeCuiHi1PL+TrI2p7FTyafu6IuIi4D7gW91ekIOVERQRZzdFryNoaWCBUczfzMyGoTT/HAGcQ0MNSht7Ac+RAU4nu5DNRdv3mO82wFkR8VyHNN8kg4sdI+LlamFE7B0RK9cTln4lSwJ31xY/CsxZez53WYaktwLfIJt4ujkF+JKkmTslcrBiZmY26XYC3g58vZfEkpYB1gUOiogHOqR7M/A14KSI+FcP+b69lOO0DmmmJ/uJXB0Rp3ZIN6ekVUteswE/q60+H3iPpI1Lrf8GwD/Luh8AF0bEJd3KC5xKBj0rd0o0cMFK6bF8kKTNJN0g6XlJt0rappbm95JeLm9ifdtZJD0j6fDyXKW38hWlR/Pzkm6WtJMktWy7gqTTJf1P0mOSTitVdD2nkTRO0viW52dKWqv0yn6+9H4e09Br+nOSzpf0hLIX+Z2SfilpxrJ+DBm1Q7bx1fezkKSjJT1S9nGtpC80HNvlJP2jHIv7JG3X49tiZmZtSFoK2A3YISLu7XGzrYFXyM61nXwJmJHs7NqLVcrj9R3SbAjM10OexwAXAKuTnWkvqlZExNnA4cCfgavIZqJ9JC0IfJXealXq5Vy1U6KBC1aKTwG/A04Evgs8A+wvae2y/jhgWuCzLdutC8xS1kO2G/4euBH4Htk56Hng58AXq41K5HgB2alob7JtcClgnKTFek3TxtLA8cA4YDuyt/SPySqyav9fAU4AHiej8x2Au4AdgZ1Lsr8Bh5T/f0rpGyNpAeBy4GPlmO1AVsUdK2nH2j6WIiPhd9eOy27A+h3KbmZmHUialryRvCgiDu1xm5mBzYBTIuKuLsm/AlwbERf3WKQlymOnTrhfJUcfHd8lr0PJwOb3ZL+SE+srI+LLZPPQMsBHIuJp8jp7XkRcphyufY6khyX9XdJCLfkTEQ8BzwKLdyrIoA5dXhhYNiKuB5B0EnA/2dP4dOBi8mK+EXBQbbuNyd7J55Vqrm2BP0fEllUCSYeRb9JnGRpi9StyeNZyEfFYSXcacBPZrvf9HtM0WQBYr6pqk3R07bUcWNJsD1wKrF/13JZ0IPlh+yw5Uup6SZeS1YFnR8S4su1PyQ5R761VJe4v6ThgD0lHlc5RuwMBfDgi7in7OBHoWq1oZmZt7Qi8D1hF0rxl2VzlcZay7L+1jqgAHyGbVU7olHEZYbMkGQD0ap7y+GSbPOcka0oOj4iXOmVUayI6SdITwM6S1oyIc2tpbq/lvTA5mmi1suh4csj2uuTN8Z8Zqvmpe5Ic6dTWINWsRO3/W6pABSAiHgQeAuYvzwP4I7C6pLfAa0O1PgX8KSJeLW/CfOTFvW5e8sDMVrZ7C7A88McqCCn7+D/gg8AveknT4XU9S63tMCKeJ3tfz19Lsww5TKx+DN4C/I/mcfGUsk9D1oxcALyknIBn3vLl+BtZdfjxku6TwOlVoFLKcjNwVoeym5lZZ2uR85lcQV6YHwGuKet2LM8XadlmbeBFOvQrqaWDPJ/3qgqK2l3fP05WVPSTJwzVwnygQ5pdgXMi4orS4rA88NOIuJxsjVi5BDStpiGbxNqaHDUrz3fZ13Qt6SDf3FYvkE0/lePITjwbkrUrnyFrGI6rpXkRWEdDY8nfzlDEW72Ri5KT7dzausOIuBZA0vLd0nTwWEtEPdFriYiXJH1Q0qbAu8hI+i1ldacqwnnJjknr0745ZxEy0p6NHCff6mZgvS6vwczMmm3P0HWlMh85IugY4GjgwZb1KwNXRkRj7UdLuvsi4pY+yvNQeZyHHBbclOcrtJlYrrRkzBMRq7Wsmr08No4wkrQosCVDHWXnK48Pl8fqRn8B4B4mNHet3I0mR7Dyv/I4e5v11Zv8eG1Z68V9IhFxg6TryYlpDiKbgG6JiGsgO9eSH5ZNyU5BlwAHk7UQ59ayqoKGTvvsJU07XbeR9DOyb8q1ZHPQMWR592fiiLypXCeSr63JHQzVWs3UsH6QatfMzKYqEXF167JaP8Y7IuKclnXTk30fD6G7ZcnrQj+qG9yFaQ5WlgVuKrX8Te4D1pe0UkRcCq9dT79LBjlnttnuR+Rw6avK86pbwmLkjX7VJ2WCMkman4xF6sOiJzI5gpUby+NSNB/0ajTNf4aR93HATyUtQVZt7VlbtyoZqOwREbtVC5Vj4echL+IwdICWbM1c0i/IYOvobmki4ufDKH8Vje4MHBMRX2xZN3/zVq95hGxmmr7hC7EIWV33DBnRPgm8oyGPJRqWmZnZ6FiEbDbqeHEu16pFyX6a/ahuxlcALmtYvySdRwrtTrZYnCbpd+SAjc+R/Vx+VO+jUivrEuSglRWrZRFxt6SrgF+XPpjfJDsht46Wqrb5Jx1Mjrvqs8lqo2+rZdIXSW8iq43uAa4cRt5/Il/Db8k3vz6zX9XJ6MaWbb5KjhiaDiAi7id/j2HT0u+lKtviwLeB+XpJM4yyV+ZuKmcZ+fR2Jgwoqza9aUrZXyY/yOtIel9Lvs693O4AACAASURBVPsCJwHzlr4wJwFrSXpvbR+LAetMQtnNzKw/HTvA1sxNdj/olm4CJRj4D+2HAs/TKc/yUy6rksHDt8nBJbOT0/zv2WazH5F9Iq9pWf7/yJvln5MDS/5fw7arkC0rTYHVa0a9ZiUiHixDaPcDri6jYR4io8stgTcDG0TEi8PI+x5JFwCfBi5rifguId+QX5dahsfJHtgbk/1j6s1S3yU7ml5ZRgu9So4kepyhzrO9pBmOG8kI+4fK6Y/vBT5EHpvWclZ9ebaWNH+ZdnlnYE3gAkkHkFWAny5/B0fEDWWbH5GByThJvwZeJodSP0V2xDUzsxFQfgev8ffWIuKKduta0j3cS7o2DgN+JmmO1n4xETFLD/u+nRxt25OI2KrN8lvJGplGZfDHxsAREdGxg+1k6a8QEQeQPabvICO1g8jhTZcBK0VEuzawXlQdaif4vYQydnttslPpj8ghvosCm5BDhpdS/t4CEXEeGcjcS86BsjNwNbByGYnUU5rhiIgXSjkvZSiKXa78vxMwh3J2QMhI93gy6Nhf0kzlQ7UC2av8q8BvyKad75FTLlf7uYfs+HQxOcx6e3Lodk/zApiZ2VTjD+TNbs8BxxTyEXJk7G+6JdSEo2XNOpDWndJFMDOb7DpMST+oJH2PnLpjqW61FlOKpHOAGyOi62zqHgliZmb2+vNbcoDFRD+9MggkrUZOKbJLL+kHdQZbMzMzG6ZSm7Jc14RTSERcQA6v7olrVszMzGygOVgxMzOzgeZgxczMzAaagxUzMzMbaA5WzMzMbKA5WDEzM7OB5mDFzMzMBpqDFTMzMxtoDlbMzMxsoDlYMTMzs4HmHzI0MzOzgeaaFTMzMxtoDlbMzMxsoDlYMTMzs4HmYMXMzMwGmoMVMzMzG2gOVszMzGygOVgxMzOzgeZgxczMzAaagxUzMzMbaNNN6QLYVERad4ruP+LUKbp/MzObIlyzYmZmZgPNwYqZmZkNNAcrZmZmNtAcrJiZmdlAc7BiZmZmA83BipmZmQ00BytmZmY20BysmJmZ2UBzsGJmZmYDzcGKmZmZDTQHK2ZmZjbQHKzY65KkZSS9KGlMbdlikqLL3xo95D2rpLslfbg875bnlrVtd5f0P0l3SfpmQ95LSXpB0tsa1m0m6UpJ/t6a2RuKf8jQXnckTQccCUzfsuoRYPOGTWYG9gMeBq7rYRdjgOsj4pLyvClPAfsCMwDnl3J9AtgN2LusP0DSDRFxfkvex0bE7Q15/hHYGfgGcGAP5TQze13o+Q5N0oySvifpCklPSnpC0jWSdpQ052gWskOZjmy4i32llO9ySVv0mM84SeNHuaxjamX8QId0J5c040Zh2/rfi5Lul3S8pCVH6nUOiB8AS7UujIhnIuLY1r+SdnrgCxHxv04ZS1oC+A6wVy3fpjznAeYFto6IO0vSjYHLIuL7EbEjcBnwhVreywDrAXs27TsiXgV+DuwlafYej4WZ2VSvp5oVSQsCZ5In9bHAUeSd4YeBnwJfl7RORNwyWgXt4rvAo+V/AXMCmwFHSpo3Ivbpsv1ewKyjWL5WnwGuaV0oaRbg46O07U+Bm2rPZwFWArYAVpa0dET8t8u+B56kpYFdgT3KXy/ptwWOjIgLe9jFtsA9EXFphzznIwOOcyPij7VVCwJ31p7fCSxUez4GOLoW3DT5G3AIsBXwux7Ka2Y21esarEiaATgZWAz4WEScW1u9v6TfAqcDZ0h6b0Q8Oyol7WxsRIyvL5D0B+BGYDdJ+0fEC+02joizR7l8dXeSAcePG9atRd7hPz4K254dEeNalh0i6SbgF8BXgF92LPmAK80/RwDnAMfSQ7BCBqrPkQFOt/xnJoOEw7sk3YVsWtq+ZfmjwFy153OTTU9IWhZYB3hnp4wj4llJ5wDb4GDFzN4gemkG2gJYDtihJVABICIuB74NLA7sOLLFG76IeA44FZiDhiaBKehk4H2SFm1YtwHZv+GJUdi2naPK44p9bjeIdgLeDny9l8Sl2WVd4KCIeKCHTVYha+1O65Dnm4GvASdFxL9aVp8PrClpTUlrAmsA/yzrfkLW7ozvoRynAu94HTbfmZk16iVY+SLwNEMXtSbHAQ8yYfv7eEkHlREMN0h6XtKtkrZp3VjSSpLOlvRU+fuHpA/1+2IavFoep6uV6VBJfyjluVfSm5v6rEhaWtJYSY9Lek7SZZLWb0kzTtKZkvaU9LSkh0uzQidjy+N6LXlND3yarOYfjW3beabKZhjbDgxJS5GdV3eIiHt73Gxr4BWyc20vVimP13dI8yVgRuDXDeuOAsaRAco/yaDjWEkfBD5BrR9MF9X+V+0xvZnZVK1jsCJpWmB54NqIeL5duogI4Dzg7ZLmr636FFlVfSLZr+QZsulo7do+Pk7ecc4J/Ihs618EuEDSsE/GZXjnGsALZHNQZVNgWbI26NCIeKRh2+XJzo8rAPsAPyRHdZzUEGytUvLckRyBciOd3QX8i2zOqVuDPAZjWzcYoW3bWas8XjuMbQdC+ZweAVwUEYf2uM3MZL+mUyLirh53tQTwbNNnpuYr5Pfl4tYVEfEisDZZ0/euiNgoIl4BdgcOj4i7Jb2/BMYPSTpO0lyt+QB3lMfFeyy3mdlUrVuflbnJu8ReqsjvL48LkLUsAAsDy0bE9QCSTirpvgCcXgKKg4ArgNXLiRtJ+5MX5d8B7+9h33NJerr2mhYjg6P3Ab+OiKdraWcGPt9maGhlP7JWZvnqLl3S74GLgb0l/SUiqg69swJfbugP0slYYFdJb4qIqo/JBsDlEXG/1LGSY7jbzilp3trz2chAa19ySO/+fZR/0OxIvter1F5jdZGfpSz7bxlNU/kIeQxO6GM/89ChmU3Se4AlyeC2UQnsb6xtswLwUTLQn4GsbTmLHHG0H/m+fKElmyfL47yYmb0BdGsGqq58L/eQ10st2wDcUgUqABHxIPAQUNW+vJ+8Wx1LBhzzlgvLzORJe1lJ9dES7VxDXnAfIQOrS8nah/3IeSnqbusUqJSRHCsAx9SbE0rN0t6lbPVRN88BF/RQxrqxZFC1dtmnSnlPGsVtxzJ0jB4hO+seDlwJfGgqHwm0FlnzdQVDr68aMbVjeb5IyzZrAy/Sof9Jg1fp/J2pagz7aY77CXBYRNxDjq5bENgtIi4jA8mNSs1RXVWGV/rYj5nZVKtbzcojZBAyXw95LVAe768ta6oufwGoTr7VLJ17l78mCwPd+iBsRgZBkCfwx4Gb2jRdPdwlr8XKY9Mw7Grob72D62Mtd+xdRcR1pY/MeuREXyuQx6/rRW4Stt2BnPBsWmBl8iJ+HrD5VB6oQI66aW0umY8cEXQMcDRDtX2VlYErI+JJevcQWdvYzsrAfb0O4VfOgLs62c+lKjMMfUYfI0d4zcvQ5xuyhoeWZWZmr1sdg5WICEkXA8tLmqldv5Vyd78KcEfLqIpuF/EqaPkR2Uekyc1d8gC4uMdRFND9brRTG0x1R/tiH/m1czKwVan63wD4d0TcNorbXl1rqjpL0lVkbcuZklbr1Cdp0EXE1a3LJC1W/r0jIs5pWTc98B5yvpJ+3AVML2n+UkvYaln66/vzE+CQiLivPK++O4sBt5J9Ul5iaA6hSlXbeHcf+zIzm2r1MhroGHL479c6pPkM2ZxzXJ/7H18en46Ic+p/ZN+AaclmlsmpKtO7GtZVc2DcMwL7GUse19WB9emtCWgktgUgIk4h+wQtT86z8kayCNls1O/Fvhq6v0LrijLHy6K95lk6j69MzkhbuQK4Dzhc0rfIuV+Or/py1VTDzP+JmdkbQC/BypFkH5CfK3/bZAJlMqtDyD4Q/U4qdhV5N7mdpNlqec4BHE+O8Oilv8yIKXfMVwGb1fvLlFqM75HNWCMxidyFZDX/9sA76K+fw6RsW/cDcmTJtyStNMw8pkZVM0o/TUCQ34PHaR4yPDdZK9drnj8BDo6I15pNS+3WhmSn7b3K/rZt2HYVsjbtvoZ1ZmavO11nsI2IVyVtAJxCNhn8jbzDfIW8w/sCeTf5mZZRN11FxEuStiUDk2skHQY8D3yVvEv9QkRM1mCl2I58jVdKOhB4iuwXsxywXW0UzrBFxCuS/k5OundHRPTyA3qTvG1LPs9J2pocfXKopPdHxEvdtpsalGbBxia9iLii3boueb4i6Ujg85J2LCN7qnUP95NnRHykQ9k6/f7THGRH3taO42Zmr1s9/ZBhRDwErEbODLoAOY35L8nhorsCy0XEDcMpQET8lZwQ616y78oe5N3pehHxp+HkOanK776sDFxNdkzdkwyi1o+IXicQ60U1L0rfzTiTuO1rIuIfZPPdUmRNi3X2a+CtwJpTaP8bkZ/FP0yh/ZuZTXaq3RyadSatO0X3H3HqFN1/Iel3wLsjotuPTo70fqcFbiA75e47OfdtZjYl9VSzYmYT2AV4l6TVJvN+NyNngf7tZN6vmdkU5ZoV651rVszMbApwzYqZmZkNNAcrZmZmNtAcrJiZmdlAc7BiZmZmA83BipmZmQ00BytmZmY20BysmJmZ2UBzsGJmZmYDzcGKmZmZDTTPYGtmZmYDzTUrZmZmNtAcrJiZmdlAc7BiZmZmA83BipmZmQ00BytmZmY20BysmJmZ2UBzsGJmZmYDzcGKmZmZDTQHK2ZmZjbQHKyYmZnZQJtuShfApiLSuiOeZ8SpI56nmZm9rrhmxczMzAaagxUzMzMbaA5WzMzMbKA5WDEzM7OB5mDFzMzMBpqDFTMzMxtoDlbMzMxsoDlYMTMzs4HmYMXMzMwGmoMVMzMzG2gOVmzgSVpT0kWSnpJ0n6TfSJqtyzaHShrX534WlPSopMVry66QFA1/J9bSzCbpREnPSrpO0ioNeW8t6VZJ0zasO0zSPv2U1czsjcS/DWQDTdJHgLOBq4GdgYWBbwMflLRaRLzasM2Xga8A5/e5u98Af46IO0s+At4NjAX+2pL2rtr/PwQ+BuwKrAGcImmJiHi85DNjSfPDiHilYb8/AW6SdFREXN9nmc3MXvc61qxIOrLNXWXr35GTqbyt5Tu2oSyvSHpS0qWSNusxn4sk3TbKZd2zVsZlOqQ7raQ5ZxS2rf+9IOl+SX+R9LaRe6Uj7lfA3cDqEXFAROwMbA+sDHyynlDStJJ2Aw7tdyeSVgPWB35RW7wYMBtwckQc2/J3YS3dxsDvI2Jf4Atlm7Vr678GPAv8sWnfEXE38Cfg1/2W28zsjaBbzcrBwDm156uSJ95DgPrJ+vYRLle/tgP+V/4X8CZgc+AYSfNExG+7bP8TYOZRLF+rzwAT3UFLmh346Chtuwfwf7XnswIfJo/ThyUtXdUEDApJMwGPAH+NiOdqq6oak2WAM2ppLy/Ljqb7cWz1XeDCiLintmyp8nhTl20XBO4EiIinJD0KLFQr187A99vUqlT+CPxT0jKuXTEzm1DHYCUiLgUurZ5Lmo4MVi6NiGNHuWz9OCki7q0vkHQ4eZEZI+nAiHip3cYR8Y/RLmDNnWTAsUfDuk+RtV1PjMK2/4iIi1qWHSzpFmAv4EvAvp2LPnlFxPPAWg2rli2Pd9eWzQTMAWwcEcdLGt/rfiQtDKwLfK9l1QTBiqRZI+KZhiweBeYsaaYp/z9a1n0DeJKsOenkAuC/wLfI75iZmRWv2w625aLyd7KW5d1TuDh1JwPLSVqwYd0GwLnA06OwbTtHlccV+9xuspO0qKQtgd8B/wFOqq1+Enh7RBw/jKzXAqYFTmtZ/l7gKWBfSU8BT0u6XdImLenOB7aS9B6yhmYG4AJJMwM7AT9p6ltTFxEvA2eSQaeZmdWMWLAi6T+SrmpZ9t3SP2K7hrSn1J6vLumfkp4uIz7OaRpRMQzVBWK6sp97Jf2+9MV5XtI9kuZu6rMi6X2STpH0eBnlcamk9VrSXCTp75J+LukZSQ+VC1YnY8tja14zkP0c/jZK27ZT1RRoGNtONpLmBsYDR5C1KNuWmhcAIuLVcsEfjlXI43BHy/KlgNnJgPeLZO3TU8CfJG1eS7crGaDcAPwS2DEibgO2IWtL/tJjOa4HFlJtNJKZmY1szcrpwPslvam2bI3yuGq1oNQKLEW5i5W0IVkjsCDZd2QvYAngPEnrDLcwyiGiqwPPMWGfg83L/rcDDomI/zZsuyJwGbAc2cFzV7JPy8mSvt6SfA3gc8AOwJHAzV2KdjtZK/CZluUfpXTmHKVt26maWa4dxraTUwCbkEHDjcA5kj43QnkvAYyPiGhZfgjwrYj4XEScFBFHACuRQc3e5TNGGT30HuCDwIIR8RtJswLfB3aPiFclbS7pZkl3SRpTmotaVcGSgxUzs5qRHLp8BrAjefEeW07GqwH3UQtWGBrBcbqk6YH9yb4HH4yIpwEkHULepR4o6W093DHPJam6y56eHMXxPbIaf++WzpkzARtFxPgO+e0PvAgsHxH3lzIdSAYw+0g6PiKqDr2zAls29AfpZCzwfUlzRMSTZdkGwCUR8ZDUsZJjuNvOKWne2vPZyPdlX+Ah4MA+yj/ZleP9FwDlHCf/Ict+YqftejQPMFHn4og4qGHZc5KOAX5MBij/LstfJIdXV74FPAycIGkpsrltW+A2sv/KfUw8aql6P+fFzMxeM5I1KxeRVeRrlufvJ6vPfwPMJ+kdZflawPVl1MXywFuB/apABaDUdhwALFLy6eZ6ctTII8D9wCXAp4HfAru0pL2lU6AiaQGyRuWoKlApZXqerGWZlZxTo/I0cHEPZawbSzYbrFX2OQ3ZtHNSp40mcdu/M3SMHiE76x5GBmAfGrSRQJ2U4PPvwMItAdhwvUp/34WHy2PjxHTKCet2AMaU2pqNgNvL0OuzgBPIWqJWVRk6jRoyM3vDGbFgpYy2+SdDwcpHyMDh6PJ8tXJh/RhDHRmr6u5bGrKsmm4W7WH3mwIfL39rAh8A5oqI7zSMAnq4deMW/Zbp0Ybmg44i4mrgHob6nnwYmI8e+pxMwrbfJY/Pp8imtheAfwCbl3k+Bo6kd0kaL+mbDatnJ5uGXhiBXT1E1q7U972gpBvKvC2t3lUe72yT33bAAwxNJDcfE37uHgMWaNiuKsNDvRTazOyNYqRHA50BLCVpPjJYOT8iHib7GKwKfAiYi+zfAp07dVZle7GH/V4UEeeUv/Mi4tp658sW3e5a+y3TcO+CTwHWKcPBNwCu7dI0NanbXlWOz5kRsSsZ4H0aOEM5w+oguo0cBvyN0okYyFFBwGfJz9dTI7Cfu4AFVJsKPyLuK/v+qqQ5avteGNgSOC8iHmzNqKTdnqFaFcjAZRENtdEtTjYDtVqoPA5k8GhmNqWMdLBSBSEfI2cYrSbvOp/sv/JJcvK2au6W8eWxulOte2d5vKdh3WgaXx5Hu0xjyWayVcmZU3tpAhqJbQGIiJPIprYVgZ/2u/3kUPoqbQssDZwvaZtS03ElWauy7Qjt6lxgFrKPU923yADiEknflrRr2ffL5EifJt8hPx/19+QksgP5YZJ2ATYE/tyw7YrAbYNa02VmNqWMaLBSJmb7D/nbLXMyYbCyGDmS48zaTJ5XkFXe31Lth+kkzQlsDdwL/Gsky9hNeQ3/Ar5Y+q9UZZqRbEp5jmzumlTjyE6dO5GjUfoZdjwp29btRAZn35H0oWHmMarK5IMbk/109iWDgfPJfjb/GaHdnEX2W6l3BCcixpLB4DPkNPzbk4H2hyNiollty+f2u0xYq0JE/Bv4Mjlq69vA3sDhLdtOQ440OmOEXpOZ2evGaPyQYTUq6OGIqIbxjiuPSwCv9QGIiBclfZucavwqSX8gA6ivAm8BNuy3P8gI2Zb8mYErJf2evFhtRvaF2aY2CmfYIuJlSaeRvyVza0TcMDm2bcnnmdIf5HTgUEnLTcJcJaOmTPTW12RvEbFYH2kfKfP+bEKOBKuvO5keh4RHxBNkM2fTuiPIOWLa+Sj5mf9DL/syM3sjGY0ZbKs7wwuqBRHxENlh9VVylk5q6/5Cjmx5GBgD/IDsq7BGRJw6CuXrqgxDXgW4jpwr4yfkD9GtFxEjOcS3muRtODUjk7LtayLiDHJI8DLka32j+hWwsqQlp9D+vwicHRHXTaH9m5kNLE2ZigubKknrjnieUyggbVJqVx6KiK9O5v0uTnZCXy0irpyc+zYzmxq8bn8byGwYtgE+K+ltk3m/uwEHO1AxM2s2Gn1WzKZKZaLCuafAfrea3Ps0M5uauGbFzMzMBpqDFTMzMxtoDlbMzMxsoDlYMTMzs4HmYMXMzMwGmoMVMzMzG2gOVszMzGygOVgxMzOzgeZgxczMzAaagxUzMzMbaP4hQzMzMxtorlkxMzOzgeZgxczMzAaagxUzMzMbaA5WzMzMbKA5WDEzM7OB5mDFzMzMBpqDFTMzMxtoDlbMzMxsoDlYMTMzs4E23ZQugE1FpHWndBGmmIhTp3QRzMzeqFyzYmZmZgPNwYqZmZkNNAcrZmZmNtAcrJiZmdlAc7BiZmZmA83BipmZmQ00BytmZmY20BysmJmZ2UBzsGJmZmYDzcGKmZmZDTQHK2ZmZjbQHKyYjRBJq0i6QNKzku6TdICkebtss4ykFyWN6WM/C0p6VNLibdYfKmlcD/k07lvSbJJOLK/jOkmrNGy7taRbJU3bsO4wSfv0+nrMzLpxsGI2AiStAfwTeCfwU2B/4HPAhZLmarPNdMCRwPR97u43wJ8j4s6GPL8MfKWH8nba9w+BjwG7AncBp0h6U23bGUuan0TEKw3b/wT4hqRlur8UM7Pueg5WJB0pKSQt1mb9GmX9mH4LIWmcpPH9bjc1kTSmHJ+Q9IEO6U4uacaNwrb1vxcl3S/peElLjtTrfAPbD3gF+HBE7BkRPwNWB94G7NJmmx8AS/WzE0mrAesDv2hZPq2k3YBDe8yq0743Bn4fEfsCXwBmA9aurf8a8Czwx6aNI+Ju4E/Ar3ssi5lZR65ZmTI+07RQ0izAx0dp258Cm9f+vgWcRd79ny9p7i77tTZKAP9e4JiIuL1aHhE3A6cCWzRsszRZc7FHn7v7LnBhRNxTy2sm4Bpgd+AY4L4u5e227wWBO8treAp4FFiotq+daV+rUvkjsKZrV8xsJDhYmfzupE3AAaxFVss/Pgrbnh0Rx9b+DomIrcgLzwL00HRgbS1YHv/dsO42YF5JC1cLShPMEcA5wLG97qTksS4wtmXVTMAcwMYRsQXwcoc8etn3o8CcJf005f9Hy7pvAE+SNSedXAD8lwyKzcwmiYOVye9k4H2SFm1YtwFwPvDEKGzbzlHlccU+t7Mhz5TH2RvWzVMe568t2wl4O/D1PvezFjAtcFrL8ieBt0fE8T3k0cu+zwe2kvQesiZnBuACSTOX7X8SEa922klEvAycCXyqhzKZmXU0qsGKpPGSDpK0maQbJD1fRhBs02W72SRdLulpSSuXZeMknSlpLUlXlbzuLn0ypmnZfmlJYyU9Luk5SZdJWr+2fqyk/9a3k7Ru6cvxu5a8xkq6sd8ydFDdFa/Xsp/pgU8DfxulbdupLrQaxraWbiQDhs9Keu04liaTT5anM5VlSwG7ATtExL197mcV8v26o74wIl4twUFHfex7VzJAuQH4JbBjRNwGbEPWlvylx/JeDyzUbtSSmVmvJkfNyqeA3wEnkndpzwD7S1q7KbGkGYCTgGWA9SLi4trqpYHjgXHAduRJ+8dk1XS1/fLAZcAKwD7kqIUZgJNqQdLpwFzAsrW81yiPq9bymh5YkwnvZLuWoYu7gH8xcXPOGmR1e2sV/0ht285a5fHaYWxrQES8COwLLAccV4LlZcnP/Kwl2ctlmO8RwEUR0WtH2LolgPEREf1u2M++yyij9wAfBBaMiN9ImhX4PrB7RLwqaXNJN0u6q0OwXgVVDlbMbJJMNxn2sTCwbERcDyDpJOB+cpTB6fWE5YR3HLAasEFEnNuS1wJkAHNqSX90La8DS5r9gFeB5au7R0m/By4G9pb0F+CMknZNsmMiwEfIjonLSJozIp4AViKr9uvBSi9l6GYssKukN0VE1cdkA+DyiLi/dnM+ktvOqQnn/JiNvFPfF3iEHGprw7cH8CYygN20LDuVHLXzc7JGYkfgfcAqtfeiGtY8S1n23w5NLPPQvk9SN33tuwRgV9e2/xbwMHBCqaE5CtiW7JPzJ/K70xoEPVkeO841Y2bWzWjUrLTe9d1SBSoAEfEg8BATtuFXDiJHp3wtIk5vWP8stcAhIp4HbqnykjQfWaNyTL2au6TbG5gZ+HgZSXEDGaygnAfjfeT8FdMAK5dN1yL7gNRrdzqWoUdjyUBx7bJ/kbUlJ43itmPJoKT6uxM4HLgS+FBE/LeP8luL0hTzXTKYXRVYLCLWIzu+vkLWiq1F1vJdwdD7UAXLO5bni3TYzasM/zs77H1Lmg3YARhTanU2Am6PiAMi4izgBGCThk2rsnYaNWRm1lU/NSvPd9lmupZ0lUca0r5AdhSsW5ShESkrM9Txs+6xhrvOel6LlcdbGra9qbYfyNqVb5TREauTQdahZLPRamStzyeBf0TES32UoauIuE45r8x65BDPFciLXNc+J5Ow7Q7AdaWcK5MXqPOAzR2oTDpJmwIPRMQ4MhivrAZcHRHPS9qeodqMynzkqJxjgKOBBzvs5iE6BzOdTMq+twMeAP5a2+7h2vrHyNfZqupc/FDDOjOznvUTrPyvPDaNeIChE2FrNXXHUQM1AWxNXki/Iumolv4qveTVqf2kust7sTyeQV7AP0Q2AV0TEU9IuhBYVdKbgfeTzUr9lKFXJ5MjLmYgm3H+XToxjta2V5cLKcBZkq4ia1vOlLRaqSGy4fsu2ZyybNXZVdI6ZFPbFgARcXXrRhqaZPGOiDinyz7uAlaUNG2XOU4mMtx9S5qDDHS+Wusr8wDwaUkqyxaneW6Xhcrj3f2U1cysVT9VyjeWx3azXi5dHv8zzLLcHREHk3f8TwIH85FO+QAAIABJREFUlw6u/RhfHt/VsO6d5bGaTOtC4CmyKWg1crgm5fGDDHVirfq3jLSxZBPB6uSMpL00AY3EtgBExClkx+flaZkN1YblF+R34++Svibpp2RNxFlkP6yRcC4wCzkB3eTyHfI7U/+MnUTOLXOYpF2ADYE/N2y7InBbmdHWzGzY+glWzgaeA75d5lt4jfJ3Q7YkT2pXTkqBIuIhcnjlUmTNRz/bPghcBWwmqbqrq0YYfY9srjm7pH2J/C2XDciRR/VgZQZyOvKrSnlGw4Vk9fn2wDvob9jxpGxb9wNyxMa3JK00zDwMiIi/kh1r5yenmd+E7Ce1Yb+1IB2cRdbsrdot4UiQNCdZYzSmVqtCRPwb+DLwUeDb5Os8vGXbacgO6qMV7JvZG0jPzUAR8aCkHclmkavLKJiqDX1L4M3kCJ4X2+fSswOALwE/ktT4g20dbEfegV4p6UCy9mQzcljpdrURNJAn0oPJC8BFZdm1ZKfaJch2/FEREa9I+jvZRHBHRFw3ObZtyec5SVuTF8FDJb2/pX+O9SEi/kxzDUOnbcbT4xw3EfGIpFPIQKjt6K2IWGwk9l1GxDX+CGNEHEEOhW7no8BbgD/0UhYzs076GlkQEQeQowruIO+oDiLvsC4DVoqIM0eiUOVO9JvkRFq9Dgeutr2U7PdyNVkzsyfZ6Xf9iGjtf1Ld9V1fBTGl82wVuDSNSBpJ1bwofTfjTOK2r4mIf5DNFEuRNS022H4FrKzB//HJL5I/8TCsQNrMrE7DmF/K3qikdad0EaaYMq/OICi1Kw9FxFendFmalBlrbwRWi4hJahY2MwP/NpDZ1Ggbcmr/t03pgrSxG3CwAxUzGymTYwZbMxtBZVLDuad0Odopv+ZtZjZiXLNiZmZmA83BipmZmQ00BytmZmY20BysmJmZ2UBzsGJmZmYDzcGKmZmZDTQHK2ZmZjbQHKyYmZnZQHOwYmZmZgPNwYqZmZkNNP+QoZmZmQ0016yYmZnZQHOwYmZmZgPNwYqZmZkNNAcrZmZmNtAcrJiZmdlAc7BiZmZmA83BipmZmQ00BytmZmY20BysmJmZ2UBzsGJmZmYDzcGKmZmZDTQHK2ZmZjbQHKyYmZnZQHOwYmZmZgPNwYqZmZkNNAcrZmZmNtAcrJiZmdlAc7BiZmZmA83BipmZmQ00BytmZmY20BysmJmZ2UBzsGJmZmYDzcGKmZmZDTQHK2ZmZjbQHKyYmZnZQHOwYmZmZgPNwYqZmZkNNAcrZmZmNtAcrJiZmdlAc7BiZmZmA83BipmZmQ00BytmZmY20BysmJmZ2UBzsGJmZmYDzcGKmZmZDTQHKzZskjQ5tzOzqY+/7zYSHKxM5SR9VNLlkp6TdJek3SVN2ybtvJIekTSmZfmSkk6W9FRZ/wdJ83TZ7yrAiX2W9U2SjgM+0Od2IWmHfrYZDZKWlf5/e+cdZldVtfHfCwESWgi9BUKXHinSFAJIVYr0JkQQEMRPRKq0KCggoKA0aQYivUjvISNEQVooIdRIgNBCCCmQBmF9f6x1kj0n9965dzLJTGC/z3OeuWeXtddeu6299tpn9KKkSZLuktRX0uD25quApN4hq0Xbm5e2RvSd+6Kffyhp7g7A0zySTpQ0OPgaLalJ0u6zkIc1JN0d4/ZjSXdIWqmUZi1J/SV9JukdSSdUUyAkdZc0RtIGFeIOlvRy0HlB0l4t8Naq8d4CzaOjj1/cVjQbKHtTSQOind+XdK2kJUppvhfz8XhJb0g6uAa99SR9WR6vkuaXdJGkj2JOflDSujOrXrMLsrIyG0PSZsD9wCvAD4CLgBOAU6pk+QtQHhiLAI8BawM/Aw4G1gIGtLAg/BRYrUGWewL7AbPrTutUXH47AScBZ+D1yZj5+DGwA95HdzOzye3MD8A1wK+Bq/Dx92Pgf8Ctko6Y2YVLWhxoAhYBDgEOBZYDHpO0UJLmEcCAvYDLgd8H32V6SwL3AQtWiNsHr+eDwK7AAOAmST+sweLMGO8HAi8D+0nq0oZ0a0LS6kB/YBywL3AssBnwoKS5kjQPAG8BuwF3A1dJ2qMCvdUivtLG8jagN3AusDvwIfB45PnmwszyM5s+wOPAPaWws4GmCml3AkYCE4A+Sfivga+A1ZOwRfFBeWSNsvsCgxvktxc+aW7QYD4Dju0A8h4A3NvefNTgr3fIatH25mUm1O104PP25iPhp0fIeu8KcbcAI2YBD8cBY4FuSdiSwJfF2AV+G+N+3iTNGcAnwFxJ2I+A94BRlcYovil6rBT2n/L8U4pv1XivQW/NoPd94Avgx7OwvS/GFdFUZhsGPzvG+zW4IqUkTT/gxeR9DlyxHJ3IetEkfv0IO7yCrG+eVfXtiE+2rMymkLQYrtlfnoab2Ylm1quUtitwKa6YTCqRWhV4x8xeSWiMBF4Ftq9Sdl/gIGDNMMn2ivAekm5OzJd3Slol4nrhiz3A00EDSQtKujCOsCaHKfuaYmfYgDwOCxP1BEmvSjo0iZOkQyW9FPFvSDq6lN/iGOXG4H2kpAskdSri8cl3x6LO6TFQ1N0k/VLSsDiq2DSOBS6QdE7UbaykSyXNJ+kvYVL+QNJJJX5WDpP+uEjTr4K5+EBJr0Wd7sN32C3JaWFJV0YbjZH0kKS1k/jVJN0SvE6OupwqTTs2kHRQyHqipOGS/iypcxI/n6S/RhkTQgbfLvFxnKQ3g8bQKKPifCSpCegDzBsy7hNtNTLojAw5zCtpLvnRzGtB+yVJ+yW0inbaVdIjcnP9/yTtJj9SeTzCBknasIYoF4u/lXj+I/BHxY47yt1G045rh0v6nZLj2kTOV8uPWd6XH+nWmqPfAc4zs0+LADP7EFdgVoig7wP9zWx8ku8OYGF8sSXG2i3AXbjlohLmCbopPgk600HVx3vN9mkBBwEf4BaOR3Drbrnc6Y6MYxw1Je8Lx3j6VNInMTb/nqapgJeB883siyTstfibyvoeC+0icAewtqSl430d3AL+V9wKXsaq8ffBUvi/ge1q8Pf1R3trS/lp3QNshWvgW+PmxInACHxSn6OU9grgofg9muaWlVOAz4AuSVgn3PT4YpWyVwLuBYYCG+Nm42Wj/EG46XIP4EXgI2DpSHNk8NwbWClo3QMMw02rvfAB/AU+MRTl1bSsAMfg1qHz8QnjjMizb8Sfhe82zwS2Bf5QvJfKGI1PIlvjO1IDjoj4jYHngIFJnfsS1iWm7bTHAnvjk/48uJl+bLTR93ELgQGv4zux7fDdlwGbBK0lQv6D8B3vPsCbUf7ckWbPyHNR0LgImEwNy0q063PA+/hx33a4de4DoBswf/x+FNgR2Aa4OmjuFDQ2AaYAJwNbAEfg1rqzIl74YvIxfizxQ9w0PiZp873x/npk0Dgp2u/wKnyvAVwJjA/ZL4v3oS+BIVGPPSLtDcDnuJl+W+Cy4P+npXb6BDg+2uQxfAy8BvwcP+YYCrxWo8/NAwyPep0b9ehcJe3WweuN+Abgl8HjxUmaYXj/ezBkfwo+Dn7f4LywWdTvkHj/uEwj2tqA3vE+N7BK/O5FZcvKHtG/9gS6Rht+CfyiCh/VxnvN9qlRrzlC3ufF+36Rb9VSuunmClxhaEr657/xfn4gPr5eiv7Y1KCs92faHDxf/D60lObbEd4r3hcGlo7fvZnesvLdCNu8ROfWCF+4ER6/Tk+7M5CfVjacTxaGm27PBbbEFZUvgROSdFvhE/EK8V5WVlaLgXorsDxuRr48wobWKL8vyTEQriiMKw28RfGF+vx4bzYRAp2Bh4DtS7TvBJ5J3qsqKzGJjQSuKoVfh5tuF8GtSWeV4s+K8EWTMu4rpXkOuDt5byIxe1NZWbmoRKMJ+JTmyuD7uPIxR7zPE+12dMLb6JIsV4g0Bya83V8q667y5FeK3yXiv5eELY6fsW+Dm6AfBxYryfdTpi0SxdHDPEmaQxK+tosyvp/Ed8IVgavj/WLccpeay48lFKIqvPcBPkvee0c5eyRha1PZhH4DrkjPmbTTpUl8wfNppToZsFANntYFBkc6w8fMw5SOhoAngIGlsB/jSl+PeB+GW0rmTtKciy/sXarxUKLZNfh5hzj2wfv4iaV0nYLf/6tAoxeVlZVO+KbHkueKFvhpRque9qlBa9vIu068d4l+eE4pXUvKyjYkykOELU2DygrQHVd4nsYVoKWC7j6ldCtH+M4VaBR9OB3n8+BjZTCwAbAQcDiuqBvQvV4ev25PPgaafVGYmB80s+PMbICZ9cF3KqdImlPSvPgEc7qZvVWJiJm9hls1tsAnzPeC9l34AKkXmwMDzI+QCtoj8V32FlXKnmhm25rZA2Ge31bSMfhOep46y10NV0juLtHe38x+ju/E58bN3ClujPCNk7AnS2mG4zumRjCkQtiLZjYheR8BPGdmXwWvk3CFsjj62hJf4EZL6iQ/ino3aG8d7doT9yNIcVsLvG0KjDGzx4sAMxthZiuY2cNm9qyZfS/KXUPSrrglaC6mtccTuAXmhTjK+A6uhFyb8D4e+FfCO7hSunX8/g/ebk/HkcBaZnaemTVrwzqRynvz+FuprRcDVk/Cnkp+fxR/n0nCPom/VY8jzewFfAHeDHdaHYTX/0ZJ1wNEW30HuKeQR8jkAVwR3DIhebs1dxy+E5gXVyJrIo5yHsCV2j1t2rGP8EWuEr5qiW6Cvrgl4URcCTke2FfSuQ3QaKR9yjgQv0jwTtR1Htwqe1DSx+pBL3wMNBUBZvY+3ifrgqTu+Lw2B66cGNOciMuyLsLrknXMBbvhiuzT+EbhIPxoERqbk79WyMrK7IvP4u8DpfCH8cWkBz6BjgEuKi0cc6QD3Mz+iVtUVgOWNLOf4JPHqAb46ca0ST/FR1S4XVBA0s6ShuK7++vwnc946r9BUJyZj6jBV8FHmS9KvJUngq9ofIxU4mNchbBak84i+HHBF6VnbXwHtxAun5GlfB+2wNvCVfibCkm/wY8OXgYuAFaJsgVgZgNxC80H+PHNf4E35TfTCt7nxY8MUt6PCt4xs+vwXeVX+JHcS5Kel9+maBRpfboBX5pZud9WautG26QizPEfMzvFzDbBd+k34wv5lsHTHLi1LJVHwfdSCbkPSuQ/jr8V/UIKSFoWt4itje/g/5tEjwEWKGVZIIlrEbE4749ves4xs3+Z2bm4NezXKl2VroFG2ictf378aG51fPEunn3xI9Od6iwf3Nr7cYXwSnNXJV7WwhWbBYFtzGxoRBX+PGVZzx9/65I1gJm9bGbr4je7VjSzTXEl6KtG6Hzd0IhGmtGx8Gb8LV8vLiwuhp/HLo+bOFOcGo8kLQ9sbWZX434UhFPfWsD1DfAzCp84yliSabvUZpA7396C+25sYWbDI/xm3LpSD4rBu1gaKGlVfGIqJsYlcKtRyhfVeGtnjMGtJqdViBuHT9SGH+GkaMnBdgwlOQHEovoWvvM9E/c1uMHMxkR8MwUnLCB3yx23d8D9K+6VX5Mdgy/EP6jFiJldA1wTeXbCLTi3U3t33RJGAZ0kLVxaENu8rSWdj/fZZt8jMbMRkg7DrwmvzjRrzZm4paSM95Pf5fYr2reqgilpZdzHaD786K1sHXwDWLEUVry/Rn1YNv6WaQ/EldjVcR+fltDa9tkDr9/uTL+B6oc72v4zCStvMOZPfr9PhTFQJawZJG2Ej8uxwFZm9kYRZ2afSfqA6rJ+vSX6Uca8eD37m9m7SdQ6+JHzl/XQ+ToiW1ZmXwzBF989S+E/wAfkMHwR2LD0fIYfDRU3HZbBvwWQfrhpL3yhr2WWn1J6HwhsqeTGSvzeGndoq5RnPVzZOjtRVObDnczqtay8ik9g5e89nAGch5v7v2B6ORUOgk/R8TAQ+Bbwkpk9Y2bP4GfYfYDvxpHSk7gymmLHFuj+B1gosYIgqRs+AW+LO88ON7PLEkVlPXwiV7z3kfQkgJmNMbMbcd+KrvEMjPSfFbwH//sDBwSNKyXdGjRGmNlV+Dc8lmtQTmUMjL+V2noEvnC3Fd4E1pe0bYW4VeLvYDMbB7yAO5im8piMW1u6J/l2lJp9rG1XfGF8rhIDcRzyEL5B+V4FRQX8uOL7Ma5Sup8Az7dUycBQfFe/WSl8o/hb8YiZynMENN4+BwLPmtntZtaUPvgR0nZhXQKXV3Hzplj805tojwFdJW2epFkM7/tVIakHPk4+AjZNFZUE/YGd1PyjnLvi/aAuyw0+V12GO9UXZa+Aj+3WHJN+fdBezjL5mfEHH8SGX0veGp/8qt6qiDxlB9s58clwEL5LPgRXaO5roezzg9Y2uHm3O640DMLPXHeP358Ay0aewsHudHwxXhVXGG7BHYH3wpWHr4C3krKqOthG/K/xifEs/HbH74LGLhF/XpRzRvB7RryfU6sMEse8eG+iZQfbPUo0muWJsOeBvtXaBV+0R+E75l3wiao/fkzRM9JsE3X+O+4geg7ujFnLwXauaOt3mfaRtX/h34/oit8QMtyiswX+AbYPQpZ/DxpbxPsV0ef2wHfojyf96b9B8yDcJ+MiEsfKKNvwI6At8X78IdCvRhv3obKD7aKldLfS/LbJxZHuyGrthPv/lJ0ud42wHlX46YwrjONxZW37kM0xUZc7krQ7h8wuDZ72C/m8yTRH2GGR5qZoz9PwhevXNWRyYfD4S9z3Kn16RJql8L71L1yhPxnv+9Uc1ntR2cH2IvzWV+GzcgyuGNxag79m472e9qlAozvez0+oEl+03anxfiNu3Tsw2uRR/Lg0HceP4f5oB+Dj6+ko49Eadbkz5LZvBVkvFWnWxZXQ2/GxdX7wtmcVmr2p3IcvxOfNA6LvvII7TS9Sa07+uj/tzkB+ZrABffAUV+/eAA5rIX0zZSXClovBOAa31vyJ5CNSVeisii9Sk4jbD/hHm+7FlZ3R+GK/apJnDuDa4PXuCNsv6EzEJ+xL8EVyCtOu+NVUViLNkVH/iSGPvUrlnoAvEJOivKNpfhulwygr8b4G7kA4Dl8UBuA7ujTPLknbP860q6JVPwqHW8z64srQaNyResVETufglrnPcb+VY3DF5JWExt64Ivo5Pqn2AxZP4hcC/obvQifgV9h7l/g4Cp+EJ+CL+0XA/DX47kN9yso8UYf3Qi7PA/sn8dO1E61QViLNvLhS8Xy004Roj+NJPh4WaXfCF8XiEwPXkdzswPv+1RE+HrdmVP0oY5LHqjwXJek2wK2bE4G3qbLwR9peVFZW5sQVnbeCzqvxPncNWpXGe832qUDjpOBnpRppXg6+ils5d4QMP8SPu8+n+TheHFcKx+H99/e4AnNXFfpz4YpjNVkfm6TdLuo0ET/66V2D795U7sNdcH+xD/Aj39uIMfpNfhTCycjIyMhoJ0gahiu1R7U3L19nxJHKhvjNqy8jbE5c8bvFzI5pR/YyaiA72GZkZGRkfFMg3BK4jaQbcJ+5n+J+Vle0J2MZtZEdbDMyMjIyvhEws//hx6dr4MdFN+M+d70s+ZcjGR0P+RgoIyMjIyMjo0MjW1YyMjIyMjIyOjSyspKRkZGRkZHRoZGVlYyMjIyMjIwOjaysZGRkZGRkZHRoZGUlIyMjIyMjo0MjKysZGRkZGRkZHRpZWcnIyMjIyMjo0MjKSkZGRkZGRkaHRlZWMjIyMjIyMjo0srKSkZGRkZGR0aGRlZWMjIyMjIyMDo2srGRkZGRkZGR0aGRlJaNdIUkdgUZGRkZGRsdFVlbaAZJ2kfSgpBGSxkkaJOnnkuZqb95mJiT1kmSSNoj3NYH+M0hzhmm0NyQ1SbqnjWg1k/E3DTOj/m3ZPq0sv6+kwe1VfkeCpCUlXSzpbUmTJX0k6VZJPWchDwdIGixpgqSXJO3bChpzSjpG0iuSPpc0RNJR6cZLjpMlvSNpvKSHJX2rBs0/V+qnktaX9Gjw+76k8yV1aZTn9kZWVmYxJF0M3A68DxwG/Ai4BzgPuFHSnO3I3szGc8AmwCvxvifwnRmk2RY02htHAr9uI1plGWdkfC0gaX5gIPBd4FRgG+D/gCWA/0hafxbwsCfQD7gX+CFwH3C9pN0aJHUq8AfgH8DOwM3ABcBxSZrTgFPwtWEfoCvQX1LXCnwdBRxdIXxVoAnoBuwXaX4I3NEgv+0PM8vPLHqAAwEDDqsQt3fE/bi9+ZyF8ugDfNbeNPLz9XmAXjGONmhDmk3APe1Yp77A4PaWbXs/wEHAV8CSpfAuwNvAzbOAh6eAu0phA4BHGqAxBzAWOKMUfjEwIn4vAIwDTkjiu0W+Y5KwxYG/A1OA0eV+CvwVGAMsloStFmNkx/Zu00aebFmZtTgOeNHMLi9HmNlNwPnAJ0WYpB6Sbg5T5zhJd0paJYnvI+kZSQdKejPMfI9IWkrS4WE+HCPpH5LmjTyFmXxLSf+NPIMlfU/Sd+NIarykxyWtnJRlko5NeZZ0h6SmhFeTtJOkB4LGe5JOTtJPNdFL6gOcDswXYb0lPVs2Y0rqHHU4qiyzKjSKMg6X9IGkd4O3uST9VtLrkiZJ+lTS7ZK6J/SGSTpe0qWSRkkaK+kaSQskaTaS9Fi0xyhJt0haviSngyXdFubd9yUdIWkZSfeGXF6XtEOSp9kxg6SDJL0saaKk4WHe7VxPvCocg0j6kaSng593JZ2h5MixnnqX5L5rlNEjCbsgwlZIwi6S9FT8XlDShZpmvv84ylioXtlW4WXH6LMTJP0HWKFCmvUl9Q/Zfyzpr4rxkKTZTT6Wxkt6S9JvpMq+UPLxdXW07Rfx9wJJ80R8MRZ+GbL9UNKmEbeNpo274ZJ+p8SaKqmTpLMjz1hJfwJatLZKWkfS/SG3UZL6SVoi4oo+sUkpz1FR3/nrkVP008vlR9hjJZ1XhRdJOlR+RDJB0huSji6lKcbrjdHeI0OGnWpUc/H422zdMrMJwDGUrAWS/i/KnhTjZe8krmijPSX9K/gcImmvGuUD7M/0FozJwDwt5EvRFbgWt7CneA1YTNJ8wMbA/MBdST0/Bf4FbJ/k+Q1uadoOeL5CWasCg8zs44TOa8DIEp2Oj/bWlr4pD7AUrs2eVWf6ZYERwCBgd2AP4EXgI2DpSNMH175fxo+T9gc+A14H/oub+07EdyMnRZ5ewcd7+DHU9sAQ/FjqDdz6sw+uND2Y8GPAsSUe7wCa4nePSDMS+C2wFXBZhO1QKnuDqN+VwHh8YC4G/BIf+IskZewJfEGyMyjJqEyjKGM4sBNhqQIuAkYBBwNb4EcvY4DbEnrD8N3JjcC2uIl5MnBOxM8bcrkh6rc7MBR4oiSnMcDZkeY2fNfzCj6x/AB4OniZN/I0ETsi/AhnCnBy8HkEMIHoN3XET5VxvB8W75dEnY6P9P+ot94V5L5AxB+chD0f5RyYhL0O/DZ+3xPl7Bs8nhDten69sq3Ax8bAl8H39sDvgIml+q8BfA48go+Hg/FxdU9CZ/fI83d80v9V1O/ECu0zB/BC1PdHwes5kf8XpbEwFreYHogvZluX+P1l8HZxwstFeH8+Gu8r/YOXqpYVoGfk6U/0edzS8CowHyDgXeBPpXyPATc1IKemaLNLo59sWIWfs6KeZ0a6PxTvpXEyGt/5b43PGQYcUaOe6wadofjGb11gjippTw9ezwgeLsDnwT1LbTQauDDao1+k2baO+VnAovjx7RTggDZYIx4G3o3fPw/+5i6luRAYlryvBnQq99Mk/krgTUBJ2EIhx7tmlOdZ+bQ7A9+UB9gwOt/P6kx/Pq6ILJqELYpPgMUE3ydobpSkuSHClk/CHgfuiN+9Ij41Lx7O9AvNGcDo5L1eZeWSJH4OXHn5a6nsDRL+P0vSL4ZPzIeXyqg6qCrQKMoo83oTyeIaYRcCI5P3YcDg0sC+HXip1IabJPFb4BPtHImc7k/iC5Pr1UnY1hHWM96nTjL4JDwWmCdJf0jRNnXET5VxyH8EcEOp3kV7r1NPvavIfQDQL353wyfs54ArImz5KGMjoDPwELB9icadwDP1yrYCD7fjinbK919KfewG4H8leX0v0mwe74OA/iXa5xT9rtQ+3eN9nVL6F4BbS2PholKaJ4CBpbAfh+x6AAvji0g6NjvjG5RaysptuHIydxK2RtAtFKjzgHcKWeGbpynArg3IqQlXsueqwcsiwCRKmzJcgZlEzGdB975SmueAu6vRjjR743OKxTMqeP9OkmYhXCE/s5T3KmBoqY1uLKV5ChhQi4ekbxY83AN0aSlPC/R+SnOF9yRgYoV0ZwKjqtCY2k+TsC2LvggsiY/Lu3Clvv+M8Dyrn3wMNOswJf7WK/PN8UEzsgiI3/3xgTI1GHgmef8I+NjM3k7CPsEHcIqnSnko0fkEN1c2iicTfr/CLTbz1ZPR3FT5AL77RtLCwA74jqdRDCnR3tvMrpa0tKStJP0cN5+WzbdPWYzywPCE/1fxyfHuOOLYAXjSzE6Puk6lkfyuJluYvk3AF7T5gRfiiOA7uKJzbZ3xKVbHFcBbSuE3xN/NU55r1LsSHsAnQvD++H7Q/W6EbYcvKk+b2UQz29bMHgjz+7aSjsEX1EL+9co2xWbAAyW+byul2RJXlKbEEUsnXIZjga3ltyJ6AnenmczsBDPbuVygmb1rZr2AwZJWkfQDSb/BnTzLfWlqH4zjlO8A9xR8BC8P4HPClrhiNydwf1LeRNyJsxY2B+40s8lJviG4JbaYK67HFa2N4n3PkEFRVk05JWW9aWZf1OBlY2Bupu9zN0b4xknYk6U0LfU5zI/Ll8WdUi/BlfF9gCcl/SzhoTNwb0nW9wMrKjmqDL5S3AVsJqmlefpNfGNwKK5oP1Dt2LAlSNoft0LfiisV4JYbq5Qct/7UBTMbgFtfewMf4NbOIcCzuDVutkFWVmYd3om/y1VLEGfhRZt0Y9pCl+IjYMHkfbyZTSmlqacTjqsQ1hadt0zjKxrrZ9cAm0taFp9QJ1BaSOrEiPRF0qaSXsCPv27Hj9Um4IM/RVX+zWwcvjD0x52k8LNiAAAXRklEQVT97gM+lHREKU+rZWtmA4Fd8InlJPw4701Jm9UTX0K3+NusH5nZWHxn1awflfK21G73A8vIbxv0wq13A4FvSVoUN70/UCgaknaWNBR4C7gOv8kxnpB/A7It129kKezD0vsiuCXpi9KzIG5dWDjSjaBOSDoEV85eB67AF6tKfSml2Q2X51klPoo0SzGtvVqqUxktzhVm9hzuE7FnxO0F3G5mk+K9JTlVqlM1Xoqyy7zAjPU5wBU4M7vbzH5uZt8C1sEtg+eF/80ikfQ/pboUClRanw9K5D8G5sI3BLV4eM/M/mVmV+JWkc2ZpqjXDUm/wjdj9wD7J4r3GGAeTf85i/kjrm6Y2WV4u6wBLGFmJwJL45uD2QZZWZlFCKvIIGo7NT2Cn1uCd6QlKqRZksQJdxaj3F9qDuhW4m78HPlHuC/BLbG7bDXkV/3uwU3lq5jZQma2JT6ZNQQze9nM9sYnxO/ji/QlkjaqnbOhMu4O/hbFrUwT8F3i3PXEJygmo2b9SO7U2pkZ6Edm9iK+YG+JT9SP4daj8bjyshWxa5c7hd+CKyLdzWwxM9sBXzxTmo3K9hOmOV0WWKT0Pga4Glcoys8fcMsBuAVqKiQtG46pc5bCt8AVlL8Bi5vZ0mb2I3yRq4WinDOr8NKXae3RUp3KqHeuuAHYXdIywKZMs7BBy3KqFxX7XPACM9DnJD0h6S/lcDN7Cb8KPB++GSwW8x9RuT4vJdnLsl0cV+Sn23DInfT30fTfOhkUf5dpsD5/AP6EKyt7pJYx3H9QTO8wviKlcdNCGWtI2tvMvjCzV8xsdIz/7lR2yO2wyMrKrMUFwLqxM2sGSQfgmu91ETQQ2DJ2qUWaRXGT7L9nAa9ljMW18YKXeYFvzyDNskWIGLA34c7CW9DyEdB0NCrgW/jO4gIzexMgLFjbMP1uuCokbS//kN9iZjbZzPoDv4joqhazRiC/4fUkgJmNMbMbgXPxI7muLcWXyBVe/3uWwotbETPajx7AHTrXAR6L44En8JsZXYEHI916+BHA2WY2POo5H74TVby3RrYDgJ1KN0h2LKUZiLf/s2b2jJk9gzubng2sFRadl3Cn0hS/wMdi2eS+MW6ePzOOLZG0NLA2NfpSlPMCsFLBR/AyGbe2dMdlNwmY+s2OqNs21egmddwlVVYlrR48pW18Pe6zcDJu6RhQolFVTi2Un+Ip3IpRqc99SfMj0kbxDrCfpKUqxK2CXy54G7c2foErk6ms18K/XZK2U7ndd8H98KY7gon+/Wfcopli2/j7EnVC0i+DzoVAbzP7spTkP7jStGuSpxs+JzbyEcyewHWSUgX4Z7gMWjpe7FCodU0so+3RD/fwvzx2i3fik+F2+O2Um/EbCeCDojfwsKQz8M51Cj65XTBr2QZ8l/wTSc/hpuDjqXym2ghGA/NK2gX3mShMstfgA+ptfHddN40qaV7Fd0qnxk65C+5tvy5gklRpcqqAp/B2uF3SOXhbHB08DKiVsQEMAE6TdAV+nt4Nv0U00Mw+ltRS/FRCZjZF0m+Bv0oahfe3dXCn1VvMbEa/ivoA3mdHMu0jdI8F/SfMrNhFD8KVynMkXYpbhI7Fd9vFMURrZPt73Jpzh/xji+sA5SvuZ+AT/82SrsYtSqfiykGxI/4dcIuky3EL0Nr4TZ3jzMxKrghP45u8CyTdgitSJ+P+Ks2uQ1fAacHrGOCfIYcz8TngJTMbL+lc4ERJE3GH0yNCTkNr0P191PF+SX/GFcUzccfpa4pEZvaGpGfwG2IXl46P65FTizCzkWH9OE7Sl3h/2Bx3DD/f/Ppta3EKbrF7Our5HH5kU9xgO97MPgc+Dx7OjwX+KXzR/j3u2zNW7g8HcKikj6PuB+JzQurLVcbvgb9IGg48CqyPt+u1ZvYyuFUO96sZlByzTUUoW+fgys2NwEalPvaMmX0m6a/AmZK+wo8cT8Y3jVfWLTG3VH+If7juHLxvnwn8zfwK8+wD6wBevt+kB5/oDsedyz7BF9FnI6xTKe2a+JcSP8Mn7TuAVZP4PpQ+iIYrMsNKYemtnV6UPpqFa+8G9EjCjvbuMfV9qaAzHu/8p+I3lgq6PYLGHqWynwf6ViobN70/jS9Mx5fyjaLkzV9Fns1oVKpfpNsmeJmA7xivY9qV1Y0jzTCmv8HRTJ745PQw8Cl+1fNRYP0k3khuIuFOtIbvnoqwnhHWK96baH5FdG98gfg8+kg/fJfYYnyV9j0Yd6qbFHX8HcmNjnrqXUX2xRXI25Ow4pbEKaW0++GWnolR3iW4QjqFaVfxa8q2Cg/fxcfShGjf/SvUf7OQ8fjoV3cDa5bo7Ik7pE7CTfBHJXHl9vkVrkhPiLS/x8fiaFxp6UGFsRB5d8L760Rc6b8OPxor4oUrn8NDBtfiu++aH4WLOj4WPI2MfEtWSPcrkj5fgUZVOZXl0MIcdwJ+u2hStPvRNL+11WyclOepGrS740dwQ6OuY6Peu1Xg4XjcEbbo938gbjslbXR80n+eAraqo36H4D4yE3EfrFNJ5m6m3dLsUSV/b6bdJKr0FDemOuGWrQ/xNeAh4Fs1+KrYPrhFaQC+1hT8ztlSPTvaU1xjy8joMJDfcPkvrpi90d78ZGRkfL0g/6DhW/h3V26dCfQfA/Yys5acozPqRD4GyugwkH919Yf4tyfuzYpKRkbG7Ab5tfsuWVFpW2QH24yOhPlw58xR+Fl9RkZGxuyGIbgfYkYbIh8DZWRkZGRkZHRoZMtKRkZGRkZGRodGVlYyMjIyMjIyOjSyspKRkZGRkZHRoZGVlYyMjIyMjIwOjaysZGRkZGRkZHRoZGUlIyMjIyMjo0MjKysZGRkZGRkZHRpZWcnIyMjIyMjo0MjKSkZGRkZGRkaHRlZWMjIyMjIyMjo0srKSkZGRkZGR0aGRlZWMjIyMjIyMDo2srGRkZGRkZGR0aGRlJWO2h6QvJVny9Gowf4/W5MtoP0g6oNTmw9qbp1qQ1EXSlZLelzRZ0oeSjmpvvmYGJPWKNunTirwmqfcMlN1bkrU2fxV+mtqI1tGS7m4LWm2FGZ07ZyWyspLxdcAiQDdg3fZmJGOW4Sa8zbsB57QzL/XgKGAPYG9gWWAb4OF25WjmYTzwGjCyvRlpA7wGvDOjRCR1An5Fx+urs83cmZWVBMkO2yRNkfSRpFskrdkKWn3ac7cnqUnS4BgkKU99JXWW9Iak6yvk+7ukW5L31SXdJGmEpEmShkk6r04eih1Wj1phMwozG2Nmo4GxLfAzQ7u2GUGpbzV72oOf2R1m9oWZjY52n9je/NSBbwEvmtnjZjbCzF4ys9fam6mZATN7ysy+ZWYXVYqPOaTPLGarVYh6HNgGpPYDhpvZwDag1Waod+7sCMjKSmXshO9+9gYWA56QtDKApPkk9ZP0tqSJkt6SdECRMTFDng4sX1qYekSatSXdFwrABEnPSVqvzESysDe1sh5rAr8sB5rZROAIYF9J2ybl7Qj8EPh5vG8IPAXMB+wMrAD8mDbYaaSQtLWkQSGLIZL2KMVfIunNiH9f0rEN0h+WKAV/T9qjbynpUpLukjQ++Og5A9Uq4x2mWQL+DdyQvBdtPUzSQZJGS/qppF9IGiNpahu2JAtJ80i6QtI4SUMl/bhs3pX0bUmPB403VeE4IlGuhrWmspK6Bq/FsccHki5O4o+INh8naZSk6yTNVaLRFMr1waFcT2lkLEhaUNJVQX+8pIckrV5Ks7dcqZ8Y6f4tqWsDZfSSNEDSJ5I+l/SYpBWS+L7R9w4GvqcKJndJS0u6VdLYkMdtkpYu0WiKPjEs0v2lxMe3I804SZ9JelHSdxuRRR11XU5S/+g3/5Z0QjKukPRkpfol8U2Rfnng9CRdU6moBSVdE3UZJun7ZVmU6E63CZG0jqSng9cHJS3aQD3PLtWjT4U0q4cMx4dMr5a0YBV6Ao4Dzi7xvKukd+UbxM3kR4PpRnFOSWfE2BktXzOWS+JbXEda6hd1yqPmfCFpBUn3SPo05PGqSnN4m8DM8hMP0AMwoFcS1hl4H7g03hfCO96awFLA5cBnwJwRP3ekORtfoBZKnjkizXfwRX+leJ4G7q/AT6/gp6kVdWkKvscBy0RYH6BvkqYf8GbUsRvwHrBfEv888ASgVsqz4L9HtTBgdWAC0BtYBjeVflHKcwrwbWBJ4DRgCrBUPe0X4QuG/A04MmmPeUv5PgJ+AiwHPAPcNZP6WVPaDolcxuFKzGHRFv3i93P1yiL63QfAZtFHm1KZ4Mr3p8CJIe99gK+A71aR5bBW1G+O6Dfv4Eru0kBPYJ8kzU+BLfAxtEPUY+8KcvoAeDDy70aFsYD36+n4BG4FhgKbAqsC9wZPXSJ+aeBL4BBgCWBl/Khmvgbqul3wtRywFjCMmCsift7oa9cDA2k+H3QChG8InsZN8evE76eIcQf0BcYAj+AWmoOibdZLynkFuAzfZC2HHzOtUq8s6qzrk8C/gFWArSO/JfHzR73WofI4LOLfwftpIYf5kzQW/fOEqMvduEWKRBZNJboG9I7fveP90ajrWsD/gKsaqGfnhLd3gD6l+C4Rfm/IctOQ7S1V6P0QGEwyjwaPTwKb4OPvIWCjCO8aac4EXgbWw9eJR4FHEhotriMt9YsK473cZi3OF8D9wB3AiviY2hz49ozMkRXl2NYEZ+enRoNdDwyqkmfryLN0KbwPdU70wBnA6xXCu+AT6DKtqEsTcDS+AN+U8NS31BE/ifL7AXcmcStEvfadAXn2omVl5Qbgn6V8nwC/qEJzpci/ab3tl8RPndSq5DsyCTsLeG0m9bMmKisr46NNit+Lxu+36pEFPsmOBX5dIU2vpF6DSnSeBc4vhXWKvrd8K+q3bZS5TQN53gV+U0FOzwPzxPuCwBoV8k431oJ3A3ZPwpbEFeFD4r1npNmxDdu2H/BQhfC+VFa0ivlj/SRs/QjbOsn7FqFEAfNQGpvAaOAPxKapUVnUUa/NKvB5CImykoS3NA6HUVIAkjgD/pi8Hw5MqiVHKisr3ZP4E/ENUcObrkq8Rr2/AJZMwnaPcleqQONx4MAKPP8w+b1j8nt5oGvwvEuSZ6eIX6AKr9OtI7X6RT1tRh3zBT5GrwU6t9U4qvTkY6D6MApfCACQtJ2kByS9DdwZwXPXSyzMe0dKekLSh7ilZrr8ZjbBzN40s/dayffooL2XpG0q0P8YOB44CfgB8LMkeqn4+3Yry07xYpgxRwP3lOLWA3Yo4iNNN1yLB0DSRpL+KWko8FwE1y3vBjAk+T0JXxRmJUZEmxS/CwdFFQlakMUKwAL4ZFJgSqmM9YA1S/Jel0TeAGb2ZfS91rR/zyi3qVoCSctKulTSy5JGRfmV2vR5M5sUPI01syEV0lTCGvH36SLAzD7ElaI14v15XLm4V9JLkk4sHxekckqeS5L4LpJOkvSspI/xo+NG+uaauHVnUBI2KMLWSMLeNrPPg+9JEZb2zxOBY4Hhkv5cOuJpURZ1YB18R/18ElbuW22F8jhseKyb2bvJ61v4/L3YDPJVYE3g3ZBhgUK2zeQpaVNc+bihAp3Bye+0zgo6nYF+yTgtaCwTtOtZR2r1i3pQz3xxGm5dfF/S5ZK+02AZdSErK/VhYWLRlrQzvuD+F2+gQ1tB74/A7/AjpG1wM91MgZldi2v2F1F50F8NjAAuN7MPkvBioVylDdjYEV/AeuLm/xRd8ZsdPZNnRVxGSNoANz2/B+yP7y6+kahDFgvE3wk1yHTF+0Mq75WB/2tLVkt/m0f62f5jeN86Gjd/v9+G5adlW5Vwj3TnyXVwk/7RwGuSVk2S9KzwnJbE/wOfA87Bj7XuaiWfMwQzuwxfFM/FrTUvSdq7VEZNWbSABYDJZjazFJSZiS543dvKiVTUL8sTgD+Z2RcNllH4Te3PtH63Fr4h+V/EtbiOtNAv6uWj5nxhZncB3fFN75rAf9WgX2E9yMpKC5A0L7AVfm4OcCDwbzM73cyexc/UK2ESMGeVuIOAi8zs72b2Em4BqVR2Z7mj45KtrwHgfhor4ubLZjC3402mdKPCzF4HXgWOkzSjFobhZjbMzIYBH5biBuNm73eKNPGMivh9gA/N7Cgze5IZc+6dTPU2qQuSlow26dxy6jZHS7Io3lMFc+VSmsHA2sDIkrxHpIkkdYp6LtsKPgfhct66Svzm+KT7UzN72MzewC0JbYlip7phESBpCfzsvpl1xvxmzom4P8jcuJ9NETeswjMy6C0I/Aj4nZndHFafz1rBZyd8ESjw7Qir14pU8PqBmf0paP0b92coyoA6ZCFpoWj3hUrk3wY6l/pDuW/Vi1pzY0uYTHMr98aVEoVTa4H1gKHmFwvSNMtGXTvRGIYAy4UMC2wQf19J6K+B+7Nc0SB9cF8Vw489y/1vcqSpax2p0S/qQV3zhZl9amZ/M7PNcAW+dyOVrQdZWamM+WNR+j5wH+74WGitHwOry73NN2aah/eaklLLxRBgaUn7SlpGUk9J3RIaW0haXtJuuBPlIqmnd2Bj3IR544xUxswGA38BFm8w62G4z8MTknaMwb26pJ/MCD8l/BE3eV4j925fWn47aM+I/xhYQtL3JK0DXIwP4tUldWmwrCH4DajVY5JauxX83oi3ScVJshokzRELQeFYOXfyXi9qyiLM0o8Cx0taTdJWwJ8j71fx90J8l3yrpA2in29WoU2XjXq25qrlI7jl8SpJe0X/X1VSMUkWR127yG8SnI3vzFZWlRsVjSIUoDuBcyRtEtaSK3Fl+XoAST8IM/oasSHYC7/59mw1uiVMwOeG7SR1l3QwrrwsI6nesfYIrtxdGv1/beCS4OHReghIWlH+WYINYgHdEle8noH6ZJHgaLzdjy6F34cvhmfJbwUdRvis1FnPFEOAneW3TLqrwk3IGngd6Bnz0X64ZbgSrpe0kvyG40+AP1VIMxCva6MK+XV4H74y+vUm+Dpwu5m9maQ7HrikOL5rBHGMdT1wiqRDQ+Yry2+bFpa/mutIS/2iTtScL+S3Y8+LsCVjTdywwTLqw8x0iJndHqY5GRXWhneBq2h+22Jx4AHcAfIF3NO7L76j2iJJ1wkfSJ/iO4l3gQ0ibiPgRXyyux/36n4e73zzJjR6MWO3gXon7wsAwyk5dkbcMKo7vK0N3BK8TcZ373V51lOHg22E7YBr/ONDjs8zzWGuC64gfAa8gWvsv420B1Rpv141+BmMO8d9CvSrlo/qN0yaIu2GM9C3mj0Jb8Na+N2iLAjlEreUPQFsH+VskPCyMX77YGz0wSHA8VX4nU4Gdda3K370ODzk/SFwXRJ/Mn7UOAKf6HfDb7xcVpL1dP21QlnV2qobcE209QRcMVgzid8cGIA7dE+IvnFQg/X8AX4T5HP8OHNjfDwNKaXrS5VxjN/SuANXfMYB/wSWrZWX5k6lS0We9/C55u2Q6Vz1yqIkS6PCfICP07eirjcAvwA+q9HXq43DtfHbTpOiDw6oVK94703zG0cLBe/jcYW4J81l0Rufl4+IvvVpyGI659pop2ZzUZU0lWSxNtA/ZPlptFHXJH5ZXLlbtArdqeXW+D037jT7P3zu/Rhfe1aK+JrrSD39op42o8Z8gVu5bgjaE/Hj3L8BC7Zm3qj1FFfjMjIy6oCk+fCFd3mbdlTVYSF38BsILGZmn7Q3PxlfH0j6DX4dfZ325qWjQdKfgE5m1pa+YN9oNHpWl5HxTcdvgTM6qqIi/8jfFHz3swTu+HlXVlQyZhSSDsR9Kd7DLQu/oON9Pr7dEcf9P6G5H1LGDCJbVjIyvkaQdDh+VbE7bga/BzjBzMa1K2MZsz0kXYbfQFuE+Pgd8BfLi0gzSFoX/yha3/bm5euErKxkZGRkZGRkdGjk20AZGRkZGRkZHRpZWcnIyMjIyMjo0MjKSkZGRkZGRkaHRlZWMjIyMjIyMjo0srKSkZGRkZGR0aGRlZWMjIyMjIyMDo3/B45i+HzQLk/BAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Define font parameters\n", "fn = 'Arial' # font name\n", "fsb = 18 # font size base\n", "\n", "# Create figure\n", "fig = plt.figure()\n", "\n", "# Add figure title\n", "#fig.suptitle('NYC measles cases by MMR vaccination status', fontname=fn, fontsize=(fsb + 4))\n", "plt.title('NYC measles cases by MMR vaccination status', fontname=fn, fontsize=(fsb + 4))\n", "\n", "# Create the horizontal bar chart\n", "ax = data_to_plot.plot.barh(alpha=0.3, color='red', width=0.8)\n", "\n", "# Invert the y-axis\n", "ax.invert_yaxis()\n", "\n", "# Remove the x-axis ticks and values\n", "ax.get_xaxis().set_ticks([])\n", "\n", "# Remove the y-axis ticks only (keep the labels)\n", "ax.yaxis.set_ticks_position('none')\n", "\n", "# Set the y-axis labels font properties\n", "ax.set_yticklabels(data_to_plot.keys(), fontname=fn, fontsize=fsb)\n", "\n", "# Create labels in front of the bars showing the number and percentage of cases.\n", "# Note: we round the percentages to the nearest integer.\n", "for i in ax.patches:\n", " label = str(i.get_width()) + \" (\" + str(int(round(100 * i.get_width() / total_cases))) + \"%)\"\n", " ax.text(i.get_width() + 10, i.get_y() + 0.5, label, fontname=fn, fontsize=fsb)\n", "\n", "# Remove the axes box\n", "plt.box(False)\n", "\n", "# Add note about the total cases\n", "text = str(total_cases) + ' total confirmed cases from ' + start_month + ' to ' + end_month\n", "fig.text(0.5, 0.0, text, fontname = fn, fontsize = (fsb - 2), horizontalalignment='center')\n", "\n", "# Add note about the end of the outbreak\n", "text = 'Community transmission was declared over on Sep 3, 2019'\n", "fig.text(0.5, -0.1, text, fontname = fn, fontsize = (fsb - 2), horizontalalignment='center')\n", "\n", "# Add note about the Data and Image sources\n", "sources = 'Data: NYC Health, Image: carlos-afonso.github.io/measles'\n", "fig.text(0.5, -0.2, sources, fontname='Lucida Console', fontsize=(fsb - 4), horizontalalignment='center')\n", "\n", "# Show figure\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Save improved bar chart" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Set image file path/name (without file extension)\n", "img_file = os.path.join('..', 'images', 'nyc-measles-cases-by-vaccination-status-bar-chart')\n", "\n", "# Save as PNG image\n", "fig.savefig(img_file + '.png', bbox_inches='tight', dpi=200)\n", "\n", "# Save as SVG image\n", "fig.savefig(img_file + '.svg', bbox_inches='tight')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Export notebook as HTML" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Export this notebook as a static HTML page\n", "os.system('jupyter nbconvert --to html nyc-measles-cases-by-vaccination-status-final.ipynb')" ] } ], "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.4" } }, "nbformat": 4, "nbformat_minor": 4 }