umz21/wyk/07_KNN.ipynb
2021-05-12 09:26:00 +02:00

793 lines
166 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Uczenie maszynowe zastosowania\n",
"# 7. Algorytm $k$ najbliższych sąsiadów"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### KNN intuicja"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Do której kategorii powinien należeć punkt oznaczony gwiazdką?"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"outputs": [],
"source": [
"# Przydatne importy\n",
"\n",
"import ipywidgets as widgets\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"outputs": [],
"source": [
"# Wczytanie danych (gatunki kosaćców)\n",
"\n",
"data_iris = pandas.read_csv('iris.csv')\n",
"data_iris_setosa = pandas.DataFrame()\n",
"data_iris_setosa['dł. płatka'] = data_iris['pl'] # \"pl\" oznacza \"petal length\"\n",
"data_iris_setosa['szer. płatka'] = data_iris['pw'] # \"pw\" oznacza \"petal width\"\n",
"data_iris_setosa['Iris setosa?'] = data_iris['Gatunek'].apply(lambda x: 1 if x=='Iris-setosa' else 0)\n",
"\n",
"m, n_plus_1 = data_iris_setosa.values.shape\n",
"n = n_plus_1 - 1\n",
"Xn = data_iris_setosa.values[:, 0:n].reshape(m, n)\n",
"\n",
"X = np.matrix(np.concatenate((np.ones((m, 1)), Xn), axis=1)).reshape(m, n_plus_1)\n",
"Y = np.matrix(data_iris_setosa.values[:, 2]).reshape(m, 1)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"outputs": [],
"source": [
"# Wykres danych (wersja macierzowa)\n",
"def plot_data_for_classification(X, Y, xlabel, ylabel): \n",
" fig = plt.figure(figsize=(16*.6, 9*.6))\n",
" ax = fig.add_subplot(111)\n",
" fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n",
" X = X.tolist()\n",
" Y = Y.tolist()\n",
" X1n = [x[1] for x, y in zip(X, Y) if y[0] == 0]\n",
" X1p = [x[1] for x, y in zip(X, Y) if y[0] == 1]\n",
" X2n = [x[2] for x, y in zip(X, Y) if y[0] == 0]\n",
" X2p = [x[2] for x, y in zip(X, Y) if y[0] == 1]\n",
" ax.scatter(X1n, X2n, c='r', marker='x', s=50, label='Dane')\n",
" ax.scatter(X1p, X2p, c='g', marker='o', s=50, label='Dane')\n",
" \n",
" ax.set_xlabel(xlabel)\n",
" ax.set_ylabel(ylabel)\n",
" ax.margins(.05, .05)\n",
" return fig"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"outputs": [],
"source": [
"def plot_new_example(fig, x, y):\n",
" ax = fig.axes[0]\n",
" ax.scatter([x], [y], c='k', marker='*', s=100, label='?')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 691.2x388.8 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
"plot_new_example(fig, 2.8, 0.9)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"* Wydaje się sensownym przyjąć, że punkt oznaczony gwiazdką powinien być czerwony, ponieważ sąsiednie punkty są czerwone. Najbliższe czerwone punkty są położone bliżej niż najbliższe zielone."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Algorytm oparty na tej intuicji nazywamy algorytmem **$k$ najbliższych sąsiadów** (*$k$ nearest neighbors*, KNN)."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"* Idea (KNN dla $k = 1$):\n",
" 1. Dla nowego przykładu $x'$ znajdź najbliższy przykład $x$ ze zbioru uczącego.\n",
" 1. Jego klasa $y$ to szukana klasa $y'$."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"outputs": [],
"source": [
"from scipy.spatial import Voronoi, voronoi_plot_2d\n",
"\n",
"def plot_voronoi(fig, points):\n",
" ax = fig.axes[0]\n",
" vor = Voronoi(points)\n",
" ax.scatter(vor.vertices[:, 0], vor.vertices[:, 1], s=1)\n",
" \n",
" for simplex in vor.ridge_vertices:\n",
" simplex = np.asarray(simplex)\n",
" if np.all(simplex >= 0):\n",
" ax.plot(vor.vertices[simplex, 0], vor.vertices[simplex, 1],\n",
" color='orange', linewidth=1)\n",
" \n",
" xmin, ymin = points.min(axis=0).tolist()[0]\n",
" xmax, ymax = points.max(axis=0).tolist()[0]\n",
" pad = 0.1\n",
" ax.set_xlim(xmin - pad, xmax + pad)\n",
" ax.set_ylim(ymin - pad, ymax + pad)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 691.2x388.8 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
"plot_new_example(fig, 2.8, 0.9)\n",
"plot_voronoi(fig, X[:, 1:])"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"* Podział płaszczyzny jak na powyższym wykresie nazywamy **diagramem Woronoja** (*Voronoi diagram*)."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Taki algorytm wyznacza dość efektowne granice klas, zwłaszcza jak na tak prosty algorytm. "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Niestety jest bardzo podatny na obserwacje odstające:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"outputs": [],
"source": [
"X_outliers = np.vstack((X, np.matrix([[1.0, 3.9, 1.7]])))\n",
"Y_outliers = np.vstack((Y, np.matrix([[1]])))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAl8AAAFkCAYAAAAe6l7uAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydd3xUVfr/35NA6C2U0KugSBWCUgUUFFARVCzYFt0Vt4mu/nRdXVfd4lfXlXXVXbFiAaU36b23hN47oZckhPRkZp7fH4eYNuXemTtzB3Ler9e8YOaee85z7kzmPnPO8zwfh4ig0Wg0Go1GowkPUXYboNFoNBqNRlOW0M6XRqPRaDQaTRjRzpdGo9FoNBpNGNHOl0aj0Wg0Gk0Y0c6XRqPRaDQaTRjRzpdGo9FoNBpNGClntwFmqVOnjjRv3txuMyKPSzuh2nUQXcluS65N8lIg5zxUv8FuSzSRTP5lyD4D1dtAzjnIPguVGkLFenZbpgHIPg3ihMpN1fOURKjSFPLToWpL/+eLGy7vhYr1oULt0NqqUaQfhJjaUCHWext3PqTthpodwWHvmlJiYuJFEanrr91V53w1b96chIQEu82IPDaNVo7BDS/Ybcm1idsF8zpA139AgzvstkYTqeRfhhkN4f71EB0DaXthw1MQXQFu+RKqtbLbwrKLuGF2K+jzE8R2Ua9NdMAD22FWcxi60JhDdWk3LO0Ht8+Bmu1DabEm6yTM6wjDdkG5yr7bLh8MzR+FFo+FxzYvOByO40ba6W3Ha4X6A+HMYrutuHaJiob2b8COv4AuTKzxRvnqULUVpG5Tz2u0hYFroNFQWHQL7Pu3cuQ14ef8SvX+1Lqp+OsxNaHhEDg20Vg/NdvBTe/DmgcgP8N6OzWFHP0Wmjzg3/ECaDkKjnwdepssQjtf1wpxt8GFNeDKtduSa5emI8CZDmcW2m2JJpKp0xMurit8HhUNbf8AA9fDiemw5Fa4vN8++8oqh79WN2iHo/Qxszfulk9C3d5qx0H/GAsNIoXvmREaD4VL2yHjWEjNsgrtfF0rVIhVv7KLfulrrCUqGjr8BXa8ob9wNd6p29Pz32H11jBgBTR7GBb3gj3/1Ktg4SL/MpyarbalPBF3G+RehNTtxvvs+hGk7YJDn1ljo6Y4F9aq79w63Y21j64ITR+Go9+E1i6L0M7XtYTeegw9Te4Hdw6cnme3JZpIpU5PdePw5KA7ouD638Odm+DMfFjcE9L2hN/GssbxycrBquglDjoqGlo8aW71q1wl6D0FdrwOKVussVNTyBEfK5XeaDUKjoxX8X0Rjna+riXqD4Sz2vkKKY4o6PAm7NSxXxovVG0J4oKsJN9tbluibi5L+sLuf6iMLU1oOGJg+6rlL1TclyvPeL/V20D8x7DmQchLC8pETRGcmWqLvvnj5s6r1QXKV1PxfRGOdr6uJer0gPQDkJtstyXXNo2HgdsJp+bYbYkmEnE4rqx++QkBcERB62dhUCKcWwkLu0PqjvDYWJa4vB8yjkDDwb7bVWulQjdO/2Su/2YPQYNBsPEp/YPMKpKmqu37yg3NnedwKCf7cOQH3ofM+XI4HE0cDsdyh8Ox1+Fw7HY4HGM8tOnncDjSHA7HtiuPN0JlT5kgOgbq9oGzS+225Nrm59WvN/WXrcYz3uK+PFGlKfRfAG1+C8tuhx1vmlt90fjmyHhVfiDKQGWlQG/cXf4Fmcdh/3+8txGBGTNKf2d4ez1YjIwXbpuMYmSl0hvNH1PxffmXrbXJYkK58uUEXhSRtkB34LcOh+NGD+1Wi0jnK4+3Q2hP2UBvPYaHxveqf0/OstcOTUSSHt2I3IPfkJKRY+wEhwNaPQWDt0FKAizspuOIrMDtUuUKjN7Imzygssazz5obJ7qCiv/a/Xe4uMFzm5kz4b774IUXCp0aEfX8vvvUcSsxMl64bTJCxhFVMLXRPYGdX7EuxPVXcX4RTMicLxE5IyJbrvw/HdgLNArVeJorNLhDOV96RSa0OBzQ4a0rsV+RH9ypCS8/nupABUln6+r/mjuxciPoOwfavgTLB8H213T5mGA4uwgqN4Yann73e6B8VWgyHI5+Z36sqi3gls9h7cOeQz+GDYMxY+DDDwudnRdeUM/HjFHHrcTIeOG2yQhHxkOzR5RDGyhXQ80vEQn5A2gOJAHVS7zeD0gGtgPzgXb++uratatofOB2i0xvJJK2325Lrn3cbpH58SLHp9ptiSbCSM7IFZmAOKc1FsnPDKyTrNMiK4eJ/HSjyIWN1hpYVlg9QuTA/7wfn0Dp186tEpnTVv19B0LiiyLLh4i4XaWPud0iY8YUbPipx5gxgY/lDyPjhdsmn/a6RGY0FUneElw/rjyRaXEiafusscsEQIIY8IscEuIVEofDURVYCfxdRKaXOFYdcItIhsPhGAJ8KCKtPfTxDPAMQNOmTbseP26oen/ZZcMoiI1XMSSa0HJqLmz7IwzZbrummCbCmOhQhXlrtIcOAYazisDxSbDleWjxhFptLaf1Ww2RmwKzW8K9x1QVe09MdMBID/FOc9pAz++hzi3mx3XnqwzWxvfCja+UPi4CUUW+K9xuc+UUzGJkvHDb5I2zS2DLSzBkW/B9bXkJospD53eC78sEDocjUUTi/bUL6d3C4XCUB6YBE0o6XgAicllEMq78fx5Q3uFw1PHQ7jMRiReR+Lp1/epVanTcV/hoOERJXyRNtdsSTSTS+V3Y/yFknQrsfIcDmj8MQ3ZA5jGY39l/FqVGcWyi+vv05nh5w+FQZScC3baKKg+9JsG+sXB+VfFjBdt6RSkab2U1RsYLt02+MFPR3h8tR6l4vwgtZBzKbEcH8CWwV0Q+8NKm/pV2OByOm6/Yo+skBEv9AXBuha4bFA4KYr92vRWxf+QaG6naAq57Brb/Kbh+KtaD3pOh0z+UpmDiC6oWksY7wWTMtXgCkiaDMzuw86s0ge7jYe1IyDmvXisZT+V2l463shIj44XbJl/kXVJlPrypEJilZjuo1EjF/UUiRvYmA3kAvQEBdgDbrjyGAM8Cz15p8ztgNyrmawPQ01+/OubLIPM6i5xfY7cVZQO3W2RBd5GjP9htiSaSKIgnyksTmd5A5OJma/rNuSiy9lGRWa1Ezq6wps9rjZTtIjOaiLicvtt5ivkqYOkdIkcnBGfHttdElg5QdkyfXjqeqmi81fTpwY1VEiPjhdsmXxz4VGTVfRb3+V8V9xdGiJSYL6uJj4+XhIQEu82IfLa+DNGVoeObdltSNjizGBKfgyG7lFSJRlM0nujQF3B0PAxYbV0szcnZsPk3Krao87sqU0+jSHwBylWFTn/13c5TzFcBx36EI1/CbUGEcLidsGwgxPWD9m+o0g3DhhX/DIh4fj1YvPVb9HUIr02+WNgd2r8Oje62rs+8VJjVAoYeUfrHYSAiYr40NqLjvsJL/QFQoTYc/9FuSzSRSMtRkJ8BJyyMDWw8FO7aCa4smNdBBStrIOsMcuATppy/mZTMIIrVNhmmaq1l+pCJ8kdUOeg1EQ6Ng3NLYfjw0s6Mw+H5dQ/kz+/O4emDSLmc7n9sb/0Wfd1Im3CQtlcVqW0wyNp+Y2opZYNjE63t1wK083WtUrc3XNqh9cbCxc+xX2+rX7saTVGioqHrWLUi7TJYeNUIMbWg+9fQ7b+w4SnY+EzEV/YOKeKGTb/kQMW7GXFhKFMSTgTeV3RFJR105JvgbKrUAHpOgHWPQ9bpwPtJmkbu5SSSzl2EBV0heXNwdkUSR76GFo8bUyEwS4TW/NLO17VKuUpK6/HccrstKTvE3QaV6kfkryxNBBDXH2p1hn3/tr7vhoNhyE71/7nt4fQC68e4GtjzHuSlUneAKpI6Ir5JcP21HKW2i4MtpBzXX5X+WftwYD/O0g/B5mdx9ZrKgbY/EtPpdVh5typzY6Uzbwdupypqa1WWY0nibofc8xGnm6qdr2sZvfUYXn5e/fqrXv3SeOamf8K+983L1xghpgbc8hl0/wo2/1rV+8tLtX6cUCMB6g2eXwX7/w29JhFbrQoAsVVigrMlNh6iK8H51b7bud3wyivqX2+vt/uTKkuz48/mbHDlwJoR0P4v1Gjck9H9rqPq9U/A4B3KKZt/E1xYb67PSOLMAqjSTImah4KoaGjxZMStfmnn61qmQGpIEz7i+ik5k2Pf222JJhKpdh20+IX5G7AZ6g9QdcGiq8DcDnByTujGCgWB6A3mnFdlHbqPV2UerMLhMLZt9eqr8N570LVroQPmdqvn772njjuioMd36rvh1FzjNiQ+D9Valy6aXSkO+kyFjm/D6vtgy4vgzDI3v0ggmJIgRmn5Czg2IaIE67XzdS1TswPkp0HGMbstKVt0fAt2vq3rrGk80/51ODUbUi2o4u2N8tWg28cq1mjLC7DuMc96g5GIWb1BtwvWPapusA0tDtgGaP4YnJwJ+T6C3N95Bzp3hm3bCh2wrl3V886d1XFQos+9foSNTxn7Xj46Ac4uhVu+8B783nSEcrazT6sivP5W6QqIhEoHORdVokizh0M7TrXroPoNcNqE0xtitPN1LeOIgrgBevUr3NS7Faq2VNWVNZqSxNSEDm+qcgihvgHG9VXSVxXqqozIE6WERiIPhwPGji10wKKiCh2vsWNLOyG7/6a2+Tu8GRp7KsVBvb6QNMV7m6goSEwsdMCiowsdr8TE4tI9dXuR3WAEOXM6k5LuPV4r9eIRsjf+nrT4H6B8dd82VqwLvX6Azu+puLKE57wX4XVmkrPh92ya+1Jw2aAWkLvhN1ygKSn5YZDMirDAe13n61rnyHg4PU9Vx9aEjwtr1WrD3fshOsi4E83Via8aUm6nWqXo+DdV0iAcXFirMiJrdYb4j9UNO5Ixojd4dgmsfwIGJaqswqL4uv5m2gCcmAn7/gUDDcR+RRep8+dyFZ8DQF4ql6d3pLr7pP9xgXGNDjG6bytDbQGlaZn4PFxYA92/VMH+BZxbCRuf5qCrHa2zZxvvM8SYnmMg5GfAzCZw916VGBUijNb5CkFepyaiqD9QxQK4Xbr4Zzip20vFaRwdr+RlNJqiRJWDLh/A5t+qTMXoCqEfs24vGLwNdv5FrYJ1/RCaPmiPgLI/vOkNFl35yjqtyjf0mlja8bKaRnfB5tFw+SBUb+25TcFWY1G6di2+8iUCG0YR0/xexuW+wIj4Jl6TAlIy84idVcF8xmaFWOj5rYorW/8ENLxbCbvv+hucnAXd/kvtWoMYl3DC5/jhIGd2J8an3s/AG+NCP1j5quqHzrHvoe1LoR/PD3rb8VqnciPl5adusduSskeHt2DX3yMqyFMTQTS4A6q3gQMfh2/McpXgpvfg1lmqJt3q+0OTeRkMRvQG3U61vdbmt8VXdkJFVHlo9qj6MeWJkjFeLlfpGDBQYtvZZ6jY7QNG923l0/EpOBawc9ToLlV+xJWNzGzKgZMnSe2XCI2HElslxu/4IUeEmIxdNMlcyJI958IzZsHWYwTs+GnnqyygS07YQ90eUONGOPKV3ZZoIpWb/gV7/g9yLoR33Dq3wKAtKr1/fidVZykCbkiAymYsGeNVNAZs5kyVLVqusirfEC5ajVIFV92u0sdefbV0jFfRGLBXX4UL62Dvu9BrUvhCEWJqQo/xzKs1jjbZs5m8IyM84xohdRtSuSl9Yw8zsvHO8IxZtw+4ciOiQK12vsoC9e9Q2oOa8NPhLdj9d/UHr9GUpMYN0OwRtRUYbqIrQKe/Q7/5sPd9WDkUMo3FIYWUYcNg+vTiW4wFDtj06dCtvNo66vGdSioKFzU7qF0ETzJO77wDL79cfIuxwAF7+WV480W1UnfLl1C1efhsvkKPPo8BFhSdtZJTs4lueh9Vb59Gte2jlbxQqHE4VFZsBATea+erLBDXF1ISVMChJrzUuRlqdoLDX9htiSZS6fAXSJoKl3bZM35sF7hzM8R2RWa3ZMW8d+zNgvOhN5javxdZa0Zxuct39iQMeMuYi4qCd98tHVwfFQX/9w5seFI52VaKRpsg6C3MUHBqDjS6R8Uitv1/sOah8IRotHgSkiaDMzv0Y/lAB9yXBcpVgdiuqgJ0oyF2W1P26PAmrBoGrZ5WenEaTVEq1IZ2r6nEmP4L7AmAj46Bjm+y+FRt7kh9DmaFcTvPBLWu/DvuaBNGN7XBgGaPwPbXlHJATC3/7UFtKzszoNPfQmvb1UTWKcg4qhwvgBteVPenba8oDdRQUqWJuh+enAnNHwntWD7QzldZoSDuSztf4ad2vFpdOPQZXP+c3dZoIpE2v4FD/4PT8239G42/dTQ/rm/LiMzRRLd4VG2bR1A2ZMAZgFZRIRYa3AnHflDvmT/OrYD9H8GgBBW0r1Gc+gkaDCq8Jg4H9PgG5neBen2gyX2hHb9gBdNG50tvO5YVtNSQvXR4C/a8a/tStyZCiSoPN70PW1+0VRkhtkoMDw8YQPSd65U494ZR4c/W9aHtGLtIVSiPrVzemP6jVW2KYrRYZ/ZZVXm/xzcq6zxQzcqSWNWP1X2Z4dRsaDy0+GsxtVQ9yk3PQvrh0IxbQONhkJIImUm+24Xw+mjnq6xQqwtkn1HLvZrwE3sT1L4ZDo2z2xJNpNLwLqjcBA5+arclULEeDFgOeSmw8i7Ivxy+sf1pOxppU6D/aFWbotQfqL5LfcXouV2wbqQKNWhwhzmbg70+Rvuxui+jODOVBFIDD1JQtbtB+zeUkLjLe/X/oClXSdW486dCEsrrIyJX1aNr166iCZBVD4gcHm+3FWWXlG0i0+qL5GfabYkmHEzA/DmpO0Wm1hXJSbbenkBw5Yts+rXI3I4imSfDM6bbLTJmjAiof0s+n4D/Nm63amdFG09sfVUk8Q/e57DtdZEl/UVcTuPz8jSWp89QIP1Y3VcwJM0QWXK79+Nut8jqESIbn7V+7KJc2Cgyq5XvOQZwfYAEMeDL2O5MmX1o5ysIDo4TWfuo3VaUbVbdL7Lnfbut0ISDQJwvEXXTSRhjrS3B4HaL7HpHZEZT5RyGa8yCm1zBo6jD5K+NSGknLdA2Hrh0Yq24JkRL8qW0UsfS93wh+RNiJOX8YXPzKkHakXkiE5Dk1PNB9fMz3j6PgfQVDOtHiez70HebvDSRWdeJHJ0YGhtE1Px+ulHk3Er/7UxcH6POl9Z2LEtkHIVF3WH4mfDWx9EUcmknLBsIQw+rLFTNtYtR3cCS5FyAuTfCwDVQ/Xrr7QqUYxOVZmDvSeGpKi9etB2LXldvbaCwXbBtPLB67tv0SfNdm21L1V/TZeh/jc+rKPnppM7oTC3nEQ5Vupvrhs0u3cakzT4/j2b7ChS3C2Y0hDs3QNUWvtumbodlA2DAalUPLxTsfR/SdkN3PzF8Jq6PUW1HfQcuS1RtAeWqKwdAYw81O0C9W+HAJ3ZboolUKtaFG1+BLfbrzxWj+UjleK19WDlioUS8aDsWXSwIZ5sS9HDMYV7tL0m5N1c5NEUeKffm8k39jXRyzlHZq4HMa9MzVGrUjy8a7qJ5+aTSsaIB2OwVK/vyQ9amF3HnJpPiaOS/ca1O0OkdFf/lzLLcFgCaP6ZE033VwAzV9TGyPBZJD73tGCSbfi2y5592W1G2Sd0lMq2eSF663ZZoQkmg244iIs4cFY9yepF19lhF6k61BbnrndBsTUV6zFfqLpHpDYvHc3ni3GqRaXEiGUnG5lUw1oH/qRi7/Cz1PO2AigNMTjTXT0nsjvnKPCkZE2pL+rcV5fslK4yd43aLrH1MbVWGihX3iBz6yvv4OuZLO1+WkDRDZOkddluhWfOwunlprl2Ccb5ERJKmi/zUXgW9RxqZJ5WDsOnX1ts3fXrpm1vRm94E/LeZPl21s6JNSRJfFNn6R2Nz2f2uyILuIs5cYzYnJ4pMrSOStr94P8cmicxqKZKbaqwfT3j6PAbal1lceSKLektm4luyc+ZjkpnwZ+Pn5qWLzGnr3UEKlqTpIov6eD4WwPXRzpfGM7mXRCZVFXFm221J2ebSHvVrNq90wK7mGiFY58vtFlncV+TAp5aYYzl5aSJLB6qVg/wM6/p1u9VNreSqQsHrBStfvtoUrGpZ0aYorjy1mlXSOfI6F5fI8rtVZqQ/m3NSlIN1bJLnvjb/TmTlcBGXy5zNBXhb+QqkL7NseVlk2Z3qeiQniMxsrv5vlEu7lVOausMae4rizFXfxZcPlj4WwPUx6nzpgPuyyKKe0PFtqD/AbkvKNmsfhRo3QvvX7LZEEwoCDbgvSspWWDEY7t4PMTWssctK3Pmw8VeQtgf6/aTqg4Uao9fVSDuz79HJ2apY8h1rjZ+TmwILukCXsdBkuOc2IrD6flWMNf4jz21cubC4NzR/FG543vj4BVjxeQyEk3Mg4bcwaAtUrKPmOr8TdP3QXOLG0e9g99+VDmn5atbamPiCSoCyQAJKB9xrvFN/IJzR1e5tp8MbsP/fkJdmtyWaSCX2JlV8dfff7bbEM1HlVaZYw8GwqAdcPmC3RaHlyHhV4d4MFWKh1yTYNBoyjnhus/9DyDqhVA68EV1BVYDf8w5c3GDOBrvIOAabfgm9flSOF6gswZaj4LCfDMOStHgc6vaBTc9YnwzQchQc/UZlY4YJ7XyVRbTUUGRQ/XpoMFh98Wo03uj0NzjyVeglVwLF4YCOb0G7P8GSW+HCOrstCg05F+DcMmj2oPlz69wC7V+H1R4qt1/coByq3pOVg+WLqi3g5s9hzUOQm2zejnDiyoM1D0Lbl6Fuz+LHmj+mJIbMKid0/Y9aZbVaKaRWR6hQD84ttbZfH2jnqyxS+2b1CyznvN2WaNr/GQ78B/Iu2W2JJlKp1ABu+ANse9luS3zT6mm1CrZqGJyYYbc11nP0W2g0FMpXL31MxL8GYJvfK+dpy4uFx3OTlSN18+fqmJF+Gg9VDuD6J0Dc1s/TKrb+P6jcUH12S1KxrtpyPD7ZXJ/lKkHvKbDjz5CyxXs7I9exJEY1Oy1CO19lkajyUK8vnA2fl6/xQvXW0Oge2Pdvuy3RRDLXv6CEgM+tsNsS3zQcDP0XQMLvYP9/7LbGOi6sQ7a+TMLFaqRkehAaN6IB6HDALV/CmYVw7EflOK1/QjlSBSLTRrUEO/1D/WDb817o5x4ISVPh1BzljHsr1hqos1O9DcR/oup/efvRGogmY/ORqi5bXqp5mwLBSFR+JD10tqNF7P84tLVTNMa5fEhkam2R3BS7LdFYSbDZjiU59qPIvJv815eKBNKPqvIAiX8wl9VmBKPX1V87t8t/m/xMNYdp9WXHjMfk1Ne1ZfzSjR76MlEPKnmLytzb9JzIwp4qgzKQfjJPqMzLM0v9XwuX0/rPozcuH1Tzu7jZj00FmaP7AhunIPvTU0ZmoPXLVo8QOfDfwOy5ArrUhMYnaftFpjcKnX6Xxhzrn1JivJprB6tvdm63ulkf+tLafkNFborI4lvVDc3K0jZWOF+nFohzVhulnZiR67mN2y35826Wg9PvlpTkk5KckStbZo2WvEUDPDuUJjQAc5beK+4JSMppD6UTTPSTvuu/4pxQXpIv+RBiz8+U/NntfM/VKvKzROZ1Vj/ujWCmZlpJnDki8+NF9o71fDwQzcpT80TmdwvMnisYdb50qYmyigjMaq62CGq0tdsaTcZRWBAP9xyACrXttkZjBaFI7U/eDKvuVaUnrE63DwWuHFj/JGSfhj4zCjPegiGYUhN5l1TM1bmlzK34JnclG8tcHNfoEKP7tgK3E5beppKW2r9euqEY0ADMPkfmrI4cTK9OxbqduWHYlMD6cWaRPP0majuNZ5h+3nAPv+oXwu/7TaPVNe71ozFtyEu7YfkdcG8SREWbH69Ar/jWWVCne+njRq5jUdwumNUU+i+Cmu3M24MuNaHxh8MBDQbqrMdIoWoLaHI/7P2X3ZZoIpna3SBugKo1dTUQXRF6/UBOpetwTm9M5o4PID/dHltO/QRz26uMwiE76dF7JOMaHfKoz1hUpxFgRHwT1UdUOeVYHPwvnF1WvH8xoAHodsG6kURd90sSr5tG66idpUsuGOkHIOF3VK3flXEND/qcAyOFlKE5HK04gMcrhlBT9ugEOLccbvncuCh3zXZQqRGcXRTYmL6yP41ex6JERUOLJ8ITeG9keSySHnrb0UKOTVLVlzWRQcYxkSmxItkX7LZEYwWhirHJPKE+JxnHQtN/CPh0+UGRCcihaYOU7Yl/UHFhgWB22zEnWWTt46p6/Nll1ox3ZrHI9AYiWafVc6MxRtvfEFnSvzBuL3VX8crtRvs59JXInBvM6cPmpojMbCFyfIr5a+CPS3vUPFK2mT/3wH/V1nQwbHlJZPmQwu3gYDQr0/arWLSisXgmQMd8afySc1FkcnUlr6CJDDaOFtn6it1WaKwglAHOO95U+qBXCckZuYUxR+lHVazPlFiRVQ+InF9jLvbUjPOVNEOJYG9+LnAJJG/j7XhTyT+58o1pAJ5eqGzJOlO8n8PjReZcL5J32Vg/qTuuOGy7zM/l4mbvUjqBkp8h8lM7kUNfBHZ+borI5BrKSQ4UV56KhyzQyw1Ws3JhT5ETswIyRTtfGmPM7ypybqXdVmgKyDguMqWWSPY5uy3RBEsona/8DJEZjUXOrw3dGFZT8nrkXRbZ9x+RWa1UkPPRCcZWG4xc16zzqt3s1iLnVgdmr7/xXE6RpQNEtr3mXwMw44TItPoiZ5d77mvD08qZ9qfbmJumHLXD4wOfz/5PVFB8flbgfRS1a90T6hFM8taah0X2fRScLQXZn2dXBK9ZefBzkZXDAjLDqPOlY77KOlpqKLKo0hSaPQJ7/2m3JZpIplwV6PQObHkhsgtt+qJ8Nbj+9yp5oP1r5B/4jJSp7UjJyPF6SkGNLY+1tgrIu4zMbKja3boJ6vW21OyfiYqGnhNwHx7PlKVzSbnjrtKxTg4HDB9O3qbfsylmJClVe3ruq+tHqnL74c9g+HDP/QwbBpufhbq9oeWTgdvd+tdQ7XrYEoA+ZEmOfA0pCdDtv8bjvDxhRYHTyo2h+3hY96gqIO7tOnp6vSTNHlTxazkXgrPJB+VC1rPm6qDBHbDtj9Dpr3Zboimg3aswryPc8BJUirPbGk2k0nykKmR6bCK0eMxuawInKnFhf3gAACAASURBVBoa38tXh9sz2nkdzK7ktWlswb+zfMvwFNxap2xLZnTfmtbY6YmK9fi+5jSeONsdZnlvFgPcDIxL+I3KmixJQeX2xb2UAklsl9JtDn0GabvhjiB1HR0OFRS/IB6Ofh/4Zyd1B2x7BQasUj8GgiHudsg9r/qs1THwfhoOUo7cukeh/8LAMihBqRg0GgrHJgQmYm4A7XyVder0hLS9qqpvTC27rdGA+gXX/DGV0db1A7ut0UQqjijo+m9Y+xA0GR78DdBmRsQ3gVOQcm8usVViPLZJycwjdlYFn20A0g/PJGvLW4VZiiHk7ltuglnG7PZpT/U2EP+x0kMclAgxNYp0sAV2vA4D1ypHLVjKV1PO3rLblaNX40Zz5+dfVhXmu4y1plRRVDS0eFKtfnUdG1xfHd6E5QNh11+h45uB99NqFCQ+D9ePCW5Vzwt627GsE10B6vYqnTatsZcb/whHx0P2Gbst0UQydXtCnV6w9327LQmaAsfFl1NlpA1AtRZ3E1fuHLFOP2LkYlAD0Eeb2MrllU2L5gbVBhFo9hA0GAQbnypsl5emHLL4j5WDZtRmf9TqCJ3fVU6UM9PYOQXjbHwG4vpZu+La8hdqpcnlY0u5YHxf83dEQc+JcPjz4EJq6vVVTmbq1sD78IF2vjRq61HX+4osKjdU9WaulnpOGvu46V21/Zh10m5LIoeoctD8cTgy3nc7oxqA4WzT5V+QeVy9pyLKEWswSDlmZmw2QstRENsNNv3auNN28H+Qvh+6fmh8HCNUuw6q3wCn5/puZ2T+lepDz++VdmbWqcDscUQphzBUNb+MROVH0kNnO4aA1J2q/osmssg6ozIfM0/abYkmEMKlpScisu1PqpZVJGPkeljVRkTk0l5Vi8uV772NkXpQEwhfmwLSj6iSEAnPq4x0Z445m81QUCriwDj/bS9ssr5URVEOfSWy4h7fbczMf+ffVNkIZ2A1uyT9qNLdLXr9/YAuNaExjNutvqQuH7LbEk1JEv+gBGQ1Vx/hdL7yLqu/4YubwjemWcLtfImILOgucvIn3238aQBOIHxtipC++1NxTYiW1LN7zNtslrMrxT0hWn5YvMCn1qX7h0qy+qc3QqcRmZcuMrlm6VpoHmwxNH+3S5zTGsrBaUMCtjlvYT+ZP/9/hs836nxpbUeNYt0TKn6k9bN2W6IpSvY5mNsWhuxQgfiaq4dQaDv64vBXcOQrGLA6JAHCQWPkeljVpoBDn8GZRdBnqu924kMDsGC8cLQpwriVhxl96rpCXUkzNpvB7YJlA9ie2YpOmV8aOsWrTVaw4SmVAND2Jd/tjMz/yDdc2vwmNV3HgjbL6Jy1tqPGHDruKzKpFAetnobd/7DbEk2k0+JJcGZBkgeh5rJK04fg7BLIuei9jRjQAAxnmysUZEZ6zJA00Y9fdr4Jjiia3P6RX63LzM7/42CloaHNIi2o+eVrLkbmf2kXbH0Jx63T/M7Lpy7mvbmMa3TI+jkbWR6LpIfedgwRWWfUcq+v+AiNPWSfV7FfGcfttkRjhnBuOxZwdoXIzGYizuzwj+0PO7YdRUTWPiqy70PPxyI15svXXK2M+To1/4rk0Vlj7S8fUu2DqWbvD7dbZNZ1Ihc2ej/ub/556Ur78vDXobPTC+iYL41p5nYQubDebis0ntj6itJ91Fw92OF8iYisuk9k1z/sGdsXdjlfZ5YoOR1PGNEAnED42hiZa7C6hQVkJBXK8RjF7VayVmn7jZ8TCDv/JrLxWc/H/M1/2jTlcK8fFVobvaCdL415El8U2fG23VZoPJF9QWRyLZFL++y2RGMUu5yvy4eUaHXGCXvG94ZdzpfbpVYDU7Z6OGZAA3AC4WtjZK7B6haKFBGiDsBJX/u4yEEDmZHBkJGkPsOe9Cf9zf/AOJGf2ovkZ4bWRi8Ydb50zJemkPoD4ewiu63QeKJiHZwVG5E7L56Uy+l2W6OJZKq1whkTR96s67l0bo/d1tiPI0rFwx32UK/Jm9ZfydfD2cbvfAza7Ivtf4KYmnDjK8bGLEpcf6V7GEqqNIHYeDjpoWaZr/n3awE7XlMJFuUqh9bGINHOl6aQen0gdRvk65t7JDKv/CvkOV2kLx4KLu/iwxrNvJg/cSk/hgrLe8O+sSqjrSzT8hdwfKL/6ullgZOz4Phk6PGtckzNEtdPOV8S4kxes2LbeWmwegR0/Q9Uvz50dlmEdr40hZSrrERdz62w2xKNB3r3uo+Y6Gga1KoKq4ZrB0zjld697qNGjJO8XrPgxAxYcitc3m+3WfZRtQXUaA+n5thtib1kHIVNz0DvSVChdmB9VG0B0RVD/3lqMgxSEiEzyX9bEdj4S2gwEJo/Elq7LCJkzpfD4WjicDiWOxyOvQ6HY7fD4RjjoY3D4XD8x+FwHHI4HDscDocHKXdNWNElJyKW2GqVqdCwHzGtHlVbBiuHgjPbbrM0EUhstcpUaHArNeQcDFgBzR6Bxb1gz3vgdoZmUBHfmnvhbONpVablKFX3q6ziylUakTe+CnW6B9dXXH84b3Lr0ex7Fl1RSSod/dZ/3wc+howj0OWDwMaygVCufDmBF0WkLdAd+K3D4SgpnT4YaH3l8QzwvxDaozGCjvuKbOL6wflV0OM7qFAXVg1VtZ00mpIUxOY4ouD638Gdm+HMQljUEy7ttn48f5p74WzjSd8wtgtydhGJs35DSkYZ/NGy9SWo3ASuL7UOYp56/czHfQXynrUcpfQ5fTlLFzfBrr9CnynKYQt0rHBjJCrfigcwCxhY4rVxwCNFnu8HGvjqR2c7hhi3S2RqHZVtook8khNV/RoREZdTZO1jIktuU/psmsjCrmzHAi5uFpnTtvhrbrfIgU/V3/jOv6msN6vwV3+ppLxOKNuUzIRz5Yks7CE7Zj4uG8a1lzNTblLaj0awK0sz0HM8cWySyKyWIrmp1vSXcVxpPJqp9xVIfTK3W+lOnlvpuc+cZJXJmlSivIbV+pcmIJJKTQDNgSSgeonXfwJ6F3m+FIj31Zd2vsLA6odEDn1ptxUaT7icxbXPXE6RdU+KLO6nHbBIw27n6+fPiocCmhnHRZbeITLvJpGUbdaN6Utzr+B6hKNNSRJfFFk2WJLTs+XT5QckY8dYJZi8+13/haWvducrbb9ytpMTg++rKLNaiqTuMndOIJqUe94XWf8LD325RJbfLZLwgnVjWUDEOF9AVSARuM/DsbkenK+uHto9AyQACU2bNg3RJdP8zKEvlQOmiUxWDBU5+kPhc5dTFRRcfKuq7KyJDOx2vkREVtwjcuxHz8fcbvW3PrWOyPa/iDgtEkt2u4vf8IoKS4erTVFOzBSZ0VQk52Lx19OPqFXj+d1EUnd6n8/V7HzlZ4nM7Shy4H/B9eOJ9U+J7PvI/HlG3rOiZJ1VPyJKfrftfk8Jp/v63JodywKMOl8hzXZ0OBzlgWnABBGZ7qHJSaCoYFJj4HTJRiLymYjEi0h83bp1Q2OsppD6A+HcUhC33ZZoPFEy2DUqGm75Aqq1hhWDdakQTSG+YnMcDmj1FAzeBikJsLCbyi4LBpHI0knMOAIbfwW9fiyd3Ve1Bdy2BK77JSztD7v+Bu58Y/O8Wkh8Dmq0g+tGW993XH84v8LcOUbes5JUioN6txbXLD2/Bvb9S2VtRsdYN1Y4MeKhBfIAHMC3wL99tLkLmH+lbXdgk79+9bZjmJhzvfXL1BprSNkmMrtN6dfdLpGNz6jK1Xlp4bdLU5xIWPlK3qL+lv3hdosc+U5kWj2Rra+KOHPMjxVpMV/OHJH5XUX2fuDf9ozjIsvu9LwNe7WufB3+Rr33eZcD78MXmSfU1q3bZax9MHFYSTNEFvVR/88+rySOTs4NzVhBgt3bjkBvQIAdwLYrjyHAs8CzUuigfQIcBnbiJ95LtPMVPjb/XmT3/9lthcYTbpeS3sg85fnYxmdFFvYQyb0Ufts0hUSC8+V2KVF2T58VT2SdEVk5XAXqX9hgbix/mnsF8jrhaDN9usim34qsHGb8Rut2ixz6SgWSb3+jcDvLDucrOUFylg0TmYBkbXhROTpmSN2ltpNTd5g7zyyzrhNJ2W6sbTCalK489cMgbZ+KVdz6aujGChLbna9QPbTzFSZOzFbxEJrIZOVwkSPfez7mdots+o3Iglu0A2YnkeB8iYisvFfk6ATj7d1uFSc2LU5ky0ue9fW8nedLc69gxSocbY7+EHh2X+ZJFcg9t4PIhXXWOFbOHP9tXE6Vtbeoj8iMJrJ+zisiE5AdM3+hHOg1D4tc2OjfluxUkdnXixz+2n/bYFn3lMjufxprG6wmZcILIotuVbGt/pIkrNC/DBCjzpeucK/xTFw/SN6ka0hFKr7iLRwOiP9YqRUsGwh5l8JqmibCqNffnGqFw6GKWw7ZqaqLz+8MF9YaO8+L5l56J3WrScnM89om5Y67VJusfK9tUvv3AuDShf3e9f1ubweJv4fek1UxYrNUbgR9Z8MN/w9Z3KfQbi8UHPPVJm/lgwBcPjq3dMxR/mXY92+Y01oVwW3zOxh6hDb932Zco0M0GjAOhh5Vf89rH4JFvVT8U8liua4cOPwV7lmNycq4QErcSPNzN0le1mlc214l7cQa/42D1KS8HHs77gtrSe08HqLKhXSscOCQkh+ECCc+Pl4SEhLsNqNssLgPtHsdGt5ptyWaklzaqSSGhh7y3kYEtrygbpy3LYKYWuGzTwMTHTAyAr5fU3fA6vth6MHAzj8xHRJ+B00fhE5/h3JVzJ2fmUTWnK5Udl8MbHwPXCjfjrr3JRQW1SzAmQ2LboHWv1aPYDi7jJRVvybWeSC4foqQXO56aleJhuufh7q9VcX9o9+qJKcbnvdfed7thFOzlV5n1glo83toeI/SrTz0KdS6iUXZQ2h97h0O13+ZAYOft8x2T5ya2p2Fp+rxcNx6Krd5Ejr+FcpVCslY41YeZvSp6xjX6BCj+7YKyRhW4HA4EkUk3m877XxpvLLzr5CfBl3et9sSTUnEDdPjYNAWqNLERztRla3PrYDbFkOF2LCZWOaJFOdL3DC9nspqrNw4sD5ykyFxDFzcoDJr4/oZO8+VB0v6khU3lO/SHmREfBNiq3jOTkvJzCN2VgVS7s312WbK5iRG8QoxVepDt0+KN9j4S3BmQs+Jwa9urHuczKqd+D51uDV2J5xgRNfGxGasIX/720QlryXvuuep1O45qNLUvH3JCeTueIfyZ2aS1+wXVGz/ItS4kZTMPJauX8T9l0YRNXA11LjBfN9GyDiGe0E8X9VZxf0da1Brz4uQugVu+Qrq9bZ8OCPXORIw6nzpbUeNdxpoqaGIxRGlygj4S/V2OOCm96H+7bDsdnUT1ZQtHFFQr6+5rceSVKgNPb+HLmNh3WOw+bfGSpps+yNUrEvlTq8wum8rYiuX96q5F7toLgCxlcrBK6+Au0SpG7eb2Lf/zOhbWxLT8ysllXTsx8LjR76B86vh5s/U514kcH2/vDQ4NYcqbZ5Udvu42Rcc89dmdN9WxFatAPVv56sKXxKNi2+zfx2Y4wVQO57xUe8RhZtvnH+CGjf+PNaIAXcT1fkdWDPCd+hIMNfo6DdENXuYX/a7kVqxjaD3j9D5XbU1mjBGOcEWYuQ6X01o50vjndh4yDwB2WfttkTjibh+xvTVHA71pdjgTlh6O+RYt/2juUqo19+8Fp8nGt8Dd+0CVzbM6wBnl3hve2I6nJwB3ccrBxCM6Ta++iq89x507VrogLnd6vl776njMTWg9xQV23V5P1zaBVtfhD5ToXw1Y2P50vdLmgxxt0HF0NSVHNFNOVwj4n2sWhvp58r5Hvtp9TTU6qy2jL0R6DUSt3J2W40q/nqT4SpWMC8V5nUMzuG/1jESlR9JD53tGGZW3afq/2gij0u7RWY2N97e7RbZ9ieVxZV9PnR2aRSRku0ooiq4z2xhbZ+n5ovMaCKy4Zels2pTd6hSByWz84zU8HK5RDp3Vq917uz5eQEHx6myGLOvV2UizIzlK+NtYQ+V8W0UO3UbffWTl66uT8lrU0Cg1+jscvU94usanpyj6nFt+rV1tcYi6W/KC+hSExpLOPA/kbWP222FxhNut6p9k37U3Dnb/6zEarPPhcw0jUTWjcLtVvWrMo5Z229emmSveVqSpvaR5IxCmRfntEZyaNqgYq8Vs8WfbmNRh6vgUdLxutJX/pyOcm5yB/NjeePSXpFp9f2XMyhKpDpfIupHmq+aX4Fco3VPGCtem5uqZIhmNhM5vch/e39E0t+UF4w6X3rbUeOb+gPh3JLIkWTQFOJwGIv7KnlOx7ehyQNKUiX7XKis00QSDseVbeoV1vZbvjrfOF+lSe5qYmdVUEkGEx1E55yiVc4CVqyb69mWsWOLvzZ2bPEA+agoSCwhdZSYqF4v0dc3Vb6lXv5OpiScCGyskhwdDy0e81/O4Gqhxo3Q5QMV/+UpTs/sNcpPh5Ozoflj/seOqQndv4Ru41QyxMZfqXg6jXa+NH6o1gqiKkLabrst0XgiLsBYno5vQtOHYGk/yD5jtVWaSMSso26QgnijlHtzVXbnSCHl3lwWxX7CvZkvqPifoogBzb2CGK+iFI0BK8Lwm9sWs8P0WEVxO1Xph5ajPB+/WmnxONTtA5ue8Rxcb+YaJU1WjryZeLiGd8JdO8ERDfPaw6l5psy/FtHOl8Y/De6As4vttkLjibgrBTQDWZns8Ib69bq0P2SV0rPXXGsE6qj7wVMWWmyVGO4Y9BuimwyH9U+WDub+8EMYM0Y5U2PGqOcFDkCB47VtG3TuDC6X+nfbNo8OmNcsOH9jefqbObMIKjf5OXPwmqLrfyBtDxwaV/haINfoyNeBOaflq8PNn0L3b1QSwPonSzvmZQkje5OR9NAxXzZwfKrIskF2W6HxhNut4lPSDwfex65/iMxurWRVNNYRafEpbreSDEo/Yn3f3ubqzFUyV3uuSNAY0W18+eXSMV5FY8BeftnY+IHo+616QMW5miWSY76KkrZfxX8lJ6rnZq9R2n71GXLlBWdzXrrSD57eUOTETOPnRdrflAfQAfcay8hNEZlUTemTaSKPNY+IHPoiuD52v6tEcs0K+Gq8E4k3itUPec98CwZfc804rhJDzq/xqbmXPEnpNiZfzlYOVsngepfL4+vJ6dnqvJIB92b1/XIuikyuEZge5NXifImIHJtUqHtp9hptfVUk8cXg7C3KuVXqe2fNIyLZF/y3j8S/qRIYdb70tqPGPzG1oEZbuLjObks0nijYegyGG1+G1s/Ckn5Kz09zbRKirUefVGmqqp6vfRhyL3rV3FtXIwOA2DmVoNN78GP0zwH8THSo5x5ej52t5GxKBdyb1fc7NhEaDglMD/JqotmDap4bnlLPjV4jt8v6eLh6fWDIdqjUQNWNS5pqXd8RzjWSzqEJOfXvUPEQcf3ttkRTknr9YOdbKj4jGEmVti+qYphL+8Pty6BKM8tM1EQIcf1h99+C/6yYpdFdcOExVR2///zCoqsFZJ1mSMYr/FT7W3r2fshUFfNLZ7dTfsWdjOjSIDgbj3ytihGXBW56Hxb3hv0fKk1JI5xdDJUaQs121tpSrjJ0+ZfKwN74FByfpGSjKtazdpwIQ698aYzRYKAOuo9Uql2n/s04HHxfN7wAbZ5TK2AZx4Lvr4ySkplX7N+IoVprVZ0844i581wutRLicnl+HVSwthdZIF55Bdq/pSrj7/5HieNOWPcIUW1+zd13Pu5TgsjT6zXrd6JKrebEXl5hbk5FSd2uVuXibit9zN+8Cl4PVKbHSHuz/fjra/Y86DUJ9ryj9DqNcOTr0hXtrbS7bg8YvFVl2M/rCMd+uLZLHBnZm4ykh475sglnrsjk6iouQhN5rH1M5OBn1vW37yNVGDEUwdllgMXzxopMQD5ftstuU0qzZqTIwc/NnTNsmAoRrlNHxOlUrzmd6rmZQPnMUyLTG4icWVrY99ZXRZbeIeK+ck4ggfIHPlXB8oGSMEZk2+uejxmZ1wTM22xVkoC3OCgjfZ2YJTKjqf/v9ZzkK/FwKYGPZYaLm1Qh6JX3imSd9j/XCAIdcK+xnOV3q2BNTeRx6AsVtGol+z9RX8yXD1nbbxkgb2E/uTjpesnYMdZuU0pz8HPlgJmhqKNV4IAVfW5GFujMYuWAZZ0ROTlXSdAUlbsKRPIm95JyDgL5cejMVdX/vX3OjcxrAuZt9uRIBDJ3bw6J0b62vCSyfEih8+uJ/R+LrHnY+/FgpJy84cxRDvHUuiKHxxdXQIhgtPOlsZ59H4pseNpuKzSeSD+sbmiBfMn54sCnSr/v8kFr+72WObtCZZNd2CAyvZGIM9tui4pz+ZBK8Tf7WSnqcBU8Chwxs7JAO96UvDk3SebE2pJ2fFnpsQKRvFkzUmTff8zNSUQkaZrI4lt9t/E3rwmYt9mI0xRMP0b7cuWJLOwpsusd7/3M7ypyeqH344HYbZTkLSJzO0nukkGes1ojDO18aazn0h61EmL1DV4TPG63em/S9lnf98HP1OpE2gHr+77WcLvVjfzw1+r5iqHqR0sk4XZfeT/3mz/X6Sx+cy3YgizqALhcxduUdLxERPKyxDXBISe+riufrvCy4uR2F+/H3/fOmcUi824yP6fldxe+X77wNa+C+Zux2Z/TZEU/RvvKPKHqd51dUfpY6g71eXE5fY9j1m4zuPJk28ynRCYg45btsabPEGHU+dIB9xrjVL8BxAXpB+22RFOSn7X7QlBG4LpfQYc3VRbk5f3W938tcW65Ugso0L3r8Cbs+T9wZttqVjEcDqgXQMkJlwvq1y/+Wv36xYPwjcoC7XwdZ+1bqVkxipFN9pQeS8Sc5A2oYPncZBU8b5Tss3Bhjcq084WReQVisyes6sdMX5UbQ/fxsO7R0nqvh7+GFk9CVHT47C5JVHmaDPgf58p35JGm+4LvLxIw4qFF0kOvfNnM+lFq/18TeRz+WhXRDGX/0xuqFVBNadxukUW9RY58W/z1lcNE9n5gj03eOPSV7xieklgZ85U0XSVz5CSLnFupVlwykgrHCiZ+aPufVfC8UXa/p77TfHGtx3wVZdvrIktuL1zlcuWpArn+wg5CEfPliQOfiqy6z5q+QgR621ETEo5OVFspmsgj/ai6kYVyW/jwN1ccsN2hG+Nq5cxikdltRFz5xV9P2aYkoPIz7LHLE+lHzH1WrMp2TD+sAqgvbCjse9c7KuaoQLImmMy5gv6dBuKC3G6ROW1VlXVfXMvZjiVxOUWW9BfZ/hf1PGmGyKI+Xi9NUGMFQu4llXVvpBq+TWjnSxMass+prKJgtb00oWFm89A7Rke+U8H9qTtDO87VhNutHIgj33s+vur+Qn3DSGFmM+OrmE6ncsCcTs+vF6x8+ZIFyssUmdeldAyc26Wy7ba8dOW5Scmbkizuq4Lo/XFhg5K28defv3kVrHyZtdnbypcV/QTal4jKQp3eUOT0IvVD24gcVbDvmRnWjBTZ+2/r+rMYo86XQ7W9eoiPj5eEhAS7zSjbzL8J4j+Gur3stkRTkg1PQWw8tPlNaMc5NhG2vAi3LYKaHUI71tXA6YWw5XkYsstzbMylnbBsIAw9DOWqhN8+D+SufJjEy8254ba3TVWU98hEB4z0cy/Z/FvIOQe9p5Surp+bDPO7QPx/oPG9wdly5BslU9Nvju92m56Fyk2g/WvBjQfG5m/FOaHspyjnluNe/RD5+dlkDjlObI1Ya/sPhrNLYMtLMGSb3ZZ4xOFwJIpIvL92OuBeY54CqSFN5FGvX3i0+5qPhK7/hmV3mAtwvhYRgZ1/gfZ/8R6UXLMD1OsLBz4Jr20+SL5whPi091m7dnLoBzv2I5xZCLd86VnWqEJt6D0JNv4KMo4GN1bTB1QQffZZ722c2ZA0GVo8EdxY1ypx/TkS3Y0KksGUbal2W1OcuNsgLxVSttptSVBo50tjHi01FLnE9YfzK0DcfpsGTbOH1ErF8jshNTJ/hYaFMwvAmQ5NR/hu1+EvsPd9yE8Pj11+qFcpn201nmNIxqtqFSj/cmgGurwfEn+vVrxianhvV6c7tPsTrBkBrtzAxytXBZrcB0e/897m5AyI7QZVmgQ+zjVO7MBpAIyIj7Br5IiClk8quaOrGO18acxTt7faRslLs9sSTUmqNIHyNSDNQ/p+KGg6AuI/geWDIGVLeMYMgPTcdL7Y8gWvLH6FL7Z8QXquRQ6QCOx4Q5WU8JeKX+NGqH87HPjYurED1dNL3U65/GRuvuufRN+9C8QJczuo7VMrcWYpZ6rT3yH2Jv82t3kOKjdVW9rB0PIX6ubs7Roc+RpaetEp1AAQW7Wi+jfYLelQ0PIXcPyH4Jx0m9HOl8Y80RWhTs/wbG9pzBOqel/eaHo/dPsfrBgMKYnhG9cga5LW0OiDRjy/4HneW/cezy94nkYfNGJN0prgOz89F9y50OR+Y+3bvwH7xlqzyjRzJtx3X/FaSnKl1tJ996nj3jhSpHZTTA245Qu45XPYPBo2PA15l4K3DyDh91CzI7T6lTGbZ82C7l/BmflwfFLg49btDe58SN5U+lhmkvqh0GRY4P1r7KVqS6jRDk75ieuLYLTzpQmMBgPhrI77ikgCKaAZLE2Gw82fwYohkLw5vGP7ID03nSEThpCel05mfiYAmfmZpOep1zPyMgLvXAR2XIn1chj8Kq3RFhrcAfv/E/i4BQwbBmPGwIcfFjozL7ygno8Zo457wpWnEiZa/qL46w3ugCE7IboCzG0Pp34Kzr4j4+HiOuj2aWGclxGbY2qqLcqE38HlA4GN7XAUrn6VsusbtWUeXTHQmWkigZajruqtR+18aQKj/kA4o+O+IpK4fnB+ZXjivorS+F64+QtYcRdc3Bjesb0wafck3F6ug1vcTNoVxOrKqdlK8aHJcHPntX8D9n8Y/La9wwFjxxY6M1FRhU7M2LGeA9sBTv+knMBq1s28ogAAIABJREFUrUofK18Nuv0Xen4HiWNg3eOQm2Letku7YOv/g95ToXxV8zbHdoGOf8W5chhfLt9OSmaeeRtaPIH7+CS+WL6r8Hxxw9Hxtm85FtgT0LxC0M9VSdMH4MI6pShxFVLObgM0Vyk1O4DzsspMqtrCbms0RancSGWPXdoJtTqFd+zG94Dja1h5D9w6C+r2CO/4JTiYfPDnFa+SZOZncijlUGAdi8DON1Wsl9FVrwKqt4EGg5UD1uGNwMYvoMCZ+fDDwtd8OV6g5GL8OR9x/WHIDtj2J5jXXsX1GXUy89NhzQNw0/tQs13gNrd8mrzE13g6vTPMMjZ0SaKAX57pwOeb9/KrfjfA+dUQXUmVY7GR7Ss/pD8QO6tCUP0UFIBYsn4pDw4YHLRdVxUFiRXHvoMbX7HbGtNo50sTGI4otfp1djFc94zd1mhKEndl6zHczhdAo7ugxzew6l64dSbU7Rl+G67QunZrqpSv4tEBq1K+CtfFXhdYxydnAo7Aa1K1/zMs7gHXP6e22QKlYNuuKC+84N0BK9Ay7PWD/77LVYH4D1VSxcanVAxW/EdQsa5vezY9o2KuWj4ZnM273qJ8rQ58VuEzHujWPKDA75RLF0hf+iBPOp+D/GmFgfa+nNNQc2kXfbPeY3K9eQzocXtQAe0pmXlsX/kh92e9APl9iq8ylgVajoJNv4S2L9v7ngaA3nbUBI7eeoxc6l0pOWEXDQdDj+9g1TA4b0Fge4A81O4horysTEU5onio/UPmOxW3quvV4a3Av/Crt4ZG96jg+0ApGS/ldpeOpyrJ0e/UCpaZm3S93jB4mxJfntcRjk/2nkV4aJzKtO36UXA2n54PR8ZT/tZJPNOvTcAOSmzNujQbvpiYas1xLuxF3rGppNbzUxIklORnwJoRRHV5nwcHDA46kzC2Sgz9h/w/ouv1gk2jrRGxvpqo20v9PV7cYLclptHOlyZw6g+Ac8vA7bLbEk1J4vrC+VX2vjcN74SeE2D1cGWLDVSrUI15j86jWkw1qpRXleWrlK9CtRj1etWYAFYKTkyHqArQ6O7gjGv3Ohz8JLCYKlCZgyXjpYrGU5XMdhQJvMRCucrQ5X24dYZyPNc8ANnnirdJ2QI7/qyC5ctVCtzmzBOwYRT0mgiV4szbWpKocnDzOM7mVENcuUzelR98n4EgohykOj29rwoGSvxHkLYTDn9ubb+Rjq/EikjHiAZRJD20tmOE8VM7kYub7LZC44k5N4gkJ9pthciZJUrs+Oxy20xIz02XLxK/kD8u/qN8kfiFpOemB9aR26U+8yd/ssaw9U+JbHstQFtM6ukZ1TL0hzNbZOsfRabVU1qWbrfSF5zVUuTYj8HZ7MwVWdhDiW1bTPLldMmaUFNSzxnUszSDN33FohwcJzK3g0h+pvXji4ik7ROZWkckeYt1fRqZl91knhCZXDN019UkGNR21CtfmuCoP1BLDUUqcf3h3Aq7rVCFRXtPgjUPwtlltphQNaYqT3d5mncGvMPTXZ4ObMULIGmKioVqOMQaw9q/jnv/f5mwZIX5jDWHA4YPL7316eX1nANfsClqKClZQa78RFeEzu9A37mw5//IW6KuRU7dO1QJh2Bs3v4niKkFN74cnI0eiK1WlUrXP0nNMxMt79svKVth+2tXVgUrh2aM6tcrzd01I8pWAezKjaHOLWpF+ipCB9xrgqP+QNj7njXitBprqddPxfi0/YPdlihHsPcUtV3V6we1ZX214XbBzregywfWBfdWbUEqdXj0fP+AM/qMUhG4GRiX8BtG9/VQZsIsteNhUCIp02+mPrAxtTF9RQK/NidnwYmpMCjRfAapUVqOUpm4RhQJrCIvTTlE8R8rBymUNHtIbfFvfNqzgPm1SstRcOgzaPGY3ZYYRjtfmuCI6wtrH1KBpGUt0ybSieunMs/cThX3YjdxfaHPdFh9P/T8XhX1vJpImqykmxrcaWm3MZ3fImnnOKoOWhRSKZeUjBxiZ1eyVqsvOobY2k1JzOhJL5kCK9aoYrtmNRMzjihR7b5zVJmUUFGrE1Soo2JVGwwM3TgFiChHqMGd/lcFraLLB7C4Fxz4SGXTlgUa3wubfwMZx6Bqc7utMYTedtQER7kqqmaOTQHVGh9UrKeW5CNJ9LpeHxW0ve4xOL3AbmuM43bBrreg49uWryZUazqQpu6txFYy+XVsUtvRq1ZfMBqROeeJSV5F18HvUm7wZpV9tqCLWoUwmnnnylVb0u1eU9tHwdhjhHBWRj/wEWQeUw6REayYe3QF6D0Zdv0tYoodh5zoitDsYTj6jd2WGEY7X5rg0VJDkUu9fpGnwVm3l6r/tf4JODXPbmuMcfwHtWISiu3SinWgSjPzupjBaDta1c/R79WqQ/lqEFUe2r8Oty+HQ5/DsoFqJcIfW15U8y9YpbFqXt5oPhJOz7NOv9IbFzcqB6j3ZOUQGcGquVdtqVYg1z4UeDbt1UbLUUrSKtzKHoFiJCo/kh462zECubhJ5Kcb7bZC44njU0WWDbbbCs9cWK+yIE/OsdsS37jyRWa3VlmboWLzc+Yz/NxukTFjRED96+l5STxlrwXST8F5P7X3nMXqyhfZ/X8iU2uL7P9YZYl64tiPIrNaieReCt4eM6x6QOTA/4Lvp4CS1zUnWWRmM5GkGeb6sXruiX8QWX639+vvj6sh27GAnz+Py2w1A4PZjrY7U2Yf2vmKQFxOkSmxIpkn7bZEU5LsCyKTq6ubYSRyYaMqWXBilt2WeOfweJHFt1pz0/dG0gyRZXeaP6/ozbng4eUmnXpig8gEJDkjN6h+fubiZpGZLXzf2C/tFVnYQ/IW3CoTlywpNvalpFWS9UMtuXRygzX2mOHkXJEFN1vSVUryyWLXNflylpyY2kuyNowJrEMr5+7KU6U7dr8bmC1Xk/MlIrLnXyJrH7fVBKPOl0O1vXqIj4+XhIQEu83QlGTNgyr9vuUv7LZEU5J5HeHmz1U8TSSSnAAr74Ju46DJMLutKY7bCT/dALd8oRIYQkVuCsxqDg8kq+07M4gogeoC3O7ScWmpu3DP70QUbsY1OuQ529FIP0XZ/FuoGOdfn9LtYt38N+iZ9g+Phy2zxwxuJ8xqBrcthho3mj8/+xycnA5JU8k9v5kKkl6qybdx63ji9gC1Ta2ce+YJWNhNZT/W62Pu3IkOGHkV+Qg552FOGxiWBOWr22KCw+FIFBG/4qE65ktjDVpqKHKxW2rIH7Xjod882Dw68mr1HP0OKjcJreMFUCEWqrVSjqgZxItOYtEf1c5MWPcwOa1fJjsqlofaeqjzZaSforhy4PiPxiq1R0VzQ7+/AJByb666mY8UUgefJi2qMSMbbg7eHrNElYMWj5sLvM8+Awc+gSX94KfrlUh3m9+RedcJxjU69PPcUu7NZVuVX/KwvBVY/JHVc6/SBLp/DWsfUc7JtUzFeupv9fhkuy3xj5HlsUh66G3HCCX9qNo+CjS2QBM6At3SCjfJW0SmxYkcn2K3JQpXntpWO7cyPOMlvCCy6+/G2xuJD3K7RdY9oR5ut8i+D0XmdVFV6s30U5JjP4osud3c/DxtYSUnqLi/yweDsycQ0vaJTKuv3mdvZJ5U12xRH1VFfe1jIidmFr9+nnDliSzqLbLrH+ZsCuXct/1JZOkAFSZilKtt21FEvT8Le9o2PDrmSxN2ZrcWSdlmtxWakuQki0yq5vsmEymkbFMO2LFJdlsicvBz8w5GMJyYpW6ORpk+vfRNuejNevp0kUNfqmSY/IzC46vuF9n0G3P9lGTZnUpayAzebuT7PxGZ11kkPytwewJlYQ+RE7OLv5aRJLJ3rLqBT6klsu5JlRTizDHXd+ZJ5dydXWH8nFDO3ZUvsrivyI63jJ9zNTpfrjy1EJC2z5bhtfOlCT+bfiOy+z27rdB4Yl5nkfPr7LbCGCnb1U3r6A/22eDMVdlq59eEb8zcVJFJVdXYRvCnk5i8VWn9XSqhZZh7SWUYFlxfsxqRmSeUU2JWS8/bjdztFln9kMiGXwVmTzAc/Exk5XCRjGMie94XWdBdJQ+tHyVyap7x98IbpxeKTG8oknXWWPtQzz3rtMj0BsYzd69G50tEZXlu/aMtQxt1vnTMl8Y66g+EszruKyKp1x/OR1i9L2/U6qgCobe8QOaODxi38rB53cMgydr5L07kNyKlcrfwDRpTE2fFJsxfPN7YfH3oJKb078OlxcPJaPdPqNG2xDg1oPcU3Am/Z9KSRUrr0YRGZNb+r9lT7k5Sci1STXA44JbPcZ1dwbL575u2JxhSat2DnJxBzuyO5KTsUbJD952F7l9Bw8EQHaTiQIM7oNUvYd1IVajXHyb1Ok1TqQH0+B7WPw5Zp4PrK5JpOQqOfmvsmtuEznbUWEdeGvx/9s47PKoq/eOfmwopJIQSIPQqRQ1FQEDALmJXxMKKrt3dtYvy07Xtuiru6qrrqmtHURFFQJqKFOm9994CCemVtDm/P06GtJnJnZl75045n+e5T5g7577nnZsh88457/t+Z7SFGzIgorHV3ihqcmyW7LZ9UQAFx9mbsM3vTxjWNU10WolnEiXfJtHYlmOYPVf+/z73FYbnPmeKbYc0UDk3bcEcxmRc5bE/3tB9y/c8MSrVnN+1rRIWXQYthsE5Lxlv3xO2/g3SF8BFv7mWHgu0aseazD9PKlK0GeXTafVWO/qB4JsiaIhKgMRz4NQy3+imKfTTcjisuB0qy7z/Nu8rklKpbD6SX2xjGHjBH03VPaxLybqJ7ErLNVYHsSHKcokOs5EV1o1GPf9E7NmPeGwqu6iMpJnRLv3vM/xJmPUc2deWunVvswtLSZrVyPB7c/H5l8JM3PbHGwoO/ETO+n/w4MV9zPtdh4XDkK+l7FKLof6hadrnWfl3esvzkOq4BUjAY5eR8nHwpRe17agwFrX16J9EJUJ8d8haY7UnbhGZcjFXtNjl08ALoHHbS+kbvcm9eYWXunyHvyWs9aU0GzWX2D2vQJaDFgw1KS+Hbt3kzzrnk1J7A5AUE+nUp6Rf5zY4xrFGpJTKqXdvbDZ4+mn509F5FzYRgqRf5njkjzfElx+kfce+PHZpD3PfY42TYcgUWDkeio+bN49etDApbn/oy8CR+HKXjrfCiZ/9Vl5Jd/ClaVpLTdPa2w8d4z/VNC1D07RtTp4fqWlanqZpm6qOBjr1KQKC1ir48luSL/Q/nceGaHkhpC/2/bzNz4e8rVBeqP8ab3X5Dnwmv63Hd4Xz3peNi8tcbEH26gX79kHjxtUBWHm5fLxvnz6fjPDbzsSJMGkS9O9fHYDZbPLxpEm+90cP+bshvodx9lyRPBJ6/AWW3wI2B73WfE2jFjDkG1h9FxQdsdob44lqCq1HwaGvrfbEMQ1l5APXAHuBIuAgYAO267huONAP2Obk+ZHAbD1VATUPVe3o51SWCfFdghAl6VZ7oqjLsdlCLLjIai/co7JMtsk4nen7uX8dLsTxefrHe9OjKXe7rIqrKQO17hEhFl/j/LqyMiHCw6X98PD6j6fQsE96xujViKysFCI1VV6Xmlr/sZn+eMqCi937HXuLrVKIhVcIsWGC7+ZsiO2TZJWno8rOQK12tHN8vuxr50MwqtUEsBloBmysenwh8D9dxqGjCr5CkCXXCnFwitVeKOpSmlvVysDNfkVWs/ByIY784Pt5N78gxMan3bvGU12+DU/Wn6uiVOoP7vin8+tqBlz2wx6I2T84XfmkZ0wd8g4vdK4RWTPgsh/2QMwkf7zix7ZCFOw31mZDlJwS4sd29fuLWYWtUojFV8smv3UJ9OCrskL+jrM3+2xKvcGXnm3HciFEFhCmaVqYEGIRkOrlgpud8zVN26xp2jxN03o7G6Rp2n2apq3TNG3dqVOnDJpaYRoq78s/iUqAJj0hc5XVnrhHskVbj55s02oavPVW7XNvveW6RYCtHA5+JbccaxIeBcO+g52T4NRyx9dGRkJJSe1zJSXyvDs+6fW7OI3YZVcAMG3d0fr+hIXB+vW1z61fX1un0Eh/vKGiCEozIaaDcTb10Kg5DP0W1twDhYd8O7cjtDAY/Dkc+xGO/mi1N8YSFg6d7nBPRspH6Am+cjVNiwN+B6ZomvY2UGHA3BuADkKIc4F3Aacb+UKI/wkhBgghBrRo0cKAqRWmYtd5tOdrKPyHZD/XeXRES4ty1ZoPgrztUJ6v/xp7blJNGtLlS5sPcZ2giYPco9gOMOiTKl0+B1887TleNamZA6bXJz1jbBWw4lbKujxEcVhzbu14sL4/9hyvmtTMATPSH28p2AtxXeQHtK9pMQR6Pi3z+ip928POIdFJMHQqrLkfCvZb7Y2xdLoTDk3xj/tcAz3B17VACfAYMB/YD3jdjEUIkS+EKKz691wgUtO05t7aVfgB8d1k75j8XVZ7oqhL8sjAS7pP6gfFRxwHH2YS3giaDYSMZfrG2wOGt9+GRx6RAccjj8jHrgIHe6K9M1Kugo63ycaYNYWa7YFXZSWEh0NZmfxZWVkdkDXkkzt+b3kewhrReOC/iBn+JU023Akl6dX+2AOvTZsgNVX6kZoqH9sDMiP98Zb83Y4DXl9x1mMQ0wY2PmWdDzVpPhD6/LUqIDxttTfG0aSb/D2n+VlVZ0P7ksDdDs69pmdPE9c5X62obvI6EDhif+zqUDlfAcKqe4TY+W+rvVDUpSxfiKmx1Tp6gcKiK60R3N7ysszH0oMnunwlGbJApSzPte3KcinuvPXv1ee6dq2d4yVE7RywKTTsk54x06cLcWyOzJ0pyaief9OzMmHdLtQ8YULtHC8haueAGemPEWx5SYiNE42x5Sml2VK83V/E5G02IX6/SYg1D8rHgZ7zZWffJ7J4xQdgYML9POD2Go/fAz7Rcd03wAmgHDgG3A08ADxQ9fyfge3IhP5VwBA9DqvgK0A4NFWIRaOt9kLhiPmDhTi50Gov3GPHG7XFoH1F+u9CzNP5N8cTXb6dbwmxfJw++2eEmqt+d2VlMgArqyOYbj9vrxx05ZOeMQWHpFBx+tLaz1eWC/HrSFmYIIQMtCZMqA68zoyrOm+UP0Yl3S+7TYj9nxljyxsy1wrxfQsh8vda7YmkNFeImV2l9mewBF9l+fJLjl6NTS/QG3w1KC+kaVpjYBbwKTAKyBZCPOrdepvnKHmhAKE0C2Z2ghszA6ejeqiwaSKERUrpjUAhax2sGg+jt/t23spSxLSmfN5iCdcOPtfYRpxCwLxU6PcWtLpI3zUnfoVVd8IV66FxK6fDcnIzaDo32WW3eHsXfJdjCgopn38B8d1uJiZ1Yv0BJSdgfn8Y/EXDqhZ6pGp8KWczfwD0fxdanO+b+Vyx57+w/yO4dIV/SLPlbMK24FLCyjN9qjhgKivvhMSzoecTpk6jV17Iac6XpmlJmqYlAY2Be4AJQD7wctV5hcI50c3kPnvmSqs9UdQlEJutNu0rhYBr5hj5gtIshK2Uu9IH8vOqpcbaztkok/mTR+q/pvWl0OVemYDvTDRYCHIXjgMgaWa0DGgcHEkzoxse81M8yeWb+DL3JsdzNW5d1bn9Dv/o3K4XISB/j7U5XzXp9qBs9rrBsnWN2jRNZU/kCMBJVWsgYpcb8pNCMFcJ9+uBdVU/FwGJwOga5xUK16iWE/5Ji6Hyg7+i2GpP9BMWDi0v8G2lZlV13+kezwIwNmcs7HzTedDjLgc+g07jZam/O/T5K2jhsPVFx8/v/jftGuXwUZvtZF9bKleSHBzZ15YC6Boz5jwX7RiSL4Tuf6rq3G5EIbwPOH0SwqNllZ8/oGkw6CPZUuXgV1Z7A0DyBW9TqsUxpm+QdBhoORwqSyDbP8IXp//rhRCdhBCdgZ5CiM5VjzsJIToBvXznoiJgUVJD/klELCSeC5krrPbEPVqOdL/flxCe6wRWVffF9HsRgLDLV8PxWfDrMMjb6Z4fdakshcPfQOfx9Z9rUCNRk6tNBz6TbSpqcmol7HiNiOHTuHdkL9fajnYtxcYRTudLevmvckxDeou9Jsr31Zbn3LwRFmF0paM37zM7kfEwbBpseAzydhjnm4c0bZZCdPNUkgqd9JgLNDRNtp3wk55fer5yOfoLHWB/tRWW0HyI/JDyU2HTkCYQtx6TL4QMN332VCfw+FwpOjzkq+qVqfgucPFC6PQHWDActr/m8UpP0dY3OWlrT7aWUv/JhjQSJ06UQs1Dv5b5X0VV20KnM+Xq08CPIK6jvtevZz49dmbOgvO/lP2Ujs/26J74lPzdUmjeKIzSo2x6DqS+DsvGyCawVpNyDRybZbUXxtF5PBye6h+tNJxl4iNbQfQHdgJ9kTqN/ZCyQLv0ZPObcahqxwBj4Sj/KaNWVHNigRA/D7HaC/ewVQoxrakQRcfduMYDncDCw/Wr++pWfRUcFOK3S4SYN0CInK3u+XPgS1ExJULs+6SN+GCRgwq3hjQSa1YTbntV/h4rTsv/axuecu/1T8EYTUb7fcxYJu9d4aH6r0tP5ZyvquvWPSbE9teMs2ekHqXNJsSK8UIs/4PxckrukrtTiOkp1vthJL9dIis5TQJvW00A45G5XgVVP+3HLOAGPcbNOFTwFWDsfFOI1fdZ7YWiLuVFst9XWYHVnrjHkmuFOPi1e9e4oxNYUSpbcWyfVPu8o6DAZhNi70dCfN9cFK1/Qfxv0U7HeodVZJ86KA79cKEo/6mPyD28WJz6rqco3Pq248GuNBJr+VApxKIrRdnMniJtWn+RlV/o3uu3vy5vNRlrsuMNqUlZV6jZn4KvRaOFOPKjsTaN1KMsLxRidm8h9n1srI/uYrMJMaubEFnrrfXDSA5OEeK3y0wzrzf40tNq4kYhxA/Gr7l5hmo1EWDkboMlV8M1B4zVZVN4z6/Dofez0OZyqz3Rz663peTPoP+5d50QtfUFbTbH78f1j0PhPhg+o3YivKsWCEVHOTL/D7QvXaLLlY/a7ODekT2hYB/8MgRGzoVmDirTbTbZsd5OZWXt12Dn0NeIFbfzj+N30nzgc9w/okv9Mc5ef83X5Wy+mmP03Ech4PdrIa4z9P939Xl/ajUxqxuMmAUJPY21q/d9poe8nXJ7+6IF0PRcY/zzhA1PQkQcnPOidT4YSUUJzEiBUZshtp3h5r1uNWFHCPGDpmmjNU2boGna8/bDGDcVQU9Cb7CVQmGQ6YUFA4Go8+hJrpoQ+nQCj/4oxYUHf+5eBWJsO+Iu/xlooHLwGplncuN5VcFRfFc4779SzqUsp7ZNPRqJIFtvbHyK4l5v8Fi7nxjb00EOmp7Xb5QmI8hg4/wv4NhMOOI339urqSyTclVxDoJUb9B7f/SS0BP6vy3zv9zRFzWalKvh+E/WzW80EY2h/c1wcLKlbjT4F0bTtA+AscBfAA0YA7ioO1YoaqBpquWEvxKIOo+JfaA8B4qP6Rtv/0BsSCewYL8UFR461aP2A0lxVT2zXDSjdDim/U3yw23VXdW+NKSReCYpvhJW3AZd7iY29UliUp8jccM4WUmp9/Xrmc+d+2gnqikM+w7WPiBX+PyJwv0Q087Y5s/u3h+9dLwNki+C1fdY15+qxVAoOqT//1wg0PkuOPC5tT2/GtqXBLbU+RkH/KJnT9OMQ+V8BSAHvhRiyfVWe6GoS0VJVd5XvtWeuMfvN8j3lB706ARWlAgxt58Qu95xbseofCVHYypKZY7Ujn/Jxw1pJE6YIM9tfl6IBRdWayvabPL/2do/V9vWo6VohCajM73FXe8KMTdV3mN/yfk68qPUCjUSM/UoK0rkPdz9H2N89YTltwux533r5jcam02In3pK+TCDwUBtx9VVP1cBbYBoYK8e42YcKvgKQIpPCPFdotSCU/gXv44U4vhcq71wj13vCrHyj/rG6tEJXPOgFBN2lRhtZvAlhKye/KGlEBnLG9ZIrKwUIu1nIaa3kf+3alKaI8TMzlJbVQh9WopGaDI6u3c2mxBLxwix+n7/Cb62vy6rHY3EbD3K/L1S/zFzjXd2POXQVFlNG0xsnyTEyrsMN6s3+NKT2DBb07RE4A1gA3AI+NbI1TdFkNO4FcS2h6y1VnuiqENxk/7sX/Uu2UVlVruin+SR+nPVNA2uv75+0rP9/OFvpV7ioI+tLQiJ6wiDPqFy2S18sXg92c//rX5yfVgYvP46OdmHKVoyjvx+n9fXd4xKhGHTsK39E98uWEB2cbnT1599sdSTzC6pgNdfdzqffbzL++js3mkaDPqYyhML5Fz+8D4zusEqeH5/9BLfFc5733F+oC9ofTmcWgblhb6f2yw6/UHmeVr0mvQEX68BmpAVjx2As4QQfzXXLUXQofK+/JLDaUfoUPIzc1avt9oV/ST0hvICKDrinZ28XbD+YbhgGkQlGOObN6RcxZbwKxl/cqBLvcWmv3Qm1naKbw51dmwnqR/LYh7mloxLXes2zk4EYOYak7upRzbhl+inAfhhjR/kfxWYEHz5gvY3QttrpUC0r3OVohKg+aDg+hveuBW0GAZHv7dkelfC2jdomnYD8CDwY9W/RwMXV/1bodCPCr78kk4tmpDWaCi3lD8TOLp8mlZVLLDYcxsVxbDsJjj3H9A01SjPvKbDxe8AOvUWBzgvk+8z4mlddrbH3sbtvGz6h/mgC8aTFnUet7TdZuo8ujC6u70vSZ0kdSl3ven7uVOukfJawUSXuyyTG3K18nV11dEXOAm8U+PcVea7pggqWl4AOZusLZlW1KNR9lLaX/hvIiOjYOsLvplUGKCD13Kk+1JDNVn3J2jaF7rcI6v7rr9e/qxJ3fOu9Bbt570ck9Q4AkDqLjq5P0kxkXKMHt3GBsb0Hv0xUacPw553nd4qI0iKjaJNv4eIP/6lqfM0SGm2rAZt3NpaPzwlPEpWke6cBKd8rLmYcjUcn2OcsLw/0OYq2U+twIJWSHoSw2QOGTfpHWvmoRLuA5gFFwtxdKbVXijsFB0XYlqS7JJeki4kdw0JAAAgAElEQVRlRHyRfG9EZVjuDiFmdPBs/n2fykone3f/666T8zZvLkRFVeVgRYV8DPL5KTRcgWj0GFf3R08Fot4qxYL9Mpn71CrH98uoJPiyAll4U7dIwIy5nHFqpRDzguAz5NhPQvzYToiSDN/OO+dsWRQSTKx7RIhNzxlmDgOrHZshV702AuuBt4FmeoybcajgK4DZ/lrtMniFtRz4qnYLkPQlQvyQLEThEXPnNUIHz2aTvhYcdG/u7M1CfN9ciNzt1edqBlr2AKzu4yk0rLdo5JiG7o8evUV3NBmPTJfB7Oms+vfMyIBo5V31pZvMmssR+z8XYtlt5s7hKzY+LcTCy+WXJ1+x6VkhNj7ju/l8QfYmGcjaW7Z4iZHB16/AX4FOVcdzwAI9xs04VPAVwGStF+KnHlZ7obCz6p76va22vya1Devq8hmNATp4p3+7Sqz46RmXeoo1yco8IvK+bSsKdn5a/8maAZf9qLkSVleA2pHeopFjGro/evQW3dVkXPeYKJt/gfhg4a4z9zQrN0eIKei+xw2S/rtcdXT2ezY7+No4UYgtL5k7h6+oLBfilwuE2Pp33815apUQs3v5bj5fMbevEGm/GGJKb/ClR9txvRCif51z64QO7SIzUNqOAYywwfRkuGK9bD2hsJZZXaWGYWKf6nPCBkuukdVg/f5l7vxCeKWDd3D6pXQ6vcDtaT9rvZ67LuxX/4nKSoiIqH5cUVGtdWjXHHSlt2j0GFf3R4/eoruajNkbqZw/iHDK692aVU2eYvCV/4CwiHrPuYUQ8FN3GPKVrJ6ri9najktvhHZjoOMt5s3hS4qPw/wBMPRrKb1lNsIGP7aBS5dDvMHyTFay+13IXCnvo5cYpu0ILNI07RZN08KqjpuBOV57qAg9tDBodYmqevQHio5CeR4k9Kp9XguTunxHf5A9cMxCCK918NrGFDO72ecuK/rqVvdtib2T28Xz9eeprIRWdXpmtWpVOwlfj/6hUWP03h894/SMKS+EFbdS0vd9PkzZd+aeZl9bytfJi+gftU6KgOd6Wa2oadD5TssqzMjfE5htJpwRkwLnT4YV46DkpPnzaWGQclVwaT2ClHFKmwtlub6bs6GlMaAAsAHlVYet6lwBkK9nec3IQ207Bjj7PhFi6VirvVAcmCy7ujvj1CqZhF2w3/i5jcj5Ki+U0kjlRe7NXVEqxPxBQux4o8a5EM/5stlkHtSqu13/zvZ+KPPltv5NiMoy9+57TQqPCDGtqRDlxfWfM3PbsbJCiG8byfdOsLH5hdpSU2ZydKacK9j4/SZDJJQwKufL3w4VfAU4hUfkH3BfJokq6rPyroa14nb+W2oeVpQYO7cR1Y5pPwvxyzDP5i88XCXls0w+DvVqxz0fCDHnHMfBUL17d0SIhVdIrcHsjZ7dfyGE+O0yIQ5OqX/ezOCr4IAQP7Y1z76VVFbIavLNfzV/rvIiIabGC1Gabf5cvuTYHKmx6iUq+FL4Lz+dJUTWOqu9CG1mdKxd8ecIm02KWK95yNi5jdDB2zjRu/LwY7PlB3FJhgy0rruuOvCyU/O8XYDald6ikWMauj969Bb1jMlcJ78M5e3Wf+9sNiH2fyav2/xXz4ozDn4jxG+X1D9vZvB1fJ4MUIKV4pNV7WLmmz/XoquEOPi1+fP4kspyqZfa0N/FBtAbfOnJ+VIojKXVpVJPT2ENhYegshia9HQ9TtNg0Kdw4mc4ZKCcqwE6eBWHpvLTye6eawWmjIaO4yhfehsfLj1A9ldTayfAg3z844/kpW8EcKm3mJe+pcExuad2NTwmc48cc9lop/cnJ/uYHONCt5Hrr6/9b0djRl8Ey8fCgP9AEzc6vtvztkZtguyNML8/ZLlZBNXuOsje4L1ElDvk73bvdQYajZNlwviqO6H4mLlztQ3CbvdhEVLv0Uf5iF6WrigUHtDqUtj9b+j9jNWehCYZi2WHeD2VhVEJsqP2osshqa9/JCsfm0148QHW7llGWqMh3D/Cw6qrc/7G0RlXcf/p7jDT+TC76uO0dUcdz1VykoglVwBILUUnJNrtrD3C/SO71h9QUYRt8TUN2mla9fOHtfu5d2QDAbQzhIDVf4TWV0CHsZ7ZiEmBEbPg0BRYMho6/xHOfgHCGzV8bXgjOe+BL+BsH0kFF+yBeD94/5pJy+HQ4xFYfgtcvAjCIs2ZJ+Uq2PQ02MrNm8MKOt8FC0ZK2TGTX5da+VL4nuSRkLVG6uspfE/6IvfK0pP6wTl/h2VjrP+dFR+HNfdSlPohE9tPY2z3Qs9thUWQeLn89u6qYjJn1AkKwlO4LWVjfRu2Slh+K1q3+2pVCTqstrwqn4zIcxiXNKO+HSFg7UPEth7Mh232urZzzWkONrqUPzR6z/PXvvsdKDrsfTsRTYNO42DUZrmyNK8fZK7Sd23nu+Dg57J9gS/ID1BBbXfpNQEiE2Dzs+bN0bg1xHWFjKXmzWEFTXpAXCdIm2/6VB4FX5qmzTbaEUUIERkvdfUyfrfak9BDCClI7W5PoK73QcLZsO4vprilC1uF/Ebf/c/E9bqPxuf9i8QNt0FFkfNrhHCpI3lGJ9GFlmLTxGTiL/6B+M0PQeGB2mO2vghhEcT0fYH7h3d2rckYH0fLUTOJ3fdG/QDlwGeQvY7o89/n/hFdXNuJjaLTVd/RKGMeHPne9T1zROYq2P6KXNEMj27wHtU774jGreCCH+DsF+H362DDk1BR4vqapAEQ3th3H+AFIRJ8aWGy/cThqXDMxK3BttcEX8sJkF8KfLH16CohDAgH3nBwvrWehDIzDpVwHyRseVmI9Y9b7UXoUbBfiB9audVJ/gxlBbJYYv9nhrulC0dyKivGC7H8D85fj55qPz3VhULI6s95/aurP4/PkwnOxSf1zyWELNX/sb0QpzPl4+xNVZJHO9yzk7VOtgPJ3+v4tTtKXj+dKec+8qN798gdSjJkO5lZ3YRIX+p67I5/yt+hK5+NoLxQtpnwRSsGf+HUSlnV664El16yNwkxo5Nnf0v8mbI8Ib5L8Fg3EwPlhRaC7ITvD4cKvoKEU6ukSKvCt+z7WIhlt3p+fc5WGSjkbDXOJz2cERI+Vft8eaEQs3vL1+UIPX2u9PTVstuyV38WHpHakulL3JvLzoYnhVg4SojSHBmkHPjSMzu735NtH/T0zLJVCrHoyvpfeozou+aII9OFmN5aiLUPO++tVXxSftCV5Tv22SiyNggxu485tv2ZnW8JMe88ISpOG2/bZpOBfM42421bzfJx8t55gJHB17+AWcAfgBvshx7jZhwq+AoSKitko8XiNKs9CS2WjxNi7/+8s7H/c1ExvYP4YsEy4zT/XFF4qKov13LHz+fukAFh9ibHz+vRSdSrf1iaKyp+7CRyvu0oijY40NTTa6eyTJTNHSwyp3YXJcscNDfVa8dmk6tMq++rb6NuILP9NSF+Pt9xg1QDtDYdcjpTvudmdhbi5CLHYxZfI5svO/LZKA59KwPnUMNmE2LJ9UKs/Ys59tf8SYhtr5pj20pO/CZ733nw/tcbfOnJ+UoCsoCLgKurjquM2/hUhCRh4TLv6KT72nwKDxFCJtu3HOmdnc7jyapowh3pwzi+4D4o2G+Iew6pLINlN0PPCdBiiOMxCT2h/9uyIKA8v/7zmgZvvVX73Ftv1a721DMGICqB36IfJ7HyEF/m3ezZXABhkcyMmEizij1MKXOQR6fXjqbBoI9kHt/Br+rbsZPxO+x6C4ZOdVzFpXc+d4luBkO+lL+fFeNg7UNQXlB7jC9ybPJ3B3+loyM0DQZ/Cmlz4Mg04+0HY8sJkEVh5fmQ46DIxiAaDL6EEHc5OP5omkeK0EH1+/ItBfvkz3gHbQ7cJOJK2depa5uW8MtgmWSdvsQtbUZdbJogK6vOetz1uI63QfJFsPoe8/QPqxgw/D4AxpzXob4fbti5aIhsT3H9QAftItywQ2Q8DJsGGx6DvB31nz+dActvg8GfQWy7+s+7O58npFwFo7dB5WmYe3bt//cpo2UbiPy9xszliFCpdHREVKJ8f6z9k/H3uOUI+Z47nWGsXavRwqDTeHO/FDS0NAZ0B34DtlU9Pgd4Ts+ymhmH2nYMIrxJ/la4z97/yS0go7BvEZUXSk20n3oIMbevEPu/MCbH5PD3MqFXr4xJRYnMf6opm2Rkzpej114TT3KnjLIjhNy6m92rOr9qCnJ7/7dLhNj0f87vm1k5X844Pk/mCq26R4jSXHlu3WPSR7O2Hef1lwnoocye94WYc64+GSl3+P0mIfZ9aqxNf6DggBDfN3P7bxkG5nwtAQYCG2uc26bHuBmHCr6CjJmdhcjZYrUXocGyW50npnuCo4TuY3OE+O1SmWi95WWPK4ZE/l5ZyZe51sPr1sjHRlY71sRRkOBJ1aBRduxjalZ/TkGILS8K8esIKZ3iDKOrHfVQlifE6vulxNOxOfJvwPQUc4Ivm02IqXFCnM4y3nYgYbMJsewWIVbda6zdA5OFWHKdsTb9hQUXCnH4O7cuMTL4Wlv1s2bwtUmPcTMOFXwFF6ULrhD7frjcN4nboYzNJlcZC/YbZ9PVB2XOViFW3S3Ed4nypzvVkY5WsNzh8PdSu7I0W5+OpB4txbo4W7Gyyo6dmtWfU5BBcENFLUZobXrKiQXyd7XiDvk7NyP4Kk6TBRkKWVU6q7sMmIzidKYQ3zWpbsESTByYLKuS3UBv8KUn4T5T07QugADQNO0m4IRBu56KECc/6yAtCpcybe1hq10Jbgr2QFgUxHbyzXyJfWDQx3D1HojpAAsvlcfxuS47mmfnF3Hix6GUNu4K3R7ybO72N0LbaylbdgcfLtnvUicx/5hs9OtqjO6kcwM0K722ExELw6Zh2zABgPy+n8mcOV/47QmtLoYrt0JEPLZ82cDWY71OZ4RyvlddIuPhgu9hw+OO8wM9IboZJJ4LJxcaY8+faHcjZK6UyhoGoyf4+hPwIXCWpmnHgUeBBw33RBF65G4lKTyX0406cVvKJqu9CW7SF8kKHjM/SB3RqIXU7rv2EHT8A2x5Fub0gr3v1+5MX5YLO/9J5JzOtCzdyIri/t75mjqJo3k27k/rJnUSv9YcHk2WjgSkbmPQkNCTbVHXAvDNYe+LK0wnMg7O+w+L4p8H4NcVBn+Ih2qlozMSz4bUSbD0JtfqEO4QrN3uI2Kg/U1w8EvDTeupdjwghLgEaAGcJYQYJoQ4ZLgnitBj60uE9ZpAyyGvEL/vNeMr5RTVuKvnaDTh0dD5DrhiA5z3IZz4GWZ24PSye9g140ZsMztD9kZsF8xgZssfGFH8r+rqTI/mi6LpZT8CDeg2XnGUwrBkbmu33aAX6h+0veQDAMYMcFLd6If0HfEXVjWZwPXhXmhWOkKtfNWny13QfBCsedCYv7spV8uWE8H4N9zeCsXg19Zg8KVpWqWmaa8BxUKIgqpzGwz1QhF65GyCzBXQ7QH5H9dWJj+QFdUIAzT37OMzFnvf38sINA2SR8DwGXDZarJObuOs4ulMafYTDJ1CQtvzueHS6wk7+wXZt6vytHNbDdwfXbqNTVOIu+g74jfdB0X6Vr+yc2RZveHbYwaSFBtV62cgkBQbxeBRLxNVuANO/mac4YI9KvhyxID3ZB+r/Z94b6tJD4iIg5wgDA2any//bmWuNNSsnm3H7VXjftE0LanqnI/3LhRBx9aXZOPMiBjZU6X3s7D978H5zclTZsyAG26o3W9JVPVjuuEG+bwe8ndCeAzEdTTNVY+I70LjUTLnavSg82o/1/1PEN8N1j/q/Hq996ehMS2Hw1mPwfKxYCt37fOpFUT80h+AtAV3Q3mhu69a4YrwaLkltuExsFUaYzN/N8R3N8ZWMBERI/t/bZ4ovwx7S8rVcCwItx41DTrdaXjPLz3BV4UQYgLwEbBU07T+VCXfKxQekb0BstZA1/urz7UfIxv1ZfxunV/+xnXXwSOPwNtvVwcPjz0mHz/yiHxeD1ZvObrA6QqNpsmE/ZO/wcEpji/We3/0jOn5FEQlwaaJjueqKIb1j8HSG9H6/ZPPWq+nW1KYbBhq5CqNAtrdAFFN4YABKzKVZVB8FOK6eG8rGEk4S6oPLHWiDuEOwdrtHqDTHXDke+Ny5EBXq4maLSZ6A1uAXD2llGYcqtVEELD4aiF2vVP//L5PZUNIRTVGaO79fpOxpeV2jGoL4MpO9ibZJiB3h+PnjdRtPJ0pKqa3Eyt/mlCr9UneoV9F7rftxeklt9QX9j4+Vwp+r76vumGoUa/dW8y0bTZZ62VrFE/uaU1ydwgxs6sxPgUzqx8QYukY79qKVJbLpqRFR43zy59YOErX31EMbDVxT41AbTswDHjYuPBPEVJkrZMrX13vrf9cp3GQvwcyV/veL3/FW809YfOffC9PaHounPuqzP9y9K3TUN3GJI7bOjI4f1KtCskmyy8lofIIn4u/Q6Pmta9pM0q2ShBCroKlzff8tSqqSeon7+32f3hnRyXb66P/W7LAZY8XxQ5hEdB6VHBWPYIsUjBw61FP8NVZ07R4AE3TngM+B7YZ5oEitNj6AvSeCOGN6j8XFgm9JsD2V3zvl79i3yariTuae3nbITLBuaZfINDlbmjaT4oyO0qcN0q3cf9HtInK5pPWW2tVSGZfWwq4qByMSoBB/5MCxmsfhFV3QVmOBy9UUYtzX4H9H0PhAc9tqGR7fYQ3kvlf216GrLWe22l7DRwL0q3HlGsgdwsUHjTEnJ7g669CiAJN04YBlwNfAO8bMrsitMhcDblbocs9zsd0/iNkr4OcLb7zy1+pm59ks9XPX2qI9MV+m++lG02Dge/L90XNb55674+eMdkbYfOzRIz4gbsv7FMrB0135WCrS+DKLRAeC3PODs7kY19iF1TfOMFzGyrZXj/xXWDgB7DsZs+/PLS+HE4tD85ClPBo6HArHPjCGHsN7UtSlfMFvArcVvOcFYfK+QpgFl4hxV0bYscbQiwda74//o4RmntLrhfiwFfm+OeLnK+a5G6X+V/Zm+Vjo3QbS3OFmNlFiINfe++jnZOLpc1lt0n5FaPsukMg53zZKS+WItzpSzy7/pehQpxcZKhLQc+6R2Verqf5X79dKsSRH4z1yV/IWi/EjA5Sx9YJGJjzdVzTtA+Bm4G5mqZFo2/FTKGo5tRKKWfR+Y8Nj+36AKQvlN9aQ5nrroPp02vnJ9nzl6ZPb7jaUdggY0ngr3zZSegF/d6CZTfJyiy998fVmGuvhdV3Q+vLoOOtxvmaPAKu3AyNWspcsCM/GGc7lIhoDKmvy0pTF7JUTlE5X+6T+rqsPN/1L8+uTwnSbvcATfvKNI70xV6b0hNE3Qz8DFwhhMgFkoCnvJ5ZEVpsfQH6PAvhOpo+RsZB97/AjtfM98uf8VZzL3crRDeHmDbm+ehrOo2TxQOr75OP9dwfV2P2/kfmcPR703hfI2JlIvOwabD5/+R2zukM4+cJdjqMlVs+Bye7d11pNlSWQqNW5vgVrIRHwbDvYOcbcgvRXdpeDcdnG9enzZ/QtOqO916iR16oWAgxXQixt+rxCSHEL17PrAgdMpZBwV7ZqE4vPf4iEzcLD5nlVfBj13MMNvq/Dfm7pD6kN2Suhm1/hwumOS4AMYoWQ2HUJojtCHPPgUPfqmbC7qBpcsVz87Pu5RLZk+19rWcaDMS2h0GfwvJb4PQpN6/tAI3bQNYqc3yzmo63y5W9sjyvzKjtQ4X5bH0B+jynb9XLTlSibMK6c5J5fgU76YugZZBsOdYkorFcTdr6gmxd4gml2bKj/cAPIa6zsf45IqIx9J0Ew2fC9r/B0hug5KT58wYLzQfJ7fMdr+u/RiXbe0fKaOg4DlaMc3/LN+Xq4N16bNQCki+CI995ZUYFXwpzyfgdig7JDsHuctZjcPhbKE4z3K2gx1Yp773elS+bDZ5+Wv7Uc95sO6IBXcv4rnDefz2rzBI2WDke2t4A7a7Xr6FphM5m80FSXDyhF7Y55wCQXVjqnv+hyrmvwt7/QtERfeNVvpf3nPM3qCxxv99aShC3nABDth5NC740TftU07QMTdMc9gTTJO9omrZP07Qtmqb1M8sXhYVseQH6/FX28HKXRi2g03jPEz9DmdzN0LiVPPQwcSJMmgT9+1cHSDabfDxpknzel3b06Da2HwMpV8m+Wu5s4+38J5RmQupr+ucCY3Q2QeYvnfsKs+Nl49dfVi3Rf20oE9sOuv8ZNj2jb3yBCr68JiwChn4rg96TC/Vf12yA/FJUsM8836ykzSiZK5q3y3MbekoiPTmA4UA/YJuT568E5iFFugcDq/XYVa0mAoiTC6W0R2W55zaKjgkxrWl9WReFa3b8U4g1D+ofX1kpRGqqbL+Qmur4cV0ctTIwyk7NdhD2NhF1HwshRMVpIeadJ8SOfzl+XXVtp/8uxA8thSg87N5cU9DnjxtkFZaKNbMeFaeX3O72tboIhlYTdSkvFGJ6ihAZKxoeO7u3ENkbzfcpFDjxqxDTWwtRnKb/mlX3CLHzTfN8spoNTwqx8el6p9HZasLUnlxARxfB14fArTUe7wZaN2RTBV8Bgs0mxC8XCLH/C+9trb5fiE3Pem8nlFh0lRCHv3PvmpqBkv1wFjAJ4fzD3Sg7ejUZCw7KgCpjuWvbJenyg/vYHPfnckcj0h3K8mTvsrxdnttwRjAGX0LIvynzB7nstSQqK4T4tpEM1hTGsOVFIX4dof/L9NFZQvw60lSXLCV3uwxI69wPvcGXlTlfKcDRGo+PVZ2rh6Zp92matk7TtHWnTrlZeaGwhvSFcPokdLzNe1u9noZ9H0BZrve2QgFbBZxaCi1HuHddWBisX1/73Pr18rwVdvRqMsZ1hIEfVVVmZTq2ZauEFbfL3MOUKz2by1udTUdENoEej8LWlz23EWp0GgeiUuaDOqP4iGyzEhHrO7+Cnd7PyfSRrS/qG9/qYsheH7xSWwm9IKYdnPCs+YOVwZejv1gOEzeEEP8TQgwQQgxo0aKFyW4pvEYI2PI89HlB5gx4S1wnaDPaO9HXUCJnE8S0lQ0+3cGem1WTmrlbvrZjz6mqiTNZpbbXQIdbYOUfHFdmbX8FbGVwjpMgR89c7vjjDj0ehpO/Qt5O7+yEClqYbD2x6RmoKHY8Jn83xKt8L0MJC4chU+DA55A2r+HxETGy4EfP2EDFi8R7K4OvY0BNpdq2gCprCwZO/gpl2fLD0Ch6TYQ970BFkXE2g5X0Re53tbcHTJs2QWoqVFbKn5s2uRc4GWXHHui4o2t57itQUVC/Oe/J3+TK6ZBvHH8Z0DuXtzqbzoiMlxqGW1/y3Eao0XIYND8fdjopxlGVjubQqCUM/VoWuRQdbXh8MHe7B/kZd/JXKM1y/1o9e5OeHrjO+RpN7YT7NXpsqpwvP8dmE2L+YNc6eZ6ydIzzxGpFNQtHCXH4e/eumTChfm5WzdytCRPqX+Mop8goO57qWhYdFeKH5Go9vynIvIwTC5y/dqM0Ir2hrEDmreVs885OTYI158tOwUEhpiXJopy6rHlQiF1v+9ylkGH7a0L8fL4QlWWuxxWnCfFdohAVpb7xywqW3SrErnfOPMTqhHvgG+AEUI5c5bobeAB4oOp5DXgP2A9sBQbosauCLz/n+FwhZveSCa9Gk71RiOlthKgoMd52sFBZLsR3TdyvDq2slIFR3aR4Z+eFcF7taIQdm00GNHWT2Z2dr0naz/J9UnhU2t7ykvOxeueaguf+6GX7JPkFwyiCPfgSQoiNE4VYMb7++QUXC3F8vs/dCRlslUIsGi3E+icaHjt/oOsvP4FO2i9CzO175qHe4EsT3uYr+JgBAwaIdes87GqtMJXs/BKi57ZHpL5J3Fl/MGeSxVfLhOluD5pjP9DJXA1r7pOizmbztQa3GfD3wyg7NdnyPJX7vyC85AjZ1xSTFNfYO3tm+FiXiiKY1QUu/AWanuO9PV/4bDXlBTC7BwyfJXtL2ZnRDi75XeaLKsyhNAvm95dyX22vdT5u299lX73+//adb77EVgmzOsGIn6DpuWiatl4IMaChy1SHe4VhnPztjzSqzOabtL7mTdLnWSkxYis3b45AJn2RFJ4OdXr/lbxyKWc1bX2ApJJGxELPp2Cbyv3STWS87MK+oUbeXUWR/LCPaW+tb8FOdDMYOhVW3wuFB5yPs3e7D7CFHt2Ehctm4G4m3qvgS2EMp1bQs3QGW+Lv5sZBJuqpNR8McV3g0BTz5jCIvLw8evfuTV6edwKsbpGx2P1k+2AkPBJGbwdgzIB2DQz2I7o9CJkrZcWqQh+d7oSKQjj6vXycvwfiusoPRYW5NB8EvZ+VMl+VTmSyEs8GbJC3w6eu+ZTOd8Khr6GyTPclKvhSeM/pTFg+Fi0snL6XvEhSrBsC2p7Q5znY/qpc7vVjZs+ezY4dO5gzZ45vJrSVw6kV0HK4b+bzc+zvQ9Pfj0YSEQM9J+jvpaSQQVa/N2HjBKg8DQV7VKWjL+nxMMR2gA1POH5e06qEtoNY6zG+CyT0hLTZui9RwZfCO4RN9lZKPBdaDIeYNubP2XKkXPI++oP5c3nBF198Ueun6WStlX8EopN8M5/CHLreL3+X2Rus9iRwSL4QmqbC7rdVmwlfo2kw6FM4MR8OT3U8JtiFtkH2/Nqvf+vRgA6YipBmx2tyyV+LgO4P+WZOTZPdljdPlOLK3nQYN5Dp06ezePHiM49///13AJYsWcLDDz985vzIkSO54YYbjHcgYzG0VFuOAU9EY+j1jFz9GhHkH1hG0vcN+GUwtBghm+4qfEdUAgz7DhZdAU37QpM6qSctR0D+TihJh8bJ1vhoNu1ugvWPNTyuChV8KTwnfTHsfhcu+BF+v1p+u/EVbUbBlufg+Gxoe7Xv5nVBeXk577//PhUVFbXOl5aW8u677wIQERHBsGHDzHEgfRF0f7jhcQr/p+u9srAkay00O89qbwKD+K7Q6dT9P8UAACAASURBVE5s+z9jZumtjEguC6wt50AnqZ8sflg2Bi5bJb9E2AmPgtaXQdoc6PJH63w0k8g4aHc9oG/1S207Kjyj5KTUyjv/Czj5s+z0Gx7tu/k1TSZ6bv+731TRjB07ls2bN9O5c2caN67d2qBx48Z07tyZzZs3c/PNNxs/eWUpZK6ClhcYb1vhe8IbQe+JKvfLXXo/i1aezWfLDzNtnY4O7Apj6XofJPSB9Q6+BAZ7t3uQW486UcGXwn1slbDiNuhyD7S6RGp9ufGmM4x218s+P+m/+X5uJ/Tq1Yv169dTVla76qWsrIwNGzbQq1cvcybOWivzXKISzbGv8D1d7oHcrbJ3m0If0U2pSBzEvUOSA6vKNVjQNBj4IZxaBgcm136uzSgp9VVRYo1vvqCF/l0NFXwp3GfbS4AGfZ6HjCUQ2UTu8/saLQx6/59s4udHLF26lJiYGCIiIggPDyciIoKYmBiWLl1q3qSqv1fwER4t399bX7Dak4Aisvm5XN0hV205WkVkHAybBhufgNzt1eejm0FSX0hfaJ1vZuNG/rEKvhTukfYz7P8EhnwtS7z3fyZXvaxKeu9wCxQfhVPLrZnfAZMnT6awsJC+ffuyYsUK+vbtS2FhIZMnT274Yk/J8EBMW+H/dP4j5O2EUyut9iRwSOgNedsbHqcwj8Q+0PefMv+rvLD6fMrVwb/1qBMVfCn0U3wMVt0pA6/GyVCeL3u3dLzdOp/CIqDX07DtFet8qMPevXt5/vnnWblyJQMHDmTlypU8//zz7N2715wJK09D1hqV7xWMhEfJvnZq9Us/CX1U8OUPdB4Pzc+HtQ9U5+Xa8778JE/XSlTwpdCHrRyW3yIb6iWPkOcOfwfJF0GjFtb61mk85G2F7PXW+lHFpk2bePHFFwkPlx22w8PDefHFF9m4caM5E2auhia95PavIvjofCcU7IWMZVZ7Ehgk9Ia8beoD3h8Y8C7kboH9H8vHTbpLSagc1cNOBV8KfWx+FiKayFUmOwc+sybRvi7h0XDWk7D9H1Z7Yg3passxqAmLVKtf7tCopcwHPX3Sak8UETEy/2vzs9WSWSlXB3/DVR2o4EvRMMdmyc7FQ76Uf9RAdpEuPCArWPyBrvfKvK/cENxuUHqOwU+nO6DoEKQvsdoT/0fTVN6XP9Gkh1wBWzoGyvKqth5V8KWCL4VrCg/Bmnth6LeyWsXOgc+h0ziZc+UPRMRAj0dhx6tWe+JbKkogex20GGq1JwozCYuEPn9Vq196Segdml/E/JUOY2WT1dX3QLPBskiqKLT7sKngS+GcylKpVt/rGWhxfvV5WyUcnOwfW4416f4QnPgZCvZZ7YnvyFwJCWfLPApFcNNxHBQfl9vMCteolS//o9+bUHQQ9n0Ara8M+apHFXwpnLPxKYhJkStKNTn5C8S0hQSTGoZ6SmQT6PaQlGUJFdSWY+gQFiFXv7a8oJLJG0IFX/5HeLTUf9z2N0joqYIvqx1Q+ClHpkkdrsGf1e/h5S+J9o7o8TAcnR46S9rpiyB5pNVeKHxFx9vgdLpfqTr4JfbgSwWp/kVcZ9kBf+8Hsnq3vMBqjyxDBV+K+uTvhbUPyW8pdeVqSrPhxC+yuak/Et0MutwNO9+w2hPzqSiGnI0q3yuUCIuQyhJq9cs1jVpAWBSUpFntiaIu7a6HdjdCRCNIm2+1N5ahgi9FbSpKZFfic16GpP71nz/0NbS50r81BM96HA59BSXpVntiLpkroGkqRMRa7YnCl3S4Bcqy4eSvVnvi36itR/8l9TUqtUbkrnqS7KKyhscHISr4UtRm/SNyP77rA46f9+ctRzuNW8mu+7vetNoTc1F6jqFJWDj0eUGtfjVEYh/I3Wa1FwpHhEfxS+PniK04zsw1O6z2xhJU8KWo5uCXUih74P8cazXmbIHSU7Krvb/T8ynZVbk022pPzEM1Vw1d2o+Binw4EbrbNg2iVr78mkHD7+JwzBXc3GyB1a5Yggq+FJK8HbDhcbjge+dtCw58JqV8wsJ965snxLaXuQW737HaE3MoL5SyHc3Pb3isIvhQq18No4IvvyYpNoquw54l9tD7sn1RiKGCLwVUFMHSmyB1EiSe7XhMZRkcmiJ15gKFXs/A3vekAHiwcWo5NO0nm8sqQpP2N0FlCaTNtdoT/ySht/xSqYJT/6X5YIhqJivrQwwVfIU6QsCaB6H5IOjiIpcrbY7MBYvv4jvfvCW+K7S6DPa+b7UnxpOhthxDHi0Mzn5Rdr1XAUZ9opNkMUpxiLSdCUQ0DXo8Erw7FC5QwVeos/8T2a5gwHuuxwVCor0jek+EXW/JtgzBRPpiFXwp5Na6rTzkG1Y6RW09+j/tx0D+jpArjlDBVyiTswk2T5Sq8662r0pOQsZSaHeT73wzisQ+0HyITL4PFsoLIG+bXLJXhDZaGJz9klr9coYKvvyf8Cjo+mDIrX6p4CtUKc+XKvP934aEs1yPPfSV/IYdGecb34ymz7Oy6WplkPSTyVgKSedBeCOrPVH4A22vBTQ4NsNqT/yPRBV8BQRd75OqKqVZVnviM1TwFYoIIdXlW10i5UoaGhuoW452kvrLb8AHJ1vtiTEoPUdFTTStKvfrRRA2q73xLxJ6Q64KvvyexsnyS8S+j6z2xGeo4CsU2fMeFOyD/m81PDZrrVwxajHMfL/MpPdzsONVsFVY7Yn3KD1HRV1SroawSDj6o9We+BcJvWU+kQpK/Z8ej8jqdFu51Z74BBV8hRpZa2HbyzLPS8+21YHPZHsJR01XA4mWwyCmLRyearUn3lGWB/m7oNkgqz1R+BOaVpX79aIKNGoSlQiRiVB02GpPFA2R1BdiO4XMFwgVfIUSZTmw7GYY+IG+lhEVJXDkO+h0h/m++YLez8GOfwT2h9OppTLwCo+22hOFv9HmSlk4c+R7qz3xL1TSfeDQ4xHYExqJ9yr4ChWEgJXjoe110O4GfdccmwFJAyC2nbm++YpWl0B4bGAnJqstR4Uz7Ktf214KyY7hTlHBV+DQ9looOgrZ6632xHRU8BUq7PoXnM6A1Nf1XxPoifZ10TTo8xxs+3vgluUrPUeFK1pfDhFN5Iq1QpKoku4DhrAI6P4n2PW21Z6Yjgq+QoFTy2WrhWHfyZ4qeig6Ir99tLvOXN98TcpVICoCU5C4LAcK9so2EwqFIzQNznlJ5nUqJGrlK7Doco9sGlxy0mpPTEUFX8HO6VOw/BYY9KkUm9bLwcnQYWzw9ZLSwqD3s4G5+pXxuxTS1htAK0KTVpdSgXyPZBcFSW87b0joJYtUAjnXM5SITpKfPXs/sNoTU1HBVzAjbLBiHHQcBymj3bhOwIHPg2vLsSbtboLSTMhYYrUn7qG2HBV60DQ2CPk+mbZO6RoS2QSim0HhQas9Ueilx8Ow7wOoLLXaE9NQwVcws/0fUFkC5/zNvetOLZUrXkkDzPHLasLCodczsP0Vqz1xD6XnqNBJt6FPUqrFM6Zfa6td8Q/U1mNgkdALEs8J6txFFXwFCAWlBXy84WOe/vVpPt7wMQWlBa4vOLkQ9v4Xhn4rkxjdwZ5oH+i9vVzRaZzMn8pcbbUn+ijNgsIDslu/QtEATZPaEt2kPUllKuAApMarCr4Cix6PwO63Ay89RCcq+AoAlh1ZRsqbKTw6/1EmrZjEo/MfJeXNFJYdWeb4gpITsHIcnD8ZYtq4N1l5IRydIbcqg5mwSOg5IXBWvzKWQIuh0m+FQg8tR8qtakWVzNA2q71QuEObUbKpdOYKqz0xBRV8+TkFpQVcOeVKCsoKKCovAqCovIiCMnm+sKyw9gW2Clh+K3S9X/a1cpcj06DlcKm1Fex0+SNkr4OczVZ70jBqy1HhLskXyveNQm07BiJaGPT4i1z9CkJU8OXnTN0+FZuTKh2bsDF1Wx25nK0vytWR3s95NmGw9fZyRXgjOOsJmRvn76QvkisZCoVeWo6AzOUho5XnkiY9oWCPaj4baHS+E04ukI1XgwwVfPk5e7P2nlnxqktReRH7svdVn0ibJ6sUh0yRSeXuUrAPCna7VxkZ6HS9XwY2ebus9sQ5p09B8VFI6me1J4pAolFziO0QEt3CGyQyDholQ+F+qz1RuENkEylvt/c9qz0xHBV8+TndmnUjNjLW4XOxkbF0TeoqHxQdhVV3wdCvoVFLzyY78Dl0uD208ooi42RZ847XrPbEORlLoMUw9wsnFIqWauvxDGrrMTDp/hfY/wlUFFvtiaGo4MtshKB48yQ+W7TJo4aHY3uPJUxz/GsK08IY22es3FZYPhbOekzma3mCrRIOfgFdQmTLsSbd/yw7KvtrHyCl56jwlOQLVdK9HRV8BSbxXWRz6UNTrPbEUFTwZTa2Mg4d3MRdJ/qyatlXbl8eHx3P3NvnEh8Vf2YFLDYylvgoeT4uKg42TYSoJOj5lOd+pv8ml+UTz/bcRqASlQjdHoAdk6z2xDEZi1WyvcIzWg6X1WKVqtO9Cr4CmCBsO6GCL7MJj6bVpZ8DcHnJ32DlnVKjzw2GtR9G2hNpvH3F2zwz9BnevuJt0p5IY1j7YXBsJhz9Hs7/QlaHeEooJdo7osejcGQqFKdZ7UltStKlT4mpVnuiCESikyC+q6zqDXUSVfAVsCRfJH+mL7TWDwNRwZcPSIqVOmvho7dCZDzMORuOzXLLRlxUHHf3u5tXL3mVu/vdLVe8Cg/A6nth6FQpn+EpZTkyWb/DrZ7bCHQatYBOd8LOf1rtSW0yFkPLCzwroFAooCrvS209yorHvar6MxDRNJmbG0RtJ1Tw5Usi42DAuzIpfsMTsPx22bncEypLYdnNUiS6+SDv/Dr8LbS+XH5LDmV6PgkHP5fVhf6C6u+l8JbkkSr4AoiIgcYpsqpbEXh0HAeZK6EgOCpWVfBlBS2Hw5WbZY7V3LPhyA/u29jwhCwj7/Gw9/7sD/EtRzsxbaD9WNj9b6s9qSZDiWkrvKTlcMhaHdQixbpReV+BS0QMdLkb9rxrtSeGYGrwpWnaFZqm7dY0bZ+mac84eH6kpml5mqZtqjqeN9MfvyIiBvq/CcO+hy3PwtIxcDpD37WHp8KJ+TDo01r6i27rPwLkboeSNGh1qYcvJMjoNQH2fQhluVZ7InO9TmdIgVmFwlOiEqFJD8haY7Un1qOCr8Cm25/g4JdQruOzzc8xLfjSNC0ceA8YBfQCbtU0rZeDoUuFEKlVx8tm+eO3tBgCV2yEuM4w9xw49I3rio78PbDuzzDsO4hKOHPabf1HOwc+k03sVE6RJK4TtLkK9vzHak9kf6+WI7wrpFAoQOk82lHBV2AT2w5aXSx7UgY4Zv5VHwjsE0IcEEKUAd8C15o4X+AS0Rj6vg4jfpJCz0uvl+LYdakogWU3wTl/r9Xt3G39Rzu2cjj0lZRwUFTTeyLsfkeKjFtJutpyVBhE8oWyeCPUURWPgU/3h+XWoxPZvUDBzOArBagpyHSs6lxdztc0bbOmafM0Tettoj/+T7Pz4Ir1kHA2trmpLJj3TnVjViGo+OUC9p9uS3brO2td5rb+o520eRDXBZp0N/BFBAFNesgk5X0fWuuH0nNUGEXLC+S2Y+Vpqz2xliZnyYRt1fcscGkxFCLi5edXAGNm8KU5OFd3P20D0EEIcS7wLjDDoSFNu0/TtHWapq07dcqPKtHMIDwazv0b05t8xCU5j5A0Mxq+1uCbMCJy19Pl9DymrastMuqW/mNNQr23lyt6Pwu73rTuw6r4GJTnQmIfa+ZXBBeRTaBJL8hcZbUn1hLeCGLby5YTisBE06qbrgYwZgZfx4B2NR63BWp1sBRC5AshCqv+PReI1DSteV1DQoj/CSEGCCEGtGjRwkSX/YeLhlwBQPa1pXCbgNsE2VflcSqyN+Oa/VRrrG79x5qczpArKx1uNtz3oKDpudC0nwxQrSB9scr3UhhLstJ5BFTeVzDQYSzkboW8HVZ74jFm/mVfC3TTNK2TpmlRwC1Arc6imqa10jRZrqdp2sAqfzxsfBVc2Buz2n8CJDVpQotRs4jd8ypkVlcu6dJ/rMuhKZByjfxGrHBMn2dhx+vWNGVUW44Ko0m+ULYuCXVU8BX4hEdD1/thd+C2nTAt+BJCVAB/Bn4GdgLfCSG2a5r2gKZpD1QNuwnYpmnaZuAd4BYhgki8yQziOsPAD2H5zVCaDejUf6yJEHJFJxRFtN2h+WCI62qNoKvSc1QYTYuhkL1eFu6EMgl9VPAVDHR7QDYId1Ouz1+IMNN41Vbi3DrnPqjx7/8AflDTH2C0ux4ylsLK8TBiJmhhZ/Qfp26byr7sfXRN6srYPmPrB14AORtkn5SWI3zve6DR5zlYcx90/IPv2nEUHZG/nwRHnVkUCg+JjIeEs2WX8FYXWe2NdST2hm0vWu2Fwlsat4KUq2Dfx9DrKau9cRuVUBKopL5GRckpVs35vzMVkQ71Hx1wevcnrAu7huziCl96HJi0HAHRLaR4ua9IXySrLTVHNSsKhRckK51H4rtD4SHV8T8Y6PGI7MloC7zPMlNXvhQmEh7F1Kg3uD19OMx83a1LGwEDgA/XPcz9I7qY4l7QoGly9WvT09B+jG8S4NWWo8IskkfCttDrZV2L8GjZTDl/NzRV6hEBTbMBENMWjs2E9jda7Y1bqOArgBk1eBDMlBWRNRPzGyK7qIykmdGMGdCu4cEKaH0FbH4Ojs+GtteYP1/6Iug5wfx5FKFHi6GQswkqiiDCcYV0SGBPulfBV+Bjbzuhgq/QoKC0gKnbp7I3ay/dmnVjbO+xxEfHe2RrT+Ye7pxxJwdzD9IpsROfX/c53ZvXbnzqaL6kWDmfPfDS65OjSkqzXltQoGnQ+/9g298h5WpztwMLD8rtkCZnmTeHInSJiIWmqXBqBbQOYT1XVfEYPLS7HjY+AdkbIamv1d7oRgVfHrDsyDKunHIlNmGjqLyI2MhYHv/5cebePpdh7Ye5Zevxnx/nrVVvnXl8sugkPd7rwWODH+NNPfMZ7JORry2oaHc9bPkrnFxg7odW+mKV76UwF7vOY6gHX4e/sdoLhRGERUrB7T3vwGCL+jJ6gEq4dxOPdRQdsCdzT63Aqyb28w3NZ6RPRr62oEMLk6tf218xdx7V30thNkrnUa18BRtd74WjM2Tz8ABBBV9u4raOYnkh5fOHAlTrNFZx54w7vZ7PI588nEuvnaClwy1QfBQylpljXwjZBFMl2yvMpPn5kLvFeuF4K4nvJlu6hLrWZbAQ3Qza3wR7LdbjdQMVfLmJ2zqK216hPHcXQD1NxoO5B72ezyOfPJxLr52gJSwCej1j3upX4QEQNvnBoFCYRUSMlM46ZdKXiEAgPAriu0D+Lqs9URhFj4dh3/sBI5qugi83cUtH8fhcOPQlZRcuIT+8Hbe1XlNrfKfETl7P57ZPXsyl105Q0+kOyNsGWeuMt23fclT5XgqzUVuPstN97jarvVAYReLZ0KQnHJlmtSe6CMngKyfnBOt/+jPZebluX6tbR7HoCKy+C4Z+Q2JyH5pcMp34rQ9D/t4z4z+/7nOv53PLJy/n0msnqAmPhp5PwfZ/GG87XW05KnyEaraq8r6CEXvbiQBQKQzJ4GvmxuP0L3iPsPl9pUyPG+jSUawsg2Vj4awnoOUF8sJmA+Dsl6QmY5W2Wvfm3Xls8GMO57Gfb2g+3T4Z9doU0OUeyFxh7LdmIVRzVYXvaD5YBh7l+VZ7Yh0q+Ao+2oyGsizIWm21Jw2iBZqO9YABA8S6dd5t+dibjBYM/I74rY9Cuxsh9VW3mg4WlhU611Hc8ATk7zmju3gGIWD5rRCVIMWxq9ifvZ87fryDQ7mH6JjYkcnXT6ZLUhf4WoPbhOv59IxxRI3r3HptCsmO1yFnCww1SHQ7fw8svBiuPRI4244u3kOW2DHTtpk+WsWCC+UqbsqVVntiDXm7YMlouGa/1Z4ojGTXv2XwNdSaViKapq0XQgxoaFxI9vmyNxeN7zoG2l0M6x/FNqMDi2OeIXXEw7q6xdt1FOtSsHca7J1KxWXraFp3C0/TYNBHVM7tz5J5/yJ1+F9Iio2iS1IXlt+9vNbQvKPLSKAqUIyNcjhf7onNJDYwxhFFW94ktsZ1el+bogbdHoRZXaBgH8QbkAuXvghaXhg4gZci8Em+UFbXhmrwFd8VStKgolgWISiCg853SQmt4uMQk2K1N04JyeCrFtFJMGQym2fdz0W5T8FM79TR7X3gP9xSxP0jHAyIjGd67L8ZkzEaZj7p1E5C1c/FK+Zww6XX1x9QUYRYKuUUkmZGu+WjfX1v2rqjStvRUyKbyMZ+O16DQR97by9jMbS6zHs7CoVekkfKVfpQJSxCVhbn74Sk/lZ7ozCKqAToeDvs/S+ca3JfRi9QwVcVHS5+l20LiunepJCokdM9XoHQo5t48fmXNKjJmF1UxrqlH3Nt0WNQNhKimlY/KQSseZCY1kP50PYzYwa0c0vbMffkZiIXX8aYfq11X6NwQI+H4adu0Od5iG3vuR0h5MrXuSYk8SsUzmg2SLZaKMuTH1ihSEJvyN2ugq9go/tf4Ndh0Ps5iGhstTcOCcmEe0ckxUbR56qPiSo9CrvfaXB8Wn4a438cz6CPBjH+x/Gk5aedsVPz557MPQz5eAit/9maIR8PYU/mnnpjCkoL+HjDxzz969N8vOFjCkoLSIqN4rIrHiK83fWwcnzt6o39n0DORqLPf5/7R3RxaccRia3OJbZpZ5LyQ7zayVuik2Ty/c43vLOTvwvCG0Fcw61HFArDCI+WAVjG71Z7Yh0q6T44adIdmp0Hh7+22hOnqOCrJuHRMGyabKKZucrpsP+u/S8pb6Uwectk1qStYfKWyaS8lcJ/1/631rjHf36cHu/1YOXxlZwsOsnK4yvp8V4PHv/58TNjlh1ZRsqbKTw6/1EmrZjEo/MfJeXNFJYdqWqAmPq6lEzY9S/5OGcTbJ4o/ayRp9Cgnbp0uQsOBI4Olt9y1uPw/+3deXhU5fXA8e+ZLASSQIwsAQEDKEGgKBCQJSjgji0oJWxal1K1FSvY9tfS+rRVu/nY/mi1YkWrdakoxOWHVipKkUoQBIyAqGyyE8IiRgyLLHl/f9w7MctklmRm7uTe83keHsidd+6cucbkzH3f95ztz8GxsoafQ3c5Kqe0G+7tel+afLlX3jTrRkqCbirU5Ku2jC5w4eOwbCJ89Vmdh0sPlzJ1wdSAT526YCplFdYv4Wj0baw4UWFVYi6YZ91d2fsmLC2E/g9Cqx5V52tQT8bOE6wm0ccPhn9tVF3N20Hu9bBhZuix9dF+jsopXq/31aq3Jl9ulXMZVJ6E/f91OpKANPkKpOMY6DQOlt9gtXup5uf/+XnQp85YNAOITt/Gql6K6Z0h/3HM21ey9dTZHGozrmHnqS61FSda9WXDG9+v03NSRajHTzAb/8rzixZFfi2NgX1L9M6Xckb2APhyM3x1yOlInJHRFY7v83afS7cSgbwfWkVXE5AuuK/PBX+ARRdbd5x6/qzq8IaDwXuBbTy4EVpEp29jjV6Kx3ZwimbsP1jGW6t2cNvwr/v/NbQn42eHv6THiSUQ4W5JVZcAk/ZfxuzVWyLbQfrFx5CS2bgF+0o1VFKq1Wj7wFLrQ6fX+JKgZZ71/2HrgU5Ho6Ktyw2w7pdQsS3h1tRq8lUfXwoMnQsLB1g/nNpeBECP1j1YWbqy3qfltc6DoyvoktWFsiPB1wH5eykGSpxq9FL8bBWs/w1HRq7i7OLv0qflHODXkZ+nuqN7aGc+5Yn2H3LtwO4R7ZZUdR0q/4zUhb2ZlLsNiCD50ilH5TT/1KMXky/4et2XJl/uk5xu1f3a9DD0+1+no6lBpx2DSe8Eg56CZZPh2D4A/nDJH4I+5f5L7wei07dxQu8JcOJzKB4PAx8lK6c37Uf9Hy12zIayxZGdp7Ztz+LrPI4pI3pr4hUF2VlnkjFkFi0/vNNqLxWu/drPUTnM8+u+dNG9q3W/A7Y+lXBTy5p8hdLhSuh6E7x7HVSepkPLDswaNSvg0FmjZpGTkQNEp29jRkq6VWai4zXQaaz15BYdYPAzsPx6OLY3vPPUbg1kjLXTsevNjbkyqraO11prSMItPWEqrcWg7YbHNCylgsrub03LBNhg5AmafLlb+tnWz9htTzsdSQ067RiOb9wDiy+D9b+BPvdw+4DbGXveWGYsmsHGgxvJa53H/ZfeX5V4+c28YiZTB0ytp2+jteOxoHMBpT8uDdxL8ZM/WYtBC16sGU/OpdDtVqtP5MhF4EsOfp7aDi63FiO2HhyjC+ZRIpD/MCzMh7MnQmaI6cfy9ZByBrToGJ/4lArElwJthlofBPwf8rxEky/3y5sGK2+12sLVM0sUb5p8hcOXDEPnULmgPwv2dmFIwSRyMnICTi0eOnKCbL7umxiob2PtMYF6KR7euYTktfdz4pLlZCUFmBbs/UtOLnqHD/91J7mX/CWi3o7HNz3BGkbT/ehJnXKMtoxcOO+nsHoqDP938E4J+3TKUSUI/9SjF5OvjC7WXb+Th622Ycp92gwDX5pVrqnDlU5HA2jyFb7m7Xk180GuOTge5t9U77Bs/99BdhCGM8b/I+DZj32Be0T6kpiTfD83VlwI8/8WLPI60oBBwOzVt2lvx1jocRdsexZ2zoOzA6y389u/BDqPj1tYStWr7XB4L/QHN1cSH7TsYe94HOR0NCoWROyiqw9q8tUUXTR0TFg9GbPnN4vamGA9Ir914QUh42nouVUj+FJg4GwoLoT2Vwbum+df7zXgkbqPKRVv2f3g6C44fgDS2jgdTfxl2cVWNflyr9xJsHYGfLGhRpFypyTG5GeUhNvbMJRw+jaWlJbQ7cFupP8unW4PdqOktKTOGIA5a+eQcl8Kcq+Qcl8Kc9bOqTNm4eaFZP4+E9+9PjJ/n8nCzQvrjFm6fSltHmhDyn0ptHmgDUu3Lw2rR2QgtZ8Xq+voaW2GpdDEgQAAEVNJREFUQIerYe3dgR//fC2ktYXm2txcJQBfMrQp8G6roVa9rDWYyr2S0qy10pv+6nQkAIhJ0L5H9cnPzzerV6+uc7x4ZzGjnhtFpankyMkjpKek4xMfC65bQEHngronmiMwue57f2TVIwHbB80aNYvbB9wOc4QJKeOZ9/G8OmPG9xzP3MK5VefuNLMTu7/cXWdcx8yO7MrZDZMN/Wb344OyD+qM6ZvTl5LMD2CyYeTTI3l7e92t4CNyR7A45W2YbKL2/iM+j6rfV4fg9V5w0fy6NYQ2/BkOb4KBkU0ZJ5R6voccO08szx3LGBPFJ3+ydj0OCLyb29X2vG5NSY180+lIVCwdLbV+Jo/ZBqlZMXkJEXnfGJMfapwr7nw1qLdhAOH2bQyUePmPrytbB1h3vAIlXkDV8YWbFwZMvICq40u3Lw2YeAFVx6P1/qN1HmVrlg19/wirboPKUzUf2/e2lphQicXL9b50x6M3tOgAHUbBp086HYk7kq9IexuWH7Da7Ryq+KrG8XD7NgYzdp61W+jG+TeGHDuuaFzIMf7zBdOg3o4xPI+qJvc6SM22Kiz7VZ6G/Uu1sr1KLFkXWLUDjwXvzOFK6Z2t3Y4nyp2ORMVa3jRr6rHytKNhuCL5irS3YdFHVgXyT/77uxrHw+rbGIL/7tgpcyrESOqNubry46F/GDS0t2OszqOqEbEW1X/0Wzhq3wktX2N9AmveztnYlKrOlwRth1kbQbxGfNDyPL375QWtB0JaO9jzmqNhuCL58vc2DCRQb8NvDziHOe0WM/jYo3DwvarjPVoH3wGR1zovZCz+QqvJEnojaX0xV5eVFnpeOtL3H+vzqFpa5sG5d8DqO62vtZ+jSlRennrM0qlHz/CXnXCQK5KvSHsbZqenMvmSEfgufAyWTbAWRhN+38ZgXh7/MgBPjwndyuDFwhdDjvGfL5gG9XaM4XlUAL1mwBfrYfdrsG+JFldVicnLyVerXlCuyZcndB4HX26Cz9c5FoIrkq+Iexv6dboGOn3b6p9oKsPu2zi+Z+DCmON7jqdPTh8AJp8/mY6ZgdvG+I9fce4V9M3pG3CM//iw3GGMyA38i9p/vMHvv5ZonUcFkJRmTT+u/qG93itQ5VylHJbVB746YO0K8xpddO8dvhQ493ZH7365ptQEQMWJivB6G1ZXeRIWXWw1r+75U8Bat1Vv30Z7y/m6snWMnTeWsooycjJyeHn8y1WJV/Vt6S+uf5FJL0/ilDlFsiTz/NjnGdd7XI0xi7cuZszcMRw5cYT01HTmT5jPyK4ja4xZsWsFo18YzefHPueM5mfw6sRXGdRpUI0xEb3/IFvnG3QdVVhO/nsI5vM1VIwpb/qtnZpCGYemEGOieeda6FwIuZOdjiS+juyEhRfC2L1OR6Li4fgBeK07fGszpLWO2mnDLTXhquSrwY7sgoUDoKDIWnAaTIgfwhUbniaj5KZGV7g/vGMRLZddFrp6fUN/KXjpl0kCef2Nxxl5YCovdFzJzSMucDqcxmkKiU1TiDHRbHwIyj+ECx93OpL4MgaKWlk1oJqd6XQ0Kh5WTIHMbtDrF1E7ZbjJl7YXAkjvBIP+AcsmwVUlVuXxhihfT9Kau4Do9XYsXlbE6Muva1g8KuEMHnYje96cz/gzFwFNPPlS7tR2OGxMjCrgcSXy9dRj24ucjkbFQ96dsORqOO9/rKnIONLky6/DVdD1Rnj3Ohj+hrXtOhInK6C4kNPn/5HZ+4dTmN8p6J2votW7Qo5ZXjyHb1b8FI5dAs1zIn1HKgFlp6eSXXA3LL8eet8V+feZUrGW1RtOllulUVoEXrfqWlmafHnKGedD5jmw8yXInRjXl3bFgvtIBO1b+I17rTVgH/2u/hMEYgysvA1aDyHjvCncdnG3oP0Ws9NTa4wJ1CcyOz2Vq6+4Cd8534N3JzteEE5FUetBkHomlL7udCRK1SU+a0OIF3c96o5H73Go7ISnkq/incWcNfMspr8xnQfefYDpb0znrJlnUbyz2BrgS4ahz8OWR6HsP+Gf+NPH4YsPIb/mrfqQrwdMKJpA/8f7s7V8K0dPHWVr+Vb6P96fCUV2WYfevwIE1t/byHevEoaI/T/8Q05HolRgbYdbJVG8Rnc8es9Zo+F4GRxcGdeX9UzyFXbfwubtYfA/Yfl3wttufegDWHu3tVg/uUVEr1dSWhK6T6QvCYbMgU+fgNKFjbsIKnF0LoTDH0P5eqcjUaour9b70uTLe3xJ0P2OuN/98kzyFVHfwpyRcM4P4N1JdRsiV3fiCyguhPyHrSrmEb5eYVFh0Jir+jo2b2clYCtu+rpFjWraklLhnO/r3S+VmFr1hFMVcGSH05HEV/MOUHnCKkOgvKPbFChdENf6dp5JviLuW9j7bvClwbpfBT6hMfDeFGh/BZxdt/J7OK/n7wNZnxqPt7vY2pmxbKK1Lk01fefcBjuL4KvPnI5EqZpEoN1w7009Vt/xqLwjNQtyJ1lLjuLEM8lXxH0LxQdD/gnbn4U9C+o+adNf4ch26Dezwa9XVbi1HnUe7/kzSG5pTXOqpq95O+g4BrZ4rJ6Sahp06lF5Sfc7YctsOH08Li/nmeSrQX0L09rAkOfhvZut6sd+B9+D9b+FgnmQFLhWVzivV1RYFDTmOn0dxQdDnoUdc2H3q0Gfq5qIvGmweZbezVSJp62dfDWxQtyNltVbky8vatUDzugLO16Iy8t5JvlqcN/CtgXQ4ydQPAFOn7COLZsAAx+DjK6Ner1+HfqF1SeyhmZnwtAXYOUtULE97PevElR2X0jvArtecToSpWpqmWetfzqy3elI4qtVL90I41X+shNx+MDhqSKrBZ0LKP1xaeR9C8/7MRxYCh/8zPq607etptxReL25hXO5u+zu+vtEBtJmMPScAcWBEzfVxORNg41/hrP1v6dKIFXrvt6GjC5ORxM//mlHY6xroLyj/RXw/nTr932MC+16KvkCyEjNYEq/KZE9SXww6CkqX+2GDzh07n1VLYKi8Xp9cvqw5c4tQcfUkTedkzteIQW7V2RTb9LsZR3HQMmP4ND7kN3f6WiU+pp/3Ve37zodSfyktbP+Pr5PO4t4jfisjW0bH4p58uWZacdGa5bNW5lW5fuikuC7FONChJeSrGagr6zc5HAwqlF8ydB9KmyIf5VlpYJqOxz2L/HWui/d8ehtXW6wPnDEuMyKJl8RGDDse8w+awuF+Z2cDgWAywePZGezi5jQfrXToajG6vY92PMaHEuAxF4pv8xzwVRCxadORxJfmnx5V0omdLkRNs2K6cvENPkSkStFZKOIbBGRGQEeFxF5yH58nYj0i2U8jVW7J6PTstNT6Zw/lYw9zzodimqsZtlWvbjN8aszo1RIIt4sOaHJl7fl3QFbn4RTgWt1RkPMki8RSQJmAVcBPYFJItKz1rCrgHPtP7cCf4tVPK7VcTSUr9Wdj26Qd6dV5O/0V05HotTXvNjnMUuTL0/L6AptCmBb7G5sxPLO10BgizFmqzHmBPACMKbWmDHAM8ayAsgSkfYxjMl9ktKg80TY9rTTkajGatUTsvpYddyUShTtRsB+j9X7atULyj/y1ntWNeVNsxbex+h7IJbJ11nArmpf77aPRTpGhdLtu7D1KWtthmra4lhnRqmwZHQFSYYvPbSxJ60t+FLg2F6nI1FOaTvc+h4oeysmp49lqYlABVJq/0YJZwwicivWtCRAhYhsDPHarYGDISN0naTIhl8XlRo2Hr3WsRbwc1HiXevofA9F7zzROXfg6xzLGJuEHrE4aeJ9T9fgqnsBCX6tE9UVkT4hL5xBsUy+dgPVtwV2BGq3DA9nDMaYx4DHwn1hEVltjMkPP1TVUHqt40evdXzodY4fvdbxo9c6PkQkrPIDsZx2XAWcKyJdRCQVmAjUbkj4KnCDvetxEPCFMUbv8yqllFLKtWJ258sYc0pE7gAWYs2HPWmM+UhEvm8//iiwABgFbAGOAjfHKh6llFJKqUQQ0/ZCxpgFWAlW9WOPVvu3AabG4KXDnqJUjabXOn70WseHXuf40WsdP3qt4yOs6yxGd1UppZRSSsWNthdSSimllIojVyVfIvKkiOwXkfVOx+JmItJJRN4WkU9E5CMRmeZ0TG4lImkislJE1trX+l6nY3IzEUkSkQ9E5F9Ox+JmIrJdRD4UkTXh7g5TDSMiWSLyoohssH9mD3Y6JjcSkTz7+9n/57CITK93vJumHUXkIqACq2p+b6fjcSu7C0F7Y0yJiGQC7wPXGGM+djg01xERAdKNMRUikgIUA9PsjhAqykTkR0A+0NIY802n43ErEdkO5BtjtO5UjInI08BSY8zf7coDLYwx5U7H5WZ2e8U9wIXGmB2Bxrjqzpcx5h3gkNNxuJ0xZq8xpsT+95fAJ7isGmGisFtvVdhfpth/3POJKYGISEfgauDvTseiVDSISEvgIuAJAGPMCU284uIS4NP6Ei9wWfKl4k9EcoG+wHvORuJe9lTYGmA/8JYxRq91bPwF+CmgfbpizwBvisj7dgcTFRtdgQPAP+zp9L+LSLrTQXnAROD5YAM0+VINJiIZwEvAdGPMYafjcStjzGljzAVYHSAGiohOqUeZiHwT2G+Med/pWDxiqDGmH3AVMNVeMqKiLxnoB/zNGNMXOALMcDYkd7OndkcDRcHGafKlGsRef/QS8Jwx5mWn4/ECe7pgCXClw6G40VBgtL0W6QVgpIj809mQ3MsYU2r/vR94BRjobESutRvYXe1u+YtYyZiKnauAEmPMvmCDNPlSEbMXgT8BfGKMmel0PG4mIm1EJMv+d3PgUmCDs1G5jzHm58aYjsaYXKwpg8XGmOsdDsuVRCTd3qiDPQV2OaA71GPAGFMG7BIRf7PnSwDdGBVbkwgx5QgxrnAfbyLyPDAcaC0iu4FfG2OecDYqVxoKfAf40F6LBPALu6OBiq72wNP27hkfMM8Yo2UQVFPWDnjF+gxHMjDHGPOGsyG52g+B5+zpsK1oG7+YEZEWwGXAbSHHuqnUhFJKKaVUotNpR6WUUkqpONLkSymllFIqjjT5UkoppZSKI02+lFJKKaXiSJMvpZRSSqk40uRLKdWkiMg9IvIT+99Pici4Bp4nV0SC1peyx0yu9vVNIvJwQ15PKaX8NPlSSqn65QKTQw1SSqlIaPKllEp4InK3iGwUkUVAXq2HO9oFJOt77j0i8qyILBaRzSJyS63Hu9p3uJaKSIn9Z4j98P3AMBFZIyJ31Xre1SKyXERai8gtIrJKRNaKyEt2sUWllApIky+lVEITkf5YLX/6AmOBAdUebm4fywxxmj7A1cBg4Fci0sF+bjegANgPXGY3e54APGQ/bwaw1BhzgTHmz9ViutZ+bJQx5iDwsjFmgDHmfOATYEoj3rJSyuVc1V5IKeVKw4BXjDFHAUTkVfvvQqzEaZox5rMQ55hvjDkGHBORt4FBwC3Ap8aYZ0SkFfCwiFwAnAa6BznXCCAfuNwYc9g+1ltEfgtkARnAwoa8UaWUN+idL6VUU1CnD5oxpgh4q4HPPw38oNrXdwH7gPOxEqt6pzGx+uNlUjNBewq4wxjzDeBeIC3MuJRSHqTJl1Iq0b0DXCsizUUkE/hWA84xRkTSRORMYDiwqtbjrYC9xphKrKbxSfbxL6k7pbkDa6rzGRHpZR/LBPaKSApwXQPiU0p5iCZfSqmEZowpAeYCa4CXgKWBxonIfSIyup7TrAReB1YAvzHGlNZ6/BHgRhFZgXVH64h9fB1wyl5IX7Xg3hizESvJKhKRbsAvgfew7sRtiPxdKqW8RIypczdfKaVcQ0TuASqMMX9yOhallAK986WUUkopFVd650sppZRSKo70zpdSSimlVBxp8qWUUkopFUeafCmllFJKxZEmX0oppZRScaTJl1JKKaVUHGnypZRSSikVR/8PIoqo14s6DoYAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 691.2x388.8 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plot_data_for_classification(X_outliers, Y_outliers, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
"plot_new_example(fig, 2.8, 0.9)\n",
"plot_voronoi(fig, X_outliers[:, 1:])"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"* Pojedyncza obserwacja odstająca dramatycznie zmienia granice klas."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Aby temu zaradzić, użyjemy więcej niż jednego najbliższego sąsiada ($k > 1$)."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Algorytm $k$ najbliższych sąsiadów dla problemu klasyfikacji\n",
"\n",
"1. Dany jest zbiór uczący zawierajacy przykłady $(x_i, y_i)$, gdzie: $x_i$ zestaw cech, $y_i$ klasa.\n",
"1. Dany jest przykład testowy $x'$, dla którego chcemy określić klasę.\n",
"1. Oblicz odległość $d(x', x_i)$ dla każdego przykładu $x_i$ ze zbioru uczącego.\n",
"1. Wybierz $k$ przykładów $x_{i_1}, \\ldots, x_{i_k}$, dla których wyliczona odległość jest najmniejsza.\n",
"1. Jako wynik $y'$ zwróć tę spośrod klas $y_{i_1}, \\ldots, y_{i_k}$, która występuje najczęściej."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Algorytm $k$ najbliższych sąsiadów dla problemu klasyfikacji przykład"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [],
"source": [
"# Odległość euklidesowa\n",
"def euclidean_distance(x1, x2):\n",
" return np.linalg.norm(x1 - x2)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [],
"source": [
"# Algorytm k najbliższych sąsiadów dla pojedynczej obserwacji\n",
"def knn(X, Y, x_new, k, distance=euclidean_distance):\n",
" \"\"\"Funkcja zwraca klasę najbliższego sąsiada dla pojedynczej obserwacji x_new\n",
" obliczoną według algorytmu KNN\n",
" \n",
" Argumenty funkcji:\n",
" X, Y - zbiór uczący\n",
" x_new - obserwacja, dla której chcemy dokonać predykcji\n",
" k - liczba sąsiadów\n",
" distance - funkcja odległości\n",
" \"\"\"\n",
" data = np.concatenate((X, Y), axis=1)\n",
" nearest = sorted(\n",
" data, key=lambda xy:distance(xy[0, :-1], x_new))[:k]\n",
" y_nearest = [xy[0, -1] for xy in nearest]\n",
" return max(y_nearest, key=lambda y:y_nearest.count(y))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [],
"source": [
"# Wykres klas dla KNN\n",
"def plot_knn(fig, X, Y, k, distance=euclidean_distance):\n",
" ax = fig.axes[0]\n",
" x1min, x2min = X.min(axis=0).tolist()[0]\n",
" x1max, x2max = X.max(axis=0).tolist()[0]\n",
" pad1 = (x1max - x1min) / 10\n",
" pad2 = (x2max - x2min) / 10\n",
" step1 = (x1max - x1min) / 50\n",
" step2 = (x2max - x2min) / 50\n",
" x1grid, x2grid = np.meshgrid(\n",
" np.arange(x1min - pad1, x1max + pad1, step1),\n",
" np.arange(x2min - pad2, x2max + pad2, step2))\n",
" z = np.matrix([[knn(X, Y, [x1, x2], k, distance) \n",
" for x1, x2 in zip(x1row, x2row)] \n",
" for x1row, x2row in zip(x1grid, x2grid)])\n",
" plt.contour(x1grid, x2grid, z, levels=[0.5]);"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [],
"source": [
"# Przygotowanie interaktywnego wykresu\n",
"\n",
"slider_k = widgets.IntSlider(min=1, max=10, step=1, value=1, description=r'$k$', width=300)\n",
"\n",
"def interactive_knn_1(k):\n",
" fig = plot_data_for_classification(X_outliers, Y_outliers, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
" plot_voronoi(fig, X_outliers[:, 1:])\n",
" plot_knn(fig, X_outliers[:, 1:], Y_outliers, k)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4edcfd52a18e4381867255f3eaf06f7c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"interactive(children=(IntSlider(value=1, description='$k$', max=10, min=1), Button(description='Run Interact',…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<function __main__.interactive_knn_1(k)>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"widgets.interact_manual(interactive_knn_1, k=slider_k)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"outputs": [],
"source": [
"# Wczytanie danych (inny przykład)\n",
"\n",
"alldata = pandas.read_csv('classification.tsv', sep='\\t')\n",
"data = np.matrix(alldata)\n",
"\n",
"m, n_plus_1 = data.shape\n",
"n = n_plus_1 - 1\n",
"Xn = data[:, 1:].reshape(m, n)\n",
"\n",
"X2 = np.matrix(np.concatenate((np.ones((m, 1)), Xn), axis=1)).reshape(m, n_plus_1)\n",
"Y2 = np.matrix(data[:, 0]).reshape(m, 1)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmwAAAFmCAYAAADQ5sbeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3df4wc533f8c/nJJ5QHw+JSVEyLYmREx6CWmosq1vlh4meZZuudKjD4yHFyRVcpSVKCK3QM6UEYOE0NZoWdR3Y7DlRbNCOALlQrEth8kQk58iyGkRhDKc6GvpBWpbvrPoHfaxEU459uhQilf32j5kVR8fdu70fu/Ps3vsFLHbmeWaW3x3u7X1u5pkZR4QAAACQrp6yCwAAAMDSCGwAAACJI7ABAAAkjsAGAACQOAIbAABA4ghsAAAAibu87ALKcOWVV8b1119fdhkAAABvcOLEiR9GxLbF7RsysF1//fWanp4uuwwAAIA3sP3deu0cEgUAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAA3SdCOno0e26mPXEENgAA0H0mJ6WREenAgYvhLCKbHxnJ+jvIhrw1FQAA6HLDw9LYmDQ+ns0fOpSFtfHxrH14uNz6VojABgAAuo+dhTQpC2m14DY2lrXb5dW2Co4OO4a7HiqVSnDzdwAANoAIqacwAqxaTTqs2T4REZXF7YxhA8rSZQNiASA5tTFrRcUxbR2EwAaUpcsGxAJAUmrfp7Uxa9XqxTFtHRjaGMMGlKXLBsQCQFImJy9+n9bGrBXHtA0OSnv3llvjCjCGDShT8S/Amg4dEAsASYnIQtvw8Bu/Txu1J6LRGDYCG1C2DhsQCwBoHU46AFLURQNiAQCtQ2ADytJlA2IBAK3DSQdAWbpsQCwAoHUIbEBZhoelI0feOPC1FtoGBzlLFADwOgIbUBa7/h60Ru0AgA2LMWwAAACJSyKw2b7N9vO2Z20frNP/m7afyh8nbf+d7S1533dsP5v3ca0OAADQdUo/JGr7Mkn3S9ot6bSkJ20fi4hv1JaJiN+V9Lv58h+QdCAiXi68zK0R8cM2lg0AANA2Kexhu0XSbES8EBHnJT0sac8Sy39Q0hfaUhkAAEACUghs10j6fmH+dN52CdtvknSbpC8WmkPSl22fsL2/ZVUCAACUpPRDopLq3YOn0RVDPyDprxYdDn1XRMzZvkrSY7a/GRFPXPKPZGFuvyTt2LFjrTUDAAC0TQp72E5Luq4wf62kuQbL3qFFh0MjYi5/fknSUWWHWC8REYcjohIRlW3btq25aAAAgHZJIbA9KWnA9tts9yoLZccWL2T7pyQNSnqk0NZnu782Len9kk62pWoAAIA2Kf2QaES8ZvseSY9KukzSAxFxyvbdef9n8kX3SvpyRCwUVr9a0lFnV4m/XNIfRcSfta96AACA1nNswBtMVyqVmJ7mkm0AACAttk9ERGVxewqHRAEAALAEAhsAAEDiCGwAAACJI7ABAAAkjsAGAACQOAIbAABA4ghsAAAAiSOwAQAAJI7Atl4ipKNHs+dm2gEAAJpEYFsvk5PSyIh04MDFcBaRzY+MZP0AAACrUPq9RLvG8LA0NiaNj2fzhw5lYW18PGsfHi63PgAA0LEIbOvFzkKalIW0WnAbG8vasxvUAwAArBg3f19vEVJP4UhztUpYAwAATeHm7+1QG7NWVBzTBgAAsAoEtvVSC2u1MWvV6sUxbYQ2AACwBoxhWy+TkxfDWm3MWnFM2+CgtHdvuTUCAICORGBbL8PD0pEj2XNtzFottA0OcpYoAABYNQLberHr70Fr1A4AANAkxrABAAAkjsAGAACQOAIbAABA4ghsAAAAiSOwAQAAJI7ABgAAkDgCGwAAQOIIbAAAAIkjsAEAACSOwAYAAJA4AhsAAEDikghstm+z/bztWdsH6/S/2/aPbT+VP3672XUBAAA6Xek3f7d9maT7Je2WdFrSk7aPRcQ3Fi36lxHxT1e5LoAG5l+d18SpCc2cm9HA1gGN3jCq/iv6yy4LAFBQemCTdIuk2Yh4QZJsPyxpj6RmQtda1gU2vOPfO66hh4ZUjaoWLiyob1Of7n30Xk3dOaVdO3aVXR4AIJfCIdFrJH2/MH86b1vsl20/bftLtm9Y4boAFpl/dV5DDw1p/vy8Fi4sSJIWLixo/nzW/sr5V0quEABQk0Jgc522WDT/dUk/ExHvkPR7kiZXsG62oL3f9rTt6bNnz666WKBbTJyaUDWqdfuqUdXEyYk2VwQAaCSFwHZa0nWF+WslzRUXiIifRMQr+fSUpE22r2xm3cJrHI6ISkRUtm3btp71Ax1p5tzM63vWFlu4sKDZl2fbXBEAoJEUAtuTkgZsv812r6Q7JB0rLmD7LbadT9+irO5zzawLoL6BrQPq29RXt69vU592btnZ5ooAAI2UHtgi4jVJ90h6VNJzkv44Ik7Zvtv23flivybppO2nJX1K0h2Rqbtu+98F0HlGbxhVj+t/BfS4R6M3jra5IgBAI46oO+Srq1UqlZieni67DKB09c4S7XEPZ4kCQElsn4iIyuL2FC7rAaAku3bs0tx9c5o4OaHZl2e1c8tOjd44qs29m8suDQBQQGADNrjNvZu17+Z9ZZcBAFhC6WPYAAAAsDQCGwAAQOI4JAoAieC+rgAaIbABQAK4ryuApXBIFABKxn1dASyHwAYAJeO+rgCWQ2ADgJJxX1cAyyGwAUDJuK8rgOUQ2ACgZNzXFcByCGwAULL+K/o1deeU+nv7X9/T1repT/29WTu3CgPAZT0AIAHc1xVIUIQ0OSkND0v28u0tRGADgERwX1cgMZOT0siINDYmHTqUhbMI6cABaXxcOnJE2ru3LaVwSBTNi5COHs2em2kHAKCTDQ9nYW18PAtpxbA2Npb1twmBDc2r/aVR+9BKFz+8IyNZPwAA3cLO9qzVQltPz8WwVtvj1iYENjQvob80AABoi1poK2pzWJMIbFiJhP7SAACgLWo7J4qKR5rahMCGlUnkLw0AAFpu8ZGkavXSI01tQmDDyiTylwYAAC03OXnpkaTikaY2jt0msKF5Cf2lAQBAyw0PZ5fuKB5JqoW2I0faOnab67CheY3+0pCy9sHBtl2PBgCAlrPr/15r1N5CBDY0r/aXRvHKzrXQNjjIWaIAALQIgQ3NS+gvDQAANhLGsAEAACSOwAYAAJA4AhsAAEDiCGwAAACJI7ABAAAkjsAGAACQuCQCm+3bbD9ve9b2wTr9d9p+Jn981fY7Cn3fsf2s7adsT7e3cgAAgNYr/Tpsti+TdL+k3ZJOS3rS9rGI+EZhsf8jaTAifmT7dkmHJf1iof/WiPhh24oGAABooxT2sN0iaTYiXoiI85IelrSnuEBEfDUifpTPfk3StW2uEQAAoDQpBLZrJH2/MH86b2tkn6QvFeZD0pdtn7C9v9FKtvfbnrY9ffbs2TUVDAAA0E6lHxKV5DptUXdB+1ZlgW1XofldETFn+ypJj9n+ZkQ8cckLRhxWdihVlUql7usDAACkKIU9bKclXVeYv1bS3OKFbP+CpM9J2hMR52rtETGXP78k6aiyQ6wAAABdI4XA9qSkAdtvs90r6Q5Jx4oL2N4h6YikD0XEtwrtfbb7a9OS3i/pZNsqBwAAaIPSD4lGxGu275H0qKTLJD0QEads3533f0bSb0vaKukPbEvSaxFRkXS1pKN52+WS/igi/qyEtwEAANAyjth4w7kqlUpMT3PJNgAAkBbbJ/KdUm+QwiFRAAAALIHABgAAkDgCGwAAQOIIbAAAYOOKkI4ezZ6baS8JgQ0AAGxck5PSyIh04MDFcBaRzY+MZP0JKP2yHgAAAKUZHpbGxqTx8Wz+0KEsrI2PZ+3Dw+XWlyOwAQCAjcvOQpqUhbRacBsby9pd7w6a7cd12AAAACKknsJIsWq1lLDGddgAAADqqY1ZKyqOaUsAgQ0AAGxctbBWG7NWrV4c05ZQaGMMGwAAWBfzr85r4tSEZs7NaGDrgEZvGFX/Ff1ll7W0ycmLYa02Zq04pm1wUNq7t9waxRg2AACwDo5/77iGHhpSNapauLCgvk196nGPpu6c0q4du8our7GILLQND79xzFqj9hZrNIaNwAYAANZk/tV5XfPJazR/fv6Svv7efs3dN6fNvZtLqKzzcNIBAABoiYlTE6pGtW5fNaqaODnR5oq6D4ENAACsycy5GS1cWKjbt3BhQbMvz7a5ou5DYAMAAGsysHVAfZv66vb1berTzi0721xR9yGwAQCANRm9YVQ9rh8petyj0RtH21xR9yGwAQCANem/ol9Td06pv7f/9T1tfZv61N+btXPCwdpxHTYAALBmu3bs0tx9c5o4OaHZl2e1c8tOjd44SlhbJwQ2AACwLjb3bta+m/eVXUZX4pAoAABA4ghsAAAAiSOwAQAAJI7ABgAAkDgCGwAAQOIIbAAAAInjsh4A0KT5V+c1cWpCM+dmNLB1QKM3jKr/iv6yywKwARDYAKAJx793XEMPDakaVS1cWFDfpj7d++i9mrpzSrt27Cq7PABdjkOiALCM+VfnNfTQkObPz2vhwoIkaeHCgubPZ+2vnH+l5AoBdLskApvt22w/b3vW9sE6/bb9qbz/Gds3N7suAKzVxKkJVaNat68aVU2cnGhzRQA2mtIDm+3LJN0v6XZJb5f0QdtvX7TY7ZIG8sd+SZ9ewboAsCYz52Ze37O22MKFBc2+PNvmigBsNKUHNkm3SJqNiBci4rykhyXtWbTMHkmfj8zXJP207e1NrgsAazKwdUB9m/rq9vVt6tPOLTvbXBGAjSaFwHaNpO8X5k/nbc0s08y6ALAmozeMqsf1vy573KPRG0fbXBGAjSaFwOY6bdHkMs2sm72Avd/2tO3ps2fPrrBEABtZ/xX9mrpzSv29/a/vaevb1Kf+3qx9c+/mkisE0O1SuKzHaUnXFeavlTTX5DK9TawrSYqIw5IOS1KlUqkb6gCgkV07dmnuvjlNnJzQ7Muz2rllp0ZvHCWsAWiLFALbk5IGbL9N0g8k3SHpny9a5pike2w/LOkXJf04Is7YPtvEugCwLjb3bta+m/eVXQaADaj0wBYRr9m+R9Kjki6T9EBEnLJ9d97/GUlTkoYkzUr6W0n/cql1S3gbAAAALeOIjXd0sFKpxPT0dNllAAAAvIHtExFRWdyewkkHAAAAWAKBDQAAIHFNBzbbu21/1vZN+fz+1pUFAACAmpWcdPBvlA32/y3bWyTd1JqSAAAAULSSQ6JnI+JvIuI3JL1f0j9qUU0AAAAoWElg+9PaREQclPT59S8HAAAAiy0b2Gz/d9uOiEeK7RHxe60rCwAAADXN7GF7RdIx22+SJNvvt/1XrS0LAAAANcsGtoj4LUlfkPQXto9Luk/SwVYXBgBA14qQjh7Nnptpx4bXzCHR90r615IWJG2T9O8i4i9bXRgAAF1rclIaGZEOHLgYziKy+ZGRrB8oaOaQ6Eck/YeIeLekX5M0Yfs9La0KAIBuNjwsjY1J4+MXQ9uBA9n82FjWDxQsex22iHhPYfpZ27dL+qKkX2llYQAAdC1bOnQomx4fzx5SFtYOHcr6gYJV3fzd9t+LiP/Xgnragpu/AwCSECH1FA52VauEtQ1uXW/+3slhDQCAJNQOgxYVx7QBBdz8HQCAdls8Zq1avXRMG1CwknuJAgCA9TA5eTGs1casFce0DQ5Ke/eWWyOSQmADAKDdhoelI0ey59qYtVpoGxzkLFFcgsAGAEC72fX3oDVqx4bHGDYAAIDEsYcNQFvMvzqviVMTmjk3o4GtAxq9YVT9V/SXXRYAdAQCG4CWO/694xp6aEjVqGrhwoL6NvXp3kfv1dSdU9q1Y1fZ5QFA8jgkCqCl5l+d19BDQ5o/P6+FCwuSpIULC5o/n7W/cv6VkisEgPQR2AC01MSpCVWjWrevGlVNnJxoc0UA0HkIbABaaubczOt71hZbuLCg2Zdn21wRAHQeAhuAlhrYOqC+TX11+/o29Wnnlp1trggAOg+BDUBLjd4wqh7X/6rpcY9Gbxxtc0UA0HkIbABaqv+Kfk3dOaX+3v7X97T1bepTf2/Wvrl3c8kVAkD6uKwHgJbbtWOX5u6b08TJCc2+PKudW3Zq9MZRwhoANInABqAtNvdu1r6b95VdBgB0pFIPidreYvsx2zP585vrLHOd7T+3/ZztU7bHCn0ftf0D20/lj6H2vgMAAIDWK3sM20FJj0fEgKTH8/nFXpN0X0T8fUm/JOnf2n57of9QRNyUP6ZaXzIAAEB7lR3Y9kh6MJ9+UNLw4gUi4kxEfD2fnpf0nKRr2lYhAABAycoObFdHxBkpC2aSrlpqYdvXS3qnpL8uNN9j+xnbD9Q7pAoAANDpWh7YbH/F9sk6jz0rfJ3Nkr4o6cMR8ZO8+dOSfk7STZLOSPrEEuvvtz1te/rs2bOrfDcAAADt1/KzRCPifY36bL9oe3tEnLG9XdJLDZbbpCysPRQRRwqv/WJhmc9K+pMl6jgs6bAkVSqVWPEbAQAAKEnZh0SPSborn75L0iOLF7BtSX8o6bmI+OSivu2F2b2STraoTgAAgNKUHdg+Jmm37RlJu/N52X6r7doZn++S9CFJ76lz+Y6P237W9jOSbpV0oM31AwAAtFypF86NiHOS3lunfU7SUD59XJIbrP+hlhYIAACQgLL3sAEAAGAZBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2AAAABJHYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEnd52QUAAIDONv/qvCZOTWjm3IwGtg5o9IZR9V/RX3ZZXYXABgAAVu34945r6KEhVaOqhQsL6tvUp3sfvVdTd05p145dZZfXNTgkCgAAVmX+1XkNPTSk+fPzWriwIElauLCg+fNZ+yvnXym5wu5BYAMAAKsycWpC1ajW7atGVRMnJ9pcUfcisAEAgFWZOTfz+p61xRYuLGj25dk2V9S9CGwAAGBVBrYOqG9TX92+vk192rllZ5sr6l4ENgAAsCqjN4yqx/WjRI97NHrjaJsr6l4ENgAAsCr9V/Rr6s4p9ff2v76nrW9Tn/p7s/bNvZtLrrB7cFkPAACwart27NLcfXOaODmh2ZdntXPLTo3eOEpYW2cENgAAsCabezdr3837yi6jq5V6SNT2FtuP2Z7Jn9/cYLnv2H7W9lO2p1e6PgAAQCcrewzbQUmPR8SApMfz+UZujYibIqKyyvUBAAA6UtmBbY+kB/PpByUNt3l9AACA5JUd2K6OiDOSlD9f1WC5kPRl2yds71/F+gAAAB2r5Scd2P6KpLfU6frICl7mXRExZ/sqSY/Z/mZEPLHCOvZL2i9JO3bsWMmqAAAApWp5YIuI9zXqs/2i7e0Rccb2dkkvNXiNufz5JdtHJd0i6QlJTa2fr3tY0mFJqlQqsfp3BAAA0F5lHxI9JumufPouSY8sXsB2n+3+2rSk90s62ez6AAAAna7swPYxSbttz0janc/L9lttT+XLXC3puO2nJf1vSX8aEX+21PoAAADdpNQL50bEOUnvrdM+J2kon35B0jtWsj4AAEA3KXsPGwAAAJZBYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2AAAABJHYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgDoBhHS0aPZczPtADoKgQ0AusHkpDQyIh04cDGcRWTzIyNZP4COdXnZBQAA1sHwsDQ2Jo2PZ/OHDmVhbXw8ax8eLrc+AGtCYAOAbmBnIU3KQlotuI2NZe12ebUBWDPHBhzXUKlUYnp6uuwyAGD9RUg9hdEu1SphDeggtk9ERGVxO2PYgE7AgHI0ozZmrag4pg1Axyo1sNneYvsx2zP585vrLPPztp8qPH5i+8N530dt/6DQN9T+dwG0AQPKsZza56E2Zq1avTimjdAGdLyy97AdlPR4RAxIejyff4OIeD4iboqImyT9Q0l/K+loYZFDtf6ImGpL1UC7FQeU1375MqB8Zbp9L+Xk5MXPQ23M2qFDFz83hHqgo5Ud2PZIejCfflDScr913ivp2xHx3ZZWBaRm8S/fnp5Lfzljad2+l3J4WDpy5I2fh9rn5sgRQj3Q4Uo96cD230TETxfmfxQRlxwWLfQ/IOnrEfH7+fxHJf26pJ9ImpZ0X0T8aLl/l5MO0LEYUL56i/dKLr7sBcEXQAJKO+nA9ldsn6zz2LPC1+mV9KuS/meh+dOSfk7STZLOSPrEEuvvtz1te/rs2bOreCdAyRhQvjbspQTQwVoe2CLifRFxY53HI5JetL1dkvLnl5Z4qduV7V17sfDaL0bE30VEVdJnJd2yRB2HI6ISEZVt27atz5sD2oUB5eujeK2yGsIagA5Q9hi2Y5LuyqfvkvTIEst+UNIXig21sJfbK+nkulYHpIIB5euDvZQAOlTZge1jknbbnpG0O5+X7bfafv2MT9tvyvuPLFr/47aftf2MpFslLfomBroEA8rXjr2UADoYdzpA+0Rke4KGh994CKpRO7Cejh7NzgYt7qUshrgjR6S9e8uuEsAGx50OUL5uv6wC0sZeSgAdjJu/o32KF3+VLr2sAr8w0Up2/T1ojdoBICHsYUP7cFmFztbtdwoAgIQR2NBeXFahc3FIGwBKQ2BDe3FZhc7F/UwBoDQENrQPl1XobBzSBoDScFkPtA+XVegO3M8UAFqGy3qgfFxWofNxSBsASkFgQ/vULp+weG9Mo3akhUPaAFAarsMGoDmN7mcqZe2DgxzSBoAWIbABaE7tkHbxFmK10DY4yCFtAGghAhuA5nCnAAAoDWPYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2AAAABJHYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2AAAABJXamCz/c9sn7JdtV1ZYrnbbD9ve9b2wUL7FtuP2Z7Jn9/cnsoBKEI6ejR7bqYdALBqZe9hOylpRNITjRawfZmk+yXdLuntkj5o++1590FJj0fEgKTH83kA7TA5KY2MSAcOXAxnEdn8yEjWDwBYF6UGtoh4LiKeX2axWyTNRsQLEXFe0sOS9uR9eyQ9mE8/KGm4NZUCuMTwsDQ2Jo2PXwxtBw5k82NjWT8AYF1cXnYBTbhG0vcL86cl/WI+fXVEnJGkiDhj+6p2FwdsWLZ06FA2PT6ePaQsrB06lPUDANZFy/ew2f6K7ZN1HnuWXzt7iTptKx4cY3u/7Wnb02fPnl3p6gDqKYa2GsIaAKy7lge2iHhfRNxY5/FIky9xWtJ1hflrJc3l0y/a3i5J+fNLS9RxOCIqEVHZtm3bat4KgMVqh0GLimPaAADrouyTDprxpKQB22+z3SvpDknH8r5jku7Kp++S1GwIBLBWi8esVauXjmkDAKyLsi/rsdf2aUm/LOlPbT+at7/V9pQkRcRrku6R9Kik5yT9cUScyl/iY5J2256RtDufB9AOk5MXw1rtMOihQxdDG2eJAsC6cWzAv4IrlUpMT0+XXQbQ2SKyUDY8/MYxa43aAQDLsn0iIi65Nm0nnCUKIEW2tHdv8+0AgFXrhDFsAAAAGxqBDQAAIHEENgAAgMQR2AAAABJHYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAAStyHvdGD7rKTvlvTPXynphyX926lj2zTGtlka26cxtk1jbJvG2DZLa+X2+ZmI2La4cUMGtjLZnq53ywmwbZbCtlka26cxtk1jbJvG2DZLK2P7cEgUAAAgcQQ2AACAxBHY2u9w2QUkjG3TGNtmaWyfxtg2jbFtGmPbLK3t24cxbAAAAIljDxsAAEDiCGwtYHuL7cdsz+TPb66zzM/bfqrw+IntD+d9H7X9g0LfUPvfRWs0s23y5b5j+9n8/U+vdP1O1OTn5jrbf277OdunbI8V+rruc2P7NtvP2561fbBOv21/Ku9/xvbNza7b6ZrYNnfm2+QZ21+1/Y5CX92fr27RxLZ5t+0fF35WfrvZdbtBE9vnNwvb5qTtv7O9Je/r2s+O7Qdsv2T7ZIP+cr9vIoLHOj8kfVzSwXz6oKT/tszyl0n6v8quvSJJH5X0G2W/jzK3jaTvSLpyrdu2kx7NvDdJ2yXdnE/3S/qWpLd34+cm/7n4tqSfldQr6enaey0sMyTpS5Is6Zck/XWz63byo8lt8yuS3pxP317bNvl83Z+vbng0uW3eLelPVrNupz9W+h4lfUDS/9ogn51/LOlmSScb9Jf6fcMettbYI+nBfPpBScPLLP9eSd+OiLIu5ttOK902671+ypZ9bxFxJiK+nk/PS3pO0jVtq7C9bpE0GxEvRMR5SQ8r20ZFeyR9PjJfk/TTtrc3uW4nW/b9RcRXI+JH+ezXJF3b5hrLspb/+27/3Egrf48flPSFtlRWsoh4QtLLSyxS6vcNga01ro6IM1L2C1bSVcssf4cu/YG4J9/l+kA3HfZT89smJH3Z9gnb+1exfida0Xuzfb2kd0r660JzN31urpH0/cL8aV0aThst08y6nWyl72+fsj0DNY1+vrpBs9vml20/bftLtm9Y4bqdrOn3aPtNkm6T9MVCczd/dpZT6vfN5ev9ghuF7a9Iekudro+s8HV6Jf2qpH9faP60pN9R9oPxO5I+Ielfra7S9lunbfOuiJizfZWkx2x/M//rp6Ot4+dms7Iv0Q9HxE/y5o7+3NThOm2LT2tvtEwz63aypt+f7VuVBbZdheau/PnKNbNtvq5sCMor+VjPSUkDTa7b6VbyHj8g6a8iorjXqZs/O8sp9fuGwLZKEfG+Rn22X7S9PSLO5LtLX1ripW6X9PWIeLHw2q9P2/6spD9Zj5rbZT22TUTM5c8v2T6qbJfzE5JWspMnW3AAAALDSURBVG2Tsx7bxvYmZWHtoYg4Unjtjv7c1HFa0nWF+WslzTW5TG8T63ayZraNbP+CpM9Juj0iztXal/j56gbLbpvCHzmKiCnbf2D7ymbW7QIreY+XHP3p8s/Ockr9vuGQaGsck3RXPn2XpEeWWPaS8QH5L+uavZLqnrHSoZbdNrb7bPfXpiW9Xxe3wUq2badpZttY0h9Kei4iPrmor9s+N09KGrD9tnxP9B3KtlHRMUn/Ij9765ck/Tg/nNzMup1s2fdne4ekI5I+FBHfKrQv9fPVDZrZNm/Jf5Zk+xZlvwvPNbNuF2jqPdr+KUmDKnwPbYDPznLK/b4p40yMbn9I2irpcUkz+fOWvP2tkqYKy71J2ZfETy1a/39IelbSM/l/+vay31M7t42yM22ezh+nJH1kufW74dHkttmlbFf7M5Keyh9D3fq5UXZW1reUnYH1kbztbkl359OWdH/e/6ykylLrdtOjiW3zOUk/KnxOpvP2hj9f3fJoYtvck7/3p5WdkPErG+Vz08z2yed/XdLDi9br6s+Osp0nZyRdULY3bV9K3zfc6QAAACBxHBIFAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2ABgBWz/ue3d+fR/tv2psmsC0P24lygArMx/lPSf8ptfv1PSr5ZcD4ANgDsdAMAK2f4LSZslvTsi5m3/rKSPKLvN3K+VWx2AbsQhUQBYAdv/QNJ2Sa9GxLwkRcQLEbGv3MoAdDMCGwA0yfZ2SQ9J2iNpwfY/KbkkABsEgQ0AmmD7TZKOSLovIp6T9DuSPlpqUQA2DMawAcAa2d4q6b9I2i3pcxHxX0suCUCXIbABAAAkjkOiAAAAiSOwAQAAJI7ABgAAkDgCGwAAQOIIbAAAAIkjsAEAACSOwAYAAJA4AhsAAEDiCGwAAACJ+/9CzPrTpcBktgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 691.2x388.8 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plot_data_for_classification(X2, Y2, xlabel=r'$x_1$', ylabel=r'$x_2$')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"outputs": [],
"source": [
"# Przygotowanie interaktywnego wykresu\n",
"\n",
"slider_k = widgets.IntSlider(min=1, max=10, step=1, value=1, description=r'$k$', width=300)\n",
"\n",
"def interactive_knn_2(k):\n",
" fig = plot_data_for_classification(X2, Y2, xlabel=r'$x_1$', ylabel=r'$x_2$')\n",
" plot_voronoi(fig, X2[:, 1:])\n",
" plot_knn(fig, X2[:, 1:], Y2, k)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "55c13a313b8046ebbf77be896397a52f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"interactive(children=(IntSlider(value=1, description='$k$', max=10, min=1), Button(description='Run Interact',…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<function __main__.interactive_knn_2(k)>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"widgets.interact_manual(interactive_knn_2, k=slider_k)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Algorytm $k$ najbliższych sąsiadów dla problemu regresji\n",
"\n",
"1. Dany jest zbiór uczący zawierajacy przykłady $(x_i, y_i)$, gdzie: $x_i$ zestaw cech, $y_i$ liczba rzeczywista.\n",
"1. Dany jest przykład testowy $x'$, dla którego chcemy określić klasę.\n",
"1. Oblicz odległość $d(x', x_i)$ dla każdego przykładu $x_i$ ze zbioru uczącego.\n",
"1. Wybierz $k$ przykładów $x_{i_1}, \\ldots, x_{i_k}$, dla których wyliczona odległość jest najmniejsza.\n",
"1. Jako wynik $y'$ zwróć średnią liczb $y_{i_1}, \\ldots, y_{i_k}$:\n",
" $$ y' = \\frac{1}{k} \\sum_{j=1}^{k} y_{i_j} $$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Wybór $k$\n",
"\n",
"* Wartość $k$ ma duży wpływ na wynik działania algorytmu KNN:\n",
" * Jeżeli $k$ jest zbyt duże, wszystkie nowe przykłady są klasyfikowane jako klasa większościowa.\n",
" * Jeżeli $k$ jest zbyt małe, granice klas są niestabilne, a algorytm jest bardzo podatny na obserwacje odstające.\n",
"* Aby dobrać optymalną wartość $k$, najlepiej użyć zbioru walidacyjnego."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Miary podobieństwa"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"#### Odległość euklidesowa\n",
"$$ d(x, x') = \\sqrt{ \\sum_{i=1}^n \\left( x_i - x'_i \\right) ^2 } $$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Dobry wybór w przypadku numerycznych cech.\n",
"* Symetryczna, traktuje wszystkie wymiary jednakowo.\n",
"* Wrażliwa na duże wahania jednej cechy."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"#### Odległość Hamminga\n",
"$$ d(x, x') = \\sum_{i=1}^n \\mathbf{1}_{x_i \\neq x'_i} $$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Dobry wybór w przypadku cech zero-jedynkowych.\n",
"* Liczba cech, którymi różnią się dane przykłady."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"#### Odległość Minkowskiego ($p$-norma)\n",
"$$ d(x, x') = \\sqrt[p]{ \\sum_{i=1}^n \\left| x_i - x'_i \\right| ^p } $$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Dla $p = 2$ jest to odległość euklidesowa.\n",
"* Dla $p = 1$ jest to odległość taksówkowa.\n",
"* Jeżeli $p \\to \\infty$, to $p$-norma zbliża się do logicznej alternatywy.\n",
"* Jeżeli $p \\to 0$, to $p$-norma zbliża się do logicznej koniunkcji."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### KNN praktyczne porady"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* Co zrobić z remisami?\n",
" * Można wybrać losową klasę.\n",
" * Można wybrać klasę o wyższym prawdopodobieństwie _a priori_.\n",
" * Można wybrać klasę wskazaną przez algorytm 1NN."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"* KNN źle radzi sobie z brakującymi wartościami cech (nie można wówczas sensownie wyznaczyć odległości)."
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
},
"livereveal": {
"start_slideshow_at": "selected",
"theme": "white"
}
},
"nbformat": 4,
"nbformat_minor": 4
}