{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lecture 2: LSI Systems and Convolution in 1D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Warm-up question \n", "\n", "Why do we care about linear shift-invariant systems? " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "## MP 573 Lecture 2: LSI Systems and Convolution in 1D\n", "##\n", "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from IPython.display import display, Image\n", "import matplotlib.image as mpimg\n", "from os.path import dirname, join as pjoin\n", "from scipy import signal\n", "import scipy.io as sio" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Create some example systems and test linearity and shift invariance\n", "In this lecture, we will cover the properties of linearity and shift invariance. Since these properties (particularly shift-invariance) may not be intuitive at first, we will examine them for several example systems using some example inputs and constants. In the next cells, we define an input signal, a function that implements each of the systems in section 2.4 of the notes, and we will plot the output of such systems for this input. \n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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Pa5UqZLOOussdejQQfXq1cszf8WKFerbt2+RTsn68MMPNWzYMPuXqIiICDVo0EDt27dXgwYNHA8Slk78gn7JJZdowYIFQe+rrOrTp0++AeG0005Tq1atdO655+rss89WvXr18nw9Q+HWW2/VCy+8kGd51apV1aJFC7Vt21Y1atSwl2/cuFEXXnih9u7dW6z9ZmRkqHv37vrhhx/sZdWqVVOrVq3Utm1bJSQk5FlnypQpevTRRwPa/skHVecUGxurJk2aqEOHDmrbtq2SkpLyfI3T09N16aWXlqkQt2PHDm3atMkeJyYmqlatWgGvP2HCBJ177rn2ePfu3erbt6/jhij5eeKJJxzBsXLlyvroo49UuXLlgPZboUIFtWzZ0h7v379fq1atCrhuAObjGjgAZc60adPs7kLHjh01ZswYde/eXeXLl7fnbNy4UQ888IA++eQTe9m8efM0depU3XDDDQHvKyMjQ0OHDpVlWSpfvrzuv/9+DR8+XLVr17bn/P7773r11Vf11FNP2b/c/fXXX+rXr5/Wrl2r0047rbifcrG899579s0gLrzwQnt5zZo1HQ83zq2kHnT8ySef6Ouvv7bHkZGRuuuuuzRs2DCdeeaZeeYfPnxYK1eu1OzZsx23fy8p77zzjt566y3HslatWmn8+PG68MILHddMrly5UmPHjtVnn32m1NRU3X///cXa97/+9S/7e3fAgAG699571aZNGztQWZalefPm6a677tLq1avt9Z588kkNGjRIZ5xxRqH7iI+PV+/evdWjRw917NhRderUyTMnIyNDX3zxhZ588kmtWbNG0oku03XXXaf169fnGyRLS87v1127dum6666z/61Vq1Z69tln810vdzhbsmSJY9yqVaug6ihXrpw+/PBDtW3bVnv27JEk/fDDD7r//vv13HPP5bvOd999pzFjxjiWvfnmmzrrrLOC2nfr1q21dOlSe7xkyRKdc845QW0DgMHcO3sTAPJX3GvgTr6GDRtmHT9+/JTr+f1+q1+/fo51OnbsWGh9+e2rYsWK1rx58wpcLyUlxapYsaJjvcGDBxe4TmlcA3eqzy0U17jlJ/f/wRtvvBHwun6/31q3bl2Bc4L5GqSnp1txcXGO+ZdddpmVmZlZ4D4effTRfL8vgr0GTpIVGRlpvfvuuwWul56ebjVu3Nix3gMPPFDgOpZlWfPn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fnN2t4K5mUtpatu2rd544w3Hsnnz5hV7u82bN3ecypqamhpUcMnKytKsWbOKXUco/PHHH45xkyZNAl73+PHjSklJKeGK3Ne+fXvH+KeffirytrKzszVgwADH17l9+/Z69tln9fLLL+vss8+2l+/YsUMDBw50/BEnWLlr7dChQ5G3BcA8BDgAKKYpU6YEHHYsy9LkyZMdywp6jlzuOzMG0+GZNm1awHNPynlTFi+ffvm3v/3NMS6J55JFRETo8ssvdyx7/vnnA17/vffe8+zz0XJ/fwZz2u+HH36YJwCWBXXq1NEZZ5xhj3fs2KGdO3cWaVujRo1yhNxq1arZz4SrUKGCPvroI8edZ7/99tsiP07g6NGjjj8sxMbGBnwqLICygQAHAMW0Zs0avfXWWwHNfeutt7R27Vp7HBUVpZtuuumU88855xzHeMaMGQHtZ9euXUW6a2B8fLz98Z49ezx7d8zcQSn39WtFNXz4cMd48uTJ+uabbwpdLy0tTffff3+J1BAKp59+umMcaMdy7969JXLTDa+65JJLHOOidBq/+OILPf300/bY5/Pp3XffddxYpFGjRnn+cPP444/rq6++Cnp/P/zwg+OOqRdddJGiorgnHRBOCHAAUALuvvtuLViwoMA58+fP1z/+8Q/HsmuvvVa1a9c+5Trdu3d3XAe3fPnyPKcP5rZ371716tUrqNMtT2rZsqVjPHPmzKC3EYyMjAz1799fixcvDmq9J554wjHOHXSLqnPnzrrsssvssWVZuuqqqwr8OqxcuVLdunXT7t27PftA5c6dOzvG//d//1doWNmzZ4969uxZ5K6UCa688krHONjn423ZskU33HCDo8M5YsQIXXrppXnm9u7dW3fffbc99vv9uu6664K+eUruGnN/DgDKPgIcABRDXFyc4uLidPjwYf3973/X6NGj8/zCu3PnTo0ePVoXXnih42HBNWvWLPTmG3Fxcbr22msdy4YPH67Ro0dr3759juUHDhzQ22+/rTZt2mjRokWKjo5W3bp1g/p8evTokWdfw4cP17Rp0zR79mx9++239iv3jTGKwu/364MPPtC5556rFi1aaPTo0fr+++916NChfOcuWrRIV1xxhV577bU8dZaUN954w9GJPHz4sPr27avzzjtPzzzzjD7++GN9/vnneu2113TVVVepffv29m32b7/99hKroyQ1aNBAXbt2tcd+v1+XXnqpnnvuuTxd1vT0dL3++utq2bKlli5dKklq1qxZaZZbarp16+b4Gfn000/zPCfvVDIzM3XNNdc4HgDftWtXPfbYY6dc5+mnn9Z5551nj/fs2aO+ffsGdUrrJ598Yn9cpUoV9erVK+B1AZQRloGOHj1qzZkzx3r44YetSy+91GrQoIFVpUoVq1y5clZCQoLVunVra+jQodbs2bMtv9/vdrkAgpScnGxJsl9jxowpcP7kyZODml/c9XPOTUpKsj788EPL5/PZyyIiIqwzzjjDat++vdWwYUMrIiLCsY4kq1KlStbcuXMDqu/PP/+0qlevnmcbkZGRVtOmTa0OHTpYjRs3tiIjI+1/8/l81jvvvJPna5mamlrgvg4cOGDVrl07z77yeyUlJQVUf0HS09Pz3bbP57MSExOtVq1aWeeee67VsmVLq0qVKvnOHTJkSIH7CPZrYFmWtXLlSis+Pj6gr8PJ14MPPmjNnTvXsezmm28ucD+DBg1yzA/0e6Io669YscKqUKFCnrqjoqKsZs2aWR07drQaNWpkRUVFOf79wgsvtN56662gfkbGjBnjmD958uSgPq9ApaamOvaTnJwc9DYefPBBxza+/fbbgNYbNmyYY71atWpZO3fuLHS9tLQ0KyEhwbHu3XffHdA+16xZ41hv8ODBAa0HoGwxqgO3a9cuDRw4UNWrV1f37t312GOP6csvv1RqaqoOHTqkrKws7dmzR6tWrdLrr7+uHj16qGXLlkGfmgMAwbjmmmv0+uuv29eh+P1+bd68WUuXLtVvv/2W525zCQkJ+vLLLx0dkYJUr15dX375ZZ7bvmdnZ2v9+vVasmSJNm7caHcOypcvr0mTJumGG24I+nOJiYnRp59+qsTExKDXLUmWZSktLU0///yzfvzxR61evTpPVy4yMlL333+/Xn/99RLff+vWrbVo0SJ169at0LmVK1fWyy+/rHHjxuWpMfddRN3Upk0bzZgxQ5UqVXIsP378uNatW6fFixdr06ZNOn78uP1vV1xxhT755JNT3iW1LBg+fLjKlStnj3Nfq5af6dOnO7rAkZGRev/991WrVq1C161bt66mTZumiIj//Qr2/PPP6+OPPy503dy13XXXXYWuA6DsMSrApaWl6f33389zusfpp5+u9u3b64ILLlCzZs0cB8W1a9eqc+fOAR0YAaCobrnlFi1ZskQ9evQ45XVQVatW1dChQ7V+/fqAw9tJ7du314oVKzRo0CDHL5s5RURE6IorrtCqVat04403BvkZ/M8555yjdevWadKkSbrmmmvUpEkTxcbGhuRGCXFxcVq1apXGjRunrl27Ou6CeSqxsbEaNGiQVq1apaeeespxzC9JjRs31nfffaevv/5aQ4YM0VlnnWV/HapXr67k5GQ98cQT+u233+xTJ3M/8DouLi4ktRXVlVdeqWXLlqlXr14Fft1atWql9957T59++mlA/ycmq1u3rvr162ePP/roI+3Zs+eU83/55RfdeuutjmWPPfZYUD/TF198sUaNGuVYNnjwYG3atOmU62RmZuqdd96xx927d+fuk0CY8lmWRx/0k49ly5bZz23p2LGjbrzxRvXo0SPPbbb/+OMPjRs3Tq+88op9YXH58uX1888/B/XsGwDIT86AlpSUpC1btjj+fdeuXfrhhx+UmpqqI0eOKCEhQfXr11dycrIqVKhQ7P0fOnRI8+fP15YtW5Senq4KFSqoYcOG6ty5s6pXr17s7bvpZFdx06ZN2rFjhzIyMpSdna0qVaooISFBLVq0ULNmzU4ZYt32z3/+0/HogXfffVfXX3+9ewUVYM+ePfr++++1detWHTx4UBUrVlRiYqLOOeccNWzY0O3yStW6devUsmVLu1s+btw4Pfjggy5X5fTOO+84/jDz3XffBdQhBlD2GBXgVqxYoUcffVSjR49W27ZtC53/0ksvOU4v6NOnjz766KNQlgggDBQW4BC+WrRo4XhMxPr16/nDoSFuvPFGu8NVvXp1bd261XEHWDf5/X41b95c69evl3Ti0QFFeQQBgLLBqABXFB07dtSSJUskSRUqVNDevXvznP8PAMEgwCE/X331leMunjVr1tTOnTs9+2gBOG3dulVNmzbV0aNHJUnPPfec47b/bpo5c6b69u0r6cSp0suWLVObNm1crgqAW4y6Bq4orrjiCvvjo0eP8osWAKBQwf5t888//9Qtt9ziWDZkyBDCm0GSkpI0cuRIezxu3DhlZGS4WNEJWVlZjuvlhg4dSngDwlyZD3A5n+UjyRMHYwCAt91222166KGHlJaWVujcefPmqUOHDo65VapU0bBhw0JZIkLggQceUOPGjSWduEYw9wPj3fDaa69p48aNkqQaNWp4oiYA7ir5W4p5TO6OW40aNdwpBABgjPT0dL322mt64okn1LFjR3Xq1EnNmzdXfHy8oqKilJ6errVr1+rrr7/W8uXL86z/0ksvBf0QdbgvOjpav/76q9tlONx5552688473S4DgIeU6QBnWZbjpiWnn366GjRo4GJFAACTWJalH3/8UT/++GNA830+n8aNG1esxzgAAFCQMh3gpk+frs2bN9vja6+9lusRAACFqlOnjnw+X1DXwrVq1Urjx49Xz549Q1gZACDcldm7UG7fvl2tW7e2H6oaFxenzZs3q1q1agWul5mZqczMTHvs9/u1b98+xcfHE/4ASDrxIOmT6tWrp9WrV7tYDUJlx44dmjNnjpYuXaoNGzZo+/bt2r9/v44ePaqKFSvqtNNOU506ddSxY0d169ZNXbt25X0CAMo4y7J08OBB1a5dWxER7txOpEwGuMOHD6tr165aunSpveyDDz6wb8FbkLFjx+qRRx4JZXkAAAAADJaWlubatc5lLsAdP35cvXv31ueff24vu/322/Xyyy8HtH7uDtyBAwdUr149paWlKSYmpsTrBQAAAGCGjIwMJSYmav/+/Y4zckpTmboGzu/36/rrr3eEt759++qFF14IeBvR0dGKjo7OszwmJoYABwAAAMDVU+bLzHPg/H6/brzxRs2YMcNe1qdPH7333nuKjIx0sTIAAAAAKBllIsD5/X7dfPPNmjp1qr2sV69eev/99xUVVaaajAAAAADCmPEBzu/3a8iQIZoyZYq97KqrrtIHH3ygcuXKuVcYAAAAAJQwowPcyfA2efJke9lVV12lDz/8kPAGAAAAoMwxNsAR3gAAAACEGyMDnGVZecJbr169CG8AAAAAyjTjApxlWbrlllsc4a13795c8wYAAACgzDMqwFmWpWHDhuntt9+2l/Xp04fwBgAAACAsGHWP/ZkzZ+qNN96wxz6fT/v379dll10W8DbuueceXXjhhaEoDwAAAABCyqgAd/jwYcfYsizNmTMnqG3079+/JEsCAAAAgFJj1CmUAAAAABDOfJZlWW4X4WUZGRmKjY3VgQMHFBMT43Y5AAAAAFzihWxABw4AAAAADEGAAwAAAABDEOAAAAAAwBAEOAAAAAAwBAEOAAAAAAxBgAMAAAAAQxDgAAAAAMAQBDgAAAAAMAQBDgAAAAAMQYADAAAAAEMQ4AAAAADAEAQ4AAAAADAE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//xTI0aMsMeVK1dWjx49XKwIKH1uvHcQ4EpR+fLl9cgjj9jjtWvX6tZbb9Xx48fzzF2yZInjgZhdu3bVxRdfXCp1AsHo2bOnUlJSCr375d69e9WnTx/NmjXLXtalSxe+r+EZzZs313XXXWeP33rrLb355pv5zn3jjTf09ttv2+N7772XO1DCeIsWLdKwYcO0YcOGQueuXr1a3bp1c3Qb7rnnHsXHx4eyRMBz3Hjv8Flev+e4C+bPn6+LLrooz/Ls7GxH2Cpfvrx8Pp9jTlJSUoEHPr/fr6uuukqff/65vezss8/WsGHDdOaZZyojI0PffPONJk2aZD8MsFq1alq0aJHOPPPM4n5qQIk7+TNQt25d9ejRQ61bt1b9+vUVExOjY8eOaceOHZo/f75mzJihv/76y14vMTFRCxcudHSlAbf9+eefOvfcc5Wammovu/zyy9W/f3/Vrl1bv//+u2bMmOE4hrdv314pKSmqVKmSGyUDJSYlJUXdunWTdOJ3kwsuuECtWrVSrVq1VLVqVR06dEibNm3SV199pS+//NLuIkjShRdeqC+++ELly5d3q3ygQI8//rgef/zxPMuzsrIc38vR0dF55lx//fWnDGVS6b93EODykfMAFqykpCRt2bKlwDmHDx/WZZddprlz5xa6vfj4eH366afq1KlTkeoBQi33HzEC0bFjR02fPt1x4S/gFevXr9fFF19c6HUMktSqVSt98803qlGjRilUBoRWUX//GTRokF555RVVrlw5BFUBJWPs2LGOM+GCMWjQIE2ZMqXAOaX53sEplC6oVKmSvv32W02cOFF169bNd050dLQGDBigNWvWEN7gabfffrvatm2rqKioQue2b99ekydP1sKFCwlv8KymTZtq9erVuu2221SlSpV858THx+uhhx7S0qVLCW8oMxo0aKDrrrsuoFuaR0VF6YorrtCcOXM0ZcoUwhvCXmm+d9CBc5nf79eiRYu0YcMG/fnnn6patarq1q2rrl27KjY21u3ygIAdPnxYP/30k3bu3Km9e/dq79698vl8iouLU7169dShQweujYBxjhw5opSUFG3dulXp6elKSEjQGWecoS5dugT0RwvAVHv27NHPP/+s3bt3a+/evUpPT1eFChV02mmnqXHjxjrnnHN45htwCqF+7yDAAQAAAIAhOIUSAAAAAAxBgAMAAAAAQxDgAAAAAMAQBDgAAAAAMAQBDgAAAAAMQYADAAAAAEMQ4AAAAADAEAQ4AAAAADAEAQ4AAAAADEGAAwAAAABDEOAAAAAAwBAEOAAAAAAwBAEOAAAAAAxBgAMAAAAAQxDgAAAAAMAQBDgAAAAAMAQBDgAAAAAMQYADAIS99PR01a9fXz6fTz6fT82aNdPhw4cLXe/dd9+11/H5fHruuedKoVoAQDjzWZZluV0EAABuW7Rokbp06aLjx49LkgYPHqxJkyadcv6GDRt0zjnn6NChQ5KkSy65RF988YV8Pl+p1AsACE904AAAkHTeeefpscces8eTJ0/W+++/n+/czMxM9evXzw5vtWvX1jvvvEN4AwCEHB04AAD+P8uy1KNHD3399deSpKpVq2rlypU644wzHPPuuOMOvfLKK5KkiIgIffvtt+rWrVup1wsACD904AAA+P98Pp+mTp2qWrVqSZIOHjyo/v3769ixY/acTz75xA5vkjRq1CjCGwCg1NCBAwAglzlz5uiiiy6S3++XJP3zn//UxIkTtW3bNrVu3Vrp6emSpM6dOyslJUWRkZFulgsACCN04AAAyKV79+4aMWKEPX7++ef16aefasCAAXZ4q1atmqZPn054AwCUKjpwAADkIzs7W8nJyVq4cKGkE9e6nezISSdOpbzqqqtcqg4AEK7owAEAkI/IyEi9//77qlatmiQ5wtsdd9xBeAMAuIIABwDAKSQmJur+++93LGvYsKEmTJjgUkUAgHBHgAMA4BT+/PNPPf/8845lW7du1eLFi90pCAAQ9ghwAADkw7IsDRo0SH/88YdjeXZ2tq699lrt27fPpcoAAOGMAAcAQD4mTJig2bNn2+OxY8eqYsWKkqTt27dr8ODBbpUGAAhjBDgAAHJZsmSJRo0aZY9vuukmjRkzxnE65WeffaaXXnrJheoAAOGMxwgAAJBDRkaG2rRpo99++02S1LRpUy1btkyVK1eWJPXt21czZ86UJEVHR+vHH39U69at3SoXABBm6MABAJDD0KFD7fAWHR2tGTNm2OFNkt58803Vr19fkpSZman+/fvrr7/+cqNUAEAYIsABAPD/vfXWW5oxY4Y9fuaZZ3T22Wc75sTGxur9999XVFSUJGnDhg264447SrVOAED44hRKAAAk/fLLLzrnnHN0+PBhSdLll1+uzz777JTzx48fr5EjR9rjadOm6dprrw15nQCA8EaAAwCEvaNHj6pjx476+eefJUl16tTRTz/9pPj4+FOuY1mWLrroIn377beSpKpVq2rFihVq1KhRqdQMAAhPnEIJAAh7//rXv+zwFhERoWnTphUY3iTJ5/Np6tSpqlGjhiTp4MGDGjBggI4dOxbyegEA4YsOHAAAAAAYgg4cAAAAABiCAAcAAAAAhiDAAQAAAIAhCHAAAAAAYAgCHAAAAAAYggAHAAAAAIYgwAEAAACAIQhwAAAAAGAIAhwAAAAAGIIABwAAAACGIMABAAAAgCEIcAAAAABgCAIcAAAAABiCAAcAAAAAhiDAAQAAAIAhCHAAAAAAYIj/B6QjvZTUvJMIAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Simulate 1D input signal f(x)\n", "N = 1001\n", "xmax = 10\n", "x = np.linspace(-xmax,xmax,N)\n", "f = 1.0*(np.abs(x-2)<0.5) - 1.0*(np.abs(x-1)<=0.5)\n", "\n", "plt.figure(figsize=(10,5))\n", "font = {'weight' : 'normal',\n", " 'size' : 26}\n", "\n", "# Plot the input signal f(x)\n", "plt.rc('font', **font)\n", "plt.plot(x,f,'gray',linewidth=6.0)\n", "plt.axis([x[0],x[N-1],-2,2])\n", "plt.xlabel('x')\n", "plt.title('Input signal f(x)');\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Here is a function describing each of the systems in Section 2.4 of the notes\n", "def ExampleSystem(f,x,pickSystem):\n", " # ExampleSystem: simulates each of the systems described in the question within Section 2.4 of the notes\n", " \n", " # Arguments:\n", " # f: the input signal\n", " # x: the horizontal axis (x coordinates) for the input signal\n", " # pickSystem: the choice of example system (A-G)\n", " \n", " # Returns:\n", " # g: the output signal\n", " \n", " if pickSystem == 'A': \n", " g = f # Example A from the lecture notes section 2.4\n", " elif pickSystem == 'B': \n", " g = np.maximum(f,0) # Example B\n", " elif pickSystem == 'C': \n", " g = np.abs(f) # Example C\n", " elif pickSystem == 'D': \n", " g = f + 1 # Example D\n", " elif pickSystem == 'E': \n", " g = f[x==0] + 0*f # Example E\n", " elif pickSystem == 'F': \n", " h = 1.0*(np.abs(x)<=0.5) # Example F\n", " g = (x[1]-x[0])*signal.convolve(h, f, mode='same') # Example F (cont)\n", " elif pickSystem == 'G': \n", " g = np.fft.fftshift(np.fft.fft(np.fft.ifftshift(f)))/np.sqrt(len(f))\n", " # We will revisit example G (Fourier transform) in future lectures and exercises\n", " else: \n", " g = 0*f # Some default behavior\n", " return (g)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABsMAAALbCAYAAACv0P42AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAACjmElEQVR4nOzdeZRU1bk34LebZpKhERFkElQQBEUj4hCMGL0aTIiKA2CMilHjmGsSh1yNihqVOMREjYljxBnF6HVKvIkTEo0I4hBFIiogKIIIMtMMXd8fflaobqCrm+quU93Ps1atVfv03ue81Q7U5nf2PkWpVCoVAAAAAAAAUA8V57sAAAAAAAAAqC3CMAAAAAAAAOotYRgAAAAAAAD1ljAMAAAAAACAeksYBgAAAAAAQL0lDAMAAAAAAKDeEoYBAAAAAABQbwnDAAAAAAAAqLeEYQAAAAAAANRbwjAAyIPFixfHb37zmxg8eHB07tw5tthiiygqKkq/Dj/88CrPceedd6b7t27dOubPn1/7hW/CypUro0uXLumaRo8endd6AAAAqBvTpk2Lpk2bpueDzzzzTL5LiiOOOCJdz+DBg/NdDpBnRalUKpXvIgCgIXnmmWfiBz/4QSxatGijfQ477LD43//9343+fOHChdGrV69YsGBBRERceeWVceGFF+a61GobM2ZMnHjiiRERscUWW8TUqVOjW7duea4KAADy44MPPoh33303Pv7441i2bFmkUqlo1apVdO3aNfr27Rs9e/bMd4mQEwceeGA8//zzERFx0EEHxd/+9rc8VxQxffr06Nu3b6xZsyYiIh5++OE4+uij81wVkC/CMIA82H///WP8+PHp9qhRo+LSSy/NX0HUmSlTpsTee++d/jK+MVWFYaeffnrccsstERHRsWPH+PDDD6N58+a5LLVGysvLo1+/fvHuu+9GxFd34v35z3/Oc1UAAFB33n333bj11lvjkUceiblz526y7zbbbBNHHnlknHrqqbHLLrvUUYWQWw899FCMGDEi3Z4yZUp84xvfyGNF/3HGGWfEH//4x4iI6Ny5c0yfPj0Rc2eg7tkmEYAGZf2tCLt3717n1//pT3+aEYT17t07rr/++njqqafi73//e/p1+eWXb/Qc06dPjzvuuCPdPueccxLzZb64uDguuOCCdPvRRx+NV199NY8VAQBA3Zg3b14ce+yxscsuu8RNN91UZRAWEfHZZ5/FzTffHLvuumscc8wxWY3Jp5EjR2bMqV588cV8l5Qo3bt3z/j9NARr166Niy66KN0eMmRIYoKwiIhf/OIXUVJSEhERn3zySdxwww15rgjIl5J8FwAADcUHH3wQEyZMSLd32GGHmDx5crRo0aJa57n44otj7dq1ERHRtm3bOPXUU3Na5+YaMWJEXHLJJfHRRx9FRMQFF1wQL7zwQp6rAgCA2vPiiy/GsGHD4vPPP6/0s6KiomjXrl107NgxioqKYu7cufH555/H+ps1pVKpGDt2bDz77LPx8MMPx7e//e26LB9q7I477ogPPvgg3U7C9v3r69atWxx77LFx9913R0TE1VdfHaeddlq0adMmv4UBdc7KMACoIy+//HJGe+TIkdUOwqZPnx7jxo1Lt0888cRo2bJlTurLlUaNGsXpp5+ebr/44ovxyiuv5LEiAACoPU899VQMHjy4UhDWr1+/+OMf/xhz586N+fPnx1tvvRVvvvlmzJs3L+bNmxe33XZb7L777hljFixYEIMHD46nnnqqLj8C1Mi6devi6quvTrf79+8f++yzTx4r2rCzzjor/f7LL7+MP/zhD3msBsgXYRgA1JF///vfGe2dd9652uf4zW9+E+Xl5RHx1R2mSVsV9rUTTzwxmjZtmm5fd911eawGAABqx7Rp02LEiBFRVlaWPta4ceO47rrrYsqUKXHaaadFhw4dKo3beuut45RTTolJkybFDTfcEE2aNEn/bPXq1TFixIiYNm1anXwGqKlx48bFzJkz0+3TTjstf8Vswh577BH9+/dPt2+66aZYvXp1HisC8kEYBgB15Msvv8xot27dulrjFy9eHPfcc0+6PXDgwOjZs2cuSsu5rbbaKoYMGZJuP/744zFr1qw8VgQAALm1atWqGDZsWCxfvjx9rHHjxvHwww/HOeecE40aNaryHMXFxfHf//3f8cgjj2QEYsuXL4/hw4fHqlWraqV2yIWbbrop/b5Zs2YxYsSIPFazaSNHjky//+yzz+Lhhx/OXzFAXgjDAKCOrFy5MqNdXFy9P4YffvjhjHMcffTROamrtqxfX3l5edx77715rAYAAHLrqquuin/9618Zx2644YY4/PDDq32u73//+xnBQkTE22+/Hb/+9a83p0SoNdOnT8/YDv+QQw5J3Bb+6zvyyCMz5uBjxozJXzFAXpTkuwAAcuPDDz+MiRMnxpw5c6K8vDzatWsXvXv3jr333jtKSnL7v/t58+bFK6+8EjNnzoyVK1fG1ltvHd27d4/99tsvY2s8Mq3/gOyaqBgmDR06dLPOV9uGDBkSTZo0SW8/cc8998RFF12U56oAAGDzLV++PG6++eaMY9/61rc2a5u4U045Je6///546aWX0sd+//vfx/nnnx9bbLFFjc9baL788st4+eWX44MPPohly5bFVlttFV27do1BgwYlOmxJmlQqFZMmTYpp06bF3Llzo6ioKDp16hQDBgyIXr16bfb5K85PjzjiiM0+Z23q2LFj7L333ukA74UXXog5c+ZEly5d8lwZUGdSANS5QYMGpSIi/Ro1atQm+991110b7f/UU0+l9thjj4yfr/8qLS1NjRo1KrVs2bKs61t/fLdu3dLHp0yZkjrkkENSRUVFG7xW69atU6effnrqiy++qPHvYsaMGVmPzXZ8t27dNvr72dRr/c9eExX/uWX7OuGEEyqda8GCBani4uJ0nx133DGrGlauXJnafffdM87/7W9/O7V27dqsP8d1112XMb558+apt956K6ux3/rWtzLGTp06NevrAgBAUt14442VvsdPmDBhs8/7j3/8o9J5b7rppo3239RcMRvZjB81alSN5jURkXrhhRcqna/i/OxrH374YWr48OGpkpKSDZ6rWbNmqWOOOSb18ccfZ/35TjjhhCrr2dzxFeek1XnVhtWrV6euvvrqVOfOnTd63X79+qUeffTRan3Oivr165cx5tNPP82qvtNPPz1jXIcOHbIem0qlUv/85z9TjRs3zjjHbbfdltXYiy++OGPcH/7wh6yvCxQ+2yQCFKh169bFaaedFkOGDInJkydvtN/ixYvjsssui/322y/mz59f4+vddtttseeee8Zf//rXja5wWrJkSfzxj3+M3r17Z9zNyOZ75plnory8PN0+4IADshrXrFmzGDduXLRp0yZ97IUXXoiLL744q/Evv/xy/M///E/GsZtvvjn69euX1fgDDzwwo/2Xv/wlq3EAAJBkDz30UEa7d+/ese+++272eQcOHBg77bTTJq9VHz355JPRr1+/eOihh2Lt2rUb7LNq1ap48MEHo0+fPjFu3Lg6rrAwzJ49O77xjW/EL37xi/jkk0822u/tt9+OI444Ik455ZRYt25dta8zZ86cePvtt9Pt3r17R8eOHbMa+7vf/S4GDBiQbs+bNy+GDx++0X/u6/viiy9i2LBhsWbNmvSx448/Pk455ZSsrm1+Cg2bMAygQJ100klx6623pttbbLFF7LTTTrHnnnvGtttuW6n/lClTYtiwYTXaqu/hhx+O0047Lf3ltLi4OLbbbrsYMGBAbLfddlFUVJTR//PPP4/vfve7MWHChGpfiw178cUXM9rrTx6qsv3228c999yT8c/p17/+dTz11FObHDd//vxKk5If/ehHceKJJ2Z97Yp1vvDCC1mPBQCAJFq1alVMmjQp49iwYcNydv6KzwaeNGlSlJWV5ez8SfOPf/wjjjrqqFi+fHn6WNeuXWOPPfaIHj16VNr2f9myZXHMMccIxCqYM2dODBo0KN59991KP+vcuXPsscce0bt372jevHn6+B133BE/+9nPqn2t8ePHZ7SrMz9t0qRJjBs3Ltq2bZs+NmHChLjwwgs3Oa68vDyOPfbYmD17dvrYzjvvHH/84x+zvvYee+yR8dyw8ePHZ9x0CtRvnhkGUIDuu++++PDDDyMiYq+99opRo0bFgQceGE2aNEn3mT59evziF7+Ixx57LH1s/Pjxce+998bxxx+f9bWWLFkSp556aqRSqWjSpEmcf/75cfrpp0enTp3SfT799NP44x//GFdffXX6Dq3ly5fH8OHD4913340tt9xycz/yZrn//vtj5cqVERFx0EEHpY936NAh7rvvvo2OW3+SUBPf+c534u9//3u6fe2118bf/va3dPu6666LXXfdtdK49X+3X3vttdcy2tmuzPra97///Tj//PPj6quvjoiIVCoVxx9/fEyZMiW6d+9eqX95eXn84Ac/yLibcNddd630XISq7Lbbbhntip8DAAAKzauvvpp+Lu7X9tprr5ydv2KwUFZWFhMnToz99tsvZ9eojuOPPz696i3bOc3XNvWz9c+/evXqKCoqitNPPz1+/vOfxw477JD++cKFC2PMmDExatSoWLZsWUR8tVPKyJEjY/fdd8/omw+/+c1vYtGiRRER8cMf/jDmzZuX/tn688HalEql4oQTTogZM2akjxUVFcXJJ58c5557buy4447p4ytXrozHH388/ud//idmzZoVN910U2y//fbVut7mzk+7desW9957bwwZMiR9w+61114bAwcOjMMOO2yDYy6//PL4v//7v3S7VatW8ec//7laz9Nr0aJF7LDDDjF9+vSIiFi6dGlMmzYt+vTpU636gcIkDAMoQF8HYaeddlr8/ve/j0aNGlXq07Nnz/jzn/8cxxxzTMa2Gn/4wx+qFYZ9/aW+efPm8cwzz2xwAtapU6f41a9+Ff/1X/8VhxxySDp4mjt3bpxzzjnxpz/9qVqfL9cGDhy4wePNmjWL//qv/6q163bs2DFjq4iKwVv//v1j//33r/I8a9asialTp2Yc6927d7XrufLKK+PVV19N38W3aNGiOOqoo+Lll1+Opk2bZvS95JJL4rnnnku3S0tL489//nM0a9asWtfs1KlTtG7dOpYsWRIRX60a/OSTT6Jz587Vrh8AAJLgvffeq3Ssf//+OTv/HnvsUenY1KlT8xaGbb/99umwpKZzmk2ZMWNGFBcXxwMPPBDDhw+v9PO2bdvGz3/+8xg8eHAMGjQoFixYEBERK1asiFNOOSWef/75zbr+5lr/n33F+VJtzjfXd/fdd2f8HoqLi+Puu++OH/7wh5X6Nm/ePEaMGBGDBw+OAw88MKZMmRIfffRRta731ltvZbQrbu2Zje9+97tx4YUXxpVXXpk+dsIJJ8SUKVMqhXN/+9vf4le/+lXGsT/96U8ZIV+2dtppp3QYFhHxxhtvCMOggbBNIkCBOvDAA+Pmm2/eYBD2taKiorjxxhszVoxNnDgxPXmojhtvvLHKydegQYPihhtuyDh23333xdy5c6t9Pf5j9uzZGVsVtmnTJlq2bFnt8zRq1CjGjh0b22yzTfrY66+/Hj/96U8z+v3lL3+Jq666KuPYXXfdVeM7Lrt06ZLRXv9uRQAAKDRffPFFRru4uDjat2+fs/N36NAhYyu3iK9WR9VnF1xwwQaDsPX16dMnHnjggYxjL7zwwiafod1Q/O53v8to//znP99gELa+Nm3axP/+7//WaG5ZMTyrOOfL1uWXX57xHK/FixfHkUceGatWrUofmzNnThx77LEZ2xmeffbZcdRRR9Xomuan0HAJwwAK1LXXXltpgrQh7du3z9gaMCKqPVnYeeed46STTsqq78knnxx9+/ZNt9esWRN33nlnta5Hpo8//jijvaFtFLO1zTbbxEMPPZQRot5yyy3pOzxnzZoVxx13XMaz5c4999wYOnRoja9Zsd5Zs2bV+FwAAJBvFYOp1q1bV3qO8uYoKiqKVq1aZRyrGMDVJ+3atYtf/vKXWfU96KCD4pBDDsk4dsstt9RGWQXj9ddfz1ip1bJlyxg1alRWY7t27VrtZ4atW7cuPv3004xjNZ2jFhcXx4MPPpixc8ibb74ZZ511VkR89fcJw4YNy7ihd5999olrr722RtfbUK3mp9BwCMMACtBOO+0U3/jGN7Luv/vuu2e0K4YrVTnxxBOzntwVFRXFiSeemHEs39tWFLovv/wyo12TO/fWt99++1Va+XXaaafFlClT4uijj86Y3O+7774xevTozbpexXorfh4AACgkS5cuzWhv7vfzDal4zq+3Ha+PjjnmmGo9r7nijZoNfb750ksvZbSPOOKIav07ecIJJ1TrekuXLo1169ZlHNuc/wa23nrreOihh6Kk5D9P87nzzjtjzJgxce6558Y///nP9PF27drFww8/HI0bN67x9cxPoeEShgEUoOo+nLlDhw4Z7cWLF1dr/AEHHLBZ/SdNmlTpyzLZW758eUa7OhPFjTnvvPMyHky8fPny2GeffWLSpEnpY+3bt680KamJFi1aZLQrfh4AACgkFVdtLVu2LOfXqHjO1q1b5/waSbG5880ZM2bEvHnzcllSQZk4cWJGe999963W+B122CFjK/2qbGg+V91nS1c0cODAuOaaazKOnXrqqXHjjTem218/V66mWzJ+zfwUGi5hGEABqu5+9BW/7K1YsSLrsY0aNcrY9jAbffv2zdjCcdmyZTF//vxqnYPaVVRUFHfffXfGg4lXr16dft+oUaN48MEHN2tLxq+tv+Xi19cGAIBC1bZt24z2kiVLKn3n3RypVKrS6rOtttoqZ+dPmn79+lWr/5ZbblkpEKn4DKuG5JNPPsloV3f+XtMxufazn/0sjjzyyHR7/flpRMQll1xS6REQNWF+Cg2XMAygAG3uyqDqTNRat25d7S0ImjRpUunOxUWLFlXrHPxHxTBz5cqVOTlvaWlpPPLIIxu8i+/yyy+v9h2aG1MxfK34eQAAoJBUDKbKy8tzevPfvHnzory8PONYxQCuPmnXrt1mj2nI882Kn71NmzbVPseWW26Zdd8NzedWrVpV7WtuyJ/+9Kfo2bNnpePf+c534uKLL87JNcxPoeEShgGwSTX9YlhxXMU7G8lexclMLn+Xq1at2uAWlrkKwiIq11taWpqzcwMAQF3r3bt3pWOvv/56zs4/efLkSsf69OmTs/MnTU3mnOab/1FWVpbRbtKkSbXPUZ0xrVq1ikaNGmUcy9Xvf+3atZU+T0TEt7/97YzdZzaH+Sk0XMIwADappvtnVxxXcV99srfttttmtD/99NOcnHfBggUxbNiwWLNmTaWfDR8+PBYuXJiT61Sst1u3bjk5LwAA5MPee+9dKTyo+NymzbH+c3wjIpo2bRp77rlnzs6fNDWZc5pv/kcubp5csmRJ1n0bNWpUaTv9XMxRU6lUHHfccfHxxx9X+tnFF18c//znPzf7GhHmp9CQCcMA2KQlS5ZsMCzZlNWrV1f6Mr2xbRc2d3/u6jz/rFBtu+22UVJSkm4vXrx4s++8Ky8vj2OPPTbmzJmzwZ9//PHHcdxxx+Xk2QcVr7Hddttt9jkBACBfmjdvHnvssUfGsXHjxuXs/BXPNWDAgA1ubR5RP+ZTCxYs2OwxDXm+WXELzYrPEMtGdcOs9Z89HVF5zlcTV155ZfzlL3/Z4M/WrFkTw4YNq9G/KxWZn0LDJQwDYJPWrVsX77zzTrXGvPPOOxl73Ldo0SLat2+/wb4Vn39W3clGLvfmT6qSkpJKDzSeNm3aZp3z8ssvj7/97W/pdmlpaTz55JPRsmXL9LG//OUvMXr06M26zpw5czKCu/bt20fnzp0365wAAJBvw4cPz2i/99578fLLL2/2eV9++eV47733Mo4NGzZso/3rw3zqrbfeqlb/hQsXVgo0KoYzX6sPv5+q7LzzzhntKVOmVGv86tWrqz3n32233TLaFf+dra7nn38+Ro0alXHs7rvvjl122SXdnjNnTvzwhz+s9Dy96po6dWpG+xvf+MZmnQ8oHMIwAKr0/PPPV6v/Cy+8kNHec889K+0p/rWK+3PPmzcv6+vMmzcvZs2aVa3a1r8zMBernurKgAEDMtrVnTCu729/+1v86le/yjh21113xZAhQ+K2227LOH7JJZdU+udZHRXrrPg5AACgEP3oRz+qtBrpwgsv3Kw5RiqVil/+8pcZx9q2bRs/+tGPNjpmc+ZTEdXf3rHic5tyMafa3PnmdtttFx06dNhg3835/axdu7baz4Krjd9PVfbee++M9uOPP16t8U8//XSsXr26WmNyOT/99NNP45hjjskIuc4+++w4/vjj45FHHsnYAvP//u//4oorrqjxtZYtWxYfffRRut2qVasNPgMQqJ+EYQBUacyYMVl/iU+lUnHXXXdlHDvggAM22r979+4Z7epMNu67776s+35t/QctF8KWF18bNGhQRrvicwSyNWfOnDj22GMzJho///nPY+jQoRERccwxx8Tpp5+e/tm6devimGOOiblz59boehXr3H///Wt0HgAASJKWLVvGGWeckXHspZdeiltuuaXG57z99ttj/PjxGcfOPPPMjDlMRZszn5o7d261b3yrWEsu5lRjx46NlStXZt3/zjvvzGjX1nzz8ccfj2XLlmXdP6J2fj9VOfjgg2OLLbZIt6dMmRITJkzIevyNN95Y7Wvman66du3aGDFiRMYKvL333juuvfbaiIjYcccd44477sgYc9lll8Wzzz5bo+tNnjw54+829ttvv0oBJlB/+a8dgCq98847lb6Abswdd9wR7777brpdUlKyyTsZK+61P3bs2KyuM2/evPQX5OrYaqut0u8XLFiw2c/eqiuDBw/O+JL+4osvVvsca9asieHDh2fss/7Nb34zrr766ox+v/3tbzP+ucybNy9GjBgR69atq/Y1K97l+d3vfrfa5wAAgCS68MILK21nfvbZZ8f//u//VvtcTz31VPzkJz/JOLbzzjvHBRdcsMlxO+64Y7Ru3Trdfvfdd+Nf//pXVte88MILo6ysrFp1rj+fioiMVTY1tWDBgqxX+/z973+Pv/71rxnHTj311I32rzjffPTRR7NaBbVixYq45JJLsqppfbXx+6lKaWlpHHPMMRnHTjvttErP8d6QW265pUZzyy5dumRsYfj+++9X+7ljEREXXHBBRnC31VZbxcMPPxyNGzdOHxs2bFjGfxvl5eXxgx/8oEbPRjM/hYZNGAZAVn76059WeXfZSy+9FGeffXbGsWOPPTY6deq00TEHHnhgxj7ur7/+eqWt+ir64osvYujQodXeAiQiMr6wR+T2Qde1qV27dvHNb34z3X7//fdj9uzZ1TrH+eefH6+88krGOR966KEoKSnJ6Ne0adMYN25cxrYvL730UqUtW6qyfPnyjG1XevToEX369KnWOQAAIKm22GKLeOihhzJW5axZsyaGDRsWv/3tb7O6may8vDxuuummOPLIIzNCmq/PXfGZVxUVFRXF9773vYxjP/nJT2LNmjWbHDd69OgYM2ZMlfVVVHE+9cgjj1T7HBvy61//Oh5++OFN9nnvvffi2GOPzTg2aNCgTW7Fvttuu0WXLl3S7blz58all166yeusXLkyfvCDH1R6tlQ28jXfvOiiizKe/zx16tQ4+OCDY8aMGRvsX15eHjfeeGOceeaZEZH5OIFsHXbYYRnt6m53+fjjj8d1112XbhcVFcV9990XXbt2rdT3uuuuiz333DPd/vzzz2PEiBGxdu3aal3zueeey7je97///WqNBwqbMAyATWrTpk20adMmVqxYEf/1X/8Vl1xySaUt8+bOnRuXXHJJHHTQQRnbW3To0CF+85vfVHn+ihOa008/PS655JJYuHBhxvHFixfHnXfeGd/4xjfin//8ZzRt2jRjYpONwYMHV7rW6aefHvfdd18888wz8eyzz6ZfuXgAdi4dd9xxGe3HHnss67F//vOf43e/+126XVxcHA888MBGf3/du3ePu+++O2NSdM0118RTTz2V9TWfeuqpjAn98ccfn/VYAAAoBH379o0HHnggmjRpkj62Zs2a+PnPfx6777573HrrrRlbwH1twYIFcccdd8SAAQPiv//7vzO+Nzdu3DgeeOCBrG8kq7hd4/jx4+Pggw+ON954I+P4unXr4h//+Ed897vfjQsvvDAivrphrTr233//aNq0abr90ksvxX777Re///3v46mnnsqYTz377LOxaNGiKs+53XbbRXl5eRxzzDFx5plnVlpNtWjRovjtb38be+21V3z++efp482bN4/bb799k+du1KhRnHbaaRnHRo8eHaeffnqllUwrVqyIcePGRf/+/ePxxx+PoqKi2H777ausf30V55tXXnll/PCHP4wxY8bEX//610q/n1zp3r17pbn3xIkTo2/fvnHsscfGnXfeGU8//XSMGzcuLr/88ujXr1+cffbZUV5eHp07d64UbGWj4vz00UcfzXrsRx99FCNHjsw49stf/rLS7+9rTZo0iXHjxkXbtm3Tx/7xj39UuXJyfXPnzo1XX3013f72t7+9weANqMdSBWjVqlWp5557LnXxxRenvve976W22267VMuWLVONGzdOtWvXLrXbbrulTj311NQzzzyTKi8vr/V61q1bl3r88cdTI0aMSO24446pFi1apEpLS1M77bRT6qSTTko9//zztV4DUFgGDRqUioj0a9SoUZvsf9ddd1Wr/+aOX79vt27dUg8//HCqqKgofay4uDi1ww47pAYMGJDafvvtU8XFxRljIiK1xRZbpF544YWs6ps/f35q6623rnSORo0apXr37p3ac889Uz179kw1atQo/bOioqLU3XffXel3OWPGjE1ea/HixalOnTpVutaGXt26dcuq/mydcMIJGefP9vfztS+//DLVvHnz9Ph99903q3Hvv/9+qnXr1hnXvvTSS7Ma+4tf/CJj3JZbblnl7/hrRx11VMa/M9mOA4D6ZM2aNanJkyenbrrpptSPf/zj1Le+9a1Ut27dUi1atEg1atQo1apVq1T37t1Thx56aOr6669PffbZZ/kuGaiBZ599NtWuXbsNziuKiopSHTp0SO26666p3XbbLdWhQ4cNzqEiIrXVVlul/v73v1f7+iNHjtzg+Tp27JgaMGBAapdddkmVlpZm/Ozggw9O3X777dWea5511llZzac2Nufp1q1bRp9//OMfqSZNmlSaiw0YMCC14447pho3brzBueIDDzyQ1e9m5cqVqZ122mmD/1x69OiR2nPPPVO9e/euVMPll19e7TncunXrUv369cv695Nrl19+edbXjohU69atU5MnT670OSdMmJDV9b75zW+mxzRr1iy1dOnSKsesXLky9Y1vfCPjegcccEBq3bp1VY59+umnM/5uIiJSjz32WFa1/v73v88Yd/fdd2c1Dqg/CioM++yzz1LHHHNMqlWrVln/T71v376pV199tdZq+uijj1Lf+ta3qqxj6NChqc8//7zW6gAKS6GFYalUKnXbbbelSkpKsvp/b7t27aod9Lz22msbnTxWfDVp0iR11113pVKpyr/LbAKXSZMmpbp27VrldZIWhqVSqdSpp56aMXl7//33N9l/xYoVlSZjBx10UFYTjVQqlVq7dm1qv/32yxi/xx57pMrKyjY5bsGCBammTZumxxx22GHZfkQAqFcuuuiiav3FZJMmTVK//OUvq/yzFkieTz/9NDV8+PBKf1mf7evoo49OffLJJzW69vLly1OHHHJI1tc6/PDDU8uXL6/RXHPlypWpoUOHZnWdbMKwVCqVevLJJ1MtWrTI6pwtWrRIjR07tlq/nw8++CC1/fbbZ3X+4uLi1BVXXJFKpWo2h/vggw9SO++8c1bXqg33339/qkOHDlVee5dddkm9/fbbqVQqlTryyCMzfvb18ao8+OCDGeNuv/32KsecfPLJGWM6duyYmjdvXtaf78ILL8wY36ZNm9SHH35Y5bj+/funx3To0CG1atWqrK8J1A8FtU3i7Nmz48EHH4ylS5dmHO/YsWMMGDAgDjjggOjTp08UF//nY7377rux7777VmupbrbmzJkT++67b8YzdFq1ahV77rln7LnnntGqVav08cceeywOOOCArB5eCZBEp5xySrz22msxePDgje4n3qpVqzj11FNj2rRpsf/++1fr/AMGDIgpU6bECSeckPGw3PUVFxfHoYceGm+++WalLRWqY4899oipU6fGn/70pzj66KOjV69eUVpaWunZWUl0zjnnpP+cS6VSceutt26y/5lnnhlvv/12ut25c+e4//77M/6s3JRGjRrF2LFjo0OHDuljkydPjp/+9KebHDdmzJiMh3Gfe+65WV0PAOqbVCqV0W7SpEn07t079t133zjwwANjjz32yHjOy+rVq+PKK6+Mww47LOPPUiD5OnbsGGPHjo233347zjzzzNhmm22qHNOhQ4c47bTT4q233oqHH354k89b3pQtttginnjiibjxxhujY8eOG+234447xt133x2PPfZYxrPOqqNZs2bx6KOPxksvvRRnnnlm7LXXXrH11ltHs2bNanS+iIghQ4bE22+/HcOGDdvovKxZs2YxYsSImDp1agwfPrxa599hhx1i0qRJ8dOf/nSTn3v//fePf/zjH9V+XnLFa73++uvx8MMPx7HHHhs777xzbLnllhud5+baD37wg/j3v/8dt9xyS3znO9+Jbt26RdOmTaNZs2ax/fbbx7Bhw2LcuHHxxhtvpJ9x9sUXX2Sco02bNlld6+ijj47u3bun27fccssm+99zzz1xxx13pNslJSXx0EMPRfv27bP7cBFx+eWXx7e//e10+8svv4yjjz56k39mTpkyJV5//fV0+6yzzsrY7hNoGIpSFb+ZJ9jkyZPTD8Xca6+9YuTIkTF48OCM/+lGRHz22Wdx5ZVXxs0335yeeDRp0iTefvvt6NWrV05qWbduXQwYMCC9/3JRUVGMGjUqzj333GjRokVERCxfvjyuu+66uOyyy9J1HHroofH444/npAaA2rJ+2NWtW7eYOXNmxs/nzZsXr7zySsyYMSNWrlwZ7dq1i+7du8egQYM2awL0tWXLlsVLL70UM2fOjEWLFqW/tO+7776x9dZbb/b5C90xxxwTY8eOjYiILbfcMj7++OOMv0TLt3Xr1kWvXr3iww8/jIiI/fbbL8aPH5/nqgAgP371q1/Fyy+/HEOGDIl99903dtlll2jUqFFGn3Xr1sVf/vKXOP/882PatGnp47/85S/jiiuuqOuSgRx6//334913343Zs2enb+5u2bJldO3aNfr27Zuzv6daXyqViilTpsRbb70VCxYsiHXr1sU222wT/fv3j379+uX8etXVvXv3mDVrVrpd8a8mFy1aFC+//HJ88MEHsWzZsmjbtm107do19t9//4wbz2tq1apV8fLLL8f06dNj4cKF0bhx49h2221j4MCB1X4mdX2QSqWiXbt26Wd2N2vWLJYsWZJ1eHfrrbdmPJft5Zdfjm9+85u1UmtNnXjiiTFmzJiI+Cro++ijj2LLLbfMb1FAnSuoMGzKlClx+eWXxyWXXBK77757lf1vuumm+O///u90+8gjj4xHHnkkJ7Xccccdccopp6Tb11xzTZx33nkb7HvNNdfEL37xi3T7ueeeiwMOOCAndQDUhqrCMPLrgw8+iJ122inWrl0bERHXXnttolZePfDAA3Hsscem26+88krss88+eawIAArDl19+GXvttVe8//77EfHVX5jPnz8/mjdvnufKAHKnqjCMujVp0qTYc8890+299947/vnPf2Y9fu3atbHTTjvFBx98EBER3/ve9+Kpp57KeZ019fHHH0ePHj1izZo1ERFx1VVXxQUXXJDnqoB8KKhtEnfffff43//936yCsIiIn/zkJxn/M3/66adjxYoVOanlqquuSr/feeed45xzztlo33PPPTd23nnndNudfQBsjh49emTckHH99dfHypUr81jRf5SXl8fo0aPT7cMPP1wQBgBZatOmTcbWXMuWLYuJEyfmsSIA6rvrr78+o73ffvtVa3xJSUlceeWV6fbTTz+d3kkrCa6++up0ENa5c+c4++yz81wRkC8FFYbVxKGHHpp+v2rVqpysbpg8eXLMmDEj3T7jjDM2+eyV4uLiOP3009Pt8ePHx/z58ze7DgAariuuuCLatWsXERFz586N3/72t3mu6Cv33HNPvPPOOxER0bx588TUBQCFYo899shoz507N0+VAFDfPfjgg+kt+CO+2iXmpJNOqvZ5hg0blrEL1vo7ZOXT9OnT4/bbb0+3r7/++ho/Kw8ofPU+DNtqq60y2kuWLNnscz7xxBMZ7SFDhlQ5Zv0+5eXl8fTTT292HQA0XG3bto2rr7463f71r3+d9xstVq5cGRdffHG6fdFFF1V6ricAsGlf373+tdatW+epEgAKyapVq+Ib3/hGPPjgg7Fq1aoq+44ePTqOO+64jOOHHXZY7LjjjjW6/s033xxNmjSJiIi///3v8cwzz9ToPLn0P//zP+k/Vw866KAYNmxYnisC8qkk3wXUtoorwdq3b7/Z51x/qW/Xrl2ja9euVY7Zdttto0uXLjFnzpz0OU488cTNrgWAhutHP/pR/OhHP8p3GWnNmzeP2bNn57sMAChoL7zwQvp9SUlJxtb/ALApb775ZvzgBz+Ili1bxkEHHRR77LFHbL/99lFaWhplZWUxf/78mDhxYjz11FOVbqZs37593HLLLTW+du/evaOsrGxzP0JO/fnPf853CUCC1OswLJVKxSOPPJJud+zYMbbbbrvNPu/UqVPT73v27Jn1uJ49e6bDsPXPAQAAAP/+978znrsycuTI2HrrrfNYEQCFaNmyZfHYY4/FY489llX/zp07xxNPPBEdOnSo5coA8qdeb5P4wAMPxIcffphuH3vssVFUVLTZ5501a1b6/bbbbpv1uG7duqXf5+LZZQAAABSuVCoVixcvjtdeey1++ctfxh577BELFiyIiIh99tknrr/++jxXCEChaNSoUXTs2LHaY4499th47bXXYvfdd6+lygCSod6uDJszZ06cffbZ6XabNm3iggsu2OzzLl++PNatW5dx3myVlpam3y9dunSTfcvKyjKWFpeXl8fChQtjq622ykmgB5CtVCqVk+ctAlD/pFKpWLp0aXTq1CmKi+v1fXaQM/vvv3+MHz9+oz9v165dnH322XH++eenn72yKeaOQKFJpVIZbfPN3Hnvvfdi0qRJMWHChHjjjTdixowZ8emnn6b/PrN169bRtm3b6NWrVwwcODC+973vpZ/z7J8DUFuSMm+sl2HYihUr4ogjjogvvvgifezWW2+Ntm3bbva5ly1bltFu3rx51mPX71tVGDZ69Oi47LLLqlccQC34+OOPM8J8AKho9uzZ0aVLl3yXAQWvdevWcdppp8UJJ5yQVRAWYe4IFD7zzbqzcOHCWLhwYXzwwQfx9NNPx4UXXpjvkoAGJN/zxnoXhq1duzZGjBgRkyZNSh8788wzY9iwYTk5/5o1azLaJSXZ/wrX71vxPBVdcMEF8fOf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AABAvVWQYdjSpUtjwoQJ8bvf/S6OP/746Nu3b5SUlERRUVEUFRVF9+7da72GkSNHpq9XndfYsWNrvTYAAAAAAAC+UpLvAqqrV69eMX369EilUvkuBQAAAAAAgIQruDDs/fffz3cJlXTq1Cl22WWXrPp27NixlqsBAAAAAADgawUXhn2tRYsWseuuu8buu+8e/fv3j4ceeiieeeaZvNRy0EEHxZgxY/JybQAAAAAAADau4MKw++67L3bffffo1atXFBf/55FnL774Yv6KAgAAAAAAIJEKLgw79thj810CAAAAAAAABaK46i4AAAAAAABQmIRhAAAAAAAA1FvCMAAAAAAAAOotYVgOTJo0KQ455JDo1KlTNG3aNEpLS2P77bePI444Im688cZYtGhRvksEAAAAAABokIRhOTB16tR45plnYu7cubF69epYsmRJzJgxIx577LE4++yzo2vXrnH55ZfHunXr8l0qAAAAAABAg1KS7wLqg5KSkujRo0e0b98+iouL4/PPP49p06alw6/ly5fHqFGjYsKECfHUU09F06ZNqzxnWVlZlJWVpdtLliyptfoBAAAAAADqKyvDaqh169Zx6qmnxt/+9rdYtmxZvPfeezF+/Ph44YUX4p133olFixbFH/7wh+jQoUN6zLPPPhs/+tGPsjr/6NGjo7S0NP3q2rVrbX0UAAAAAACAeqsolUql8l1ELowcOTLuvvvuiIjo1q1bzJw5M78F/X/z5s2LAw44IKZOnZo+9txzz8UBBxywyXEbWhnWtWvXWLx4cbRu3brW6gUAgGwtWbIkSktLfUeFBPHfJQAASZKU76dWhtWyDh06xOOPPx5NmjRJH7v++uurHNe0adNo3bp1xgsAAAAAAIDqEYbVgR49esTw4cPT7RdeeCFj1RcAAAAAAAC1QxhWR9bfFnHFihUxe/bsPFYDAAAAAADQMAjD6kjHjh0z2gsWLMhTJQAAAAAAAA2HMKyOrFixIqPdvHnzPFUCAAAAAADQcAjD6sg777yT0d5mm23yVAkAAAAAAEDDIQyrA+Xl5fHggw+m2z169IgOHTrksSIAAAAAAICGQRhWB6655pp477330u2jjjoqj9UAAAAAAAA0HMKw/2/mzJlRVFSUfo0cOXKjfc8666y47777oqysbJPnXLNmTVx22WVx4YUXpo9tueWWcd555+WqbAAAAAAAADahJN8FVNcVV1wRV1xxRaXja9asSb+fNWtWNGvWrFKf4447Lm6//fbNruGdd96Jm2++Oc4444wYPHhw9O/fP3r16hVt2rSJ4uLimD9/frz22mvx4IMPxpw5c9LjGjduHGPHjo22bdtudg0AAAAAAABUreDCsLVr11a5IisiNthn/cAsF5YuXRrjxo2LcePGVdm3U6dOMWbMmDjooINyWgMAAADJVlZWFi+//HK8+OKLMWXKlJg6dWp8/vnnUVZWFqWlpdGlS5fYa6+9YujQoXHwwQdHUVFRvksGAIB6peDCsCQYNmxYFBUVxeTJk2PZsmWb7NutW7c4+eST48wzz4wtt9yyjioEAAAg3+bNmxc/+9nP4qmnnoqlS5dusM+CBQtiwYIF8eabb8att94affv2jTvvvDP22muvOq4WAADqr6JUKpXKdxGFat26dfHuu+/GrFmz4osvvogvvvgifWdfhw4don///rHddtvl5FpLliyJ0tLSWLx4cbRu3Ton5wQAgM3hOyps2uTJk2PAgAGVjnfs2DG6dOkSrVq1is8++yymTZsW5eXl6Z+XlJTEQw89FEcccUS1r+m/SwAAkiQp30+tDNsMjRo1in79+kW/fv3yXQoAAAAJttdee8XIkSNj8ODB0b1794yfffbZZ3HllVfGzTffHKlUKtauXRvHHHNMvP3229GrV6/8FAwAAPVIcb4LAAAAgPqouLg4DjvssHj99dfj1VdfjdNOO61SEBYRsc0228RNN90UN9xwQ/rY6tWr45e//GUdVgsAAPWXbRILRFKWEgIAwNd8R4Xc22uvveK1116LiIhmzZrFF198EVtssUXW4/13CQBAkiTl+6mVYQAAAJAQhx56aPr9qlWrYubMmfkrBgAA6glhGAAAACTEVlttldFesmRJnioBAID6oyTfBQAAAABfqbgSrH379vkpBIB6Yc2aNfGvf/0rPv3001i9enVeaykpKYltttkmdt5552ptAQyQC8IwAAAASIBUKhWPPPJIut2xY8fYbrvt8lgRAIVswYIF8eCDD8bChQvzXUqGl156KY4++ujo1q1bvksBGhDbJAIAAEACPPDAA/Hhhx+m28cee2wUFRXlsSIACtW6devi0UcfTVwQFhGxfPny+POf/xyrVq3KdylAAyIMAwAAgDybM2dOnH322el2mzZt4oILLshjRQAUsk8//TTmzp2b7zI2aunSpTF9+vR8lwE0IMIwAAAAyKMVK1bEEUccEV988UX62K233hpt27atcmxZWVksWbIk4wUA8+fPz3cJVZo3b16+SwAaEGEYAAAA5MnatWtjxIgRMWnSpPSxM888M4YNG5bV+NGjR0dpaWn61bVr19oqFYACsnbt2nyXUKVCqBGoP4RhAAAAkAfl5eVx3HHHxZNPPpk+NmzYsLjhhhuyPscFF1wQixcvTr9mz55dG6UCUGBSqVS+S6hSIdQI1B8l+S4AAAAAGpry8vIYOXJkjB07Nn3syCOPjPvvvz8aNWqU9XmaNm0aTZs2rY0SAaBWCcOAuiQMAwAAgDpUXl4eJ510Utx7773pY0OHDo0HH3wwSkpM0wHYfFUFTY0aNYoddtihVmuYPXt2rFy5cqM/F4YBdcm3bAAAAKgj5eXlcfLJJ8eYMWPSxw4//PB46KGHonHjxvkrDIAGZYsttohjjjmmVq9x9913x8yZMzf6c2EYUJc8MwwAAADqwNdB2F133ZU+dvjhh8fDDz8sCAOgThUVFdWLawBkSxgGAAAAtUwQBkBdKoRVV4VQI1B/CMMAAACgFqVSqUpB2NChQwVhANRrVa0ME4YBdUkYBgAAALUklUrFKaeckhGEHXHEEZ4RBkCtqipoSsI2icIwoC4JwwAAAKAWpFKpOO200+LOO+9MHzvyyCMFYQA0CJ4ZBiRJSb4LAAAAgPpo3Lhxcdttt6XbRUVF8eWXX8aQIUOyPsc555wTBx10UG2UB0A9ZmUYQCZhGAAAANSCFStWZLRTqVQ899xz1TrHiBEjclkSANQZYRiQJLZJBAAAAACoR6wMA8hkZRgAAADUgpEjR8bIkSPzXQYA5IUwDEgSK8MAAAAAABoQK8OAhkYYBgAAAABQjxRC0FQINQL1hzAMAAAAAICcsjIMSBJhGAAAAABAPVJV0GSbRKChEYYBAAAAAJBTwjAgSYRhAAAAAAD1SCGsDAOoS8IwAAAAAAByysowIEmEYQAAAAAA9UghrAwThgF1SRgGAAAAAEBOCcOAJBGGAQAAAAA0IEl4npcwDKhLwjAAAAAAgHokCUGTlWFAkgjDAAAAAADIKWEYkCTCMAAAAACAeqSqoKkutkkUhgFJIgwDAAAAACCnhGFAkgjDAAAAAADqkUJYGQZQl4RhAAAAAADUKSvDgLokDAMAAAAAqEcKYWWYMAyoS8IwAAAAAAByShgGJIkwDAAAAACgAbEyDGhohGEAAAAAAPVIEoImYRiQJMIwAAAAAAByShgGJIkwDAAAAACgHqkqaLJNItDQFGQYtnTp0pgwYUL87ne/i+OPPz769u0bJSUlUVRUFEVFRdG9e/c6rae8vDyeeOKJOOaYY6JXr17RsmXLaNOmTfTp0ydOPvnkeOGFF+q0HgAAAACAfBKGAUlSku8CqqtXr14xffr0xPzPcsaMGXHCCSfEhAkTKv1s8eLF8d5778Wdd94ZQ4cOjdtuuy3atWuXhyoBAAAAgIaiEFaGAdSlggvD3n///XyXkDZnzpzYd99949NPP00fa9WqVey0004REfHee+/F0qVLIyLiscceiw8++CD+8Y9/ROvWrfNSLwAAAABAXbAyDEiSgtwmMSKiRYsW8c1vfjPOOuusuOuuu2Lw4MF1ev1169bFoYcemg7CioqK4tJLL425c+fGxIkTY+LEiTF37ty49NJL0//j/9e//hXHHXdcndYJAAAAADQsSVgZVhVhGFCXCm5l2H333Re777579OrVK4qL/5Plvfjii3Vax1133RVvvPFGun311VfHeeedl9GnRYsWMWrUqGjevHn84he/iIiIJ554Ip5//vk44IAD6rReAAAAAIC6YmUYkCQFtzLs2GOPjZ122ikjCMuHq666Kv1+5513jnPOOWejfc8999zYeeed0+0rrriiVmsDAAAAABquJKwME4YBSVJwYVgSTJ48OWbMmJFun3HGGZsM54qLi+P0009Pt8ePHx/z58+v1RoBAAAAAPJFGAYkiTCsBp544omM9pAhQ6ocs36f8vLyePrpp3NeFwAAAABAEgjDgCQpuGeGJcH6zwrr2rVrdO3atcox2267bXTp0iXmzJmTPseJJ55YazUCUL+lUql44403Yvr06bFo0aK8TyLatGkT22+/fQwYMCDvWxkDAAA0dLZJBMgkDKuBqVOnpt/37Nkz63E9e/ZMh2HrnwMAqqO8vDweeOCB+PDDD/NdStr8+fPj/fffj3feeSeOP/74aNy4cb5LAgAAII+EYUCSuHW7BmbNmpV+v+2222Y9rlu3bun3M2fOzGVJADQgr776aqKCsPXNmTMnxo8fn+8yAAAAGjQrwwAyCcOqafny5bFu3bp0u02bNlmPLS0tTb9funTpJvuWlZXFkiVLMl4AEJH81cVJrw8AAIDaVxeBG0C2hGHVtGzZsox28+bNsx67ft+qwrDRo0dHaWlp+pXNc8kAaBgWLFiQ7xI2adGiRRk3jgAAAFC3krAyrCpWhgF1SRhWTWvWrMlol5Rk/9i19ftWPE9FF1xwQSxevDj9mj17dvUKBaDeKi8vz3cJVTKpAQAAaNhskwgkSfZJDhER0aJFi4z2qlWrsh67ft+K56moadOm0bRp0+oVBwAJYVIDAACQP0lYGSYMA5LEyrBqatWqVUZ7xYoVWY9dv2/F8wBAtgphwlAINQIAAFB7hGFAklgZVk0lJSVRWloaixcvjoiIuXPnZj12/b7t2rXLeW0AEBGx4447RocOHWrt/AsXLox333231s4PAABA4ROGAUkiDKuB3r17x8SJEyMiYtasWVmPW79v7969c14XAERE7LTTTrHbbrvV2vmnT59eZRhmUgMAAJA/tkkEyGSbxBro27dv+v27774bq1evrnJMWVlZTJ06Nd3u06dPrdQGALWtLiZNAAAAFDZhGJAkwrAaGDRoUPr9qlWr0qvENmXixImxatWqdHv//fevjdIAaADyfYdfNuc3qQEAAEguK8OAhkYYVgPf//73o3Hjxun2PffcU+WY9ft06NAhBg4cWCu1AUASmNQAAADkTxLmZHYVAZJEGFYDW265ZQwdOjTdvv/++2P69Okb7T99+vR44IEH0u0TTzwxiov96gEoTCY0AAAAhS0J87okBHZAwyGR+f9mzpwZRUVF6dfIkSM32f+KK66IkpKSiIhYuXJlDB8+PObPn1+p3/z582P48OGxcuXKiPgqSDv//PNzXj8ADUe+t0nMhkkNAABA/iRhTmabRCBJCi4Mu+KKK6JZs2aVXvfee2+6z6xZszbY55RTTslZHT179ozRo0en22+88UbsuuuuccUVV8T//d//xTPPPBNXXHFF7LrrrvHGG29ExFd/ANx6662x5ZZb5qwOAKhrSQjbAAAAqDnPDAMampJ8F1Bda9eujbKysir7bajPmjVrclrLueeeG/Pnz49rr702IiI+++yzuPjiizfYt6SkJH7729/G0UcfndMaAKCuZTNpMqkBAADInyTMyYRhQJIU3MqwpLnmmmvir3/9a+y2224b/HlRUVF861vfildeeSXOOuusui0OgHrJNokAAAAknTAMSJKCWxl26aWXxqWXXprz83bv3r3G/wMePHhwDB48OKZNmxavv/56zJ07N4qLi6NTp06xzz77RLdu3XJcLQDkTxLCNgAAAGrONolAQ1NwYViS9e7dO3r37p3vMgAg70xqAAAA8icJc7Jst9h3wyVQF2yTCABUi4kKAABAYUvCyjCAuiQMA4ACk+9nhmV7dx8AAAD5kYQ5mbkjkCTCMAAAAACABiQpK8OEYUBdEYYBANViQgMAAJBshTInK5Q6gcInDAOAeiYJ+7Kb0AAAACSXlWFAQyMMAwCqJQlhGwAAABuXhJBJGAYkiTAMAApIoUwUCqVOAAAAaocbKYEkEYYBQD1T2xMOExoAAIDCZptEoKERhgEA1WJCAwAAkGxJmJOZOwJJIgwDgAJSKBOFQqkTAACgIbIyDGhohGEAQLXYJhEAACDZkhAyCcOAJBGGAUA9k4SwyoQGAAAguawMAxoaYRgAFJAkTBSSELYBAACwcUmYO2ajUOoECp8wDACoFnf3AQAAFDYrw4CGRhgGAPVMElZumdAAAADkTxLmZMIwIEmEYQBAtSQhbAMAACDZzB2BJBGGAUABKZS75gqlTgAAgIbINolAQyMMAwCqxd19AAAAyZaEkEkYBiSJMAwA6pnaDqtMaAAAAAqblWFAQyMMA4ACUigThUKpEwAAoD5KwpxMGAYkiTAMAKgW2yQCAABQFWEYkCQl+S4AAMitJIRVJjQA8B9Lly6NN998M15//fWYMmVKvP766/Hvf/871q1bFxER3bp1i5kzZ+a3SADqlarmZLZJBBoaYRgAFJAkTBSSELYBQKHo1atXTJ8+PRF/hgNA0vjzEagrwjAAoFrc3QcA2Xv//ffzXQIADZCVYQCZhGEAUM8kYeWWCQ0AZGrRokXsuuuusfvuu0f//v3joYceimeeeSbfZQFArRGGAUkiDAMAqiUJYRsAFIr77rsvdt999+jVq1cUFxenj7/44ov5KwoA6oC5I5AkwjAAKCCFctdcodQJALXt2GOPzXcJADRAtkkEyFRcdRcAgP9wdx8AAABVEYYBSSIMA4B6prbDKhMaAACAZLMyDCCTbRIBoIAUykShUOoEgPpq9OjR0axZs3yXAdCglZSURIcOHWKfffaJvn375rucOpdNGHb77bfXQSVAPq1atSrfJUSElWEAQDXZJhEAAKBqa9eujU8++SQeeeSRGD9+fJ1eu1BWhgHUFWEYANQzSZhwWBkGAADwH+PHj48FCxbkuwyABss2iQBAtSQhbAMAvlJWVhZlZWXp9pIlS/JYDQAbk0qlYsaMGdGuXbs6u96mWBkGNDRWhgFAAUnCiisPQQaA5Bg9enSUlpamX127ds13SQBsxKJFi/JdQp3y7EogSYRhAFDPuPsOABqOCy64IBYvXpx+zZ49O98lAbARdXnTYBJuUGzSpEm0b98+32UARIQwDACoJivDACA5mjZtGq1bt854AZBMSZon1dVNlAceeGCdXAegKsIwACggSZo8bUqh1AkAAFBXGuI8accdd4zDDz/clolA3pXkuwAAoLDYhhEAku/www+Pli1b5rsMgAblxRdfjAULFuS7jIioOniry3ndrrvuGn369Il58+bF4sWL6+y6QDIsW7Ysfv3rX+e7DGEYANQ3SQirGuIdjwCQJDvttJMtEwHq2KRJkzYZhjXkeVLjxo2jS5cu0aVLl3yXAtSxJUuW5LuEiLBNIgAUlCRMnpIQtgEAACRNVXOlupzPJWllGEASCMMAgGrJZtKUhNAOAACgLiUpDAMgkzAMAOqZJNzhZ5IHAAA0NEkKw6wMA8gkDAMAqsWkCQAAoLIkhWEAZBKGAUABKZTJU6HUCQAAUFeStDIMoKERhgFAPVPbK7esDAOA7F1xxRXRrFmzSq9777033WfWrFkb7HPKKafksXIAqquQ5kqFVCtALpTkuwAAoLBkM2lyFyIAfGXt2rVRVlZWZb8N9VmzZk1tlARALbFNIkByFfzKsI8//jiuvPLK2HvvvaNTp07RtGnT6Nq1awwaNChuuOGG+Pzzz2vluiNHjoyioqJqv8aOHVsr9QDQMBTK5KlQ6gQAAMiVJIVhVV3LyjCgoSnoMOymm26K3r17x0UXXRQTJ06MuXPnxurVq2POnDnx0ksvxU9/+tPo3bt3PPzww/kuFQDqDZMmAMjepZdeGqlUqkavMWPG5Lt8AKohSWEYAJkKdpvEiy++OK644oqMYz169IjOnTvHJ598Eh988EFERCxcuDCGDx8ey5cvjxNPPLFWaunUqVPssssuWfXt2LFjrdQAAF9LQlhlkgcAADQ0SQrDrAwDyFSQYdijjz6aEYT16dMn7rnnnujfv3/62Ouvvx7HH398TJ06NSIifvzjH0ffvn1jzz33zHk9Bx10kDv2AKgTSQiZTJoAAAAqS1IYBkCmgtsmcc2aNXHeeeel2126dIkJEyZkBGEREf37948JEyZE586dI+Krhxafe+65dVorANRH2YRhJnkAAEBDk6QwzMowgEwFF4Y98MAD8dFHH6Xb119/fbRt23aDfdu2bRvXX399uj1hwoR46aWXar1GAMinJExqhGEAAEBDk4S5GAAbVnBh2Lhx49LvO3XqFEOHDt1k/yOOOCI6deq0wfEAAAAAAHUhSSvDABqaggrDVq5cGc8++2y6PXjw4Cgp2fRjz0pKSuI73/lOuv3EE0/UWn0AUNuSMqFJ0vYfAAAASVBI8ySr2ICGpqDCsKlTp0ZZWVm6PXDgwKzGrd/v448/joULF+a8NgBICpMaAACAuldIYRhAQ1NwYdj6evbsmdW4iv0qnmdzTZo0KQ455JDo1KlTNG3aNEpLS2P77bePI444Im688cZYtGhRTq8HAPlmkgcAAJApSfOkqq7lJkqgoSmoMGzmzJkZ7W233Tarcd26ddvkeTbX1KlT45lnnom5c+fG6tWrY8mSJTFjxox47LHH4uyzz46uXbvG5ZdfHuvWrcvpdQFoeJISMiVpkgcAAJAE5kkAybXpB24lzJIlSzLabdq0yWpcaWlpRnvp0qW5KikivnouWY8ePaJ9+/ZRXFwcn3/+eUybNi0dfi1fvjxGjRoVEyZMiKeeeiqaNm1a5TnLysoytoSs+NkBAAAAgORIUhhmZRhApoJaGbZs2bKMdvPmzbMaV7FfLsKw1q1bx6mnnhp/+9vfYtmyZfHee+/F+PHj44UXXoh33nknFi1aFH/4wx+iQ4cO6THPPvts/OhHP8rq/KNHj47S0tL0q2vXrptdMwANQ11MapI0yQMAACgE5kkA+VNQYdiaNWsy2iUl2S1sa9y48SbPUxM33nhj3HLLLXHQQQdtcKVXq1at4vTTT4+33nor+vTpkz7+wAMPxPPPP1/l+S+44IJYvHhx+jV79uzNrhmAwmfyBAAAkExJumnQyjCATAUVhrVo0SKjvWrVqqzGrVy5cpPnqU0dOnSIxx9/PJo0aZI+dv3111c5rmnTptG6deuMFwAkRZImeQAAAEkgYAJIroIKw1q2bJnRXrFiRVbjKvZr1apVzmrKRo8ePWL48OHp9gsvvJDxPDAAyCXbJAIAANS9JM2TzMkAMhVUGLb11ltntOfOnZvVuIr92rVrl7OasnXAAQek369YscK2hwAAAABQjyQpDKuKVWxAQ1NQYVjv3r0z2rNmzcpqXMV+Fc9TFzp27JjRXrBgQZ3XAEDhS8rkqZAmeQAAAHXBPAkguQoqDOvbt29Ge8qUKVmNW79fkyZNokePHjmtKxsVt2ps3rx5ndcAAAAAANSOJIVhVV3LyjCgoSmoMKxr166x/fbbp9vjx4/Patz6/fbdd99o1KhRzmuryjvvvJPR3mabbeq8BgAaBs8MAwAASB7zJID8KagwLCJi6NCh6fcvvvhifPzxx5vs//HHH2eEYUceeWSt1bYx5eXl8eCDD6bbPXr0iA4dOtR5HQAUvqRMntxFCAAAkClJNw1aGQaQqeDCsBNPPDGKi78qu7y8PH71q19tsv/ll18e5eXlERHRsmXLGDZsWK3XWNE111wT7733Xrp91FFH1XkNAFCXkhLaAQAA1JUkhWEAZCq4MKxv377xwx/+MN2+44474vbbb99g39tuuy3uvPPOdPvcc8+Ndu3abbDvzJkzo6ioKP0aOXLkRms466yz4r777ouysrJN1rpmzZq47LLL4sILL0wf23LLLeO8887b5DgA2By2SQQAAKh7SZonWRkGkKkk3wXUxLXXXhsTJkyIGTNmRETEj3/843jyySdjxIgR0alTp/j0009j7Nix8eSTT6bHDBgwIGch1DvvvBM333xznHHGGTF48ODo379/9OrVK9q0aRPFxcUxf/78eO211+LBBx+MOXPmpMc1btw4xo4dG23bts1JHQA0PEImAACAZEpSGAZApoIMw9q3bx9/+ctf4jvf+U76mWFPPvlkRvi1vn79+sVTTz0VW2yxRU7rWLp0aYwbNy7GjRtXZd9OnTrFmDFj4qCDDsppDQCQDyZ5AAAAmZK02sqcDCBTwW2T+LXevXvHv/71rzjjjDOiZcuWG+yz1VZbxUUXXRSTJk2K9u3b5+zaw4YNi/3333+j111ft27d4le/+lW88847gjAA6kQStkkEAABoaArppkFzOqChKciVYV9r3bp13HzzzXHdddfFiy++GLNmzYpFixZFu3btYocddoj99tsvSkqy+4jdu3fP+g+kM844I84444xYt25dvPvuuzFr1qz44osv4osvvoiysrIoLS2NDh06RP/+/WO77bbbnI8IAAUpSZM8AACAupCkMMyc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GjXKdXkA1IKqwrB169bFsmXL6qiajbNNIgAAAABksk1iDcycOTP9vnPnzlFcnN2vsVu3bun3ZWVlMXfu3FyXBgAAAAAAwHqsDKuBJUuWpN+3adMm63GlpaUZ7aVLl260b1lZWZSVlW3wmgDUPSuuAAAAAKAwWRlWA+tvg9W8efOsx1Xsu6kwbPTo0VFaWpp+de3atfqFApAzTZs2zXcJWSmUOgEAAACgrtQ4DJs1a1aUlJTUyuuqq67K5WfMuTVr1qTfl5Rkv7iuYt/1z1PRBRdcEIsXL06/Zs+eXf1CAciZjh075ruErBRKnQAAAABQV2q8TWIqlYp169blspa08vLyWjlvrrRo0SL9ftWqVVmPq9h3/fNU1LRpU3f3AyTILrvsEi+//HIsXLgw36VsVKtWrWL33XfPdxkAAAAAkCi2SayBli1bpt+vWLEi63EV+7Zq1SpnNQFQuxo3bhwjRoyIbbbZJt+lbFC7du3imGOOiWbNmuW7FAAAAABIlBqvDOvevXukUqlc1lIwtt566/T7uXPnZj2uYt+tttoqZzUBUPu23nrrOPnkk+PTTz+NefPm1doK6eooLi6O9u3bR+fOnau1dS8AAAAANBT+1qwGevfuHY8//nhERCxcuDCWLl2a1SqvWbNmpd9vs8020aZNm9oqEYBa0qhRo+jatWt07do136UAAAAAAFmwTWIN9O3bN6P9xhtvZDVuypQp6fd9+vTJaU0AAAAAAABUJgyrgUGDBmW0x48fX+WYVatWxcSJE9Pt/fffP9dlAQAAAAAAUIEwrAa23Xbb6N+/f7p97733Vvn8tEceeSRWrlyZbh955JG1Vh8AAAAAAABfEYbV0EknnZR+P3369HjggQc22resrCx+/etfp9t77723bRIBAAAAAADqgDBsPd27d4+ioqIoKiqK7t27b7LvySefHD169Ei3f/KTn8Rrr71Wqd/atWvj1FNPjXfffTd9bP1gDAAAAAAAgNpTku8Cquull16Kgw8+uNLxdevWZbR79eoVRUVFGce6desW//73v3NSR+PGjeOuu+6K//qv/4qysrJYtGhRDBo0KH70ox/FQQcdFK1bt473338/brnllnjrrbfS484666xKzxwDAAAAAACgdhRcGFZeXh5lZWVV9lu9enWlY9mMq45999037r///jj++ONjxYoVsWrVqvjDH/4Q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lHgBAAAAAADYvbwrhjU3vXr1il69euU6DAAAAAAAAHbCNokAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACklmIYAAAAAAAAqaUYBgAAAAAAQGophgEAAAAAAJBaimEAAAAAAACkVmGuA9hbmUwmXn755Zg1a1Y899xz8frrr8ff//73WL9+fbRv3z66dOkSQ4YMiVGjRsW5554bxcXFTRLXiy++GFOmTImZM2fG+++/H5s2bYpu3brFEUccEeeee26MHj06ioqKmiQWAAAAmod33303nn322XjllVfi9ddfj2XLlsU//vGP2LBhQ7Rp0yb233//6Nu3bxxzzDFx/vnnx+GHH57rkAEAIHUKMplMJtdB1NX3vve9mDZtWrz//vt16t+5c+eYOHFiXHjhhY0W04YNG+K73/1u/Pa3v91tvyOOOCKmTJkSgwYNqtf7rFu3Ljp27Bhr166NDh061OsaAADQkKxRYfdmzJgRX/jCF/ZqzDnnnBO/+tWvoqSkpF7v6e8SAIDmpLmsT/PqybDf/OY3sWHDhqxzHTt2jF69ekWnTp1i3bp18de//jWqqqoiIqKioiLGjRsXr732Wvz85z9v8Hi2bt0aZ555ZjzzzDPJucLCwujfv3907Ngx3n777fjggw8iImLhwoUxbNiwmDt3bgwcOLDBYwEAAKB52f6zp61atYrS0tLo1q1btGvXLjZs2BCLFy+OVatWJX0eeuihWLBgQcycOTPKysqaOmQAAEilvPzOsF69esW1114br7zySnz00Ufx8ssvx4wZM+Ivf/lLrF69Om677bZo37590v+//uu/YvLkyQ0ex1VXXZVVCBs9enQsWbIkXn311ZgzZ078/e9/jwcffDCpdlZWVsbpp58elZWVDR4LAAAAzUurVq1iyJAhcf3118esWbNi/fr1sXTp0nj22WfjqaeeimeffTY++OCDWLBgQZx22mnJuCVLlsTYsWN3KKYBAAD1k1fbJA4bNiyuvPLKOOuss6KgoGC3fV944YU48cQTY/PmzRERcdBBB8V7770XhYUN8zDcokWL4ogjjojq6uqIiDj99NPj0UcfjVatdqwvzp8/P0444YSoqamJiIgf/ehH8ZOf/GSv3q+5PEoIAACfsEaFhpPJZGLMmDHx4IMPJufmzJkTJ5xwwl5dx98lAADNSXNZn+bVk2Fz5syJ0aNH77EQFhExdOjQuOKKK5L2Bx98EHPnzm2wWG6++eakENa6dev4zW9+s9NCWETEMcccE9/4xjeS9i9+8YvYuHFjg8UCAABAfisoKIhbbrkl69yMGTNyFA0AAKRLXhXD9taXv/zlrPabb77ZINfdunVrPProo0n7rLPOiu7du+92zIQJE5Lj9evXx//93/81SCwAAACkQ1lZWRx44IFJe+XKlTmMBgAA0iPVxbDOnTtntdetW9cg1507d26sXr06aZ9++ul7HNO/f//o1atX0n7ssccaJBYAAADS45MdSCLCNocAANBAUl0MW7p0aVa7S5cuDXLdl19+Oat93HHH1Wnctv22vwYAAAAt2yuvvJL1wcu65poAAMDupboYNn369Kz2scce2yDXfeONN5Lj1q1bR3l5eZ3GHXroocnx22+/HTU1NQ0SDwAAAPlt/fr1cfnllyftfv361WkXEgAAYM9SWwxbvHhx3HfffUl7yJAh0a9fvwa59rZPnHXv3j1atarbf8aysrLkuKqqyv7vAAAALdimTZvizTffjF//+tfx2c9+NubPnx8REQcddFA8/PDDUVhYmOMIAQAgHVK5sq6uro5x48ZFVVVVcu5nP/tZg11/2+8e23///es8rmPHjlntysrKXfatqqrKin/t2rU7vDcAAOTSJ2vTTCaT40ggP1x33XVx/fXX7/LnRUVFcf7558dNN90UBx10UJ2uKXcEAKA5ay55YyqLYVdeeWXMmzcvaX/zm9+MESNGNNj1169fnxwXFxfXedz2fXdXDLvpppt2miSVlpbW+f0AAKApVFRU7PDBL2DvtGrVKsaMGROXXXZZnQthEXJHAADyQ67zxoJMPctxy5Yti4MPPrih44mIiJ/85CfxH//xH/Uae8stt8TVV1+dtIcMGRLz5s2LoqKihgovDjnkkFi8eHFERJxwwgkxZ86cOo2bMWNGfOELX0jaf/7zn3f5hcjbf7pvzZo1UVZWFsuXL/c/GmjW1q1bF6WlpbFixYro0KFDrsOBnXKfkg/cp+SDtWvXRs+ePWP16tV7tWMC5EJzyGGnTp0aU6dOjYiPPxlbWVkZ7777bvzzn//M6nfOOefEXXfdVafcT+5IPrLOIR+4T8kH7lPyQXPJG+v9ZFgmk4mampqGjCVRW1tbr3F33HFHViHssMMOiyeeeKJBC2EREe3atUuON2/eXOdx2/fd9jrbKyoq2mncHTt2NLGRFzp06OBepdlzn5IP3Kfkg7p+hy7kUnPIYceOHRtjx47d4fxrr70Wt9xyS9x///0REfHQQw/FihUrYvbs2XvMZ+WO5DPrHPKB+5R84D4lH+Q6b0xN1nrnnXfGhAkTknbfvn3jmWeeiS5dujT4e7Vv3z453rhxY53Hbd93v/32a7CYAAAAyE8DBgyI++67L375y18m555//vm4+eabcxcUAACkSL2fDCsvL8/5F5594u67745LL700iadPnz4xc+bMKCkpaZT3O/DAA5PjlStX1nnc9n07d+7cYDEBAACwa80ph92Vb3/72/H444/HjBkzIiLi9ttvjx//+MdRUFCQ48gAACC/5f2TYZMmTYqvf/3rSVJz6KGHxsyZM6Nr166N9p79+vVLjj/66KOorKys07hly5YlxyUlJXu1P2ZRUVFce+21Db7lIzQ09yr5wH1KPnCfkg/cp9DwzjvvvOT4n//8Z7zzzjt7Nd7fJfnAfUo+cJ+SD9yn5IPmcp8WZJr7R+N2Y9KkSXHJJZdkFcJmzZoV3bp1a9T3nTJlSlx44YVJe/bs2TFs2LA9jjvppJNi1qxZERExYsSI5NN+AAAAEBHxpz/9KU455ZSkPW/evDj22GNzGBEAAOS/vH0yLFeFsIiIE088Mas9e/bsPY7ZvHlzPP/880l7+PDhDR0WAAAAeW7NmjVZ7c985jO5CQQAAFIkL4th2xfC+vTp02SFsIiInj17xpAhQ5L2lClT9rj3/EMPPRSbNm1K2meffXajxQcAAEB+2vbDlq1bt46ePXvmMBoAAEiHvCuGTZ48Oes7wvr27dukhbBPXHzxxcnxO++8E/fff/8u+1ZVVcXNN9+ctI8++ujo379/o8YHAABAfnn77bfjnnvuSdojR46Mdu3a5TAiAABIh7wqht17771x8cUXR21tbUR8XAibOXNmdO3atUGuX15eHgUFBVFQUBDl5eW77XvJJZfEIYcckrSvuOKKeOGFF3boV11dHZdeemm8/vrrybltC2MAAACkz9q1a2P06NFZ2+XvzuzZs2PEiBHJjiIFBQVxzTXXNGaIAADQYhRk9rS/XzOxcuXK6NGjR1IIi4gYPHhwHHjggXW+xsknnxxXXXXVLn9eXl4ey5Yti4iIsrKyWLp06W6v9+c//zm+8IUvRFVVVUREtG3bNi666KI4+eSTo0OHDvH222/Hb37zm3j11VeTMRMmTIhf/epXdY5569atsXDhwnjppZdiwYIF8dJLL8Wrr74amzdvTvosWbJkj8W73amsrIwHH3wwpk+fHosWLYp//OMf0aFDhygtLY1TTjklLrzwwujXr1+9rw/b2vbvbG+sXLkySkpKGiEiWoLly5fHlClT4vHHH4/ly5dHRUVFdOnSJXr37h2jR4+O888/f6/+PYGGsnTp0ujVq9dej+vbt2+89dZbjRARLUllZWW88soryRpzwYIFsWjRoqipqYmIuq2H98T8S0u2Zs2a5Pu+ysvLY9SoUTFw4MDo2bNndOzYMWpra+Ojjz6K119/Pf7whz/Ec889lzX+xz/+cVx//fV1fj+5I2kibyRXrF1ojuSN5FKq8sZMnliyZEkmIj7Va9y4cbt9j7KysqRvWVlZneJ66KGHMvvuu2+d3v/888/PVFdX1/l3vuiiizJt2rTZ43WXLFlS52tub8aMGZnS0tLdXn+fffbJ/PCHP8xs3bq13u8Dn9j272xvXitXrsx16OSp2267LVNcXLzb+6tTp06ZBx98MNeh0gLVd33Tt2/fXIdOnuvTp0+moKBgt/dZXdfDu2L+paVbvXp1veb44uLizMSJE/fqveSOpI28kVywdqG5kjeSK2nLGwuDT+Xss8+OAQMGxJVXXhl//OMfk4rotg499ND48Y9/HGPHjt2ray9evDi2bNnSUKHu4E9/+lN86Utfiurq6uTcQQcdFH369Im1a9fGG2+8EdXV1VFTUxM33HBDrFixIiZPntxo8dDyHHHEEdG9e/c69S0qKmrkaEijH/3oR3HDDTdknTvkkEOie/fu8f7778e7774bEREfffRRnHvuubFhw4YYP358LkKFiIgYNmxYFBcX77FfaWlpE0RDmr399tuNen3zL0S0a9cubrzxxvjjH/8YL7zwQrL94a6UlJTEmDFj4tvf/naUlZXt1XvJHUkzeSNNwdqFfCJvpKmkLW/Mm20S88GqVatizpw58f7778fmzZuja9euccQRR8TgwYPrdb3hw4fH7Nmzo7CwMPr37x+DBw+OwYMHx4oVK+LWW29N+tVnq4ulS5fGgAEDorKyMiIiOnToEHfeeWecc8450arVx18l995778W3v/3teOSRR5JxEydOjO985zv1+n0gInu7i3vuuSe+9rWv5TYgUuuRRx6Js88+O2n3798/7r333hgyZEhybsGCBXHhhRfGG2+8ERERhYWFMW/evBg6dGiTx0vLtP12F592+yqoq4KCgoj4+H/WDxw4MAYPHhxDhgyJBx98MJ588smIqP92F+Zf2FF1dXW8/vrr8e6778b7778flZWV0apVq+jQoUOUlJTEwIED4+CDD07+NveW3JG0kTfSlKxdaO7kjeRK6vLGT/1sGY3miSeeyDz//POZTZs2ZZ2/5557PvVWFxdccEHWVhbPPvvsTvvV1NRkvvSlLyV9999//0xFRUV9fh3IZDLZ213cc889uQ6HlNqyZUumd+/eyb3Wo0ePXc5dFRUVme7duyd9TzjhhCaOlpZs++0uPs32VbA3pk6dmnnjjTcyNTU1WefHjRv3qba7MP9CbsgdSRt5I03F2oV8IG8kV9KWN7aqXwmNpnDaaafF0KFDo23btg163SVLlsT999+ftC+99NI45phjdtq3VatW8T//8z/RunXriPj4S6B//etfN2g8AA3t/vvvj7/97W9Je+LEidGpU6ed9u3UqVNMnDgxac+dOzfmzJnT6DEC5NIFF1wQhx12WPJUR0Mx/0JuyB0B6sfaBWDX0pY3Koa1QA8//HBkttkdc8KECbvt37179/jKV76StKdPn95YoQE0iG3nqW7dusVZZ5212/6jR4+Obt267XQ8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tF9//fX4xje+EdXV1Tv0feGFF+Jb3/pW0h4+fHiccsopTRIn6XPaaafFrFmzIpPJ7LZfRUVFnH322fHEE08k54YNG+beo84OP/zwGDt2bNK+66674s4779xp39/+9rdx9913J+3vfe97ccABBzR6jDB//vy47LLLYtGiRXvs+9e//jVOOumkrE9LXXXVVdG5c+fGDBH2mvkX0kXuSC7IG2lK1i40d/JG0ihXc29BZk+rC3Jmzpw5MWrUqB3O19TUZCUfbdq0iYKCgqw+ZWVlu50ka2tr4ytf+Uo8/vjjybmBAwfGZZddFn369Il169bFU089FZMmTYrNmzdHRESnTp1i/vz50adPn0/7q9FCfXKf9ujRI0499dQYNGhQlJeXR4cOHWLLli3x/vvvx5w5c2LatGmxYcOGZFxpaWnMmzcv61OpsCerVq2Ko48+OpYsWZKcO+OMM+K8886Lbt26xd///veYNm1a1jx45JFHxqxZs2LffffNRci0MLNmzYqTTjopIj7+N3jEiBExYMCAKCkpif322y/Wr18f7777bvzxj3+MP/zhD8mnoCIiTj755Pj9738fbdq0yVX45Lkbbrghbrjhhh3Ob926NeteKyoq2qHPv/zLv+wyUYkw/0IuyB1JE3kjTc3aheZM3kgupS1vVAxrxrad7PZWWVlZLF26dLd9Nm7cGKeffnrMnDlzj9fr3LlzPProo3HcccfVKx6IiB0S77o46qij4v7778/6YkWoq7feeitOOeWUPe49HBExYMCAeOqpp6JLly5NEBnU/9/5cePGxe233x7t2rVrhKhoKa677rqspz32xrhx42Ly5Mm77WP+haYldyRN5I3kgrULzZW8kVxKW95om8QWbN99942nn346Jk6cGD169Nhpn6KiohgzZkwsXLhQMsOn9q//+q8xePDgKCws3GPfI488Mu65556YN2+ehIZ669evX/z1r3+Nyy+/PNq3b7/TPp07d44f/vCH8Ze//EUyQ5Pq1atXjB07Ng455JA99i0sLIwzzzwzZsyYEZMnT5bQ0OyZfyFd5I40JXkjuWDtQnMlbyTNmnru9WQYEfHx1hfz58+PRYsWxapVq2K//faLHj16xPDhw6Njx465Do+U2bhxY7z66quxcuXKqKioiIqKiigoKIj9998/evbsGUOHDrWfMQ1u06ZNMWvWrFi2bFms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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Now let's run our signal through our system \n", "g = ExampleSystem(f,x,'D')\n", "\n", "# Plot the input and output signals\n", "plt.figure(figsize=(20,10))\n", "plt.subplot(1,2,1)\n", "plt.rc('font', **font)\n", "plt.plot(x,f,'gray',linewidth=6.0)\n", "plt.axis([x[0],x[N-1],-2,2])\n", "plt.xlabel('x')\n", "plt.title('Input f(x)')\n", "plt.subplot(1,2,2)\n", "plt.rc('font', **font)\n", "plt.plot(x,np.real(g),'gray',linewidth=6.0)\n", "plt.axis([x[0],x[N-1],-3,3])\n", "plt.title('Output g(x)')\n", "plt.xlabel('x')\n", "plt.tight_layout(pad=4.0)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Set up an example to check linearity and shift invariance\n", "\n", "In the next cell, we create two signals f1 and f2. Additionally, we set some values for scaling constants a1=1, a2=2 (which we will use in our linearity check), and shift of x0=4 (which we will use in our shift invariance check). Finally, we plot f1 and f2. \n", "\n", "These signals and constants will be used in the subsequent cells. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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J0DxEoYBUNQ6deqUNq6qqsraudevX7/TnXNt27aNT33qU1l7jR3rraioyNq5AQAAmrMf/OAHcd1116VtO+OMM+KOO+5o0Kwo/SdA8RKGAVDU+vTpkzZ+//33s3LeBQsWxDnnnLPT9g0bNsSXvvSltC8ybowd6+3bt29WzgsAANCcTZw4Ma655pq0bePGjYt77rknSksb9pGo/hOgeAnDAChq++67b9p42bJljT7nhg0b4pRTTok1a9bs8uezZs2Kiy66qNGv8+GHH6Ytq9G6devo0aNHo88LAADQnF111VVx1VVXpW075ZRT4v77748WLVo0+Lz6T4DiJQwDoKj17ds3bamKVatWxcqVKxt1zgsuuCBef/311LhPnz7x2GOPpTVNt956azz44IONep158+aljYcPH97gOxQBAACIuPrqq2PixIlp2774xS/Ggw8+GGVlZY06t/4ToHj5iwdAUSspKYl/+7d/S9s2Z86cBp/vzjvvjLvvvjs1btWqVfz617+OsWPHxg9/+MO0fc8999ydGor62LHOQw45pMHnAgAAaO4mTZoUl19+edq2E088MX79619Hy5YtG31+/SdA8RKGAVD0Ro0alTZ+9dVXG3Sev/71r/HNb34zbdtPfvKT+OQnPxkREf/1X/8Vn//851M/W7duXZxyyimxbt26Br3ejnUeddRRDToPAABAc3f99dfH97///bRtn//85+PRRx/NShD2L/pPgOIkDAOg6H3uc59LG0+bNq3e56isrIxTTjklNm7cmNp26qmnpjUnJSUlce+996Z9yfCbb74Z5513Xv2Ljojnn38+9bysrCyOOeaYBp0HAACgObvxxhvju9/9btq2E044IR577LFo1apVVl9L/wlQnIRhABS9T3ziE9G7d+/U+E9/+lNUV1fX6xxf+9rX4p133kmN999//7jzzjt32q9z584xZcqUtIbqgQceiFtvvbVer7dgwYJYsmRJanzUUUdFRUVFvc4BAADQ3P3yl7+M73znO2nbjjvuuHjiiSeidevWWX89/SdAcWrct0YCwG4sX7483njjjV3+bMd1zjdu3BjPPPPMLvdt27ZtHH744Xt8rZKSkvjKV74SkyZNioiI9evXxx/+8Ic46aSTMqr1pz/9aTz++ONpr/noo49Gx44dd7n/wQcfHD/96U/T7tq76KKL4pBDDokRI0Zk9Jrbv15ExJlnnpnRcQAAAGxz3333xbe+9a20bb169YoJEybE9OnT632+oUOHRvfu3fe4j/4ToDgVZRhWXV0dL730UkybNi1ee+21mDdvXqxcuTKqq6ujoqIievXqFZ/85CdjzJgxceyxx0ZJSUlO66mpqYnf/OY38dBDD8Vrr70W7733XpSVlUWPHj3iU5/6VJxxxhnxmc98Jqc1ABSaP/zhD3H22WdntO8//vGP3S7R0Ldv31i0aFGd5xg/fnyqGYmImDJlSkbNyEsvvRT/9V//lbbtlltuiY9//ON7PG7ChAnxpz/9KR555JGI2PbfplNOOSVee+216NSpU52v++ijj6aed+zYMcaOHVvnMQBA09N/AhSuZ599Nmpra9O2LVu2LE488cQGnW/y5Mkxfvz4OvfTfwIUodoi8sEHH9R++ctfru3YsWNtRGT0GDp0aO3LL7+cs5refffd2iOPPLLOOsaMGVO7cuXKnNUBkG3PP/982t+xs846q17HT548OeO/1Xt69O3bN+PXPO6441LHtWvXrvajjz7a4/4rVqyo7dmzZ9rrnXPOORm/XlVVVe2gQYPSjj/ppJNqa2pq9njc3/72t7Rjvv3tb2f8mgBA09B/AjSdhvafZ511Vlb6zn89Jk+enHHN+k+A4lJU3xm2dOnSeOihh6Kqqipte/fu3ePggw+Oo48+OoYMGRKlpf/3tt5444044ogjdpoOnA3Lli2LI444Im3adceOHeOQQw6JQw45JG168xNPPBFHH310rFmzJut1ALDNpZdemnq+fv36uO+++3a7b01NTZx++unx3nvvpbYdeOCB8ctf/jLj1+vQoUM8+uij0a5du9S2qVOnxvXXX7/H42677bbU8xYtWsRFF12U8WsCAE1D/wnAnug/AYpLSW3tDnOJC9jMmTPj4IMPjoiIT37ykzF+/Pg4/vjjo1+/fmn7ffDBB3HNNdfEzTffnJoq3apVq3j99ddj0KBBWall69atcfDBB8fs2bMjYtt6wRMnToxLLrkk2rdvHxER69ati5/85Cdx5ZVXpuo46aST4sknn8xKDQDs7LDDDouXX345IiIGDRoU8+bNS/uQKt8qKyujb9++UVlZGRHb1mq/55578lwVALAj/ScAddF/AhSPwvnrnIHS0tL4whe+ELNmzYqXX345vvGNb+zUiERE7LPPPvGLX/wifv7zn6e2bdq0Kf77v/87a7VMnjw51YhERPz4xz+OiRMnphqRiIj27dvHxIkT40c/+lFq29SpU+O5557LWh0ApNt+3fa33norJ3dmN8bNN9+cakRatWoVV111VZ4rAgB2Rf8JQF30nwDFo6hmhjXEJz/5yXjllVciIqJNmzaxatWqtOnEDbXvvvvGwoULIyJi2LBhMWfOnN3e+VFTUxMHHnhgzJ07NyIiPvOZz2hIAHLoc5/7XPz+97+PiIhPfOITMWvWrJx/mX0m1q1bF/3794+VK1dGRMRFF10UN954Y56rAgCyRf8J0PzoPwGKQ1HNDGuIk046KfV848aNsWjRokafc+bMmalGJCLiggsu2OMU6NLS0jj//PNT4xdeeCFWrFjR6DoA2LWf//zn0bp164iImD17djz00EN5rmib66+/PtWI7LPPPnHllVfmuSIAIJv0nwDNj/4ToDgkPgzbe++908bZ+ALhqVOnpo1Hjx5d5zHb71NTUxO//e1vG10HALs2cODA+O53v5saf//734+NGzfmsaJt3yfyk5/8JDX+6U9/GuXl5XmsCADINv0nQPOj/wQoDokPw3a8E69r166NPuf2a7X37t07evfuXecxffr0iV69eu3yHABk31VXXRW1tbVRW1sbixYtijZt2uS1nn322SfWrl2bqun000/Paz0AQPbpPwGaJ/0nQOFLdBhWW1sbjz76aGrcvXv36N+/f6PPO2/evNTzgQMHZnzc9vtufw4AAACKm/4TAAAKV6LDsAcffDDeeeed1PiMM87IyhdYLl68OPW8T58+GR/Xt2/f1PNsrB0PAABAYdB/AgBA4SrLdwG5smzZsvj2t7+dGnfq1Ckuu+yyRp933bp1sXXr1rTzZqqioiL1vKqqao/7VldXR3V1dWpcU1MTH374Yey9995ZaagAAGi+amtro6qqKnr06BGlpYm+Pw6ahP4TAAB2rVD6z0SGYevXr4+xY8fGqlWrUttuu+226Ny5c6PPvXbt2rRx27ZtMz52+33rakYmTZoUV155Zf2KAwCAeli6dGna9woB9af/BACAuuW7/0xcGLZly5Y47bTT4tVXX01tu/DCC+PUU0/Nyvk3b96cNi4ry/yfcPt9dzzPji677LL4zne+kxpXVlZGnz59YunSpVFeXp7xawIAwI7WrFkTvXv3jo4dO+a7FChq+k8AANizQuk/ExWG1dTUxFe/+tV46qmnUttOPfXU+PnPf56112jfvn3aeOPGjRkfu/2+O55nR61bt47WrVvvtL28vFwzAgBAVlj+DBpO/wkAAJnLd/+ZmC8IqKmpifHjx8fDDz+c2nbyySfHAw88EC1atMja6+yYXq5fvz7jY7ffN98pKAAAAA2j/wQAgOKSiDCspqYmzjnnnLjvvvtS28aMGRMPPfRQvZaRyERZWVnaFxEvX74842O337dLly5ZrQsAAIDc038CAEDxKfowrKamJr7+9a/H3Xffndr2xS9+MR555JFo2bJlTl5z8ODBqeeLFy/O+Ljt993+HAAAABQ+/ScAABSnog7D/tWITJ48ObXti1/8Yvz617/OWSMSETF06NDU8zfeeCM2bdpU5zHV1dUxb9681HjIkCE5qQ0AAIDs038CAEDxKtowLF+NSETEqFGjUs83btwYM2bMqPOYGTNmpH2B8VFHHZWL0gAAAMgy/ScAABS3ogzDamtrd2pExowZ0ySNSETEiSeemPY69957b53HbL9Pt27d4vDDD89JbQAAAGSP/hMAAIpf0YVhtbW18R//8R9pjcjYsWNzukb7jvbaa68YM2ZMavzAAw/EggULdrv/ggUL4sEHH0yNzz777CgtLbp/egAAgGZF/wkAAMlQVFfEtbW18Y1vfCPuuuuu1LaTTz45K43IokWLoqSkJPUYP378Hve/+uqro6ysLCIiNmzYEOPGjYsVK1bstN+KFSti3LhxsWHDhojY1sh897vfbVStAAAA5Jb+EwAAkqMs3wXUx5QpU+L2229PjUtKSuKjjz6K0aNHZ3yOiy++OI455phG1zJw4MCYNGlSXHrppRERMXv27DjwwAPjwgsvjIMPPjhqa2tj5syZcfPNN8cHH3yQqve2226Lvfbaq9GvDwAAQO7oPwEAIDmKKgxbv3592ri2tjaeffbZep3jtNNOy1o9l1xySaxYsSKuv/76iIj44IMP4vLLL9/lvmVlZXHjjTfGl770pay9PgAAALmh/wQAgOQoqmUSC9F1110Xv//97+Oggw7a5c9LSkriyCOPjD//+c8xYcKEpi0OAACAxNB/AgBAw5TU1tbW5ruIpJg/f37MmjUrli9fHqWlpdGjR4847LDDom/fvo0+95o1a6KioiIqKyujvLw8C9UCANBcubaE4qf/BACgGBTK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8fDDD8eqVati8eLF8dJLL8UzzzwTs2bNio8++iieeuqpGDFiROqYJUuWxAknnJBRDZMmTYqKiorUo3fv3lmpGwAAgD3Tf+o/AQBIlgaHYYsXL46ysrKcPK699tqdXm/z5s1p4+3XYa/L9vvueJ6G+spXvhJTp06NcePGRefOnXf6ecuWLWP06NHxl7/8Jb785S+ntr/11ltx/fXX13n+yy67LCorK1OPpUuXZqVuAACAYqP/1H8CJEGhzAyzTCLQHDU4DKutrY2tW7fm5FFTU7PT67Vv3z5tvHHjxoxr3X7fHc+Ta61atYq77747Bg8enNp20003xZYtW/Z4XOvWraO8vDztAQAA0BzpPzOj/wQofpZJBMiNolkmsUOHDmnjf62Hnont9+3YsWPWaspUq1at4tJLL02NKysr4+WXX27yOgAAAKib/hOAXDDjCiB/Ml/rYQf9+vVr0jsVPvaxj6WNly9fnvGx2+/bpUuXrNVUH0cffXTaeP78+XHEEUfkpRYAAIBiov+sH/0nQPEyMwwgN4pmZtigQYOitPT/yl28eHFGx1VVVcXq1atT4+2Xi2hK3bt3Txv/85//zEsdAAAA7Jn+E4BcKJaZYcVSJ0B9FE0Y1rZt2+jXr19q/Nprr2V03I77DRkyJJtlZWzHZTXatm2blzoAAADYM/0nALmQScjUFDPDzD4DmqOiCcMiIkaNGpV6PmPGjKiurq7zmBdeeCH1vH379nHwwQfnpLa6zJ07N228zz775KUOAAAA6qb/BCAfBFUAuVFUYdjYsWNTz9evXx+PPvroHvevra2N+++/PzX+3Oc+F23atMlZfXuyfR0REYcffnhe6gAAAKBu+k8Asq1Ylh8sljoB6qOowrBjjz02evfunRpPmjQpNm3atNv9H3jggViwYEFqfM455+S0vt2ZPn16/OpXv0qNDz300OjVq1deagEAAKBu+k8A8sHMMIDcKKowrFWrVnHllVemxm+88Uace+65sWXLlp32feWVV+Jb3/pWanzUUUfFcccdt8fz9+vXL0pKSqKkpCRtffgd3XLLLXHttddm9CXEjz32WJx44olpNV577bV1HgcAAED+6D8ByLZCmXElcAOao7J8F1BfZ511VjzxxBPx1FNPRUTEPffcE3/961/jG9/4Ruy///6xZs2a+N///d/41a9+FRs3boyIiM6dO8dt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LSIiNm/enHpeVpb5P+GO+25/nh1ddtll8Z3vfCc1/uijj6Jv376xZMkSH1hQMNasWRO9e/eOpUuXRnl5eb7LgYjwe0lh8ntJoamsrIw+ffpE586d810KZET/uY3+k+bM9RSFyO8lhcbvJIWoUPrPBodhtbW1OfsC3pqamgYdd8stt8R//dd/pcYHHHBA/O53v4vWrVtnq7SIiGjfvn3q+caNGzM+bsd9tz/Pjlq3br3LuisqKvwho+CUl5f7vaTg+L2kEPm9pNBk+t1DkG/6z230n+B6isLk95JC43eSQpTv/jMx3e8dd9wREyZMSI0HDRoUzz33XHTt2jXrr9WhQ4fU8/Xr12d83I77duzYMWs1AQAA0DT0nwAAUFwaPDOsX79+ef/Cs3+566674rzzzkvVs//++8fzzz8f++yzT05e72Mf+1jq+fLlyzM+bsd9995776zVBAAAkFT6z230nwAA0DBFPzPsV7/6VfzHf/xHqhEZOHBgPP/889G9e/ecvebgwYNTzz/88MM9fhHx9hYvXpx6vs8++0SnTp0yfs3WrVvHxIkTs77kBjSG30sKkd9LCpHfSwqN30loGP0n5I/fSwqR30sKjd9JClGh/F6W1BbK7XUN8Ktf/Sq+/vWvpzUi06ZNix49euT0de+7774488wzU+MXXnghPv3pT9d53Gc+85mYNm1aREQcffTR8eyzz+aqRAAAALJI/wkAAMWraGeG5asRiYgYNWpU2viFF16o85iNGzfGjBkzUuOjjjoq22UBAACQA/pPAAAobkUZhu3YiOy///5N1ohERPTp0ydGjhyZGt933311rl//6KOPxoYNG1Ljk08+OWf1AQAAkB36TwAAKH5FF4bdfffdaWu0Dxo0qEkbkX8555xzUs8XLFgQDz744G73ra6ujh/96Eep8aGHHhpDhgzJaX0AAAA0jv4TAACSoajCsHvvvTfOOeecqKmpiYhtjUg2v6y4X79+UVJSEiUlJdGvX7897vv1r389BgwYkBp/85vfjFdeeWWn/bZs2RLnnXdevPHGG6lt2zcmAAAAFB79JwAAJEdJbV3rKxSI5cuXR69evVKNSETEiBEj4mMf+1jG5zjmmGPi4osv3u3P+/XrF4sXL46IiL59+8aiRYv2eL4//elP8e///u9RXV0dERFt2rSJr33ta3HMMcdEeXl5vP3223Hr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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's now simulate two signals f1 and f2, and let's assume scaling constants a1=1, a2=2, and shift of x0=4\n", "f1 = 1.0*(np.abs(x)<1)\n", "f2 = 1.0*(np.abs(x-2)<0.5) - 1.0*(np.abs(x-1)<=0.5)\n", "a1 = 0.5\n", "a2 = 1\n", "x0=4\n", "\n", "# Plot f1 and f2\n", "plt.figure(figsize=(20,10))\n", "plt.subplot(1,2,1)\n", "plt.rc('font', **font)\n", "plt.plot(x,f1,'gray',linewidth=6.0)\n", "plt.axis([x[0],x[N-1],-2,2])\n", "plt.xlabel('x')\n", "plt.title('f1(x)')\n", "plt.subplot(1,2,2)\n", "plt.rc('font', **font)\n", "plt.plot(x,f2,'gray',linewidth=6.0)\n", "plt.axis([x[0],x[N-1],-2,2])\n", "plt.title('f2(x)')\n", "plt.xlabel('x')\n", "plt.tight_layout(pad=4.0)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Q1: check linearity using our example signals and constants, for the systems in section 2.4 \n", "\n", "Instructions: Run the following cell using each value of 'pickSystem' between 'A' and 'G', and look at the plots for the following two signals:\n", "* $g_3(x)$ (the output to $f_3(x) = a_1 f_1(x) + a_2 f_2(x)$), \n", "* $a_1 g_1(x) + a_2 g_2(x)$ (where $g_1(x)$ and $g_2(x)$ are the outputs for inputs $f_1(x)$ and $f_2(x)$, respectively). \n", "Also, check the norm of the difference between these two signals (to check for equality). \n", "\n", "Do each of the systems in section 2.4 satisfy the property $g_3(x) = a_1 g_1(x) + a_2 g_2(x)$ for our specific examples of $f_1(x)$, $f_2(x)$, $a_1$, $a_2$?\n", "\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Norm of the difference: ||g3 - (a1*g1+a2*g2)|| = 5.000000\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABsMAAALbCAYAAACv0P42AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAACHBklEQVR4nOzdd5RU9f0//tfCAlKXJhZEsCKgWMCugD0mNpTYY4ktiUZNbLHFEhV7bPlasHdjizUmagQVK9hRLChFRRCRDkvZ+/vDn/NhYGFnGzNz9/E4Z8/Ze+e+730ty8zOa573vm9JkiRJAAAAAAAAQAo1yncBAAAAAAAAUF+EYQAAAAAAAKSWMAwAAAAAAIDUEoYBAAAAAACQWsIwAAAAAAAAUksYBgAAAAAAQGoJwwAAAAAAAEgtYRgAAAAAAACpJQwDAAAAAAAgtYRhAHnUv3//KCkpiZKSkjjwwAPzXU48+eSTmXqaN28eX375Zb5Lgnp37rnnZv7fd+vWLcrLy/Naz8SJE6NVq1aZmh544IG81gMAAA3Nbbfdlnk/3qZNm5g8eXJe65k7d26sscYamZoGDx6c13oAilFJkiRJvosA0uHOO++MI488MiIivLRU7a677oojjjgiIiKaNm0ao0ePjrXWWiu/RUXEgAEDYtiwYRER8atf/SqefvrpPFdU3CZMmBCjRo2KcePGxbRp0yIiol27drHaaqvFFltsEausskqdHm/s2LGZ/0cvvfRSDBgwoE73X9/mzp0bn3zySXzyyScxZcqUmDVrVrRq1SratWsXvXr1io033jhKS0vr7Hiff/55bLTRRpkA7L777ouDDz64zvZfU+eff35ccMEFERGx2mqrxejRo6NNmzZ5rgoAAFa8H3/8MT799NOYMGFCfPfddzF79uyoqKiINm3aRMeOHWOjjTaKDTbYIBo3blwnx5s6dWp07949pkyZEhERF198cZx11ll1su/aWPwzlxYtWsTHH38cXbt2zXNVAMVDGAYp9dVXX8WIESNi5MiRma8ff/xxqW26detWZ8cs5jBs9uzZ8d5772X+rUaMGBGjR4+OioqKzDaHH3543HnnnXVyvJkzZ8a6666bObvspJNOimuuuaZO9l1bb731Vmy55ZaZ5SeffDL23HPPPFZUXH744Yd48skn47///W+89NJLMWnSpOVu36NHjzj22GPjt7/9bZ2EHcUWhiVJEm+88UY89dRT8b///S9GjBgRixYtWub2zZs3j4EDB8YJJ5wQW2+9da2Pv/vuu8dzzz0XERGbbrppjBw5MkpKSmq939qaPXt2rLXWWvH9999HRMSf//znuOqqq/JcFQAA1L+vv/467r///hg+fHiMGDEivv322yrHtGnTJn7961/H8ccfH5tuummtjv/73/8+brrppoj46cS0MWPGRPPmzWu1z7pQUVERvXv3jlGjRkVExL777huPPvponqsCKB7CMEiRf/zjH/Gvf/2r0uCrMg09DBs7dmycd955lQZflanLMOy8886LCy+8MCIimjVrFl9++WWsvvrqdbLvurDLLrvECy+8EBERvXr1ig8++CAaNTKzblUGDRoUTzzxRCxcuLDaYzt37hy33npr/OIXv6hVDcUUhr3wwgtx5JFHxtdff12j8UceeWRcc801NQ4Rhw4dGjvssENm+ZFHHon99tuvRvuqDxdffHGcc845EfHT68Snn37qzE8AAFLv3nvvjd/85jc1GtuoUaM47rjj4uqrr46VVlqp2uM///zz6NmzZ6anu/LKK+OUU06pUS314b777otDDz00s/z666/HVlttlceKAIqHTzYhRR5++OF44YUXcgrCaqq282TPnTs3Zs2aVUfV1M7YsWPj7rvvjo8//rjKIKwuff/99/H3v/89s3z44YcXVBAWEXH22Wdnvh81alTcc889eaymeLz66quVBmElJSWx6qqrxkYbbRR9+/aNzp07L7XNN998E7/85S9zClynTp263KuncvHzFUf59MUXXywzCGvRokWsvfbascUWW0TPnj0rbWTvuOOOGDBgQGb6yeo688wzM99vsMEGMXDgwBrtp76ccMIJmaCvvLw8zj///PwWBAAAeVRWVhY9evSILbbYIjbddNPo0qXLUttUVFTEjTfeGL/85S9j9uzZ1T7Gueeem+np2rdvH8cdd1yt665LBx54YKy99tqZ5cV7GgCWTxgGDUSrVq1qvY85c+ZEnz59YtCgQTW6kuOZZ56JXr16xV//+tda11LfGjVqVG/TIFx77bUxc+bMzPIf//jHejlObQwYMCA23HDDzPIll1xSFFf7FZI2bdrE0UcfHY899lhMnjw5Jk6cGB988EG8/fbb8fXXX8dXX30Vp512WjRp0iQzJkmSOOqoo2Lo0KHL3fdRRx0Vffr0iddff73adX3yyScxYMCA2H333Qvud9q3b9+4+uqrY+TIkTFz5swYM2ZMvPnmmzFq1KiYNm1aPPHEE7HJJptkjXn33XdrdDXXCy+8EG+88UZm+fjjjy+4qx/Lysqyzoi99957Y/z48XmsCAAAVoySkpLYaqut4uyzz45nn302vvvuu5g2bVp8/PHH8eabb8Y777wT48ePjylTpsQtt9yy1AwKL730Upx++unVOubnn38eDz/8cGb5yCOPrJPPUupS48aN4/e//31meejQofHaa6/lsSKA4lFYn/oAdWLllVeOXXfdNc4888x4+OGHY8yYMfHhhx/Wer/XXHNNfP311/Hoo49Gjx494qqrrsppOrgJEybEfvvtF3vssUd89dVXccMNN8S4ceNqXU9dKS0tjY022iiOOOKIuO666+LVV1+NGTNmxP7771/nx5ozZ07ceOONmeVtt902K3QqJIufAffZZ5/FU089VW/HGjBgQJSUlERJSUlBT+uXi3XXXTduv/32+O6772LIkCExcODA6Nix41LbdevWLS6//PIYNmxYtG7dOrO+oqIijj/++GVe+fXaa6/Fv/71r3j//fdj2223jWOPPTamTp1aZV1z5syJs846KzbeeOMYNmxYjBw5Mh588MGa/6B1pLS0NI488sj46KOP4u23344//elPsdlmmy0VTDVr1iz22muvePPNN+Pggw/Oeux///tfPPDAA9U67pVXXpn5vkWLFjWehqW+/e53v8t8v3DhwoK5tyAAANSXHXfcMb777rt4/fXX46KLLordd989VllllUq37dChQxxzzDHx0UcfRf/+/bMeu/HGG+OLL77I+bhXXXVVZtaYkpKSgrsq7GdHHnlkNGvWLLO8eG8DwLIJwyBFLrvsshg/fnxMnjw5/vOf/8Qll1wSgwYNyrqEvjZOPPHE+Otf/xotW7aMWbNmxamnnhqbbbbZMs9CWrhwYVx11VXRo0ePeOyxxyIiomfPnvHYY48VxH1vevXqFW+88UbMnDkzPvjgg7jjjjvij3/8Y2y77bbRsmXLejnmfffdlxVc/HyPtUJ0yCGHZF21dN111+WxmuJw4403xujRo+PII4/M+crCrbfeOm699dasdR9//HG8+uqrlW6/1VZbxV133RVrrrlmJEkSQ4YMie7du8edd965zCu9nn766ejVq1cMHjw4FixYEB06dIi///3veb8/1pZbbhmjR4+O22+/PXr16pXTmKZNm8Zdd90VvXv3zlp/yy235Hzczz77LP7zn/9klvfdd98oKyvLefyKtOGGG0afPn0yy7feemvMmTMnjxUBAED9Wn311aNTp07VGtOqVat44IEHsnr5JEnin//8Z07jp0+fHnfffXdmedttt4311luvWjWsKB06dIg99tgjs/zEE08U1AnHAIVKGAYpsuWWW1Y6Z3ZdadWqVVxwwQXxxRdfxLHHHhuNGzeODz/8MLbbbrs4+uij44cffshsO3z48Nhss83i1FNPjdmzZ8fqq68et9xyS3zwwQdZb9ryaeWVV44tt9yyRjfVranF7wdVWloa++yzzwo7dnW1a9cudtppp8zy//73P1O0VWHgwIHRuHHjao/bf//9o3v37lnrnn322Uq3bdSoURx22GHx6aefxmWXXRZt27aNKVOmxJFHHhn9+/ePUaNGZbYdP358DBw4MPbcc88YO3ZsNG/ePM4444wYM2ZMnHzyydG0adNq11qXNt1001hnnXWqPa60tHSpufFfeeWVrOlHl+euu+7KWv71r39d7RpWpMXrmzlzZubkAgAA4P+sttpqsdtuu2WtW7w/Wp5//vOfMXfu3MxyMfUIFRUV7vMNkIPSfBcADdHUqVNj1KhR8fnnn8ePP/4Y8+bNi7Kysmjfvn307t07evXqFSUlJfkuc5lWXXXVuPnmm+NPf/pTnHHGGfHkk0/GbbfdllXz9ttvH0mSROvWreO0006LU045JVq0aFHtYy1cuDBee+21+OKLL2LSpEnRpEmT6NKlS2y11VYFcXVZdYwZMybrKrr+/ftHhw4d8lhR1fbdd9947rnnIuKns+ruvffeOOuss/JcVe3NnTs3Pvnkkxg9enR8//33MWvWrGjZsmW0a9cu1l133ejbt2/WtBMrwoABA+LTTz/NLI8dO3a526+00kpx+umnx9FHHx0XXXRR/OMf/4hXXnkl64qyI444IpIkiUaNGsVvfvObuOiii2KNNdaoUX0ffvhhfPDBBzFx4sRYtGhRrLLKKrHpppvGxhtvXKP91daS02kuWrQovv766+jRo0eVY++9997M9y1atFiqYS40++67b/zlL3/JLN99991x6KGH5rEiAAD4yRdffBEjRoyIiRMnxrx586Jjx47Ru3fv2HzzzfNyT94lr+b6/vvvcxq3ZJg0cODAOqupPuyxxx7RtGnTmD9/fkT81COcc845ea4KoMAlQL1btGhRMmzYsOSPf/xj0qtXr6SkpCSJiGV+tW3bNjnhhBOSr776qs5q+Oqrr5Y6Tl3t/+WXX0623HLLrH2XlpYmf/jDH5JJkybVaJ8zZ85MTj/99KRDhw7L/HfabrvtkqFDh2bG9O/fv05/vsMPPzxrf4cffnit9nf11Vdn7e+SSy7Jadyrr76alJaWZo297bbbcj7uvHnzkr59+2aN79evX7JgwYIqx44ZMyZr3BZbbJHzcatj8d9d//796+UYH3/8cXLBBRck2267bdKkSZPlPgebNWuW7L333snw4cPrpZbK/OUvf8mqYdddd63W+C+//DI58MADl3p92W233ZL333+/RjVVVFQkQ4YMSdZdd91l/lutvfbayZAhQ5KKiookSZLkvPPOy3r8jjvuqNGxqzJv3rylannttdeqHPfOO+/U6N95ypQpSZcuXbLGHnbYYdWq+YQTTsgav/LKKydff/11TmPXXHPNzLgmTZok06dPr9axAQCgLj3++OPJxhtvvMw+YdVVV00uu+yyZP78+UmSJMkdd9yR9fh5551XL3WddNJJWcf59a9/XeWYKVOmJI0aNcqMWX/99XM61ty5c5PNNtss63g77LBDsnDhwpzrvfLKK7PGN2/ePOf+bfvtt88a+/HHH+d8XICGyDSJsAIce+yx0b9//7j++utj1KhRy7yvz8+mTZsWN9xwQ/To0SNrWr1CVdlVbCUlJdGoUaMaXeH2wQcfRM+ePePyyy/PmnpxSa+++mrssMMOccEFF1T7GPmw5LR3O+64Y07jtt1227j88suz1p1wwgnx/vvv5zT+5JNPjhEjRmSWV1lllXjwwQejtLTqi4PXXnvt6NatW2Z5xIgRMXny5JyOW0juvffe6NmzZ5x33nkxfPjwWLBgwXK3Ly8vjyeeeCK23XbbOPHEE6vcvi58/fXXWcsrr7xytcb//JyrbH1NnofTp0+PAQMGxDHHHLPcm05/+eWXccwxx8Ree+21Qu9lteS/V0Ru/2Y1fR526NAhHn744aypJe++++6c71X2z3/+M2644YbMcqNGjeL++++Pzp075zR+8ToXLFgQzz//fE7jAACgLs2fPz/233//GDhw4HJ70u+++y7OOOOM2G677XK+OqsuvP7661nLm2++eZVjnnvuuaioqMgs59ojrLTSSvHwww9H27ZtM+teeumlOPfcc3MaP3z48KwZICIi/vGPfyx1f+RlWfy2BhHLnmofgJ8Iw2AFmDdv3lLrWrZsGeuvv3706dMnNt9881hnnXWWutfQvHnz4sgjj4whQ4asqFKr5dNPP42BAwfG9ttvH2+++WbWB+4LFy6MG264IdZdd9245JJLsubeXp4PPvggdtxxx5gwYULW+pKSkujWrVtsvvnmsd5660WTJk0i4qep+84///y4+uqr6+4HqwcLFy6M4cOHZ5ZLS0tjk002yXn8n/70p9hvv/0yy3Pnzo1BgwbF9OnTlzvuvvvui5tuuimz3Lhx43jwwQdjtdVWy/nYizcPFRUV8fLLL+c8tlBU9hwsLS2NtddeOzbZZJPYcssto0ePHpXeP+7666+PI444ol7rq+zfdcl7iC3Ljz/+GKeeempssMEGcf/992c9VlJSEs8991xssskmcdRRR8U333yT0z5nzJgRO+20U6W/606dOsVmm20WvXr1itatW2fWP/3003HQQQdVGfbXlaFDh2YtN2/ePKd7Ji45Lpfm+GdbbrllXHnllVnrTjzxxHjnnXeWO2706NFx1FFHZa07//zzY+edd8752EvW+dJLL+U8FgAA6sLChQtjn332iYcffnipx9q3bx8bb7xx9O7dO9q1a5dZ/9Zbb8WvfvWrKC8vr/f6nn322Xjrrbcyy02bNo1DDjmkynG16RHWXnvtuPvuu7M+D7n00kvj6aefXu64yZMnxwEHHBALFy7MrPvtb38bRx55ZM7H1iMAVFOer0yDBuGQQw5JWrVqlRx66KHJPffck3z55ZeZKcUWN2fOnORf//pXsu222y41ZVttL3evy2kSJ02alPz+97/PTN1XUlKS/Pa3v826vP/VV19NNtpoo8xy586dk9tvvz1ZtGjRMvc7b968pEePHlk1NmnSJDnjjDOSCRMmZG07bdq05KabbspMo9ikSZNkjTXWKNhpEpecmq1Xr17V3sf06dOT9dZbL2s/AwcOXOb2o0aNSlq2bJm1/eDBg6t93IsvvjhrH6eddlq191GV+p4mcciQIUnjxo2TX/ziF8l1112XfPjhh5npOha3cOHC5LXXXkt+85vfLDXd4O23317ndf3s2WefXer5+e677y53zLx585Irr7wyadeuXWbM9ttvnzz11FOZ5bvuuivZe++9M8stWrRIzj777GTGjBnL3fcRRxyxVD377LPPUjXNnz8/eeaZZ5INN9wwa9rExcfV1zSJS07Nuvfee1c5pqKiImnbtm3WuO+//77axz7ggAOy9rHWWmslP/74Y6Xbzp49O+nVq1fW9rvvvnulfwOWZ/jw4Vn72HzzzatdNwAA1Mb555+/VJ/Qr1+/5JVXXsl6f7to0aLk5ZdfzprGb8k+oa6nSXzwwQeTVq1aZR3jsssuy2ls7969s8a9/fbb1T7+GWeckbWPdu3aLfMziUWLFiU77bRT1vYbb7xxMnfu3God85tvvllqGnYAlk0YBivAG2+8UeWHz0ta8o3UEUccUasa6iIMmz17dvK3v/0tad26dWYfG220UfLqq68mSZI9B3iSJMmCBQuSK664IiuQ6d27d/Lvf/+70v0vea+h5s2bJy+88MJyaxo3blzSrVu3pX62QgvDlpwffdCgQTXazwcffJA0b948a19XXnnlUtvNnDkz2WCDDbK222OPPar9AXySJMljjz2WtZ+dd965RrUvT32HYaNHj07GjRtXrTFPPPFE1r3F1llnneWGuTU1f/78pZqvzTbbbJnbV1RUJPfff3/W//uOHTsmt99+e1JRUZH1XH/ppZeSJEmSJ598MunatWtmfadOnZIbbrih0vvGvfTSS0s9ly6++OLl/gzz5s1Ldt9990qfh/URhj344INLHefJJ5+sctySr4MdO3as0fEre37tueeelT6/Dj300Kzt1lxzzWTKlCnVPubUqVOz9tO0adN6+f8IAACV+eyzz5a69/Kxxx673B6zoqIiOeqooyrtE6obhr322mvJ888/n/l65plnknvuuSc544wzkp49e2btu6SkJDnzzDNz2u/8+fOXukf3zJkzq1Vbkvx0YuWS9zHv06dPMm/evKW2Pfvss7O2KysrS7744otqHzNJkqRNmzZZ+8r1nsQADZEwDApURUVFsvXWW2fe0DRr1iyZPXt2jfdXF2HY4lcItWrVKrniiiuyPkxfMgz72fjx45OBAwdmHmvSpEkyduzYrG3Ky8uTlVdeOau+G264Iae6RowYkTRu3Ligw7Bzzz03a18nn3xyjfd15513Zu2rtLQ0eeWVV7K2OfDAA7O26datWzJ16tQaHe+tt97K2tc666xT49qXpb7DsJr6y1/+kvWzVxXO1sRpp5221P/dF198cZnbL36FUElJSXL00UcnP/zwQ+bxysKwJPkpzP7LX/6S1cDed999S+1/r732qlFwO2PGjKWuzqyPMGz8+PGZK0J//urXr19OY1988cWscZtsskmN66jsystLL700a5sbb7xxqQDrzTffrPExW7RokbW/Ja+YBQCA+nLiiSdmvRfdYostcjo5a+HChclmm21W6zCse/fulYZqS37169cvqw+qypgxY7LGt23btlp1LW7ixInJqquumrW/3/3ud1nbPPPMM0vNQvLYY4/V+JhLBoFLfjYAwP9xzzAoUCUlJXHYYYdllsvLy7Pmvs6Hk046KTp37hz77rtvfPLJJ3HqqadGaWlpleO6dOkSjz32WDz99NOx1lprxfHHHx9du3bN2uapp57Kuqnu2muvHb///e9zqqtPnz5x8MEHV++HWcHGjx+ftbz66qvXeF+HH354HH300ZnlhQsXxgEHHBCTJ0+OiJ/ucfXggw9mHm/WrFk88sgjWfO2V8eStY4fP36F3Rcq3w4//PCs5VdeeaVO9//www/HFVdckbXu2GOPXe4Nm7fZZpvYe++9Y+ONN47hw4fHkCFDon379lUeq0WLFjF48OB47733on///rHZZpvFgQcemLXN5MmT45lnnsksl5SUxOWXX57Tz9K6deu44IILctq2pubOnRv77bdf/PDDD5l1LVu2jFtvvTWn8XX5POzZs2fccsstWevOPvvsGDZsWEREjBw5Mk4++eSsx6+++urYYostanzMJesdN25cjfcFAAC5WrRoUdx9991Z6y6//PJo1KjqjxUbN268VM9TX/baa68499xzY8CAATmPqcseYdVVV42HHnoo637wN910U9x7770R8dP799/85jdZ/fSpp54aAwcOrPEx9QgAuROGQQFbe+21s5ZHjhyZp0p+0rJly3jnnXfi0UcfjTXWWKPa43/1q1/FqFGj4m9/+9tSj7388stZy4ceemhOb6x/tmRoUWimTZuWtdyqVata7e/666+PTTfdNLP87bffxkEHHRSvvfZanHrqqVnbXnvttdGnT58aH2vJWhcsWBBz5syp8f6KSX0+B1977bWswDsiYqONNoq///3vVY69/fbbY8SIEbH11ltX+7g9e/aMoUOHxnPPPbfUc2z48OGxaNGizPL2228fa621Vs773n///aN58+bVrikXFRUVccghh8Tbb7+dtf6mm26K9dZbL6d91PXz8OCDD84K7RctWhQHHnhgfPzxxzFo0KCsm4QfeOCBcfzxx9fqeEvWu+TPAwAA9eGDDz7Ieu/ZtWvX6NevX87jd9hhh1hzzTXrobJsTz75ZOyyyy7Ru3fvePPNN3MaU9c9Qr9+/eKSSy7JWve73/0u3nnnnfj1r38dU6dOzazfbrvtYvDgwbU6nh4BIHfCMFjBvv3227juuuvi0EMPjU022SRWW221aNmyZZSUlCz1tdtuu2WNXfzKqXzp1KlTrcY3b9680jeXS75R3W677aq136233jrr7KtCM3v27Kzl2gYGK620UjzyyCPRtm3bzLr//e9/scMOO8T8+fMz6w499NA47rjjanWsli1bLrVuyZ9nSeeff36l/6eX9fXz1TQREcOGDavW2COOOKJaP8+sWbPi/vvvj9/97nex7bbbxhprrBFlZWXRuHHjpfbdrFmzrLF19Rz88MMPY4899oh58+Zl1q2++urxxBNPRIsWLaoc3759+5yuylyelVdeeal1tX0etmrVKjbeeONa1bUsxx13XDz++ONZ6/7yl7/EoYcemvM+6vp5GBFxzTXXxOabb55Z/u6772LTTTeNsWPHZtZtsMEGMWTIkFofa8nnYlXPQwAAqAtL9gnbbrttlJSU5Dy+pKQkttlmm1rVMHr06Eh+ut1LJEkSs2bNirFjx8a//vWvOPLII7Pe23/44Yex3XbbxcMPP1zlfuujRzjttNNi7733zjrG1ltvnXViX6dOneKhhx6qdV+nRwDInTAMVpBx48bFr3/96+jSpUucdNJJcd9998X7778f3333Xc5X2aT5DJ9vvvkma7lXr17VGt+iRYvo1q1bHVZU+NZee+24++67s5qQxYOwXr16xc0331zr41Q2JWJ1Gp9CMWvWrDjzzDOjU6dOccghh8TNN98cr732WnzzzTcxY8aMqKioqHIfdfEc/PTTT2OXXXaJH3/8MbOuY8eO8fzzz1frKqz6UNvnYU3HVOXkk09eairE448/vtZnUdaFpk2bxsMPP5w1VeXiz8OWLVvGo48+WuszTCOWfi4W4/MQAIDiU4h9QsuWLaNr166x9957x+233x6jRo2KrbbaKvP4woUL49BDD43333+/To+bi5KSkrjrrruyZhpZvEdo3LhxPPDAA7WakvFnegSA3AnDYAV45ZVXYqONNopHHnkkpw/cl2Xxq0jSZvFgICKyrnjKVU3vibUiLHm21ty5c+tkv3vuuWecfvrpS61v1apVPPLIIzldZVSVysLayq4WK2QTJ06MLbbYIi699NJa/dvX9jn4xRdfxI477hiTJk3KrGvXrl08//zz0bNnz1rtuy4U4vPwjDPOiGuvvTZr3W9/+9u4/vrrq72v+noedu3aNe65555KG8+bb765zn63Sz4Xi+15CABAcSrEPmFJa621Vvz3v//NCt3mz58ff/rTn5Y7rr56hLKysnjkkUdipZVWWuqxCy+8cLn3ia4OPQJA7mp3LS5QpfHjx8cvf/nLmDVrVtb69ddfP7bffvtYf/31o3PnztGqVatYaaWVsqb6e//995e6/1MhO+KII6o9Zd3PFr+3TsRPV1tUV03GrChLNgszZ86ss30v+X8r4qerxpa831VNLVlr06ZNq5w64rDDDqvWFHunnHJKfPDBBxER0bt377jqqqtyHlvV2XSLFi2KX/3qV/HJJ59kre/UqVP069cvNt544+jcuXO0bds2VlpppWjSpEnWdrvsskvOtSzPl19+GTvuuGN8++23mXVt2rSJ//znP7HJJpvUyTEiIrp161bp1Xy5KLTn4TnnnBOXX3551rpDDjkkhgwZUqMzHuvzeThnzpyl/t2bN29e6+lgFrdkvWVlZXW2bwAAWJZC6xOWpXXr1nH11Vdn3XLipZdeii+//HKZ/XF99gjz5s3Luifzz+oqCIvQIwBUhzAM6tkZZ5yRFVZ069Yt7rjjjhgwYECVYyt705RWbdu2jSlTpmSWZ86cWe0zx2bMmFHXZdWZJW8WvHggUhsPPfRQ/OMf/1hq/QcffBB//vOf44Ybbqj1MZastUuXLlUGEdUN4xb/Xbdr1y523nnn6hW5HLfeemu8++67meUWLVrENddcE0ccccRSwdeSlmz6amrs2LGxww47xIQJEzLrWrduHc8991zW/abyrS4awbp6Hp533nlx8cUXZ6074IAD4q677opGjWp2YXt9PQ8///zzOOqoo5ZaP3fu3Pj1r38dw4cPX+r+czWxZL1du3at9T4BAKAqhdQnVGWnnXaK9u3bx9SpUzPrhg8fvsz+tL56hClTpsT+++8fCxYsWOqxAw44IN59992sqdZrSo8AkDvTJEI9mjNnTjzxxBOZ5WbNmsV//vOfnIKwiIgffvihniorPEu+CVxyTvJc1NWb1vqw5Bvvr7/+utb7HD16dBx99NHLfPwf//hHPPTQQ7U+zpK15vu+VtV13333ZS3feOONccwxx1QZhEXUzXNw3LhxscMOO8T48eMz61q1ahXPPvtsbL311rXef10qlOfhhRdeGBdeeGHWukGDBsW9996bdfVsddXH83Du3LkxaNCgZTb3I0eOjJNPPrnWx5k6dWrWlC3NmjWrk3sMAABAVQqlT8hF48aNl+pZl3fsNddcM0pL/+9agenTp9f66rCKioo45JBDltlvjB8/Pn7zm9/UeEaPxRV7vw6wIgnDoB6NHDky68PLX/ziF7H++uvnPP7DDz+sj7IK0oYbbpi1/M4771Rr/NixY7PO/Co0S06Dt+SUfdU1Z86cGDRoUNZVh3vuuedSAcLRRx8dn376aa2O9fHHH2ctb7rpprXa34qUJEm8/vrrmeX27dvHIYcckvP42j4HJ0yYEDvssEOMHTs2s65Fixbx9NNPV2sayRWlts/DiJ9e92rjoosuivPOOy9r3T777BP3339/VpNaE127ds06q/WHH36I77//vlb7/MMf/pCZ4jPip2b60UcfzQrtbrrpprj//vtrdZwln4e9e/eu8RVyAABQHYXQJ9TG8k6ELC0tzbrPWMRPJ57WxoUXXhj//e9/M8tlZWXx1FNPRatWrTLrnn322Rg8eHCtjvP1119nBXedOnWKzp0712qfAGnmUxSoR999913Wcvfu3as1/oUXXqjLcgraVlttlbW8+BV1uXj88cfrspw6t+GGG2bdZ+vTTz+t1RR8xx13XIwaNSqz3K1bt7jrrrvinHPOiV/84heZ9bNmzYpBgwYtdVPd6nj//fezlrfYYosa72tFmzJlSixcuDCzvO6661bryqLaPAe//vrr2GGHHeKrr77KrGvevHk8/fTT0b9//xrvtz4t+Tx85plnsv79qvLuu+/GuHHjanz8wYMHx7nnnpu1bs8994x//vOfOV3JV5WSkpLo27dv1rol/39Xx6233hp33nlnZrlp06bxz3/+M/bdd9/429/+lrXtscceu1SgVR3F/DwEAKC4LdknvPrqq9WaReP777+P1157ra7LqlSSJEv1JKuuuupyxyw5dX1teoT//ve/S/UCd9xxR+yxxx5xyy23ZK3/61//Gi+99FKNj7VknYU0BT9AIRKGQT1a8pL3yuaKXpbXX389RowYUdclFay999476z5UTz/9dIwZMyansfPnz4+bbrqpvkqrE6WlpbHNNttklhctWlSjs+kifrrK5N57780sN2vWLB5++OFo165dlJSUxL333htdunTJPP7RRx/F73//+xrX/vbbb2e+LykpiX79+tV4XytabZ6Ds2bNittvv71Gx/32229jhx12yPo/3Lx583jqqadihx12qNE+V4TNNtss6//O5MmT44EHHsh5/LXXXlvjY19xxRVx1llnZa371a9+FY888kidBGE/WzKIXPz/d3W899578cc//jFr3ZVXXhlbbrllRET85S9/iV/96leZx2bPnh2DBg2K2bNn1+h4S9aZ63S7AABQWyuvvHJWP7tgwYL4f//v/+U8/h//+Ee1erHaePXVV7PuRx6x9EwtS6qrHuHrr7+OQw45JCoqKjLr/vznP8fAgQMjIuKggw7K6s0XLVoUBx10UEycOLFGx9MjAFSPMAzq0WqrrZa1PGzYsJzGlZeXx3HHHVcfJRWs9ddfP3bcccfM8vz58+OYY47J6Q3zX//61/jss8/qs7w68ctf/jJreejQodXexzvvvLPU/Yf+/ve/Z13t0qFDh6WupLn77rtjyJAh1T7el19+mXVWXd++faNTp07V3k++dOjQIevf4aOPPsp5Os0///nPNZp687vvvosdd9wxvvjii8y6lVZaKf71r3/FTjvtVO39rUiNGzeOY489NmvdaaedltM9Af7973/H3XffXaPj/v3vf4/TTz89a93uu+8ejz76aDRt2rRG+1yWungeTp8+PQYNGhTz5s3LrNt///2zwrGSkpK4++67s25g/cknn9T4tX3xM0ZLS0tjl112qdF+AACgJpY8wXLw4ME5TSv/3nvvxaWXXlpfZWVZuHDhUn3F+uuvHz179lzuuF/84hdZU5DXpEdYsGBBHHDAAVlB3DbbbBOXXXZZ1nZL9u+TJk2KAw88MBYtWlTtY/7vf//LWl6y1wEgmzAM6lHfvn1jpZVWyiy/8847VX5YPHfu3Nhvv/0a1P3CfnbxxRdnTWH30ksvxcCBA2Py5MmVbj9//vw466yzMm8uF7+yrBDttddeWcsvvvhitcZPmzYtBg0alDW94pJnlv1sq622iiuuuCJr3YknnhjvvfdetY65ZI177713tcbnW+PGjWPrrbfOLC9YsCBOPfXUKsddeOGFNQoPv//++9hpp52y7tPWrFmzePzxx2PXXXet9v7y4Y9//GPWPPOTJk2KHXbYYblThTz00EOx3377RZIk1X4e3nDDDfHnP/85a91uu+0Wjz/+eDRr1qx6xedg0003zbr67dVXX632lKW//e1vs676W3/99ePWW29darv27dvHww8/nBXo3XfffdW+kvXzzz+P8ePHZ5YHDBgQZWVl1doHAADUxoEHHph1/+i5c+fGzjvvvNzg6H//+1/ssssuUV5ennOfMGzYsBg8eHDMmDGjWvVNmzYt9ttvv3jjjTey1p955plVju3YsWPWlW+fffZZTJgwoVrHP/3007OmguzYsWM89NBDS933ePGZXX728ssvx9lnn12t482ePTvefPPNzPK6665bZegH0NDV7k70wHI1b948DjzwwKx7yhx11FHx2WefxUknnRQrr7xyZv3s2bPjySefjL/+9a+ZK0p69uxZrXvMzJs3L1599dVKH5s0adJS64YPH5519critttuu6wgb0XYcsst4/TTT8+6iewzzzwT3bt3j1//+tex3XbbRceOHWPGjBnx/vvvx4MPPhhjx46NiJ8+4G7RokUMHz68Wsf8+OOP49tvv630sSWnKpg4ceIy7yG1+uqrV/nGc911142tt946Xn/99Yj46U3+Dz/8EB06dKiyziRJ4vDDD8+6/9QGG2yw1JzjizvppJPi1VdfjUceeSQifvr/MWjQoBg5cmTOH6Q/9thjme9LSkri0EMPzWlcIfntb38bL7/8cmb5jjvuiJkzZ8aFF14YPXr0yKxftGhRvPrqq3HBBRdkrsKpznNwzpw5sfPOOy+1/fHHHx+lpaXVvv9Y8+bNY9ttt63WmLpQVlYWt956a/zqV7/KTO/x+eefR58+fWLPPfeM3XbbLdZYY42YP39+fPHFF/Hoo4/GW2+9FRERrVq1iv322y/uuuuunI51zz33xIknnpi1bo011ogTTjghXnnllWrX3qtXr6WuyF3Sz/+Pf36dmTNnTvznP/9ZKqxelquuuirredG8efN45JFHonXr1pVuv/nmm8dVV12VddXYySefHFtssUVsttlmOR1z8eNFRBx22GE5jQMAgLpSWload955Z2y55ZaZGRImT54cO+ywQ+yyyy6xxx57ZGZFGDt2bDz11FOZkysbN24cxxxzTE4nhf34449x1llnxSWXXBJ77rlnDBw4MDbffPPo1q3bUttWVFTEJ598Eo888kj84x//iO+//z7r8V122SWOOOKInH6+3/zmN1mfpzz++ONL9SrL8uijj8Y111yTWW7UqFHcf//9scYaa1S6/c/3/N57770zU/tffvnlsd1228Uee+yR0zGffvrpmD9/fmZZjwCQg6TILFiwIBkxYkRy/fXXJ8cee2yy/fbbJ127dk1atmyZNG7cOGndunXSrVu3ZK+99kquvvrq5Lvvvst3yTRw48ePTzp27JhERNZXSUlJst566yVbbrll0r1796RZs2ZZj/fu3Tt56qmnstYdfvjhyz3WV199tdRxavr11VdfrZB/nyVVVFQkxxxzTLVqXX311ZOvvvoq6d+/f9b6CRMmVHm8ww8/vE7+var63fzslltuyRp366235jTu0ksvzRrXokWL5KOPPqpy3PTp05P11lsva+zAgQNzOuaPP/6YNGnSJDNuhx12yGlcTSz+u+vfv3+d7nvhwoXJNttsU+nvrXPnzskWW2yRbLTRRklZWVnWY2VlZckHH3yQta5r167LPE5dPv+qOtaKcOeddyaNGjXKud4mTZokTz/9dHLeeedlrb/nnnuWeYy6ev79/HXHHXfk9LN9+umnWeMOPfTQnMa9+uqrSWlpaY2OecABB2SNW2uttZIff/wxp7F9+/bNjGvdunUya9asnMYBUHv6T4Bs//nPf5LmzZvn/B69pKQkuemmm5I77rgja/3f/va3Svf/+OOPV7qfNm3aJOutt17St2/fZPPNN0822GCDpEWLFss87oABA6r1vnnatGlZP9d2222X07jPPvssadOmTdaxzz///JzGnnHGGVnj2rVrl/NnMYMGDcqMa9SoUd4+wwEoJkUXhp1zzjnV+mCsadOmydlnn52Ul5fnu3QasNdee63SQGxZX1tvvXUyadKk5KWXXspa3xDCsCT5KRC75pprktatW1dZZ79+/ZLx48cnSZIkffr0yXpsxowZVR5rRYdhs2fPTtq3b58Zt+2221Y5ZtiwYUnjxo2zjre8gGFJ77///lLNylVXXVXluOuvvz5rzOOPP57zMaurPsOwJEmSSZMmJZtuumnOv8/VVlstefPNN5MkSbLWN6QwLEl+anTXXnvtnGodOnRokiRJcsopp2Q99uSTTy5z//kKw5IkSXbbbbfMuBYtWiTTpk1b7vaTJ09OOnfunHW8o446KufjzZw5M+nevXvW+L322iupqKhY7rgPP/wwa8xJJ52U8zEBqD39J8DS3n777Zz6qw4dOiSPPPJIkiRL95fXXXddpfteVhiW61fz5s2Tiy66qEavw8cdd1xmPyUlJclnn3223O3nzJmT9O7dO+v4u+yyS7Jo0aKcjrdw4cKkX79+WeP79u1bZe1TpkzJOqF67733zvVHBGjQiu6eYcn/f/nwz5o2bRobbLBBbLfddrHTTjtF3759o1WrVpnH58+fHxdffHHsvffe1b4nCNSVrbfeOt599904/PDDo0mTJsvcbp111okbbrghXnnllejUqdMKrLCwlJSUxEknnRSff/55XH311TFgwIBYY401omnTptGiRYtYf/314/DDD4/nnnsuhg0blrn/zw8//JDZR+PGjZc5bVk+tWjRIv7whz9klocPH77c+8NVdjPdY489tlrTFfbu3TtuuOGGrHVnnHFGlVNK3nzzzZnv11tvvZynkStEnTp1itdeey3OO++8aN++/TK3a9u2bZxyyikxatSo2GKLLVZghYVp1113jVGjRsU999wT++yzT6y99trRokWLaNq0aXTp0iX22muvuP3222P06NHRv3//iMh+Hkb89G9aiE477bTM93PmzIl77rlnmdtWVFTEwQcfHN98801m3cYbb7zU82p5WrVqFY888ki0aNEis+7JJ59c6t5+S1r8edi4ceM4+eSTcz4mALWn/wRYWt++fePtt9+Oxx57LA4++OBYb731olWrVtGkSZNYbbXVYtddd43rrrsuvvzyy9hvv/0iIvc+Ybfddosnnngi/vCHP8RGG22UdV/xZSkpKYnevXvHpZdeGmPGjImzzz476769uTrllFOiUaOfPipNkiTrvXhljj/++Pjggw8yy507d4777rsvs4+qNG7cOB588MFYZZVVMutGjBhR5Xv+O++8M+tvTC73xQYgoiRZ8t19gfvb3/4Ww4cPjz322CO22267Sv8wLlq0KJ599tk4/fTTY/To0Zn1Z599dlx00UUrumTIMmPGjHj11VdjzJgxMX369GjWrFmsvvrqsemmm7rZaS1MmzYt2rdvn/nAYu21144xY8bkuarKTZkyJdZee+2YOXNmREQcc8wxy733Vz4MGzYsBgwYkFm+/fbb48gjj8xfQXVowYIF8dZbb8VHH30UU6dOjZKSklh55ZWjZ8+esfnmmy91g2OqZ9NNN4333nsvszx+/PhMYF1ott5668wNtrt37x4ff/xxzo3rijB9+vTo2rVrTJ8+PSJ+ug9ArvdjA6Bu6D8B6sbAgQPjX//6V2b55Zdfju23377KcbNnz47Ro0fHl19+Gd99913MmjUrkiSJ1q1bR1lZWay99tqx8cYb19nJsAcddFA8+OCDERHRrl27GD9+fNZJD/m2aNGi6N69e+bzjn79+sWwYcPyXBVAcSi6MKw6pk2bFltuuWV89tlnEfHTWdmTJ0+O5s2b57kyoK49/PDDsf/++2eWDzzwwHjggQfyWNHynX/++XHBBRdExE9nGH/55ZfRuXPnPFf1f3bdddd4/vnnIyKiR48e8eGHH+Z0Rh4N28SJE6NLly6ZKxlXXXXVmDhxYp6rWrahQ4fGDjvskFl++OGHY9CgQXmsKNsll1wSZ599dkT89Drx2WefZW5KDkDh0X8CVG7evHnRuXPnmDp1akT8dEXU9OnTo2XLlnmubGlffPFF9OjRIxYuXBgREVdccUVBXXl1//33xyGHHJJZfu2112LrrbfOY0UAxaNwTn+uB23bts18iBQRMWvWrHjzzTfzWBFQH5Ikib///e9Z6/r165enanJzyimnZKbCnD9/fpVTpa1Ib7/9diYIi4gYPHiwIIycXHfddVlTehb683DAgAGx++67Z5YvueSSpabDypfZs2fHNddck1n+wx/+IAgDKHD6T4DK3XXXXZkgLCKiT58+BRmERUSsu+66ccwxx2SWr7766pg7d24eK/o/FRUVMXjw4MzyPvvsIwgDqIZUh2ERP81jvLhCPkMdWPq+DLm49NJL4/XXX88st2zZMg4++OC6LKvOtW7dOisAu+mmm+Krr77KY0X/5/TTT898v/vuu8fee++dx2rIl+o+F1955ZW48sors9Yt3kQWqmuvvTaaNWsWERHvvvtuwVxResUVV8T3338fET9dYffzlaQAFDb9J5B21e0TPv3006weM6Lw+4SLLrooOnbsGBE/vY4vefJtvtx9993x0UcfRURE8+bNC6YugGKR+jBswYIFWctt2rTJUyVALj777LMYMGBAPPPMM5lpCZZl+vTpcfLJJ8dZZ52Vtf6YY46JsrKy+iyzThx22GGZK2fKy8vjzDPPzHNFEU899VQMHTo0IiJWWmmluOGGG/JbEHnTr1+/uPnmm2PGjBnL3W7hwoUxZMiQ2G233bKes5tuumnstNNO9V1mra233npZzflZZ50V8+bNy2NFEd99911WsHjVVVd5/wJQJPSfQNrtt99+WSduLUuSJPH444/HNttsk9VTrL766gV/8mr79u3jsssuyyxfeumlMXny5DxWFDF37tw499xzM8vnnHNOdOvWLX8FARShVN8zLCLimmuuiT/96U8REVFaWhrffvttrLzyynmuCliW0aNHR48ePSIiokOHDrHrrrvGZpttFmuuuWa0adMm5syZExMnTozXX389nnrqqaU+qO/Ro0eMHDnSvRmgllZdddWYNGlSNGvWLHbcccfYYostYv3114+2bdvGwoULY8qUKTFy5Mh45plnYty4cVljmzdvHiNHjsw8lwGgodB/Amm31VZbxZtvvhmNGzeOfv36xVZbbRU9evSI9u3bR5IkMXXq1Hj//ffj3//+d3zyySdZYxs1ahTPP/987LjjjnmqHoCGLNVh2KeffhrbbbddTJkyJSIijj766BgyZEieqwKWZ/EwrLp69uwZTz/9dKy11lp1XBU0PD+HYdVVVlYW//znP2PXXXeth6oAoHDpP4GG4OcwrLqaNm0aQ4YMicMOO6weqgKAqqVqmsQkSWL69Onx1ltvxdlnnx19+/bNNCJbb711XH311XmuEKhKixYton379tUas9JKK8UJJ5wQr7/+uiAM6sgaa6xR7TF77LFHvPnmm4IwABoE/SfQENWkT9h+++3j5ZdfFoQBkFdFf2XYgAEDYtiwYct8vGPHjnHSSSfF6aefHk2bNq1yf+Xl5VFeXp5ZrqioiKlTp0aHDh2ipKSkTmoGlm/hwoUxfPjweO211+K9996LsWPHxnfffRdz5syJJEmirKws2rdvHxtuuGFss802sddee8Uqq6yS77IhdT788MN4+eWXY8SIETFmzJj49ttvY+bMmbFgwYJo3bp1tG3bNtZdd93YZpttYvfdd4+ePXvmu2QgR0mSxMyZM2P11VePRo1SdX4c1Cv9J0DEF198ES+99FKMGDEiPv/88/jmm29ixowZMW/evGjVqlW0bds2unbtGttss03ssssusfnmm+e7ZADy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tGm0bds2unfvHltvvXUcfPDB0atXr3yXDAAAQBHSfwIAQDqUJEmS5LuIXL344oux8847V2vMoEGD4vrrr49VV121RsecMWNGlJWVxfTp06NNmzY12gcAABQS73GhavpPAACovUJ5j1tUV4Ytmds1atQounTpEquvvnq0bNkyZs+eHWPGjInJkydntnnkkUdi5MiR8dJLL0XXrl1XdMkAAAAUIf0nAACkR1GFYY0aNYo+ffrEXnvtFf37948tttgimjdvvtR277zzTpxzzjnx73//OyIivvrqqzj00EPj5ZdfjpKSkhVdNgAAAEVG/wkAAOlRVNMkVkeSJHHQQQfFQw89lFn38ssvx/bbb1+t/RTKJXwAAFBXvMeFuqX/BACAyhXKe9xGeTtyPSspKYnLLrssa92LL76Yp2oAAABIK/0nAAAUttSGYRERXbt2jZVXXjmzPHHixDxWAwAAQFrpPwEAoHClOgyLiFi4cGHme9NMAAAAUF/0nwAAUJhSHYa999578eOPP2aWt9122zxWAwAAQFrpPwEAoHClNgybNWtW/OEPf8gsb7DBBrHHHnvksSIAAADSSP8JAACFrTTfBdSluXPnxtixY+PFF1+Mq666KsaOHRsREaussko8+uijUVqaqh8XAACAPNF/AgBA8Sjqd+fnn39+XHDBBct8vFmzZnHwwQfH4MGDY5VVVslpn+Xl5VFeXp5Znj59ekREzJgxo3bFAgBAgfj5vW2SJHmuBIqH/hMAAKqvUPrPog7DlqdRo0Zx0EEHxe9+97ucG5GIiMGDB1fa4HTp0qUuywMAgLz74YcfoqysLN9lQNHTfwIAwPLlu/8sSWoYx40bNy7WWWeduq4nIiIuvPDCOOuss6rc7t5774177703In5KFWfOnBlffPFFfP/991nbDRo0KG699dac/qGXPDNv2rRp0bVr1xg/frwPCigaM2bMiC5dusSECROiTZs2+S4Hcub/LsXI/1uK0fTp0/+/9u4+pqr7juP45yKCiCAFdUx5uKJVazehPuCszvqQgbZ1sdpUmaxWl62Nc3XdFtNFu9rVdC5tmOvmks1OrFrE4FxqbWOtpqBhVKe2WqTSuvKks7MiKorycLn7w/SESxEQLvfcc+77lZjc3/F3Ll+S49ffJ797zlVCQoJqamoUFRVldjlAh8ifgP9iLQQr4rqFVXHtwor8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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Pick an example system and check for linearity\n", "pickSystem = 'C'\n", "g1 = ExampleSystem(f1,x,pickSystem)\n", "g2 = ExampleSystem(f2,x,pickSystem)\n", "\n", "g3 = ExampleSystem(a1*f1+a2*f2,x,pickSystem)\n", "\n", "\n", "# Check whether the two versions are the same\n", "difference = np.linalg.norm(g3 - (a1*g1+a2*g2))\n", "print(\"Norm of the difference: ||g3 - (a1*g1+a2*g2)|| = \", '{:f}'.format(difference))\n", "\n", "\n", "# Plot a1*g1+a2*g2 and g3\n", "plt.figure(figsize=(20,10))\n", "plt.subplot(1,2,1)\n", "plt.rc('font', **font)\n", "plt.plot(x,np.real(a1*g1+a2*g2),'gray',linewidth=6.0)\n", "plt.axis([x[0],x[N-1],-3,3])\n", "plt.xlabel('x')\n", "plt.title('a1*g1(x)+a2*g2(x)')\n", "plt.subplot(1,2,2)\n", "plt.rc('font', **font)\n", "plt.plot(x,np.real(g3),'gray',linewidth=6.0)\n", "plt.axis([x[0],x[N-1],-3,3])\n", "plt.title('g3(x)')\n", "plt.xlabel('x')\n", "plt.tight_layout(pad=4.0)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Q2: check shift invariance using our example signals and shift, for the systems in section 2.4 \n", "\n", "Instructions: Run the following cell using each value of 'pickSystem' between 'A' and 'G', and look at the plots for the following two signals:\n", "* $g_2(x)$ (the output to $f_2(x) = f_1(x-x_0)$), \n", "* $g_1(x-x_0)$ (where $g_1(x)$ is the output for input $f_1(x)$). \n", "Also, check the norm of the difference between these two signals (to check for equality). \n", "\n", "Does each of the systems in section 2.4 (excluding G) satisfy the property $g_2(x) = g_1(x-x_0)$ for our specific examples of $f_1(x)$, $x_0$?" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Norm of the difference: ||g2(x) - g1(x-x0)|| = 0.000000\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABsMAAALbCAYAAACv0P42AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABiEUlEQVR4nO3deZyVdd0//vfAsCPDoojIJu64hgpZpigpai653CplLqVpZWl35p2pt5qmlqWVeZeaimKmt0u3mmuQoJkb4AqKGqu4sw3rsMz5/eHP8+VwGJgZzsw55zPP5+Mxj8dcF9d1nfeMh4vr5euc61RkMplMAAAAAAAAQIJaFXsAAAAAAAAAaCrKMAAAAAAAAJKlDAMAAAAAACBZyjAAAAAAAACSpQwDAAAAAAAgWcowAAAAAAAAkqUMAwAAAAAAIFnKMAAAAAAAAJKlDAMAAAAAACBZyjAAAAAAAACSpQwDAAAAAAAgWcowgBbkH//4R1RUVERFRUVUVlbG5MmTiz0SJeLBBx/MPjc6dOgQ06ZNK/ZIAAAARVVqGVpuA2i8ikwmkyn2EAA0vRUrVsSuu+4aU6dOjYiI008/PW688cYiT0UpGTZsWIwfPz4iIr7yla/E3/72tyJPBAAA8Kl58+bF5MmT4+2334758+dHTU1NdO3aNXr06BGDBw+ObbfdtqCPV6oZWm4DaBxlGEARLFmyJF5++eWYOHFiTJw4MSZMmBBvvvlm1NbWZrc5+eSTY9SoUQV7zF/84hfxk5/8JCIi2rdvH9OmTYstttiiYMen/L3wwgsxdOjQ7PKDDz4Yhx9+eBEnAgAAWqqampp4/PHH47HHHot//OMf2VKqLj179oyTTjopvve978WAAQM2+vFLNUPLbQCNowwDaCYzZsyIiy++eJ3F17oUsgybP39+DBw4MBYsWBAREWeddVZcd911BTk2aTnwwANjzJgxERGx0047xauvvhqtWrmrMgAA0HyuvvrquOyyy2LRokUN3rd9+/Zx+eWXxw9/+MNGZ5lSz9ByG0DDOUsCNJMZM2bE7bffHlOmTNlgEVZov/jFL7IX8ZWVlfHjH/+4WR+f8nHBBRdkv588eXKMHj26iNMAAAAt0cSJE+sswrp16xY77LBDDBkyJLbZZpu8Emj58uVx7rnnxumnnx6NfQ9AqWdouQ2g4ZRhACWgVatW0aFDhyY59oIFC+L666/PLh955JHRr1+/Jnksyt+wYcNi5513zi5fccUVjQ6QAAAAG6uysjIOO+ywuPXWW+Odd96JefPmxRtvvBHPP/98vP322zF37ty47rrromfPnjn73XLLLXH55Zc3+PHKIUPLbQANpwwDaGaVlZWxyy67xCmnnBK/+93v4p///GdUV1fHcccd1ySP98c//jEWL16cXT7zzDOb5HFIxxlnnJH9/q233oqHHnqoiNMAAAAtUdeuXePSSy+Nd999Nx566KE45ZRTYuutt17ndmeddVa88sorOQVRxKcl0fTp0xv0uOWSoeU2gIbxmWEAzeTjjz+OadOmxW677Rbt27fP+/NTTjklbrvttuxyIT4zrLa2Nvr37x/vvvtuRET07ds3Zs6cGRUVFRt1XNI2f/782HzzzWPlypURETF8+PDs/egBAACa2t///vcYMmRIVFVVNWi/mTNnxo477hjLli3Lrrvkkkvi4osvrtf+5ZSh5TaAhvHOMIBmstlmm8XQoUPXWYQ1lbFjx2Yv4iMijj322JK8iKe0dOvWLYYPH55d/sc//hGzZs0q4kQAAEBLcuCBBza4CIuI6N+/f5x00kk56x555JF6719OGVpuA2iYymIPAFCqFixYEP/85z/j3XffjXnz5kVVVVXssssu8cUvfjFat25d7PHqZe0P0T366KOLNAnl5uijj47HHnssIiIymUzccccd8dOf/rTIUwEAAKWqVDL0sGHD4oYbbsguz5gxo977lluGltsA6s87wwDWMm7cuBgxYkT07NkzDj/88PjOd74TF1xwQZx11lmx3377RZ8+feIPf/hDdvuXX345Kioqsl8jRowo4vT/z+rVq+Phhx/OLnfq1CmGDh1a7/1HjRqV83N17Ngx5syZU+/9//nPf0anTp1yjnHhhRc26GcoVyn87tZ8hWFExAMPPNCsjw8AAJSHUsvQ3bp1y1lesGBBvfYrxwwttwHUnzIM4P+3YMGC+OpXvxr7779/PPHEE9n7bq/tgw8+iO9+97vxrW99K1auXBmvvvpqzp/vsccezTHuBj333HMxb9687PKXvvSlaNOmTb33P/nkk3N+lmXLlsVFF11Ur30nTJgQX/nKV2Lp0qXZdf/5n/8Zl19+eb0fv5yl8LsbOHBgDBgwIGeujz76qFlnAAAASlepZug1b3MY8elHFtRHOWZouQ2g/pRhAPHph+x+4QtfWOerqHr37h177LFH7LzzztGuXbvs+ltuuSWuuuqqki3Dxo0bl7O81157NWj/ioqKuPbaa3PW3XbbbfH666+vd7/XXnstRowYEdXV1dl13/nOd+LXv/51gx6/nKXyu1vzOVNbWxtPPfVUUeYAAABKSyln6LWz8Pbbb9+o/colQ8ttAPWjDANavHnz5sVBBx0Ub7zxRnZdhw4d4r/+67/irbfeijlz5sSECRPitddei3nz5sV1110XHTt2jIiIK664Int/7s+UShn2wgsv5CzvuuuuDT7Gl770pTj22GOzy7W1tXHeeefVuf1bb70VBx54YM6r6U499dS4/vrrG/zY5S6F393uu++es7z2cwoAAGh5SjlDz5s3L+67776cdYcffni99i3XDC23AdSPMgxo0TKZTJx44onx1ltvZddts8028fLLL8dVV10V2267bc72HTt2jLPOOisefvjhaN26dSxfvjwmT56c/fPu3bvn3KKgmF555ZWc5R133LFRx/nlL3+Z82q+Rx99NJ588sm87WbMmBHDhw+PDz/8MLtu5MiR8ac//SkqKioa9djlrtx/d2s/Z1566aUiTQIAAJSCUs/QF1xwQSxbtiy73KFDh/ja175Wr33LNUPLbQD1owwDWrSbbropHn300exy9+7dY+zYsbHddtutd79hw4bFSSedlLe+VN4VtnLlyrz7pPfp06dRx9pqq63inHPOyVn34x//ODKZTHb5vffei+HDh+c85lFHHRW33357tGrVcv+pKfff3drPmenTpxdpEgAAoBSUcoZ++OGH44YbbshZ9+Mf/zh69uy5wX3LOUPLbQD103L/DyXQ4i1cuDB++tOf5qwbPXp09OvXr177n3DCCXnrSqUMmzNnTqxevTq73LFjx6iqqmr08X7605/G5ptvnl2eOHFi/OUvf4mIiI8//jiGDx8e06ZNy/75oYceGnfddVdUVlY2+jFTUc6/u969e+csz5o1KyfAAQAALUcpZ+i33347vvGNb+TklV122SVv3rqUc4aW2wDqp/j/pw2gSK6//vqYO3dudvnwww+PQw89tN7777zzznnrSqUMW7BgQc5y586dN+p4Xbp0icsuuyy+/e1vZ9ddcMEFMXz48BgxYkS8+eab2fXDhw+P++67L9q2bbtRj7mmZ599Nm677baCHW99dtxxxzj77LMLdrzm+N3df//9MXr06Jg4cWJ89NFH0bVr19h+++3jP/7jP+K0006L9u3bN2r2tZ83K1eujKVLl0anTp0adTwAAKB8lWqG/vjjj+PQQw+N+fPnZ9d17tw57r777pzbFa5POWdouQ2gfioyXioAtEC1tbXRv3//nFsSvPDCC7HXXnvV+xiLFy+OTTbZJGfdtGnTYquttmrUTKecckpO4XPyySfHqFGjGnWsZ555JvbZZ5/scv/+/WPGjBmNOtZnamtr43Of+1y8+uqr2XXdu3fP+aDfffbZJx5//PHshyMXyqhRo+LUU08t6DHrMnz48BgzZkxBj9lUv7vq6uo44YQTcm5TsrYddtgh7rvvvhg0aFCD5161alW0adMmZ92HH35Yr9uMAAAA6SjFDB3xaSbaf//9Y9KkSdl1lZWV8de//jUOO+yweh+nnDO03AZQP26TCLRITz/9dM5F/ODBgxt0ER8RsWjRopzlbt26bdRFfKlr1apVXHvttTnr1ryIHzJkSDzyyCMFL8JS0BS/u1WrVsUxxxyTLcJ69+4dl1xySdx5551x7bXXxuDBgyMi4s0334yDDz443n///QbPva7XyzTkg5wBAIA0lGKGXrJkSRx66KE5RVirVq1i9OjRDSrCmkpzZWi5DaB+lGFAi/T444/nLI8YMaLBx1jzIjaidG6RGBF5t0NYtmxZQY57wAEHrDNU7L777vHYY4/lvcqP/6fQv7sbb7wx+w62XXfdNV555ZW4+OKLY+TIkXHOOefECy+8ECeeeGJERMyePTt+9KMfNXjmpUuX5q1zqw0AAGh5Si1DL1u2LA477LB45plnsusqKiri5ptvXudnk21IOWdouQ2gfpRhQIv03HPP5Szvv//+DT7G66+/nrNcSmVY165dc5bXfgVeY7311lsxYcKEvPWXXHJJdOvWrSCPsS6nnHJKZDKZZvkq9C0SP1PI393q1avjsssui4hPA9/tt98em266ac42rVu3jhtuuCG23HLLiIi466674o033mjQ46z9vGnbtm106NChQccAAADKXyll6OXLl8cRRxwR48aNy1n/hz/8IU455ZRGHbOcM7TcBlA/yjCgRZo6dWrOct++fRt8jGeffTZnuZTKsD59+kTr1q2zy8uWLcv7QOCGmj59egwfPjw++OCDvD+79NJLo7a2dqOOn7JC/+7GjRuXPdb+++8fu+222zq369ixY/YDmzOZTNx9990Nepz33nsvZ7lv375utwEAAC1QqWTo5cuXx5FHHpn3IsbrrrsuzjjjjAYf7zPlnKHlNoD6UYYBLdInn3ySs9zQD5atra2Nv/71rznrSqkMq6ysjD59+uSsW/P+7g317rvvxvDhw3OO0arV//sn5KWXXopRo0Y1+vgpa4rf3Zq3KDnkkEPWu+3BBx+c/f6zzxerr7WfMyl/Jh4AAFC3UsjQNTU1cdRRR8UTTzyRs/7aa6+Ns846q0HHWls5Z2i5DaB+lGFAi5PJZGLlypU569a8KK2Phx9+OGbNmpVd7tatWwwcOLAg8xXK7rvvnrPc0FvkfebDDz+M4cOHx/Tp07PrjjjiiLwL9wsuuCAWL17cqMdIVVP97l577bXs93vuued6tx08eHD2FY6TJ09e54cr12XKlCk5y5/73OfqvS8AAJCGUsjQK1asiKOPPjoee+yxnPVXX311nHPOOQ2apS7lmqHlNoD6UYYBLU5FRUV06dIlZ92cOXPqvf+KFSviJz/5Sc66wYMHF2S2Qtprr71yll955ZUGH2Pu3Lnx5S9/Od56663sui9/+cvxv//7v3HiiSfmPMYHH3wQV155ZeMHTkxT/u7WPOaAAQPWu21lZWX2c8OWLFnSoOf62s+ZIUOG1HtfAAAgDcXO0CtWrIhjjjkmHnnkkZz1V155ZZx77rn1Ps6GlGuGltsA6kcZBrRIa9/+4Mknn6z3vhdffHHeK69K6RaJn9lvv/1yll988cUG7b9gwYI48MADcz7keJ999okHHngg2rVrFxUVFfGrX/0qZ59rrrkmZs6c2fihE9HUv7v58+dnv9900003uH2PHj1yZquvNZ8zFRUVse+++9Z7XwAAIB3FytArV66M4447Lv72t7/lrL/88svzCraNVa4ZWm4DqB9lGNAi7b333jnL1113XSxfvnyD+/3+97+Pq666Km99KZZhe++9d3Tr1i27/Mwzz+Td2qIuixcvjkMOOSReeuml7Lo999wzHn744ejYsWN23b777huHH354dnn58uUFDyTlpjl+d2veSqN9+/Yb3L5Dhw7Z7xctWlSvx5g2bVpOKNtzzz0b/LkAAABAGoqRoVetWhUjR46MBx54IGf9z372s7jgggs2uH9DlWOGltsA6k8ZBrRIxx9/fM7yW2+9FSeeeGIsW7ZsndsvWrQoTj/99Pj+97+/zj8vxTKsdevW8ZWvfCW7vGTJknj++ec3uN/SpUvjK1/5Sjz33HPZdbvssks8/vjjebfGiIj4xS9+kf1MqoiIu+66K/71r39t5PTlKaXf3dixY3OWjzzyyCJNAgAAFFtzZ+jVq1fHiSeeGPfdd1/O+osvvjguuuiiBkxef+WYoeU2gPqryGQymWIPAVAMn//85/MubLfccss4+eST43Of+1x06NAh3nvvvXj22Wfj3nvvzb6j5ktf+lJMmjQplixZEhERXbt2jXnz5kVFRcUGH3PKlCnx3nvvrfPPrr766njiiSeyywcddFD8+Mc/Xue2vXv3jkGDBm3w8Z544okYMWJEdvmHP/xhXHPNNXVuX1NTE4cffnj8/e9/z67bfvvtY/z48bH55pvXud8ZZ5wRN954Y3Z5yJAh8dxzz9Xrd5KK5vzdde/ePXurxEWLFkXnzp3XO9vgwYOzr1B87bXXYuedd97gz3PIIYdkP5y6oqIipk+fHv3799/gfgAAQJqaM0OfdtppcfPNN+esO+CAA+L8889v1Oz77LNPve6qUW4ZWm4DqD9lGNBivf322zFkyJAGfYbSYYcdFtdee21su+222XUHHXRQPP744/Xa/5RTTonbbrutoaPmOfnkk2PUqFEb3K62tjb69+8f7777bkRE9O3bN2bOnLnOC+yVK1fGMcccEw899FB23YABA+Lpp5/Ouz/82j744IPYdtttc27fN3r06DjxxBPr+ROVt+b+3Q0cODCmT58eERHTp0+PAQMGrPcx+vfvH7NmzYqIiNmzZ29wpgULFkTPnj2ztwTZf//94x//+Md69wEAANLWnBl6wIABBf086vrkpojyytByG0DDuE0i0GJtu+228fTTT8fWW2+9wW232GKLGD16dDz00EMxceLEnD/bf//9m2rEjdaqVav43ve+l12ePXt23m0UIj69BcXXvva1nIv4LbfcMsaOHbvBi/iIiF69esW5556bs+7888+PpUuXbsT05aEYv7vtttsu+/2MGTPWe/xVq1bFnDlzIiKiU6dOseWWW25wpjvuuCPn3vg/+MEPNrgPAACQNhn6/ymFDC23ATRM2ZVhq1atiokTJ8bvf//7OOOMM2LfffeNAQMGROfOnaOysjK6dOkSW221VRx55JFx7bXXxocffljskYEStvPOO8eUKVPixhtvjBEjRkSvXr2iTZs20aNHj9hll13iG9/4Rvzf//1fTJs2LfsKrbVfwXbAAQcUY/R6O/PMM3Nuo/fHP/4x589ra2vj1FNPjXvvvTe7brPNNosxY8bEwIED6/045557bvTq1Su7/O6778bVV1+9EZOXvmL97nbZZZfs9xMmTFjvsSdNmhSrV6+OiIhBgwbV67YbN9xwQ/b7bbfdNo444ogN7gMAKZI/AXLJ0KWToeU2gIYpu9skXnTRRXH55ZfXe/u2bdvGj3/84/jv//7vaNu2bRNOBrQECxcujD59+mRvZdC/f/+YNm1atGpV2q8tOP/88+Oqq66KiIjKysr497//Hf369SvyVDTWmDFj4sADD4yIT4Pkul6p+Jmf/exncfHFF0dExH//93/HpZdeut5jjx8/PoYNG5ZdvuWWW+LUU0/d+KEBoAzJnwAbR4ZuGnIbQMOV9r8867B2d9e2bdvYYYcdYp999onhw4fHnnvumfPqjRUrVsTPf/7zOPLII6Ompqa5xwUS8+tf/zrnnt7f/va3S/4iPiLivPPOi65du0bEp69w/uUvf1ncgdgow4YNy34Y85NPPhmvvPLKOrdbunRp9kOZKyoq4vjjj9/gsX/+859nv99xxx3jpJNOKsDEAFCe5E+AjSNDNw25DaDhSv9fn7W0a9cuRowYEdddd1289NJLsXTp0njjjTfi6aefjjFjxsSLL74YCxYsiAcffDB22GGH7H6PPfZYXHbZZUWcHCh3L774YvaVYRERnTt3jtNOO62IE9Vft27d4vzzz88u33zzzfH+++8XcSI2RmVlZVx44YUR8en/pDvppJNi7ty5OdusXr06zjzzzOznhR133HExaNCg9R73xRdfjL///e/Z5SuvvDJat25d4OkBoHzInwCNJ0M3DbkNoHHK7jaJDbFgwYIYOnRovPXWWxHx6T+6H330UXTo0KHIkwHFlslk6vXZSZ956aWX4sADD8wpHK699to455xzmmC6prFixYrYbbfd4s0334yIiNNPPz37riHKz8qVK2PEiBHx5JNPRkRE796944wzzojtttsuPvroo7jtttti0qRJEfHpBzk///zzseWWW673mPvvv3+MGzcuIiIOOeSQeOSRR5r0ZwCAlMifQMpk6NLJ0HIbQOOU3TvDGqJr165xwQUXZJcXL14czz//fBEnAkrBypUrY/DgwXHffffFqlWr1rvtokWL4oorroi999475yJ+n332ie9///tNPWpBtW3bNq6//vrs8i233BKTJ08u4kRsjDZt2sRf//rXGDFiREREvPfee3HxxRfHyJEj4+yzz84WYdttt108/vjjGyzCHnrooWygat++ffz+979v0vkBIDXyJ5AqGfpTpZCh5TaAxkv6nWEREVOmTImddtopu3znnXfGyJEjizgRUGwvv/xyfO5zn4uIiM022ywOPvjgGDx4cGy55ZaxySabxOLFi+O9996Lf/3rX/Hoo49GdXV1zv677LJLjB8/Prp161aM8SHPvffeG6NHj45JkybFRx99FFVVVbH99tvHf/zHf8Tpp5/uFekA0EzkTyBFMjQAKags9gBNbeXKlTnLXbp0KdIkQKl4+eWXs99//PHHMXr06Bg9enS99j3iiCPi5ptvdhFPSTn22GPj2GOPLfYYANDiyZ9AimRoAFKQ9G0SIyL7WSoREZWVlTFkyJAiTgOUgo8++qjB++y8885x++23xwMPPBCbbrppE0wFAEC5kz+BFMnQAKQg6dskTp06NfbZZ5/45JNPIiLitNNOi5tuuqnIUwGlYMaMGfHII4/Ev/71r5g6dWrMmjUrFi1aFCtWrIhNNtkkunfvHgMHDowvfOELMXz48Nh3332LPTIAACVM/gRSJkMDUO6SKsMymUxUV1fH1KlT44EHHojf/e53sXjx4oiI2HvvvePxxx+PTTbZpMhTAgAAUO7kTwAAKB9l/5lhw4YNi/Hjx9f555tuummcffbZcd5550Xbtm03eLyampqoqanJLtfW1sa8efOiR48eUVFRUZCZAQCgmDKZTCxatCh69+4drVolf+d0KBj5EwAAGqZU8mfZl2Hr06VLlzjzzDPj5JNPrlcQiYi48sor49JLL23iyQAAoPhmz54dffr0KfYYkAT5EwAA6lbs/Fn2t0k877zz4tVXX42IiNWrV8f8+fPjzTffjCVLlmS3adOmTVx00UVx4YUXbvDVdWu/Mm/hwoXRr1+/mD17dnTp0qVpfggAAGhG1dXV0bdv31iwYEFUVVUVexwoG/InAAA0TKnkz7Ivw9altrY2xowZExdeeGG8+OKL2fVnn312/OY3v2nQsaqrq6OqqioWLlwojAAAkATXuFA48icAANStVK5xk/yA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GZI9AQAgDWV3m8SVK1fGDjvsENOmTYuIiD59+sQrr7wS3bt3z9t23rx5seuuu8acOXMiIuJLX/pSPPXUUw16vFJ5Cx8AABSKa1zYsObOnhH+bgIAkJ5SucYtu3eG3XnnndkwEhFxzTXXrDOMRHx6z/Zrrrkmu/z00083KpAAAADQssieAACQjrIrw+65557s9717946jjjpqvdsfffTR0bt373XuDwAAAOsiewIAQDrKqgxbtmxZjBkzJrt88MEHR2Vl5Xr3qaysjBEjRmSXH3zwwSabDwAAgPInewIAQFrKqgybMmVK1NTUZJe/+MUv1mu/NbebNWtWzJs3r+CzAQAAkAbZEwAA0lJ2Zdiatt1223rtt/Z2ax8HAAAAPiN7AgBAWsqqDJsxY0bOcr9+/eq1X//+/dd7HAAAAPiM7AkAAGlZ/03PS0x1dXXOcteuXeu1X1VVVc7yokWL6ty2pqYm53YYaz8mAAAAaWuO7BkhfwIAQHMpq3eGLV68OGe5Q4cO9dpv7e3WF0iuvPLKqKqqyn717du34YMCAABQtpoje0bInwAA0FzKqgxbuXJlznJlZf3e2NamTZv1HmdN559/fixcuDD7NXv27IYPCgAAQNlqjuwZIX8CAEBzKavbJHbq1Clnefny5dGxY8cN7rds2bL1HmdN7dq1i3bt2jVuQAAAAMpec2TPCPkTAACaS1m9M6xz5845y0uXLq3Xfmtvt8kmmxRsJgAAANIiewIAQFrKqgzbbLPNcpbff//9eu239nabbrppwWYCAAAgLbInAACkpazKsB122CFneebMmfXab+3t1j4OAAAAfEb2BACAtJRVGbbTTjvlLE+aNKle+625Xdu2bWObbbYp6FwAAACkQ/YEAIC0lFUZ1rdv3xg4cGB2efz48fXab83t9tlnn2jdunXBZwMAACANsicAAKSlrMqwiIijjjoq+/24ceNi1qxZ691+1qxZOYHkmGOOabLZAAAASIPsCQAA6Si7MuzUU0+NVq0+Hbu2tjYuu+yy9W7/s5/9LGprayMionPnznHcccc1+YwAAACUN9kTAADSUXZl2E477RQnnnhidvlPf/pT3HTTTevc9sYbb4ybb745u3zuuefGpptu2uQzAgAAUN5kTwAASEdFJpPJFHuIhvroo4/i85//fEyfPj277vDDD48TTjghevfuHe+9917c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zTeP++67Lyork/pxAQAAKBL5EwAAykdZX51fcsklcemll9b55+3atYuvfe1rceWVV8bmm29er2PW1NRETU1NdnnhwoUREVFdXb1xwwIAQIn47No2k8kUeRIoH/InAAA0XKnkz7Iuw9anVatWMXLkyDjzzDPrHUQiIq688sp1Bpy+ffsWcjwAACi6uXPnRlVVVbHHgLInfwIAwPoVO39WZBpZx82cOTO23nrrQs8TERE/+9nP4qc//ekGt7vjjjvijjvuiIhPW8VFixbFO++8Ex9//HHOdscee2z86U9/qtcveu1X5i1YsCD69+8fs2bN8j8KKBvV1dXRt2/fmD17dnTp0qXY40C9ee5SjjxvKUcLFy6Mfv36xfz586Nr167FHgc2SP6E0uVaiHLkeUu58tylHJVK/mz0O8MymUysXr26kLNk1dbW1mu7E088MU488cS89a+++mr84he/iDvvvDMiIu69996YPXt2jB8/Ptq1a7feY7Zr126d21RVVTnBUHa6dOnieUtZ8tylHHneUo5atWpV7BGgXuRPKH2uhShHnreUK89dylGx82eS6XfXXXeNP//5z/Gb3/wmu+7555+Pq666qnhDAQAAkBz5EwAASl+jy7ABAwZEJpNpkq8LL7ywID/c2WefHcOHD88uX3/99UX/kDYAAAAaRv4EAAA2RpLvDFvTCSeckP3+448/jrfffrtB+7dr1y4uvvjiDd7eAkqJ5y3lynOXcuR5SznyvIWmIX/SEnneUo48bylXnruUo1J53lZkEn+p2hNPPBEjRozILj/zzDPxhS98oYgTAQAAkCL5EwAASlPy7wxbsGBBznK3bt2KMwgAAABJkz8BAKA0JV+GjR8/Pvt9mzZtol+/fkWcBgAAgFTJnwAAUJqSLsPeeuutuPXWW7PLw4cPj06dOhVxIgAAAFIkfwIAQOkqmzJs4cKFcfTRR8fzzz9fr+3Hjx8fBxxwQCxbtiwiIioqKuKCCy5oyhEBAABIgPwJAABpqchkMpliD1EfCxYsyN5vfcCAAXHQQQfFbrvtFv369Yuqqqqora2NefPmxeTJk+Phhx+O5557Lmf///7v/45LL7203o+3cuXKeP3112PSpEkxceLEmDRpUrzyyiuxfPny7DbTp0+PAQMGNPpnWrRoUdx9991xzz33xNSpU+ODDz6ILl26RN++fWPEiBFx0kknxQ477NDo48P6DBgwIGbOnNng/d5///3o1atXE0xESzVr1qwYPXp0PPTQQzFr1qyYO3du9OzZMwYOHBhHH310fO1rX4vNNtus2GPSws2YMSO22mqrBu+3/fbbx5tvvtkEE9GSLVq0KF5++eXsNerEiRNj6tSpsXr16oiI6N+/f8yYMWOjHsO5mZauOfOn7EnqZE9KhesbyoX8SSlJKn9mysT8+fMzEdHgrw4dOmSuueaaBj3WN7/5zUzbtm03eOzp06c3+ucZO3Zspm/fvus9fuvWrTMXXnhhZuXKlY1+HKhL//79G/V36v333y/26CTkd7/7XaZDhw7rfc517949c/fddxd7VFq46dOnN+qcuf322xd7dBKz3XbbZSoqKtb7vOvfv/9GPYZzMzRf/pQ9aQlkT0qB6xvKifxJqUgtf1ZGmejUqVNcccUV8fjjj8cLL7yQvf1EXXr16hUjR46Ms88+O/r379+gx/r3v/8dK1as2Jhx1+uJJ56Ir3zlK7Fq1arsus033zy22267WLhwYUyZMiVWrVoVq1evjssvvzxmz54do0aNarJ5YOedd44tt9yyXtu2a9euiaehpbjooovi8ssvz1m3zTbbxJZbbhlz5syJd955JyIi5s2bF8cff3wsWbIkTj311GKMCnn23Xff6NChwwa369u3bzNMQ0vy1ltvNenxnZvhU82VP2VPWhrZk2JwfUO5kz8pltTyZ9ncJnFNq1atismTJ8c777wTc+bMiUWLFkWrVq2iS5cu0atXr9htt91i6623joqKikYdf9iwYTF+/PiorKyMQYMGxeDBg2Pw4MExe/bsuPrqq7PbNeZWFTNmzIhdd901Fi1aFBERXbp0iZtuuimOPfbYaNXq049we/fdd+Pss8+O+++/P7vfNddcEz/84Q8b9fPAuqx5q4pbb701TjnllOIORIty//33xzHHHJNdHjRoUNx+++2xxx57ZNdNnDgxTjrppJgyZUpERFRWVsYzzzwTQ4YMafZ5Ye3bVGzs7aqgsT67vu3UqVPstttuMXjw4Nhjjz3i7rvvjsceeywiGn+bCudmWLemzJ+yJy2B7Ekxub6hHMmflIrk8udGv7csQY888kjm+eefzyxbtixn/a233rrRt6r4+te/nnMrin/961/r3G716tWZr3zlK9ltu3btmpk7d25jfhxYpzVvVXHrrbcWexxakBUrVmQGDhyYff716dOnzvPb3LlzM1tuuWV22y996UvNPC18au3bVGzM7apgY9xxxx2ZKVOmZFavXp2z/uSTT96o21Q4N0NxyJ60BLInxeL6hnIlf1IqUsufrRpXoaXtkEMOiSFDhkT79u0Letzp06fHnXfemV0+44wzYu+9917ntq1atYobbrgh2rRpExGffoDz73//+4LOA1AMd955Z0ybNi27fM0110T37t3XuW337t3jmmuuyS4//fTT8dRTTzX5jACl6utf/3rsuOOO2Xd1FIpzMxSH7AnQdFzfAGyc1PKnMqwZ3XfffZFZ466UZ5111nq333LLLeOrX/1qdvmee+5pqtEAms2a57LevXvHUUcdtd7tjz766Ojdu/c69wegMJybIS2yJ4DrG4BSVazzszKsGT344IPZ7wcOHBg77rjjBvc57LDDst+//vrrMX369CaZDaA5LFu2LMaMGZNdPvjgg6OysnK9+1RWVsaIESOyy2ueSwHYeM7NkB7ZE2jpXN8AlKZinp+VYc3o5Zdfzn7/xS9+sV77rL3dSy+9VMiRAJrVlClToqamJrvcmHPhrFmzYt68eQWfDaClcm6G9MieQEvn+gagNBXz/KwMayazZ8+ORYsWZZe33Xbbeu231VZb5TSjU6ZMKfhscPvtt8cXvvCF2GyzzaJNmzax6aabxqBBg+LUU0+Nu+66K1auXFnsEUnE2uew+p4L197OuZBiO++882KXXXaJrl27Rrt27aJXr16x1157xTnnnBPjx48v9njQIM7NkBbZk1Ime9JcXN+QEvmTlBTz/KwMayYzZszIWe7Xr1+99mvVqlX06dOnzuNAITz55JPx7LPPxieffBKrVq2KuXPnxhtvvBGjRo2KkSNHxsCBA+P+++8v9pgkoLHnwv79+6/3ONDc7rnnnnj99ddj4cKFsWLFivjwww9jwoQJ8dvf/jaGDRsWQ4cOjddff73YY0K9ODdDWmRPSpnsSXNxfUNK5E9SUszzszKsmVRXV+csd+3atd77VlVVZb9f8xV+UCgdO3aM3XffPQ444ID44he/GAMGDMj583fffTeOOeaYuOiii4ozIMlo7LlwzfNghHMhxdejR48YMmRIDB8+PIYOHRqbbrppzp+/8MILMWTIkPjb3/5WpAmh/pybIS2yJ6VM9qS5uL4hJfInKSnm+Xn9n0xGwSxevDhnuUOHDvXed81t/SNMofTr1y9OOeWUOPzww+Nzn/tctGqV243Pnj07rr/++rjmmmuyt6q4/PLLo1+/fnH66acXY2QS0Nhz4drbORdSDHvssUd885vfjEMOOSS22mqrvD+fOHFiXHXVVXHvvfdGxKcfCnv88cfHM888E7vvvnszTwv159wMaZE9KTWyJ8Xg+oZyJ3+SqmKen0v6nWEzZ86MysrKJvm64oormvVnWfu+12vei31D1tzW/bPTU6zn+VNPPRWXXHJJ7LHHHnlhJCKib9++cdVVV8X48eOjc+fO2fXnnXeeD5Cl0Rp7LmzTps16jwNNbcCAATFhwoT47ne/u84gEvFpWLnnnnvid7/7XXbd0qVL4wc/+EFzjQmN4twMsue6tvV3Oj2yJy2J6xvKmfxJyop5fi7pMiyTycTq1aub5Ku2trZZf5ZOnTrlLC9fvrze+6657drHofyV+vN87733jv/5n//JLi9YsCBuueWWjT4uLVNjz4XLli1b73GglHz/+9+Pb37zm9nlp59+OiZMmFDEiWD9nJuh9K/JG0L2pC6l/jyXPSkk1ze0FPIn5aaY5+eSLsNSsuarmyI+berra81tN9lkk4LNBPV14okn5nxI4WOPPVbEaShnjT0Xrr2dcyGl7oILLshZdt6klDk3Q1pkT8qZ7EmhuL6hJZE/KSfFPD+X9GeGDRgwIDKZTLHHKIjNNtssZ/n999+v975rbrv2ByRS/srheV5RURHDhg2L2267LSIi3nzzzSJPRLla17mwPue1tc+ZzoWUuoEDB0b//v1j5syZEeG8SWlzbobyuCavL9mTupTD81z2pFBc39CSyJ+Uk2Ken70zrJlsv/32OffG/uzktCGLFi2K+fPnZ5d32GGHgs8G9bHFFltkv//kk0+KOAnlbO1zWH3PhWtv51xIOXDepFw4N0NaZE/KnWsoCsH1DS2NcyflopjnZ2VYM+nQoUMMGDAguzxp0qR67bf2doMGDSrkWFBva74VtUOHDkWchHK200475Sw35lzYtm3b2GabbQo6FzQF503KhXMzpEX2pNy5hqIQXN/Q0jh3Ui6KeX5WhjWj/fbbL/v9888/HzU1NRvcZ/z48dnvO3XqFHvttVeTzAYb8vrrr2e/79WrVxEnoZz17ds3Bg4cmF1e8xy3Pmtut88++0Tr1q0LPhsUUk1NTbzzzjvZZedNSplzM6RH9qScyZ4UgusbWhL5k3JSzPOzMqwZHX300dnvly5dGvfee+96t89kMnHHHXdklw899NBo3759k80HdZk5c2Y8/fTT2eV99tmniNNQ7o466qjs9+PGjYtZs2atd/tZs2bl/IN3zDHHNNlsUCj3339/zivznDcpdc7NkBbZk3Ile1JIrm9oKeRPyk2xzs/KsGZ00EEHRd++fbPLV155ZaxYsaLO7f/85z/H22+/nV3+1re+1aTzwbqsXr06vvvd78bKlSuz64499tgiTkS5O/XUU7OfY1FbWxuXXXbZerf/2c9+FrW1tRER0blz5zjuuOOafEbYGB999FH85Cc/yS536tQpDj744CJOBBvm3AxpkT0pR7Inheb6hpZA/qQcFev8rAxrRm3bto1LL700uzx58uT49re/HatWrcrb9oUXXogf/OAH2eVhw4bFiBEjmmVO0nfIIYfEuHHjIpPJrHe7uXPnxjHHHBOPPPJIdt2+++7ruchG2WmnneLEE0/MLv/pT3+Km266aZ3b3njjjXHzzTdnl88999zYdNNNm3xGWNOzzz4bZ555ZkydOnWD27722mux//7757yq6Uc/+lH06NGjKUeEjebcDGmRPSkVsifF5PqGciR/0hIU6/xckdnQFUkL9NRTT8VBBx2Ut3716tU54aFt27ZRUVGRs03//v3Xe7Kqra2Nr371q/HQQw9l1+22225x5plnxnbbbRfV1dXx97//PW655ZZYvnx5RER07949nn322dhuu+029keDiIjs87ZPnz5x8MEHx+677x4DBgyILl26xIoVK2LOnDnx1FNPxV133RVLlizJ7te3b9945plncl5lCo3x0Ucfxec///mYPn16dt3hhx8eJ5xwQvTu3Tvee++9uOuuu3LOlXvttVeMGzcuOnbsWIyRacHGjRsX+++/f0R8+m/2AQccELvuumv06tUrNtlkk1i8eHG888478fjjj8fDDz+cfbVSRMSBBx4Yf/vb36Jt27bFGp/EXH755XH55ZfnrV+5cmXOc69du3Z523zjG9+oM2BEODdDMciepE72pNhc31Bu5E9KSWr5Uxm2DmuedBqqf//+MWPGjPVus3Tp0jjssMPiySef3ODxevToEQ888EB88YtfbNQ8sC5rB+n6GDp0aNx55505H3AIG+PNN9+MESNG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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Now let's pick an example system and check for shift invariance\n", "pickSystem = 'D'\n", "g1 = ExampleSystem(f1,x,pickSystem)\n", "\n", "h = (x==x0) # Delta function at x0=4\n", "g1_shifted = signal.convolve(h, g1, mode='same') # Shift by x0, notice implementation as convolution\n", "g1_shifted[(x-x[0])x0] = g1[N-1] # Padding to prevent zeros from popping up\n", "\n", "f1_shifted = signal.convolve(h, f1, mode='same') # Shift by x0, notice implementation as convolution\n", "f1_shifted[(x-x[0])x0] = f1[N-1] # Padding to prevent zeros from popping up\n", "g2 = ExampleSystem(f1_shifted,x,pickSystem)\n", "\n", "\n", "# Check whether the two versions are the same\n", "difference = np.linalg.norm(g2 - g1_shifted)\n", "print(\"Norm of the difference: ||g2(x) - g1(x-x0)|| = \", '{:f}'.format(difference))\n", "\n", "\n", "# Plot a1*g1+a2*g2 and g3\n", "plt.figure(figsize=(20,10))\n", "plt.subplot(1,2,1)\n", "plt.rc('font', **font)\n", "plt.plot(x,np.real(g1_shifted),'gray',linewidth=6.0) # Plot the real part in case it is complex\n", "plt.axis([x[0],x[N-1],-3,3])\n", "plt.xlabel('x')\n", "plt.title('$g1(x-x_0)$')\n", "plt.subplot(1,2,2)\n", "plt.rc('font', **font)\n", "plt.plot(x,np.real(g2),'gray',linewidth=6.0) # Plot the real part in case it is complex\n", "plt.axis([x[0],x[N-1],-3,3])\n", "plt.title('$g2(x)$')\n", "plt.xlabel('x')\n", "plt.tight_layout(pad=4.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Q3: Example vs counterexample vs proof\n", "In the previous questions, we have examined whether certain systems satisfy the property $g_3(x) = a_1 g_1(x) + a_2 g_2(x)$, or the property $g_2(x) = g_1(x-x_0)$ for some specific examples of $f_1$, $f_2$, $a_1$, $a_2$, $x_0$. \n", "\n", "For those cases where the property (of linearity or shift invariance) holds up for our specific example, can we conclude anything about the overall linearity or shift invariance of the system? \n", "\n", "For those cases where the property (of linearity or shift invariance) does not hold up for our specific example, can we conclude anything about the overall linearity or shift invariance of the system? \n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.15" } }, "nbformat": 4, "nbformat_minor": 4 }