{ "cells": [ { "cell_type": "markdown", "id": "cf774df1", "metadata": {}, "source": [ "# 【《白话机器学习的数学》笔记1】回归\n", "> 基于《白话机器学习的数学》这本书中关于回归的理论知识,准备自己动手利用代码实现一波,来一次真正地从源头上的入门!(所有的应用案例都是贴合书中的内容的,比如现在这里讲回归,所说的案例就是 利用广告费来预测点击量,那么我接下来就通过代码来进行实现。)\n", "\n", "> 回归,常用于对连续数据的预测问题" ] }, { "attachments": { "image.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3MAAAISCAYAAABmlpYxAAAgAElEQVR4nOzdeZRU5Zk/8G/duvfW0iu90N1szd4ISIuIUcR1wKiYmM0xY6JxmYkZx4wTM2cm20l+5iSaM8aJJ04mMRNNJnGJGxpGVDSCsoosDTQg+740NPRa+13q90ef5+WtohVMwOqG7+ccDk3XrVtLd13uc5/nfZ5ANpvNgoiIiIiIiPoVo9BPgIiIiIiIiD46BnNERERERET9EIM5IiIiIiKifojBHBERERERUT/EYI6IiIiIiKgfYjBHRERERETUDzGYIyIiIiIi6ocYzBEREREREfVDDOaIiIiIiIj6IQZzRERERERE/RCDOSIiIiIion6IwRwREREREVE/xGCOiIiIiIioH2IwR0RERERE1A8xmCMiIiIiIuqHGMwRERERERH1QwzmiIiIiIiI+iEGc0RERERERP2QWegn8EEymQwcx0EkEoFhGMhms0in07BtG67rwjRNBAIBBAIBuK6LQCCAYDAI3/eRzWbV157nIRAIwDAM+L6PYDCIQCAA3/fV/emYbDaLbDar3pt4PA7btmEYPXF/Z2cnmpqakEqlMGvWLHUf+Zl4nqfeYyIiIiIiOn36ZDAnwVgwGFT/dhwHoVAIAGBZFjzPg2EYKmhwHAee58GyLGSzWWQyGZimCdM01T4koJNgTr8/9bxH8v5kMhkEg0GEw2E4jgMAME0TTU1N+K//+i9UV1fjiiuugO/7KCoqUvuQnxkREREREZ1efbLM0nVduK6rMnKO48A0TSSTSXiepwIzfTvTNFUgYRgGgsEgPM9T20jGTjJODOJ6p783ktGUzNzRo0exdOlSLFiwACtWrMBrr72GcDissnJAz8+OiIiIiIhOvz4ZzAWDQRiGgUwmAwAqkHv00Ufx1FNP4dChQ6qcT0r65G89gMu/XTJxnucBAAO6Xsj7Y5omDMNQAXQgEMCaNWuwaNEiJBIJ7N69G88//zwAqPdYgj8iIiIiIjr9+uSZt2TQJNuTyWSQyWTwzjvv4D/+4z/wzW9+E8uXL0c8Hs/JvEkwoQdx8j19fZ0Ec3Q8KV81DEMFdQDQ3t6OhQsXYtWqVXBdF11dXWhubsabb76psqSJRIIBMhERERHRx6RPBnNCsjzBYBDZbBYdHR3Ytm0bysrKUFZWBsuyVOAB9JT4yfoufe2W7/vIZDKqPFMvI6TjyfuSzWZV+erKlSuxePFitLW1qbV1LS0t+OMf/4iuri4VNGez2QI/eyIiIiKis0OfDOYkQJOgAegJyCzLAgBMnToVQ4YMgWVZcBwnJ0gzDAOJRAK7du3C/v37VadLCVCk3FLfNx0jTWIAqHWHHR0deOutt9Dc3Kx+NqZporu7G8uXL8fSpUvV2jrXdRnQERERERF9DPpkMCekTb5k26SLZTgczimjBJDThfHdd9/Ff/7nf+Lxxx/Hpk2bVPDh+74KVJiV653+vsh7tXr1aqxcuRIdHR0527iui0OHDuGZZ55BKpVSa+uIiIiIiOj0K8hogg8bDyBdJ4Vkh/RRBbt378a6desQjUZVwCENT7q6ujBv3jy8+uqrGDBgAEpKSlBdXY2amhoAx9bjAQzoeiPvtWTYHMfBm2++ic2bNwM4Nr5AfobxeBwLFy5EU1MTpkyZAsuy+L4SEREREX0MCjpnTh/cLVkdGfQtwZvMnJPts9ksurq60NLSAtu2kclkcoKHVCqFIUOG4NZbb4Xv+4hGo+ju7lbBnJRY6sOx6Rg9WDNNE6tXr8bSpUtx4MCB49YbZrNZeJ6HI0eO4IknnkBjY6Ma5k5ERERERKdXQYI5WZelBwcSzOnNTORrCbykW+L555+PT37yk4hEImrGmbTRlyHWkt1LpVKIRqMAkPOYnDXXOwmobdtGOp3Gc889h82bN8MwDJSWlsKyrJz3ubu7G4lEAi+//DK++tWv4rzzzuN4AiIiIiKij0HBMnOSfRP6GAHLslTWR9bGZbNZRKNR2LaNWCwGz/OQyWRUt0V9Npqe8QsGg/B9H8FgUO1XSjLlcekYCY6z2Sy2b9+OJUuWIJVKYfTo0Zg6dSpM08TChQsRDAZx1VVX4f3338eWLVsQj8fx5JNPYuTIkRgwYEDOz5aIiIiIiE69gqZQ9Bb40iUxmUwiHo8DODaSIJvNIplMIhaLqe/7vq8aoUjGLRgMIpFIoLOzU2XgQqGQKuOUbJ3neZw11wt5vxzHQSaTwdNPPw3XdXHdddfhgQcewM9+9jNce+21CIVCGDx4MO6++2787ne/w913343hw4dj7ty5OHToELuEEhERERF9DAqSmZP5ZTLEGzi2BmvLli04evQozj33XJSUlKismm3bKC0theM4KjCTJh1Sotne3o7Fixejq6sLn//851FcXIxgMIh4PA7P81BaWgrDMBAKhQrxsvuFQCCASCSCPXv2IBKJ4OGHH8YFF1yAoqIitY1eRjlixAh8+9vfxr333otHH30Uq1evxtChQ9UYCSIiIiIiOj0KEsxlMhnYtp3T3AToyZht2LABjz32GCoqKvCFL3wBVVVVME0Thw8fxoEDBxAMBrFx40YMGDAA0WgUnueppiaLFi3C888/j1gshjVr1uBHP/oRysrKUFxcrB5Dgj8Ax3XSPNvpXURramrw7W9/W5WkptNpGIaBWCyGeDyOIUOGIJ1OAwBM00RJSQm+9a1vqbJYIiIiIiI6vQrazTK/m2QwGMSRI0ewYcMGjB8/Pie7U1VVhfvvvx++76O8vByGYaCzsxPl5eWwbRuO46jAra2tDZlMBh0dHYhEIjndMB3HQSgU4pquD5BKpRAOh1WnUOkqGgwG4TgOSkpKUF5ejmQyCcMw1PYA4DgO31ciIiIioo9JQYI527YB9GToJGCTdXPd3d1wHAfjx4/HrFmzcrpOSmmlNOgAoAaFS+nfkiVLEA6HcfPNN6Ourg6WZak1XNIsRe4TDAZhmgWNZ/sc27bV+2VZFtLptGouI/9OJBKorKyE53lqe8dxVABoWRY7WhIRERERnWYFiWTS6TRs21allvkBWyKRQCKRQCgUUsGWBAySBQKOrd2S4MG2bdXEo6ioSAWN+V0z5T4sB8ylj4YQsr5Q7zYKIGckRDabVT8DBsdERERERB+Pgpx5W5aVU8Knz5qTcQQSiOXPhjMMQzVACQQCiMViME0TpmnmrOE60Xo4BnK9y39f8v8t76tkUvUh4nI7ERERERGdfgUJ5mTkgB7EyWgCyfBIUKfPmzMMQw0Tl4yQbdtqLIGshZNumURERERERGeqgqRRpDOiDPvW57/JuAE9G6evj5PsnOM4yGazCIVCOR0qPc/jnDMiIiIiIjrjFSR9JUGZ4zgAjg0Bl6DN9320tLTg7bffVuMLJFiLRqOIx+MqMye3u66L9evX48iRI7Btm0PBiYiIiIjojFawbpaSPZNATkopJXDr6OjArl27APSssXMcB4FAAOFwGLFYLGfcgNynra0NruvmNE4hIiIiIiI6ExUs4nEcJ2d9nGTaXNdFUVERxowZg0984hNqbZ0EfY7jwDRN1Qof6BlxEAgEUFdXp7pgVldXF+qlERERERERnXYFDeZM01QzzBzHgeu6aGhowM0334yZM2di+PDhSCaTKCsrU10SZb1dd3c3iouL1TgCz/NQVVWFsrIy2LaNqqqqQr00IiIiIiKi065gwZyUQUrDkoMHDyIajeKmm27CjTfeiGw2i5aWFmzcuBGTJk1SmbZwOIzu7m6sWLECQ4YMwahRoxCNRhEMBjFw4ECkUils27YNzc3NGDFiBMrKynJm2AFQTVX0+XZERERERET9ScGGglmWpcorPc9DU1MTduzYkbNNe3s7Xn75Zfz+97+H4zhqbVxxcTGOHDmCZ599Fu+99x66u7vVurva2lpEIhH89re/xZw5c3Dw4EEAx2bYOY6jyjXZJIWIiIiIiPqrggRzehAn5ZWrV6/G9u3bVcbM931UV1djzJgxePTRR7Fo0SJ4nodYLAYAuP7667F8+XLcf//9mD9/PpLJJCzLgm3bGDNmDBobG/HTn/4Uv/rVr3D06FEEAgGVDXRdVw0aJyIiIiIi6o8KEsx1dHSoGXGmaWLOnDl44403cOTIkZ4nZRhq3VtjYyMOHjyIO++8E21tbSgtLUUgEEB5eTmmTZuG/fv34//+7/+wdu1aJBIJBINB1NTU4KqrrsJVV12FX/3qV7j99tuxb98++L6f00lTyi6JiIiIiIj6m4IEcxUVFSr79tprr+GnP/0pDh48iIqKCgA94wYymQxSqRQqKysxcuRIxGIxbNy4UZVUAsC4ceNg2zYWL16MvXv3oqioSGX76uvr8ZWvfAWVlZVYtGgRXnzxRTiOg66uLpWRYzBHRERERET9VUGCuUQigVQqhRdeeAE//OEPsX79ekydOhVjxoxRAZZpmohEIjBNExUVFSgrK8PkyZNRXFysGphcdNFFGDx4MK688ko0NjYiEAjAMAw15qCyshLTp09HIpHAokWLkEgkVMAHgM1PiIiIiIio3yrIorFIJIJMJqMyahdccAG++MUvYvz48arJiQwDLysrw1133YWGhgaEQiF0d3ejpKQEhmFg8ODBeOCBBxAKhTB06FB4nodsNgvDMBAIBDBw4EDceOONeOGFFzBr1ixEIhG4rquarwBQw8eJiIiIiIj6k4IEczIw/N5778UnP/lJ1NXVYejQoWpmXDAYVA1SSktL8elPfxq2bcO2bRV8SXfLiRMnAujpjun7vgoCA4EALMtCY2Mj5syZg/HjxyMUCgHoKa+UxyAiIiIiIuqPChLMmaYJwzAwevRoDB48WAVWMjLANE01aiASiahGKTIXTgK2bDYLy7IAHFv/JsGeZOgqKiowbdo0VXoJQO1DOmcSERERERH1NwUJ5iQQA3pKLvVxBPnbSdmlBGnJZBKRSEQFZ77vq7JK+ZPNZlUwJ8GeTtbWMZAjIiIiIqL+qmCD1vRASr6WgE2yZnKbaZoq4NM7UUpQBvTMjtMzdfmP8UGPSURERERE1B/12anZekllJpNBMBhU5ZnCdV0AOC7Lls1mc7J5REREREREZ5o+2QFExgvIujl9HlwmkwFwLLMmt1mWpbJ2+u1ERERERERnoj6ZmZO1cJ7nwTAM2LatulvOnTsXdXV1qK2txbBhwxAOh9X2J1orR0REREREdKbok5k5PSAzDAOO4yCbzSKTyeC+++7DD37wA7zyyis4fPiwCvo8z1PZuPxGKkRERERERGeaPhnM6XzfV/PnLMtCd3c3mpqa1Lo4aXyid7JkMEdERERERGe6PhnMSYbNMAwEg0FkMhnVDCUQCKC+vh6f/vSnMWLECLVOTh9tEAwGGdAREREREdEZrWDBnKxv0//I94WsmQuFQnBdF4lEAqFQCKWlpWobwzByAjoZOJ5Op4/brz7yQL+NiIiIiIiovylIMKcHUq7rIp1Oq66V+QGYfD+TyaC4uBjZbPa4QE3veOl5HuLxONrb2+F5HlKplLqts7NTbasHdkRERERERP1NQYI5x3HU16ZpIhQKAYBqZuK6bs6A8GQyiWg0CgBIp9OIRqOqFNNxHHieB6AnkFu9ejXuvfdefPazn8W8efNUVg8AysvLc54DSzGJiIiIiKi/KshoAtM0EQgE4LouXNfFokWL8OSTT2LPnj2orq6GbdtIJpNqHdywYcPQ0tKCbDYLx3Hw/vvv47777kNFRQVM01T7AXoyfV1dXYhEIpg9ezbKyspw0UUXAegJ9tLpNMLhsGqqQkRERERE1B8VJJiT7pMAYNs2LrzwQtTX1yOTyaggS7JtUgppmiYcx8Grr76K4cOH4xvf+Abq6uqQzWYRDAZhGEbOvuVPWVmZmlHn+z7C4bDaloiIiIiIqL8qWDAH9HSdzGazCIfDGD58uMrYyTYS0Pm+r7YNBAJq+xEjRuSse9PHE8jIgmAwCM/zVMDn+z4cx1GdMomIiIiIiPqjggRzhmEgFovBNE3Ytq2COGlqImvnZC2dfF+Cu/ygT/apB3Pyb8MwVBDouq4K4FhiSURERERE/VlB6g0Nw4BlWSoo0wMvz/PgeZ5qfiL/lm0AqMYl+YGc67pIpVIqkyeZuFQqBQBqXZ0EhQzoiIiIiIiovypIMOe6rsq66d/zfV+VPxqGAcdxVLZNtpHve56HQCCgMm2SfdPXzvm+j8OHD+M3v/kN3n33XQBQmTsiIiIiIqL+rCBllp7nIRaLYdOmTaokUsYRSLDl+z5834dlWQB6gjCZRxeLxbB+/Xq0trYCgCqllO1EOp3GkiVL8Pjjj2Pq1Km45557cP755590J0sp75SumpLp0xusyOuR55H/OoPBoMoaGoZx3GvNv58+P09/jvIc5Hnot+lNX/TnrDea0bchIiIiIqL+r2Br5o4ePYo1a9YcV2YpAYuecQN6mqU4jgPXdZFMJrF582a0traq7aT0Ug+0EokEtm3bhvHjxyOVSmHr1q2YMGECwuGw2veJghvZRko99WBKH27e2/30NXoyVkECTz2AkzWC0rBFXkf+c5SOnPJc9H1LAGyapnosyXDmN4khIiIiIqL+ryDBnGVZCIfDOOeccxCJRFRwpDdCkUBFyil930c6nUYoFEI0GkVDQwNGjx6NYDCITCaTEwDqWbTp06fDtm3E43GEQiFEIhG1P+DEwU1+1kyya/rA8d7W8+kloBJkSWbRsiy1D725i742UN9fMBjMWScoX+vfB46VoQJQwZyezeNIBiIiIiKiM0dBgjnf91FbW4va2loAuWWK+SWTUtboeZ6aQ1dUVIQJEyZg9OjROWWFsu9sNgvTNNW+pNwxkUjAtm0AJ5eV07NvMhpBgi0JMmU7uV1eizR4kYxbIBCAbdsqiJP7y/O3LEutI9TLMCWbJwFZOp2GaZqwLEtl6uTxQ6EQHMcBAIRCIfU4lmUdV3ZJRERERET9W8GCOQk6JBCJx+M4evQoAoEAKioqUFRUBNM0VXZLskrSmVLI96WBiud5aG9vR3t7OwYOHIjy8nI4joNoNIpoNJozkPxk6Wvf9DVt8vjJZBJdXV3o7OxEJpOBYRiIRCIoKSlBJBJBcXExUqkULMvKyaxJNjKZTKKlpQWxWEzd3zAMVFVVobS0NGcNXDgcVoFeMBhU5aeHDh1CLBZDPB5Xr9e2bQwePFg9TwZyRERERERnjoIEcxKEiFQqhQULFuDpp5+GaZr40pe+hCuvvFJl1vLLCWW9mJ7Bk1EGe/bswWOPPYZnn30Wd9xxB7761a+ioqJCZbBk+48S3PS2hs+yLPi+j+7ubqxYsQIvvvgiFi5ciP379yMcDmPs2LG4/PLLcf3112PixImIRqNwHAeZTAaWZeXcf+PGjZg9ezZeeuklbN++XQWeX/rSl3DjjTdi4sSJCAaDsG07p5GJ53lIpVLYvHkznn32Wbz55ptYu3YtAGDgwIG49dZb8YUvfAGjRo1CaWmpytAREREREVH/V5BgTu8QGQgEEA6HYds2WlpakEqlEIvFEAqFctZ4SRfIbDarSiX1ZiSZTEZtFwwG0d7ejk2bNvXaWOWjNgTRxx3o92lpacEvf/lLPPHEE2hra0NVVRUmT56MTCaDpqYmLF26FL/4xS/w61//GjNmzEBJSQksy0IymYTv+3BdF3PmzMFDDz2EjRs3ori4GEVFRTAMA52dnfjFL36B+fPn4/vf/z5mzJgBwzBUiaXjOOju7saCBQvw4IMPoqmpCeFwGMXFxbAsC4lEAg8//DD+93//F//93/+tHl8PoomIiIiIqP8q2Jw5oCdIymQySKVSKkibMGECJkyYAAA5a9A8z1P3k1JLCeI8z4Nt27BtWwVJ1dXVuOyyy1BZWakeS2+qomf6TkQPgCSQSyaTePPNNzFv3jz4vo+vfe1rWLFiBV599VW88cYbWLJkCRoaGtDd3Y37778f+/btU69dAtVXXnkFjzzyCJqbmzFq1Cj85Cc/weHDh7Fz5078+7//OwYOHIj169fjxz/+MTZv3qzW4QGAaZpYvXo1fv7zn2P16tUYPHgwfvazn+Ho0aM4ePAgHnjgAdTU1MB1Xdx///1YvXo1G6AQEREREZ1BCnJ2L807HMdRnS0BHNftUV9fJoGIbJtKpVRWTy+fBKAyfqFQCNlsVgV/sk5PZtedaHi4/vhCShxbW1vx5ptvYs2aNbj44otxyy23oKKiApFIBJFIBEOGDMEPfvADAMCmTZvw8ssvo7W1FaZpwnEc7Ny5E/Pnz8e6deswadIkfOtb38Itt9wCy7JQXFyMf/3Xf8XDDz+MyspKNDc346WXXsL+/fuRyWTU/V955RUsX74cY8eOxXe+8x186UtfUuWYd955J5544gmUl5dj06ZN+NOf/oStW7f+dT84IiIiIiLqMwoSzOllkb0NstZnxenrvBzHUd0dJbiT21zXVV0gpdGI4zjwPE91ibQsSzVK+ahrx/SmKZlMBhs3bsTevXvhui6GDh2K8ePHq+6TgUAAJSUluPTSSxGJRFQnzlQqpdbMbdiwAc3NzbBtG5/4xCfwuc99DuFwWGUQw+Ewrr32Wlx55ZWwbRvz5s3D3r17VbfO7du3o7m5GZZlYerUqbjppptUoAv0dLOcPn06pk+fjqKiIrz99tvYtm2bGoEgfN9XPwtp7nIyf/LfF5mrp+9HAnbp6Ck/PyIiIiosWX6ik4vY8n+6/v++nD+d6EI4EX28ChLMdXZ2wrZtNR8ulUqpoEA/uEiTDwnSpN2+lFQCx+bQ6U1VZC2dbduqC6Vk/WSQdm9BZG/0YEX2HQwGVVAk+5NZctKsRcYY6F07bdtWWcH33nsP77//PiZNmoSrrroKJSUlajt5PcXFxZgwYQKi0Sg2b96MlpYWddu6deuwatUqDBkyBBdeeCHKy8uPmyVXVFSESZMmoaSkBLt371aZPdd11XvueZ4aNP5Ru3wCyAmqpStpNptVAaK8H/Je6ZlSIiIi+njJOUr+xfD8+bv5SzPkfIqI+paCBHORSERln5LJJICeTJJpmmo+nF5eKcGXBGuyxk6uGknbfn0tnuu6Kosn9IzfyR6QZI2aYRg5gd2YMWNQV1eHbDaLtWvX4q233kIymVTPN5PJ4PXXXwcAVFZWYurUqSgvL0c6ncaePXuwZ88exONxVFZWYsiQIep1SHAqr7mxsRFFRUVIJBLYvn07Ojs70drail27dqGzsxO1tbW44IILcg7MeqOWyZMno7y8HN3d3di9ezfa29tVExXJAuplqhJMf9AfACqA1efcyXOW9YD58//0nyXX7hERERWGPv9Wp3fKTiQSObdLPwI57yKivqMg3Sxt20Y8Hlct+qX8Uf+jBxiS6ens7ERRUZEK2vLnvulBhARhQoIXyRJJ0Phh9KBPAkT5etiwYbjyyiuxfv16rFmzBv/zP/+DVCqFyy67DADw6quv4uc//zkcx8EXvvAFTJo0SWUWDx8+jM7OTvi+j/LycgwdOhTAsfIGyZRls1lMnDgRoVAIwWAQ+/fvR2dnJzo6OnDkyBGEw2GUlpaivr4+Jxsoz933fYwdOxYlJSXwfR979+5FS0sLBg4cqN5TySbqGboTkf8I9EyolJhKWaxeHisZObnyx46aREREhaF36JYLscCxcyrgWG8BoOf/fLkQq1/Y5YVZor6hYEPDJbtjWRY6OzuxbNky7N27F5lMBk8++STq6uoA5Gbm4vE4UqkUWltb8cQTT2DYsGHIZrNIp9Nqm7a2NqxatQoA1Fw2vcZbP3D1dmVKJ/fVSx+lhNMwDMycORPxeBzPPvssVqxYgdbWVsydOxcAsG7dOuzZswd33XUX7rzzTtTU1KhS0K6uLsTjcRiGgYqKClRXV/c6kNzzPAwaNEgFQ+l0Gq7roru7G7FYDNlsVjVM0Q/C+hrDqqoqlS1LJpNIp9M5AaqezTvZtYR6AChBnGmaai2kzP3TD/x69o7/ARARERWG/B8s/zfrF7rldqnayb9gLt9juSVR31GQYA7IzaoZhoEBAwagpKQElZWVqKurQ0lJicr+SAAQiUTwL//yLwiFQigvL1frzFKplNpGskOO4yCZTMJ1XXXgknVbpml+pNEEeiZPP7DV1NTg/PPPR1NTE7Zt24YVK1Zg9erVqvxwwIABqKioUM9TMmF6qYJpmqpBS2/vkTRFkRIHOfi6rqv2F4lE1HPTyzQlWAaOjXnQg7ZQKIR9+/Zh3rx5sCwLmUzmhIHWu+++i46ODgQCAbzwwgtYt26dygJGIhHEYjH1XgWDQdUAZdCgQWhsbMSgQYP4HwEREVGB6AGZvrxCzrnkdj0jl18txf/HifqOggRz+UO4o9EobrjhBkQiEdTU1OCaa65BNBo9bh2Y67rHrWHTD0YAcPDgQbS1teH999/PKanU19SdbJmffsUKOFZqIAFKU1MT3njjDezatQsjR47EpEmTUFFRgdbWVmzZsgXNzc344x//iI6ODtxyyy1oaGhANBrNWcsnryH/vcl/jcFgUK0DzH8vJSuml2kCyCk11csi9fdkx44dePDBBxGJRNT6xQ/T1dWF9vZ2dHR04Le//S1KSkoQiUSQSCQQiUSQSqVUsCzPGQCmTZuGkpIS1NbWMjNHRERUIPmNTuRr+bdckD569Chc11XN26LRqKp4IqK+o2BllnJAkD/Dhw/HnXfeqUoHgWMHFz1DJ9k1fQGvvp9wOIyJEyfimmuuwYQJE9RaN73sT8oW5TE+iFyZyl8bls1msWrVKjzxxBNYsmQJhg0bhq985Su4/vrrUVVVhZaWFrz33nt48cUX8dZbb+Gxxx5DIpHAt7/9bVUaqi80zg9S9dsTiYR6npZlqeei169nMhmV3cu/WqZ3qAqFQjmNT7LZLKLRKEaNGpUTEH+YQ4cOIZlMwjRNjBo1CuXl5Wocgzz3/PfQNE0MHjxYjU5gMEdERFQY+jmG9CiQ86quri7s27cP77//PrZs2YJEIoFQKAEh16oAACAASURBVIRQKISRI0eisbERQ4YMyRmFRESFVZBgTgIvWX8mAUp+xkzPNkkAIGWTEmTpHSADgQBKS0tx3XXX4corr0R5eTlM00QqlYJlWTBNM6cj5YlKBPLXzMnzTiQSeOaZZzBnzhyMGzcO99xzDz772c+qfQ8bNgy1tbWYNm0avvOd7+D555/HM888g5kzZ6K2thbV1dUIhUJwXRfxeBzt7e2oqqo67vEA4PDhw8hkMvA8D2VlZSgqKlLNY4CeQettbW2ora3NWQ8oWcSjR4+qTGAkEkEoFMp5LWPHjsXDDz+stjnRezJv3jz88pe/RHl5Oe677z6ce+65aGtrQ1FRkXp/8ztgAT1jEiorK1mWQUREVGByAVcuwGazWRw+fBjvvvsu5s+fj9mzZ+PAgQPqfMEwDIwaNQrXXXcdbrzxRjQ2NqK4uFjdV/apl2Dy//tTT79gLufG+jmyLv8ifX6TPDpzFKzMUoZn66WE+dkyfX2aBDrSJdG27ZyulnqDDcuyUFRUpILDaDSqHlu+l9/t8oOep6wlk0Hk2WwWGzduRHNzM2KxGKZNm4ZLLrlErYGTjGMgEEBtbS2+/vWv49VXX0VbWxvee+89XHjhhaiursaAAQMQCATUmIHKykoAx4JV13URDAaxadMm1eClqqoK0WgUtbW1qKqqgu/76OjowM6dO1FTU6PeC5kfZxgGNm3apJqlDB48GBUVFaoU0/d9hMNhTJgwQT223sGqNxs2bFBNV0aNGoWGhoZeSy54oCAiIup79IvaUlHT3d2NxYsX46GHHkJTU5MKAkzTVE3Otm7dil/84hdobW3FP/7jP2LKlCmIRCIAjlUuydcnc3GY/nKydMi2bdUrQq+O0gM9Cdr1yjd2FT+zFKTeTYKJ/ABOb9IBHDvQSOCVyWTUoHEAah+u6+Zk52R/fy09gwj0dMcMBAJoaWlBPB6H53moqKhARUUFgJ5WvnJAk+Bv8uTJqumK53lwHAcjR45EfX09bNvGgQMHsGXLFvX85YMpg7XXr1+PVCqFUCiEc889FwMHDsSwYcMwevRo2LaNgwcPorm5WV2BicfjSKfT6j3bsGEDuru7EQ6HUVdXh4EDB6rsnF5u2ds4ByIiIjqzyIm/CAQCWLduHWbPno0tW7aoi8nAsUyQdKp2XRezZ8/G448/jk2bNuVkfmRZh54BolNLT158UL8F6TLuOE5OrwT93I/OLAX5ieq/TJlMRh0sgsFgzrowaWAit0ciEdW5UeijAvSOj3Ll6a/lui7C4bAKNuXDIe3+4/G4GhauPyfZ9vDhw2rNX3FxsRqYPnbsWIwdOxYHDx7E+vXrVaAnAV1RURHS6TSee+45pNNpXHrppaiurgbQ86EcPXo0Ghsb0drainXr1iGVSsFxHJSWliISiSCdTiOVSmHevHloa2vDtGnT0NDQkJNhlPftZNYPEhER0ZnHdV2sW7cO8+fPR2dnJwCoZmv6OKFwOAzbtpFOp/H6669jxYoVSKfTajs9SGSTlNND7xGRn2XTM67SIwE41ihPeizwXO/MU7BgDkBOExMg95dUZpXJbDcJ+mTNmmTp5AqS3hRFMmGngnwYpBFJKBTC6NGjVa340qVLsWDBAqTTaSQSCXUgS6VSCAQC+N3vfgeg58A4bdo0VFVVwXVdXHDBBRg/fjwOHz6MlStXYsWKFTAMQ2Xk4vE4XnzxRWzfvh2dnZ2YPn06hg4dqg6QEydOxOTJk9He3o7ly5dj6dKlqsQzk8nAtm28/vrr2LhxI7q7uzFx4kQMHjxYBY361TT9/SciIqIzl/xfL+dJbW1t2LVrF44ePZozYw6AapACQF24DoVCOHz4MHbt2oWurq6ctXcALwyfbvoYKgCqO3l+ljSZTKpzV7mQL/enM0vByiyBnqsFtm3nzEhzXRfpdBrpdDpnO30tl7THlaBN1pjp9d8fZY7ch5Ffev3xx40bh5kzZ2Lo0KFYsmQJfvKTn+Cll14C0BOgZjIZtLa24rvf/S5+9KMf4ciRI/iHf/gHjB8/HpFIBL7vq30MHz4cy5Ytw/e//33Mnj0bnuchmUziySefxPe//304joPJkyfj6quvRlVVlfrw1tfX4+qrr8bEiROxfv16/Nu//Rt++9vfqtrpxx9/HN/85jfR2tqKCRMm4Prrr8eIESOOu3rW28+FiIiIzkz5wda+ffuwe/funDFM+cPE9QvVcrE6mUyqkUa9XSCm0yc/INOXL8lSn2g0img0qvpUpFIp2LZ9yirXqO8oWDdL4NgHXhZoSjZO+L6PdDqdM+hbH2opqWV9gLY0AAFOzQJPaQoi6+GkTe/NN9+MdDqNP/zhD2hqasK9996Lb3/72zkLTru6uuA4Dv7u7/4O3/jGNzBs2DD1emzbxg033IBkMolHHnkEy5Ytw+bNm/Hggw/i6NGjiMfj6OrqwqhRo/DII49g0qRJ6nXL67zqqquQTCbx//7f/0NzczO++93v4qGHHkIymUQmk0F7eztqamrwwx/+EBdddFFOnbWUpALHrs7xAExERHRm07uAy8XwdDp9XNM5aQAH9FQlSdMNabIWi8WQSqVUoOf7PhzHUf0F6NTTu4vqzU5kyVE8HodhGFi5ciWeeuopFBcX47bbbsPEiRMRCAQQi8VQUlJS4FdBp1pBgjkJsvQ0vqT2Y7EYHMdBUVERbNtWQZxsn0wmEY1GVXml1ALLwaS9vR3xeBzDhg07Jc/VNE314QiFQmq4dlVVFW677TZMmDABCxYswJIlS7BlyxbE43GEQiEMHToUM2bMwNVXX41p06Zh4MCBAKDqzQGgvLwcn/rUpzBgwAC89tpreOedd7B+/XoEAgGMGjUKt912G26++WaMGTNGdbSUVLlhGCguLsYVV1yBH//4x5g7dy7eeustbN26FcFgEGPGjMH111+PW2+9FZMnT4ZlWaojld6SmO2DiYiIzh754wOqqqrUOQoAdVFaGqO5rquWgOgZoWg0qnoKCLno/EHt8umvp2dNpWuonFc3NzfjD3/4A5YvX449e/bANE2Ul5fjnHPOged5iEQiKuCmM0dBgrn8YEIW2DqOg23btuG1115DZ2cnrrzyStTW1qrUMNCT4i8qKspZxCkHl127duGNN95APB7HHXfcgRkzZvzVz9X3/eMGcodCIXieh4EDB2LGjBk4//zzcdtttyEWi6lyhFAohIqKCtTU1KirIDIbT5/1Vltbi1mzZuHCCy9Ea2srEomEmpdXU1ODmpoaFdDKukCRzWZRU1ODq6++GpMnT8Zdd92FeDwO0zRhWRZqa2sxdOjQnMybflVHX6gsf9iuloiI6Mym//9fV1eH4cOHIxKJqP4ElmWp6h0JHHRlZWUYPXo0qqurcxpv6A3sGMydevrsZb3KTTpYNjU14e2330Y6nVa9GS6++OKc82wOfD/zFLQXvQQocmUhEAggHo9jzZo1anaa1AFLa389jSwBnSz+PHDgADZt2oTm5mb4vo/6+nqMHDkyZ96J/PLLvk50sMm/rx58SmBXUlKC+vp6ALlDM+XfIr+drMylC4VCKC8vx+jRo3O21Z/vBwVZhmGgrKxMHVjlOepD1T+oW2X+62KGjoiI6MwnYwYCgQAikQjOO+88TJkyBUuWLMk5Z5AL7zLbVwKJadOmYcKECTkdsvVqK14Y7p2eyPA8T12sl3NKqVSTwEuybvq5nJy35s/yCwaD+Ju/+RuMGDECwWBQjc6SfgvSLZ5B9pmnIMFcfhdL+cWSXzIJ0urr6zF+/HgVrEnKX9bXSdMTPRCMRCKIRqMYMmQIysrK1GNKTXg4HFYflhMFL/kBTv6Hprfv93a/D9vuw/7d2/d6+xD29hz1tYd/yeMSERHRmUc/95JKnUmTJuGmm25CPB5XQ8P1pSz6OdioUaPwqU99CuPHj8/pUyCN4nzfz2kaRz1kbZuQbJp0bZdzR+mtoI/d0tfHfVCJZDAYRENDAxoaGnq9nTPmzlwFa4Aiv1Ry5UfI177vo62tDdu2bVMHBrmKJAt29YYngUAA+/btQyKRQHV1NaZMmYLKykq4rqt+8eV++pUOIiIiorOJBA9ycj9w4EBce+21Kku0du1aFURIR8toNIrzzz8fN954I6655hpUV1cfV7HErtgfTh/NpQds6XRadXcPBoM5axMlASLnvET5CrZmTgI5OVDoXRbzgz39QKHfX79d9iFBmp55k8AvGAyqJiAAcrKDRERERGcLfblJMBjE4MGD8ZnPfAY1NTVYtmwZ9u3bhwMHDgAAamtrUV9fj4suughXXnklKioqcpaB6Bkkllh+MDnvlfNWKVMNBALIZDIwDAPNzc1Yu3YtBg0ahHPPPReVlZUMlOlDFbSbZX5HJT1gKy4uxqRJkzBlyhRVBqDPnZOMnFzdkIn3b731Fjo6OnKuamSzWaTT6ZwRA7JPBnNERER0tpCL31IeKedXgUAAw4YNw+DBgzFz5kzs2bMHu3btAgAMGzYMgwYNQklJCcLhsDof07tX6qWZbIByPMMw4Hmeep9kDaKUVq5atQo7d+7En//8ZyxduhQTJkzAP//zP+Oyyy7LWTNHlK9gDVD0QE7vqgRA/WLv3bsXkUhEBWrpdFot4sxms2r+iZRR7t69G93d3QgGg6oGWbpRxuPxnIMMF4ESERHR2UYCLTkP0htryHlTaWkpGhsbcd5556n76Bff9VLA3pq+MfD4YFKRBgAtLS3YvXs3mpqa8Nprr2HZsmVIJpMoLi5Gd3e3Wj8nWTwmIKg3BQ3m9K/ll1u+H4/HsXnzZsRiMQQCARQVFak5J9IERToBSafLzZs3o6OjI+cX3jRNHDhwAIMGDco5yOR3XyIiIiI608mYIwnmpNxSskWZTAahUCinGkofTC0BoL5ERoI7fckL5ZK1b67r4uDBgzhw4ADeffddzJ07F8uWLcOAAQNQW1uL0aNHY/To0Tj//PPR2Niofl6u67KxDPWq4MGcnp6X9rd1dXUoKyvDddddh0mTJh13X71uWA4ynudh5MiRSKVSiMViqKurg+d52Lp1K/74xz/ipptuQkNDQ07XIGbmiIiI6Gwi3cD1EkkAKlCLRCJqGz0jpAcS0k08v5mcvi/KFYvFcPjwYezbtw+vvfYa/vznP2Pfvn0oLS3FRRddhIsvvhiXXnopLrzwQlRUVMBxnF6DZ6J8BQvmPM9DR0cHAKgrQkBPa9uZM2di8ODBqK+vR0dHh7qCpA/ODgaDSKfTME1Tdamsr6/HfffdBwCIRCLYunUrHnroIcyZMwevv/46nn76aQwcOBAlJSX8QBAREdFZSQI0PfiSiiUJxPTgTT/fyl8bJ2vv5Pb+Jr8ktLdS0fw1a/r7dLK2bduGJ554AvPnz0dXVxcGDRqEO+64A1dffTUuvfRS1bFSHk9GaelZVKLeFGw0QXt7Ox588EF0d3dj6NChGDhwIFzXRSqVQiAQwM6dO7Fo0SLYtn3cYMVkMqm+L4Ms5UMmMzuKi4tx8OBBdHV14bLLLkNXVxeeeeYZfP3rX2cgR0RERGctvQzyZEoiQ6FQr9vrjev6M8l86V3T9QYxQM/5pXAcB9Fo9Lgg78POL5uamrB8+XJ87nOfw6c+9Sk0NjaqclZ99IC+jw+bGUwkChLMpdNpVFRU4OGHH87pSinDKYXv+3BdF0DuASMQCCAWiyESiahSAf0Kkt7lMp1OIxKJqPvJkEb9cYiIiIjo7CZZx96+r1eRGYah1hZms1nE43EUFxd/6L7vuOMO3H777epcVALID3pMopNVkMspoVBIpeP1hbOu6+LXv/41/v7v/x4LFy5UXSxlkKIMVsxms6pUMhQKqfKAw4cP46c//Sk+85nPYO7cuTBNE+FwGN3d3Ugmkyo4lIYp7LZERERERNIJPZPJHNcURtar6V09AeDIkSOqSd/J8DwPqVQK8XgcmUxGJSP0uclEH1VB0lPd3d0oKirK6aIE9HyQjhw5gldffRWxWAybNm1SJZau6yIQCOCFF15Aa2srpk+fjnHjxiEajcI0TXR2duLo0aNYtWoVFi9ejHQ6jfr6ekyZMkUFfpKVA8DMHBEREREBgBp3JesJ9SYv+sV/OY+0LAtlZWUnXe0lTWTyt81msyrB0F/XHVJhFSSiiUajx7VYlVS1BG+jRo3C1VdfDdu21ZUK13Uxd+5cbN++HbfccgtmzJiB8vJyAD1XOw4dOoS2tjZs2rQJV111FUaPHo1sNgvHcRAIBGDbtlp7J2ltpraJiIiIzl7ZbFadk0oJpJwfSlauu7sbq1evxty5c5FIJHD77bfjggsuUOeYJ/MY0jhFznfzlxgxM0d/iYIEc47jqA+NPjBc1sfZto3S0lLU19erX/pMJoN0Oq0GhpeWlqKyshJVVVU5801s20ZxcTGGDx+O0tJSADhuLod8eHj1g4iIiOjsJeeftm3D930kk0mEw2EYhoFUKoV9+/Zh0aJFWLhwIdavX48DBw7Atm1YloVzzjkH0Wj0Iz+mLDHSe0Fw9AD9pQoSzLmui1AopFLT8sssnXykxHLOnDmIxWIoLi6GbdtwHAdbt24FAGzevBnz589HJBJBOByG53k4ePAgduzYoa5yyIdCrrJIfbJ8gPihISIiIjp76UPOpYorHo9j9erVWLhwIdasWYPNmzdj//79cF0X1dXVaGxsRGNjIyzLUr0YTpQg0NfESdlmfgkn0V+iIMGctGKVgErmnKRSKSSTSRiGgZKSEgwaNEh1C5JRBBUVFdi5c6e6PRqNqv1ks9leF6FKx0vZzjAMNcKAZZZEREREZy+ZZbxv3z4sXboUy5Ytw4YNG7B9+3a0t7dj4MCBuPzyy9HY2Ihx48ZhyJAhGD16NEzT/EjBmN48Jf9vVovRX6ogwZwEXrJ+TX6529ra0NHRAdu2MXjwYEydOhXAsWDM931UVlYCAAYPHoxJkyahvLxcfZBKSkowYMAAVZoJIGcgpqTMLcvKmSdCRERE1Bd4ngff99W5Sv7QaNd1c5ao6LPO9PMavf293JZfEdXXyXOXrJb0PAByR1bpvRDkvDIYDJ5UBVYikcDatWuxfPlybN68GatWrcLWrVtRXV2N8847DxMmTEBDQwNGjhyJUaNGoba2FsCx7NpHqfL6sMCN1WL0lypYS0cJuCRDZhgG4vE4EokE4vE41q5di+eee05l8TzPU8PEfd/HmjVrEA6HVSYuEAigpaUFO3fuzDl4AVCtZfU0en86mBEREdGZz3VdFaxJUCckEJN1/9JQI3/AtXwfQM7t/fmcR39N+WTsVG+vTz/H/CCdnZ2YPXs2XnrpJViWhYaGBkybNg3jxo3Dueeei3POOUclCnQfNfhisEanS0GDOTlIyQdUDlyhUAjpdBpbt25FJBLJ+aDKvLiWlhbs2LED4XAYvu/DNE3EYjHYto36+npUVlbmtHrVG6QAYHklERER9RnS4RDAcZ23AahzGsMwcpaP6EFO/tee56nGHp7nqbb7/YmeedRnE+vvl/wtr02ycidThWVZFoYOHYpZs2Zh9OjRmDZtGsaOHYuioqKcpUBEfVXBulnKwUmCK6BnLd3YsWNRVlaGm2++GZ/4xCfU8MZIJALP87B48WLs378fs2bNwvXXX4+qqir1oW5ra8OaNWtw8OBBlJWVIRaLqfvpg8LlwMABjURERNQXSHt8vWRSb18fDAbhOA7C4TDS6bTaRgI8ADklmXo2KxgMIp1O97vmbxLM5j9nfTabYRiwLAvpdDon8JP380Svt6qqCv/0T/+ETCajzhn1zpL96f2is1PB5szJB1GybV1dXTBNE9dccw0cx0FdXR12796tArkjR47AdV01niCTyWDnzp2Ix+PqwBYIBDB69GjE43G8/PLLmD59Oi6//HK4rotoNJrTNYjdg4iIiKivkEBE/khVkszmdV0XkUgEmUwGiUQCnZ2dAICysjIUFRWpLt76+CWpTJLmb0BuE46+Tp6/fs4mr0UGezuOg1AopM4t5b2TC/knqsSS7cPhsOp8Lhk9yY5yaQ71ZQUrs5QPmeM4aG9vx5IlS3Do0CGV0vY8D67rorS0FI7jIJlMAgCOHj2KZDKJRYsWoaOjQ82Sk322t7dj7dq1WLNmDdauXYthw4ZhwoQJAJAzQJwfTCIiIuorJHDQs2rRaBSO4yCRSKCoqEj1Bmhubsa2bdtgmibGjh2Lc845B/X19aioqFBllULOt/RKqP5CL6XUG564rqt6KYRCIWQyGQQCARw+fBgdHR0455xzEAqFTurCfSAQgGVZcBwHQE+VmH5+yM7n1NcVJJjLT4FXVlZi0KBBauC3ZVmwLEt1XspmswiHw4jFYnjhhRdgWRbq6uowfvx4FczJHLpkMolLL71UXWFJJBJqvEEmk4Ft22o4OREREVFfoHdplPJCx3EQj8dRXFyMjRs34tFHH8Vzzz2nAg/JIpWVleGGG27A1772NUyePFmdE1mWBdPMPdXrL1k5ADljrIBj54+ScfM8D8lkEu3t7dixYwd+85vfYM6cOdi+fTsqKiqQTCYRCoWOew96Y1lWzr8dx1GBcH8rT6WzS0GCufz2seFwGFOmTIFhGOpKip4ml7LKYDCI4cOHo7m5GWPHjsWll16KAQMGIJlMqkGPer303r178etf/xqHDh3Ctddeq26XD2x/KjUgIiKiM5cEHPrIpmw2i/LycrS2tuKLX/wi9u7di0QikdMQJBAIoLOzE7///e+xfft2fO9738PVV199UgFMXycZskAggFQqpUoeTdNEKpXCnj178Oabb+Kpp57Ce++9p7Jq0ichGo2e8Dwvv7w1k8moIFgydhLUEfVFBZszBwC7d+/GgQMHkEqlABwb2qjXe0ejUXR2diIUCiEej6OlpQUA8P7772PBggUYMGCACtKkjlyu1vzpT3/C73//ewwYMAD33Xcf7rnnHlVvzjJLIiIi6iv0tWFyfmKaJnbt2oUvf/nL2LJli8pUSXOU/DLClStX4g9/+AOmTp2KAQMGqIqk/koaugA95Y8AkEwmsWzZMjz99NOYN28eDh48CN/3UV5ejilTpuBv//ZvEQ6HP3JppLyXoVAoZ+1hfsaOqK8paDBnmiaOHDmCHTt2qAWsUh+tz4STrkLZbBYzZszAZZddhqKiIuzevRt79+7NSb/rB7b6+nrcfffdCAaDKC8vx/bt2zFmzJicUkvWQRMREVGhyfmOjFQCgHg8jqamJmzcuFGVYX5Yq/x0Oo333nsPTz31FO65556c86NEInFSmarTQaqtPmq5opyj+b6P7du3Y968efjTn/6E9evXIx6PIxqN4vLLL8esWbMwY8YMVFdXIxqNHlepdTKPmT9wXT8PJerLClZmaRgGamtrcdlll+GCCy5AMBjM6Vp0qj48eqlmcXGx+oBL1yciIiKiQpMAwnVdVUHU1dWFJUuWqI7fJ1rzLxfJFy5ciK9//esIBoNIpVIIhUIIh8Mf0yvpIU3n5HzLMAwkEomcTOGJsl6O4+Dtt9/G3LlzsWLFCuzevRvJZBJjx47F9ddfj0suuQR1dXWorq5WPRT00VMn27m8t/NBniNSf1GwYE7qnsvLy1FeXn7KPzRyFUgfR+B5nupmKWUK/LASERFRoUnGTQ9EYrEYVq9erTJ2J+J5Hrq7u9HR0aGCGskwSaAI4LQvM9Hn28m/4/H4SY0K0BmGgffffx+LFi1CIBDAl7/8ZVxyySWor69HZWUlysrKjss2ymPrs+KIzmQFCeb0D7IctPQFv6fiIKNfmZGDogzS1B+XiIiIqC+QAEQqlVzXzZl5psvv8ChfS6dwadohzUIikcjH+lqE67owTROhUEj1NJCL7Sc63wsGg5g5cyYaGhoQiUQwdOhQVFZWqn0BUKML9P05jqMGrfNcj850BcvMAVABFnDsoHSqPnR6ECcHRwkUPc9T6/L4ISciIqJC0y8yG4YB13Vh2zbGjRuHRYsWqUBItu1NMBiEZVnqfEeCO8nKfVwVSdlsFqlUCuFwWAVYtm0jlUqpbOHJXLj3fR9jx45FQ0ODej353T7lNennkXJ+95es0yPqbwrSzlEPrPQPn/5BPRWPAaDXsgRm5YiIiKivkXMT6aRYVlaG8847L6fBW34rff2+2WwWJSUlGDFihMrmyegmPfD5OF5HfiVUOp1W2UbXdU96oLce+Em2Lb8juX7Op9/nZMtTifqzggRzwWBQfdAkeDudHzg9eOstHU9ERERUSPo5kGSUSktLMXHiRIwdO7bX7YSc55imiTFjxuC6667LuU2yc/kB4OkklVepVArvvvsuHnvsMSxZsgTd3d0nHVDKeVr+c/6gZnm+76u5cJwlTGeLgpRZ6geT/IWqpzpr1tu++AEnIiKivkovERw7dixuv/12PPLII2htbe117Zxk3Orr6zFr1ixMmzZNnVd5nvexVyT5vo/Ozk40NzejubkZixYtwpIlS3Deeefhe9/7Hi6++OKT2o88d9FbMJqfAdSX8rASi84GBQvmgNw0vGTmTlegJfvUu1sSERER9QV6Fko/T6mqqsKXv/xldHR04NVXX8Xu3bsRi8VyLooXFxdj5MiRuO6663DjjTeirKxMlVVKyWZ+cKN3e5QA6KN0msxvvAL0NDtpaWnB7t27sXr1asyZMwfLli1DMBhERUUFOjo60N7enjNP+ESPoZeGyvPMP3cEjpVk6rPpTud5JVFfUZBgrrfyxtNR8vhBH15+qImIiKgv0gMumck2ZMgQPPDAAxg/fjwWLFiAHTt2IJVKqQHjY8aMwTXXXIMrrrgCdXV1OfuTAeT5y030QCm/qcjJBFoy6sk0TSSTSbS0tGD79u1YuHAhFi5ciGXLlqGqqgoNDQ0YMmQIzj33XEybNg3nnnuuGk91Ivnb5J8rfti5o4ygIjrTFSSYIyIiIqKTZxgGbr31Vnz+859HS0sLjhw5AgCorq5GTU3NcfPWPojMX/OvdQAAIABJREFUmtMrlaSPgOu6J5U1830fyWQSmUwG8XgcmzZtwhtvvIE33ngDbW1tKC4uxsUXX4xLLrkEM2fOxMSJE1FRUaFGLki/BAZbRH89BnNEREREfZwEQeFwGEOGDFEdK/Pb9Z9IKBRSJZa+7yOTycAwDFiWddLZrEwmg2g0ig0bNuA3v/kN3nnnHTiOg5EjR+LGG2/EFVdcgcsuu+wDX4PruqdsrjDR2Y7BHBEREVE/kEqlYNu2Kr/MZrM5s+dONqBLp9MwDAOmaaq5dB+ln4CUPy5evBhbtmzBnXfeiauuugoXXnihGlaeH7jp5Z7ymET012MwR0RERNQPRCIR9bWejdMHhJ9MkBQOh9XXnufBdd2c5iEnIkPIv/GNb+Duu++G4zgoKSlR+9ODQz1YlBJP0zQZzBGdIsxvExEREfVx0hglk8kgkUgA6AmqfN9HKpVSGbATyWQyKqOnz96VfWUymRPuQ2+eEgqFUFZWhkAgANd1Ydt2zjxhPXNoWRYsy8rJKBLRX4eZOSIiIqI+LpvNwnEcFRDpnSeDweBJz1SzLAtAT1AXDAZh27YatG1Z1kl1mdQ7X0qGULJ6UmYpjVSk5NJ1XdV9k2vliE4dBnNERERE/YBenigz1z5qIxHHcVQA2N3djffeew+vvPIKAoEAvvjFL2L69Okn3If+eNIVU4I4eW6SudODzvzB3h9lrh0R9Y7BHBEREVEfpQ8R14Oj3gI43/dVp8pAIKCybQDU8PBAIIBNmzZh2bJlWLBgATZs2IADBw4gGAyipKQEl1566QmfkwSUEozJ89OHk+dvr2cOmZkjOnUYzBEREREVmJ5pk/Vsss4s3weVU0qWzvd9uK6rShw9z0MikcCKFSvwzjvvYPXq1dixYwf27t2LVCqFYcOGYerUqWhsbDzpJir689C37+2+vQV3RHRqMJgjIiIiKjC99FCCMj2bJcHZh9Ebi0jzka1bt2Lx4sVYt24dmpubsWXLFhw9ehS1tbWYNWsWGhsbMXz4cIwcORIjRow4vS+SiE45BnNEREREBSYlip7nqTLKbDarhnqfbGliIBBAPB7H+vXrsXTpUmzYsAErV67E7t27MXToUFx00UUYN24cRo0ahYkTJ2LMmDEoLS0FwDVsRP0RgzkiIiKiApPySMnQAcgZ5H0ygZZk844ePYrnn38eL730EqqrqzFu3DjMmDEDkyZNwoQJEzBu3DhEo1HVcVKamOjr7Yiof2AwR0RERNQHBAIBVWapz3KT1v5y24mYpokhQ4bgM5/5DM4//3w0NjZi7NixCIfDqpukrMkDoIZ5610niah/YDBHRERE1AdI50rJyOnNSCSLdjL7qK2txb333gvTNOH7PhzHgW3bKpALBAKwbVs1WtEzgOw0SdS/MJgjIiIiKrBkMonW1lYcPnwYsVhMrZMrLi5GTU0NampqTrgPWXPnui7C4TCAnsYq0hFTAkU922cYhgr6ZAA4M3NE/QeDOSIiIqLTSM989aarqwtNTU2YN28e/vznP6O5uRnpdBqRSATjxo3DDTfcgM9//vMYM2YMbNv+0McJBAIIhUIqG2eaJtLpNEKhUM6A8Ww2m5OtA3rW5fm+z0YoRP0IgzkiIiKi00xGC+hr3zzPQzKZxMsvv4xHH30Uq1atyrlPMplEU1MTtm7dit/97neYPXs2GhoaEA6HVeAmowhknzK+QA/IJEun07NvLK0k6r/46SUiIiI6zaS00TRNFUhlMhksWLAAjz/+ONasWZOzrR5gxWIxHD58GHfddRfWr18Px3HUPvSxBXonTCI6OzCYIyIiIjrNAoEAEokEAKC9vV1l1GbPno1Vq1b1GojpAV0ikcDKlSvx1FNP4ejRozlZOQBwHEd1pSSisweDOSIiIqLTLBAIIBKJwPM8lJWVAQBefvllrFq1SpVgSrZNZr7lsywLs2fPxv79+4+73TTND11PR0RnJq6ZIyIiIjqNpHOkZVnwfR9vvfUWnnnmGSxatAgtLS3wPK/X4E3/XjAYhOM4aGtry/merJ3jsG+isxMzc0RERESnkayBSyaTCAQCWLFiBZYuXYrOzk64rqtmvUnXy94CM8/z1D70dXJyPxlJQERnFwZzRERERKdRIBBAMBiEZVlwXRc33HADfv7zn+P222//wPlxvY0zsCwrpwRTgjcJ7tiVkujswzJLIiIiotPI9314ngfTNOF5Hs455xyMHz8eruti/vz52Lt3b07wlh/ISSdMx3EwYcIEhEIhNQ9Ohn3LNkR0dmEwR0RERP2OlBdKV0e97BDIbe8va9IksyX307eVgEi/TzabzZnXJtvIfeSx80cJ5NPLJg3DgO/7MAwDjY2NqKmpUfPnstksDMNQzyv/b8/zcN1116GyslI9prw2mTNHRGcXBnNERETUb2UyGRVIua4L3/exf/9+HDhwAOl0GrZto7KyEoMHD1ZdJPP1FuDpt0n2S4KnQCCAlStXYtmyZTjvvPMwZcqU/8/enQdHdV7p439671ZLrX1BIIRACIlFYl/MEmNjs8VL4i12XJ6MMzXZHGdSqdRMpmo8Sabm68l4sngqZU/sieM4jm1sjDE4xAZsMPu+CRAgNoEQCEmgBan73r59+/cHv/PydgOSHHuCsJ5PlQsh9Yol3fvcc97zXvexhQQtaZGMx+MYOHAg7rnnHjQ0NODgwYOIRqPXvJ+EzcmTJ2POnDnIyMhQ79npdHL4CVE/xjBHRERENy0JW9FoFDU1Ndi3bx/27NmDuro6RCIReDweFBQUYOzYsZgxYwZKS0vh8/kSNvCWoOZwOFSg8ng8AC6HLxkw0traim3btqGurg5r1qzBqlWrMHfuXDz11FM9hjl5DODK/nGGYeDee+9FZ2cnfv/73+PIkSMwDAPAldZKp9MJv9+PYcOG4dvf/jYqKyvh9XpVlVAqhxJI9UoiEX3+McwRERHRTSkWi8Hr9aKrqwsbNmzA4sWL8cEHH6ChoUENBJFqXU5ODu6++2488MADuO2222DbNtzuy6dBUtWSiZASiGzbRldXF5qbm3Hy5Els374dy5cvx9atWwEARUVFaGtrU5uBX4+ErlgsprYYkPVz6enpuP/++xEIBPDhhx/i2LFjaG5uRjQahcvlQkFBAcrKynDnnXdi4cKFyMrKSqgUcp0cUf/GMEdEREQ3JalenT59Gs8++yw+/vhjtX5M1rwBlythFy9exOuvv476+noMGzYMJSUlAKDaJh0Oh9oLzuPxoKurS7U/bty4ERs2bMC+ffuQmZmJyspK5ObmYvbs2SgvL1ePdT3yOuR1maYJl8uFYDAIy7JQUFCAr33ta7jtttuwc+dOHD58GK2trcjIyMDYsWMxadIk5OXlJayLS16zx4ocUf/EMEdEREQ3HYfDAbfbDdM08eKLL2L37t0wDEOtfZNQJ9Urj8eDSCSCLVu24Je//CWeeeYZBAIBRKNReDwe9XjhcBinT59GdXU1Vq9ejfXr16OlpQWpqamYMWMGxo8fj4ULF2LcuHHwer29Xq8mgc4wDKSkpMDpdKrqm+w1V1xcjGHDhqnWTrfbndACqodCIV8jov6JYY6IiIhuWs3NzVi2bBmam5vhcrnUOjPbthP2YTMMQ02zXLZsGZ5++mnEYjG1Ng4Aurq6sHHjRrz66qvYtGkT3G43SktL8cADD+CWW27Brbfeqta+SQjr7RRJCWgpKSnq446ODqSkpMDn88Hj8cA0TUQiEXi9XtWOaZomgsGgCqnAlembANR71idzElH/wTBHRERENx0JL7W1tejq6koYXgJcDjl6u6WEIwC4cOECtm3bhi984QsIh8MIBAIAgLS0NKxbtw4NDQ343ve+hzvvvFNVyvx+vwpQbrcbhmGoUNcb+u0uXbqEYDCIzMxMFcSi0SgcDgeCwSBisZhaDyjDWuS59amY+hRPeV1E1L/wp56IiIj6HH2wx/U2xO7s7MSuXbvU4BL99rL3nB7ovF4vDMNAWlqaeo7U1FQAl7c4sCwLP/3pT+HxeNTgFL1yp+8n5/P5PtH7kfBlWRZCoZBaoydVRLfbrQKftE5Kq6iQNX36bXSsyhH1PwxzRERE1CfJ+H0Jc8mthsFgEAMGDLjqfhL8JEDpgU4CWVtbW8J9ZPCJkMqe7tOEJQmBevVMHv9a1b3ktXgynfNar4UVOaL+iz/9RERE1CfpWwV4vV4AifupxWIxDBkyBNnZ2Whra0vYo01uC0BVuOS+sVgM06ZNU7e51hCTnoLbJwl217ttbz9/rdvpn2NFjqj/cvZ8EyIiIqK/Lhm57/P5VHADrrQXhsNhOJ1OjBkzBm63O6HN0u12w+PxJOwj53a71QCSkSNHIicnJ6ESR0R0M2KYIyIioj5H3ztN2i2BKyHP6/XCtm2kpKTgySefRGFhITwej5oyKeP+5bFk+EkwGMQPfvADeDweRKNRbrpNRDc1tlkSERFRn6OP2pf94mzbTpgg6XA48N5772Hjxo3o7OxU6+L09XX6xuEDBgzA1772NbXFQG+3FSAi6qsY5oiIiKjPkXVstm2rfdkk0B05cgRr167F7t27sW/fPtTV1aGrqwuDBg1CIBDAuXPn0NbWpgJdRkYGpkyZgrvvvhtz585FVlYWACRsyE1EdDNimCMiIqI+RyY3Sqi7cOECdu3ahR07duDYsWPYunUrTp06heLiYkybNg2jRo1CUVER/H4/Lly4gPPnz6OrqwuBQAADBgzAqFGjMH78eASDQViWBZ/Pl9C+SUR0M2KYIyIioj5JKmsulwuNjY1YsmQJ/vznP2PAgAGoqKjAl7/8ZZSWlmL48OEYNWoUUlJS1NTKrq4uGIYBn8+n9pKTNXRA4qbbREQ3K4a5Huh99zIeWdo8AKiPpff+ekzThNvthtPpVIu3nU6nenx5rOTnvNaf13ve5D14gCsbp+r78uiPo38sLSxERETXox9rrlXVSv66frwR0jopEyav9XjJx6dgMIiqqiqEQiFUVVWhsrISI0eOhNvthsPhgGEY6hhtWRZSUlIQCoXUsVIeWzbn1oMdEdHNimGuF2SxtWVZKuxImJOvy8HCsiycP38e7e3taGlpwYULF5CWloaxY8ciIyND9f/LY8TjcVy6dAlnzpxBS0sLWlpa4HA4EAgEUFJSgoEDByIQCKjnikajqr9fFnpHIhHU19ejsbER58+fh9PpRCAQwODBg1FSUqJCpB7o9H16ACSESiIiouvRw1dyUNL3d9M/rwc6OQbpWw3oxx99HZt+gXHo0KH4zne+c93X5fP51Mf6lgP6Y+itm9xom4g+D/ibrJds24bf71cfy1U9ORh1dnaivr4eJ0+exJYtW3DixAns378fBw4cwPjx47F48WKkp6cjHo/D7XbDtm0YhoHm5mZs374d7733Hnbs2IEDBw7A6XSisLAQ8+bNwxe/+EVMmzYNmZmZCUFSnre1tRVbt27Fe++9h23btmHfvn2wbRuDBw/GrbfeirvuugvTp09HVlaWCnX6QVMPcd1VFomIiIDELhKpsElIk685nU5Eo1HVIinhzeVyqb/LbeRzQrpgOGmSiKhnDHO9kHxlUW+TlErc5s2bsWjRIqxZswbRaBSpqalIS0tDeXk5pk6dCp/Pp/a4kSuOnZ2dePfdd/Hcc8/h9OnTyMnJwdixYxGLxdDa2orf/e53+NOf/oT/9//+HxYsWIDs7Gz1OLZto729HUuXLsUzzzyDc+fOITMzE+PHj1etJm+99Rbeeecd/PSnP8XDDz+MvLy8hPCWfAWVLZZERNQT/YJgchDTQ5uEPTnmSTjr7OxEc3Mz2tvbMXr0aHR1dcHr9cLj8fBYRET0CTHMdSO5ahWNRlV1S4LZiRMn8Prrr+ONN97AmTNnUFBQgKqqKsydOxeVlZVIT0/HsGHDYNu2avuwLAu2beO9997Dc889h2PHjmHChAn4x3/8R8yePRtutxtvvvkmnnnmGdTW1uIXv/gFSktLMXnyZNUaYpom1q1bhxdeeAF1dXWoqKjAj370I9x9993w+/145ZVX8Nxzz6G2thbPPfcchg8fjttvvx0ej+eqdhh9XQIREVF3JKTpa9z0P/X2RTlmtrW1oaOjA5FIBHv27MFbb72F+vp6bNiwAYFAQN3fMAy18TerckREPWOY64FcVdTDjtPphM/nQ11dHZ5//nn8/ve/h9frxb333osnnngCU6ZMgWmaKjjpawscDgc8Hg9qamrw4Ycf4vDhw6iqqsJ3v/td3HPPPeog+ZWvfAUDBw7E3/7t36K6uhrLly9HXl4eSkpK4HQ60dDQgI8//hh79uzBmDFj8E//9E948MEH1Wt+7LHHUFxcjO9973s4ePAglixZgiFDhmDUqFEJG6rq6weIiIh6IlW265HjpcfjgW3b6OzsxJkzZ7BixQq88cYb2LNnD5xOJ4YPH67Cm/7YetcIj01ERN1jL0MvyVo3+diyLLz//vtYtWoVnE4nvvrVr+LZZ59FVVUVgCsHMRGJRNR9AWDfvn2ora1FdnY2br/9dnz5y1/GpUuXAFy+Mun3+zFnzhxMnDgRoVAIixYtwsmTJ1W7yv79+7Fr1y4Eg0GMHDkS8+fPR2dnJ4DLbaCGYWDmzJmYMWMGQqEQ1q9fj6NHj171ngTbWoiIqDdisRjC4TDC4TAMw4BlWde8TSQSwapVq/D4449j9uzZ+NGPfoR9+/ZhwIABePjhh/HLX/5SBTm5kOn1ehOmNRMRUfdYmeuBXH00TRNer1etB9i0aRPeeecdHDt2DI8++ii+//3vIy0tDR6PB5ZlIRaLqfVtHo8HgUAApmmq1pEdO3Zg165dmDhxIqZMmQLbthEMBtUkS+ByAJw6dSo2b96Mc+fOobOzE+FwGB6PB/v378fWrVsxatQo3HvvvUhNTVX76qSkpKgwWV5ejszMTJw8eRJ1dXXo7OxMmI7JfXaIiOiTcLlcCccRXVtbG9rb2/HWW29h8eLFqK2tVevI582bh/vuuw+zZ89Wx0vDMJCSkgLgynp0GYrCqhwRUc8Y5rqhH0ikKud0OuF0OrFx40YcOHAAZWVlmDx5MlpaWvDaa6/hww8/xNmzZ5GRkYEZM2Zg5syZmDNnDpxOp1o7cPDgQdTX18PhcCA3NxdDhw5VBzVZK2BZFtxuN2bPno0XXngBTU1NOHDgACZPnoxwOIxjx44hGo0iFAqhqKgIwOVg5vP5VGuK0+nE+PHjkZqaimg0iubmZjQ3NyM/Px8+ny/h/XEIChER9YZMVJbjmm3buHDhAjZv3ox3330X27Ztw7lz59QxaN68eZg2bRoGDRqEUCiElJSUhP3l5AKoVOnkT4Y5IqKeMcz1ksvlUgcw0zRx5MgRNDU1obS0FDt37sQrr7yCkydP4sKFCzBNE36/H7W1tVi2bBnuu+8+PPnkk8jNzQUAnD17Fk1NTbAsC1lZWRg0aJC6CikTMqWdsqioSF0BPXPmDNrb29HR0YGLFy8CADIzM1FSUqIqbDLSGbh8ICwvL0dqaioA4Pjx42hqasLAgQMTFrDL1LFoNAqv19vtv4Nsx+B0OlXodLlcqnLZU6XvWpvHEhHRX49MRPb5fLAsC+FwGGlpaerr+nAT+ViWDcixQ8KYVNEAYP369diwYQNyc3PxyCOPYNSoUSguLsaAAQNUJU5fgy4fy7FP3w+ViIh6h2GuB/qYZenjlw26o9Eojh49ipaWFhQUFOD73/8+SktLEYlEUFNTg7fffhs1NTV4+eWXkZeXh4cffhgZGRmwLEtt2C1bGOgLyvW9ekKhUMJWBl1dXejo6IBpmnC73fD5fOo2wJUKom3bqnLn8/ngdrvV2gYJZB6PB7FYDNFoVN2mJ06nU7VwdnR0JOw3JF8HoFpKZQqo7M3HveyIiG4c6cBwOByIxWKIx+Pw+/2wbVut7fb7/Wp6s3A6nTAMQ61rS+7kCIVCePTRR3HbbbchMzMTBQUFyM7ORiAQUPuyXutinj7whIiIPjmGuV7Srx6ePn0ara2tAC6HlkmTJuHRRx9FRUUF8vLyYBgGJk+ejIkTJ+LJJ59EfX09XnvtNUydOhVVVVUJG61KINOndulrBaQqJwNYJBwZhgEA8Hq98Hq9CVMzdRKeZDG5vAf5uK6uDn/84x/h8XjUBM7u7Nu3DxcvXoRhGHj55Zexfv16FQ71g3IkElEHccuyMHjwYNxyyy0YOnQoAFbmiIhuBKmwSbeJfKyHN8Mw4Ha71e9pGXCiH5v0TcIl2I0ZMwajR49GJBKBy+W6qhLH3/tERJ89hrluJFebJAC1tbXBMAzE43GMGTMG9913H2655RZ14PL5fCgqKkJ+fj4efPBBPPfcc6iursbBgwdRVlaGWCym9prTHx+4MpBEP8gKfdNVafmU+8trk6ufbrc74UAqYU7uI1dKT506hRdffBEul0sdwLsTDofR0dGBtrY2LFu2TLVW6i2XDocDpmkmhNRbbrkFRUVFKCoqUu00RET01+VwOGBZlvp9Lb+LY7EYAoEAIpGI2kvVsqyE1nt9nVs8HlfHDP33uRynpH1fLvRxGxwiov8bDHO9IAcfCVoSiACgqqoKEydOVAFLDyputxsPPvggXnrpJVy8eBFHjx5Fe3s73G63OgBalqWqWFKt0w+MXV1diMfjqrVRPvb5fOr+lmUlBD39dcv93W43vF6vOnhLJS8rKwu33nqrqsjp2ylcS11dHfbu3QuPx4NJkyYhJydHDWsREuwkXDqdTowaNQpZWVkJB3UiIvrrkt/B+ho4OX50dnZi69at2L17NyZPnozRo0er44Yca/QtevT94IAr0yilDVPfWkCOOfIf2yuJiD4bDHOfkAQjCURZWVnIzc1NuAIpByuPx4OKigoVslpbW2EYBrKzs9Vi8/b2djQ1NaGoqOiqAx8A1NfXqxaWYDAIr9eLjIwMZGRkqLDW0tKiXoNcDZUD9blz52CaJpxOJ0KhEILBIIAroa20tBT//M//rK6k9hTmVqxYgdOnTyMzMxNf//rXMWbMmIQwKeEt+UQhJSUF6enpPHgTEd1gLpdLTaGMRCK4ePEiDhw4gIMHD+Kjjz7C2rVrcffdd+Opp55Cenp6wuArPaR5PJ6rQps+PEVvydSDnHyOiIg+PYa5bugHIH1tQE5ODlJSUtRQkvb2doRCIbjdbtXmqK9hk6qdtD0OHDgQubm5cDgcaGpqwpkzZzBo0CAVxnTV1dWIRCKwLAulpaWqEpaTkwPbtnHx4kUcPnwY+fn5CWFS2mOOHTuGjo4ORKNRFBYWqvtJlS8YDKK8vPyqltLryc3NhcvlQigUQklJCYqLi1VYlceQq7dSxZR/AzkhAHDV+yQiov97EqLC4TAaGhpw6NAhbN++HatXr0Z1dTXC4TAKCgrQ3NyMSCQC0zQBQHWHSHumXDSUAWF6W6V+3ARwVTWOVTkios8Ow1wvJIezoUOHIi8vDx6PB3V1dTh69CiqqqoSWjAlrBw9elQtHi8sLERKSgqys7PVfjvnz5/HsWPHMGXKFFWB07cN2LVrF9rb25GVlYURI0YgMzMTtm2jqKgI6enpaGpqwt69ezFjxgxVEdPbaHbt2oULFy4gPT0dw4cPR05ODgCo4CnbIHyS1ke9iqcvjNcP1nLw1ttGZTsDHsSJiG6Mjo4ONDQ0oKamBuvWrcOaNWtw7NgxZGRkoKysDIMHD8a4ceMwbdo0DBkyBADUxTkJdjIcRV8akLwGPDnQCf0Yx5Z7IqJPj2GuG8kbacugj4KCAowYMQIbN25EbW0tDh48iBEjRiAQCKiBILJ4fMWKFTBNE6mpqRgxYgTS09PhdDpRVlaGkpIS1NXVYceOHbjrrrtUC6Q8V0tLC/bu3Yuuri7Mnj0beXl5KqyNGDECFRUVqKmpQXV1NVpbW5GVlYVYLKbW5DU3N2Pr1q1ob2/HlClTMHDgQHV/abGJRqNISUnp9b+JHIjD4TBisRj8fj9isZj6t5E2VPmcHPTlai33ESIi6l5yO6Le+dDdffRwpN8+Ho+js7MTZ8+exc6dO7Fy5Up1bMjIyMCsWbMwc+ZM3HLLLZg6dSrcbrfa/kaCmmVZqrtEP47o+83pv+/louK1ft9LBY9hjojo02OY64EcwPTqXFdXF+644w7s2bMHq1evxuLFizF06FCMHj0a6enpasrXoUOH8NprryEajWLKlCkYNmyY2qR1zJgxGDt2LA4dOoRNmzZh9erVmDNnDkKhEOLxONra2vDHP/4R27ZtAwDceeedKCgoUAfIsrIyTJgwAXv27MGmTZvwwQcfYMGCBQiFQojFYmhvb8f777+PXbt2IR6PY/r06SgpKUmYTObxeHrciuBa5KRBDtzJEzcBXDUVk22VRETXlxzWpMtDHziSfNvkzbz14JS8yfe6devwv//7v9i5cycCgQAqKiowffp0zJw5E1OmTEEsFlPrq+X+0o4PJLbgJ3dzyNAT0dNUZE40JiL67Lh+/OMf//hGv4i+Sp+8KJtrm6YJv9+PgQMHoqOjAydOnMDOnTtx+PBhFBYWIhQKoa2tDevXr8c3v/lN1NXVweVy4bnnnkNFRQW8Xi/cbjcKCgoQiURw6NAhVFdXY+/evXC73SguLsbFixfx8ssv45lnnkF7eztmzZqFb3zjGygqKlIH64yMDMRiMdTU1ODQoUPYvXs3AGD48OEIh8N48cUX8ZOf/AThcBiVlZX4xje+gdGjR3/qqtj+/fuxdu1apKamYv78+RgwYMB1/+2IiKh3ZK2zVOKknV3oe4Xq9zFNU63J1jsg5E/pmvjFL36B9vZ2PPbYY/jhD3+Ib37zmxg/fjyGDBkCy7JgGAZSUlIQDofhdDrh9XphGIa6cBeJRNTzcM0bEVHf4Yj31LvRj+k9//oearIPTyQSwW9+8xv8+te/RkNDQ8KWBcDlalR6ejp+9KMf4ZFHHkFeXp6a+Ci3XbJkCX7yk5/g9OnelNYxAAAgAElEQVTTCAQCaGlpAQC138+0adPws5/9DBMmTFBVPTmIGoaBlStX4qmnnsKRI0cAQLW6WJYFn8+HoUOH4oUXXkBlZSV8Ph98Pt+n+jd5/fXX8eMf/xj5+fl49tlnMW7cuGu2//BAT0T0yVzrd2k0GgVwpZqVXKHTB17FYjHVbSFtjNFoFNFoNOF3v2wSrrfKS7tkLBZDR0cH0tLSVIiTfUulWpfckUFERDcO2yx7IAc54EobixxU09LS8K1vfQsTJ07Em2++iXXr1qGhoQGRSASDBg3CQw89hIceegilpaXw+/0wTRPhcBg+n08daOfNm4fs7Gy89dZb+POf/wyn04mUlBSMGDECCxYswOOPP47CwkIVAN1uN8LhsBr3P2fOHOTm5uKNN97A6tWrUVdXB8MwUFlZiTvvvBPf+ta3kJubC5/P9xe1VBIR0V+HrD0zTVPtJ6r/3pa1aLKGTY5HbrcbXV1dCAaDMAwDPp9P7Q0n66NFNBqFbdsJbZFOp1Mdm1wuFzIyMlRVTmdZFuLxeMJ9iYjoxmJlrhvJV0Cl1dLj8aiDp1SgLl26BMMw0NXVBdu2kZaWBr/fj1AopK5oRqPRhBHOcoCNxWLo7OxEV1eXOpCnpqYiGAwiLS0tYaNWObhGIhHE43EEAgGYponOzk6Ew2F1APZ6vQgEAkhLS4PT6YRhGGrj8E+DlTkiov8b8rtUb6eMRqNqEnDybWXYiEyGlI4MAGhtbVX7mcoxJPnY43A4EI1GEYlEcPz4cbhcLowZMyZh0qQ8j2macDgcbLMkIupjWJnrgVwplbVuMp45Ho/D5/Opg5oENn0TVVmvIG0yMgkMuLIeT66uZmRkIDs7O2FbArmdPgUyEonA5XLB6/UiEokgHA4jEAjA5XIhMzPzqgNsV1eXCnFccE5E1Dclb6otv6/dbjcMw0BbWxs++ugjLFmyBEVFRbj//vtRXl6OYDAIh8OhKnKRSAR+vx9paWnqczJlWZYLOJ1ONDY2Yu3atVi+fDkOHDigKnYpKSmYPHkyHnvsMVRWVsLj8ahjjmVZaigYERH1DQxzvZA8al8OjPqG4ADUFUv5u/wpa+1kTzYJcBLuJIDpm7MahqGqaLKnmzy/LIQPBAIJV3JlvYRM0/R6vaqlUx/mQkREfZO+FUEkEsHRo0exevVqrFmzBkeOHMHZs2dRUFCAoUOHYuzYsYjH43C5XKpFUr+g5/P51DFCjlnxeBzHjx/HokWL8Oabb6K+vh4XL16Ew+GA3+9HOBzG6dOnsXXrVvz93/897r33XoRCIbVuTm/5JyKiG4+/jXtBrnTK8BJpedFDkoSta43pl8qahDIJVfrkMrmvBEAZ+28YRkLo0xfAS2XPNE14vV61EF6/vzwugxwRUd8mlbmLFy9i8+bN+Pjjj7F3716cPHkSZ86cQSwWQ1lZGSZPnoxBgwYldG3of1qWpdZ2S2eIDMY6ffo0Fi9ejJdeegmnTp26aj2d2+3GxYsX0dzcjOeffx6BQADz5s1Dbm7uNbcpICKiG4thrhsSxvQwpbc/SnBLPrDprZTAlXUQyVdN9XURcuCV55CrnnKf5D199OeS9s9rbTSrPy4REf1l9G4MAGobAP0im1ysk7/HYrGEi3hyMVBfjyZhyjRN1NbWYtOmTdi0aROOHDmCo0ePIhKJoKSkBF/60pcwbtw4lJeXY9CgQRg4cKC6UHetPebkgp6Q5928eTMWL16Murq6hCAn3SP68eLw4cNYvHgxSktLkZOTw/3hiIj6IIa5HiRvhtpdqLrW57u73fWeT9fT2gT94HqtRelshSEi+mzIljLJv3P1PeCklVHfqib597I+ibKpqQk7d+7Erl27UF1djerqajQ2NmLIkCFYsGABysrKMHz4cJSWlmL48OEIhUJXva7kx7/W8ci2bbS3t2PPnj2oqalJuPAn3SVCPrYsC9u2bUNtbS0qKyvh9/sZ6IiI+hie6RMREV2HXmHT6d0QejDSQ5FU4/SNwGUCJXC5rbGurg7vvPMOVq9ejdzcXFRWVqK8vBwVFRUYOXIkSkpKkJKSoh6/p9cqa+iEXkk8c+YMTp8+jXA4nPB1eZ3Jz2HbNlpaWtDY2IhwOAy/389JlkREfQzDHBERUTckrOl7jsqf+joyaZuMx+MJXRXJt9dDXTAYRFVVFbKysjB27FhUVVVh2LBhCfuRyhYCvdmoW9bRJbfcx+NxXLhwAe3t7QlLAJKriNISqr/m9vZ2NdVZ7sNAR0TUNzDMERERXYe+9Uzy/mvy9eT11PoeogAShmTpFTqfz4eKigpUVFQAgApM8vjJA68+SYDS9yeV8OXz+dRaOgmTyZXF5HAng1NM07yqnZSIiG48hjkiIqLrkLBj27YayZ88wERfO2fbNnw+X8Ieo263W1Xk9AqeXiGT7QUkYEkA1CdW9iZA6WvkhEw1zs/PR25uLgAktH/Ka3G73eo1S7Bzu93IzMxEIBBQIY9rsYmI+g7+RiYiIuqGBB99GJZU2GT8/6VLl3Dx4kVEIhGMGDEC8XhchTqpxEk4sywrIdwBSKjA6VMx5Wuy7UxPrZZ6hVAeT0JYXl6emkx5/vx59XjyuvRKolTgMjMzUVpaitzc3IRKIRER9Q0Mc0RERN3QK1H6+H7LstDe3q4mUi5atAidnZ1YsmQJQqEQotEowuEw0tLS4HK5YJom3G53wrYBeuuitEbqAUyey+Px9FiZ078u1UDgcmCLx+MIBAKYPn06tm3bhvfee0+1Tgqp0MmfqampmDt3LkaMGKEeQ27Xm/V7RET0f49hjoiIPpeuVUWS9sFrud7X9M9JK6VhGNi3bx9WrFiBP/3pTzh48CA8Hg8mTpyIUCiEWCwGr9ebsE+o3+9XjyHVPql2OZ3Oqyp/clv5+ifhcrnU0BQZoOJ0OjFt2jTU1dWhuroaJ06cUKHR5XKpqZ2WZSEtLQ3Tp0/HE088gcrKShiGAQAJr5GIiG48hjkiIvpckvbE5P06pRImFSjDMBCPx5GSkgLbttV9ZCBJNBpVa+Gi0Sjef/99vPLKK9i0aRMuXrwI27aRn5+P+fPn4/7770dHR4faD+5a68ukRVP/+/V8mj3d9OeWfwPbtnHXXXchNzcXzz//PJYtW3bV0BMAuO+++/Dkk0+q4Sz6MJXk7Q+IiOjGYZgjIqLPJRnqYds2TNNUlTG9KuZwOOD3+xMCjbQUShXK6/Xi0KFDePXVV7F06VKcOXMGpmmioKAAd9xxB+69917Mnj0bfr9fTYzU18Ulh7VPMsjk077/a32ckpKCWbNmYfjw4Xj88cdx8uRJnD59GrFYDEVFRZg0aRJKSkqQk5MDh8OBcDgMl8uVMAmTiIj6BoY5IiL6XNJbFd1ut2ojTF4Dp++dJm2GPp8P4XAYb7/9NhYtWoSjR4/i/Pnz8Hq9mDVrFu68805MnToVAwcOREpKCnw+H4ArEy776sRHqfQ5HA4MGDAA+fn5MAwDnZ2dsG0baWlpSElJSZjaKYFU30evr74/IqL+hr+NiYjoc0m2B9DXeZmmqSZG6nu+6feJxWKwbRvhcBhbt27Fvn37UFpaiq9//euYPHkyCgsLkZWVhVAopNo1k9smk8PPtSp0N0Lya/L5fAgEAqotVKZzyhYJMnFTH5TCFksior6DYY6IiD6XJKwlBxF97L+EOmmzdLvd8Pl8cDqdSE1NxeOPP4758+cjLy8PAwcORCgUQiAQSNh0O3ldWywWQywW+0T7w/016UNZ5H1L2LQsS4W1eDyOaDSqbv9p1u8REdH/DYY5IiL6XJKgIsM/pJUSuFyBMgxDjf2XiZUSvmT93NixY1FZWammPcpj6CEtOeTorYwAEsLSjSaVxOStD/T3IoFOD336BuP6vykREd1YvMxGRESfS3obZTQaVZ+zLEu1RkoLob4OTKp1+vAPub8MN9ErVsCVUJT8vMC1t0i4UfTNyeU1S2ulvEfgSvUueb2c/p6JiOjGY2WOiIg+l+LxODo7O7F582bs2bMH06dPx4QJE1SQkT3epNomLZN6uJPgBiBh7Zge1PRtDoR+O32T8BtNryxKlS05iEqlUg+18rW+8j6IiOgyhjkiIrppSWjSg5lt22hsbMTWrVtRW1uL999/H3v27MGCBQvw9NNPo6CgICG0XW94icPhQCAQQDQaVdMdZV1d8lAQob8O/XN9xbXCmAROnfzbyNcZ4oiI+iaGOSIiuinZtq1CRzweRzgcxpkzZ3DkyBFs27YNf/rTn3D06FHE43Hk5OSgvb0dlmWpbQqk+natNW/65/RpmHrwu15I68vhR3/N3YXMvhRAiYjo+hjmiIjopiRtka2trTh9+jQOHTqEjRs3Ys2aNTh58iSKioowevRolJeXY8SIERg/fjzy8vLgcDhgmmafan8kIiL6SzDMERHRTamtrQ0NDQ2orq7G8uXLsWXLFsRiMeTk5GDu3LmYMmUKbr31VlRVVcHj8SS0RUq1TZ9wSUREdLNhmCMiopvSihUr8Nvf/hbHjx9HKBTCuHHjcMstt2DOnDkYPXq0Gu4hLYP6BuLJa8SIiIhuRjyaERHRTWnt2rUYNGgQHn30UUyfPh3FxcVwu91wuVyIx+NqKqOEOJ/Pp/4ut5FtBIiIiG5GDHNERHRTevHFF2EYhgprXq83Ydx+V1cXAoGAqsZFo1GYpolAIKCmTrLFkoiIbmYMc0REdNNyu91qPZxMqLQsCz6fD4FAAAAQiUQQj8fh9/vVbS3LSthfjYiI6GbE2cNERHTTkm0A9DVwbrcbpmnC4XAgFovB5/PB7/fDMAxYlgXgyhYD+n5wRERENxtW5oiI6DMlUyNlA2+XywXLsuD1elXlzO1248KFC1i1ahXefPNNTJ48GY888ggGDBgA27bh8/l6fB6Hw6GGmySvfZOP9e0HfD5fQiWOVTkiIrrZMcwREdFnyuFwwLIs2LYNt9ut9oOzbRvhcBj79+/HihUrsHv3btTW1uLUqVOoqalBTk4OHnzwQQSDwU/0XD19LLgRNhERfd4wzBER0WdKWh+lchaNRtHa2oq1a9di5cqVqK2txfHjx9Hc3Ay3242KigpMmTIFpaWl8Hq9iMVisG0bHo/nRr8VIiKiPo1hjoiIPlPRaBS2bcM0TVRXV2PVqlU4cOAATp06hV27dsG2bYwcORK33XYbJk6ciMGDB2PIkCEoLi5W2wmwBZKIiKhnDHNERPSZampqwvbt27Fz507s378fe/fuRVNTEyorK3HPPfegqqoKw4cPx6BBg1BWVga/35+wuTf3fSMiIuodhjkiIvpMHT9+HIsWLcKWLVuQnZ2NWbNmobi4GCNHjkR5eTlGjBih1tC53W7VVilbBdi2jXg8zlBHRETUA4Y5IiL6TAWDQVRVVaG0tBQVFRUYP348hg0bpqZcSoCT8CbbA1iWpdbZccsAIiKinjHMERHRZ2rs2LEYO3as2ppAApu+Ubfb7UY0GkUsFoPH44HT6YRhGIjH4wl7xhEREdH18YhJRNRP6NUuGTAi1TKZPim3kT/1z8tgkt4OJ5EwJ5W4lJSUhNfg9Xphmqb6nM/nS3heIiIi6h7DHBFRP6MHKsuyAEDtByeBzbIstLW1oaWlBR6PByUlJYhGo/B6vT0+vgQxl8ul1r3J/ZJDWvLjMcQRERH1HsMcEVE/IcNFYrEYHA4HXC6Xaml0OByq7bGrqwutra34+OOP8dvf/hY5OTl45513VOBj4CIiIuobGOaIiPoZ0zRVS6OEuHg8DtM0sWfPHrz99ttYvnw5Tp48CY/HgwULFqgAFw6HEQwGb/A7ICIiIoBhjoioX3E4HGrtWjgcBnC51XLlypX4n//5H2zduhWGYcDhcGDYsGG48847cccdd8AwDPh8PqSkpNzgd0BERESCYY6IqJ+wLAuRSAQejwculwvHjh3Da6+9hiVLluDcuXMwDANZWVm455578MADD2DcuHFITU1FamoqHA4HIpEIAoHAjX4bRERE9P9jmCMi6idcLhei0SiWLFmCt99+G9XV1bh48SICgQDmz5+PO+64A+PHj8eAAQOQlpamWjE9Hg8AcMsAIiKiPoZHZiKifsK2bTXYZPPmzaiqqsI999yDyspKDBw4ENnZ2QgEAvB4PLAsK2FbAQBwOp3o6upiqyUREVEfwTBHRNRPOJ1O5OXl4YknnsBXvvIV5OTkoLCwEJmZmfB4PGpfOODKVgVOp1NtWRCLxXq1NQERERH9dTDMERH1EbZtw+FwIBaLIR6Pw+Vywel0qr9LwLJtW33e6XT2eiNvh8OBYDCIcePGXfWccv9rPZ5sGu5wOOB0Oj/7N05ERER/EYY5IqI+QPZ+00k1TIKUbdsqfAGfzQbbejjrLhT2NjASERHRXw/DHBFRHxCLxeDxeFTVTT4n1TCpjsXjcbS2tmLHjh3Ys2cP7rjjDowePRper5dhi4iIqJ9hmCMi6gMkwElgkwAHXG6FjEQiaGxsxP79+7F79258/PHH2LFjB06cOIH/+I//gMPhgNvtZhskERFRP8IwR0TUR0g7ZTweh2VZcDqd6OzsxKlTp1BTU4PNmzdjw4YNqKmpQTweR3FxMc6fP6/uQ0RERP0LwxwRUR8Qi8VUqyUAXLx4EQ0NDdi/fz82bdqETZs24eTJk8jLy8O4ceNQWlqKyZMnY9iwYfD5fGyzJCIi6ocY5oiI+gCPx4Ouri60tbXh9OnT2Lt3L95//33s2rUL0WgU2dnZWLBgAaZPn46JEydi8uTJMAwDLpdLDUbRWzOJiIjo849hjoioD7AsCykpKVi8eDH+8Ic/4NSpU/D5fJg4cSK+8IUvYMaMGRg+fDhM00RqaioAwOfzqfvLsBSGOSIiov6DYY6IqAf6ejR9fVp3a9U+aajyer2IxWJ4//33kZWVhQcffBDz5s1Dfn6+2mMuFoshNTUV0WhUtWPGYjEAlzf5ZpAjIiLqXxjmiIi6EY/HEY1GAUBt4i1tjbKJtwwuAQDDMOD1eq+aKtnbTb1fe+21hNvqwVGeTw9u+pYFvX0eIiIi+nxgmCMi6kY0GlV7vckm3hLqgCsTKMPhMOLxOAKBAEzThNfrVSHQ4/HA5XL1+FzJQUw2DE9eF6dzuVyIxWKwbbtXz0FERESfHwxzRETdkHZGncPhgG3bsCxLfT0QCKivyVq2TzphUgKbhEc9nElolFCphzfuLUdERNQ/8QyAiKgblmXBtm31cSQSgWmaAC6vUwOgAphhGGhpacHLL7+M+fPn49///d9x8uTJXgc6CXAylTJ5oEny52KxGKLRqBp+QkRERP0LK3NERN1wuVyIRqNqrZpU26Q6Z5omHA4HtmzZgpUrV2LTpk2oq6tDc3Mz6uvrUVlZiZKSkh6fxzAMeDyehLVw1yIDT6RC53Q6YVmW+piIiIj6D4Y5IqJuyJo5qcJJmIrH4zh79iy2b9+OZcuW4ciRI6ivr0dLSwucTifKysowa9YsFBUVJQxIuZ7kaZRyH1kPF4/H4fF4VIulvq8cQxwREVH/xDBHRNQNl8ulApTD4UAkEkFNTQ3WrFmDrVu3or6+HocOHQIAjBw5EnfddReqqqowePBglJSUID8/H9FoFF6vt1fPJxU/CXMS1qTF0+/3q5Anw1FcLhfbLImIiPohhjkiom5IO2NdXR22bduGvXv34uDBg9i3bx86OjpQVlaGBx54ABMmTEBxcTGGDBmCoUOHwu/3IxqNXnMC5bXEYjE4nU7EYjE0NDTg8OHDqKurw6VLl+ByuZCTk4Py8nIMGzYMqampCdsRsDJHRETUPzHMEdFNScKMhK3kYCN/l+El0pL4l4SgeDyOw4cPY9GiRdi/fz9yc3Nx2223oaKiAsOHD0dpaSlGjRoF4Eook6qabEsglTZ5fqmq6e8jEolg5cqVWLduHQ4ePIhTp06hvb0dTqcTBQUFqKioQFVVFe6//34MHDhQbX2gPycRERH1HwxzRHRTkkAmLZDJA0AkJEl7pH775EDVHVmflp6ejilTpmDChAkYNWoUxo4diyFDhly1v5v+sbRW6s+XHOj097Jq1Sr8/Oc/x44dO2Capnr9AFBfX4+dO3di9erV6OjowNe//nXk5OSo1wiAgY6IiKifYZgjopuSHtDk77LeDEis3Ol7s8lt5TY9karXxIkTMW7cOLVGTUJeb0nglK0H5PXI6zty5Ah++ctfYvv27YhEIgCuDmfxeBwNDQ14/vnnkZOTg2984xu9buMkIiKizx+eARDRTSm5XVIPSNcKbRKm4vG4Gh4iEyq74/V6VQDzer2q2iaP0ZtKmP46rhcgX3nlFezZs0ftYZe855xe8Wtra8PLL7+MlpaWhI3GiYiIqH9hmCOim9K1Apw+AVI+lmDndrthWRYuXLiA2tpanDhxoleVNf0x9I99Pp+q0H2S1wskVg1t20Y0GsWiRYvQ1dWltijQA6jcRlo6XS4Xjh8/jrVr18LpdKqWTAY6IiKi/oVtlkR0U0quculbCJimqbYD8Hq9MAwDly5dQkNDA9asWYO3334b5eXl+PWvfw2fz9er55GgJKFK7tfTmjt5DNmrTm/3jMfjsCwLTU1NaG9vV1U5CXOxWEyFU2HbNi5dugSPx4PDhw/Dtm14PB4VbBnoiIiI+g+GOSK6KUmbo2ykrbdc+v1++Hw+RKNRdHZ2Yv369XjzzTexZs0aNDY2AgCGDx/e673f5LEdDge8Xm/CpMzetGrqlTjZN04ewzRNtLe3J4TCQCCgqm3yn7xWwzDUPnNutxuGYSAlJYVBjoiIqB9imCOim5IeiOLxuKpqud1uFeKWL1+Ol19+GTt37kRnZycAoLy8HF/84hdx11139fq5XC4XTNOEaZpqDZ18/tNyuVwIhUIwDEO9r3A4nDD50uFwqHCnP69lWfD7/TAMA16vl2GOiIion2GYI6Kbkh5cHA4HfD4fTNPE3r178Yc//AFvvvkmOjo6EIlEMGjQIDz22GNYsGABxowZg+zsbHg8HlXd6o5pmnC5XPD7/Vd9LR6Pq3bOnl5r8tYEsv4tEAigsLAQhYWFCIfDMAwjocomwU1aLmXtX0pKCkaMGJGwjo+IiIj6F4a5TykajaqpeE6nE7FYDKZpIhAIqDUvcsIoww6kzUquxPt8voQ9sYArJ3DSTqWPKI/FYupE8HobJgNQJ4Vutxsul4tX7alP0b9vJZBYlqXaGJPXil1PLBZDa2srVqxYgVdffRU1NTVoa2tDIBDAwoULsXDhQowfPx65ubkIBALw+/0JP189kaB2vdt6PJ4eH0N+5vW/66/B4XDg7rvvxosvvqh+L+jr5mSypf5vlJeXh/nz5yMajcLv93OPOSIion6IYe5T0k/IZPKc1+uFbduIxWIJgQu43BYFXG4Fk5NAfcNjvW1Lrvq7XC5Eo9GrRpUnVyZkmIJUGvTHl72oeLJHfUEsFgNwJSBZlgWHw6G+Z3tT7ZKLGk6nE+fPn8eaNWuwd+9eTJgwAQsXLsS4ceOQm5uLnJwcpKWlqZ8RuejS260JuvuZ+SQ/T8k/r8meeOIJfPjhh7h06ZL6WZaLO/o0TZfLhfz8fPzLv/wLXC6XGn4ioY97zhEREfUfDHOfkmVZagiDnFjqez5ZlgWPx6PWtOjDGvQTWrmfVOfkpM3tdqs2L/0kTU72gCsbC0s1Q07q9NHnn8XaHqLPSvJ0Rn0oSG9aHwGo723LsjBw4EA88cQTePjhh1FQUIDCwkKkp6ernw2pUutVtN5sGP7XlJ+fj1/84hd4+umnsX79enURR4KubDg+YsQIfPe738Udd9wBj8eDaDQKj8fT60omERERfX4wzH1KLpcroUIgJ1PhcBh+vz+h/TH5hFW/ffJYcTnBlVAnYS75Cr18LOHO5/MhEonA7/fD4XDAsqxrVvKIbiS9ZVhCCoCECyI9VZj0ixhpaWkYO3asukACXBla4vF4VDhMbnXsSz8TDocDU6dOxVNPPYV3330XGzZsQGNjI86fPw+Hw4Hhw4dj4sSJWLBgASoqKpCenp4QSFmRIyIi6n8Y5j4lfS2Mvv5HX0MnlQaHw6HaJa91H30ogpxkmqaZsInw9Z5XPyEW+no6y7JUKCS60aSCLNVjAAltgnoo647T6VR7t0mlWr7H9cd2u90JF0IkMEordF8gP/8TJkxAbm4ubr31VrS3t6OtrQ0OhwOFhYUoLi7G0KFD1e8V0zTh8/nUtEtZH0tERET9A8Pcp6RX02TanIQxCW6xWCyhDUpfXycnlnJyJhsfh8NhdZKmt6HpU/HkZFX/uKurCz6fT1ULk09iifoCfZ0ocLkdub29HRs3bsTBgwfV1Mmevmf1ixp6ZUoqe/L9L4OKkm/bl1ot9Y3Ei4qKUFhYmPD+JHwCV9bDyu+TSCTCNbFERET9EMPcpyShTSpjhmGgvr4ey5cvVyHu7/7u79Q4cT2QiQsXLuDgwYM4cuQIOjo6AFyuLkyYMAFjxoyB1+tVbWLJ9zVNExcuXEBDQwNqa2tx5MgRBINBpKamoqysDKNHj0Z6ejpP8qhPMk0TdXV12LFjBw4fPoy1a9di7969aGxsxH/913912zqo/xxIOJSLIcCVixfJG3brbc59qTVRLgTpVUm54CNrA/XWUKfTqYYtyTAX/pwTERH1Lwxzn5J+cujxeNDU1ISXXnoJv/rVrxCNRgEAX/3qVxEMBlW1QE7KYrEYTpw4gdWrV2PlypWorq7G6dOn4XA4kJ+fj2nTpmHevHm47bbbUFhYqE5U5YTOMAycOHEC69atw4YNG7Bjxw7U1NTA6XQiOzsb06ZNw5w5czBv3jwMHDiwT524Uv/W3t6OEydO4NChQ9i4cSNWrlyJ48ePIxgMoqioCM3NzT0+hh7a9JZNvTou/0llXB88pIe8vkCCnAQyfViLPhBJ/q63T8tWKERERNS/MMx1Q9/kV2+BlBNE+boMWOjs7MT27dvx+9///u/X2DwAACAASURBVKp9svQx6BLqTp48iT/84Q949dVX0drailGjRqGyshK2baO+vh7vvfceduzYgdbWVnz1q19Ffn6+OmGLx+M4deoUli5dikWLFuHw4cMoKyvDXXfdBafTiePHj2P16tXYunUrLly4gL/5m7/B4MGDEzYtTvaXTL3Up2/qJ8b6RE/9731t6AQlSm7fBRLbc5O/b/Q2Y7mt/j2qtxUDQFtbm6rErV+/Hlu2bEFjYyNycnIwc+ZMDBs2DJMmTUJVVVWvBqDI88h6UD2sXet7Wd6bPj22r5B/J7fbrSqH8nmpuumDlpLDKH+2iIiI+h+GuR7I8BJZ/6ZP2dNboKLRKA4dOoTXX38dly5dwpAhQ3D06FEV4OTkTE7WIpEI1qxZg8WLF6OlpQXTp0/HP/zDP2Du3LkIh8NYsmQJXnrpJezYsQP//d//jVGjRmHWrFnw+XwALk/L3LJlC1599VXU1dVh0qRJ+MEPfoB58+bB7XZj6dKleOGFF7Bp0ya89NJLKCsrQ1ZWFoLBYMI6PP1jaQPtjh7IrvXvIO9RPtYHTegVE+qb9HAufweuDuf61FV97aeEKRmrL22A586dw9mzZ7Fnzx4sX74c1dXVsG0b+fn5mDx5MqZOnYpbb70V5eXlqnW5t98nyZNdk7c10EOd/v3dVypyOtlb71qvLXmAkcPhUL8PiIiIqH9imOslr9d7VaUJuHIief78eXz44YdYv349xowZg6lTp+LZZ59V6+nkpEtO0mpqarBhwwacPXsW48aNw/e//33MnTsXtm3D4/HgkUceQVFRER577DE0NTXhvffew9ChQzFkyBA4HA7U1dVh48aNOHHiBMrLy/HDH/4Q8+bNU9WJL33pSygoKMCTTz6JvXv3YuXKlRg9ejRGjhyp2j/1Pe9ks/OeKhWykbFe2ZDnlPcmwVff+04/wU6u5lDfkvz/Jh6PJ0xKTK7utrS0oKWlBcDlNXCGYSAtLQ2pqanIycmBx+PBW2+9haVLl+LUqVMIhUKYNWsWpk2bhltuuQVlZWXwer1qOqPb7e5xw3AiIiIiYpjrkb75NoCESZVyQhsOh7Fu3Tq8+uqryMrKwoMPPqjGicu6Fv0E2OFwYO/evdi1axf8fj9mz56NuXPnJpzMAsD06dMxa9YsvPvuu1ixYgXuvfdelJaWAgD27duHjRs3wuv1YsqUKZg/f756jaZpwuv1YuLEiZgxYwZOnjyJtWvXYuHChRg5ciR8Pl9CC51ehekpZMnQBbfbDcMwEIlEEAgEEqpxerUgGo2qz+tbKOjrgajvSG7Vk+99v98PAKp6G4/H0dXVhbNnz+Kjjz7Ca6+9hu3bt8M0TQQCATidTjz00ENYuHAhZs6ciZUrV2Lw4MF4/PHHcfvtt2PAgAHq+ZKfR6/uEREREdH1Mcx1Q1rHZGCJ3vqktxbu3LkTixcvRlNTE2bPno27774bL730kgpvelXKtm2YpomDBw/i5MmTqKqqUpsdx+NxddLc1dWFYDCIyZMnY+3atairq8OZM2fUCHKZXFleXo6ZM2deVTWUgSyjR49GKBTC6dOn0djYCNM04ff7EYvF1Im5/Cdtcd2xbRuRSESdtAcCAQCJbWEylEFO0JOn7LEq13fJ94UM20ge4S/fy5Zloba2Fj/72c/w9ttvJ/yMXLp0CQDw4osv4re//S2efvpp/O53v0N2drbahsM0zYS2Qb1dE+D3CBEREVFv9L1FI32UXkHQQ1B7ezvWrl2L999/H8OGDcN3vvMdBINBdHR0wLZtpKamJgQdl8uF+vp6nDp1CtFoFIMGDcKwYcMAQIUeh8OBYDAIABg5cqTaFPn48eNoaGhAQ0MDzp49C9M0kZ2djbKysoRx5oFAQJ10jxw5EmlpabAsC3V1daivr4dhGKqC5vF4VLWxN61tXq9X7X8ngS0SiSAej8MwjIT3If9u+mj13m4GTTeGXjVNHpGv79fW2NiI//zP/8SyZcsSqtZ6Vdbj8cC2bfzrv/4rNmzYgNbWVhX6vF5vwsASfTBJX9sygIiIiKiv4hlTL11rs2/DMLB06VIsXboUZWVlePzxxzFp0iREo1Gkp6cjNTUVnZ2daniEtByeOnUKzc3NsG0boVAIAwYMUBXASCSCWCyGcDgMwzAwYcIENXb8woULiEQiaGhowPnz51XoKygogNPphGEYsCwLAGAYBgzDQEVFBdLT0wEA9fX1aGtrUyfrlmUhHA4DuHziHolEEgacXOs/OakHrlRrXC4XnE6nqtLJMBXg6oET+pRE6nukXVYCuWEYaG9vTxheE41G8frrr2P37t2wLAumaQKA+v51u91qaBBwudX2xz/+Mc6ePauqfRLs5XGlQheLxVS4IyIiIqLusc2yG/rmwhJm9Kl5u3fvxvLly3Hu3Dk8/PDDuO+++1RlwzAMdHV1qfCijxQPh8Mq7AQCAYRCoYQ1QvoaJY/HoypmpmnC6XSis7NTnWAHAgFkZWXB6XSqSghwZSqetL653W50dXWpwAZAVfwikQj8fv91tyzQyXCTQCCArq4uGIah1uDJoIzkLRwikYh6TfqefNT3yPeL/CnrI5ubm/HBBx/glVdewRe+8AV88MEHOH78uApsMhzFMAz1PQhc/v4Oh8M4dOgQampqMGTIELWmDrgyUEeG5HCdHBEREVHvMcz1QE4uZR2RVOeam5uxfPlybN68GZMmTcL999+PjIwMdR89WOlbGkhLooQ8l8ulQo5URIDLoUk2OpbtEbq6uhImRQKXw57P50MsFrvm+Hhpo7RtW7W26Xvm1dbW4vnnn1ehtaf2tiNHjuDs2bO4dOkSfvWrXyEjIwMpKSno6OhAamqqGgxjGAbcbrd6TeXl5bj99tsxYsQInrD3YfL9IyHrxIkTWLZsGT788EMcPXoU9fX1av1lNBpNqKhd60KAtN66XC7s2bMHU6dORTAYVD8byeP2k18HEREREV0fw1wv6dUmAPjggw+wcuVKFBcX4/7778eoUaMAXBnkoG+kLRU1vUqmT7bUB5bI7aVyJSe9sVhMtVvq1cLk16ifVOvbJ+hbCEhojMfjOHfuHN54442Efee6Y5omurq6cOnSJaxatUoFXMMw1OuX1ysh1uv1YubMmaioqEBpaelV+4BRz5Kru/r3gPx/lu8jqdLK56R6JttrRCIR9fXkwT4OhwOdnZ2orq7GBx98gI8//hgnTpzA2bNnEQwGMXr0aJSWlmLLli1ob29XFVl5nOutiYxGozh//jzC4XDCdFh5TnmPRERERNR7PKvuBakyyVqfffv2YenSpTh37hweffRRzJ49Ww0skZPU5M3GpdIm1TY5AbYsC5ZlJVTk9FCmD5eQ+0uFTSZjdnZ2qs3A5WS6q6sLgUBAPb6QKYVyEj5o0CA8/vjjqlLYU5g7ePAgNm/ejLS0NMyYMUOt19P3ndM3R5eKYWlpKYqKitTr5oCLT06C2/X+/eRz+sAZvUVYvo+T9wWUoT6NjY3YtWsXNm7ciP3796O6uhqXLl3CqFGjsHDhQowePRpDhw5FOBzGyZMncerUqYRqrn4BQ7jdbtV6m5+fr7Ye0F+v/v6IiIiIqPcY5nqgV0BkaMPSpUuxZcsWhMNh7N27Fz//+c8TTqTD4TB27NgB27bhcrnw9NNPw+l0Yvr06bjtttuQmZmJYDCIeDyO1tZWnDlzBgUFBWotkdvtVm1utbW1KoxlZGQgEAggOzsbGRkZiMfj6OzsRFNTE1JTU6/ayBwAGhoaEA6H4Xa71f0klEqY+853vqPu15OlS5fiwIEDKCgowEMPPYSRI0fC6XTC5XIlrJ+S9y6VRL/fj/T09ISqEvVecvusHuz0qmvyfobA5bDm8XjU95Qe5h0OB06dOoWNGzdi06ZN2L9/P86fP4/s7Gzcc889GD16NIqLizFkyBAUFhYiGAyiqakJeXl5Kpjrr0nfvxBAQtVw5MiRyMjI6FUFmIiIiIh6xjDXA1l3Jielbrcbe/fuRWNjI5xOJz766COsWrVKnZzKhD4A6iT7N7/5jRrdP378eJSUlKCgoAAejwcXLlzAqVOnkJ+fn7BmTionEhpt20ZJSQkyMzMRCoVQWFgIh8OB1tZWHD9+HMXFxQmtblIBOXTokJpYWVRUhLy8PPW+gMsDKoqKilQFsaf1bLm5uapCOHjwYBQXF6vHk6qgnOTrawb1AMIg98npbZYSlvXJqnqQ0gOVVEn1oTPJFbR169bh9ddfV4Hr7rvvxqBBgzBp0iQMGTJEbScggTEnJwcTJkzA7t270djYqF6brH+TNZkymRIAqqqqUFFRgUAgoMI8104SERERfToMc72kB605c+Zg0KBBCXupSbuZYRjo6OjA4cOHsW/fPpimicceewyhUAjTp09HZmYmcnJyUFxcjPT0dDQ0NODEiROYNWuWOsnVQ9Hu3bvR0dGBAQMGYMiQIQiFQgAuB7Ps7Gw0Nzdj3759uPXWWwEg4YTe4XBg8+bNaGtrQ3Z2NoqKihAKha6q8ugn95+0YiIn8fqf8rjydT1sJK/Rot7TA53eFivfM3IBQF+HKRcjpM03uU0zFoshJSUF06ZNQ2VlJcaPH4/CwkJYlpWw76B+gcLpdOKLX/wiqqursWrVKrUOTq9i662UqampePTRR1FUVJTQiktEREREnw7DXA+S91QDgG9/+9tXrRXS29vq6+vxm9/8BgcPHoRpmvi3f/s3DBo0SD2ObdsYNWoUhg4dikOHDmHbtm1YuHAhsrOz1W3cbjfq6+uxfft2dHZ24o477kBubi6AyyfWw4cPx5gxY7Br1y5s374d58+fR25urmqpM00TLS0tWLduHZqamjBnzhyUlJQkrG2TE3DgyrYBPQ2hkDVwsg5Qr8JI+6ZUXSQ86GFOb++j3pPKmD4cB7gyRVKv1OlhzzRN+Hw+VQWTarFMZ8X/x96dB1lZXvkD/77LXXtv6I19V5AdaXYUiQpqRKPBaGIqk2VmSGJiqibJJJNfaWJSqZmqTGJSkmQ0LtG4QVxAI6gsog2yiAhth0UQaGiW7qY3uu+97/r7g3oennv70oD0woXvp4qil7v3033f857znAPg5ptvxq233irXs2igIm5bzeiJ2x0zZgwWLlwIy7KwceNGHD9+XF5G/Lx1XUdpaSkWLFiA+fPny1Jg0WGViIiIiC4Mg7mzEMGP+Ce6NwKQe9nULJSu6wiFQgBONSFR53aJPUuGYWDSpEmYNm0adu3ahY0bN2L58uWYN2+eLJ88ePAgnn76aVRWViIrKws33nijLMXUdR1jxozBzJkzsWnTJmzevBlLly7F5z//eQwYMACu66K6uhrLli3Dnj17EAqFMHv2bAwaNCip02ZqRiddh8x0r4doBiM+TyUCOhU7FV4YNRAWXNeF4zgIBAJyH5xt2zILlzqwXT3pYNu2DNTEmhCBvVoyLIIv8bkI5lzXxS233IIBAwZgyZIleO+991BbWyuDxLy8POTl5WHmzJn48Y9/jOzs7KRB8gzoiYiIiC4cg7mzEHuNRLZLZKREww/f9+Vg5dSDYgBJg5DFbRmGgdLSUlxzzTWorKzEpk2b8Nvf/haHDh3C/PnzkUgk8Nprr+Evf/kLNE3DvHnzMHv2bJSUlMiD+T59+uDaa6/F+++/jw0bNuDhhx/GgQMHsGDBAgBARUUFFi9ejKamJsyfPx9z5syRmT3gdLmcyMCIoOBsB9giKI3H4/J5iiABOD2sXA0a1fb5bH5xYdTXTwxvF23/jx8/juzsbPTp0weWZSESiciB7mJPo1jD0WgUlmXJkwuiIY5oviO6pqaO2RD/QqEQPM/DpEmTMGbMGOzcuRPvvfcejh8/jkgkItdn3759kwJH4HRgynVAREREdGEYzJ2Fmt0QWblwOAzbthEKhWSWQRycpg5BFqWIqbcVDocxd+5ctLW1wbIsVFVV4de//jV+9atfwXVdBINB5OTk4Prrr8dPfvITDBgwIGkflGEYmD59Ou6//34kEgns2LEDixcvxsMPPyxnu2VnZ2Pq1Kn4zne+g1GjRsmAUxy8i31Ragne2Q6wRfmkruvyuqKLpUpk/MRMPYEH8Ol1lLlU95ipWbJ4PI7W1lbs27cP77zzDpYtW4Zp06bhV7/6FUKhUNKcw3A4DNM0k046GIYhs7NqtlWdRyjWtmmaSUPsBbEOxowZg0mTJskMttpRNRQKwbIseXnulyMiIiLqHAzmOqBpWtKAazVIEwfVaqml2ljCNE2UlJTIkjcASQ0lfN9HJBLBHXfcgTFjxuCFF17A6tWrsXfvXgSDQQwbNgx33303brvtNvTu3Ttpdps4SA+FQrj22mvRp08fvP7661i2bBkOHz6MWCyG0aNH44477sBNN92EAQMGyHI6EUyp+65Sn2dHRBYPOF1Wqj6v1NdH4AF8x9SZcIII8BKJRNLAeJEZ3bJlC55//nm88cYbOH78OILBIKZPnw7P89DS0oK8vDwA7deqmP2WOqJA3Kc64D4d8XugBn/CmYK1dGuEiIiIiC6M5nMz0wVRsxSihbsInBKJhNw/B5zOSolgTM1iAKeyeMFgEJqmoampCVlZWTJ4U/c7GYaBRCIBz/MQCoXgui5isRhycnLk7QLJB9nqPrkL8dxzz+HBBx9ESUkJHn74YUyYMCFtVokZuPMjAjURTImfo1hLItizbRuPP/44HnnkEXzyySdyzYwePRo33ngjbr75ZkyYMAGRSASe5yGRSAA4NYJCiMfjcp9da2srDMNIu06JiIiI6OLGzNwFUgM0MZi5ra1N7ldKJBIyQEstY1QzMWpZmu/7yM3NlQf3tm3L2WJqNkTNAmZlZcn7ShfEca/axU1kzdQGO2LUQ0tLC3bv3o3f//73WLVqFZqamhCJRDBgwADMmzcPd999N4YPH45gMIhwOCwH14fDYRnsf/jhh3jjjTdgmib69u2LG264AcXFxYhGo/A8D7Ztw3EcmKbJLBoRERFRhmAwd4FE1gSAbISiHpCrGQ/1OkDy7C4xYFl0AxT78cTtAqe7C4pxAOp11blgaunnuXSopJ4nylzFz1LTNNTV1eHll1/G3//+d+zevRsnT56EpmlYsGABFi5ciOHDh6O4uBh5eXlyPYj9bqZpoqmpCa+99hr+53/+BydOnEBbW5ssg4xGo7j55pvxzW9+E6NHj26315OIiIiILn4M5i6Q6AipNicRTSdEtu5M1Nl04iA7tWFIIpGQB9rigF/tLCgyeqIUUz0oTy3rpIuXpmmyQ6joeFpbW4t169bh0KFDmDZtGm699VZcddVV6NWrF3r37o1wOCzXGgA5788wDBw6dAiPP/44nnrqKdTX16OlpaXdfb700kvYtWsXvv/97+OGG26Qa5mIiIiIMgODuQsk9syJkji1pFHNoqlZOJUa0KnXSS2nVBtTqNdTBzSnlnGmziVjqeXFS6wTUU4bj8dRVlaGH//4x2hra0Nubi7KysrQq1evdgPbxZgA4NTPvK6uDmvWrMGjjz6KmpqapJMBtm3Ly9bX12PDhg0oLCxEYWEhpk+fzvVBRERElEEYzHUSddCyup8tNXg7U5Ysde9c6kG1uI46r018XQSUojuhyBCmBm88UL94qSWxYo3k5eUldTJVg3VRTim+p3aR3LNnD55//nkcOXJE7tsU8wHFOgqHw3AcB7FYDBUVFZg8eTLGjx+P7OzsHnsNiIiIiOj8sF/8BRKBlwigACR1JUwX1KmBlhqUqddJbRmfLrhTAzlxv6m3Ly6rDvami09qsC4G1QOQ+yhF+ay4jNqZVF17n376KTZu3AjTNOW6FI1QxBoTH2uahtraWmzbtg379u3rtudLRERERBeOmbkLpAZNIrOSWm55LkFUR/vbOgro1GxOupEEqc1W6LNJNwwbSJ4Pp5bJitl9lmXh0KFD2LJlC44dO4ZFixbJYErN4KrZNRFkiawb0D7Dq15eDfJOnjyJo0ePorGxUd4PcDrwE+tLDHoX66K2thY1NTUYOXKk3HunPi/1uuK+xEkMMYhefJ+NVIiIiIi6B4O5TpCaIUk9mD1bIJX6/XS3ke6yqddLdx0O674wIohLHaytDoMHTs0IVIOq5uZmHDx4ENu3b8emTZuwefNmtLa2YtGiRbBtOymoEkFdaiZVBEhq1g04PZg7tRGOpmlobm5GXV2dzNqKgNCyrKSMryBuRx0Gn04ikUAgEEi6DfE41cchXgs2UiEiIiLqegzmiM5CBHOBQACapskmIpZlJQU4iUQCtbW12L17N7Zv344tW7Zg8+bNOHr0KAYMGIBJkybJoCcYDMKyrKTSWnE/avZLfCwCrdTyXbW0Vtd1RCIRZGVlJXVJFdcXTXpSM8jif/H8gNPlwyIz6Lqu7Kaq7tVTh9qLyxIRERFR92AwR9QBMS5CzPgTpYvhcBhtbW1yntuhQ4ewZ88ebNq0CRUVFdi/fz8ikQgGDhyIa6+9FpMmTcKUKVPgeZ7sPinmwakBkxgPIOYOiuDKcRyEw+GkAE8txxTXLygowLBhw5CXl4eWlhZZzmkYhiytVBvsiCCvtLQUJSUlMjh0XRfBYFA+58bGRhw/fhyHDx+WDVVM00RBQQEGDhyI4uJiGdRy6DgRERFR92AwR3QWYh9cMBhMmh0Yi8VQVVWFjz/+GGvXrsWWLVuQSCTQr18/zJ8/H5MnT8bMmTMxYsQIuK4Ly7JkgGTbtvzYsqykYfNqCaMo3RRBX7qxF+pjdF0XZWVlmD59OtasWYNEIgHHcZCXl4empib5nESgqOs6SkpKUF5ejlGjRsmMm1rSuW/fPrz44ovYvHkzVq9ejZMnTwIAQqEQRo4cidtuuw233HILhg8fjqysrHYjMoiIiIioazCYI+qAKCkU2TkRVBmGgeeffx7PP/88jh49ivz8fFx99dWYM2cOZs2ahf79+8uyRpHVi0Qi8DxPNk0BTpVHRqNRNDU1oaGhAW1tbbBtW5ZShsNhFBQUIC8vT+5bU/fYiaBPXD4QCGDSpEn4yle+gg8++ADNzc1IJBKIxWIyUBN72kSG8ZprrkF5eTmA00Pqw+EwLMvCsWPH8NBDD2Hp0qVysDkA2dxl27Ztsqz0P/7jPzBx4sSkMlAiIiIi6joM5og6IIIl4PQcP7F37E9/+hPmz5+PGTNmYOLEiSgtLU3b+MNxHHndeDyOSCQis2uxWAytra3YuHEjnnnmGaxZswYNDQ0IhUIoLi7G3Llz8cUvfhFjxoxBaWmp3LMnAjpd1+XeOxHchcNhTJ06Fd/97nfxyCOPIJFIoKGhod24ivz8fMyYMQNf+9rXcPXVV8vsoHjOtbW1ePzxx/Hss8+264qpdsNsa2vDK6+8As/z8Mc//hFFRUVd/nMhIiIiIgZzRB1KzYAlEgm4rousrCzs2LED8XhcBkHAqSBHDawMw0AoFAJwKoAKhULyMsFgEIZh4Ec/+hH+/ve/y6DMdV3EYjFUV1fjiSeewMqVK3Hvvffihz/8IfLy8mSGLBQKJXUwFSMFfN/HwIEDsWjRIgwZMgSPPPIIPv74Y+i6jng8jpycHAQCAdx77734+te/jqFDh8r7FfvxLMtCa2sr/vd//1eWZKrdK4FTZZaiI6fruti+fTueffZZfPOb30ROTk43/6SIiIiILj8M5ojOQh3oHolEZAATDAYRDodllgo43VVSlFj6vg/HcZLGAQQCAcTjcbiui29/+9t49dVXEY/Hk7KA6kD4Q4cO4f/+7/8wdOhQfPGLX0RWVpbMDqYSJZ3BYBC5ubm48847cfvtt+OTTz7BkSNHYBgGIpEIrrjiCuTk5MjbEY9VlGK2tbVh2bJlaGlpSft6BAIBOI4jm7bouo69e/dixYoVuP/++zvttSciIiKiM2MwRxlLnfemaRpisRiCwaDMlomSR1EaKIIy0eZfBCSmacqviSAsdVi2+jkA2bFRbYgCQAZHapfJ1NluoqPla6+9hvXr16O5ufmsg+UbGhrwwAMPYP78+cjOzk66T/VxpXssgUAAI0eOxIgRI+TzUDtaqpcVAZ1lWaipqZG3bxgGHMdBMBiUwan6mMXzbW1txaeffoohQ4Z0+HyIiIiI6MKxSwFlJMdx0NjYKPeiiUBDZM/U2WepmbNAIADTNNHW1oannnoKs2bNwhNPPIGGhgYAkOMHHMdJG8ilfk39PN3XgdNBkvq9Z555Bk1NTWfMsql834dlWVi+fDlaW1uhaRocx2k36y3dYxFjBEKhEILBoJyNd6bHrc65A04HveqMPRHQqXPsREbv6NGjn/0HS0RERETnjJk5yki6rsvh2IlEQmbKLMuCYRiy+6S4rMi8ua6LXbt24aWXXsLq1atx8OBB1NTUwLZtTJ48Gfn5+TJbJ8YGiD1vn5XIWqldJ13Xxc6dO+UsuLPxfR/Nzc147733sHDhwqQmKGKPXmeMAxC3o2beRHdNz/NkYCcawagNWQzDQF5eHoYOHXrBj4OIiIiIzo7BHGUkkW0Ss9ZEoCRKJsUwbNEgpKGhAR9++CFWr16NrVu3Yvfu3Th48CB0XceUKVMwc+ZM5ObmQtd1Of9N3EdnPFbg9D44UeLoui7i8bjMgKW7vEpkI0WgJYIuEWyl66T5WR6r67oIhUIYO3as/Jo62DwYDMqmJ4Jo7tKvXz8UFhZe8OMgIiIiorNjMEcZSS1XVLNTIoMkvnfs2DFs3rxZDvX+5JNPEI/HccUVV+D222/HuHHjMGjQIJSUlKCkpCQpc9ZZw69FcxERfImmIeqMODVAO5NoNIrc3FxYloXc3FwZeKn78zrjsQJAbm4uJk+ejGHDhmHv3r0ATpVbirl54jUS2TnLsjBgwADceOONnRIAExEREdHZ8aiLMpooiRSllGKg9549e1BRUYHNmzejqqoKJ06cQJ8+fbBw4UJceeWV6N+/P4YNG4aBAwfKTJPI9ImMU2cEcqrUvXRDhw7FgQMH5D40PqWOzgAAIABJREFUoH02Tr2e53m46qqr5J438TjVjpQXGtSJgNM0TfTr1w/f/e538f/+3/9DS0tLUjCqNpjxfR9lZWW47rrrMHPmTPkzICIiIqKuxWCOMpoa/IgmHQDw9ttv4/XXX4dpmhg7diyGDx+OUaNGYeTIkejXr59s4iGIDo4iyyUCrs7IeInHJB6fyMR94QtfwMcff4zq6up23SHV64pukvn5+bjmmmuQlZUFAEmZsbN1wzxXruvKDqFZWVm46667UFNTg+XLl2Pv3r1JzVHE/fbp0wcLFizAl7/8ZZSWlnbK4yAiIiKis2MwRxlNzVKJEkkAKCkpwbx58zB69GiMHDkSpaWlSaWN4roAZCZKBHdq2WNnEkPELcuCaZq44YYb8Nprr6G2thatra1pryOCv+zsbNx1110YPXq0fI6pe+s6I5OY+vr07t0bP/jBDzB06FC89957OHjwII4dOwbDMJCdnY2ysjJMnjwZ8+fPx7hx4wCg00o+iYiIiKhjDOaoS4igILWlv/gecDpoSm0KIr4urqNeL/XrInAQnRbFHrI777wz6fGk3rdaBijKFSORCCzLkrfX2WWWwWBQPt9AIICSkhJ86UtfguM4qKioQGNjY9J9i+dXWlqKa665Bt/+9reRk5MjH6PIIHZm8BQIBGAYhvyZAEBxcTH+5V/+BTfeeCOqqqqwf/9+BINBFBQUYNiwYRg8eDAikUinPQYiIiIiOjcM5qjLqJ0mAciATQRlYo+XOi9NNB5RG4akNiURwZ46+FqMJjhbYJNuL5f6NXE7ndnEQw0kNU1DNBqFbdvQNA0LFixA7969UVZWho8++gjHjh1DS0sLTNNETk4OSkpKMHv2bHzjG9+QLf/D4TCArsuAqRlO8fh1XcfAgQMxcODALrlPIiIiIjp/DOaoS5xp0LYIxlzXRSKRQCQSQSgUkoOwRbmj67pobGzE4cOH0atXL/Tv3z9pz5maOcoUatmmCExDoRCmTJmCCRMm4IMPPkBFRQXq6upgGAb69u2LmTNnYuLEiZ0ydoCIiIiILi0M5qhLpGbOgNMt+sX8t1AoBMdxZLMN3/fR1taGlpYW7Nu3D2+++SZWrlyJO++8E9///vflkOxzGbJ9MVKzkaFQCLZtAzhV3hmNRjFr1izMnj0bgUAAiUQCjuMgEonA931YliUzckREREREAIM56iJiaLfavVEEc8Dp/W9idlksFkNzczPef/99LF26FG+//TYaGxsRCARw6623yrK/1BLATKDuERQDzUVrf03TEI/HYRiGzL6J74fDYZnBzLQsJBERERF1PQZz1KXU/XHAqb1oamDnOA6amprw3HPP4fe//z3279+PaDQK13Uxfvx4zJs3D/Pnz5eXdRxHZvE6u0FJVxHP1zRNmKaJtrY2AKeajYhSSwBJr5G4nmEYiEajPfPAiYiIiOiixmCOukRqoCWCL8uyYFkWdF3HRx99hEceeQTLly+Xs81GjBiBWbNm4Z577sGwYcOQk5ODaDQKXddhGIZsUJIpgRwAOSdOCIfDSbPnUstRRUMYTdMQDAbheR5aW1uRm5vb7Y+diIiIiC5eDOaoS6hdLIHTnRePHj2Kl156CS+//DL27NmD1tZWFBcXY/bs2bj11lsxbtw45ObmIjs7W44acBxHBoOmaSKRSEDTtIzZQ6ZpGjzPQyKRQCgUSpoT57qubIYiSi1FaaooT9U0DdnZ2T38LIiIiIjoYsNgjjqdaPIhiE6WruuiurpaDp+eM2cObrrpJowfPx55eXkoLCxEJBKRs+bEzDjTNJNGGoiyxEwjsnOe58GyLIRCIZlpBJJn86kz+ACwmyURERERtcNgjpKIvWmiNDC1G6UIsETWTJ0JJ8YFqM1KgNMlkbqu46qrrsLPfvYztLW1oaioCKWlpcjJyUm6nPhYfK6ONRCjDTKNWmqp6zqCwWC78Q3q6ALxdTY+ISIiIqIzYTBHku/7sG1bBnEicBNZInXcgOd5MAxD7u9yHEeWPZ5pP5uu6ygoKEBBQUGHjyM1CBRSg59MkvrY0wVpl9LzJSIiIqKul3kpDuoWIohTPwdODbsWpYBiv5dhGO26VBIRERERUddiMEdJDMOAZVmynNG2bSQSCdnMRARrtbW1ePXVV/HXv/4Vtm3LUktmkoiIiIiIugeDOWpHbZsvgjjXdVFbW4sjR46gtbUVBw4cwN/+9jf87W9/a9e0g4iIiIiIuh73zFESz/MQCoVkyaSu66iurkZVVRU+/vhjrF69Gg0NDTKAGz58OAKBgGyIQkRERERE3YPBHCUR++QaGhpw8OBBHDx4EOvWrcPbb7+Nmpoa2LYNx3HQt29fLFy4EAsWLJAt9B3HQSgUYqklEREREVE3YDBHkud5OHbsGGpqarB161asXLkSW7ZsgWVZKCsrw4wZM9DS0oLKykoMGjQIX/jCFzBx4kQ5zkDMfxP754iIiIiIqOswmMtQZ9qbJgIpUSIpgipx+Y6CLNu2sWTJEjzzzDPYt28fCgoKMGDAAJSXl+Pzn/88Jk2ahOXLl+MXv/gFdF1HIBCAbdvQdV0GcqkDw4mIiIiIqGswmMsQ6QZKpwZ0nufBtm2EQiEkEgmEw2EZ2J3LsG3XdbF7924EAgHcfPPN+PKXv4wpU6YgOzu7XWAoOliGw+Gkx8FAjoiIiIioezCYyxCiuYgaVAmapsFxHJw8eRJ5eXnwPA+RSASapsH3fSQSCZimedZAKxqN4g9/+ANc14VpnloalmXJ4eGWZSGRSHTNEyQiIiIiovPCNEqG0HW9XXbMcRzYtg3P82CaJnJzc9sFWw0NDTKIE2MGOuI4jvzY87ykDpWhUEiWUxIRERERUc9iZi5DiHJJMdDbNE0EAgH5fdd1EY/HkZWVJQM9AMjNzYWu6+c8NkDNyJmmiUgkAuD0zDnOkSMiIiIiujgwM5chRGOTYDCIUCgEwzDg+778B5wKxBoaGrB48WJMnToVTz/9NE6ePCmbkpzLfjbHcaBpmmxuIvbGmaYJ0zTZpZKIiIiI6CLBzFyGEJk513Xh+z4Mw4BhGHBdF7FYDPv378eLL76ITZs2oaqqCidOnMCjjz6KqVOnYsSIEfJ6IvN2JiLg0zQNuq7DMAz5ufo/ERERERH1LAZzGUTTNBlcAUBdXR22bNmCVatWYePGjdi7dy8aGhoQiURQXl6OGTNmID8/X17vXAIxXddh2zYAwDCMpP12vu+f0747IiIiIiLqegzmMoTjODKwOnDgADZu3IiKigps3boV+/fvh23bmDBhAsaPH4/y8nIUFxejX79+KCgogOu6SYHZmYhgTwSM6l47TdPkPyIiIiIi6nkM5jLIp59+irfffhsVFRXYvXs34vE4ysrKcMcdd2DixIkYPHgwBg0ahIEDBwI4FYCJ8spzDcJSs39qeWW6sQhERERERNQzGMxlCMMw8Pe//x2rV69GMBjEtGnTMHLkSAwbNgyDBw/G4MGD0wZaamD2We+XiIiIiIguPgzmMkhhYSHmz5+PsWPHYuTIkSgqKpKlk+qgbyIiIiIiuvTx6D9DeJ6Hb3zjG0gkEnL/mxhLwPlvRERERESXH86ZyxCapsG2bVlK6fu+DOg8z0MwGOzhR0hERERERN2JwVyGMAwD8XgcnufB8zxYlgXbtqHrOkzT5MgAIiIiIqLLDMssM4Tv+8jNzYVlWdA0DcFgEK7rwnEc+f1QKNTDj5KIiIiIiLoLg7kM4bouNE1DIBCA67qIx+PwfR+BQACBQIAjA4iIiIiILjMss8wQoumJZVnwPA/hcBhZWVnQNA2xWKynHx4REREREXUzZuYyTGoppWmaHElARERERHQZYhSQIc5URsnySiIiIiKiyxPLLImIiIiIiDIQgzkiIiIiIqIMxGCOiIiIiIgoAzGYIyIiIiIiykAM5oiIiIiIiDIQgzkiIiIiIqIMxGCOiIiIiIgoAzGYIyIiIiIiykAM5oiIiIiIiDIQgzkiIiIiIqIMxGCOiIiIiIgoAzGYIyIiIiIiykAM5oiIiIiIiDIQgzkiIiIiIqIMxGCOiIiIiIgoA5k9/QAuZr7vw/d9+bmmadA0DYlEAoZhwDRPvXyu68J1XWiaBsMw4HkeAMAwDLS1tSESicB1XRiGAV3X5fV1XZf34fs+DMOA67oIBALyPhOJhPxc3L/jOPJz3/eh6zo8z4NhGHAcB4ZhJF1W13XoOuN2IiIiIqJLCY/wz0IERZZlwbIsGTSJAEoEbpqmyYBJ13VomoZ4PI5gMAjP8+A4Dnzfl0EdcCpYFLevaRoAyMumexyWZSGRSMjrCa7rAgAsy5IBohpgNjc3I5FIdOnrRERERERE3YvBXAd835dBkGmaSRkv4FSA5XmezKxZliWv19raCl3XYZomdF1HIBCQQZoI9kRmTfxzHEdm+1pbW+H7PkzThOu68jIiaBTXF1k38ZhEYCcen2VZCAaDMoAkIiIiIqJLA8ssz0JkukTApGbTbNvGp59+iqqqKuzbtw+HDh2CZVkIBALo27cvpk6diilTpiCRSCAajSYFger/dXV12Lp1K7Zu3Ypjx47B930UFRVh6tSpGDduHAoKCmTWTS2X9DwPruuiubkZmzdvRlVVFQ4ePAjDMJCTk4OJEydi0qRJKC0tlZlEllsSEREREV0aGMx1QNM0mKYJx3HkxyIgqq+vx6ZNm7By5Ups3boVBw8eRG1tLWKxmAzm3nnnHcybNw933HGHzI6JbB5waj/cxx9/jNdffx3r1q3Dzp07ceTIEQBAaWkp3nnnHcyaNQv33HMP+vbtm1ReKQK5vXv3YtmyZVizZg327duHAwcOAACys7MxZswYzJ49G3fddReGDRuGcDjcMy8kERERERF1OgZz5yB1jxoAHDp0CEuWLME//vEP5OTkYMSIEZgwYQICgQBaWlqwY8cOvPHGG9ixYwei0Shuu+025OfnJ5VL7t69G08//TSWLFmCRCKB8vJyLFy4ELZtY8eOHdiyZQuqqqrgui6+9a1vobi4OOkxVVdXY8mSJXj88cfR1taGyZMn4/Of/zx838fOnTuxceNGVFVVIR6P49///d8xdOjQ7n7piIiIiIioizCYOweGYcAwDPi+LzNzoVAI+fn5mDlzJmbOnIkJEyYgNzcXpmmisbER//jHP/Diiy/iwIED+O1vf4vy8nJkZ2fLoLClpQWrVq3Ca6+9Bs/zcOONN2LRokWYMWMGWltbsWbNGrzwwgt45ZVX8NRTT2HMmDG48cYbkZOTA8/z0NbWhnfeeQfPPvssmpubMXv2bNx33324/vrr4XkeNmzYgD/+8Y9Yvnw5nn/+eYwaNQq9evVCQUFBD7+aRERERETUGRjMnYPU7pO+72Pw4MH46le/iuzsbJnxcl0Xtm0jFAphyJAhcF0Xv/3tb1FVVYXt27ejrKwM+fn5cF0Xe/bswfr163Hw4EHMmTMH3/nOdzB9+nQ5WuCGG25A//79UVlZiaqqKixbtgxXXXUVRo4cCc/zsH//frz33nv49NNPUV5eju9///uYPXu2vP60adOQn5+PPXv24MMPP8Ty5csxZswYTJ48uSdfSiIiIiIi6iTshtEBtXOkyMiJmW+BQABjx47F0KFDZRBnmiYikQh0XUdRURFuv/122UBly5YtaGtrk7e5Y8cOVFVVobi4GLNmzUJ5ebncBxeJRBAMBjFq1CjMmjUL0WgUq1evxsGDB2HbNgBg9+7d2LZtG/Lz8zFlyhRcd9110HUdtm3LzphXXHEFZsyYgfz8fGzZsgX79u1L6owJQGYbxTiDsxHXE41UxP4/9ftqh0/xtXQfExERERHRZ8dg7hyJ5iXiY/FP7UypBjKGYWDs2LEATo01EEGW7/uIxWLYsmULdu7ciWHDhqG8vFzeVigUkrdhmibKy8uRlZWFY8eO4dChQ0gkEnBdF9u3b8f27dsxePBgzJ49W868C4fD8DxPjlK4+uqrkZ+fj0OHDuHgwYM4efJkuwDOtm14nndOs+hEZ89gMAjg9CgEEaCJgFQN6FIDx3MJGomIiIiIqGMss7xAImOn6zocx4HrujBNE62trUlZsiFDhiAcDsNxHFRXV6O2tlaOIOjfvz8AJAWLwsCBAxGJROD7Pg4cOIDGxka0tbWhpqZGjiAYNGgQfN9HIBCQ9yeCrSFDhiArKwsAcOzYMTQ0NMjPRdAlZtuJ+zkb27YRi8WSgjLbthEIBGAYhrw9cfsiOykCPJHdJCIiIiKiz46ZuQskyjAdx4Hv+wgGgzKr9sYbb8hgZtSoUYhEItA0DUePHkVDQwM0TUNhYSH69OkD4HTmSnzs+z6GDx+OcDgM3/dx5MgRNDU14ciRI6ivr4dhGMjPz8fAgQOTrqMOER86dKgM3j755BPU1NTIYEsdYn6u8+dM00QoFJID0cVtif/Vx6G+PqkZOiIiIiIiujAM5jqByFAFAgEZRB09ehTPPPMMfN/HnDlzMGLECEQiEZimiUQiIQOpQCCQNP9N3YNm2zZKS0vl5+I64nu2bSMYDCInJwfA6SBKZL4sy0JhYaEMtERmTBDDz1tbW2FZ1jk9V8uy4HmeHMEgbk88b9u2YVmWLNkUw9Udx5FBY+o+OyIiIiIiOn8ss7xAnufJzJMIrpqbm7Fs2TJ88MEH8H0fd999NwoLC2X5pG3bMgA0TVOWRArpAi6Vuj9P0zQ5NkH9vrgd9frhcBiGYcC2bTkEvbKyEr/4xS/geR4ikQji8XiHz/fQoUM4fPgwamtr8eCDD6KkpAQnT56Uty0kEgkZVHqeh9GjR+PWW2/F2LFj2z0fIiIiIiI6fwzmLpDYKyfKKevr67Fhwwb8+c9/RnNzMxYsWIAbbrgB0WhUXkctp1SbqIjPBZFRU0sgHcdJCgbVYE0EdKKzZjAYlN0zgVMZRMuy4LouQqEQHMfBkSNHsGbNGiQSiaTyzDPxfR+WZaGtrQ1btmxBKBTCyZMnk64rGr4ImqYhFoth2rRpsgyUiIiIiIguDIO5CySanAQCAdi2jcrKSjzwwAOoqanB4MGD8cADD6C0tBSmacpMmRg9oGka4vE4WltbkZ2dLW/TdV0Z5NXX18N1XWiahmg0ikAggEAggFAoBACIx+NobGxEfn6+vL66X62+vh6O48j7zcrKkvdtGAaGDx+On/zkJ7L5ydk6TW7evBlvvfUWCgoKcMstt2Do0KGyhNLzPFiWJZ+ryMzZto0BAwbgyiuvlGMe1KCViIiIiIjOH4O5CySCEsdxsG3bNvzhD3/Axx9/jEGDBuH3v/89Ro4cKfeyiexdXl4esrOzoWkaGhoacPz4cdmkRARUhmHA8zwcPXoUlmVB0zTk5+cjKysLnufJfXJtbW1J11ebkriui8OHD6OtrQ2+7yM/Px+5ubnyewDQt29f3HvvvbJU82yZuUgkgk2bNqFXr16YN28exo0bJ8s+U/8XGTgR2IkGMCyzJCIiIiK6cAzmOuB5HhzHkY1NbNuGYRjQdV1my8R8t23btuF3v/sdVq9ejbKyMnzve9/DddddJ28HOL2XbeDAgejduzcAoLa2Fvv27ZMdKS3LkhktTdPw0UcfIRaLwfM8DB06FEVFRcjPz0e/fv2g6zpOnDiBvXv3YujQoXIPnbgd0zSxZ88etLS0AAAGDRqE0tLSpGAqFAqhpKSk3TDwM8nLy5Mz9goLC+XzSC2fFAFd6sfq60BERERERJ8dNy91QGSRxD41lWVZcBwHbW1tWLduHRYvXoy1a9eitLQU//Zv/4Y777xTZrvE/2J/XWFhIa644goUFRXh8OHD2L17txzaLYJFMbPuvffew8mTJzFkyBAMGTIE0WgUeXl5GDJkCEpLS3H06FFs27YNwKlATMx/E499/fr1OHHiBAYNGoQhQ4YgJydH7qMT+9zUz89GZBlTbyPdddUsnPiYgRwRERERUedgMNcB0fFRbVbi+z7i8Th830dDQwNWrFiB3/3ud1ixYgUGDx6MH/zgB/jqV7+KXr16ydsQIwFs25b7xcaOHYvhw4fj8OHD2Lx5M6qrq5MCHd/38fHHH2Pbtm2IxWKYMWMGysrK5G0NHz4cY8aMQWNjIzZv3oxDhw7J67uui0AggL1792LDhg1oaWlBeXm5zP4REREREVHmYzB3DsQQcLVrZGtrK1avXo3Fixdj1apVKCgowE033YRrr70Wruuiuroa+/fvx9GjR3H06FHs378fsVgMgUAAvu9j5MiRmDx5MgzDwPr167FkyRJUV1fLjFxlZSX+8pe/YN++fSgsLMSsWbNQXFws99SNGDEC06ZNQyAQwLZt2/DUU0+hqqpKNkbZtm0bHn30URw4cADZ2dmYNWsWBgwY0JMvIxERERERdSLumeuAOstNfC7a+q9YsQJ//vOfsXnzZvi+j6ysLLS0tODxxx+HruuyHNEwDASDQTQ0NOC+++5DXl4e4vE4+vXrh5tvvhl79+7FO++8g8ceeww1NTWYNm0aLMvCm2++iZUrV8LzPHzpS1/CjBkzZNMUACgtLcWcOXOwfft2rF27FosXL8b+/fvxuc99Dpqm4a233sKrr76KcDiMefPmYfbs2SgqKurJl5OIiIiIiDoRg7mz8H0fwWBQNvBwHAcA8PLLL6OiokJ+vm3bNuzYsUPurdN1HaFQCLFYTN7WnXfeiUGDBsmxA1OmTMHXv/51+L6P7du344knnsBjjz0G27YRDodRWlqK2bNn4/7778egQYPgui5c15Wln5MnT8b3vvc9AMDWrVuxZMkSPPnkk/B9HyUlJcjPz8eMGTNw//33Y/jw4bKbJhERERERZT4Gc2chRg+IICoajcKyLPTp0wcTJkxI6tIoiO6Naqt/kb1zHEc2OYlEIpgzZw769++PtWvXYsOGDfj0008RDAYxZMgQXHPNNbj99tuRl5cHTdPgum5StjAUCqG8vBwPPfQQ3n77bWzYsAH79u2D4zgYOHAg5s6di4ULF6KgoEA2bAkGg936+hERERERUdfQ/HTRCAFAu3b66udqUCUao6jEyAKRhRMZPNH9UYw9EJky27YRjUbTPg4xZkBc1nVd2QgltZOkuB8RtImGLcFgUI48uBDPPfccHnzwQZSUlODhhx/uMKAlIiIiIqKuw8xcB9IFJGrGTQznFkQAJ0YEZGVlIZFIQNd1OasOOBWc6bqOcDgss23RaDSpjFIN0EKhEBzHScr0iVlvtm3DsiwZCJqmKTtnGoaB1tZWRCKRTgnkiIiIiIjo4sFg7jx1NCtNndWWlZUFALK7pEoNrNSgTQRo6ahfVz82TbNdUKneR05OzhmfCxERERERZS4Gc+eho9LB8ykrVC97rtc70+XSfZ0ljkRERERElz62NiQiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAMxmCMiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAMxmCMiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAMxmCMiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAMxmCMiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAMxmCMiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAMxmCMiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAMxmCMiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAMxmCMiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAMxmCMiIiIiIspADOaIiIiIiIgyEIM5IiIiIiKiDMRgjoiIiIiIKAOZPf0AiIg+C9/3AQCapqX9errvEXUFrkW6WJxpLZ7te0SUuZiZI6KM5Ps+PM+D7/vt/jmO09MPjy4jXIt0sfB9H67rci0SXUYYzBFRxrJtGy0tLQAAz/Ng2zYPWKhHcC3SxcJ13XZr0bbtHn5URNRVWGZJRBlpw4YNePnll1FQUIC77roLQ4cOha7r8iy0bdswTRO6znNW1LU2bdqEpUuXIi8vD1/60pcwbNgwrkXqER988AFefPFFZGdn4+6778bw4cPluhOBHdci0aWFv81ElJEOHz6MFStWYNWqVaivr4fnedA0DZqmQdd1HqxQt6mpqcHKlSvx1ltvcS1Sj+JaJLr88LeaiDKSYRgAgEQigWAwCE3T4HkeXNeV3+dGf+oOXIt0sTBNE5qmIRaLIRAIyLUoSn65FokuPQzmiCgjqQcowOkObTxQoe7GtUgXC3Utioyc+JiILk0M5ogoY4mDFc/zZCaEZUTUE8RadF2Xa5F6FNci0eWFv91ElJFEK3jDMNLOT1JnfBF1Ja5FuliIE1tci0SXD3azvMSIGTOik5qu651aXiE2UYu5SoLneTzzR91KzcqJtQ5wLVL3U9ciAK5F6jFci3SxSD1xINblvn37UFdXh6FDh6KgoCCpQU/q+7nv+9A0Lelr1B6DuUtQ6i+Q2IQvflk6g67rcF1XtjkWwV1nB49EZyLWmjgT7TgO1yL1iNS1aNs2AoEA1yJ1O/WEq3iPDgQCAMC1SN1O/A30fV++P1uWhaeeegp9+/bF1KlTcdVVV6FXr14wDEOuUTH4XgR4mqbBsiwEg8GefkoXJQZzlwjxC2MYhvzDDZwuuQAg/8BfCMdx4LqunFPjui4CgQAMw4Bt251yH0TngmuRLhapa1EcfHAtUndzXReO4yArK6vdWrQsi2uRup2YtwmcOiYdOXIkmpub8dJLL2HdunW49tprMXnyZIwcORJFRUUwTVMGcyIrp2abqT0Gc5cI9Qyw+MVR/5CrKesLoeu6bMMdCAQQCoXgOE5S1yy+UVB34Fqki4VYi5qmwTRNrkXqMSJwA/h3kXqWWGdiPYoMneM4+NrMjST/AAAgAElEQVTXvoYtW7Zg7dq1eOeddzBp0iQsWLAAs2fPxuDBg5Gfny9Ha+i6DsuyEA6He/LpXNQYzF0i1DIf8Yc7XUnlhZZXiAOWeDyOeDwOz/OQSCQQCARgmqeXE8s4qKsZhgFd17kWqcelrkXf97kWqUcYhgHDMNqtRdM0k6p2uBapq6mNoWzbBgAEg0G0tbVh7ty5mD59Oo4dO4bW1lZs2rQJH374Ia6++mosWLAA06ZNw+DBg1FcXAzf99HS0sJgrgMM5i4RIjMn5suYpomWlhZYlpWUqr7QM3INDQ2Ix+NwHAcNDQ04ceJEu85ZPOtH3aGhoQGxWAyhUAiNjY1ci9RjTpw4gXg8DsMw0NjYiPr6eq5F6hHq38WGhga5FtWTu1yL1B3UpiW2bcN1XYRCIWiahtbWVnzuc5/D+vXrsXv3bui6DsdxsH79emzatAmjR4/GPffcgxtuuAF9+vRBr1695L54ak/z+Vt9SfA8D5ZlwTAMmKYJy7Lw4osvorKyUv5hF6nuC1FZWYmKigrk5eVhzpw56NWrlyzfEPX4IjVO1JWqqqrw7rvvIjc3F9ddd13atSj2MBF1pZ07d2LdunXIysrC3Llz0bt3b65F6hG7du3CO++8g0gkguuvv55rkXqM4zjwfR/BYFAmG+LxuNzbHggE8Oqrr+KTTz5JWwqs6zrKysrwzW9+E4sWLYLv+ygpKenhZ3VxYjB3CVHPADc0NOD+++/HihUrcOLEiU7LzJmmCU3T4DgOAoEALMuS3xO/nIlEgmf+qMtxLdLFQl2LwWAQiURCfo9rkbqTKPlNtxZ1XZdf41qkrqaOydA0TZ7oTyQSiEQicnuEOj5DXE8Ec6FQCIlEAn369EFFRQUGDBjQk0/posV85SXE9320trYiGo2ioKAA1157LYYNGwbLstqd9fistm/fjvfffx+5ubmYMmUKhg8fLrOCeXl5qK+vRzAY5Fk/6nKVlZVYv349srOzMXXqVIwYMYJrkXpEVVUVKioqEI1GMWXKFFx55ZVci9Qjdu7ciXfffReRSARTpkzByJEj5VrMzc1FQ0MDTNPslEodoo6oDVBc10Vrayvy8vKgaRqampqQl5eH119/Hbt27UIsFmt3fc/zkJWVhW9961u47777UFhY2N1PIWMwmLuEaJqGrKwsGbDdddddsr1rZ1m6dCl27dqF4uJiLFq0COPGjUvbPZNlltTVXnnlFezcuROFhYVYtGgRxo8fz7VIPWL58uX45z//idzcXCxatAgTJ07kWqQe8cYbb+Cf//wnwuEwFi1ahEmTJnEtUo9QG6CIz0UDvWAwiI8++givvvqqzBSrJZb9+/fHwoUL8ZWvfAUDBw5Ebm4u12wHGMxdQlL/QGdnZ3f6fWRlZcl9ebm5ucjPz08bLPKXjroa1yJdLLKzs2UXwby8PK5F6jHqWuTfRepJIpgTAZ1oYCJKK19//XUcP348aX1eccUVuPXWWzFv3jxceeWV6NWrFweFnwMGc0RERERE1GnE3jfXdeVeTjEHcfv27Vi1ahXq6+uhaRrKy8txyy23YMaMGRg2bBiKi4tl4xQ6OwZzRERERETUaTzPg+d5ME1Tjs8SFWRLly5FdXU1JkyYgOuvvx6zZs3C8OHDUVJSgqysLLiuC9u2k2Yj0pkxmCMiIiIiok4jSnlFeaXYL3fgwAEcPnwY3/nOd3D11Vdj7NixKCsrk5k7TdOg67oMANk46uwYzBERERERUadJzcbpug7DMBCNRnHbbbdh4sSJck+cGGEAnN5rx0Y9547BHBERERERdSoxpF4EdqZpok+fPkmZOMdxZMdL0TBFdF/lCI1zw2COiIiIiIg6ja7rslxS/HNdFwCSArwzlVJysP25YyEqnRfxC6nWNItfTnYdop7EP/x0seBapIuB6CZI1FPU9Sc6WopRA4ZhwPd9BAIBOQPR932Ypik/p3PDzBx9JmK+l+d5sG0bhmHAdV2ZNifqDqIMQ/zhF2f31DINou7AtUgXC9H+nWuRelK6PW+iO6Uon1RnyKkfi1mJdG74G03nTbwRxONxAKfS5UTdTdM0RCIR5ObmyjN44iygaGvMs9LUHbgW6WIh1mJeXh7XItFlgkfhdF5M00SvXr3Qu3dv2LYN13URCARkapyou5SVlWHmzJnIz8+HaZqIx+MwTRPBYBCmacpWyERdraSkBDNnzkROTg7XIvWo4uJizJgxA9FoNGktBgIBrkWiS5Tm8xQNnYe6ujrs27cPuq7jqquuQjgchu/7cBwHgUCAbxLUrRKJBCzLQnZ2druZNGxrTN2Ja5EuFpZlIR6PIycnh2uR6DLAYI7Oi+/7MiMXDAZlJyJN0xjMUbdzXReu68qssGVZCIVC8vtcj9RduBbpYpFuLYpZXgDXItGlhsEcnRe1m2U6J0+eRDQa5cZV6hbiz5f43/M8GIYh94qwIQ91F65FulhwLRJdXrjJic6bpmlwXTdpc7VoJRuNRtkpi7qNOCARIzLESQQeqFB341qki4W65tSBzFyLRJcmBnN0XjRNk0GcYRjtyjaYkaPuIkp8fd9vd7DSUfaYqLOlrkV1/XEtUnfiWiS6/LDMks6bumT4xkCfhSjXBZI35KtfA06dVRYHJakZX3HAIi4v9m4KqR+r9yEOatTLiEYB6uW5vjOf+HmL+VrqCal0a0B8Xf1cEI0k1NtQvwdAlrNpmgbHcQAkj2/hWrw8pWtEIr6ufq5e/kwz4cRtaZqWdrhyurXoum67rtNci+cvdauJ+BmJrzuOA9M0k37eqSWu50pUQInbED9DTdNg27bckyu+Jmb9dkZ1VOrfLlFxoPZL0HUdiUQCgUAg6UT+md63U48dz7T26fwxmCOibue6rjwoSD0wAdoHamc6gE496EgXIIrbE/eh3o/6PQBJGT71zZilw5krXTCnvu2lnhAQn4sDNM/z5MHZmW4DOL1mU9exuC31clyLl5/UIMB1XQDtA6p0J7eAU2tDHEirtyXWaep9pa6j812L4uBdvY3LfS2m/jxEF2/1dUoN7lKDunMJXFLnA4rXXQ3uxT5I27bluAmxRsS2lwuhZnjVkwDifuPxuPxbKO7fcZyk56cOq1c/V5+T+JguDMssiajbnemstBqQiTN76bJu4jrqG6Z6EOR5HmzbhmEY8o1GvMGK66lnqsWbjPjftm15H3yjyVypAb6gfqweiKVbY2c66Ei9rMiQqGfP1cuJvUsXshYpc6U7wdTRiap011cDN/X20q0NkalRv/9Z16K4L5FxuRzXYurJGk3TZJCrdg7VNA2WZQEAAoEAgDNnX88k9T1PBITia6knndSsXGdtdVFPZomP1f2X4vmappkU+KUL2NI9fwZynYvBHBF1u9TSIFGGkpqhE29S6c42isuLN7PUA231suqZUvUy6c5Gq28y53omlS5u6sFsRxlc9WBWHBiJs+3q5VPXkno/6sFUupMBZ1qL4nvqY+FavHSkZubEz1P9l25tqiesVB2tRXE/qQf2n3UtAqezRZfrWkzNyqW+f6X+3gu6riMQCLQrsz0TEZSlez9T14r4eurPWARcnZU1FX8H02WNU090iQoGUaIpxmGcqdRSvR26MAzmiKjbpb4RpDu4Tj0zqGbdUksw1a+L2wgGg/K2RflHuoyg+lhEMCkOVjpzDwL1jNSfe0cHzKp0B7jpDq7TZevSZYrVA510azE1Q5K6FlNPdFDmUdeUmpFLzcKkro1UZwr0znUtqhml1MuKx6auxdQs0OW4FlP/BgCnXy/TNJNeSzUjJ7YUpJZJdkQtfRWfq6Wt4meg67r8eyLeqzr7OasZObWkVF2nuq4nVSSoWV7x+qgnytgor/MxmCOiHpFaVqS+QaYeeKi19+d65lq8IaYejIgDZfVy6r4S9SDlTAdTlBlSz/imrh21ZEn83FN/9unOSHd0G2cKDFPX6WdZizyDnbnEz1LNcAHJGTuRAUkXoKnr8GxrUegoa6eeMDiXtQjgsl6Luq7L8slgMIjW1lbs27cPra2tGDx4MHr37i2DNbGPDTj/TJlodAKc/vmJIAhIHg3V2NiIo0ePYtiwYUn32xlBnXgMwOnGT4lEAjU1NXAcB0VFRcjPz5fr4MiRI2hqakJBQQF69+4tA9zUyofUE6nUOYwHH3zwwZ5+EER0eREHDuomffUspvgnyivFx+plU7N74oyluodALWlKreVP1zgASD5b3ZnlKtRzUrNsqRkGNQhTD3TVs+mpJUXqbYiyotSS33QHvJ91LTJDnNlSszmC+LmqQV66E1ZqVqOjtSgO9NUyTiF1PaauKXUtpmYIL/e16Hke4vG47FZZX1+Pd999FytWrEB1dTWKiopQUFAAwzBgWVbSa6Rm2M8WBKt/kzzPQ3NzM06ePJnUQEVkyz788EM8+uijsCwL+fn5CAaDSdm7C+E4DjzPk50qfd9HY2Mj3nzzTbzyyivwfR8DBw6U78/vv/8+Xn75ZTQ0NKC0tBQ5OTlJJZpA+7+PwuV2YqArMDNHRN1OHJjEYjEcOXIE9fX1CIfD6NevH3r37i0PRtSDCvEm6nkeTpw4gbq6OiQSCcTjcfi+j3A4jKKiIvTu3RvhcFheNl2mJRaLoba2Vt6G7/vIyspCSUkJevXqJQ+u1DdjurR4nodEIoHGxkY0NDSgubkZlmXBNE1EIhEUFBSgV69eyMnJ6fA2LMtCY2MjTpw4gba2NiQSCWiahsLCQhQXFyM7O1sehItMh7oW4/G4XIvxeBye58m12Lt3b67FS4haZqeWxYmDdnHg3tLSglgsBtM0kZ2djcLCQhQWFiI7O/uMty3WYlNTE06cOIHW1lbZcbCwsBBFRUXIycmRj0FtOS/+j8fjqKurw/Hjx5FIJORaLC4ultmWy3Utuq6LcDgM3/dhWRZKSkpw0003oa6uDv/93/+NyspK3H///Rg1ahQikUi7URDpSmHPdD/q6/vPf/4TO3bsQH5+PkaPHo3hw4cjEAggkUigoaEBTz75JFauXInf/OY3mDdvXtJ9XQixj9113aQM7c6dO/HYY4/BMAxMnz4dwWAQgUAA9fX1WLlyJWpqajBu3DiUlZXJbKH4mxiJRJLWfGcEnXQKgzki6lSpZ3XVr4uzjYlEAkeOHEFFRQWeeeYZrFq1CkOGDMF//ud/4t5770UoFGqXHRHB3bFjx/D+++/j9ddfx7p163Do0CH4vo8rrrgCt912G+bPn4/x48cjEAi0y3j4vo+6ujps2rQJK1aswNq1a1FVVQXTNDFo0CDcdtttuOmmm3D11VfLg3DKXKk/e/XjEydOoLq6Gm+++aZcB9XV1TBNE/3798ecOXMwb948zJ07F/n5+e1uAwCam5tx+PBhrFmzBkuXLsWuXbtw7Ngx5OTkYO7cubjlllswd+5c9O3bN+kMtbit+vp6bN68Wa7FyspKGIYh1+L8+fNRXl6OrKysLn6lqKuJbIrYyyva2gNAXV0dKisr8fbbb+P999/HJ598gpqaGgSDQQwaNAizZ8/G3LlzMXfuXBQUFKT9u9TS0oLDhw9j7dq1ePHFF7F7924cOXIE2dnZ+NznPifXYr9+/dKuxRMnTmDLli1YsWIF1qxZgx07dsAwDAwYMAALFizATTfdhPLy8g5PbmSqdIFWW1sbQqGQfA9Rs5+macIwDJSUlOD222/H3/72Nzz77LMIhUL45S9/id69e8OyLNkARFw/Fouhra0N4XBYBuZqgK++z4kM3ebNm/Gb3/wG0WgU3/jGN3Dvvfeid+/eAIDW1lYEAgHcc889uO666xAKheRj6+i5nan0VtM0eULKdV3ZvVQEZSdPnkQsFkMgEMD06dOh6zoaGxuhaac7eEajUei6jqamJti2jcbGRhw+fBiBQAAjRoxASUmJvM9zDXDp7FhmSUSdyvd9ORZAdKJU9xvU1tZi1apVePDBB7F48WJUV1fDdV0UFhZi+vTpmDJlCgDIoaii3MMwDDQ2NuKPf/wjfv3rX2Pjxo1wXRfRaBTBYBANDQ1Ys2YN3n33XYwfPz7pAFq8UZ04cQJ//etf8Ytf/AJr165FPB5HXl4eIpEIGhoasGHDBixbtgyTJ09Gnz595MEW32wyV+pYC3FAtnz5cvzwhz/ECy+8gGPHjsHzPHkw1NLSgk2bNmHNmjUIh8OYOHFi0tlycbC1bt06/OpXv8Jjjz2GmpoaBAIBebC7Z88eLF26FJqmYfz48YhGo0nlRk1NTXjuuefw85//HG+//bZci9FoFA0NDXj//fexbNkyTJw4Ef369ZNBANdiZhKliqnt7G3bxsqVK/HQQw9h+fLlqK+vh+/7yM7ORjgcRl1dHT744AO8/vrryM3NxcSJE5P2sImS8oqKCvzyl7/En/70p6S1qGkaPvnkEyxduhQAMHbs2KQTVWItvvjii3jggQfw1ltvJa3FpqYmbNy4EcuXL8f48ePRv3//S3ItqvsFNU3D6tWrYZomQqGQLNlXS/lF1koEe+vWrcNVV12FG2+8EZFIRL5niROSjuPg3XffxdNPP42mpiYMHjwYhmEgkUjIBiEAkEgkktbIihUrUFFRgeuvvx7f+973UFRUBNM04TgO9u7di5deeglz587F1KlTkZWV1e5ncqaRF2rZbCwWk8/to48+wltvvYWKigpUVlbKzOC2bdtQVVWF1atXo6amBnl5eTh06BAqKyvx0UcfyRNiImu4c+dO7NixA//4xz/ws5/9DMuXL0f//v0xduxYWWrO7FznubyKnomoy6mtmMWbUiKRQDAYRFtbG55++mn813/9FzZt2oQpU6Zg+vTpAJI3XAOQBwymacqDnieffBLPPPMMampqMHHiRDz66KOoqanB1q1b8dOf/hSFhYXYtWsXfvSjH8kzhuIMYCwWwwsvvIAnnngCR44cwbhx4/DnP/8Zhw8fxkcffYSf//znKCoqQn19Pf71X/8V+/fvRzweb/e4KLOkawjhui7Wr1+PmpoaTJ48GT/96U/x17/+FUuXLsWTTz6J++67D1lZWairq8NvfvMbVFVVoba2Vh7Utba24tP/396ZB0ddp/n/1Tk6naST7oTcQMIR7pCDcEbuAAKSQhhnPBnHa9UZdN3DWmaq3Nqp2plxa2pnVmtcd7Bm1lHHlRUdZ1ZdVG4IEu4zB0IgJIEmhNx9J+nfH9Tz4dMtzrg/UUz8vKosydH3k+/nOd/P2bNs3LiRzZs3k5iYyKOPPkp1dTVnz57l/fff59Zbb8VisfDCCy/wyiuv0NbWFta69MYbb/DLX/6S+vp6pkyZwquvvkpzczPHjh3jn//5n0lPT6etrY3vf//7nD592tjiAMdiuaaw6/P5wuZ5ExISyM7O5r777uPNN9/k5MmTNDc3s2/fPp588kmio6Pp6enhX/7lX2hubla3t1gs+Hw+6uvr2bhxI1u3bsVut/PII49w8uRJzp07xwcffMCyZcuIiorixRdf5JVXXqG1tTXMFjdu3Mi//uu/cubMGYqKivjd735Hc3MzJ06c4Kc//SlZWVm0t7ezdu1aamtrB6UthkIh2tvb1TXi7bffZu3atWzcuJHOzk5VnQoEAmFKs1LJLysr47777iMhIUHNzElVq6enh4MHD/L666/z/PPP84tf/IK33noLj8ejWjK9Xi8ANptNzZo1NDTwySefMH78eJYuXUp6ejqxsbHKdoLBoAoWJUDy+/14vV76+voIBALq+eoCN/rZHAqFSEhIULO/RUVF5OXlkZ+fT2lpKaNHj2by5MmUlZUxYcIERo0ahdVqZeTIkRQUFFBYWEhJSQkFBQVkZGTgdDoZPnw4kyZNorS0lIKCAtLT07HZbBQUFKjnHwwGTSB3AzFtlgaD4Uuhu7ub5ORk1e4IkJycTF5eHrNmzWLYsGFUVFSwf/9+du7cGTYwLi0qHR0dJCQkEBsby6lTp/joo49obGxk3rx5/M3f/I1yUrKyslizZg3p6en84Ac/4ODBg7zxxhvcc889pKamAuByudizZw81NTWUlpby9NNPU1FRgdfrJS0tje9+97uMGjWKBx98kKamJv7whz/w4IMPkpWVddPeQ8MXR1/m6/P5sNlsxMbGsnDhQhYuXEhJSYmaTbNYLPj9fubMmcPUqVNZs2YNV65c4ZVXXuHHP/6xckCSkpJ46aWX2LJlCzabje9+97v88Ic/VLZaWFjIL3/5S3p6eti8eTPr169nxYoVqj3q9OnT7N69m6amJoqLi/mrv/orFi5ciMfjYciQIaxZsybMFt955x0efvhhcnJybuZbafgCyKxVXFwcNptNfT86OprFixcze/bssBY5i8VCdnY2a9euJTs7myeffJK2tjY+/PBD1qxZoyTpbTYb//M//8OmTZuIjY3l3nvv5ZlnnlG2OGnSJJ577jncbjcffvghL730EsuXLycjIwOA+vp6du/ezfnz5yksLOTRRx9l0aJFuN1uUlJSuPfeexk5ciQPPfQQzc3NvPPOO2RkZDBs2LCb8j5+GUiCJyUlBZ/PR2xsLKWlpXzwwQf86Ec/Yvfu3eTn56vEorQV9vX1YbVaCYVClJWVsW/fPo4fP67m5STojo+PJxAIMHr0aNatW0cwGASgpaWFpKQkFdBLda67uxubzUZ1dTXnz59n+PDhTJgwQT0WXLUPu91ObGwsHo+HQCBAKBRS563FYuHSpUusX78el8vFX//1XzNixAji4+PV65YuBbkuSoA/ceJEWlpaGDJkCMOGDVPncktLCwcOHKC/v5/CwkLKyspUW2VjY6OaFZ4+fTrjx49X71FeXh5ut5tJkyapx/b5fKZ9/AZigjmDwXDDkYNGkIyh1WqlvLycGTNmkJiYiMPh4OTJk+oQ0rPVwWCQ5ORkoqKi8Hg8VFVV0dTURHJyMsuWLWPRokWqjz8pKYmMjAwWLVpEfn4+jY2N/P73v2f58uUMGTIEgMrKSmpqahgyZAgLFiygvLwcm82m1N9SUlIoKyujsLCQqqoq3njjDcrLy8nIyDB7cQYwugqq1WpVQjoiFqAnG8QO+/v7KSkpYfbs2Wzfvp0//elPrFu3Ttnj5cuXOXToEE1NTSxYsIDly5eTnJysHOy4uDhSU1NZvXo1+/btw+VysWXLFjIyMkhNTaWqqoqamhrsdjvz58/nrrvuUhn63t5eHA4HZWVlFBUVsWfPHt58803Ky8vJysoytjhAEbvQFSL9fr+yRxEnEdEMaVHPyMhgzpw5wFUbvnDhAn19faoF/cqVKxw9epTm5mbmz5/PihUrlC0CxMXF4XQ6Wb16NVVVVbS0tLBt2zays7NJS0ujqqqKkydPYrfbmTt3Lvfcc0+YLSYnJzNr1iyKi4vZtWuXauvLyckZNLYoc9xWqxWbzRamIDpnzhwefPBBxo4dqwIpfaWD/Cft/CKipO+AixQ+kkpZbGwswWAQi8WixGWio6Ox2+0EAgH27t3LuXPnSEtLY/v27ezatUvtdPN4PJw/f55AIEBTUxOvvfYagPrse3p62L9/P7t376azs5OGhgbWrVvHvHnzVHtjV1cXSUlJJCQkqERWVFQU3d3d/O53v6OtrY0VK1YwbNgwLBYLly9f5vz584RCIS5cuEB1dTUejweAhoYGfD4fV65c4cSJE6qToa6uTs1/JiQkqPc8ISEhrH3V8MUwwZzBYLihSLuGzJvJ4SaHldPpJCUlBUC1gsjB2dvbSzAYVA62ZAxtNhtbt26lvr6eOXPmUFRUpH5H7hfA4XCwbNky/v3f/51jx47R2dmphrgrKyupra2lqKhIDfLLXh45XOX2R48epampidbWVjX/ZxiYSEuPriYZDAbVrigRpRCHCq4GeImJiYwbN47NmzfT3NxMb2+vynjv27ePhoYGLBYLkydPpri4OCxLLxWTVatW8cwzz9DR0cGJEydwuVw4HA6OHDlCXV0dRUVFzJ49WzlTMkcitrh06VKOHDlCc3OzscUBjgQIUpWJiYlRSoB6gAeoQEwXgIKr18uRI0eq342JiWH//v2cO3cOi8XCpEmTmDJlirJpsUWr1crq1av5x3/8R9ra2pQtpqSkcPz4cWpqaigoKGDOnDnXtcXk5GSWLFnCoUOHaG5u5vLly4PKFqOjo1X1TM4Ur9dLKBSioKCAoUOHqkSOTuRqEqvVqubo5POWAE9m4eQz11VEZW5OX2vQ2NhIXV0dZWVlPP7440ycOFG1bfb19REMBqmsrGT9+vWkpKSwbNkynE6nOtNCoRC33347Xq8Xr9erxHTkPPZ6vdjt9jCRMPncm5ubqampISkpicTERAKBgFKl/OSTT1TLZjAYVHv09JUJEsTK90QFFK5ee+WxDTcOE8wZDIYvFXGQ9fYhXZRERCdkp438vmRKfT4fjY2NNDU14fP5GDFiBLm5uWEqYXBNFWzGjBk899xzWCwWamtryc/P58qVKzQ3N+P1ehk2bJhqmZFdd1IJjI2NZdSoUUoU4OLFi3i93rC2KMPAQmY4RXxCnxeRz1XEeiTIk9ulpqYSFxenEgdutxubzcapU6dwuVxkZWUxatQokpOTlVMnYj/x8fE4nU7y8/Pp6uri7Nmz9PX1cfr0aerr6wkGgwwfPpwRI0ao6rDMysjzEJGEjo4OLl68qJTwDAMXXdxC2vHkc9evZVK5uXTpEv/93/8NXE1WlZSUqMBD2s8vXLhAVlYWo0ePxuFwqMTY9Wyxvb2dhoYGJaBx5swZZYujRo1SdizJD90WY2NjaWtrw+VyDSpb1CtjEljLnjQI320q1wp9t6ScWRJIiSiN3HdUVJSahZOKXSAQUN+Li4tTz0Vuv23bNjweD6tWrWLmzJnEx8eH7Z/zeDzqd51OJ1lZWTidThWASxJL7lNeh9idVInlNcv1sbe3l5qaGlwuF1OmTGH27Nmqctnc3MyVK1fIzs7mtttuIxQKqXUD9fX1xMfHk5aWxrhx48jPz1dJKY7Zc7AAACAASURBVK/Xy+TJkwkEAtTW1jJx4kTcbrdKaBi+OCaYMxgMNxRpK5H5IlHs0oedP2vBtyw9FUdGHJwzZ87Q1dUFQFZWFmlpaWr3nFREent7iYuLo7S0VB1ktbW1LFy4kDNnztDd3U1MTIyqDIoDLc9JDsYZM2aQlpZGR0cHdXV1dHR0qEqiYWAhmWK91UmSBiKxLa1O0u4mQZ3b7Wbnzp309fWxePFirFYrVquV/v5+GhoaaG9vZ+TIkWRmZobJluvVv6ioKKZNm8bx48eprq7G7XZz5coVOjo6gKstUbL2QF8cLc7XtGnTSEtLo7W1lbq6Otrb29UMqGFgId0H4pBHVm/0eeH+/n7cbjeHDh1i27ZtvP7662RkZLBu3Try8/PDrpvNzc10dHQwatQocnJyVGCiK2dKkDF16lSOHj1KdXU13d3ddHV10d7eDlwNXiJtUap/FouFqVOnkp6ejsvl4tSpU1y5cmXQ2KIEavriduF6Z5VU3/QzTSpvch3QbwuoxKEEhNINEKk2GRUVxaVLlzh48CAzZsygvLycxMTEMPEmCdL0s0tehySF9PZyOVNF8CZyX6AE7wAHDhxgx44d+P1+3G43mzdvViIpZ8+exeVykZeXx44dO1QVF6C2tpauri5aW1s5cuQI58+fDwtaL1++zM9//nN27NjBHXfcoVrLTYvljcEEcwaD4YYiB5++y0YXN9HbL/T/pDVEd759Ph8xMTG0t7erVhSHw6EGp/XDUtpUJPASyWWfz0dnZyder1e1eeqCF7pDBVeDRTmsu7u71UoFw8BDt0U9+2yxWFSrk9ibJA/gqmN24sQJDh8+TCgUYsmSJcTHx6t5OqlMOJ1OkpKSwiq8uiMXCATIzc1VDprf71d7nHp7e0lKSlKJiUjnHq7aoiQcenp6jC0OcK63bFu/Bu7atYv333+flpYWfD4fTU1NtLW1MWHCBCoqKrjjjjuw2+1hVeZLly7R1dWFw+FQlZnr2aLf71e2KEvBe3t71f/tdjvp6ekAYa3n8lwzMzPDbNHv93/F796Xix7cSMAG1/+s9Bk4+VoXr9E7RvS5MD1ovJ6So3x/165dJCUlMX/+fPLy8sI+Cz1Yl+/pyqR6wlRfAaAnLvXroB78SbtpYmIi+fn5DB8+XFUgL168yO7du7FYLMyaNYu+vj61DFyquXKN9Xq9BAIB9dxSU1Pxer0cOXKEHTt2kJ6ezsqVK02r5Q3EBHMGg+GGIxdxCegku6v/XA/29KyhHFhwVfEqOTk5bL5AKiTApxxguR/9sIvcMyaHlT7ELv3/Mmciu+30eRXDwEO3B7g24yJ2JBluPfve29vLxYsX2bBhAx6PhzFjxjB37lwljCAtTr29vdhstrCdW+IU6TYpDlWklHsoFFLKhsFgMExNztji4EOfi9MDBz1gqq2t5Q9/+AP19fXqd+Lj4xkxYgT5+fkq8NedcJ/PpypvYufAdW1RHHw9EJDnYGwR9fcv75N8T94nvaoaWcmTGXEJ5CJvE1mhk8BH/8wslqsKlKdOnVJiXJLk1G8vgRhcC8wixVjkucjj+f1+6uvr2bx5M7Nnz2bq1KnqMeUMDAQCjBo1igceeACv18vw4cOx2+34/X61d664uJiHHnqIjIwMdW3t7++ntbWVbdu2MXToUAoLC8nJyVECY6FQiIsXL/LKK68QGxvL6tWr1ToEs57gxmCCOYPB8KWgH2DXu1hHfk8u+noQqPf1R7a76JlKuCYeoM8lyLyUOCFAWNAosw8SbEYemnq1xjAwERuRzLEgmWM9sdDX18fly5d57733+Oijj0hNTeX+++9nzJgxyunSHTA9WJOfSVuRtAr7/f6wyqBUNPS/DXGmPssWpXJtbHHgI1V/3amXa1pxcTEPP/wwV65cIRAIcPHiRWpra9m/fz8vvfQSjY2N3H333WHXRSDMBuX6J865bosiNiW31W0TPtsW5WcweG1RD6711xYpDiLords6+pkEfOp39M9bxEI6Ojqor68H4ODBg0p8pa6uLux56EnL3t5ezp49C0BjYyMHDhxQawL0ll257nV2drJz5042bNjAsWPH+N73vkdZWZkKQiV4j4+PZ+7cueocbm9vZ+/evezevZv09HSeeOIJpk+fHmZHUVFRZGRkEBMTQ3x8PEOHDiUnJ4fu7m5qa2tVW+7p06eZNGkSFRUVahm74cZggjmDwfC1RIarxeGRwEoOQH0GSndI9BYZEVSRA1Cy1X6/P6zSoh/MEuzJ7U1P/8BFD/zF6ZBMt16xg6v2duXKFTZv3szrr7+O2+2moqKCb3/728rxEKfZbrerRfaSKNAfRxxCcah1oQBxhmNiYpSzJfevV/PgWhYfjC0OdPSZJ+kckIQRXJ1bKi0tpbS0lFAopJaB7927lzfeeIN3332Xffv2MXr0aGbNmqXmN0WgRxJTkVUZPTi5kbY4mII5Pakj1wR5r2SG8Ub87UW2S4p6ZXd3N3v37iUhIYELFy6QnZ1NZ2cnbW1t6tzSH1/OqP7+fpYuXUpiYiKnT59WyUv5bHWRne7ubrxeLyUlJfT09FBbW8vMmTNV0lMUqOXsk0Bs3759HDhwgK6uLtauXcu3vvUt9Zzk9cDV+d/p06czYcIEkpOTCQaDtLS00NjYyJYtW6isrCQmJkbtSJSZQVOVuzGYYM5gMHxtkcMiMzMTq9VKIBCgvb1dLbTVW36k8tHc3KycDlEky8zMxG63Y7FY8Hg8dHV1ERcXFyZXL7hcLnV7m80W5vAbBiZSZZBgXhTk9CCss7OTyspK/vM//5MzZ85QVlbGY489RnZ2tsqiS/uV0+kkISGBjo4OJWYiP09ISFDZ8FAopOwpOztbLfmVWZGuri7a2trIzMzEYrGEKbtJy5XMrMTHxxtbHAToapaylkCcc/16FB8fT0FBAaNHjyY3N5eHH36YCxcu8PLLL1NQUIDD4SA6Opq0tDTi4uJoa2ujo6NDBV2RtmixWHC5XPT19ZGVlYXdbsdut5OUlARcdd7b2trIyMj4lC3C1YXRg9kW9QqcLkqitzTeqMfRAzSbzUZOTg7jxo0jIyODWbNmfWoEISYmRs3rirCSJDSXLl2q1Cn1yp3YlyRAxSZCoZBqpY2Li1Ot5iL61NHRgcvlorm5maqqKrZu3UpcXByPPPIIc+fOxeVyAahklvzb4XBw++23M3z4cPr6+ti3bx91dXUMGzaMiooKOjo6KCkp4c4771SBqVx/TUD3xRlcf40Gg2HQIIdqdHQ0+fn5JCYmYrFYaGlpobW1FYfDoX5PDshgMMiRI0dUdnHChAnYbDZGjx5NSkoKwWCQS5cu4XK5SEtLCztM5PGOHj2qWvDGjh2rFN4MA5fIyq1epQXo6elh586d/Pa3v2X//v0UFhbyt3/7t9xyyy3KuRbnNSoqiqFDh+JwOLhw4QIXLlwIa2uTVicJ7g4ePIjP52PcuHEkJiaSlpamnOyOjg4uXbqkHGg9ax8KhTh69KgSGRgzZoxRVR0ESGVY9n1Jy7dU6HTVQ6vVSmJiIkVFRcyZM4e3336bTZs28eMf/5ikpCSio6PJzc1lyJAhXLp0iUuXLhETE6OETRITE8OqLocOHcLj8TBz5kySkpJITk4mMTFR2aLL5SI9Pf26tnjs2DF8Ph8Wi4X8/PxBo2QJ1wI5PRiSypHD4QgLlL4IehCjq4XabDZmzZqFw+FQK3J8Pp9KQklQps/LSVJKx2K5to5AV72UGUipNkpVF6616F68eJHz58/T3NzM6dOn6evrIy0tjZEjR1JbW0tPTw/Hjh1TQaK07rrdbhITE9Xy8+bmZhoaGnj//fd56623KC4u5vHHH+cXv/gFQ4cOxW63h+2lM4HcjcEEcwaD4WuJLvOelZVFZmamkkc+d+4ceXl5wLVBf5kJ2bdvHwBOp5MxY8YopyU7OxubzUZTUxMNDQ0UFBSEyXdLdnzPnj309fXhdDoZO3YsycnJN+cNMNwQpMogzo8In0iw1dHRwa5du1i/fj07d+5k8uTJPPTQQyxevBifz0d8fDxwTa49KiqKwsJCMjMzOX78OBcvXqS7u1s51xIo+nw+PB6PqoYUFRUp9crhw4eTmJhIc3Mz586do7CwMKyVSxytvXv3EgwGcTgcjBkzRiUwDAMTXWVSb6/URS4iRZvk3+PGjSMYDNLe3q5ESaKiopg4cSJDhw7l8OHDNDU14Xa7SUhIID4+PswWu7u7lS0WFhaSlJREZmamssWLFy9y9uxZioqKrmuLVVVVBAIBHA4H+fn5gzLJpQdH0p6fkZFBQkLCDbl/vSonyUOZT5R1ORJo2Ww2zp8/T0NDA8nJyQwfPly1xOoCKjKDJ5U6qZ42NjZy5swZ0tPTKS4uxm63q6BUdhTqAjebNm0iFAoxefJkli5dSmpqKmfPnqWpqYkTJ07g8/lISkpSLbqXL1/G5/PR19eHzWYjOTmZQCCgFoLn5+eTkpJCS0sLUVFRTJgwgWAwSCAQIC4uTqn9Wq3WQdWye7MwwZzBYPjaIoefzWajpKSEqqoqjhw5Qk1NDXPnzlVOujhAHR0dVFZWEggEWLp0qcoCAkyaNInc3FzOnDnD0aNHw/b3yOHodrvVstbFixfjdDpN9nCAI1l3CbR057mtrY0PP/yQX//61xw+fJhZs2bxxBNPsHLlyrDhfLEBqaYUFxeTl5fHoUOHOHHiBCdOnGDWrFkAKrMO8NZbb9HS0kJMTAylpaWkpqaSkJDAlClT2LZtG5988gkHDx5k6dKlanGwbovbt2/H4/GwcOFCUlNTwxIchoGLtFOK0y5VGn0+WO848Hg8VFVVERsbi9PpVAIooVBIBXNVVVUcP36cw4cPc8sttwDXbNFisShbjI6OZsqUKaSlpREfH09JSQmjR4/mzJkz7N+/n+XLl4fZYlRUFG63mx07dtDT08O8efMYMmTIoLLFyOt7TEwM3d3d9PX1kZSUdMMWW8sMm3z++mwbXP284uLi8Hg8anbxN7/5DU1NTdx2222MGDECp9OJz+dT1a1AIIDdbqezs1OtSOjt7eW1115j27ZtTJs2jbVr17JgwQKio6OJjY1V9gOo1/aDH/wgrEVTDzxzcnKYP38+U6ZMUdfQyZMn88wzz5CRkcHEiRNVslRa0s+fP090dDSjR49m+fLlYaJmUikeLEvnvw6YaWqDwfC1Q4bDdfnnefPmkZ+fz+XLl9m2bRtVVVV4PB51KJ4/f54NGzZw5MgRoqOjWblypWpL6+/vp7S0lAkTJtDa2sr27duprKzE7Xarlsquri7ef/99jh8/Tm9vL8uXLyctLW1QSnB/UxCHRFfxE0GD1tZW3nzzTX7+859TWVnJtGnT+Pu//3tuu+02AoEAHo9HZa4lAx0fH4/VaiUzM5OSkhIyMzPZu3cvW7ZsCVMG7O3tpaWlhd///vd4vV6mT59OQUGByvBPmjSJUaNG0dbWxscff8y+ffvw+/3KFru7u3n33Xc5duwYwWCQpUuXkpGRcZPfTcMX5XpiIn19fWqfnP47YoNdXV2cOnWKyspKNSMlbbr9/f3k5ORQWFhIeno6hw4duq4ttra28tprr9HT06NsUXZ1Tpgwgfz8fGWLe/fuDbPFnp4e3nvvPdV+vmTJErKysm7Cu/flItcKud43NTWp9/FGIcGUVPnhmjquBE6AqvL39PTgdrvVIu+mpiaOHDnCqVOnqK2t5ZNPPuHMmTNUV1dz+vRpamtrqauro7m5GZ/PR39/P3V1dZw4cULNiAcCAXUNhGviL7qAjrSUiwiLiOPA1dlKCcKqqqpYt24db775Jl1dXWqfoQjzREVFqfZLQM29S3dEMBg05+sNwlTmDAbD1xZ9RmD69OnMmTOHmpoaNm3ahMfj4YknnmDJkiW0trby6quvsn79egCmTZtGRUUFycnJ6tCaPn06Cxcu5MiRI+zfv5+f/exnPProo9xxxx10dnby4osv8uyzzxIVFcX06dMpLy9Xs0yGgY3expaQkKCCpRdffJGTJ09SVFTEsmXLsNlsbN26VbUz9fT0KMclOzub0aNHKyfl1ltvZf/+/bzzzjv8+te/xu12s3btWtLT0zl69Cg/+9nPqKysBOCBBx4Ic4ALCwtZunQpNTU17Nmzhx/+8Ic89dRTrFq1iu7ubv7jP/6Dn/zkJwBMnTqV8vJyJZJiGJjITG+kyE11dTXPPvssCQkJLF26lGnTpjF06FA1x/Tyyy/zq1/9CrfbTXJyMk8//TQOh4OYmBh8Ph+xsbGsWrWKo0ePsmHDBtavX09PTw9PPvmkagX+yU9+wq5duwC4//77ycnJUc9J2upOnjypnPOnnnqKb33rW3g8HmWLfX19lJaWUl5erkSBBhtStQdobm5WSaAbiV5xhWvXJmmPFfR9cVlZWSxatIjHH39czatJha+3t1cJoEjrZjAYVDNud9xxB3/3d38XtoJF2i110Rd99Yq+P87r9RITE4PdbicqKgqn04nf7ycuLo7jx4+TmprK/PnzSU9PD5s1lJk9r9dLS0uLSkZJ1fdGVTsNVzHBnMFg+Mq5noqVHFByUAB4PB7sdrsKyB566CGio6P57W9/q6pzosjl9/vp6+tj/vz5PPvsszgcDlWJEcnl73znOwSDQV588UX27NnD4cOHeeKJJwDwer1KuvmFF15gxIgRRmlrkCD2I7MqH3zwAS+88AI1NTWEQiGOHz/OP/3TP31KoU9vsf3Rj37Egw8+SGpqKlFRURQUFPD444/jdrv54IMPeP755/nNb36D1WrF4/Hg8XhISEjgqaeeYsWKFSQlJeH3+1UL5qpVqwgEAjz//PMcOHCARx55hO9///vAVVv0eDyUlJTwq1/9ivz8fGOLgwB9Fxxcbas7cOAA1dXVnDp1ig0bNhAXF6eEUcT+uru7yczM5L/+678YO3assgNZyjxixAgee+wx/H4/7777Li+88AIvv/yyskWv14vNZlO26HA4VMswQEVFBX6/n3/7t3/j0KFDPPbYY2HXRY/HQ1FREc8995x6/MFqixIkud1uNad9o4jcP6d/LQq3OlKl9Xg8ajG83I/8OzY2Vl1TZH5OAiUJ7gKBgJr9/ayxAfmevgNRJ/J2hw8fJhAIMGXKFJKSktTPZBZZbxF2uVxkZWWplRvx8fFhwaXhi2OCOYPB8JUjg9u61HJsbCypqalER0cr50MULKUFJTs7m1WrVpGTk8O2bdvYunUrly5dwuFwUFxczKJFi7jvvvvIzc1VC5t1JbDU1FTuuusucnJy+NOf/sTHH39MQ0MD8fHxzJo1i7lz53L77bczfvz4MCn6weq4DHbkc9ODNI/Hg8/nIxgMhrU6eTyez7yfqKgouru7CQQC6nsxMTFMmTKFdevWUVJSwkcffURdXR3t7e2kp6dz5513Ul5eTllZGU6nU80viS06nU6+/e1vk5mZyR//+Ef27NlDQ0MDcXFxlJWVMXfuXFauXKlsURw4Y4sDE90B14UjVqxYQUJCArt37+bEiRNUV1fjcrmIiooiKSmJkpISVq5cyYwZMygpKVEVE7lPEfiZOnUqTz/9NOPHj2fLli3U1tbS3t7OkCFD+M53vsPChQu55ZZbSE1NVYGBbourV68mIyODP/7xj1RWVnLu3DmsVitlZWXMmTOHlStXMnHixOsuFB/oyByYJHs8Hg+1tbVkZ2eTlJT0qV2kX5TI903/OhAIqLUFomRptVqV7fylWUW5L70KJ8lRXTVV7itS0Vl/ndKSGQqF8Hq9YY+zd+9eAoEAkydPViJhcv/6/KckI/r7+3G73Spo9fv9al2M4YtjgjmDwfCVEx0drfrlb7/9dgoKCrBareTl5alWJOmt9/v9KqCKiooiPz+f9PR05syZw5NPPqmqd3FxcSQlJTF06FDVeqKvHBDHJSUlhfLycqZMmYLP51Nzc1lZWVgsFkaOHKmUvsxBM/DRM8A+nw+r1cqyZcsYM2ZM2PL5P0dfXx+5ubmqlUgSEMnJyUybNo38/HzuuusuAoGAyuxnZGSQkpKiVhXI7Ihui06nk4ULF1JcXPwpWwQYOXKkUrcbLI7zNxW9zVJXVx0yZAhLlixh2rRpqgqmV3CtViu5ubkkJiZ+Sv1PghCLxUJ8fDzFxcXk5uZy9913K1uUPZtOpzNsVYH8Xei2uGDBAoqKitTz8Pl8ZGdnA4PfFvXrQE1NDd3d3SxYsEDtM/2qzgIJknt7e/H5fPj9fhXY6QIqfw59pYS0OkZHR6vdmtI+Lp+/rpwqYiyirJmcnExPTw9xcXGqFbSzs5PXX38dh8PB6tWrCYVCtLS0kJKSohbQ22w2xowZw4gRIygsLKS3t5f4+Hj8fj+Amh003BhMMGcwGL5ypOIFkJmZqXa+RQ6CA2EZYDnYUlNTcTqdjBgx4lNLWCW7qh9UgUAgTEEsLi6O1NTUsOFvmT+QzCJgAroBjj5bAtcciLS0NJKTk5U9fJ770ZcvS3VExAuysrLCZuL0NrS+vj68Xq+aJYm0xdTUVFJSUv6iLRpV1YGN2I0kmeRaFwwGsdvtYfO9epVEgv/e3t7rqv+JLYroRE5OjgrA9PuCq7Yoc3bXs0Wr1apEo3S5ewlCB6st6sGP3+9n06ZNxMbGMm/ePJxOp0okfhVI1VOCLz2I08+2v4Rc+ywWi5qRk89T5n4h/LXrVTmLxUJqaiozZsygt7eX0aNHY7PZ6O7uZv369Rw5coSnn36aMWPG0NbWxs6dO6mvrycuLo5x48aRlZXFP/zDP+BwOHA4HEpgRZIU5ly9sZhgzmAw3DT0xaVwdYZEHBdpK9Gz0HKI6QeBqF6Kc+H1eomPj1fONxDW3iSHmzjOEgB6PB4SExNVZjIyqDQMTHTnR4bypd3x8zpGupOjz4OIk6e3NonzrS8nF+cZjC1+UxFbkc9UD9SkOqYnpQD1b/m+Pucm9iW3F+T3JcATW5TH1JNj17NFuW+5L2mNG8y2KO+XXAveeecdbrnlFoqKilQ186t6zbriqX6NkfbWzyMcInsMY2Nj6e7upqOjQwWleoJLXpOInug2arFc3bG3fPlyrFYrCQkJNDY28uqrr7Jx40buvfde7rnnHpKTk4mJiaGgoIAhQ4Zw9uxZ/vd//xeXy0Vubi4zZsygv7+fwsJClbyQ66FJlt44TDBnMBhuCroTDHzKsdblmwElmaxnmnWnRRwVcVDk/qUlTp9/04e9xTmRTHnkUtfBPOz/TUBalsR5iZwP+Uvo6zHg02IqesY7MoMfef+6LepiBnJ/xhYHL5FVYkG3Sb27QJz3yL1kEF5NEYdY31Un9/vnHGVJdn0eW5TnP5htUa4TW7duxWq1cuedd5KZmanOnK+qGinJSf0/r9fL6dOn2b59++d+HjU1Nbjdbnp6emhvb8fpdIZ9rnogFXndkt9LSEggNzeXtrY23nvvPbZs2cLRo0dZuXIld999N9nZ2ardvKCggPHjxzNx4kSGDRvGpk2bqKys5OOPP2bUqFEsX76c733ve/T39+P3+5UIiuHGYII5g8FwU9CrG+KESHuJHtTpAih6EHc9Z0La3nSnSXeWdKdFnB5xxvU5ucjHMwxc9MBNWtJ0u/tL6Hb6WT/Tv5asNlyTHRe70m1Rb2cytvjNQZd+11spxaEWG4j83COvbddLhkX++8/Zon791G1Rt2epBA12W5TPoL29nbfffpsHHniAmTNnql18uoT/l02k2IrYis1mUwHQX3oe+gxcMBhUoiqCXF/kPz2BIBXYlpYWzpw5o3baXblyBbvdzv333095eTm5ublq/5wImcTFxZGXl8fQoUMZO3YsI0eO5K233uK9997D5XJx6623qhbgwZYMuNmYYM5gMNw0Ih1hPWt9vQyiju4I6Upfgl6tEwdenPLIQ0xvyZQ2E33HnWHgIhVd/ev/S2VBr4LI15FtlmKfkTYmyM+/iC1+la1ehi8HvdtAT0h9lm3p9qULOkX+vtx3ZILs89ii/lx0W9S/L9fiwWyLPp+PPXv2kJeXR0VFBQ6H46a8xshEU0JCAiNHjqS0tJTp06erFvE/R29vLwcPHqShoYFJkybhcDjC7EGfyxWCwSAXL16ksbGRzs5OXC4XLpeL9vZ2+vr6mDlzJjNnzmTixInAteRC5AoDuJocGDduHCkpKaSlpfHSSy/R1tamAkWZHx6MFd6bhQnmDAbDTSEyUNIdlc9ybiIzpJ/lVItTrN+H/nO9FUmei9yffH29Q8ow8Iic8Ylsa/u86Hu/IlspdXuSmRZ9xkiqIvJ1ZOZdbgvGFgc7kYmn63UZSOVNryLrs27Xs4dI+/r/tUX97yUyuTZYbVFa/3w+H2vWrMHpdH5qFvurCjj0s83pdLJ48WK1/1SqpH+J/v5+SktLGTp0KOPHjycjI+O6CQD57OV7Ho+HtrY2WlpaCIVCTJw4kZEjR5KXl6dUPaVzQM7X64mWie1mZGRQUVGB3W6nurqaYcOGfWXtqt80LKHP02diMBgMBoPBYDAMMnp7e/F6varNXxcsAkwFyfC1xwRzBoPBYDAYDIZvJDLrGjlLqP8cvrrqnMHwf8UEcwaDwWAwGAyGbzTXc4dNAGcYCJiZOYPBYDAYDAbDNxJ9hhBMAGcYeAwuOSKDwWAwGAwGg+H/gKnKGQYyps3SYDAYDAaDwWAwGAYgpjJnMBgMBoPBYDAYDAMQE8wZDAaDwWAwGAwGwwDEBHMGg8FgMBgMBoPBMAAxwZzBYDAYDAaDwWAwDEBMMGcwGAwGg8FgMBgMAxATzBkMBoPBYDAYDAbDAMQEcwaDwWAwGAwGg8EwADHBnMFgMBgMBoPBYDAMQEwwZzAYDAaDwWAwGAwDEBPMGQwGg8FgMBgMBsMAxARzBoPBYDAYDAaDwTAAMcGcwWAwGAwGg8FgMAxATDBnMBgMBoPBYDAYDAMQE8wZDAaDwWAwGAwGwwDEBHMGg8FgZcYehgAAAA5JREFUMBgMBoPBMAD5f8i9ZbWU5w/wAAAAAElFTkSuQmCC" } }, "cell_type": "markdown", "id": "afad992e", "metadata": {}, "source": [ "## 简单回归\n", "首先,在书中说到的是利用网站的广告费与点击量之间的关系进行的一次简单的预测,即通过点击量预测广告费。\n", "![image.png](attachment:image.png)\n", "这样的一次函数图像,我们在数学中一般都写为$y=ax+b$,但这里我们更加通用的是使用$\\theta_{i}$来表示,即$y=\\theta_{1}x+\\theta_{0}$来定义我们的一次函数表达式。\n", "\n", "我们所要做的就是去确定$\\theta_{i}$的值,从而让得到的直线尽可能地多过点。" ] }, { "cell_type": "code", "execution_count": 2, "id": "6a19dab4", "metadata": {}, "outputs": [], "source": [ "# 导入matplotlib绘图\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 3, "id": "af7a9323", "metadata": {}, "outputs": [], "source": [ "# 设置下面两行,以正常显示中文\n", "plt.rcParams['font.family'] = ['sans-serif']\n", "plt.rcParams['font.sans-serif'] = ['SimHei']" ] }, { "cell_type": "code", "execution_count": 4, "id": "0ff681f5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([60, 70, 78, 140, 150, 200, 236, 280, 300, 310],\n", " [320, 330, 323, 396, 410, 450, 510, 580, 600, 630])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 模拟一些数据\n", "data = [(60,320),(70,330),(78,323),(140,396),(150,410),(200,450),(236,510),(280,580),(300,600),(310,630)]\n", "# 广告费\n", "ad_fee = [item[0] for item in data]\n", "# 点击量\n", "click = [item[1] for item in data]\n", "ad_fee,click" ] }, { "cell_type": "code", "execution_count": 5, "id": "a20803a2", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 绘制图像\n", "fig = plt.figure()\n", "ax = fig.add_axes([0,0,1,1])\n", "\n", "ax.set_xlabel(\"广告费\")\n", "ax.set_ylabel(\"点击量\")\n", "\n", "ax.scatter(ad_fee,click)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "id": "5f9bc7a7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[121, 141, 157, 281, 301, 401, 473, 561, 601, 621]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", "定义拟合函数,这里先随机选定下参数\n", "(这里一般把参数称之为权值)\n", "\"\"\" \n", "theta_1 = 2\n", "theta_0 = 1\n", "# 确定表达式\n", "pred_y = [theta_1*x+theta_0 for x in ad_fee]\n", "pred_y" ] }, { "cell_type": "code", "execution_count": 7, "id": "02289f6d", "metadata": {}, "outputs": [ { "data": { "image/png": "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CxYs0KpVq8wJj9Oc6XxKZ75WpbOfa5hvz549+sMf/qDnn39eBw8eVJcuXTR69GiuUQ9V0/mUuEY9VUFBgf7617/qm2++0datW/XKK69o4sSJXKMn/erizo1ARUWFERISYhQVFVXb/uGHHxpNmzY1jh8/bhiGYWzevNm49NJLzYiIWrjqqquMmTNnGpKMjIwMwzDOfg5feuklo1u3bobL5TIMwzA++ugj48477zQlO053pvNZ07VqGFyv7m7ZsmXG66+/XvX866+/NgICArhGPVRN55Nr1HPt37/fmD9/ftXz1NRUIygoiGv0f7ziDvHWrVvlcrkUHx+vgIAADR48WPv371dqaqoGDBigwMBASVJcXJzS09NNTouavPHGGxo3bly1bWc7h6mpqRo0aJAsFoskqX///tq4cWPDhkaNznQ+a7pWpbOfa5hv6NChuvfee6ue79y5U507d+Ya9VA1nU+uUc/Vpk0b3XnnnZKkiooKvfTSS7r55pu5Rv/HKwpxenq6unbtqnfeeUdbtmyRj4+P7r33XhUWFlZbCtpischmszHQ3E2dadnus53DX+4LCQlRVlZWg2TFrzvT+azpWpXOfq7hXsrLy/Xiiy/qvvvu4xptBE49n1yjni81NVVRUVFasWKFZs2axTX6Pz5mB2gId955Z9VvRZL06quvKiYmRt27dz9tNRa73a6SkhI1bdq0oWPiPPj4+NR4Dn+57+R2uK+artXCwsKznmuuV/cyefJkNWnSRKNHj9aTTz7JNerhTj2fvr6+XKMeLi4uTl988YUefPBBjR49Wh07duQalZfcIf6l5s2by+VyKSoqSrm5udX2FRUVyc/Pz6RkOFfh4eE1nsNf7uPcep6T12p2dvZZzzXcx9dff61XXnlFCxculK+vL9eoh/vl+fwlrlHPY7FY1LdvX/33v//VBx98wDX6P15RiCdOnKiFCxdWPU9OTpbValWvXr2UnJxctT0jI0MOh0Ph4eFmxMR56NevX43n8Jf7UlJS1KpVKzNiopZqulbbtGlz1nMN95CRkaHExES98sorio2NlcQ16snOdD65Rj3XmjVrNHHixKrnfn5+slgs6t69O9eo5B2zTLzzzjtGTEyMsXLlSuPzzz83unTpYtxzzz1GRUWF0axZM+Ott94yDMMwRo8ebQwdOtTktPg1+sWsBDWdw9zcXMNutxtf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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 绘制图像\n", "fig = plt.figure()\n", "ax = fig.add_axes([0,0,1,1])\n", "\n", "ax.set_xlabel(\"广告费\")\n", "ax.set_ylabel(\"点击量\")\n", "\n", "ax.scatter(ad_fee,click)\n", "ax.plot(ad_fee,pred_y)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "9334ce61", "metadata": {}, "source": [ "可以看到这里随机定的直线并没有能够尽可能过多的点,那么我们要怎么样才能够得到更优的直线呢?这里就要引出我们的目标函数了——$E(\\theta)=\\frac{1}{2}\\sum (y-y_{\\theta})^{2} $,这里E其实表示的是ERROR,得到的$E(\\theta)$是与真实值的差距。(这里并没有说为什么不直接使用预测值与真实值的差值来估计误差,或者预测值与真实值的差值的绝对值来估计,可以思考一下,书中有详细解答。)\n", "\n", "注:其实上面所说的$E(\\theta)$就是**最小二乘法**,最小二乘法广泛应用于误差估计,**通过最小化误差的平方和来寻找数据的最佳函数匹配**" ] }, { "cell_type": "markdown", "id": "592e3cda", "metadata": {}, "source": [ "这里可以先用之前随便定的参数来看一下$E(\\theta)$的值" ] }, { "cell_type": "code", "execution_count": 8, "id": "8e79b9d0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "66098.5" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E = sum([(click[i]-pred_y[i])**2 for i in range(len(click))])/2\n", "E" ] }, { "cell_type": "markdown", "id": "ca7c60a8", "metadata": {}, "source": [ "66098.5,可以看到误差很大,因此需要调整$\\theta_{i}$,获取最佳的函数。这里的调整当然并不是一直随机选,先明确下我们的目的是什么?\n", "\n", "我们要做的就是**最小化误差**,让$E(\\theta)$尽可能的小。所以求最小值,这里可以引出我们的极值(当然,极值并不一定是最值,但对于我们这里的二次抛物线来说,并不需要考虑这么多)。\n", "\n", "OK,知道了要求极值,首先想到的一定是求导,找一阶导为0的点吧。但是,我们需要知道并不是所有的函数都能够直接求出一阶导为0的点。可以**类比下牛顿法求解方程**,我们没有办法直接求出方程的解,但是可以通过**迭代**的方式不断地逼近我们的解。\n", "\n", "那么问题又来了,要怎样迭代得到所需的解呢?这里就需要了解**梯度下降法**,在微分学中我们都知道梯度的方向变化速度最快,而梯度相反的方向则是函数值下降最快的方向。这里$E(\\theta)$的未知数是$\\theta$,因此,我们要做的就是让$\\theta$沿着梯度下降的方向走就可以了。\n", "\n", "我们知道,在极小值点的左侧是递减的,右侧是递增的,也就是说左侧的导数值小于0,右侧的导数值大于0。所以,我们只需要加上当前导数值的相反数就可以往极小值的方向移动了,即**根据导数的符号来决定移动的方向**。\n", "\n", "$$\n", " x=x-\\eta d\\frac{g(x)}{dx}\n", "$$\n", "其中的$\\eta$是学习率,可以认为是每次值更新的一个跨度,跨的太大和跨的太大都不太好,因此需要选择一个比较合适的大小。$g(x)$对$x$的求导在这里则是$E(\\theta)$对$\\theta$的求导,但因为我们这里有$\\theta_{0}$和$\\theta_{1}$两个变量,所以需要求偏导,其实步骤都是一样的,就算一个变成了算两个。\n", "\n", "1. 对$y_{\\theta}$求导\n", "$$\n", " -\\sum (y-y_{\\theta})\n", "$$\n", "2. 对$\\theta_{0}$和$\\theta_{1}$求导($y_{\\theta} = \\theta_{1}x+\\theta_{0}$)\n", "$$\n", "对\\theta_{0}求导 : -\\sum (y-y_{\\theta})*1\n", "$$\n", "$$\n", "对\\theta_{1}求导 : -\\sum (y-y_{\\theta})*x\n", "$$\n", "3. 更新$\\theta_{0}$和$\\theta_{1}$\n", "$$\n", "\\theta_{0} = \\theta_{0}-\\eta \\sum [(y_{\\theta}-y)*1]\n", "$$\n", "$$\n", "\\theta_{1} = \\theta_{1}-\\eta \\sum [(y_{\\theta}-y)*x]\n", "$$\n", "注意:这里的$x$和$y$是样本点,是已知的。这里的自变量是$\\theta_{0}$和$\\theta_{1}$,因变量是$y_{\\theta}$。" ] }, { "cell_type": "code", "execution_count": 9, "id": "ea5cf6b2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[121, 141, 157, 281, 301, 401, 473, 561, 601, 621]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 随机设置参数(这里重新设置一下,方便后面每次调整,就不用老是往上翻)\n", "theta_0 = 1\n", "theta_1 = 2\n", "# 设置学习率,这里学习率的设置还是要多调一下的,其实个人觉得可以分别给theta_0和theta_1设置学习率,因为两个参数的变化幅度不太一样\n", "learning_rate = 0.000001\n", "# 迭代次数\n", "n = 1000000\n", "# 重新设置pred_y\n", "pred_y = [theta_1*x+theta_0 for x in ad_fee]\n", "# 打印测试\n", "pred_y" ] }, { "cell_type": "code", "execution_count": 10, "id": "dd5f77f2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-891" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 测试\n", "sum([(pred_y[i]-click[i])*1 for i in range(len(pred_y))])" ] }, { "cell_type": "code", "execution_count": 11, "id": "e1385ddb", "metadata": {}, "outputs": [ { "data": { "image/png": "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pSZMmFDz3M/PTxaLRd27d+f6lNx/1oK33nrLSExMND777DPj448/Nrp06WL87ne/M6qqqoyWLVsa//znPw3DMIzbbrvNuPrqq01Oi9PRr77lXts5LCwsNAICAoxPP/3UqKysNAYPHmzcc889ZsVGLY49n7Vdq4Zx6nMN85WXlxtJSUnGH//4R6O0tLTmUVlZyTXqgWo7n//+97+5Rj3Q3r17jdDQUOP11183du7cadxyyy3G4MGD+R36X25fZA3DMB5++GEjLCzMiIyMNMaOHWscPnzYMAzDWLx4sREUFGRERUUZLVu2NDZt2mRyUpzOscXHME59Dl999VXD19fXiIiIMBITE42CggITEuNUfn0+a7tWDYPr1Z198MEHhqQTHnl5eVyjHuhU55Nr1DN98sknRlJSkhESEmJcf/31xv79+w3D4HeoYRiGxTA8e+mOgoICrV27Vv3791dUVJTZcXAGTnUO8/LylJubqwEDBig4ONikhGgoXK+eiWu0+eAa9TzN/fr0+CILAACA5sntv+wFAAAAnAxFFgAAAB6JIgsAAACPRJEFAACAR6LIAgAAwCNRZAEAAOCRKLIAAADwSBRZAAAAeCSKLAAAADzS/wNjkREZ1OyKtgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "theta_0:201.55686898237883 , theta_1:1.3549571632210207\n" ] } ], "source": [ "\n", "# 迭代更新theta_0,theta_1\n", "for i in range(n):\n", " theta_0 = theta_0 - learning_rate*sum([(pred_y[i]-click[i])*1 for i in range(len(pred_y))])\n", " theta_1 = theta_1 - learning_rate*sum([(pred_y[i]-click[i])*ad_fee[i] for i in range(len(pred_y))])\n", " # 更新预测值,其实也就是对pred_y中的theta_0和theta_1进行更新\n", " pred_y = [theta_1*x+theta_0 for x in ad_fee]\n", "# print(theta_0,theta_1)\n", "# print(pred_y)\n", "# 绘制更新后的图像\n", "fig = plt.figure()\n", "ax = fig.add_axes([0,0,1,1])\n", "\n", "ax.scatter(ad_fee,click)\n", "ax.plot(ad_fee,pred_y)\n", "plt.show()\n", "\n", "# 打印更新后的参数\n", "print(f\"theta_0:{theta_0} , theta_1:{theta_1}\")" ] }, { "cell_type": "code", "execution_count": 12, "id": "a48cc598", "metadata": {}, "outputs": [ { "data": { "image/png": "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/Gw15kVERERE5MbdUCB/dfL9wIEDOXjwINu3bycqKoq6devajj322GP07t2bvXv30q1bN7y8vH5fi0VERERE5PfPyBcIDAykX79+xR4LCwsrtnRlWbi7uzNt2rQiFXIcUU3pq/rpWNRPqSg16WdeU/qqfjoW9dN+TEZNrW0mIiIiIlKNlWlBKBERERERqRoUyIuIiIiIVEMK5EVEREREqiEF8iIiV7lw4QI///wzaWlp9m6KiIhUouo2/lfZQH7s2LGYTCbbo3nz5gAkJiYSGRlJnTp1iImJKVIKszo4d+4cYWFhHD582LbvWv3auHEjbdq0ISAggNjYWDu0+MYU18+SritU32u7YsUKmjZtiouLCx06dOCXX34BHO+altRPR7umy5Yto0mTJowYMYKQkBCWLVsGON71rMo0/lf/3y2N/451TTX+V+HraVRRXbt2NVatWmWkpaUZaWlphtlsNrKysowmTZoYjz76qHHgwAGjb9++xr///W97N7VMUlJSjJtvvtkAjOTkZMMwjGv26+zZs4aPj48xffp0Y//+/UanTp2M77//3o49KJ3i+mkYxV9Xw7j2z6AqO3DggFGnTh3j008/NU6fPm088MADxi233OJw17SkfhqGY13TCxcuGAEBAUZCQoJhGIbxwQcfGI0bN3a461nVafyv3r9bGv8d65pq/K/a17NKBvK5ubmGj4+PkZGRUWj/F198YdSpU8e4dOmSYRiGsXPnTuPWW2+1RxNv2J/+9CfjzTffLDTAXatfs2bNMlq3bm1YrVbDMAzjyy+/NIYMGWKXtpdFcf0s6boaRvW9titXrjTeffdd2/b3339v1KpVy+GuaUn9dLRrevToUWPhwoW27YSEBMPLy8vhrmdVpvG/+v9uafx3rGuq8b9qX88qmVqze/durFYrHTp0oFatWvTp04ejR4+SkJBAVFQUnp6eAERERJCUlGTn1pbN+++/z9ixYwvtu1a/EhIS6NGjByaTCYAuXbqwffv2ym30DSiunyVdV7j2z6Aq69+/P4888ohte9++fbRo0cLhrmlJ/XS0axoaGsqQIUMAyM3NZdasWQwaNMjhrmdVpvG/+v9uafx3rGuq8b9qX88qGcgnJSXRqlUrPv74Y3bt2oWLiwuPPPIIZrO50AqxJpMJZ2fnanNDAlDsCrfX6tfVx3x8fDh58mSltPX3KK6fJV1XuPbPoLrIycnh9ddf57HHHnPIa1rgyn466jVNSEggMDCQNWvWMHv2bIe+nlWNxv/q/7ul8d/xrmkBjf9V73q6VOq7ldKQIUNs/yoCeOeddwgLC6NNmzZFlsX18PAgMzOTOnXqVHYzy42Li0uJ/br6WMH+6qik62o2m6/5M6gu13batGnUrl2bESNG8NxzzznsNb2yn66urg55TSMiIli7di1PPvkkI0aMoFmzZg57Pasajf+O+bul8d8xrqnG/3xV6XpWyRn5q9WvXx+r1UpgYCApKSmFjmVkZODm5manlpUPf3//Evt19TFH6G+Bgut66tSpa/4MqoPvv/+et99+m8WLF+Pq6uqw1/Tqfl7NUa6pyWSic+fOfPjhh3z++ecOez2rA43/jvm75ShjBWj8L+Ao17S6jf9VMpCPiYlh8eLFtu24uDicnJxo164dcXFxtv3JyclkZ2fj7+9vj2aWm8jIyBL7dfWx+Ph4GjZsaI9m/m4lXdfQ0NBr/gyquuTkZKKjo3n77bcJDw8HHPOaFtdPR7umGzduJCYmxrbt5uaGyWSiTZs2Dnc9qyqN/475u+VoY0UBjf+Oc02r7fhfqbfWltLHH39shIWFGevWrTO++eYbo2XLlsZf/vIXIzc316hXr56t7M+IESOM/v3727m1N4ar7uYvqV8pKSmGh4eH8e233xo5OTlGnz59jNGjR9ur2WV2ZT9Luq6Gce2fQVWWmZlphIeHG3//+9+NjIwM2yMnJ8ehrmlJ/fzoo48c6pqePHnS8PHxMd59913j6NGjxrBhw4w+ffo49N9oVaPx33F+tzT+O8Y11fhftf9Gq2QgbxiGMWnSJMPX19fw9/c3xo4da1y8eNEwDMNYsWKF4enpadStW9eoV6+esWfPHju39MZwVX3da/Vr7ty5hqurq1GnTh0jLCzMOH36tB1afGOu7mdJ19Uwque1/fLLLw2gyCM5Odmhrum1+ulo13Tt2rVGeHi44e3tbdx///3G2bNnDcNw3L/Rqkjjv2P8bmn8d4xrqvG/av+NmgyjGiy1dZXTp0+zfft2oqKiqFu3rr2bU26u1a/k5GT27t1Lt27d8PLyslMLK56jXVtdU8e6prqe9udIv09X0u+W411bXVPHuqZV9XpWy0BeRERERKSmq5I3u4qIiIiIyLUpkBcRERERqYYUyIuIiIiIVEMK5EVEREREqiEF8iIiIiIi1ZACeRERERGRakiBvIiIiIhINaRAXkRERESkGlIgLyIiIiJSDf0/0TsWrWEtVZMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 可以对比一下训练前和训练后的图像\n", "fig = plt.figure()\n", "# 原图\n", "ax1 = fig.add_axes([0,0,0.5,0.5])\n", "ax1.scatter(ad_fee,click)\n", "ax1.plot(ad_fee,[2*x+1 for x in ad_fee])\n", "ax1.set_title(\"原图\")\n", "# 更新后\n", "ax2 = fig.add_axes([0.6,0,0.5,0.5])\n", "ax2.scatter(ad_fee,click)\n", "ax2.plot(ad_fee,pred_y)\n", "ax2.set_title(\"更新后的图\")\n", "# 显示图像\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "1eaf8e20", "metadata": {}, "source": [ "可以看到和之前相比,使用新的参数得到的直线比之前要好很多。我们可以来看一下现在的$E(\\theta)$是多少,也就是误差。" ] }, { "cell_type": "code", "execution_count": 13, "id": "411bcdca", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1789.6736022830057" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#计算误差\n", "E = sum([(click[i]-pred_y[i])**2 for i in range(len(click))])/2\n", "E" ] }, { "cell_type": "markdown", "id": "cb6dcf5a", "metadata": {}, "source": [ "可以看到这里比原来的误差要小了很多,这样我们就可以利用现在的直线来进行预测了。比如,假设现在广告费增到500,那么应该可以得到的点击量应该是" ] }, { "cell_type": "code", "execution_count": 14, "id": "e3c3cbea", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "879.0354505928892" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta_1*500+theta_0" ] }, { "cell_type": "markdown", "id": "947373c6", "metadata": {}, "source": [ "也就是说若广告费到500的话,那么点击量应该会到880左右。\n", "\n", "当然,虽然现在比一开始要好很多了,但是还是有差距。那么要怎么样进一步地去缩小差距呢?接下来进入**多项式回归**" ] }, { "cell_type": "markdown", "id": "ad23e064", "metadata": {}, "source": [ "## 多项式回归\n", "\n", "刚刚使用的是一次函数$y=\\theta_{1}x+\\theta_{0}$,也就是直线来进行逼近的。现在,我们可以使用曲线来逼近,二次函数甚至三次、n次函数进行拟合。\n", "$$\n", "f_{\\theta}(x) = \\theta_{2}x^{2}+\\theta_{1}x+\\theta_{0}\n", "$$\n", "$$\n", "f_{\\theta}(x) = \\theta_{n}x^{n}+...+\\theta_{2}x^{2}+\\theta_{1}x+\\theta_{0}\n", "$$\n", "但需要知道的是,虽然越高次的多项式越拟合的更好,但是这就会出现过拟合的情况,导致对训练样本的预测很准,但是对验证样本的效果不佳,也就是模型的泛化能力不行。\n", "\n", "这里我们可以用二次多项式再来试一次!\n", "$$\n", "\\theta_{0} = \\theta_{0}-\\sum [(y_{\\theta}-y)*1]\n", "$$\n", "$$\n", "\\theta_{1} = \\theta_{1}-\\sum [(y_{\\theta}-y)*x]\n", "$$\n", "$$\n", "\\theta_{2} = \\theta_{2}-\\sum [(y_{\\theta}-y)*x^{2}]\n", "$$" ] }, { "cell_type": "code", "execution_count": 15, "id": "e59a8413", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[303.092, 314.098, 322.99208, 394.61199999999997, 406.61, 468.46000000000004, 514.91152, 573.868, 601.46, 615.442]\n", "theta_0:259.6565186661426 theta_1:0.7812284302914565 theta_2:0.001244416554768104\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 定义参数\n", "theta_0 = 239.66\n", "theta_1 = 1.02\n", "theta_2 = 0.00062\n", "# 设置学习率\n", "learning_rate = 0.000001\n", "# 迭代次数\n", "n = 1600000\n", "\n", "print([theta_2*x**2+theta_1*x+theta_0 for x in ad_fee])\n", "\n", "# 更新参数\n", "for i in range(n):\n", " pred_y = [theta_2*x**2+theta_1*x+theta_0 for x in ad_fee]\n", " theta_0 = theta_0 - learning_rate*sum([(pred_y[i]-click[i])*1 for i in range(len(pred_y))])\n", "# print([(pred_y[i]-click[i])*1 for i in range(len(pred_y))]) 傻逼了,搞了半天,忘记乘学习率了,就说怎么一直这么大\n", " theta_1 = theta_1 - learning_rate*sum([(pred_y[i]-click[i])*ad_fee[i] for i in range(len(pred_y))])\n", " theta_2 = theta_2 - learning_rate*0.00001*sum([(pred_y[i]-click[i])*ad_fee[i]**2 for i in range(len(pred_y))])\n", "pred_y = [theta_2*x**2+theta_1*x+theta_0 for x in ad_fee]\n", "# 打印更新后的参数\n", "print(f\"theta_0:{theta_0} theta_1:{theta_1} theta_2:{theta_2}\")\n", "# 绘制图像\n", "fig = plt.figure()\n", "ax = fig.add_axes([0,0,1,1])\n", "\n", "ax.scatter(ad_fee,click)\n", "ax.plot(ad_fee,pred_y)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 16, "id": "d68b4647", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "307.59714460729487" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E = sum([(click[i]-pred_y[i])**2 for i in range(len(pred_y))])/2\n", "E" ] }, { "cell_type": "markdown", "id": "511d4b86", "metadata": {}, "source": [ "看比之前的1700多更低了,我们成功实现了从66000多的误差到1700多,到现在的300多,大飞跃!\n", "\n", "不过我们通常会使用的是**MSE(Mean Square Error)**,即均分误差来衡量回归模型的精度,其实就是上面的Error这个目标函数除2改成除n,来求平方和的平均值,至于之前为什么除2,其实只是为了就导方便而已(二次方求导会下来一个2,所以除以一个2恰好抵消。)" ] }, { "cell_type": "code", "execution_count": 19, "id": "5cf105cd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "61.519428921458974" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "MSE = sum([(click[i]-pred_y[i])**2 for i in range(len(pred_y))])/len(pred_y)\n", "MSE" ] }, { "cell_type": "markdown", "id": "232314ee", "metadata": {}, "source": [ "## 多重回归\n", "前面使用到的都是单一的自变量,即广告费来决定点击量,但现实中当然不止这一个因素影响着点击量,比如广告位的位置,显示的时间段等都会对点击量有所影响。因此,这个时候有会个多个自变量($x_{1},x_{2}...x_{n}$),不过其实和一个自变量的时候是一样的,仍然把这些视为样本点,只是现在不是二维的因此无法直接通过图像表示出来,但我们索要做的事情并没有变:\n", "1. 构建目标函数\n", "目标函数仍然可以使用最小二乘法,使用$E(\\theta)=\\frac{1}{2}(y-y_{\\theta})^{2}$,其中不同的只是$y_{\\theta}$发生了变化,例如一次多项式可以是:$y_{\\theta}=\\theta_{n}x_{n}+...+\\theta_{2}x_{2}+\\theta_{1}x_{1}+\\theta_{0}$\n", "\n", "这里为了简化,其实可以将**x**和**$\\theta$**表示为向量的形式:\n", "$$\n", "x = \\begin{bmatrix} 1 \\\\ x_{1} \\\\ x_{2} \\\\ : \\\\ x_{n} \\end{bmatrix}\n", "\\theta = \\begin{bmatrix} \\theta_{0} \\\\ \\theta_{1} \\\\ \\theta_{2} \\\\ : \\\\ \\theta_{n} \\end{bmatrix}\n", "$$\n", "这样就可以直接使用**$\\theta^{T}x$**来表示$y_{\\theta}$了,其实都是一样的,只是表示的形式变了一点点。\n", "2. 梯度下降法\n", "还是和之前一样,求导,用梯度下降法更新参数,仍然是对各个$\\theta_{i}$求偏导然后进行更新。\n", "\n", "和之前一样,如果这里也想使用高次的多项式的话,也是一样的,如可以写这样的一个多项式:$y_{\\theta}=\\theta_{3}x_{2}^{2}+\\theta_{2}x_{2}+\\theta_{1}x_{1}+\\theta_{0}$" ] }, { "cell_type": "markdown", "id": "697c785d", "metadata": {}, "source": [ "## 随机梯度下降法\n", "\n", "在使用之前的梯度下降法的时候,我们在更新参数的这个步骤中,是求了所有的样本的预测值与真实值差的平方和,但是当样本量巨大的时候,每一次都全都算的话**计算量太大**了,而且还会**陷入局部最优**的情况。因此,为了能够解决这样的问题,我们引入了**随机梯度下降法**,顾名思义,就是随机选择一个样本点来更新本次的参数,而不是使用全部的样本点来进行更新,也就是说用之前的梯度下降更新一次参数的运算量(求n个差),随机梯度下降法可以进行n次参数的更新了!速度大大提高!\n", "\n", "可以实际的来看一下更新的表达式的变化:\n", "\n", "梯度下降法:\n", "$$\n", "\\theta_{i} = \\theta_{i}-\\eta \\sum [(y_{\\theta}-y)x]\n", "$$\n", "\n", "随机梯度下降法:\n", "$$\n", "\\theta_{i} = \\theta_{i}-\\eta (y_{\\theta k}-y_{k})*x\n", "$$\n", "\n", "可以看到,唯一的区别就只是在于有没有那个$\\sum $,随机梯度下降就只是随机选一个样本对所有的参数进行更新。" ] }, { "cell_type": "markdown", "id": "5b4cb755", "metadata": {}, "source": [ "## 小批量(min-batch)梯度下降法\n", "\n", "小批量梯度下降法介于梯度下降法与随机梯度下降法之间,每次随机选择m个样本对参数进行更新,更新表达式为:\n", "$$\n", "\\theta_{i} = \\theta_{i} - \\eta \\sum_{k}^{m} [(f_{\\theta}(x^{(k)})-y^{(k)})x_{i}]\n", "$$" ] } ], "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.5" } }, "nbformat": 4, "nbformat_minor": 5 }