{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from ipywidgets import StaticInteract, RangeWidget, RadioWidget\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "# here we define the function which depends on variables.\n", "# one can define functions with as many variables as desired\n", "\n", "var = 3\n", "\n", "def f(x,a,var):\n", " return np.sinc((x+a)/var)**2 + np.sinc((x-a)/var)**2\n", "\n", "# this is the routine which calls the function f(x,var)\n", "# and plots the variation with respect to var\n", "\n", "def plot(a):\n", " fig, ax = plt.subplots(figsize=(4, 3),\n", " subplot_kw={'axisbg':'#EEEEEE',\n", " 'axisbelow':True})\n", " ax.grid(color='w', linewidth=2, linestyle='solid')\n", " x = np.linspace(-2, 2, 201)\n", " ax.plot(x, f(x,a,b,var), lw=5, alpha=0.4)\n", " #ax.set_xlim(-50, 50)\n", " #ax.set_ylim(-0.1, 1.1)\n", " #ax.legend(loc='upper right')\n", " return fig\n", "\n", "# here we look at the function's dependence on the value of var.\n", "# we can add any number of variables var1, var2 in the same way.\n", "# the syntax in the RangeWidget is (start, end, increment)\n", "\n", "StaticInteract(plot,a=RangeWidget(0, 1, 0.1))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Caching the list of root modules, please wait!\n", "(This will only be done once - type '%rehashx' to reset cache!)\n", "\n" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "from ipywidgets import StaticInteract, RangeWidget\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "import numpy as np\n", "\n", "def plot(a):\n", " fig, ax = plt.subplots(figsize=(4,3),subplot_kw={'axisbg':'#EEEEEE','axisbelow':True})\n", " ax.grid(color='w',linewidth=2,linestyle=0.4)\n", " x = np.linspace(-1,1,101)\n", " ax.plot(x,np.sinc(x/a)**2,lw=5,alpha=0.4)\n", " return fig\n", "\n", "StaticInteract(plot,a=RangeWidget(1,5,1))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "from ipywidgets import StaticInteract, RangeWidget, RadioWidget\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "#var = 1\n", "\n", "def f(x,a,b):\n", " return np.sinc(x+a)**2 + np.sinc(x+b)**2\n", "\n", "def plot(a,b):\n", " fig, ax = plt.subplots(figsize=(4, 3),subplot_kw={'axisbg':'#EEEEEE','axisbelow':True})\n", " ax.grid(color='w', linewidth=2, linestyle='solid')\n", " x = np.linspace(-2, 2, 201)\n", " ax.plot(x, f(x,a,b), lw=5, alpha=0.4)\n", " return fig\n", "\n", "StaticInteract(plot,a=RangeWidget(0, 10, 1),b=RangeWidget(0, 10, 1))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py:423: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_num_figures`).\n", " max_open_warning, RuntimeWarning)\n" ] }, { "html": [ "\n", " \n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " a: \n", "
\n", "b: \n", "
\n", " " ], "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "from ipywidgets import StaticInteract, RangeWidget, RadioWidget\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "var = 1\n", "\n", "def plot(a):\n", " fig, ax = plt.subplots(figsize=(4, 3),subplot_kw={'axisbg':'#EEEEEE','axisbelow':True})\n", " ax.grid(color='w', linewidth=2, linestyle='solid')\n", " x = np.linspace(-2, 2, 201)\n", " y = np.sinc((x+a)/var)**2 + np.sinc((x-a)/var)**2\n", " ax.plot(x, y, lw=5, alpha=0.4)\n", " return fig\n", "\n", "StaticInteract(plot,a=RangeWidget(0, 2, 0.1))" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", " \n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " a: \n", "
\n", " " ], "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ "" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "from ipywidgets import StaticInteract, RangeWidget, RadioWidget\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "var = 5\n", "\n", "def plot(a):\n", " fig, ax = plt.subplots(figsize=(4, 3),subplot_kw={'axisbg':'#EEEEEE','axisbelow':True})\n", " #ax.grid(color='w', linewidth=2, linestyle='solid')\n", " #x = np.linspace(-2, 2, 201)\n", " image = np.zeros([10,10])\n", " for i in xrange(len(image)):\n", " for j in xrange(len(image)):\n", " image[i,j] = (np.sinc((i-4.5-a)/var)**2)*(np.sinc((j-4.5)/var)**2) + (np.sinc((i-4.5+a)/var)**2)*(np.sinc((j-4.5)/var)**2)\n", "# y = np.sinc((x+a)/var)**2 + np.sinc((x-a)/var)**2\n", "# ax.plot(x, y, lw=5, alpha=0.4)\n", " ax.imshow(image)\n", " return fig\n", "\n", "StaticInteract(plot,a=RangeWidget(1, 5, 1))" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", " \n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " a: \n", "
\n", " " ], "metadata": {}, "output_type": "pyout", "prompt_number": 34, "text": [ "" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "var = 10\n", "a = 0\n", "image = np.zeros([10,10])\n", "for i in xrange(len(image)):\n", " for j in xrange(len(image)):\n", " image[i,j] = (np.sinc((i-4.5-a)/var)**2)*(np.sinc((j-4.5)/var)**2) + (np.sinc((i-4.5+a)/var)**2)*(np.sinc((j-4.5)/var)**2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 30 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.imshow(image)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 31, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAPYAAAD7CAYAAABZjGkWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvcurPstS9/mNyFq/F1RwpO9BtyCvl/b4gnrwiA4EN4Jo\nO+gWdCAogiiCIl7+ge7txAsO5KDQb08URVDBQXtBHEhzukUH2ihCq41CKxyP0I68gu5VGdGDjIiM\nzMp61lp7/Z71u5yVm9yZlVXP+j1PVX3qGxkZmUWqqnhOz+k5vVWJX/UXeE7P6Tm9/PQM9nN6Tm9h\negb7OT2ntzA9g/2cntNbmJ7Bfk7P6S1Mz2A/p+f0FqbtsX+AiF7G93hOz+k5fcC0GrF+NNgt/c/3\nPI4B/B8AvhnAC8s3d9Tv2m/1Qu3X3JULgO0exxb7J/7iPeAr3kuftfKs/pD9xU6JZ7I2mtofmv/b\ne8D3v3fPa/LAJJYVQJ1KeUT+9feA//E9YLe/5+VZ/aH778pxnN7v2P94D8D/BOAWwPsp395Rv2u/\n1+8bXvJjy9ZnU/w5Pae3MH0Kgv3cdXjp6a06pW/Hj3kFYP+Xp/8nH5M++91X/Q0enj767qv+Bg9P\nH373VX+DhyV691V/g4vpUxDsB4bG/+d3r/Itrpq+6t2n/fdexmyD1wbse/6YNx3s3/3d38WXfMmX\n4Iu+6IvwUz/1U0/xnZ7Tc3pOj0wXwa614gd/8Afxu7/7u/iLv/gL/Mqv/Ar+8i//8qm+23N6Ts/p\nA6aLYP/RH/0RvvALvxCf//mfj5ubG3z7t387fuM3fuOpvttzek7P6QOmi2B/8pOfxOd93ufF9jvv\nvINPfvKTV/9Sz+k5PafHpYsBKvePKnvIcau8+Dvxb5/sn5MHeNwns/YgkGin6ZiT+vQ36Gz/ffLq\n9Fw6TZc++1TJ/31dlPf53F2/6QPs17NreGfWHtQjD/nc9J1Of+z0hXVuu/SDH5cugv25n/u5+MQn\nPhHbn/jEJ/DOO+8sjvw/U/2/4NzzzQBuAPLIsQ2gm1RPYV/EiNAsSqFZlH58fvCcRJDRsK0Xos30\n8BVwY2WxfTli7NCmEVk2t9EQcZbahigzHaPHKP1sno6h3nY4xm/WayUBhhtvACtlpiGyTDM4DEDo\nEH02A6o5Io8JYEA9mowpIsu0WFuldk4roFtqmyLHdI4kK6tMUdd5327fq6bzoukJH/ViX7jYD/Qb\nQe2E2NMwQkLVmi49Kf9fy5fTRbA/+tGP4q//+q/xt3/7t/icz/kc/Nqv/Rp+5Vd+ZXHkf3/nP9QS\nG8hGEE1AU7rjh9LuYL+LHe78cDvAvIb4dN8NQEXjGZNDS2mAWHtbwVC/e//UloCkDOWlNsL4EIgH\nwNh29USAksFp29GWldxAjXvdQSZq4A5gU0DsUCt7G6DFIPX9FdBKAXAw5HXfP4FJxT4/h/WW/G/r\neB14/F4D2JqebvHFve5wcwNb/cc64B6Li1YPps/A/u8se/rfl0ddBHvbNvzcz/0cvvEbvxG1VnzP\n93wPPvzhDy+OfHHpz6Tkip1zBtvh9tKBdrjpJKOr5XaEkyaQYzuO04Oyk+8PIDXAbV9H7Tmkp8c4\nvKfHhBqN9Q6w7VvWAZAmY0YHw+aaSQlduf2ellQnOyjEi7pqJyVv93TaR9Tg5ga5ZpgcVqaAWcUB\nXpX9mEGpbymuge7oyuzH+O0Wap0eDKztoeAPg2rnQOfMPWeg1X50zuR1Sif3kmLfL9FjFzNs/fD/\n5b5HN5jZgc6l1XnRdp99G3U1DkOgA003egQ3m+A3qZ7+TgdV7RmjfTsudt+f9zWwT44tCDWmDCZl\nsL3eTXDiaX9qi/o1wRZAlWIiiLpJrRTWpQrZpJDeBqEQp2F/bqvt+AZlg3PcdpjH7dN9ldq/sQPY\nG+B6C4OYukl+S8lEz8flh4LVb1O9ajtQb9uH9RaQ/dgW+xZtmo6X1HZvsL//mrO77qvYhJBCh5Jd\nqTerl1RyV27mVJpSJzNt7kN35U4Q32hAS7Y9m+f5AUA3XWlpAHgsQ70vHDNAzv1vZhjPyq7Ud5X2\nELgi2IM6h0o3UNWUeiiZQqmzYvvDIUohqKmxcsvg1F4cdCtzXWAPhdU+At125aViQN8m9S2NJwqV\nBoibsqv1t6lofCcqiK5AqLTkkgFx1S6AWP861FntYai9K6NAdDGV8VjFfklg39zvMDICacoBsuWh\nbjA70JyB9joN5nc3tRPIGfIAeob5eBxlsFlBRY7QsoJnmA/HyHofYVDrKAPYVVvf5w+AYR9dcUVp\nJSgMyICbuintpWbg202v5jTLpRoM6nATQYUD7gBbGtxSF5ALQStP21ba5+i2Q+p96Wxi+7amPrUD\nrrafyOHWds/FdFXq2eF2sMWfBGZ2izvIrO5+BgKmvsyjLtOrUWyXUAfa4Y5cOsyHnGDOjoyhz4ww\nCpawTkC7urdyehgUh7YDzTxuEyt4ApfzQ4DXf6OBnOEe683xf7+6Q31txXZQ1c1voq7cWa01tSWV\njjpTV2tOEJpqi8MtBGWG2H62Ninc4C3+WW3QSwddHLbiSkvQogZru7bubQ/YWYHSYHao43i3Dr1e\nMXn2DeicmYHqT4kEt4NrD0ZQhvrxF/Dpwe5erm52s5XF65ZLmSCnVpYEOPc/eQrpBPM5yItjDEiH\nOZQ5t925T8EBeW+jUF1T5jC/H7n9UmZlrJOa6amm1g3gVnaVtm1XZgPanWUOtSqsb27bQpDagBZp\nCixC0JLqBiyLw277qoBSm4iCbZ/emsm9UzjPWmmqfYtugt8mpU4PgTDFsxd9x6jWlZvZ7VBXBsSA\nFth1ydfGTW90uMMD+rj0tKY4CMOwVsCdAU9Al5JATkAX6qaU93sGtR4dYnSTVbvD3EBeAd33H8A2\n1eUV2Cdtx+MloCbSVEeCNIOP3pb2nbZfMTWwXZ07kNEekFub9a2jLZTaHgSpTYUhAXWGtLWxKXWD\nuoGsIhBhg1oBYWiUaKpdCHSbQC1ZpRuww4iCjVZ1MxzR/SPW8NyHGV3RwGZq4+YOOXFT52pwo4xi\nbFZNBzqbBG+cKV5GsOc+dclgc89MVs9gp35SMsXDwx2KjQSwge5gG8zzPtxogM0OIzU4OSA2aClv\nj8csP0N6hHvKWLbjAPHy+OmUAzjeJ2ftvu+kPWCUBHBW6VXmBLErvhyPE+HIh20hiPZtCtVmkChE\nFSTU6sLmkFNA2RSbQLsp920zt0O1TbFxiz7clfrYiJGrZLoPYBvQblFK6xqhlgY9Wf1wMsmfID3H\nek5vGtj+qMyAh/nNR8BLBtzg3uwkbsk0csW2QLYAegXuZKJ7Wwc7HXcA2/Kyrst2YkFZfP4M6peR\nr5UyzKcg3yfz3NahlQx1hlmbMnO0K0gUpGpAU/I2q30GzfFVXKlbJoc1m9amzOpxBWkoujknaQgw\nC4XmKVfu/ekD1G5+pyzZBDfAH3kJX4Ep7kDzAmZOIBdgS4q9Jbgd6IJeD6VGh/sE8MHknttnwDc1\nIOsaZitLbNfl/jjO/w6ZYmME8gA8ZmglHbs6TnDNhWMPKut1dECXIMOPXe8XTRDPpRSIMuoC8rEs\n5qU2MHxcvVAbe76lBDl3peZRqcEUQSiU9s8RgDHkVdH6767YpN28zg9ZJbQB9glotr55qHbBm6fY\nERZa+g8ZHGRZoRPcW4baygR1eMINTNz0TObh7jEtJ1APgEtXbDITO8NLTYUbpLXXuTbI07ElwT2A\nTTLCSRKA8j3bevvYdq00KCxmQNdtHeoE9qKtgZshLga3oCqDtATwVUuodQwhqZvf2qFWmH8GodIN\nWhn9Nczh+c797fCGe184bzMsFt0cXz5acwDaS+ql98kD6JqgzkHoHyy9AsVO/YkIQuEOdlnkLWU3\nxfMSwgWhyhgATqC/yMDjoNINbDm2lUl1A1QHuA7AFt++eIy3JQWGLrYX9cW+4QGBp1HsBvAMad5e\n1JfbHJ9lZYgKqrR6VTGwC0gZohqAQ7SptLYxYnIT3B3P5pxjdZjJxqCtO5cVmIAcG96HtiaQyUz0\nHPu+I3m0U86ebbV735WaBeDa6w53jJu9iYodYCenwTxOPcMcmcZ8kwCfzPCu2F2lD2ocKi3HfZuC\nXrRhKgezQd0BLmZ2H9oW9WhLDwDCCKSDzZjbxv3xEFi1Wf1aaVDlBGWG+679ATdGM7yYEjfAC9jA\nripNra2sKiApTbVVmwQrAmyNEi0OxIe63EdzK2noFOb2Ebv/0L3gw0Sd7ETrt/Kwn3j0esc9f9Kv\nFgVIjvkwLPbw9LRgE5IpTh3wGerwgLv57VBzgpmOMKf+dAbch7sysF2xR6g5q7eBTZThdlBrqHdB\njbbibZTb+nZuY0gC2eE0rzm81OGYw7GLz1wV7KS4grHMwA7lcIzBPpWiDEGDmQNmgRi8pILq6qwF\nNUAuATCg6PMrCKym2qbYwmxq6QBbPSDVUOoY5oo53jrWQQlo6m0xdNXPGGy8Pszv+B7aShL7fATW\nP/o6PbFiA9GJ8RMQUWSchrFSf9qhvpnAvvE2WD3D3M1wGtR7AjsBzi/E2mRU8c1McEjAzFQD5iHP\nbRePEVPcDmeHOZWuystyAj72XQ9sV+MGqqnzAGkH2s31oZyO6ce6WluGgFUCcIIDrqhOL0oXtwCb\nYpzdw1+lALhlcBEoM5TFIEdXahsGU26le8F9iGt2no2mvJvf6Ca12/MqFmqqKY5cO9ikHewB7sel\nV9DH9pOQnA15qKAksFfOsoAaHe5BpTPMfTtDfjTJU/nCYL5pkHPJYAsYSZkzuNhRqGLL7Xfsz4o9\nqPcB2rE+PAhWD4Vrg30AeF0PNca6rvbLvJ11a4ptUBMMajVfgoFNbme7VIdzCijaHE+sFW16M4FZ\nIIx2HxEAZlBWbmrqrBYr4OqsruCkICLooNopx73t34P791OD28H2Me7wnusINT3eDAdehWJTgjug\nxgJuQqxkMQCdoPaFWCal9vY1zMkj/sLU2pX6RsE3MoK+JbVOwIZqO7CoKLSjwOHN7Xl7738D6aGR\nwJyBzcrdj00PhPQgeAqwO5xJhQ/gJsjn7ajbt3fFhmDXAkYB6dY+qebtD9AdZm0oJah7N5vA0c+v\nLVqtAHrLEBagAFwYUsS6fmqTP7xPrWksmyI4hdxpFpkWgMM2+vcMoAVtqidP2X9IQP0mgg0k76HV\nw1mRYPYx6g0YveALtQ6QYdva6wEzBqAxq/YLr3eo2RTbbs0EmivuntTZobYyg3zSvgJ6BLff/mPb\nrPLTZ68K9hrY6ZtO8C7Aj7ZeZwhIt/gNpP5bklIDptRjVUEoBrWitv61fUfyviwDxGwwCciHpUh6\nuweokIWOUqoDqR1Hxfa+dIZ5M6BF2yhW0V5P03Lb92i/5GWkJzbFMT3lKHkYHXCrewDK8BbNDDUM\n6KNytyXVHF5vy2qNQbHDBB+caNJUvGRoXKkNbs+0o2Bv6mzldmg7tjPqeJuHeX2ENR/T8agzJk+r\n2Gd5gP3k10zgVzAYWwDtiAbYAKCaBbqV1o8udqQrNUMgaCUYbYYYS4sFYQDUgVf2upo5TlA0oH1o\nq81AXZjiATR691gNaiUbvdI+ilW13+ek/f73ce+XFIPwahQbOMLtuUx5S/kANfqbdFdmuQFON2oq\nblAPELuKd5j5xs1yBW9+2zWgS9STKY46Adyzq/SqPczxh+QEf5nKfNy10r2+pc5tBeO3Pn6mgLHb\nEeSA22MhA+63jqduvJKN/nJTbDPHBRILKHBhiM2qg02rRYLa57irm93uKQ+TmWK0Nkzy4RtZGX1r\njNM6/Z62JdAC7qU5/7j0csAu9/xGDu6GI7QpUwZ5gBoH77dnTkrr/WTeKnizfnIxs7qc1IeJHRJR\nZExyCuamc3vFhtsFzK19s8/4A+AiHnpsW0I8HNdU/Nqm+EGt6S7YBUKu3rK0SSqK/WUd/AV7gtyP\nXj0AmPKx42cqF1Pslod64TTRhEGled/VotpEeZhC7aw2YaUO8KDYmOZp9+xrGaLafS1kJvqU73sJ\nT4LUXg7Y9/0rjDH8My9ntICV7oCZklo3qBvIfCOtNLC9HoCzQZtg5hzqCTFnmYSy3mBHOYBspvYK\ncPUHgINt+1J7QBpwasC6htf61TP0OhrI1x3HliXQYXIPbXnb99fxwRD7K/awSjb7dDErqUXr7SgH\nO8Adkbv1zTkdX1CxYxutBGIIFysd8tJAN4eaaIFsFn9uwTLukc+2kBLDx84Hn9dslrsDPzu985B1\nWvst8psK9rxy6GnbEursHIMpdoa61YuDXQRcDORSDe46AO3RYa0fnXWkrtVZawLXga1RLwvIQ+01\nOc8SpKQLsDW5pNRwGfYfgb8u2F2BR3jJVNkBoml/a9MMmD8QyBXbLKU4Jxt2yg+/bRgZ2EnaEJn/\nVfJHhJ0LKvZtzStCBjTVBHeBsCS4C6oqSHoselPs4zn1tRM8WEwX6q3mSKMMrC/QGCAraG677yX8\nj3XzKwGbJpWONceW0OpBuUOp0z43wXmrDWivF4e7omwOeEUJuFNYqMd2o0M+mtWjKb2EWUd1Lml/\nfigU7GnMVtPNq12RzSvsx43gn7X7kNB1kjqQJAGow9naKbUnwGf4D+3NhslDfIUERZtq77k9Kfnu\nTkjaUNTabGhyx4aC2rwjVBLYBZXEzPFmqrtSV7HwVWlmeEWxbnA6p8YvAyl0lZoJH2CvTXRfDops\n4kqs+CoA1WSqP/ISvjpTfFZpnyMdixzMde3mea4b7N38HgEvW1PoUmqAXIrFbHMPD20x3Cm+OznJ\nAsqs0joDPanzybFbmPR1BNNVOOpWDrAv2tJDwQG/LtjSgSTpkCZgB4itPpRDval4pZoUucW975rN\n8v6w26mkrop9RgU14E+Ra+SuzYoCh1ssaKWgWlescmmOtVLaZBNRm2CCgEzRPeLtrMOGn8lmlXkd\nx/62NmhduX3ZZhLtSl19mAxvHti0NL01+tvjUsCp7UYH0zyWF75R0Au0/vNWIwfUptoN8A51ccg9\nD7HeYzDK6ATrYG6aVFlHFS8T4Js2Ezz31QPGGc4B7JPtBLFv+4PhumBTAzorN3EC3oGmu7eT2hdi\nVAM6zGrasKuN1euW1LzBXrPpTm1ySNsuySxv5nwxlWaSBjbZg4AKqnnKpShIFLWUBt3ZOQCBQGC4\n+W3DWT7MJbmEvbgAoNraVQhU1R4AXqdxccQ3Dewl1FMo6LHUbrJ7AMqLVPqw1CYomwTIAfNWUcre\n2ge494C65z0iy3wI6xTcrMRmXm96hHk7aY9+sSb1HequyIu2/FCYQL822F2tO6ShvlFObVi0WalE\nqMQdVLLJIGRmN3l/ulhbd4x1X8hmx1RTeT/GlBpbU2/LTJspdRsFoSJt9ljx862og0cM3QlObQpo\nW5y1Ob5IyWaV0TjcNTnK4uUfkpQ+PQDIPedvKtjdOYZJsbsyx0qhA9hdwXN7mOEllx3kLaA2mEsC\nm3dsbFDn2G5X6FU/ewY2m+RapwfAAnbtij2o7lRfA3+5fsV1FgxOSVDKAOhZPSu1UptpldvLAHY2\nr7u3mw3kdlyKK6etqbW3hxm+hWpXkvaYJlN+VrBIX2RSFbXYeJaPa/lv9lF0skE0qhGJpkogaVCT\njKC2ITMKE7yV7RiquURT7Q/iPDtJrwDs7iiLZYhCuZNKx9JFCegwvScV94kbpUYuSam30hV7K3vA\nvWWwaYrlpjnA5DKkHebcZko+me7edlBe6du9LUOeFFp0/SAQHR09LzlpqHEClWc1tswZ8H6Mss3N\nHh4CjJ1KDDmymc+7e7d96iu2Nixm7aHetCECiXSz4TE/vppJ3v5O5Q27CJjbw4FKOrcFh/PnIaT9\ndxGExRZKoeGVRc2JButzH4NUVJJi+yuQsmq/uWDP/Wz0uO2s2rntMIEjw66h2GRj1GVrHu+y1a7O\nDjXvAfQWQCewI+RzxxwOehjCcmhnkNHbxv1jWwCZIM1wc26fwRftKj21Xx9sB1o6tDyC6y8SaOqc\nP2OTM9JnxBxqDWgNsENd0ZV3GNrS0tQ7THI7LjnR9jRsxrRhh89f39qac2pOrzKa3eo97AR0IYFy\nhXKbMQZyJxiNTjMH1aH2PnZynFEFtKp5w+2zvn7amwo2TKlDuQdvuB6g7TO1jvt8QkeY35wU2/vS\nZcdWDGivW3bQHfIAfRkWWieVvgB32j6ouit2gJsUeC5XbafH+t95KVd1mRqMMsI8l3ObpG1dAz4q\ntiu0RFuhYnDW6B8XcnCbR70khfZ+d1Pztt9N/T1B7WY42Wyxg8NssDbsTSTmSVfyvjXB10qnqGNU\nawW0JrhrU2yvx3BXTQ+FR6SnDSm190zD3xWwOeAaK4IOCyKslg1ewo1Q6wx3HtoqDnGZQOYdG90G\n1JtDTTtaGGhynsUQVgJ93r9Q6aI7NjmqPEvzpgyARh3nEC/aMO27VlrCbHWsYHZ4V6Ut56vmhGNX\naNrAbF5vG7raJ1VmlR7UEoqetkmGz3tAy2FddtUmOD6kpe7zsu9ZCUyWmcD20kBiBhMdI8ZOc5vj\noD6GHf1xdKeZvQI4jn9EelrFXsSHz3HhDvxhmeDVmt8JcE4BJ6VIH8bKcHPFxjXBfRuQ3wTctwH3\nDd32PvMB5HNFjm2Z1FzG/QdYXW1neNNqnGQ3xnqfPo1iO5A8wcwZagB6Ajg3bVS1v+fRZ2T9XghY\nZHR0zeBqht2GrfK22vCWx6DHaq5IUCOtYjR5v2G/0cxtJWpvI2GBiCu2HSDmQBPvb1O8EUTtrSCU\nzOzWpgExbRhNcZ8k8oj0asDO65Mtge1wz4skxLzpF9rzjfaQ0RQH3oe0ukqXgPkWN+U2lPuGb1tb\ngvvGFHulzKMH/AhwbMsEvkxgJ1gH1Y0ne1JwmQAWHD6DJ1Bs2MynDDMS7LFtixTEK33mN4Kkd3gJ\nt5BPhzRMcS5gMbObHWxzkPmQF7Xt3SPQBpO8w95WcO1rxOX3nA3Tqs3sRsDKECaUeJ+YL7Nk398B\ntjeQHGPBNfrfEVoaY9YEvUlteSz7EekVK7ZO9ZQz9HlBhFXbjXZT3FWbpgAUrmZ6126Ku1KHYt/i\nhm5xg2aGH8AOb/jo6V4rdoP4YIon6B1Ij0Dq4OJQv+9xuLpi4wAukorD336Z232FTwd6gNujuEyx\nzbkVprgUMNsEEGl9a0YLXOlmufefS0SbuWrnZaPya5LaGgDTb8ue7xiWayAXe18YiwUSiYAM/gBa\nBLGuWYa0dpM7HGw3Kdqs0qjWb6pix3LANo7dVxEdnWTL/EJjvnRe/cTXJitkC/l74EkAbU6xUObb\nptJ0ixvecUPv44Z23KCVDvbNHAN+8HrXse4wy2R+D9sVRfZRZYe6lXXRNgAOoC7arq3YPJZDmyTw\nC3BYXFBTm7mrmrBNig0D1BWbzVGmLdzEFbrQhqJtuKuoBbNosQUxNgs2slGG1LcG0M6Z16lBp7a6\nj1iXQoRbTLmtdc7CLQhGSlJsQNQAV7Q/VA1wbdeolej952SKa1UDmnr5WjjPHhygMis1Qqmjjz30\ns/vCB8sFCG80zdTqsd8RbGLBJ91Z1us3tBvkVuaMpt7j1Ms6KvdDIXdTXOqgtlhBXD/g9pUVG1mp\ny2LbAIZae0nbCvSR4r4toB6M4oEl3FW6ulq7OmtSbgtW2SNirbR95jwjGNBqSo2k2PaACR+A9ac3\ntTh35vGVQwG3QNhgrgJWhlZp7w+r3CxOXwLppj14m8lt4aabh50CtDWgNSv2GwV28UgzpGEv70/3\nselDv/oEan5hyxe90PSmDulw29BVg7oOQG80g/w+bugWL+h9A/oWL3CLWCBhcqJl83usd1XuSm1A\nSx0UnBKMsOgjH/Y4tPlNkuqnbY/sn11MtkZ3lDK1CcXrjdUWDFBtbTGtEbNqo82kYnN2WSjpjmaG\nFynY2dRaKnbebIliU26tLVhFtxjaKlptOCytxkL+r2lbfsu62IreNXAHn2jrV/ua51XZlkZ2U7y2\noS9Bg1kBVIK/zaSZ571UcQeam+XW765kDwEf7sLTgP2JT3wC3/Vd34V/+Id/ABHh+77v+/BDP/RD\nD/wrlvIKKskkd8UehrhiyGul0HIE3cFGTQv0p4X6c0RZ9n5Tg3dW6wz4sJZZ7l/nmHGd6jKa3ZtD\nvVDsAWYf66ypPrf78cODAEm173k9PkDSYn/fzW5/R7ki1DnqATRgruZ0v5pqU/ufgMzr3ZR51631\nZyEGcutvR11LDyXV0pTcveDRzy7w+enkKp2sBcCgNs+8v2SwvZWkpvXOq72lpDZzXAtYta14Koj3\ndfuL77kyxFQaom3Muqr1q23Cx6ZtUoiPXdfWFub4tcG+ubnBz/zMz+ArvuIr8K//+q/4yq/8SnzD\nN3wDPvzhDz/gr1gaYsW1m+E+rLUAPA970Sag7ajefNMcZ30Z3vRKHtQB7s3CRh3qG+yj6U23eIEG\n9Qt6Hzc6gY06esdPlTs5y6Sb5Rl0Sk4VuBkdDheMqhxBDHpxf5j07ub1G4Qu1P24s3r6jDrUJW27\ncnub77fPq8c5ZLVOyfTUTOc+RbNyA5ZVUKVECGjV1G5m99BOvtpKX/E0fnMYDebFn15FJGCI7tii\nzm1Ot6s1xKL8pK2hJgnu6gqtoGqg12aNNsAbuFQVunl/ugGutlRSqPa1wf7Qhz6ED33oQwCAz/iM\nz8CHP/xh/P3f//2jwaYoNV51Owx3nQ11vZBuisdyweYRh/Wx4UDvUUYkWTjG9gHmZnq/jxf0foD9\nn/AffZrlJYhjXDsPZ4397jDRE+gUwx4TrAPcmqDFMB4a+wLytO9ayU1v6XU43G7aesCHwgCnqB/v\nVwIIEJCZ3z72XGLcusCGutRN7wZZ0WL15kRrMFdbiGGLmV1EzVQgSk8sgk3CsuUS03LFvkxySWAX\nu84V7d9jVEhlsBDEh7KqveVDBCReH52hPvTV6x1wBOx42j723/7t3+JP//RP8dVf/dUf6K/QYnZX\nVml3ng2qHea4TEouo1nOEk/6GOuMRf274ka8N/lQ1m2Y3JGTat/kPnZ2oJl697nXtQ9lBbxT33ra\nzkBTAhT/JrMMAAAgAElEQVQD2JeyHo67tinevN7oY62+8F6eppgX4xsAn5KrJwFtGcYe4x0hoHCn\nmDnIwvR2hTYzPNrby/r871T/h91o0B7t5rO1mp3QzPDmS2dDuKLCVmhRXy669mg2luYtr9qGwioM\ncjbT2xZFNHObtqbaVAm6wa6XQrex7UnB/td//Vd827d9Gz72sY/hMz7jM8adf/Fer3/2u8B/fnf9\nRwomiM+y2MIJXupU2r5Soy1DnGO815M4LLgkbQ9ga1fwG71NCtyBdXO6SMVWRyUutQ7qXGSfjmkl\nTYr7QbKu2q8JdkFbzld6Jhm3Q8k1ld6uU+nme5G2xG88KGATNMxQt+38mp+8NHEbq07z28VWLlUJ\nUz/nWQYUbSppRVsfbRslIglEy76HikI2BXYOMHUHsAFSAd4B2Qz+TVtpkMOmatKGMMXvvIb/38eB\nf/j4nZfpXmDf3t7iW7/1W/Gd3/md+JZv+ZbjAR957z5/Zlg33N97D1u9gtgC8m1+LLNHCGVvt237\niaW+qN+8WOA8h3qEumIb9vd1vvu+GibYJhWlGqS1gqWiiICrtNLqLAKqNisrxqGbKeZK6ibYmSIv\nQX0I1E8A9pzVYc/ZVT2XtqY2+draq88Uux9Kvy9I2n1BTODSwjpVGczaJmSUZkoXeABMHQSvRY23\nXGNVHG/rSzEUbSMnYh2A+Ix1EPIKrG4JCBiEAiaFP0LE3sVFNhrmCzTAXlbQ3h5Nce9rsd9btDkj\n/Vys0ue+27Kn//vHlofdCbaq4nu+53vwpV/6pfiRH/mR9UErM+vkONrQpshZ9h/U4U4ge4hoDGE1\nkAvVEfAM9qDEDupRqbMz7OyY8ILXBHdtUBeHuiawA27pYNcR8jMz+wzS03ZBe+l6Lv34K4JNq5c6\nnMFt8FI9Hov5eE7b7A9+uzekPei1mMlbCKqCYkNqJZn/mu5FsiwBq61UakA7rGnhY/gSiXnJ4upA\nu0PNVlUFAUIFAm2AUxki3IQA+Av/8ltuWIEikEJx7wfQPlHq2iGlf/AHf4Bf/uVfxpd92ZfhIx/5\nCADgJ37iJ/BN3/RND/grlmbFLhoXkIsHmegEtAeedLizKeTlQYnV1+7eh+GpcHYNx4374untbQG1\nGNQVXOsR6tpMLRYFVxmgHhxdk+NrhncF8+GYBdharf7I/tmlpIwjlLati7ZTkOeHQfq75O+34h5C\nG4AXharEZJISXneLbMsTLy0YpZD1tqk5NB3wdp13bNTV2YGv2O1zjE1tPVT7zKYVlXYAhApNQCOV\n6K/KJmpKTRSWByVL1Rk4WC+PSHci+bVf+7XNpX8p3VexM9jZ3CpuarkpntU6rfuNvAb4uERwf93O\nEXB3cM3rl4XJ7sdkU9yiyoqDLTICXiXqAXE1tXagdwcblnv9Pub1JeCX+xzyK4Lt13Cp0Ceg3wV4\nNsNbRrfkLPiGRaFFeiCJCrSQ+eUsNFV9BvE4Wi5k0FJzhmXAhRiiNVS9meU7tmyK024Ota7sm/XL\nCU2xq3+LeBUv4r1cbeIMTK3J3hdGce8Pv9n72U/pFT9NDzDF3fxe9qVsIgcltS4Gd4a5pCGt49rf\nk0mtI+Dz8sDHVUX38XjZDd4RaK4C3q2fbbmrtjSo65hRAew6eMEzkDqr7wTxGdiH+lM4zxjQrY90\naDKlZ6hXgK/q/aHQbvAA2nJTbwFLniWG7pG3+5BKV8xKGkteuQndIC4NeN2bOa0ModbfbsDv1tZM\ncKUWfXZ8+4lBTYpKrt5oo3gZ8DQpJhS7CMjN8ZIUe1O8WfOxJ1PclZtLdp7p2hy3CR456IRTmYEM\n83sFtZnefXZWTfu7Ge6meKh1gpuroOwJ5r2pNVcF7+ZAqxpwoyqwd8WGm8x3wKkPhDzargy2FgN6\n5Ry7oNp3A23xDT6hZdNuiouAbSVQ1eayUpUYLwuBc6CqWl1DjX3pK1E2J1pXYo9T29CVO+rEKMrN\nZNfd4C7QMMU1+twW3BZZzRRvk2XM8WdOQA1zHCZ46Xy8FrO7HmCKZ+dZdpzNL8YbFvM/rPe9B9yu\n2mvn1x4wHxV8BP24r/aVTpKjrNQKdqgXJVU10DvkAbjDvJ8Pc82QfqDyiqY4ZVO89vLMJB+gnlT+\n8DDY0AI5zIFE4uptyq0CNqUGpL91AwC8d02GObVzLrCJHGaKu1leyQClvfWhyfrXWkK5lSjeBtIU\nvMQbTJpiw6BGvF23BtSpox3TV8Vi6Js3nwolDmAhpWnI7xHplSr20SPeh7ncK14uQO595tWi/n1J\n4CkybJpHXfJxh4UHW87DWd3k7jC76c37BLOb4zsS3Hqq1pfK1wXsbHJfhHgB850PAx8TL5NipxVa\n1VZlbV/GvhSlgjQmfFTzUMfwFpkDjKwPrR3uPow19qfDjNd8nIEPDnGu/gUcaq59WmusA+d9a07O\nM3Tfgi/2KXj0zNsnV2xEXyL3rTUcZ4Nqhwne+9YlFvLPDrN6VOdZsWMZoxMVn2COMFJpYJfB+21A\n780M923y7d23DWpX6x0Geatf8n4PUKc++Gyez9BffbirdLjvcqAF7HV97KHNQzBtOeCAO6+fDnSg\nrew8aQebTbFJw9NdiJsp7jATp6EtN9H9ZcRjAMvwqmCLUAOox6EPmdBXYqlppRlpSzKzQAp3YfPR\noa0/2F4PxX4Q2Og/xOsGt/etKfexeYR6nK01B59Map3N7WG+dB3q80KEJR8jezjE8rAWmWK7yR0w\n32pX7Nuk3JYd8Dv72CtoM+CXFP3Ks7vOxrLv08fGAvCs2BDrZysCalabbeJB6P46DUiCSdsXcwu4\n2niyaIsio9q839zKynbfKKOSDW1RD1zJASxdza0fbmPfOsymAaKTnZYrhq/qygwhF68WXCPcoc4j\nAq8P2A8wxbvnNHvGJYB2qGnlNKP+vupQbupj1DHcNeQUhDKodg2Iywz7MBOrtnFpSR7v5CjjXU2p\ns1onmANuNJhvdQn2Cu4Z3Ni+A2y9smLDzep7Ar1S59j2/naxPrWgvVVDtb1lI8JH0cNHVZKXCgYz\npXFkbfCItrdmJsdZFTPFheOVugPE1CHuLxDK0Wq+UrkPd8UXCDe4UkUZliwWqHUt1d7w2V4rZDHl\nPDnO7MH2mPTKFHsZdRbrlmUHmtjaZaNq94kZF4a5Ts3upNIywt7aajfZDWyqMgSedEeZgXyb670t\nlPrWzPJbnKq2e8LzipUHqO/Tdm3FPoM6OcXmgJWLY9ne3/ZZUEp99dWIEUf0rTW5n90ENz85iLiF\nd3J7WSCz2KIJDdpuitvYNU8mt1QIex+6r1reTfHsPHOFtnNjcLdVoBjFgSaJtciFpU33LGbZxXi9\nOw21x9I/Ij092JsNxjNatM00lh3OM+9jG9yj88xXRsn97T4+HdtJlcc1vfeDMvelgftCCLEgQu3D\nWVQz3NYeXvARai+xo5W3CtyiO9BO+tmQI7wrgE8Bv7Zin/WVp6GvGeYzM1zdFPXX46jB7WBD05/W\nVtqkc7XADyKFUnNKKRNIXLGpx3+7V5x2VG6zuESaWe5qXGFDW94vx46NxnBSV21NHes2U4zDDPf3\nezET2PrVnOD2YV6p2ifV5PK1APveprj2i7t5P3sc7qLkOCt5DbNJrcdZXCfDXJOCD44zSao+LTQ4\nLDpYm/PMQ0Pz+HRAnUF2pb6Vrti3Cro1tTblxi1OgV2Z6Kc5qfxTKHY2w3M+qO8K5sUwV/wtX1tb\nszmOABvqE8Uk4CHYGy8DJgWZo6r1YX2Bfx/uMrVmRpWm1ht2VFuwcAM1ddak4DbkFYqtHENeAXbq\nV49vDmHrX7ecJzgNjmNfpNK6I2+sKd761lZmuGfnma86mrzjATdNSj04zwz4NDadA1JKKHmbG93L\nrtRF+gNgjiAbAI8hrRPAXbUtN7gtp8kb9wb5EuBPodh3DHddzIwD+PG3BIgxHg3rFkBTZwmIGAw1\naAAisXeDGezugS4ab+1w5S3EbWFLqdi4QsTMc6+zzQLX2h8E6o63ffSMowbcnv3tou3NIWyixGn4\nVpNaC8SBrhYXX3Sc3vqI9KSKHTfFhqF/3Z9ggiHqLHnGuze8e8U3SjCv+tmL4a5BrWellj363L2t\nAtJARkWHO4eMBshICj1nU+z30cFemeErwOX+gMu1FXulvqtgkwvOtWWuplY653aHx6IsZJMj7U0c\nSgDtPk6ccm0rpKoQNu8XRyhpihPnvSu0x49HKClFSOmg3KHg/vjps8IRLx9kc5RVMLNlGcRrVu0B\n6tcC7Ic6z9wkX/Svsynuk0AGr/gAt3vFVyZ4mo45O8yyYy3g3od+dVduX9gfsbxNTOZIQ1iDF9xN\n7gz1+6mP7YDfodQrp9oZzLN6Xyu56c0XQkpXfetT2JNXvI9Pt0r3OKdJHaTTCwAxvJhAS4NZK7Xv\nIGRe7Nr7x8yoUrEZ1EMd7X6oal5x3VGJbVgsh6E20x1hcttyxWAUIgjZ2ubEEOpdTMpQm0IPy073\nl4c9Kr2yAJU8ZZOK97GPceKHoa6hnz1C3Gdv9X1udvdIs14P51oCOVY9SfVYuD9mZ+lYD7ABxFCX\n1W+746wDjgPYF/vWeXLIBcCfAmwHUhhgBzqZ15emby694rFmmv8D2nzdeZaWbSqZY4wAZe3vrc4v\nLTClRmkLBGohxCv7mNu1hZniyq3LZWuHt+5aq2/aTPGS6luo+R7DXQrvb/vwmQFONbzyfi8TdfHK\nio3ShWNYYeYR6WmdZ4S+kGEe8srj13P0WfKKH4JTYtirrV92cxZxFvC7Ey2b3d0bHm2xTPCOrda+\nZncyxxERZHosDVyHmN5XM8GtdLhtuCugngJQ7tPflglo2fHocMRLiZMySwV46eHGELOwGuIaxrUr\nwmHU1h1sbqlY379bvBZdRmlyBYBKLSLPwI6yGOjonmzhvS3+70NXbNM21drZ6ppMcYs2yyZ4718z\nFLstipjBZggXyLRoCLG0tQc8VDYcZ6beuRvyiPT0k0AKYkD+GFLqTrMUL051yNkMd494hJZmp1n2\nnIdS57HtDHgyv/NSwVZ3B9ew3ne1egoRDedYBt1MbwqoAfJ+9lmQSl4N5QLgswke21cEW+waOtBS\nRrjVVXgB9MXIM2nj1c3bDbvDmxneXmqptpwQbFZU25dXJonzVSi9hL7BuQ1wV1St2JQ7xJL627nd\nS3KH2T6NZe+h1K7SAm5vIyHvX5dBqCirts8514WP4RHp6RXbnGdjgIqEOZ5N8eKBKZNq+1s98pDX\nTVbqM6dZHsM+1Me+dgYeCTZU9DnVOdAkcvJ8Z0fZ+0m5PS+CUS5FnQ1tsgZcrmyKs4GbgdYZ7Mkk\nj7Zp7vZBtRWxVHADvMdhk4WNqg1vgW2fP0Sqnf9C48OywIanCL766Gbj1RqAVoOaEtgOtS9JnANU\nkjrb31V3zg2QN8Wu2WfklmmOhy8WJptGBR6bXkkf+xArXnR4kh3nYs9x4vOMrvn9WnOkWTa5c9RZ\nTcsB78MKor66aHGw57yEGh3kDPf7i20DOzvHVpM7zlRaFv1tSdBfK4kBykmtV5BnmOfZXbPpHgEa\nQJjdlF9AliZY+AKYsNVJUOw8unLnbo3lLYapagSe+OLGxfrRrS/NpuT+Al6HOg19OfwepEIUnnbv\ny8e7vqnCXwl8UGrugoY0Zv96Oc/uOyk8LRdj68mmpzHSQnDnOWCHl/3NEZFjJpDaWxtSObyG1r2S\nmlYQ7dvDTbJybsn5vkufmx1j4qAmxRXL7U2O7Xr7G4G8rpja8FLuicuXMAllOMTtO7B9D9L2vf29\n8CxTmVTY/0abuPGAc5jO/aWlplDtiyviveFkZ6mFoPbBKp/uSWp9YPL7xvJ8n7nbzO7H/O7teAf3\nxdxOYiv7doztPSK9GrDZn7w29OWvNl3+eHdT5HAAO2lIkLuhpNY+wJ3MnlT3l8ZnqOMNiWcw33Hz\nHfanG3Del6EOiOe6jvUZ8uxIzfVrpRlotn+TkjVJDrB994AZ/SGO/HfQ2vz80HTe5jyDrNN1OIAO\nBCjJD2ffRyPePO4R6vcJe0YrKYRkFJRY2xz2ul4vD4AjQWz3H5tXnLWfkDcV7O7hbJCPqzumEwGD\nOyDPJ3VSa53L8eJ4PQA3de7K3W8qqu4sw3gDTTfcCuSzoau5LaBO5vWQHWo95oAbqcTTgR33oCbA\ns2Lbd2eyL0TtuzngQGuLeziBOQA+PSBpcS5pcU2Gz6KDjGmmWNxnkmB0UdAsFIt7bBYVE5osPOdK\nrf0dazzlN9EUz5M/smK3fUfV5lyPC7EyiSRdAE3mt+VpeOEAtIf2nZjgcTOdTN7I+0/3TdvZBK+T\nYq8glxlyrMtrmuIONSFGaBCrBWszt5m6UvuyZEpdmYeUlXS3/vbKKtp7P31Wbh/qyp8d4J7+LZhT\nLobS0qorR9WWUGrSdJ8tgM5K3U3y0Sx3lY56qDW6Jfsmgh19bP8Rg2JrXwVjUu3Wh1n0a1aA+9MW\nXakz3NAZ7iR5dQH4rMgnin1pqCqb30M/WzrcIg3wA9ArqNPXrunru2pfK2XFVnSlZnTFdqjDdMj1\nOdmXdWXPQA5wTqqcldsV+6DUnmnsU4e1iPE+gwNNo7Xn91O2DClDbaPZg2Kj37sr1Q7fUpg/yXnh\nSv6I9PRgD1DrsY/NKzNckmKnPg2NJ3vs67gp5TnBPTnQhjd1iJvgugZzodiH/Sdgx5CMm96T+T1D\nXReA1wXg+b73fK3kYFs4Qjio84iNww10tT6IUNoIaz0NXR0Adc93maC2c37xs5T/PZ2cZ1PWDHUS\niWhfWIuUzfDetz5zoLlSh48nvP32PXN47QdMr7SPfehrLxxnY10muI/ecFYvT/rXBjk0eb/v6WG9\n1MeOMqnH8pik+EvTuxqsugBarF3TMXMd1wfb77uoG8wz3PAyfaGpix2+AjffzzzjNFlKWbV938qp\nRjX9o3nYLOru25nuPW73SY4vS8GjS7jdkmyQd2E6PkC6Tym6o9rLN1Ox/RHvymwrNbb6eIL7ydEw\nd2aHxVlfe1Ts5DTL2eDuL89TzO+cXvX1ZlUexp4nRT+Uaf/sCR+UOsOdgI4S/fkyl9c2xT0CMszw\nBHVxU9yOn8uczBoG2QOJkuIO5UKthzL1v3P7oNj+bwKI5YkTZGEt5hEUTmb4bI4PQE/33ZkJPvSv\nMdTb0w39ifnI9EoU2yEO5R5M8LHPzdT715RMnYuAJ3Oqm+AyXrSAWxevgT3vY8+KfIgWk/GYlaL7\n/jDF9Qi3t81KXXUB+fR1rw22K7ardYYaJjphe8somEACmvs20/FcZ8VeXY+7FHsG24EGmcM0m8b+\nkOfxvsk+mnxvHYXE70s1b3h3no2+o/HfbZZjcpo54I9Mr3a4y8wQSoCvx7I1hieycyKbRf609LHr\nPOQ1Qt5zdiXHRA+7QU7HStPNdikE9D51NbM7j1NnkLNyD/UMuX+dVL8q2IrwcKvC3pXVTW8IYjFR\nuLc3m+MGNNl3Jm3H+/lYKu4J0Fgcv/osZdPbgA5nFXUV7a/szV247rDtc7kuW4qDN3x20KW+dVgL\n2QR/CWPYwKsEOw1zncKc+tn5RK1MoRIONI0ooSHibKXW2ZFWsR7yWqn2PYC9zz6p1sfMqp0gzoDX\nvL3I2d93zT62R3/aEmW9fw1ENGRJN2mEt6YAFX+Gg+NZ3vZdOOd3wT1DPQAe/6AB7t/DFdTBdsUW\niT72qN4nvp0hGlKRVfx8HDudMO9Tv6ShLuBVjGNnr3hS7KFcqXV4xnPI3jSWeOJI6+Gka3O8OWdc\nvWE3jx5uptV49F1Q3wm3jlDLDHDub89Ar7/mVcEOE9w2Am4Y0EBXHrthW2RXKl21FRDqguUwzoFB\nGeZ8Hc62l6Z4KLZGGea4oKv1YI6n+8gFZTLDh0CpdH+uHcCzkw7WDQXGePHHX6dX08e2CAf3hke/\n58QEzzHhS484pfc2pOGJHF4aUUSDUqOb4YLxpXn3UOu57RLYq32HseoZcIf5glIH3NksfykXdZ3c\nBVHsepZ8E+p0IKe6DTlF7IIi/CkyK/aO86GrC8CfQp7HrqnD7OPWmICOURTR7h33Ia9TM1xTX1sO\ngSmrOA3v23eo9Q0F249N3vGs0JiA7mOCWbEvh5MO/e/ZDJ/72BFWmhVbF+p9zGfQnkItC8DlHOiD\nqZ0UPLev3u937eGuSOk+1GGs2JL0/m281hatFG9zwNG/vDvCzqC+5P9YfsZnffl4cUWP06bJgrO6\n3zuu0IPvRo9A57fCZsiXqu1OM0Xqjqbv98aB7a79HD6XnWjz0IB7wt1Dnr2Np97wpNpI6i32BF4E\np7jniVZ27QPymUr7MNjcJoLDhI4DyBngk+0Mty98eq3kZvjBapyV20Gexo5JW9v0Msom6hXtpQru\ner/neb9T1V1MzBFBpDG+HX1sToCHEy0Nl7pQ5HttmGXoDjYJxe6+oSRe7oF3IWOEyFwcG3xgejlg\n33cwPSu1m+BDrDi6qZQcD3HSsmIfTPI01u1P2CEwJeVBpae+9mPgvZTlqNox0aMbC+chowuQ4628\nSPtw/T62WmV1/5FBjV5EbysD7YrNsDrQzY07nJfz/vuAPbyEPllmhwd9uk9iNtelaZvpPhzGsP3+\nPXGg+RCvr/80xIi/sbO7knd8Hrc+mOTJFD/0sQfTPMXvesTQIepsDTiGbIBnN/NkQi+BX4C7yoc1\nyjBCPCg3EtT+daZ9dYZcrw82ErzzDThElmlXbVdrB1pgSj0pNt+lzgvoV0ORA+wpfDle1mcBIr07\nlhQ7deHCJA9fzZnzLA3F+v2aYi+OUKP7HHSqL87rQ9Orc55xN03i6TXBPETwhGIn7zgE8wtPx9je\nHCtuQSqr4a7ay5VJfgb00GdOEWV3Ap0UWzFBjQ7z8GzRDq4r857asno/hWKHaue+9QR87kNXU2VJ\npSCpt7YfIPUy4KtrsYwrz6Z8XkYpKXY8wGeohdO9w3ZfcbrH6ES5e0DVafSZP2BUcQglzWbQU4Bd\na8VHP/pRvPPOO/it3/qt4wEfZBJIKgdv5XK4K5k8yTQ/ONGGGTiaxrJXat3t3VCBrOAX+ttLZ5kp\n9spcv7To4Ax1AG1fYQV3/moBtcazBfWel+ODJM0wu6fbwfRLbG3i5rdvI4FtdUb7e6IjzGcArxxl\nK0/44FF3oCtiaaU8Fz+sN9XBHM+jKaM5zqOYeHnHXOwuXOj9+2GanJXA04D9sY99DF/6pV+Kf/mX\nf1kfcE+wh6VfAm7vc6+hzo6IgDoHBCxyXAAfg5w8nsc52Vmxz4Geb7jBw72vHWSXIB9McPR/OvcK\n4p9bwLxP9Yq2rNo1FRtI99zi5gtfmcEMNaYo7aP0G9EVW5JS5/rq3N8VoDL3sZGmR5KruMVo53th\njFQ0pVYBg47ikdQ6+t/JqjysnuJK7RYqXLHN0Mnn85Fg34nk3/3d3+F3fud38L3f+71QPfnX+P45\nwkfDHM9Q4wB2B3oycU6g7svYpLHsS8NeyYl2l+Nmhnqopz72SrUPUE9Kn6dw1lXWk+xfQyfgr5Tz\ny0KHh84q++9RjHHwdfy9F8/R4pyu6hevkV3TPLf7OCFoUQ6An/Wv5XBfZm84T+b4GGmJYaGRh3AU\n+STdqdg/+qM/ip/+6Z/GP//zP58f9AFCSodJ5ubc8HyM2knDXnO/ZqXcMeY4mlJNuSWptEPdTfBY\nL1yOpt98wxxurtWQ1gWo87NklYd/1vvTF3JeqvxaKav1ajAk7l2YqQkTSqyzWkna+9ZZrTUFq8zn\nfzXTa6nce+r6FYd6Lsd+NouAQ605KXXuX4/+nXEs251mC9X2vnQGepboa5riv/3bv43P/uzPxkc+\n8hF8/OMfPz/wv73X6x99F/iqd9fHTRFAqWmoR7/7sF9tW6c2O1kAwrUTsxLyDWifmyJ9aC7Tn7lP\nVrs7dfqn9exYK1eBRvnw+36NDMn89152uuvfHbb1/DvPfy+fH7pQ3nUdVsf4NV9/TtdfLL6dHZO2\nSfPBvaT0B2I4N9nYw4hBUu/gIv/TZ0PIf/xx4P/6+MnOni6C/Yd/+If4zd/8TfzO7/wO/v3f/x3/\n/M//jO/6ru/CL/3SL40Hfv97d/5D104v9Wa+JhlvebpvSMO1Pr9MV76eV/nOZ+mr3h2F83/9seVh\nF43oH//xH8cnPvEJ/M3f/A1+9Vd/FV//9V9/hPo5Pafn9NqlB03pJnrSZ9OD0kv9Zq/vz3zt02PF\n8SrieuXr+ToaePcOUPm6r/s6fN3Xfd01v8tzek7P6SWll7AIy+uRnvvYz+k0fQpez7cG7Of0nJ5T\nT28N2M997Od0mj4Fr+dbA/azKf56pOfhrtcjvTVgP6fn9Jx6emvAfjbFX4/0PNz1eqS3Buzn9Jye\nU09vDdjPfezndJo+Ba/nWwP2c3pOz6mntwbs5z72czpNn4LX860B+9kUfz3S83DX65HeGrCf03N6\nTj29NWA/m+KvR3oe7no90lsD9nN6Ts+pp7cG7Oc+9nM6TZ+C1/OtAfs5Pafn1NNbA/ZzH/s5naZP\nwev5cl7xc9/kq0lOTXO9LRxJ+SND/bgmKU3WFk3l1B7vbbW/kZd8ouPhUV/9uZSJ2veJF2UQ2lsz\nFn8nXn+z/oan/yzdo+3a9zHdkefjVp8d2vI5XLTd+SXu+gf8Dy6vLZ3/rcPBdk+eLCequa52YLox\n1/c9XWVp2ZcD9kNePUEAZFiotdWNAl1m7mVbgh0Khui8ori2khRCDCWBEENIoEQtcyqZoIXa0sEM\naCFbwJ9ibV0qgBa0d0FZ9rZcwusb2vudfZF628cFkFSi9HttXgO+YL1aLhbtkdLGNdcV33KmVpY5\nU6/z1L5a895fzMh2LnNmO6eR0z6kEnNb+qL5+mmx68yp9HvikBlKBCFq9xFOX1PRXjaV79W8MPbi\nnm4vL6O0XnO792JN55dwnR6f7vtFqN30sWES138wToCOtyNBdDq5egRbIVBiCDHYoBZiCAuE7GIG\n5Gf6DcEAACAASURBVO3CwgDPdKlgCfQMN3Ld33bCOL3xAvJ8o+tUX+wrq1PtQFOvX1OxHWhnp6Tt\nJdT5d8xg5+0Z5pw55XQuz+rxj+dryS0f//HpQc8NaGEOoB1wpfyi5uldm3EfkkGeQW/1UHDJ9ztG\nwN9EsAeFMcjVTCGv60q5kUB3mJUOJ1igptAMgbR3McSFkfFpbBfRL7A/uQPwCeozuAeop3qGeFmn\nEdwMcCizJovO6kj7guLUB7im4+QMaFfvaFvAnlga1RoXoE6Kje0c6ENOnxm/CAXkA8z+sM9WXVZs\nv8doodY61lVNgCwP97LMQFN/oeObrNjtfS72Q/wmtZcmL81wZIjtRKEreIZbSfq2AS3kKu0XjQeo\nB8CzSvtT9A64zwCfj8+gKwPC7Z8UPcKtvq3tXnTIgXV3bH6l2jVfyhdgu2rTuD2UM8hTSXl7AXS0\nTYo9A71qO/RtrE3NjMhAz6otSQDEVfrUHKfI/X7tKj4K02iKq9r95hdV0J7cbyTY6M4qJXtZD1GH\nW+ykugluSi2TYp++Ho30tK+kbPDHhUxP7WIPmFS6eUR13c/O22dQz0rtZLA9pQ8g23bRDmw84WmE\nWON/iDdbPuRyfJBUaFRsh3qbgB7q1M3yAfZUP4V6Vu1LMOfrk50Bg/mADntc/3U/W1I5vDD3kmq7\n8KyAFjrAjaG/TW+wYnvp71J1M9xv2kM/ezTJhz52MoE66DKaTWGGr6Ee+lyu1GXq+5yZexdAX8Gt\npSm1/5tE8De7BtgOuWovSz43dgoHMxwYZPzqip372A71CuZkgvv2AWjLzEe4l/3sC1bRAPvBS9ce\n3tlKy1Ybslpz6lvDu3JuAR7717mf3YVn7kbOQCMUO9799kab4gnorNQrj7jkk5NNnJUTLZ/o7PDA\n0byKCzk4TdBNtWzCGdhLcFfm3tlxE+DNQuhQZ6BLKv0GKHYKzzzhQO+v1itGWmWgZ6g3GsEOuGeo\nF3llat8LdD65NsvrQN3yGpxlk+9lUm1Jqn2wFAfrMSu197d5hDqA9m3qUL+pzrPuKekq7eZlmCqH\nvnZ2lpHVz8xwgxrpQoRqHy9cf1qj1wt6n8dP9NmNsqG/7/aSam/9mEFlqMOcgc5Q+41wdo4HI8jG\nxa/tPFv9vICZz+E+A/zBUJfRoXYRZtvfgcbhQT57xLPTrInDwnFGI9yDsKT79dT6TECrdMDfULBz\npnCcNdCwdqBhBNwdZ4dhh+mkd4fH9DSWUaU1X+iC5tTIcF9woM1qfXConSi6O9+UOshukmXQ20iB\nqTWn74PRCoeOp/bapnjkhUKvYC58ArOb4TT2qVem9aFP7d2ZE4faylqKjn5+kE9O1CHOwU3vGOqi\nqM8OtLhHp/Hr0SueIDYx60NgGM3xR6ZXAraacnsZA/SLcezuBacE9eVAgbF/3R1nIumi5b5VSV2B\nYl/0BOzsAXclvqjU6S32AbTtZ0oAW71kLykwfg+g3ZTpfJMmQ0ifEGzCRcA5AT2AvagTnQN82nai\n2Idrkfb3wBS7BmfOs+hjexuPQ16nmdK49Tj0dXCiDc4yevOHu8L8TpAHbCeBKv0EsY0Nuvkzmuat\nf219I+Q+Um8/qrY9Pd0kd7UudAD7MMzlwQ+Lm0p9vyvLQtGVABID3BQ7xq7dUebfIQOdQSbkd6fn\nOJWrpPBuY6HMGWw+wj2o91zOIKfztgR9UuxTuHkqU3/gADXTYOWFOlPy3TjAF+COvnYSKJ2Veypj\n2Dd3Ax+RXq0pzv5Dev8aB8jdJE+hpOFAO6p0dp4J8lO3qXZALX5xzSRihHJ3uHF5LHtS7MOQ19QH\nnx8Q7JaYJrgpOVL83PJYElnYKE1wk3nZH3Ep70oDH5ggn+At3IEeQJ6gXpnTeXhrGZSynR+DdExX\nbBqcox5SenCiDc4zEwRQ8t20+6qCISijEy3ndL92x9nYvx6Gtxxqv18emV4N2NZfbDey9W8vmOM9\nkieb5idPS+//zGPYK8UWCrpCuYupZUm/bVJrr2fFvuQ1X362tJ8cQKe6/7vK6TtQP4cWBtAAN4l2\nuF+SJXeaYggLHers+c6KndW5zGAnqJmPiu1q7OfvAPhi/1KtZx9HAjpM8RzTEPEOnOCe7i105Y7w\n0QhU4aPpPXjFM+Dow1/ZDH8jFZvR+hQJcDhoJ2PXPnwwTP6Ip+JiyCspd4/3HeFu5ncyhVyl3QyH\n18c8gJlupFXbXZ9lNJBduSHT9XSg2bi2bYe4AuGAktS/fgrFjnKC+lA61AuwKZWzKt9Vnu1bZS0Y\nQ4Ynb3geUM/muKQuXXeYjYAP912KNHMhOo5lIznQGtA9xBRj3Pgj0isIKXWou/mtDFPRWa3TCUr9\n6fP+Terj5MB9fwqHGZT79enfLG5SWArQcS+4H5KzYh+Ank+bmd8OtZhSz0AzGuzX7mPzBPBQzyCf\n1HNb5AWgDwH93pAPgNMA+DH6LAWlDOrtuazvwQgpvRAr7kNdS7P88Rfx1cSK5z6jKXYouZvG05NO\nUlv2kA+xu+lC6KTUh2GvZBYNDoucCwawZwfYQyAnu6ny32A/J3QH2F5xk5u6GU4z7HgCsKfsyr0C\nfoY+K3WoNV+G8z5tq/N+N+AY4c597Ax5+Hbc1zN6wX24awioOij1iVme48OV3nCw3cQ09T4otQEe\nDok4gTx4wVtZWqaKHN4XDrYB9Asmf5j9U9LzPvJZ/1qnGy4eBsnZ5qa4Qx2QT6eL0MxuWH+UJrjz\ng/7JFNtzhnfaPvSny6TWZa3YZwB/kPohB8gU5dJxNo1hx4zBE8X2e3O+RzUpd1fr1M/22HE3x59S\nsf/xH/8R3/u934s///M/BxHh53/+5/E1X/M140H3BduV2hxDKmgnOMGMBXCSnorjIguUcvaO92Gu\ng+NMT5Tbk/0bQdkFU/xQ5+Ox+aYiHj+XutDrpOkABzrDbbuHOp4IbDrCfYA6w004QJ7rOfDkEqiX\nts+hNpALpfFrKwn9XpiGu4apm3mIa4Cbhnr2C62caAF0ihE/TAB5CrB/+Id/GN/8zd+MX//1X8e+\n7/i3f/u340EP8Na04RwK81v9h3F/ag2qmqJ6suNs7NcUCOpw0nv/aOwvKXH/+0BzogEN5gx4fGEs\nzfAZbldkPQtYsaEvsqGvUGygK7WVMS6dS0YbyqJFRrLiyG6YKyVzjxzgphOo6US5uSSnWXae3RVw\ncg/Yl22z18+mbiIPeSWP+DCz62QCyNDPzvEUF6Zrzt7wcN7OkWfXBPuf/umf8Pu///v4xV/8xXbw\ntuEzP/Mzjwc+xA2bzPEYS84/dDKVZXoCxpNxFSRgY43hwSRK49qTaqfS7eEh4Mv7vRf62AcTnM9v\nsphckhVbE9z2D5O2dm9zqMm8+LMpbq6JwXVxTcV2A4KRIKcj3HTBCx7bGfLBXF6f3/v2n1f7+vnv\n6jxMBFqUfYZXn4utHoGWveTIY9Z5GKxPO85Q+82VgR6U+tpg/83f/A0+67M+C9/93d+NP/uzP8NX\nfuVX4mMf+xg+7dM+bTzwIWCbWdmnaCKk57z/6+PXvAY6+tXjBRhm6WQznCkU2vvVGmo9qbaDbTdG\n7lsfTO07bjadjufSgYx/zs6LK7Voh1ky0EmxA2h6OrADYnTAQ51zPQE9O80y1PdR4Rn85fGr7lBS\n6zx7L88TODrNsuN1EoyAeTbH3YHGcd8elDr61d7txFC+LFP8tHsHAPu+40/+5E/wAz/wA/iTP/kT\nfPqnfzp+8id/8njg/NS5V+53ZoRQXoJ6DicdHGhH5e6BKpNa24XzMUvYRW2w2vY8Md9NxJOJ/vfN\nnPOW2nh0LJXSt3P2aZF5PnRekmhYaPBK+Wb6d/LUzZi2yRgj0Gj8ffk8HM5LwXI1lSFvx7bhOp08\nEPy66qDaGJ1pk08mj7DM91l1UcnOs+wlH+7f5D9KTrMeJ044xIvfJ5+ki4r9zjvv4J133sFXfdVX\nAQC+7du+bQ32r7/X61/yLvDhd9d/UNGAMm9PjF9PeYB3yAWiFRUMRkHVAsYGhmBHq1cIKkorqaCS\nlxsqCXYSFC7YIShaUKmA7RgmQeUCRrW/UeymaTbz0jkWYaPaViZdmVYKQLR5t1MmMhWvre+tuTRF\nyTHRueQCyA6wmGpLVyO9cMEfm9x8pglALse2Q05WzWGYagNw07PeUN+eny4FLZx3tUyqn4NoI9TC\ndg8wKhfLrb5zuwd2YitLL+0e2LG10vZV2lCtLbK2solN2x6848oQ4eX9Hn2pijZmeWlo4y8/Dvw/\nH7/zOl0E+0Mf+hA+7/M+D3/1V3+FL/7iL8bv/d7v4b/+1/96PPB/eG/cPot19RsueyLDVGaIEERy\n2XK1E8UqYBSwbmAV7NjM+NkGg5whYNJekljeQKQotr1zexgQBCXK1rZbHepA62QiaotXFjuL1cAV\nADpDrCB31gHN+Kf2dxxkpEy1wUl7+3sOPFIZMerVILc2rtcHe2WJBLgb1rHfd5nZBrb+JwP6BaA3\naCZCwN63A2yH3CCObpJ59ZSBnTfsXLDT1upkdYN0v2/GlNWyQ649dyFiVGm539MGdfUM6E7DPXAK\n9he/27Kn/+3Hlofd6RX/2Z/9WXzHd3wH3n//fXzBF3wBfuEXfuF40H2D1t3xzF4mE7maR1JaFmlP\nu6oMNrgZFazF4N2ijF63wcskYDWgNR3rQFPpx9lndm4Pjab8EnD7IDOxg23lhqbC0kpsZGAbxAG3\nbyNGyc1waTffDLTXBe0mnWE+qXPtcF+zk00LtaYTsDHBfRHwrau0vkAHOEoAGwXQGsrt/RIKlQ6T\n20ztpspbU2oqSbUb8JUd8DKpdmpDU+kGdbFsyq0FVbcENkfp97GKmeR2f2tNql2bGa6u1vvjr9Od\nYH/5l385/viP//jyQff9IuZpUe593AZ1G4JqSt3VukpTaVFBVYNaG6ykAtLNXV9JsVM9wLX6QcEL\nmA16Mdg596JKA9MUmiSBLdrqW6s3D7aCxKCGjTsFZM32phiQbn/nALSV87a3UUWYbQPMaZuurdhJ\nkWfAZ//Dajugzl2bDcALmFpTwK03FEod5WZAW+lwxzh1LhkB8E7N9G4KnpU7KfqZQp+p9gT7oNri\nZYI7THBu9311oBvUuuOlPJxfTuTZfRU7RWS02VXtZo0ZV5XNJE+OCDHV1oJqULMe/JCt/2zqXLwv\nre1iMQmKPXWjzhsKBLsI2OsQFLEnuZnipNa/Lgqqajdoc1eTQU2bglShQg3u5PEnH8YCAGjEnMR5\nW6j1DHRALWgPUTk/7slMcT7vT5/BvFLwgNtN8RcZ5FbXGzqAHNuFAmgd1g2ncIp1qDPQZazTXJ/A\nd5VOcFeH+WCGl7A2Jd3Hkq1R718b1Jr7168N2A9R7Mkb6VBnx8LQx1Z3RjTFrg6z2ui2+gCY9Y0N\naK+ziplZUx1mkvOGKl43U1y7WQ4YvLUpdIAsI9Reh3n323cD+mA4gKbjiPGsRd96hhmm0N7fjrGt\nlQmezfhrJVdpXkN9CeZl35rRHWDWtz5AnfPWFbvBTQe4s9dbmUYT3Mo96ps5Vsf6DneS9borc0WG\nu/WzswNt6GfLnLP57Rkj3DteE7DvqdjqQdHTE9XrodZDH7uAVEyx1Uxwh1oOpnhzgJnJrTL2t8Mc\nN2+6b7s5rpLKth8AmBPUoiPQltm/0xxxTjlr71szDup7EfQylbNKm1LrjutGnt0B9KrfjQ3r8eWV\n82zIdMgyAL7IBraUXu+Os67UNTvS+EyxJxN8LhPUrbzQz8650uQ8o4MD9Y0CG5KcZx4FdHD/H80X\n94xTBjtBPfaxJdSZyTzoZN70CejCBbtsqV5QuKBKc6YV+zeFtcNdBVQUnCG3gfj+/QDOYWzo5rdC\n+5skJ/W9pN73ynnG3OHfHdNZu+87a8dDwc6OtUvKvpl3+4aSYiegN4JuHADLEmQOtZYkGA505WRi\nZ/N8NrvdW26md4Xtn9S6961nrzhDxPrWkoa9cv86D3fVnPEagX1vU9xM8GpKbf1rYYIUH+YazfCq\nDAqoR6A72OiOMVfdgDsPgRn8XMHS+tXEAtYNRSqIN5RQ7YLdllPhohCDmLfWj1b7Lq7UCKgZDIWQ\nwKNViQC1wG8igrLBnZxnM6R6j/706mHg65XPiY5NH6x97kufDHGdmt4LMz2GqPJQlquyq/TGQ10G\nwHmAWzLszB1eToo8AJ0Bn0CfFXpyoK294mNfe2WOS+VxuKtSs7Z2vHmmeBs6Mu+fAa4+68bVesqU\nHBAZclj/2lOHdwu4CzWHGKNYMIo7xTZUFuxSWqALBDvb2Li0vraPlY+KLVAhcBGoagsKMTMcAbWY\ncDLUCFObd0mx8Ld5xS9BuuhPz0Nfp863JxzHjj70Yuz6zv71nAeou9PMS9kIYqotDvPWREG9NKCl\ncHTvvG+9p352DjZppnlvH7zglIa2hn62B68kxcYl5xmFZ3xQ7OqqPV3T1wLsBznPsmIb1PbkkkLg\nuX8tan1rU0VXae1q3bruKWqcavOOow2LOeRswSyx7gV3LzuLmelcA+qipTnmVCCiYCWoSnOOWckp\nsJeS9dDmtBCYAaUGdQvI0b566QVvuFp/eukdd3j39gDQ3VT6CZxnHn33QYe4DoDbA8G93NjMaZa9\n4DfclfmmQR2QFw64s2ILtxEWLTQqsClzpUmxl0EpU/tggt9YNsDNwhudZwVVSjfHh+Gu5EBLfe03\n0nkG7Tex2iyGgDsUW8BmjpMBTtLVugbg/W8CMGX2iXR9uIqphZnm/S0IJecNhdtwWdENVQXVTXEo\nmF2l7XsWAbf5p/DIMqgBbRNRQAIG9fm+5IpNiFdrXlBdmkE+60+n0j9/1eGuk+CTM7BXQA/bySuu\n3s92b7fnG+rqnKCOHEBz69ax1W27q3NJIHegawI8jrP+dJ360mPZTPDBK56dZ6k72Ud9DO4E9dC3\nfq0U+yGmuLv0i92EptgNZGmKrWxOqXZyYOZ3DYi0A2WJw7HhXvEM8wSxj1mjzeKuPvRlMLdAmA1F\nKwiahk6kfV8l6GDvjksmOOBtRpAOkwqGN9xfgHquH+DOYE+e8qsOd/FlgC9BvTTH83CXxYJrMa94\nOXq9j1Bnxc5Ae6ZDFFmdIV6Y30fYu4KPw12u0hluvti/1jpFn1UczfHXAuyHjmMXjK7+wtAqLUCl\nCEjYxoZ7n7pKOcAMdBeaO89iuEu7QsewVih6AVHrdzvErNU85tkU3wAouBBKzDaTIZhscH77qoNE\nzUnm0XW7Bvex1lYBaDKhVyDrBbiprB8A1w5QuQR0lMmpBi8Xyj0OeaVx6Qxz6TBrmN8d7FoS5CW1\nGdwrc7viaHpXXBjqSvnW2wPmVOpRuSMeIzvPLCM7zqx8I03x3FcMsPPMLjG1luaMIl/kO5S6DDR5\ntYO7YYf1sam2aDMVFKpmWnUl3xP4RbduilM3xQnNBI+lddRc3dNqK2T/86GiNndax/DZnWJkABUH\nE3pV3jnEtfrclQNULgI9gT2Ul5TbFFu9dOXOkIezjJJaTzAXRmWGcIl6pdHEHkxxZOXeejCKqzjG\nh4HP6tpT/SzyLE8E0WSKh1p7v9pneL2xil060LAf1J0IHENKIqba0kI328SK0n9sssTZTN6j80zB\nWkFkYaZaTbmTKqPGWHdBbZNBtKLPIKsgGy5TrShwsKfzThlsiwnnDrPa0F4AXcxBMpnQszmt7hx7\nKOTXVmzGUnlX4F7adw63hYbmceqte7u9Xy2FUTcHuqAmBa+ldMVmB3Qyueegk+X+CfBJvR1sSZ5y\nn7ZZYyx7MsXnHF0vCy99IxXbbmatHXIPI6UoGRKecIz2rit1lAZ2jFuLQSsoZI4walM8s6of9pv5\nnYNaPEClqKms2kwiSw1mHepEDGL3gOe+tYOOi33s6F9LM19VcLcjbe6XX1mxz9T3rvpFM7wgJm40\nR5pDjRQy2oe1skI74GJA19KGuNpQ12iKVyTnGJlHO5R8G7bb/uQ5T6BXH/bSDnKeh+2Os3WsOB1V\ne44+ey3AfoBiY09P5MndL0LAoNSI+c15lGtU6goeFDub18f+9djXrgnkFotesNlkklYn0abSpffn\ny/SzyMxuYoaSQrjBTUygFIDQ1BqnkB761+VuqGegX8bT/lKaF5u4D9gXj5tCTjvIGeg0jDWUSZ0z\n1KUM9T4WPZnbZ2Gil/Z5P9tKV2oBTwsspJldQzRlc54dw0rtmu4wa/Zx1+lpFRuIL51/kKt1638o\nRLmDPal22ySoVqiimcfTcFYhQVXBTsms9joKij+1dUsPAb/YPtmk3QjNGdfM7wLY4yTBTGgTRGDh\npcSgOnrC87pasQj3AsyVR/wupR4+Yyp/TbCRwL4E75kqr8axO9iU9nW/hkQUGQ1Qx3j1DPW0Skpe\n8aSb1kmZs3pbe3i+s0Ins9z72S4Rohnu5BVP3nH3Ic3muL/tIQB/k01xVPQ1z1IfG2JQK/eOdFLq\n1kQpqFRMtQ1MTUqMLczzAl82Scy5VlCoz8jZySeC2LxsV3QfyrITHS4zm7rVAbeQUx/eSjPXMtDR\nnyoEVD2FGxegPlX7Raz4S08L7/YlkO/dHopNPRqxoNfZI8u4A57GqysnpWbGXvoySEP0WDLFI7hk\nmrkVceL+mfT5rODVwfYXVzjI3ibHIa8hVnwKKX3znWe7XSz/QUKQSuDKUIEBjmHhw3nBQ9Fshrsp\nriCS5iibhroapN7PTi9BdVNdHXb3nJspTgr1J1dykqE21a4V1rc2xx8LiFt3glksoGUaq/TflWLB\n5wUWVpDfx3GGgquGlK4APTOrT48728e9DKgHsNO8AnOMVfeCB9zcpmSWrQHOkyme4FytiHJmeq/2\n3eoW04/6e+XK0LdWOQJ+mAySV06p6R55RHoFpnjLmsxxJAcaxMNKMZjfnKBu65NQKLYMfeeuvgV9\nUcJudpdQb1duB3qPB0Br29GmjAKu1NbLJrXFHRLQJOb8YzBrKLWvPNki7dCU2hevy9bLPUG+l4f8\nFYGdzeoB3vtM2yzoizFO86m19NlaodKc4S7mLDMT3FU7lj2aY7vH+jC32vfTOLQ1BKMk9R9fElkQ\nb67RXlePFU9TkjVNAgkzXGy05LUxxe+r2ArEOrW7BSOkH9ZKhtRxAYFxIb92LCePIlVqk+QjoqzG\nyZ+V25WaknJ7pogn76uXE9CXoh1mXFNfxtjtc6I+JdOzq3OLMgVVG77zBcOn1UfvlRcPhCcH+w51\n1jvAn4/Twh1MTma0L4rg65MVb9vS/m08lkosYFi54BY3kX0O9W3Eeh8dYu0Yi//GEfCA3Iaz2j27\nKpOjrI5e8OwwGx1nL+caPvlCC1RsfDaVKG28lwpBi7aIrEKgW+oe9FsCmKFFgNv2BGfrZzGjmWiO\nqD2hJT2pazyFG/xEDriprs0W8zpgASam3wIPb2n1gh7qUsAQqhDaIcQoVCFUsdn2RhVqdeGYT5bi\n3fXwhKZciXf9IB4W4wNER/CfYLirA0uD+Xwwq5NDbH4bSjuuDSWKrXSSgZyhrcOCCNsQ+71afNCV\n+X28wPv6wuB+gVu9CZC9vmNrcd8OsiaFVkb3fCeFrgy9nTOlPG3vLePWRi98e6cecfZaKfbtPY/z\ni7nbUM5tM1F9BdBWp75wf1ptvt0UEiCDASltdRNhQKgYXO1iFCuZLJIMtgAD2hg1mYqDOtA5KTW0\nLLylGe5UsVFBpR2b/1sBcLUIph0bV7T/2krnuS727Bdim8c9niJ/qAS0VQ9WAEkCnQGw9mmeT+E8\nS46uAVT2ocyHH6MT2H29720NrtcxQjzWi/WFb/C+Af0+bvC+vojtWzUl1wx367pV7ZB3z3fpa4VX\nhr7PEANYVjDfcgKaoLcY6ohMI9hvkmKHV9yjrgoBRduF3gnk9VuyN1O2er8ZGLCJGO3VEoCwgJmh\n7GrdsocJMiSe7EwbdoskI2oe7PBot/WBrQ+dvzLZA4NRtJpyu0J3VY46M0Smdt5D6X1umWiNeeVA\n/ie1O+jmeii2fVdG86yzdVMM8uuDTV2B4+0piCErj4WP45IyRxAKj+2DYrsiZ9XOQSYpYOS0PYNt\nZniD2RQ7A60bdu31cYkjCzhxsHPQSc0qPdV3moA2qzPa0bqjeXGF126hhYdMAgmwzew2uLF3pXaT\nvEGdwLabSm4ZzGKgA8ItKCSrtuS3e9Bm64mrAS0GtPSx6IggO04y8Td5hvkdkGfTu0G9yR4PlwBa\nuEMPW7Hc4uDdKZf/bXLzGva9KgalDsUWNGun9rL15a9Hdr4OmhV4bvPx+jvafFF/TR7smlQ7gOUH\nKHceq3awTZ3f117fh7wN2VdFGaPKzLMNj/d2pZ4Bn5Q7mdt620zx2LZ9SKC/2WCnSCMUAm5bpBZY\nrT/tN4GrdCvburdi0V0CIgZbtJfDXX3hQi4GtIB5C3VmkhYZRkkFGQjfN3UHWXOxNWdcU+GCqskU\nh9ftOGrHVa6owqNZbg+DSoxNalriCQhFDmW20k1xfzkBudltZbWFG0Sbv6JeW7FpgPTw/rPYRldv\npuN2Se22PFaNxQW3oxMsLW1UD/3sY986wkORnGd6E4p9KxnwDbtkqH27OdCq5KCTtHCCga3vX4A6\nq3Xua9t2gxwH5X7jwNYC0N4Axm5q7Re9aAe62I/2fbcIyHHL6POa29JFGmDn0pSb2/rhxG1q585i\nr6ft0ynjRDY3eHi9FWRKnRxn1ExpoR1FuZvq6MpdpHaz3JVbW7lJhfAeUWw+fDYAbg8hV2iK8XJ0\nr7opdltRJQF/RbB1UNkE9QTvcp9P2Z3bGLGEka9NlkEeAD70vSeQU3CJD1851HtS7shiDjQDuxrQ\nVbZY9D9gnhbadMWeoZZ96l8Pyo2pP+3KjdSGNw9sFBikMHDNjLvVVG/t/mK65jyTdqOQmeEEA70N\nG/3/7Z1diGVHtcf/q/ZpoxgSSVBynUkwRGU+jOMMo8I8XSUQXyISR42JjGg0Dz4pebtPlysYUNnb\nlAAAH2JJREFURYT48SYSkQTioyLiwyAD4hC8YfJmQMmdhjEJ9z5FDB3ts6vWfai1Vq2qvc/p7pk5\n5/T0nAWbXbv2Pn12d+/f/q+qWrXKxjapQwoZ5hBEmZPkLGNxu2URAEgSBe2o4AALWU1UFHsiwEaW\nzjHZRxYVR8wqjCirMkZ0IeYHwSm3HVOPSdJo9+KGG8gGtWsmiFJrHH1VVvebBfJF5h+ugKRBjvir\nLSeqwbY2NjWwz4Xat69LJNlUh7cM6NymniYB2uAux1HhTqrYXUlzpAta9AG8TY1qk9SN9IhbGa6X\nHMUNN/VmtNOC92qrccVdx9nYsAlEuVmjmaQNxiGBApCmMsliqu1kCDQKdUAIncDNea9piwMaFxim\n2LZWMZUx66TqDGlLc8hKjbxXFZ8I0Aa2tL8TenShqHViUXn0ZajNw9sehxZo2Rj1sawhRktQ7HqJ\nJg+pHBM58NvzlNNFhfqaCmzSDjNf7oZQj0FuIaAObAjIBvREIPZlccVjblv3sYY7eag1yKQfd7mt\nvi9Qa7sa0pmWldvV6Rj2jazYo2OgNg4rnWYk11A5TyHAknYTS8RHVu0Mdn44QkiIHWfXO8jD3pXJ\nJOTGjatWLpGFq+bxSt/GLoocWbKqkQyDecUOAZEjJqrOLG1rOU6sHW/BotY84AZ3cNAGcbtdHvMq\np7lTcE36uDDzq6R6l7xZf7xS5GoyDDnwXfBPCJWLXZIOjrvgVa4y32nm474d7BqMMuW6J3zKk0qp\n+7SRoU5OsePEza0WwGNWbIyB3bSrB9dUPeYoSu3a2zc42AVoC0E0Vw+ljd1uUwCUVZwE3JBkyEsi\nmBLnuO3YsVs5RGM9/IyO/FCiClmV5f2YStvZhqtEufWYtW3tzkOHvTT2TY65F7CzmgeJmzXAnRtu\nwTIKuC+zU28eg/26/FdHzStuBTGNgDsG+4y6nJvMq7D2hjfHDuYB6M4FL7HgnUWbtcNaBWbZFOgo\nUMcSXZZiKEBr+7qnAcSt6w2n2lVbWiAebV/vH7CrnidXhhxL2Y1ha5QSVWOdMMgtiskFRNgYamBJ\n41vUW1PkUOoQO0mrFGShAYEbnY4bF7DF+86bm2Ciy/1VIIvSlgg0Ge6CT7akq3VHg7njAnXiHhPZ\nhwrqVAD2YHMN9G73i7JRSGlGne3D/POyPno/S5FbqH2OMgyvbZMhtJFlvhc8jsItUAvYVhaok4SM\njik2HOw+IMXU27vnbquHvSBe1w48zaH/Oiu2/6KRMsN6ueFc7+xmo1Jr6zgjGMwquRxkrDdQBpwY\nxB2SLJyXUoeYFGhYYEwJBXEPFFEek6QS3NJpzydyYMIEEoFOedpI1CAVyHAXNO+pr4sWjT7RtjlH\nSUeb4Q5IBeDUgpxKh5+1nRXcVEEcPNi8YLAdxIkacAewajnUL4ARqDWoaABvNVY9ac6ru+0B1t5w\nF4HmQkVtOIsn6MXd7tMEMeb2dR+1PDEXPPbqftcbS+cZtANtClf2Co4aeIV5Wiu4D1rJD+sOPM2x\n5U8C0SEvN45NOq7ZcSl7uHVTyKcKOIMkTzdz7hknGW8kZiTWCZel99nfCsg9qAwkGeaq54oVdZ5A\n44Rj6RgzpQ52XR4O65GYTJ0rRZfzgViSNkoUnF/GiARYzn0FBnFw13iwPewLHMguL8RGhSk40GfV\nhfIyHdSFCuhRV9u3oUc60UqnmetI0z3LMJaNUyvU2paWskFdlDrpvu9MrTmSU2xUY9SYolFvOe+B\nbjvO/LZvJoHsEWwfM5zh5RxtFiA9wWSL99lyOAG5g0Y6mZhyjHk+JlkBU1zxxMi5yN33QvGWjh6i\nPFVUH75QFLXjiI6LWpeJJH0OQEFvCRrycJd2ooXcicaxqDep6x2LF8AxK7YAnOFMleKGUI5DSqbY\n9XWpwC/1YQmKnaiFNFTqO4B/7LqmXCn2GLhtHcbccqfoHmotG9hunzpR7NJJpuode6nvVaWDlANS\n31nvN6bIyj0l8DYM8gI4nIqjAtxfA9/+3hdt7L3EigcflAIXVihAu+EuO69KTVzc8sCljiDJDztR\nsU5yIYgPbka2U7BNOSwGmCQ2uLSlTbWpqG9HWX11+CuBRL1LJ1pSqHVoTL5jIuUMaYHTXHOrS06l\nm7qqnEAICMxIUrco8ypc4Ax5eLBSaafWrm7wYoBXbFVr125Gt6v66K9BDfsgoX+SYzc+XXrAuwK5\nQJ33BWruc/s6KzZEjTEE2iZ8OJh7d70bx2av3Psmg8peZnepCx5k0kfQ2V1krrW2oa2Nreqdo0ts\nuRym3MOdmyOqXJ3OmSg9Y27+tCl1DHmqJ+UJ8DEFdCG3rztrSUd02sYmCSnUMFIpJ6foCqwGrEQO\nefaXwq1tbARMuDeQg4cZyR2XtcBDBXGqP8OSPcYp+qKsBjTYWP/M4wbeWdclhBpOr8qYDJXbj1e3\nbXDfYSZt7rE1tXRLWvaud1+gTlNR7F43HcMOwLaote4d1LWbjuFLoI0P9z3k+8IV34Nisw5tmSsu\n0V9escfa1T78UyEPCjnAYJeyOI9Tk74UyPi2HvBAOW1R7rl2HWacx6k7jogci1r74S6vwJQndVRt\nc1FqVoWnUJSdCZ0ofUCBN0OeQS3AJwe1wutfAM3LAAmBacFge1hFieFUGh5Waq4pn22vjwq2A3cA\n6xjQaFS77QlXtfaZQ/3MrRQquNOgXR2KOz5Vpc71aaqK7dxp6yzzZRp0jtXlkXb2ohX7qaeewrPP\nPosQAu6//34888wzuOWWW+qL9jKOXbngKIodVKlLue1Ay73nJIByVc4XsJ9xWYazAHSi1p20p0OK\neUlclx42cIfEqtYdOlHtGswgUWau00wAL8NeBeKJwS3DZyzDYdyjrAaqqttAO6NeXwQe/PwyKD3t\ni7ICZlHdqowGfFVmgbnU13AnCtUY9CAz6CDwZETRmzrLI46S0N9SA7uAk6jj07GUFe6kLrhT69SX\n2VytGhu0rt1cwT1tz3moaTlgb25u4qc//Slefvll3HLLLfjCF76A559/Hl/+8pfrC/cINgdZeVKP\niQRiVW8491u3jKx2noHIueplOK0Gm8QbJ3CICPIghRARQnbHQ0gI6opzQkSQ9bx0sCtK55h0oMmQ\nV+2Ka5u8M/i1Iy1ydC8C8QhkuKxaX6wCugbW3O8KYv2sd88TAsJCe8XlzgxSg3YMXITqRSCvKivb\nCwHBpf/1EGcwpxZsUrvasQG+eiE45Za0lVXOb9snBToY3No55tU5TlWxnXL7GVpTiDsOYNvVedfc\nu9y+Tq9blmLfdttt2NjYwNbWFrquw9bWFg4dOjS88CoUmyOBesCvPplziMGUOtehdsGlxzyPY7NB\nr8qsrQID2g9pUcqAp5wRNXQRISUEDggcEHVNbNYR6E7AzorbsQPUdZ51lYLrxBFVKafqKK57AqHz\nwDqoA1IFuZ6n6kVQztHgs4sEu8CYKoDtrhuQ/bH7bf3LTsrDbKB+TNopMTzAXfUisN5wV1dSA4ca\nbEsL7GLAFewKcueCG9TBtaXh2syoYC3x4ECVMaVyvWkYfbZIsO+44w48+eSTuOeee/COd7wDDz74\nIB544IHhhXsFW5RWZwm1MBegqSiyqjPg2sxU/3yJYQEBgdywFiVwSJZtJYSY48hNsROIO4SUFxoo\nj2dOdlh1jukZLgruFw/KD2p0Kh5kimf9UycI9ac4tT9lBHKWT/PwuqWBXcM7cicDYOvXkz/v/yZd\no7QbIypcg6310xGY686zrny3pDWql9zx49OhlF3vd3a/C9g5JVLuNPOKbZt3z0eAng05Fg/2K6+8\ngqeffhqbm5u4/fbb8bnPfQ7PPfccHnvssfrC/j/dwb/LNmJjcd9OkU2dq55wSEcZ1T8H7jpIJyID\npOPU0guuy9kmIgSJhgrSrg9dkjW5Zc/umJO55MOHtqvb0/oQS1u7RKbV6l4mk+T6OUhUL5Z62/lz\nCw1QqQJ4uh1/g91ubZrfFtCqnmecG62f1Dm+OdiKHD4V8CDLaJ9jwYs6B9e2ljp1uQcw68ZDqOfB\nvCuwL8g23+aC/eKLL+LMmTO48847AQAPP/wwLl68OAQb/9Ecb+/wta5Xi0mW8kHJt52QE6f3yBBH\nZHfGB63Ij6la1TngW8q5SAngRCCJA9e9TvqALrPCsk+h5AJPOTKuqE+HBEYEg3yZmrY96vtj2/Kb\niqWXuIDLDZhSnrPuGLV1VBR9sWC7b+Wxu9Lcr825wbX1bx6RXXFLJtiodFuvQ1iaYFA7yPzLhlnu\nSQJJkoR7ZihnTLncLpFhFt/tAZ42aruNGuCe3Xg0u7TQXC8WYUtYwUZxhmGkY3ZGNrX/Gr1qLthH\njhzBt7/9bbz11lt4+9vfjvPnz+NjH/vYyJW7HchGgdmgphpqXQkhUAHaXHaqVDq74uJ7u/kdDIBk\nXItl+IfhoaYMPDugWYFOSNpbLvEtAUE6yhgRAUQdchqy7PuT/WLaOhC0qEANgVkVj6lHyANfDZhj\ncDMGMFONh79+4Z1nI5AygkyeGauv777U1VvPncFscd0Gdjeot6SDvnOTnSfBMktPYR6kCA4O5ia4\nRCPJfAdY0ylWq7IAPWUHNzdQu33iBmoVpOvzv5sL9okTJ3Du3DmcPn0aIQScOnUKTzzxxMiVOym0\nt3ZQGWXhbw93oLLv4cB28ugVWxXa/X1IXh4Gt3wHMWWITbEDwAVoJCBJp5oqNhEjoQNRjj/P+w7w\nt2M99/L7kULtgS4dTy2kpnPzjq2sn22gXzjYTgkHkLbQ18csnY2zXgaqytES9buyQq9rrVV5v91Q\nFnR1jq58lwN6mCLYD1tRCQ1tYsCt17ttMxvcXODu2W3IYCcue1NsBdxDbdJ9TUbM1/aKyA/z67u7\nOBCwMbJNCHib7MfOD7YAbED2uY42EmiDQRsJQfbD41wX9NzbEmgix28r1/jPhy6hI5kgSBETksfJ\n1XUkjiFFdNTb+VLnPu/qDA8PZ1Wu4a7BHpYVtTZH+vU0ZhpA6gGtoN+hXKk5h0qBey7A+nDQfm6d\nU3H3czRKLGkKo56s84v74paXVEde5QmlXe1fCkHA571vPQPbsp+68nYqdbv+F/4bxhC+PpFne3LF\npTtcQ8BSKC55zvxvy4rmnGaq0sE1ZN2ykubaS/t6ZM+yJ9+2du17rjyHgJQSKOZECKkLktk05Bet\nTzKIMqZuHfRyzFTa0xZTDY3WylsLpId3/rn8Aqj2kBlhsl+UGZTVfqxu3rlQXhCq2DLpxufz3u2x\nZQ9th7X0JWJJBR2U2zRIbTSYW+16tXmg0mg6xBy0PQO9QBoZiEn2qtzJKXaCrTiJ5FT72uw6gb0X\nVzwUuA3qUMBWoCVkFAKIud0sXeLaNknkyrBOL6FQcoURkNQVl89EyPelHKgSExBDaQ9tMFICQpdn\nkCXKbneUPYgQKbvdHaK0LIJtgaJB3VECU44b70zxk0FqKZFnwj3cE6k6D/eL7jxroZy3VzW3/Sj8\nVCLCJH93ca89zKFJ5O/qW8hdcv8a4EaNe2ljtymBnTveQo4e+ZG3MWvfvk5lr4Ar3EnKKTVQu709\nyNdmywVbgW7hti0JbFwUmlwZAabWmmHCN0usl7HA3qqzgd30xLN9P2BrdCcgdeyyhpZmPiRazobj\niACKFhCjUW5ZoSU9sR3nhQ2IVHHdIgYodeX8eF1WaLaFD1StFz3cVaAkaG44X1dBq6mmJCsNc/sC\n0OuCxenb6huapN8BbOXUDa4vi86XzbKJVmrsoK7a26jK6GvQq4ATA9uptCl2qoHuk6i2BzrVQBc1\ncg/01duSFZtgQd/tlrqsmJaYjAvU+jsyUHIEy5Y4q3z7NzF15gKzLg5fDasFUecESkFyeDMoijve\n5bzlrj9MHAcSlSZ0FC25QKAAppj3QYEuK5TEkNU6UpQlhlSBvRp70Gecg75whtBfD1dulrEH1ZWH\n4JZypeBN2b8E8kobHmCB3UFs+zQ8rkJFOYDlc1XW0O0xoGfVFdDNHZ85Fu0Ajw5uD7XB3WzcbPYg\nX70tuY0tYCNAMsc7tRaIUwBiV8D2H2UpuBlcSPJbOKXW5spQqeFcczRuu6p0Km56YqQuASGUmWJV\n0AxMrTlE2ScBPOXJJpSQKOYUxJQQdE9dgdKBWa0ppgpsK5iM1LnPkftZizJdn9ygdGuWV3XuuLwE\nZtXlYwU7w1wAnV92n3FlS+rPAXXSwea4SlkEwNxxKpM13OSNQWbRiAZqp9Yt1Ck6oKODOqJW7L0s\nOD9uy1dsBVqjP1StEwPUiRuOsq8+q26LdnZx/g2cUuehLa3jArC1wam8EPzf0QMeGSwZP4Peoofa\nMnECdTre3G7uAlkYa/Awh5TjyqW+gnGgvsNzBe7xc0sDu1Fqg9SpcIGYmuvGz3kYbcWNVCv2butN\nvTXSzLWfZ0M9Q6l7DzrqcFAdyrJglFTgrlzwWPbJ7dntzZ3Uh3FfKLaCbbKKQiWjJlQSnbG8uajL\n4WFJVbqTFxaXj1sPOqwjDJ1CzXkaqLz8qIKV7EVIUsdjMEf5mdJzyRvZHUdkJFsRkkpoqytnhc4Q\nazkv9atQp6ocZT2xEMbAnr0F8WDGFL7d6hfi9bUxWOduMwAfbiNQJxlGG63fucycw0Z94v4hxB76\nDK1XZa1rXXD2ih15uFVQx7qcdFO1dps9nMrNPJ5mw78CV9z5wLaJYg86DbRB6zfXtlaoBWzfgaYd\njKRwyzlq+ykSSU8lDPzyEiBJCsFVfDtLG9vnx84x6MFA5pBEpbnAHVJWZambCXIQ1Q3zYMfMc1UT\n5jqbgogdQc1/v7Fzsz5bZlsFpNTAniTGu6lLEmBU19d1tpStKrFf2tbOkYPanfNrWSvctudKEMrQ\nlmtLxzQDatkqqPvimu8vxd7J1BWfoPQIyh9HH0avNsp5AMpYN+UOr07/qCid5RWc2tvNouJkHo+p\n9Ib8MzZyHUcZHosMnnBeB6sDkoGdQQ6Soy2DLa51SODAViYDmmVFkmHdEGjkEFVNRezyjCOMgwz5\n3LLANihTDXEFa/IQNyqfPNyo6g3eBmT2sFYTOOryrPM6LbJ1x9FjAHaV91unYrr6Cm5NYaSq7aPL\nPNhJoe5ruLlvADcXAPsE7D0qth+MV6UeuI9OpQNlWkMobrhBnVVbJ3xkxc6utQKeFZqtTKroM5Sb\nI4G0nd0FhKAuOctSvyWlkyVh7IJNC00CcDKo3b7TYw+tggxTbDhlBnHJPy5KDVV2Qs6YQuVnLtIV\nz7H1jXKnAmkBf4djUXRUYGc4a8gF2EgDgEevjSPXWI4xdcPRgKvnvKKjJBz0nWjV4nn67LCLAfdA\nK9QJA6VOfd4UaFVs6P7abAXDXdKF7RVbO7k0kgzIoHWi0Ao2CdyRXaZSlBlgSdznCmoB2oLwSQJQ\nUF6OGwSODJronsEbGW5MZLhLIA5dsnROoQvICwUKzF1WbFt2qCvlMk2Uq7oCsoO6AlxA1lU1vUoz\nV4oNFtVfYOcZvEKneWWn1ml3ZU6U83ULqOPHCuz4cYrDz5oyV6os+yqLKFwbHKb0o0BP4WBut9Rs\nLdAO7NQXsKv1fq7Nlgx2MwatbWI1hkzJVJjd3sBOsFVB/Jxuddsb1c4uuFNr144uY9pcOtBUuSNy\nJ1rPeUURXdhPsqtmxc6KTiHlFUiiHgvIHmKF2v0sElgh63ZBlvIxtztJnZ5jAV1X1NRz7F4Ci4Ra\n/kcsHZlFscfrqnNeofVcU6egKpQFVhrUtdel6pzfhzrV79QDjAHYA6jtGONg2zMnULOHWx62tk1d\nAe2265hpYXWuuKq0to8BF/0hG8mwWHIwi+sKedjt2HrNvWqXkFJmdm45XFvblQVqdcWz18DgrgDJ\nnSikBzSE+ljKSVfKVIh1gUBRW992RkCB2sENbvam1CgKTQ50xhLa2JC/6d72BW631xeCh7ICE3aM\nwbkd9vL5Khtopb7keJoFvvv8tMBf8adA67PKSeo83NIp5uE2qLWrfd+BvYeQUn3odEZKcm3CnEc4\n7xNJmzpA1oiVjbNqa1tStwhxs7mGW1xv0s7GKKotw2FZnfM1PGHQRoEbEaBJhsfgFrDhACZbnkiv\nkeOoypxfBEgOcFHjCmxydXo+objnQbwcKmUF2tRa/x6LMlEoBdIUeKxOAd5tXSSJ1SD5+zuwd3Ns\nQMMdj6kxHOxSdm1qS1/k3G+u6uEU2zcnHeB+q3q/5QckB7Xt7SZwY4ENFx7aDmslAizmWnzsJL4z\nhQK17bmGOxUX2x4+U2x9cCDgF3UvGS4gDwqDtB0eAe4zqNRxXmesEwXWcqjroGtVR1VqV9dJO1jV\n1YbQFHTk864MfRfqOQHb1JrlulBDvjBTFU7j5dI32pTleS/NJJhLbuVYwFRoYRCjPqdxCm2dKnYP\nAxstlBWw88+3UNu1U+RnSf8mBnjCEO52WMsB7uGuxtJuNLBLiBigkzgIxQ2nUMC2shLroFa5Ug9A\nItAMZv37OUjJ6uT6DZTONEtjQ+CJnJ9kxS5AIy/9K+Ud6+Slontf1peCbj4dszZPSDsH5UVlbrj7\nM1JwD5dMfFvotE2BtI7ocy9Kr9zNS7au8y8EuUbSYXEi6yD2UKMCeOzcjLqxhPwDYOGA9cqOCurK\nW46APcs63dJmaTmooXDrL+XeItY7184N3Rdg77aNrYrtfWjA2tM2y0Kfdo08acC2p9r9aP9gyUNk\nw1+m2hg8hAq6V2kPOkcSYCHAcjmeNMcdgAmPfne5be9C+41rgB28qtzwv7pA7BXbbJGK3cBYxd1X\n9fW5SrEb5S6KDQGGygtYFdcf6wvAH8+7vlXbSp132mj2tVH/KA3Y5W2G6iHzUFvZuw4e7n0B9h4V\nW++Z4TrMLBAbJepE9wI46ZPjnnC1gVs9/MfP3HpUKp03AmlZomC1DC1HV/YRcPoCmDjA/UOvtx5m\nbOx+Tmrq3cuhUmn/Z1402B7Gwe/XvDh32vRzzf+j+t80wI5dM7es3ESUtvHUXbPXzf9sMwd0C/XY\nA1cGxlFnbtB0p/sC7LTHa9vXOO9iA6zDbcwirK09d4uQdjzqbeQ61ncLUDroaIdy0rK0Hdv64K9p\nfsXkrg1uv5s/z8i7biHmv4ObuqvZ2pfd2EtwrLyb//OsOr+P7bW8t58/+OPs9g+y0y90bf/IsPMl\nB80WKWc3qR2oP+nB+GVuQrDXtraDbzch2Iv2VW9CO1B/0oPxy9yEYK9tbQff1mCvbW0H0NZgr21t\nB9BWAPb/LP8rr8X+98Kq72Dv9t8XVn0He7eXL6z6DvZmfGHVdzDXbkKw9zic8X8XFnIXC7UXLyz3\n+67HCNG+AXuXv8wa7LWtbW3LtpsQ7IMxnLGv7ED9SQ/GL3OdVttc29rWtipbyGqb1/heWNva1rYA\nuwld8bWt7eDbGuy1re0A2tLA/t3vfocjR47gAx/4AL73ve8t62uv2q5cuYJPfOITOH78OD70oQ/h\nRz/60apvaVcWY8TJkyfx0EMPrfpWdmVvvPEGzp49i6NHj+LYsWN44YUXVn1LO9pTTz2F48eP4/77\n78ejjz6Kf/3rX6u+paHxEqzve77vvvv48uXLvL29zSdOnOA///nPy/jqq7bXX3+dX3rpJWZm/sc/\n/sEf/OAH9/09MzP/4Ac/4EcffZQfeuihVd/KruzcuXP8s5/9jJmZp9Mpv/HGGyu+o/l2+fJlvvfe\ne/mf//wnMzN//vOf55///OcrvquhLUWx//SnP+H9738/3ve+92FjYwOPPPIIfvWrXy3jq6/a7rrr\nLnzkIx8BANx66604evQoXnvttRXf1Xz729/+ht/+9rf42te+dkN0av7973/HH/7wB3z1q18FAEwm\nE9x+++0rvqv5dtttt2FjYwNbW1vo+x5bW1s4dOjQqm9rYEsB+9VXX8Xdd99tx4cPH8arr766jK++\nLra5uYmXXnoJH//4x1d9K3PtW9/6Fr7//e8jhBuj6+Ty5ct497vfja985Ss4deoUvv71r2Nra2vV\ntzXX7rjjDjz55JO455578N73vhfvete78MADD6z6tga2lCfgRh7rfvPNN3H27Fn88Ic/xK233rrq\n25lpv/nNb/Ce97wHJ0+evCHUGgD6vselS5fwjW98A5cuXcI73/lOfPe73131bc21V155BU8//TQ2\nNzfx2muv4c0338Rzzz236tsa2FLAPnToEK5cuWLHV65cweHDh5fx1ddk0+kUn/3sZ/GlL30Jn/nM\nZ1Z9O3Pt4sWL+PWvf417770XX/ziF/H73/8e586dW/VtzbXDhw/j8OHD+OhHPwoAOHv2LC5durTi\nu5pvL774Is6cOYM777wTk8kEDz/8MC5evLjq2xrYUsA+ffo0/vrXv2JzcxPb29v45S9/iU9/+tPL\n+OqrNmbG448/jmPHjuGb3/zmqm9nR/vOd76DK1eu4PLly3j++efxyU9+Er/4xS9WfVtz7a677sLd\nd9+Nv/zlLwCA8+fP4/jx4yu+q/l25MgRvPDCC3jrrbfAzDh//jyOHTu26tsa2HXKUrrDl0wm+MlP\nfoIHH3wQMUY8/vjjOHr06DK++qrtj3/8I5599ll8+MMfxsmTJwHkYY5PfepTK76z3dmN0vz58Y9/\njMceewzb29u477778Mwzz6z6lubaiRMncO7cOZw+fRohBJw6dQpPPPHEqm9rYNccK762ta1t/9mN\n0X26trWtbU+2BnttazuAtgZ7bWs7gLYGe21rO4C2BnttazuAtgZ7bWs7gLYGe21rO4C2BnttazuA\n9v8KZL9jNOXlOgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 31 }, { "cell_type": "code", "collapsed": false, "input": [ "from ipywidgets import StaticInteract, RangeWidget, RadioWidget\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "#var = 1\n", "\n", "def f(x,var):\n", " return np.sinc(x-var)**2\n", "\n", "def plot(var):\n", " fig, ax = plt.subplots(figsize=(4, 3),subplot_kw={'axisbg':'#EEEEEE','axisbelow':True})\n", " ax.grid(color='w', linewidth=2, linestyle='solid')\n", " x = np.linspace(-2, 2, 201)\n", " ax.plot(x, f(x,var), lw=5, alpha=0.4)\n", " return fig\n", "\n", "StaticInteract(plot,var=RangeWidget(1, 10, 1))" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", " \n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " var: \n", "
\n", " " ], "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "from ipywidgets import StaticInteract, RangeWidget, RadioWidget\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "# here we define the function which depends on variables.\n", "# one can define functions with as many variables as desired\n", "\n", "var = 2\n", "\n", "def f(x,a,var):\n", " return np.sinc((x-a)/var)**2 + np.sinc((x+a)/var)**2\n", "\n", "# this is the routine which calls the function f(x,var)\n", "# and plots the variation with respect to var\n", "\n", "def plot(a):\n", " fig, ax = plt.subplots(figsize=(4, 3),\n", " subplot_kw={'axisbg':'#EEEEEE',\n", " 'axisbelow':True})\n", " ax.grid(color='w', linewidth=2, linestyle='solid')\n", " x = np.linspace(-1, 1, 201)\n", " ax.plot(x, f(x,var1,var2), lw=5, alpha=0.4)\n", " #ax.set_xlim(-200, 200)\n", " #ax.set_ylim(-0.1, 1.1)\n", " #ax.legend(loc='upper right')\n", " return fig\n", "\n", "# here we look at the function's dependence on the value of var.\n", "# we can add any number of variables var1, var2 in the same way.\n", "# the syntax in the RangeWidget is (start, end, increment)\n", "\n", "StaticInteract(plot,a=RangeWidget(0.1, 1, 0.1))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }