{ "metadata": { "name": "", "signature": "sha256:897515375a280507e1482f461832a47adf9c8adb8b6d864a329a11e540fa654a" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Function Quality and Number of Neurons" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Chris Eliasmith" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook addresses the issue of how the number and tuning curves of neurons in an ensemble is related to functions that the ensemble can be used to compute using the NEF. If you just want something to tell you how many neurons to use to compute a function, go to the very end of this notebook. \n", "\n", "NB: For a longer discussion and description of the methods here, and if you're a CNRG lab member, please see the 'Function Quality' notebook in the nef_chip_software repository on ctn_waterloo (sorry, this is a private repository)." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Question: \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What is the relation between the number of neurons and the quality of function computation?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Picking a neural model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code shows the tuning curves of different neural models, and whatever is chosen here is used for most of the subsequent analyses." ] }, { "cell_type": "code", "collapsed": false, "input": [ "#You need to be able to import nengo to use neuron models. If you have a neuron model\n", "#that isn't in Nengo, you need to write code to generate X and A below, and that should be it.\n", "\n", "import numpy as np\n", "import nengo \n", "from nengo.solvers import LstsqL2\n", "\n", "num_neurons = 300\n", "num_points = 100\n", "noise=0.1 #Standard deviation of expected noise\n", "\n", "neuron_type = nengo.LIF() #Change this for Nengo to use other neuron types\n", "\n", "model = nengo.Network(label='Ensemble')\n", "with model:\n", " ens = nengo.Ensemble(num_neurons, dimensions=1, \n", " neuron_type=neuron_type, \n", " eval_points=np.linspace(-1,1,num_points).reshape(-1,1))\n", " tmp = nengo.Ensemble(1,1) #temporary ensemble to allow finding decoders\n", " conn = nengo.Connection(ens,tmp) #temorary connection to allow finding decoders\n", "\n", "solver = LstsqL2(reg=noise)\n", "sim = nengo.Simulator(model)\n", "X, A, T = nengo.builder.build_linear_system(conn, sim.model)\n", "A = A.T\n", "\n", "plot(X,A[1::10,:].T)\n", "title('Neuron Tuning Curves')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Singular Values and Vectors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As shown in the NEF book, broadly tuned neural populations approximate the Legendre basis. Let's plot that basis." ] }, { "cell_type": "code", "collapsed": false, "input": [ "BasisSize = 5 #Number of basis fcns to plot\n", "legCoeffMat = eye(BasisSize)\n", "legBasis=zeros([BasisSize, X[:,0].size])\n", "for i in np.arange(BasisSize):\n", " legBasis[i,:] = np.polynomial.legendre.legval(linspace(-1,1,num_points),legCoeffMat[i,:])\n", " \n", "figure()\n", "plot(legBasis.T)\n", "title('Legendre Basis')\n", "pylab.ylim([-1,1.1]);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEKCAYAAAAb7IIBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4VFX6x7+TXklvQCD0lkYREASiIkhZBX/YWFFRQMra\ndZFdFWTZVbEXqg0sgJVeRSmZFNJ7SALpvc0kM5My5b6/P24iAVKm3CkJ5/M88zCZe+857wwz573n\nrQCDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYPR6IgCUmFsILTgBYJm5hWAw\nGAxdKARwt7mF6IYICKsACgE0AZABqAdwDMBAAcdnMPTGytwCMG45qO3RG7HR4xoCsBCAK4AAAFUA\nPhNSKAZDX5gCYFgKIgCvAbgCoBbAjwA8Ohx/HEBR27HXcf1OortrgwBwHa6vAfCvDuM6AtgD/u48\nE8BtN8hVCOCfANLA38VbAZgKIBqABEAKgFlavsdWAL8CGNvhtQUAkgE0ACgGsLHDMQcA37e9JwmA\nOAA+bcfOA3i67flwABcASNve3wEt5WEwGAyTUgDgrk5efx78otofgC2AnQD2tR0bC37xndZ27D0A\nyg7jdHdtEHgFsAuAPYBQAC0ARrUdfwf84ukO3jSTAX4hbqcQQBKAAW3XDwC/IN/bdnx229/e3bzf\ndkXlBGAveIXTziwA49qehwCoBHB/29/PADgCXhGIAIwHv5MAgHMAnmp7vh/AhrbnduA/JwaDwbA4\nulIAWTe8HgB+kbcG8CaAHzoccwR/N31XD9da4ZoC6N/h+CUAD7U9vwpgTodjK3G9D6AAwJMd/l4P\n4NsbZD8FfofRGYXglZekTaZSAMFdnAsAHwP4sO35cgBR4BXDjXRUAHvBK7gB3YzLYNwEMwExLIUg\nAAfBL5QS8Iu6GoAf+AW9tMO5zQDqtLy2ncoOz5sAuLQ974/rF/yOd//tdDw+GMCDHeaSAJgOwL+L\n90Xg7+g9wO8gngW/42iXbQr4xbwavAnnGQBebce+A3AavEmnDMC76NwP8U/wO4Q48DuY5V3IwmBc\nB1MADEuhGLxZxaPDwwlAOYAKXB8544hri2R311ZoMW8FgEEd/h7UyTkdndbF4BfmjnO5AtiqxVwE\nXlFpwCsNgDdVHQL//tzBm6/af5dqAJvBm4imgXcmd7bTqAKwCvwO4BkA2wEM1UIexi0OUwAMc2AH\n3q7d/rABv/D9D9cWYB8A97U9/wXA3wDc3nbtJvB3vO10d21P/ATeft7uA3i2h/O/b5NlDnjzlAP4\n0NHuzC+iDv+27way215zwTXz0GQAS3FN4USAN/9YgzcjqcArjxt5ENcUpLTteq6H98FgMBgmpwD8\n4tTxsRn84vgigMsAGsFH9GzpcN0TuD4KqBTX7qK7uzYI/KLZ8Wano/3cEbwNXQLefPIKrjcDdeaz\nmAw+CqcOvOnmKIDAbt5vex5AI/hookc7HP8/8H6CxrZxPsU1H8Mjbe9JDt6E9XGH99HxPbwL/vOQ\ntb33FV3IwmAwGL0eF/B3w4PNLQiDwWAwjM/fwNv1ncGbfBLNKw6DwWAwTMUX4M00UgC/AxhhXnEY\nDAaDwWAwGAwGg8HoTYh6PsU0hIWFUWpqqrnFYDAYjN5GKoBwfS60mDyA1NRUEBF7EGHjxo1ml8FS\nHuyzYJ8F+yy6fwAI03fdtRgFwGAwGAzTwhQAg8Fg3KIwBWCBREREmFsEi4F9Ftdgn8U12GchDBbj\nBAZAbfYsBoPBYGiJSCQC9FzLhdgBfA2+GmF6N+d8CiAPvLd6vABzMhgMBsNAhFAA3+Bad6TOmA++\nZd0I8CVrdwgwJ4PBYDAMRAgFEAk+Rb8r7gNfbRHgOzG54/pGHQwGg8EwA6ZwAg/A9R2VSnF9cw8G\ng8FgaEFuQi6OfXVEsPE6ay9nDG50UHTq7RWJNnX4K6LtwWAwGAyMPIZ/BSZAUggklCQJMqRQUUBB\n4JtZdNa8eif45hkH2v6+DGAWeMdxR4jkcsDZWSCRGAwGo/dTJa/C86eeR0lWLBb//jZGTh6B+z6Y\n9Ndxc0cB9cQRXOtjOhV8Od8bF3+eTz81gTgMBoNh+RAR9qTsQciOEAx2G4w/yudA1OqHcdOFs6AL\nYQLaD/6O3hu8rX8jANu2Y7sAnAAfCXQFgALA8i5H+vBDYPVqwMNDALEYDAajd5Ivyceqo6sgaZHg\n9GOnMb6pH6LTH8eQEisEhPYTbB7LSgR7+mnAzw/473/NLQuDwWCYHDWnxiexn+Bt8dtYP309Xrz9\nRdhY2QCPPYYtM+bg9hcG4y75TIisry3dlm4C0hrlun8DO3cClZXmFoXBYDBMSkplCqZ+ORUnrpxA\n7IpYvDr9VX7xT08Hzp5FhuMoiIbbX7f4G4pFKYAmmQfw+ONsB8BgMG4ZmlXN2HB2A+Z8NwfrbluH\ns8vOYrjn8Gsn/PvfkG/YAEVOC7yDXQWd26IUgCJLAfzrX8D+/UB+vrnFYTAYDKNyruAcQneGIl+a\nj7Q1aVg+fnm7SYdHLAZSU3HhoYcwpcIO/cYJGyVpUQqgKasJ8PEBnnsOeOMNc4vDYDAYRkHSLMHK\nIyvx+KHH8cGcD/Djkh/h7+J//UlEwGuvAZs346xCgTEl1nAe04cVgCJLwT956SXgzz+B5GTzCsRg\nMBgC82vWrwjeEQxba1tkrMnAfaPu6/zEY8eAhgbgscdwViKBd74GTmOdBJXFVJnAWtGU3cQ/cXEB\nXn8d2LABOHXKvEIxGAyGAJTLyvGPE/9AVk0WDvzfAcwYPKPrkzUafv175x1UqtWoamyBqJzgONxR\nUJksagegadRAJVXxf6xcCeTlAefOmVcoBoPBMACOOOxO3I2wnWEY6zMWKatTul/8AeC77/h8qAUL\ncFYiwf1SVzgMdYCVrbBLtkXtAJzGOKEpuwlut7sBdnbAli3A+vXApUuAyJJSFhgMBqNncutysero\nKrSoW/Dn438ixK+zajk30NICbNzIB8OIRDgrkWB2lQOcxgi/XFvUDsBpjBPvCG7n4Yf5rdDPP5tP\nKAaDwdARlUaFtyPfxrSvpmHx6MWIeipKu8UfAD77DBg/Hpg2DUSE0xIJxpZYw3ms8HXSLGoH4DzW\n+ZojGACsrID33uPNQYsW8bsCBoPBsGASyhOw4sgK+Lv4I2FVAoLcg7S/uK4O2LoViIwEAKQpFHCx\ntoZdXiuclghXAqIdy9oBjHW65ghu5667gFGj+AxhBoPBsFAUSgVeOfMKFu5biFemvYKTfz+p2+IP\nAP/7H7BkCTB6NADgVH097vX0RFN20y24A2jn3XeB2bOBJ54A3NxMLxiDwWB0w+9Xf8czx57BtMBp\nSF+TDh9nH90HKSgA9uwBMjP/eulUfT1e9huAlvwKOI4UNgIIsLAdgEOQA1TVKqjl6usPhIQACxbw\nioDBYDAshLqmOjx56EmsOLoC2+Zvw/cPfK/f4g/woe/PPQf48wlhMrUaCTIZptTaw36gPawdrAWU\nnMeiFIDIWgTHkY5outx088HNm4Fdu4DSUtMLxmAwGB0gIhzIOIDgHcFwd3BH5tpMzBsxT/8BExP5\nkPeXX/7rpXNSKaa4ugK5rYIngLVjUSYggDcDNWU3od+kGxweAwfyvQL+/W9g797OL2YwGAwjU9JQ\ngrUn1qJAUoBDDx/ClIFTDBuQiF/4N27kk2DbaLf/K44pjGL/ByxsBwDwjmBFZid+AICvi3HmDJAk\nTD9MBoPB0BaOOGyP344Juydgcv/JSHomyfDFHwCOHAFqa4Gnn/7rJSLCyXYHcFYTnMbcIjsAlxAX\nlH9R3vlBV1dg0yZeW/75J0sOYzAYJiGrJgurjq4CAFx88iLG+IwRZmClEnj1Vb4drs215TivuRkq\njsM4Z2ckpCsQ+GqgMPPdgMXtAJxDnaFI62IHAPBasrqa15oMBoNhRJQaJTZf2IxZe2ZhachSXFwu\n4OIP8OHtQ4YA99573cun6usx19MTpCQ0X2m+dXYADoMdoJaqoZKoYOthe/MJNjbABx8Azz8PzJ8P\n2HZyDoPBYBhITEkMVh5diSEeQ5C0KgmBbgLfhUskfPOrs2dvOnS6vh5P+vuj6XITHIY6GCUCCLDA\nHYDISgTnEGco0rvZBdx7LxAUBOzYYTK5GAzGrYGsVYbnTj6HB356AG/MfANHHjki/OIP8Iv//ffz\nYe4daNFoENnQgNkeHpCnyeES6tLFAIZjcQoAAJxDnCFPk3d/0gcf8MXi6utNIxSDwejznMw7ieAd\nwZAr5chcm4mHgx++vkOXUOTl8UlfmzffdOicVIpwFxd42NpCkaaAc6hxIoAAC1UALqEu3fsBACA4\nmE+Zfust0wjFYDD6LDWKGvz9t7/jHyf/ga/u+wpf3/81PB09jTfhq6/yD3//mw4dq6vDQi8vALhF\ndwChWuwAAH7x37cPyM42vlAMBqPPQUT4Pu17hOwIQX+X/khfk47ZQ2cbd9I//gDS0ng/ZifyHKur\nw4I2BWDsHYDFOYEBPhRUkaEAcQSRVTfbLx8fvon8yy8DJ06YTkAGg9HrKZQWYvWx1aiUV+L40uOY\n2H+i8SfVaIAXXwTefx9wcLjpcIZCASuRCGOdnKCsVoJr4WA/0N5o4ljkDsDGzQa23rZozm/u+eR1\n64ArV4CTJ40vGIPB6PVoOA0+jv0Yk3ZPQkRQBOJXxptm8QeAL78EPD2BxYs7PXy8zfwjEomgSOfv\n/o3ig2jDIncAwDU/gNPwHuJf7ex4h/BLL/EVQ1lYKIPB6IK0qjSsOLICTrZOiHk6BiO8RphucqmU\nL/dw8mSXSazH6urwRlAQAOPb/wEL3QEAOvgBAGDhQmDQIGDbNuMKxWAweiUt6ha8/ufrmP3tbKya\nuAp/PvGnaRd/gPdZ3ncf3+2rE2qVSqQrFJjVVvLe2PZ/wMJ3ANUHqrU7WSQCPv4YmDkTWLoU8PU1\nrnAMBqPXcLHoIlYeXYlg32Ckrk5FgGuA6YXIygK+/57/twtO1dfjLg8POFjzSV/yNDn6r+5vVLH6\nxg4AAMaMAR5/nK8WymAwbnkaWhqw5tgaLP11Kd65+x38+tCv5ln8ifiIn9df5wNXuqBj+Cen5tCU\n3QSnccYpAdGOxSoAx+GOUFYob24O0x1vvgkcOwYkJBhPMAaDYfEcvnwYwTuCwRGHjLUZWDymc6er\naYQ5DJSXA2vXdnmKiuNwWiLBfE8+96A5rxn2A+xh42JcI43FmoCsbKzgNMYJigwF3KZq2QbSzY1P\nr37uOSAqilULZTBuMSrllXj25LNIrUzF94u/x6ygWeYVqKWFD1DZvbvbAJWohgYMd3REgD0f8qlI\nU8A5xLj2f8CCdwCAlhnBN/Lkk4BaDXz3nVFkYjAYlgcR4aukrxC6IxQjPEcgdXWq+Rd/gI/3Dwvj\nIxS74XAH8w/A2/+N7QAGLHgHAOjhBwAAKyvg88+BRYv4QkusiTyD0ae5Un8Fq46ugkwpw5llZxDu\nH25ukXgKC4GPPuLbPXYDEeFQbS0OBwf/9ZoiTQH/5TeXiRCavrcDAIDJk/km8hs3Ci8Ug8GwCNSc\nGlujtmLql1OxcORCxDwdYzmLP8Bn/L7wAl+5uBvSFAqIAIQ4X7vjZzsAXNsB9FgSojPefhsYO5Zv\nIHNDuVUGg9G7SapIwoojK+Dt5I34lfEY4jHE3CJdz6lTQHo6sH9/j6ceqq3FYm/vvzJ+VRIV1PVq\nOA51NLaUlr0DsPO2g42bjXYlIW7E25tPvFi3jg/DYjAYvZ4mVRPW/74e836YhxemvoDTj522vMW/\ntRV49lngk086rfdzI4dqa7HI2/uvv+VJcriEu+h+06sHFq0AAMB1givkiTr6AdpZtQpQKPiKoQwG\no1fzZ8GfCN0RiuLGYqSvScfjYY8btU6O3nzwAW99WLCgx1MLm5tR1tqKaR18lbJEGVwmGrcERDsW\nbQICAJeJLpAlyuD7sB7ZvdbWfHmIBx7g/zPc3YUXkMFgGBVJswSvnHkFv+f/ju0LtmPhyIXmFqlr\nCgp4BaBlLtKh2lr8zcsL1h0UmSxRBq8FXt1cJRyWvwOY6ApZkkz/AaZO5WsFvf66cEIxGAyjQ0T4\nOfNnjNs+Do62jshcm2nZiz8Rn4P00kt8o3ctaLf/d0SeJIfrRFdjSHgTFr8DcJ3gCnmSHESk/3bv\nnXf4LdmTTwKTJgkqH4PBEJ6yxjKsO7EOuXW5+OWhXzAtcJq5ReqZw4f5Vo+//KLV6bVKJZLlctzt\n4fHXa+oGNVorWuE02rglINqx+B2AnZ8drJys0FLQov8gnp68Elizhm/IwGAwLBKOOOxM2InwXeEI\n8wtD8jPJvWPxVyj4ej/btwP22jVwOVZXh3s8PODYVvwNAGRJMriEuUBkbRrfhsUrAKDNDJRogBkI\nAJ54AnB0BHbtEkYoBoMhKDm1OYjYE4G9qXtx/onzeOvOt2BvY7xuWIKyeTMwYwZw111aX3Lwhugf\ngLf/m8r8A9xKCkAkAnbs4JPDKiqEEYzBYBiMUqPEfy/+F9O/no4Hxz4I8XIxxvmOM7dY2pORAXz9\nNV/2QUsa1Wqcl0qvK/8AAPJEOVwmmCYCCOhFCkDvUNCOjBsHrFjBZ+gxGAyzE1cWh0m7JyG6NBpJ\nzyTh2SnPwtrKuucLLQWO48PN//MfwF/70g3H6uoww80N7jcUiOuNO4B7AVwGkAdgfSfHIwA0AEhu\ne+gcjuMywQWyJBlIiISuN94A4uNZD2EGw4zIlXK8eOpF3Lf/Pmy4YwOOPXoMg9wGmVss3dm9m/93\n1SqdLvu5pgYP3tC4St2oRmtZK5zGmMYBDBiuAKwBfA5eCYwF8CiAMZ2cdwHA+LbHFl0nsQ+wh5W9\nFVqKDHAEt+PkxJuC1q7lHTcMBsOknL5yGiE7QlDXXIeMtRl4NORRy0zo6omKCv6GcvduvgillsjU\navwpkeD+G80/yXwPYCsb0xlmDJ1pMoArAAoBqAAcAHB/J+cZ/L8rmBkIAObMAaZN40tFMBgMk1Db\nVIvHDz6O1cdXY+eCnfh28bfwdvLu+UJL5YUXgJUrgQ5VPLXhaF0d7ujC/GOqDOB2DFUAAwCUdPi7\ntO21jhCAaQBSAZwAv1PQmfaMYMH46CNgzx4gJUW4MRkMxk0QEfal70Pw9mB4OXohfU065g6fa26x\nDOPECb7M8xtv6HzpzzU1eLCT1pCyRBlcJ5jO/g8YngimjVE+CUAggCYA8wAcAjCysxM3bdr01/OI\niAhERET89bfrBFeUbSvTX9Ib8fXlcwNWrgRiYgAbi8+JYzB6HcUNxVhzfA1KGkpw5NEjmDxgsrlF\nMhyZjM8p+uorPrRcl0vVavwhkeDrUaNuPpYow6B/9uwHOX/+PM6fP6/TvF1hqGlmKoBN4H0AALAB\nAAfg3W6uKQAwEUD9Da9Td07e1rJWJIQnYFr1NOHshUR8p57584GXXxZmTAaDAQ2nwfb47dh8cTNe\nmPICXp3+Kuys7cwtljA89xyvBL75RudL91dV4buqKpwIDb3udbVMjWj/aNwhvQNWtroZZtrWQ70W\nRUNvexMAjAAQBKAcwMPgHcEd8QNQDX63MBm8oDcu/j1i198OsAZaS1rhMKjnEqtaIRLxDpwpU/gO\nYsOGCTMug3ELk1mdiRVHV8DWyhbi5WKM8r75brfXEhPDl3rIyNDr8p9rarCkE/OPPEUO52BnnRd/\nQzF0NjWAfwA4DSALwI8AsgE80/YAgCUA0gGkAPgYwCP6TCQSieA6yRWyeAH9AAC/6L/2GvDMM6xv\nAINhAK3qVmw8txEReyPwRNgTOP/k+b61+Le28g2mPvmELy+jIzK1GmclkpuyfwFAFm/a+P92LCn2\nqlsTEAAUbimEpkGDYe8JfKeuVvNVQ9etA5YvF3ZsBuMWIKo4CiuPrsQIrxHYPn87BvS7MRakD7Bp\nE5CcDBw6xFsPdOT7ykrsr67G8RvMPwCQ+VAmvP7mBf9luvcBNqcJyKT0m9oPRW8VCT+wjQ3v0Lnn\nHmDuXKB/f+HnMAMKjQbZCgXKlUrUqVSoVamg0GhgLRLBWiSCnUgEXzs7BLQ9hjo6wsm6F2VhMsxO\nY2sjNpzdgIOXD+KTez/BkrFLemdMf0+kpfG9RVJS9Fr8AWBfdTUe8/Pr9FhjbCOG/Nf0nc16lwKY\n3A+yZBk4JQcrO4FtZWFhwOrV/OPwYb3/k80FR4RUuRx/SCS42NCADIUClUolRjo6ItDBAV42NvC2\ntYWztTVaOQ4aAK0chxS5HBVKJcqVShS2tGCQvT1CnJ0xwdUVEe7uuM3VFbY6JLkwbh2O5R7D2uNr\nMWfYHGSuzYSHo0fPF/VG1Grgqaf4qMEB+u1sapRKRDU04KexN0fBt5a1QtOkgeNw4/cAvpFepQBs\n+tnAcYgj5Gly9JvUT/gJXn8dmDiRbyH5978LP77AcES4IJXiu6oqHK2rg6eNDWZ7eGCZnx/CXVww\n1NHxuk5DPaHiOOQ2NyNdLkecTIZ1eXm42tyM6W5uWOTtjUXe3vCz6yORHAy9qZJX4flTzyOhPAF7\nFu3BXUO0r4DZK3nvPcDLi1cCevJzTQ0WeHnBpZNw88bYRvSb2s8sOydLus3t0QcAADmrcuAc4oyB\nzw40jhQJCXz7yNRUnYo7mZJqpRKfl5Vhb2UlPGxssMzfHw/6+GCQFg2odaVepcIfEgl+q63Fybo6\nhLu44DE/Pzzi69vpl5nRdyEi7E3di/Vn12N5+HJsnLURjramv2s1KVlZwKxZfNLXIP1rFd2RlITX\nBg3Cwk4cwFdeuQJbD1sM/vdgvcY2xAfQ6xRAxdcVkPwhwdgf9Eoo1o4NG4DcXD7cy4JMQYXNzXi/\npAT7qqvxsK8v1vTvj1AX06WOt2g0OC2RYE9lJc5LpXjQxwer+/fHBFfTRy8wTEu+JB/PHHsGdU11\n+PK+LzEhYIK5RTI+Gg0wfTrfSXD1ar2HKWxuxqTERJRPmwa7TsypSXckYchbQ+Bxt34mNEMUQK8z\n7va7vR8aYxuNO8nGjUB2NvDjj8adR0vqVSo8l5eHSYmJcLWxQfbkydgxcqRJF38AcLC2xv3e3jgY\nHIys227DEAcHLMrIwF0pKThVVydMtVaGRaHm1Pgg+gNM/mIy5gydg7iVcbfG4g/wzd2dnHSu9Hkj\n+6urscTHp9PFn1NykKfI4TrZPDdRlnN7q+UOgDiC2FOMKblTYOdrRHt0fDzfTN6MpiA1x2FXRQU2\nFxZiiY8P3goKgreF2eBVHIcfq6vxXkkJCMCmoCAs9vbum5EgtxgplSlYcWQF3BzcsGvhLgz3HG5u\nkUxHZiYQEcGvA0FBBg0VEh+P7SNGYIa7+03HGuMbkfN0Dm5Lu03v8W+pHYDISoR+U0ywC7jtNr5O\n0MqVZkkQy1YocHtyMn6rqcHZsDBsGznS4hZ/ALC1ssJj/v5ImTQJbw8dii1FRbgtMZHtCHoxzapm\nbDi7AXO+m4O1t63F2WVnb63FX6UCHn8c+N//DF780+VyNKjVmO7m1unxdgewueiVXrx2M5D3fUYu\nJfvmm7wi2LuXtwOaAI4In5WVYUtREbYMGYJVAQG94m5aJBJhgZcX5nl64reaGrx49Sr6l5Tg4+HD\nEWJiU5W2EBFaS1ohS5JBkaGAskyJ1opWqKpU4JTcX+dZOVjBzt8OdgF2sB9oD5dQF7hMcIG9fy/p\nV6sDFwovYOXRlQj3D0famjT4u1hmIIRRefttvljkihUGD/V9VRUe9fWFVRe/4cbYRnjMNl/4rCWt\nLFqZgACg7lQdSt4tQfi5cCOLBN4ENHs2kJQEBAYadaoapRJLs7PRpNFg7+jRGO5kus5AQqPmOOyu\nqMBbFma+ailpQf3JetSfrIf0ohRWdlZwGe8C51Bn2A+0h32APez87WDlcG1zrFFooKxUQlmhREtx\nC+SpcsiT5bCys4J7hDs853vC815P2PmY//3pi7RFivW/r8eJKyfw+bzPcf/oztp63AIkJ/PJoMnJ\nesf8t6PmOAyKjcXZsDCMdXbu9JzYobEIOR4C5zGdH9eGWyYTuJ1+U/pBliADp+aM3z0nLIxv/LB8\nOXDmjE6df3QhWSbD4owMPOrnhy1DhugUv2+J2FhZYe2AAXjE1xcbCwsxLj4e7wwdiif9/U2+o1HV\nqVD1QxUq91SipbgFnnM94bPEByO2j4B9gH538USElqIWSP+QovZgLfL+kQfnEGcELA+Az0M+sHHt\nPT+tg9kH8ezJZ3HfqPuQsSYDbg6dmyv6PC0twGOPAR9+aPDiDwC/SyQItLfvcvFXVimhlqjhNMp8\nN3qWtMpovQMAgLgxcRizfwxcw03gPVergZkzgYcfBp5/XvDh91VV4fkrV7BtxAg8dEOf0L5CkkyG\nVTk5cLWxwa6RIzHSBLubhpgGlH5Uivoz9fBa6IWA5QFwj3CHyFr4rz2n5FB/qh6V31RCel4K7we8\nEfhSIJzH6X9nZ2zKZeV49uSzyKzOxBd/+wIzBs8wt0jm5aWXgNJSPvpPgJuUhzMzEeHujjVdKJPa\nw7Uo21GGsFNhBs1jyA7AkiBdyF6eTaU7SnW6xiDy8oi8vIgyMwUbkuM42lJYSEExMZQqkwk2rqWi\n0mjoo+Ji8oqMpK1FRaTmOMHn4DiO6k7XUdKsJIoJiqGSz0pIKVEKPk93tFa2UuH/CknsJ6a0+9JI\nGiM16fw9wXEc7U7YTd5bven1P16nZlWzuUUyP2fPEg0YQFRbK8hw9Uol9bt4keqVXX/3rr52lQo2\nFRg8F7RrzGXx6PSmy3aXUdayLIM/PJ3YvZto/Hii1laDh9JwHL2Ql0chcXFU3tIigHC9h6tNTTQr\nKYmmJSZSnkIh2LgNsQ2UOC2RLo29RBXfVpBGqRFsbH1QN6mp9PNSih4UTanzU0meJTerPEREubW5\nFLEngiZ/MZnSKtPMLY5lIJEQBQYSnTol2JDbS0vpoYyMbs9JmplEdafqDJ4Lt6ICkGfLKXpQtMEf\nnk5wHNHChUQbNhg0jEqjoSeysmhaYmK3dwh9GQ3H0cclJeQVGUk7SkuJM2A30FzUTJlLMymqfxSV\nf1NOnFo1EovyAAAgAElEQVT4nYUhaFo0VPxBMYm9xZSzLodaawy/gdAVpVpJb0e+TV7vetFHMR+R\nWqM2uQwWy9//TrRunaBDTk5IoBPd7CbUzWq64HyBVI0qg+fCragAOI4jsZ+YmgqaDP4AdaKykigg\ngOjCBb0uV2k09GBGBt2bmkpyNfsRZsvlND4+nhanp1OdjsqQU3NU/GExRXpFUv7GfFLJDP8xGZPW\nmlbKfTaXxL5iqvi2wiClpwvxZfEUtiOM5nw3hwokBSaZs9fwww9Eo0cTCbgTzZTLKSAqilSarneg\nkvMSSrgtQZD5YIAC6HWJYO2IRCK4z3RHw4UG007s5wd8+SWwbBkgkeh0KUeEp3Ny0KBW41BwMJxZ\n7X2MdnZGzIQJCHJwQHhCAi5KpVpdJ8+QI2laEuqO1GFC7AQM2TQENi6WHXlj522HEZ+OQOjJUJR+\nWIq0eWloKWox2nxNqia8euZVLNy3EK9MewWn/n4KQe5BRpuv11FQwEf47dvHl3wQiL2VlVjm5web\nbiIGpRekcJ91c2awqem1CgAA3CPcIb2g3YIhKPPnA/ffzxeI0jJyiYjwj7w8FLS04GBwMOxZjf2/\nsLeywofDh2PXyJF4OCsL7xQVgevicyWOUPxeMVLvTEXAigCE/REGp+G9K1/CdYIrJsRNgPssdyRO\nSkTlt5WCz3E2/yxCdoSgXF6O9DXpeCz0sV6RUGgy1Go+5HP9emD8eMGGVXEcvq2qwpM9lI+RXpDC\nPcL8CsCS0HnrI8+QU8zQGEG2UTrT3EwUHEz0zTdanf7PK1fotoQEalBZtpnC3JQ0N9PtiYm0MC3t\nJpNQa2UrpcxNocRpidRc2DciV2SpMro05hJlPZYliD24rqmOnjz0JA36aBAdzz0ugIR9lE2biO65\nh6gbM40+/FpdTTOSkro9R9OqoYsuF0klFWYtwK1oAgIAp7FO0DRq0FJqvG10lzg4APv3A6++CuTl\ndXvq9rIyHKmrw6nQUPRjNfS7ZaCDAy6Eh2OEoyMmJiYiWSYDAEj+kCBhfAJcJ7ki/EI4HAYL3/vA\nHLiEumBi/ERYOVohcUIiZMkyvcYhIvyY8SPGbR8HVztXZKzJwPwR8wWWto8QFQXs2AHs2SN4Yueu\n8nKsCgjo9hxZvAyOIx1h48bWgo7opf3SH0inyu8rBdGkerFtG9GECURdhHKerK0l/6goutpkYmd1\nH+CnqiryjoykQ5syKco/iurP1ptbJKNSub+SxN5iqtyn2/e5pKGE/rbvbzR221iKLjZxZFxvo66O\naNAgoqNHBR86v6mJvCIjqbmH4I7C/xZS3ot5gs2LW3UHAADus8zkB2hnzRpg8GDgtdduOpQhl+Px\ny5fxy7hxGOrYxzsnGYEHXL1weFs/SPfV4OQBT7je2bdLFPg94oewP8JQ8O8CXP3nVZCm+981Rxy2\nx2/H+F3jMan/JCQ/k4zbA283kbS9ECK+wNsDD/Cl3gXmy4oKLPP3h0MPwR2W4gAGmAIwHJEI+Oor\n4OBB4OjRv16uViqxMD0dHw8f3mUpWEbXtFa2ImVmCtxFNlgQNwWX3FuxID0dUpXK3KIZlXaTkCxJ\nhvSF6VDL1J2el12TjRnfzMAP6T/gwpMX8OasN2Fn3XuL0ZmE7duBoiK+ubvAqDgOX1dW9mj+4VQc\nGmMa4TbDMtaEXq8AnEOcoapRobWi1XxCeHgAP/zA312UlkJDhEezsvB3Pz8s9fMzn1y9FMVlBZJv\nT4bX37ww5ocx8HZzwImQEIx2csLtycm40tRkbhGNiq2XLUJPhcJ+kD1SZqagtfzad1upUWLzhc2Y\nuWcmlgYvReTySIz1MWJ71L5CaiqwaRNw4ABgL3wZ76N1dRjh6IgxXRR+a0eeJIfDEAfYetoKLoM+\n9HoFILISwW2GGxoumjgf4EamT+djih99FG9dvQoA2DxkiHll6oVII6VImZWCoE1BCHoz6K/QRRsr\nK3wyYgSeHzAAdyQn45yOORi9DSsbK4zcORI+D/ogaVoSFJkKxJTEYMKuCYgvj0fSqiSsm7wOVqJe\n/xM2Po2NwEMPAR9/DIwYYZQpdpeX45n+/Xs8z5LMP5aG3k6Q4g+KKWdNjmBOFb3RaOjE2rU04ORJ\nqhSgXtCtRvXBahL7iKnuTPf1Uc7W15OvWEx7KipMJJl5Kfi6gE66n6SZ62bSgfQDJssg7hNwHNHD\nDxOtWmW0Ka42NZG3WNyj85eIKHV+KlX/Ui3o/LiVncCABfgB2ihWKrH80Uex//334XfmjLnF6VVU\nfl+JvDV5CD0ZCs97PLs9924PD5wPD8dbhYXYWFDQp1tPnsw7iYiGCEQ+H4ktP27BPRX3sIQuXdix\nA7h8mb/7NxLbysqwXAvnL2kIDVENcJtpGfZ/S0NvDcipOYr0iKSWcvNV1VRzHE1PTKR3i4qIoqKI\nfH2JCgvNJk9vonR7KUUPjCZ5pm7VMitbW2lyQgIty8qiVoETesxNtbyalv66lIZ+MpR+v/o7ERFJ\nLkpI7COm6oPC3kH2WRISiLy9iXJzjTaFTKUir8hIKtAizLshtoHiguMElwG3+g5AZC2Cx90ekJwx\nn134veJi2FlZ4ZXAQGDaNOCf/wQefBBoNaNzuhdQ/H4xSt4rQfiFcDiP1a15ip+dHc6Fh0Ou0WB+\nWhoa1Z1HzPQmiAjfp32PkB0hCHAJQPqadMweOhsA4D7DHaEnQ5G7OhdV+6vMLKmFI5Hwdv/t241m\n9wf4nr8z3N0RpEWYd/3penjMNV//X0vHIC1Y9kUZZT4qXLMWXUhubCQfsZiKmjuUJ+A4osWLiVav\nNotMvYGi94oodngsNZcYVtZBzXG0NieHwuLiqKwX91YokBTQ3O/mUtiOMEoo67pSpCxdRlH+UVS5\n34wJkJaMRkM0fz7RCy8YdRqO42jspUv0Z712CYqJ0xJ79G/pA271HQAAeM71hOR3CYgzrT24RaPB\nssuX8cGwYRjk0KE8gUjEp5r/+Sewd69JZeoNlHxYgvKd5Qg7FwaHgYaVdbAWifD5iBF42NcX05KS\nkK1QCCSladBwGnwc+zEm7Z6EiKAIxK+Mx8T+E7s83yXYBaG/h+Lqi1dR/WO1CSXtJfz3v3zkz9at\nRp3mT6kUViIRItx7jupRSVVQpCssJv6/nT5TjMIh0AG2PraQJcnQb1I/k837RmEhRjk64rHO4v37\n9QN++w2IiOCby4eHm0wuS6bk4xKUbS9D+Llwgxf/dkQiETYMHoz+9va4MyUFh0NCMKWf6b4H+pJe\nlY4VR1fA0cYRMU/HYISXduYKl2AXhJ4JRdqcNEAE+D7UN3tJ68ypU8DOnUBCAmBr3Fj7T0tL8eyA\nAVo55aV/SOE23Q3WDqwEfFcYvBXKeyGPCreYzvF6qaGB/KOiqKankM/9+4mGDuXrkNzilO0qo5ig\nGGouMl41z2O1teQtFtNJgfq7GoNmVTO9/sfr5L3Vm3Yn7CYNp58TW5YqI7GfmGqO1AgsYS+koIAP\nvrh40ehTtdf90bap0+WVl6n4o2KjyAJmAuLxmOuB+tP1JplLxXFYmZODD4cNg7ddDyn4jzzC9w94\n9FFAozGJfJZI1b4qFG4uRNjZMDgMMl41zwVeXjgUHIwnLl/GvirLc5ZGFkUifGc4smqzkLo6FSsn\nrtQ7ocsl1AUhR0OQ83QOJH/27eS4bmlqAhYtAjZsAGbMMPp0n5WVYXlAgFZNnYgI9afr4Tm3+/Dm\nWx2DNaFaoebrbDcYv+b+O0VFNDclRfukHJWK6K67iNavN65gFkrNoRoS+4lJnmG6xujpMhkNiIqi\nz0pKTDZnd0ibpbT66Grq/0F/+jXrV0HHrj9XT2IfMUljpIKO2yvgOKJHHiF6/HH+uZGpVyrJIzKS\nipu128XKs+UUHRhttAQ+sB0Aj7WTNfrd3s/od0JXm5vxXnExdowcqX1Sjo0N8OOPwE8/8f/eQkjO\nSZCzMgchx0LgPE63UE9DCHZxQeT48fi4tBT/KSw0a8LYkZwjCN4RDA1pkLk2Ew+MeUDQ8T0iPDB6\nz2hk3J8Bebpc0LEtnvffB65c4W3/JkiS21lejoVeXgh00G4XKzktgedcT5bA1wOCaMPi94spZ7Xx\nykJwHEezU1LovaIi/QZISeGTU5KThRXMQmlMaiSxj5jqz5mvln9FSwuFxsXRC3l5pDFxGYUKWQU9\n+NODNOLTEXSu4JzR56vcV0nRA6P7TMe0Hjl1iigggKjYOPb1G2lWqykgKorSZDKtr0mdl0pVP1cZ\nTSawHcA12v0AZKS7vQPV1ahRKvHCwIH6DRAWBmzbxtsrLdA+LSTN+c1IX5iOEdtHwCPCfAkw/vb2\nOB8ejrjGRqzIyYHGBDsBIsLXyV8jdEcohnsOR+rqVEQERRh9Xr9H/TDw5YFIuzcNylql0eczKzk5\nwLJl/I46MNAkU35fVYUwFxeEuLhodb6mRYMGcQM87mYJYD0hiDbkOI6iBkSRIlchyHgdkavVNDA6\nmiIlEsMHe/NNomnTuuwk1ttprWql2OGxVLqt1Nyi/IVcrabZKSn0YEaGUUtH5NXl0V1776KJuyZS\nSkWK0ebpjiv/vEIJUxJILdcuSqXXUV9PNGIE0ZdfmmxKDcfRqNhYrRO/iIjqfq+jxNsTjSgV2wFc\nh0gkgtc8L9QdrxN87HeLizHDzQ13aJH40SMbNwIBAcAzz/CdivoQGoUG6QvT4fuILwasHWBucf7C\n2doaR4ODoeQ4LMrIQJPAEVlqTo33ot7D1C+nYt7weYhdEYsw/zBB59CWoe8MhdMoJ2Q9kgVOzZlF\nBqOhUvFlHhYuBJ5+2mTTHq2rg4u1tVaJX+3UH6+H5zzLjf7pcwoAALwXeaP2YK2gYxY2N2NbWRne\nHTpUmAGtrPgM4dRU3onVRyANIWtpFpzGOiFoc5C5xbkJB2tr/DxuHDxtbDA/LQ0ygeoHJVckY/IX\nk3Em/wziVsbhlWmvwMbKfHmWIpEIo74cBa6Vw5XnrvStiqkvvcQHVRg507cjRIStxcV4ddAgrZ25\nRISagzXwXuxtZOn0p08qAPe73SFPlUNZI5wN9NX8fDw/cKDWnn+tcHYGjhzhS9UeOiTcuGaCiJD3\nfB40Cg1G7R5lsVEPtlZW+HbMGIxycsI9qamQGNBmslnVjPW/r8e9P9yL56c8jzOPncFQD4FuEgzE\nytYK434ZhwZxA0reLzG3OMLw2WfAH3/wnb1sTKdg/5RKUatSYYmPj9bXyFPkENmITBr5pit9UgFY\nO1jDc44n6o4KYwY6J5EgvrERrxrD0RQYCBw+DKxcyaev92JKPyxFw4UGBP8aDCs7y/5qWYlE2Dly\nJKa5ueHOlBRUK3W/WThXcA6hO0NR1FCEtNVpeCL8CYtTejb9bBByIgRln5b1/rpBx44Bb78NHD8O\nmLjP9ubCQvx78GBY6/D/W3uoFj6LfSzuO2GpCOoYqfyhktIWphk8jobjaHx8PB2oMl4YFxERHTxI\n1L8/kb7hpWam+tdqihoQRc3FvSv8kOM4ejM/n0ZfukSlWjrk65vq6enDT1Pgh4F0NOeokSUUBlmK\njE8Ui+6liWJJSXz4dEyMyac+V19Pw2JiSKVj4EBcSBxJxcb/vGFmJ/C9AC4DyAOwvotzPm07ngpg\nvABz9ojXAi9IL0ihlhtm4/25pgbWIhEe0mHrpxeLFgEvvwwsWAA0mLm/sY40JjQi95lchBwOgUOg\n8Uo8GAORSIS3hgzBcn9/zExORmFzc5fnEhF+yfoF47aPg721PTLWZmDhyIUmlFZ/XMJcMHrPaGQ+\nkInmgq7fo0VSWgrcdx9f23/qVJNPv7moCP8ePBg2Vtovl81Xm6GsUqLfVMsvSGgI1gCuAAgCYAsg\nBcCYG86ZD+BE2/MpAGK7GEtwzZgyJ8WgBAylRkPDY2PprA5hXwbBcURr1xLdfTdRL+kp3FzcTFED\novpEl6rPSkpoUHQ05SpuDiEubSil+/ffT6M/H03iIrEZpBOGks9K6NKYS6SUKM0tinZIpUQhIUTv\nvGOW6S9KJDQkJoaUOt79F79fTJdXXjaSVNcDM+4AJoNXAIUAVAAOALj/hnPuA9BeEP8SAHcAndRO\nFh7vxd6oPaR/NNCXFRUIcnDA3R4mSuIQiYBPPwVcXYGnngI4yw7fU8vUSF+YjoEvDITPIiPvkEzA\nPwYOxJtBQYhISUFmW08BjjjsTNiJ8F3hCPMLQ8ozKZg+aLqZJdWfgf8YCI+7PZD1UBY4lWV/v9Da\nCixeDMyaxXfYMwPtd/+2Otz9A7z933uR5Ub/tGOoAhgAoGN4QWnbaz2do2carW543++N+hP14JS6\nf9EVGg3+U1SEd4QK+9QWa2tg3z4gPx/4179MO7cOkIaQvTQb/Sb3Q+DLpsnCNAVPBwTgvWHDMDs1\nFQdLMhCxJwJ7Uvbg3BPn8Nadb8Hext7cIhrMsI+GQWQjwpUXrphblK7hOGD5csDdnY+SM4MjVSyV\nIq+pCcs66/XRDcoqJeTp8l6R/WuoAtB263Hj/55JgpLtA+zhNMoJ0gtSna/9pLQUM9zcMNHV1QiS\n9YCjI3D0KB8a+tlnpp9fC/I35EMj12DE9hF9LsrhQW9P3KlKw/9dvoJJo5ch6qkoBPsGm1sswbCy\nscLYA2MhPS9F2bYyc4vTOevXA8XFwA8/8DdFJoaIsD4/H28NGQI7Xe/+j9bCc64nrOwtOxIOMLwj\nWBmAjrd/geDv8Ls7Z2DbazexadOmv55HREQgIiLCQPHazEC/1cLzHu2z8aQqFT4sKUH0hAkGz683\nXl58d6MZMwBvb76XgIVQsacCtQdrMSF2AqxsLf9LrgtxZXFYeXQlBrgOwNczPsA/S3ywqFGGmUJk\nf1sQNv1sEHI0BMnTk+E4whGecywoW3XrVuDkSeDiRf5myAwcq6tDo0bTeae/Hqj9rRZ+y4xn5T5/\n/jzOnz9vtPF1wQbAVfBOYDv07ASeChM6gYmImvKbSOwtJk2r9k6cTQUF9GR2tlHk0Zn0dL7L0cmT\n5paEiIgkkRIS+4pJnm26uv6mQN4qpxdPvUh+7/nRD2k//FW7/Wx9PfmIxXSmj3Zzk1y0sP/Pr74i\nCgoiKjVfDSk1x9G4S5foSI3uXdZaq1vpottFUsmM35OkHZjIotIV8wDkgHcGb2h77Zm2Rzuftx1P\nBdDVbbXRPqCkO5K0bpknVanIKzKy00gQsxEVReTjQxQdbVYxmgqaKMo/iupO963F8FTeKQr6OIiW\n/baMahQ3f08iJRLyEYv1WhB6A+Vfl1Ps8FhS1pk5MujgQb60c47xyrlrw56KCpqemKhXA5eSz0oo\nc2mmEaTqGphZAQiF0T6gsp1llPFQhlbnbikspMeysowmi96cOMHvBFLMU11S1aiiuJA4KvnEMrpr\nCUGtopaW/baMBn80mE7mdb/DimtoIF+xmH40dkKgmch7KY+S704mjdJ4VVK75exZ/iYnIcE887fR\notHQYAMq/iZMSaDaE6btRQ1WDbR7fB7yQf3peqgbuk8Kk6nV+KS0FK8PHmwiyXRg3jzeITxvHl8H\n3YQQR8h+LBv9pvbDgGctp7qnvhAR9qfvx7jt4+Dl6IWMtRm4d/i93V5zW79++D0sDC9cuYK9lZUm\nktR0DNs6DFa2Vrj60lXTTx4Vxfu4fvkFmDjR9PN3YHtZGUJcXPSq+NuU14SWwhZ43GP50T/tmK9c\noQmx9bCFx10eqPmtBgHLA7o8b1tZGWZ7eGCUk5MJpdOBhx7im1/fcw9w4QIwZIhJpi14vQBqqRrj\nfh7X6yN+ihuKsfb4WhQ1FOHwI4cxZeAUra8NdXHBn2FhmJOWBoVGg7UDer8ybEdkLcLYA2ORNDUJ\nZTvLMGC1id5bUhIf6//dd8DMmaaZswtqlEr8r7gYF8LD9bq+6ocq+D7iCyubW+K+WnCMuk2q/rWa\nku/sug2jTKUiX7GYMuUW4gzrjs8/Jxo61CSOssrvKykmKIZaq3tHZnJXqDVq+jT2U/Le6k1bLmyh\nVrX+7ye/qYmGxMTQ1l5at6k7FHkKEvuaqIVnRgaRnx9v+7cAVl2+TM/n5up1LcdxFDMshhriGwSW\nqmfAfAA9o2nRUKRnZJfFyj4sLqYlGdr5CSyCrVv5jkhlZUabouFSA4m9xSRL077/qSWSUZVBU7+c\nSnd8fQdl1wgT3VXa0kKjL12iN/Lz9XIWWjL1Z+tJ7CempqtNxpskM5N3+O7bZ7w5dCC5sZF8xWKq\nV+rnCJdGSyl2VKxZvgtgCkA7Lq+6TEXv3nzXptRoKDA6muIbTK+9DeLtt4lGjiQqLxd86JbSFooa\nEEU1h3pv5EuLqoU2nttI3lu9aUf8DtJwwjo4q1pbKTw+np7PzTV5s3ljU/p5KV0ad4lUDUYIZ8zO\n5ivffved8GPrAcdxNDMpiXYacDOVszaHCrcUCiiV9oA5gbXD7zE/VH1XdVN3pB+rqzHc0RGT+vWy\nyn2vvQY8/jhw112AgI5JTbMGGYsyMGDdAHjfb/n1TDojuiQa43eNR3JlMlKeScHqSathJRL26+5r\nZ4dzYWGIk8mw0kTN5k1F/7X94XaHG7L/ng3SCPi+cnKA2bP5uv6PPSbcuAbwc00NGtRqrAjo2j/Y\nHZySQ81PNfBd6iuwZLcWRteUnIa300ljrtXo5jiOQuLi6GStaUO3BGXzZqLRowUxB3EcR5mPZFLm\n0sxeadpobGmkdcfXUcD7AfRTxk8meQ8ylYruTk42erN5U6NRaig5Ipmu/POKMANmZvJ3/l9/Lcx4\nAiBTqWhQdDSd1zPsk4io6kAVJc1KElAq3QDbAWiHyEqEAWsGoHxb+V+vnZFIAABzPS0oFV5X3ngD\neOIJvmpicbFBQxVtKUJzfjNGfWm5LR274njucYzbPg7NqmZkrM3Ag+MeNMl7cLGxwbGQEKiIcF96\nOhQCN5s3F+0tJWt+qUHlXgN3mGlpwN13A+++yxd5sxDeKCzEne7umGVAqY+ybWUYsK7vRISZC5No\nS2WdkiLdI6m1io8CuSs5mb6tqDDJ3Ebnww/5NPr8fL0ur/6lmqIDo6mlXLvOWJZClbyKHvnlERr2\nyTA6e/Ws2eRQaTT0ZHY23Z6YqLcz0RKRZ8hJ7C0maZSe3a0SEvgkxgMHhBXMQOIbGshPLKYaA3pv\nyNJkFNU/ynwJdMR2ADph62kL7we8UfFVBRJlMuQ2N+MR3z5iu3vxReCVV/idwOXLOl0qS5Yhd3Uu\ngg8Fwz6gd5Q8JiJ8m/otQnaEYFC/QUhbk4a7h95tNnlsrKzw1ahRmNKvH2alpKCitdVssgiJ8zhn\njN47GplLMtFS1KLbxVFRfPLizp3Aww8bR0A9UHMcVubm4r1hw+BtZ6f3OOXby9F/Vf8+VxTRHJhM\nYzYmNlL0oGh6NC2D3i8uNtm8JuObb4j8/bVOq28pa6HowGiq+qn3lDnIr8+ne769h8bvHE+J5Ynm\nFuc6OI6jLYWFNCQmxrJqShlI8QfFFBcSR6pGLSODTp3i+/haSCHDjrxXVESzU1IM8hGppCqK9Ig0\n+44ZLAxUd2Imx9Oc/10gqcp0VftMym+/8bVVLlzo9jS1Qk3xE+PNFsKmKyqNij6I/oC83vWid8Xv\nkkpjuf9/u8vKKCAqihIbG80tiiBwHEeXV16m1AWpxKl7WDh/+on//oktr33m1aYm8oqMpCtNhuU5\nlHxaonWNMWMCpgB0Z9sHabR/unmraxqds2f5O7DDhzs9zGk4Sn8gnbKWZfWKiJ+UihSatHsS3bnn\nTsqryzO3OFrxa3U1+YjFpusrbWQ0Sg0l35VMeS908/nv2sUneZmpcGF3qDmOpicm0ocG7vw5jqNL\noy+R5IL+0UNCAaYAdKNFo6GBf0TSee9IUlzuO1v0TomL481Bu3bddOjqhquUOD2RNC2WHbrYrGqm\nf539F/ls9aGvkr7qFcqqI+clEvIVi2lfZaW5RREEZb2SYkfGUumOG0qRcBzRm28SDRtGlGeZCvrt\nwkK6MznZ4MS9+rP1FBccZxHfRTAFoBvfVlTQnJQUyn8jny6vuGyyec1GXh5fO+jNN/kfKRGVf1lO\nMUMtv8bP+YLzNPKzkbTkpyVU3ih8xrOpSJfJKDA6mt4rKrKIRcNQFHkKEvuJqfZkW/6MSkX09NNE\nEycSWaiiS25sJB+xmIqaOy8Howspc1Ko7AvjlWHRBTAFoD0cx9GkhAQ6WlNDylolXx+o0PAvhMVT\nWcn/OJ96iuqOV5HYV2zRux9ps5RWHVlFAz4YQAezLaNYmKEUNzfTuEuX6PncXFL3ASUgFUv5WlFR\nlUQLFhDNnUsks8y6Uc1qNQXHxdFeAUK+pTFSih4UrVOXQWMCFgaqPZcaGyFRqTDfywu2XrYIWBmA\n4ncMS57qFfj5AefPQ36FQ/aieIz7ZhCcRllm2euD2QcxbjtfejpzbSYWjV5kbpEEIdDBAZHjxyNN\nocCSzEw09fKEMbfpbhjxlifSI6LR4joUOHoUcHExt1id8lp+PkY6OmKZHj1+b6ToP0UY9NogWNn1\n/uWz978DHfm0rAzrBgyAVVuGaOBLgaj+sRotpTrGN/dCWhttkV64CsPvyoL7y3OA/Hxzi3Qd5bJy\n/N9P/4fX/ngN+/5vH3Yu3Ak3BzdziyUoHra2OBUaCldra0SkpKBKqTS3SPqTlATf/92DAbNlSM9a\nBnWzZWaO/1pTg8N1dfhilOHZ7Y0JjZCnyhHwlH51gyyNW0oBVCmVOFlfj+X+/n+9ZudrB/+n/FGy\ntcSMkhkfdYMaafPS0H9Nf/idehVYtw6YPh24eNHcooGI8EXiFwjbGYYx3mOQujoVMwebtzmIMbGz\nssLe0aOxwMsLU5OSkCGXm1sk3fn1V2DuXODjjxF4fBncprkh8/8ywSk5c0t2HXlNTViTm4ufx46F\np62tweMVbSnCoPWDYGV/Sy2dJsHotrK3Cwvp6eyb68G3VLRYREKHsVA3qylpVhLlPpt7vQPy9Gk+\nRbvDIB4AAB4XSURBVH/nTrPJllubSxF7Iui23bdRamWq2eQwF99VVJCPWEzHe0sxQo2GaONGosDA\n6xINOTVH6YvTKfPRTOI0luHfaFKrKTQujrYL1DipMbmRogKiSN2kFmQ8oQDzAfQMR4QvKiqwqn//\nm47Z+9vDb5lfn9wFkIbv52vnZ4fhHw+/fgs8Zw4gFgOffAKsXQuoVCaTS6VR4R3xO7j9q9tx38j7\nEPN0DEL9Qk02v6XwmL8/DgcHY0VODj4qKbmpVLlFIZcDS5YAv/8OxMVd179XZC3CmH1j0Fraiisv\nXTH7+yAirMvLQ7CzM1Z38pvXh6L/FCHwlUBYO1oLMp4lcMsogD8lEvSzscFtrq6dHh+0YRAqv6tE\nU26TiSUzHkSEvGfzoJaoMebbMRBZdWL/HDECiI0FSkqAO+8EystvPkdgEssTMfnLyThXeA7xK+Px\n4u0vwtqq7/yodOV2NzfETJiAbyorsSInB62cZZlRAPC1paZMATw9gT//BDqYUduxdrBG8JFgSP+Q\novhd8wZWfFxaigSZDLtGjhSkIqz0ghSyBBn6rxZGmTBuxqjbpCUZGT1uBYveK6LUeal9Ik6b4zi6\nsv4KxU+M166rk0ZD9J//8PXaz583ikwKpYJeOf0K+b7nS9+mfNsnPmchkalUtCQjg6YkJFBpiwWZ\nI3/+mc8o/+ILrU5vKW2hmKExVLrN+D2rO+NwTQ31j4oSJN6fiEij0lBcSJzF1soCywPonsrWVnKP\njOyx7o+mVUOxo2Kp5mjvbYPYTuGWQro07hIpa3UsS3z6NN+o+913eaUgEL9f/Z2GfjKUlv66lKrk\nlvlDsgQ4jqP/FRZS/6goEkv1LL8sFK2tRC+9xJcYj4/X6dKm/CaKHhhNFXtMW2o9sbGRvMViuiRg\ne9fSz0sp+c5ki71hAVMA3dOV87cz6k7XUcywGFI3W5ajRxeKPyqm2OGx+ju1i4qIbr+daN48oupq\ng2Spa6qj5YeW06CPBtHx3OMGjXUrcaK2lnzFYvqouNg8C09+PtHkyUQLFxLp6aCWZ8kpyj+Kqn42\njcIvbm6mgdHR9HOVcPO11rSS2EdMsnTLTHAjYk7gbunO+dsZnnM84RzsjNKPSo0smXEo21aG0o9K\nEXY2TP+6/oMGARcuAGFhwPjxwLlzOg9BRPgp8ycEbw+Gq50rMtZkYP6I+frJcwsyz8sLsRMm4Puq\nKjyYmYlGtdp0k//yC2/vf+QR4MgRwMtLr2Gcxzgj5GQI8tbloeZgjcBCXk+VUonZqal4YeBALBGw\nv0fB6wXwfdQXLsGWmeDWlzCKdvy9ro7C4nQr2tR0tYkivSJJkWe5pRI6o/ijYooJiqGmfMPK3F7H\nqVN8MbnXXuNNAlpQ0lBCf9v3Nxq7bSxFF/fxiqtGplmtptU5OTQiNtb4ZaUbG4meeoqvG6Wjyafb\nYRMbSewrNpoNvVappOC4ONpUUCDouNJoKYn9xKSUWHZ3N7AdQNd8U1mJFQEBOkUCOA51RNCbQche\nmm1xiS1dUfJBCco+K0P4+XA4DnEUbuC5c4HUVCAzE5g6FcjK6vJUjjhsj9+O8bvGY1L/SUhalYTb\nA28XTpZbEAdra+wYORJvBQVhbloaPiwpAWeMEMvoaCA8nH+ekgJMmiTY0K4TXBF2JgxXnruCqgNV\ngo0LAI1qNe5NS8O9np54c/BgwcZVN6iRvTQbo3aNgq274QlkjJ4RXDNKVSpyu3iRavXoz8pxHKXO\nT6Wrr10VXC4h4TiOCjYXUOzwWGouNmJRO44j2r2bjwb58EMi9fU+kqzqLJr+1XSa9tU0yqzONJ4c\ntzD5TU00NTGR7k1NpUoD+theR0sL0YYNvOP/oHGL7snSZBTlH0XlXwlT1bVOqaSpiYm0JidHUD8J\nx3GU+Ugm5azJEWxMYwLmBO6c3WVl9EB6ut7Xt1a1UlT/KKr/wzKbeXBqjnLW5FBcWJzpspjz8ohm\nzuSdxJcvU6u6lTaf30zeW73p80ufk4azjAqJfRWlRkP/vnqV/MRiw52dly4RjR1LtHgxkQBVMrVB\ncVlBMUExVLil0KBFu6ylhYLj4ujlvDzBneQVeyro0thLpFb0jkAQMAXQOdMSE+lIjWEhnXWn6yhq\nQJTF1c1XN6sp/YF0Sr4rWbs4fyHRaIg++4yUHm704SI/uv/b+VQs7YO9lS2YGKmURsbG0qOZmVSn\n6w5XLid69VX+rv/Agb96RJiKlrIWiguLo5x1OT23luyEPIWChsTE0P8KDVMinaHIVfAlrtMsN+rn\nRsB8ADeT29SEq83NuNfT06BxPOd4wv9xf2QsyoCmyTLK9yqrlEi7Jw0iW9H/t3fncVVXeQPHP4qI\nCoqsKq6IpilaamWLuaRli1qZZZtjj5JmTk3LTNn01NRraibtmXa3bNUy203UTE1JQUNTJJBQJBVF\nBC47XOBu5/njwKAGLnBX7vf9et0X3MuP3+/cA/d8f2dn8PrBtOrQyqnXL7cY+UtUBtc85Mvd+Z34\n9tVjdE/zzFFTnurKwECSLruMTq1bE717N1/k5Z3f8gvr10N0NGRnw6+/wtSpYIeZshfCL8KPIT8N\nwbjfyP4p+7GUnf8Ip4SSEkbu28fTPXrwTM+edpnlW8uUbyJlQgqRL0USMEhG/TibXaPi3zMz1RN2\n2pbOZrWptGlpKvnmZGU1ubaJo2RXidrRfYf6/bnfXbLo1vqD61XP13uq6d9OV4YKg757XLVKzyCe\nPbvRY8ZF4yUUF6uBiYnq5uRkdaSh2a9ZWUpNmaJUnz5Kbdzo3AQ2wFplVekx6SpxQOJ5jbhbkp2t\nwuLj1XoH/I+ZS83ql8t+UZnPunefX32QJqDTWWw21W3HDpVsx92JrCarSr4lWaXdn+ay1Q5zPspR\n8aHxKu+bpk3Oaoy88jx139f3qcg3ItUPh3744wFFRUrNnatUWJhSCxfqLQKF01RbrerlI0dUyPbt\n6uUjR1RlbSe90aiX+AgO1luCGu04RNgObDabOr74uIoPj1eG9fUX7FVWq5qVnq4uTkxUByvsPzTb\nWmVVSWOTVPqsdLed7Xs2SAA43caCAjXUjuOYa1kqLGrP1Xsa3XbZWKYik0qblqZ+vuhnVb6/3GnX\nVUp/QFckr1CdXu2knvzhSVVefY7rJycrNXq0UoMGKbVpk3MSKf4r02hUk1NSVK+dO9VXq1crW69e\nSt1xh1J2HiNvb8XxxSqha4LKeDLjtFn4yWVlavCuXer2lBRV4oCbitq+tJTJKU79TNsTTQgA7rSF\nT817abr709K4okMHHu3WzS7nO5W5yMz+O/bTsm1LBqwcQKtAx7a/F24u5MCMA4RMDCFqQRQ+/s5b\nNfNo8VEeWvcQJ8pO8P6k97ks4jzHhiulNwyZNw+iomD+/Lox5sLxtm1jy9KlPHbLLQR26cLLQ4Yw\nsmNHV6fqnEwGExlzMqhIq6Df8v4sDSvm1WPHWNC7Nw907mzX9n6A6hPVpN6eSptebej/cX982njm\nirQ1+eJOZXmj2CUallssKnDbNpVnr3HS9bCarOrA3AMqsX+iqjjomNnCVTlVKj0mXe3otkMVbChw\nyDUaYrFa1Bs731Ah80PUv7f/W5ksjZwJWV2t1Ntv69Em992n1MGD9k2oON2ePXpz9l69lPrkE2Wx\nWNTHOTkqcudOdcO+fXZdIM1RbDabSnjvsIoNilP/nJ6gMnMcM/u5ZFeJ2tFtR5OHo7oDpAmozsqT\nJ9VNyc7ZWSp7SbaKD4tXxxceV1azfTqHLUaLOvLSEbU9ZLvKeCJDmQqdOw09JTdFDV82XI38cKQ6\nYLDTRJiSEqVefFGpkBClpk9X6tAh+5xXaElJSt16q1Jduij15pt6ctcpqq1Wtfj4cdV9xw51XVKS\n2lBQ4JaF3omqKjU9LU11SUhQy/dmqbQHflPxnez/+Tr8z8MqPjRe5a/2/FV/lZIAcJpbkpPVCidN\nalFKqbJ9ZSrpuiSVOCBRGb5v/OiEquwqdfiFwyqhS4JKuSNFGQ85t7Ou0lypntvynApdEKqW/rLU\nMRO6ior0doIhIbpG4KRA3WzFxys1caJeq+m1187ZwWuyWtXynBw1aNcuNXjXLrUkO9sh7eoX6lhl\npXo8I0MFb9+u5mVmqtJT0lSaVKqSxiapnVE7VdZ/spSpoHE3RDabTZ1ceVLt6LFDpU5JVcZM9+oM\nbwqkD0AzmExEJSZy/KqraN/KeWPjlVIUxBaQ+WQmPh18CL8rnLA7w2jb++xr8lSfqKZ4azGG1QaK\nNhcRfnc4EXMiCBjs3DHI8VnxPBj7IP1D+7Pw5oVEtHfwrkclJbBkCbzxhl5t9K9/1buROXk8ukey\nWmHtWnj1Vb1729/+Bg88AG3Pf/0npRSbiopYeuIEW4qLmRwayvTOnbkmMBAfJ/0NlFLsLS9nYXY2\nqw0GZnTuzOPdu9PV748r2CqlKN1ZSvaibArXFRJ6WyghE0IIHBVI69DWZ71Oxf4K8r7II/+LfFq2\na0mf1/vQcaT794dciKb0AbjTJ67JAWBJdjZxxcWsGjjQTkm6MDaLjZKfSsj7Mg/DNwZ8Q31pG9UW\nvx5++HXzw1Zpw2wwYy4wU55cjjnfTMdRHQkeH0z4PeFOn9BVWl3KvM3z+O7Ad7x909tMvniyU69P\nVRUsX64DQcuW8MgjcP/94O/v3HR4gqIieP99WLgQwsPh8cf1/rxNvNHJNZn46ORJPsvN5aTJxO1h\nYUwODWVEYCBtfezfKXqkspJVeXmsyM2l0mZjRufOPNy1K8G+57fgminPRO6nuRRtLqIkvoQ2kW3w\nv9ifViGt8A31paVvS6qOVVF9tBpjhhFlUoRNCSPszjA6DO9Q/7aoHk4CQI2RSUn8tXt3JoWG2ilJ\njWez2KhIqaDqaBXVWdVUH6/Gx9/nv/+o7fq3I2BwgMv+IdccWMPc9XO5MepGFly/gKC2QS5JB6BH\nDW3ZAm+9pTepv/tumDkThg51XZrcgVKwfbsu+L/7DiZM0EFy+HCHXO6Q0cjXBgPfGQz8Wl7OsPbt\nGdOxI8Pat2dwQAA9/PwuaCSOVSl+r6xkX3k5W4qL2VxURInFwm2hofypUyeuCQxs0sgem9lG+d5y\nKjMr9Y2VwYzNZKNN9zb49fSjTa82+A/wb5aF/qkkAABZVVUM/eUXTlx9Na1bNtsVLpostzyXRzc8\nyt6cvbw74V3GRI5xdZJOl5UFH30EH3wAQUEwbZperqBrV1enzHkyM+Gzz2DFCn2HP3OmzoewMKcl\nodxiIaG0lLjiYpLKykipqKDcaqVv27Z0bt2aLn5+hPn64tuiBT41jzKLBYPZjMFsJqu6mnSjkXBf\nXwYFBDCmY0fGBQUR7e9PS2nqsysJAMCCrCwyKytZ2q+fHZPUfCil+GjfRzy9+WlmDpnJ86Oep62v\nHfcNsDebTdcKVq6E1av17mR33QWTJjXPYHDokL7L//xzOHpUv9d779V7MLhJgVlgNpNZWclJk4kc\nk4l8kwmLUljRd/vtfXwI9fUlxNeXrn5+DGjXzql9cd7KVQEgGPgc6AkcAe4Cius57ghQClgBM3BF\nA+drUgC4dPdu3uzbl1EeMOHF2TILM5m1dhbFVcW8N/E9hnQZ4uokXZiqKvj+e/jmG1i3Dvr00YFg\n/HjdTOSAtmqHM5vh559hwwZd8BsM+j1NmQLXXdfktn3hPVwVABYAhpqvTwNBwLx6jjsMDAMKz3G+\nRgeA9IoKxiYnc+yqq6R6eQqLzcLrO19nfsJ85o2Yx2NXPkarlh5esJjNsG0bxMbCpk1w8iSMHQuj\nRsGIEXqlS3cMCGYzJCXpPo64OL3ncp8+cMMNuuAfPlx3hAtxgVwVANKBUUAu0BmIA/rXc9xh4DKg\n4Bzna3QA+OeRIxjMZt7s27dRv98cJeUkMXPNTILbBrN0wlKigqNcnSTHOH4cNm/WnaXx8ZCbC5df\nrmsGQ4fqJSiiopx7R11dDQcP6q0V9+6te0RG6iA1cqQOWk5s0xfNl6sCQBH6rr/2PIWnPD/V70AJ\nugloKbCsgfM1OgAM3r2bRX37MkKaf6g0V/JC3At8uO9D5o+bzwOXPmD3NVTcWl4e/PJLXaGbnKzX\nvo+MhP799dcePfQjIgJCQ/UjMPD82tptNj0k02DQj+xs3XGdlQW//w4HDsCxY9Crlw4+Q4fquQ6X\nXw7y/ykcwJEBYBP67v5MzwIfc3qBX4juFzhTFyAHCKs53yPA9nqOa1QAOGA0ct2+fdL8A2w9vJVZ\na2cxpPMQ3rrpLToH1Pen80JVVZCRoQvnI0fqCuwTJ6CgQBfk5eXQrp1+tG17eo3BbIbKSjAa9dfA\nQAgJ0YGja9e6gNKrlw4yvXtD67NPUBLCXpoSAM5VL77+LD+rbfo5iS7k8xo4Lqfmaz7wLboTuL4A\nwAsvvPDf70ePHs3o0aPPkTz4Mi+PO8LCvLrwL6os4qlNT7EhcwMLb17IpH6TXJ0k99KmDQwapB8N\nsVjqCnmjUc+4reXjoyen1QYHd+xjEF4jLi6OuLg4u5yrqZ3ABcB8dOdvR/7YCdwO8AHKAH9gI/Bi\nzdczNaoGcMnu3bzTty/XemH1WinFN799w6MbHuXWfrfyyrhX6ODXwdXJEkI4kSNrAGfzCvAFMJO6\nYaAAEeh2/lvQNYRvTrnWp9Rf+DfKQaORfLOZawID7XVKj5Fdms2fv/8z6YZ0vpjyBdf0uMbVSRJC\neBh3aje54BrAy0ePctJk4m0vGv1jUzaW7VnG/279X+ZcNodnr30Wv1Z/XEBLCOEdXFUDcLkv8/J4\ny4sK/wOGA8xaO4tqSzVbp28lOjza1UkSQngwj515kmE0kuslzT9mq5l/bf8X13xwDXdcfAcJMxKk\n8BdCNJnH1gC+zs9ncmio09Yvd5Xd2buJiY0hon0Ee2btoWfHnq5OkhCimfDYAPCtwcC/evd2dTIc\npsJUwfNbn+fTlE95bfxr3BN9j3dN6BJCOJxHNgFlV1dzqLKSkc20+Wdj5kaiF0eTZ8wj9eFU7h10\nrxT+Qgi788gawBqDgZtDQvBtZotnFRgLeGLjE/x05CeWTFjCjX1udHWShBDNmEeWoKsNBm5zg12/\n7EUpxWcpnxG9OJqgNkGkPpwqhb8QwuE8rgZQbDazs7SUr12076+9ZZVk8fC6hzlacpTVU1czvJtj\ntvsTQogzeVwNYH1hIaM7diTAwzfMsCkb7+x6h6FLhzK863D2zNojhb8Qwqk8rhRtDs0/aflpxKyJ\nwaelD/Ez4ukfWt82CkII4VgeVQOoslrZWFjIxJAQVyelUaot1bwY9yKjPhrFtMHT+OmBn6TwF0K4\njEfVALYUFzM4IIAwD1xrfeexncTExtAnuA9Js5Po1qGbq5MkhPByHhUAPLH5p6y6jGe3PMtXaV/x\n5o1vMmXAFBnTL4RwCx7TBGRTitiCAiZ5UPPPuoPriF4cTYWpgtSHU7lz4J1S+Ash3IbH1AD2lpXR\nsVUr+rRr5+qknFNeRR6PbXiMxOxEPpj0AWN7j3V1koQQ4g88pgawtqCACW5+96+UYnnycgYtHkS3\nDt1ImZMihb8Qwm15TA1gbUEB/+nTx9XJaNDhosPMXjubfGM+6+9dz7CIYa5OkhBCnJVH1AByqqvJ\nrKri6g7ut9+t1WbltZ2vcfmyyxkbOZZdMbuk8BdCeASPqAGsLyxkfFCQ2y3+lnwymQdjH8S/tT87\nZ+6kb4j37E4mhPB87lWiNsDd2v+rLFU8++OzXL/iemYPm82WP22Rwl8I4XHcvgZQZbWypaiIZRdd\n5OqkALDt6DYejH2QQeGDSH4omS7tu7g6SUII0ShuHwB+KilhkL8/oS6e/VtSVcJTm55iXcY63r7p\nbW6/+HaXpkcIIZrK7ZuA3KH5Z3X6agYuGkiLFi3Y//B+KfyFEM2CW9cAlFKsLSggNjraJdfPKcvh\nke8fISUvhZV3rGRkz5EuSYcQQjiCW9cAfjMasSnFQH9/p15XKcX7e9/nkiWX0D+0P8kPJUvhL4Ro\ndty6BvBDYSE3Bgc7df2cQ4WHmBU7izJTGZv/tJnBnQY77dpCCOFMbl0D2FATAJzBbDUzP34+V753\nJRMvmsjPM3+Wwl8I0ay5bQ3AaLWyo7SUL5yw9++eE3uIiY0hrF0Yux/cTWRQpMOvKYQQrua2AeCn\n4mKGBgQQ6MC9f41mI//Y+g+W/7qcV69/lWmDp8lyzUIIr+G2AcDRzT8//v4js9fO5vKul5MyJ4Vw\n/3CHXUsIIdyRWweAVQMG2P28RZVFPLnxSX48/COLbl7ELRfdYvdrCCGEJ3DLTuDDlZUUWyxcEhBg\nt3Mqpfhy/5cMXDQQf19/UuekSuEvhPBqblkD+KGwkPHBwbS0U3v88dLjzF0/l4yCDL666yuu7n61\nXc4rhBCezC1rAPZq/7cpG4t3L2bI0iEM7TyUpNlJUvgLIUQNt6sBmGw2thYXs6xfvyadJ92QTsya\nGGzKRtz0OAaGO344qRBCeBK3qwHsKCmhX7t2hDVy9U+T1cRL217i2g+v5Z7oe4ifES+FvxBC1MPt\nagAbi4q4ISioUb+beDyRmNgYegT2YM+sPfQI7GHn1AkhRPPhdgFgU1ER/xcVdUG/U24q57ktz7Fq\n/ypeH/86UwdOlQldQghxDm7VBFRoNnPAaOSqC9j8fcOhDUQviqagsoDUOancHX23FP5CCHEe3KoG\nsLW4mBGBgbQ+j83f8yvyefyHx0k4lsC7E9/lhqgbnJBCIYRoPtyqBrC5qIhx52j/V0rxya+fEL04\nmnD/cFLnpErhL4QQjeBWNYBNhYXMOcvuX0eLj/LQuofILs0m9p5Yruh6hRNTJ4QQzYtb1QDKrFYG\n1bP7l9Vm5a3Etxj27jBGdB/Bnll7pPAXQogmcqsawLigoD904KbmpRKzJga/Vn4kzEigX2jTJogJ\nIYTQmlIDuBPYD1iBoWc57kYgHcgAnj7bCU9t/6+2VPP81ucZ8/EYZgyZwdbpW6XwF0IIO2pKAEgB\nbge2neUYH+AddBAYANwDXNzQwbUBID4rnkuXXkpKXgrJDyUza9gsWrZwq9Yqh4qLi3N1EtyG5EUd\nyYs6khf20ZRSNR04eI5jrgAOAUcAM7AKuLWhgwNbmJi7bi5Tv5rKy9e9zLdTvyWifUQTkuiZ5J+7\njuRFHcmLOpIX9uHo2+quwLFTnh+vea1eAxcNxGQ1kTonlckXT3Zw0oQQwrudqxN4E9C5ntf/DsSe\nx/nVhSRm+W3LGRM55kJ+RQghRCPZY82ErcCTwN56fnYl8AK6DwDgGcAGzK/n2EPAhS0CJIQQIhPo\n46qLbwWGNfCzVujE9QJaA/s4SyewEEIIz3A7un2/EjgJfF/zegSw7pTjbgIOoO/wn3FmAoUQQggh\nhBBu6LwnijVD3dFNaPuBVODRmteD0R3wB4GNQEeXpM41fIAk6gYZeGtedAS+An4D0oDheG9ePIP+\njKQAKwE/vCcvPgBy0e+91tne+zPosjQdcPtVMn3QTUO9AF+8r4+gM3BpzfcB6Kayi4EFwFM1rz8N\nvOL8pLnME8CnwJqa596aFx8DM2q+bwUE4p150Qv4HV3oA3wOTMd78uJaYAinB4CG3vsAdBnqi863\nQ7jZem9nugrYcMrzeTUPb7UaGIeO3p1qXutc89wbdAM2A2OoqwF4Y14Eogu9M3ljXgSjb4yC0IEw\nFrge78qLXpweABp6789weivKBvRIzAa5Ojpc0ESxZq4XOtInov+4uTWv51L3x27uXgf+hh4qXMsb\n8yISyAc+RA+vXgb44515UQj8B8gCTgDF6OYPb8yLWg299wh0GVrrnOWpqwPABU0Ua8YCgK+BvwBl\nZ/xM4R35NAHIQ7f/NzQ/xVvyohV6gcVFNV8r+GPN2FvyIgp4DH2DFIH+rNx/xjHekhf1Odd7P2u+\nuDoAZKM7Qmt15/QI5g180YX/CnQTEOioXjsDuwu6YGzurgYmAYeBz4Dr0HnijXlxvOaxu+b5V+hA\ncBLvy4vLgB1AAWABvkE3HXtjXtRq6DNxZnnarea1Brk6APwC9KVuothU6jr/vEEL4H30KI83Tnl9\nDbqji5qvq2n+/o7+540E7ga2ANPwzrw4iW4avajm+Tj0KJhYvC8v0tHt2G3Rn5dx6M+LN+ZFrYY+\nE2vQn53W6M9RX2CX01N3gbx5otgIdHv3PnTTRxJ6WGwwujO0uQ9xa8go6m4EvDUvLkHXAJLRd72B\neG9ePEXdMNCP0bVmb8mLz9B9Hyb0TcH/cPb3/nd0WZoOjHdqSoUQQgghhBBCCCGEEEIIIYQQQggh\nhBBCCCGEEEIIIYQQQtjf/wMDl0lLW0KZDgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we can find the approximation of that basis by the above (last generated) population. First, compute the correlation matrix and do SVD on it." ] }, { "cell_type": "code", "collapsed": false, "input": [ "G = np.dot(A,A.T)\n", "U,S,V=np.linalg.svd(G)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the left and right singular vectors are transposes of one another because G is a symmetric matrix (and they are the eigenvectors), and that the eignvectors of G are the left singular vectors of A. The singular values of A are the square root of the singular (eigen) values of G ([wikipedia][wikisvd]).\n", "\n", "[wikisvd]: http://en.wikipedia.org/wiki/Singular_value_decomposition" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Plot 10 singular values of the correlation matrix G\n", "plt.plot(S[0:10])\n", "yscale('log')\n", "disp('Singular Values')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Singular Values\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "chi = np.dot(U.T,A) #Project the neural activity onto its singular vectors\n", "chi = chi.T/chi.max(axis=1) #Normalize to 1" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(chi[:,0:BasisSize])\n", "title('Bases')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEKCAYAAAAb7IIBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8VFX2wL8hCZBQA4SQ0AkQQgiEKupPiYpdBFlFWde6\nlnVta9lVd+26a18VuyJrb4BgQxQFhISQAum9kN77pE5m3vn98RJDSUibRrjfz+d9MuW9e8+8mdxz\n7znnngMKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhWOQDTQABqAS\n+B6YYE+BFApHYYC9BVAorIwAlwDDAG+gBHjNrhIpFA6CUgCKk4lmYDMwu/X5xUA0UAPkAo8ddu5g\n4BOgHKgCIoCxre+NAN4HCoF84Cna/5emA78B1UAZ8IV1PopC0Xdc7C2AQmEDnFr/ugNXAmGtz+uA\nPwGJQCCwA4gBvgGuA4ajm4uagSCgsfW6D4BiwBcYim5WygPeRVcG24FlwEBgkdU+lUKhUCiOSza6\n/b8KMKLP2Od0cu4rwH9bH98AhKIrhsPxAprQVwhtrAV2tj7+EHgHGN9HuRUKhULRRw4BZ7c+dgIu\nAyrQB/JTgF1AKbrJphF9AAd9dfwo+uqgAHiu9bUlgBldobQdNUB863Ve6CuBAiABXZEoFAqFwg4c\nrgDaKAX+AGQCd6ObagBeBj7uoI3J6IrgRmAcelRRd/xnp6MrlWk9llqhsAHKCaw4GXA67O9KYCSQ\njG6/bzMNLQH+iB41BBCMbv5xRjchtaDP/IuBn9FNRcPQ/4d8gTNbr7uC9jDT6tb2NKt8KoVCoVAc\nl0O07wOoBeLQbfagrwKyW1//DlgHfNT63lVACrqjuBjdP9A2YRoOvInu+K0GDgJrWt97Dt3PYAAy\ngJus8qkUCgdgIroNNRHd3nlXJ+etA9KBWGC+bURTKBQKhTUZhx4eB/pyOhXwP+qci4BtrY9PAfbb\nRjSFQqFQ2JKtwDlHvfY2eux1GynokRIKhUKhsCOWdAJPQTfvhB/1+nh0W2kb+ahcLAqFQmF3LKUA\nhgKb0EPq6jp43+mo59LBOQqFQqGwIZZIBeGKnl/lE3QT0NEUoDuL25jQ+toR+Pr6SmZmpgXEUSgU\nipOKTPQcVD2mrysAJ/SkWEnoYXId8S1wbevjpehhcyVHn5SZmYmIqEOExx57zO4yOMqh7oW6F+pe\nHP9A34fSK/q6AjgdPZlWHHpWRYB/ApNaH7+DHgF0EXpMdD1qa7xCoVA4BH1VACF0bxVxRx/7USgU\nCoWFUakgHJDg4GB7i+AwqHvRjroX7ah7YRmOjs6xJ9Jqz1IoFApFN3FycoJejuVqBaBQKBQnKUoB\nKBQKxUmKUgAKhUJxkqIUgEKhUJykKAWgUCgUJylKASgUCsVJilIACoVCcZKiFIBCoVCcpCgFoFAo\nFCcpSgEoFArFSYpSAAqFQnGSohSAQqFQnKQoBaBQKBQnKUoBKBQKxUmKUgAKhUJxkqIUgEKhUJyk\nKAWgUCgUJymWUAAbgBIgvpP3g4Ea9KLx0cDDFuhToVAoFH2kr0XhAf4HvAZ8dJxzfgMutUBfCoVC\nobAQllgB7AWqujjHkWoPKxQKhQLb+AAEOA2IBbYBs23Qp0KhUPQrampg3z4IC7Ncm5YwAXXFQWAi\n0ABcCGwFZtqgX4VCoTihaG6GjAxIS4PMzPYjORmqqsDfH668Ek491TL92UIBGA57/CPwJjAKqDz6\nxMcff/z3x8HBwQQHB1tZNIVCobAtIlBRoQ/sKSmQlASJifogX1AAkybBzJkwfTrMng0rVugD/+TJ\nMGAA7N69m8cf320RWSxlm58CfAcEdvCeF1CKbgpaAnzVev7RiIhYSByFQqGwDyJQWwuFhVBUBNnZ\n+qw+PV0/srLA2Rl8fWHWLH2Qnz1bf+zrC66uPevPyckJejmWW2IF8DmwDBgD5AGPAW0f4R3gcuA2\nwIRuBrrKAn0qFAqF3RCBsjJ9Bp+aeqTJJisLnJzA2xt8fGDiRJgxA/7wB31W7+sLHh72/gQ6jhSd\no1YACoXCISkogL174cABiInRD00DPz/9aDPZ+PrCtGkwcqTtZOvLCkApAIVCoTiMpiZISICDByEi\nAn77DSor4cwzYfFimD8fgoJg3Dh9pm9vlAJQKBSKHlJXp5twEhPbTTmpqXDokG6yWbAAFi6EZcsg\nIEB3wDoiSgEoFArFYZhMutmmqEg/ioshPx/y8vTj0CEoLdXNN/7++tFmzvHzg8GD7f0Juo9SAAqF\nol+jaVBdrQ/aZWW6SaayUo+Nr6jQH1dUQEkJ5OTog/7YsboTdtw4/Rg/XnfITpqkh1ROnapH45zo\nKAWgUChOOBoa2mfl+fn6jL1tgC8v1wf3qip94K+uhqFDwdNTP0aN0g8PDxg9Wn88erQ+6E+ZAhMm\nwMCB9v6EtkEpAIVC4VCYzfogXlSkD+xZWXosfEZG+4Df2Ng+K58wQX88dqw+wI8Z0z7AjxypHyfL\ngN5TlAJQKBQ2pb5et6NnZel/Dx3SB/aCAn1wLynRB+22WHhf3/ajbYY+apRjRNGc6CgFoFAoLE5l\npZ6mICND383aNuBnZuqmmSlT9Jj3qVP1Y9IkfRY/YYJuc1czdtugFIBCoeg1ZrO+kzU6Wo99j43V\n4+Dr6/UUBdOntw/006bps3gfH8cNizzZUApAoVB0C4NBj3tPSNAH/OhoiIvTbe8LF7ZvcpozR7fN\nKxON46MUgEKh+B2jsT3TZHp6e36atDTdMevvr29sCgpqH/BtmbpAYVmUAlAoTkIqK/XBPT1dt9W3\nHdnZ+uzd31/f0Xq4A7a/xL4r2lEKQKHoh9TX64N5mwP28L9ZWfrmKF/f9rzxs2frg/7MmTBokH1l\nV9gOpQAUihOMtlQFOTl63vi23PG5ue0DvcGg71idMqU90ubwx6NHKxu9QikAhcIh0DTdLFNWph8V\nFe1HcbE+yLfFyRcWgpdXe+ikt7d+TJrUPsh7ealIG0XXKAWgUFgZs1mfnWdm6n/bkooVFuqDe1GR\n7mAdNqx9N+vo0e1pCtpy0fj46HHyJ1OqAoV1UQpAoegjZnN7+b7sbH2Qbzvadrp6eur29kmTdCfr\nxIn6oD5unD57Hzu25+X8FIq+ohSAQtENGhv1iJm23O8ZGfoAn5Ojm2ZGj9bNL5Mn68ekSe0mGV9f\ncHOz9ydQKI5FKQCF4jAqKvSY97Q0faBPTNTDI/Pz9Z2sfn56Ae7p09sH+okTT6wc8ApFG/ZWABuA\ni4FSILCTc9YBF6IXhb8eiO7gHLn2WmHyZN1OOmaMfoweDSNG6MewYcopptAR0WfuCQn60VbNKS0N\nWlra67TOnKlvempLaaBMNIr+hr0VwBlAHfARHSuAi4A7Wv+eArwKLO3gPHn/fSE3V3estUVPlJdD\nTY1+NDToSsDDQz+GD9eX5YMH68egQbpjbeBA/XV3dxgypP29tveNRr3uZ1MTNDe3HyYTuLi0H4MG\n6e24uem5yIcP1xXR8OG6HEOH6u0PGqTC8SyBiP49t+WBr6zU88OXlOjH4ZE0ubn6dzFnjj7At8W/\n+/nptnj1fShOFuytAACmAN/RsQJ4G9gFfNn6PAVYBpQcdV6XJiCz+cgBorZWH8QbG/W/RmP7YN7U\npCuMtqPt9ZYWfcA+XCm0HS4ueh8mk35ec7PedmOjXj+0tlY/amr053V1eqx2S4t+7cCButIZPrxd\nWYwd2x4VMnJk+2pmzJj2SkXDhvXp3jscInoBj7ZwyPJyfTBvaNA3N9XX68/Ly3UlX1bWXghk8OD2\nPPAeHvq98/LSj7ZImraMkyp9gULRNwXgYllROmQ8kHfY83xgAscqgC5xdm6vBORIiOhKwGjUBzmD\nQVcUVVXtg1tpqR5C2LaaaSuWUVSkt9G2smhTEG1K5PCVhrv7kSsZZ2fdJDZgQLsC6ug4fFUzYMCR\ns2MnJ/0YMECPY9c0XQm2tOiKr02Btim+mhp9AD9cMbaV52sbzMvK9FXT2LG6omur4NT2Gdzd9RQF\nS5e2V3FqU5J22cFqNOpfmtncfhOcnPQb7OzcvoxUKOyMudGMGAWXEZYZum2hAOBY7dThVN/z4nF4\nuo/C092Ts4LPYu2KtUwfNR3nAY6dvMTJqX2wHTpUH8y6i4g+oB4+wB6+0jAY2mfNpaX6WNW20mkb\nqzRNH7DblFDbSqftcduqxmTSHx/df1sbAwa0KxVX13YzmpvbkQpq6FD9tZEj9cdtse6jRrWX7LPL\nQN7Y2J7APieH3+2JDQ3tGqvtBhqN+k2tqdFv1rBhR2pIEf1mmc36eYMG6cuQo+sRtj1uq0no6dmu\nzZTSUFiYwrcL+XXbr2Sfnm2R9mxlAtoNfNH6vFMT0PR9v3GbWzFVlfHElcYRXxJPSX0JgWMDmT9u\nPgu8F7DIZxFzxs7B1Vl5805q8vIgJkZPXh8TA/Hx+oA/Y4buCGgL7xk/vn0G7+Z2rKNo5Ehdyx3P\naSCia+SSEl0LtzkoDndWtNm0DrdnDRnSXhIrMBBOO00/fHxsd58U/QZzk5lw33ACvw9k2Px2u7Gj\n+wAOdwIvBV6hEyfwOwUF/OvQId6bOZNVnp4A1DbXElscS3RxNAeKDhBVGEVOdQ5B44JYOmEpZ04+\nk/+b9H+McnMwu5DCslRUwC+/tB/19bBggZ7LeN48mDtX9wI7SpiPiK4U2rzWMTGwb59+jBgBy5fD\neefB2WfrKwmFogsK3i6g4rsK5v4w94jX7a0APkef0Y9Bn9U/BrT9F77T+vd14AKgHrgBONhBOyIi\nRNXWsjIhgX9Nnsxfx4/vsMPa5lqiCqPYl7ePPTl72J+/n6keU7nA9wIunHEhp088Xa0Q+gPZ2bB1\nq35ER8OZZ8K55+qDp7//iRnqI6JvTNixA37+GUJC9BVLcDCcdZZ+uLvbW0qFg6G1aITPCGf257MZ\nceqII96ztwKwFL9HAWU1NnJBXBxrPD15aurUtg/YKS3mFqIKo9iesZ1tGdtIr0jnrKlncd608zjP\n9zx8R/naQn6FJTCb4Ycf4M034cABWLlSP5Yv759bcZubISICdu2CnTt1k9Zll8F118EZZ6iNLwoA\nij4oouTjEoJ+DTrmvX6nAADKjEYujo9n7pAhvOPnh3MPZnsldSX8kvULP2f9zM+ZPzPEdQgXzbiI\ni2ZcRPCUYAa7KOecw1FUBBs2wLvv6jbyv/4Vrrji5HOkFhXBZ5/Bhx/qIVa33AI33tizyAJFv0LM\nQsTsCGa+NROPs481F/ZLBQBQZzJxaUICkwcP5n0/Pwb0YskvIsSWxPJj+o9sy9hGbHEsSycs5eyp\nZ3PO1HNY4L3A4aOM+jV798K6dbpdf80auPVW3bZ/siMCUVHw1lvw9ddw0UVw33164V7FSUXpl6Xk\nv5rP/ND5HVpD+q0CAKg3m7kkPp5pgwfzXi+VwOFUN1XzW/Zv7Dy0k18P/UqhoZCzpp7FudPO5dxp\n5ypzka3Yswcef1wP17zvPvjTn/Q4U8WxVFXpq6NXXtEd3Q88oPtCTkQfiKJHGEuMHFhyAL/1fow6\nt+NAl36tAEBXAhfGxeHn7s47M2f2WQkcTpGhiF+yfmFH1g52ZO3A3dWdc6edy3m+53HO1HMYMXhE\n140ous/Bg/D3v+sO3ocf1gd+R4nccXSMRvjiC3j+eX3fwvPP634CRb9EM2rEnhPLyLNGMvXJqZ2e\n1+8VAOjmoPPi4jh75EienjbNWgKQUJrAjqwd/JT5E/vy9jF/3HzO9z2fi2ZcRNC4oC4d0opOKCiA\nf/0LfvpJn/nfeKMa+HuLpul+gn/9Sw+Dfe45Pb2pol+RdlsazYXNzNkyB6cBnY87J4UCACg1Glly\n4ADP+/qyxgZOsYaWBvbk7GF7xna+T/seo9nIJTMvYcXMFZw99WwGuajK211SXg4vvQTvvac7NB98\nUJl6LEVTE7zxBjz7LDz0EPztbypqqJ9Q+E4h+a/ms2D/AlyGHz9hQ79RAJpZO66mA4gxGDg3Lo6f\n585lvg2zqIkIKeUpfJf2Hd+kfkNiaSLnTz+flX4ruWTmJQwfpAa1Iygvhxdf1Af+NWv0AWrSJHtL\n1T85dAiuuUbf5fzhh3qmPMUJS11CHbFnxTJ/33zcZ3S9J6QvCsChpgvJf0pGa9GOe07QsGG8OWMG\nqxISKDEabSSZfpP9Pf35x+n/IPTGUFLvSOW8aefxafynTPjvBC79/FI+jv2YmqYam8nkkLS06M5K\nf389z050tB7JogZ/6zF1Kuzere8qXrAAtmyxt0SKXiKakHZLGlOemtKtwb+vONQKIO6SOESEgI0B\nOLsdPzTzkUOH2FdTw4558yzqFO4N1U3VfJf6HRuTNrI7ezdnTD6Dy/0vZ+WslSdXioodO+Duu/Xy\nWm1KQGFbwsPhqqtgxQp44QU7ZeVT9JaCtwoo+aSE+Xvnd2kNaaPfmIDMRjMp16XQUtFC4HeBDBjY\n+QLFpGmcGRPDlWPHcrcDLXlrm2v5Ie0HNiVv4pesX1g2eRlXB17NCr8VuLv20y3+TU16ZM+33+ox\n/ZdeqkIU7UlVFfz5z3pyvC+/1Asa9wKjplHW0kJuUxNZTU1kNTZSaTJhFkFr9dcNdXZmqLMzw1xc\n8HR1ZdzAgXgPHMiEQYMY5mKrZMP9g+bCZqLmRRG0O4ghAUO6fV2/UQAigmbSSLw8EWc3Z/w/9T+u\nFsxoaODU6Gj2BAXhP6T7N8xW1DbXsiV5C5/Gf0pkYSRr56zl9sW3EzA2wN6iWY60NLjySr3Y7vr1\nKrGZoyACr78OTz2l765eteqIt8uNRhLq60lpaCC1sZH85maqTSaqWlqoMpkob2mhQdMY4+rKpEGD\nmDp4MNPc3Bjj6oqzkxMDAA1oMJupM5upNZspb2mhqLmZYqOR3OZmRrm4MMvdncChQ7nC05NThw9X\nUXTHIfGKRNz83Jj2dM+iHPuVAgC96EHcBXEMnTuU6eumH/dH805hIe8WFhK2YAEDHTgCoqC2gHcP\nvMu7B9/Ff4w/dyy5g0v9LsVlwAk6S9I0eOcdePRRePJJ+Mtf1KzfEQkP153wa9ZQ9uSTbK6s5Muy\nMqINBgKHDsXPzY1Z7u5MGjwYDxcXRrq44OHiwhhXV0a4uPR6wNZEyG1qIqWhgUiDgU9LStCAa728\n+IOnJ7Pc3ZUyOIyKbRVk3J3BorhFXZq/j6bfKQCAluoWYpbF4HmFJ1MennK8i7gkPp4Fw4bx1NTO\nN0s4Ckazkc1Jm3kj8g1ya3K5bdFt3LzwZsa4j7G3aN0nPl4P6RwwQJ9dBvSjFU0/JLmggGe2bOHb\n6dO50MeHK729uWDUKAY72y4FiogQYTDwUXEx31VU4OzkxAWjRnHBqFGcPXLkSW0u0owakYGRTH95\nOqMvGt3j6/ulAgBoLmrm4KkH8X3el7FrOo/7L25uZk5kJPsXLGD6CZRK92DRQd6IeIPNyZs51/dc\nrp93PedPP99xVwV1dfD00/D++/rfm29WcecOTGxdHf/OyeG36mruHj+e2//zH0ZkZ+u+Gjsm2RMR\nEuvr+bGyku2VlUQYDCwYOpTzRo3ijBEjWDRsGO42VE72Jv/VfCq3VzL3x7ldn9wB/VYBABiiDcSd\nF8fcHXMZFtR53P9T2dmkNTby8QkYeVLTVMNXiV/xQewHZFVlcVXAVVw992oWei90jGWyCHz1Fdx/\nPyxbpkeXeHvbWypFJxwwGHgqO5sIg4H7Jk7kVm9vhrq46DVB167VQ3U3bnSYndj1ZjN7qqvZUVVF\naE0NCfX1BAwZwinDh7N42DAWDxuGn7u73aP9rEFLRQsRsyII+i2IIbN758fs1woA9Gx4mQ9ksjBy\nIQM9B3Z4Tq3JxIzwcHYFBTHbAR3C3SWtIo1P4z7lk/hPcB3gyto5a7l89uXM9pxtH2UQH6+HdlZU\n6E5FlXvGYYmrq+OfWVnE1NXxwKRJ3OTtjdvRM2mjUXcIe3jARx/pRaAdjEazmUiDgYjaWiINBiIN\nBpo1jTvHj+dWHx88HERxWYL0O9MREWa+PrPXbfR7BQCQ9a8sakJqmLdjXqfhoS/m5rK/tpZNc+ZY\nS0abISLsz9/PV4lfsTl5M+6u7lw++3LWBKwhcGyg9ZVBRYXu4N24ER57TE/TfBLbaY+HaIKxyEhT\ndhPN+c2/H8ZSIy2lLRjLjLgMd8HN1w236W4MCRzCyLNG4jLMMvczr6mJRw4d4sfKSv45eTK3ensf\n377f2AgXX6zXGPjoI70+soMTYzDw3/x8vq+o4BovL2729mbO0KH2FqtP1CfVE7MshsXJixk4pvff\nwUmhAEQT4i+OZ9iSYUx9omNnb4PZzIzwcL4LDGSBDdNEWBsRIbIwko2JG9mYtJHBLoNZE7CGi2dc\nzCKfRZatZ6BpevqGRx7RwzsffxxG99wx1Z8QEUxVJpoL9IG9MbORpswmGjMb9ceHmnAe7ozbVDcG\nTRzEoAmDGDR+EK5ergwcOxBXT1dMNSYaMxppzGjEEGXAEG5g+NLhjLpwFB7neTAkYEiPlXqzpvFc\nbi6v5ufzFx8f/jFpEiO6q6SbmvTv12iETZv0AvYnAPlNTbxZWMhHxcV4DRzIdePGccO4cSecE1lE\niLsgjlEXjGLiPRP71NZJoQAAmvKbODD/APN2zmNoYMfa/42CArZVVPDD3N45VBydw5XB9sztFNQW\n/F7+8vzp5zNl5JTeN56QoM/0ReDtt/VC6ychWrNGTVgNVb9UUf1rNXWxdTgNdGKQjz6wD/YdjNt0\nt99n9G7T3HAe0jMlbDKYqPq1isofK6n6pQpzvRmP5R6Mu24cHss9ulQGu6qq+EtaGv7u7qybMYNJ\nvXHqmkxw002Qng7ff39C7eEwi7Czqoq3Cgs51NTE9rlz8ToBVjJtlG4qJfvxbBZFL2KAa98CKeyt\nAC4AXgGcgfXAc0e9Hwx8A2S1Pt8MPN1BO10qAIDCdwspWl/EgrAFODkfK36zpjEzPJxP/f35v5Ej\nu/0hTlTa6hn8nPUzP2X8xCi3UZzvez7Lpy1n2ZRl3UtS19AA//63HtL51FPtIZ4nEaY6E5XbKinb\nXEblT5W4+7njcY4HHss9GLZ4mMXMNZ3RmNVI5c+VFLxagOsYV6Y8OQWPs44dkCtaWrgvI4Od1dW8\nNmMGK8f0MXxY0/SCPLt361XZTrDVnojwZE4On5aUsGPePCafACVETQYTkbMj8f/Mn5Fn9H2MsqcC\ncAZSgeVAARAJrAWSDzsnGLgXuLSLtrqlAEQTYs+JZfSK0Uy8t+Ol02clJfw3L4/whQt7VEv4REcT\njeiiaH7O/JlfD/1KeEE4AZ4BnD31bM6eejanTTzt2HQUP/wAd94JS5bAyy+fVNE9IkJtWC2F7xRS\nvrWc4acOx3O1J2NWjWHgWPvMJsUslHxWQvYT2bhNdWP6q9MZMnsIIsKmsjLuyshgjacn/546VY/s\nsUinomdr3b5dVwJ9VSp2YF1+Pi/m5bF97lyHDwLJuD+DlvIW/D+wTMSiPRXAqcBj6KsAgAdb/z57\n2DnBwH3Aii7a6pYCAGjIaODg0oMsDF+Im69bRw1xRnQ0148bx00+Pt1qsz/SZGpiX94+dh3axa7s\nXcQUx7DAewFnTTmL84fM5ZRnP8Y5PhHefFMvMXiS0FzUTOkXpRRvKEZr1vC+xZtx143rNMLMHmgm\njcI3C8l5Koeh13ny7zXNxNPI+35+nDbCClXqRPQCM99/D7/+Cp6elu/DynxYXMyjhw6RuHix5ZSj\nhamLryP2nFgWJyy22CTDngrgcuB84ObW538CTgHuPOycZcDXQD76KuF+IKmDtrqtAAByX8ilelc1\nc7d1bKeONhi4MC6OlCVLGNmPwsb6Qp2xjtCcEKo2vMF5b2znvYVO/PrHpZw6/SyWTVnGqRNOxc31\nWIXaHzAZTJRtLqPkkxLqDtQxZtUYvK71YmTwSMfYa9EBmgjrY3IpfiibJXEDmP/hbLzOtaKJRkR3\n/m/dqisBLy/r9WUlrk1OxtPVlZemT7e3KMcgIsScGcPYq8cy/i/jLdZuXxRAX9Vkd0bsg8BEoAG4\nENgKdBj0+vjjj//+ODg4mODg4E4bnXD3BArfLqRqZxUeZx9rK50/bBgrx4zh8exsXpkxoxti9n+G\nVtVz/t/fhsxs2LWfv86Zyby8UH7L/o1/7fwXCaUJnDL+FJZPW87yactZ4L2AAU4nri9ARKjeVU3x\nB8WUf1vOyGUj8fmLD6MvHt3jfCu2JqW+nptSU9GA9zYvwju0mZTrUmi4yZvJj05mgIsVvhcnJ90H\n5Oqqb/j79VcYb7mByha85OvLnMhIrvbycrhIwMptlZhqTfjc3DerxO7du9m9e7dlhOojS4Hthz1/\nCHigi2sOAR0lyZeeUvJFiUQujBTNrHX4fmlzs4wJCZGEuroet93v2L5dxNtb5MEHRZqaOjylpqlG\nvk35Vu7adpfMen2WjH5utFy58Up5/+D7UlhbaGOB+0Zdcp1Enx0t4f7hkvdKnjSXNNtbpG7RYjbL\nM9nZMnrvXnk9P1/MWvtvu6moSWKWx8jBMw5KU37H36HFeO45kWnTRLKzrduPFfhfYaEsjIyUFrPZ\n3qIcwYHTD0jJFyUWb5fuTcStgguQCUwBBgIxwNGeDS/alydLgOxO2urxB9fMmkQtjpLiz4o7PWdd\nXp6cEx0tmtaxkuj3NDeL3H+/yPjxIjt39ujS3Opcef/g+3LFV1fIyGdHysJ3FsqjOx+ViPwIMWuO\n9c/VhqneJJn/zJS9o/dK7su5Ym5xTDk7It5gkEVRUbI8JkYONTR0eI5m1uTQU4dk36R9Updo5YnN\nunUikyaJpKRYtx8Lo2manBUdLS/n5tpblN+p2lslYb5hVvk9YkcFALpZJxXIQF8BANzaegDcDiSg\nK4d96KuGjujVh6/cVSlhU8LE3NTxjTWazeIfHi7flpX15R6fmOTliSxZIrJihUgfP7/RZJTdh3bL\n/T/dL7NenyXeL3rLzd/eLNvStkmLucVCAveN2uhaCZ8VLglrEqSpwMozZAti0jR5LidHxoSEyLsF\nBd2arBQm0jAyAAAgAElEQVR9XCQhY0OkOqTausJt2CDi5SUSEmLdfixMan29jN67VzI6UaS2Jvai\nWCl4p8AqbWNnBWApen0DYi+OldyXO9f2P5aXy4z9+6XZwZaEVmXPHt3k8+yzIlZY/aSVp8lL+16S\npeuXitcLXnL3j3dLZEGkXVZamqZJ7su5EjImRIo/6Xw16IhkNDTI6QcOyLKDBzud9XdGxfYKCfEM\nkbJvrDy52b5dxNNTZNMm6/ZjYdbl5cn8yEhpNJnsKochxiCh3qFiarSOHJzsCsAQb5AQzxAxNXR+\ngy+MjXWoJaHV0DSR118XGTtW/8e1AWnlafLozkdl2qvTxPdVX3lwx4NyoPCATZRBc1mzxF4cK1FL\noqQhwzFme93BrGnyen6+jN67V17OzT3C1t8TaiJrJMQzRKr2VllYwqM4eFA3I65bZ91+LIimaXJ5\nQoLclppqVzkS1yZKzvM5Vmufk10BiIjEnBcjxZ92PvtLqquTMSEhUtZ8YjgDe4Wm6fb+2bNFMjLs\n0L0mBwoPyIM7HhTfV31l6itT5Z7t98ie7D1iMlt+9lMdUi37Ju6TjPszxGw8cVZ3mQ0NEhwdLUsP\nHJBkCwQoVGyvkNBxodKQaWUFmJ0tMmOGyKOPWmVVaQ2qW1rENyxMviixvPO1OzRkNMje0XulpcZ6\nZlL6oAAcKQC69bP0jtKvSil8u5CgnUGdnnNnup569fWZvU+96rCYTHoen6QkfXfvqI4CrWyHiBBf\nGs+W5C1sSdlCUV0Rq/xWsdp/NWdPPRtX597vzRBNyHspj7wX8/Bb78eYFSfOztXPS0q4Mz2dByZN\n4t6JEy22U73gzQIKXitgfth8XEdacd9LaSmcfz783//Bq6+eEClDDhoMnB8XR+j8+cy0ccGo9DvT\ncR7mzLT/9KzOb0+wdy4gS9EnBaA1a4RNCGPB/gUd7g4GPY9KYGQkb82c2fccKo5EczP88Y9gMMDX\nX4MDpsnNrMxkS8oWNidvJq0ijRUzV7AmYA3Lpy1noHP3d0S2VLeQcl0KxhIjAV8FMHiS4+d+AX1T\n18OHDvF5aSnfzJnDXCt8R+l3pdOQ3EDgtsA+Jxg7LjU1sGIFTJwI//vfCZFOel1+PhvLyvgtKMhm\nhWVaqlsInxbO4oTFDPIZZLV+lAJoJePeDAa4DWDavzvXtlG1tVwUH8+WOXM43Rpb6m1NdTVcdpme\nxOvTT2GQ9X5oliK/Np/NSZvZmLSRpLIkVvitYPWs1Zzne95xdyIbYgwkXp7I6ItG4/uib6d1IRwN\ng8nENcnJVJpMbA4IwNNKA6Zm0khYkYDbdDdmvGblzY+NjXo66eZm2LzZIScdh2MW4fSDB/mztzc3\n2yg9TN5LeRiiDcz+ZLZV++mLAnAk+mwLq0uok1Cf0C5jbX+qqJCx/WGDWE6OSECAyF13idg50qG3\n5NXkybr96yT4g2AZ/sxwueKrK+TLhC/F0Gw44ryij4v0KJ/j7PlwRDIbGmRORITclJJikyg0Y5VR\n9vvtt1rI4RG0tIj8+c8iixaJ2MnG3hNiDQbxDAmRok42QloSc4tZ9k3eJzURNVbvC+UEbufA0gNS\n9l3XYXGfFBfLxH37JKex0SL92pyYGJEJE0ReeumEcch1RUldibwb9a6c//H5MvyZ4bLqi1XyUfRH\nkvRIkoRNCRNDvKHrRhyIXyorxSskRF7Pz7dpeGx9ar2EjA2Rqt+sHBkkov/2Hn5Ydw5nZVm/vz7y\nQEaGXJWYaPV+SjeVyoHTDli9HxGlAI6g4L0CiV8V361z/5ubK/7h4VJhNFqkb5uRm6tvzvnyS3tL\nYjUqGyrlw8gP5fXg1+U9n/fk0lcvldfDX5e8mjx7i9YlmqbJK3l5Mi40VHZVVtpFhoqfWiODDtko\nNPa11/Qw0fju/e/Zi3qTSaaFhcmP5eVW7efg/x2Ukq9ssypCRQG1YzKY2D9pP4uTFzNoXNf28Psz\nMthfW8uOefOOLaDtiBiNEBwMl14KDz7Y5eknKuZGM4mrE8EZpnw0hV9LfmVr6la+T/seXw9fLpt1\nGWsD1/atApoVaDSbuTUtjbi6OrbOmcMUN/tlV817JY/iD4pZELqgxxXLesXnn8Pf/gZbtsBpp1m/\nv17yU2Ult6WlkbB4Me5W+J+vjaolcXUip2SdYp2kfUehnMBHkfqXVAZ6Dey0dvDhaCJck5xMg6ax\nKSDA8QvI3HMPZGTAN9+cECF4vUFr1khYlYDLSBdmfTzriH+iFnMLe3P3silpExuTNuI32o+rA6/m\nioArGONu38iu3KYmLktIwM/dnfV+flYZXHqCiJByQwpak8bsz2fbJu319u1wzTV6sfkLL7R+f73k\nysREZrq789TUrseInpJ8TTJD5g5h0t8nWbztjlBO4KOoT6+XkDEh0mLo3uaLZrNZlsfEyG2pqY6d\nNG7TJpEpU0QqKuwtidUwN5slbkWcxP8hvktnfrOpWb5N+Vau3HilDH9muFz06UXycezHUttUayNp\n29lZWSnjQkPlpdxch/oNmRpNErU4SrKfsWFWz3379J3oX31luz57SH5Tk4zeu1dS6ust2m5TQZPs\nHblXjJW2MyujfADHkrAmQXJf6n7qh5qWFpkTEeG46SLS0/V8LJGR9pbEapiNZolfHS9xK+N6vLPX\n0GyQT+M+lUs+u0SGPzNcLvviMvk8/vNjooksjaZp8kJOjowLDZVf7GTv74rGvEYJ9QmV8h+sa/c+\ngpgYPRfVhg2267OHvJybK8tjYiyqsLMezpLUv9o29QRKARxL7cFaCR0f2mmW0I7IbmwUn9BQ+c7R\nMoc2NooEBek5fvop5mZ98I+9KLZH31lHVDZUyv+i/ycXfnKhDPvPMFnx2QpZf2C9lNRZ1ilX29Ii\nVyQkyKKoKIePJqsOrZaQsSFiLLdhwENKisjEiQ6bP6jFbJa5EREWSxNhajRJyNgQqU+x7KqiK1BO\n4I6JvSCWsVeMxfvP3S90Hl5by4r4eHbMm8c8R9ncctttUFEBX36pV23qZ2hGjcQ1iaBBwMYABgyy\nnG+juqmabenb+Cb1G37K+IlAr0BW+a1i1axV+I7y7XW76Q0NXJaQwCnDh/PGjBkMPgECCNLvSkdr\n1vB7x892nebkwDnnwC23wD/+Ybt+u8m+mhquSEwkeckShvexjnDRhiLKNpV1WqbWWigfQCdU7qqU\n/TP3i2bq2RLvy5ISmbRvn002jHTJZ5+JTJ8uUmP9DSX2wNxklrhL4iR+VbyYm627UaqppUm2pW2T\nm7+9Wbxe8JLANwPl4V8flqiCqB6ZAX4oLxfPkBB5u5u5+x0FY5VRQseF2mRz0hHk54vMnCny5JO2\n7beb3JicLPemp/epDU3TJCIwQip+sr1/DrUC6LRBDp56kIn3T2Ts5WN7dO0T2dn8VFnJrqAgBtkr\n2iYtDU4/HXbsgKDOk9ydqGgmjcQ/JOLk6sTsz2dbN3/NUZg1M+EF4WxN2cqWlC00m5pZ6beSy/wv\n48zJZ+Iy4NjZoIjwn9xc3iwo4KuAgBMylUjxh8UUvFHAgv0LcBpgw3//4mJ9JbB6NTz5pEOtZMuM\nRgIiI9kVFETAkCG9aqNqZxXpd6SzOHGxbaKtDkOFgR6Hsq1l5DyVw8KohT36YjQRrkxKYsiAAfxv\n1iybf6loGpxxBqxdC3fcYdu+bYCIkHpzKs35zQR+G2jXvD4iQlJZEltTtrI1dSuHqg5x0YyLWOm3\nkvOnn8/QgUNpNJv5c2oqmY2NbJkzB58TIOdSR4gmRJ8Rzbjrx/W5OHmPKSuD5cv1fSwvv+xQYcyv\n5+ezubycnfPm9ep/Pf7SeEZfMhqfW2x8T1EK4PiNakJkYCTTX5nOqHN7liK53mzm/6Kj+ZOXF/dN\nnGhx2Y7Lm2/CZ5/Bnj0O9Y9iKbIezqLq5yrm7ZyHy9C+2V4tTV5NHt+mfss3qd+wP38/p0y7kCyf\nG5g3wotPA+aeGBsGj4MhxkDc+XEsTlzMwDE2zuRZXQ2rVsHYsfpegcGOkc3VpGksOnCABydN4iov\nrx5d25DeQPRp0SzNWYqzu+1/G0oBdEHxR8UUf1hM0K89N6PkNjWx9OBBPpg1i/NslWM/Px/mz4ff\nfoPZ1s0kaA/yX8+nYF0B80PnM9DTsVMJ760oYnViIp61B8hP+A+LfRax0m8lK/1WMnnkZHuL12sy\n/5FJQ1oDc7bMsf3qtqkJrr1Wry2wdSuMHGnb/jshtKaGKxMTSVmyhKE9cAin/iWVgZ4DmfqU5TeV\ndYe+KABLTC0vAFKAdOCBTs5Z1/p+LDDfAn32iLFrx9KY0UhtRG2Pr500eDCf+ftzfUoKJUajFaTr\ngDvvhNtv75eDf+lXpeQ+m8vcn+c6/OD/eUkJq1OyeM0vkKRLHqD4viLuXHIn0cXRLHpvEfPfmc/j\nux8npjgGa01erMXUp6bSnNNM0XtFtu988GD44gvdr3XqqZCebnsZOuD0ESM428OD5/Pyun2NscRI\n2ZdljL9zvBUlc1ycgQxgCuAKxAD+R51zEbCt9fEpwP5O2rKqpzxvXV63k8R1xEOZmXJhbKz1oz42\nbxbx9xdxhAgkC1OxQy9iboh17KyeLWaz3JeeLlPDwiTG0LGsLeYW+S37N7l3+70y7dVpMvnlyXL3\nj3fLb9m/WaX8pTWoS6qTkDEhUpdsx7Tob72l7xr+6Sf7yXAYGQ0NMnrvXqlp6V4WgayHsyT1L/at\nOYwdN4KdCmw/7PmDrcfhvA1cedjzFKAjI5tVb5KpXt+kUZfUux+70WyWxVFR8mqeFbNRGgx6iue9\ne63Xh52oiayRkDE2SlHcB8qNRjknOlrOjYmR8m5midU0TeJL4uWJ3U9I0NtBMvaFsXLTNzfJ9vTt\nYjQ5dqbZ/LfyJXJBpNVDcI/Lnj0i48Y5TGrztYmJ8nxO10XcWwwtEjImROrTbLvx62jogwLoqwlo\nPHD4eim/9bWuzpnQx357jLO7M+PvHE/uc7m9ut51wAA+8/fnqZwc4urqLCxdK888A2edpddb7Uc0\npDWQsCKBme/NZOSZjmHv7YjYujoWHzjAwmHD+HHuXEa7dq+2rpOTE3PGzuHRZY8SfWs0+/+8n1lj\nZvHEb08w7qVx3PDNDfyc+TNmzWzlT9BzfG71YdD4QRx69JD9hDjjDNi/Hz75BK6+Gurr7ScL8MCk\nSbycn0+T+fjfV/GGYkYsG4H7DNvWGbYkfQ2/6K7mOdpB0eF1jz/++O+Pg4ODCQ4O7pVQnTH+9vFE\n+EdQurGUsVf0bF8AwHR3d17y9eWqpCQiFy5kiCWjQbKy4J13IDbWcm06AI1ZjcSeE8vUf0/Fc5Wn\nvcXplK9KS7k9PZ3Xpk/vcRTI0Uz1mMp9p93Hfafd93v5y4d3Psz1tddzdeDV/Gnun5jrNdf2ztcO\ncHJywm+9H1HzohizYgwjTrfT3obJkyE0FP76V1i6VK9tPcPKZS07Yd7QocwfOpSPSkq4pZPykZpJ\nI++/eQR8GWBj6WD37t3s3r3b5v12xFKONAE9xLGO4LeBqw57bhcTUBuGGIOEjguV4s97V1pQ0zS5\nNilJrktKsqxgl10m8u9/W7ZNO9OY3ShhU8Ik/818e4vSKSZNkwczM2Xyvn1ysNa6WUSTSpPkoV8e\nkskvT5bp66bLAzsekIj8CIfYTVz6damE+YZ1O4Ou1dA03S/g6Sny9dd2E2NPVZX4hoVJSydlPIs/\nL5aDZx60sVQdgx19AC5AJroTeCBdO4GXYicn8OEY4g0S6h0qRR8X9er6OpNJ/MPD5X+FhZYR6Jdf\nRKZO1ZO+9ROa8pskzDdMcl920OyqIlJlNMqFsbESHB0tpc3NNutX0zSJKoiSh355SGasmyGTX54s\n9/10n4TlhdlVGSRdmySpt9nXofk74eF66vO77rJbQMTpBw50miguZnmMlHzhGHWQsXM20AuBVPRo\noIdaX7u19Wjj9db3Y4EFnbRj05tWl6QXkC94r3fFs+MNBhkTEiKJfS0s39IiMmeOXWc7lsZYZZTw\ngHDJ/o8Nc9D3kKS6Opmxf7/cnZYmRhsUa+8MTdMktjhWHtn5iMx6fZZMfnmyPLDjAYkttkHE2VEY\nq4yyb9I+qdjuIPUmKitFVq0SWbhQJDPT5t1/V1Ymi6Oijnm9Ma9R9nrsFVODY0R7odJB9476tHoJ\nmxImOc917fHviPcLC2V2eLjUmfrwQ/joI5EzznCI6AdLYG4yS3RwtKTdleYQpo2O2NaazM1iKzgL\noWmaxBTFyAM7HpBJL0+S2W/Mlqd/e1oyK203+FX+Uimh40Ntmzb6eGiayKuv6qGiO3bYtOsWs1k8\n9u6VwqNWIDnP5UjKTSk2leV4oBRA72nKb5Lw2eGS8Y+MHg9YmqbJNUlJcn1ycu86N5tFZs92mBjo\nvqKZNUlcmyjxl8X3OAOrLdA0TV7MzRXv0FAJra62tzjHxayZZW/OXvnr938Vz+c9Zen6pfJGxBtS\n0WD92Xn6PekS/4d4x1Lgu3aJeHnZvCbGFQkJsuGwiYKmaRIeEO5Q4cwoBdA3jOVGiVoSJSm3pIhm\n7tmPvk/+gG++EZk/v9/M/jMfzJQDpx5wmKXx4TSZzXJDcrLMi4hw+OItR2M0GeWHtB/kqk1XyYhn\nRsjqL1fLd6nfSYvZOg5bU6NJIgIjpHCDY62QJDNTJCBA5C9/EbGRz2ZDYaFckZDw+/Pag7USNiWs\nx+OENUGlg+47JoOJ+EvicZvmht96P5ycu39rEuvrCY6JYde8eczpbhEZETjtNLj3Xrjiil5K7TiU\nbS4j8++ZLIhYYPsEY11QZjTq+XxcXflo1qwe5XlxNKqbqtmYuJENMRvIrcnlhqAbuHH+jUzzmGbR\nfuoS6og9K5YF+xfg5utm0bb7RG2tnkeouBi++gomWbfwelFzMwGRkZSedhouAwaQcW8GzkOc7Zb3\npyPsnQuoX+AyzIW52+bSlNNEyg0piLn7yihgyBBe9PXliqQk6kym7l20Z49e5Wv16l5K7Dg0ZjeS\ndlsas7+Y7XCDf0JdHUsOHmTZiBFsCgg4oQd/gJGDR3LzwpsJ+3MYP//pZxpaGjhl/Slc8tkl/Jj+\nI5poFuln6JyhTH54MklXJ6GZLNOmRRg+HLZsgT/8AZYsge3bu76mD3gPGsTkwYPZX1uLZtIo+awE\nr2v6tk/EkVArgKMwN5hJWJmA61hXZn04iwEu3deRf05JoUHT+Mzfv+tNPhdcAJdfDjfd1EeJ7YvW\nohFzZgyel3sy8T4bp8zugh2VlVydnMzL06dzdR83dzkyjS2NfJHwBa9FvIbBaOD2xbdzQ9ANjBjc\nt01dognxF8czJHAIvs/3vnym1di7V6+X8Y9/wF13Wa2bf2Zl4QTcmzqC7CeyWbh/odX66g2qJKSF\nMTWYJOb8GEm4IkHMxu6HCDaYTLIgMlL+m9tF7PvBgyI+Pv0i4VvGAxkSe1GsQ9lERfSynp4hIbKn\nynGcddZG0zTZl7tP1m5aKx7Pesht398mSaV927BoLDfKvsn7pHRTqYWktDA5OSKTJ4usX2+1LvZU\nVcn8yEhJXJso+W843qZGlBPY8pgaTRJ3SZzErYwTc1P3lUB2Y6N4hYTIzsrKzk9as0bkxRctIKV9\nKf26VPZN2CfNZbbbRNUd3szPF5/Q0E4zeZ4MFNQWyCM7HxGvF7zkgk8ukO3p23sd1VMTWSMhnnbO\nGno80tL0CdUXX1il+RazWUbt2iO/jdgjzcWO9VsXUQrAapibzRK/Ol5iL4ztUWTLzxUVMi40VHI7\nijZJTRUZM0bEymkHrE3lL5US4hkitVGO8zk0TZOns7PFNyxMMhsa7C2OQ9DY0igbDm6QwDcDZc6b\nc2RT4iYxaz3f+Fa4vlDC/cPtnyqiM2Jj9b0C339vleZv/yRafpq9zypt9xVUFJD10Fo0kv+UjBiF\ngE0B3Y4Oei43ly1lZYTMn4/L4SUdb7oJxo+HJ56wksTWp2Z/DQmXJhCwOYCRZzhGdk8R4Z+HDvFd\neTk75s3D+wSt2WstRIQfM37kkV2PoInGk8FPcsnMS3qUkC7lphTMtWZmfznbIRLZHUN4OKxYofsG\n/Pws2vTXf48nt6yBv31wikXbtQTKB2BlzM1miT4rWtLuTuv+NZomy2Ni5Onsw9Ih5OWJeHiIlJdb\nQUrbYIg1SMjYECnf5jifwaxpcmdamiyIjOx2Dv+TFU3TZEvyFpn31jyZ9foseS38NalpqunWtaZG\nk0QtipLcFx03v5O8+66eWqXesjn6w06PkrNe/K3T5HD2BDvWAzgpGDBwAAFfB1C1o4q8V7pXLm6A\nkxMb/Px4NT+fGINBf/G//4Xrr4fRo60nrBWpT64n7oI4Zrw2g9EXOsZnMItwS2oqBwwGdgYFdTuH\n/8mKk5MTq2atIvrWaN655B325OxhyitTuGPbHaSUpxz3WufBzgRsCiD3hVyqdlfZSOIectNNeqnJ\nO+6wWJOmOhPGmHrql7ixt6bGYu0qjsTeirRLGnMaJXR8qJRs7H4WwA+LiiQwIkKaSkv12b81K4pZ\nkfqUegn16X0GVWtgak3NHRwdLYZulvBTHEt+Tf7vDuNzPzpXvk359rhlLSt2VEiod6g05jnojmqD\nQS+rumGDRZor/75cooOj5aXcXMungbcAKB+A7TBEG4i7II6Z78zsVoETEWF1YiKzDhzgmb17Yf16\nG0hpWRoyGog9K5YpT03B+3pve4sD6DP/61NSKGxu5rvAQNwtWZznJKXZ1MxXiV+xLmIdFQ0V/HXx\nX7lx/o2Mcht1zLm5z+VS9nUZQbuDcHZzwHuflATLlsFPP8GCzhIQd4+MezJw9XRl8P3e+IWHk3/q\nqQ61oVDtBLYhw+YPY+62uaTdmkbZ5rIuz3dycuKdMWP434gRRN9zjw0ktCz1SfXEnh3L5McmO8zg\n36JpXJucTLHRqAZ/CzLIZRDXzLuGyJsj+eLyL4gticV3nS9//ubPRBVGHXHuxH9MxG26G8nXJCOa\nA07cZs/WK+ytXAkFBX1qqnJHJR7LPfAaOJAzR45kU1nX//cnCkoB9IJhC4cxd/tc0m5Po/Sr0i7P\nH/vkkzxx6BD3trRwIqxy2qjeU03MWTFM/fdUfG7quDSerclvaiI4JgaD2cy3c+aowd9KLBm/hI8v\n+5jUO1KZMXoGl391OYvfW8yG6A00tDTg5OTErA2zaClvIfPvmfYWt2NWr9Z9AStWQC/reDcXNWMs\nNDJs4TAArh83jg+Kiy0ppaIV+xrSekFbecn814+zOzAuTsTTU1rKy2VORIRsKXXQHZVHUfJViYR4\nhkjFzw5SHEREfmrdX/FMdraY+0kG1RMFk9kk36d+L5d8domMem6U3P3j3ZJclizGSqOEzwqXvNcc\n1LelaSI33iiycqVIL+p2FH1cJPGr439/3mw2y5iQEIfaZ4LyAdiPxsxG4lfE43GOB74v+x6ZO0gE\nli+Hyy6DO+7g58pKbk9PJ3HxYgYOcMzFl4iQ93we+a/lE/h9IMOChtlbJEyaxpM5ObxfVMRns2ez\nbKRj7D04WcmuzubdA++yIXoDM0fP5NaxtzLl5inMfLN7fjGbYzTC+efDKafAs8/26NLk65IZvnQ4\n428b//trd6WnM8rFhcenOkZG0L74AJQCsACmGhOJaxLBCQK+DMBlRKuDaOtWePhhiImBVqfRxXFx\nLPfw4J6JjpU4DfRwt9QbUmnKaSJgcwCDJw62t0gUNDfzx6QkXJ2c+MTfn3Fqg5fD0GJu4fu071kf\nvZ6SsBKe/vhpxmwYw6LVi+wt2rGUl8PixboCuPLKbl0iIoRNCCNodxDuM9x/f/2gwcAfEhPJPOUU\nBjjAhjjlBLYzLiNcCPwhEPeZ7kTNj6ImtAaam+H+++Hll38f/AFe9PXlP7m5VLS02FHiY2nIaCD6\n1GichzkTtCfIIQb/bRUVLIyK4rxRo/hp3jw1+DsYrs6uXOZ/GT/88Qe2PL2FtMfSKLyukFWPrOK9\nA+9haDbYW8R2xozR00jfcQfExnbrEkOkgQGDBuA2/ch6CPOHDmW4szN7qqutIalN6Yv6GgV8CUwG\nsoE1QEd3JBuoBcxAC7Ckk/ZO2BXA4ZR/U07qran4zExn8shvGfDt18ecc0daGk5OTrw2Y4YdJDwS\nEaF4QzFZD2Yx5Ykp+NzmY/dt/s2axoNZWWwuK+NTf3/OUCafE4aSjSUk3pHIR//8iG+avmHN7DXc\nvPBmFnovtPvvCoDPP4d//QsiI7vckBl7fixjVo05wvzTxqv5+eyrqeHLgABrSdpt7GUCeh4ob/37\nAOABPNjBeYeAhUBlF+31CwUA0PxbPKnn/oIp8FQCfpjPoHFHzlzLjUb8IyPZGxTErCFD7CSlHuGQ\nenMqxkIjsz6axdA53axmZkWS6+tZm5TENDc31vv5MUrt7D3hKHy3kNxnc/He5s0npZ/wfvT7uLu6\nc+28a7k68GrGDz92QLUpf/87REfDjz9CJ7+vqp1VpN6SypLkJQxwPdZQYjCZmLp/PxELFzLNzb4V\n0+xlAroU+LD18YfAquOc6wCq30aYzQx64GYC17kz6tJxHFx6kLr4I0PQxgwcyAMTJ/KPrCy7iCgi\nlHxaQlRQFMPmD2PB/gV2H/xFhHcKCzkjOpq/jh/P5oAANfifoPjc4oPPbT4Uryrm77P+TuZdmbx1\n8VukV6QT+FYgyz9azoboDdQ02SmtwjPPwODBcNtteqDGUYgIWQ9lMfWpqR0O/gDDXFy4xceH/+Z1\nLzVMf+TwZCBORz0/nCwgGogCbj5Oe/aIoLI8r7wicuaZIq1Jo4o/K5YQzxAp/+HI5GlNZrNMDQuT\nX45XN8AKNOY2SuzFsRIRGCE1kd1LAmZtSpubZUVcnMyPjJSkOgfNOa/oMVkPZ0nEvAgxVrYn6Gsw\nNsjGxI1y2ReXyfBnhsuqL1bJx7EfS1WjjQv3GAwiQUEizzxzzFulX5dKxLyILoscFTU1icfevVJq\nox4mVgwAABi7SURBVAL1nYEVw0B3AOM6eP1f6LN+j8Neq0T3CxyNN1AEeLa2dyewt4Pz5LHHHvv9\nSXBwMMHBwV2I52BkZ8OiRbBvH8yc+fvLNWE1JK5OZNrz0xh3Tfvt3FRaytM5ORxYtAhnK9tHNZNG\n4VuF5DyZw/g7xzPpwUkMGGj/GIBtFRXclJrKtV5ePDl1qsOGxyp6joiQcU8GhnADgdsCcfU4ckVX\n3VTNNynf8HXK1+w6tIvTJp7Gav/VrJq1irFDxlpfwIICOPVUeOGF3yODNJNG1NwofF/y7VbCw1tS\nU/EZONCmIaG7d+9m9+7dvz9/Qk8tb3MrSwrtysG79XlXPAbc18l7dtWifUbTRC64oMMZhYhIXVKd\nnkztg6LDLtHk9AMHZENhoVVFq/y1UiLmREj0OdFSl+AYM2xDS4vcmpIik/btk102XgUpbIdm1iTt\n7jQJDwg/bvI4Q7NBvkz4Uq7ceKWMeGaEnPm/M+WVsFfkUNUh6woYEyPi6SkSEiIiIgVvF8jBMw92\nu3paan29eIaESF0vNplZCuxUEazN+Qu687ejHRbuQNtOoiFAKHBeJ+3Z7QZahM8/F5k7V+Q4+ejr\nknUlUPi/9gE/oqZGxoWGSk5H1cP6SF1CncSvipewKWFS+nVpr0sCWprQ6mrxDQuT65KSpFpl8ez3\naJomOc/nyL5J+6QusesJSGNLo3yb8q3cuPVG8XzeU4LeDpLHdz0uMUUx1vkNb98u4uUlNZsTJGRM\niBjie1ZKdHV8vLxmxyy/2EkBjAJ+AdKAn4G2WD0f4IfWx9OAmNYjAXjoOO3Z7Qb2mcpKEW9vkf37\nuzy1PqVeQseHSuH6diXwYm6uLIyMlAYLzSLq0+sl6U9JEjI2RHJeyOlROUtrUtDUJNcnJ8u40FDZ\nfIKkxFBYjqKPiiRkbIhU7e6+vd9kNsme7D1yz/Z7ZNqr02TKK1Pk7h/vll8yf5Fmk+Vs700vbJB9\nzpul9H8ZPb52f02NTAkLs1uxGFQqCDtz880waBC8/nq3Tm9IayD23Fgm3j+RCXdOQES4OjkZVycn\nPpg1q9fx0o3ZjeQ8nUP51nIm3DWBCX+bgMtw+6etbTSbeSkvj1fy87nJ25t/Tp7McAdKp6uwHZU7\nKkm+Oplpz03D+4aeZZcVERJKE9iaspUf0n8gpTyFc6adw+pZq1k5ayVDB/Yukk1r1og5K4ZRLtFM\naVkPO3dCD0M7l0VHc5uPD1d5efVKhr6gUkHYk717Ye1aPf/48OHdvqwxu5HYc2LxvtmbyQ9OpsFs\n5rSDB7nR25u7JkzokQiNhxrJfSaXss1l+Nzmw8R7J+I6yv4hlCLCtxUV/C0jg4VDh/K8r6/dY6YV\n9qc+pZ74S+LxvMyTac9O63ad7aMprS9lW/o2NiZtJCQ3hAunX8gfA//IhdMvxNW5e79/ESH1xlRM\nBhMBX87G6dprQNPgs8+gBxOxHyoqeOTQIQ4stP2GN1UT2F40NorMmiWyeXOvLm8qaJJw/3BJ/1u6\nGCuMktXQIF4hIfJ9N2sG10bVSsKVCbJ31F7JfChTjOWOUw83rb5eLoiNlVnh4bKjwnEyiiocA2O5\nUQ4uOyixF8VKc1nfTTll9WXyVuRbctr7p8nYF8bKPdvvkZiimC6vy3wwU6IWR0mLodUX1dAgsmCB\nyMsv96h/s6ZJgJ1+6ygTkJ148EHIyICNG3s0WzgcY5mRzPszqfi2As/LPam8fgQrJYNPZ8/m3FFH\nRtVqJo26A3VU7qik8sdKmvOamfC3CXjf5O0Qph7Qd0j+OyeH9UVFPDhpEndNmKBCOxUdohk1Dj18\niNLPS5n18Sw8gj26vqgbpFek82Hsh3wU+xHDBw1n7Zy1rA1cyzSPaUecl/t8LsUfFjN/z3xcRx+2\nYsjOhqVL4csv9api3eSDoiI+Ky3l53nzLPI5uosyAdmDiIj/b+/O46Iu9wWOf5BFQEAhYpMSVFA0\nNXIjqxOlqaVWnvbXsSyzslvZvmhdo9u1xbrnlMcsszovuxYtZgtRdszi1M00QUkUxwEJWUTQOLLJ\nAMP87h/PCGozLM6G/L7v12teMr95+P2eeWSe7/yeFa68Ui0s5YR2v+aqZg68eYCKVRU0NZrZGW9h\ndEo4gwYE0ljUSOO+Ro4ajuJ/tj+hl4USOkU97M1UdDdN03i/qorH9+1jcmgoLwweTLQs3ia6oPqb\nagy3GlRz6JJBJy6p7gCLZmFz6WbS89L5OP9j4kPjuXHkjVw/8nq8PvSi5LkSkv8vmb4DbfydbtwI\nc+eqz3kXm2SbLRYGb9lCxqhRJAe7bxl1CQDuZjLB2LGwZEmXl5btKk3TaD7QzE8/HST9u/38ZcCZ\nDB8ZSsCQAAISAvA708+p13OG7NpaFhYW0myxsDwhgUn9+3s6S+I001TRhGGuAXOtmaS1SQQODez8\nl7rBbDHz3W/fkb4rnYZ3G5izaQ6lb5Yybco0hoYNtf1Lzz8PmZnwww/QxbvYl0tK2F5fz/sjRjgx\n9x2TAOBuixaB0Qjr1p1y009XfFtdzZw9e1gQE8NTgwbh08OaUkpMJv6ruJjM6mqWxsdza1RUj1gf\nXZyeNItG+d/L2f/f+xn8wmCi5kU5tUNV0zR+e+o3Kj+spHplNZ83fU6GMYNQ/1CuHHYlsxJnkRKb\ngncf6zajFovaROahh9RAjy6otS4Slz12LPFuGvAgAcCdtm1Te4w6qemnMweamrjVYKC+tZX3kpLc\n9kdlj6Zp/FBTw9/Lyvj+yJG2YZ39ZVincJKG3Q3k/yUf/7P8SXwj0XYTTTdZmi0Y5hloLGxkVMao\ntjtpi2ZhW/k2MowZZBgzqKir4IqEK5iVOIupQ6YSvGW7agoyGNQCcl2wqKiIWrOZ145bDsaVJAC4\ny7Gmn6ee6vI3AmewaBqvlpWxdP9+nhw0iPsGDnT73UBjayvvV1WxvKyMJouFhbGx3BwZSbBU/MIF\nLM0WSp4voXxFOfHPxRM9P/qU7gY0i8ahTw5R/EwxgYmBJK1NwjvQ22764iPFfGn8kgxjBptLN3Ph\n2Rfy5ttVRE6Zjd/ip7p0zarmZob/8gv548e7ZRMjCQDu8sQTUFDg8qYfe/YePcp/GI3822xmVWIi\n47sx7+BUaJrGroYG3q+q4u2KCiYEB7MwNpYpoaHS1CPcoj6vnr3z9uLl60Xsg7GEXx3epYEPmmat\n+NOK8e7nTdzTcYRdHtatIFLXVEdmQSbfbXid55/+kSWvX8eM8+cyOX4yfX06rtgXFhQQ0KcPLw4Z\n0uXrnSoJAO6wdStcdRXs3AkRblip0A5N03ivspJHi4qI8PVlYkgIKdbH8MBAhyvmGrOZnLo6Nv37\n36w7dIgmi4XrIiK4MzqahEDndswJ0RUWs4XDnxym/LVyGosaiVkQQ8wdMfhF2h4Q0XSwCeMCI6Z9\nJga/NJiwad2r+G1pWHA7Bb8bufdyjd2HdjMjYQZXD7+aqUOmEtL3j1/ESkwmkrOzKZw4kVAX72sh\nAcDVTCZIToZnnoHrr/d0bgC1beKv9fVsra1lS20tP9fWUmM2M6l/f1JCQhjs788g6yPE25u+ffrg\n6+WFWdOoNpv5vaWFQy0tFDU2UmQyUdjYSG59PaUmE+cGBXHRgAFcEx7O2ODgnrGVnxBA/a/1lK8o\n59C6Q5wx6wwGLhxI8HnBaC0almYLv2f+TuEDhUTPjyZuSZzzljw/dAiSkiAri4pBZ/Cp4VO+2PsF\nP5X+xISBE5iRMIMZCTNIPCOx7fMyz2Ag3t+f/4yLc04e7JAA4GqPPAL796sJXz3YgaYmNtfU8Etd\nHcUmE/tNJkqamqgzm2nWNFo0DW8g1NeXM3x8CPf1JT4ggCH+/gwOCGBMUBAjAwN73GgjIU7WUt1C\nxdsVHFh5AFOxCS8/L/r4qQ3cE99MJGS8C5pH33oLVq6ELVvAT9191DfXs6loE5kFmXxV8BX+Pv4q\nGCTOIPrMCUzO203RxIkEubCvTAKAK339Ndx1F2zfDuHhns6NQyzW8pX2e9FbHKsz3HKXqmlqBGBy\nMjz7rM287KzcSWZBJpkFmeyq2kXQuS8xKWQAS4edS0JYgkvyKQHAVcrL1Q5fH30EF13k6dwIITzt\n4EE491z47DO1XEQHDh89zJuGTTx7JJiwvIXQ2khqXCqTYidx/lnnMzpyND59HL8zkADgCmYzTJ4M\nU6fCk096OjdCiJ5i3TpYvBh27IB+/TpNflN+PucEBnJjSCtZxVn8XPYzP5f9TElNCclRyYyNHsu4\nmHGMjRlLQlhC+0S0LpIA4ApPP6329t2wAby79x8ihOjlbr5Z7QGyenWnQ8KNR49ywY4dGCdMOGFE\n0BHTEXIO5JBTkUP2gWxyKnKoaqhiVMQokqOSGR05mtGRozkn4hyC+9pfW0gCgLN9+62a/ZeTA1FR\nnacXQuhLXZ3aUP6ee+DuuztNPt9gINLPj6WDB3eY7ojpCLkHc9lRsYO8qjx2Vu5kz+E9RAVFMTpy\nNGMix5Aal0pqXGrb70gAcKayMhg/HtLTITXV07kRQvRUhYVwwQWqSaiTPsJj8wL2TJhAhF/3FnRs\ntbRSUF3Azsqd/HrwV6KCorhv4n1tr0sAcJaWFlXpz5qlZv0KIURHvvkGbrtNTRQ966wOk95fUEAf\nLy/+NtTO6qOnyJEA4MiA7+uA3UArcF4H6aYDBqAAeNyB67neE09AWBg89pincyKEOB1MmwYPPgiz\nZ0NjY4dJFw8axNrKSvIbGtyUuc45EgDygNnADx2k8QZWoILACOAmIMmBa7rOJ5/A+vWwZk2X1/4W\nQggeeQSGDYPbb1dzBeyI9PPjmbg47ti7t21Ojqc5UtMZAGMnaSYAhUAx0AJ8AFzlwDVdIz8fFixQ\nbXknbcMohBAd8vJSs4SNRli2rMOkC2Ji6OPlxcrycjdlrmOu/qo7ECg97nmZ9VjPUVurbt+WLVNL\nPQshRHcFBKjJYcuXq13E7Ojj5cXqxESe2b+fEpPJjRm0rbNpaBsBW+MgFwMZXTh/t+5z0tLS2n5O\nTU0l1dWjcCwWNdzz0ktVR44QQpyq2FjVinDVVZCVBXa2hRzerx8PxMZyt9HIl6NGdXt5iKysLLKy\nshzPL84ZBfQ98DCw3cZrKUAaqg8AYBFgAV60kdb9o4Cefx4+/xz+9S81qUMIIRy1Zo1aK2jLFrvr\nhzVbLIzLyWHR2Wdzk4M7C3pqFNAJebBzPBtIAOIAP+AG4AsnXdMxmZmwYoWK2FL5CyGcZe5cuPZa\nuOYaaG62mcSvTx/eGjaMh/bt4/eWFjdnsJ0jAWA2qn0/BcgEvrYej7E+BzAD9wLfAPnAh8AeB67p\nHHv3qiafjz9Wt21CCOFMzz0HoaFqlrCdlo0JISFcf+aZPLJvn5sz105/E8FqamDiRDV0a/58119P\nCKFP9fVw4YVq//DHbU+BqjObOWfbNv4xfDiXhoae0mV6QhPQ6UHTYM4ctcqnVP5CCFcKCoIvv4Q3\n3oBVq2wmCfbx4bWEBO4yGmlsbXVzBvUWAN5+W63n/corns6JEEIPYmPV4pLPPgtr19pMMjM8nPOC\ngkgrLnZv3tBTE9CBAzBmDGzaBKNHu+46Qghxsvx81fKwcqWad3SSquZmxmRn89GIEVw0YEC3Ti1N\nQF1x331qa0ep/IUQ7jZihBp5uGABvPfeH16O8PNjdWIitxgM1JjNbsuWPu4A1q9XO/jk5oK/v2uu\nIYQQndm1C664Au6/Hx5++A8vL9i7l0aLhTVJXV8yTZaD7siRIzByJHzwgezrK4TwvNJSmD5dPV56\n6YTFJxtaW0nOzmZpfDzXRUR06XQSADoyb56a6PX6684/txBCnIrqarVkRHS0mjkcEND20rbaWmbm\n5fFjcjKJgYGdnkr6AOzJzFRrcnSyQp8QQrhVWBhs3Ai+vnDJJVBZ2fbS+JAQlsbHMyMvj8N2ZhI7\nS+8NANXVqtP3nXcg2P6GykII4RH+/mpo6LRpkJICu3e3vTQ/JoZrwsOZvXs3TRaLy7LQe5uAbr5Z\nTcVevtx55xRCCFdYu1btLPbGG2oNIcCiadyQn4+flxdrk5LsrhoqfQAn++wzePRRNeqnXz/nnFMI\nIVwpJ0dV/jfcAEuXgo8Pja2tXJybyy2RkdxrZ90yCQDHq6lRY25l1I8Q4nRz+LBaO8higXffhYED\nyW9o4OLcXHaOG0e0jZWLpRP4eIsXw8yZUvkLIU4/4eGwYQNcfDEkJ0N6OiMCA5kfHc1DLlg1tHfd\nAWzdqqZZ796t2v+FEOJ0lZ0Nt9wC55zD0ZUrGVFQwOphw7jspH3L5Q4AwGxWo35eflkqfyHE6W/c\nONUvEBVFYEoKK/z8uKegAJMTVw3tPQHg1VchIkK1nwkhRG8QEKBGMqalMXP6dEbW1LCstNRpp+8d\nTUAGg9p4YcsWGDrUubkSQoieICeHkvnzyb3zTq68++62w/oeBVRbq3b4evRRteyDEEL0VlVV6gvv\nn/7UdshTAeA6IA0YDowHtttJVwzUAq1ACzDBTrruBwBNU+NmIyLUBAohhNAZRwKAjwPXzUNtDG97\nr7N2GpAKVDtwLdtefFFt9JKe7vRTCyFEb+dIADB0I63zm5q+/lp1jvzyi1rtUwghRLe4YxSQBnwL\nZAN3OOWMmzer8bHr1qk9N4UQQnRbZ3cAG4EoG8cXAxldvMYFQAVwpvV8BuDHrmbwD3buVJO91q6F\nSZNO+TRCCKF3nQWAy5xwjQrrv4eAT1GdwDYDQFpaWtvPqamppKamnphg3z64/HLV9DNtmhOyJoQQ\np5esrCyysrKcci5ntM1/DzwC5Nh4LRDwBuqAfsA/gWes/56s41FARiNMnQqLFqkZv0IIITy2FMRs\noBRIATKBr63HY6zPQTUf/QjkAluBL7Fd+XcsNxdSU2HJEqn8hRDCSXr+RLCffoI//xleew2uvdb9\nuRJCiB6s9y4Gt349XH21WhdbKn8hhHAqR+YBuI6mqR1xVq1Sa2OPHevpHAkhRK/T8wJAY6Na06eo\nSE3yio72dI6EEKJX6llNQLm5ag1sb2/IypLKXwghXKhndQKHh8Nf/wpz5oBXT8qaEEL0TL1nOeji\nYhg0yNP5EEKI00bvCQCO7gkshBA603uHgQohhHAZCQBCCKFTEgCEEEKnJAAIIYROSQAQQgidkgAg\nhBA6JQFACCF0SgKAEELolAQAIYTQKQkAQgihUxIAhBBCpyQACCGETjkSAF4C9gC/AuuB/nbSTQcM\nQAHwuAPXE0II4USOBIB/AiOBMYARWGQjjTewAhUERgA3AUkOXFMXsrKyPJ2FHkPKop2URTspC+dw\nJABsBCzWn7cCsTbSTAAKgWKgBfgAuMqBa+qC/HG3k7JoJ2XRTsrCOZzVBzAP+MrG8YFA6XHPy6zH\nhBBCeFhnm8JvBKJsHF8MZFh/fhJoBt63kU52eBFCiB7K0R3BbgXuACYDJhuvpwBpqD4AUP0EFuBF\nG2kLgSEO5kcIIfRmHzDU3RedDuwGwjtI44PKXBzgB+QincBCCHHaKwD2Azusj5XW4zFA5nHpLgf2\nor7h2xopJIQQQgghhNATPU8UOwv4HtWUtgtYaD0ehuqAN6LmWwzwSO48wxt1R3lskIFey2IAsA41\n2TIfmIh+y2IR6jOShxps0hf9lMU7QCXqvR/T0XtfhKpLDcBUN+XxlHmjmobiAF/010cQBZxr/TkI\n1VSWBCwDHrMefxx4wf1Z85iHgPeAL6zP9VoWa1DDq0H1pfVHn2URBxShKn2AD4G56KcsLgKSOTEA\n2HvvI1B1qC+q3Arp4cv9nA9sOO75E9aHXn0GTEFF70jrsSjrcz2IBb4FLqH9DkCPZdEfVemdTI9l\nEYb6YhSKCoQZwGXoqyziODEA2HvvizixFWUDaiSmXZ6ODjJRrF0cKtJvRf3nVlqPV9L+n93b/Q14\nlPYZ5qDPsogHDgH/ALYDq4F+6LMsqoH/AUqAA8ARVPOHHsviGHvvPQZVhx7TaX3q6QAgE8WUIOAT\n4H6g7qTXNPRRTjOBKlT7v735KXopCx/gPNTIuvOABv54Z6yXshgCPID6ghSD+qzMOSmNXsrCls7e\ne4fl4ukAUI7qCD3mLE6MYHrgi6r8/xfVBAQqqh+bgR2Nqhh7u0nAlcBvQDpwKapM9FgWZdbHNuvz\ndahAcBD9lcU4YDPwO2BGrTx8Pvosi2PsfSZOrk9jrcfs8nQAyAYSaJ8odgPtnX964AW8jRrl8cpx\nx79AdXRh/fczer/FqD/eeOBG4DvgZvRZFgdRTaOJ1udTUKNgMtBfWRhQ7dgBqM/LFNTnRY9lcYy9\nz8QXqM+OH+pzlAD84vbcdZOeJ4pdiGrvzqV9Qt10VMfXt/T+IW72XEz7FwG9lsUY1B3A8ftt6LUs\nHqN9GOga1F2zXsoiHdX30Yz6UnAbHb/3xai61ABMc2tOhRBCCCGEEEIIIYQQQgghhBBCCCGEEEII\nIYQQQgghhBBCON//Az0R0Bh/OOWCAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that these may be randomly flipped by sign. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These basis vectors tell us what function family can be represented and the SVs tell us how well. So the question now is how do those SVs change with the number of neurons, and with the tuning curve function." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can demonstrate how the SVs change numerically." ] }, { "cell_type": "code", "collapsed": false, "input": [ "num_neurons=2**np.arange(3,10,1) #2,4,8... make 12 ~10 to run faster\n", "eval_points=np.linspace(-1,1,num_points).reshape(-1,1)\n", "num_runs = 5\n", "\n", "avg_s=[]\n", "for N in num_neurons:\n", " Ss=[]\n", " for i in np.arange(num_runs):\n", " model = nengo.Network(label='Ensemble')\n", "\n", " with model:\n", " ens = nengo.Ensemble(N, dimensions=1, \n", " neuron_type=neuron_type, \n", " eval_points=eval_points)\n", " tmp = nengo.Ensemble(1,1) #temporary ensemble to allow finding decoders\n", " conn = nengo.Connection(ens,tmp) #temorary connection to allow finding decoders\n", "\n", " solver = LstsqL2(reg=noise)\n", " sim = nengo.Simulator(model)\n", " X, A, T = nengo.builder.build_linear_system(conn, sim.model)\n", " A = A.T\n", "\n", " G = np.dot(A,A.T)\n", " S=np.linalg.svd(G, compute_uv=0) #Find singular values\n", " Ss.append(S[0:6])\n", "\n", " avg_s.append(np.mean(Ss, axis=0)) #Take the mean S over numRuns\n", " \n", "tmp=plot(array(avg_s).T)\n", "yscale('log')\n", "legend(tmp,num_neurons)\n", "title('SVs for increasing neurons')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nXlHlS8AL4SYsu+JaLtR+9ZXe8nj5cn2wyd13u80WKQOqsaWRry59ZQ38rPIsTC0mhyp/1sRZHjmi\nKQEvhJuqrraNYaan6y1SYmMhPl6/xMXpoQpvvdmqK+U3yskqz7KG/vHLx5k6eqpDlR9xR4TbV/kS\n8EJ4iOpqvd/9sWO210VFurKPi3MM/pEjjV6ta7H08u2r/BumG8yZOMca+rMnzna7iR0JeCE8WGOj\nnp6zBP6xY/oO2zFjbIFvCf2JE+UCrr3LdZd14JdlklWRRe7FXMJGhjlU+ZFjIl16F023CXiZgxfC\nOVpb9T0zlsC3hL9SjoEfHy99fXvNrc3kX8l3qPKv3rzK7ImzrYE/J2SOSxyBKLtJCiGslNI3X9kH\n/rFjep+s2FjHFo/09W2u3rzK0Yqj1io/pyKHCYETHKr86LHRhm2q5jYVvAS8EAOvuhqOH3es9s+e\n1XfC21f7cXEwapTRqzWeZa98+yq/4kYFMyfMtAb+3JC5A3YilgS8EKJHGhv1uGb7vn5wsGN7Jz5e\n+vqg777Nrsi2VvlHy48SPCzYocqPvTOWwb7OP/9VAl4I0WetrfoO3PZ9fbPZMfClr6+3Tj597bQO\n/LZKv6S6hBnjZzhU+c44IEUCXgjRL5SCS5c69vUrKyEmxrHaj4nx7r5+TWMN2RXZeja/Qs/nB/oH\nOlT58ePj8ff179HzSsALIQZUTc2t+/p33dVxXt9b+/pKKYqqihyq/KKqIu69816HKv92++VLwAsh\nDGcy6b6+fbV//Lg+3Kj96GZIiHf29eua6sipyLFW+Zllmfj7+jtU+QkTEhjiZ/tVyBUCfgrwcyAI\n+E4nHyMBL4SXMZsd+/qWl9bWjhdzIyK8r6+vlOJ89XmHKr/wWiFRY6Ksgb8ydiW4SAX/ERLwQojb\nuFVf//JlPZ8fH6932fz2t7s8yc5j1TfXk3sx1xr4nzz5CTgp4LcCy4ErQIzd40nA7wFf4D3g1518\nvgS8EKJXamr0qOaxY/DZZ/rt1athzRqYPt3o1RnHmS2a+4E6YBu2gPcFzgAPAhVADvAUMBOYAWwE\nLrZ9rAS8EMIpiovhvffggw/0WOazz8KKFTB0qNErG1jO7sGHATuxBfw84DV0FQ/wStvrDXafMxr4\nL2AxnVf4EvBCiB5rboadO+HddyEnB1au1FV9TMztP9cTdCfg+3KE+USgzO79cmBOu4+pAp673ROt\n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\n6vhCQQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Relationship between MSE, polynomial order and number of neurons" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is code demonstrating the relationship between order of Legendre polynomial, number of neurons and MSE numerically." ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Find the relationship between Legendre polynomials and MSE\n", "num_neurons=2**np.arange(0,11,1) #2,4,8... make 12 ~10 to run faster\n", "num_runs = 10\n", "eval_points=np.linspace(-1,1,num_points).reshape(-1,1)\n", "rng = np.random.RandomState()\n", "\n", "xi = linspace(-1,1,num_points)\n", "basisSize = 8 #Number of basis fcns\n", "LegNum = np.arange(0,basisSize)\n", "LegCoeffMat = eye(basisSize)\n", "\n", "#The legendre basis solved for error generation\n", "LegBasis=zeros([basisSize, num_points])\n", "for i in LegNum:\n", " LegBasis[i,:] = np.polynomial.legendre.legval(xi,LegCoeffMat[i,:])\n", "\n", "#A generator for the legendre basis\n", "legendre = lambda p: (lambda x: (np.polynomial.legendre.legval(x,LegCoeffMat[p,:])))\n", "\n", "PavgMSE=[]\n", "for P in LegNum:\n", " avgMSE=[]\n", " for N in num_neurons:\n", " MSE=[]\n", " for i in np.arange(num_runs):\n", " model = nengo.Network(label='Ensemble')\n", "\n", " with model:\n", " ens = nengo.Ensemble(N, dimensions=1, \n", " neuron_type=neuron_type, \n", " eval_points=eval_points)\n", " tmp = nengo.Ensemble(1,1) #temporary ensemble to allow finding decoders\n", " conn = nengo.Connection(ens, tmp, #temorary connection to allow finding decoders\n", " function = legendre(P)) \n", " solver = LstsqL2(reg=noise)\n", " sim = nengo.Simulator(model)\n", " X, A, T = nengo.builder.build_linear_system(conn, sim.model)\n", " A = A.T\n", " d = sim.data[conn].decoders\n", " \n", " #print sim.data[conn].solver_info['rmses']\n", " \n", " A_noise = A + rng.randn(*A.shape)*(noise*np.max(A)) #Test under noise\n", " #A_noise = A #Use this if you want to see decoding under no noise\n", " Xhat = np.dot(A_noise.T, d.T) #Compute estimate with decoders\n", " MSE.append(np.mean((LegBasis[P,:]-Xhat[:,0])**2)) #Compute MSE\n", " \n", " avgMSE.append(np.mean(MSE)) #Take the mean MSE over numRuns\n", " PavgMSE.append(avgMSE) #Collect the MSE across powers\n", " \n", "disp('Done')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Done\n" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "tmp=plot(array(PavgMSE).T)\n", "legend(tmp,LegNum, loc=3)\n", "yscale('log')\n", "xticks(log2(num_neurons),array(num_neurons).astype('str'))\n", "plot(1.0/num_neurons,'--')\n", "title('Accuracy for Nth Degree Legendre Polynomials with increasing neurons')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nJnN+JppJU+1/E2MI6OX6Mgpm83GysxeTnb0IqzWf6OixREePIyiov1ttlgDJycksWLCAhQsXEhUV\nxaRJkxg3blydlSAc0TTYvh2+/hq++krt33WX2q66qlXMX9Di6G16rZM7gA+AxcBN9VxTbymmPdBe\n4uEOFptFnvzfk9Lr3V5y2Hi4yf6kpSnj7IormrE6y2pV82b17y9yySUiCxYoE+I8YqyokD+lpEhY\nUpJMS02V/CbW7e7P3i+JnyTKouRFUmZpfJC8pmlStKtIUp5JkU2xm+TXK36VU2+fkvIs9+byLC5O\nltTUv8ovv1wgW7b0lGPHZojJdMjt8FutVlm9erVMnjxZOnToILfccovMnz9fSkpKGomHyJ49Iv/3\nfyKXXioSFyfy+9+ratHznLQtCu3Y0msPdAA+qudcvQnaHmgv8WgKc36dI9GvR8tPR39qsh+apuZy\njIwUmT27iYPa6/N45UqR665T08W8954aRX0eSTOb5cGDByVy40Z57eRJKXUzsuXWcvli3xdyw6c3\nSNQ/o+TPP/5ZjhiPuORWs2qS+2OuHJh0oGr+z8xFmWI1uR4G1Qlmq6Sk/FE2bYqT7dv7y8mT/xSz\n+aRb8RARMZlM8vnnn8vw4cMlNDRUJk2aJD/++KNYXXgmhw+LvPKK6gATESHywANqmSQXJstpU6CL\nXovyMZAFJNc6fitwCEgBnmvA/WygXz3n6k3Q9kB7iUdTWXd8ncS8HiPvbHnnrJbDSU1V+nTNNSIO\nyxg2D5s2qa6jcXGqF815Huh+oKRE7kpOlk6bNskHZ86IpYGOHvVxxHhEnv3pWYn6Z5TM3TnXLbeW\nYotkzM9Qyx91SJKDUw5K3po8t9JP06ySl7dWDh2aKklJEbJz57Vy+vR/mjQQPjMzU9566y0ZMGCA\ndOrUSaZPny7Hjh1zye3Jk6pJd8gQNR3a2LFqFati50sftinQRa9FGQL0p6boGYCjQALgDewGLgYm\nAf8COqLqm18DbmzA73oTtLXy7rvvyoABA8TX11emTJnS4LWtOR7nimN5x+SS/1wiDy972KVVB+rD\nZlOzd0REiLz7rtpvVvbsERk3rnp5iOymz1TSHGwpLJShu3ZJ3KZN8ujhw/Jjbq6UuxnpMkuZFJW5\n1kvUqfv0Mkl7M0229dkm2/psk8yFmWKzuBcGm61ccnKWyf7942TDhlDZvfsWycj4RCwW9wsXe/fu\nlSeffFIiIiJk2LBhsnjxYilz0YTLzFS1BjffrFaEuPNONY2rk1Wi2gS0Y9FrLQ2VCcByoI99fzAw\nA55SdJ4AACAASURBVGXtAUyz/77q4OZJ4H5gO0oU5zjx155+NWnNHUC++eYbPD09+fHHHzGbzcyb\nN6/ea1tzPM4lReVFTPx6IkXlRSy9bymRAZFN9uvwYZgyBQIC4OOPoWvX5gsnAEePqoHuS5ao0dG/\n/z30q6+iouU5XFrKNzk5fGM0kmI2MyIigtGRkdwSHk6gwb2B45WICP9L+R83d78Zb4O3S9fnrcwj\n7ZU0yk+XE/9sPLEPxGLwc+/+NpsJo3E52dmLKChYR1jYMKKjxxERMQKDwfVVKsrKyvjmm2/46KOP\n2Lt3LxMnTuShhx7ikksuccl9Xh58/73qBPPzz3D11aoTzJ13tooJfVyiPXdkaS2RSqCm6N0D3AJM\nte9PBK4EnnDTX5kxY0bVTmJiIomJiW1CLF588UVOnz6ti56L2DQb09dO54v9X7Bs3DIujb60yX5Z\nrTB7NrzxBrzyCjz44FnM5lIfmZnw0UcwZ46a3eUPf4C774Zz0MOyPs6Ul/Ot0cg3OTlsKy7mhg4d\nGB0VxaiICMK9GxevSvLMedz1xV0czj3MA/0e4KHLH+KCMNeWISrcVEjaq2kU/1pM5z92puNjHfEK\ncb97rcWSj9H4NVlZiygp2UFExCiio8cRFjYMT0/X45KamsrHH3/MvHnz6Nq1Kw899BBjxowhKCjI\nJfclJfC//6meoCtXwmWXqWQePRri492OVouxbt061q1bV7U/a9YsaD360C5JoGb15t3Ahw77E4F3\nm+BvvaZ7a+eFF17QqzebwPw98yXyn5Gy7NCys/YrOVl1xBw+XOTMmWYInDMsFrVOzo03isTEiPz1\nr6qx6DyTW1Ehn2ZkyJ3JyRK8YYPcsGuXvHvqlJxyo0POwZyD8vTKpyXyn5Fy8/ybZXXqapfdFu8t\nlv0T9ktSRJKkPp/qdq9PR8rKMhzGAEbK4cOPSn7+erfGAFosFlm2bJncfvvt0qFDB3nooYdk69at\nbrVFms0iy5aJTJmiJvUZNEjNZ97s7cjNAHr1ZouTQE1L7ypgJtXVm88DGqoNzx1kxowZVRZeJa5Y\nSB6zzv7RyIym5xvd0ms6W05v4e4v7+bJQU/yl2v+4vbYLkcsFnj5ZbVQ7ZtvwoQJLWD1VXLoEPz3\nv2rM35Ahyvq78cbzPjCs1Gbjx7w8vjEa+SE3l+7+/oyOjGR0ZCQXBQY26r7MWsZXB74iwDuA0ReP\nduve5mNmTs0+RfbibKLHRxP/53j8E5q+oG7tMYBRUWOIiRlHUNDlLueT9PR0Pv30U+bOnUtAQAAP\nPvggEydOJCIiwuVwWCywfr2qAv3mG1Xteffdaru06ZUUZ02lxadbei1PAjUtPS8g1X7ch+qOLO5S\nbymmtaNbemdHWkGaXD7ncpn49cRG55R0hV9/VUPvRo8WycpqhgA2RHGx6hXRp49Iz56qi2Ar6RFR\nYbPJqtxc+f3hw9Jx0ya5aOtWeT41VbYVFp5VD9rGKM8sl9RpqZIUniQHJh6Q4uSz7yJZUrJPUlNf\nsI8B7CHHj78kZWUZLru32Wyydu1aGT9+vISGhsrYsWNl9erVDU595gyrVSQpSeTpp9XkPldfLbJ4\n8fldy5h2bOm1BhYB6UA5cAp4wH58OHAY1Yvz+Sb63SZXThcRmT59ui56Z4mpwiT3fnmvXPnhlZJe\ndPbLapeViTz3nKqFXLKkGQLYGJqmvoZjx6oVUqdObab505oHm6bJlsJCee7oUem5ZYt03rxZHj9y\nRNbk5bk8FMJqs8oVH1wh09dMlxP5jc8IbimwyIl/nJCNMRtl76i9UrC54GyjUTUG8NChhyUpqYPs\n3z9W8vOT3BLx3Nxceeedd6RPnz5ywQUXyMsvvyxnmlAnbrGIfPWVGkLTqZPIyy+L5OS47U2T0VdO\nb/s4Tdj6jrcGrFarmM1mmTZtmkyaNEnKysrqHTTbmuPRWtA0TWatmyXxb8bLjvQdzeLn5s0iPXqo\nEQi5uc3iZeNkZIi89FK1KbBwYasaEa1pmuwvKZG/nzghA7Zvl4ikJJl84IB8m5PT6ED4fVn75Mn/\nPSnhr4X/f3tnHhZV+cXxL+4byiICCorlmrmlubVIaf5yS9PSSsU9tdxT20Oz0tRyy4VcElxQK9PM\npSxFQVD2RQQFZN9R2deZOb8/3kEBZ3AGBrgzns/zzANz5857zzt35n7ved/znkMjD42kk2EnH5tf\nVZYvo4QdCeRl50X+Q/0p41yGTjzN4uL7FBe3ma5d60ze3r0oMdGJZLLKs7aURaFQkLe3N73//vtk\nYmJCY8eOpVOnTlFJFdK3BASIxe8mJkSzZolVL7UFWPT0FrUnVKo4OjqSkZFRuceaNWtU7ivlfkiN\nX0N/pdYbWtPxG8d10l5eHtGSJURt24pq3bVGqSsgscCXisQWFNDW+HiyDwiglleu0MSQEDqUklJp\nGrS84jw6EHCABu8dTG8df0uj48hL5JRyKIW8n/Umn74+lHoslRSy6oufQiGnu3f/puDgN8jd3Yxu\n315CeXnapb3Lycmh/fv305AhQ8ja2po+/fRTiqhC1Epamqj+0LYt0dChIu5JZ9mD1AAWPb1Fb4c3\nNcFQ+lFb+Cf5U/vN7Wnx2cWUkJWgkzYvXSKysxN35JnVH2nTjrAwURbA1FSshv7nnxpYVV990ouK\naH9SEo0NDibjK1doRGAg7UpIoKRKPNXcIs29KyIihVxB6X+mk99gP7rW6Rol/pyoVZmjyigoiKGo\nqE/Iw8OCAgNfo/T0k6RQaKc6oaGhtHz5crKwsKBXXnmFDh8+TAVapqYrLiZydSUaPJioQweijRtF\nlStdwsOb+o/KE6tuu75hKP2oTVJyUmjR2UVkut6Upp2YRoHJ1Z8jy84WNdnatye6cEEHRmqLhANf\nKpJTUkK/pqbSe6GhZOLuToP9/GhjbCylFGm2JOGvW39VWu9PoVDQ/cv3Kej1ILra9irFbYqjkmzd\nZIaWyQooOdmFfH0Hkqdne4qJ+U7r1GeFhYV0/PhxGjFiBJmbm9OiRYsoqArjlt7eRFOniqHP+fN1\nXwMQLHp6i9oTaggYSj/qgnv592id+zpq+0NbGuY8jM7ePlvtOaHz58WU24IFdZR/UaEgunJFsoEv\nFSmSy+n83bs0KyyMTNzdyeHmTfJ9TPHbTy58QqbrTWnMkTF0+tZpksnVe1zZ/tl0Y9IN8mjtQXe+\nvENF6VVf6/dI29m+FBY2U1n8dhplZV3T+vsTHR1NX331FdnY2NDzzz9PTk5OlKVlbtakJCJHRzHS\n/dprIvm1Lpx9sOjpLTy8yVRKkayInAOdqdeuXvTMjmdor9/eai1xuH+faPp0oqeeEvpTZyQni+ru\n7dqJTNoSC3ypSEZxMa2PjaX2np70gp8fHUtNpWI1V+/colza57+PBuwZQLY/2tJ3V76rtO2823kU\nPjec3E3d6fbi21QQq7uKF8XFGRQbu5G8vJ4iH59+lJS0n2SyfK3akMlkdPbsWZowYQKZmJjQBx98\nQOHh2pVPKiwUuT779SPq1Ilo69aq5Tbn4U39R+WJVbdd3zCUfkgBhUJBF6Iu0MhDI8lyoyWtcVtD\n6XlVjxU/dUoUVli2jChfu2ugbikNfHn1VUkHvpRSIpfT72lpNNTfn9pdvUrfxMRQWiVDnwHJAbTb\nZ7dGbRcmFlLkikhyNxXVHXJvajdvWBkKhZwyMs5QUNAo8vBoTZGRKyg/P0rrdhITE+mLL74gCwsL\nGj16NF24cEHLChSisMekSWKqd/FiotuaVYAqB1j09Ba1J9QQMJR+SI0bqTdo9qnZZLLehOadnkfh\n6doXLSUiysggmjyZqGtXomvXdGxkVbh5s3zgy4UL4iopUQJzcmi2cuhzRlgY+T9m6LMicjVpxorv\nFlP019HkYeFBIW+GUJa3bss95edHUWTkCvLwaE1BQaMoI+OMVinPRBv5tGfPHurRowf16NGD9uzZ\nQ/la3j3FxRF9+imRhQXR6NFEf/+t+ekGi57ewsObTJVJyUmhLy9+SRYbLGjskbHkFu1WpXm/Y8eE\nk/XppxIZYSwb+NKpE9F339VgctHqk15UROtiYsjG05Ne9Pen46mpGi1+n/7HdBp/dDydizinUgBl\nuTKK3xpPnraeFDAsgDLOZuhkucOD9mX5lJS0n3x8+pGX11MUG7uRiou1W9ipUCjon3/+oVGjRpGF\nhQV98cUXlJSkXaKF/HyivXvF6e7eXdQ0Vlcwnoc39R+VJ1bddn3DUPohdfKK82iXzy7qvK0z9XPq\nR0eCj1CxTLscUSkpROPGiQuPv38NGaotCgWRlxfRnDki8GXMGKI//qjb/FeVUCKX06+pqfSSvz/Z\neHrSdzExlF7J0Gd2YTY5+TrRc07Pkd0WO/r2yreUnPNomjF5kZySfkkin34+5NnBk6LXRlNhgu7u\nTkTGl2t08+Y0cnc3obCwmZSd7at1O+Hh4bRgwQIyMTGhadOmkZ+fdskWFAqxxGb8eFHW8aOPiKKj\nVe8LFj29Re0JNQQMpR/6glwhp1Php+jlX14m2x9tadPVTZRZoPniPIVCBBtYWBCtWVPHc30Vyckh\n2r9fBL1YWhKtXCnWAUoU/+xsmqkc+pwVFkaBjwmX9U30pbl/ziXbH22psES9oGX7ZlP4vHByN3Gn\n4DeCKeMv3Xp/RUVpFBOzjjw9O5Cv70BKTnYhmUy7wJq7d+/S999/TzY2NvTyyy/TiRMn1GZtUsed\nO0L0zMyECF66VH7oEyx6eovKE65uu75hKP3QR3wSfeid394hs+/NaPn55RSbqXlwSHy8SFxtaSky\ni9VaKjNNCQsjWrWKyMpKpDzbt6+O1mA8nrSiIvo2JobaXb1KL/v7029paZUOfWrqoZfklFDS3iTy\nHeBLnraeFL06mgridBf1qVDIKD39FAUGjiAPjzYUFfUJFRQ8PvdoWYqLi+no0aM0cOBA6tixI23e\nvFnrJQ85OWK4s1s3ol69xDBofj6Lnj6j8kSr2y4FioqKaNasWdShQwcyNjamPn360Llz51TuK+V+\nPCnEZsbS8vPLyex7M3rnt3fIJ9FH4/eGhoraaqamREuXSjCosriY6ORJorFjxfDn7Nki8agEg1+K\n5XI6lppKL/j5UXtPT1ofG0sZWgzTesR60D+R/6ic+8sOyKZbH9wid1N3Ch4TTOmn0kleorvMN3l5\ntygiYim5u5tRcPAblJHxl9YZX7y8vGjy5MlkampKS5cupago7SJHFQoR6DJ6tBiJAIue3qJ3gSx5\neXm0evVqilVeAf/66y8yNjammJhH7wKl3I8njcyCTNp0dRPZ/mhLL//yMp0KP6U2erAi8fFiqMnU\nlGjaNKLg4Bo2tiokJYmKp507i2iIjRtrocZS1fDNzqbpN2+Sibs7zQkPpyANvNQ/w/+k3rt609Nb\nn6b17uspNffRvslyZZS0P4n8BvvR1XZX6c6Xd6ggRnfen0yWS4mJe5QZX2zozp0vKT8/Wqs2YmNj\nadWqVWRubk7jx4+ny5cvaxV8denSJVq4kANZ9BmVJ1bddqnSq1cvOnHixCPb9a0fTwLFsmJyDXGl\n/j/3py7bu9Aun12UV5yn0Xvv3xeBlFZWRKNGEbm5SdCpKs36Mn06UatWYpz2r7/EekCJkVJURF9H\nR1Pbq1fJPiCATqSlkaySD1ShUND1hOs06+QsMllvQpN+naRS/IhEZffbi26Tu5k7BY0MorQTaSQv\n1p33l5MTRLdvLyZ3d3MKDBxBqanHSS7XPKNMbm4u7dixg7p06UJ9+/YlZ2dnKtQidBgsenqL2hOq\nL6SkpFCTJk3o1q1HM7zrUz+eNBQKBV2OuUxvuL5BFhss6MuLX1JKTopG7y0oIHJyEk7VwIFibXlN\nZ9WvEllZRD//LIxs21asyahCFYGapkguJ9eUFBrs50cdPD1pQ2ws3X3M0GdmQSbt9tn92DlAWZ6M\nkp2Tye8FP7pqfZWiPoui/Du6i1CSyQooJeUwBQTYk4dHG4qI+IhyczUPMJLL5XTmzBkaPnw4WVlZ\n0ddff01paY/PFwoWPb1F7QnV4KxX/1FNiouLadiwYTR//vyq94Opc25l3KL5p+eT6XpTmn1qNoWm\nhWr0PplMCN6AASKP9M8/C0GUJCEhIv2MhYWof+PiIuovSQzvrCyaphz6fD88nEKqEKBTLCtWOWSY\nG5pLEUsjyN3cnQJHBFLab7r1/vLyblNk5Mfk4WFJ/v4vUnKyM8lkmn/GISEhNHv2bDIxMaHZs2dT\ncCXj6GDR01vUnlCpI5fLafLkyTR69GguImsgpOel09duX5PlRksaeWgkXYvXLE2LQiGGOkeOFKnN\n1q2TbBEFoqIiot9+E8aamoryE97ekhunTS4spDXR0WR19Sq9GhBAJ9PTKx36LItzoDN13taZNl7d\nqDJVnaxARimHUsj/ZX/ysPSgyI8jKS9CdzcAcnkxpaX9QUFBo8jd3ZRu3VpA2dmaL/5MS0ujtWvX\nkrW1NQ0fPpz++usvkleIeAWLnt6id4EsRGJobMaMGfTqq69WOg4v9X4wqikoKSAnXyey+dGGxrmO\noxupNzR+b1CQKCljZka0YgVRgm7KAtYM8fFiTUbHjmJV/pYtIjebhCiSy+lQSgoN8PWlp7y8aHt8\nPOU+ZixZoVCQR6wHTTsxjVqta0Xv/vau2mw9uWG5FPFRBHm09qCAYQGUeixVZ3X+iIgKCuIoOnoN\neXq2Jx+f5yghYReVlGi2drSoqIhcXFyob9++1LlzZ/rpp5/o7NmznJFFz1F5stVtlwrz5s2jQYMG\nUa66XEFKpN4PpnIKSgroB88fqM3GNjTtxDS6c++Oxu+NiRGV201NRQHbUM1GTOsGuZzov/+IpkwR\nwS+TJon4eIlNVF7NzKQ3Q0KotYcHfRYVVWmR21Lu5t+lLV5bqPtP3ckj1kPtfvJCOaW4plDAKwHk\nYeFBkSsiKe+W7rw/hUJGd++epxs33lJmfZlBmZkeGkVuKhQKunz5Mr355ptkbm5OK1euZNHTY1Se\nZHXbpUBMTAwZGRlR06ZNqUWLFg8eR44ceWRfKfeD0ZyswixyvORIZt+b0YdnPlSZKksdGRnCmWrT\nRiyn81B/3ZUG9+4R7dhB9NxzouruV1+pz4VVR9zOy6MPbt0iE3d3mhkWRjcec/NJJIRD06UBebfy\nKHJlJHlYeFCAfQClHEkhWYHubgCKilIpNnYjXbvWla5f705xcT9oXOw2KiqKli5datCiZ1TXBtQw\nRPTouTMyMoKq7fqGofSDEaTnpWOdxzo4BzljXr95WPXCKpg0MdHovQUFwIEDwKZNgJUV8PHHwJgx\nQL16NWtztQgMBPbvB44cAYYNAz7/HOjVq66tekBGcTF2JyXhp8RE9DU2xgpbW7xqYgIjI80vm4nZ\niTgeehzT+0yHWVOzcq8pihXIOJWB5J+TkRuYC8tplrCea43m3ZvrxH4iQlaWB5KT9yIj4xTMzP4H\na+s5MDUdBiOjyr8Yyj4auj4YJCrvZtRt1zcMpR9MeeIy42j2qdnUekNrWue+TuN1fkRiudyxY8KR\n6t5dpNOURGWHysjJEYvdraxEVm4fzbPa1AYFMhntTUqi7tevUx8fHzqYnKy2wG1Fou5F0Xu/v0et\n1rWiqSemknusu0qPMD8yn6I+iSIPSw8KfC1QVHyQ6y74p7j4PiUk7CAfnz7k5WVH0dFrqbBQ/YQw\n2NPTW5TnrzyG4iEZSj8Y1dzKuIUvL30JjzgPfPHyF5jz3Bw0qt9Io/cSARcvAt9/D9y8CSxdCrz/\nPtCyZQ0bXR0KCoC9e4ENG4BnnwW++AJ44YW6tuoBCiKcu3cPP8THI6KgAIvbtcP7bduiVYMGj31v\nRn4GXIJc4OTnhAb1GmDHqB2wt7N/9BhFCqQdTUP85nhQEaHdknawmmaF+s3r66QPRITcXH8kJe1B\nevpxtGr1Aqyt58LMbBTq1XvYD0P29AyyU2Vg0WP0Hr8kP3x+8XNE3IvAGvs1ePfZd1G/nuYXwYAA\nYONG4J9/gLlzgcWLAWvrGjS4uhQVAc7OwPr1QIcOwJdfAq+8AmgxrFjT+Ofk4If4eJy7dw8zrKyw\nxMYGHZo0eez7iAhXYq/ApqUNnjZ7utL9Mi9nImFzArI9s2E9xxrtFrZD43aNddYHuTwPaWnHkZy8\nF4WF0bCymgFr69lo2vRpFj09hkWPMRgux1zGp/99ipziHHz76rcY22WsVvNL0dHAjz8Chw8Db70F\nrFgBdOlSgwZXl5ISwNUV+PZbwNxceH4jR0pK/OIKC7E1IQG/pKTgdTMzfGRri37GxlVuL7c4Fy0a\ntSi3LT8yH4nbEpF6KBVmr5vBZpkNWj6vW5c9L+8mkpP3IjX1IJo374W+fS8Chq8PBolertPTFEPp\nB6M5CoWC/gz/k3ru7EmD9w6mS9GXtG4jLY3I0VEkTxk/XqI5PssikxEdPUr07LNisvLECbEMQkJk\nlpTQxthYsvH0JPuAADqdnk5yLT/UhKwEMllvQjNOziCveK9H5v6K7xdT3KY48mzvSX5D/Cj111Sd\nVnsgIvrvv79pxYqJPKenxxCxp8cYIApSwDXEFV+5fYVOZp3w3avfoV/bflq1kZcHuLgAW7YAzZqJ\neb933gEa624ETbcoFMCffwLffCOGQD//HHj7baC+bua7dEGJQoHj6enYFB+PQoUCH9nYYKqlJZpo\naGN6XjoOBB7Az/4/o1nDZpjXbx6m9JyCVk1aPdhHIVMg42QGEjYnoCixCDaLbGA9xxoNWj1+blFT\neHhTf2HRYwyaYnkx9vnvwzfu32CI7RCsfWUturXuplUbCgXw999C/IKDgfnzxcPSsoaMri5EwPnz\nwNq1wN27wGefAe+9BzRsWNeWPYCIcCkzE5vi4+Gfk4MP27XDgrZt0bqRZoFIClLALcYNTn5O6GPZ\nB5++9KnK/bK9s5GwJQH3zt+D5TRL2Cy2QdOnm1bbfhY9/YVFj3kiyC/Jx/br27HJaxPe6PIGHO0d\n0b5Ve63bCQ0Ftm0Djh8Hxo8HliwB+vSpAYN1ARHg5ibELzoa+OQTYMYMybmqoXl5+DE+HicyMvBu\nmzZYZmODzs2a6fQYhQmFSNqRhOS9yWj5QkvYLrNFq5dbaTXnWxYWPf2FRY95osgszMTGqxux2283\nHHo54LOXPoNFcwut28nIAPbsAXbsADp3FkOfY8ZIaiSxPFevioCXkBBg1SpgzhygafU9Hl2SUlSE\nnxIT4ZScjBdbtcIKW1sMadmySsJERPj84ud4s9ub6N+2/4M25HlypBxMQcKWBNRvVh82S23QZnIb\n1GusXZYCQxY9Q0flZK267VJhypQpZGVlRcbGxtSxY0f65ptvVO4n9X4wdUdyTjItPLOQzL43o68u\nfkWZBZolIa5IcTHRkSNEzz9P9NRTImd0VpaOjdUlPj4iOsfKimjDBrHwXWLkymT0U0ICPeXlRQN9\nfenX1FSNKzyUUiQrou+ufEcdt3Skvrv70m6f3ZRdmP3gdYVcQRlnMijwtUC6an2Vor+OpqI0zYvQ\nwoADWQwdtSdUyty4cYMKlIXTwsPDydLSks6dO/fIflLvB1P33Ll3hxz+cCCLDRa06eomyi+uWoFT\nhYLI01PkijY1JVq6lCgqSsfG6pKgIKLJk0WI6tq1kqzFJFMo6Pe0NBrs50cdvbxoW3w85WhZgV6u\nkNP5iPP05tE3yWS9CX135btH9skJyaHwOeHkbuJOYbPDKCfk8TcCYNHTW9SeUH0hPDyc2rVrR35+\nfo+8pk/9YOqWG6k3aPzR8WTzow05+To9tiJ4ZcTGEq1aRWRurgdLHsLCiBwchLFffEGU/mj9Oylw\nNTOTJoSEkLm7O62IjKSofO1vTpKyk8g7wVvt60VpRRS9NpquWl8Vqc7OqE91BhY9vUXtCZU6CxYs\noGbNmlH9+vVp165dKvfRh34w0uJa/DV61flV6rytM7mGuJJcUfV1Xrm5RDt3EnXtStSnD9GBAxLO\n8xkVRTR3rnBTV6wgSta8kkVtEpWfTysiI8nc3Z3GBAfT+bt3tV7vp4rU3NQH/8sL5ZTskkw+fX3o\nWtdrlLAzgWS55as8wIBFT58nKrsBWALAHMDfAPap2Ed5/sqjSQCIkZtbtQ0ke/vqvZ8Ily9fxltv\nvYWzZ89iwIAB5V7nQBamqvx35z98+t+nyC/Jx7JByzCl1xQ0afD4NFqqKLvkISgIWLBAwkse4uNF\nTrZDh4CpU4GVKwFb27q26hHy5XIcSU3F9sREFCoU+LBdO0y3stIoz6cqBu0dBDnJMa/fPLzz7Dto\n0aiFqMJwJQsJWxKQ5ZFVLtUZB7JIm3oAjqt5TeVdj7rtUmX+/Pm0dOnSR7brWz8YaaFQKOhC1AUa\ndXgUtdnYhhwvOVJKTkq12rxxg+j994lMTIhmzCAKCNCRsbomOVl4fKamwmCJTlAqFApyv3+fJt24\nQSbu7rTg1i2N6vtVRCaX0ZnbZ+gN1zfIdL0pzT89nwKSH56c/Mh8ur34NrmbulPou6EG7elJodrW\nfgCpAEIqbH8dQDiACAAfq3nvWABnABytMeskQElJCZo3102NLYYpxcjICMOfGo4z752B23Q3pOSm\noNuObph1ahZCUiv+HDWjRw/AyQmIjBR5PceMEbmiT50C5HIdd6A6WFkJj+/2bcDCAhgwQKSjOX9e\nUoYaGRnhRRMTHOvRAzeefx4WDRtieFAQhgUG4o/0dMgUCo3aqV+vPkZ1HoVT75xC8IJgWBtbY5Pn\npgevN326KTpv7YxB0YNg3L/quUMZzXgJQF+UF736ACIB2AFoCCAQQHcA0wBsBtC2Qhun1LSt8q5H\n3XYpkJaWRq6urpSbm0symYzOnz9PLVu2JG/vRyeopdwPRj/JyMugb698S9abrGm4y3A6c/tMteb9\niouJXF2JBgwQSx42b5bokof794l++kmszbC2Jlq5UritEqRILqcjKSk0xM+PbD096buYGEoradja\nBwAAGzdJREFU0nw5gibAgD09qWCH8qI3GMD5Ms8/UT7KMhTAVgBOAJaqaVftCZUq6enpNHToUDIx\nMaFWrVrR888/T6dOnVK5r5T7weg3RbIicgl0ob67+1LX7V1pl88urYrZqsLLS6wiMDUlWrKEKDJS\nR8bqmtBQoo8/JmrblqhfP6Jt2yQb9emXnU0zw8Ko1ZUr5HDzJnnr4I7iB88fDFr0pDJRaQfgNICe\nyudvAfgfgLnK51MBDASwSMt2ydHR8cETe3t72NvbG0wAiKH0g5EuRITLsZex+dpmeMZ7Yu5zc7Fw\nwEK0Na442KI58fEi08vevcCLL4pUZ/b2kqoYJJDLgf/+E7X9zpwR47TTpwOjRgEa5tCsLe6WlGBf\ncjJ2JibCqlEjLGzXDm+3aYPG9TSbwXJzc4ObMngvJjMGzludAenog06RSqfsUF70JkLM6VVb9FSJ\ngqGIhaH0g9EPIu5GYNv1bTgcchiju4zGskHL8Jz1c1VuLy8POHhQ5PqUy4GZMwEHB6Bt1fW05sjK\nAn79VQjgrVvAu+8KAezbV1JqLSfCmbt38VNiIoJyczHX2hrz27aFjQYFbstiyNGbUghkUUUigLJx\nxLYAEqrS0OrVqx/cwTAMU3U6m3fG9lHbEbU4Cj3b9MS4o+Mw9MBQnAw/CblC++CP5s3F0obQUODA\nASAqSgTCjBkD/PEHUFys+z5UmVatRD5Pd3fAywswMQEmTgR69QI2bQKSk+vaQgBAfSMjvNG6Nf7p\n3RuX+/RBllyOXr6+eDs0FJczMx97k+zm5obVq1fXjrF1hFSU3A7lPb0GAG4BGAYgCYA3gHcBhGnZ\nLnt6DFNDlMhL8HvY7/jR60fcK7iHJQOXYGbfmY9U/taGvDzgt9+A/fuB8HCxlG7mTODZZ3VouK5Q\nKIQIOjsLlR48WHh/48YBWnpWNUm2TIaDqan4KTERDYyMsLBdO0y1tETzSrKHG7KnJwVcIYStCEA8\ngJnK7SMhhC8SgOpiUo+HK6czTA2jUCjII9aDJh6bSObfm9PKf1ZSXGZctdu9fZvos89EPMmAAUS7\ndxNlVi1vds2Tm0t08CDR8OFEZmZi7d/Vq5LKz6ZQKOjfe/dofEgImbm709KICIrIKx+cdOnSJXJ0\ndORAFj2GiD09hqk1ou9HY7v3djgHOeO1p17DskHLMNBmYLXalMmACxeE93fhAjB2LDBrFjB0KKBh\nnEbtEh8vMr44Owtv0MFBPNprX9+wpogtLMSuxETsS0nB88bGWNiuHV43M0M95fykIXt6BtmpMpCj\no+ODqM1SDEUsDKUfjOGRXZSNff77sM17G6xbWGP54OUY3208GtSrWhqtUjIygMOHgX37gNxcMfQ5\nfbqk9OQhRIC3txC/Y8dENd7p04EJE4AWVR8C1iUFcjmOpaVhe2IismQyjIiLg3FICDZ88w1goPpg\nkJ0qA3t6DFOHyBQynAo/hR+v/YjE7EQsHrgYs/vORqsmrarVLhHg5ye8v2PHgP79hfcnsem0hxQW\nAqdPCwG8elUYOn26ZNxVIsL17GxsT0zE2Xv3kPnSS4CB6oNBdqoMLHoMIxG8E72x+dpm/B35Nxx6\nO2DxwMV4yvSpardbUCDiSPbvBwIDxWqCWbPEagJJkpoq3FVnZ7EUYto0IYCdOtW1ZQBEhXdrcedg\nkPpQ97cYNQwvWWAYaTCg3QC4TnRF0PwgNK7fGAP2DMDE4xPhEedRrZu3pk2B994D/v0X8PUFzM2B\n8eOF6G3fDty9q8NO6AJLS2D5clGS4uRJMU77wgvisWcPkJNTZ6a5ublh97p1dXb82sAglbwMeu3p\nRUREoGfPnnj77bdx8ODBR17Xl34wjCpyi3NxIPAAtl3fhnpG9eDQ2wFTe01F+1bVn6BTKICLF4X3\nd/Ys8L//Ce9v+HCgkkj9uqOkRCS7/uUXwM0NmDIF+OADoHv3OjGHA1n0F70WvREjRqCwsBB2dnZw\ncXF55HV96QfDVAYR4VrCNbgEueD4zePoZdkLDr0cMPGZiWjZuGW1279/H3B1FQKYlgbMmCEeT1V/\nZLVmSEgQpSr27gWeeUaI37hxQBVr6VUFFj39RW9F7+jRo/jjjz/wzDPPIDIykj095omgSFaEMxFn\n4BLkArcYN4zuMhoOvRww7Klh1Y78BMSI4i+/iCm1nj2F9zdhAtCsmQ6M1zXFxcCJEyJRaXQ0MG8e\nMHeuKItUwxiy6PGcngTJzs6Go6MjNm/ezKLGPFE0btAYE7pPwMl3TiJiUQQG2wzGl5e+hO1mW6z4\nZwWCU4Or1X7v3qLCe0KCcKCOHAFsbEQ6tIAAHXVCVzRqJGr8ubuLhNcJCWK4s3RbDVwbOA2Z/lNl\nT8/NyK3aB7cn+yq9b8mSJbCxscHKlSuxZs0a9vSYJ56w9DAcDD6IQ8GHYNbUDA69HfBez/dg1aL6\nXk9Cggik3L0b6NYNWLVKzP1JKI/0QzIzARcXYOdOIYoffijm/3S87s+QPT2D7FQZ9G54MzAwEFOn\nTkVAQAAaNmyI1atXIyoqikWPYQAoSIHLMZfhEuyCk+EnMdhmMKb1moZx3cahWcPqjVEWF4u5vw0b\nhJ6sWgW8/XatTqVpDpEoe7RjB3DlysPAl27ddNI8i57+oneit3XrVnz++ecwNjYGAOTm5kIul+OZ\nZ56Br69vuX2l3A+GqWnyivNwMvwkXIJd4J3ojQndJsChtwNe6vAS6hlVfeZGoQDOnRPiFxcHfPSR\nyPzSvLkOjdcl8fEPA1+efVZ4f2PHVkutWfT0F71LQ1ZQUIAc5TodIsKmTZsQExOD3bt3w9zcvNy+\nUu4Hw9QmSTlJOBJyBM5BzsgpysG0XtMwrfc0dDHvUq12r10T4ufhIRyphQuB1q11ZLSuKSoCfv9d\neH9xcQ8DXywtNW6itJjsmjVrAAPVB4PsVBn0ztOryJo1axAVFcVLFhhGA4gIQalBcAlywZGQI7Az\nsYNDbwdM7jEZ5s3MH9+AGm7dAn74QZQ9eu89sbZcskseAJGaZudOUfh25Eih2C+8oPFEJXt6+ove\ni15lGEo/GKYmkClk+CfqH7gEueBc5DkM6zgMDr0dMKrzKDSq36hKbSYni0rvP/8MvPaamPd7rurF\n42uezExRoXfnTpG6pjTw5TFjtSx6+guLHsMwyCrMwm83f4NLsAtC00IxucdkOPR2wIB2A0ov8FqR\nnS0yhm3eLFYRSDriExATlaWBL+7uIt/nggVA164qd2fR019Y9BiGKUf0/WgcCj4El2AXkf6sl0h/\n1sGkg9Zt6VXEZylxcQ8DX3r1Et7fmDHljGbR019Y9BiGUQkR4XridZH+LPQ4+lr3xdKBSzGy80it\noz9LIz6//14EU0o+4hMQgS+//SaGPuPjReDLnDmApSWLnh6jd9Gb2mAo/WCYuqZIVoTjocex+dpm\n5JfkY8nAJXDo7YDmjbRXLS8vYONGPYn4LCUgANi5E26urnDr2BFrbtwADFQfDLJTZWBPj2EYjSEi\nXIm9gi3Xt8A91h1znpuDD5//ELatbLVuqzTi89dfRezIRx8BHTvWgNG65P594MABGC1fDhioPhhk\np8rAoscwTJWIuheF7d7b4RLkghFPj8CyQcsw0Gag1u2URnzu2SMiPleulHjEJ3hOT59h0WMYplpk\nFWZhf8B+bPPeBusW1lg6aCkmdJ+gddUHfYr4ZNHTX1j0GIbRCTKFDH/e+hObr21GXFYcFg1YhDnP\nzYFJExOt2ikb8dm4sRC/t96SVsQni57+wqLHMIzO8U3yxZZrW3A24iym9JyCxQMXo7N5Z63aUChE\nVfcNG6QX8WnIomfw9fT0EXt7ezRt2hTGxsYwNjZG9+7d69okhmHK0L9tfxyacAg3PriBlo1bYsj+\nIRjrOhYXoy9qfCNar55YHnfliqjrd/GiCHRZtQqIiqrhDjzBGKSSl0EvPb1XXnkF06ZNw6xZsyrd\nT+r9YJgnhfySfBwKPoQt17agYf2GWDpwKd7t+S6aNGiiVTuRkWLd+IEDIthlwYJH1o3XCuzp6TH6\nWDkdAIsZw+gRzRo2w/v93seND25gw/ANOBZ6DHZb7LDabTVSc1M1bqdTJ7HGLz5eZArbuBGwswPW\nrAESE2vO/lK4crr+o7eeXmhoKIgIXbt2xbfffouhQ4c+sp/U+8EwTzI3029i67WtOH7zOMZ3G4+l\nA5eit1VvrdsJDhZV3Y8eBeztgfnzRdRnvRp0WQzZ0zPITpWhyqLn5lb9j8bevmqC5O3tjR49eqBR\no0ZwdXXFwoULERgYiKcq1DJh0WMY6ZORn4Gf/X7GDp8d6GreFcsGLcPoLqO1TnWWkyPm/nbtAnJz\nRdawmTNrJtsLi57+opeeXkVGjhyJ0aNHY+HCheW261s/GOZJplhejF9Df8Xma5uRVZSFJQOXYEaf\nGWjRqIVW7RAB168L8Tt1Ssz5LVgADBmiuzV/hix6Bj+nxzAMIwUa1W+EKb2mwGeuD34Z9wsuxVxC\nhy0dsPKflYjLitO4HSMjYNAgwNkZuHNHBLzMnAn07i1yR2dn12AnDAAWPYmRlZWFv//+G4WFhZDJ\nZDh8+DDc3d3x+uuv17VpDMPoACMjI7zY/kX8Pul3+M71hZzk6LO7Dyb9Ogle8V5ajd6YmYkq7rdu\niUwvly4BHTqIoc/AwBrshB5jkO5rGfRueDMjIwOjRo1CeHg46tevj+7du2Pt2rUYNmzYI/tKuR8M\nw2hOdlE2fgn4Bdu8t6Fl45aY128epvScAuPGxlq3lZwsSuX9/DPQrp0Y+pw0SRRO1xRDHt40yE6V\nQe9ETxsMpR8MwwgUpMC/d/6Fk58TLkZfxOQekzGv3zz0te6rdVsymcj4sns34O0NODgID1BNsfRy\nsOhJl+YA3ACsBnBGxessegzD6CVJOUnY578Pe/z3wNrYGvP7zcfkZyejWcNmWrd1545Idr1/P/Ds\ns8L7GzcOaNhQ9f4setJlDYAcAGFg0WMYxgCRK+Q4F3kOu313wyvBC1N6TsG8fvPQo00PrdsqKgL+\n+ENEfkZEALNnA3PnAu3bl9/PkEVPCoEs+wGkAgipsP11AOEAIgB8rOJ9rwG4CSC9Rq1jGIapQ+rX\nq48xXcbgr/f+gv/7/mjVuBVeO/gaXv7lZRwOPoxCWaHGbTVuDLzzDnD5MvDvv0BWFtC3L/DGG2Io\nVC6vwY5IBCko+UsAcgG4AOip3FYfwC0AwwEkAvAB8C6A/gCeA7ARwAcQw5vPACgA8CaAim4Pe3oM\nwxgcJfISnL59Grt9dyMwJRDTe0/H+/3e17rSAwDk5YlsL7t2AXfvAu+/D3z2meF6elLplB2A03go\neoMBOEJ4ewDwifLvehXvnQ7h7Z1V8RqLHsMwBk3kvUjs8duDXwJ/QS/LXpjffz7GdR2HhvXVTNhV\ngq+vEL/9+1n0aho7lBe9twD8D8Bc5fOpAAYCWKRlu+To6Pjgib29Pezt7Q1GLAylHwzDVJ8iWRFO\nhJ2Ak58Tbt29hVl9ZmFuv7mwM7F77Hvd3NzKJeZfs2YNIB190ClS6ZQdyoveRAgvr9qix54ewzBP\nGmHpYXDyc8LB4IMYZDMI8/rNw6jOo9CgnmY1ijiQpfZJBGBb5rktgISqNKSvpYUYhmGqSneL7tjy\n+hbEL4vHpGcmYZ3HOnTc2hFr3NYgMVt9jSIuLVR72KG8p9cAIpBlGIAkAN4QgSxhWrbLnh7DMAyA\noJQgOPk54eiNoxhqNxTz+s3DiKdHqKz2wJ5ezeIKwBNAFwDxAGYCkAFYCOBviGUJx6C94AHQX0/v\n6NGj6N69O1q0aIFOnTrBw8Ojrk1iGEaP6W3VGztH70TcsjiM6jQKn/33GTpt64T1HusfFLplT0//\n0UtP78KFC5g7dy6OHz+OAQMGIDk5GUSEtm3blttP6v1gGEa6EBF8k3zh5OeE38N+x4inR2B+v/mw\nt7NHPVGh1iD1wSA7VQa9FL0hQ4Zg7ty5mDlzZqX7Sb0fDMPoB5mFmTgUfAi7fXejRFGC24tuAwaq\nD1IY3qxR9G14Uy6Xw8/PD2lpaejcuTNsbW2xaNEiFBZqnnWBYRhGG0yamGDhgIXY3n07Xoh6oa7N\nqVEMUsnLUGVPz0gHJYir4oUlJSXBxsYG/fv3x+nTp9GgQQOMGzcO9vb2+Oabbx6xkT09hmF0DQey\nPIEQUbUfVaGpsujVokWLYGlpCXNzcyxfvhxnz6pKOMMwDMNog8GLnr4Nb5qamsLGxqauzWAY5gmE\nozf1H70MZHF0dMS5c+dw5swZNGjQAG+88QZeffXV0tRAD5B6PxiG0U8MeXhTs5w0TK3y5ZdfIiMj\nA126dEGTJk0wefJkfP7553VtFsMwjN5jkEpeBr309DTFUPrBMIy0MGRPj+f0GIZhGAA8p2cIsKfH\nMAyjJezpMQzDMIwBwKLHMAzDPDEYvOjxnB7DMIxm8Jye/sNzegzDMFrCc3oMwzAMYwCw6DEMwzBP\nDCx6DMMwzBMDi57EaNGiBYyNjR88GjRogMWLF9e1WQzDMAaBwefeXL16Nezt7WFvb1/XpmhEbm7u\ng//z8vJgZWWFSZMm1aFFDMM8Kbi5uRl8tLtBRueUQa+jN52dnbF27VpERkaqfF1f+sEwjH7B0ZtM\nneDs7AwHB4e6NoNhGMZgMEglL0OVPT0jHXwy1XHCYmNj8fTTTyMqKgodOnRQuQ97egzD1ASG7OkZ\n/JxeValrLTl48CBeeukltYLHMAzDaA8Pb0oUFxcXTJ8+va7NYBiGMSgM0n0tg14Gsnh6emLEiBFI\nTU1F8+bN1e4n9X4wDKOfGPLwpsF7evqYcNrFxQUTJ06sVPAYhmF0DSec1n/00tPTFEPpB8Mw0oI9\nPYZhGIYxAFj0GIZhmCcGFj2GYRjmiYFFj2EYhnliYNFjGIZhnhhY9BiGYZgnhicyDZmpqWlpSK5e\nY2pqWtcmMAzD6BX6fOW3B7AWwA0ARwFcVrGPynV6DMMwjHp4nZ40UQDIAdAYQEId21IpUsgIIwUb\nAGnYIQUbAGnYIQUbAGnYIQUbAOnYYahIQfT2A0gFEFJh++sAwgFEAPhYxfvcAYwC8AmANTVpYHWR\nwpdYCjYA0rBDCjYA0rBDCjYA0rBDCjYA0rHDUJGC6P0CIXBlqQ/gJ+X2ZwC8C6A7gGkANgNoC6B0\n3DITwttjGIZhmEqRQiCLOwC7CtsGAIgEEKN8fhTAOADrARxUbnsTwP8AmADYXtNGMgzDMPqPVCYq\n7QCcBtBT+fwtCEGbq3w+FcBAAIu0bDcSwNM6sI9hGOZJIgpAp7o2oiaQgqenCl2FXBrkSWMYhmGq\nhhTm9FSRCMC2zHNbSDxCk2EYhmE0xQ7lozcbQLjXdgAaAQiECGRhGIZhGL3GFUASgCIA8QBmKreP\nBHALYl7uUy3bVLcMojaxBXAJQCjEAvrFdWgLICJiAyDmTuuCTyE+ixAAR1B7EbfqvguLAIRBnJvv\na9iGJgCuQ9y83QSwTrl9o9KGIAAnALSqYTtMAPymPOZNAIPKvPYRxNpXsxo4rqpzoK7vTSCuCcFK\nGz/RkQ3qfo+rIUaRApSPspHkvQB4KfcPhu6+szHK9gIAeCu3va20TQ6gX5l9XwPgq9zfF8ArVTym\nqnNgBuACgNsA/oH4fmh6zD9Rt9dXpgIvAeiLuj0pVgD6KP9vASHgdemtLgdwGOLLWtvYAbiDhxeN\nYwCm19KxVX0XXoH4sTdUPreoBTuaKf82AHANwIsQF5fSKYb1ykdN4gxgVhk7SoXGFsB5ANGoGdFT\ndQ7U9X0GhOgBQFOlTe11YIO636MjxG+jIg0gBLk0uM4UupsOUvU5dwPQBUKYnyuzvQ+E7QDQA1Wf\n5lF1DjYAWKX8/2M8PAePO+YEiGtJcBVtYWoIO0jrTuQkgGF1dGwbAP9CXOzrwtMzg7jImEJcTE4D\nGF6Lx7dD+e/CcQCv1uLxy9IMgA/E+tOyvAngUA0etxXEjYcqfoXwampK9IDKf49l+/4/iBuz+gBa\nQ3xvTNS8rzqchPgOOkJ4uRUZhYfLo3RNNABzNa9VFL2yGAG4i4c3a9pih/LnIByApfJ/K+Xzxx2z\nBcQys+6Q1vVVY6QayGJo2EHcZV2vo+NvBrASYviqLrgH4AcAcRBD2ZkQIlxXdAbwMoTH5Qagfy0c\nsx7E8GYqxIXtZoXXZwE4W4PH7wggHSIZhD+APRACPA7iTr4u79rL9v1vANkAkiGGATdCfF90iR3E\n7/Ga8vkiCK9uHx4KbGeIKPLzAPwgfj+6giC+/754uCxLEyYqbSnRkR2WEN9HKP9aqtin4jHXAtgE\nIF9HNjA6xA7SuBNpAfHlHl9Hxx8DYIfyf3vUjaf3NMRF3hzC0/sDwJRaPL4dyn8XQgBsVf7/PNR7\nQDVBK4iLrX2ZbZ8D+L2Gj9sf4sL1vPL5FghBuQagpXJbZR5IdbGD6t9jxb5PVT6vDzHsHA4h2Lqi\n4u+xDYQ3YwTgGwjhA4AVEN8LM4hhVk/obnTAWvnXAuJG6KUyr6nz9HpAxDdU57OwQ/lzcL/C6/ce\nc8w+AE6paUtvYE+vZmkI8QM+BDGcUhcMAfAGxAXNFeKH61LLNvSHuGjcBSCDCFwYUss2lCVBaQMg\nhhoVqLmLfUWyAJzBQ+9yBsRQWk3fBCQoHz7K579BeDt2EF5ONMQwuB+EENQGM/Bo34dA3BTJITzT\nq9CdJ67q95gG4XkRgL0Q2aAAEVR3BUIICiA8UXXDjtqSrPybDtHXAZXsC4jzcgIiDWO0jmwAhHdX\nOndnDfFZVHbMQRDnIhpiiLMLgIs6tIepJnao2zsRIwhx2VyHNlRkKOrG0+sNEQHXFOJzcQbwYS0e\n3w7lvwvz8DBJeReIYdeapDUeDps1hbiYDoOIFAxVvl4bXIHoLyCiFitGrdbmnJ66vi+GiDQEgObK\nfZ7VwfHV/R6ty/y/DCKyGBDzz34Q56sBRODTSB3Y0QyAsfL/5hCiPqLM65dQPnrTBOKmRBcjRXZ4\nNJClNJn/J3gYyKLJMTtATz09Q0XdMoja5EUIDyIQqsOh64KhqJvoTUBEiZUuWXBG1SfjtUXVd6Eh\nRJBCCMSFzb6GbegJMY8WCDF3Vjo/FAEgFg+/Hztr2I7eEJ6euiUSpcN5uqb0HBRDnINZUN/3xhCe\nWAjE90VVkElVUPV7HAkhhMEQn8lJlJ/XmgJxsxYC3UXWdlTaEKhsu3Q51psQn00BgBQA55TbvwCQ\nW8bmAFTtJqniOZgJca7/xaNLFjQ5ph04epNhGIZhGIZhGIZhGIZhGIZhGIZhGIZhGIZhGIZhGIZh\nGIZhGIZhGIZhGIZhGIYxVP4P/AXpT+Fv9SoAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's do linear regression to see the slopes of the lines of best fit for this data, order to see how the MSE changes with polynomial order." ] }, { "cell_type": "code", "collapsed": false, "input": [ "data = array(PavgMSE)[:,6:] #Start fit at N=64\n", "length = data.shape[1]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "xi = np.arange(0,length)\n", "A = array([xi, ones(length)])\n", "dataLog = log(data)\n", "\n", "w=[]\n", "for row in dataLog:\n", " w.append(linalg.lstsq(A.T, row)[0]) # obtaining the parameters" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "w=array(w)\n", "plot(outer(w[:,0],xi).T+w[:,1])\n", "plot(dataLog.T,'.')\n", "disp('Data with linear fits')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Data with linear fits\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n2jZjTlFbPQUAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "#Linear fit to slopes of the previous fit\n", "length = w.shape[0]\n", "xi = np.arange(0,length)\n", "A = array([xi, ones(length)])\n", "\n", "w2 = linalg.lstsq(A.T, w[:,0])[0]\n", "\n", "plot(w2[0]*xi+w2[1])\n", "plot(w[:,0],'.')\n", "disp(w2[0])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.0199846291648\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nSUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, the slope is some small value (printed above the graph), which suggests a $k$ for $MSE \\propto N^{kP}/N$. This $k$ depends on the neurons being used." ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Checking the results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, let's do a sanity test, check to see if $[d_i^2] \\propto N^{k}/N^2$ for $P=1$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Just use the first order legendre basis function (a sloped line)\n", "\n", "rng = np.random.RandomState()\n", "num_neurons=2**np.arange(0,11,1) #2,4,8... make 12 ~10 to run faster\n", "num_runs = 10\n", "\n", "LegBasis = np.polynomial.legendre.legval(xi,[0,1]) #Generate just the first order L-basis\n", "\n", "legendre = lambda x: (np.polynomial.legendre.legval(x,[0,1]))\n", "\n", "avgMSE=[]\n", "decodeAvg=[]\n", "for N in num_neurons:\n", " MSE=[]\n", " decodeAvgN=[]\n", " for i in np.arange(num_runs):\n", " model = nengo.Network(label='Ensemble')\n", " with model:\n", " ens = nengo.Ensemble(N, dimensions=1, \n", " neuron_type=neuron_type, \n", " eval_points=eval_points)\n", " tmp = nengo.Ensemble(1,1) #temporary ensemble to allow finding decoders\n", " conn = nengo.Connection(ens,tmp, #temorary connection to allow finding decoders\n", " function = legendre)\n", " solver = LstsqL2(reg=noise)\n", " sim = nengo.Simulator(model)\n", " X, A, T = nengo.builder.build_linear_system(conn, sim.model)\n", " A = A.T\n", " d = sim.data[conn].decoders\n", "\n", " A_noise = A + rng.randn(*A.shape)*(noise*np.max(A)) #Test under noise\n", " #A_noise = A #Use this if you want to see decoding under no noise\n", " Xhat = np.dot(A_noise.T, d.T) #Compute estimate with decoders\n", " MSE.append(np.mean((LegBasis-Xhat[0,:])**2)) #Compute MSE\n", "\n", " decodeAvgN.append(np.mean(d**2))\n", "\n", " avgMSE.append(np.mean(MSE)) #Take the mean MSE over numRuns\n", " decodeAvg.append(np.mean(decodeAvgN))\n", "\n", "disp('Done')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Done\n" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "scale=40.0\n", "tmp = plot(array(decodeAvg).T)\n", "legend(tmp,LegNum, loc=3)\n", "yscale('log')\n", "xticks(np.arange(0,11,1),array(num_neurons).astype('str'))\n", "plot(scale/num_neurons,'--')\n", "plot(scale*num_neurons**w2[0]/num_neurons**2,'.') #should match\n", "plot(scale/num_neurons**3,'*')\n", "title('Mean of $d_i^2$ for $P=1$ with increasing neurons')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "So it looks like $MSE \\propto N^{kP}/N$ numerically. Can we derive it? This will be hard if $a_i$ changes $k$. Unfortunately this happens. I worked on this with Kwabena and we seem to have something pretty good now, but that's another notebook." ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Determining the number of neurons to compute with a given accuracy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How many neurons do I need if I want to compute a function $f(x)$ with a given $MSE$ under a given amount of noise $\\sigma^2$?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To answer this we must determine all of the scaling and bias factors left out of the previous analysis. Note that we implicitly accounted for noise (usually left at 0.1) in that analysis. The following does the same because it assumes that we'll know the amount of noise and that it will stay constant. \n", "\n", "So the best way to use this code is run it for the desired $\\sigma$, and then use the resulting theoretical predictions (i.e. the code computes the constants for the theoretical fits for a given amount of noise). The result will provide an answer to the question: How many neurons are needed to compute the function $x^P$ to a certain MSE under a given amount of noise $\\sigma^2$?\n", "\n", "We can then project any arbitrary function $f(x)$ onto that basis and get an estimate for how many neurons we'll need to compute it to a given degree of precision." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Recall that we did a linear fit to changes in slope as a function of P. We begin by doing that again here.\n", "\n", "NB: The code below does not depend (for constants, etc.) on the code above. If you want them to be the same, make sure the constants are set again." ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Find the relationship between Legendre polynomials and MSE\n", "import numpy as np\n", "\n", "rng = np.random.RandomState()\n", "num_neurons=2**arange(0,11,1) #2,4,8... make 12 ~10 to run faster\n", "num_runs = 10\n", "noise=0.1 #Standard deviation of expected noise\n", "num_points = 100\n", "eval_points=np.linspace(-1,1,num_points).reshape(-1,1)\n", "\n", "xi=linspace(-1,1,num_points)\n", "basisSize = 7 #Number of basis fcns\n", "LegNum = arange(0,basisSize)\n", "LegCoeffMat = eye(basisSize)\n", "LegBasis=zeros([basisSize, num_points])\n", "for i in LegNum:\n", " LegBasis[i,:] = np.polynomial.legendre.legval(xi,LegCoeffMat[i,:])\n", "\n", "#A generator for the legendre basis\n", "legendre = lambda p: (lambda x: (np.polynomial.legendre.legval(x,LegCoeffMat[p,:])))\n", "\n", "PavgMSE=[]\n", "for P in LegNum:\n", " avgMSE=[]\n", " for N in num_neurons:\n", " MSE=[]\n", " for i in np.arange(num_runs):\n", " model = nengo.Network(label='Ensemble')\n", "\n", " with model:\n", " ens = nengo.Ensemble(N, dimensions=1, \n", " neuron_type=neuron_type, \n", " eval_points=eval_points)\n", " tmp = nengo.Ensemble(1,1) #temporary ensemble to allow finding decoders\n", " conn = nengo.Connection(ens, tmp, #temorary connection to allow finding decoders\n", " function = legendre(P)) \n", " solver = LstsqL2(reg=noise)\n", " sim = nengo.Simulator(model)\n", " X, A, T = nengo.builder.build_linear_system(conn, sim.model)\n", " A = A.T\n", " d = sim.data[conn].decoders\n", " \n", " #print sim.data[conn].solver_info['rmses']\n", " \n", " A_noise = A + rng.randn(*A.shape)*(noise*np.max(A)) #Test under noise\n", " #A_noise = A #Use this if you want to see decoding under no noise\n", " Xhat = np.dot(A_noise.T, d.T) #Compute estimate with decoders\n", " MSE.append(np.mean((LegBasis[P,:]-Xhat[:,0])**2)) #Compute MSE\n", " \n", " avgMSE.append(np.mean(MSE)) #Take the mean MSE over numRuns\n", " PavgMSE.append(avgMSE) #Collect the MSE across powers\n", " \n", "disp('Done')\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Done\n" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt\n", "\n", "tmp=plt.plot(array(PavgMSE).T)\n", "plt.legend(tmp,LegNum, loc=3)\n", "plt.yscale('log')\n", "plt.xticks(log2(num_neurons),array(num_neurons).astype('str'))\n", "plt.plot(1.0/num_neurons,'--')\n", "disp('Accuracy for Nth Degree Legendre Polynomials with increasing neurons')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Accuracy for Nth Degree Legendre Polynomials with increasing neurons\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now the linear fitting for the slopes." ] }, { "cell_type": "code", "collapsed": false, "input": [ "data = array(PavgMSE)[:,6:] #Start fit at N=64, for large noise need to increase N before you get anything useful\n", "length = data.shape[1]\n", "\n", "xi = arange(0,length)\n", "A = array([xi, ones(length)])\n", "dataLog = log(data)\n", "\n", "w=[]\n", "for row in dataLog:\n", " w.append(linalg.lstsq(A.T, row)[0]) # obtaining the parameters\n", " \n", "w=array(w)\n", "\n", "figure(figsize=(12,4))\n", "subplot(1,2,1)\n", "plot(outer(w[:,0],xi).T+w[:,1])\n", "plot(dataLog.T,'.')\n", "title('Data with linear fits')\n", "\n", "#Fit to slopes... start linear\n", "length = w.shape[0]\n", "xi = arange(0,length)\n", "A = array([xi, ones(length)])\n", "\n", "optSlope = linalg.lstsq(A.T, w[:,0])[0]\n", "\n", "subplot(1,2,2)\n", "plot(optSlope[0]*xi+optSlope[1])\n", "plot(w[:,0],'.')\n", "title('Linear fit to slopes')\n", "\n", "disp(w[:,0])\n", "disp(optSlope)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[-0.70114362 -0.72127707 -0.73318164 -0.69493473 -0.68692776 -0.67263751\n", " -0.62122376]\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[ 0.01368902 -0.7312565 ]\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we now care about the intercepts as well, we can try a linear fit for the intercepts. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Linear fit to intercepts\n", "length = w.shape[0]\n", "xi = arange(0,length)\n", "A = array([xi, ones(length)])\n", "\n", "w3 = linalg.lstsq(A.T, w[:,1])[0]\n", "\n", "figure(2)\n", "plot(w3[0]*xi+w3[1])\n", "plot(w[:,1],'.')\n", "\n", "#That doesn't work well, so do a nonlinear fit \n", "from scipy import optimize\n", "fitfunc = lambda p, x: p[0]*p[2]**(-x) - p[1] \n", "errfunc = lambda p, x, y: fitfunc(p, x) - y\n", "p0 = [-6.0,-1.0,2.0] #Start guess\n", "optInter,success = optimize.leastsq(errfunc, p0[:], args=(xi[1::], w[1::,1]))\n", "\n", "plot(w[:,1],'.')\n", "plot(optInter[0]*optInter[2]**(-xi) - optInter[1] )\n", "\n", "disp(optInter)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[-6.08424265 3.01096539 1.63551843]\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 22 }, { "cell_type": "markdown", "metadata": {}, "source": [ "So the linear fit to intercepts doesn't work well, but the fit of the nonlinear function $C_1 C_3^{-x} - C_2$ works well when leaving off the constant (P=0)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have fits for the slopes and intercepts (recall, from 64 neurons on), we can use these to fit all the data." ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Simplifying the previous expression\n", "figure()\n", "ax = gca()\n", "ax.set_color_cycle(['b','g','r','m','k','y','c'])\n", "\n", "P=arange(0,len(LegNum))\n", "\n", "#testing predictions\n", "f1 = optSlope[0]*P + optSlope[1]\n", "f2 = optInter[0]*optInter[2]**(-P) - optInter[1] \n", "f3 = log2(num_neurons) - 6 #The value 6 comes from the fact that we started the fit at 2^6 neurons.\n", "prediction = exp(outer(f1,f3).T+f2)\n", "\n", "toPlot = array(PavgMSE)\n", "\n", "firstPredict = np.exp(w[0,0]*(log2(num_neurons)-6) + w[0,1])\n", "\n", "tmp=loglog(num_neurons, toPlot.T)\n", "legend(tmp,P, loc=3)\n", "loglog(num_neurons, prediction,'--')\n", "loglog(num_neurons, firstPredict,'--')\n", "axis('tight')\n", "disp('Data versus theory Legendre')\n", "disp(optSlope)\n", "disp(optInter)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Data versus theory Legendre\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[ 0.01368902 -0.7312565 ]\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "[-6.08424265 3.01096539 1.63551843]\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Doing some algebra gave those expressions for the functions that are included in the fit. Specifically,\n", "\n", "$\\begin{eqnarray}\n", "MSE = g(P,N,\\sigma) = exp(f_2(P) + f_1(P)f_3(N))\n", "\\end{eqnarray}$\n", "\n", "where\n", "\n", "$\\begin{eqnarray}\n", "f_1(P) &=& C_1P-C_2 \\\\\\\n", "f_2(P) &=& C_3 2^{-P} -1 \\\\\\\n", "f_3(N) &=& log_2(N)-C_4\n", "\\end{eqnarray}$\n", "\n", "\n", "and, from the data fits we have the values of $C_i$ ($C_4$ is the N for starting number of neurons = $2^N$ for the fits).\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, we now have the answer to our question: How many neurons are needed to compute the $P^{th}$ order Legendre basis to a certain MSE under a given amount of noise $\\sigma^2$? (For $P\\neq0$ should probably be added, although it's not the case for all neuron tuning curve types.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$N = 2^{f(P,MSE,\\sigma)}$$\n", "\n", "where\n", "\n", "$$f(P,MSE,\\sigma) = (log(MSE)-f_2(P))/f_1(P)+C_4$$" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Code to compute number of neurons needed to compute $f(x)$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are now in a position to write the code that we want to use to determine the number of neurons needed to reach a given MSE for any function we are trying to compute, $f(x)$. \n", "\n", "First we convert the function to a representation on a Legendre basis:\n", "\n", "$\\begin{eqnarray}\n", "f(x) &=& \\sum_i^P C_i L_i(x) \\\\\\\n", "C_i &=& \\int f(x) L_i(x) dx\n", "\\end{eqnarray}$\n", "\n", "If we assume that the MSEs between basis functions are independent (which they technically are not, but they are close), then we have\n", "$$MSE = \\sum_i^P C_i g_i(N,\\sigma) $$\n", "and we want to find the minimum $N$ to meet this MSE. Each $g_i(N,\\sigma)$ has already been found, so we can use a nonlinear function minimizer to get the answer. The following code demonstrates the full process, going from some function $f(x)$ to determining how many neurons will be needed to reach a given MSE assuming a certain $\\sigma^2$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy import optimize\n", "import numpy as np\n", "\n", "#Find the relationship between Legendre polynomials and MSE for neurogrid neurons\n", "#This code encapsulates the previous work in a function and is called by\n", "#the optimizer below\n", "def MSEPredictorCoefficients(noise, basisSize, startNeurons, sparsity=None):\n", " rng = np.random.RandomState()\n", " num_neurons=2**arange(startNeurons,11,1) #2,4,8... make 12 ~10 to run faster\n", " numRuns = 20\n", " \n", " num_points = 100 #Number of sample points need a large number for nnls\n", " eval_points=np.linspace(-1,1,num_points).reshape(-1,1)\n", "\n", " xi=linspace(-1,1,num_points)\n", " LegNum = arange(0,basisSize)\n", " LegCoeffMat = eye(basisSize)\n", " LegBasis=zeros([basisSize, num_points])\n", " for i in LegNum:\n", " LegBasis[i,:] = np.polynomial.legendre.legval(xi,LegCoeffMat[i,:])\n", "\n", " #A generator for the legendre basis\n", " legendre = lambda p: (lambda x: (np.polynomial.legendre.legval(x,LegCoeffMat[p,:])))\n", "\n", " PavgMSE=[]\n", " for P in LegNum:\n", " avgMSE=[]\n", " for N in num_neurons:\n", " MSE=[]\n", " for i in np.arange(num_runs):\n", " model = nengo.Network(label='Ensemble')\n", "\n", " with model:\n", " ens = nengo.Ensemble(N, dimensions=1, \n", " neuron_type=neuron_type, \n", " eval_points=eval_points)\n", " tmp = nengo.Ensemble(1,1) #temporary ensemble to allow finding decoders\n", " conn = nengo.Connection(ens, tmp, #temorary connection to allow finding decoders\n", " function = legendre(P)) \n", " solver = LstsqL2(reg=noise)\n", " sim = nengo.Simulator(model)\n", " X, A, T = nengo.builder.build_linear_system(conn, sim.model)\n", " A = A.T\n", " d = sim.data[conn].decoders\n", "\n", " A_noise = A + rng.randn(*A.shape)*(noise*np.max(A)) #Test under noise\n", "\n", " Xhat = np.dot(A_noise.T, d.T) #Compute estimate with decoders\n", " MSE.append(np.mean((LegBasis[P,:]-Xhat[:,0])**2)) #Compute MSE\n", "\n", " avgMSE.append(np.mean(MSE)) #Take the mean MSE over numRuns\n", " PavgMSE.append(avgMSE) #Collect the MSE across powers \n", " \n", " data = array(PavgMSE)[:,0:] #Start fit at N=64 usually\n", " length = data.shape[1]\n", " \n", " xi = arange(0,length)\n", " A = array([xi, ones(length)])\n", " dataLog = log(data)\n", " \n", " w=[]\n", " for row in dataLog:\n", " w.append(linalg.lstsq(A.T, row)[0]) # obtaining the parameters\n", " \n", " w=array(w)\n", " \n", " #Fit to slopes... linear\n", " length = w.shape[0]\n", " xi = arange(0,length)\n", " A = array([xi, ones(length)])\n", " \n", " optSlope = linalg.lstsq(A.T, w[:,0])[0]\n", "\n", " #Fit to intercepts... nonlinear\n", " fitfunc = lambda p, x: p[0]*p[2]**(-x) - p[1] \n", " errfunc = lambda p, x, y: fitfunc(p, x) - y\n", " p0 = [-6.0,-1.0,2.0] #Start guess\n", " optInter,success = optimize.leastsq(errfunc, p0[:], args=(xi[1::], w[1::,1]))\n", " \n", " firstP = w[0,:] #the slope and intercept (for P=0) which may not be well fit\n", "\n", " return optSlope, optInter, firstP #The constants for the fit" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "#First we find the constants in our known MSE functions for each legendre basis\n", "#This basically calls a function that encapsulates the code developed above\n", "#It also includes a sparsity option, which is described in the Function quality\n", "#under sparsification notebook.\n", "startNeurons = 6 #N for 2^N to start the coefficient generation at\n", "noise = 0.1\n", "basisSize = 7 #Number of legendre bases to use to generate the fit\n", "optSlope, optInter, firstP = MSEPredictorCoefficients(noise, #Really don't have to call this every time\n", " basisSize, #that you change the function below.\n", " startNeurons, \n", " sparsity=None) " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 30 }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "\n", "#Define the problem by picking the function we're going to use, setting an MSE and choosing \\sigma\n", "xLen = 1000\n", "x = linspace(-1,1,xLen)\n", "dx = 2./xLen\n", "MSE = 0.001\n", "fx = x[:]**2\n", "#fx = np.polynomial.legendre.legval(x,[0,0,1]) #Generate just the first order L-basis\n", "\n", "#Now we find the coefficients of the representation of this on the Legendre basis\n", "basisMax = 10 #Max number of basis functions to use, only hit if the MSE isn't low enough\n", "LegCoeffMat = eye(basisMax)\n", "basisMSE = 0\n", "i = 0\n", "while i < basisMax:\n", " C=np.polynomial.legendre.legfit(x,fx,i)\n", " basisMSE = mean((np.polynomial.legendre.legval(x,C) - fx)**2)\n", " if basisMSE < MSE/10:\n", " print 'Using %d basis functions, with coefficients: %s' % ((i+1), ', '.join(map(str, C)))\n", " break\n", " i += 1\n", "\n", "if i==basisMax: \n", " print 'Hit max number of basis functions before meeting MSE criteria.'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Using 3 basis functions, with coefficients: 0.333333333333, -9.71978246396e-17, 0.666666666667\n" ] } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "#We know the nonlinear functions to be called by the optimizer since we have found the\n", "#predictive coefficients\n", "def MSEPrediction(P, optSlope, optinter, startNeurons, numNeurons):\n", " f1 = optSlope[0]*P + optSlope[1]\n", " f2 = optInter[0]*optInter[2]**(-P) - optInter[1] \n", " f3 = log2(numNeurons) - startNeurons\n", " prediction = np.exp(outer(f1,f3).T+f2)\n", " prediction.shape = ()\n", " return prediction\n", "\n", "#Last we use an optimizer in scipy to find the minimum N to meet the desired MSE\n", "#The function to return the current MSE as a function of the number of neurons (the parameters for the fit)\n", "def fitfunc(p):\n", " #p are the parameters, here the number of neurons for each basis\n", " #x are the coefficients on those bases for this function\n", " MSETotal = 0\n", " \n", " #Do P=0 on its own first\n", " MSETotal += C[0]*np.exp(firstP[0]*(log2(p)-startNeurons) + firstP[1])\n", " #print p, MSETotal\n", " \n", " for i in arange(1,C.shape[0]):\n", " MSETotal += C[i]*MSEPrediction(i, optSlope, optInter, startNeurons, p)\n", " #print p, MSETotal\n", " return MSETotal\n", " \n", "errfunc = lambda p: (fitfunc(p) - MSE)**2\n", " \n", "p0 = 100 #Start guess, 100 neurons\n", "optNumNeurons = optimize.fmin(errfunc, p0)\n", "\n", "print 'Note that this value is the *mean* needed to get the desired MSE.' \\\n", " ' So you may do better or worse for a specific population'\n", "print 'The total number of neurons is', int(np.max(optNumNeurons)), '-ish.'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.000000\n", " Iterations: 25\n", " Function evaluations: 50\n", "Note that this value is the *mean* needed to get the desired MSE. So you may do better or worse for a specific population\n", "The total number of neurons is 249 -ish.\n" ] } ], "prompt_number": 37 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because the decoders are linear over the same neurons and the function being decoded is a sum of these bases (meaning the MSEs add, since we've assumed they are independent), the above optimization is appropriate. Our independence assumption means that the result is worst case, so when checking the result we should do as well or better than expected." ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Check the result\n", "N = int(np.max(optNumNeurons))\n", "xi = linspace(-1,1,num_points)\n", "fx = xi**2\n", "\n", "LegBasis = np.polynomial.legendre.legval(xi,[0,0,1]) #Generate just the first order L-basis\n", "\n", "legendre = lambda x: (np.polynomial.legendre.legval(x,[0,0,1]))\n", "\n", "def myFunc(x):\n", " return x[0]*x[0]\n", "\n", "model = nengo.Network(label='Ensemble')\n", "with model:\n", " ens = nengo.Ensemble(N, dimensions=1, \n", " neuron_type=neuron_type, \n", " eval_points=eval_points)\n", " tmp = nengo.Ensemble(1,1) #temporary ensemble to allow finding decoders\n", " conn = nengo.Connection(ens, tmp, #temorary connection to allow finding decoders\n", " function = myFunc) \n", " \n", "solver = LstsqL2(reg=noise)\n", "sim = nengo.Simulator(model)\n", "X, A, T = nengo.builder.build_linear_system(conn, sim.model)\n", "A = A.T\n", "d = sim.data[conn].decoders\n", "\n", "A_noise = A + rng.randn(*A.shape)*(noise*np.max(A)) #Test under noise\n", "\n", "Xhat = np.dot(A_noise.T, d.T) #Compute estimate with decoders\n", "\n", "print 'The MSE for this population is: %1.8f' % np.mean((fx-Xhat[:,0])**2) #Compute MSE" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The MSE for this population is: 0.00046698\n" ] } ], "prompt_number": 52 }, { "cell_type": "code", "collapsed": false, "input": [ "plot(xi,fx)\n", "plot(xi,Xhat)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 48, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 48 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }