{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from collections import Counter\n",
    "from functools import partial\n",
    "import numpy as np\n",
    "import math, random\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.colors as colors\n",
    "from mpl_toolkits.axes_grid1 import make_axes_locatable"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Redes Neurais\n",
    "\n",
    "Uma rede neural artificial (ou simplesmente rede neural) é um modelo preditivo motivado pela maneira como o cérebro opera. Pense no cérebro como uma coleção de neurônios ligados juntos. Cada neurônio examina as saídas dos outros neurônios que o alimentam, faz um cálculo e, em seguida, dispara (*fires*) (se o cálculo excede algum limite) ou não (se não o fizer).\n",
    "\n",
    "Dessa maneira, as redes neurais artificiais consistem em neurônios artificiais, que realizam cálculos semelhantes sobre suas entradas. As redes neurais podem resolver uma grande variedade de problemas, como reconhecimento de manuscrito e detecção de rosto, e são usadas intensamente em aprendizado profundo (*deep learning*), um dos subcampos mais modernos da ciência de dados. No entanto, a maioria das redes neurais são \"caixas pretas\", pois a inspeção dos seus detalhes não lhe dão muita compreensão de como elas estão resolvendo um problema. E grandes redes neurais podem ser difíceis de treinar. Para a maioria dos problemas que você encontrará como um cientista de dados iniciante, elas provavelmente não são a escolha certa. Algum dia, quando você estiver tentando construir uma inteligência artificial para trazer a Singularidade, aí sim elas podem te ajudar bastante.\n",
    "\n",
    "## Perceptrons\n",
    "\n",
    "A rede neural mais simples é o *perceptron*, que se aproxima de um único neurônio com $n$ entradas binárias. Ele calcula uma soma ponderada de suas entradas e \"dispara\" se essa soma ponderada for maior ou igual a zero:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def step_function(x):\n",
    "    return 1 if x >= 0 else 0\n",
    "\n",
    "def perceptron_output(weights, bias, x):\n",
    "    \"\"\"returns 1 if the perceptron 'fires', 0 if not\"\"\"\n",
    "    calculation = np.dot(weights, x) + bias\n",
    "    return step_function(calculation)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "O perceptron está simplesmente distinguindo entre os meios espaços separados pelo hiperplano de pontos $x$ para os quais:\n",
    "\n",
    "$$ \\mathbf{w} \\cdot \\mathbf{x} + b = 0$$\n",
    "\n",
    "em que $\\mathbf{w}$ é o vetor de pesos associados ao vetor de entradas $\\mathbf{x}$ e $b$ é a constante de viés. Se prefere a linguagem de código, é o mesmo que:\n",
    "    \n",
    "`np.dot(weights,x) + bias == 0`"
   ]
  },
  {
   "attachments": {
    "neuralnetwork1.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Com pesos corretamente escolhidos, os perceptrons podem resolver vários problemas simples. \n",
    "\n",
    "![neuralnetwork1.png](attachment:neuralnetwork1.png)\n",
    "\n",
    "Por exemplo, podemos criar uma porta $AND$ (que retorna $1$ se ambas as entradas forem $1$ e retorna $0$ se uma de suas entradas for $0$) com:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "weights = [2, 2]\n",
    "bias = -3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Se ambas as entradas forem 1, o cálculo é igual a $2 + 2 - 3 = 1$ e a saída é 1. Se apenas uma das entradas for $1$, o cálculo é igual a $2 + 0 - 3 = -1$ e a saída é $0$. E se ambas as entradas forem $0$, o cálculo é igual a $-3$ e a saída é $0$.\n",
    "\n",
    "Da mesma forma, poderíamos construir uma porta $OR$ com:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "weights = [2, 2]\n",
    "bias = -1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "E poderíamos construir uma porta $NOT$ (que tem uma entrada e converte $1$ para $0$ e $0$ para $1$) com:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "weights = [-2]\n",
    "bias = 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "No entanto, existem alguns problemas que simplesmente não podem ser resolvidos por um único perceptron. Por exemplo, não importa o quanto você tente, você não pode usar um perceptron para construir uma porta $XOR$ que produza $1$ se exatamente uma de suas entradas for $1$ e $0$ caso contrário. É aqui que começamos a precisar de redes neurais mais complicadas.\n",
    "\n",
    "Claro, você não precisa de usar perceptrons para construir portas lógicas:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "and_gate = min\n",
    "or_gate = max\n",
    "xor_gate = lambda x, y: 0 if x == y else 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Como os neurônios reais, os neurônios artificiais começam a ficar mais interessantes quando você começa a conectá-los."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Redes Neurais *Feed-Forward*\n",
    "\n",
    "A topologia do cérebro é extremamente complicada, por isso é comum aproximá-la com uma rede neural *feed-forward* que consiste em camadas discretas de neurônios, cada uma conectada à próxima. Isso normalmente envolve uma camada de entrada (que recebe entradas e as encaminha para frente sem alterações), uma ou mais \"camadas ocultas\" (cada uma delas consiste de neurônios que pegam as saídas da camada anterior, realizam alguns cálculos e passam o resultado para a camada seguinte), e uma camada de saída (que produz as saídas finais).\n",
    "\n",
    "Assim como o perceptron, cada neurônio (que não o de entrada) tem um peso correspondente a cada uma de suas entradas e um viés. Para tornar nossa representação mais simples, adicionamos o viés no final do nosso vetor de pesos e damos a cada neurônio uma *entrada de viés* que sempre é igual a $1$.\n",
    "\n",
    "Também como no perceptron, para cada neurônio, somaremos os produtos das suas entradas e seus pesos. Mas aqui, em vez da saída vir da função `step_function` aplicada a esse produto, produziremos uma aproximação suave da `step_function`. Em particular, usaremos a função sigmóide:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def sigmoid(t):\n",
    "    return 1 / (1 + math.exp(-t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGxCAYAAACwbLZkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABkK0lEQVR4nO3dd3wUdf7H8ddm0ztJSIMQQkdBQJoB6RAExIIKNprlROUUUE/QUwQLnp6KDdSfCno2VIp4ckpQmjQRUZQmSIeEQIAkBEjZnd8fmywsKSQhyaS8n4/HPnZ29jszn8kku59821gMwzAQERERMYmb2QGIiIhI7aZkREREREylZERERERMpWRERERETKVkREREREylZERERERMpWRERERETKVkREREREylZERERERMpWREaq3Zs2djsVgKfTz88MNmh8fDDz+Mv78/Q4cO5cCBA7Rt25YVK1ZUagxbtmzhqaeeYs+ePZV63Opg1KhRNGzY0OwwLshisfDUU09dsFz+34OutZjB3ewARMw2a9YsWrRo4bIuOjrapGgcTp8+zauvvsoXX3zBvHnzaNasGV26dKFLly6VGseWLVuYMmUKPXv2rBZfvJXpiSee4MEHHzQ7jAtas2YN9evXNzsMkWIpGZFar1WrVnTo0MHsMFz4+PiQk5MDwHXXXceHH35ockRyvsaNG5sdQolcccUVZocgckFqphEpRlFV3A0bNmTUqFHO1/lV3EuXLuXee+8lLCyM0NBQhgwZwqFDhwps/8knnxAfH4+/vz/+/v60bduW9957z/l+YmIi1157LfXr18fb25smTZpwzz33cPTo0QL7+vHHH+nTpw8BAQH4+vrSpUsXvvnmmxKd38yZM2nTpg3+/v4EBATQokULHnvsMec53XTTTQD06tXL2YQ1e/Zs5/ZLliyhT58+BAYG4uvrS9euXfn+++9djvHUU09hsVjYuHEjQ4YMITAwkKCgIG6//XaOHDlSbHzTp0/HYrGwc+fOAu89+uijeHp6On8mGzdu5OqrryY8PBwvLy+io6MZNGgQBw4cKNHP4lxHjhzhb3/7GzExMXh5eVG3bl26du3KkiVLnGUKa6Y5ceIEd955JyEhIfj7+zNo0CB27dpV4Pco/2eyadMmbrrpJoKCgggJCWHChAnk5uayfft2rrrqKgICAmjYsCEvvPBCgRj37dvH7bff7jzfli1b8tJLL2G3213KFfY7vHbtWrp27Yq3tzfR0dFMmjTJmfyKmEHJiNR6NpuN3Nxcl0dZ3XXXXXh4ePDJJ5/wwgsvsGzZMm6//XaXMk8++SS33XYb0dHRzJ49m/nz5zNy5Ej27t3rLPPXX38RHx/PzJkzWbx4MU8++STr1q3jyiuvdPnSWL58Ob179yYtLY333nuPTz/9lICAAAYPHsycOXOKjfWzzz7jvvvuo0ePHsyfP58FCxYwfvx4MjMzARg0aBDPPfccAG+++SZr1qxhzZo1DBo0CICPPvqIhIQEAgMD+eCDD/j8888JCQmhf//+BRISgOuvv54mTZrw5Zdf8tRTT7FgwQL69+9f7Jfg7bffjqenp0sCBI5r9tFHHzF48GDCwsLIzMykX79+HD58mDfffJPExESmT59OgwYNyMjIKPbnUJjhw4ezYMECnnzySRYvXsy7775L3759SU1NLXIbu93O4MGD+eSTT3j00UeZP38+nTt35qqrripym6FDh9KmTRvmzp3L3XffzSuvvML48eO57rrrGDRoEPPnz6d37948+uijzJs3z7ndkSNH6NKlC4sXL+bpp59m4cKF9O3bl4cffpixY8cWe25btmyhT58+nDhxgtmzZ/PWW2+xceNGnnnmmVL/nETKjSFSS82aNcsACn3k5OQYhmEYgDF58uQC28bGxhojR44ssK/77rvPpdwLL7xgAEZSUpJhGIaxa9cuw2q1GrfddluJ47Tb7UZOTo6xd+9eAzC++uor53tXXHGFER4ebmRkZDjX5ebmGq1atTLq169v2O32Ivc7duxYIzg4uNhjf/HFFwZgLF261GV9ZmamERISYgwePNhlvc1mM9q0aWN06tTJuW7y5MkGYIwfP96l7Mcff2wAxkcffVRsDEOGDDHq169v2Gw257pFixYZgPH1118bhmEYP//8swEYCxYsKHZfJeXv72+MGzeu2DIjR440YmNjna+/+eYbAzBmzpzpUm7atGkFfo/yfyYvvfSSS9m2bdsagDFv3jznupycHKNu3brGkCFDnOsmTpxoAMa6detctr/33nsNi8VibN++3bnu/GMPGzbM8PHxMZKTk53rcnNzjRYtWhiAsXv37mLPW6QiqGZEar0PP/yQ9evXuzzc3cvWneqaa65xeX3ZZZcBOGs9EhMTsdls3H///cXuJyUl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I15eXkyePBkvLy+zQ6kwNf0cdX7VX00/x5p+flDzz1HnV/GqRQdWERERqblqdc2IiIiImE/JiIiIiJhKyYiIiIiYSsmIiIiImErJiIiIiJiqxicjzz77LF26dMHX15fg4OBCy+zbt4/Bgwfj5+dHWFgYDzzwANnZ2cXuNysri7///e+EhYXh5+fHNddcw4EDByrgDEpu2bJlWCyWQh/r168vcrtRo0YVKH/FFVdUYuSl07BhwwLxTpw4sdhtDMPgqaeeIjo6Gh8fH3r27MnmzZsrKeKS27NnD3feeSdxcXH4+PjQuHFjJk+efMHfx6p+DWfMmEFcXBze3t60b9+elStXFlt++fLltG/fHm9vbxo1asRbb71VSZGWzrRp0+jYsSMBAQGEh4dz3XXXsX379mK3KervdNu2bZUUdek89dRTBWKNjIwsdpvqcv2g8M8Ti8XC/fffX2j5qn79VqxYweDBg4mOjsZisbBgwQKX98v6WTh37lwuueQSvLy8uOSSS5g/f365xl3jk5Hs7Gxuuukm7r333kLft9lsDBo0iMzMTH788Uc+++wz5s6dy0MPPVTsfseNG8f8+fP57LPP+PHHHzl58iRXX301NputIk6jRLp06UJSUpLL46677qJhw4Z06NCh2G2vuuoql+0WLVpUSVGXzdSpU13i/ec//1ls+RdeeIGXX36ZN954g/Xr1xMZGUm/fv2cN2GsKrZt24bdbuftt99m8+bNvPLKK7z11ls89thjF9y2ql7DOXPmMG7cOB5//HE2btxIt27dGDBgAPv27Su0/O7duxk4cCDdunVj48aNPPbYYzzwwAPMnTu3kiO/sOXLl3P//fezdu1aEhMTyc3NJSEhgczMzAtuu337dpfr1bRp00qIuGwuvfRSl1h///33IstWp+sHsH79epdzS0xMBOCmm24qdruqev0yMzNp06YNb7zxRqHvl+WzcM2aNQwbNozhw4fz22+/MXz4cIYOHcq6devKL3Cjlpg1a5YRFBRUYP2iRYsMNzc34+DBg851n376qeHl5WWkpaUVuq8TJ04YHh4exmeffeZcd/DgQcPNzc349ttvyz32ssrOzjbCw8ONqVOnFltu5MiRxrXXXls5QZWD2NhY45VXXilxebvdbkRGRhrPP/+8c92ZM2eMoKAg46233qqACMvXCy+8YMTFxRVbpipfw06dOhljxoxxWdeiRQtj4sSJhZb/xz/+YbRo0cJl3T333GNcccUVFRZjeUlJSTEAY/ny5UWWWbp0qQEYx48fr7zALsLkyZONNm3alLh8db5+hmEYDz74oNG4cWPDbrcX+n51un6AMX/+fOfrsn4WDh061Ljqqqtc1vXv39+4+eabyy3WGl8zciFr1qyhVatWREdHO9f179+frKwsNmzYUOg2GzZsICcnh4SEBOe66OhoWrVqxerVqys85pJauHAhR48eZdSoURcsu2zZMsLDw2nWrBl33303KSkpFR/gRfjXv/5FaGgobdu25dlnny22GWP37t0kJye7XC8vLy969OhRpa5XUdLS0ggJCblguap4DbOzs9mwYYPLzx4gISGhyJ/9mjVrCpTv378/P//8Mzk5ORUWa3lIS0sDKNH1ateuHVFRUfTp04elS5dWdGgXZceOHURHRxMXF8fNN9/Mrl27iixbna9fdnY2H330EXfccccF7xBfna5fvrJ+FhZ1Tcvz87PWJyPJyclERES4rKtTpw6enp4kJycXuY2npyd16tRxWR8REVHkNmZ477336N+/PzExMcWWGzBgAB9//DE//PADL730EuvXr6d3795kZWVVUqSl8+CDD/LZZ5+xdOlSxo4dy/Tp07nvvvuKLJ9/Tc6/zlXtehXmr7/+4vXXX2fMmDHFlquq1/Do0aPYbLZS/ewL+5uMiIggNzeXo0ePVlisF8swDCZMmMCVV15Jq1atiiwXFRXFO++8w9y5c5k3bx7NmzenT58+rFixohKjLbnOnTvz4Ycf8t133/F///d/JCcn06VLF1JTUwstX12vH8CCBQs4ceJEsf/AVbfrd66yfhYWdU3L8/PTvdz2VImeeuoppkyZUmyZ9evXX7CfRL7CMmDDMC6YGZfHNiVRlvM9cOAA3333HZ9//vkF9z9s2DDncqtWrejQoQOxsbF88803DBkypOyBl0JpznH8+PHOdZdddhl16tThxhtvdNaWFOX8a1NR16swZbmGhw4d4qqrruKmm27irrvuKnbbqnANi1Pan31h5QtbX5WMHTuWTZs28eOPPxZbrnnz5jRv3tz5Oj4+nv379/Pvf/+b7t27V3SYpTZgwADncuvWrYmPj6dx48Z88MEHTJgwodBtquP1A8c/cAMGDHCpKT9fdbt+hSnLZ2FFf35Wy2Rk7Nix3HzzzcWWadiwYYn2FRkZWaATzvHjx8nJySmQCZ67TXZ2NsePH3epHUlJSaFLly4lOm5plOV8Z82aRWhoKNdcc02pjxcVFUVsbCw7duwo9bZldTHXNH/UyM6dOwtNRvJ7/icnJxMVFeVcn5KSUuQ1Lm+lPb9Dhw7Rq1cv4uPjeeedd0p9PDOuYWHCwsKwWq0F/oMq7mcfGRlZaHl3d/dik00z/f3vf2fhwoWsWLGC+vXrl3r7K664go8++qgCIit/fn5+tG7dusjfrep4/QD27t3LkiVLmDdvXqm3rS7Xr6yfhUVd0/L8/KyWyUhYWBhhYWHlsq/4+HieffZZkpKSnBdn8eLFeHl50b59+0K3ad++PR4eHiQmJjJ06FAAkpKS+OOPP3jhhRfKJa5zlfZ8DcNg1qxZjBgxAg8Pj1IfLzU1lf3797v8sla0i7mmGzduBCgy3ri4OCIjI0lMTKRdu3aAo214+fLl/Otf/ypbwKVUmvM7ePAgvXr1on379syaNQs3t9K3pppxDQvj6elJ+/btSUxM5Prrr3euT0xM5Nprry10m/j4eL7++muXdYsXL6ZDhw5l+n2uSIZh8Pe//5358+ezbNky4uLiyrSfjRs3mn6tSiorK4utW7fSrVu3Qt+vTtfvXLNmzSI8PJxBgwaVetvqcv3K+lkYHx9PYmKiS6304sWLy/ef73LrCltF7d2719i4caMxZcoUw9/f39i4caOxceNGIyMjwzAMw8jNzTVatWpl9OnTx/jll1+MJUuWGPXr1zfGjh3r3MeBAweM5s2bG+vWrXOuGzNmjFG/fn1jyZIlxi+//GL07t3baNOmjZGbm1vp53i+JUuWGICxZcuWQt9v3ry5MW/ePMMwDCMjI8N46KGHjNWrVxu7d+82li5dasTHxxv16tUz0tPTKzPsElm9erXx8ssvGxs3bjR27dplzJkzx4iOjjauueYal3LnnqNhGMbzzz9vBAUFGfPmzTN+//1345ZbbjGioqKq3DkePHjQaNKkidG7d2/jwIEDRlJSkvNxrup0DT/77DPDw8PDeO+994wtW7YY48aNM/z8/Iw9e/YYhmEYEydONIYPH+4sv2vXLsPX19cYP368sWXLFuO9994zPDw8jC+//NKsUyjSvffeawQFBRnLli1zuVanTp1yljn//F555RVj/vz5xp9//mn88ccfxsSJEw3AmDt3rhmncEEPPfSQsWzZMmPXrl3G2rVrjauvvtoICAioEdcvn81mMxo0aGA8+uijBd6rbtcvIyPD+T0HOD8v9+7daxhGyT4Lhw8f7jLabdWqVYbVajWef/55Y+vWrcbzzz9vuLu7G2vXri23uGt8MjJy5EgDKPBYunSps8zevXuNQYMGGT4+PkZISIgxduxY48yZM873d+/eXWCb06dPG2PHjjVCQkIMHx8f4+qrrzb27dtXiWdWtFtuucXo0qVLke8DxqxZswzDMIxTp04ZCQkJRt26dQ0PDw+jQYMGxsiRI6vMuZxvw4YNRufOnY2goCDD29vbaN68uTF58mQjMzPTpdy552gYjiFtkydPNiIjIw0vLy+je/fuxu+//17J0V/YrFmzCv19Pf//hup2Dd98800jNjbW8PT0NC6//HKXoa8jR440evTo4VJ+2bJlRrt27QxPT0+jYcOGxsyZMys54pIp6lqd+7t3/vn961//Mho3bmx4e3sbderUMa688krjm2++qfzgS2jYsGFGVFSU4eHhYURHRxtDhgwxNm/e7Hy/Ol+/fN99950BGNu3by/wXnW7fvlDj89/jBw50jCMkn0W9ujRw1k+3xdffGE0b97c8PDwMFq0aFHuyZfFMPJ6FomIiIiYoNYP7RURERFzKRkRERERUykZEREREVMpGRERERFTKRkRERERUykZEREREVMpGRERERFTKRkRERERUykZEREREVMpGRERERFTKRkRERERU/0/K7bmGjaABf0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(-10, 10, 100)\n",
    "y1 = [step_function(x_i) for x_i in x]\n",
    "y2 = [sigmoid(x_i) for x_i in x]\n",
    "\n",
    "fig = plt.figure()\n",
    "plt.plot(x,y1,label='step function',linestyle='--')\n",
    "plt.plot(x,y2,label='sigmoid')\n",
    "plt.title(\"Função step vs. sigmoid\")\n",
    "plt.legend()\n",
    "plt.show()\n",
    "fig.savefig('sigmoid.png', dpi=150)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Por que usar `sigmoid` em vez da `step_function`, que é mais simples? Para treinar uma rede neural, precisamos usar cálculo e, para usar cálculo, precisamos de funções *suaves*, ou funções diferenciáveis. A função `step_function` não é contínua e a `sigmoid` é uma boa aproximação suave dela.\n",
    "\n",
    "Você pode se lembrar da `sigmoid` da Aula 15, onde ela foi chamada de logística. Tecnicamente, \"sigmóide\" refere-se à forma da função, enquanto o termo \"logística\" refere-se a essa função específica, embora as pessoas usem os termos de maneira intercambiável.\n",
    "\n",
    "Em seguida, calculamos a saída como:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "def neuron_output(weights, inputs):\n",
    "    #print(\"w:\", weights)\n",
    "    #print(\"i\", inputs)\n",
    "    r = sigmoid(np.dot(weights, inputs))\n",
    "    #print(\"r\", r)\n",
    "    return r"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Dada essa função, podemos representar um neurônio simplesmente como uma lista de pesos cujo comprimento é um a mais que o número de entradas para esse neurônio (por causa do peso do viés). Então, podemos representar uma rede neural como uma lista de camadas (não-entrada), onde cada camada é simplesmente uma lista dos neurônios dessa camada.\n",
    "\n",
    "Ou seja, nós representamos uma rede neural como uma lista (camadas) de listas (neurônios) de listas (pesos).\n",
    "\n",
    "Dada tal representação, usar a rede neural é bem simples:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "def feed_forward(neural_network, input_vector):\n",
    "    \"\"\"takes in a neural network (represented as a list of lists of lists of weights)\n",
    "    and returns the output from forward-propagating the input\"\"\"\n",
    "\n",
    "    outputs = []\n",
    "    \n",
    "    # process one layer at a time\n",
    "    for layer in neural_network:\n",
    "\n",
    "        input_with_bias = input_vector + [1]             # add a bias input\n",
    "        output = [neuron_output(neuron, input_with_bias) # compute the output\n",
    "                  for neuron in layer]                   # for this layer\n",
    "        outputs.append(output)                           # and remember it\n",
    "\n",
    "        # the input to the next layer is the output of this one\n",
    "        input_vector = output\n",
    "\n",
    "    return outputs\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Agora é fácil criar a porta XOR que não conseguimos criar com um único perceptron. Precisamos apenas escalar os pesos para que os `neuron_outputs` estejam realmente próximos de 0 ou muito próximos de 1:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 0 [9.38314668300676e-14]\n",
      "0 1 [0.9999999999999059]\n",
      "1 0 [0.9999999999999059]\n",
      "1 1 [9.383146683006828e-14]\n"
     ]
    }
   ],
   "source": [
    "xor_network = [     # hidden layer\n",
    "    [[20, 20, -30], # 'and' neuron\n",
    "     [20, 20, -10]],# 'or' neuron\n",
    "    # output layer\n",
    "    [[-60, 60, -30]]] # '2nd input but not 1st input' neuron\n",
    "\n",
    "for x in [0, 1]:\n",
    "    for y in [0, 1]:\n",
    "        # feed_forward produces the outputs of every neuron\n",
    "        # feed_forward[-1] is the outputs of the output-layer neurons\n",
    "        print(x, y, feed_forward(xor_network,[x, y])[-1])"
   ]
  },
  {
   "attachments": {
    "neuralnetwork2.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6gAAAHACAIAAAAgG9JhAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAP+lSURBVHhe7J0FWFTb9/eV7u7uRkABEQOkDRQJAxAJEwOxFezC7sBCxUIRUGlJ6VZRurERETvvfb8y8+flN9frRQUk9udZDw9zzp6ZM/vstdZ3ndin398EAoFAIBAIBEIfgAhfAoFAIBAIBEKfgAhfAoFAIBAIBEKfgAhfAoFAIBAIBEKf4P8LX12dgfLSMsSIESNGjBgxYsSI9RqDxKWK3bbCFyuo/xEIBAKBQCAQCL2CthKXCF8CgUAgEAgEQq+FCF8CgUAgEAgEQp+ACF8CgUAgEAgEQp+ACF8CgUAgEAgEQp+ACF8CgUAgEAgEQp+ACF8CgUAgEAgEQp+ACF8CgUAgEAgEQp+ACF8CgUAgEAgEQp+ACF8CgUAgEAgEQp+ACF8CgUAgEAgEQp+ACF8CgUAgEAgEQp+gLwrfL1++PH/+vKioKCEh4dKlS2fOnDndQmBgYGILhYWFaEBtTSAQCAQCgUDoFfRm4fvXX39B4378+PH9+/fv3r17+/btmzdvXr169eLFi+rq6uzs7Bs3bgQEBPj7+x9p4dixYxEtZGZmogFaoj3ehbd/+vQJH0X9XAKBQOg0ELi+fv2KgPP582dEnlbwEgsB1lKbEgiEDgXeR1EOP/A+NKC2JvRMerPwhWxNSUnZunWrp6ennZ3diBEjNDQ0BAQEGBkZ+/0X9PT0XFxcaG9tbe3t7X3ixImcnBwoYOpHEwgEQieAtPr69eva2tqsrCwU4RcuXGg9H3Xt2jXKKSmU5R8+fKC+gUAgdBzwvvr6+vz8/Ojo6IsXL1K87+zZsyEhIRTvKy8vh7Sgtib0THqV8KUUahiyx48fnzNnjpGRkYKCgqioKD8/Pzc3Nzs7OwsLCwMDAyMjExc3j7iUjLrWIENj85GWY2HG5qOHm1qpaQ2EYRUHJxcdHR3aQ/4KCgpKSkoqKSnp6uq6ubnt3LkzISHh6dOn1G8lEAiEn+TTp0+lpaVhYWGIJ6tWrZo5c6aDg4O5ufngwYNRb6uqqioqKsrKykpJSSH4APwjIyMj3wLWDhw40NLSctq0acuWLUO4y8zMfPbsGTkSTCC0h8+fP9fU1ERFRe3atQveB7UwefJkOJSBgQG8T01NDeleTk5OWlr6n96noqKio6Njamrq5OS0ePHio0ePJicnP3z4ENqD+umEbk9vEL4YxLW1tSjFjh07hoFoZ2eH4YuRysnJycsvMGjwMPMxE2ynuDpNn+sxb6nXyg0rNu5au+PQlv0ndx+/ePhcmP+lcP+LsBtHL1zHEtiWA6d8t+5buGqjm+ciO0e3EaajlNUH8AsI0dPTi4mJaWtrjx49evbs2fAZjHgoYOQw6qYQCATCv/Dx48fHjx+np6f7+/svX74ciRPpE/FEWVkZyVVAQADFOSPqciYmHl4+MQkpBWU1DW1dLd3Bmjp6MCVVDSlZeRg7BydacXBwoKqHPoZWHj9+/PTp01evXo1PjouLQ1DCd1G/lUAgtOiExsZGlIgnT5709fVF0WhhYQEJC++DWhAUFIRgoHgfFw+viJiEnKKKhvYgeN+Agd+8T0VDi+J9nNw8TEzMbGxswsLC0MH6+vpjxoxxc3NbsWLFoUOH4H11dXXk5HA3pwcL369fv759+zYvL+/KlStbt27FOMYQRObg5OKWkJbFSDU2H+Pk7rl+55FDgaHnbiSFJORGZRanFj3OrX5ZUPf6x4Y2acVPItLvn7uRvOvYhcVr/Bw9PE1GjdPRN5RVVEZaQtZBUYjhvnfv3sjIyOLiYnL6g0Ag0PDly5fm5uaioqKUlBREKlTLs2bN0tPT4+Xl5eTiEhYVV1TVQGbVHTLc0MjMyHwMqvRxDk5T3GZPX7AMtffKTbt9/fav2rwHtsh385zFPjA7J3fLcfYjTK30DY0GDNSXllNEREImFhIS0tXVdXZ23rNnT1hYWG5uLjkQRejL/PXXX/C+srIyVJuhoaEHDhyYM2fOkCFD4CkcHJyCwiKKKuqQCoMMhg0ZYWpkNtpstA28b9K0me5zFy9YsX7Fpl3wPp8te+F9S9b6UbxvosuMUTYTjcxHDx5mrDVosIy8Ep+AIBs7OzxaS0sL1ayfnx88HQq7trYW3kcuCO6G9Ejhi5H04cOHp0+fZmdnQ3qiVkOVxsLKysnFwy8opGc4YtrshTuOBN5IuUMjZ3/H8qpfptx/dOT89fnL140wHyUmKYW6kJmFBYZk4+Pjk5GR8eLFC2wYOeFIIBA+fvyIpFtTU5OUlLRq1SoLCwsxMTE6enpmZhZObh5+ASFoVjtHtxUbd+06dv5UcMzV+Jy4vIqMsgaayPNdyyxriMooOhsWj7J81sKVRmaj5BRVkIC5uHlYWFgZGRlVVVVdXV0DAgKqq6tfvnyJjSEJmNB3+PTp06tXr1D4wfs2btw4fvx4WVlZOjq6b97Hxc3HL6iirjXWbsqy9dt3+p87HhR5JTYzJrssveQpjaN917IqGmNzys+HJ+89GeS5eDWKVSU1TXg0JAHF+/Bd9vb2hw4dgvcRVdAN6ZHCF0E8JibG3d2dm5ubci+alIz86AmTVm87cP3WndzqJpph2uGGr4jOKtly4NRIy7E8fPz96ej69+/Pzs7u7OwcFxdHpkIjEAgoy5cvX66oqEiJUYCegUFIRGykxZi12w+FJeVnlLYry7bTUoseXo7JWLfriOU4ey5uXjo6+m/fSE/Pw8OzYsWKzMxM6ADqlhEIvZ179+75+fmpq6tTXA+g5uTi4RtharVy0+5LUWmpRY9oPOh3LL3kSVhygd+h01bjHYRFxenpGfCNUAXwPk9Pz9jY2KamJuqWEboBPUz4omwKDg6eMGGCvLw8JycnEzOzwQiTHUfPhSTkJhRUYSjnVHW66m2xV9C+aSVP4vIrz15LmLt0jY7eEJSSHBwcEhISTk5OV65cef36NXWjCQRCn+Hdu3c5OTmurq5Iukh7LCysXDy8Fta2Xis3HDl37UbKHQSN1KLHOVUv8mtf/SOw/Lrl1zRnVzamFT+OL6gKjsveuOeYnaObgrIqHR0dNkNaWtrGxubYsWPPnj2jbiiB0OuAQoD3LfDyGqSry8fHx8zMDO8bYT5q9qJVe08GXUsuiMuD9z3KrmiEv9B40O8YfBkeDfkL7wtJyNtxNNB5+lxVDW14HxcXF1SBmZnZzp074X3k0qPuQI8Rvg0NDQkJCatWrRo6dKgAEBQaqG84c+GK40GRCQXVOZUvaAZil1lG6dOwpIKDZ64uWetnMHwkByeXmJiYsbHx4sWL09PTyS0mBEIfATEqMTFx06ZNVlZWCALcPLyqmtqTps3cvO/46dC467fu3Lr3IK9D0+2/GeJhbE75hYiU3ccueC7x1Ryoh41B1NTT05s6der169eRgMmVD4TeRFNTU3Z29q5du+B9MrKyvHx8sgrKNpOmwvtOXokOTcxLulObV/Pft/f8vuVUNUGTXI7JOHDmKrxPf6iRgKAwNzf3gAED4H0XL16sqakhVz78WXqA8IV2xIA+cuQIBg0qJ3Z2Dg3tQXaObut3HUUuoRlzf8ow1hNv12w9cMpmsouy+gA+PgFRUVEPD4+QkJDa2loy7QOB0FtBDmtubkaVe/jwYRcXF1VVVUYmJmW1AWNsJy/fsPPcjaScqj9WluOrozKLV287gICprWsgJCzKzMw8YcKE/fv3Z2RkNDY2Un8DgdBjgffl5uaeOnVqzpw5EJfwPjlFFbMxExas3HAyOKbDT6203/C98L7N+084unvqGY4QEZOA91laWm7duhUVMpkR9Q/SrYXvX3/9BdV7+/bt2bNny8nLMzEz8wkIoX5as+3gjdS7NIOsm1hk+v3Fq7cOHmpMmf5MX1/f39+/oqKCzG9CIPQ+Pnz48OjRo9jYWJTl0tLSLKxs/IJCqprai9dsDU3Mz/5zZ6JojHJPwiibici+UAZi4uLu7u7h4eGPHz8mB58IPZTPnz8/f/4c3ufp6YmCk5mFhYeXD943Z5HP+fBbWRWNNF7wpywuv3J/wBXbKa7wPhZWVmFhYVtb2ytXrsD78BPIuZeup1sL33fv3hUXF2toaLCxsWFMq6gP8PbdnFXekF/bFacLf8fC0wqXrd/Bw8dPR0fHx8fn5uaWn59P/VUEAqG3cO/evRUrVrCwsPTv35+RkVFNU2f+snWJt2v+1EGmH1vK/Yf+F2/IKapAoPfr109cXHzOnDmvX78m2pfQE6mvr/fz82NlZUWepWdgkJJVcJ29EN7XBTe4/4JlVzbC+wYOHsrB9e2mfC4urunTpz98+BDal/p7CF1F9xW+Dx48OHv2rLy8PAMGtIz83KWrI9LuZZY9K+iWGYXG8mq+TQN85WbmUGNzXj4BeCbq0X379pEHjRIIvQOU5SdOnDAxMUFZjqRrbDHG72BARPr9jNJn3bYy/3YLTuWLxIJqX7/9uoYjmJi/zcM/dNiwqKgoctkDoQfx/v370NBQa2trdnZ2eN/gYcY+W/Zev3UnveRpdz4uBu9LulPrd/D0SCtrZmZmFMyDBw8ODAx88uQJ9YcRuoRuKnxv3769cePGQYMGMTExaWgPWrlpT2hi3h+8g+0XDDkGMv10yE03z0XK6gOgfdXV1Q8ePFhdXU2OrxAIPRf479OnT9etW9dyo62goJDILO+VASGxcXmVPSJGITRFZ5UcOHN16sz5ImISXFxcI4yMduzYUVhYSP2FBEI35tmzZ3v37jU3NxcSFmZlY5u5cMWR89eiM4uzu821DT8weB8CxfGgSM8lvqLiktzc3Pr6+r6+vtnZ2dSfR+h8up3wRVLJyMhYsWKFtrY2Owenpo7e2u0HozKK2/O4tW5oeTXNFyNTF/ps0h9mzMDIaGBgsHv37nv37pHLegiEnsi7d+/Kyso2bdqkpqbGLyCopqnjPnfxt7K8iyZS7DBLK358PuLWnMW+8kqqHJycunp6Pj4+mZmZ1N9JIHQ/Pn36VFtbu2379sEGBgKCQjLySpNcZoYk5mWUPqMZ3t3cMsqehSUVzFu2Vm2ADg8vH4LJ/PnzU1JSyGRnXUM3Er7QgpSLemfPni0lJcXJxa2ta+CzZW/XTADUqXYzt2L7kbOqmtrQvlpaWlu3bq2qqiJDnEDoWbx69So/P3/nzp08PDxcPLxaugZeKzfczC2n8feeYgitqUWP5iz2UdcayMHFJS0t7enpidBEJmEkdEPevn1bUlJy6NAhYWFhLh4eFQ0t1zne0VklNKO6p1h+7Svo9UW+W/QMR/Dw8oNp06bhB+JnUn8wodPoRsIXxRz2uo2NDRMTEx09/TATywOng2nGSs+19NKnp67G8gsK0tPTy8nJeXl5kSdcEAg9i6SkJHd3dwaGb49lGjLCdN+pK1nlz2k8vSfavoDLQ0eaI+qysLC4uro+ePCAXI5F6G4UFBQsXryY4n3augbrdh5p5/O9u7mduBw51m4KvA+/y9nZGT+TeF9n012E75cvX8LDw4cPH05HR8cvILjQZ9O15Nu94FhvW8uvbQ6KSTcyG83OwSkoKGhvbw+tT655IBC6P58/f96wYcOAAQNQuDKzsM5YsDw2p7zXBCj8kCs3s2Z4LWNlY8MPNDM3RzQmd+ISugnwvsOHDxsaGmJwQh1Om73wanxO1zyNogssv6b5Rurd5Rt2srGz4wcOHTo0ICDg3bt31B9P6AS6i/CNj493d3fn5ePj5uFdu+NQWFJBZq8o5mgsveSp/8Ub4xyceHj5oH1379794MEDahcQCIRuCcrybdu26ejocHNzK6lpevtsDk8t7Fn32v6npZc+DYpOX7hqExc3Lz+/wIQJE4IuXyaXYxG6A1C9RkZGkAeiEpJzl60JS8rvcRf1/tgyyxuup9xZtWkPv6AwHz+/mZnZ0aNHifd1Ht1C+BYXF3t7eysoKPDw8Tt5eMZkl3afid873FKLHu05ccl87ARGRkZdXd0zZ87U1dVRO4JAIHQzmpqaEhMTtbW1ubi5dQ2GLV237UZKN316zm9aZtmza8kFbp6LhETFxcUlJk2aFB4eTu0FAuFP8P79+1u3bhkbGwsICKhqaHku8Q1LLuhlp4IphkI6OqtkxoJlcooqwiIiFhYWly5dovYCoaP5w8L3a8vTPrdv366pqcnNwzvU2DwkPjevZ07g0H5LuF29+/hFTR3d/v37jx079vLlyy9fvqT2CIFA6Da8efMmPT192rRpcFUFZbXlG3bG51fRuHNvMkiKqMxia3tHETEJUVFRe3v7srIyMsE+4Y8A1VtSUuLu7s7Ozi4lKz/Ta3lMdhnNiO1lBu07deYCaTlFXl5eIyMjeB+55qEz+MPC98OHDxkZGTIyMgwMDPpDjfaeDKIZB73Vku/W7Tt1mZmFpT8d3ZQpU1JSUsjFvgRCtwIuWVhYuHr16n79+jExMy9dtz087R6NI/dKC03IG20zkYWVlZube/78+S9evCDRidDFYMhVVVXt378f3sfIxOQ+b0lwXA7NQO2VFp5a6DJrARs7B4pteF95eTnxvg7nTwpf1HO3b9+WkJCA6jUYbuJ3MIBmBPR6W7x6i4SUDAsLy5gxY8jFvgRCt6K0tHTevHnfHohKT7903ba4vAoa/+3Fdi359gyv5YxMzJAdGzZsKCsro3YKgdAl1NTUbN68mY3t27O1Zy9aFZaUTzNEe7FFZZWs3LyHmZkFv93LyysnJ4faKYQO4o8JX8qDKqZMmcLExKSoor5+15GEgmqa3d/r7WZuhb2zh5ikFJgzZ86XL19IbUcgdAeePXsG1SsrK8svKGQ+ZgJUby+7m+3HllX+PPBG0tSZC5B6EZ2OHTtGnqpK6DKeP3+OcktFRYWNncPEalxIYl5meS+82f3fLLuyMTQxf96ytfA+MTExdAW5Eahj+WPCNy8vb+XKleLi4tw8vIt8t1y/dTu/9hXN7u8LdvTCdctxdrx8/AoKCrGxsa9evaJ2EIFA+BOg+Pzw4QPl2WwCQsLDTa2OnL9G47Z9wVLuPzwVHDNQfygTM/OoUaMuXrxEJjgjdDYU7zt48KChoSEfv8CAgfqHz4X1jtmyf8oyyp6FJOTB+zi5uIcOHXro0KH3799T+4jw2/wZ4dvc3Lxz507KQ4ktre1639xA7beM0qdrdxyCezMyMjo7OxcVFX369InaTQQCoctB8Xnr1i0lJSUeXl79ocZrtx/q9bfb/pulFj1as/2giJgkP7/A1KkuWdnZ1D4iEDoHpD94H6Qev4CAutZAb5/Nfdb78mtfwfuU1Qfw8fFbWlomJydT+4jw2/wZ4ZuZmTlu3DgmJmZ5RZUrsVm9ePKy9lhE+r3Fa7aysrEzMDAEBQU1NDRQu4lAIHQtX79+LS4unjBhAj09g4y80oqNu3rlhOLttdpXuVVNpqNt+ASEZGRk5s6dS55mTOg84H2NjY3wPi4uLjFJ6enzl/Wy+Xp/1uB9k6bNEhWXEhIStre3h/eRiyE7hD8jfN3d3cXFxRWU1SD4aPZ037TguGybydP69etnaGgYFhZG7SYCgdC11NfXHz16FJ7IycW9Zf/JpLt1NK7aBy06q8R87ARmFlY5OTlEJzK7GaGTaGhowACD97FzcC5avSXxdg3NUOyDdjO3wnn6PFY2djY2NnROc3MztbMIv0FXC18EzZSUFHV1dW5u7tE2E6Myimh2c9+09JInFyJS4O3sHByLFi26f/8+tb8IBEIXEhoaOnToUKTeKW5zvj0Wta+eZm1rOVVN24+cHWZiycbGrq8/uKmp6evXr9T+IhA6jvT0dHNzc3iftb1TwNXYXOJ9da9zq5uOnL82esIkenr6wYMHFxUVkSe6/T5dLXzfvXs3c+ZMPj6+AQP1V23e3ccvcmi1vJrmlPsP4e3cPLx6enr79+8nh1UIhC6mrKxs5cqVAgICPLx8yLtwSRo/7bMWnVk8f/k6YVFxDg7OwMDAx48fU7uMQOggamtr9+7dS/G+nf7nEgp685Nifsri8irX7TwiIi7Jycm5e/fuiooKapcRfpUuFb5Qvffu3ZOSkuLm5nHy8LwUnUazg/uyobo9cu6aivoAfn6BSZMmlZeXU3uNQCB0Pl++fDl16pSxsTEnN89Iy7EZpU/75jwz37X8muZjlyIsrO369+8/evTolJQUMsMDoQP5+vVrWFjYuHHjGBmZ4H0Raff++HOJ4f45VU3dIQhgGy7HZNpOcYX3IUBdvXqVPM7tN+lS4VtTU4N6pV+/fgrKqn4HA3KryOHe/zFo33EOzoLCItra2sePH6f2GoFA6HyePXvm5OTEw8Mjp6i8+/jFP553u5sl3qnZ6X+Ok4ubgYHhwIED5IE7hA6ksbFx2bJlfPz8PLz88L604sc0w68rDXo3ubA+MqMoJCEvPOVuXF5lRumzP6uAU4senQmLh/ehMFixYkVlZSW14wi/RNcJX5R0N2/elJOTg/Cdu3R1aGIeza4lBjtw5uqQEaacnJzDhw+ndhyBQOh8UJOrqanxCwiNtXOk8UpiFIMUGOfgBOFrbm4eHBxM7TgC4bc5derU0KFDObl4Bg8bSTPqut5upN6d4bVcTlGVh48fWnO4qdX+gOA/PpdwZtkzeB8XN4+BgcGRI0eoHUf4JbpO+Obn5y9ZsoSJiUlWQfFiZEp2ZSPNfiUGSy954jFvCbIviImJefv2LbX7CARC5/Dly5dnz55pamqysrIamY8+cTmKxiuJUSyj7NnFyFQ2Dg5OLq6VK1c2NTVRe5BA+FX++usveJ+VlRUnJ6emjt7BM1dpRl3Xm81kl9G2k9dsPxibU3Yt+fYY28n2zh67jl+gadbFllf9Et4no6DEzsHh7Oz8/Plzag8Sfp4uEr6fP3/29/fX1tZmYmb2XOIbl1dZQK6f+57l177afvisoZEpcrC7u/vTp0+pPUggEDqHFy9e7Nu3j5eXV0Zecf6ytclkCrN/sbya5rTix0NGmPLw8o8ZM+b69evUHiQQfhWUnfA+eXl5cUlpR3fPhNvVNKOuiy2j9KnDVI9vT5NNuYuXuVVNi1dvHT9x6pK129o263qDNoD3jXNwEhYVHzx48Llz56g9SPh5ukj4Pnr0yMvLi4ubW1Rc4nJMRp967vbPWlhS/izvlaxsbLKysrdv3yY3kRB6Op8+fXr58uWDBw9QyL179+6fc7Aj+aHBw4cPGxsbu/jJnPjqsrKyYcOGMTExjXNwPh4USeOPxGhs2frtMvJKiE7e3t7kMZOdzZMnT1JSUk6fPn3o0KETJ07ExMS0vb4ToxduFR0dffToUTS4ePFidnZ2D5rq9evXr69evYL3cXFxGZmP3nPiEs1g63rLKHu269j5CxEprU+T9fbdDOG7bN321jZ/0DbtPaatayAiIjJ58mR4H3mexa/RRcI3KSlpwoQJ3Dy8Q43NaHYkMRrLrW7aezJIVEKqX79+ly5dQuCjdiKB0NNAYmtoaLhz5054ePjZs2eRmJHFa2pqWu9KRuBG5istLUWDwMDA0NDQnJwc6OMuC+j49ri4OHp6eg5OrvU7j9wqrKfxR2I0FpZUYDDChIWVFXqlvr6e2o+ETgDVYFhYmIeHh46OjoqKioaGhp2dHTRu60Umjx8/DgoKsrGxUVVVVVJSMjAwQDWSnJzcU/QQ4gB8H97HxsHhuWR1d3tiRX5tc1xexWjbyQ5TZyAp06z9IxaRdm/8RGdWVjZpaWl4H5n29NfoIuG7e/fugQMHysgrevtsptmRxP5pKDfH2k35dhfg3Ln5+fnUTiQQehpv377dt28ffB+5TUJCgp2dXVBQcNq0aXl5eZQGX758iYqKGj9+PEY7QjkLC8uAAQO2bNnSZQG9vLx8x44d+PaBg4eduhpL44nEvmvucxdLSstBaZ08eZLaj4ROIDg4ePTo0ZC8hw4dqq6uRuloYmKira194cIFSoNjx46Zmprq6+snJibCpxYvXgyJPHLkyPfv3/cI7Qvhfvr0aXifutagHUcCaYbZH7fMsoYZC5bJKiiv3LQ7rehPTjTR1pat36GgrMbLy3vixAnU7dSuJPwMXSR87e3tubm5dfSGXIxMpdmLxP5p8QVVO46eQziQkZG5evUqtRMJhJ7G3r17jYyMbG1t09LSEKMfPHiwfv16AwOD1twcExPj6OiIbB0eHt7c3FxQUDBnzhy8RKlM/YhOJi4uzsrKCr7mvWpTeGohjScS+64dOXfNdNQ4pF5zcwtqPxI6mg8fPjg4OIwdO/bMmTMfP378+vXrp0+f8L+Tk9OCBQvQoKamxtnZ2djYOCIiAoUiasjGxsadO3fKy8ujWY+4Ru7u3bt2dnbwPrc5i4KiM2iG2R+0vJrmK7GZjh6eUrLye05cTCio7g4T+lLsTFi8vZM7CwuLubk5eZTMr9EVwreysnLIkCGcXFwWYyekFj2i2YvE/mnZlY1hSfk8fPxs7Ox+fn4PHz6kdiWB0KOYOHEiZOWuXbso1x0iPaemps6cOVNZWRk5D6kaOhgN5s2bR7lJ+e3bt+fOnbOxsUE6b/mAzoWiJERFReno6U8Fx5Do1E6LzSl3nePNxsYmICDQ0NBArvTtDPLy8oYOHTpr1qy2DzNCLkBxWFhYiP+joqIgfeAsjx49oqyFQ126dAnZFi725s0bysJuC6JBfHy8hIQEvM/v4OnEO93lOoesisb9p4Mnu84yMh+90/9cXF5FTnd65gBU+PINO1lYWfn5+cldQL9Gpwvfv/76Kzg4GHlOQkrGfe5iml1I7N8s+W7dsJEWLKxsHh4e0ArU3iQQehT79+/39/fPzs6mvv7775KSkqVLl8rIyKSlpSE3Ozs7I3kfO3aMuvrvvzMzM728vAQFBV+9eoVETl3aOdTW1q5bt46ZhUVUXDI6qyS3+iWNGxL7ruVUNfn67ZeWVejfv390dDSZ16wzuHjxop6enre3d35+fmBg4LZt2w4fPhwbG4tBS2lw4sQJ1Ifu7u5trwvC7rC2th45cmT3Pwn+5MkT/ARGRkZ439mwhO4jLo9euOEyy2usneOqzXvSih93t2fZIEztD7iioKzWr18/1O3kuNgv0BXCF64rJiamb2i0ae9xml1I7N8sveTJIt/NPLz8CGGIetTeJBB6FMi+zc3NrRM1IBokJia6urqqqqoWFhY+ffp01KhRo0ePRramNAClpaWbNm1iYmIqLy/v7Bke4uPjnZyc2Ng5RlqMTbn/kMYHif3Ajpy/ZjbaBsJ35cqVNTU11A4ldBy7d+/W19d3dHTctWvXuHHjBgwYMGjQIBSKp06damhoQIMdO3aYmJigSqS0pwD/mjRpkoaGxsuXL6mLuiu5ubnQBnR0dPC+a8kFNAPsT1la0WN7Z4+Bg4fZOrqdCo49H34LduVm1s3ccpqWf9AuRKbYTHKB8PX09CR3Af0CXSF8dXV1OTg4bKe4BkWn0+w/Yv9m2ZWNx4MihUTE5OXlN2/eTO1NAqEn8+XLl7Vr12pra1taWn7+/Lm2ttbCwmLixImt97qB6urqnTt3QvgihXf2USt/f38DAwM+AcGl67Zllj2j8UFiP7DQhDzPxb5IvZaWVvfv36d2KKHjQNjX0tISEBDQ09OD9kVxuGTJEihaHR2dy5cvo4GPj4+hoeE/ha+Dg4OMjEz3F74hISFmZmb09PTwvm9T+/9jjHW95de+OhuWoKCshmJYUFhUTEKKYnqGI5Zv3EXT+A9adGbJ6q374X1GRkZxcXHUDiW0m84Vvh8+fEBuw+5hYWFduGpjDnlaW7sNHphV3iCrqMLIyOTq6koe4Ubo6UDpenp6KisrQ+kWFBRgCf4icP8p4YvoNH36dBYWFglp2eisku52QrObW1b58wOng1tiO0tSUlLbs+2En+X169fBwcFnz5490wL+Ly8v37Rpk7y8/Lhx46Kiov5qmaIBf0+cOAGXgd7Fyw0bNgwfPryHCt+PHz9i+1lZWRkYGeF93edJrnF5FdC+xy5FtLWz1xIi0+/TtPyDll35IjguB97Hzs6OYUMusv9ZOlf4NjQ0wIexe9QG6Gw9cKr73BfZIyy/ptnYYgwPH7+1tTVFKBAIPZEvX748efJk2bJlqqqqc+fOvXnzJuXOm8rKSjMzsz8lfHNzc8eMGcPNyzvMxDKr4jl5luRPGeqEM2EJkjLydHR0p06dIneX/w719fUmJibwDpSFAP+HhITs2LFDSUlpxowZFRUV1HZ//w3fcXFxERMTw//79u2DCJ4zZw5lFYW4uDh7e3sDA4Nu/hiLe/fuoexk5+BUUtOE93UfbQAJnlr06Na9B20NS1Dp0bT8g4buiskulZKVZ2Jm3rhxY+tl34R20rnCt6qqasWKFRC+4yc6nwqOodl5xP7T3DwXScnIo75vnbiRQOhZfPjwAWXb+vXrdXR0kKRjYmJevHhBWfX06VMrK6sJEyakpKRQlgCkeT8/Pwjf/Pz8Tj3RAbmmp6cnJavgNncRjd8Ra49djc8xsbJGeF+1atXdu3ep3Ur4eZqamg4ePLhly5bNLeD/O3funD9/XlNTEy5TV1dHbff338nJyR4eHkJCQvg/KCjI1NR06tSprY+DAdevX0cx6eDg8Pr1a+qibklwcLClpaWAkIjN5Gk044pYeyzxTq2J1TgWVjaURmlpadRuJbSPzhW+qOqQ1RAZ5y5dE5qYT7PniP2nrd1+SF1rkJqa2oYNG6h9SiD0HD5+/Aj9itGrpaVlZ2eXk5PT9iDumzdvbG1tR48eHRoaSl3UMrWnj48PBwfHw4cPO/UU3vLlyxUUFLQGDd68/ySN3xFrj0WmF81auBLhfcqUKQkJCdRuJXQQubm5w4cPd3R0TE9Ppyz58uXL1atX7e3ttbW18RLehPQ6ZsyY1qoDYvfYsWNYu27durZquBuyY8cOVMLScoqrNu+lGVfE2mOpRY9me6/i5OIZNWrUlStXqN1KaB+dK3xv3749YsQIRMYVG3dFZRbT7Dli/2lHzoXpGRpJSUnNnj2b2qcEQs8B4nXJkiWo3MzMzB4/fvz58+e//g9Kgzlz5lhYWOzevfvr1694ieVxcXFubm7S0tKUBp3HtGnTxMTEhplYnL2WQON3xNpjCbertx0+g/BuZGQUEhJC7VZCB/HhwwcnJydoX9SNULGoIRsbGynPf6Fc3vD27Vtvb29DQ8Nt27a9f/8e7VFkLliwAOVcYmJiN7/qGmWnvLy8iobW8aBImnFFrD2WUfZs+5GzvPyCurq6R44coXYroX10rvDNzMyUkZFBZNzhf47MFvQLFpZUMNJyLC8vL8p6ap8SCD2HGTNmqKio2NraZmdnV7ehvr6e8uS2S5cuWVtbDx06tLi4GC+fPXvm4+MzYMCAFStWUD+i07CysuLh4TEdNf5a8m0avyPWHksveXIxMhXhXV5B8eSpU9RuJXQcWVlZLi4ufHx8kL++vr4jRoyQlZW1t7dvvabz1q1b7u7ubGxskydP9vT0hOOoq6uj1KSs7c5Mnz5dSEhIU0cvOC6bZlwRa4/lVL64FJUmKCwqLS1NTgj/LJ0rfFNTUzk4OBAZj1643n1u2+xBllb8eLTNRAYGBsq5LQKhp/D169fy8vKBAweysLBAXyopKam1wczMDFL48+fPULoHDx7U09PT0tJydXVFah80aJCbm1vbG3o6icGDB7Oyso6eMCnpbh2N3xFrj+VUNSXcrkF4R5Dfs2cPtVsJHcfbt2/v3Llz8uTJOXPmoIZcsGAB/i8sLPz48SOlwevXrwsKCuBBWOvh4YFyEZVk22uCuy0ODg4YNgP1DRNuV9OMK2Ltsbya5sQ7tSLikih7aGb2IPwnnSh83717FxsbS09Pz8LKGhByM7+WzBb005ZX/dJh6nRWVjYFBQVIBMrpYAKh+4OxWl9fv2HDhvnfY+3atWVlZV++fEGzkpKS06dPI3YvXboUf3fs2JGYmNipV/f+9ddf+HxVVVUmJqYJU6ZlV3aj55H2IMuvfZVd0cjOwcnIyLR+/fru/4zcnsj79+/hRykpKTdv3kxPT6+trW1VvRQgjqurqxMSEtAgLy/v0aNHrdcRdVvgfVZWVvC+wcNHYgjRjCti7bLaVzmVL+SV1ZiYmd3c3Dp7yvNeRicK38ePH4eEhPTr109QSPjcjSTa3fbbllX+PDan7FJUWifNM5JX8zK5sO7H06xg7ZWbWVGZxRiCNKs6ytznLhEQEpGWlr579y6ZLJPQU0D2hRKCur33PbAca1szNJI3hndSUlJubi4y968VeHV1daWlpQ8ePPjP23rw+U1NTTIyMiysbFPcZtN4XNfYjZS7/hduHA+KSLxd03Z5WvHj7YfPnLoam3Sntu3ywOuJgdeT4vIq8H9E+r0DZ66iWavtOXHp7LWE2JyufrgUAqCUrAIzC8uiRYugz6j9S+h7wG3h1DU1Ne2pf+B9RkZGTMwsxhZjaEZU11hwXPahwFD/S+G5VU2tC5HE4/Or4E1B0em3Cutbl2eWNZy9lhgQcjOj5Rk3WHvgdHBb79sfcOViZGrinf9x5K4xPcMRqDwnTpxYWVlJ7VxCO+hE4Xv//v0zZ77d+qCgpAp5SrPDft8wRvcFXJk6Y358QRXNqt83BPTUokeHAkN+cIVGfk1zYkG10/S5m/YeS27jJx1rXis3yMgrSkhIJCYm0tT6BAKhlfPnz2/cuPHEiRP5+fnPnj17/fo1/OW7GhoFZEVFhaSkJB+/oPvcxTQe1zW2bN12TR093SHDj5wLa7v8WnIBYqbBcJPjQZE5bbLyWLsp1vaOyNYITRt2H5WWU+Dg5EJJDOMXFJKUkR9lM3HrwYD0kietb+kCw8bgJ2BLZs6cSWY068tcv37dz89v//79WVlZ8L5Xr159+PDh3ypYqDRDQ0Mubp4xtpNpRlQXWG71S495S2QVlAfqG8YXVGMMU5bfuvcAtSi8z2Hq9DOh8a1PtInJKRs9YZKxxdjorFK8nDpzvqyCEicXN8X7+AQEFZTV7J09Dp4N6fqj11bj7eH+Y8eORbdTO7dHgRCNSgmx+tcOdvwynSh8IdT27t2LYaRnODz4ZhbNDvt9S7xTeywoYsHKDUl3/+fQSIcY8seJy1H0DAwJ/3s8ptXgPLfuPTQbbcPNw+sxf2lniG+KEeFLILSHrVu3KioqIuCwsrKqqKhs2rQpPT29dc7gtiAlw5vExMSQwLx9NtF4XNfYcBPLAQP1jc3HTJjs2nY5RfgCl5kL2j7jnUb46ugN8d26D8vxMvF2zbFLEZbj7HX0DZes8Wt9SxcYEb4ECkeOHNHX18e4ZWRkVFdXX7Fixc2bN58+fUpd/b8kJycPHDhQTEJq6oz5NCOqCywi7d5IizFSMvJI3ys27sqtppaXrcKXhZV11sIVrTn9n8J3nIPTxt3+lLWxOWXbDp8xsRqnrP5thopWGd011tOFb0ZGxr59+xC6KXP+UJd2Pp0ofM+dO+fr69uvX/8xEyYhmtPssN+37MpGqNJrybfxT2Z5Q8r9h8l362GnrsZejEylnBOE5VW/RLPku3VJd2pPh8adD7+FlvktxVxLzqhOK35CObKCl+mlz5Lu1GSVP8dbdhwN7Ne//+WYzNSiR62+QbH4/Kqd/uf0DEfAH3h4+TtV+Pr67R8wUE9UVPTSpUvv37+ndi6BQPhfWoVv//79mZiY+Pj4xMXFdXV1XVxc/P39a2pqWuvGd+/eXblyRVhYWFNHb7XffhqP62zLq2lGINLSNZi5cMWi1VskZeQQhRCmKGspwlfP0EhVU2fWwpUIPpTl/yZ8YXk1LzPLnh29cMPBZbqG9iAEsS7LvvgixEBefoEpU6ZAzVC6l9AHaRW+FO/j5eVFYamtrT1p0qRDhw6VlZW1fRjN5cuXNTQ0FJTV5i5dQzOiusBWbNw5YfK0ya6z4V/augbfntrYsrxV+GoNGjzS0nrhqo2U5T8WvtAGkBBQC1bjHVDGdvGTz5085opLypiamkZGRlI7t0cRFxfn6urKz8+vrKw8b96869evd80zIDtR+B48eNDLywtu4Og+JzytkGaH/b4l3K4+cv7aLO+VibdrIGdXbd47bfZCfJfrnEU2k1w85i05FPjtHCIkLNrYO3vM9Fo+02vFJNdZyDcnLkfnVL7IrmjEqn0BV2Kyvw1ovETFtmDF+kvR6Rcibk2cOh0+4DxjHhbSHFRG+4Nnrs5Z7HMyOEZOUaVThe/a7QfhnMjiqKHj4+NTCQTC95g1a5aEhAR8ti0sLCxIwIMGDbK1tV26dOnx48fT0tIggpGnBQQEBg8z3tLlT6/IrnyBQDTKZuKuY+f3nLikrj1o2+EzacWPKWspwtdr5UYTK2vLcfab956gLP+B8KXYzbyKRb5bRMTEr8bn5FR10e162BiIAD4BQRMTk3379lH3BKHvsWTJElVVVYrTtcLMzCwkJDRw4EAbG5uFCxdCASckJDx9+hTeB6GjrjVo2fodNCOqsw3C1MTS2n3u4t3HL+70Py8gJHw1Liej9NvFu63C19tnk62jm+mo8SeuRGP5j4UvxaAZZngtFxGXzP2/CrZrzGXWAglpWWNj42vXrlGFV48iNjYWNTP6nJ6eXkZGZsSIETNmzMA4KSws7NT7mztR+G7dunXmzJkQvjMWLI/KKKLZYb9vkRlFCP26Q4ZHZRbvPXkZWUFFQ8tlltfyDTsdnD2MLcZMbrltJTKjGG3klVQdps7w3bp/3rK1Rmaj5i9fF5ZUkFH6FKuWrNkampiHlhj9yCgjzEYdDgwLik6fOmM+9geKwtOhcW0vdYclF9ZfS75NmYBQQ1u3c4XvjkNIcqysrIaGhi4uLu4EAuF76OrqcnFxfcu3/4KwsPDQoUM9PDw2bNjg6OjIwcExbKTFjqOBNB7XqZZf05xy/+GAQYMRgq7czEKBPWHKtNETJt/MrShoOUxLEb67jl1AHLN2cLIa7xCRdg/68j+Fb05VE5ZDg/pfisgqb2i7qvMMGzN+0lR8qaysrJWVFXVPEPoeSE+oJCmO9l2wFh7q7Oy8ZcuWqVOnioiI6Ogbrt1xmGZEdarBRyBF5JXVVm7aHZVRfCkqTUFFzWfLPsqRr1bhe+xi+Gq/A2ajbRymTkdFGp1V8p/CNzzt3tJ12xkYGGlODne2TZu9UFJaTl9f//Dhw2U9kICAgLFjx1JGCAUeHh6ME29v7/Pnz2dlZT1+/PjLly9UTdlxdKLwXb9+PfwBwtdzyWoMHZod9vtGI3zH2E7W0TOEeEUshiR1njFPc6BeS7Nvwhc6+OiFG5Q3usxcYOvoumnfiR8IXwx3/4vh2A3/OctgZwvfdTsPI0BQxgRAfzIyMiJn8xMIhDawsbHR09NT/eSHwIlQSeLvcFOrnf7naTyuUy2zvCE0MZ+JmQV+HZKQdz7ilteqDQKCwpdjMimzqrUKXzRbstZPU0cPSTqr4jni24+FL5Zv3neCl1/gwJmQzLKuE742k134BISYmZm5ubmpe4LQ92BnZ2dgYKD413eho6PDIIHfwUkxVNBYz3DEpr3HaUZUp1pq8eNth89IySps3HMsNqfsfHjyaJuJyPhwQ4zkVuF7Jiw+LKlgwYr1EtKyZ68lXL915z+FL/T0io27EFm6WPi6zvGWlJEDqCX8eiAeHh5aWlqUEUKDtLQ0BCTkb0lJyfPnzz99+tSB8/R1ovDFr5o1a1bLEd9lXXDE19Ftjr2zO2UV1OqcRT5Kapotzb4J32mzvVrnZ9h+5OxElxkzvJb3COGL0nPAwG/XTlGA6lVQULC1tfX19V1HIBD+D1NTUyRgqp/8F0jD+Nv1wheRcPGarZSJnJA+x9pNMbb8dsBj9baDlKMDrcI3oaA6KCYDsYWHjx+rLMfZ/dcR3xcbdn074ns8KLKTZnj8p2FjoMihtjU1Nd3c3Kh7gtD3GDt2rLi4+DfX+he4uLg0NDSMjIwEBQWZmJjggNp6Q9ZsO0gzojrVYnPKzUbbSMnIDTexhPdZjbeHH7Gwsu3yPw8x0Fb4ojFksemo8VAIASE323fEdxs9A0MXC1/n6fPEpb49HLe3gmIJgmfNmjU1NTUfPnygisvfphOF76lTp5YvXw7hazNpKmommh32+0YjfF1mLnCZtYCy6p/Ct2XSIuoNH/tOXZ40baab56IeIXwXrtooq6CMjL5x48aRI0fiH1TMKK9lZWW3b99eWFj48uXLNwRCn8fDw0NMTIwSLn8M8u6wYcNYWFgGDjZcv+sojcd1qgVeTxyoP3SM7SSEnTXbDqzedmDZ+u16hkamo8YdD4pAg7bCN7eqCdpXR3+Itb2TiobWj4VvaGI+inlxKdnE2zVddocNNkZ/qBEHFzdUb2ZmJnVPEPoee/fuHTRoEMW/WoFqgRoePXq0ra2tmpoaDw8PIyMjJK+EhAS8T0V9QFfOqZJV8fx8+C12Ti73uYuWb9jR4n37fbbslZCSgXKAY9IIX8gDeB+/oPAk11mqmjo/Fr6nrsZOcZutqaPbepdq19gom4kCQsLy8vLOzs5LeyAODg4qKiqU0fJdICApggexffr06Tdv3uyQyR86UfjeuHFj69at2HQj81EhCbk0O+z3jVb4zvKaNtuLsuqfwney66xWCbtq8x68XLpuO5TuUGOzmV4rLkamYjnE7sJVm4aZWLQVvnF5lQjulDd+1zpb+M5YsExIVExSUvLWrVvJycmHDx+eNGkSogkCh6am5uTJk/fv35+fn98Z18EQCD2I4cOHc3Nzt0TLH4FIigS8ZcsWPj4+JVUN6E4aj+s8Q2b1O3RaSEQMsSUsuQARDAalu2b7QXklVYjg1KJHbYUv3pJcWL/j6DlZBSVuXj7zMTb/Jnwhdpet32FiNW6s3ZScyhc/DlkdaPgiBRV1FlY2b2/v2tpa6p4g9D3azurAycmpo6MzdOhQLS0tUVFRSBbkL8rlDS0u2M/FxQXLpWTlPeYtoRlRnWcR6ffhMmKS0uduJIWn3aN4H8ze2WOEqdX6XUdohC+qx5T7D6fPX4oUz8nN8wPhG55aOG/ZWlSAXivWUyaM6jIzNDbDtllZWUERFvVATpw4gbqIMiooUJQu9UXLKW5hYWEzM7M1a9bExMQ8fPiwQy546EThm56eDpWGTdfWHXw5NpNmh/2+Yci2X/gaDB+5ed+JyPT7F6NSx090xthF7sksb7Cd4mo1zh6rwpIKTofEWYy11R9qDOGLVadD4/rT0e0PuBKdVfKDU4edLXydPOZycnHLyclRnmj1+PHj6OjotWvXWltbY0AICAgg3Hh6ep48ebK4uPg/n1lFIPRWbGxsBAUFKeHyByArw2USEhKQesUlpecuWU3jcZ1nCINzFvvKKalC4ObVUI8M5Va/ROJUVNWYNnvhpeh0GuGLtUl364zMR/PyCxhbjGkVvqqa2tC4a3ccgkE342Mtx9nbTHbZffwi5WO7xrAxgsIiSE6+vr4vX76k7glC3+PUqVPjxo1TVFRUUlJCYlJTU4P2xUu4G8Xv2oLG6urqGDkOU6fTjKjOs1NXY20mTUWKh5xtu3zPiUsoI13neIcm5rUVvjB4X1BMxuBhI5GC2wrfocZm8DWK9/ls3ec+b8koG4cJk13QuMtqTopp6Ogys7BOnTq1sbGRuid6FK2zOrRCEb6UudjNzc3d3d3Xr19/6dIlqORXr1511GW+nSh8S0pKAgMD8UtkFRQph1Q71mKySzftPWY2ejz+OXLumudi39YclnindvGarRiv+J8ifCVl5MZNdN609/j85euGmVgsW7898XZNTuWLtdsPGRqZOXl4+mzZ57Vq4+ChxiZW1scvRyItwQ3wLqw6euE6GlM++Z823MRywYoNnfS4QhSdto6uTExMiCZv375t3esYAUlJSaibEVygfRFcpKSkNm7cmJKSUl9f/4Y8NJ/Q9zhy5MjAgQPhLJQA+m8oKCgsX768pqYGLsPDy+c2x5vG6TrPjgdFoEimzDZDY6jAnWfMO3g2JCL9vrSc4pHz16B3W9fu9D+POAOVcOpqDDLr7uMXDI3NNLQHIbLpGgwfOHioutYga3snv0Onu+y2Nhi2JLeqiYWVlYGBYcuWLZ06/RChmxMVFbVw4cJRo0aZmpoKCQm1PWjXFsgalEkFBQUGBgYcXNzQizSDqvPs8LkwC2tbFI2Z/zvnSXxB1RjbyVNnzD8ZHHMmNB7edyn6fx406+2zacgIk4kuMygPB1iwcv2wkRYa2rrfvG/I8AGDBmvrGkyaNhNFadt3dYFBHsgqKKE/Z8yY0UO9r1X4UvQuFxeXuLi4qqoqRhFq6WvXrlVVVfWwWR0aGhquX7+On8TLxx94PYlmn/2+pdx7cD48GeMYBVxoYj6079Hz1ymr0kufnrgc5bNlL/6nCN9hIy0Xrto00nLsOAcnDNDWyx4QuFf7HRg/carlOPvZi3wuRaVtPXDqRsq3K5Lxsfhw6M5th89EZxZT2v/T1mw76H8xPL3kKc3yDrH00mejJ0zGyNbW1qZ26/8SHx+PQd96VwEq7KVLl2ZmZlJXEwh9hufPn8+aNes/L/M1MzPLzc19/fq1rKwsEzMLMhaN03WeoUQPismI/N6dvuGpd6/EZkZlFmeUPTseFJnQUpa3bYA3XrmZldyihpGAz15LQDOKnboaG5dX2fWPS82rfpla9BhdysHBsWfPHupuIPRJ3r59u3r16v/0PtSlyFaNjY3GxsbIayNMrWgGVefZzdxy6Npb9x7886BsSEIunCs6uzS5sB4OlXKf+tQYimGQX4nNQoPslkddQB609b5zN5ISCqogJNq+pQsMvyKt+ImouBQbG5uXlxd1N/Q02h7x5eXlRXDetGlTampqZz/FrROF719//ZWcnMzAwAAtf/JKdCdc+/IKn0mZLxqDANVP21s68D9lFUX4OkydjqyTXdmIdIJVbYc+mn17mAVWVTXl1zYjmreupaxqu+SfhjZtv7djLSqjyHTUeE5OTgwIarf+L1+/fv3w4UNlZaW/v7+8vDxry9EXQUFBhBV0Pjn0S+j1YPxXVFQgXEpKSrKwsCDaUMLod5GWll65ciXlufBaWlpIw9YOThkt09d3gSGMIMJ8N5i0rPpm+J8mQFGM+saW5fgHbdraP9t3gWWWNVxPvoNelZSU8vc/RtkdhD7LgwcPdu7ciRxE8bXvwsPDM27cuE+fPuEvvBWpOa1zjhn90yhe03qPe1vDKorBv1rafL9B6/+tfgeDCGld1ZUGqX0j5a6wqLioqChKDuo+6GlA4yJ0z5w5MyIi4unTp+/fv4fkpcTnTqUThS/IyMgQERHBcN97Kii95AnNnusaowjfiS4zbv7fQ4x7kF2KShtuYikkJDRx4kRqn/4DFBjI/Q8fPkxISPD19TU0NERwAbq6unPmzLly5Qq56YTQK0H6TE9P37hxo7m5Oao+qFh1dXULCwsjIyNKlv0nEyZMuHHjBuXtaMbBwWFpbUeZvp7Yz1pq0aPToXHoVXUNjbNnz1J6ldBn+fjxY1pa2rRp0yi+9l3ExMSQpCBunJ2deXl5tXQNItPv04wrYu2x7IrGM2HxgkIiCgoKfn5+1H3Q02hqaqqqqiouLm5sbOzso7xt6Vzhm5ubq6mpieG+cc8xyr0aXW/JhfXLN+zcfuRs61Pve5AdC4oYPGyklJTU7NmzqX3672Dc3L17NzAwcNGiRaampmxsbJKSkpaWlitXroT87aQnoBAIXQwqvXfv3mVnZ+/du9fFxQURBvpVWloaqXT//v0hISFY/t273NBs3bp1dXV1lM+BCBYQEBhpOTb4ZhaN3xFrjyXdqd1z4hI6duiwYcHBwZReJfRZ6uvrUf+YmZlR3O27yMnJnTt3Dplo7ty54uLi6lqDLkSk0IwrYu2xzLKGvSeD+ASEdHR0Dh48SN0HhPbRucL3zp07JiYmGO7L1u/47pVtXWB51S+T79a13EbdWRckdJ7tOnZBR99QSUkJ4pXap/8FYgpS+4ULF8aOHauiosLDwwMRYGRkdOzYMdQhkL8dOAs0ofcBTfno0aOysjJU4aWlpQ0NDR8/fqSuawEvsbC8vBwNKisrX7161WUFFSTvy5cvsW0xMTELFiyQkJCg3AwxbNiwhQsX5uXlYWPQrKioyNbW9p/XPGhra1++fLn1PNqMGTNQGQ4ZYXLs0rcJdIn9rN3MLffdug8di1ATGRlJ6VVCHwSOWV1dTZnYgYWFRVhYmJGR8bsXHampqWVlZcEHfX19lZWVlVQ19gdcoRlXxNpj6SVPVvvt5+HlR3I/c+YMdU8Q2kfnCt/79+/b29tjuM9dsjo0MZ9mzxH7T1uz7YD6gIGamprbtm2j9mn7QCRqamo6dOjQyJEjOTk5Kc+pMjc3DwgIQIRC3EEDalMC4f/AqIDYPXHixPz5893c3GbPnh0aGvrgwYPW0YJ/8DI4OBhCEw1QjyGNUeRmZ4OvRs2WnJyMr5aWlqbcBSwvL+/l5YWKjtqohebm5tTUVMrdBRRacm6/ZcuWoRSnNvr779WrVyP1amjrrt1xiMbviLXHItLuecxbgo6dOnVqUlIStVsJfQyKY8KbVFVV4WscHBwuLi4iIt8muaP4XVsGDRqExIR37du3T09PT0pGbvHqLTTjilh7jDLHMCcXt7W1dUhICGVfENpJ5wpf5Mg9e/ZguBsame0jhd3Pm6W1HZ+AkJmZWVxcHLVPf5J3796lp6cvWLCg9b4fJPulS5eWl5d3wSXkhB7Ely9fwsPDMTzU1NQcHR19fX0nT56MqsnJyal1+N27dw9xVkFBwcbGZt26ddra2lJSUsh5nT2H68ePH8PCwoYPH87Dw4MxzMTEhK8ODAxEhKG2+D/QMjMzc9iwYWjGyspKmd0MI5+LiystLa3t6Q782BEjRggIiYy1m0Ljd8TaYxciU5TVB6B7IWJqamqo3UroS7x//x6lsoGBARsbGzMzs5GR0eXLl7G8oaHB2dkZSzA8WkEwQfSgvDExMdHe3p6Lm8dguAnNuCLWHovPr4T3MTIyrVixori4mNKrhHbSucL31atXWVlZGPHComI+W/b2xIsN/pTl175KufdAWW0AKysbIsiTJ0+offqTQN1iL1RWVkZGRrq7u8vLy6MiFxMTQ+W9Zs0aSITm5mZqU0LfBqLQ0tLS1NT08OHDqIvq6urKysrmz58/dOhQVErIcGizaNEiExMThNqSkpL6+nqMHyhgJLCLFy9SPqTDwWZcunRpypQpUORInAICAsbGxlu3bs3Pz3/27BnNZRj4CdeuXcMmoaW0tPTOnTs9PDyEhIQYGRkh5eEFbYu9R48eQdmzsrGpDdCBr/2RW7N7rqUVP9lzMgjRCfEkJiaGMjwIfQqUnefPn0dAwBgQFhb29PREhfz8+XOs+vz5M1ZZWFhQJC8FGRmZBQsWUN4L512yZAkLKyufgBC8jzIFUwdaZlkDPjb1fycmgwJJK36M5TRzBWZVNMbmlAXfzIZllD5rFSqICXgZn191M7fin5bw77P7w/AVlMkHO8Pw6y5GpVK87/jx42T6pp+lc4UvRn9jYyMSDzs7h8e8JRgrNPuP2L9ZduWL0yE3RcQkxMXFV61a9ZvTU//111/wjdTU1CNHjkD+amhoMDAwqKqqTpo0aceOHUlJSV1ztprQbaGMkBEjRvj4+LS9cuDy5ctYCNWIRPXu3TtdXV0HB4erV69S1mJYrl271srKqsMnksT2VFRUXLhwYfHixcisgoKC0LL4otWrV4eEhJSWlv7zfAVEMFZBIouIiKDx3r17oc6jo6OhfXl5eYODg2kOS2Pj4VmSkpKiElInLkfR5EJiP7YbKXcXrtoENTNkyJDbt29jf1G7ldA3uHPnDnIHfBO+hqIUcSMlJaX1MAoKIZSd2trabGxsw4YNY2dnp6OjGzRoELyS0gDa4ODBg/Ly8oxMTPC+Dr/1PPBa4rL1OzyX+KaXPG2tadNLnuw7dXnjHv+2U0kcD4qcv2K9o7vnJJcZk1xmTp25YNuhM+GphS2TpTadCY13neNt5+j2T5u9aFXrh9AYZT5g5xnzaJZ3lMXmlm/aexzeN3DgwMjISOJ9P0vnCl+AXQLf4ObmHj1hUkDITZr9R+zfDC7q7bOZh5d/+PDhp06dovbmbwNxk5mZuWnTJtTiqL+5uLgQs9zc3AIDA+/du4ewRa5/6Jtgv799+3bLli2JiYlPnz6lLv377xs3bowcOXLy5MkPHz6sr69HEUu5jYy6+u+/z58/P2bMmFGjRtEcfP1lPnz48OjRo/T09M2bNxsZGQkLC/Px8SGDOjs7BwUF1dbWfneIIs6kpaVNnDhRtAVbW9sXL14guULsQvtiOX4UXlJb/x+nT582Njbm4eOfs8gno7SL5hPtHQaxMtZuSv/+/RctWlRVVUXtUEJvB44GP0IE8PX1hVdC9aqrq6P6RZnaNgKgeLazs4PnqqqqHjt2zMbGBulm7NixYWFh1BYt1xpZW1vT09PD+2Kyy2gG2G/a5n0nBg8fKSoh6X8xPLOMOlF30p3a2d6rbCa5nA+/hZdZ5c9DE/PtnNxHmI4yHTV+/KSp4ydOHTxs5Cibiet2HI5Iu5dT1XTsUvj4ic5G5qMHDzNWUFZjYWUdMsIUL2GTXWdRPpbG8C2HzobaOrqxsXPQrOoouxyTOcVtDoQvqnqaOxwI7aErhO/69eulpKS0dQ18/fbT7D9i/2bJhXXGFmNY2dinT5+OjE7tzQ4CEaqysnLx4sWUqaCYmJiYmZnnzp1769athoYGKA9SQRIAMhycd9CgQTNnzmxsbIQY5efn37hxY1uhExcXZ29vP2TIkGfPnlEX/SpQtO/evSsrK4MeNTc3h6jCsITwtbKyCggI+MGw/PLlCwTupEmTREREkGuRZfEh1HUtz5Sqrq6mvvhf8ItmzJjBwsqmazA8ubCexgeJ/avVvtq097iy+gDsI1QjCBrUDiX0auCA79+/Rw2MSlJQUBDuqaWltXPnTgSKtr6JlyiH5OTkkPdnzZqFJUg3np6eS5YsaVsz3717d9WqVf3p6OB9IfG5tGPs9wzCV9/QiJ2DE2k0KrOYcvXC/wjf2lfRWSVunouk5RQ37D56M7ccDfJrX12KSjUZNQ66dtXmPW2fuhWeWrhs3TYxCanYnB9pdIjpw4FhoydM4uLmZmFhpVnbUeZ/8caAgfoQvgcPHiSX1/8CnS58QUpKCgQWDy+f7RRXmv1H7LuWV/MyKuM+Gzs7gsKuXbtevHhB7cqOBj5z5MiRESNGwIUARPCoUaNOnTrV2fcqEbo/nz59gufKyMiMGTPmypUrkKSJiYkQvocOHYIIpjb6+++srKypU6fq6+v/m7hsPxUVFcuXL1dTU6OMRh4enjlz5iQkJPz4CjbIZbwR4puBgYGXlxcZt/2Z4NWrV/v27WNgYGRmZolIL+r65472UMssa5i9yIceHcfI+Pr16y6bz47wZ0Emun79ura2NtyTlZXVzc0tNTWVuu7/QIGKQCEqKtp6YT1lORQzhgrCCOUlQEUaEhICt4X3nbwS07HXGkH4jnNwshxnhzS6atMeyrUNbYUvxvCxSxFMzCwHz1xN+t+LcS9GpoyymWhobN5W47ZT+C5bv0PP0Mhh6nSPeUs6SfhmVTRu2O0P7wP379//54kswn/SFcIX49vc3Bzjz9DIDDUWzV4k9k+Df+4PuExHR6eoqBgcHNx5eQXiBiKmqKgI32JmZgZZA+2LMn3IkCEnTpx49OgRSWl9k6amJmQvdXV1ExOTS5cu4eW/Cd/bt2+7u7v/jvBtbm7Oycnx8fGB5BUUFGRjY8MIdHV1zc7Orq+vh+r9weU3WJWcnOzi4sLFxcXJybllyxYM5vZfEI+3h4aGIpH3799/097jlKM+xP7TzoYljLGdjD43NDT8wd4h9CagsdasWaOiosLCwiIrK7t//34sQXKnrm4Bg+Hhw4cjR45EGwsLi/Pnz7de//DXX39hbdvRgv9RNhsYGMD7vH0330i5SzPMfscgfKE+p89fOtNr+YCB+lsPnMoofdpW+EZmFK3aspeVjS3xTk3e/95al1negDfqDzXae/JS68J2Ct+r8TkhCXmwNdsPdpLwvRyT6TJrATMzM9J027kmCe2nK4Qv8PLykpaWVtXUbjuSiP2bhSUVzPJeiap64sSJ/yypOxyUjM+fP4+Jidm4ceOYMWMkJSURtgYPHjxz5kzI3zt37pCask8BCXv69Onx48cPGzYMqauurg6xtVX47t69+/Hjx9SmLQ9bd3R0xGhpfSJa+3n16lVSUtLWrVttbW2VlZUZGRl1dHRmzZqFUZeRkYGU+Z8xPSUlZf78+RixSAOUE6ltDym1B8hrjHP4msNUj8uxmTSeSOy7tn7X0UEGwyQkJNDn1H4k9GqioqI8PT1RCfPw8KBQPHPmTGVl5T+n8kClevLkSbQRFRXdvn37fxbD5eXlixcvhveNsnE4cTmSZpj9jkH4TnKZ4bViQ/DNbIMRJpOmzTp64UZb4RualL9w1UYBQaHMsgaa98KWrPEbYTpq5cZdrUvaKXzTS57kVjUlF9Zv3Hu8k4QvRJSxxRjU+fC+tscgCO2ni4QvMtnQoUPFJaXd5njT7EViNJZf+yrgaqyh8bcHP/r5+SE0UDux86mpqQkODkYkMjU1FRAQQPyiTGV19epVhLn2CBFCTwe56ujRow4ODkOGDDl8+DACK2Wnf/jwAbISo4LmGt/IyMgJEyYMHz68/SH469evr1+/vn379vHjx93c3NTU1Dg4OOTk5GxsbHbu3JmZmfnjaxtaQUm2aNEiFRUVPj4+a2trvGznG9sCve7v7w9fU9XQOnwuLKeKzO3wH5ZT+cJl1gIEc8iga9euUfuR0BuBq1JO/kyaNElMTAxy1sLCYs+ePZC8bY/dUkDNGRMTY2VlBW9Ce5TE/2xDQ0NDQ0hICNrLK6lu2H00u7KRZrD9slGE7yLfb0/H8PbdbGI1bvr8pVdis/6/8E3M81q5QUhELLP8O8J32frtRuajl67b3rqkncKXYrfuPegk4ZtT1bRo9RY5RWV+fv6wsDCaI+6EdtJFwhfJDJ7AycU9UN8wq/w5mTLzB4YCdNuh0/wCQgwMDKizKc+56Upevnx569YtqBBZWVmUlRAl8vLyu3btunfv3vPnzyGAqO0IvQ7oUYjdkSNHouCBHKQubeHLly/Pnj0TFxdfsmRJQUEBdWnLrA4QnYD6+odAQyNSP3z4kHKklpubm5WVFbJVS0sL5dZ3jyF9FyTUFy9eeHt7Qy7jQ7DB2dnZv3ZZDrYHGZqNjY2JiXnlpt3x+VU0/kiMxqIyiw2NTLHjjIyMHj16RO1HQq+DciYwISHB1NSUkZERSsve3r51KsN/Ul5evnbtWqQtZI2IiIj2VMIfP36sra1tefgFi8e8JTHZpTSD7ZetrfC9mVdh7+xuZDZq1abdM71W2EyaCuELIbt8/Q4uHt6U+w/b3sQGy61+6bnYd/CwkVsOnGpd2E2Eb2xO+YTJLvA+ZGdyLeIv00XCF7XgqlWr2NnZWdnYjwdFppc8odmdxFot8HripGkz6OnpFRQU/uwNm0lJSbNnz5aRkUFFDqSlpRcuXAhNTJytV4I8d/ToUexlOzs7VFzUpf/L8OHDHRwcrly5Qn39998QrBYWFj4+PtTXPwQq8/Lly/h8pEbKoBo8ePCOHTsqKiqoLdoH8jGGIkoy5GNU1Pn5+dQVvwSEODI6MzPz4OEjtx0+Q+OPxGjMdY430j+i04oVK6g9SOiN1NXVbd++nRL/oXq3bdvWdrKUfwJHVlRUhFfOmzeP8hiL9oCwA+9D9aupo7ty0/+/tOA3ra3whUF12Dq6ikvJTHadNX6iM4RvWvHjg2eu0jMwBITEpt5/2PpGWHRWqe0UVz3DEdeSb7cu7CbCd+GqjUqqmmJiYq6urtQeJPw8XSR8//rrL5SASHgoB4ebWEWk36PZncQollPZuGDFOvgnFxfXoUOH/uzsCh8+fEDVnpeXt2vXLoQ/FhYW6BVlZeXJkyfHxMSQQ7+9iU+fPj169EhUVFRKSgpScsuWLXvaEBISQrmu9/Tp09C+Y8aMOX/+fElJyaZNmzQ0NKZOnZqRkUH5nO+CSunFixcnT540MjISFxdnY2NDDTxs2DB8bHl5+atXr37qIvLi4uL169djKCKYzJw5Mzk5ufUGml/j/fv3OTk5wsLCbBwcdk7uyHA0XkmMYjlVL27mlouISTIzs7i4uLQ98E/oZcTHx0OPCgkJQciqqaklJSV9dybsVq5fv25paQmvHDBgQE1NTfs9GtoA3qejo4OgMMJsVGhiHs2o+zWjEb5Z5c/3nLg4UN+Qk5vHarw9hG9+7asbKXfHOTjp6A05dDYUOpjSMvlunaP7HGyJ52LfttO8/HHhiw2G92kNGszKymZubv7jkEv4MV0kfMHDhw8PHz7Mw8PDyy+w42hgQkE1zX4lBjt1NcZ8jA0vHx8CQXV1dfvvT+883r59W1lZGRoaumjRIn19fUFBQUiEESNGLF68ODw8HLuV2o7Qk4H6zMrKgorV1dW1srKC9m0LdDDlYE9dXd22bduQEZHkIH9NTExmzZp19erVf7sg5+vXr3hjYGCgh4fHoEGDUM5JSkqOHj0aH4jM+uzZs58d4YWFhZs3b1ZVVaWnp58xY8bNmzd/f7I/bCR+vpOTk5iYmLrWwGXrd9B4JTGKxRdULV6zlZmFFeLmwIED6DRqDxJ6C5Chzc3Nly5dgoMjzsNb7ezsUKC+fPny30704S2NjY0ohL65j7o64sPP3g2CgeTt7S2voCAtqzDL+18fh/ZTRiN8YRHp91du2s3Kxm417pvwxZL0kieB1xJNR483HW0z2W32/OXrF6zcMHrCRGPLsV4rNwbFZLS+F/bHhW92RSO8T1hUXElJydfXl0w5+jt0nfCF26BGoVz5buvodvZaArnSl8ZyKl/MWLBcVkFZTl5+2bJl1I7rHkAcFBQU+Pv7T58+XU9Pj42NTVxc3NbWdvv27RAfkL8/FekI3Q2UN0VFRbv/hdYjvgDS88yZMytWrJg9e/batWux9588eUJZ1RaK5IUm9vHxMTU15eXlFRAQGDly5NKlS4ODg39t7rPS0lIoZlRf7Ozso0aNSkpK6sAprvEbDQ0N+fgFjc2/zXhPohONZZU/PxeerKU7mJGRae7cueSAU+8DVWhFRQW8G6qXhYUF5SXK2uvXr//45B7edfHiRagxERERyN/79+9TV/wMMTEx48aN4+bh0dDWhff9/j2mJy5H+W7dt/v4xdYlEI5hyQXjJ01dtHrL9Vt3vi2sfZVX07z1YIDLzAV2Tu5T3OY4eniOn+i8ZK3fxchUmnmF4/Iq9p26bDvFNelubdvl3zVI6uNBkeZjJtAs/2XDxkRnlcD72Dk4KWdcqR1H+CW6TvgCyKOAgAAmJiYJKZnV2w6kFVFPLhCDIdFGpN3X0jXg5OJCUs/Ozqb2WncCaqa8vPzo0aNGRkYSEhLQH6KiopRnXmB5U1NTdzhETfizIE02NDRARvv5+eno6PDw8HBxcSkoKNjb24eFhbWdCq39oKyCxkWVpaWlhVE3cODA2NjYjr3Y5vXr10jzgoKC4pLS63cfza0mD7P4H0Pe9fXbT0dPD5e/cuVKc3MzteMIvYL379+jUt2/fz98loGBQVZWFiXrfz4O9/Pnz/BoExMT+LixsTHyO3XFT4LCe8OGDWJiYmzsHPC+W/ce0Ay/n7WkO7WRGUVxeZVtF0JPR6Tdg6X/7/PJkwvrL0WnHzwbcigwFLIbErntWoplVTyPz6+8HJPRngdt5Fa/TLpTcyHi23HlDrHE2zV7TwbB+4SEhPbu3duBBX/fpEuFLyV7IQVC+461m3LySjTN3u3Lll35Yrb3KgEhYQVFxbXr1lG7rFuC/YgoeezYMUQ6xLuWm5T6DR8+/Ny5cw8ePKA2IvRV7t+/D4WqqalJGRiQknZ2dhEREdTVvwTG24kTJ0RERPCBgwcPPnv2LHVFh3Ljxg0bGxtmFlYFZbWMkqfkoG9b23/6it6Q4ej/uXPnFhcXU7uM0FsoLCx0d3cXEBCgp6eHo4WEhDx9+pS67t+B6oUzYlRwcnLu2LGj/XMa/pNbt255eHh8u6tbWe1acgHNTAt93M6H3xpu+u1subOzcxdM7d/r6VLhCz5+/IgEJiEhISgs4jJzfnbFc5od3DeNciKDMoWZp6fnnTt3qP3VXYH2pRzYi4yMnD59Ojc3NyMjIzs7+6BBg1asWHH37l1qO0JfIiUlZcaMGSoqKqysrBgPUlJS69aty8rKam5u/p1TAY8ePUJNhRKLjo7O1tb22rVrv3k327+BIX3kyBFxcXE6enpfv/3tuZivj1hoQp7zjHlMzMzw9MrKyo491t5nef78eXx8/PHjxzHqkpKS/jmqS0tLw8LCsDYwMBAytJPOp6GqvHDhgpqaGtwWZeqYMWPKysqw8D+vXkMbFLTy8vIQZEuXLi0oKPjPt/wA/Pzr169LS0vD++YtWxuWlE8zCPusRaTf9/bZhIgK78M4eUvm7v1tulr4fv369cGDBy1PxxUYPGzkocBQmn3cNy0qo3jJGj8GBsYBAwYEBAS8fv2a2l/dG+xNxO7bt28HBwdPnToVMYuHh0dWVtbIyGj79u2Q7z3lhxB+h8bGRkjelStXGhoaQjXy8vKqqqrOmTMHRREy6KtXr34nHVIeqDFw4MD+/fs7ODiEhIQ8e/aMuq6jwXZCpqPyRCLX0Tc8eSU6i1Tmda/zql+u2rxnwEB9fn5+Nzc3OPXv7FACgITNzMycNm3a2LFjx40bN378+KFDh7beQkoBxZ6jo+OoUaNQ7EGMollUVFT7pwlrD5RL13bt2qWtrQ3Vq6mpuWzZMmwYCpv27OK0tDS4ORsbG0RzYmLib97siG8sKSnx9fWF96kNGLj9yNnvPlOtr1leTfOOI4FDRnybStnFxaWqqgp7jdplhF+lq4UvBT8/Pyg8UXFJB2ePlPsPsWtpdnafsrTixygAdPSH0tHRLVq06DcnJe164Ifv3r2Lj49H4Lazs1NRUWFgYNDS0po1a5a/v396enrXP4OD0DVAgyLh7dmzx8nJSU5OjpmZWUdHx9XV9cCBA9jvnz9//k2FhCL5yJEjI0eOpDyYvu09dp0EhEVoaChKOHYOzmmzvCjTHtE4bF+zE5ejzEaPFxQSRtCOiYkh03j/JvCLR48ezZw508jIaN68eXAfSM9Jkybp6elduHABI/Djx4/19fWWlpYQu0uWLIE3IWMiokJlJiUldVTVgaAN5bp27dpBgwYhYmNjtm7dmpOT005d1dDQsG3bNsrpnU2bNn33DtefBdI5IyMD3sfFzW0zaerxSxHkgofA60n2zh5CIqLCwsKofMhUKh3CnxG+d+/enTp1Kg8vr4S0LDRfesmTPptdcquaLkamuHkuYmJilpCQiI6O7rnTlMAnEZd9fHwMDQ3hpa33BUOvVFdXv337lpSqvQNIH+zr8vJyykEpWVlZ7GtJSUkTE5Pt27cXFBS0fxbPH4CvCAwMhOplY2OTl5dHEdU1FVRNTQ3lOJaUjJznYt+ozGIan+07llv9Mj6/ymaSi4iYhJSUFLRaJ11k0qdobm6+desWLy/vqlWrCgsLseT9+/eZmZmQtnCfsrIyjHNUX1xcXLt370bkhNL99OnTokWL0AASuUNOo8G5UlNTMc5lZGTY2dl1dXXPnj1bV1dHXf1fYJOQqqytraF61dTU4DIdNTDw67BVSB9iEpKTXWfdSLlLMyb7lMH7XOd4yyooCQoKogpCJ3dU2dPH+TPCFyCNwdkYGBmV1QdcS76T02am6D5lyXfrZi5cwcvHz8jIuHDhQhT61A7qscA5Hz16NHv27G/XStLR9e/fHxoCPw3VDrk4qXeA2iwlJcXV1RV6F/uXgYFBUVFx/fr1SNgdInkBaiR8xcCBA+EXCgoKvr6+1BWdD0TG48ePlZSUkNQVVTXmL19H47N9x1KLHq3dfoiD89sV/M7Ozr82UxWBhoqKCj8/PwEBgeLi4raHz48dOxYbG/vgwYPa2lrET2VlZbgAZRXkTk5Ojqam5qxZs37/DgqKcw0dOhSSF8EZehofDvFNXd0O4OZTpkzh5+eHm2zdupW6tCPAtsH7jI2NOTk5xaVknKfPoxmTfcfya1/B+yRl5BBgTUxMetyp4O7MHxO+cLMrV658uy6+f//hJlZ9c4aH3Komh6nThUXF+fj4LCwte1M9h/iF8H3kyBEzMzP4LeQRZISlpeWJEyd+585fwp/l2bNn+/btGz58OBMTE/YphK+tre3FixexvAMP50NAJyQkcHFx0dPT47swZjrww9sJ5AWyL36mpLTcgpUbaDy3L1h8ftW2w2cZmZgQoufNm5eVlUWONnUIGRkZ9vb248ePr6urKygouHr16qVLl+7du4eKi9LDJSUlQ4YMmThxYtu7nLEKC8eOHRsaGkpd9EvgS/fu3UvxX8jWFStWwHl/ds9u2LBBWlpaUFBw+vTp7969oy7tONADjo6OCC/cPLzzlq1FAUYzOHu9pdx/eOpqDLwPuwkjIT4+nnhfB/LHhC9FGCGlcXBw8PDxO3p4nr2WQLPve70t9NmkoKzGy8cPRYgSvJeN7A8fPjx69CgzMzMgIGDYsGHY0by8vOrq6jY2NqdPn37y5ElHHR0kdDYoyerr6w8ePGhlZYVk+e35i7y8+B8JOz8/H4mzA+83x8AICgoyMDCA6jU0NDx27FhnX9f7Xd68eYPNGDVqFCsbm6SM3LFLESlF//NA/95tqUWPdxwJ1Bo0GHl3woQJMTEx5OLCjiIpKcnU1BRh0NXVdcyYMUOHDoWi1dPT2717d2VlJRpABMPLZs2aVVRURHkLBahe1JlwOurrnwQBGfXk/PnzFRQUsFvhv8ePH6+oqPgp58WH1NTUUM6H2NnZYWB0RlEKMR0ZGenk5MTExCwuKb3T/1x8/v/MyNu7LaP06ckr0fpDjbCbzM3NL1y4QO6T6Vj+mPAFyKZVVVUzZ87k5uaWV1Kd5b0yMqOIZgT0VksveXIhIkVFQ4uLm8fExOTEiZOdUTd3BxBVnz59evny5aVLl5qZmUlKSnJxcY0YMQIv4c+I7OReme4M8hzS8Llz57y9vQcPHoxsJy0tjWy9Zs2a69evv3jxomOrl5cvX2KofJtMl5kZNRKkNhIzdd33eP/+fXl5eUREBIqrK1euFBQU0EztjuH34MGD6OhoNICQzc7ObmhooK77L1C2HT58GOK7Px2d5Tj70yE3IQdpHLlXWk7li30BV6zG23NycSsqKl69erVDbl0iUIiNjdXU1FRVVYWKXbFixc6dOzdt2gQZipEWGBiIri4sLJSRkUGEbDvJA0B7e3t7hE3q658ByunixYsuLi5QvfDiyZMnwx1qa2t/9mhLXV3d1q1bGRgY1NTU9u3bh6KXuqKjwSdD4iNl9OvXz9hi9L5Tl28V1tMM1F5pOVVNJ4NjHKZOZ2Nnh/cdPXr0155zSfgBf1L4Amjf3Nzc4cOH8/DyDhiov9pvf1+40S2zvOFyTMbUGfNRz6mqqe3ctQspltojvRdETITsWbNmDRo0iI+Pj4ODw8jIaMOGDUlJSTU1NdBP5FRO9wH7ApIRAReScfXq1ShUODk5hYSE9PX1582bFxoa2hkJ782bN1FRUZRrB8XExDA26uvrfzAqED0yMjL27Nnj7u6OdyGpY1PDw8Nbtw01VXFx8cmTJ9EAmd7JyWnlypWQce2fE6q0tHTHjh0SEhLMLCzunovOh99qz3OberoFRWfYTHYREhHFXli+fDk0E/HNDgSDXF5eHgFw165dkLZfv359/fp1cHAwenvu3Lnp6ekU4YuepxG+KAjt7Ox+VvgitKLYo4hIuLCoqCjlBOMv3CTX3NwcGRmJipSFhWXBggVZWVnUFZ0D3P/UqVOSkpJsbGx2jm7HgyK/+0y1XmahifnucxeLiElghGAMVFZWEu/rcP6w8KVw/PhxPT09JiYmBWXVoJj03F59oxtkfXhq4ZI1fvQMDIyMjBs3buxTj0GC5rh586aVlRUPDw8DAwM7O7uamtr27dsfP378/v37rr+Uk/BPsBewLx4+fLhlyxZZWVlmZmbsKYjRSZMmpaWlddKsI/jS27dvIyVDYUMBTJs27T9rIWzh1KlTFRUVR40adfDgQShyOTk5/N96ESRSO34C8rSBgcG+ffugKgYMGGBsbAzlQWnQHqB98UZ6enoeHj7Pxb6xOWW9ePpFRCdoi8lus8UlpVGdjh49Gn1I8m7HEhcXh+IfnkVzJG/YsGHW1tbnz5+H8MVInj17Ns2lDmPGjIH2vXjxIvV1O4BboQ68du0aJC8cWURExNHRkeZj2wmGQU5OjpeXV79+/bB5SUlJHzr/OSbIF1DYXFxcnFzcDlOnR2UU9e7JT+F9nktWKyirQfVqa2vD+8gZ0c6gWwhfcOTIkcGDBzMyMcnKK91IuduLC7ubOeWzvVdx8/AhfPj4+PTZsxgZGRmIaEpKSugHgLi8ePFiLCR+/mdB/ycnJ0NEYo9Qdo2ysrK3tzdyHrVFJ/Du3TuUfxISEqh+MSRWrVrVnisoUDQiaCxZsqR1thDIX+jasWPHUl6eO3cOOnj8+PGth3gvXbo0YcIEQ0NDysv2gHyPMoBSqiH7mo4adykqjcape4flVjXF5pRbjrNn5+BkY2NzcnKiXHJK6FhSU1NRUUDm0szhg5Fpbm5+9OjR8vJyjDd7e3uUgtR1LVf1YLTb2tr+VNmGiAoBjcIVjjxkyJAzZ8788jV1L168WLduHQRZ//79g4OD23/a5HeA9yEUYCiKioqysbHr6A05H56cV/2SZuj2AoOgTyt+Ms7eSUBIhIWFBXGMPBi88+guwvfBgwd79uxpObzEMnSkxb5Tl5ML62hGRi+wq3E5E11mSErL8fDwDjE0rK2t7YKiuXvy5s2burq6mzdv+vr6QloxMzMLCwvr6upOnz79xo0bn/7vBmdC14De/vjxI3rew8Nj0KBBgoKCCL7YL35+fklJScjQnTcVHTJxZmammZkZVC9lWrSqqqr27P2EhITTp09DpreeKLh69aq1tbWJiQnlJUopCN/Vq1e3yui7d+8uX74cCrukpKT99/Tg8+/cuePg4CAmJsbN8+2irH0Bl9OKe9X1vuklT/0vhpuOtuHi5uXk5Jw1a1bXHNLrg9y7d2/RokVwscLCQsogxGhHwQldC7F75coVuBsaqKmptY5tNIBc1tDQmDt3LoZuy8f8B3Cr48ePQ2HjiyB8Z8yYAX+BWm11lp/F398fYp2Xl3fEiBEdOHHhf4LfXlRU5Onp2TLlMIeSquaOo4Hx+VU0A7hHW2Z5Q1B0+qjxE3n5BDg5uezs7CIiIlDqULuA0NF0F+ELt0dO2rRpEwY3Nw/fCFOr1dsO9Kap4zPLnp0PvzV+4lQJKVkRUVFLK6tLQUG/HIN6Dc3NzUgD58+fnz17tpaWFj8/v7i4uIWFxYYNGxCmnz59Sm1H6EyePHkSHx8PxYmeh7YTEhKC9p0zZw72S1lZGUoUartOAOk5Li4O1Q4XFxfqXuz39j//AsMDpWPrkadnz56tXbvW3Nwcn0ZZAhkB4Xv06FHKS4Bfunv3bgyzqKion5LyECgo0hYsWKCuro7i3GCEyfpdR8PT7vWOGxLi8io27T1uPsaGX0AI9ae3tze8j9xI3klg3KJCw4BHvkPWQ3WBrr58+bK0tLSPjw9KrJcvX16/fh07Ai4JcYyKtLGxEZJXV1d37969/zm9BtwH43zr1q1GRkb4ECkpKajG9PR0BFtqi5+nuLh40qRJiAwQ32fPnqUu7SrgfWlpab6+vohL9PT0eoYjlq3fHhyX3Tue65Z4p2bvqaDxE53hfUJCwh4eHteuXWv/PbiEX6C7CF8A9y4vL1+6dKm8vDw3N4+uwbAVG3dF9IrUklxYf+pq7BS3Oaxs7BB2tra2AQEBpJ5rS35+/vbt26FUEFg5ODggv1xcXChPPO4Ld/79KZCDMzIyIA2nTp2KPkfPo/+R4fbs2QMBSm3UaSDlJycno+YRFRXl4+NbtmxZUVHRzx5J+uuvvyAUIiIi9u/fb2pqCudqTcx4OXbs2CtXrlBeAujsU6dO8fLyBgYG/uzNPShTMzMzkX11dHRasq/RsvU7gm9mZ/fk290QXaMyitbuODRkhCkPL5+kpCQKHqgx8qyZzgMyrrq6GiMTRdrq1asxFBHoxo8fb2xsHBYWBnmKBo8fP0YVijaQwqg/jxw5glFHOQxP/ZR/AWUqROrBgweRRlHgDRgwANUafLk9p1C+C94Il/Tz81NUVETyQlXZNRc50ADvu3fvHnKEnp4eIyOj5kA9zyWrL0Sk9PSrImOyS/0OnbawtuXm4YXsnTFjBkLi75QohPbQjYQvwOCG3y5atEhFRYWZhUVcSmbx6q0p9x7k9threpBXMkq/nUMcZ+/Ur18/Tk5OZ2fn6OhociXrP0GfQPfs3bvXwMCAm/vbw6KEhYXHjBkDHfPixQvUCaTTOgr0JPoTvRocHIzkioCL3kafo+chH5E4u+BcBBJqaWkp3AHfDtVrZWUF/fpvuxiNsaqVtptHyYjQ6/gQaWlpqGfUz5QGw4cPhw6OiYmhtKRw6dIlHh6e06dP/9rEtA8ePIB0RpHAxMQkLaswbfbCGyl3e+iDJxFXb917sHLTbkkZORYWVjk5OXd3d+yFLtj7fRxI29zcXGtra1lZWchTuICqqurly5fbTlkdGxuLBhISEhjYAgIClpaWaWlpPy5I4NR37tzZunUrOzs7CwuLtrb2tm3bHj58SF39S1BUOGQ0PnPcuHGoMKkr/gRNTU1BQUEYqKysrKLikuMnTg1Lyof39cSjY/m13y7qXbfzsKa2LnaWiIiIg4PD06dPu+wakr5M9xK+raDGpUzgB6a4zQlNyOuhJzXSS54uXuOnNkCnf8uTXffs2VNbW0v9kYTvQTnAAG1haGjIwcGBAUBHR2dsbIwhQXMvCOGXqaurCwwMRK9iWKKH0c9Dhw49ceIEev6Xjwz9FJBWr1+/NjIygtpGXp8wYQKS6799Nbaqubm5+v+oqalpqw+QmBsaGjIyMpCSp0yZAgEBuUA5UQjha29vf/PmTUpLCr8pfAG2JycnR09Pj42NjZWNXUNr0KWotJ44zdn1W3fcPBe1RNl+6Ktjx46RpNvFoI66ffs21Co06z/H/8ePHzHas7OzUdpRF/072HcQhaNHj6bs0IkTJ0Io//5V2oi68+bNQ2GsoqJy6NAhlJ3UFX+O/Px8+DgnJycTE7OYhNTFyNT0kic0Y7v7W9Ld2hkLlrGxs2NnDRgwAOUK8b4uo5sKX+SkpKQkLy8vZmZmTi7ukRZjdh27kFX+nGbodGfLq3mZeLt6wpRpUrLy7BycyioqZ86cQT4mg/s/QQKA0KmsrIRGcXV1FRAQQH2Pghg6ae3atW3vdCb8LKWlpX5+fqgq0Z/oVV5eXvTw5cuX0dsvX77sGtULFygvL580aRJl5rIFCxbcv3//B37x8OFD+I7s/6Guro6kTl33fweDoRvevHlTUlKCoKGmpgYNh1UmJiZjxozBr6O0BG/fvj158uRvCl98I74O43D+/PkyMjLMLKyyCkrzl6+7EpvVU068RmYU+WzZa2hsxsXDS09PP3fu3Pj4+C4bAIRWMOyhTcF3ex4LUddhsEEBUxd9D5SRL168WLx4sZaWFopYYWFhHx8fKOZ379795g5FwgoODubn52dgYEDc+PHTZLoMdFdRUdH69euVlJSwYfA+97mLT4fG9xSFcDOn3O/QaROrcdw8vAyMjI6OjmFhYdiDxPu6jG4qfEFTU1NGRgYcGLlZUFhkqLH5wlWbzoUn04yhbmj5Nc03c8v3nw62d3IXEZcUEBS0sLA8dvw48jc5h9h+0FdPnjzBGAgICJgwYQLlMlAVFRUbG5sDBw5AKv3sNZp9GaRAaM1Dhw5RrqJGLYH+HD9+PARienr606dPu2xkIpFnZWV5e3sjPWMblixZ8p/HpZ4/fx4XF+fxf3h6eiIHYznGQHFxcdtHaeBztm/fDuG7bNkyvHRwcLC2tobSpawF+KV79+5FIo+Ojv7Ny1ghR3Jzc7ElQ4YMQfZVUFaztLZb5LvlTGhcTlU3PfqLDYvPr1q387DNJBc1TR0+fgHUAMuXL8cuQN6l/jBCjwLD+N69e6geFRUVMbAxGrdu3QrX+P1Ds4gJKIcQMejo6EaPHp2cnIwwQl33p4Gn4zcePnzY2NgY3ictp2BsMXbOYt9jl8IxyLvnlQ95Nc3wPkjeKW6ztXUN+AWEUKWgeEYsQlyi/jBCl9B9hS9AaikrK5s5cybkDr+AAFLLRJcZ+wKu3EgtzCh9SjOquonF5VWcvBK9ZK2f2RgbDk4uUVExW1vb06e/Heul/irCz4AiGDHuxo0bS5cutbKykpeXZ2NjGzhwIATT+fPnb9++TeTvj0H/FBYWXrlyBTWkrq4uExOTlJSUubk5+jMsLOzNmzddee4SezMnJ2fFihWysrKsrKwzZsxAYQM3p67+FzAAHj16lPp/4C13797FcqQ9yFxoYkozgJ+zZcsWCF9fX1+8xCAZO3bs+vXrWw+l3LlzB5pYQkKitLQUEpyy8JeBMkA5gc2ALECv8vLyKaqoo9z1OxgQmpiXVtyNHkKZW9UUnVVy9MJ1b5/NOvqGXNw8qDqGDx8+d+5cFA//uQsI3RNUfRj/cCiUsgAR8sCBA1VVVdTVvwc+Z8OGDRgn3NzcgYGBba8v6g7AqbFJZ86cgfcpKCjw8fFLysiNsZ0M77sck3GrsL4beV/1y/iCqlNXY+F9hkZmAkIiKFH09fVnzZqF4vmXTz0RfpluLXwpPHjwYPny5ZTn3DIwMiqray5e43fuRnLS3bruc08JirnM8oaY7NKtBwNMRo3jFxRmYWFByJgyxRFFM7lF+veBpkGIX7x4saamJg8PDz09PfSNt7f3rVu3njx5Am1Ejqa3BVmBcvEr+gd5EaUCJC8SmJKS0uzZsyMjI9Gf1KZdBSVRQXDLycmxs7PDo6HIf8c1kDaGDBmyatUq/Ex8DiQ+sgjqZIyQoKAgNDh16hSE78SJE+tb5iF++fIl8jcKUQMDAwyYVjX8m3xsee46elVHRwcxio2NXVRc0nOJ7+mQm3F5lZllDTSxoosN6f/WvQdhSflrtx8aYTaKmZmZMnOco6PjxYsXSdLtoWD0NjY2Xrt2zdnZGd6EfQrVi5cdNSEAosfp06dHjhzJwcFBmbi32wZYeB8UAkIBpP+3tCsuOW2215Fz12Jzyv74ATJ4X2rRoxupd3ccDbQaZ//t0k1OTklJSWtr62PHjmFndVQUIvwUPUD4gi9fvuTl5fn6+goLC1Ou3FdS1Zi1cGV42j2acfanLOX+w4CQm7pDhrOwsmHzMLj19PTDwsK6z7mh3gFERm1t7cKFC0VERKB9+/fvDxHs6uqan59PDv22BQOvtLQUHYVkgI6io6MTEhKaN29edXU1NB+1Udfy+fPnOXPmSEtLs7GxDR48uLi4+DcPNqenp5uZmamrq6P+QVEEsWtpaQllDylAOYQJnY0ekJKSgthFg6NHjxoZGaEGaDuzbweCQbh69WoVFRVKjBKXkpnkOutUcAxNrOhKQ97NKm9Ysm6butZAZhYWyi2206ZNQzlEpkzq0cCbNm/erKGhgZEGbTp9+vSnT592oIpCoBg/fjwjI6OCgkJiYmJXnhf6NUpKSvbs2TNgwACK9wmJio2eMOlQYCiNR3SxwfvW7TpiMHwkK9s3YQDvQyyiXNFL3W7Cn6BnCF+AApRyZ/eSJUtkZWVZWFnZODjFJKVneq2ISLv3B6fSTLxds2X/CdNR47h5+BgZmbh5eCZNnowcjDDUgUeVCBTQnwjBr169gmzau3fvyJEjEZpZWVlREU2cOPHixYuNjY3Upn0VFAA3btxwd3cXFxdnZ2dH/xgaGm7atAmyDB6E3uv6MYlvbGhoQG6GCufl5YUwxcb84G62doKYkJaWBq05ZMgQSUlJygzEAQEBDx8+pPzGr1+/Qv0fOnRo2LBhaACJ7OTkdO7cuU46A4PtQedXVFTgGyF/OTg4UQYLiYihHl6y1g8KOKGgmiZ6dJLlVb8MTcjdejDAyWOuoqo6BycXAwOjjIwMJC8KgKamJhSQJDT1UJBWkAfHjRuHUpaFhQU1pL+/f4dPQufq6ooAoqiouGzZsh/fWtdNQDx58+YNal14H/qEh4cHlR4vv+DgYSPnLVt75Py1mOxSGjfpJIP3QZPsOXHRY95SeB8PLx8jExMyFAoJeB85P9kd6DHCFyBSY3Dfv3//8uXL8+fP19bRYWJilpKVH2k5Zvr8pX4HA4KiMzLLn3fBlT05lS/i8ipOXIleuGrjGNvJ6tqD+AWF2NjZ7ezsKM9cwOAmeaVToUT/mJiYbdu2GRsbs7GxiYiI6OvrI15D+kBmQYVQm/YNKPUAXGPWrFnDhw9H0kI9gA6B5I2IiCgvL/+D19uUlJSsX79eQkICuwk7KDo6uqMutEC+RwmEdBIaGoqfmZmZ+eDBg7aS+t27dzU1NQkJCZQG2dnZvzmt6X+CgVdbWxsZGenj4wPBzc3NA90pr6Q6aPBQy3F27p6L1u86euVmZnpJB18BnFPVFJtTdjwocvmGHRMmTxs20kJtwEAxCWlmZhZZWVkPDw/4RV5eHlQvdUMJPRBEtvDw8MmTJ6OG5OfnnzJlyqVLl+rq6qirOwK4TGJiopKSErQjPj83N5e6oieAtAvvQ0DYsmWLpaUlfgInF7eMvJK2roHpqPHO0+et3XHoYmTqtyuAO3SC1Nzql4l3ak+H3Fy+YeekaTONzEdr6uhJysjB+1ByoyA/fPgwolN3vmKkT9GThG8ryJpZWVn79+93dHRETEc2lZCWHTLCdOLUGYtWb919/OK5G0ko77IqOnJyk7ya5rTix1duZh8KDF2z/dDMhSvGTJisqKLOzsEpIiqKDDdv3jxkVgSm3z+URWgn79+/R5g73/LEY0NDQ2hfbm5u6GCoPSgPKOO+IH8heaH24uPj9+zZM2rUKGREQUHBQYMGubm5nThxorKy8s9ebwPNjQ3T1NRkZGS0sbG5fv16X9BeSG/37t07ffq0l5cXfjV+PvYLcrCouKSuwTCkxkW+m7cdPnPqamxYUgEE6617D7IrGtsvhfNqXmaWPUu6WxedWRIcl33wTMia7Qdnei0fZTNRXWsgBycnUr6cnNzQoUMhkvz8/FJSUhCaqBtH6JlUVFSgerG3t0eUg5yaMWMGMk7HPkcNwQQy2t3dHVnVwMDA39//T10Z9TvA+xB2goKClixZAu8bOHAgUgMnF5eAkPDAwYb2Tu7zl6/bvO8EqsTQxLyYnLLkwvqs8oaf8b7mrPLn8NmYrNKr8TlHL1zfsNvfc8lqawcnda1BvHz8XNzcUlJSgwcPhveh5kepT54/2q3okcKXwtu3b4uKipBX9PX1EeKFhIS+ndhlYtLSHYy8smbbgYCrsddu3Y7Pr0q5/zCj9Fl2ZSPGK80I/jeDD+RWN2FwQ+wm3q6Jyiy+HJt58GzI9AXLhhqbi4hJMDExwZEwuNXU1KY4OgacPt12WiVCF/Pw4UOIPBTWCgoKSPmI2mPHjj1w4EBubi4izh85v98F4Ech7RUWFp48eRK/nZ+fn4ODA6WgtbX13r17IXmp7f4cT548wV5AWcjMzKytrR0bG9unrkXBwMPvTU9P37JlC3YQEqG8vDxlBmUWVlYlVY2xdlOQg9fuOLzn5KWTV6IvRKRcic0MSci9lnw7PO1edFbJzdzyuLwKKGOEoBuphWFJ+Ui0QTEZgdcT/S+G7zh6zmfLvpleKwxGmAqLfjvGz8XFJSEhgaBkZWXl7e0N5d0hM1sR/ixQcjU1Nfv27UN5j72MXYxSH3u2w6fjwHANDw/n5OSEtl63bl1xcTF1RQ8EnfbmzRt43+7du6dNm4YopKioKCoqCp0A75OWU7AYazt36Zo12w/tOnYBIvhC+K3LsRkt3lcQnloIj4vN+f/eF55WGJZcAO+7HJNx7kYS2u8+fnG134HZ3quMLcZISsuysLAg/GLXqKiomJiYzJkz5+jRo52xjwi/Tw8Wvq08ePAgNDQUUV5XV5dyYTvoT0fHycU9eNjIRb6b954MQkaJyihKK27v812gkhPv1KAcPB4U4eu3387JXVlNk/rRLc8SExAUNLewgNhCaOj6G+QJ36WhoSEqKgolPgMDA3YTIpG6ujrCd1NTU+87DA/V+6nlzushQ4YgUeH34lcbGxsHBQV19tn89rN9+3YtLS1smIyMTEpKSh/PAYhUkZGRq1evRg0A+dISS/4HlAcCgkIKymp6hkYW1raTXWdB1CI3u3kusnNyG2k5FlW9rIISIhs9PT31Pf8HghKS+qhRo1DzFBUVkaDUa4CAe/v2raurq5CQEHY0aicMIQS0zijmk5KSxo4di28xMzODw1KX9gqQHfDrkA4oVwC3OM3/wMDIyMvHD+8bNHiY6ejxDlM9ZixYDu/zmLdkost08zE2A/UN4X3cvHyMjIzU9/wf8D5eXl6E3z179uTk5JALiro5vUH4wv+/fPny8eNHxPra2tqTJ08iRkDxIIvQ0dMzMjIx4T+IIBZWFlY2PgFBOSUVHX1DEytre2f3mV7L569YP3uRz9QZ88dNdB5qbK6sPkBYVJyDkxtFITMLKxMzCz6AHqmbgQGVovW4cX7btiEioDJGFkf0QVSibgfhT0MZCR8+fMjKypoxY4asrCziEYIU/lm5cmVmZmaPuEujPdy7d2/btm0aGhrfBnmL4rGzswsJCaGMyc7IiD8LtmTZsmXYMDjOyJEj4+PjyXFHyvhEufLu3bvq6mrsLwzLcePGoXSRk5Pj4uKiTFSCHUqHyEXfEnUYGb8ZAyNeUGbnwHq0gW4WERFBlDMyMnJ2dt6/f39aWtrTp0/R7fh8EpR6DS9fvkQxP3ToUIwFNjY27Ou4uLhOuoKrsLBwyZIlCJjIdKmpqb1sqrtW74OP1NfXR0dHr1+/3sbGxtDQUElJCbL1X73vmwP+n/d9c8D+kBOCgoLKysrDhw93dHREKMZOefToUav3dYcITPgBvUH4toLRBmWD8QdZkJycfOHCBaTe0aNH6+vrKygoCAoJIVtg+ELOcnByobYTEhETl5KRlJGXkJL99og1IRFuHl5WNjYMdIhdzm8nDSW1tLRMTE3d3d23b98eERGRn59fU1NDuTue+q2E7gdC9v37969cuYI4PmDAAKhDGRkZlOPe3t6RkZHYdz03MEG+b9y4cezYsYqKikiEYmJiM2fODAwMvH37dve52Obx48cXL16UlpZGuQkHPHfuHJm+hwZEqoaGhvLy8oKCAtRpt27dQu68ceMG+u3o0aM7duzw8fGZN2+em5sbtA6qOAzddevW7dmz59SpU6GhoUjbiYmJUCfZ2dnQK3V1dQhK5O6CXkZFRQX2ONQVNzc3PH3NmjXY453kSh8+fNi5cyeiJb5r7ty5T5486cU5DvK0sbGxqqqK4n0pKSmozJHfg4KC4H27du1avXr1ggULkPfhfR4eHl5eXliC/oH3Xb16FaVIQkIC3gXvu3v3LiRBrzyp2IvpVcK3LXBaZAKogWvXrp09e/bQ4cPIJRs2bIAUnj9/Poby5MmTra2tTUxMjIyMRo4caWVlNWHCBIxyT0/PxYsX+/r6bt68Ze/evSdPnoR+QlqCk5CR3bNAMEKhcuLEiSlTpqA6R00PKYYS/8CBA2lpaZCJPUj+YjBD35w5c2bq1Knq6uoCAgL4LePGjUMsRi7sVvctQYRB6VpYWNDR0eFvQEBAfX09dR3hhyDCvH79GpqjuroauxspGQU8UjJSbF5eXnFxMfoWCRuimRxS6vWgxIXSNTAw4OHhUVBQ2LJlCzRW513BgpGGDIjAoqOjg5DSa06OtR9oBnQvvA9C9v79+xC1rd6Xk5ODJVj+/Pnz9+/fkzMqPZ1eK3z/jXfv3mFkl5aWIqxERkaeP3/+9OnTyNMhISEY4qj/Hjx48OrVK6JxexMIYT4+PhBhcnJynJyc4uLis2bNwq5HIoGMoDbqrkAJlZeXh4eHoxjT1NRkZmbG9g8bNmzBggXR0dHd7eg1ygl409ixY6F6NTQ0Lly40H0uOCYQuj9wZ8gvyKy5c+e2PAebV09Pb/ny5YgDnXQIFt+IlLdw4UJ5eXlESPzTi4/1EgigzwlfQp+lqKho586dWlpa3y7V6t9fUFBwwoQJN27c6LaXZGGrsG35+fnz5s1TUFDo168fNltUVBSZKSUlpRseksEGX7p0ydTUFJvKzs4eFBT08uVL6joCgdAO4NcoyO3s7CiXnBobG585c4a6rnP49OlTVlYWJC8jIyNCIuIkdQWB0EshwpfQh4Aye/fu3enTp4cOHcrNzQ19hlivra0dEBDQsZPA/z6NjY1xcXE2NjbMzMzYTvxVVlbetGnT69evu+eJNorqxUZia9XV1Y8cOUJdQSAQ2seDBw927dolLy8PJ0KA2rp1a2lpKXVd5wC3ffbsGWIgIoylpSVcmLqCQOi9EOFL6FtANT59+vT27dsnT56cMmWKgIAAOzu7goLCuHHjdu/eff/+fWq7P8fjx4+RfmbMmKGpqcnHx4eEZG5uvn379tTU1Pr6+u52bQOFpqamhIQEVVVVVlZWFBX79+/Hr6CuIxAI7SA7O3v27NmKioqQvHJychcvXqyoqOjsp8+g4D969ChioLCwMAIgcVtCX4AIX0JfBPL34cOH8fHxEJTW1taCLQwaNMjDw8Pf3/+PzM38+fPnhoaG4OBgb29vU1NTKSkpLi6uYcOGrVy5MiQkpKysrNvebvLs2bMbN25MmDCBjo7O0NBwz5495eXl1HUEAuGHoI59/fr1zZs3p06dKi0tLSIiYmZmduTIEUSDTpq2rJW3b99GRUUZGRn169fP3d09IyOje55NIhA6FiJ8CX0XRPlXr15du3Zt5syZkJji4uLs7Oyamppr164NDw+Heusa+Yv09uDBg9TU1OPHj1tYWHBycvLz8w8YMMDBwQFLHj9+3J3vsG5ubo6IiEDOpqenl5WV3b17d2efnCUQeg1fvnx59OhRZGSko6MjKyurpKSkvb19QEDA+y551EthYSHqahYWFnwvvLj73+lLIHQIRPgSCN/msIyOjp4xY4aYmBjSAB0dnY6Ozpo1a/Ly8qB9O+/qAnwsMlxdXR0ErpWVFTMzMyMjIw8PD/739/d/+vQptV135fPnz5mZmdOmTWNgYEC/IYnW1NRQ1xEIhB+CwPL8+fPz588bGhr279+fi4tr9uzZt27doq7uZFBv79u3T0NDg42Nbc6cOU+ePKGuIBB6O0T4EghUPn78WFVVtW7dOlFRUQjQfv368fLy2tjYFBQUvH79mtqo44BqfPbsGb5OSUmJcgcbtOPkyZOzsrKam5upjbo36enpxsbGTExM4uLi3t7e1KUEAqEdFBUVodgWEhJC3SgiInL16tWurHVv3LhhYWEB50X8aWhoIFOYEfoORPgSCFT+annyH3JPTk7O+vXrDQwMoES5uLiUlZWRn0JCQjoqLX369AlfsXHjRn19faQ9yowN+IqwsLC6urq3b992/yvtsJH5+fmDBg1C/2hqaq5Zs+bRo0fUdQQC4Yd8+PAhPDx85MiRgoKCAgIC+CcxMfHFixddM388Al1TU5O9vT2+Gs578OBBfG8nndQiELohRPgSCLRA/hYVFQUHB/v6+pqYmED+SktL458FCxYEBgY2/+oDq5FaoGiTk5O3bt06ceJEdXV1fLKSktL06dP9/f0zMzN7yjV2r1+/xtZOnjyZlZVVUVFxxYoVd+/epa4jEAj/DoIAitszZ86YmZmhaIT7eHh4XL9+HT7VZdITMhcBB5FHTEzMzc2tsrKSuoJA6BsQ4UsgfJ8PHz5UV1efPXsWIlVLS4u/BWNjY+SMW7duPXjwoP33nFEOsRQWFoaFhSHTyMvL8/DwQExbWFhs3LgRIrKTnr/fGbx79y4jI2Pp0qVQ7RISEl5eXmlpadR1BALh30FIuXfv3sGDB1FF9+/fH1Fl8eLF8fHxXXOglwKiFpT3iBEjuLm5EX/Onz9PXUEg9BmI8CUQ/oP6+vq9e/daWlqKiIiws7MzMzOPHz/+1KlTJSUlzc3N/3lZwvv3758+fXrz5k2IRRkZGSYmJqhe5Ly5c+dmZWVRG/UQkKGRuZcvX44agI2NzcPD486dO2QKJALhP4HiRMRYtWqVsrIyIyOjmJjYgQMHqqqqqKu7isePH587d65fv358fHzbtm17/vw5dQWB0GcgwpdAaBeNjY0Qry4uLsgZgIGBQUNDY9OmTU1NTT++8iEiIsLGxkZQUJDyRm1t7X379vXQOb/Ky8snT57MxcUF7W5vb9+V52cJhJ4LisOMjIzhw4dzcHCwsrIidOBl18xZ1hYUrvHx8dLS0ghECxcuzM3Npa4gEPoSRPgSCO0CqQuJ6tmzZxCykL8yMjKMjIy8vLzIYWvXrs3OzqZ5xtLjx49DQkJGjx4tKirKxsaGlgYGBjt37qytrX358mVnT03f4SBl1tfXjxw5ko+PT0xMzNHR8dGjR+RYL4HwnyAUnD17VkJCgoWFRVZW1tPT8+7dux8+fOj6ojEpKcnNzQ2BS01NLT09veuVN4HQHSDCl0D4OV68eAGZGxAQMGfOHHV1dSYmJhUVlXHjxm3YsAF5BYq2rKzszJkzSG9Dhw6F3uXm5h41atTmzZujo6MrKyt7olj8+PEjthy/CKoX+dvd3T05OZkc6yUQfgzKxaysrHXr1unr6/fv39/Q0HDr1q25ubl/RHE+efIEUQjKG/r7wIEDePlTLvzq1avq6mpI9vLy8u9ObY7K/8GDB7dv3y4tLf0jsp5AaCdE+BIIv0JTUxNS2q5du6ytreXk5CBwlZWVXVxcDh8+vGzZspEjR4qJiWEhUt2CBQsuX77cQyUvgOotLCz08/MTacHNzS0qKqr9N/YRCH2TN2/e3Lx5c+HChRoaGszMzCYmJocOHYIo/CNxAF8aHBxsZWWFOnzw4ME1NTU/5cL5+fknTpyAgl+xYsXq1atR2JeUlLR9sGVFRQWi3KZNm5YvX75y5cqAgIB79+69ffuWuppA6E4Q4Usg/DqfP3/Ozs6eN2+empoaclv//v2ZmJjwl46Ojp+f38jI6OzZs69fv+65lwR8+fKlvLx827ZtUlJS+IG2trbJyclE9RIIPwBeA1F469YtGxsb1IoogAcOHHjjxo2XL19SW3Q5z549c3Z2xsaoqqqiXKcubQeIXfgt3t7eurq6WlpaiGn6+voKCgo7d+6E9qW0ef/+/f79+83MzFRUVIyNjfFj8S2bN28uKiqiNCAQuhVE+BIIv0ttbe3q1asR9FvuXvsGBwfHqFGjLl26BGVMbdQzaWhoWLRokaioKAS9hoZGTU1NT/9FBEJnA4EbFxcnJiYGr0EBbG9vf+fOHeq6PwSEqaKiIg8Pz5QpU37qOZRonJiYyMrKunTp0tu3b0MHv3v3buzYsZqamkePHkUDqPyCggIoXQcHh8jISDRoamqC4tfT09u0aRPlQwiEbgURvgTCL/L27dv79+/PnTtXTk6OjY0NSY6bm9vS0hIpAf8wMjLy8fENGjQoMDCwJz7V7K+//nrz5o27u7uUlBTy5YgRI8rKyojqJRB+TF5e3rJly3h5eeno6OD+Bw8efPLkyY8nfulUPnz4gMqc8hj2iRMnJiUl/dTVt8+fPz9+/DjCWlpaGuVX4O1BQUFQuitXrnz27Bk+38fHR0tL68SJE5R7dtHg1q1bFhYWkyZNIk/HIHRDiPAlEH6aV69eJScnb9iwAcEdupCFhWXAgAGenp4XL17MzMxMTEzcuXOntbW1kJAQOzu7tra2i4uLv78/VDL1/d0eZLiGhoYlS5bIysqKiIjY2tpGRUWRG1YIhB/w/v37K1euTJs2DZVw//79HRwcIBD/+EmSuro6KFSU5YhRUOE/+6ycjx8/VldXI6w1NTVRliAIbN26VUVFZdOmTaiNUf+PGTMGyvj69euUBgCCGD/fxMQkIiKCuohA6DYQ4UsgtJevLTOapaam7t2719nZWUNDgzIlJ/7ft29fRkZG690eSBVhYWE+Pj6jRo0SEBAQFhYeOnSol5fXmTNnamtroSApzbonUL0VFRWHDh2C6uXl5bWzs7t8+XLrTyMQCDTAZaALT506NX78eAkJCfg7asXIyMjnz5//2VqxsbHx2rVrqqqqKM6XLl2an59PXfFLPH78OC0t7erVq5C59vb2ISEh+OGvX7/W1NR0cnJKSEigtmu5+cHd3X3YsGEnT56kLiIQug1E+BII/w0k78uXL8vKyuLi4tzc3MTExDg4OMTFxQcPHrxx48bCwsJ/6kIkPOTCiIiIyZMnDxgwgJ+fn5OTU0lJCYIyPT39wYMH3fOWZ2x2fX398ePH1dXVGRkZR4wYgTz3UxcFEgh9CtSxcJnQ0FC4DApFaWlpuDzK4z9+egRRC9W4p6dnv379EIIgTH9zGjX8qOXLl1tbW3Nzc69Zs+bu3bv4jQgOMjIys2bNQlijtmth3rx5xsbGBw8epL4mELoNRPgSCP/Nu3fvYmNjPTw8eHh4KLevaWhorFy5sj23LSPZICkiF0L7Ut6rra29YcOGP36/y3f58uWLv7//oEGD6OjoREREbt68+QdvRScQuj81NTVHjhxBZOjfvz9Ur4+PD5ZQ1/1RUI3v2LGDErJOnjz5+PFj6opf5dq1a46Ojvb29ij7bWxswsPDKUd8IXy9vLyys7Op7VpYtGiRhYUFEb6EbggRvgTCv0K5tuHQoUPDhg3j5uaGFgSmpqZXr159+PAhgn47D+rgcz58+FBeXr5r1y4BAQEmJiZ6enphYeFx48bdvn2b5pFvf5DPnz+vWLFCWVmZlZVVRUWlsLCwm1+VQSD8WUJCQuDFcGeIS2tr66SkJLjzHz/WS2H//v36+vpcXFxGRkbteVQklHFwcDDK+1YuXLhAXdcC4hiCHqJEYmLigAED8MOvX79OEb6zZ8/OyMigtmvB09MT30uEL6EbQoQvgfAdEOKrqqrOnTtnb2+vpKSE5CEuLm5lZbVnz56CgoKGhoafncsWuRAauq6uLioqaunSpbq6upycnPz8/Hp6el5eXjdu3Pj94zG/A2Xz1q5dq66uzsfHZ2xsDHH/9u1b9AO1BYFA+D8op/j9/PzgKYKCgqhmZ8yYkZub+/Lly27iMqhabWxseHh4NDQ0EF7ao8Xr6+tPnTqFKNfK4cOHqev+F/xMBwcHc3NzxMM3b94MHDjQ0dGx7TW+0NnTpk0bNmzYmTNnqIsIhG4DEb4EAi33798PDAxctGiRiYkJJK+IiAhywOrVq69du/b7JzGhL/Pz8wMCAhYsWIDEwMDAICsrO2bMmDVr1kRERDQ2Nn75EzMfPX369PLly2pqapDjyOVIeNgS6joCgdAGuHBlZSVUr46ODiTvgAEDFi9enJqa2k0m+4PGxZasWrVKTk5ORkZm7ty57fRlyNm8vDxI1VaysrKampquXLly8uRJyGJquxacnJzMzMx27tyJ8tje3t7U1DQ0NJS6rmVq8wkTJlhYWMTFxVEXEQjdBiJ8CQQqyGcPHjzIyMiABjUwMODn5+fl5UVWmzlzZnBwcF1dHbVdR/Dx48eKiorjx48jeSgqKkJei4qKjh8/HskGuQcytD2nJjuKhoYGaHpLS0t6evqBAwfu378feYu6jkAgtKG5uRkeumvXLjExMW5ubj09vfXr1xcXF1NXdwM+fPhQVFSkrKzMw8MD9RkdHU1d8UtA70I6a2lp3bhxo/UmV+h+c3NzxKvz58/j67Zv3444uXfvXspcaSjdETAhhV1cXKqrqylvIRC6D0T4EgjfLmyA0CwrKzty5AgiOCMjIwMDg5CQkIWFRWhoaOedu/zrr7+ePHmyY8eOoUOHsrOzQ3fie21sbIKCgh4+fPj58+f2nKD8TZClrl+/jhzWv39/Pj4+KO+e+LgNAqELgEump6fPmzeP4q26uroXLlzoVudGEDEeP368YsUKFhYWOTk5CPTfPIMELRsYGIjfi8/Mz8+HzH3//r2vr6+srCwEMRQ2Pv/OnTtqamqOjo4Q2Vj7/PlzBweHIUOGbN68mfopBEJ3gghfAuHvzMzM+fPnKygotEy60A8xHVEeC7vsqoPm5ubY2NhJkyZB+EKAQnlTZn5ADuvsSwYPHjw4ePBgZHF+fv6UlJTWgzoEAqEtUL3bt2/X0tJCiODg4HB1dUWJ2GUhop1AhYeFhSGMAFTUHXXqZvHixdLS0ggRCJIiIiJQ1cuWLSsoKKCu/vvvc+fOGRkZ8fDwUB6MLCYmtn///j973wKB8G8Q4Uvou0BuZmdnz5o1CypTSEiIm5tbTk5u0aJFqampSBhv3rzpggOuFJA+sTFlZWWhoaGOjo4yMjKUeYL19fX9/Pzu3r3bSbMrHD16FKqXk5NTVVUViQqql9zNRiDQ8PHjx7q6Ok9PT6g6dnZ2TU3NjRs3VlVVffr0qctCRHuA88bExIwaNQrF84QJExDHfvYe3H8DPz8uLu7kyZMQ07t378b/1dXVbWcif/78eVZWFuQvGuzZs+fWrVuoCrryei0Cof0Q4Uvoizx9+vTmzZtbtmyxs7OTkJBAMhs4cCAUMCI75XTeH8lnyFtNTU1JSUl79+51cnJSVlZmYGDQ0tJycXHZt28f0lgHTnwGnZ2cnDxkyBDI/UGDBiGRk6fqEwj/hOKSXl5eUlJSPDw8kJUHDhxozwTeXU9xcfHq1auFhYWxncHBwYhy1BUdwZs3b+rr60tKSlCfIxD9s0J+//79kydPsA0VFRX4v1uVBARCW4jwJfQhKAdWc3Nz/f39oSwVFRVZWFhUVVUnTJiwc+fO7OzsbnKI4vnz54mJiWvWrDExMZGUlEQa09DQgC6/ePEi8srr169/M6lQcrm7uzs9Pb26uvqGDRu6ZyInEP4sjx49un79OlyPv4Xx48dfuHChe57Bh9Y8fvz4iBEjODk5ra2tGxoauttlGARCN4EIX0Kf4GvLoyiQxlJSUiZPniwgIMDMzAxBqaamtmPHjvr6+m54Vu7Dhw+FhYVz5szBRrKzs2ODubm5KRcfNzY2/vJh6Y8fP966dQu5vF+/fuiB7du3l5WVUdcRCIQW4FyvXr06d+6cubk5ymMuLq6xY8cWFBR0n8fN0FBeXm5vb8/Kyop6PjY2llxmQCD8G0T4EvoEUIpnz561srJiYGCA4IOINDMzO3r0aMeeDewk7t275+fnN2jQoG933vXrx8vLa2dnd/nyZUh5aoufISoqytbWlvJRx44dI3M4EAg0QPWisJw+fbqQkBDcRFZWdtmyZV0zy8ov4+7uLi4uLicn5+3tTV1EIBC+R18Uvl++fGlqaqqoqMjMzIyIiAgLCwtt4dq1a1ktlJWVUeYjJPR0Pn361NDQsGXLFmNjYwkJCQ4ODhYWlgkTJly9erWkpATDoEecDUQOhnC/f/8+tLuuri4PDw8nJ6eMjIyRkRHG7bNnz9p/R1p8fPyYMWMoD6JbtWoVxjnSOXUdoRtAkVyoRu7evZuUlBQeHk6JTuDmzZuUAFVbW4s21DcQOprXr1/funXL3t6em5ubnZ2dMlstvKzbql4UwDExMQgICAtTp05FZKOuIBAI36M3C1/kBkjYyMjIc+fOHT58eNu2bWvWrFm4cOGMGTOcnZ3t7OxGjx5tYmIC9TCiBWgjaAJga2vr4uIyb948tN+/f/+lS5dSUlKqq6vJyaMeBPY+lGJAQMD06dM1NDSQEqSlpZHDtm/fnpycDDXc4/YmNhh66MaNGxiW5ubmoqKi0PEYt3Pnzj1z5kxRUdGP5e+7d+9yc3PRA0JCQqqqqosXL7537153PoLVu8HOevz4MVQsarBTp07t2rVr/fr1y5Ytw950dXWdPHky9pSlpeXIkSMp0QmYmZlRApSDg4O7uzv24ObNmxHZ8Ald/9CT3kpdXd3p06eRAuAmAgIC2B3Xr19/+PAhdXX3A4UrthkynY2NDSkMY+nXTgQRCH2H3iZ8kcifPHly586dmzdvQg2sWrUKScLU1FRXV1dZWVlCQgICiJGRkYmZmYOLS0BIWExSWlJGXkpGXlJGTkJall9QGMbJxc3M8g2019bWRvpBmlm3bh1iSlRUVHZ2dm1tbduZXAjdBwyAL1++QAUGBwevWLECmQD5QEpKChXO0qVLw8LCnj17Rm3aYykvL79w4cKCBQtQs2E8Iz1DHvn4+EATIwV+V/28evUK2mj+/PnoDTk5OS8vL0gu6jpCVwGxix1RUVFx69YtlNMoxefMmTN27Nhhw4apq6tT5kllZWWlo6dnZWPj4eMXEhUTl5KRkv0WnWAi4hKUAMXKysbAwMDDw4NdicgGKYw9i4ouMDAwOjr69u3bz58/JyL4FyguLt6/fz+qSj4+PgT/efPmZWRkNDc3U1d3S1A+BQUFYYOh1Dds2EAO9xII/0lvEL6Uk4MvX75ECIAmQEZZvHjxiBEjBAQEGRgYOTi5kEL4BYUEhUWFRcXFJKSk5ZXUBgwcMsJ09IRJU9w9XT293Ty9XWcvnDpz/iibiTCsUlHXgiZGe6QZLh5eVjZ2JiaoZWZ9fX2I4CNHjiAgPnjwAF+KBEMOm3UTMAyQ8ktLS9esWaOpqcnOzg5dKCYmNnv2bBRCDQ0N1Ha9gsbGxsjISEheCCb8TMggHR2do0ePQvS/ePGi7fydGKIFBQWrV6+mp6fn4uLy9PRMSUmhriN0MggOnz9/ht59+vQpJG9SUtKOHTtsbGxERES+VdesbAgvfPyCgkIiiDai4pJQurKKKjp6Q0ysrG0muzhNn+s+bzGiE8ze2aMlQDlo6xrIyCuisZCIGL+AUEuhzop6HiWQgYEBqppr167du3cP34jvJbf2/yfYR/AXdNe6desUFBRQHCoqKnp4eHT/C4Hg2omJieNbHrtoaWmZnJxMXUEgEP6d3iB8IXdyc3P37dtna2uL9E9HR0e5cYeRiUlSRm6y66zlG3bsOnb+ZHD0lZtZibdrcqqaCupe/9jQJulu/aWotN3HL85dstpstI20HPWxXhS4ubkNDQ0PHjyICrvb3ufbp0CCz8/PX7VqFSQF0gD2kZSU1LRp03q3yENiDg8Pnzp1qqioKGVkqqioIH/fuXOH2uLvvzFEV65ciXSOtagBCgsLqSsInQ8UVX19/cmTJx0dHSGnUD9TdhOAbB1uYum5ZPWG3UePnL9+MSo1MqMotegRTSz6rmVXNsZkl54NS9h26Iyb5yL9YUYCwiJ09PTUj265H2vKlCkBAQGo90hl/mMgH1EnODs7ozJE1w0fPhz7q0dc+45SCkU+wh1qqISEhG5+cJpA6Cb0YOGLjPLgwQMfH58BAwZA60CJwvmheqXlFUfbTFy2bvup4Jj4/KqU+w/TS55kljdkVzRCzubVNNOkkH+z/JrmnKoXeGNa8ePkwrqbueUhCXkbdvtDSatqarOwsiKH4UslJCSsra0PHTrUUQ+HJPwUlCNq169fd3V1hebj4ODAGNDQ0Ni6dWt2dnZTU1PbY5+9kvfv3zc2NmZlZa1fv15ISAhewMnJqaam5ubmlp6ejuVOTk78/Px8fHwzZsx4/Phxj8jovQCIksOHD1tZWVEeKMDKyopSnIePX9dg+JzFPscuhd9IvZt0tw7hJaP0WVbFc0Sb3OqX+bWvaALR9632VV7Ny+zKF5llDdDKiXdqozKKz15LWLvj0CgbB37Bb8MA38jLyystLT137tz4+HgMEuqWEdrw9OnTY8eOGRgYoLvY2dmXLFkCr+kRV7Ihsm3ZskVBQQH+js0mFQ6B0E56pPBF5r5z5w605sSJEynPIBAUEtHRG2Ln6Aa9e+B08Pnw5Ij0++08dtJOQ0LKqXwRm1N2OTbj8LkwX799U9zmqGsN5OTiFhQU1NLSsrW1PXDgQGFh4atXr6gbSuhknj9/npCQ4OXlNWzYMDExMQEBAewI5ICoqCjIjjdv3lDb9XaQ8F6/fl1aWhocHDxv3jxtbW3IXHFx8ZEjR5qZmeEfKSkpZ2fngoICcuK7s0F0QnWBUDBlyhSMRpQczMzMmjp61vZO85at3Xow4MSV6GvJBSjIc9tx6qn9hpIeFX5Mdum58ORd/ufmL1trNd5BQUWdkZER2tfIyGjBggUXL16sq6ujbiihZaJAX19ffX19+AsCyJ49e/Ly8nrKcVNEOWtra2w5/B0JsddX+ARCR9HDhC8SfHFx8YULFxYuXIgaHQW6hJSM2Wib6fOXbtztfzr0ZsLt6vYf0/1lw1fcKqw/H3Fr9bYDk11n6RmOEBGTYGVl1dPTQ3Y5f/58UVERCUOdyqNHjyB5kaicnJwoR9QGDhzo6up68ODBu3fvtn96r17Gp0+fsrKyoLogc1VVVfv160dHR9e/f38lJaWlS5eSY0KdyocPH6qrqyMiItatW4dQwMvHJywqrj/UGCFi7fZDx4MiI9PvZ5Y30ASTzjBI6oi0e0fOXVu6bpu1g5OCshoXN4+EhISFhYWPjw9lVpM+XgK9f/8enrJ48WK4CQpm7K81a9Y8fPiwR8RtePGLFy9mzZqFkgauDe3eZyMegfAL9Bjhi3j0/PlzCMoNGzZoampycXNz8/DKKao4T58bFJ2RXvKEJvR3mcXlVe44Emjn6KasNoCXj5+JiQmKHBuZm5uL2ETiUcfy+fPn5ubm8vJyypRDYmJiLCwskpKSlpaWEMF37twhRzTB27dvY2NjJ0yYAMnLzMzMwMAgLi6O7rp06VJFRQU6kFzt0LHAzZ89ewaXR901atQodDg3D5+8kqrNZJedR8+lFj+mCRpdZjlVL6Iyi+ctXTNspIWUjDzkL7bN0dExODgYTvT69WvqD+hLQDW+fPkyJydn9uzZHBwcfHx8xsbGO3fu7EET9aC+jYmJkZeX5+TknDRpUnFxMXUFgUBoBz1G+FZXV/v7+2tpabXcudFPWExinINzQMhNmkD/pyyr/HlEWuFk11m8/AL96ehYWVnV1NTOnTtHZj3rWBoaGiIiIiiTlGEYUPr5xIkTEHPkWGYrlFPtgoKC6CJFRUVhYWHI3xa/6Qf5e+PGDdSQ1KaE3wYDDwpy165durq66GcUG/QMDOMnTT15JTrtz0leGrtVWL/7+AXzsROwbRgGGBseHh5JSUnU39CXeP/+/fXr1xFD0A8oA5ycnFAlUtf1EF69emVgYIAYSLkPj7qUQCC0jx4gfFGdr1u3TkdHh4WFhZ6eXlRccs5in4uRqdCaedUvaeL7H7T82uasiudBMelTZ8yXkpGno6PDBo8aNSoyMrLvXGzaeZSXl+/cuROBHmIXw4CXlxcZ6+rVqy9evPhEZpRrA0rEefPmCQkJIS+OHTu2srKyvr4+JCTE0dERA5KRkZGdnX3w4MEbNmzAKtJvv0ldXd2pU6fk5eUpw1JMQmrC5GlBMRkZpc8Qndp7p1rnG7Ykt6op+W5d4PVEbV0DTi5ujAQpKSkXFxcE2L5zngRhxMvLS0ZGhomJiZ+f/+zZs7W1tT3r52ODUdZisMHHDx48iN1HXUEgENpHtxa+Hz9+RF6ZPn26mpoaDw+vhJTshCnTjpwLu5Fy5w9e2/BjSy99GpaUv+3wGXtnD3ZOLgEBAWNj4x07dlRUVFB/FeFn+PDhA8YAVNro0aOVlJT4WoDkDQwMzMvL+6mn9fZ6oGJRBkD1KioqYuChSEhNTX3//j0KA3RUfn7+xYsXbWxsREVFubm5FRQUTExMjh49WlJSgjbUjyD8DFlZWT4+PhoaGszMzHKKypNdZ/kdOh0cl51R+rT7SN62llfzMq348dlrCfOXrR04eCg3Dw8GA7wpKSmpqamJ+qt6KcgmcIeJEyfKysrCO/T19c+fP//w4UNEGGqLnsCbN28iIiIGDRrUr18/eDpGILm4i0D4Wbqv8G1ubs7Ozl61apWwsLCAkLChsflCn02nrsbkVjV1z6TS1pIL6wJCbrrO8ZaWU+Tj49fV1V25cmV6ejoJUu3n1atXt2/fPnv27KJFi1D5cHBwyMjIWFtbr1u3Lj4+HgqPdGZbPn/+3NjYuHPnTihauIylpWVAQACSfesxXVQI6NLw8HB04Pjx49GMgYHB0NAQ6fPEiRPwtW5yXgLbCS3y8uVLyPHvVjWtDTAA/tQRa3RsbGzsggUL1NXVWVjZhowwXbZ+R+D1pOTCeppQ0D0NxfmG3UfH2k0RFhXn5eV1dHQ8c+ZMeXk59ef1LjBInjx5gpGPn4myWVpa2s7ODmMeMaTHnfHIycnx9vZmY2NTUlKKjIwkU9QRCL9ANxW+TU1NycnJy5Yt4wa8fEZmo/0O/T/2zgMeyzbs//bee0ZGVkYkJZFSijLKKNFCQ0mlvdBCU6WolBElUdl7yx4R2ZsQ2dJ+/0fd19u/936ep6ee3Lcb5/dzfHy4zss9zus8j+N3XNc5/MZ2eTJCW1FTf0pJwya7vfKzVFnZ2Lm5ubdu3VpRUQHyYsJ5W2IClQOqor6+Htz6oUOH1NTUqKmpBQQE5syZAzojMjISjRv5KyABX7169eTJk2nTpoGOWbx48a1bt/7pPm5PT098fPz+/fuhbqFZQhBVUFBwcHCIjo5ubm5++/bteN1Eh2/R2tpaWFgYFxcXEhICDaCkpKSrq+v7VDxoG/AnpEO4E9LS0mpqaoi8+BRUDrRA3L1DQSGhr+vyzltw8VZQTs1rPA9A4pZd1en/NNlk3WYePgFaWjotLa2rV682NTVh33OyAI0HWnVwcPCqVavIyclB9W7atCkiImIiPuWAZO/y5cvQWxkZGR0dHTs6OrACBALxO5Co8E1ISDA3N8fto7Nwqf69iLT8+l48xz0hrLCh7+y1u/M0F8MXAWxtbSFsj5ewmBCA6gUNt3fvXnFxcSoqKtymRDt37iwqKkKS958YHBwMCwuTlJSENqasrAxh/l/jOpxQW1sL6o2Hhwf+C7fhrbOzc1VV1Xg9/B0aGnJ3d4cMh4aGBq47fCpQY/fu3evt7cWdACImMDBQV1cXN4cMkuLt27cTeWe+kZGRsrIyJSUlaJZ09PTgnfyekMoU29+14ubB3JrX66x3cHJ9bQMSEhLHjh3DvudkARrPuXPn5OXl4QuCP3FxcZm4ayCkp6cbGxvjBmdDivjhwwesAIFA/A6kJXy/fNuF6+TJk7gQzsPHb7vrAEnNYPtvFpPz8sjZywyMjBCt58+fHxAQgB7T/xXQtfHx8Rs3bgRFAVcf0h7QcBCo0PDon/P27dszZ84ICQlBjUlLS+fn5//W3SyQv5cuXVJXV4c6B5iZmQ0NDR88eEB8+btt2zYZGRn4CUkO5D+gaJcsWQI62MnJCXfC7du3FyxYoKenl5ycDN8R/pw1a5aBgcGzZ89wJxCahoYGqCtcqiAoLHrw5IWk4nq8zj4R7UZg+MIl+qCoIKMwMTFpaWmZBMk5+NiCgoKFCxeysLCAS4GmlZqaOnG3l+/r69PX14fuCSIeWj52FIFA/D4kJHxxz6QOHTokLi4OGlFBZc5+Z3eQjKQ/ovdfLa+uJ+pZ+VHXKyxsXwFf7OHhMXFd8NgCIRaqIjAwECQvKF1eXl4KCgoNDY1z586lpaVBk5iIDyWJBlSdq6vr7NmzoV1BaE9ISIAA+VuqBaq3ra0NtKOnpyfoSIisnJycEFxNTU1DQkLevHlDBA2EG98CHd/CwuLp06dDQ0NwZGBgwMfHR0dHx8zMDHfT18jIaMWKFdeuXcN9x46Ojr179y5btuz48eO41yEoWVlZO3fuxC3goKiiduFmUGxuZcHEfBKFZxnlrd73I02tbOCrcXFxbd26Fb4sXBHsm09AXr9+DQ0JsiboF5ATQrtKSkrq7++foIIePvb58+clJCQEBASsra3RIAcE4k8gFeELca68vPz06dMzZsxgZmHR1Fl+zPVKRGYpnoOeuFbQ0BuXV2Wza7+4lAw3D4+mpuadO3fGcXYOKQBfv729PT4+3snJSVtbm4+PD4IuaDh7e/tHjx7V1dWh3OAnQCwEzXr16lWI7lB18+bNA+U6PDz830L7u2+rZwQFBYGU1NLSgvgKigFEJySijx8/bmhoIKhiwAlfkJX379+H98KOftuUdfk3oJ10dnbOnDlz06ZNqampWPH//M/du3cNDAxADWN/Ewb4eAUFBba2tmJiYuycXPO0dNyv+6WVNhNhk0iiWUZ5262H0WbrbRkYv84ihT4IaedElInwmSsqKqAvQEZERUUFKZyjoyOo3om7pDr0zcbGRhUVFUhKoak/efIEK0AgEP8JUhG+ra2tEMJlZGRoaGg1Fy877x2YVDQZniHiWWxupfXO/ZLSM9k5OECplJSUTM1xq6AkOjo6srOzb9y4sWbNGnZ2dk5OTpA1ZmZmHh4eaH3ZfwXqp7e3F8K5nJwcKysraN9z586NyYpUtbW1vr6+oC+VlJRYWFjg0ujp6V24cCEjIwM66fd5ZmMLfB3Igl68eAGt4nu2AwdB1y5evNjExKSrq6uoqAgE2YEDB6qrq3EnAKCMzc3NlZWVCfdYALcY3O7du78mZjx82rorXa/d/Tr+auI/icKz7KrOh/E5C3VXsLCxi4tLODg4vHz5EquFCQJoRHCqp0+fxk2KVVRUdHFxmdDTKqAXQNbn7e1NRkY2bdo06Ind3d1YGQKB+E+QhPCFaOrv779o0SJwVULTRINjs7Oru/Cc8qSxhIKaHfuOc/Pyk5OTb968uby8fEqN94UI9P79e5BoAQEBS5YsAdFGRUXFwMCwdOnSO3fu/Hi3D/ETIMBnZmbOnTsXWpGgoOD58+fHdjM2EKAhISHz588H4Qu9EhQwiEsvLy84DhKTCDIC4v3g4KCVlRUomIMHD4L6TElJgcB/5syZzs5O7KT/+Z+0tDQ4R1ZWFkQ5IT4VfAzQGREREdBKqalp9IzNbz+MwevRk8kKG/vD00tmzVFnZGKWkJDYt28ftDSoBKw6SBj4kOBI6+rqoD0ICAjQ0tLCz6CgoO8zIyco0PIh55SRkaGgoNiyZUt2djZWgEAg/iskIXyfPHkCIZacgkJYVCzgaUphQx+eO55kFpdXdcztKgMjIyTxW7dunVK+rLGx8caNGxBTQU7B1+fk5AT5GxUVNaEHFBIZCPAPHz7U0tKCCuTj4wsNDSXccp5JSUmWlpb8/PzwXgBcuFOnTpWVlWHFhAFEzNu3b01MTEDTHzhwANQMNI+nT58KCQm5urr+eMcLJ3xBFkC7IoTwhQzt0aNHXFxc8N0Nzax8wxLw+vKktIex2Uv0jWhoaTk4OJydnYeGhrDqIGEGBgYgFYTuQENDA9masbFxcXExVjaRgS9lbW0N+a20tHReXh6BHrkgEFOKcRa+kM6Wl5eD6mVmZpZTVD5y5jLJbno0hlZQ3xuV9eLgyfOUVFSg/BwcHEpLS7Eambzk5+e7uLgsWrQI1AzufoyNjQ2oivr6eghaE+KuEikAqtfb2xuqkY2NjYeHB3KGrq4uwj00ANEDmjImJmbfvn3CwsL09PSgLdTU1Ozs7FJSUgjxvuATQFjv3r0b1PaZM2eeP38OqhcOggSHD0BM4fvu3buAgAB1dXVI0lTU5t8Njc+umrRPon603Jpur6CIFSYW1DQ0vLy8wcHBJD6b6uXLl+7u7lJSUlRUVHJycidPnnzx4sUkmCEA1Q4+Ezff9969e9DTkZ9EIP6c8RS+EMyam5ttbW0hhItJStnuOgByEM8FT1bLq/26zoOOnhEbByd4aicnpzEZoEmCDA8PV1RUXLhwwczMTFZWlouLC+QLiBVQb9nZ2a9fv8bOQ/wbEPNA2929e1dHR4ebm3vGjBlnz57t7e0l9E0geF9onCUlJf7+/tbW1tLS0uzs7NOmTdPT0zt//nxWVtYYjrIYGRnB7YimoqJy6NCh74PgwVdAaxEREXF2dm5tbcWdDCQnJ1tYWMycOfPNmzdjqwmgqp88ebJ69WpOLi5efsELN4PSy1rwevEkttTS5ou37i9cuoKMjGzp0qWxsbGkORsBkpPExERHR0clJSVQh4sXL75+/Xp5efnkeIIEYhe+EXQ3DQ2NtrY29FgMgRgTxk34QpRqaWnx8fHhADi512zc6vt4oq4D/5/tqu+j2fMWsLFzzJ07F6LsJMvmBwYGIAKFhISAgpGUlGRmZhYVFYUgeuDAgfT0dJA4k+z7EhqosYKCggULFkCPkZKS2rNnD/QgrIwofPr0CdTnqVOnDA0NZWRk6OjoQHxD4gq9ODc398/n3IyOjoLqtbOzgzC/cePGmpqa71PW4K2rq6vFxcVB4kAehTsIhIeHm5qazps3D5QxdmiMAM1taWkJSZqgsCh4p9zanuJJtIbDr1hiYZ2bpx+foDA9A8Pu3bvz8/NJqsNCZgJaPCoqCpoKNAxQh/Pnzw8MDOzo6JgcjqWhoWHdunX8/PxycnKg5rGjCATijxk34Ts0NBQWFqaiokJJSTl/4ZJbwdGTaW2gX7ddh1ykZBVAymhra/f29hLumTXRgKgDKqSnpycjIwNkCm5aBgsLi6ysrIODQ1JSErpv8R949+4dZBE2NjbU1NS8vLx79+4drw2o4OI+f/7c1dVVSUmJlZX164RUISEzMzPI3OCi/8nUt5cvX5qYmCgrK2/btu3H27oANCpQOfCOGzZsSExMxCkbeCMvLy8DAwNzc3PcaWMCvCzkGNBWQfWyc3ItNzSLy6vG67ZTxFJKGk0srRmZvi5w5uzsDKksVkfjDfjJvr6+vLw8iCDQCMF/6ujoREdHY8UTHGje8AWvXLkC+S0nJ6eFhQXp1DwCMQkYN+H74MEDcFWgegWFRULic/Nqe/B87hSxzPL2bXuOsHNw0tDQnD59msTH0v0KkNIUFxcbGRlBNCL7thcuCDX4aiBlJoGsHy/S09Mh/kF9MjExQURsamrCCsYJUIegcd3d3WfNmoXbaY+cnBwuekRERFdXF3bSbwIOQVpaGprKP83V27Fjh5aW1tGjR3Frsr5+/Xrt2rWQMY7tRlbd3d1+fn7QbikoKY3WrH+UmIfXZ6eOFTUNZJS3ySrMoqdnAIl59epVrI7GG3Amd+7c4eLiglYnICBw8ODB+vp6rGziA7klBAI+Pj4qKipIBaHvYwUIBGIsGB/hW1lZaWVlBSGcT1D4xr0n2VWdk35C2z8ZhJaH8dmbdzpSUlFxc3PHx8cPDg5i1TTRAMUTGhq6YcMGQUFBhm8sXLjwwoULL1686OvrQ/OR/zOPHj0CTQn9BRLFoKCglpYWUqjML1++9Pf319TUBAQEmJubs7CwwBWHJGfx4sXnz59vbm7GzvsFhoeHCwoKmJmZQW6ys7OLiIhM/wFoUe3t7XBaeXn5pk2bZGRkli5dumfPnjlz5igqKh47duw/S+2/8v79++zsbHFxcVBUq9dt8nkUl1//Bq/PTikDB3Xj3lNltflwcefOnVtRUfGf7+iPFeAkN2/eDC0NugMkQuBzOjs7J5N7gQ4OOR4NDY2SktLNmze/D/hBIBBjwvgIX4iLELH4BIRWW2xOL2uZmoMcvtuzyg4ILbPnLYBYu2XLltzcXKyaJgifPn0CAeTv779t2zYNDQ0hISFw2bq6uqdPn46OjsatRYWdivh9EhMTzczM+L6xa9cuUpvjAoIDVGlmZuatW7fgonNxcXFwcMjLy4MUvn37NsjiX5lcPzIyUlZWtnXrVtu/w8PDA3cPGE5LTU0F77Fz505HR0cQB15eXiUlJWMoekBbOzk5QQOeITPz4q37U2pC2z9ZWmnzdsdjEtJyuDE27969wyqLuECiBRLw7t27q1atmjZtGjQzY2Pj2NhYSHvGXYuPIa9fvw4LCxMVFaWnp4ek7sWLF1gBAoEYI4gtfMFDtba2Llu2jJube858rWt+YXhOdmpaXF7V4dOXqGloJCQkrl279ufzhIgDKLDm5uakpKTLly8vXLgQRA8we/bsDRs2BAcHNzU1jVeMnBxA9ULYW79+PeQSIiIimzZtKioqIs0YD8nP4OAgXPQ9e/bo6OhMnz4dwra6uvqhQ4dCQkIqKip+ftfqw4cPIF+y/wH49+8NCX5pbGxMTk6OiIhIT0/v6OgYw/EzIKyDgoLmzptHTkGxxeHg1Flk5l/N93Gi8ZoNzCws4KCgTeKGmhAT6AuQX927d09LS4uHh0dcXBz6BbSBSfYcCRpzRkYG9HQyMjJNTU1wrcSvagRi0kNs4Qv+KyAgQFhYmJuXb53NjmeVnXgedmpaQUNvQkHNtOniNDS0FhYWENdx03dIFnDQb968KSsru3nz5sqVK2lpaVlYWECcGRgYeHp6/ri3FuK/AQqvrq7u8OHDjIyMkCVu3rw5JycHKyNh+vr6oqOjd+zYIS0tzcrKSkNDo6qqevz48dzcXGgV0P1JuWFXV1fv3buXjp6elZ0jNCk/p/o1Xj+dspZb0+184YawqDgIMjc3t4aGBmJeR8ia6uvrQfWKiYkxMDDAz127dk2O/SnwgPTP3d2dl5cX8sbbt2/jRvggEIixhdjCd2hoSElJCXq1jr6RZ8BjPPc6lQ2076FTF3n5BUHl2NnZkfK90s+fP4O+OX/+PGgauJQQC4E1a9bExsaO7ca5U5ny8vKjR4/i6nbfvn3Pnz/HCiYCw8PD8Pk3btzIxcVFQUFBSUnJycm5e/fuqqoqUt5WwMPDQ0VFhY2D08B0HfRHvB46xe1xSuF2x68NUlBQMD4+npi3WktKSqALgOSFd5eSkvL19Z2s63/DV9PS0oJcd+7cuRArSfz2BwIxQSGq8O3o6AgKCqKiogJ5d9ztak71lNgG6RetuHnwWWWH9tIVbOwc8+bNe/LkCVZrpMSHb7tqnTlzRkxMjImJCS6lqKgo6JvU1NT+/n4Sv583gSgoKNi1axcu0h8+fBjqfGI90oVmgBv8UFpaCq1FTU0N5C/kSLy8vJs2bYqMjISgjp1KMrx8+XLZsmW0tLSy8rMis8qm7HTbf7LCxv6QhFwZhVnQ66Fx5uXlYRVHSKDZ37x5c8GCBdB4wOGYmppCQgVp1WQa1PsdSG719fXhm8rKymZmZo7hGB4EAvEjxBO+4Kpyc3OXL18Osdx4zQb/J0nFzVN6TttfDWLtkTOXZyrNFhAQ2LBhA1ZxpAF44ZSUFCcnJ3DNUlJS1NTU0tLSW7duDQgIKCkpAdWLJO9YUVxcbG9vP336dBYWFmtra9COEOmxsonG27dv6+rqYmJiTp8+DfIXgrqgoOD8+fNtbGyCg4NJauFqSDDExcVFxSQ373Ccsqsr/tySixt2Hz1N/W21AR8fH4KqT5C83d3dLi4uqqqq7OzskpKSoLYLCwuhRU1KVwMdAb6gqKgofNO9e/cij4pAEA7iCd/29nYvLy8uLi52Dk73637JxfV4XhUZWFhSgYGpJRs7u4yMDCiGD2O9H9XvAs4XXDBI29u3b69btw4kLwQh8M6mpqaXL1/Ozs5GYxvGEAj2NTU1EPZmzJgByc/q1aszMjLeT/w1MUCs1NfX371719bWdvbs2dzc3JycnLq6uu7u7gkJCS0tLeMrf6GXNTY2fh3kwM6+eLmhT0gsXq9EhrPc2u7QxHxefkF2Dg5QaYRbOhe3Fvi5c+dwI8XnzZt34sSJCbfcza8zOjoK305WVhb6hZmZWVpaGlaAQCAIAJGEL+in+Pj4NWvWUFJRzV+oE5lZip4k/q0VNfY7HncVFZdkYWGBPAFEJ1aD48Hg4CCI76ioqAMHDggJCTEzM+Nu1+FuvYy7KJ9kQH2+evUKtCAPDw8bG5uhoSHUPFY2WWhoaLhy5YqBgYGEhAQ0Jw4ODhMTk5s3b0Jm1dXVNV63uKCXQV4Hn4dfaNrOA05oTtvPTUtnORv7150mg4KCsBocU+ByPHv27PDhw3x8fIyMjOrq6jdu3IDMBCuedEDW19raam9vz8DAoKCgcO3aNeRaEQiCQiTh+/79e2dnZ3Z2dnp6hss+wVkvX+E5U2TfzSck1sB0HTU19dy5c/E2biUyaWlp1tbWIHbJviEjI+Pk5DQpJ1OTAh0dHQ8ePKCioiInJ1+2bNnDhw+xgklHe3t7SEjIwoULoZFDuwJxo6Ki4unpOV5jxEFUKSkpQc0bmVvdeRSH1x+R4dnZqz6S39b03bx5M1aDY0psbKyRkREdHR1ckdmzZ+fk5EzcoT6/wsDAQFJSEnxf6PgQJWtra7ECBAJBGIgkfIuKitauXcvIxKSgrDrFt6v4V8uvf3Puhj8LGzsFBQXEgL6+PqwSiUVPT090dPScOXNYWFgoKSmZ4KopKPj4+HR2dn748AGNPCMEDQ0N7u7urKysIATXr1//7NmzSTl9Bwc0Ifh20Jbi4uLWrFkjICAAIR9UDmRWp06dKikpIebIhzdv3jx9+hQ+ADcPn8edh4UNfXj9ERme5de9WbpyNQMjk7Ky8hhOcYNWMTo6unv3bsi0wfWJiIjY29u/fft2EncEHPHx8ZqamtDxTU1NoT6Rg0UgCA2RhO/du3c1NDQEhEU2btuN50aR4Vlx86BvWIKG9lJwhSdOnHj58iVWiYSnrq7Oz89v48aNioqKzMzM7Ozsy5Ytu3jxIuiwV69eoQdwBKK2tvb48eMg+xgZGVetWpWdnT0wMICVjQegP3p7e38yeht3wp/Pv4EXKS8vDw4OBokjLi6OW6JVR0fn4MGD6enp2EkEprKy0tnZGfqaps7ygPCUEjQE698MHJTDkVNSsgrTp093c3PD6vHPAIFbWFjo4OAgLCxMR0enra199erV6urqSa8Cof0fPnwYPC0kvTExMWjKBAJBBIgkfMGjiYqKysxUunjrPp4bRfZXi8gstT/kAsF48eLFSUlJWCUSDFC0uOfse/bs0dLSEhAQYGJiAsl75MiRJ0+e1NfXT/qbLuMFxPX29nYQXkpKSpycnPPnz4+NjR2vvZrgwzQ3N9+7d+/UqVP79+/ft2/fhQsXIOfBbReMA36PiooCuQOlBw4cgIQWVPsfTr+D18zPz/fy8jI2Ngbhy8HBISEhYWZm5u3tDcd/fHdCkJKSsmLFCuhr9gedIjPL8Hoisr817/uROnpGINd0dXX/3Dm8fv06PDx8y5YtECNYWFhMTU0h/SbczDnSAeT+9evX586dy8zMbGlpObbbECIQiH+CGMJ3cHAQ/CP07Xmai9EuoL9imRXttx/G0NDScnNzg7YgnBJ69+4dCC8QNzdv3pw3bx5EMpBf8vLyIEHCwsIgICFHTDigbgcGBnx8fCQlJdnY2ED1XrlyBSsjOiBfhoeHr127BgkPtIQF31BWVt65c2dqaipu2V045/Hjx1ZWVurq6hoaGhCwNTU1b9y4UVNTg3uRPyQhIQH0NCR7uB2PxcXFd+3ahdvxmECzPCHlCwwMnDZtGiUl5c0HkRnlbXg9EdnfWkJB7cbtexgZmbh5eLq7u//kWdCrV68ePny4atUqnPMBzwOpfm9vL1Y8qSkuLjYxMYG+P3PmTPjWk2D9FgRiQkAM4VtUVKSoqMjCwmpoZonnQJH9kyWXNPALClNSUR06dKi6uhqryrHjy5cvHz9+bG5u9vLyAolDRkYGsR9iz8qVK/39/cd3NYmpANQ/JIT5+fm8vLw0NDQqKiqXLl0ax10qRkdHoZkxMTEZGhqGhoZCzgMZkZOTExcX1+7du0tLS+EDQwI2a9YsbW1t0MdQWlVVBSJVVVXV09MTSrEX+jMgGQA14OLiIiEhgZvnJyQktH79ehDfoK5AeY/VG+Ho6elxd3enoKBgYmZOKqpDS838uh0568ErIAgXCNKV/zYPAeeCbt26JScnB84HWtry5ctxEwmwMyY10Jj37NkjJiYmLCy8ZcsW7CgCgSA8BBe+4N1Onz49bdo0+Vmqh05fwvOeyP7JnlV22O46wMLKrq+vD0IEq80x4v3797W1tdu2bRMVFYWoD9DR0e3du/f58+cggLCTEIQElCUkGKB6IeXQ0dGJjIwc35vrTU1Nrq6uIHxzc3N//CTQ/FasWOHj44O7Oc3JyXn79u3vQ5BBEKurq4MwLSsrwx0ZE3C3nz08PEBnMzIyQhVRU1MvXLjw0aNHr169wk4aC3BrLDIxs+ivWoOWmvktuxsab2hmCcIX8qKGhgasQn8ZkLyVlZUbN24E5wPXF1qRt7f3OCZ+RObdu3dxcXECAgK0tLRWVlZtbW1YAQKBIDzEEL5LlixhY2PTMzbzDUvA857I/snyans8fIK5ePjk5OQuXryI1eYfMzQ0lJ2d7eTkpKqqCqqLnp5eRkZmx44d4IWbm5tHRkZAc2CnIghGR0cHXFMlJSUIe3PmzIHK7+3tHdt7mb8LbvFUkLagyH/8JCB8ly1bBqIEjtvb28vLy/+o0aHBGBgYwDkhISG4I2MFtEOopeLi4hs3bhgaGjIzM7OwsEhISJiamsKH+Q9K62/x9PRUUVHh5OY56nolt6Ybrw8i+4lFZr3Yc/QMaNYFCzR/N+2BxgYNBloOFxcXAwPD5s2bw8PDx3EhZyID3QeULiRy4H6XLl0aFBSEBjkgEMSEsMIXMniI6CCwvnq3HY5JRXV43hPZP1lhY3/UsxdCItM5ODh37979h54RIsrbt2+TkpLOnj0L0gHENA0NjbKysq2t7c2bN/Py8ib3SpkkxeDg4PXr17W0tNjZ2aWkpAIDA3t6esY95H/48OHNmzcQj78/aIbOW1VVNWvWLHNzc9Alr169AqWyePFivG2l1q9fD5nt1atXsb/HFJAIkI/FxsaeOXNGV1eXg4ODj49v7ty5W7Zs8fX1bWxs/JMHFKDaHRwcuLl5hEXFQ+JzCxvRQma/YVkV7Re8AympqKACMzIyfv1mbX19PbSW5cuXQ1wA4Xvw4MGUlJTu7m6seAoAvezu3buQyAkKCrq5uY1VFodAIH4RwgrfoaGhgoICMjIyHj6BI2cuodDyG9Y8WFDfq6Ayh56Bcc2aNe3t7Vid/iafP3+G3KOsrOzhw4dWVlbTp09nZmaGn0uXLr148WJRURHoMOxUBIGBawFCLTQ0FFQvRH0FBYWjR4/CERK8yw46pqurC+QmSHMnJydQwLh7VKtXr87OzsZO+sbOnTuXLVvm6uqK/U0AcPlzcHCwtbU1qF7QvvT09Gpqau7u7vHx8SCkIKnDTv0dqqurjYyMGBmZlNXm59Z0owG+v2VFTf13wxK4ePjAvYNv+ZXpaLgRVnDVIOWGHAaalo2NDci+KTW8CtpqYmIi6H5ycnJTU1PIGdBDNgSCyBBW+IJcu3HjBnjGeZqLrtwNwXOdyP7VVpqs4+blX7JkSUpKClanv8yXL1/evXv3+vXrpKQkOzs7VlZWGhoaJiYmRUVFR0fHmpqa8R1UOtWAyzEyMgIKcsaMGXAVpKWljxw5Qpo32qFhQLOJi4sDdb5ixYrk5GQ4iBO+kDvl5+fjTsOxf/9+Q0NDggrf70Ai/ejRo7Vr18IHA+1LTU2toaEBQgryOiiCj427cQ4/QUwMDAz8/DYkyDV1dXU+QWFTK1u8fofsVywkIXfuAm1w76dOnYKGjVXr3wFXBFRvU1OTi4sLJN50dHQzZ848ePDgFJxEC3na6dOnoelCPURGRhJ6tT4EAvFXCCt8X758aW5uDp5xy+5DoUn5PzpNZL9iB1zOS8kpABcuXMDq9NeASDM6OhoQELB8+XLcfmAAqIS7d++O7zbIUxbQuImJiaB34UJISUl5eXn9t/uURABiM6hJLi4uULogaHCDH/5J+O7evVtfX584whcH1FtlZSW8LycnJyUlJQUFBTc398aNG+vq6nD3DuFnY2Ojjo5OXl7eT8YIHT58WFJSUlFF7czVO3j9DtmvWEzOy627D0N7NjMz+/ly43BFoqKili79uikPsGbNmvj4eKxsKgG52blz58TFxRkZGfft2zelBnggEKQDYYVvaWnp4sWLwdPtd3KPzq7A85vI/tU87jxUUZs/ffp0BwcHrE7/jc+fP4NGCQ4OBpkrLCzMxMTEw8OzaNEiPz+/6urqvr6+KbJaEEnx7t07uCIgHGloaOBq+vv7t7e3425PkhqpqakgImfNmmVpaQkKGD457nO+evVq5cqVoF3w9lTbvHmzrq4uMVcgxt0+7OzszMrKOnjwoJKSEtQqZHeysrI7d+6MiYkpLCzcunUraIslS5aEhITAV8D+8/+yYcMGAQEB9YVL7qJJt//JUkoa3Tz9wL1raWk9fvwYq9a/AE395MmTKioqzMzMDAwMkMM/f/58ak4qCA8PX758OQsLi7y8PORmyBUjEOMCYYUvRKCZM2eCZzzlcTvleSOe30T2rxYUlaGhvRSUq7m5OVanP6W8vPzu3bvbtm0D1QsxBuL6ihUrzp49Gx8fD8IFjW0YF0B4PXjwwMjIiJubm4+P79atW6QZ8yBlSkpKWrt27bJlyxwdHUFW/jj6ELeqg6KiYmxsLHbo21czNDTU09N7+PAhdoiIjIyMlJWVQd0eOnRIXV2djo4OkgoQu1DVoqKi4HbY2dnh4wUFBf2t9gUdz8HBsWiZwZOUIrx+h+xXLLPile/jRKhnGRlZyOWwav0BaORwgXCLgUDjh1jg7u5eU1NDss86CAdkaz09PZBSCgoKysjIuLq6QuWQZuqLQEx6CCt8s7Ozeb+tVHrlbkh2VRee30T2rxafX7NE34iRkVFLSwur078D4npzc3NkZOThw4dB8nJxcbGxscG/7NmzJywsrKmpCTsPQVwgsH38+DE6OhrkFyQhuK3I+vr6fn0KPNF4//59W1ublZXVvHnzDh48mJeXhxX8LwMDA5BTCQsLe3t7f39EW1BQMH/+fEtLS0hxcUeID8hf0FKQTqxatUpOTg7ELiUlJfgcHJycnJD7QdeAOsfTGQsWLGBiYlpmaJpUVI/X75D9iuXV9kQ/K4dK5uLi9vT0xKr1f4F2Dv5/7969IHkhddfW1ga119nZOTXnckHzCw4OlpKSgqqA/vLy5UusAIFAEB0CCl9wcOnp6bS0tBQUFD4hMYWN/Xh+E9m/Wn79GwPTdRDIpaWl//YeIegV3KINIEdkZWWZvyEmJqarqxsbG4vbaRYxXkBCUl9fr6mpycHBAZLR2tr69evXWBmJAR8MciRoaaB9nzx50vADra2t/f390Pyqq6tBu2/evDkqKgoUTEdHx/79+5WVlZ2dnUlhbZDKykpI/HCPmH6ElZUVssHa2trR0dHv2he8k4KCAg0NjYGZJams4Ns8WNw0UNQ0YfwkfNq82m4qKipKKioQtd8fKEHdQoNJSUmBBk9OTv51EXc9PX9//yl4oxcH1ExPT4+WlhYLC8vChQshgcQKEAjEeEBA4QsZf3R0NAQeFlbWexGpeE4T2S+apa09Cyv79OnTIXL/daxCaWnp8ePHQfLiYryQkNDWrVuTkpJI8J7iVAPCP1yyZcuWgTJgZ2ffs2cPKd96Ly4uXr58Oa4V4SElJeXm5oY77cyZM3JycpKSkgYGBvDVQCjb29vjTXcbR4KDg7/PoPoR+JygfaGz4LJHkL+QE0KfoqGlM9+wBa/HjZcVNPRmvWxPnVBDwoqbB4VFxWhp6fbt2/d9Uz3Igi5evKioqAg1D43/6NGjFRUVuKKpCdTMnTt3oDYgB7h06RJaQRKBGF8IKHxramoCAwOht4uKiT+IycTzmH9uSUV1l24/MFtvm1RMkCeVWS9fnfMKyKvrwTsOllHedvNB1HJjcxExCQkpWf1Va9yv+xPolrb9Qadp08WFhYUzMjK+3/R9+/YtRPG1a9fOmDGDhYWFgYGBl5fX2dm5oKCgu7v7b0c0IogJqN6UlBRTU1M6Ojpubu7Lly/X1dWR8hjr9vZ2f39/+Jx/xc/PD9oV7jSI2dAOr1+/fujQoSNHjkRERLS0tPxk5QRiAp9TXV2dnp7+q9T9C7S0tIsWLXry5An0DrgQDQ0N06ZNY+fk2my3F6/HEdkKG/pCk/LBj8nMVOLm5eflF5SUkduy+1BYckFR0wDunBv3nugZmSkoq/5oi5atdDzhmvq86ftLEd9A+M6ao87IxAz5dnl5OTT7qqoqMzMz8FeMjIxiYmKQinR1df3t06opAvjq6OhoqApohPv374cMEw3tRSDGFwIK35ycHC8vL+jt4KND4nPwPOafW8aLVv+nyUfOemSUt+IV/bnl1nY/iH0mP0v1b1/cM+CxqZXtChML12t3nS/csNhsZ2plc8X3Ed5pY2IOh0+KiksKCQmlpqaCwnj9+nViYuKJEyeWLl3Kx8cHqldJSWnHjh2PHj2qrq4eHh5GXnXcgfAfFRW1YcMGQUFBNja2ixcvvnz5ksSzkdHRUZCwuLENeOCGOmDnfdtvtrGxsays7MWLFz09PaSjaSDNgPSPnJz8m9D9G9jZ2Y2MjIKCgkC+5+XlwdURmia684ATXo8jpmVXd4Uk5Gov1TcyX29/0Nnlotdpj9t7jp3R1FluabPTKygCd5qbp++c+Vp6xuZO52/g7PDpS6aW1kv0jcf384PwnTN/IRML65YtW9LS0pKTk42Njfm/sWLFisDAwM7OTlLO94hAdna2nZ0dbunipKSkgYEBrACBQIwTBBS+ERERZ8+ehXijtUTvcUohnsf8c8uu6nyaWnz93hP45VllR3JxQ2JhLdj96EyIJfALbrRcQUNfbG5lfH51cknDg5is4Nhn6WUthQ1f95Arbh6AIvgzv+4N7s/Miva4vCp4wcSiutNXfODD+z9JSi1tKqjvxb3ptxfsPXr2yqJlBmeu+BR+fTr5yvmC10rTdVZbdn0/Zwxtv7O7lKw8BJKQkBCQvJcvX16zZs2MGTOoqalnz569fv36K1eu5ObmTuV7KqQGKICNGzeKiIhwc3Nv2rSpqakJ3YMnAosWLYI045vE/Ue4uLhA+wYHBz99+hTyRuhZB1zO4/U4YlpkZtne42elZypA/hye/jyvruerv8p5ud3x6FzNxTb2B8CPwWlnrtxWVde023csrawFZwkFNWev3lluaCanqPLjCxLZQPhqL13Bysahr6/v7OxsYWFBS0srJiYGfgn81RTcnwKP7u7u8+fPy8jI0NPTnzp1qqOjAytAIBDjBwGFr4+Pz4EDB8jJyY3XbojIKMXzmH9uIFJB4572uAW/PE0r8fQPg0hwzuvejv0nwM7d8I/JeYk77bTH7ZOXvK/4PnI4csr+oDOcGZtTWdTYDxIW/j0gPAWkLZwJfz6Mz3G77heZVRaWXGDrcBAipeMJV5DLWS/bv79vTvVrt+u+dvuPwy+4I7ceRq/f6rBE3/j7OWNoTuc8lWbPZWdn37dv36pVqwQEBGhoaOBPCQmJkydPguQFZ9qLIA16enoaGhosLS0FBQVZWFg0NDRABEPww4oRhMTc3By3hszPgb6jrq4OOTkHB4fyHHWXi154PY6YBq5jtromeA+cC/puKSWNy43MdPSNIbGHP0H4qs1fCBL5/5/TPPgwLnuT3V5Obp7/f5DoBsLXwHQdBxe3qKiorKwsBQUFtPwdO3Y8e/YMTTP48uVLfHy8oaEhqF4pKanm5mYSGRSEQExxCCh8L1y4YGdnB8IXvHMMAXavAF17zPXK7HkLYnMrPe6ELDM05eUXmqU6b/MORzWNhfLKquu/3YKNyamEczi4eNS1dPY7u6/ZuFVcSnbnAaf0F6051V1QtO+E65PUrwt5gpAFfayps/zGvacPYjLXbNgKYXLjtt0+j+LSy1q+v+9f7fQVH/1Vawl0xxcnfOGTQFCBn5SUlNOnTzc1Nb1y5Yqvr68fgpS4fv360qVL6ejoqKmp1dTUXFxcsAIE4TExMfkV4QvgOhEVFdWCxcsu3AzC63HEtPPegexc3LcfxuTWYFn0d9tz7IyesbndvmPw+1+FL+TtkNsvWm4w7nd8ccIXahVcPTMzs7e3N9qGF8fo6OiaNWsg0ZoxY8bFixexowgEYrwhoPCFqL9p0ybwhnb7jsflVeF5zD83POG7YvVaFbX5meXtubXdIfG5ljY7ZyrN/nbaV+G7ZIWx3+PE/Lo3UGptvx/kr+u1uz8RvpkV7dfvPQFvHp9fXdjYD/79+/vi2YWbgQuX6i9atpIQd7XBnC94Kc9R/xavMUABg64CdUWPIDHgooCcwl0mUFe0tLRYAYLwQKf4yQBfPHCXSX3hEvcbAXg9jph2ziuAnZMrKutFQcP/H0yFMzdPP+M1G0wsreF3EL5ScgpcPLwSUrI4ExYVExGTXGZg4v8k6cf/IrKBYzReu4GTiweaura2Nm4eAppmgMPZ2RnyKz4+Pltb25GREewoAoEYbwgofM+ePQsdHkLR1t2HQJviecw/Nzzha7bedsVqC5xCTSio3eJwCELFt9O+Ct911nagZXH/eMrjlvmGrfYHnH4ifJ9Vdtx8EAWh8ScbzhU1DZz3vrdYz9DUyubS7fsEWg30xDlPxdlqoKhUVFTMzc0tECSJpqamoKAgNBho8Orq6sbGxlgBglgoKSkxMzN/VbX/BqSOrKys8FNDeyl0YbweR0z7Knw5uMLTS36cRYAz8EWGZpYWm+3gdxC+CipzFi5dsd/ZfZ+Tm5bOclFxyVUWG72DIr67tXEx8LcrTSw4OLmhzXt6evb19WHef2ozOjpaX18vLS3NyMgIriAmJgYlAwgE6UBA4Xvt2jUHBwfQARabt0c9e4HnMf/c8ISvpc1OULe4IlCr2/cenSEr/+20r8J38w5HXBHY10XQNmyx3rkPJ3z3HDsdllwAx39d+IK7TylpvHI3ZLmx+ZqN2y7eup9c0oB3zljZAZfzoOA5OTmdnZ3BgSYhSA8PD4/ly5dzc3MzMTGtWrXK19c3OjoaK0MQi18c6kBDQ8PPz29oaAiiRE1j4dlrd/B6HDENEmY+ASGvoPDvEwa+265DJ5cbmtofdIbfQfiCpwKXFZn1IjKz7LxXwBJ9YyPz9a6evn9VzMQ08IQLl+qzsrFD4pGRkYG5/qkNaNyWlhY3NzdKSkpZWdnLly+T7LY1CMTUhIDC9/79+ydOnCAjIwf3/TStBM9j/rnhCd/1Wx02bHPAFf1V+FrZ2mdXY3smn7p8y9TKxm7f19lpcxdo2+079vDbamvZVZ0HT15YsFj3R+GbVFSPu4v8o6WVNl8PeLx05SoIP3dD47NevsI7YQxtx/4TwiJiwsLCz549Q0s3kBqfP39ub28/efKkvLw8GxubpqZmamoqWsNhXFizZs2/Cl9qampxcXFLS0sfHx9IVORnqR53u4rX44hp4GRU1OZb2+/HDan6fjyxsM54zYZlhqaQpcOffx3je+KcJ6TougYmj1O+Pq0aLwPfqKiixsjEvH37drQNL47BwcG4uDg5OTk6Ojp7e/vc3FysAIFAkAYEFL5JSUmXLl2CYDNvgXZYUj6ex/xz+y3hq79qTUhCLq7Ueuc+E8vNpz1u5da81tEzsrTZ6f8kGY5nlLeZWFrP1Vz0o/CNzq7ArX32o131faRnbK40Z17q86a/lo6tbdy+h4OL+592bkOML6Ojox4eHnx8fBQUFNra2jExMVgBgujIysrS/8PuFd8BZQwSrbW1FfITAQGB6RIz9hw9jdfjiGkRGaW7Dp/k5Oa9+SDyx0ELR85cVlCes3bTNsix4c+/Cl9wUFscDskpKG/cvvv7QeIbCN+/7tw2xSkoKHBwcIDGJioqihv0jBUgEAjSgIDC98WLF76+vtD/JaVlg2Of4XnMP7ffEr4srGzKc9T3HjtraGYpp6jieMINwkxBfa/Tueui4pILFumus94BWlZCSlZZTR2EL/zj07RiGlo6da3F573v/TiSITq73Gy9LQMDI5ysqq6JM23dFTb2B76fM4YGWpyGllZCQmJoaAgNFCMp6uvrz549i5tQtWHDBvSod3xxcXGRlJT8yfw2ERGR69ev9/b2fvz4sbKyUlhYmJuHz3YXQbrtr1vWy1fgu3j5BVTVF5hv2LJ+yy7wVJw8vA5HTkVmleHO+avwBYNMfpPdXkYm5oCnKX8dKUEcA+HLzMJKSUkJlf/27VvsSkxhuru7nZycGBgYoL1FRET09PRgBQgEgmQgoPBtb28PCwuD/s/Dyx8YmY7nMf/cMsrb7kWknnC/Br88Tim85h/mGfAYV5Rd1XXzQdTBb0vT44Tv/IVLDp++BLFk1yEXjzsPo56V49ZqSCqqc7notfPACfuDzsfdrsIrOF/0Ck9/jnv9Y65XbXYd8L4f+eNI37i86nM3/CFe7th/3OHwSZwdcDlPiHWRcmt7VppYUFNTy8vLo9u9JAWoXg8PD3FxcWjh69ati42NRcv1jy9NTU3Hjx+HnvJV5P5fQA1PmzbNx8enoaEBVO/nz5+7urpAB4NqtLTZidfpiGzgiKKyXkB27XjCddveI9v2HAEfBd4s+ll5bi02XzY49hmk6HfDEr7/Fxh4uaCoDHBcdx7Fwe8/FhHHipsH8mq7KSmpaOnozp07B7WKXYkpzO3btzU1NdnZ2RcuXAgiGC1mjECQIAQUviMjIwkJCRQUFHT09H6Pk0Bl4vnNP7SC+t600ubIrDL4JaviFW7bNlxRYUNfcnFDePrXgcU44Wtkvv5BTJb/02QIFWllLT8Op4vLq4Ii0NBP0oqzXr6Kzq54VtmBe5H4/Bo4Hptb+eMNFSiNya4IScj50cKSC+Afv58zVpZS0qi7cjU9Pf38+fOxakWQAKB6L126BBeFlpZWX18/OjoazV8Zd4aGhq5duzZv3jxM7f4vNDQ0AgIC58+fB2WMGyX/5cuX0dFRKSkpGhpak3WbCxsJO1rpVwycEvgQ/ydJvo8TwZ+AkC1qGvhemvGiFcRx6vP/s8kF2LPKziepxTE5L8dliltBQ29ySQPUMBs7+9WrV3FXYSrz8uXLtWvX8vLyysnJ+fv7owd0CARpQkDhC2RmZjIxMYFn9L4fkT9Os49xwtdsvW1iUR1eEenb07QS7aUr2NnZQV1hdYoYVyCYdXR0gMBSV1dnYWGZNWvW06dPBwcHsWIE0fn8+TPk2LW1tSEhIVu2bJGWlv5xtAM1NbWYmJiNjU1vby/eMxMVFRXIW1astsAlush+13Kqu0CsQyWLiIjcunUbq9YpCbgFyKnc3d0hm4Isa9OmTdDesDIEAkFiEFb45uXlTZ8+HTzjee97GeVteH6TOBabVzVfe+k6m51JxfV4RaRv/k9T1LV0+Pn5rayssDpFjB+48BYYGDhjxgxQVIqKijdu3MDKEEQHLsfHjx/7+/tLS0uPHDkCeQhcFNCydHR0lJSU4HZAAfPx8VlbW3d1dWH/8wOLFy+Gf1m6cjUhtteZCgYuHTcDeNYs5fv372PVOiWBdtjZ2SkhIUFPT79ixQo0yRWBIGUIK3xLSko0NDTAMx45cxlFl/9gV/1CVeZqiIuL79u3D6tTxPjR19eXmppKRUUFimrBggU+Pj5YAWI8GBgYAL1lbGz8fd+KefPmXbhwITQ0FOd2BAUFz50790/33iwsLEAWL1ikey8iFa/fIfsVS33edN7rHtSzjo5OeHg4Vq1Tkra2NhsbGxoaGnl5+Zs3b2JHEQgESUJY4VteXm5oaAiecdchF9yMMWS/Zacu3ZSfNVtOTu7MmTNYnSLGiY6OjqCgIAUFBVC9urq6ILnQlO1x4fPnz2/evIFroa+vP2PGDFZWViYmptmzZwcEBBQXF3d1dcGViomJkZCQgMyksbHxn2aF2tvbi4qKzp67wMPnIV6/Q/YrlpBfc8DlHLj31atXJyQkYNU69Xj9+vWjR484OTlpaWnBUdfU1GAFCASCJCGs8G1oaNi/fz94RkMzK7wpych+xTZsdRAWEVNXV5/iTxLHnVevXoGK0tHRoaGhWbhwIVyO1tZWrAxBLEDyVldXQ+Xv3r1bU1OTjY1NSEho8eLFhw8fDgsLA72LWzP148ePkJP4+fk1Nzf/ZM8XDw8PRUVFCWk5h8Mn8fodsl+xp2klRuZW4N4dHBwKCgqwap1iQFqVkpJiZmYG9aCnpwe/o2XdEAgSh7DCF1Lh4OBg8Ahyispunr5jvrDDJDaoq/y6N/M0F7OwshkYGJSUlGB1iiA6g4ODAQEBurq6zMzMIiIivr6+aA0HIgNatrGxMSEh4eTJk5B+gOQF5s2bt3379sDAwLq6Ouy8HwDJ+/Np9UlJSYsWLeLk5lluaFrU9P+XeUH2K1bUNHAvIk1SZiY5Ofn169dbWlqwap1iQLM8ffo0Hx8fOAfwEmgXDwSC9CGs8B0dHa2vr6eiomJmZtl79Ex+XQ+e90T2TwaROD6/WkhEjIGBYevWreguwriAmz6VnZ2toaEBF0JUVHTbtm1w5OeKCjGGgH4dGBgAeeHh4aGsrAx6l56eHnQGyN+IiIi/nbX2i8D/rl27lpaWdobMzKyKdpSW/5bl1Ly+4vuIkooK+kVKSspP7qxPYsAV+Pv7Q/oElTB37ty+vj7kGRAI0oewwhf4/PmztLQ0xCoTS+uw5AI874nsnyy3pvvMFR9OLh55efnLly9jtYkgLpC5VVZWTps2jYaGRlZW1snJCUIdVoYgCqWlpS4uLrjFYQBhYeENGzaM1YjS06dPS0pK8vILXvULza9/g9cHkf3EwJlv3XMYrshiHZ3y8nKsQqcYdXV1BgYGFBQU4uLiOTk5aI8hBGJCQHDhCxnw7t27BQQE1DS0z169g+c9kf2TZZS3rTRZx8jEbGFhkZiYiNUmgoj09/fHx8crKytTU1PPmTPn+vXr3d3d6I4OcYCEGZq9jY2NoqIiBwcHLS2tiIjI4cOHk5OTOzo6xuoByKNHj/T09FhY2Sys7Z5VduL1QWQ/MU//MK0leuTk5GfOnJmy4903b94sJCQkJSV16NAhSJKxowgEgrQhhvANDg4G1yAsIma9cz+e90T2t1bcPJBYWCsqLklFTX38+PH6+nqsNhHEYmho6MmTJwYGBvT09JKSklevXq2trUWqlwhAdpGWlnbixIlFixaBquDk5JSXl7ezswsJCSkvL4dsZAyvArzgnj17aGhppeWV0l+04nVDZP9kxU0Dx92uCYuKgfBNTU2dgpt1g8xNSkqSlpaG9rl27dq8vDysAIFAkDwEF75ATU3N3LlzmVlYdVeuznqJNkn6d8up7gqKSod4zMHB4ePjMzw8jFUlgii8ffs2Li7O0tKSjY2Nl5fX2dkZ2jB6jkloOjo6MjIyrl+/vn79ehEREUg5FBQUQFVcvHgRhMXnz5+x88aOgYGBa9euMTOzMDAyhSUX5tWiSQi/ZGmlzbYOBxmZmNnY2bu6uqbaAN+PHz+2tLRs2rSJkZFRTU3Ny8sL3e5FICYQxBC+wOrVq1lZWZXnqD9KyMXzocj+agkFNS4XvcjIyMCrxsbGYpWIIDxfvs1mKy4uXrNmDUhefn5++KW/vx+pXsIBdQupXVtbW2Bg4KpVq4SEhGhpaXl4eNTV1c+fP19aWkpQXfX48WNZWVnoa27X/Sbi5o7jYkHRGStN1zExM89WVcXqcSrx5s2b6OhoFhYWZmZmJyenqqoqrACBQEwEiCR83dzcFBUVxSSlDp28gOdDkf3VHsRm4RbI3LNnDwR+rBIRhAdUb0dHx9cHFMzMgoKCmzdvHhoawsoQhKGrqysyMnLFihUUFBTQ5uno6GbNmnX58uXR0VFC3OXFo7CwcPv27fC+Zhu2PErMw+uJyP7WnC/cUFabLywsfPjwYawepxJpaWlLly6FNqOvr5+ZmYkdRSAQEwQiCd/k5GRDQ0NWdo4Fi5bh+VBkeFbUNHDV95GA0DRwrKGhoWjJWKLx7t07SDPmzZsH2ktAQACCOmgyNK6XcNTU1Jw+fVpDQ4OVlZWWlpaFhcXCwuLhw4ctLS0jIyPEqfn29nY/Pz/oa6Likt73I/A6I7K/tdXrNnNwcSsoKIBjx+pxylBWVrZ//35wEdBoQQEPDAxgBQgEYoJAJOEL0cXe3p6JiZlPQCg0MR+NpfuJhaeXbHc8Ss/AwMfHBzoMtxkVgtB8+PAhKyvLxsaGmZkZVO+xY8eKi4vRCAdCAKK2urr62rVrK1eulJaWZmdn5+bmhsQ4KCgoPz+/s7OTmGvGjY6OFhQUQF9jZGTaecApIqMUrz8iw7P70Zmq6prQTZYsWfIn6yhPRN6+fXv58mUlJSX4+jt37nz16hVyEQjEhINIwhdUhZeXl6KiIg0tHUSX5JIGPGeKDGdFjf3u1/3maS6mp6e3tLQEEYDVIIKQQPvMzMzcvXu3iIgIBweHo6NjYWHhu3fvsGLEGDE8PAzphL+//549e+bMmQONXEJCQl9f//Dhw+Hh4VBKhLENfwXkC/Q1Ojq6eVqL3W/4o13cfmLFTQNbdh8SnCY6Y8aMI0eOjMv1GkcyMjJWrVrFycmpoKDw7Nkz5CIQiIkIkYQvkJ+f7+DgQEtLKyUnfz8mM78OLRf/N5ZUVGdpu5OTi1tAQCAmJmZkZASrPgTBgOBdXl5uZ2cHqpednd3Q0LCxsRHdaB9DoIZHR0dbWlqSkpIgqVBSUqKhoQH1oKysDAo4Li5ufNfDAsENfY2Pj4+dg9PKdif0QbxeiQxnhQ19ycX1M2TlWVjZzMzM0tLSsBqcAnz58gXaCeTG4uLioqKi9vb2WAECgZhoEE/4fvz4MTo6mpeXl4yM7IDzuahn5XheFRnY2Wt3lNXms7Gx6ejoYBWHICQQz4aGhkxMTHh4eBgZGTU0NDo6OqbafSxCA6q3pqYGRAM3NzclJSUFBQWo3o0bN1ZXV5POXtza2tqsrKwqavPPXPHB65XIcJZW1nLykjcNLS2k5efPn59ST/khfuXk5EyfPh1ar5GRUV1dHVaAQCAmGsQTvkBjYyO4SxC+EjNkzl33L2pEjxT/jz2r7Jy7YBEDIxPIr7HalBXxE0D1vn792sLCgoWFBUQPSLGqqio0m20MGRwcDA0NNTc3hxqm+ga07QsXLoAOfv/+PUlVdVpa2vz582np6FTVNTPK2/H6JrLipoFHCXnTJWaQU1BADlNQUIBV3BQAGmpPT4+CggItLa2ent6jR4+Ql0AgJi5EFb5v374tLy8XEBAAmWFpuzMkPgfPt05lK2joc7noLSwqJiwsvGvXrt7eXqzWEITh8+fPZWVlBw4c4OXl5eDgsLe3z8zMJJ0bkBOaT58+9fX1BQQEWFpaqqio8PDw0NHRqaurg+RNSUlpbm4eJb0F/+ED4wZ5C02bfvjM5UKUlv9fi8x6sd/ZnY6eXkxM7PHjx5DSYBU3BWhpafHy8mJkZITgBW24vb0dK0AgEBMQogpfyJKHh4etra1BZyiqqB1z9UDRBWdFjf3pZS3zFy5hZGJevnz5o0ePsCpDEAZQvYWFhSdOnJCSkgJNtnXr1tTUVLRk758DkrepqSkyMhLqVltbG3o6Hx8fSF7IK+7fv9/Q0EDKqcXTp08NDAyYmFlU5mqklDQWNvTh9dMpa0VN/df8QudpLiYjI7Ozs3v58iVWZVMAiFlxcXELFy6E775p06Znz56hlRwQiAkNUYUv8PHjx8TERDk5OQ5OrpUmFrE5L/E87NS0zIp237AEBgZGDg5OFxeX5uZmrL4QhKG+vh6UmaysLD09vaamZkFBAYQ3rAzx+0BOC7lEa2trTk7O1atXDQ0NmZiY2NjYoKevXbv25s2bjY2N2KkkTEdHx9mzZ3l5eampaW4EPk1/0YrXT6esJRXV7TzgxMLKzsrKmpSUNKWeR5WXlx89epT228jmqKioN2/eYAUIBGJiQmzhi8Pc3Jybm1t6puJx92slLYN4TnYKWlhyoamVLRkZ2aJFi6Kjo7FqQhAGkGgnT54ETUZNTS0mJpaVlUWCT94nEKB6IaEdGhq6dOmSiooKIyMjBQUFCIXFixeHhIRMrOfC8fHxBgYG0BP1jM0fJeYVNyPvBDbocSd44VJ9SGYgS5xSw4GgbV+7dk1GRoaOjs7Ozg5SI6wAgUBMWMZH+D579mzFihU0NLTiM2Sisyum+CPF+PzqQ6cu0tDSUVFRPXr0qKenB6smBAF49+4dbnkB3DyVvLw8rADxn/j06VNJSQkkEhISEqAXAQEBAQsLiwm6lSvI95iYGFA58EXsDzqj/SzAop+V6+gZ0dLRS0pKpqamTqkH/Y8fP16yZAn4Cmlp6b6+PjTIAYGYBIyP8B0cHHRzc5OVlWVkYl66cnVsbuWUHeyb9bL98OmLUnIK1NQ0a9asqaysJOa2VVONxsZGd3d3fn5+JiYmKyuruLg4NK73T4AKdHBw0NDQEBYWBrEIwmjv3r1Pnz6tra2doJOfQNnU1dXt3LmTkpJymqiYw2GXpOJ6vD47day4eTCn+rWR+Xo+AaFp06ZZW1sPDAxMnQUNenp6cA8n5eTkrl27Bp556nx3BGISMz7CFygsLNy/fz83Nw8HF/eeo2em5p2VoqaBM1d91BcuYefglJGRSUpKmlJzpYkMqDGIXrNmzaKgoDA2Ng4LC0PD9f4bUG85OTmXL19esWKFqKgoBwcHSF5LS0s/P7+ioqKJPgB0eHg4Ly9PTU2NnZ1deY76kTOXs6u68HruFLGsl6+czl0XFBbl5uEBCZiYmIjV0RTg8+fPXl5eM2bMEBAQ2LhxI1q4F4GYNIyb8P3w4UNGRoapqSk1NbWs/CyXi97JU+/OyoOYzIVL9bl4eKWlpY8cOfLp0yd0R4FAtLe3e3t7a2lpUVFRgaZ59OgRGq73H+jp6SkuLg4ICNi+ffv06dOZmJhAGejp6R07dmyCjm34J0DWKysrc3Jxqapr3rj3ZAoO9s2saL8blqCoMpeenmHx4sX+/v5TZ4fe9+/ft7W1qaurs7Ky6ujo3Lt3DytAIBATn3ETvsDQ0FBubq6QkBBoEdB/F2/dnzqDfSGO5tX1rDBZy8nNw8vLu3nzZnT3kXCMjo5C2F64cCFkWXx8fBEREQMDA1gZ4hf4/PkzSIHBwcHo6Og1a9YICAhQUlIyMDDMmjXr7NmzJSUlk2/sI4i8ffv2iYuLs7CyqczVABU4pYZjFTX2B0amm63/OuOWn5//zp07U2ruQWdn5/379+G7s7Ozu7q6IueMQEwmxlP4AqBI4uLiBAUFKamoFugsuxuWgOd/J6slF9c7nbtOTk5OT0+/Z8+e+vp6rEYQBMDDw0NMTIyCgmL27NlPnz7FjiJ+mY6OjrCwMMgcaGhoQA2A5FVUVIRaffv27SR+RgFy5+TJk9zc3F/HxqzdEJX1Aq8XT2J7lJi3fqsDuGUAJOCUejwCOV5SUhJEJWjqkPwUFxdjBQgEYlIwzsIXoubQ0BBEF1lZWRZWtnlai6OevShqGsDzwpPMEgtrT3vc5hMUAse6Y8eOrKwscLVYjSDGlO7ublBsfHx8oNgWL17s5+eHRlH/FpCSgcDV09MTFhZmZGRkY2MzNTW9e/duZWVlT0/P5B6Z8+nTp4qKilOnToHQB++06/DJJ2nFeH15UlpCQa2VrT0PnwBc7r1797569WpKzbhNT0/fvHkzeAzI7uD3kZERrACBQEwKxln44oDosmvXLjFxcQ4ubgtru5SShsLGSTvmIbOi3c3Tb56WDjkFxfLly+Pi4tDuxASis7MzNDR00aJFkGBoa2vfvHkT7Qzyi7x9+7aurs7Ly2v9+vWzZs3i5ubm5ORcsWLF5cuXU1JS2trapsi6TiB68vLytm7dCk1IWl7pgMu52NxKvB49mezrMg41r+0POkvJKUC6CFe8pKTkw4cPWHVMATo6OlxdXcXFxampqT09PeFPNO8CgZhkkITwBRISEiDEcnBwcPPynXD3fJpeklfbg+eUJ4GllTZfuvVg6crVrGzsAgICwcHBr1+/xqoAMaZAxYLqNTMzo6SkVFFR8fb2RuNJfgWQetXV1eHh4SdOnIB6Y2BgEBISWrhw4Y4dO8LCwiBJG1vJ++7du+Hh4b/dEwEEx8A3xnd7EfgAWVlZCgoKjExMc+ZrHTlzOTKrDK9fTw4raOhLed7odt1PWk6Rk4sbMkZ/f3+sFqYG0OSgkevp6bGwsEDjb21tRc/iEIjJB6kIX4h/T5480dDQoKWlFZwmss/J7WlacX7dGzzXPHGtqGkgu6rzqm/onPkLmVlYQUxYWVl9+PAB3U4gBCCkIiMjjY2NaWhoWFlZ79y509nZiZUh/g5oh9Aae3p68vLyTp8+PW/ePAoKCgj/oqKi1tbWERERhFjwGN60rq7u+fPneDnJ58+fQX83NTWlpqampKSUlJTA5RvHe8zweS5fviwnJ0dHTy8uJbv3uGtaWcskm+sGqjehoObK3YdCItMh25GXl3dzc5tSm7QBkNdZWlry8PBISUldvHgRO4pAICYXpCJ8AQh1+fn5c+fOpaKiomdgWLF6bVBUOp53nriWUd525ooPCys76AlxcfG9e/eirRMIR1RU1Jw5c6CqhYWFjx07hh1F/DPQ+yorKzdu3AhRH+qNkpKSnZ199+7dFRUVhFM/w8PD9vb2JiYmt2/fxg59o7u7++nTp3x8fNTU1GTfZtYvWrSoo6NjfEeaent7g3eCz0NDS2tiaR2XV1U8iWYjRGSU7jrkwsrGDl9w5syZAQEB/f392DefMly4cEFSUpKDg8PCwgJtY45ATFZISPh++fIFfE19ff2aNWv4+fkZGJnklVXdPP0mwVy3h3E5m3c4srJzgKRYunSpn5/fpJ8YNF7g0idpaWl6enpFRcXTp09Pwfj9W/T19UGesGXLFlFRUUZGRtCaKioqJ06ceP78eW9vL4EeSoCEff36tZWVFWQmCxYs+FH4ghqGzzN9+vTNmzenp6fDx7h58yakMatXr25ra8NOGg8gU01JSbGzs2NgYATvpKG99LJPcHZVJ15nn4h280HkMiNTUL10dHS6urrZ2dnQaz5//ox98ynAu3fvGhsboTXS0NCYmppmZGQg/4xATFZISPgC4GsgIubm5u7bt2+mvDwDE5P8LNWTl24mFNRM0AXk8+reXPMPM7WyEZkuQUlJCZE+LCystbUVeVVCABoOpMnKlSshfquqqrq6ulZVVWFliP8LbjhBYGAgKDktLa1p06bR0tJqamo6OTk9efKksrKScHe8urq64uLi1q9fr6amBimutrb2j8K3tLT0+PHjXFxcIL8GBgZAkVRUVMCl5OXlzczMBFmMnTceQCYAn8rFxYUD4OJW19I5dOpiYmEtXq+fQFbY2O/m6bdwqT43L5+AgMCaNWsg2RgcHJxSqhcAn3zw4EFQvQoKClevXkUTjhGISQxpCd/v5OfnOzs7g3YBsag6T/PI6ctPUoom1qA63Db3l24/0DM2F5wmysnJaWhomJiYiNZCJxCgekFOWVtbg4CTkpI6c+bMixcvsDLED3z48KGtrS01NdXT03Px4sUgMaFxzpo1C7Iyf3//2tpaQo/sBCHr5uamo6Nz4sQJdXV1XV3dH4VvVFQUyC9FRcXvN5txO92QkZHBaSBQcKeNF1A5NTU1Dg4OX5+Jc3IpzZ7rePxsTM7LCTfkt6hpIKmo/orvo3lai5lZWGfMmGFraxsTE4N9z6kEyNzIyEioAXp6ekdHx8LCQqwAgUBMRkhU+AL19fU3btyQlpampqaWkpXfdcjlSWpxZkU7nvsmTcur60kqrvcNS1CZq8HOwcnPz79y5UoI3lNkESji8/79+/T0dFC9jIyMrKyshw4dAnWClSH+F9CRPT09kA/cuXPH1NSUmZmZhYVl2rRpenp6Fy9ebGxsxM4jMKWlpZcvX4bPMDIyYmNjo6+v/6Pw9fPzW7JkiYmJCfb3t4/d2dkJfgAua1lZGXZ0/Pj8+XN3d/eePXsUFBSgBnn4BQ6fvhSe8Tzr5auJIn9zqrtisl+6X/efPW8BJSUltAEQfPn5+dg3nErA1QTPvGPHDtzg5uTk5HdTZmdmBGJqQrrCFxgcHMzMzBQSEvo6N5+NXV1L55xXAJ4HJ0Erahp4klK06/BJTm5eCgpKXl7eXbt2NTQ0YN8KQQBqa2vNzMyYmJjY2NhAM0HLQYNJ8IAKGR0dBcWpqqpKT08PYR4wNDR88uTJOO7LtWXLFjzhe+XKldmzZ9va2mJ/f+PNmzfgB3bv3l1UVIQdGm8gib179+6CBQtwNblE3/iKb0haWTOeNyBN832caGplw83LT05OzsXFBUnIuN9KHy8GBgbOnTsHSSBcxHv37qHlXxCISQ9JC18I1R8/fnzx4oWFhQU/Pz8VFRUDI5PaAu3zNwNJdlwdRBSz9bbTpkvQ0tFBUNHQ0AgODu7u7p5qY+aIxocPH2pqatTU1CB0iYmJ2dvb9/f3I9X7I1BFz58/P3369IwZMxgZGSkpKUFEQp4QGRk5NDQEpePYOP8qfEGaw9U8cuQI9vc3QPiKioriRqBih0iA9+/fFxYW7tu3j5aWlpqGhpmFTWWuhuMJt8yKdtKck5Bd1RkUmb5gkS4PHz98YBYWFmVl5YKCAhB/U9ZBeXp6QntjZWXV1dUdHh5GrgOBmPSQtPDF8fbt26KiIi8vLwjV7OzsLKxsMjOVVllsOnvtblJRPZ5nHy/Lru56nFxovXOfqromr4AQKxubpKTk0aNHU1NTOzs7p9SGn8RkZGQEJN2qVasgbklJSe3fv7+srAyFru98+vQpKyvL2dl5+fLl0CBxo5/t7Ozu3btXXFzc09ODnUcAQEi1trb6+vp6/EB7ezvobOyMb/yt8FVRUdm5cyf29zdwwtfGxiYnJwc7RBoMDg5WVFT4+/sbGBgICgqCdxKTlNHRM3T19I3LqyoimZEP6WUt3vcjN+9wnKU6j5Wdg42dfeHChadOnUpLS4PkZ8qq3tLSUhMTEw4ODjk5OcgD0e0JBGIqMAGELwD+qK2tLTY29vjx4/Pnzwf5y8snMHfBoi0Oh24+iMp40TqOASanuiskPufkRW8zK1shkelMzMzy8vJWVlZXrlwpLy/HC/OIMeTdu3f5+fmOjo7MzMwCAgK7d+8GkYdCFwDSv7e3t7Cw0Nvbe/369dLS0hDaQTgaGxtDswTtSFDJiwM0N+QklpaWi34A0hK8mXN/Fb43btyAPr5p0ybs72/AB+bm5iapoQ7fgSbX398fHh4Oie6yZcu+ro9BRzdXc5HtrgOXfYIjs8rGcbnf4ubBvLqeu2EJ+0646a40EZkuQUVFpa6uDnlFYGBgVVXVlO0v0Efev38PAUVCQkJERGT79u3QZVDOjEBMBSaG8MUBPhqi5p07dyB+QywH+UvPwKC7cvWFm4HBsc9icyszytuIs+gvRLK82u6UksYnqUVeQeGbdzjKKsyCiCIkJKSpqXnq1Km8vDw0j42gQEYBeYWzszMvLy8IXxBYoHpRmgGACKupqXn69OmePXugQeL2HIZm6eDgkJGRQbSHD9D+4QKBnlj1Ay9fvsRbJe2vwhcEGRyBk7G/v71Ua2srDQ0NXG54Bewo6dHR0QHVvnXrVjk5ORYWFjZ2DpC/jidcAyPSorMr0spaQIMSZwhEcfPAs8rOhMLasOSCm8FRBmaWgsIizMxfJzKC6oXabmxsnOKdBVQvtCUZGRk2NjYjI6PY2FisAIFATHYmkvD9Tk9Pj5+f37Jly0BrkpGR0dHTz5qjbmN/4EZgOLh7IoSWvNqeiMzSU5dvaeuu4OTmpaSkoqCgACF+7Nixuro6tL07Eeju7nZ0dOTn56ejo9PQ0GhqakLjSXCkpKRs3rwZxO63OVdkoqKiuN0osGIS46/CFySIlZWVgoIC9ve34QTZ2dnwXXx9fdvb27GjpMrw8HBqaiq0SVZWVvjMNDS0AkLTrLbsuuQTHJNdQZxnU/l1PaC2HU+4gYNiZmElJyenpKSEKoWWMI4TGUmK169f79u3D9JCcXHxCxcuoPsUCMTUYUIKX+DLly/9/f15eXkQNZmYmMCz45w7PQPjgkW69gedfR7FZrxow4sHf2L59W/i8qpOnPPUX7VGREySipoaxC68KcS22bNnu7q6trS0oOfsRAAqGYI3pD2QafDw8KxevXoqT835TldXV2hoqIqKCsRyaJbMzMzKysp3797t7e2FoE6yz3D/KnyhH125coWamvrhw4e4Ra8LCwvXrFkDUr6ysnJCXGiobficaWlp27dvFxQUBBcBVwTcBQMTk4S0nOl6G487D1NKGsZ27bPsys6Q+Jyjrh6LlxuwsXOCg4K3xDkoLS2te/futba2om6CA9LmsLAwaGNUVFQXL16csitaIBBTk4kqfAEI54ODg2VlZY8fPz516pSpqamUlBREF1Y2dkFhEemZiupaOla29u43/P0eJz5NK0kubsip6caLFv9kBQ29mRXtsbkvg2OzPO6G7D121sjcSkF5DkheDi4eenoGNjY20Lv79+/39/fPyspqbm5GN3qJAFx0UHjr1q0DyQusXbv22bNnU/xuTU1NDQhHqBM5OTlIAiEfACnp4eEBaSFkCCR+I/yvwvfdu3fwyeHKysvL29jYbN26VU9PT0ZGxtPTc2Jt/oIbc5KUlHT16lUrKyu4OqysrOA6uHn5JKRkVdU1V63duN/J3SsoPDj2WXx+9bPKjsLGPjxH9E+WV/cmrbQ5KuvF/ehM9+t+NrsOLNYznKmkIjJdgo2Dk5KKSlh42pIlSxwdHQMDA4uKijo7O9HytDhA/ScmJi5fvhyyAmNj4/T0dFQzCMSUYgIL3++A/K2qqkpISIDwefjwYRMTE5CkfHx89AyMgsKiahraS1esMl6zYe2mbRu377Hbd2zv8bNHz3qcunzr4q2gG4Hhtx/GeN+PuOr76JxXgNP5G/ud3XcecLKxPwCi2dTKRn/VGo1FuiCjuXh4aWhoZGVlwWNu377dzc0tKCiopKSku7sbDS0lDiBwq6urz58/z/0NS0vL8PDwkZERrHiKAdG6tbX1zp07O3bs0NDQ4Ofnh2QMNKKTk1NERERDQ8OEuL0HeSNodLxFynp7e0GabNu2DVTv5s2bQRy7uLjAN5qIHQ0uU0tLS1pamq+v78mTJ0HKL1q0SEREhIGBAVyKrMKshUv19VetNVtvu37rLttdB+0POu93PnfinKfbdb8rd0O8giJ8QmKv33ty6faDM1fvHHO76njCFZzY5h2O66x3rF63Wc/YHFycqJgkC2T87OzgoIyMjPbu3XvlypWnT58WFxdDtoDmbP0I+BDoI5A2Q395+PAhWrgXgZhqTAbh+x2I9AMDA8nJyZcvX4ZgqaOjIy8vLywsDCKJhYWFjo6OkpKSlo6Ok5tXRExCTlF5nubipStXrVi9dpmhqdYS/dnzNGfIzOTlF2RgYqai/gojIyMHB4eAgMCMGTPmzJmzcuVKCF2PHz8G14luEhAZUL21tbUQzmVkZOC6QHSPjo4eHh7GiqcSoPWbm5tTU3Tm6mYAAFYvSURBVFOhNhQUFKBtQwtXVlZet27dkydPenp6JtATbdDuoGj/eisXtFplZSUo+NDQUJDFr1+/xgomMuCdXrx4ERgYCMIUUhTIzyUlJSFjAScDOviby6FhZGIGFyQhLaesNl9TZ/kyA5OVput09I3VtXQUlOdMl5Ti5uUDJwangkNjZmaG/wUXJycnp6mpCQ0AHFRsbGxHRwd6APW3jI6O+vj4aGlpMTEx6evroxXWEYgpyKQSvj/y4cOH9vb24OBge3v7VatWzZ8/X0pKCrJ8CDD09PQQM2hpaWloaL4Fm6/A73AEjkMpwMbGBuFk1qxZy5cvt7a2vnjxIkRfvAnpCGLS39/v7u6O28JaUVGxoKAAb2GsqQDIQci4ysvLz58/r66uTk5ODrXBxcW1evXq+/fvT800YIIC+QmkLhcuXNi4ceOyZcsgRYcE+9tYiK/gOSj45UcHBU4MXBlk42pqaiCgd+3adffuXWgVKBv/VyDLMjU1hcoUFRWF+kcP6xCIKcikFb7/xNDQUHNzc2FhYUxMjK+vr5ubm4uLi6urq6en54MHD8AV1tbW9vb2IodIUnz8+NHGxkZQUBACP2jfqbkYE8gaaJxr167l5eUlIyOjoqLi4ODArfCFFM/k4P37993d3ZWVlZBmh4SE3Lhx4+zZs3CJQR/fuXMnPDw8Ozsb2gA4sSk+rv0/Y2Vlxc/PDznDoUOHsEMIBGKKMeWE7+fPnyG6jIyMDAwM9PT0dHZ2vnr1qqOj4/Xr16B3BwcHQUNAUEGj4kgE3D3O/fv3i4mJsbGxLV26NDY2Fq7glLpA0FDhWzs4OCgoKIDYpaenV1RUdHR0TE5OhtY7OjqKmuvkAK4j5HhwQUHagjsCpwSuCS4xuCloA/39/cPDw9AdwImhK/67QK3GxMRISEiwsrKuW7cOsgusAIFATDGmnPBFTCAgure2tt68eVNSUhIEn6Gh4f379/v6+rDiyQ5uzHpERMSRI0eWL18O0p+Kimr+/Pl79+7F7Tk8ZSf2IRC/BaQT4ElWr17NyMioqal5584d9JAEgZiyIOGLIFFA9TY3N/v6+qqpqYHg09HRCQoKmlgLWv1nPnz40NnZmZeXd/fuXSMjIwEBATY2NmlpaX19fUgDqqqq0HBzBOLX6erqevToETMzMzc3t7OzM/QgrACBQEw9kPBFkChDQ0N37tyZO3cuBQWFsLDw06dPp4LqBbk/MjLS2Nj48OHDNWvW4OYzcXBwaGpqnjlzpqGhAT3jRiB+i48fP2ZkZBgYGJCTk+vq6qampmIFCARiSoKEL4JEuX79OqheSkpKdnb2zMxM0MFYweTl8+fPfX19Hh4e6urqDAwMZN9YsWLFkydPuru7sZMQCMTvUFVVdezYMVC9kEOCAp4KngSBQPwEJHwRpIirq6uCggIzM/Ps2bMfPXr09u3byb3c5sePH1++fOnu7q6kpMTLywsRWkhIyMTEJDw8vLm5Gc3iRyD+G+/fv4duJSEhwcTEdPjw4a6ursntSRAIxL+ChC+CtOjp6Xnw4AFO9WppaXl7e0OswsomIx8+fMjJybl06RJuk14aGhpxcfF169Z5enpmZma+efMGxWkE4j8TGxu7cuVKDg4OSClLS0vRvh4IBAIJXwQJ0d3dHR0dvWTJEkpKShUVFZCDLS0tWNnk4suXL0NDQxUVFQEBAVu3blVUVITYLCwsvHz5cmdn5+Tk5MmxVxkCMV5AF4O8cdu2baKiopKSkkeOHEE5JAKBAJDwRZAKw8PD8fHx69evJycnFxQUvHz5cl1dHVY2icBNX3v16lVmZubx48e5ubnp6elxd6S2bNmSm5uLVmxAIP6cjx8/gj8BycvMzGxiYoIW7kUgEDiQ8EWQCpGRkYaGhqB6qaiogoODJ+sIB4jHMTExGzduFBAQwE1fk5KSOnr0aFFREXYGAoH4MyC9HBgYmDt3LgMDg7a2tr+/P1aAQCCmPEj4IkiCgICAefPm0dLSTp8+3cfHZ2RkZPI9l+zr64uNjYWvyc/PT09Pz8LCIi8v7+fnV19fPzQ0hHbJRiDGipaWlmvXrlFTU0Nfu3LlytTZ9QaBQPwrSPgixhnQuBkZGerq6qysrDNnzjx27FhbW9skW622pqYGN5YXviYTExM3N/fixYudnZ3j4+Pb29uR5EUgxpDh4eGYmBhVVVUyMjI7O7vc3Fy0KAoCgfgOEr6I8WRgYCAnJ2fDhg20tLRycnKHDx+eTE/8QdG2trY+fvwYvteiRYt4eXkZGBiWLFmyd+/e+/fvV1VVodk2CMSYAz5k3759dHR0M2bMiIqKmiLbPSIQiF8ECV/EuDEyMgKqd//+/ZSUlAICAkePHi0uLsbKJjijo6NdXV3wdW7duqWmpsbBwcHGxiYpKamjoxMREfH69WskeREIQjA4OHjlypWZM2fS09ODb2lvb8cKEAgE4htI+CLGjfz8/O3bt4PqJSMjO3PmzGRaw6GqqurixYu4h60AOzu7kZFRcHAwWrEBgSAoycnJ0NeoqakFBQW7u7s/fvyIFSAQCMQ3kPBFjA+ZmZn6+vq0tLQcHBwODg79/f2TYFzv+/fvS0tLbW1tJSQkaGhoIPqysrLi7mQPDQ2hGIxAEBRwIytXrmRiYpo5c6avr+8kmyqAQCDGBCR8EcTmw4cP5eXlhoaGPDw806dP37p1a1VV1USffdLb25uamnro0CF1dXUBAQHQu/Ly8jt27AgPD6+trR0eHkYxGIEgNG5ubpKSkoKCgps3b3716hV2FIFAIH4ACV8EURkZGamoqLCzs+Pk5IQQtX379vT0dKxsAgJyFiRvUlLS+fPnzc3N4RtRUVHNmjXLxsbGy8sLtxsFkrwIBKF59+5dU1OTsrIy5Jz6+vqhoaFYAQKBQPxfkPBFEA9QgWVlZWfPnqWnp+fm5t6yZUtKSgpWNtH49OlTX18fiPj79++D5BUVFWVmZoafWlpa586dg68JkRg7FYFAEBLILV+9enXr1i0yMjJhYWHogD09PVgZAoFA/F+Q8EUQj8bGRldXV0ZGRnJy8lWrVmVlZWEFEw0ItP39/UlJSZaWllRUVPB1aGhoFBUVnZ2dOzo60KKhCAQx+fjx47Nnz6SlpUH42trawu9YAQKBQPwFJHwRRKKhoWHr1q1sbGz09PQmJiavXr2aiGMA4DODtD137pyamhqIXQi0IHyNjY1DQkI6OzuxkxAIBBFJT0/fsGEDdMaZM2fm5+ejtQIRCMRPQMIXQXAgDjU1NUFkEhERERAQAJlYUVHx/v17rHiCAB+4rq7u9u3b8+fPFxUVZWJi4uXlNTAwAMn74sWLnp4etAEbAkF8IBE9deoUPz8/JSXlvXv3urq6sAIEAoH4O5DwRRAW0IstLS179uwRFhYG1WtiYhITEzOxbsmMjo4WFBTcvHlz27Zt6urqVFRUYmJiRkZGp0+fjouL6+3tRWMbEIhxATxJYGCgjo4OKyurhoZGe3v7hMuoEQgEkUHCF0FAPn782NjYeOvWLXZ2dg4ODgMDg/v3708Umfjly5e3b982NDQ8ffp09+7dKioqzMzM3Nzcmpqa+/fvj46ORmMbEIjxBbqnpaUlPz+/jIyMp6cndhSBQCD+GSR8EYQChGN3d3dQUJCEhAQVFdX8+fNDQ0MnyloHHz58GBgYqKiocHV1FRAQoKenp6OjExYWXrVqVVlZ2cjICHYeAoEYJz5//nz16lVpaWlIqs3MzIaHh7ECBAKB+GeQ8EUQijdv3ri4uAgJCYHq1dDQAL04UUbBfvz4MSIiYt26dZycnGTfUFRUdHJyev78OXYGAoEYV8CZtLa28vLyUlJSmpqaZmdnYwUIBALxU5DwRRCE7u5uBweHGTNmcHBwqKqqvnjxYmRkhMSXcYCP19/fHx4evmrVKhkZGTY2NkZGRmlpaW9v78LCwq6urtHRUexUBAIxroDqtbOzo6OjU1ZW9vLyQg9hEAjEL4KEL2KM+fz5MwjEEydOyMrKcnFxaWlp3bt378OHDySuehsbG8PCwhwdHRctWsTJycnHx4cbyxsSEtLS0oJ2o0AgSIfXr18/fvx4+vTpkJoeOXKktLQUK0AgEIh/AwlfxFgCqrerqysiIkJMTIyDgwNU79WrV/v7+7Fi0uPTp0+tra1JSUlubm76+vo8PDzMzMyqqqo2NjZ37tx5+fIldh4CgSANPn78mJWVZW1tTUZGpqGhkZCQgG73IhCIXwcJX8SY8eXLl97e3ujoaBCO1NTUs2bNunnzJsmqXgifg4ODTU1NPj4+6urqINPp6en5+fkhlAYEBLS1tWHnIRAIUuL169cXLlzg5uampaW9ffs26qoIBOK3QMIXMWa8ffsW4pC8vDwZGZm0tHRiYiIpz7Ouqanx8PBQVFT8NnuNjIuLa9WqVY8fPwZBjJ2BQCBID8hUITtlZGSEn+heLwKB+F2Q8EWMDZ8+fTp37tzs2bMhIPHw8KSnp/f29pLguF74nDk5OTt37lRRUeHg4KCjo+Pm5t69e3d8fHx7ezuKowgEKfP8+XMDAwMGBgZZWdmsrCy0dwwCgfhdkPBF/CmgbiH8XL9+ff78+SAiFRUVr127NjAwQGoxqa+vLzc3193dfcmSJaKiomxsbDNmzLCxsXnw4AFEU5DpE2s/OQRiSgF+5sOHD5CjTp8+XUJCYs+ePeBkSHzKLAKBIEGmovAFXzk6OgpCp729va6urvp/qampgSPAmzdv0MJVvwhUZn9/f1xc3Ny5c0H1zpkz58yZMx0dHVgxadDT0/Ps2TNvb29bW1s5OTkaGhr4uXr16rNnz2ZmZpL+ihMIBOLdu3c5OTmysrKcnJwmJiZpaWlYAQKBQPwOk1n4fv78eWRkpLu7+9WrVy0tLY2NjSBzq6qqXrx4ATIoIiLi7t27Fy5ccHV1BQEEuLm5+X7j6dOncEJlZSWcD/8IMq6vr+/t27dIHv2VwcFB0I5Lly6lpqaeMWMGVCPUNlY23nz69Gl4eBgymbCwMEtLS1FRUVpaWh4eHlVV1VOnTuXn58M1xU5FIEgGcFyQjEHjHBoagqwSnA8Av0Bfg/YMTMFUDeoEHMuOHTsYGRkha/Xw8ECDHBAIxH9jMgtfiBCgyUDX2tnZrV69WlNTc+bMmZxcXFTU1Lj5TD+BkpKSmZlFTm7mypUr9+zZ4+PjU1BQgG4D/5X4+Hg9PT2oMQhIV69ehTwBKyABent7U1JSNm7cSEVFRU5ODj+lpaVPnDgBMgJFTQRpAgoP9G5zc3NeXl50dPT9+/f9vnHv3r3w8PDUb0AOP9UWlgbdn5iYCF0YXI2zs3NdXR1WgEAgEL/JpBK+X758+fjxY05OzsWLF01NTaWkpFhYWBgYGOjo6GhoaMBpgpz9KoCoaVjZOUTEJGbNUV+0zGC5sZmekdkyQ9OlK1Ypqc4DExGTZGZhhTPhfGpqavh3UHVsbGz8/Pz6K1YcO3YMAhLp3NccRyAqL1++nJaWFurn8ePHHR0dJDJMFq7OpUuXFi1aBFcNPh5cQWNj44CAgKamJnTnHkEKvH//vry8HHoQ+JNt27ZB+1ywYIGcnJygoCA7Ozu0W/BdzMzMTExM0LkA+AX+hIMAlPLy8iooKEDvs7a2BneXlpZGOr2PEIDq1dTUBNVrZmaWnZ09ib8pAoEgNJNB+H748KGuri4yMtLV1XXt2rUQP2RkZHh4eCBacPHwLViku8pi4ya7vfYHnQ64nD/tcfvS7QeeAY9vPojyfZwYFJURHPsM7EFM1v2YTDgCdjM46srdkDNX7uxzctu8w1HPyFxRRY2HT4CCgoKTk1NcXHzOnDlGRkYHDx4EBdzW1gYxDPsoUwmI2fr6+hCAp0+ffv78+c7OTrgQWNk48e7du8bGRh8fH7g6oCFAQMD1Avnr6+sL6RCo4XH/hIipDLTP1tZW0HBnz55dv369jo7OrFmzwJ8ICQlxc3ODooUMDfJzSNQ4uXkgM5dTVFZV15yruWjOfC0w+VmqElKyYCysbJCQ09PTc3BwgFAGd6eurr5ixQpbW1t45SdPnoBTmky3hCFDOHr0KPRlICIioru7GytAIBCI32cCC99Pnz4NDAwkJSVdvXp1z549hoaG8vLyEAzYObgkZWZqaC9dbbFp1yEXkLm+YQmPEnOjsl4kFtVlV3UVNQ2UtAz93OCcnOrXCQU1oYl53vcjT12+BS+1ZuO2RctWzpw1m5uXj5GJSVRU1NjY+PDhw/7+/nl5eSS7U8OY8/bt27S0ND09PcgupKWl9+3b19DQML63USHMQ3R88ODB/v37IfOBZgByXFdXF/4MDg6GS4NW50WMC9Dw3rx5A/4B9Oi1a9egQZqams6cORNkLivb1+dOynPmayzSXaJvvNLEwsTSep31Dhv7/fYHnQ+6nHe+cMPN0/ecV4D7dT+wk5e8j5z1OHL28nbHo1a29qvWbtQ1WA3/KyM/i5uHj4GRCXQwvDIo4EOHDt26dQt8Y11d3URv+cPDwzdu3Jg3bx4TE5OVlRWkr2icEgKB+BMmpPAFjQVSpqqqKjIyEqLItz23GNg4OAWniUrJyi8zNIGw4ekfFpPzEk/O/omBFH5W2XE3NOHwmUtGa9YrKKsKi4qxsLLT0dMrKCjs2LHj6dOnEGYmvcYC1fvixYt169aBuBQUFLS3ty8rK8PKiA60BNxdtIyMDCcnJ4iOdHR07Ozs369IV1cXdioCQVxAsTU3N+fm5kLqBa1RU1OTl5eXmpoGBK/QNNEZsvLauis273CEpPr6vSeBkWnhGc9TShpza3vwPM/fWl5tD6TlD2Kz4H/3ObmDR5ozX0tSWk5IZDorOwcNDY2EhISJicmFCxeePXsGH2NoaGiC6sWioiJw8pAnQI6dkpIyme5kIxCIcWFCCt/379/Hx8dv3ryZlZX160w0MrJpouJ6xubH3a9FZJQWNvbhBYkxN3iLuLyqs9fuQugCwU1OQUFOTs7IyGhpaZmUlNTT04N90MlIRUXFsWPHoM6pqKj27dv3/PlzrGA8gJbQ1NTk7OwsJCRE/W3OIjQJIyMjUBsDAwPYSQjEeJCfn3/w4EFJSclvLuor0GV4+AS0l+o7nbv+NK04p7oLz7H8iWW9bA+Jz3G+6KVrYMLKyk5BQQnvSElJycbGdujQIegRg4OD2CebUDg4OEyfPl1YWHjr1q3YIQQCgfgDJpjw/fTpU0BAwPz588GbU1BQUNPQLFyqf+dRfFpZS2Fjf1HTQHHzIF48IJgNFjcNwJtGPys/fPrinPkLaWho4SPR0tIuW7bMz89vUgovkPUg7iGaQgi/efNmc3PzeI1wePfuXUJCgo2NDQcHB27O4qxZs1xcXMrLy6GRoOlriPFiZGQkKysLN/wdHAIVNTXkxobmlpCWgzAFsUs4TwWvCa8Mrw/+0NP/sZWtvbScAshf+Bj09PTgNi9evEhqa2z/BEhrIyIiQPIyMDCA22lra8MKEAgE4g+YMMIX/HVkZKS1tbWMjAwLCwsXD5+6ls6hUxceJeRmVrSDr8eLAUSzvLqe+PyawMg0N09fbd2VzKwQ5jgVFRWtrKwSExMn0wpo8fHxa9euhXDOzs5+9OjRcVlTCbfYU1hY2IYNG+bMmcPPzw9BUUlJ6fTp06CD4SOhPYcR40VnZ2dUVNTu3buVlZUhH2NlY1dSnbtl96GbD6IepxYlFtZmV3UVN//7BIM/N/CH6WUtEZmlvo8Tj7tdVVXXYmPnBLcpKSmpo6MTFBT06tUrEk8OP3782N7evmjRIujgS5YsuXfv3tScQ4xAIMacCSB8QTuCgjx58iTuJgozC+vcBYts7Pdf9gmOza3E8/jjZYWNfRnlrZ4BjzfvcFRWm8/FzcvNzW1sbHzz5s2qqqqJ7rIhCFVUVKxfv17oG5aWlmVlZUQeygySt7W1FcT3mTNndHV1oXqB2bNnb9++3d/fv7q6enh4GDsVgSAi0DLfvHkTHR3t4uKycuVKMTExWlo65TnqVrb2Z6/eDU3KJ8Lgq3+ywoa+pKK6CzeDbHcdWLB4maCwCA0NDajJ48ePx8XFkfLdX1C9fn5+INYFBATOnj3b0NCAFSAQCMSfQdLCFyIKqBlQvevWrRMREWFgZBIRk1xuaOp23Y90JC+exedXO52/rmuwWlRckoqaWlFR0dXVtbCwcIIOsAPefVsjzMnJCYQmPz+/hYUFqE+sjCh8+fIFomBeXp6Xl5e5ufnX5IeZWVZWdvXq1R4eHi9fvsTOQyCIztDQUGVlZUBAgJGREeSEkJaLiEksWKTrdP5GZNaLgoZxk7x4llhY53HnocXm7TLySvQMjHx8fKampqAs4cOT4NCg0dHR5ORkPT09cnJy6Obp6elYAQKBQPwxpCt8wRdDUCktLQWJw8jICKp3ppLKPif3vNpu4jwu/BP7NvD3EjcfPxUVFTsHx/r163Nzcyfiag+QezQ1NXl7e8MXAXCz97AywgNtACptZGTk9u3bGhoabGxslJSU9PT0ampqvr6+zc3N2HkIxHgAkrGkpGTfvn10dHRfWyYDo6Ky2u4jp9JKm4k42eA3LLOi/fbDaCk5RSZmFgoKCkFBwS1btrx584bU9kCur68/e/YsOByo2KioqN7eXqwAgUAg/hjSFb4tLS23bt3i4uIiIyMTEZPcd8It/UULnh8nZSts7I/Lq1q4RJ+dgwsXY9zc3CbcWjzPnz/fv38/RCC4ChDgIQ/BCohCZWXlpUuXFBUV4d0BaAwGBgZPnjzBihGI8QPyMU9Pzzlz5pCRk1NSUS1dYXzNPzTjRSueHyBBK2zoO3vt7jwtHWpqGnBNM2fODA8PJ521aCCdAFc5bdo0BgaGY8eOvX79GitAIBCIsYBEhW9eXh7ILDExMZBcKmrz3Tz94vKqx3EG23+w4ubB/Po3T1OLdx1ykVdWpaGhERISOnXqVE1NzecJst9mdXX17t27BQQE6Onp165dW1ZW9vbtW6yMwBQUFBw8eFBLSws3pxt+7tixIzQ0FD5SX18fdhICMR5A/3316tXOnTtBMrKysvIJCB08eeFxSuH4zrL9dQPXlFbWEhCesvPACaFp06F3wxcBiVlYWIh9w3EFVLi+vj4bGxtkvA0NDWi3RQQCMbaQnPCFoBIfH79161YpKSlm1q/z2C7dfpBYVFf0C9utkaAVNw08SS06ce66jr4RaF95efnjx4/n5+eTuPb98uULhByQnjIyMtzc3Hp6emlpaURQvSBqIfp6enqamppKSkqys7OLiIisXr3ax8cHcqHu7m5SG4yImGoMDQ1BBrhr1y5Iy7m4eVTUNByPn43OrphYaTlYTnVXWHLB0bNXZiqqMLOwyMrK2tnZJSQkYN9zPIDe3dXVtXnzZiEhIfD/Z8+e/fjxI+ryCARibCEh4QtacHBwMCsry8LCQkBAgJObV3PxMtdrdyeo5P3RUkoar/qFqmstpqGlBSl5+PDhkpISkh3y++HDh87OTjc3NwjtfHx8K1asePDgAVZGMAYGBkpLS4OCghwcHOTk5Ojo6CQkJHR1dQ8cOBATE4OW5kWQApB6paSkHDp0CLei4oLFy465XoHejdffJ4qBa31W2Xnw5IV5Wos5uXkEBQUtLS0h84QUd1y6G3Tz+/fvg+Tl4uJau3ZtZWUlVoBAIBBjBwkJ3+Hh4YKCguXLl9PS0jIysyxdudr7fgSep564llP9OiA8VVRcko6eXlRUdOvWre3t7SQo5iD9ANUbFhbGyMgI6hMuB4QirIwAwNu9f/++v78/PT19y5Yt4uLilJSU8NaQHhw7diwvLw896ESQCOCgIiMjIS2noqKip2fQ0TO6ERie92s7DJO4eQU91dE3YmRiBu+0Zs2aly9fjo6OEtk7gSuA7Hf+/PmQVGhpad25cwcrQCAQiDGFVIQv5PoRERHz5s0jIyPj5OR2POEa9awczztPAgtLLli4dAUDIxMHB4eRkRGpTaYGurq6fHx8mJiY4EIsXrwYLgpcGqyMAPT09CQkJEBV0NDQwDtCziMtLe3s7PzmzZuJuAgGYrICrfHEiROysrLQSuno6LftOTJxb/T+rT1OLdq29wg9AwN8QW1tbej4RJ6J297e7u3t/c3/c16+fBkty41AIAgEqQjfqKgoMzMzRiYmdg5OD5+H8fk1BQ29eK55Elh+3Zv70ZlrNm5jZeMAcQmhtKmpCasCEuDVq1eurq5SUlJUVFS6urqZmZmEW364ra0NFPbq1auFhISgKkDyrly5EiLfixcvQA2jsQ0I0gFa46FDhyQlJRkZGWcqzXa56JVa2jzhBvX+3PLr30Rmljmfv8HGwcnEzAxJ7927dwma9P7IyMhITEyMhIQECF9HR8eioiISnwWBQCAmLiQhfIuLi21tbUEAcXLz7Nh3PLm4gXQWfh9zy67q8r4fabx2I823u5uenp51dXVYRYwrHR0dp0+fVlVV5ebmnjt3bkJCQn9//5irz9HR0ebmZoipmzZtUlNT4+XlZWVl1dHROXfuHLwjFKGxDQiSAtKw8PBwUL3MzMyaOstOedyKz6/G69STw/LqemJzKvcePys4TZSXl09fXz8wMBCrBQKTk5OzY8cOyH4VFBTi4uLA82AFCAQCMdaMs/CFtB7iypEjR2bMmMHFw6drYBKZWVbUNKlupfzV0start97qqG9lJyCQltbG1Tg+K5VCVdhZGTkypUrioqKnJycoHpv3Lgx5vdc3717BxI/Kirq1KlTGhoajIyM/Pz88+fP37p1a1BQENQAkrwIUgMUWGJiorGxMTk5uZLqXOcLX+/14nXnyWRFTQOJhbXrbHaIiEnw8PAsX748Pz+f0B0T+v7FixdlZWXp6OjAObS3t2MFCAQCQQDGU/iCrsLNF/m6Visjo9YSPa+gcDxHPFkto7zN+34EJzcvFTW1kZFRdEzMeA1pxc0pgfDGy8sLYhS078mTJ8fwESdcZXg1SG9KSkouXLiwaNEiCG/MzMwiIiJr1669f/8+2pYJQZqA4MvNzXVwcCAjI+Pg5jnufo1kd0ofW4vIKDW1suHk5mFhYdm0aVNLSwvhtC/4n7i4OPCB4BbExcVbW1vfv3+PlSEQCAQBGE/hOzo6+vz5cyEhISoqqrkLFrl5+uL530lvjsfPCk0TBY+vr6/f1taG1QtxgdwjOTlZWlqanJxcXl7+1q1bY7teL4TMjo4O3EYYlJSU8C4QTTdu3FhYWEi4AcQIxJ9TXV29c+dOenp6CkrK/c7uSUV1eP13Elt4+nNbh4M0NLQg+iETrqmpwSplrBkaGjI3N2djY5sxY8a1a9ewowgEAkEwxk34QqKflpa2bNkyEEMy8krnve9lV3XiOd9Jb/CVLW13CouK8fLxma9ZQ/zV2vv7+2/evKmoqAi5h6qqakxMTF9f31h9BpDUiYmJu3btws0KggstKyu7d+/enJwceBcQxET+sgjErwPZmqWlJQ8PDxcPn4GpJXTVSbCg+K9bYWNfaFK+3b5jIHxBlV65coVAmbmzs7O4uLigoKCtre3AwAB2FIFAIAjGuAnfrKysnTt3cnNzs3NynzjnGZvzsrh5EM/5TgW7F55qaGbFzsEpJCQUGhpKzP14h4aGrl69qqWlBYFNQEAgMjKyq6sLEhKs+L8Ccvb9+/dPnz51cHBYtGiRqOjXW9qgqo8cOfLo0aPy8nJ4X+xUBIL0gC4wOjq6Z88eEGQ8fPxL9I0DI9Pxuu1UMND696MzNRbp0tLRaWho+Pj4jO2zIKjkmpoaeXl5JiYmIyMjyLpRJoxAIIjA+Ajf7u7uU6dOScvIMLOyma3fEpPzclIuXvYrllvT7ebpO1dzETU1tYGBwfPnz4mwfCYEmA8fPjx48EBbW5uLi0taWvrw4cMQ1f5Q9cK/d3R0ZGRkeHt7w3fh5+fn5OScOXOmubn5rVu3Xr58iSQvgvSB5DM8PBwSNg4OzoVL9c953ZtS93p/tGdVnee97k0TFefg5DQxMUlMTMTq6I8BF9TW1ubq6gp+D/zPxYsXIShgZQgEAkFIxkf4JiUlLVu2jIHh66KYT1KLp6zqxVlcXtWRs5c5uLgpKSlv375N6MG+EHJGRkZKS0vnz58PqldKSsrBwaGnpwcr/k/Aa/b29oK0vXfvnpWVFehdRkbGadOmLV26FDIceC/sPASCtIGEEJJPXV1dKmpqeaXZLhe8JsfebP/RmgeLGvuN127kExQGNm/ePFZLHEIOnJycDM6Hjo5u586dubm5WAECgUAQmPERvuBABQUFJaRkHU+44rvaKWmhSflGazaQkZGpq6s/ffoUqybCAKG9vLxcQ0ODiopKSEjI2dn5z1Xvx48fAwMDNTU1cVu+AfD6/v7+zc3N2EkIxESgtbUVt38YMwvr2at30spa8LrqFDTIzJesMKaloxcTEwPvNCbrz+Tl5e3YsQPqWVxcPC0tbbzWtEEgEFMQYgtfcHBJSUkSEhJMLCwGZpaTe1HMX7e82p6IjFImZhZqaho7O7uSkhKsvsaad+/ehYaGgrympKTk5+cPCAgA1fufb+F8+vTp5cuXly5dUlRUZGBggNfk4eHR19cPDg4eGRlB09cQEw5outCYQZBZ79wPXXJqTjzAM6iEa/5hi/UMaWlppaSkent7/3BM1OvXr0+ePMnIyAj1DEoaDXJAIBDEhNjCF/SQubk5Kyvr7HkLXC56FU7eHdp+y4qbB55Vdq7dvJ2dk2vmzJlnXV1BNWJVNnaATn306NGqVavYv+Ht7d3Q0PCf77UUFha6uroaGBhALATVCzJ606ZNvr6+RUVFXV1d2EkIxMThxYsXu3fvZmNj4+TieRiXPQXXmfknSylp2OfkLiAkQk9Pf/369dbWVqzK/hN37tzBzaldsmRJZ2cnIXwdAoFA/BNEFb5DQ0P5+fmgkNjYOTbv2Ps4pRDPvU5lK2rq93ucJK80m4OT09jYuKysDKu1MeLz58/R0dFr1qz5OlhPWNjR0bGlpeU/rBU/MDAAn83Hx2fz5s0KCgpcXFxCQkIrVqxwc3NLS0sb3y3oEIj/DGSAnp6eampqbOycK03W5da8Rrd7vxtUhf+TpFVrN5JTUGhqaiYnJ//nFR4qKiosLCz4+PhkZWUDAgL+8OYxAoFA/C7EE75fvnypra11dnYmIyObqaRy8WYgut2LZ0WN/eYbtvALTZs5c+bly5exihsLQOC+ePEC9LSAgICIiMjGjRubm5t/N+QMDg7W19fHxMQcPXpUQkKCnp4eXk1dXd3Ozi42NhbeAg1sQExcGhoaTE1N2djZpeQUvALDp+xKDv9k6S9ar/iGcPPyU1FRubu7gyvAKu6XAf/w4cMHyJClpaX5+fnXr1/f39+PlSEQCASxIJ7wBZmVmJgoJiYGwnfH/uNPUovwHCsysGv+YfM0FzMzMy9YsACruD8Gar6jo8PExISBgQFe2cbGBmI8VvY75Obm7tmzB4IWXEGAh4dn165dmZmZY7i/MQIxXly6dElWVpaTm2fFagu8XokMZzE5Lw1M14HwXbJkSWhoKFZxvww4iu7ubsiZaWho9PT04uLisAIEAoEgIsQTviCbduzYQUFBKSEl+zi5sBjdUPk7K2rs37b3CCc3Lzs7+9OnT4eHh7Hq+wPy8vIsLS1BqjIyMp48ebK2thYr+DV6e3tTU1MXLlwIuhlehJ6eXkZGxsPD482bN0jyIiYBHz9+hMwQcnJqauol+sb3ozPxeiUynOXVfZ2Dy8jMTEtL6+joCB4Aq8Ffo729HRwR/K+ysvKtW7ewowgEAkFciCR8P3z4cOXKlRkzZtDS0R1wOZf6vAnPpSLDWXHzoMed4IVL9eno6ExMTCAeYzX4X0lJSdmyZQsvLy8IVldX19LS0tHRUazs32hpaQkMDNy0aZO8vDwrKyszM7O2tvbZs2chh4EYBnIBjW1ATAJ6enpOnTrFwsIiKS3neML1WSWa0/b3Vtw8kFvbra27goOTW0dHJzg4GKvBX6Crqys0NJSHhwfy59OnT9fU1GAFCAQCQVyIJHybm5t37NgBoUVIZHp4+vP8ujd4LhXZd4t+Vr7rkAsDI5OAgEBBQcGfbBOalpa2bds2CQkJDg4Oe3v7ioqKkZERrOyfgSwFolRQUJCDg8PChQuFhITgwkGcO3bs2KNHj6qqqtCNXsSkAfK3ly9fzpo1i5qGxmy9bUB4Cl5/RIZnzudviM+QERQUBN/yi7NjwWOALzI3NycjI9PT04Ns/NfTbwQCgRhbiCR84+PjV65cyc7BtUh3JZ4bRYZnRY391/xCRSVmQJDw9fVtb2/HKvF3+Pz5c01NzdatW6dPn87DwwOVX15e/q/LBkE0amlpycjIuHnzpoaGBuhdTk5OJSUlMzMz0MGdnZ3/ee0zBII06evri46OpqSkZOfkOnPFJ7PiFV5/RIZnkJlr6ixnZGKaN2/eL964Ba/i6urKzc0NLsXPz++/+TQEAoEYE4gkfM+dOwf6abrEjH1O7nhuFNlf7UFslpH5ehC+W7ZsKSwsxCrxlwHV29/ff/jwYYg0dHR0urq6CQkJWNk/8OXLF1C91dXVnp6eixcvpqKioqGhYWdnX7FihY+PD1qkDDFZgTYPmgz62pz5C/0eJ+H1RGR/a7a7DoqISUhKSnp5eWH1+M+AOwoICFi0aBE9Pf3cuXP/ZMccBAKB+HOIJHyNjIyYmZmV56iHJOTi+VBkf7XU502XfYIhGAsKCYU8eoRV4i9TX19/9uxZ+HdKSspt27bl5+djBf/Ahw8fOjo6du3aNW3aNAoKCnJyctwG+sXFxb8yNAKBmLhATqijowOdZb+Te3R2BV5PRPa3dis4eom+MSsb20Jtbawe/5mKigoDAwPIpSUkJAoKCtBTIwQCMb4QQ/hWVVWpqqoyMbMsMzTNre3G86HI/mqFjf3Rz8o5uXho6ehOnjzZ3NyMVeUvAGr1yJEj/Pz8oHoPHDiQm5v7E/E6MDCQmpoKp82aNYuLiwv0rqysrJ2dXXR0dFtb29u3bz+j5eURk5f379/fuXOHg4ODgpIyKDIdbdX2i5Za2mxjf4D+2/KIP9967dOnT1u2bIGMesaMGYcOHQKXgm73IhCI8YXgwhfc3L179yQlJUXEJLfsPoTnQJH9k2W8aNXRM2JgYFy/fj1oU6w2/43nz5+D6gXxSkNDY2FhkZ2dDdIWK/sBkLMQgRISElxcXAwNDeHqgEpWUlKyt7f39fXNz89HC8sjpgJ1dXVHjx6F9HKaqHhCQU1RUz9eN0T2twaZufMFLwkpWXJy8sePH/f09GAV+n8ZHR1NTEyUk5ODpNrc3ByScKwAgUAgxg9iCN/t27fz8fHN01rsfsMfz4Ei+yfLqe46dPICOwfXggUL7t69i9XmT2ltbQUhq6CgwMrKOn/+fAg5Q0NDWNn/ApIXolRBQUFAQMDatWunT5/OwcEBwldXV/fSpUulpaV//RcEYrISFxdnZmbGyMS8zNAk6yWa1vYbdis4Ws/IDITv3r17/3ZDnI8fP7a1tW3cuJGJiUlVVfX69evv3r3DyhAIBGL8IKzwBdX74cMHkGKMTEymVtZhSfl43hPZP1l+fa/f4yRefkFRUVGQsz9/PghydmRk5NatWyBhGRgY1NXVQddiZf8LvMLw8PCrV68iIyM3bdrEwsJCS0vLzs4+b968Y8eOlZeX//wtEIhJBjT4a9euqaiocHLzHHO7gkZh/ZZFpD/fdciFjIxsobZ2WVkZVqc/0NvbGx8fz8jICB7p+PHj1dXVWAECgUCMK4QVvpDiNzc3g3Oko6PffeRUQT1avvdXrbh5MK+2e7qkNDU1zcaNG38+yez169chISFUVFTk5OQGBgYRERFYwf8CMX50dNTHx2fx4sUgeeGKABoaGv7+/q2trdhJCMRUAryTtbU1pH9CItPj8qqK0F6Sv2N5tT3X/MK++Xa6tLS0v05Zg4MLFy6EE4yMjLKysrCjCAQCMd4QVvh2dXUFBgaC71NUUTvnFQBiDs97IvuJQXXp6BtxcHLr6enl5eVhdfoX6uvrr169KiAgAKrX3Nw8Ojr6R5X8+fNnOMHb21tVVRW3fxsfHx+84P3791taWoaGhtAka8TUJDs7W1dXl52DU1t3RWFjH17vQ/ZzA+8UGJkmJikNbufmzZttbW1YtX6jtLT0wIEDDAwM7OzsqampfzvTAIFAIMYFwgrfurq63bt3g/A1sbT2f5qM5zqR/attcTgkKj5DTU3Nz88Pq9P/S2trK6jeOXPmUFBQQBSPiIj4vubup0+fioqKPD09169fr6ysDJJXSEjIxMTk8uXL6enpHR0daMUGxFTGy8sL+sV0Camtew7j9Ttkv2KPUwp1DUzAve/bt6+4uBir1m9z2jw8PJSUlJiYmOzt7V+9eoX2ekQgEKQDYYVveXm5gYEBeEb7g85P00vw/Cayf7VTl27KK82WlpZ2cnLC6vQHOjs7vb29Fy1axMbGpqCgEBwcjJte/fbtW0g57t+/D1Fn9uzZXFxcfHx8S5cuPXr0KG6dMty/IxBTGUdHR3Fx8Vlz5p27EYDX75D9isXmVu484ATu3dTUNDExEavW//mfzMzM1atXs7Ozz5w5Mzs7G81pQyAQJAVhhW9JSYm6ujp4xqNnPeLzq/H8JrJ/tVsPotTmLxQWFra1tcXq9Bu49cgePnyoqqrKzMwMqtfNzQ2Oj4yMgBrOzc29cOHCtGnTcI8aIfxYWFgkJSWNov3xEYj/xcrKip+ff8Fi3cDINLx+h+xXLLW06cLNIHDvGhoaoaGhUKVfvnwBF7Rr1y4xMTEREZEdO3bgqhqBQCBIB8IKX1BgoqKi4BnP3wzMrGjH85vI/tWeppVo664A8aqvr4/V6TeGhoYyMzM5OTkpKSlnzZp1/vx53PGMjAwINtOnT4c6B0D7QhD626knCMQUZ9myZWxsbIuXG4anP8frd8h+xbKrOh/EZIGfkZCQxC25CH4mNTUVVC81NbWxsXFjYyOuqhEIBIJ0IKzwBXHGwMAAnvHWg6iChl48v4nsXy235rX+qjWgbmfOnInV6f/8T19fX3R0NEQXCgqKuXPn+vj4tLW1geQFcSwoKEhHR0dPTw+S99q1a7W1tYODgz/ZVwmBmLKoqqpCZ4H+lVHehtfvkP2KFTb2p79oA/cOLufixYu4NcKVlJTA/yxfvjwkJAQN7UUgECQIAYXv8PBwfHw8iDPQvn5Pkoi8pEN+/Zusl6+yq7r++r6FDX3PKjsmxHr1RU0D5hu2MDAyiYuLv3r1CkLLmzdvgoKClixZQkNDA6r35MmTEHJ27NihoaHBycnJzs6+YMGCI0eOREVFNTc3v3//Hq3Oi0DgAZ0CskEpKSlqappVFpvAIeD1O2S/YuBaC+p7mVnYoBqdnJwqKiq8vLwYGRmFhYXPnz/f3t6OVTcCgUCQEgQUvm1tbaGhoWRkZLx8/EFR6XhOk9AWmVl22efBreDowkb8bUgTC2uv3A25cDMI7zhpms2uAzx8AiIiIsXFxa9fvwbVa2hoyMbGBtHFyMjI2tp62bJlQkJCdHR0IHl37drl7+//4sULNLYBgfgncPcmRUVFGRgZLazt8HocccwrKPxvh1jk1Ly+/TAG3FdOdRdeEQkaaF8xSWk6Ovpt27bduXNn4cKFFBQUGzZsyMrKQik3AoEgTQgofMvKynx9fUH4zpCWC459hucxCW0370eutti0bc+R/Dr8XTPCkgvtHI9Z73DEO06a5nD4pKi4JEjbxMTE8PDwpUuXMjExMTMzq6ioaGpqcnJysrKySkhIQMgBydve3o4eLyIQPwfSwqqqKkgduXh4IbHE63HEseVGZq6evngHwVJLm6x37vMMeJxc0oBXRIIGwnf2vAVMzCzgl6ysrKioqAQFBSMiIt68eYPVNQKBQJAYBBS+qampHh4eIHxV5y0ITczD85iEtp8I32eVneHpz5+kFOEdJ03DCV8BAYGwsDAZGRl6eno6OjoQu1CxAIhgXV1dHx+fvr4+rN4RCMRPeffuHXgn6FPTJWbsOXoar8cRx6RnKh5wOYd3ECzr5auTl7yDItMnxMjj78KXh4dn2rRpNDQ0u3fvRoMcEAgEKUNA4evv73/48GEyMvKVJhbEnzcNwtd4zYb1Wx1s7PevWLVmnfWO8973cIP5EovqPAMee9x5iDszOC77gMt5A1NLTZ3l5hu3+oTEpJU2w/G82p6HcdnrbHYsWbEKXurImcupz5tLiL753Ilznoqz1aioqCBOU1JSkn+DgoIC5O/27dtzcnIGBwfRXV4E4tfBLQXIy8urqKIG/QuvxxHHQPhCTvskrRj8ErijrIpXxd/2TAa38yAmKyG/Oq+2++ufdT2RmWXu1/3OXLl9+2F0QkHN91dIf9H6IPaZq6fvpVv34/Nr/prhE8FA+IJ75+DkBqcEObmUlBRk4MgdIRAIUoaAwvfKlSu7du0Ch2hpszP6WTmexyS0gfBdom8sLCq+3fHo4dOXQAHrGZsddDkPRWFJBVt3H96wbXdR00BERulyI9O1m7YdPnPpuNvVdTY71bV0rvg+yq3pDk8vnau5aNchl+Nu13bsP2G8diOoZ+LPgznmekV+lipUIw0NDRkZGShgiC42NjahoaGVlZWgetEGbAjEbzE8PHzt2jUuLq65Cxb97XgDIhgIX3llVVMrG6stu5YZmqxet/luaHxhY19yccNqi00XvO8lFtZGPSt3vui1YPGyzTscLW136hqshvz8bmgC/PvTtOJdh08uNzKz3rnPfMMWbd2Vbtf9iL9kJAhfXQMTNg5OcE0yMjJXr14F1YtG9yIQCFKGgML37Nmztra2oNi2OByKza3E85iENhC+ywxMQDLeCo4OSy647PPAYrOd4uy5+fW996MzIVRACAHh+zA+Z521nfOFG2FJ+eEZz6/5h/ELCh8+czmlpPFeRCojM8tpj9sP47J9Hyc6nb9ut+848ff0P+5+TVFF7du4BjJpael169Z5eHhkZmYODQ2hAINA/Aeg74B34uDg0Fqid+n2A7weRxwD4auqrgXiFT7AMbers+dpOp5wjcgsjcurmj1vwdGzHjE5FXfDEiBjB2d15W4IeLCN2/csXKIPqTj8u5unL4hms/W21/xC3W/46xmvAUdBfDcLwneZoSk7BxcLC8vq1avr6uqwKkYgEAhShYDC9+TJk5s3bwbhu93xWFxuFZ7HJLR9HeqwdgOEiry6Hvgz/UWr+3V/Kmoa+CUwMh0nfIubBqKelV++89DnUSwo4MDItNsPo7l5+PYePxuXXx0UlTFtuoTDkVNXfB/5PUkCHfx1UbZvjyOJaSC4lVTnUVNTi4uLHz169NmzZ/39/VgVIxCI32dwcBC8Ezs7u/aylaAp8XoccUxOSWXDtt2gdOH3osb+FSYW5hu3gqv5UfgGhKc4Hne9Gxofn18dlfXC+fyNFavXGplbwb8cdDlvsm7z1j2Hg+Oy4UzQvjeDo+B/v78+cQyEL3wkdk6umTNnQi6B1S8CgUCQMAQUvu7u7lu3bgXha2O/PybnJZ7HJLSB8F2zYcvJS97fN86A+EFGRhadXeH/NBknfOFgUVO/x52Hm+z2LtRdoaAyZ9p0cSoqahC+qaXNKc8b4ZNzcPGAKaqobdjm4P80qYjowveY21UF5TlcXFxubm7Dw8NY5SIQiP/K0NAQeCcODo4Fi3Qv3AzE63HEMVV1reNu177/ue+E2yqLTUddr/wofMHbZFa0BzxNdjp3feueI9q6K2fOmo0TviBzF+sZ8vAJaGgv3XnQOSA8Na2sBWTo9xckjsE76hmbg/C1sLDIyMjA6heBQCBIGAIKXz8/v8OHD4PwNTBdF54xDpPbzNbbHDp1Mb/+q/CFnzcCw0H4QlwJCE/BCV84CCfIyCut2bTNM+Dx45SivNpuQWERnPDFvU52VZffk6Q9R09DjKShpUvIryn49oJEs+/LmaWmpr5//x6rXAQC8V95+/ZtYGAgDw/PLNV5Lhe88HoccWz+wiXO5298/xN3BxdP+F71CwVdKyA0zczKZs+xM9v2HgVxjBO+YElFdV5B4Tb2B+Bb0NEzrDSxuBMa9/0FiWMgfHGrOmzZsqWsrAyrXwQCgSBhCCh8Y2Ji3N3dQWuCZHycXIDnMQltIHxXrF67RN84t+br5OgnqUUOR07x8gvm17/5PsY3t7bb0MxKf9WaS7cfZJS3ZVa0334Yw837dahDePpz+H3xcoPk4gY4Hptb5ebpR05OEZKQm03cheWtd+6DjyQqKlpRUYG2pUAg/px3797Fx8fz8/NLSMnuc3LD63HEsZlKsyGnfVbZgfvTfONWs/W2573vfRe+wXHPwGXJKsy69SAq+ll5YmHd2Wt3Qd3ihO+NwKeQqwfHZcP5j5MLrbbY661ac/j0JdyrEc1A+H7dwIKe3tHRsa2tDatfBAKBIGEIKHzz8vK8vb1B+CrMmh0Sn4PnMQltIHyXG5rOmqMOKtbp3HWQj8uNzHCL1T+IycLu+Na92bn/xDzNRZvs9py54nPi3HUrW3tuPv6dB5zCkgvuhafKKaps3X3I6fz1Y65X1m91kJFXSiisJfIdX4vN2xmZmcXExDo7O9ECDgjEn/Phw4fi4mIhISF+QeHtjkfxehxxDHyLtu6K0x63HyXmXbkbMnueJs7tfBe+kGPvOnRyuoTUuRsBuDx84/Y9ymrzIZmHfwd/ZW2/f8/R06CPwbsama83NF8PB398CyIYCF9OLm4qauoTJ04MDg5i9YtAIBAkDAGFb21tbVBQEAhfkeni92My8Twmoe1BbNauQ85WW+xNrWzWbtpmvHbDhm27w1IKoSgio/TQqQt7j50pauz3f5JsvGYD2MZtu6137LPddWDF6rWnLt+Kzi5PLm7Yuvsw/Llm47Y13+7H7HNy/+sGyAQ1eDv45DQ0NNLS0qOjo2gZBwTiz/n06VNra+u0adNY2NjBLeB1OuIY5OELl67YtH0PaNxviy2aXw94nFvTnVRUt8LEws3TNzq74rx34OLlBuDEXC56QwIPfmzpilUrTdfBv98OibXeuR/07gGX84dPX9JftXbvsbPBcdk/vgWhDVRvQX0vLR0dNTWNq6sreh6FQCAmBAQUvm/evImMjAThy8bOcS8iFc9pEtryarvTX7RmV3U9SS2++SDqQUxWVsUrXFFB/Zv0Fy24XSrA4vOr74bGewWFhyblw59wHEpxAyTAHiXmefo/vhUcTfyliMGeVXZCRKSmplZWVsaqFYFA/BmQQA4PD4uJidHQ0kJCCwIOr98RwS7cDPS489Dtup+l7U5IsB+nFOZUv4bjWZUdoHqDY59lVrSnlDSC77LasgsS7+NuV++ExoMjPXLmMu4VQhJyQTRD0TobO/iXmOwK3HGiGaTlGeXt4OGZmVkuX/bAKheBQCBIGwIKXyAjI4OKigo8451HccRfCGwSWEzOy8XLDVlYWJYsWYLVKQKBGAuUlJRoaGhWmqzDKU5kv2vfdvl5Du592jSRW7duYdWKQCAQpA1hhW9OTo6goCB4xku3H3yfxoHs1y0oKkNDeykvL++aNWuwOkUgEGOBtrY2MzPz0hWriL/vw+SwzIp23BqR8vIK9+4FYtWKQCAQpA1hhW9RUZGSkhJ4RpeLXknF9Xh+E9m/mveDyDnzF4qIiOzYsQOrUwQCMRasXr2am5t74VJ94k+9nRyWWtp08dbXWRyampphYWFYtSIQCARpQ1jhW1paqqOjA55xv5N7NNGHoE0CO+99T0l1npSU1LFjx7A6RSAQY8G2bdumTZumprHwRuBTvH6H7FcsoaDm8KmL4N4NDQ1jY2OxakUgEAjShrDCt7Kyct26deAZbXcdDE38OnUM2W/ZoZMXpOUUlJSULl++jNUpAoEYC06dOiUrKysjr3SE6MvfTg6LzCqztN0J7t3a2jorKwurVgQCgSBtCCt829raQLGBZ1TX0rni+wjPbyL7V9NduZqDi0dHRycpKQmrUwQCMRZERUVpampy8fCtWL0Wr98h+xW7H5MpJacA7v3KlStNTU1YtSIQCARpQ1jhOzw8XFpaCp6Rg5Pr0MkLRcRdBHdCW3HTQHpZi5ikNC0d3YYNG/r6+rA6RSAQY8GbN28sLS3p6OgkZWZCXxuXRc0mrmW9fHXhZhAVNTUzC0tqauqHDx+wakUgEAjShrDC99OnTwMDAwICAgyMjBu27Y7Lq8Lznsj+yfLr3tx8EMnDLyAiKurk5IQWh0cgxhboU87OzmJiYnwCQtcDnuTXv8Hrg8h+Yk9Si3fsP05GRqa9aFFZWRnaWweBQEwUCCt8AXCI+vr67OzsS1euuhUcjec9kf2TPavstHM8xsrGvnjx4sBAtFQQAjH23L9/f8mSJaxsHJu2782u6sTrg8h+Yt73I5euXE1OTn7kyBE0zgGBQEwgiCF83d3dRUREZirNPnjyAp73RPZPllbarK6lQ0dPv3379vz8fKw2EQjE2FFYWGhnZ0dHR6+grJaGRjv8skFFuVzwEp8hQ0FBERER8ebNG6xCEQgEguQhuPAFMjMz5eXl2Tk4V1tswnOgyP7Wipr6Y3MqGBgZySkoLl682Nvbi1UlAoEYOwYHB69cuUJFRU1LSxed/bKwoQ+vJyL7W8ut6d629yglVBw19dDQ0KdPn7AKRSAQCJKHGMIX3OKyZcsYGBjmzF+IVvP9FUspabx4K4icnFxWVvbp06do/BwCQQigZ0VFRc2ZM4eMjOy4+zU0CeEXzedRnK7BajY2toXa2sg7IRCIiQUxhC+wf/9+CQkJKTkF9+t+eD4U2V/tcUrhJrs9EIytrKxyc3OxSkQgEGNNcXHxrl27oK8ZmK4Ljn2G1xOR/a0dc7uqNHvutGnTjh8/jtUjAoFATBCIJHzv3bunpaXFJyBksWk7ng9FhmfFzYM+IbGz5y2AYOzh4dHQ0IBVIgKBGGva29v9/Pygr4nPkL7mF5pfh9Z2+BfLq+tZu2kbL7+gvLx8fHw8Vo8IBAIxQSCS8C0uLl63bh0zC6v8LNXMivaiJrSg7z8a1M/JSzfZOTjp6OiSk5MHBgawSkQgEGPN6Ohobm4uFxcXDQ3tnqOnY3Ne4vVHZHgWmpQ/R12TiZl56dKlr1+/xuoRgUAgJghEEr5v3749cuQIIyMjPQPj7YcxaOWgn9i9iFTzDbaUlJQSEhJonSAEgtC0t7ebmJjQ0tKqLdB2v+GP1x+R4dnG7XsEhKaBdzp06BBWgwgEAjFxIJLwBZKTky0tLUHPqaipR2aW4TlTZDjLr3uzdc9hLh5eNja2e/fuDQ4OYtWHQCAIw/v372tqavj5+alpaFaYWDxNK8HrlchwVlDfG5dXxcrGQU1NbWtrC5WG1SACgUBMHIgnfHt6evz8/Dg4OJiYWU573E4srMXzqsjAvIKeai3RY2fnUFNT6+rqQusEIRCE5suXL2/fvt26dauwsLCktNzOA054vRIZzhIL67btOUxDS6uqqnr79m2oNKwGEQgEYuJAPOH7+fPnwsJCU1NTMjKy5UZmdx7FoeXi8Sy/7o2l7U4hkenS0tKnT5/GKg6BQBCehIQELS0tNnaOeVo64enPkXfCs5zq136PE6XkFGhoaPbv319SUoJVHAKBQEwoiCd8ga6urpCQEAYGBn5B4YMu51NLm/B861S2oqaBRwl5M5Vms7GzGxkZlZaWYrWGQCAIz/Dw8J49e4SFhfkEhPY7uxegzSz+r0Vmlu09fpbi29yD8PDwoaEhrOIQCARiQkFU4fvly5e+vj5ZWVlaWtrlRma3gqPwfOtUtry6Hpud+zm5edDtXgRiXIiNjTUxMaGjZxCTlM4sb4NcFK+TTlmDqrh8J1hZbT45OTmkB1VVVViVIRAIxESDqMIX+PDhQ2BgoLCwMAcnl8Xm7fl1PXgedmpafn1vbE4lMwsrJSWlg4NDZWUlVl8IBIJYfPr0ycfHB7wTGRnZwVMX4/Or8frplLXQpPy1m7aBd2JjY2tvbwc3jlUZAoFATDSILXy/fPnS29urp6fHycWlrKZ+8VYQnoedmhaV9WL73qMUlJSqqqoPHjwYHR3F6guBQBAL8E7Pnz8/ePAgCN8ZMvI370fm1nbjddUpaEWN/XuPnZWWU+Dm5t61a9fIyAjaphiBQExciC18cVy/fn327NncvHx6xuZpZS1T/JFiRnnbZZ9gmZlKFBQUJ06cKC8vx6oJgUAQl/7+/ri4OCkpKXoGxlUWG7/OwZ3yAx487jzU0F7KycWtoqKSnZ2NlppBIBATmvERvlVVVVu2/L/27jwoqjNdA7ik6abpbppuNkUWQRBRQBEiywgqqGhiAIVInDEqKMYNcUONQJAIAdzXiMEhuKDggIAtm4IitKCyNEIa2UEUkCUNIq4gNfdL7GvNpa41907NhF6eX71/gFXY55yq837Pd/p853yjqaWlraMXcTyWX9Umt2uoixtFscnZS5b70mhKpqamt27dwrN7AUZQa2trUFAQm83W0dP3XrflSm7xsHNWfqqkqTf9zi8urh6ao7XJZGDnzp24yQEApN3IBF/i/Pnzs2fPVqLTjSdOupTBv1vbNaznykllFlWtWLuZq6bOYrFCQkLa29vFBwgARgLJdp2dnba2tiT7jp9gusZ/V2G1PL5psuxR363y5u3fRTJZKhwOZ+3atbW1teJjBAAgtUYs+L558yY5OdnY2HjUqFEOzi6xSdnD2q48VGlT75dfr9IaM1ZNTW3BggWDg4O4eQ5AEgiFQicnJxqNpqtvuGlX6LAzVx7qpqAp6sdzFEVF0qI3bdpUUlIiPjQAANJsxIIvSXidnZ0pKSlsNpvBZC5auvLM3zKHdV6Zr9V+AXrjxnPV1Nzd3auqqpB6ASTE27dvs7OzPT09aUpKXHXN42eTCoRPhp2/Mlz8qrawIzGGxhNHKSgsX778zp07b968ER8aAABpNmLBlxgYGGhtbd29ezeXy9XVN1yx1v9qvry8JZ+MK7FJ2ePGT1Bhs11dXZOSkjCuAEiU7u7u8+fPu7i4KCgo2M+a89OlawXC1mEnskxWcYMo8kSc45wFLBW2hYVFTk6OSCQSHxQAACk3ksGXINlXKBQuXLhQS0vL1GzK5sAwvrBV5he6FdV0nL96y91rORlQbW1tT58+3dXVJT4iACAxmpubo6OjTU1NaUpKS772JZPV+/Wy/+jx2KTrC9yXaGqNNjQ03L9/f19fH76MAgCZMcLB972EhAQnJycWi2VgZBKTmE6GFhnOvqXNvUk37q/bFkihUNTV1Q8dOlRfXy8+EAAgYZqamoKDg5lMpipHbeXazcm5xfdl9bU7Lc9Jd7pRWu/+1XJtHb2xY8cuW7YMT+0FABkjEcGXiI6OtrW1pdJohsYm1/iVxQ2i4U1ZViqnpH7d1kAyiI4aNSooKKi5uVl8CABA8pDY9/r16wULFnA4HBW26pzP3BKzCoed1LJRpU29N0rq57t9yWSpMBgMknobGxvFRwEAQFZISvDt7e09c+bMhAkTKBSK2VSrfT+ezXvwaFhfloEiQ+ZnbkvUNbQ4HK6zszPZ68HBQfEhAACJRLJva2vrypUrdXV16XRlvXHjSYPiV7UNO7ulugqrnx6PS7K2c6QpKamoqAQEBJSXl+NdFQAgeyQl+JIOW19ff+rUKRMTExU2e9p0u61B4Tx+xbDuLL1VVNMZm5Q9a+7nmqO1dXR1PT09c3Nzh4aGxPsPABKMTFBLS0tDQkKsra2pVNrkKdMC9kSl5glk471u2fdrvg07aDNjtiqHq6OjEx4eXlJS0t/fL955AAAZIinBlxgYGGhpadm/f/+UKVO4amrmltbrtwcl5xTLwP2+uWWNx+OSP1/8FZ2ubGxsvGrVqtTUVDzGAUCKkGlqRUXFoUOHnJycFBUVLaZ9um5r4LnUm1K93I1015RbZZt377X81I50XRMTk9DQ0Nra2levXol3GwBAtkhQ8CXI0PLy5cuwsDBbW1tVVdUxY3XX+O/KLKq6V989rF9LS5U96ssVNB44HT/380UKCgp6enp+fn75+fm41gsgjZ4+fXr58mVLS0sWi6U7znDJct8LV/Pu1nZJ4/z8fsOvWXcfbggIHqurT/rttGnTduzY8fz5c3QnAJBhkhV8P7h48eLcuXNH/e7PPutTb5VJ6VeKRTWd20OiJk+ZRlKvoqLikSNHWlpaxDsJAFJocHCwpKRk+vTpDAZDmcE0n2qdmFVY0tgz7NyX/OIVVPhs2Pa+zTo6OsbExGDJAQDIPAkNvu/evauoqAgJCaHT6RSKopXNn344+td7ddJ03bes+dlNQaPTAld1TS2yFxYWFpmZma9fv8azgQCk3dDQUFtbW2BgoJGREYVCUeVySYK8lMG/LyWPo7nGr9wSGG421YpCpuOKirt37xYIBFjKBgDyQEKDL/HixQuhUHj06FENDQ2umvoUKxuf9Vtjk7OHdXAJLMGjvqx71VEnzzrP/0JNQ1NTS8vDwyMlJUUkEiH1AsiGgYGBurq6mJiYOXPmkOyrratvM2PWqo3bT1/ilTRKaPwtbhTdKKnb9l3ErLmf6RsYsVU56urqBw8erKysxFI2AJATkht8iTdv3rS0tAQHB1tZWZEAqW8wfr6bZ+iBU0k59+88fDqsp0tIZd59ePhMwmq/ADtHZwaTZWho6Ovrm5aW1tPTI94rAJAJZB77+PHjxMREb2/viRMnkvm5vqHxvC8WB+yJupRRIFEvoSxp7Lla8GD/qXMrvvE3NZ+qwlY1MDBwc3MLCwtramrCQlsAkB8SHXzf6+joiIqKmj9//rhx45SUlMZPMPX133nyXEpGoVBybn4obe7lV7UlZhXu3HvgT7Pmqmlostm/vebe39+/qKgIS6QBZNXbt28rKyuDgoLmzZtH0iSbrao1RvvrNX5HziSk5gkKhK3DesUfXGWP+rLv1/x85cbm3WE2M2bTaEpjxoyxsbEhrYnH4+FCLwDIGykIvsS7d+8EAkFISIiOjs4nn3yioKAwwdR8jf+uq/kPSFsf8csqgkd9tysfxyZlW9s5KCszyBZyOBx7e/urV68i8gLIifLy8tDQUDMzMwqFQnqUjr6B14o1Zy5nklnxH9+myMeRvlTa1FtU83Tbd5GTp0xToiuTDaPT6T4+Pnw+v6+vT7zdAADyRDqC73tDQ0P9/f1kaDE2NqZSqWRoYbBYy1Zv5BVUFI/cTXU3BU0h+07YzJj1fnE0l8sl48r169exUgRADvX29sbHx5ubmzOZTNIQ6MoM44mTNwR891NCem5Z47Du8R8qkneTcu6FHjjl7rVcXXO0gsInZEuMjIzWr19P0jlWGgCAPJOm4EuQNPnkyZPbt2+HhITY2dlRqTQNrdFTrGw8l/kERx77wx6oSXJ2dnHtyXMp3uu32js66xv+tkxERUWFRN60tLTq6upnz55hdAGQQ4ODg93d3QKB4PDhwy4uLhwOl66sPFpbZ/yEiZ/aOZAkGrAn6mJ6fuHDp//eTlXc2JN59+Hxs8nrtgU6Os+fZGGpO86Qq66hSKWamJgEBASkp6c3NTW9ePFCvKEAAHJJyoLve69evRIKhfHx8Vu2bJk0aRKDySTjCom/8xYuXvGNf8j+kz8lXLvGr/z33gFc2vyML2w9z8uLOPHzxh0hHn/xcXBy0TcwUlZm6OvrL1y4MDw8nM/n9/b24lovgJwbGhpqaGjg8XiRkZG+vr729vba2toqbLaG5uhJFtNcvvBYvmbTrr0Hj8clJWYVphcK8ypa7td3/9+jMGlHRTUdNwVNvIKKeN7t8GN/JU3J8y8+M2bPGz/BVJnBVFdXNzMzI33J398/Li6OBHHSmsQbBwAgx6Qy+L5H4m99fX1YWJibm5uNjY2RkRGXy6VSaZMsLBd6fOW3c8/+6PNnU3N5/IrcsoYCYevdui4yWgwbPz5WZY/6ihtFhdVP8x48yiiquny96PQlXuiBU14rv7G2ddAcrU2n0zU1NS0tLZ2dnTdv3nzlyhWRSCTeMgCA37+hInGThM7o6GjSJdzd3e3s7ExMTFRVVenKyobGJk7zXclc3f/b74Mij0WejDsae/nHC6lnLmecTcm9mF6QdONeal5ZWn75lZulpAXFX7v9c/L1nxLST567cijmYvjRM9+GHdoQ8N1S77WW0+01tEYzmUwtLS1zc3MnJydvb+8ffviB9CXSJDEVBwD4QIqD7wft7e0ZGRlBQUEkg3I4HNL9lZSUFKlUFlvV2s5hQ0BwxPHYmMSMv12/l3WvJv+XJ3xh652H7STUFtV0kjR8r677Xl3X3drOopoO8u/8qraCX57kChp5BRUXeHlHYxO3h0S6frnMeOJkBQUFGo3GYDDIpxgbG3t6el64cKGuru7ly5fiTQEA+AjSqXJyciIiImbOnPnbBWAVFWVlZdJSFBUV36/ZpSkpqWlojjeeaGUzg2Rijz97r1y32XfTjmWrN5AW5Og839zSWs/AiKXCpvz+JxQKhUqlknZHmh5pSqampl5eXqdPn66pqcEtDQAA/ytZCL4fvHv3rru7Oz4+fs2aNRYWFmQ8+H292f/AYDJ19AzMplo5OLm4e33ts2Hb+u3BqzftWOq99jP3JZ/aOxoYmahy1BQVqeI/+G9kmGGxWB4eHkeOHCkpKcHjGgDgX9bR0ZGZmblnzx7SUhwcHMhEWlVVlTQZcbv5Z0hiJtHZ3NyczPa9vb1J2BUIBM+fPxf/7wAA8BEyFXwJkn2fPXvW1tZWU1OTl5e3b98+Ly+vmTNnTp48mYwTDMZvzxpTpFKV6HQGk6XCJhFXXU1dk6umocrhkt+VGQwqjUahUGg0GofDMTQ0tLW1dXV13bp1a1xc3IMHDx4/fvzrr7+S1Ds0NCT+SACA/6fBwcH+/v6uri7SUpqamurq6qqrq0l4zc/PT0tLO3v27OHDh4ODg7ds2bJx48aAgICwsLATJ05cvHgxKyuruLhYKBSSFtfQ0NDc3Nza2trT0/P69Ws0JQCAf0rWgu8HZAx48eIFGU4KCgoyMzOTk5Pj4+NjY2OPHTsWERERGBjo5+e3YsWKxYsXk1y7aNGipUuXrl69etu2bXv37iVDTnR0NBl7EhMTeTzezZs3y8vLSZjGrXIA8J9DOszLly9FIlF7e3tjYyNJtyQKl5aWkik3icUk43Z0dPT19Q0MDOChMQAA/xqZDb4f09/f39LSQsYSkobj4uKioqK+//77yMjIkydPJiQk5OXl1dfX9/T0kKFF/AcAAAAAIBPkLvgCAAAAgHxC8AUAAAAAuYDgCwAAAAByAcEXAAAAAOQCgi8AAAAAyAUEXwAAAACQCwi+AAAAACAXEHwBAAAAQC4g+AIAAACAXEDwBQAAAAC5gOALAAAAAHIBwRcAAAAA5AKCLwAAAADIBQRfAAAAAJALHw2+KBQKhUKhUCiUjJU47P5j8K2rqxP/BAAAAAAgE0Qikfinfwy+AAAAAAAyDMEXAAAAAOTA3//+X0cy4lwgbON+AAAAAElFTkSuQmCC"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Ao usar uma camada oculta, somos capazes de alimentar a saída de um neurônio \"AND\" e a saída de um neurônio \"OR\" em um neurônio \"(segunda entrada) AND (NOT a primeira entrada)\". O resultado é uma rede que executa \"(A OR B) AND NOT(A AND B)\", que é precisamente uma porta XOR (para entradas A e B):\n",
    "\n",
    "![neuralnetwork2.png](attachment:neuralnetwork2.png)\n",
    "\n",
    "Note que os pesos das camadas foram multiplicados por 10. Dessa maneira, as saídas ficaram mais próximas de $0$ e de $1$. Experimente dividir os pesos por 10 e veja o que acontece."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Retropropagação (*Backpropagation*)\n",
    "\n",
    "Normalmente, não construímos redes neurais à mão. Isso ocorre em parte porque as usamos para resolver problemas muito maiores - um problema de reconhecimento de imagem pode envolver centenas ou milhares de neurônios. E é em parte porque normalmente não conseguimos \"projetar\" ou \"pensar\" sobre o que os neurônios deveriam ser.\n",
    "\n",
    "Em vez disso (como sempre), usamos dados para treinar redes neurais. Uma abordagem popular é um algoritmo chamado *backpropagation*, que tem semelhanças com o algoritmo de gradiente descendente que analisamos anteriormente.\n",
    "\n",
    "Imagine que temos um conjunto de treinamento que consiste em vetores de entrada e vetores de saída *alvo* correspondentes. Por exemplo, em nosso exemplo anterior da `xor_network`, o vetor de entrada `[1, 0]` correspondia à saída *alvo* `[1]`. E imagine que nossa rede tenha algum conjunto de pesos. Em seguida, ajustamos os pesos usando o seguinte algoritmo:\n",
    "\n",
    "1. Execute `feed_forward` em um vetor de entrada para produzir as saídas de todos os neurônios da rede.\n",
    "2. Isso resulta em um erro para cada neurônio de saída, que é a diferença entre a saída obtida e a saída desejada, ou a saída *alvo*.\n",
    "3. Calcule o gradiente desse erro como uma função dos pesos do neurônio e ajuste seus pesos na direção que mais diminui o erro.\n",
    "4. \"Propague\" esses erros de saída para trás para inferir erros para a camada oculta.\n",
    "5. Calcule os gradientes desses erros e ajuste os pesos da camada oculta da mesma maneira.\n",
    "\n",
    "Normalmente, executamos esse algoritmo muitas vezes para todo o nosso conjunto de treinamento até a rede convergir:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "def backpropagate(network, input_vector, target):\n",
    "\n",
    "    hidden_outputs, outputs = feed_forward(network, input_vector)\n",
    "\n",
    "    # the output * (1 - output) is from the derivative of sigmoid\n",
    "    output_deltas = [output * (1 - output) * (output - target[i])\n",
    "                     for i, output in enumerate(outputs)]\n",
    "\n",
    "    # adjust weights for output layer (network[-1])\n",
    "    for i, output_neuron in enumerate(network[-1]):\n",
    "        for j, hidden_output in enumerate(hidden_outputs + [1]):\n",
    "            output_neuron[j] -= output_deltas[i] * hidden_output\n",
    "\n",
    "    # back-propagate errors to hidden layer\n",
    "    hidden_deltas = [hidden_output * (1 - hidden_output) *\n",
    "                      np.dot(output_deltas, [n[i] for n in network[-1]])\n",
    "                     for i, hidden_output in enumerate(hidden_outputs)]\n",
    "\n",
    "    # adjust weights for hidden layer (network[0])\n",
    "    for i, hidden_neuron in enumerate(network[0]):\n",
    "        for j, input in enumerate(input_vector + [1]):\n",
    "            hidden_neuron[j] -= hidden_deltas[i] * input"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Isso é basicamente o mesmo que se você explicitamente escrevesse o erro ao quadrado como uma função dos pesos e usasse a função `minimize_stochastic` que construímos na Aula07.\n",
    "\n",
    "Nesse caso, escrever explicitamente a função de gradiente acaba sendo uma espécie de dor. Se você conhece o cálculo e a regra da cadeia, os detalhes matemáticos são relativamente diretos, mas manter a notação formalmente correta (\"a derivada parcial da função de erro em relação ao peso que o neurônio $i$ atribui à entrada proveniente do neurônio $j$\") não é muita diversão."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Vou tentar aqui explicar melhor os fundamentos do algoritmo acima.\n",
    "\n",
    "Uma rede neural é alimentada por um conjunto $\\mathcal{X}$ de vetores de entradas $\\mathbf{x} = \\{x_1, \\cdots, x_{|X|}\\}$ e composta por um conjunto de camadas ocultas (*hidden layers*) $H = \\{h_1, \\cdots, h_{|H|}\\}$ e um conjunto de camadas de saída (*output layers*) $O = \\{o_1, \\cdots, o_{|O|}\\}$. Cada camada $h_i$ é associada a um vetor de pesos $\\mathbf{w}^{hi} = \\{w_1^{hi}, \\cdots, w_{|X|}^{hi}\\}$, em que cada $w_j^{hi}$ está associado a uma entrada $x_j$. Por sua vez, cada camada $o_i$ é associada a um vetor de pesos $\\mathbf{w}^{oi} = \\{w_1^{oi}, \\cdots, w_{|H|}^{oi}\\}$, em que cada $w_j^{oi}$ está associado a uma saída de um neurônio da camada escondida $h_j$. Adicionalmente, as camadas ocultas e de saída incluem um viés (*bias*) $b_1$ para as camadas ocultas e $b_2$ para as camadas de saída. Exemplo:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![neural_network-example.png](attachment:neural_network-example.png)\n",
    "\n",
    "Para cada vetor de entrada $\\mathbf{x} = \\{x_1, \\cdots, x_{|X|}\\}$ existe uma saída esperada (ou saída alvo) $\\{target^1, \\cdots, target^{o|O|}\\}$ para cada camada de saída $o_i \\in O$. Esses são os valores verdadeiros que a rede neural tem que aprender. Depois de executar o *feed forward* para $\\mathbf{x}$ e para uma dada configuração da rede, teremos uma saída $output^{oi}$ e um erro $error^{oi}$ associado a cada camada de saída $o_i$:\n",
    "\n",
    "$error^{oi} = output^{oi} - target^{oi}$\n",
    " \n",
    "O erro total da rede é calculado sobre todas as camadas de saída $o_i$::\n",
    "\n",
    "$E_{total} = \\sum_{o_i \\in O} \\frac{1}{2}(output^{oi} - target^{oi})^2$\n",
    "\n",
    "A constante $\\frac{1}{2}$ é incluída para cancelar com a derivada do erro que veremos a seguir.\n",
    "\n",
    "Nosso objetivo com a retropropagação é atualizar cada um dos pesos na rede de forma que eles gerem uma saída $output$ mais próxima da saída alvo $target$, minimizando, assim, o erro de cada neurônio de saída e da rede como um todo."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Ajustando os pesos na camada de saída\n",
    "\n",
    "Considere o peso $w_1^{o1}$, que é o primeiro peso da camada de saída $o_1$. Para facilitar a notação, chamaremos ele de $w_5$, exatamente como está ilustrado na figura acima. Queremos saber quando uma mudança em $w_5$ afeta o erro total, que é $\\frac{\\partial E_{total}}{\\partial w_5}$. Isso é lido como a derivada parcial de $E_{total}$ com respeito a $w_5$, ou o gradiente com respeito a $w_5$. \n",
    "\n",
    "O problema é que o efeito de $w_5$ é inicialmente propagado no cálculo de \n",
    "\n",
    "$net^{o1} = \\mathbf{w}^{o1} \\cdot \\mathbf{o}^h + b_{2},$\n",
    "\n",
    "em que $\\mathbf{output}^h$ é o vetor de entradas da camada $o_1$, que corresponde às saídas das camadas ocultas $h$, e $\\mathbf{w}^{o1}$ é o vetor de pesos da camada $o_1$\n",
    "\n",
    "Depois, a saída $output^{o1}$ da camada $o1$ é calculada usando a função sigmóide sobre $net^{o1}$, ou \n",
    "\n",
    "$output^{o1} = \\frac{1}{1+\\exp(-net^{o1})}$.\n",
    "\n",
    "Usando a regra da cadeia para decompor o nosso cálculo, temos:\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial w_5} = \\frac{\\partial E_{total}}{\\partial output^{o1}} \\times \\frac{\\partial output^{o1}}{\\partial net^{o1}} \\times \\frac{\\partial net^{o1}}{\\partial w_5}$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Vamos calcular agora cada uma das peças dessa equação. Primeiro, $\\frac{\\partial E_{total}}{\\partial output^{o1}}$, que representa quanto o erro total se altera com respeito à saída $output^{o1}$ da camada $o1$.\n",
    "\n",
    "$E_{total} = \\sum_{o_i \\in O} \\frac{1}{2}(target^{oi} - output^{oi})^2 = \\frac{1}{2}(target^{o1} - output^{o1})^2 + \\cdots + \\frac{1}{2}(target^{o|O|} - output^{o|O|})^2$\n",
    "\n",
    "Note que apenas um dos termos do somatório acima envolvem $output^{o1}$, então todos os outros serão zerados com a derivada parcial.\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial output^{o1}} = -1 \\times 2 \\frac{1}{2} (target^{oi} - output^{oi})^{2-1}$\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial output^{o1}} = (output^{oi} - target^{oi})$\n",
    "\n",
    "Agora, precisamos calcular quanto $output^{o1}$ é alterado com $net^{o1}$:\n",
    "\n",
    "$output^{o1} = \\frac{1}{1+\\exp(-net^{o1})}$\n",
    "\n",
    "$\\frac{\\partial output^{o1}}{\\partial net^{o1}} = \\frac{1}{1+\\exp(-net^{o1})} - \\frac{1}{1+\\exp(-net^{o1})^2} = \\frac{1}{1+\\exp(-net^{o1})^2}\\big(1 - \\frac{1}{1+\\exp(-net^{o1})^2}\\big) = output^{o1}(1 - output^{o1})$\n",
    "\n",
    "[Duvida desse cálculo?](http://www.wolframalpha.com/input/?i=derivative+of+sigmoid)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finalmente, calcularemos $\\frac{\\partial net^{o1}}{\\partial w_5}$, que mede quanto o valor de $net^{o1}$ se altera com respeito a $w_5$. Em uma notação mais genérica, $w_5$, que é o peso associado à primeira entrada de $o_1$, seria $w_1^{o1}$.\n",
    "\n",
    "$net^{o1} = \\mathbf{w^{o1}} \\cdot \\mathbf{o}^{h} + b_{2} = \\sum_{i=1}^{|H|}{[w_i^{o1} \\times output^{hi}]} + b_{2}$\n",
    "\n",
    "$net^{o1} = w_1^{o1} \\times output^{h1} + \\cdots + w_{|H|}^{o1} \\times output^{h|H|} + b_{2}$\n",
    "\n",
    "Novamente, todos os termos do somatório que não envolvem $w_5$ (ou $w_1^{o1}$) serão zerados. \n",
    "\n",
    "$\\frac{\\partial net^{o1}}{\\partial w_5} = output^{h1}$\n",
    "\n",
    "Colocando tudo junto:\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial w_5} = \\frac{\\partial E_{total}}{\\partial output^{o1}} \\times \\frac{\\partial output^{o1}}{\\partial net^{o1}} \\times \\frac{\\partial net^{o1}}{\\partial w_5}$\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial w_5} = (output^{oi} - target^{oi}) \\times output^{o1}(1 - output^{o1}) \\times output^{h1}$\n",
    "\n",
    "Na função `backpropagate`, estamos fazendo isso em dois passos. Primeiro, calculamos \n",
    "\n",
    "$\\delta^{o1} = \\frac{\\partial E_{total}}{\\partial net^{o1}} = \\frac{\\partial E_{total}}{\\partial output^{o1}} \\times \\frac{\\partial output^{o1}}{\\partial net^{o1}}$\n",
    "\n",
    "ou\n",
    "\n",
    "$\\delta^{o1} = (output^{o1} - target^{o1}) \\times output^{o1}(1 - output^{o1})$\n",
    "\n",
    "Depois, calculamos\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial w_5} = \\delta^{o1} \\times output^{h1}$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Então, para diminuirmos o erro de predição, devemos subtrair esse valor do peso atual, opcionalmente multiplicado por alguma taxa de aprendizado $\\alpha$ (ex: $0.5$):\n",
    "\n",
    "$\\hat{w_5} = w_5 - \\alpha \\times \\frac{\\partial E_{total}}{\\partial w_5} = w_5 - \\delta^{o1} \\times output^{h1}$\n",
    "\n",
    "De forma geral:\n",
    "\n",
    "$\\hat{w_j^{oi}} = w_j^{oi} - \\alpha \\times \\frac{\\partial E_{total}}{\\partial w_j} = w_j^{oi} - \\delta^{oi} \\times output^{hj}$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Ajustando os pesos na camada escondida\n",
    "\n",
    "Agora vamos ver como a retropropagação age nas camadas escondidas, ou seja, como atualizamos os pesos dessas camadas.\n",
    "\n",
    "De forma geral, o que precisamos saber é o impacto da variação de um peso de uma camada escondida no erro total. Para simplificar, vamos usar o peso $w_1^{h1}$ para o cálculo. Como fizemos anteriormente, chamaremos este peso de $w_1$, exatamente como ele é descrito na figura.\n",
    "\n",
    "Queremos calcular $\\frac{\\partial E_{total}}{\\partial w_1}$. Usando a regra da cadeia:\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial w_1} = \\frac{\\partial E_{total}}{\\partial output^{h1}} \\times \\frac{\\partial output^{h1}}{\\partial net^{h1}} \\times \\frac{\\partial net^{h1}}{\\partial w_1}$\n",
    "\n",
    "Visualmente:\n",
    "\n",
    "![nn-calculation.png](attachment:nn-calculation.png)\n",
    "\n",
    "Faremos um processo similar ao que fizemos para a camada de saída. A diferença é que cada neurônio da camada escondida contribui para a saída (*output*) de múltiplos neurônios da camada de saída. No exemplo acima, $output^{h1}$ afeta tanto $output^{o1}$ quanto $output_{o2}$, então $\\frac{\\partial E_{total}}{\\partial w_1}$ precisa considerar seu efeito em todos os neurônios da camada de saída:\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial output^{h1}} = \\sum_{i=1}^{|O|}{\\frac{\\partial E^{oi}}{\\partial output^{hi}}}$\n",
    "\n",
    "Começando por $\\frac{\\partial E^{o1}}{\\partial output^{h1}}$:\n",
    "\n",
    "$\\frac{\\partial E^{o1}}{\\partial output^{h1}} = \\frac{\\partial E^{o1}}{\\partial net^{o1}} \\times \\frac{\\partial net^{o1}}{\\partial output^{h1}}$\n",
    "\n",
    "Isso é exatamente o $\\delta^{o1}$, que definimos e calculamos anteriormente anteriormente:\n",
    "\n",
    "$\\delta^{o1} = (output^{o1} - target^{o1}) \\times output^{o1}(1 - output^{o1})$\n",
    "\n",
    "E $\\frac{\\partial net^{o1}}{\\partial output^{h1}}$ é o próprio $w_5$:\n",
    "\n",
    "$net^{o1} = \\sum_{i=1}^{|H|}{w_1^{o1} output^{hi}} + b_{2}$\n",
    "\n",
    "que no exemplo equivale a\n",
    "\n",
    "$net^{o1} = w_5 output^{h1} + w_6 output^{h2} + b_{2}.$\n",
    "\n",
    "Então:\n",
    "\n",
    "$\\frac{\\partial net^{o1}}{\\partial output^{h1}} = w_1^{o1} = w_5$\n",
    "\n",
    "Juntando tudo:\n",
    "\n",
    "$\\frac{\\partial E^{o1}}{\\partial output^{h1}} = \\delta^{o1} w_1^{o1} = \\delta^{o1} w_5$\n",
    "\n",
    "Generalizando para todos os neurônios de saída $o_i$:\n",
    "\n",
    "$\\frac{\\partial E^{oi}}{\\partial output^{h1}} = \\delta^{oi} w_1^{oi} = \\delta^{oi} w_5$\n",
    "\n",
    "Então:\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial output^{h1}} = \\sum_{i=1}^{|O|}{\\frac{\\partial E^{oi}}{\\partial output^{hi}}} = \\sum_{i=1}^{|O|}{\\delta^{oi} w_1^{oi}}$\n",
    "\n",
    "Agora que temos o efeito do *output* de $h_1$ no erro total $E_{total}$, precisamos também calcular $\\frac{\\partial output^{h1}}{\\partial net^{h1}}$ e $\\frac{\\partial net^{h1}}{\\partial w}$ para cada peso $w$.\n",
    "\n",
    "$output^{h1} = \\frac{1}{1 + \\exp(-net^{h1})}$\n",
    "\n",
    "$\\frac{\\partial output^{h1}}{\\partial net^{h1}} = output^{h1}(1-output^{h1})$\n",
    "\n",
    "Calculamos a derivada parcial de $net^{h1}$ com respeito a $w_1$ da mesma forma que fizemos para os neurônios de saída:\n",
    "\n",
    "$net^{h1} = \\sum_{i=1}^{|X|}{w_i^{h1} x_i} + b_{1} = w_1 x_1 + w_3 x_2 + b_{1}$\n",
    "\n",
    "$\\frac{\\partial net^{h1}}{\\partial w_1} = x_1$\n",
    "\n",
    "Ou, de forma mais genérica:\n",
    "\n",
    "$\\frac{\\partial net^{hi}}{\\partial w_j^{hi}} = x_j$\n",
    "\n",
    "Juntando tudo:\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial w_1} = \\frac{\\partial E_{total}}{\\partial output^{h1}} \\times \\frac{\\partial output^{h1}}{\\partial net^{h1}} \\times \\frac{\\partial net^{h1}}{\\partial w_1}$\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial w_1} = \\sum_{i=1}^{|O|}{\\delta^{oi} w_1^{oi}} \\times output^{h1}(1-output^{h1}) \\times x_1$\n",
    "\n",
    "Ou, usando a notação $\\delta$:\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial w_1} = \\delta^{h1} \\times x_1$\n",
    "\n",
    "Generalizando:\n",
    "\n",
    "$\\frac{\\partial E_{total}}{\\partial w_j^{hi}} = \\delta^{hi} \\times x_j$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Podemos agora atualizar o valor de $w_1$\n",
    "\n",
    "$\\hat{w_1} = w_1 - \\alpha \\times \\frac{\\partial E_{total}}{\\partial w_1} = w_1 - \\alpha \\times \\delta^{h1} \\times x_1$\n",
    "\n",
    "Ou, de forma geral para qualquer peso de qualquer camada escondida\n",
    "\n",
    "$\\hat{w_j^{hi}} = w_j^{hi} - \\alpha \\times \\frac{\\partial E_{total}}{\\partial w_j^{hi}} = w_j^{hi} - \\alpha \\times \\delta^{hi} \\times x_j$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Quer uma explicação melhor que essa? Acesse [aqui](https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exemplo: Derrotando um CAPTCHA\n",
    "\n",
    "Para garantir que as pessoas que se registram em seu site sejam realmente pessoas, o diretor de gerenciamento de produtos deseja implementar um CAPTCHA como parte do processo de registro. Em particular, ele gostaria de mostrar aos usuários uma foto de um dígito e exigir que eles digam qual é esse dígito para provar que são humanos.\n",
    "\n",
    "Ele não acredita em você que os computadores podem resolver esse problema com facilidade, então você decide convencê-lo criando um programa para fazer isso.\n",
    "\n",
    "Vamos representar cada dígito como uma imagem $5 \\times 5$:\n",
    "\n",
    "![digits.png](attachment:digits.png)\n",
    "\n",
    "Uma maneira de representar esses dígitos é:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "raw_digits = [\n",
    "          \"\"\"11111\n",
    "             1...1\n",
    "             1...1\n",
    "             1...1\n",
    "             11111\"\"\",\n",
    "\n",
    "          \"\"\"..1..\n",
    "             ..1..\n",
    "             ..1..\n",
    "             ..1..\n",
    "             ..1..\"\"\",\n",
    "\n",
    "          \"\"\"11111\n",
    "             ....1\n",
    "             11111\n",
    "             1....\n",
    "             11111\"\"\",\n",
    "\n",
    "          \"\"\"11111\n",
    "             ....1\n",
    "             11111\n",
    "             ....1\n",
    "             11111\"\"\",\n",
    "\n",
    "          \"\"\"1...1\n",
    "             1...1\n",
    "             11111\n",
    "             ....1\n",
    "             ....1\"\"\",\n",
    "\n",
    "          \"\"\"11111\n",
    "             1....\n",
    "             11111\n",
    "             ....1\n",
    "             11111\"\"\",\n",
    "\n",
    "          \"\"\"11111\n",
    "             1....\n",
    "             11111\n",
    "             1...1\n",
    "             11111\"\"\",\n",
    "\n",
    "          \"\"\"11111\n",
    "             ....1\n",
    "             ....1\n",
    "             ....1\n",
    "             ....1\"\"\",\n",
    "\n",
    "          \"\"\"11111\n",
    "             1...1\n",
    "             11111\n",
    "             1...1\n",
    "             11111\"\"\",\n",
    "\n",
    "          \"\"\"11111\n",
    "             1...1\n",
    "             11111\n",
    "             ....1\n",
    "             11111\"\"\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Nossa rede neural requer que a entrada seja um vetor de números. Então, transformaremos cada imagem em um vetor de comprimento 25, cujos elementos são 1 (\"este pixel está na imagem\") ou 0 (\"este pixel não está na imagem\").\n",
    "\n",
    "Por exemplo, o dígito zero seria representado como:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "zero_digit = [1,1,1,1,1,\n",
    "              1,0,0,0,1,\n",
    "              1,0,0,0,1,\n",
    "              1,0,0,0,1,\n",
    "              1,1,1,1,1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Então, vamos converter os vetor de `raw_digits` para o formato adequado:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_digit(raw_digit):\n",
    "    return [1 if c == '1' else 0\n",
    "            for row in raw_digit.split(\"\\n\")\n",
    "            for c in row.strip()]\n",
    "\n",
    "inputs = list(map(make_digit, raw_digits))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Queremos que nossa saída indique qual dígito a rede neural pensa que é, então precisaremos de 10 saídas. A saída correta para o dígito 4, por exemplo, será:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 0, 0, 0, 1, 0, 0, 0, 0, 0]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[0, 0, 0, 0, 1, 0, 0, 0, 0, 0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Então, assumindo que nossas entradas estão corretamente ordenadas de 0 a 9, nossas saídas alvos ($target^{oi}$) serão:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "targets = [[1 if i == j else 0 for i in range(10)]\n",
    "           for j in range(10)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "de modo que (por exemplo) `targets[4]` é a saída correta para o dígito 4:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0, 0, 0, 0, 1, 0, 0, 0, 0, 0]\n"
     ]
    }
   ],
   "source": [
    "print(targets[4])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Nesse ponto, estamos prontos para construir nossa rede neural:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "random.seed(0) # to get repeatable results\n",
    "input_size = 25 # each input is a vector of length 25\n",
    "num_hidden = 5 # we'll have 5 neurons in the hidden layer\n",
    "output_size = 10 # we need 10 outputs for each input\n",
    "\n",
    "# each hidden neuron has one weight per input, plus a bias weight\n",
    "hidden_layer = [[random.random() for __ in range(input_size + 1)]\n",
    "                for __ in range(num_hidden)]\n",
    "\n",
    "# each output neuron has one weight per hidden neuron, plus a bias weight\n",
    "output_layer = [[random.random() for __ in range(num_hidden + 1)]\n",
    "                for __ in range(output_size)]\n",
    "\n",
    "# the network starts out with random weights\n",
    "network = [hidden_layer, output_layer]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Podemos treinar essa rede usando o `backpropagation`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 10,000 iterations seems enough to converge\n",
    "for __ in range(10000):\n",
    "    for input_vector, target_vector in zip(inputs, targets):\n",
    "        backpropagate(network, input_vector, target_vector)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Ela funciona bem no conjunto de treino, obviamente:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def predict(input):\n",
    "    return feed_forward(network, input)[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.02445002906861177, 5.1976172178786706e-06, 3.570302492076813e-11, 0.018278166539962865, 0.0008722220050635978, 6.56805673131322e-10, 4.065677391198049e-08, 0.9695820235326976, 7.210840008211434e-09, 2.314920698350146e-08]\n"
     ]
    }
   ],
   "source": [
    "print(predict(inputs[7]))\n",
    "# [0.026, 0.0, 0.0, 0.018, 0.001, 0.0, 0.0, 0.967, 0.0, 0.0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "O que indica que o neurônio de saída do dígito 7 produz $0,97$, enquanto todos os outros neurônios de saída produzem números muito pequenos.\n",
    "\n",
    "Vamos imprimir isso de uma forma um pouco mais elegante:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 [0.96, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02, 0.03, 0.0]\n",
      "1 [0.0, 0.96, 0.03, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]\n",
      "2 [0.0, 0.02, 0.96, 0.0, 0.0, 0.03, 0.0, 0.0, 0.0, 0.0]\n",
      "3 [0.0, 0.03, 0.0, 0.97, 0.0, 0.0, 0.0, 0.02, 0.0, 0.03]\n",
      "4 [0.0, 0.02, 0.0, 0.0, 0.98, 0.0, 0.0, 0.0, 0.0, 0.0]\n",
      "5 [0.0, 0.0, 0.02, 0.0, 0.0, 0.96, 0.01, 0.0, 0.02, 0.01]\n",
      "6 [0.0, 0.0, 0.01, 0.0, 0.01, 0.01, 0.99, 0.0, 0.0, 0.0]\n",
      "7 [0.02, 0.0, 0.0, 0.02, 0.0, 0.0, 0.0, 0.97, 0.0, 0.0]\n",
      "8 [0.03, 0.0, 0.0, 0.0, 0.0, 0.02, 0.0, 0.0, 0.96, 0.03]\n",
      "9 [0.0, 0.0, 0.0, 0.01, 0.0, 0.02, 0.0, 0.0, 0.03, 0.95]\n"
     ]
    }
   ],
   "source": [
    "for i, input in enumerate(inputs):\n",
    "    outputs = predict(input)\n",
    "    print(i, [round(p,2) for p in outputs])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Também podemos aplicá-la a dígitos desenhados de maneira diferente, como o meu estilizado 3:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.0, 0.0, 0.0, 0.96, 0.0, 0.0, 0.0, 0.02, 0.0, 0.12]\n"
     ]
    }
   ],
   "source": [
    "s_tres = [0,1,1,1,0, # .@@@.\n",
    "          0,0,0,1,1, # ...@@\n",
    "          0,0,1,1,0, # ..@@.\n",
    "          0,0,0,1,1, # ...@@\n",
    "          0,1,1,1,0] # .@@@.\n",
    "\n",
    "output = predict(s_tres) \n",
    "print([round(p,2) for p in output])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A rede ainda acha que parece um 3, enquanto meu estilizado 8 ganha votos por ser um 5, um 8 e um 9:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.0, 0.0, 0.0, 0.0, 0.0, 0.62, 0.0, 0.0, 0.96, 1.0]\n"
     ]
    }
   ],
   "source": [
    "s_oito = [0,1,1,1,0, # .@@@.\n",
    "          1,0,0,1,1, # @..@@\n",
    "          0,1,1,1,0, # .@@@.\n",
    "          1,0,0,1,1, # @..@@\n",
    "          0,1,1,1,0] # .@@@.\n",
    "\n",
    "output = predict(s_oito) \n",
    "print([round(p,2) for p in output])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Ter um conjunto de treinamento maior provavelmente ajudaria.\n",
    "\n",
    "Embora a operação da rede não seja exatamente transparente, podemos inspecionar os pesos da camada oculta para ter uma ideia do que eles estão reconhecendo. Em particular, podemos plotar os pesos de cada neurônio como uma grade de $5 \\times 5$ correspondente às entradas $5 \\times 5$.\n",
    "\n",
    "Para plotar os pesos, vamos plotar pesos zero como branco, com pesos positivos com a cor verde e pesos negativos com a cor vermelha. Para fazer isso, usaremos o `pyplot.imshow`, que não vimos antes. Com ele podemos plotar imagens pixel a pixel. Isso é muito útil quando desejamos plotar mapas de calor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "def show_weights_all():\n",
    "    fig, ax = plt.subplots(1, num_hidden,figsize=(15,15))\n",
    "    maxv = max([max(abs(min(network[0][i])), abs(max(network[0][i]))) for i in range(num_hidden)])\n",
    "    for i in range(num_hidden):\n",
    "        weights = network[0][i]\n",
    "        #maxv = max(abs(min(weights)), abs(max(weights)))\n",
    "\n",
    "        grid = [weights[row:(row+5)] # turn the weights into a 5x5 grid\n",
    "                for row in range(0,25,5)] # [weights[0:5], ..., weights[20:25]]\n",
    "\n",
    "        #ax = plt.gca()\n",
    "\n",
    "\n",
    "        im = ax[i].imshow(grid, # here same as plt.imshow\n",
    "                          cmap=matplotlib.cm.RdYlGn, # use red-green color scale\n",
    "                          vmin=-maxv, vmax=maxv,\n",
    "                          interpolation='none') # plot blocks as blocks\n",
    "        \n",
    "        divider = make_axes_locatable(ax[i])\n",
    "        cax = divider.append_axes(\"right\", size=\"5%\", pad=0.05)\n",
    "        \n",
    "        fig.colorbar(im, cax=cax, ax=ax[i])\n",
    "\n",
    "        ax[i].set_title(\"network[0][\" + str(i) + \"]\")\n",
    "        ax[i].set_xlabel(\"bias = \" + str(round(weights[25],2)))\n",
    "    fig.subplots_adjust(wspace=0.5)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABNgAAADtCAYAAABtTshxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGlElEQVR4nO3deXhU1eH/8c/MZCUk7BAiEBFFZFMLKosKKqBIqfvPrYioKAIqpWql2BKtkNoWl9aC1VpEUaQVahetGhVBK1BE+Ypa/epXKlFARJEEkCwz5/cHzeiQmUkmmZmbe+779TzzPM6d5Zwb884khztzfcYYIwAAAAAAAABN4nd6AgAAAAAAAICbscAGAAAAAAAANAMLbAAAAAAAAEAzsMAGAAAAAAAANAMLbAAAAAAAAEAzsMAGAAAAAAAANAMLbAAAAAAAAEAzsMAGAAAAAAAANAMLbAAAAAAAAEAzsMAWxeOPP6577rnH6WlEKCkpkc/n086dO+Pe79BDD5XP55PP59P06dPr3f6b3/xGffr0UXZ2tnr27KnbbrtNNTU1Efe55557ws/x7TH/85//RGx/8sknIx63Z88ezZgxQ0VFRcrJydExxxyjJ554ot4czj777PBz9O/fP9EvBdBsNJ5445WVlbr55ps1ZswYderUST6fTyUlJVHnSONwGo0n3vhLL72kK664Qn369FFeXp4OOeQQnXXWWdqwYUO9OdA4nEbjiTe+ceNGjRs3Tj169FBubq7at2+voUOHasmSJfXmQONoCei8aX+Tf9vvf/97+Xw+tW7dut5tdJ4iBvWMGzfOFBcXOz2NCHPmzDGSzOeffx73fsXFxebMM880a9asMZs3b4647Y477jA+n8/MmjXLrFy50vziF78wWVlZZvLkyRH327Ztm1mzZo258sorI8bcvHmzkWRuvfVWs2bNGvPFF19EPG706NGmbdu25v777zcvvfSSueqqq4wk89hjj0Xc7/333zdr1qwxxx57rOnXr18TvyJA09F44o1v3rzZtGnTxpx88snhtufMmRN1jjQOp9F44o2ff/755pRTTjELFiwwL7/8svnTn/5khgwZYjIyMsyLL74Y8fw0DqfReOKNr1y50lxzzTXm0UcfNS+99JL529/+Zi666CIjyfzsZz+LeH4aR0tA5037m7zOJ598Ytq0aWOKiopMXl5evdvp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8Vabn332WV144YU66aST9OKLL6q4uLhR8657n/emTZt0wgknhLdv375dO3fuVP/+/Rv1PPGef+nSpaqtrY34HLa6D5Vs7vMDDaHx1DYOOI3G09P4bbfdppKSEpWUlOjHP/5xUp4TaAwad+Z1/Pjjj9f999+vjz76SJ06dUrJGEAdOk9d5zt37tRnn32m+fPna/78+fVub9eunc4666yUnTAFB1h1BFs83/3ud2WM0aeffqrBgwfXu3z7gwazs7P19ddfR32eUaNGqba2Vj/5yU/UrVs39enTJ7z9hRde0EsvvRReKZekvLw8nXDCCVqxYkXEc4ZCIS1ZskTdunULnyK3MYqLi8M/kE466SR98MEHjXrcGWecoZycHD388MMR2+vOknL22Wc3eg7RnHPOOdqzZ4+WL18esX3x4sUqKiqK+AECpAKNp7ZxwGk0nvrGf/azn6mkpES33nqr5syZ0+znAxJB4868jq9cuVJ+v1+HHXZYSp4f+DY6T13nhYWFWrlyZb3L6aefrpycHK1cuVJ33HFHk58fjeOZI9iGDx+uq6++WpMmTdLrr7+uk08+WXl5edq2bZteffVVDRgwQNdee62kAyvLK1as0MKFCzVo0CD5/X4NHjxYkjRo0CC1a9dOzz//fMTpdUeNGqWf/exn4f/+ttLSUo0ePVqnnHKKbrzxRmVlZWnBggV6++23tXTp0oTfH921a1etWrVKp59+uk4++WSVlZU1uNrdvn173XrrrfrJT36i9u3ba8yYMVq/fr1KSkp01VVXqW/fvgnN4WBjx47V6NGjde2116qiokKHH364li5dqmeffVZLlixRIBBo1vMDDaHx1DYuSf/4xz+0d+9eVVZWSpLeffddPfnkk5KkM888U61atWr2GEAsNJ7axufPn6+f/vSnOuOMMzRu3DitXbs24vYhQ4Y06/mBhtB4ahu/+uqrVVBQoOOPP15dunTRzp079ac//UnLli3TTTfdxNFrSAs6T13nOTk5GjlyZL3tDz/8sAKBQNTbkAIOnFgh6Q4+s0adujOAbN68ObztD3/4gznhhBNMXl6eyc3NNb169TKXXXZZxBmyvvzyS3P++eebtm3bGp/PZw7+Mp1zzjlGknnsscfC26qrq01eXp7x+/1m165d9eb4yiuvmFNPPTU87pAhQ8zf/va3qPNdv359o/bxq6++MsOH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009P5i4AjmjpbUezd+9eDR8+XBdccIEmT57cqMc0puU777xT999/vxYvXqx+/frp9ddf16RJk9SmTRvdcMMNqdwlIC1aeu9NeS1fvXq1Ro8erXnz5qlt27ZatGiRxo8fr3Xr1oV/R1+xYoWqq6vDj/niiy909NFH64ILLkjJfgBOaemNL1u2TDNmzNCCBQs0fPhw/e53v9PYsWP17rvvqkePHnEf+/7776ugoCB8/dv7SuMuYTxuxIgRZtq0aWbatGmmTZs2pn379mb27NkmFAqF71NcXGzuvvvu8PX58+eb/v37m1atWplu3bqZa6+91lRWVoZv/89//mO++93vmrZt25pWrVqZvn37mqeffjqdu2WMMeaTTz4xhxxyiHn77bfr7UM0Xbt2Nffdd1/EtrPOOstceuml4etz5swxRx99dApmC6SWba1LMn/+858TesyIESPMDTfc0Kj7HnvssebWW29NfGJAmtnW9sE2b95sJJk333yzSY8/uOVx48aZK664IuI+5557rvn+97/fnGkCaWFb7015La/Tt29fc9ttt8W8/e677zb5+flmz549TZwdkH42NH788cebKVOmRGzr06ePueWWW2I+ZuXKlUaS2bVrV6PHofGWibeISlq8eLEyMjK0bt06/frXv9bdd9+t3//+9zHv7/f79etf/1pvv/22Fi9erJdeekk333xz+PZp06apqqpKq1ev1qZNm3TnnXeqdevWMZ9vypQpat26ddzLli1bEtqnUCikCRMm6KabblK/fv0a9Ziqqirl5OREbMvNzdWrr74ase2DDz5QUVGRevbsqYsuukgfffRRQnMDnGJj68lmjNGLL76o999/XyeffLKjcwEai7bri9XyiSeeqBdffFH/+7//K0n6n//5H7366qs688wz0zo/oKno/cDv+ZWVlWrfvn3M+zz00EO66KKLlJeXl9K5AMnm5sarq6u1YcMGjRkzJmL7mDFj9NprrzW478cee6y6du2q0047TStXrox7XxpvoZxe4XPaiBEjzFFHHRWxKv6jH/3IHHXUUeHrDR399cc//tF06NAhfH3AgAGmpKSk0XP47LPPzAcffBD3UlNTk9B+zZs3z4wePTq8X405gu3iiy82ffv2Nf/7v/9rgsGgef75501ubq7JysoK3+eZZ54xTz75pHnrrbdMWVmZGTFihOnSpYvZuXNnQvMD0s221pXkI9i++uork5eXZzIyMkx2drZ56KGHEnpuwCm2tX2wRI9ga6jlUChkbrnlFuPz+UxGRobx+Xxm3rx5TZobkG629d6U13JjjPnFL35h2rdvbz777LOot69bt85IMuvWrUv4uQEnub3xTz/91Egy//znPyO2z5071/Tu3TvmmO+995554IEHzIYNG8xrr71mrr32WuPz+cyqVaui3p/GWy4+g03SkCFD5PP5wteHDh2q+fPnKxgMRv18sZUrV2revHl69913VVFRodraWu3fv1979+5VXl6err/+el177bV6/vnnNWrUKJ133nkaOHBgzPE7d+6szp07N2nujz32mK655prw9X/84x9q1aqV7r33Xr3xxhsR+9WQe++9V5MnT1afPn3k8/nUq1cvTZo0SYsWLQrfZ+zYseH/HjBggIYOHapevXpp8eLFmjlzZpP2AUgXN7eeavn5+dq4caP27NmjF198UTNnztRhhx2mkSNHOj01oEFubjva6/hJJ53UpOeSGm552bJlWrJkiR5//HH169dPGzdu1IwZM1RUVKSJEyc2eVwgXdzcezIsXbpUJSUl+stf/hJzHg899JD69++v448/Ps2zA5rPhsYP/hvcGBP37/IjjzxSRx55ZPj60KFDVV5erl/96ldR31FC4y0XbxFN0Mcff6wzzzxT/fv31/Lly7Vhwwb99re/lXTgLJySdNVVV+mjjz7ShAkTtGnTJg0ePFi/+c1vYj5ncw5D/d73vqeNGzeGL4MHD9Yrr7yiHTt2qEePHsrIyFBGRoY+/vhj/fCHP9Shhx4acx6dOnXSU089pb179+rjjz/We++9p9atW6tnz54xH5OXl6cBAwbogw8+aMRXD3CPltZ6qvn9fh1++OE65phj9MMf/lDnn3++SktLHZkLkEotre1or+PN0VDLN910k2655RZddNFFGjBggCZMmKAf/OAH9A4rtbTem2vZsmW68sor9cc//lGjRo2Kep99+/bpiSee0FVXXZWSOQAtSUtrvGPHjgoEAtq+fXvE9h07dqhLly4J7duQIUOi/o1N4y0bR7BJWrt2bb3rRxxxRNQV8tdff121tbWaP3++/P4D65N//OMf692ve/fumjJliqZMmaJZs2bpwQcf1HXXXRd1/Ntvv1033nhj3DnGOgtofn6+8vPzI7ZNmDCh3ovu6aefrgkTJmjSpElxx5GknJwcHXLIIaqpqdHy5cv1//7f/4t536qqKv373/9u1r+2A+ni5tbTzRijqqoqp6cBNIqb2472Op5MB7e8b9++8H7XCQQCCoVCKZsDkExu7r05li5dqiuuuEJLly7VuHHjYt7vj3/8o6qqqvT9738/6XMA0sHNjWdlZWnQoEEqKyvTOeecE95eVlams846K+5zHuzNN99U165d622n8ZaNBTZJ5eXlmjlzpq655hq98cYb+s1vfqP58+dHvW+vXr1UW1ur3/zmNxo/frz++c9/6v7774+4z4wZMzR27Fj17t1bu3bt0ksvvaSjjjoq5vjJPtS8Q4cO6tChQ8S2zMxMFRYWRhx6etlll+mQQw4J/6v1unXr9Omnn+qYY47Rp59+qpKSEoVCoYgPibzxxhs1fvx49ejRQzt27NAdd9yhiooK3lYCV3B763v27NGHH34Yvr5582Zt3LhR7du3D5/2e9asWfr000/1yCOPhO+3cePG8OM///xzbdy4UVlZWerbt68kqbS0VIMHD1avXr1UXV2tZ555Ro888ogWLlzY5LkC6eT2tqP58ssvtWXLFm3dulWS9P7770uSCgsLVVhYKKn+63hjWh4/frzmzp2rHj16qF+/fnrzzTd111136Yorrkjq/IFUcXvvTXktX7p0qS677DLde++9GjJkSPjomNzcXLVp0ybi+R966CGdffbZ9f4WANzC7Y3PnDlTEyZM0ODBgzV06FA98MAD2rJli6ZMmRK+z8GN33PPPTr00EPVr18/VVdXa8mSJVq+fLmWL19e7/lpvIVz+DPgHDdixAgzdepUM2XKFFNQUGDatWtnbrnllrinAr7rrrtM165dTW5urjn99NPNI488EnFa3enTp5tevXqZ7Oxs06lTJzNhwgTHTwIQ7cMgR4wYYSZOnBi+/vLLL5ujjjrKZGdnmw4dOpgJEyaYTz/9NOIxF154oenatavJzMw0RUVF5txzzzXvvPNOGvYAaB4bWq87hffBl293PHHiRDNixIiIx0V7THFxcfj22bNnm8MPP9zk5OSYdu3amaFDh5onnngiZfsBJJMNbUezaNGiqO3OmTMnfJ+DX8cb03JFRYW54YYbTI8ePUxOTo457LDDzOzZs01VVVWa9gxoOht6b8pr+YgRIxp8jDHGvP/++0aSef7551M2fyCVbGjcGGN++9vfmuLiYpOVlWW+853v1DtZwcGN33nnnaZXr17h1+8TTzzRPP300/Wel8ZbPp8xxqR+GQ8AAAAAAACwEyc5AAAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGf4/9kvTWnPR8DYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1500x1500 with 10 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "show_weights_all()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Na figura acima, vemos que o primeiro neurônio oculto tem grandes pesos positivos na coluna da esquerda e no centro da linha do meio, enquanto tem grandes pesos negativos na coluna da direita. (E você pode ver que ele tem um viés negativo muito grande, o que significa que ele não disparará com força, a menos que receba precisamente as informações positivas que está \"procurando\".)\n",
    "\n",
    "De fato, nessas entradas, ele faz o que você espera:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9999875840822825\n",
      "0.9521778114770191\n",
      "1.41084552086303e-09\n"
     ]
    }
   ],
   "source": [
    "#matriz 5x5 com a coluna mais a esquerda com 1s e o restante com 0s\n",
    "left_column_only = [1, 0, 0, 0, 0] * 5\n",
    "\n",
    "#r[0] contém as saídas das 5 camadas escondidas\n",
    "#r[0][0] é a saída da primeira camada escondida, network[0][0]\n",
    "#r[1] contém as 10 saídas da camada de saída\n",
    "r = feed_forward(network, left_column_only)\n",
    "print(r[0][0])\n",
    "\n",
    "center_middle_row = [0, 0, 0, 0, 0] * 2 + [0, 1, 1, 1, 0] + [0, 0, 0, 0, 0] * 2\n",
    "print(feed_forward(network, center_middle_row)[0][0])\n",
    "\n",
    "right_column_only = [0, 0, 0, 0, 1] * 5\n",
    "print(feed_forward(network, right_column_only)[0][0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Da mesma forma, o neurônio oculto do meio parece \"gostar\" de linhas horizontais, mas não de linhas verticais laterais, e o último neurônio oculto parece \"gostar\" da linha central, mas não da coluna da direita. (Os outros dois neurônios são mais difíceis de interpretar, mas parece que não estão fazendo muita coisa.)\n",
    "\n",
    "O que acontece quando rodamos meu 3 estilizado através da rede?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "s_tres = [0,1,1,1,0, # .@@@.\n",
    "          0,0,0,1,1, # ...@@\n",
    "          0,0,1,1,0, # ..@@.\n",
    "          0,0,0,1,1, # ...@@\n",
    "          0,1,1,1,0] # .@@@.\n",
    "\n",
    "hidden, output = feed_forward(network, s_tres)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As saídas dos neurônios da camada escondida são:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.07\n",
      "1.0\n",
      "1.0\n",
      "1.0\n",
      "0.0\n"
     ]
    }
   ],
   "source": [
    "for i in range(num_hidden):\n",
    "    print(round(hidden[i],2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABNgAAADtCAYAAABtTshxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGlElEQVR4nO3deXhU1eH/8c/MZCUk7BAiEBFFZFMLKosKKqBIqfvPrYioKAIqpWql2BKtkNoWl9aC1VpEUaQVahetGhVBK1BE+Ypa/epXKlFARJEEkCwz5/cHzeiQmUkmmZmbe+779TzzPM6d5Zwb884khztzfcYYIwAAAAAAAABN4nd6AgAAAAAAAICbscAGAAAAAAAANAMLbAAAAAAAAEAzsMAGAAAAAAAANAMLbAAAAAAAAEAzsMAGAAAAAAAANAMLbAAAAAAAAEAzsMAGAAAAAAAANAMLbAAAAAAAAEAzsMAWxeOPP6577rnH6WlEKCkpkc/n086dO+Pe79BDD5XP55PP59P06dPr3f6b3/xGffr0UXZ2tnr27KnbbrtNNTU1Efe55557ws/x7TH/85//RGx/8sknIx63Z88ezZgxQ0VFRcrJydExxxyjJ554ot4czj777PBz9O/fP9EvBdBsNJ5445WVlbr55ps1ZswYderUST6fTyUlJVHnSONwGo0n3vhLL72kK664Qn369FFeXp4OOeQQnXXWWdqwYUO9OdA4nEbjiTe+ceNGjRs3Tj169FBubq7at2+voUOHasmSJfXmQONoCei8aX+Tf9vvf/97+Xw+tW7dut5tdJ4iBvWMGzfOFBcXOz2NCHPmzDGSzOeffx73fsXFxebMM880a9asMZs3b4647Y477jA+n8/MmjXLrFy50vziF78wWVlZZvLkyRH327Ztm1mzZo258sorI8bcvHmzkWRuvfVWs2bNGvPFF19EPG706NGmbdu25v777zcvvfSSueqqq4wk89hjj0Xc7/333zdr1qwxxx57rOnXr18TvyJA09F44o1v3rzZtGnTxpx88snhtufMmRN1jjQOp9F44o2ff/755pRTTjELFiwwL7/8svnTn/5khgwZYjIyMsyLL74Y8fw0DqfReOKNr1y50lxzzTXm0UcfNS+99JL529/+Zi666CIjyfzsZz+LeH4aR0tA5037m7zOJ598Ytq0aWOKiopMXl5evdvp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8Vabn332WV144YU66aST9OKLL6q4uLhR8657n/emTZt0wgknhLdv375dO3fuVP/+/Rv1PPGef+nSpaqtrY34HLa6D5Vs7vMDDaHx1DYOOI3G09P4bbfdppKSEpWUlOjHP/5xUp4TaAwad+Z1/Pjjj9f999+vjz76SJ06dUrJGEAdOk9d5zt37tRnn32m+fPna/78+fVub9eunc4666yUnTAFB1h1BFs83/3ud2WM0aeffqrBgwfXu3z7gwazs7P19ddfR32eUaNGqba2Vj/5yU/UrVs39enTJ7z9hRde0EsvvRReKZekvLw8nXDCCVqxYkXEc4ZCIS1ZskTdunULnyK3MYqLi8M/kE466SR98MEHjXrcGWecoZycHD388MMR2+vOknL22Wc3eg7RnHPOOdqzZ4+WL18esX3x4sUqKiqK+AECpAKNp7ZxwGk0nvrGf/azn6mkpES33nqr5syZ0+znAxJB4868jq9cuVJ+v1+HHXZYSp4f+DY6T13nhYWFWrlyZb3L6aefrpycHK1cuVJ33HFHk58fjeOZI9iGDx+uq6++WpMmTdLrr7+uk08+WXl5edq2bZteffVVDRgwQNdee62kAyvLK1as0MKFCzVo0CD5/X4NHjxYkjRo0CC1a9dOzz//fMTpdUeNGqWf/exn4f/+ttLSUo0ePVqnnHKKbrzxRmVlZWnBggV6++23tXTp0oTfH921a1etWrVKp59+uk4++WSVlZU1uNrdvn173XrrrfrJT36i9u3ba8yYMVq/fr1KSkp01VVXqW/fvgnN4WBjx47V6NGjde2116qiokKHH364li5dqmeffVZLlixRIBBo1vMDDaHx1DYuSf/4xz+0d+9eVVZWSpLeffddPfnkk5KkM888U61atWr2GEAsNJ7axufPn6+f/vSnOuOMMzRu3DitXbs24vYhQ4Y06/mBhtB4ahu/+uqrVVBQoOOPP15dunTRzp079ac//UnLli3TTTfdxNFrSAs6T13nOTk5GjlyZL3tDz/8sAKBQNTbkAIOnFgh6Q4+s0adujOAbN68ObztD3/4gznhhBNMXl6eyc3NNb169TKXXXZZxBmyvvzyS3P++eebtm3bGp/PZw7+Mp1zzjlGknnsscfC26qrq01eXp7x+/1m165d9eb4yiuvmFNPPTU87pAhQ8zf/va3qPNdv359o/bxq6++MsOH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009P5i4AjmjpbUezd+9eDR8+XBdccIEmT57cqMc0puU777xT999/vxYvXqx+/frp9ddf16RJk9SmTRvdcMMNqdwlIC1aeu9NeS1fvXq1Ro8erXnz5qlt27ZatGiRxo8fr3Xr1oV/R1+xYoWqq6vDj/niiy909NFH64ILLkjJfgBOaemNL1u2TDNmzNCCBQs0fPhw/e53v9PYsWP17rvvqkePHnEf+/7776ugoCB8/dv7SuMuYTxuxIgRZtq0aWbatGmmTZs2pn379mb27NkmFAqF71NcXGzuvvvu8PX58+eb/v37m1atWplu3bqZa6+91lRWVoZv/89//mO++93vmrZt25pWrVqZvn37mqeffjqdu2WMMeaTTz4xhxxyiHn77bfr7UM0Xbt2Nffdd1/EtrPOOstceuml4etz5swxRx99dApmC6SWba1LMn/+858TesyIESPMDTfc0Kj7HnvssebWW29NfGJAmtnW9sE2b95sJJk333yzSY8/uOVx48aZK664IuI+5557rvn+97/fnGkCaWFb7015La/Tt29fc9ttt8W8/e677zb5+flmz549TZwdkH42NH788cebKVOmRGzr06ePueWWW2I+ZuXKlUaS2bVrV6PHofGWibeISlq8eLEyMjK0bt06/frXv9bdd9+t3//+9zHv7/f79etf/1pvv/22Fi9erJdeekk333xz+PZp06apqqpKq1ev1qZNm3TnnXeqdevWMZ9vypQpat26ddzLli1bEtqnUCikCRMm6KabblK/fv0a9Ziqqirl5OREbMvNzdWrr74ase2DDz5QUVGRevbsqYsuukgfffRRQnMDnGJj68lmjNGLL76o999/XyeffLKjcwEai7bri9XyiSeeqBdffFH/+7//K0n6n//5H7366qs688wz0zo/oKno/cDv+ZWVlWrfvn3M+zz00EO66KKLlJeXl9K5AMnm5sarq6u1YcMGjRkzJmL7mDFj9NprrzW478cee6y6du2q0047TStXrox7XxpvoZxe4XPaiBEjzFFHHRWxKv6jH/3IHHXUUeHrDR399cc//tF06NAhfH3AgAGmpKSk0XP47LPPzAcffBD3UlNTk9B+zZs3z4wePTq8X405gu3iiy82ffv2Nf/7v/9rgsGgef75501ubq7JysoK3+eZZ54xTz75pHnrrbdMWVmZGTFihOnSpYvZuXNnQvMD0s221pXkI9i++uork5eXZzIyMkx2drZ56KGHEnpuwCm2tX2wRI9ga6jlUChkbrnlFuPz+UxGRobx+Xxm3rx5TZobkG629d6U13JjjPnFL35h2rdvbz777LOot69bt85IMuvWrUv4uQEnub3xTz/91Egy//znPyO2z5071/Tu3TvmmO+995554IEHzIYNG8xrr71mrr32WuPz+cyqVaui3p/GWy4+g03SkCFD5PP5wteHDh2q+fPnKxgMRv18sZUrV2revHl69913VVFRodraWu3fv1979+5VXl6err/+el177bV6/vnnNWrUKJ133nkaOHBgzPE7d+6szp07N2nujz32mK655prw9X/84x9q1aqV7r33Xr3xxhsR+9WQe++9V5MnT1afPn3k8/nUq1cvTZo0SYsWLQrfZ+zYseH/HjBggIYOHapevXpp8eLFmjlzZpP2AUgXN7eeavn5+dq4caP27NmjF198UTNnztRhhx2mkSNHOj01oEFubjva6/hJJ53UpOeSGm552bJlWrJkiR5//HH169dPGzdu1IwZM1RUVKSJEyc2eVwgXdzcezIsXbpUJSUl+stf/hJzHg899JD69++v448/Ps2zA5rPhsYP/hvcGBP37/IjjzxSRx55ZPj60KFDVV5erl/96ldR31FC4y0XbxFN0Mcff6wzzzxT/fv31/Lly7Vhwwb99re/lXTgLJySdNVVV+mjjz7ShAkTtGnTJg0ePFi/+c1vYj5ncw5D/d73vqeNGzeGL4MHD9Yrr7yiHTt2qEePHsrIyFBGRoY+/vhj/fCHP9Shhx4acx6dOnXSU089pb179+rjjz/We++9p9atW6tnz54xH5OXl6cBAwbogw8+aMRXD3CPltZ6qvn9fh1++OE65phj9MMf/lDnn3++SktLHZkLkEotre1or+PN0VDLN910k2655RZddNFFGjBggCZMmKAf/OAH9A4rtbTem2vZsmW68sor9cc//lGjRo2Kep99+/bpiSee0FVXXZWSOQAtSUtrvGPHjgoEAtq+fXvE9h07dqhLly4J7duQIUOi/o1N4y0bR7BJWrt2bb3rRxxxRNQV8tdff121tbWaP3++/P4D65N//OMf692ve/fumjJliqZMmaJZs2bpwQcf1HXXXRd1/Ntvv1033nhj3DnGOgtofn6+8vPzI7ZNmDCh3ovu6aefrgkTJmjSpElxx5GknJwcHXLIIaqpqdHy5cv1//7f/4t536qqKv373/9u1r+2A+ni5tbTzRijqqoqp6cBNIqb2472Op5MB7e8b9++8H7XCQQCCoVCKZsDkExu7r05li5dqiuuuEJLly7VuHHjYt7vj3/8o6qqqvT9738/6XMA0sHNjWdlZWnQoEEqKyvTOeecE95eVlams846K+5zHuzNN99U165d622n8ZaNBTZJ5eXlmjlzpq655hq98cYb+s1vfqP58+dHvW+vXr1UW1ur3/zmNxo/frz++c9/6v7774+4z4wZMzR27Fj17t1bu3bt0ksvvaSjjjoq5vjJPtS8Q4cO6tChQ8S2zMxMFRYWRhx6etlll+mQQw4J/6v1unXr9Omnn+qYY47Rp59+qpKSEoVCoYgPibzxxhs1fvx49ejRQzt27NAdd9yhiooK3lYCV3B763v27NGHH34Yvr5582Zt3LhR7du3D5/2e9asWfr000/1yCOPhO+3cePG8OM///xzbdy4UVlZWerbt68kqbS0VIMHD1avXr1UXV2tZ555Ro888ogWLlzY5LkC6eT2tqP58ssvtWXLFm3dulWS9P7770uSCgsLVVhYKKn+63hjWh4/frzmzp2rHj16qF+/fnrzzTd111136Yorrkjq/IFUcXvvTXktX7p0qS677DLde++9GjJkSPjomNzcXLVp0ybi+R966CGdffbZ9f4WANzC7Y3PnDlTEyZM0ODBgzV06FA98MAD2rJli6ZMmRK+z8GN33PPPTr00EPVr18/VVdXa8mSJVq+fLmWL19e7/lpvIVz+DPgHDdixAgzdepUM2XKFFNQUGDatWtnbrnllrinAr7rrrtM165dTW5urjn99NPNI488EnFa3enTp5tevXqZ7Oxs06lTJzNhwgTHTwIQ7cMgR4wYYSZOnBi+/vLLL5ujjjrKZGdnmw4dOpgJEyaYTz/9NOIxF154oenatavJzMw0RUVF5txzzzXvvPNOGvYAaB4bWq87hffBl293PHHiRDNixIiIx0V7THFxcfj22bNnm8MPP9zk5OSYdu3amaFDh5onnngiZfsBJJMNbUezaNGiqO3OmTMnfJ+DX8cb03JFRYW54YYbTI8ePUxOTo457LDDzOzZs01VVVWa9gxoOht6b8pr+YgRIxp8jDHGvP/++0aSef7551M2fyCVbGjcGGN++9vfmuLiYpOVlWW+853v1DtZwcGN33nnnaZXr17h1+8TTzzRPP300/Wel8ZbPp8xxqR+GQ8AAAAAAACwEyc5AAAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGVhgAwAAAAAAAJqBBTYAAAAAAACgGf4/9kvTWnPR8DYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1500x1500 with 10 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "show_weights_all()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Vamos comparar os valores de saída dos neurônios escondidos com os pesos das camadas. A primeira saída, `hidden[0]`, foi muito próxima de 0, muito provavelmente por causa do peso $(1,4)$, que é muito negativo e está como $1$ na entrada `my_three`. As saídas das camadas `network[0][1]` e `network[0][3]` são muito próximas de 1, o que é esperado, uma vez que para elas todos os pesos e os vieses são positivos. Em relação à saída `hidden[2]`, da terceira camada escondida, observe que o único peso negativo que foi considerado no cálculo foi o $(3,4)$, os demais tinham $0$ na entrada. Por fim, a saída `hidden[4]` foi zerada, o que faz sentido, uma vez que diversos pesos negativos foram considerados no seu cálculo, como os pesos $(1,4)$ e $(3,4)$ e os pesos negativos da primeira e última linha.\n",
    "\n",
    "Essas saídas servirão como entrada para o neurônio de saída `network[-1][3]`, que indica se a figura é um 3 (valor 1) ou não (valor 0). Neste caso:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Camada de saída 3:\n",
      "-12.31 eh o peso aplicado sobre hidden[0] = 0.07\n",
      "-2.08 eh o peso aplicado sobre hidden[1] = 1.0\n",
      "9.32 eh o peso aplicado sobre hidden[2] = 1.0\n",
      "-1.29 eh o peso aplicado sobre hidden[3] = 1.0\n",
      "-11.56 eh o peso aplicado sobre hidden[4] = 0.0\n",
      "-1.84 eh o viés\n"
     ]
    }
   ],
   "source": [
    "weights_o3 = network[-1][3]\n",
    "print(\"Camada de saída 3:\")\n",
    "for i in range(num_hidden):\n",
    "    print(round(weights_o3[i],2), \"eh o peso aplicado sobre hidden[\"+str(i)+\"] =\",round(hidden[i],2))\n",
    "    \n",
    "print(round(weights_o3[num_hidden],2), \"eh o viés\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "O que o neurônio de saída 3 calcula é, então:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "output3 = sigmoid(.121 * -11.61 + 1 * -2.17 + 1 * 9.31 - 1.38 * 1 - 0 * 11.47 - 1.92)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.96\n"
     ]
    }
   ],
   "source": [
    "output3 = 0\n",
    "for i in range(num_hidden):\n",
    "    output3 += weights_o3[i] * hidden[i]\n",
    "output3 += weights_o3[num_hidden]\n",
    "print(round(sigmoid(output3),2))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Que é igual ao que calculamos:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.0, 0.0, 0.0, 0.96, 0.0, 0.0, 0.0, 0.02, 0.0, 0.12]\n"
     ]
    }
   ],
   "source": [
    "print([round(p,2) for p in output])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Em essência, a camada oculta está computando cinco partições diferentes de um espaço de 25 dimensões, mapeando cada entrada de 25 dimensões em cinco números. E então cada neurônio de saída olha apenas para os resultados dessas cinco partições.\n",
    "\n",
    "Como vimos, `s_tres` cai ligeiramente no lado \"baixo\" da partição 0 (ou seja, ativa apenas ligeiramente o neurônio 0), no lado \"alto\" das partições 1, 2 e 3 (isto é, ativa fortemente esse neurônios ocultos), e longe no lado baixo da partição 4 (isto é, não ativa esse neurônio).\n",
    "\n",
    "E então cada um dos 10 neurônios de saída usa apenas as cinco ativações para decidir se `s_tres` é o dígito deles ou não."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Para explorar\n",
    "\n",
    "* O Coursera possui um curso gratuito sobre [Redes Neurais para Aprendizado de Máquina](https://www.coursera.org/learn/neural-networks). \n",
    "\n",
    "* Michael Nielsen está escrevendo um livro online gratuito sobre [Redes Neurais e Aprendizado Profundo](http://neuralnetworksanddeeplearning.com/). No momento em que você ler isso, já pode ter terminado.\n",
    "\n",
    "* [PyBrain](http://pybrain.org/) é uma biblioteca de rede neural Python bastante simples.\n",
    "\n",
    "* O [Pylearn2](http://deeplearning.net/software/pylearn2/) é uma biblioteca de redes neurais muito mais avançada (e muito mais difícil de usar)."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
