Last active
August 29, 2015 14:06
-
-
Save djsutherland/11fd9895924c3c1aed19 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "metadata": { | |
| "name": "", | |
| "signature": "sha256:aac0be2ff9145ca4a00a24e9b649f99ce935bfa697b49ea58810d9553cc3b001" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "%matplotlib inline\n", | |
| "import pylab as pl" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 1 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import numpy as np\n", | |
| "from sklearn.metrics.pairwise import rbf_kernel\n", | |
| "from sklearn.kernel_approximation import RBFSampler" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 2 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "gammas = np.linspace(.1, 5)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 3 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "x = np.array([[0]])\n", | |
| "y = np.array([[1]])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def get_samped(gamma, n_components=10**5):\n", | |
| " samp = RBFSampler(gamma=gamma, n_components=n_components)\n", | |
| " samp.fit(x)\n", | |
| " return samp.transform(x)[0].dot(samp.transform(y)[0])" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 5 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "exact = []\n", | |
| "samped = []\n", | |
| "fixed = []\n", | |
| "\n", | |
| "for gamma in gammas:\n", | |
| " exact.append(rbf_kernel(x, y, gamma=gamma))\n", | |
| " samped.append(get_samped(gamma))\n", | |
| " fixed.append(get_samped(2 * gamma))\n", | |
| " \n", | |
| "exact = np.ravel(exact)\n", | |
| "samped = np.ravel(samped)\n", | |
| "fixed = np.ravel(fixed)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 6 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pl.plot(gammas, exact, linewidth=3, label='exact')\n", | |
| "pl.plot(gammas, samped, marker='o', linestyle='', label='RBFSampler(gamma)')\n", | |
| "pl.plot(gammas, fixed, marker='o', linestyle='', label='RBFSampler(2 * gamma)z')\n", | |
| "pl.legend()" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 7, | |
| "text": [ | |
| "<matplotlib.legend.Legend at 0x10edde8d0>" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\njkpOTtZ9zc5iJO7N56k2uo1018GDSgUEFP+dZmZW6nLCS/T+HST162cXgIt+JptMbl/XE9eIiYlR\n3377rVJKqQMHDqgOHTrY/iCV0gJ5UTDJz89Xb731ljIajerSpUtKKeeB/MyZMyoqKko98MAD6ptv\nvnEIcrt371bffvutunDhgjp27Jjq1auXeuyxx+za1b17d3X06FGVlZWlGjdurLp06aI2bdqkcnNz\n1e23325rZ1EgHzlypDp37pz67bffVKNGjWyvq2QgP3jwoIqKilLffPONUkqpFStWqKioKHX8+HGl\nlBYQW7VqpbZt26YKCgrUxYsXVdeuXdWnn37q9D38/PPPVdOmTZ3ev2TJEtW3b1/Vrl07NWXKFHX2\n7FmHc/Ly8lTLli2VxWJR+fn5avHixSooKMj2IXrixAm1ePFidf78eZWTk6PuvfdeNXjwYNvjY2Nj\nVdu2bdWePXvU6dOnVfv27dWVV16pVq5cqfLz89X999+vxowZYzvfYDCowYMHq5ycHLV161YVFBSk\nbrvtNrV3717b499//323nlsppV555RV19913O7yujRs3qkaNGqlNmzbpvjfOYiQ1KZArpdTAgcV/\noyU6RsKP6P07mBobqxuEp8bGun1dT1yjVatWKiwsTIWHh9v+uAsKCmz3P/DAAyokJEQ1bNhQhYaG\nqtDQULVgwQLb/XPnzlV16tRRDRs2tP2sW7dOKaXU9u3b1ejRo1Xz5s1VnTp11J133qmOHDmi247P\nP/9cdenSxXYcExOjFi5caDu+55571D/+8Q/bcWpqqi2YFAXynTt32u5/4okn1EMPPaS9TyUC+Qsv\nvKDuu+8+u+c2mUy2oBUXF6emTp1qd3/btm3V8uXLddt94MAB1axZM7Vo0SLd+9euXaumT5+udu/e\nrZKTk9WqVavUzJkzHc5btWqVatasmd3vevbsafdtqKSNGzeqyMhI23FcXJzddf/1r3/ZfbP66quv\nVOfOnW3HBoNB/e9//7Md33DDDeqll16ye3zJD1ZXz62UUm+//ba6vVTa4OjRo6pVq1bq448/1r2O\nUpUL5H6RIy/y0EPFuwetezGOpH4Vy6WWJJOFvK+iK156+hqlt3v77rvv7AYkZcs3xy3fihw7dox+\n/foxfvx4hg0bpvPuws0330xSUhJ16mjTV3r16sXTTz/tcN6hQ4ccdjZq0aKFLb9/7tw5HnnkEWJi\n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\nmuP/A5hgIW1t8LqCAAAAAElFTkSuQmCC\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10c10b290>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 7 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Here's what `test_rbf_sampler` is testing:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "rng = np.random.RandomState(0)\n", | |
| "X = rng.random_sample(size=(300, 50))\n", | |
| "Y = rng.random_sample(size=(300, 50))\n", | |
| "X /= X.sum(axis=1)[:, np.newaxis]\n", | |
| "Y /= Y.sum(axis=1)[:, np.newaxis]" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 8 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "gamma = 10.\n", | |
| "kernel = rbf_kernel(X, Y, gamma=gamma)\n", | |
| "\n", | |
| "# approximate kernel mapping\n", | |
| "rbf_transform = RBFSampler(gamma=gamma, n_components=1000, random_state=42)\n", | |
| "X_trans = rbf_transform.fit_transform(X)\n", | |
| "Y_trans = rbf_transform.transform(Y)\n", | |
| "kernel_approx = np.dot(X_trans, Y_trans.T)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 9 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pl.figure(figsize=(5, 5))\n", | |
| "pl.scatter(kernel.ravel(), kernel_approx.ravel())\n", | |
| "pl.plot([0, 2], [0, 2], color='r')\n", | |
| "mn = min(kernel.min(), kernel_approx.min()) - .05\n", | |
| "mx = max(kernel.max(), kernel_approx.max()) + .05\n", | |
| "pl.xlim(mn, mx)\n", | |
| "pl.ylim(mn, mx)\n", | |
| "\n", | |
| "np.max(np.abs(kernel - kernel_approx))" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 10, | |
| "text": [ | |
| "0.11969317021349923" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x10ef62c90>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 10 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Here's the same test, but with the fixed gamma:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "rbf_transform_f = RBFSampler(gamma=2*gamma, n_components=1000, random_state=42)\n", | |
| "X_trans_f = rbf_transform_f.fit_transform(X)\n", | |
| "Y_trans_f = rbf_transform_f.transform(Y)\n", | |
| "kernel_approx_f = np.dot(X_trans_f, Y_trans_f.T)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [], | |
| "prompt_number": 11 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pl.figure(figsize=(5, 5))\n", | |
| "pl.scatter(kernel.ravel(), kernel_approx_f.ravel())\n", | |
| "pl.plot([0, 2], [0, 2], color='r')\n", | |
| "mn = min(kernel.min(), kernel_approx_f.min()) - .05\n", | |
| "mx = max(kernel.max(), kernel_approx_f.max()) + .05\n", | |
| "pl.xlim(mn, mx)\n", | |
| "pl.ylim(mn, mx)\n", | |
| "\n", | |
| "np.max(np.abs(kernel - kernel_approx_f))" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 12, | |
| "text": [ | |
| "0.057526815065138237" | |
| ] | |
| }, | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "iVBORw0KGgoAAAANSUhEUgAAAT4AAAEzCAYAAACopm/uAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4lGXWxn/pyaQQIPQiTZEiioIFyyCgoGJDomt37W13\nXV3FumIX67q79l6wxbKK6CooiYqFdREBFRQBEVCaUgOp5/vjPuOMfi4ibRJ47uvKlZm3PO8z75vc\nc8p9zgMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBdQYpyZ5ANBq1srKyZE8jICBg\ny0MZ0PeXdqRu3nn8f5SVlWFmG/xz5ZVXbpRxNtVPXZ9ffZhjXZ9ffZhjXZ/fBs9x3DisqAgbNw4g\n+r94J+nEFxAQELBRUFoKxcVQUgJ9+6710EB8AQEB9R+/gfRgCyK+vuvwYZOJuj4/qPtzrOvzg7o/\nx7o+P1iPOf5G0oM6kNwAzMySPYeAgID6iLWQXkpKCvwPjttiLL6AgICtDOth6cUQiC8gIKD+YQNI\nDwLxBQQE1DdsIOlBIL6AgID6hI1AehCILyAgoL5gI5EeBOILCAioD9iIpAeB+AICAuo6NjLpQSC+\ngICAuoxNQHqwbsT3ELAAmLKWY/4OfAl8AvRM2D4ImOb7hq3nHAMCArZGbCLSg3UjvocRgf0vHAh0\nArYFTgfu9u1pwD/93K7A0UCX9Z5pQEDA1oNNSHqwbsT3DvDDWvYfAjzqrz8ECoHmwK7ADGA2UAU8\nDRy6vhMNCAjYSrCJSQ82ToyvFfBNwvu5vq3l/9geEBAQ8MvYDKQHkL6RxtmgZgfDhw//8XXfvn3r\nRQeJgICAjYwNJL3S0lJKS0vX6dh1Jax2wChgh1/Ydw9QilxZUDIjCrQHhhOPD14C1AIjfnZ+6M4S\nELC1YxNYepu6O8vLwAn+endgKcoCf4QSHu2ATOAoPzYgICAgjs3k3iZiXVzdp5AFV4RidlcCGb7v\nXuBVlNmdAawCfu/7qoFzgddRhvdB4PONNfGAgIAtAEkgPQiNSAMCApKFTUx6oRFpQEBA3UKSLL0Y\nAvEFBARsXiSZ9CAQX0BAwOZEHSA9CMQXEBCwuVBHSA8C8QUEBGwO1CHSg0B8AQEBmxp1jPQgEF9A\nQMCmRB0kPQjEFxAQsKlQR0kPAvEFBARsCtRh0oNAfAEBARsbdZz0IBBfQEDAxkQ9ID0IxBcQELCx\nUE9IDwLxBQQEbAzUI9KDQHwBAQEbinpGerDxWs8HBARsZkydOpWxY8dSWFjIUUcdRU5OzuafRD0k\nPQj9+AIC6iVee+01hg49kZqaYtLTZ9K27WI++qiMSCSy+SZRx0kv9OMLCNjCcMYZF1BePpKKijtZ\ntepVZs9uySOPPLL5JlDHSe/XEIgvIKAeYunSxUA3f5dCRUU3Fi9esnkuXs9JDwLxBQTUS/Trtx9Z\nWZcAy4CJZGc/Sv/+/Tb9hbcA0oNAfAEB9RKPPXY3vXp9R2pqMzIz+3PhhWew5557/uSYxx8fSdOm\n7cnLK+KYY05h9erVP9n//vvvM3LkSKZOnbpuF91CSK+uwAICAn4b3n//fYtEigxuNBhhkUiRjR8/\n/sf9ZWVlFom0NPjAYL5lZx9mJ5545o/7zz33L5ab297y84+ynJxmdu+9D6z9guPGmRUV6Xc9AVCn\ns6bJvj8BAfUOBx10lMFdBuY/99qgQUN/3D9s2KWWkjI8Yf8MKyraxszMPv74Y4tEWhv84Pu+sKys\nfFu5cuUvX6wekp7Z2okvuLoBAfUQa9ZUAoUJWwp9m9C4cSGZmV8m7P+SggIdP2/ePDIyuiacvy1p\naQUsXrz4/19oC3VvA/EFBNRDnHnmsUQilwD/Bt4gEhnGHnt056KLLuG2227j6KOPplmz/5KVNQBo\nCxxGeno6c+bMYccdd6SqaiLwvo82ktzcNFq2bPnTi2yhpFdXkGyLOCCgXuKxx56wLl12t8LC9lZY\n2MLS0loYXGXZ2UNtu+162tSpUy07u6HBkwaLLS3tWmvfvrtVV1fb6NGjLTe3kWVk5Fnz5h1s0qRJ\nPx28nrq3iWAtrm6o3AgIqKeoqalhxx33YNq0BtTUfAhMALYHjNzcAzjzzO7cf/8kli8f62cYmZnN\nGD36SQYMGEBtbS3Lly+nQYMGsSoHYQux9NZWuRFqdQMC6hGqqqoYPXo0S5cu5csvv+TTTycDOUA5\n0MaPSqGiojnvvjueqqqFQAWQBSyksnIFhxxyDHfddQsnnXQChYWFP73AFkJ6v4Zg8QUE1BNUVFSw\n114DmTatErN2rFr1EpANnAY8DfQGRgCTgROBo0hLe5b09E5UVOwLvAQcBxSTlbUrK1Z8T0ZGRvwC\nWxjpBYsvIKAewsy46657GTnyJQoL89l55+347LNsysvfQnnJl4DTgTeA4cDfgR5AY+BlIEpNTU+K\nikawdOmrVFTcARzgo6ezbNkyioqK9HYLI71fQyC+gIA6iuuvv5nrrx9Jefk1wBzGjh1GdfV5xMUY\nvYEVwAuI/L4CGqIytiw/pi2LFq0kK2sVIkQjJeVumjZtRuPGjXXIVkZ6dQVJzfwEBNRVNGvWyWBS\nggj5CEtPb2rwqUGVwZkG+QZvGjQzmOHHvWRQYPCWQQ/LytrGbrrpJsvNbWRpaVnWvn13mzZtmi6y\nBWRv/xfYQAHzIGAa8CUw7Bf2NwReBD4BPiTeMgJgNgo4fIxSTgEBAeuAUaNGebeV2cCpQBR4g9ra\nWmBnlND4CigGTkbWX0c/+xD0Pz8UOIKqqmW8/fZ/uOKKi1m8+DtmzpxC586dg6W3FqQBM4B2QAYw\nCejys2NuBq7w152BsQn7ZgGNfuUayf5iCAioE5gzZ46NHz/exowZY5FIU4NjDCIGlxs0NhjtFt1E\n355vkGmQ5a8X+P53/fh0g20M2hvcYzk5B1j//gdbbW3tFm3pxcAG1OrugaThMVzsP4l4Bdgr4f0M\noEkC8TUOxBcQsHbcdtvfLTu7kRUU9LaUlIhBc4MM/xls0NSg2l3fN53QBni97QyD1k6GexsUGTzm\nhNjIYI0TYqVFIm1t1sMPb/GkZ7Zhrm4r4JuE93N9WyI+AYb4612BbYDWMVJDFuBHKOceEBDwM0yf\nPp3LLruWNWs+ZvnyCZhdDawBtgPyge+BaqAF0Bc4BfgBuBHV23ZEUahUYDVyjYcDZwENgEy/UjpR\nS6HVn/+81bu3v0Z862Iqxu7+x8C5/rvG9+0F9EQ59HOAvddvmgEBWy5mzJhBZmZPVFP7KnAriiDN\nAGqBKagioyOKPu2A/nWnJIwyGahCcpYHgLmkpj4BLAG6A6/SL/VYHq+YC88+u1WTHvy6nGUecTk4\n/nruz45ZgaKrMcwCZvrr+f57EUqA7Aq88/OLDB8+/MfXffv2pe9W/lACti507tyZysqJiOjuB64E\nrkdE2BjZDzf70RcBy4FjgT8CpcC36N/O/PwzgP7AecgZG0m/1CN5Ib2KmqeeJWO//TbTJ9u8KC0t\npbS0dKOMlY5SR+2QvfxLyY1EW/o04BF/HUF2OkAuMB7Y/xeukexQQEBAUlFbW2sjRtxikO2xvKYe\n1zvPZSlXJUhaXvR9L3ucb1+DXI/3HWDQz2N7HX48J8pbtpBU+/j225P9UTcr2MAmBQcAf0M29oPA\nDegrBeBelAB5xC8yFQUglgHtkZUHItCRfu4vEd86TCMgYMvAokWLuPHGW/n6629ZsuQ73n77v9TW\nVqE4ngEHA8/40a+gmN1X/v5QoBcSLHdG8b8P0L9nBZK6nAT8FZhJlPcpoZhiVvNeRjrnn38211xz\n1U9L1bZQrK1kLdTqBgRsArz33nvMnj2bnXbaia5du/64ffny5XTr1psFCwZQVTUTxeBuBb4A/oDI\n7wr/iSUqRvnZq5B+rwqF029G4fQWiPSO9tf3AJ2JsoQSvqaYlpSxBhhGauqzDBzYhNGjS37akWUL\nRKjVDQjYjDjnnAt49NEXSU3tRXX1n7n22kto164tDRs2ZM6cOXz/fUeqqjKAt4HPUSxvb+C/iPj+\niRyt24ClSBTxBfA71JQgx7fPApohQuyJQu27A7sQ5WJKmEYxXSljPgrX51BbeyplZR354osvJGLe\nShGILyBgI2LixIk88kgJ5eVTUPh7Ohdc0IP8/AGYfU3bthFWr16OXNNclBuMYQkisQuAfsiymwU0\nR9KWk4DngTsQYe6O6gr2AnYCDgf+RpSlTnq5lHEqSnhk+zUySU3NY82aNZvwLtR9BOILCNiImDt3\nLunpOyDSA8XhGrBixb1AM2bNimI2A4W/zwcOAi5DFl0pIrvtga6oSnQuIj5Q+dqZwJH+/jWUQ3wD\neXRDiTKYEpZSzEDKOAO5ygXApcCRpKc/TbNmWXTp8vMc5daFsOZGQMBGxE477UR19QTipemPI3Jq\nAWSwevWuyFXdFUle90VrX9QAjyFJ7P3Ap6ja8wDgGuTmjgN2QeJm/Pf2xMJYUb6jhMUU058yRgGH\nAcNIS1tGaurdFBUN5YAD5vDuu6+TmRkTYmydqAvRzZDcCKi3mD9/PtXV1bRp04aUlBRGjRrFyJFP\n8uKLo6mpqaG2NhWzoxCZzQP2RCQ3FIkiGiGt3ZMomdEcWAl0QIT4NNLuLUOqsdhKansBYxCp/oso\n31PCsRSTRRldgemoyKoHhx1WyWOPPUR+fkxdtnUgZHUDAjYyqqqqOOKI43njjTGkpmbQo0c3+vTp\nzX33vUR5+VBSU9+gpmYmIrNYRKkcGIzK36sQaa1Gyq83ULxuMBItf4NkKj2BE1Dy41bgPd9fiRy2\nXYjyBiWsppjOlDEXKcqOQ41Kb6Gk5HGGDh266W9KHcPaiC+4ugEB64Gbb76dsWOXUlExj9Wr5/Hx\nx8244447WLXqbcyuoabmXT+yPeqM/BgirPEoQbE7ahaagwjwZv99PSpFmwNciGoHrgIGILd2AIoH\nzgH2J0oqJaRRTHfKaIvItTdykf8D5PD00y9s6ttR7xCILyBgPfDSS6+yenUtEgrPp7JyCGZZyGp7\nBXgCWXXfAnehJMMQJD8Zinp5FKI43AikwzsQ1dz2RfG/p1CmF+Brfz8KKAKeIUpHShhFMTdSxjxE\negacjeKB/wY+Z9SosUybNm0T3o36h+DqBgT8Rjz66OOceupFVFdfgiyvpxBpPYFkI/nAYiAPJSma\noHhcMUpIFCGbowa5tKmoGUFbJG/5EFl3vVC5+86IEM9A2dkpRIlSQjnF7Ovu7dfIpS5HluTyH+eb\nkxOlbduVNGnSnMsv/yMDBw7cVLemTiG4ugEB64FPP/2URx99lLFjx1JTU8PVV99AmzZdOOmkP1Bd\nvQy4G+iEMrMjUReUv6FuyenIcou1ptwPxfMygGOQq1tDvJw0VlpaDbzlP18gV3cWIsBLgBRPZJRT\njFHGNJT4uAm1qpru177Nx53E6tX/Zfr0k3n33eM5/PATGTdu3Ea/VwG/HcmqYQ4I+J94/PGRFok0\ntby8Yy0vr6t169bbcnJ2NmhrcJvBMoMnvfNxjndCXuGNAWq963Fjg7kJzQUiBo/7+2qDTgaHGjxr\ncKRBZ4OG3kw0z8fcx7S+RmOD/1iUcbaQIouyjTcwqDRIM6hJaGRwlDcqaOjj7OnNDGoM7rKhQ09M\n9u3dLGAD19wICNiqUFNTw2mnnUV5+ZusXPkEK1d+xGefzWT16mHImvozEgUfjfrfXYgqMWIrm6Ug\nmcoKZBG2BY5C/27nI4twCmpROZa4rOV7VJHxNkpMpCArsRK4jyj9KWEgxWRQRi2yGEciCUypX3sV\nksHcg7rIPQWUoU5x04E1pKenbdwbVg8RiC8g4GdYuXIlNTU1xNfNykEaumeABai9JIhk5qCkRQoS\nGb+DEh6zgImocmMRytgeCbyL5Cn7oWZFJyPZyhhEVM187O39dR5wMFEaUEIFxbShjHJEqoaaGXyL\nOrrshZqV5vg1GhCX0kggHYlcz/nnn7lR7lN9RiC+gICfYc2aNS72PRglJ17HbBlaULAjqos9F4mR\nB6I2lU2R9XY+cDuKue2JmouOIWa1qeb2FGQpDkFSl2OA71Drqf/4LF7xc14iynuUMIBiWlPGICSR\nqUZW5kREwF8gy28xkr9cjKzHFaSlHUdhYQrFxd8ybtxoevfuvfFvWsBvRrJDAQEBP2LevHlWUNDM\nUlKOMTjLIMdSUzMsNfVMgwc9dpblcbUMj+W1NfjEoI/BWINCbw56lUF/X+wn27QKWq3B7aZ1cHsZ\njDItLFRkcL1BAz+/hcF4i/K6LQSLkucxuzamdXWzPH53ncf1Fht09Tn1NOhikG05OS3trLPOsxUr\nViT71m52sJYYX2hSELBVY9WqVVx22dX85z9T6N59W+bPn8Py5YcgmclzQAq1tVnI1b0YdUh5Abmh\n01GL90oUS5uMlqAuQi7wv5AV9wMqO+uLLMYvUYnaIhQnrPXxL0cSlu+BPkQZQwnXUUwBZeQiicoC\nH6cpqve9AVmNK1G3lxz/fTAZGbeSmlrJzJlzqKioIC8vbxPcwYD1RbK/GAK2UtTW1tqee+5v2dlH\nGbxsmZmnW3p6I4M9DE7xbOo8t+gy3KLraLDEoNytsj0N7jPYz7SUYyO39vINjjc40y24vX17A4P3\nEzKw13k2t4nB5wbXGORalLa2kHSLku3Z3zQf5x9uHY72rO+hCfuO9Ln08Os3N5huGRnnWJ8++yX7\ndm92sIGt5zc1fI4BAZsXM2fOZIcd9qa8PCb+NVJTW1Fbuwo1/9zWj7wWuA5ZUnujjOxsf78QZXOr\niQuQOwCnIy3eEuBPKCY4Hll0T6HkBkibZ0j0/AXwCFGyKKGaYlIpIwXFA99DMbt9/acKeBN1ffkW\nxfe+Qv/SS/39/qjt1SmkpkYoL19BVlYs87zlI3RgDgj4H9CXbjkS/M4gNdWorQURzYeoIuJpRHJZ\niGzOBo5HLueBwGfI1UxD2dN3EZEN9WNmIfe3KarcOBFlYxegZWzGIxd5PFGepIQqimlBGRN8nMPQ\nimr3olrd0T6X6SgT/AZKlNQSb3CajkhxJTCH9PTMrWKdjXVFyOoGbLVo3749O+/cnZSUbmidrP2o\nqelM8+aNkIV2B4rPzUKZ00xEkleiDG4m6rvXAUlHshH5ZKPa3M4oWzsc1eL2Qnq9/ZH+7kEULywA\nriTKbEo4gWIaUsY1QGsf9xpEdhWI7NSVJb7ya2zxwiuRNOYEVEXyFDCdSKQfN988gtTU8O8eQ3B1\nA7ZqlJWVsd9+J1NV9SUilK+Ri9sKJSceQp1V9kWF//mouegZ6N/nbGSxfY10dE8hQmyBLLEcpNV7\nHllhq1DZmhEn0hTvslLhkpVypCEc48feibSBrVFn5rd8rv/1eb4FHOGfyEhLg9atWzFkyEAaNChk\n7733ol+/fhv93tV1BFc3IOB/IC0tjZychlRVpaIYWn9ELlnIrfwDckuH+7Y7EclUIbeyOSKgqb7/\nQhTrOwe5nFW+vx3KFBchMfNTPm4WUT6jhG88e/snlKWN9d2rQv+7FYhkP0Pi5oNR7K8pivFFUM3u\nvqSnN+CHH97k9NNPZ/vtt9/4N20LQLD4ArZqrFy5knbtOrNkSVskIzkTlZd1RXG1Y5CbeTnxRqFp\nSIqSj2J25Sj2B7LkGiGR81gkbj4QuaUxi/E6FAe8nSi7UEKNV2ScjoTPTyDx8w3Aq6hz80pkBa5C\nZPsWcsH3RImVcmSF3gpASsrtDBz4Hq+9VrJxb1g9QujOEhDwCzAzBg0awg8/tEAVGDUom/shIqg7\nUEPPS4EdEJm9gnri7YH66b2N4mpPoqqJq5GV9hHS7P0OkeOhPiaoO/IUojxPCWsoJpsyVqMqjL4+\nlzyUTY4tK1kDPAt8gmpxeyHLcxX63y5E3Zpjn60H3323iIBfRiC+gK0SlZWV9O07gPHjJ1NbOx65\nsh+h1c/ORdbfGOB15MIegaQn2yJiux1ZXQehiNE5iOieRSS1O5K6HI0SFC8TXyToX0QxSriCYvag\njAoUC3wBucxVftwslCyZiEhzIXJ5a5EcJrb/bNLSlpOVdTNalW0xkch1HHTQ1hfXq09InsIxYKvF\n0Uef7ILi3gli4loXB+d5yVe17z864Zj5LmbOM9jJ4G6DkS4mLvHXB/m+C/ycH3y8IoPOFiXbFpJh\nUQ52QfNIg4P9nAKD7gZnmMratnFRdIZfq48Lms3gZoMCS0/Ptfvvf8guuuhyy8rKt/T0HPv978+y\nqqqqZN/mpIJQshawtcPMGDVqFHPmzKFfv3489dRIJDv5FLVwGoxWQluDLLaZvj8HJStiWIRifWcC\nO6J43Xy0APj1qJHBQpTM+M7PKUS6v1uI8rWLk/Mo40Ok0XsMxehmIJd6ArIwn0dlaR2RKPk21KZq\nmI9bRE5ONhMmvEn37t2pqqpi0aIlPPHEozz11EiaN2/KddddGYt1BdQxJPuLIWALx+TJky0trZGp\nmWdLU8OAPINHDZ52i6qBqQFAjh/3qUGFwaluhZ1g8IxBa4NDEizAuaYGo428/CzXIMXijUR3cAuw\nqUW51BaSZ1GyEs4Z4dZdc4Phfv18tz5j1+hjMNhgL5/L6wZvuAXZ1lJS8uyaa26wSy8dbpFIf4NF\nBnMsEtnR7rvvgWTf/qSBtVh8dQHJvj8BWzCWL19uqakFTi7vGJzrpLSDu63mhNfTSe6PCS6qGSx0\nkmrppNPEYIjvG+vj5Lpb2sxgoI/fwYmvt0GhRRnhnZPHmbqwNDN4O+E6pxrcYKoRzjK41NTN5Wkn\nuFhnl94GTZ2c2/q5X1tqagPr3Hk3gzcTxnzUDjnkmGQ/gqSB0IE5YEvFJ598Qteuu5Gf34Q+ffbn\nm2+++cn+5557jtraXLQ+xl7ALUg4/A1yR9siucgXqCSsB+qyEvufmYSkKFNQIiEHrV52IXJHY8tB\n7onqeP+NuiEv9PM+J0omJVxPMSWU0RfJYaqJNx3FX0vMrETGP9FKbKeipEdT37c9SnD82ecC0Baz\nTuTmZpOSMvXHEdPTp9CiRdFvup8Bmw/J/mIIqKdYsmSJFRa2MHjY4FtLS7vaOnTYwaqrq3885skn\nn3TrqNKUrNjftI7FILecCkydTTIMhpq6nXRzC/B3bm297hbUtgbDTImKZgYnJVhXy0wudCxJEjH4\nwqKkeiKjyJT8uN/HPNbn8bHBS+72nuku77GmdTNi7vnp7r6+5dbkOX79Xfx6n1pKSp6NGTPGCgqa\nWU7OCRaJFFvTptvY/Pnzk/iEkguCqxuwJWLMmDHWoEE0gXxqLRJpZbNmzbLa2lq74YabrbCwtSlm\ntr+7j+1NDUb7Gowz+JsprpZtiqV1c3Lp6b9vNS3S85y7tJf572yDfhaPxU12QjODewy2tyiveRPR\nbFPrqWZOZEV+bq6TbmNTu6uTDcpM7vQ4U+PT3UyudaG7tgVOsp+bXOI2Btl23XXXm5nZ3Llz7e67\n77b777/flixZkuQnlFywgcQ3CLWO+JJ4OikRDZH46ROk/OyWsO/Xzg3EF7DemDBhguXmdjR1OFYX\n4szMfFuyZInde+8DlpHRyhRnKzL1zssz2NWtsQfcYupmsKNbV5c44RQ7Md5kiu3hhNPSSTLH1HF5\nJ4MjDP7qZJXu+1palL/aQjItSq7Jmuzr5NvQSfQqH7OTwZU+VqGTWa7BMT7H7gnEfoNBK1M/vxUG\naXb11VfbV199lexHUSexIcSXhnLs7VAOfxLQ5WfH3IyKDkHtKMb+hnMD8QWsN2pra+2gg4otN7eP\npaRcZrm5Xe388y8xM7Odd441/mxk0uFd4VZalhNRC1Nm9CNTgqJ1AsHMd5Ls44QVcULL83+mWFJh\nhamNfHO/1iEGEYsSsYWkePZ2V4tblbk+Vppbarub2sXnmLLGQ3webXyeDXzOfQ0OMLnmDU1JlSMs\nLa1hkp9A3cbaiO/Xkhu7OnnNRnLyp1HtTSK6oCJEUM+cdsT7Yv/auQEB642UlBRGjryfYcMGcd55\nq/nTnw5j6tQv2WmnPZg48T+onKuCWF2skgPNUVLgIlT9sAvS8a0h/n8yDNXojkd/2jsgyeuzqLHo\nclS1kQfshupoRwE5RCn0fnqXUMbvUFOBa5AdsDdqUJrnc5lKvPqiN2ovNRHVCf8D+AtKxByIKkZW\n+vujSEl5k4kTSzfi3dy68GsC5lYo/RXDXPSkE/EJ6oL4LiK7bVD/nHU5NyBgvfHhhx8yaNDh1NY2\nZvXqOdTUQG1tGloDA2JdlUVqpShzegKKvMxPGOk79N3c3s/5AWVVY1iKxMoH+PvnkeA5y8c+DniK\nKC957e2rlHGAX/s/yBGqAV7y8w/386uRSHob9K9yAar9nQg8jFpb3YnK4rqiWuDnSUnJwmwFBx5Y\nzKhRT9OzZ7xGN2Dd8GvEty4+8o2omvtjlNf/GD3ldfavhw8f/uPrvn370rdv33U9NWArhZlxyCG/\nY+nSO1Fh/5PAeUBL1EfvdVRV0QB1WdnFz/w70AcRWzVq/XQjIsu/oQaex6EuJwehKE2sqqIctX/a\nFllsVahZwByizHDSy6SMAX6tFGTd5fNT6cq26F/kemAEshZPRgSY5fNvgSzLFahRqaEFjNIwexQ4\nlHnznmbAgIOZO/dLcnJy2NpRWlpKaWnpRhlrdyRMiuES/neSIoZZ6Gmv67nJDgUE1DNUVVXZmDFj\nLCUlzWBng1SPkzUw1bYO8TjZOR4bOyEhfveCKYt6qcf+TvcEwnEJxyzw8TJMyZEGHt/b1o9vY6rG\naGxwjEVpYwvJsigZpsztoSbpycV+zFu+/R2Dbw0ONy1OZL59rqlSJFa10dOU8Ojs177K44cFBtsn\nzNMsP7+LTZ48OdmPpE6CDUhupKMVTNqh4MIvJSga+D6A04BHfsO5gfgCfhPKy8utd+++lpfX3Unj\nFFNWd4opK1po8IQnIJ7yhEJ7J7nzEhIMjT1pkO8Ed4BJU7ejJxTynex6mcrK9veEQxPTKmbtDB62\nKD1sIY0sSpqPe5Uf09zHSDdVcRzk73MNtjOttzvDrzXclLg4zWCAKfmxk5Pzqz5ehm9rYFrlzQy+\ntaysQvtCg5bwAAAgAElEQVTuu++S/VjqJNZGfL+W3KhGPXpeR1HaZ1Cb2jP8BxR8mIJkKwPRklJr\nOzcgYL1x++13MGVKQ1aunIQK9m9E7mF34PcofvYGqpz4G9AEuAq5qctQciMFxc7+hP4FUlEMsC9K\nJNyPnJNU4B2UIJkNnO/nZwITiTKfEj6jmKcoIw39ed+Hvut/QP8a3ZBb+ykSPJyL3OOvUELDkLvb\nzs89GLnXS1Alye2oSUEusisAupKRcTyRyG5ccslFNGuW6EYH1Bck+4shoB7h+ONPN60tO8GkaRtj\n8WqJvd1tzTO5vLn+uqtbex3dnWxikrD0cffxE4MX3erqbHCYSftXZKrOyHYX1Uxr7W5vUX7nkpVO\nbk3G6ncPN7nHZ5uqNK53tzbLJEgu9HEjPr8jfHtrtzibG8z2sf5lkq986nNYaXCRpaZuY8ccc4yN\nHz8+2Y+jToNQqxuwpWCXXbqTmnotSkCsQRbeMUhQ8DHK2N6AJCInI+nKQ749ghISPVHkZTzqmDwM\nLfVY4NtfBEqQlQj6N4lZVelEyaaEZyhme8pYhJIQj6Ka33GoDdU7qMZ2ic8rBVmYzVDiZI5v28/P\nW4Gs0F4oyQFSf1WgGuP9kdW3iIKCcu666y769OmzYTdzK0YgvoB6hYULl2C2G5J9bIMiKs+h5gI7\nIaIbjqQfS1GebaC/Ph6R3wHE//T7oRXSalA7+WzfvhdypR9HGrwLgHlEuYwSJlFMD8r4GhFpGSKs\n7RE5NUTkNxo1RXgNua+xVdxuRjnAxij/d6d/jlfQIkOxlvGlxDV+q0hJOZ+cnJd5//23adCgwYbd\nyK0cgfgC6jyqq6s5//xLaNasE7fffh9mA5BooDkQRUTzHLKexgLFSHc3ARHgakQqP6BlIp9AjUan\noOaey5AiaxSKvZlv745IqD/wEFE6UMINFNOMMnJRXu9AFGO8H0llalE8sDPxdW62Q9bplSj2eDki\n44V+vQ5oRbcaP78jIuFD0OLjjYF3OP30Kr74YlJYOW0LQbJDAQF1HBdeeLlFIvt4rOsMj4e1MNW5\n5nn8K7GFfI0p43uMZ1KzDL43yUv2sHiTgVjtbZofH3ud4/u+8vHmWJTchDK0oQZLDaabSuLyPX64\na8IYeQalpq4qJ5uyyJbw08OUVW5icL7BKFPGdl8fJ+pj7Otxy5b2yCOPJPtR1CuwlhhfXehJ7XMM\nCPj/mDFjBt267UFl5TCUId0HiZTbI3fyI9/2DYrPpaHSrhbIemqA3Mw2SKT8BcrKfoAsrSdRGVkt\ncotXIwuyO3JVU4hyEyVcTDHbUkYUxe4aI7e0lR87C7nRHVB2dwiyQlcii7ACxfWaothhZ7/WTkj5\nNZ549ndfFHPcAa3r2xw4kvz8DL79dha5ubkb5+Zu4QjLSwbUSyxfvpxdd92Hyso1aMWzq1DDzypE\nBksQmc1EsbPBqOHoPj7C24iQdkUEOQURU3f/DXJvW6KKygWo+mMlqtQYRJTBlDCMYhpTxqdIcvK+\nj3swIsDRqEqki1+jEMUfF6K4YjUit918/J0RAXZAJW2piHwLkAvfC7nXk1Dy5Wi0AHkRM2fO3LCb\nGgAE4guow5gwYQLLl6ciUnkdEc4ilEBoguJrOYhAPkWxtMuQVVeNMqGHoGQHyKKagSSnsYWApiBi\naYSMgzMQmX5MlB0p4XWKKaKMfYlXeHZKGO9LlKmNIAtuW2Akque91ee5PYrb3YssxAt9DlN9jEf9\n2BQUkxxJauoPpKdnAg8SixlWVs6nRYsW63s7A+oYkh0KCKijGD9+vKWkNHI922GuvYu41q2ja+Ly\nTU05Y7Gz60yVGuWuudvLzznKVP1wkGkpx3xTP74UU3VGhZ9/n2mNjHG+Rsa+Hg+MmNazWGWqqGjo\nscaXTGVwTT12ONbHeddUXlZk6qzcJWGOc01av0v892qDb/waBQZHWV5eM7viimssEmlpBQWHWiTS\nzP7xj7uT/UjqFQgdmAPqI7766ivLyoqtgHaLwXtOWrG+dAc4UbyYQCpHeeLgIYMPnRz/7kR4ZEIS\n421PPuxmqsFtZar7bWBRsmwhBRblJE8+xErYCk0laA2cXM/2uRQ6gR2fMI/nTQmYERZPsFzpJNnN\nkxff+Hi/t3hPvxyDiF1yifoKfvLJJ/bcc8/Zp59+muSnUf9AIL6A+obZs2dbQUEzU9XFvqbqin6m\nyoo8twKzTa3hi0wNCWIrnJ1usKfF6227O/FkO8FkmjK/Zqr17W1q+f66RRns2dtCU9b1USek4Qmk\nVuKEuKepZjfPrbUmphXarrN4Xe42BteYuia3caLsbnCtk226k3eaE2pja9SorVVUVCT7EdR7ECo3\nAuoTli5dyogRt7J8+f4oW/sp0rUdhTKlBwNno7ja+UhA3Ax4E9W29gH+i+Jnff33Pih5sS3K6p6P\nkg/bof65g4lyFCWMppgUyrgUJSlGoITK34j3201DWeBalK3t79dfBtyFBMqVKM54DdLt1QLfAy+j\nipKpfv29kfbwGlRRcjTdunUnMzPW9yNgUyDIWQLqDKqrqzn22FN54YXnqK6uQgSTipZuqUZ96vDX\nsS7G45Bc5QDU/3YxIphGwEl+XFdERgNQlUQlMgYqUFZ2B6LsRgm3UMz9lHGq7+uGsq4ZqMLiVCRs\n/jPKDG+DJC3foWztTUio3BMoQoRci4g3HyVb3kRSmxnEm57Woox0BnAV22xzIrNnT94Yt3Srxtrk\nLL/WiDQgYJPCzHjmmWf4/PNpvP/+BMaM+QFZdv9GpPQVsrieR2SVgmQsNSijuzey/O4hLvu4HxHW\ny8SqLkQqI1CJ2lwkh0kDOhLlUUr4gGJGUcYyHzcHVYVk+Ez3RBbjmT7G24j0VqOKkdcRQT/i8xmN\nstAVyMI8DclxPvexYuP2RmRZAMwnPX0YffrsuqG3NeBXECy+gKTBzDjuuNN46aVPWLVqD+Ax5Aa+\niQS9eahWdgSSsBQhMroXCZhnEbe65iMr72200Hctkqo8gdzl+5A05DhkMfYDtifKLCe9SspohNzV\nSr9eCmow0A65q+ORVKUncqcPQo0HUpBMJaYpTPHPsQC55oOQO12ExMzL0Hog5agTdEek8buJFi0e\n5PPPJ4Za3I2AIGAOqJP48ssvefHFV1m16nVgMrJ8yhAp5flRhyHSmIGK9q9GFt9E1NFkABIgP+DH\nf+7jtEL1sJ8g17IQxdVAjk5vooymhFKKaUMZTZBFOQUR2PH+fjvUuOAVRKKtUEeYb1D1x1CkI/yM\neMywAyK825D1dzZyt6tRNcYX/pkykfW5J7I+P+AvfzknkN5WgmQmfgKSiAkTJlheXg+DCz0jO9uz\noG0MFnsG9Q7PmD5ukqocZvCBSaLSwDOvRZ6tbeHZ1NddYnKAwXem7sz/8XHmGsyyKAW+2Hemqe18\ne9P6uLHM7RyLy1QaG7zs21eZNIR/MklVck3Smls9Q5vv2ePdLd4n8GSDP5u6Kz+TcI29PJt7pEHU\nMjIa2cqVK5P9WLYYEOQsAXUFixYtsn32OdDS07MtP7+Zy0w6utzDTGLe3U16thYWX4+2wiRALk8g\njsOdZLIt3hggx0nrQpNGr9AkJG7p5+dblAyXrOxsksjc7PPY2+Iyl6edTHc0GOyE1t8kRxnshGYm\nMfMAkxi6kcWlLbG29TuZJDkP+vbb/bz3fMxtDM60zMxm9o9/3Jnsx7NFgSBnCagrOPzw43n//U5U\nVy9kxYrnUZD/BxRLA8XqatHf7N7I7axCLmgqcm9jWIiSEJ+gUraYy3g6cm+/Qi7o5yirW0iU1ZRQ\n4JKVUSg+eANq/zQRZWsPRsmIH1Bzgw+QXOVC1MBgGPHQUQ5yX8uQK1uNMrTbIpd2Jor13emf9Q4U\nPxwIpNG5cwH77DOPBx64lXPPPXv9b2xAvUOyvxgCNhPmzZvnltlqt3oudxdziFtqe7l1t7e7l3mm\nSo1e/rqTScB8r2nltFyDYQkW4McmEXGsUuKohH01FiXV3dtb3Zqb5uM2NLWPL/S57JBgSUbcUsw1\nLfxzjltpo0zVIUUG/3ULsMiv39u08lsn/0y3+2fq4BblUpPIOicsFLQJQXB1A5KN8vJya9u2iyku\n919Tf7x8gz+aysh2drLKsbh7e6FpbY39nUCeMcXKGrr7OtTHmGgw2uB3Jpc2zeQut/brmEW53kmv\ngZ9zphPT7X7tQifRpk50bX0OXzpRH+Nzb+nzbOhEd6rBJINzfdwWpuUl2xhMNZWxtTX12Es3raR2\nhEGunXXWn5L9WLZoEIgvINl49913LT9/Z9OSj81MCYVsU7nWOU4625qWXJxjio3t60S0m6lW10wl\nYX8yNSC43VQ2VuDW1DmmeGG+yWLMN8X02jrptXPSyjA40VTjuyDh+Iam5gK1Bv904ovF/GZZvOFo\ngV+3pZNh7KeLKZFS6aTYy8c83j/zxU7qO1rTpm2T/Ui2eBBifAHJRmZmJmblKA53MxL3FqA/wRlI\nY9cRSVkORMLeD/318UjjtwTF8rqjKoqXkdwF1G/vnyhOl+77/kWUSkpYQjHPUsaRSEc3AngJSWC6\nAKcgXV4Pn18KcI7/XujjT0RSliiKI05CzUS7+vvGSFf4BRJgF6DYXg3wrI9xB7m5PcjP/5ZXXnlu\ng+5nQP1Hsr8YAjYSVq5caUcccbxFIo2sadP29tRTT/+4b9asWaZ4WpbFs58F7ibGWrHv7xbfWN93\ngFuGrQwGuQub7m5kgUlaMsnU7SSxrXtPg0csShfP3mZbfLnIU911zTbF47J8zExT3G+ljzHd9+1m\ncqmLDB4z+MyPa+gWYb7JZR7jn6uRjxXrGpPm2zra4MFD7JVXXrEFCxYk8SltPSC4ugGbA0ceeZJl\nZx9l0s69bzk5ze29996ziooK22abLqY42ucGH7lb2yCBrFoYzEx4f7HF5CcistjaFO3dXcw3qDbJ\nW7YxuNtgmcklbug6vSyL8qTJBS4wdUV51CRLKTAlMfJMkpaI/2zjRFfg1+/mx/T0a7fxee9gUOzn\nnG5ylSMm2cr3Jv1hS992oKWmZlt1dXWyH9FWBQLxBWwOqI3UNz+SV2rqpfbHP/7RWrXa1tTwM+r7\nJjuZ5JkytOZWU2kC8R3vhNXYFDvby7cvs/gCP11NMcBYJjfNIGJRjrSF5FuU7qbkSU0CsRU4AX/p\n413tRNbQt9/r5JVv8KzBSH99ko9TZWpmmmOyCCMmi7GdE2ui5dnS4CBLTd3OLrtseLIfz1YHAvEF\nbA60bt3F1KVY//jZ2UOtZcv2Bvs44eSb5CJdDW4zrZrWwUkk5h5ebpKqdDJY4hbYeb6/0OAPbm11\nNzjQVO3xpskV3d2i7Oydk8e55ZVlqtbIMCVGIhZPlJjJdd3WCW2IKdsbS2ykOzk3sHhnZTMlaHo4\n0Wb53DKcPGOu8vd+rW7Wo8duVltbm+zHs9WBkNwI2By4664RRCJHk55+AVlZh5Cf/xHz53+HWkU9\niNo5lSJR8XLUSeUh1GjAUOH+zaj29kOUKFiBBMT7ouYDnwDfohXL7vNz+wEnEyWTEqZQTAll9EV/\n3rVoAZ881OElE61/u8qv+ThKlqQj4fOTwCWoPjfWQSUHeMaPr0HtsWKvDa3B0RYlOXqiFlW7AQVk\nZS3ghhv+GiuYD6gjCMQXsNFw8MEH8847r7H77hOprR3P998XIuJ5HRXzX4UaguahRqFrgENRr7or\n/Xchqm7YHbWUSkVF/8eg1c9uRORlaBEeIcqHlPAfr8goA15FPfoKgBMQQXYHSlDjgJaouuMh4B8+\n3st+/Vy0WttuqCpjMqos2Q5VcryPMtEvoA4rfVFGeAUi5ft9Vit59NF/cuCBB27IbQ3YBKgLX0Nu\nlQZsCZg+fTo9e0ZZvfo8ZD3NRiuKtfQjmiPpyAv+vhTJP9b4vgZoqcjmiIzOROR5D1pjNgu1gqpG\nlthpRHmHEt6nmEaUkYusyTTUC280Kn1bgOQyK4AJqG1UJrJGMxBBGuqGfDgivOY+xvWobO4tRNS5\nqFXVTYicZyKLdBGStVwLjKdhw9f4+uvPyM/P36B7GrB+CG2pAjY5ysvLueKKqzj11D9QW9sGWVzF\n6O/uQNTW6UZgKdK/xRAjo0y0CPcVSBv3FdLtXetjfYP0cOeg5p+ZQAOijKSEDynmWMp4BllwOyCi\na+rjnevvY1iFXNuZiHDn+9wmoOUge6K+ewWosehcRKSvIbK9ES0r2d3Hew+RZjpy0U8E7qOqqhuv\nvvrqet3PgC0fyY6BBmwAampqbPjw6ywrq6mlpLQ2lWTlWryqocy02E4zf59nytSWmTLAg01Z2kEJ\nyYOVnlhoarDCt00xae86eOKg1qIcYwtJs+hPanLvMLWuOswkQXnaJIMpMOhjytoWeVLidH/d2lTJ\nsdTUNaWpqZXUrp6gyPbj8z1g3s6TG11NnVlyTDXEaSZtoeaSl3e4PfHEE8l+RFst2MCs7iDkq3yJ\n2lL8HEWoT/gk1OnxpIR9s4kHSCYE4tvycNVV11tW1o4Gd5lWFyu0uM6uqcXXtu1qKksrdCJpZHEB\n8ABTP74Yea1wEumfsM382ItNtbdjbSGFLk7OdaI7wYkKJ87vE87d1+Li6UYGX/v20T6fBn5uW4Pn\nTM0RskzSlUrf1tC3dfMxsvynlX/GDv45Si019WZr2LClLVy4MNmPaKvFhhBfGoritkOBkEmoxicR\nw1FfnxgJLiG+lscs1A98bUj2/QnYALRuvb1J1Lub/27npFLmRNXPJEnZ29SzLt2JqrETZKGTSFNT\nbeueTiDt/Lj/OkHdY7G63Sh/TajIyLP40oy5/ntPk7xkeQLxDXSC62yyPpub1sVtZpLHHOZj/clU\nMdLB1GuvyGChaU3cWJPRDIvLXDJMEhgzWGNwoqWnN7FBg4baF198kezHs1VjQ4hvD2TNxXCx/yTi\nDNRsDJR++yJh3ywU7Q3Et4WhsrLSHn/8cUtPLzJZemay7gZZvNnm7xOssUdMHVMKTNo7M7jCieQW\nJ5HzTR1YepmExzeYNHIxq66VRSn0hgMx4fODTkKnmFzn551MWzvZ/tvkajcw6QFj8+zv5Lq3xUXN\nGU6ityaQ5oGmZqQFPg/8c/S3eAldC4NLDO6xtLRWds899yX78QTYhhHfUOK5edBKLf/42TGpKDU3\nH0WpD0jYNxO5uR+hzo6B+LYAfP7559aqVTsniwamSoyYZfUHkyt4pFtoRabOJmZqH7+//dR9TXXC\nGZCwbbHJhVxjqvjQQuBR3rKFRCxKr5+NkWswL+H90SbXO9vneKyp+uM/Ccfc7YSZ70SbbYrbpVu8\n7X3MUoz4vGME2MDUij7Tj//CZCnuYoMGDU724wlwrI34fi2ruy6MeSlygVsCOyHrL5a/3xOlyA5A\n6bi912G8gDqMqVOn0rNnH+bNa4r0awOBh9GfyhiUBf0Dyn6uQvq5Xqi7yvZo2cdYhrUUaeqKiS8u\nBIqUGNL2ZQJVRFlCCf0opoYy5iHJCiisXIX0dCDpy2yU0U33fYOBXZBY2VAmtwS4ANgROSk1SFhd\n4J/pOSRkfgf9Ob+NvsdjcprhSKicDvyT9PQqCgvnc889//yNdzQgGfi1dXXnIcVmDG1Qbj8RfYDr\n/PVXyL3tjKy8b337IuBFYFf0l/QTDB8+/MfXffv2pW/fvusy94Ak4PLLb2DNmsuAd4FjkSD5ILSY\n90rU8mkw+j6cjKIf05AYeDAioo6ohXusbdPtwM7oz2gXtJJaKmoztT9RUinhZYppRxntkVylJ2rv\n/j7S0vVHQuUPELGNRILjIpSTW4PI8WmkzeuDlow8ELWa/waR2hDfP9I/TzZqR5WB/pyrUZ7uDLRw\neTpFRc9zzjmnceqpE2jduvVGuMsB64PS0lJKS0s3yljpiMzaoa/eX0pu3Ia+mkELE8xFCY0Iccsv\nFy1Kuv8vXCPZFnHAb8AeewwyGG5KAPQ3NQ2oMnU/bmiSi4w3SUES3dF2vj/DXceDTV2Uc021tjN9\njKYWzwyfZFHGee3t1aaESHOT5GS8KSlxgo//J3dXtzfYztS4YIK72m+4O3qhn5Of4H4/YaoLjs3z\nLVNm90w/t6nFmxv8zd3jVu6i9zZIs+zswXbHHXck+9EE/AysxWP9NYuvGqk/X0cZ3gfRyi1n+P57\nkaz9YVREmQpchL4KOxCX56ejr9A3fuV6AXUE1dXVPPDAA0yZMp2ePbtx8skn89VXXzF58n+Ru1qA\nvtdaoTKv5khYfCkqTfsCGf290HfeAvTnlIHEzFHgb6j64RDkTCxBVROfAhOIUkIJz1HMKF/39mHk\nPr+J3Oxv0J/ahehPs8qvtztyME72445A1t526M84EwmbG/l5XdD/SApaNKglclrGouhMR9SQtINf\n421Um3sTkMmaNXvw9dfzNvSWB2xGhJK1gP8HM2Pw4CMpLV1CefmBRCL/YvDgTsyZM58PPshA5LUv\nIoM5qMY1VtP6d0Q685CLm4fIqhzYC7nI5ShG9hbqpHwFIk4QkXUjypmU8HuKyaSMm1BMrgPQHgkL\nUpGbHVvUeyRqFnCiX38yIsFUVBe8yudiflxX9B3+Kfo32B7FJT9GpHcsWkD8O+TiDvNrTSMlZSlm\nGcjVvo/c3BN44okbOOywWDfogLqAtZWs1QUk2SAO+DmmTJlikUhbz6pqEe3s7CZWUNDStFBOJ5NE\nZbi7hc1NWrwGpv52sYW3dzDJQQpNTTyL3LWNyVzmmhbxucLPqTVoZlEeSGgtdYu7l6eZOief5W72\n2yYNXqrFhcSxKo8K39fH1NfvS3eBnzFVckRMEpQ+ppXZ9nQ3OdOUlT7Ar5lhksPUmGQvzSwlpYFN\nmjTJevWKWlpatqWnZ9tf/3pNsh9ZwC+A0I8v4Lfggw8+sIKCnglxr1rLzGxuKSkNncx2t/iC2l94\nPC7WZj3DiS7ffxcaXOVEd7ZJ5xfTzR1isIdJ7KxrRWnnTUTH+baTnJQucBJrbjDf4hq+RqZ4YduE\nOZlJqHyPv/7AFB+MyVRO8OOr/f0En8/1Cec/6PM82BTL28NgqjVs2ObH+7R8+XKrrKxM4pMKWBsI\n/fgCfgt22GEH8vJWkJZ2IzCN1NRhVFYuxexV1M2kDXEPog2K3Z2DcmCxlk+7oKzsgSiW9yxSOr2G\nssAXI1d5NWoBVU2Uf1PCNxRTSRmPodjf+yikfD+KLV6C2kmB3On+yGUu9DGnoUKiuUh20hzF+a4m\nrqX/BrnNaf7+K/8dGzf2Og1JdFKBUWRmXs/++w/48Yj8/HwyMjIIqH/4teRGwFaISCTC+PFjOOmk\nc5k27QE6dGjP5MktWLVqKYqVjUZxtJ4oPpeNYmYdEFF9jRIbOaiPXiE/7cjSGenwjkS99z4kSkNK\nWEkx2ZRxGdLMvQechRIQaxDJXYWSIKuQNvAplHsrAB71n1okkynyOfVDDU5X+LwmIKHBCUhW8wDS\n11/px2ejnF5TRJKfAU2pqcmmT58RG3x/AwIguLp1CgsWLLDjjjvNevXqb+ee+xdbtmyZPfTQQ5aT\nk+8xsBYWXzg7Vhub6W5oG3cJG5oK+2NuYzNTF5aFpoWGGptihDub1r09wBaSalHa2k/bwr/mrmw7\nd6Pbe+wtx88dYVrntshd1ViMb6XF19XNNMlkevt5sTjj4ybJS7q7tC382E4WX+OjoX+mE0zxxc8s\nEmltpaWlyX5MAesAQowvYF1QXl5u7dt3s4yMPxu8bGlpvSw7u8iys/tYSsrvnDAeNnjF1HjgHNOK\nZO2cKCJONtubStbeNGnnmpi0dbFlHq8wJT3yLEqa194WOqndlEB8rzgRxZoYNPPrzLJ4jW1Lgw/t\n/y8x2cngRr/unU5qDZz8cp3UYmMmJk1i51dbvBnB/B+3p6ZeasOHX5XsRxWwDmADdHwBWxE++OAD\nFi/OparqBmAgNTXV1NQ0Rdq2C1F87SQ/ugGqROwITEfauJNQ1+XpqHT7deR27u+vByEXeTWwiijN\nKAGKuYUyuqNOzDeiOGEBkpCU+/HHoHjhzajNeypQiaoie/gxtwO/Q/HERUhzF1vvIw252FWopO5V\n5LJnEpe5dPf5pqL4YQyTUMzPyM6eRLNmB6/fDQ6oMwjEF/AjUlJSqK1djQTAU1GMbFukQ38R9aiI\noQIRRl9EHi8jofIIFPerQaXb7RDJVCIyPB14nCi1lFBLMe0p4wIfsyvS3r3nx++ISLcdEi+D6mib\nIHHxyUgT/yVqInQwcBkiuNZIU9gWaf+aofhee+BopLfPQ8TayK+xDJHrrkjDl4GI9Hhgf3Jzv6Vj\nxwpOOumk33hnA+oaQlY34EfssssurFkzF1loS5H1NgFlRy8G7kIW2cMoMdAGNSWYiQjqIFRvW4RI\n4xOUVX0KWVyTgSlEeZ4SCiimN2UsQ6uf3YxI6UFUI1sOTESVIZ18hoaqJmqQRXgdqrrYHVlreciq\nXA78gIh0FkqujEK1uGch6/MBv8ZryFqc6p95T5Slbgf0Bl4iNbUFvXt/zf33n86ECePIzs7eoPsc\nEAAhxpcUVFdX26RJk2zixIlWWVlptbW11q/fYA/211hcULyNwbW+bbJJ7JvvcbJDTC2dcj0e1siP\nP9/P/d7UyulK39/GolyeIE4e47G2HUz995p7rK7IY24l/rqtwWUG+5kSHEM8bniCqQXVTqZ+f3M9\nJtfN4uLrEtO6uTFtX55fs7nH+Bp5bLKLZWUVWkpKlt+Dw011yHda+/Y72po1a5L9yAJ+IwjJjYBE\nrFy50nr37mu5uR0tL6+zde3a2yZMmGBpaU2cGKY5cfTwpECaJxG+doIpMFVAxMjxEItXQhQYzEhI\nElzv5LWXReluC8lOECdf7sRT7u+/9etnGjxpWjS8m6mBaMRJdbUfO8niCYs8T1JkmRonnJdw/R/8\n3MudoJubFhEf4p8r1v6+jWVlNbaddoqaKjxi5//Dhg49MdmPLGA9QCC+gET85S+XWnb270yZy1rL\nzJ25g3MAACAASURBVDzTDj30SCevB5zkOjtJzDCVgMWqHRo60SSS27VOSs+bWrbfafFOx3sa5FiU\nI1yy0sYg6j95pnb0idnY5k5EPUydnPtaXJZyRMJxtb7tFLfQ8p34ik0SlPl+TKz7coGPl2/q1pJr\nKk+bb6rSaGyZmQX2yCOPWE5OS4NHDe61SKSJvfvuu8l+ZAHrAQLxBSRiv/2OSLDYzOAN6969jxPR\nCQZHmaQnVyYcM9vJYoiTx7FOiLNNbZoyTaVsRzo59nYCKrQov0tYIyPd4nq5mCavxORW3uTbdjK5\nwcPdWvuDSf7SxFRbW2tws79vZ+rSfJHFa3BjdbcNTRbllX7shT735vZTl94Metnuu0fNzOyVV16x\ngQOH2kEHHWVvv/12ch9WwHqDQHwBiRg27ArLzh7qFlmNZWWdYl269DKJgCOmpRVzTHW1sfrXF0wu\n6w6mmtu2prhdlml9iwb+s7upTXuWQWeLcrYtJNOiDHRSmmHqedfHiXHXBIuui0m0fKgTVr6TVkdT\na/pn/BpZFnfJd7D4amyH+P4xPrfY6mn5FrcKI6ba4HSDRX7eGsvIaGvjx49P9qMJ2IggEF9AIsrL\ny22vvfa3SKSNRSLbWI8ee1jv3nuZqh2ecDJ42+LrUQxxwujshJRjSjJs7wRYauqeMiSBKB+0KM08\nppdtirX1NFmErZwcm5oE0W+arMm9nLQ6mxbvGW6y/rJ9LkeZmoF2sXgXmCE+hjlRD/XXDU2NDUb7\n3F/xa4wwKLDU1AYma/FSy8nZww46qNhqa2uT/WgCNiIITQoCEpGdnc2AAXtTU7OG8vK5TJs2hVmz\nvkYyjh+AAUgP1xtJUCqAv6BmopXoz+aPSCZyE2oqmoOkIGpeECWFEhZSTC1l5CBR8x9Q0f9kJCl5\n28fpiSQltUgSMw81JWiJamUH+9y+Af6KxMSnIO3gG77vr0indxtwKxIq34makO6CmqamAb8HmtGv\n315kZi4nM/NxzD7l8svPj/VvCwjYLEj2F8NWhxEjbrWUlEYWb/WUY4q5HeLu7rMGr7vVdKH9tHY2\nz9RDb7pbf/8w1cb+3ZTYmGtRXraFpFuUdIu3kS9wF7aP/TSZ0drnsa0psdLY37/l5wzx4/7l1t+r\nJpc7tmh5W4uv5tbI4mvsNrN4tvdy/yx7GqywlJSGlpOzrcVre5+1tm27JPuxBGxkEFzdgES0bNnZ\nFONqYtLL9Uwgp9sSSOkwJ8ZnDZYYvO/HHWVKbvzBySe2DkW2RUn12tsdDc514rvJr5PhpPShj/+M\nu6FtLb4GxgumBgSxdTrG+us5pqTEbU6giZKaCpNL/rxpTdx8g4MSCDHH53i+wXa20057WGbmuQmf\ns9zS0jKS/VgCNjIIrm5AIuTSZaL26vPRCmczkMv6Mqp+OBlVbXyOqim6oXrZbVBp2seotCsd9cOb\nS5SbvAxtJ8r4GC3BPAr127sLlaCtQC3j8/waucD5qFICVF2RjtzsOX7MWLQiWgS4BdUNr0Et5fHP\n0hv14BuHqkamoRK0VGAP5K7/k7/97WxuueUa0tNfRf0AISXlETp16rFB9zQg4Lci2V8MWxWmT59u\nBQUt3AXMNSUOyk1Jif6mBMErbkH93l9fZ0pKFJgyqo3dre3kx1nCamgxfVzMmlrkVl6Nu7N/NOjq\nVtjupsRILKnyL59XoV+z3JScyHHLsLWpxVRjt+TyDb4ytZZv7OPnu6V3tr/OMMi1jIyoDRly3I/3\n4bLLrrLMzALLy+tozZt3sM8//zyJTyVgU4Dg6gbE0LXrrpaS8ncnpYUmsfJdBt+Z4mAVvu9od3U7\nmzRyO7u7eJapMqLIj49YlJFOeo86STUwLf+42MfZ1dTCPdayqr+TbtSvNcYJt9AkQM61n7aR38fk\nmkd8351OeH/29+kJ121oanXfwhTzK7Tc3CZ2wgln2KpVq35yLxYuXGjTpk2zioqKJD2NgE0JAvEF\nmJlVVlZaSkqGxYP65pYRpnhfrsVrXK93azCmdbvFyeRGU3KjjUEDi7Kvi5O3czJ82NTkM1YK1t3J\n6DSDT0zJjTwfp70p8fCqQT9TPHGVW2lfW0xjp2vlmCos9k2Ye62TXaEp5viKk+NQi4mkO3Xa0aqr\nq5N96wOSAEKMb+tFbW0tc+bMYfHixdx0022oj96/0JKJy1FXledRC6cUJB35F+pWkoc6rRhwrR87\nDLVs2pYoKynhY4q5jjIqkJzkJNS+Kh84FC0p2RnFBEegmF0KkrXci6Qrf0Xt6h/wa6ejuOPpqLUV\naE3czmi5x2rfthR1apmMWlkVo2UvL0Kxwv589dUsPvzww41wJwO2JIR+fFswFixYQL9+BzNr1jfU\n1JTTtGkrzPZHa9lmIQLpishkP7QYz+coEbEC6equR+tRrCK+GE+K6/SMYrajjFP9nFNQi6oKlHx4\nHbV+Ohbp514CzkMLE2WjNTf+5NuXowTHCkRyV6DkygK/9hL0Pd0B9eQbgNpjnY7aY+2DtHulqKfe\n48ChmH3C+PHj6dOnz8a5qQEBGwnJtoi3WAwceIRlZPzFXcKllpYWa8v0kUl7t527niebkgNZ7pY2\nMUlRdrd4OVpTk87vM4tyhUtWDjElODLctdzB1ADgLnc5s00SlMQ2V92M/2vvvMOjrLI//skkM0km\njUBogojSBEQBMSiKEwsIiIolriKLiqiL5ecWVldXXJS197IuKK4FUTQI61pAXSFZYClSFlBAOkjR\nIEVq6pzfH+cOGZQSUifkfJ4nz7zzvu995847k+/ce8655/Bf9/zvzg7XUHRZ2gi3HTouYddq667X\nIOz1+rlrbnCv09ZNiZeFtc+QsWPHVvdHYVQD2FS3drJgwQIKC29Gp5YpFBefBXRAVzK8iibvnI6G\nq7yGjgLz0bKOL6KhJqOBLPQ7tJ0A3cnir2TiJ4cv0XCY7ujUdgI6chyCjv6K3PUKXI+C6AjQ5543\npOS7uRUtR+kBloe9iyXunNPQRKU/uev4KMmo3BbNBP0TOjX/PzSs5WHgK+Lj48t4B41jFRO+Y5C3\n3nqbbt16k5dXhC7bAigiNvZbvN5VqMjkorUqQsu02qD2sli0fu0KtJ7GJ2hd3OcI8BBZRJHJEHJo\ngtrYtqJCFJrehshDBasQnZa+Blzu2uxEYwF/i4riDlQQi9CMy0PQKexVrl1jVMi2umsnur42QdPa\nL0IFMs+d0xotFbkYGMiiRYvLeiuNYxSz8R1jjB79D+666xH27n0SFZQ7SUj4D8HgHvz+QvLyhMLC\nNuhIaR1a4KcZKkpdUdvaLHTd7Uh05OYjQDeyuItMsshhJSqMMe7vVjQA+mJghNt+Fw12vh4tAvQP\n1PbWB3VCeFChGofaHFujgtsdTWc/GrXTNUEdMYLWxmiApqI/3Z3X0R27EJ9vLUlJ9dm6tQc6Yg3i\n9/eiSZPOFXiHDaNiqG5TwDFFu3ZnicbFhWxcT8i55/aUuLhkFxZyosBggZFSUhfXKxoLtzusXS8J\nhbgE6OiSiD4uMFE0bCWUBSUocL3AUBdW0kQ0jKWJaKJTEV2OForN2+3Ou0M0RdVzztbYWnSd7Z6w\nPtwimk3F52yTo0TDXkIxfotcX6IF8iQq6j4ZMODXkpCQJomJ10hiYlfp2vV8i9OrpWDlJWsbxWHb\nBaxZs5q8PA86te0HjEWXkTVAq4gVodPHk4CTUfvfXqCQAOeQxTQyuYQcRqJT0yfQ4kBnoVPLKHTZ\n2kvo1PZctBhQtOtDY3R0dz8axnI2Olp7GS1GFOXOj0dLOXZDp89L0XAYUI9vITr9Dk3PW6Kj2lOB\nWKKjf6JVq1Z8/fVDTJs2jTp16tCrVy+8Xm/Zb6VxTGLCd4ywZ88efvWrG1myZA4aR/c0sIPo6MfZ\nsKE5OjVsjzosdqBhLFHoulY/WiM3Da1Dmw4UESCfLL4gk6vJYSkqOjPRKmivonV2NwCpaOhKMbqe\ndxi6dvZ997rD3Gs8664xAHWqJKFpsPLd4xWoY+UENIwlDi1rGeOO73DPr0LF7m533cvxeO4lMXEC\ngwbNoWnTpjRv3rzC7q1x7FGaBGS9UOt2NGp4efxnx9PQiNZG6Df0KfTnvDRtQae6R9tvA5g2bRoT\nJkygefPmzJ+/lPff305e3hvAu0RH30+bNk1ZunQJIkmUeFe7oEI1CZ0JZKGOhEao8PwbWEqAAWQx\nhky6kkMh8B7qhY1C8/AVot7USWiM3hfuejejOfH+i8brrUQ//r+g8Xp5aNnJVsAf0ODpr1C739Po\naLA+cD5qY8xF7YGt0Xx8P6BB2ODxxDJo0CXs3SvUqZPIH/94lwmesR+XX7FMSRaj0W9uc3Ro8D/0\n2x7OcOBRt52Gzn1iStkWzMZXJu67b5iLb7tUIF08nroC88PsYy9KvXrNnL2tueh62WSBr0RTN4XK\nK37lYt+2S2iJWIBUySVJAvSWkvoV9dx57Z29LU7gedGUVSe7cz53r/emaHr300SXud0lofRPat/r\nKDDe7SsWLVQU7+yOXaQk7m+Lsz2uFs3GXE9K0lSJwFvSt++11f1RGBEK5YjjS3fitRb9iR+HrkMK\nZzNqoME9bkWNRqVpa5SBLVu28OijL6LLzD4EZhEMJqErHQAEn28uW7duQkdKy4DZ6AjqZtTWNh39\nWGaiH5uOogLMJIudZHIuOexCp77r0QzJ09GlbHPQ37b7UO9taBlaJ3TK+w5qO1yCjjJDv4tx7m89\nalPEtauH2h7vQu18oa9lKvr7ORP9SgXR0BUlJuZrjjsurWw30ajVHMnG1wSdX4TYgMY8hPMqatne\nhBptrj6KtkYZ2LBhAyoOZ7g9UUAmUVF/QORj4EeKir5BheJ8NDYPSpakRaHhLOejIlgM/IUA7cli\nMJl4yWEharVIAFYBTdH1s6AD9xaofW2ye5070FCV21Ab3WJ0SpyHLnvrh4anNHZ9GOuu/bE75yJK\n8vyNRHMDPo9OFm5xffYRF/dXYCEezz4SEmbxwAP/Lff9NGofRxrxlcb4dh86jT0ODar6GyqARiXR\nokULoqND62jz0N+cLEQ8aHJOP8FgNCp076B2sveAa9GYuxQ0ePgyVPR8BHiLLK4lE4+z6aUBX6Jf\ngWbuNea7HixF4/gS0BHZDPS3Lx+12+W55zvR38G30XjAbcCDqDf5P6hdb63r4wuo06QIdYL0Qutp\npKA2v3ggn9mzp/LMM1159tkLWLJkHk2aNKmgu2rUJo404tuIrgAPcTw6cgunG7o2CHRosAZdBrCh\nFG0BGD58+P7tjIwMMjIyjtCt2k1ycjITJ47hsssGEAwmoqMhDzqaWo4u5/oEDU7ehQpXDOqAOAv9\nreqCDtZjCDCCLIaTyRRyGIV6Y1eiH+dSdMQYKibUBBXBKHTJGOgorznqzJiIfm36uzbvo0LXFBXi\n69Apdiw6UvwAna43RafFBa69H/U8D0VHfnvw+2NZt24dQ4YMqahbaRxDZGdnk52dXSHXikG//c3R\n/6aDOSieQV12oG6/DWiIfWnagjk3ysQ333wjfn890aSgTznnwoXO6L/LBRC/7gKGn3fHt7rjRaKl\nHOtJgFjJpa4EmOqO/dY5L3oKdHVOkAudk+IB0dx5dUWzKH8tsFg0596rokkNQs6UiVISJJ0kmgDB\n6xwUqQI3iSYrHerO8bjHPq79OWFOjL0CcZKYmC6TJk2q7ltv1BAoZyLS3mhtwJVo4BbofOlWt52G\nFlZYiBp2+h+hrQnfUTB37lxp2zZdkpMbSkZGX9m0aZOIiNx66/9JVNSDThi+Ec2UnCya4WSaE6aQ\ncDwiugpjoMAPokk7m0uA30guXgnQWbRq2qdO9Do6z2pQNKmoR2By2PVaiRYFCj0fL5ogNFU0o/PM\nsGP3O/H0OY9uO9eX4rBzThbNynKNlBQcCq/GtlPAKy1bnib79u2r5k/EqCkcTvhKE8A8yf2FMyps\n+0fgkqNoa5SS3Nxczj//YnbufBrIYPr0l+jRox+LF88iL6/AxectRzOT3IXG4v0JTezpBwailod5\nqPPgQ9S57iXAiWQxmkwak0Muukb2ODSzyXx04P42OvWMBra4Xu1AbXWrwnq6ipLCP3s5cOVIELXX\n/ctthzK1FKAe3mJKcv/tcY890ODkIWhi0Wdp3bo9c+ZkExcXV6Z7aRiRRnX/MEQsH374oSQn9w4b\n+QQlNjZVfvjhB8nJyRG/v6HA5QJ/CjtnipuWpoiWYnzJjeJ8bn9PCXCFq5ExVbT4Txs3zXxLtOhP\nnJvO3iZakjFU66KNG7U1Fo27G+L+kkRraiQK9HWjvrGi8YJpomtsG7vzWokWLuopmkq+jxsRviCa\nz+9q0fofF4jf30DOPfdiefTRJy19vHHUYDU3aiZTp06VxMRTBAqdqH0vXq9fdu/eLSIin3zyidSv\n31zgIYECJzr1nei9GCaGb7tpaJIEOENySQ6z6U1wYpbqHk90ojcsrP1od80kgT+7fZmiyQHiXNtm\nosHGyVJS+OdU0eDlZIEzBJa7a9zhBLONex6qAbLDCXSynHpquuzcuVOWLVsmS5YsMeEzjhosEWnN\npFu3bnTpcgJ+f0/gARISAtx99z0kJCQA0KdPH15//SV0JWAbNO16AupxDU++6QcgQJAsFpFJG3I4\nEw1Kfh5d+7oVDS9pgk4/TwxrfwLqo8pB0z2BTn9j0EDkBNTU29L14TN0GpuKxuVFod7eVuh64ffQ\nwOcT0aDnUDBzomv3KCtXRtGmTWc6d76QM87owxlnZPDTTz+V7UYaRgRS3T8MEcf3338v6enni8cT\nLYmJaTJ48M0ybNgD8q9//esX5+7evVtiYuLcNPNNN3Ia40Zh4wX+JdDYeW+RwP708rFu+lpPSkpK\nbnWjvtNFvcJfiTpO2osuK/vejcg+FV3utsG1e8lNV78MGyWOErjBbfcX9fAudlPfWNEUWRPcSPEJ\ngXnu/AxRp8qPol7gPIFi8fkGyU033VENn4ZRU8GmujWLs87qITExQ930dYHExzeUefPmHfL8F198\nWdTz+vNatCmiJSAbSy71JEAPUftbnBO9kU6Axrq2U12beaLhJinuL1QAvLNrF+/aXSpa3yLfTWfH\nhL3+/aJ5+kSgt2uTIPCuQHvxeOLE7z9B4uOvEI+nnvj9jSU6urWUrBne5YQvNM3/XDp3Pq8KPwWj\npsNhhK9MmQsqGNdHA0BE8HpjKS7+idB0NTb2Np544mSuu+46Fi5cSFpaGh06dAhlnwDA602hqGgc\nGkG0A51G5hPARxa7ySSFHI4D/owGJb+Aelbro475AnSJ2QWoR/c8NPTyQ/RrkoWuvqiP1u24F83A\n8hSan+9mdJp6J7oC4zU0JVUH4BX3GFoR8h9GjXqRk09uw/Lly2nfvj0tW7bk5JM7sWPHnQSDXYiJ\neYxgcD3B4BLAg893O/37w+uvv1zRt9w4RilPdpaqoJp/FyKPunWbiAb3arBxYuI5MmLECElObigp\nKd3F728qAwfeKsFgcH+b7Oxs8XgSRGPw6gjES4CTnCPjN27fUFHnx7fuvERRB4VX4EE36itwU85Y\nty80glvtRmxxYVNjEc2I7BOdPr8t6mF+QEoCkxNFPbqZArMFHhG/P022bdv2i/e9YsUK6dPnajnt\ntHPlt7+9Wzp37i4JCS0lMbGttGt3xkHbGMahwKa6NYuJEydKfHx9iY8fLImJZ8nZZ/eU448/WSBr\n/zQwIaGDfPTRRwe0u//+YRIT00vgYwkQL7mkOu/tLIGAm3pq8LJ6bv2itrvzBC4Omyq/Lmr7ayqa\nNj5fYICoBzZ8BUhQdLVGeyeIpwhMF7XdpTrR+8K1C01ZRZKTexzUXvlzioqKZMGCBTJ37lwpKCio\nrNttHKNgqedrFv369eOrr1oxbdo00tIuol+/fsTF+dFiPgCJFBYGWLlyJQDbtm3jhhtuZ8aM6cAu\nAmwji31k8jI5LEGTGfRAPa4/olPPk9Cg571ohpRWaAnHQjToOZSpuQUlqaL2odlSzkGTHMxAg463\noYkJNgB90cQCf0SLFq1CEw/scfsFkZ/w+UIlJg9NdHQ0HTt2LMstNIyIp7p/GGoEbdqcLlFRf5NQ\nPF9CwkkyZcoUERFp3z7dOSNWSoDzJJcoCVDfjezi3TRVBP4iJUlBgwIr3HT0NVEnRqJogZ9h7nlH\nNzIcJfCw24535yWLOkpCa3HjRWMHjxON0WsqcJr4fHXE40kUr/d0gVESG9tf2rU7Q/Ly8qr5jhrH\nOthUt+azbNkyady4hSQmniQ+X7Lcf/9DIiLy9ddfOxtdkQSY4ETvHdEQk1gnUgVO7J5yU93hbn/o\neCis5f/CbHeh6epnYfvuc+fGiCYwSHGvI05EG4sGLf9TYJZERSXJ/PnzZceOHfLyyyPlV78aJPff\nP1x27dpVzXfTqA1gwndskJ+fL99++61s2bJl/77Ro0cLeCXAB5JLHQnQ3AlRdylxOqSJJg54xdni\nWgh8J7pS4kLRcJN6okvMQiI3x43wpoXte1Q0Ji9NNFwmWg4MoRngXnOxwHrx+epU490yajuYje/Y\nwOfz0bp16wP2paamcr4ngXHBTDIZQA4T0VpPC9FVE+2A8Wi25Ri0fOQdaP470JIpfwD+ioa6nI6G\nnAwBzgR+g2Ye+9E9foSutngCzTc7DS0nuQdNLhqy3Q0kEOhOUVERmzZtom7duiQmhlZoGEb1YkvW\najh9ExN5n51kEk0O76OxdLegaeLbubOuQpeY7UHj9P4XdoUFaKLQnu74FWiy0jw0hu92VBRvQ9PF\nd0UzjeWjItcHzezSwrUpBrrSrt0ennjiIY4/vg1t255FvXqNeemlkZV0Fwzj6IiE4D43KjVKw8yZ\nM5k1axZNmzblirp1Kb7ySnrtLGKqpKJrXTdRku7pWzTr8XxUzEDTyd+ICtVuVAT/jmZjnuv2r0aF\n8gm0rscD6MjuRnTkNwtd43sLrVolsXbtXgoL30SDnsfQqNEINm9ewQkntGP9+j+ggc9r8PvPYdq0\nj+jcOVS7wzAqj8MFMJvwRTibN29m8+bN5Ofn8+tf38qqVRuBK8ng30yI2cDwdqfwwqJ6aKp5LxpO\n4kHFrhAtg/IVujKjETqq64KGtrRD60FFoaEmZwBvoqswpqEhLWvR0V0ymkD7cjR9/Ao8nt488MBd\nPPzwdgoLn3M93k1MTH127dpOQkIywWA+oa9ZQsL1vPBCgEGDBlXa/TKMEIcTPpvqRjCPP/4MJ57Y\njkCgP926XcCqVSuAOQToz/vs4vKiNCZs2wlciU47o4DrganolDUaFbB8VBS3UFIrYyxaJnIVKnDJ\naH7ZKDRp6Y/AOmAAGj/4EzrS8wLT8HoHMHz4ULp27YrPNxmN5YOoqLG0bHkKsbGxJCfXQ+1+oMlG\nZ3HiieFZXwyj9lK9rp8IZcGCBeL3H+e8r8NdfJ1fAkwJSyKaLiX1KrqI5ru7S3R5WmvRlR63uxi7\n99zxq935e8O8sYNFExHkuf0B0ews94adc7M0bNhMOnToJt269ZZRo0bvXzL3+9/fK7GxqZKU1FYa\nNGguS5YsERGRzz//XBIS0iQlpaf4/c1k8OA7D1hmZxiVCRbOUvN45513JCkp04lOQOA2CdBacvFL\ngEmiWU78oimi8l2MXrJo/YpUgZUC/3ZxeleGCdg+t+8p93yjaIqp7q59osBJbvvtsHbPyk033X7I\n/m7YsEEWLVr0i5oYGzdulE8++UTmz59f2bfMMA4Ay85S85g/fz7du1/K3r1zgfMJsJEsCl2NjHVo\naMrp6LKxEClowtCV6HT2XDQsZQbwb/TjXgOcglb73IVOaaMpKQBeAKS7x1OBf7hzevPxx69x8cUX\nYxg1AXNu1FBGjHicRx55krPyg7wnBWRyNjn4UXvbd6hXdjW6lnY9GqMXjwpaQ1TQlqIC2BwNcXkR\nXUd7J1q/tq+73j7UtjcP+AH10DZBixNFU79+LLm5a6vgXRtGxWDOjRrKsGH3sO7Nl/kkoZDrvB5y\naI2mkV+NOg1S0VHfEDRxwD3oR1oPdWh8j1Zhy0ZT0z8CbEdz48WgYrkOjdX7GA16vhJ4mtjYHOLj\nNxMTcx3x8UWMHftqFb1rw6h8bMQXyWRnQ2YmZGWxMDWVM888h7y8M9CaFfWBkcD9wO+BALqq4htg\nMPAyWgPjDXRquxqNx0tFA5yTgJ3AY2iWls3oiPBzfL7nGDgwnk6d2rF792569+5Nhw4dqupdG0aF\nYFPdGsSsWbOYNGkyp/y4hSvfew/P+PGQkQHA559/Tu/eVxEMvoVOXf+A2t+WolPck9HVFl8Cb6F2\nujloWqi+wPvoKoznKKlh6yM2tj0FBcvxelPx+VJo1iyW//73C1JSUqrujRtGBWPCV0MYP/4DBg68\nna77evA+WdzRoAGvLF98gAANHTqUZ555H5FktI77g+hKDT8wDBXAh1EHRRowGrXfZVASrByFBiMv\npm3bZjz66AO0atWKrVu3EhUVRXp6eqny5RlGJGOp52sIxx3XWgI8tz9OLy7uV/Lcc88dcM6cOXPE\n72/i4vtE4F1p0OAEiYurI9BDtCh3osugMissHOUVgX4uVu8Stz1fPJ4h0qHDmVJcXFxN79owKges\nrm7NoOOOLWTxEJlkkUMGBQUnsmNHSS3ZFStWsHz5cvr3v5TY2PYkJbWmbt2hTJ48kSlTPgVmoxmV\ne6MOjMmuZRD4ArXhxaKjwouATgSDf2PVqvWsW7euCt+pYVQvlpYqUsjO5t3ifVzlPZ2cwubAFOLi\nXuf000dz+eUDmD9/MRs3ricurjsiy2jXrh2rV6/jp59+5Lbb7mbixDF07tyRhQsDFBcPB6YA/dBC\n3rvc3wC0KtrHwJPuhfdSXLyPuLi4Kn/LhlFdRML8141KazHOe5v/9tvcPHYCH330MUlJKTz++DCG\nDn2AH364huLiC4G/oaO4WDQF1GSgEzExw+nY8Sv++c+36d07kyVL5uH1xvLnP/+J5OREmjVrmmEV\nGAAADPpJREFUxty5C5k0KYcGDeqxadN6VqxoyL59F+H3j+PSS1vx7rv/qL73bxiVgDk3IpmwkJWQ\n9zbEZ599xtVXP8zOnaGF/kVo7rz70Ji7Mfv3ezzx5OXtZeXKlQwYMIR169bSqVMnxoz5O40aNTrg\nunl5eTz//IssWbKKM8/syC233Ex0dHRlvkvDqHJM+CKVQ4jeihUruPnm37F06RK2bUugqGgR+lHt\nARqjqy9eRgt6RwOL8Psz2LBhFa1ancq2bfcichExMa/QqtUUvv56Nh6PmXON2oUJXyRyCNHbvn07\nLVt2YPv2SxFpBTxJVNR5iPRCE4aehAYln0lUVBCf7yw8ng8YNeppGjVqwFVXPczOndnuakJ8/HEs\nWzabZs2aVenbM4zq5nDCVxrnRi804jUaDQp7/GfHh6KZKUPXa4sGkO1As1juRNMBF6LBZcZhprdf\nfvklO3YUIzITzaAcDfyTnj3z2LixkNWrZ+L19kLkO+6++06SkpI4++yP6dKlCzNnziQY/AGdEscA\nOygu3kNCQkIVv0HDqNlEo6k+mqMZKP+HCtuh6IumAQmxBqh7hNeovkCfKua7776TnAcflPyUFAlO\nmSK7d++WcePGyRtvvCEbN24UEZEbb7xJ4GKBYhd/96RAsuzatUuCwaDMnj1bJk2aJLm5ub+4fnFx\nsZx33sXi9/cQeFQSEjrJkCG/q+q3aRgRAeWospbuhG+tez4OuAxdI3Uw+gPv/mxfJEynq53s7Gwe\n730ZY/LzuCy2IVFPvsSyZcvZsqUxInWJjr6H6dO/oKjIgyYcWA2cAFxAYuJz+yuUpafroFlE2Lp1\nK3FxcftHdB6Ph88+m8jo0aNZvnw16el/5JprrqmW92sYNZmr0Co0IQaglvWD4Qe2okndQqxGy3jN\nRQs5HIzq/mGoEi5PPU5ySXaZk/PE620iMTHX719ZERU1Urp1u0h69brMZUw+QaC1REdnSmbmDQdc\na+vWrdKlS0B8vmSJiYmX3/3uT5bZ2DB+BuVYuXE0XodLgOmobS/E2WgR1t5o7qPuR3G9Y4fsbEZt\n30Qm75NDBhBLcXF9iopKTJ4iXVi1ag3Tpi1FU0WtBW7C55vGqFHPHHC5G2+8g0WL2lNQsI2iovW8\n8sqnjBs3rurej2HUcI401d2IpuoNcTyw4RDnXsMvp7mb3eMWdAlBOlr95gCGDx++fzsjI4OMnxn8\nazTOkXFvi1OYtmYBBHsC64mOXo/P9zfy8i4H6hAX9xjNmjVkwYKuaMopgJsJBkeQmpp6wCVnz55D\nQcEnqAk2jT17BjBjxhyuvfbaqnxnhhFRZGdnk52dXSHXikHLcDVHy3gdyrmRgk5z48P2+dGkb6Bl\nvGagVat/TnWPiCuPqVNF0tJEpk6VNWvWSIsWp0psbKp4vX4ZMeJRad++qysMlCA9elwqY8aMkYSE\n08MKAY2Vli07/uKyXbqcJ1FRo9w5xRIXd4k8/fQzVf/+DCOCoZzFhnqjcRUrgXvdvlvdX4jrgXd+\n1u5EVCj/B3wd1rZ2CF+Y6IUIBoOSm5sru3fvlg4dzhSfb4hAjni9d0mrVh1l3759cvXV14vff4Kk\npJwrKSmNZN68eb+49OLFi6VOncaSnNxbEhM7S5cugV8U+TGM2s7hhC8SPK6uj8cQh4nTA1iyZAnp\n6X3Zs2cV+hEIiYmnkJ39Fp07d2bhwoVs27aNjh07UrfuwaOBtmzZwowZM0hISCAjIwOv11uZ78gw\nahzlDWA2joYjiB6A1+tFpAANNPYCQfbu3cGECf+kc+fOdOzY8YgvU79+ffr161eBHTeM2oON+CqS\nUogeaAzehRdexowZQfLzrwYmABuIi9tDnz6nsWjRSqKjo7nvvjsZOHBAFXXeMI4tbK1uVVBK0QuR\nn59PINCT2bP3AJeiJR8fJirqLUTGAIX4/YMZM+ZZrrji8krtumEci1h5ycrmKEUPIDY2lnPOOYuo\nqIvQ6mfxwBREXkIrpl3I3r0PMXq0xecZRkVjNr7yUgbRCzF48A2MHNmdvXtTEGmEx7OSYHBr2Blb\nSUiIP2R7wzDKhk11y0M5RA/U1jd+/Hj+/vc38XrjOOecjjz22PPs3ft7oqIK8PtfYvr0L0rl7DAM\n40DMxlcZlFP0gsEg1147iI8/zsbrbUZU1EqmTPmE4uJiXnttDNHR0fzmN4M45ZRTKrzrhlEbMOGr\naMopegBZWVnceOPj7NkzDbXvjaVVq6dZvnx+BXbUMGov5tyoSCpA9ABWrVpFXt55lKzy68P69Ssr\noIOGYRwJE76joYJED+C0004jLu4j4EcAPJ7Xadv2tHJ30TCMI2PCV1oqUPQAevfuzW23ZeLztcDv\nb07dus9w3XWXsWzZsnJf2zCMw2M2vtJQwaIXTm5uLtddN5hZs9YApxIMfsFbb43kyiuvqNDXMYza\nhjk3ykMlih7A5MmTycy8m927v0ILhc8jIaEnu3b9GPrgDMMoA+bcKCuVLHoAmzZtQqQTKnoAndi3\nbxf5+fmV8nqGYZjwHZoqED2Arl27IjIZWAQIHs9TtG59KnFxcZX2moZR2zHhOxhVJHoA7du359VX\nnycurjvR0fG0bDmOTz/NqtTXNIzaTiQYkSLLxleFohdOMBhk3759VvzbMCoIc26UlmoSPcMwKh5z\nbpQGEz3DqDWY8IGJnmHUMkz4TPQMo9ZRu4XPRM8waiW1V/hM9Ayj1lI7hc9EzzBqNbVP+Ez0DKPW\nU7uEz0TPMAxqk/CZ6BmG4agdwmeiZxhGGMe+8JnoGYbxM45t4TPRMwzjIBy7wmeiZxjGISiN8PUC\nlgErgHsOcnwosMD9LQaKgDqlbFs5mOgZhnEYjpSWKhr4FrgQ2Ah8BVwLLD3E+X2B37rzS9u2YtNS\nmegZhkH50lKlAyuBtUAhMA647DDn9wfeLWPb8mOiZxhGKTiS8DUBvgt7vsHtOxh+4CLggzK0LT8m\neoZhlJIjCd/RzEEvAaYDO8rQtnyY6BmGcRTEHOH4RuD4sOfHoyO3g3ENJdPco2o7fPjw/dsZGRlk\nHI14megZhgFkZ2eTnZ1dqnOP5NyIQR0UFwCbgDkc3EGRAqwGmgL7jrJt2Z0bJnqGYRyCwzk3jjTi\nKwLuAD5DvbSvocJ1qzs+yj32c+fsK0XbisFEzzCMMlIzq6yZ6BmGcQSOrSprJnqGYZSTmiV8JnqG\nYVQANUf4TPQMw6ggaobwmegZhlGBRL7wmegZhlHBRLbwmegZhlEJRK7wmegZhlFJRKbwmegZhlGJ\nRJ7wmegZhlHJRJbwmegZhlEFRI7wlVP0SpuVobqI9P5B5Pcx0vsHkd/HSO8fVE0fI0P4KmCkF+kf\naKT3DyK/j5HeP4j8PkZ6/6A2CZ9Nbw3DqEIiQ/hM9AzDqEIiIS1VNhCo7k4YhnHMkQNkVHcnDMMw\nDMMwDMMwDMMAoBewDFgB3HOQ40OBBe5vMVrro04p20ZCH9cCi9yxOdXUvzRgMvA/4GvghqNoGwl9\nXEv138NUYCKwEJgNtD+KtpHQx7VU7j38B/AD+v0/FC+gfV8IdArbX1X3L2KIBlYCzQEv+qVve5jz\n+wL/LmPb6ugjwBqgbiX0K0Rp+jcceNRtpwFb0UJUkXQPD9VHiIx7+CQwzG23ITK/h4fqI1T+PeyO\nitmhhK8P8Knb7grMctuVcv8iI5zl0KSjb3otUAiMAy47zPn9Kante7Rtq6OPISrTu16a/m0Gkt12\nMioqRaVsW919DFHd97AtMNVtf4v+ozYoZdvq7GP9sOOVeQ+nAdsPc/xS4E23PRudETWiku5fpAtf\nE+C7sOcb3L6D4QcuAj4oQ9vyUJ4+Agj6yzsXuLma+vcqOu3ZhE4z7jqKttXdR4iMe7gQuMJtpwMn\noHWmI+keHqqPUPn38Egcqv/HHWJ/uThSXd3q5mjqTl4CTAd2lKFteShPHwHORkcz9YEvUFvGtArr\nXen6dx86hcgAWrh+nFaBfTgS5enjLiLjHj4GPE+JHXcBUFzKthVBefoIcA76o1JZ97A0VFlccaSP\n+DYCx4c9Px5V/INxDQdOIY+mbXkoTx9B/2EBtqCG5/QK7V3p+tcNyHLbq1B7Txt3XqTcw0P1ESLj\nHu4CBqF2rIGogKwqZdvq7ONqd2yTe6yse3gkft7/pmj/q+r+RRQx6JenOeDj0IbNFNTmE1+GttXZ\nRz+Q5LYTgBlAz2ro3zPAX9x2Q/SLVbeUbau7j5FyD1PcMdCp4htH0ba6+1gV9xDXt9I4N86kxLlR\nVfcv4uiNGmJXAve6fbe6vxDXA++Usm0k9fFE9IMMhWhUVh+P1L804CPUBrQYdcAcrm0k9fEkIuMe\nnuWOLwPGoyJzuLaR1Meq+B6+i44qC1Cb3SB++T/ykuv7QqBz2P6qun+GYRiGYRiGYRiGYRiGYRiG\nYRiGYRiGYRiGYRiGYRiGYRgVz/8DfjDs6MKCOywAAAAASUVORK5CYII=\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x1100b2d10>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 12 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Much better. Max difference is still a little big, though, so let's test it differently:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "pl.hist(kernel.ravel() - kernel_approx_f.ravel(), bins=30)\n", | |
| "None" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "display_data", | |
| "png": "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\ncAAAAABJRU5ErkJggg==\n", | |
| "text": [ | |
| "<matplotlib.figure.Figure at 0x104d5db10>" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 13 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "np.mean(kernel - kernel_approx_f)" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 14, | |
| "text": [ | |
| "0.0034367354161327114" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 14 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "np.mean(np.abs(kernel - kernel_approx_f))" | |
| ], | |
| "language": "python", | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 15, | |
| "text": [ | |
| "0.010228525193097958" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 15 | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment