{ "metadata": { "name": "FastICA" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "sklearn.decomposition.FastICA" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "Fast ICA is a version of independent component analysis developed by A. Hyvarinen and E. Oja. In trying to understand how ICA can be used, I created this notebook." ] }, { "cell_type": "raw", "metadata": {}, "source": [ "ICA is used to find components that contribute to a joint signal. An analogy that is often used is to use several microphones to distinguish the contributions of each instrument to a symphony. You need to have as many microphones as there instruments. I guess it would help if the microphones capture the signals from maximally different locations." ] }, { "cell_type": "raw", "metadata": {}, "source": [ "First we import some stuff." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline\n", "import scipy as sp\n", "from scipy import signal\n", "import pylab as pl\n", "from sklearn.decomposition import FastICA" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n", "For more information, type 'help(pylab)'.\n" ] } ], "prompt_number": 1 }, { "cell_type": "raw", "metadata": {}, "source": [ "Here we will create 'recordings' from two microphones of two separate 'instruments'. We start by creating two signals, one from each instrument." ] }, { "cell_type": "code", "collapsed": false, "input": [ "t = sp.arange(0,50,0.01)\n", "instrument1 = sp.sin(t/2)\n", "instrument2 = signal.square(t, duty=.5) / 2\n", "pl.plot(instrument1)\n", "pl.plot(instrument2)\n", "pl.show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\no9EA+P80PjeveewGYQAAAABJRU5ErkJggg==\n" } ], "prompt_number": 2 }, { "cell_type": "raw", "metadata": {}, "source": [ "Then we mix them into two different 'recordings', each with their own noise added." ] }, { "cell_type": "code", "collapsed": false, "input": [ "rec1 = instrument1 + instrument2 + sp.randn(len(t))/15\n", "rec2 = instrument1/3 + instrument2*1.1 + sp.randn(len(t))/15\n", "# pl.plot(rec1)\n", "# pl.plot(rec2)\n", "# pl.show()\n", "symphony = sp.reshape(sp.concatenate((rec1,rec2)),[2,len(t)])\n", "pl.plot(symphony[0,:])\n", "pl.plot(symphony[1,:])\n", "pl.show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAD9CAYAAABeOxsXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXlYFdUbx7/DLoLiBipgqKCAC6AoWS64oLnhVrlUWpY/\n3DPLtFWpzC0zlxZLLc0yUzM1lVwSNU1xQVNxgdwABXFDQGWd3x/D3We/M9ztfJ6Hhztnzpx577kz\n5z3Le96XommaBoFAIBAcGidLC0AgEAgEy0OUAYFAIBCIMiAQCAQCUQYEAoFAAFEGBAKBQABRBgQC\ngUCAmcogMzMTXbt2RYsWLdCyZUssWbKENd/kyZMREhKCiIgIpKammnNLAoFAIKiAizkXu7q6YtGi\nRYiMjERhYSHatm2LuLg4hIWFafPs2LEDGRkZSE9Px9GjRzFu3DgcOXLEbMEJBAKBoBxmjQzq16+P\nyMhIAICXlxfCwsJw48YNgzxbt27FqFGjAAAxMTG4f/8+cnNzzbktgUAgEBRGsTWDq1evIjU1FTEx\nMQbp2dnZCAwM1B4HBAQgKytLqdsSCAQCQQHMmibSUFhYiGeffRaLFy+Gl5eXyXljjxcURZnkYUsj\nEAgEgjBKeBUye2RQWlqKIUOG4MUXX8TAgQNNzvv7+yMzM1N7nJWVBX9/f9ayaJomfzSNmTNnWlwG\na/kjdUHqgtQF/59SmKUMaJrGq6++ivDwcEyZMoU1T3x8PNasWQMAOHLkCHx8fODn52fObQkEAoGg\nMGZNEx06dAhr165F69atERUVBQD49NNPcf36dQBAQkIC+vTpgx07diA4OBjVq1fH999/b77UBAKB\nQFAUs5RBx44dUVFRIZhv2bJl5tzG4YiNjbW0CFYDqQsdpC50kLpQHopWctLJDCiKUnT+i0AgEBwB\npdpO4o6CQCAQCEQZEAgEAoEoAwKBQCCAKAMCgUAggCgDAoFAIIAoAwKBQCCAKAMCgUAggCgDAoFA\nIIAoAwKBQCCAKAMCgUAggCgDAoFAIIAoAwKhytmzB/jvP0tLYR88fAhcuQJQFFBebmlpbBuiDAiE\nKiYuDnjtNUtLYR+8+SbQpAnzuazMsrLYOnahDGiaPAhqQ1HArVuWlsJ+IFFeleHuXd1nEd70CTzY\nhTL45RfA1dXSUtg/ubmWloBA0HH1KtMR1EA6hOZhF8rg0iVLS+AYFBdbWgLbplcvIDub+bxvH5CW\nZll5bJ3GjYENG3THZM3APOxCGZw7Z2kJ7JcjR3Q9LrLoKY+rV5npjF27gKNHdel//20xkWyaR4/Y\n08nIwDzsItKZ/vzre+8BgwcDbdsCjx8D7u4KCehgUBSjCJ58UpdWrx5ZN5AD1/pArVqGc94EYY4f\nB9q1Y6aHjOv15EmgMhS7Q2E1kc5Gjx4NPz8/tGrVivV8cnIyatasiaioKERFReGTTz4x95a8zJ4N\n7NjBfN60SdVb2S0jRzL/9RUBADjZxTjSerh3z9IS2B6azoibm+m5Nm2qVhZ7w8XcAl555RVMmjQJ\nIzUtCAtdunTB1q1bzb2VaD74gPlvHWMe2+PHH9nTiTKQzoMHlpbAPikttbQE9ofZr3enTp1Qq1Yt\n3jxqzkR9/jnffVW7LYEgCE0DsbGWlsI+oGlg/35ikqsmqvf1KIrC4cOHERERgT59+iBNQROK48eZ\nTSdccC00EeRBlKs0rl8HUlO5z0+aVHWy2DppaUSxqo3Z00RCtGnTBpmZmfD09MTOnTsxcOBAXOKw\nBZ01a5b2c2xsLGIFfv127fjvXVgoUVgHp6IC2LaN+zxRBtKIieE/76L622c/aMxGU1IsK4c1kJyc\njOTkZMXLVf1x9Pb21n7u3bs3xo8fj7t376J27domefWVgRKQxks8//4LREQAzs6WlsQ++PNP4U16\nZKOkeDTvssJNhE1i3FFOTExUpFzVp4lyc3O1awYpKSmgaZpVEagBUQbi0Vhp8G3cIfUpjosXgWee\nEc5HFC/BmjB7ZDB8+HDs378ft2/fRmBgIBITE1FaudSfkJCAjRs34uuvv4aLiws8PT3xyy+/mC00\nIK5hIo2XeMTUVWCg+nLYA8YmuQTz4Xs+J0wAvvyy6mSxV8xWBuvWreM9P2HCBEyYMMHc25ggxrSM\nmEIqC1nwFIdYs0fSWRHPF1+wp5eXM+85UQbmY7PNZUmJcB7ysolHTF0Rsz5xFBVZWgL7Y/Vq9nTS\n4VMOm6zKo0cBvXVpAICnp2k+ogzEMXky40SNUHVMmUKeT7GweRKYOtXweMUKoGXLqpHHXrFJZcA2\nJ3v/ftXLYS8cOcJ9TmP++NJLpPFSAo2rlJo1LSuHrZCWBjz7rGn6iBGGz2Pt2kDTplUnlz1iU8og\nMxPIzzdN/+03xkzvxAnDdNJ4CfPwIXDsGPd5jcspMkUkDiFPpL17M8+lhwd5PsXw++/s6fXqGR6T\n59N8bEYZHDoENGrErv01ZnytWjGjBo3fffKyCbN4MXu6uzuwbBmwdq2uHkl98nP4MNCpE/u54mIg\nKUl3TFGkPoWgae4YGnXrVq0sjoDN7IHUjAju3DE9p7HXdnUF/vlHl05MIflp1Qo4e5b9XJs2jMme\nBtLzEuazz9jTQ0MZL5v66zKkPoV5/XVg6VL2c2xrhATzsJmRAVcv6s8/2d3Zdu0K+PqqK5Otw6YI\nGjdm/rM1VqQny8/58+zpXBYvpD75OXBAWn5Sn+ZhMyMDLnr2ZE8nPS95hIUxdWo83UHqU5gLF8Tn\nJfXJz/Ll0iLrkfo0H5tRBuvXm6YZm5caQ3oK3Fy/zp4+fTrQuTP7OVKf7FRU8HvIJfUpnbFjuc8J\nOQAkyMNmponYAq4UFHDnJwt03JSUAE88YZr+8svcDRfpeXHz5ZeAlxf3+a+/Nk0j9SkdTYxjMu2m\nDjajDKRCXjZuBg+Wdx152di5eFHedaQ+pcHn2I+87+Zj9dNENG26f0CDgFsk8rJxcOYMezrfC0VG\nWtzs2sV9bu5c9nRSnwRrw+qVwcWL7EFs8vKAOnW4ryM9BW6ysqRfQ+pTGv/9xwQKev119vOkPrkR\nUpKk7tTB6qeJuBzS+fgIPxSk58VORYW860h9spOebnjs5gY0acKtCDSQ+mTnwQP+81wbzkh9mofV\njwy4fmAhRUCG4eJp3ZqJdMYH6Y2J59dfhfOQ+uTGWLnqc/06u18nUp/mY/UjA+Ne7IwZzH+2H/9x\n2WPMPjCb8zyBPZIZlwWRMUS5iqNWLXH5SH2ywxfbPDAQqFGj6mRxJKxeGRj7MY+PZ/6zNfZnb53F\n+/ve1x6Tl82Uw4dN0xYtEr6OKFd22JQriQ2hLGlp3G5T9CHvu3lY/TSRsSO1Dh2Ac+fYXyYKukTy\nsrHDtgbj4sJs8nnhBf5ryctmyssvm6aJXZMh9SmOsDDhPPfLclDq5AmADBvkYvXKQJ+EBOZ/eDj7\neSfKcKBDXjZTevRgT2fbGKUPUa6mnDzJeHU1RuzIgDyfpuTkGB4LLcJrGPlvA9QJ7g5gj+IyOQpm\nTxONHj0afn5+aKVxfM/C5MmTERISgoiICKSmpoouOyPD8FgolDJFGY4MyMvGz+rVwMcfi8t71Hs6\nKipIheozfLhpWni4LgYEH0S5snPvnuGxZuRVUFyAR6U8Pj8APHLj8LFCEIXZyuCVV15Bkr6jdiN2\n7NiBjIwMpKen49tvv8W4ceNEl71/vzRZ9EcG5GUzxVg5jhwJvP8+e15jTnvPRwVYJsgdGONn7OZN\nZgrTOPBKTmEOa0NGOiumbNtmeKypo6DFQei3rh/rNXRlpgonfmVB4MdsZdCpUyfU4jGf2Lp1K0aN\nGgUAiImJwf3795Gbmyuq7NdeMzxmW6zT8E/mP0jJTgEAfHb4M9zx3k9eNiOEvECWlJfgx9M/Ymf6\nToN07ctGy9yg4CD4+bGnN1jYAP3W9UNeUZ42jXRWDElJYerEeNrN1ZX5f/fRXVy8rfP7cfvhbQz4\nZQAAoKyCcVpU6kJi35qD6msG2dnZCNSLMhMQEICsrCz4sbw5s2bN0n7evTsWQKzBeT5l8NSqp7Sf\np+2ehjr+XQH8JU9oOyUkhP98UkYSRv4+EgBAz9RpUo0SKKfJyEAf4wadr4H/68pfCP0yFA28GiCq\nQRSaV8wHTTdQV0AbQuMiRd9VyunTQIsWuuNyuhw0TYOiKBy/cRxbL25F/uN8jNvOzDaUOxdWocSW\nIzk5GcnJyYqXWyULyLRRF53ieGs0yuDBAyAx0fS8xmuhPkezjiKqQZRJ+p0a+yrnuEkXjI1Bg0zT\njBfgNWy+sBkAQJNpIgMKJbY9dx/dxd1Hd3Eu7xyAtRhDPQAg4IfdQThyxDStdWvD45zCHCz8ZyE6\nP9EZRSVFAIBN5zdh3VkBJ2V2RmxsLGJjY7XHiWyNpQxU32fg7++PzMxM7XFWVhb8/f15r+EaARin\n33l4B0+ufBKrUlcZmJVqOPmAx4OYg/Pbb7rPZRVl6LCyA24W3NSmZT/Ixo2CG+j0fSdM3jkZAHC2\neEdVi2m1PH4sz8eTPoc9pysjjB2wYoW4fJvOb0LMihg8u+FZAMCrW19VUSrHQvWRQXx8PJYtW4Zh\nw4bhyJEj8PHxYZ0i0odrrr9+fcPjLRe3AABSc1Lh7OSsnTvUUFDGEjCZYILrx8zE7JEsXfcsYFGA\nSb4bZWcAPF9VYlktFy8ycY31cTF6kzp/3xlLei9B9oNsznJKKZ6AHA7Ohx/qPpeU6zbH6D+jBGUx\nWxkMHz4c+/fvx+3btxEYGIjExESUlpYCABISEtCnTx/s2LEDwcHBqF69Or7//ntZ9zFWEOl30rW9\ngm9PfMtxDVlB1sA1n00lip9Ge0w7xpysEMaKAADeecfw+OD1g4habjp9qc+lamsBsERtIhi49Hhc\n9thygjgQZiuDdUJBBQAsW7ZMUplNmxoe61uj5hXlYfqe6ejUyChILws0iDJgo08f4OLti6jhLm23\nZgldpJJEtk1AgHj/TgRx6O8pStyvzJw4gR+r3IF838hCTBMg5PiN42j3HePF6mbhTQhRTrOsODsY\nNA00MDJa2b4doBJD4e7sLqmsCmJNxEpmJrMp6v2/5qGWRy0MDpMZSs4BuXvXNC7J8OGMSenn/3yO\n705+hwu3L1hGOAfDKpUBamQCD3TmqDVqAA+KH2gVAcCYQQpRXEE2odA0wLWto7i8WFpZZKTFSY25\nulHWW7vfsqAktoXxjmOAiVUCAG/uerNqhXFwrM5rKU0DmNoIqMv0Btq3B0KWhqDmXBYn5gKU06UK\nS2d7sDlNyy0Ut+nPGKIMlMW3pL2lRbA4bMt6FAV8mfKl5LJ877DYSxNEY3XK4M8/Kz+4PgTA7EjM\nuJvBfQEPZMes6cs2bx5Qf2F99syEKsWtwsfSIlgcg85Ks21Azes45fkZ5h7iCB5NUA2rmya6o28N\n6p+C2x7y56lJT9Z0ZDBkCDCdxdOmGOo4NTFfIBumtNR0WuN//2P2u8iBBumsGDyfI+KBQl8c9roF\nCIS+ZIe87+ZgdSODF1+s/DCmPTAmxsDNhFQcfWSwejXgUScXCDykTTPH2rYuFayAVLbLRx8Bfp22\nAdE6f98duxSj7gKOoLwCEGXAErTG65ascoY1fM98YRwcq1IGD0sfAnUuMQdO5luu+Dg7tu+Xs2cB\n9JkIvNpRm9ZzW3PLCWTjZGUB6P060G8801l5agHezGoku7y6pW2VE85Gee45ZcoJ8WpLZgLMxKqU\nwf/WvwtMMq+xcqactZ9ruzY0VySbJi8P0PfNFNGmBFceXJJUxsbnNqK+F7PG4OgvG00DoCvr0/8Y\n0PNt5D2S1pOd32O+XoFW9fpVOQ9LHwKggQGjgfri45xo8HT11H5mc0dDkIZVPY0Hrh2Udd2q+FUA\ngIGhA5E/Ix8jI0ai1sN2qHDwHcirV0PX4HRJxOl44X0FvYN7GxwPCR+Cf179RwXpbI+0NJjVgKeN\nT3N4haqhrKIM1T+tDnScC0R9D7QS3rz6QecPsG6ILt+m5zcZ5SB1aw5WpQwyy05Kyj8wdCAAoLUf\n496wvKIc1d2qY/XA1XCpqK64fADjvuGXs7+oUrYqaBqvrrMEs3YI6ICNz2/E3bfvIrJ+pDY9yCcI\nzUuGO3x8CCbynnAPVL/Hqk9YvTA8E/wM2vu3R7x3Ihy58dqwsXIauMe7zP+nF3DmTWibgIOvHMSs\n2FkY1nKYNv2pwKfQ2Kcxpj89ndMTMkE8VqUMpBLdIBoA0LZhWxwefRjf9PvG4LxavomO3ziuSrmK\n454vqifboh7jNN7LzQuerp6oVa0Wa905eq/23oMSwINll5QRedPycG/6PewduVebdnrsaQBMx+Xo\na0fhQrk7dG3OmSd+TfCbft+gY6OOBi7WX2z9Imq418Dl1y9jbo9KM1TKkWvUfKzOtFQK73R6B289\nxez27BDYwegspXhP9nQO80LbjJXSO8J27HnT8lDLoxZWnFxh4EYhoW0CjmYf1R5ToBy5I4ut53cA\nH/QVldeZcoaPhw+6Ne6mTdOMXjVQcGxHimfOlQHx8q69P/0+PFw8DNIoUKrE6L5RcAOnc06jrKIM\n/Zv3V7x8a8LmlEFsUCymxEzB18e/hhPlBHcX7nnwtPM03nsPmD1bmXv3/omZT7d2ZUDTNApLxHkY\n9XbzhrOTMxKiEwzSx7Ubh3Ht9DwEqjAK/3Dfh6igK/BJt0+UL1xBft99C4MOi1MEgGHwpoxJGTh4\n3XQtzOGnNZzk+w2r6WHqjeBhEWW4R0kBikqK4P+5P1ycXFBWUWYQ/c8esSllUP5huXaoOCB0AG/e\nvFsUfjsI4IpyykDjHM84boK1sSFtA4ZuHCqYb92QdbzK1JiffwZa0sBnn0GRF+/Tg5+inC7H5gub\ncW78OfMLVImsbGlmzvqWLU1rN0XT2k1Z8zn0tBslrk5z3xLnOqW4BIpPE2l+H2t/35XCptYMuMIy\ncqLSHGLG7SvIKcxRpWwl+OPva4J5PF09DRbjREHRWL+e8TQ5VFjXCOLsxJgBp+WlmV+YilwuThGV\n78EMZtusmF6/Js+9e8C+ffJlMyk3kdIGitew8uRK/JnxJ8cVVU9ZRRnwtq+ovL7VxeVzUmGkZRKu\nN5HCyZvSjFxsCatWBs3qNEOQT5DMq3UPx7Fj/MHKpfLnlR0GHlStjR+X1xbMI3WqS9PbPc0sm+DX\nXyWLxSKE7vE7e+ssfjxtnYFe1t5+Q1S+aq7VAEixeacRHg506yacUwpbL25F1gNdTM7Xtr2GiTsn\nKnsTM9DEL1YSJycAoEFR7LHS5cD2jmjWDe0Rq1YGgTV0bqzlzdcx1/zwQ+WRggOFW0Xyts1XCXe5\n3Ub8N/k/ANax7lFC6yJYTd8zHSN/H2lBafgQfnAuTbykVQKiRgagkJUF5FQOMA8d4s8vhhMndJ8D\nFwXiWPYx5BXlae9nLaw+vVpUvmeCnxFdpn6dm7i4kAnbO2LPU3tWrQxo0IhuGC3zYt3DcbBy/Y7N\nnbNcNHFZsx9kW0XDagDH4pynqyea1GKczTWvY11uKTRD8qSMJJSWW5frcTENQEidEG2DJLbhzc/X\nlduxIxDFHyVTkKNZhtNZ7Ve0h+9nzDSL5ClWFcm+yf37FrxTgFldZgEAarpLdFtfOS0cFcXMBJw/\nz/z/5huB6zh4XGL6XmtC7VKJFH49p8Tw2HqwnieEA82DIYvKh+PMGeZQSWUAAN1Wd0PAogB0Xd0V\ntx/eVrZwc4gfw5qs76pDqgXP9euAmralOzN2AmAsttafW4+3d7+NmwXC0eyqAiFlMLXDVACQNDJg\nm+M+dQooN8Ml1+wLIzjPWZP10s6d3Oe83LwwM3YmMiZl4Nv+7LHNWaFNv194OPP/2DGJAlZSUMje\nYGieyxM3T7Cet1XMVgZJSUkIDQ1FSEgI5s2bZ3I+OTkZNWvWRFRUFKKiovDJJ9IaIRcnuQZPpg+H\nOS8aG/uuMit/B64dwOpTq61nZ3KtK4JZgmtL80BaVMjdmPz5J1BSIqk4XtacXoMFhxdg26VtyhVq\nDgI6MKo+06WnKEr0dObjx2A1cBhsRsTMgGoh8i+uQs7WNNxt3K6h6fpb09pNJcXoZgaW7HUvtxO4\nZy97g9Hwc8bnmTVNvSmBWcqgvLwcEydORFJSEtLS0rBu3TqcP3/eJF+XLl2QmpqK1NRUvP/++5Lu\n0axOMxwfI3fHr+HDoekhvPgisGyZzCI5uF98H8M3DVe2UJWgZ9IIrxdudjkvv8z8f+YZYOFCs4vT\nsvvybgBAak4qFv2zSLmCZVJWbtrITGini9jO5X6Cj5Mn2RuSrVslF6WFL+b3hdsX0HyZdUwN0tUN\nzUWnPz0ddT3luQHXcPQod8MsVxkUlTzkPW9Noy0lMEsZpKSkIDg4GEFBQXB1dcWwYcOwZcsWk3zm\n7LSkKAptG8pw9UtTJj2vzp0ZM76ffgJWrJAtEiv/ZDLO3ORGZVOUA++yJrfya6XobVavBh5Vhpl+\n910Zew8u8u/o/Ob4N5i6a6o84RSksMiwNfn12V8R1yQOAPD3K39rfWRJQY1pt9v3+M1oLt2R5rG2\nqhgcNhhrB63FL0Pkj6wLHoDTlFxu8+Ph9Vg4kx1h1qaz7OxsBAbqLH4CAgJw9OhRgzwUReHw4cOI\niIiAv78/PvvsM4SHc/RKk3Ufn+nxDEa1GWWGdOxaW2kzPg17rzB+aEKWhuDK61fMMIlVgApXk6Si\nd4vMX0Rkedk89TrFkqeKHtUyT54qwrm4DsqrZ+O31jQG/0uhoXdDtPdvjx0jduDpRk/LK5Sls6Lh\n11+B55+XXuTN3BJAIKLpzOSZOH7jOLaP2C79BgoRWjEEF5x0HkcpikKv4F5mlsrdS9+/n3k23d2B\nwkKgukgfloGNaOCimWKpQHJyMpKTkxUv1yxlIGaY1KZNG2RmZsLT0xM7d+7EwIEDcekSRw8lVvdx\n53s8q0yi4e4SqOkWJq8oz7LKIDYRANCuQQyO3TyKM+POyJrKMET4t750CWggJZ4Q7SycxwrwujAW\nd+ttAxUBPHz3oXY/Qe+Q3gJXctO4MYUrHD7vhg6VpwycyoV/41/O/oJLdy4h/U46QupYZo0hDINx\nAZvgfKcl2lAvK1Im0xSxv9TXrzOKAAAePBCvDITaiLl/z8Wc7nNEy6gUsbGxiI2N1R4nJiYqUq5Z\nXUV/f39kZmZqjzMzMxEQEGCQx9vbG56V3cfevXujtLQUd+/eNee24mCxLtDn339VvLWV2CKn/O8I\nUl5LQUvflmaX1UhEQK81ayQWWmEbyuDuHSfgQQAoSrexzFyYCF/cz8ljGTMU3tniV59XpCo8TyqB\nBg0Aj/ThKFtyBimL31SkzKAg9Xcgs/Ha1tfQa625oxrrwCxlEB0djfT0dFy9ehUlJSVYv3494uMN\nXRHm5uZqKzUlJQU0TaN2beEdsopgIZe2J25Y2OSMdkKjwmcBAO38ldkp7SvCK8CqVUBBgYRCRY4M\nUrLFuYNQDYoGaAohCnak69bhb7z27GFcVUiZenN2ooDjCcCtFpx5NO8iE2XMkBsFN8TfzEz8/JQt\nz8cHFnnfV6auxK7/doFKpLDvyj4EfRGEu4+qoLOrAmYpAxcXFyxbtgy9evVCeHg4hg4dirCwMCxf\nvhzLly8HAGzcuBGtWrVCZGQkpkyZgl9+4V4kKnq3CAt7KmWWItxT+OQTadNFNR7EiMr31fGvsP/q\nfvEFK0xo8Uvo6NtH0TKZhlC4siT1aEu8mP//ctvHA0DMihjcf3xfQsHK4uoKABS4lrpkQYG38erf\nH6hdWze9IQZnjW7d/hVnnnuP71XensL5vPO4fO8yAj4P0Hro1HdjoRZqjJyHDLbMyECfbmu64Vr+\nNdSZX0dxWaoCs/cZ9O7dGxcvXkRGRgbeeecdAEBCQgISEhiXyBMmTMDZs2dx6tQpHD58GE8++SRn\nWZ6unpjQbgKOjZG5S0SPZ54BhBqvDz4ASiVsdnUvETchfvbWWcSujsWD4gcIWWop229lXw5XVwpt\nRBh1OUl4omLauQB75gC//YSn68fx5q01rxbS76Sr4tdGCEqFHqcaNurOLpVyXuvMmUezOXJpylKE\nfxWOpkuaIrsgG3ceMaZgj8uqyoJG2e/v5gaEhwv/Tu3biy+TpsE7yrI3rG4HsruLu3wXFHo4OYl7\n2KRsRJNqVrzh3AYDU1MqkemNAcCD4gegEtWzU1bDBHrIEKXvq3t5ax9dIpi72bJmeG7Dc9rjOw/v\n4M5DphEb+8dY/PTvT1JuLpqwcAiuQUmFGW0oq2SqVYNsOavUXYUKszkUKDRoyBRcg2evWpaEgU8F\nzUwPokS68YU1O7LkwuqUgaLo9eiWLmXPIkkZONFAfqBwxkpe2/aaSZpmGK6mozu1FrAbNlSh3MrG\nKyVJ3I7o7IJs7eeo5VGI+CYCALD8xHJ8eexL5eUD0KQJjYgIZcvUd0eRotCSSHsz2p8pSVO0nxf9\nswgHrh2Ay0fqhDuhQSs+LtK3bKymzBq/pmTgS+ku1o/fOI6CYsMFtHuP7lmX2xoj7FYZaIbhTZsy\n89gTOTz4SnF3S1EAdi4BtktrdKhEClsvMltLe67tia0Xt6o+faT0NISmPG9v5nj0aPZ8Ulxb6yut\n3JsuiC4RtixxddLtoch8kInsAp2jwIISKavX4mGmjpUfar3wIo2iIqBdO6Amj0+2NJFtkZOznrKe\nnydJlk3nGbv/4rJiTN01FdN2T0M5rbD/FgNUmOMHjTfeAEYJbE8Su+GUpml4eADIfwKYJb0j9Nbu\ntwyOo7+LRtMl7IGOrAG7VQYAsGIljUOH+BfhgoJkFHxsPLD0IlAg3qheP+CIcfARxVHRqEJjo/3l\nl+zTRuMqI2VWVIgddekaheMnhP0GnLh5AtP3TMfZWzo/xU+vYjZ+nb11FqN+N2ejIhe04tNuFEXB\nx0e3aa8lj/WvxgW7cJmAtj4fynPvELk8kimrspwzuWdklVPVaOT9/HNmNzxffe7ZI65MczsB355g\nHO1FfxuN9WfX4/K9y3hQ/EB2eWpjt8qAoij41jM0YXuaZbNofr40NwozZlR+uNMM2LWAN68Y1Iic\nRKvQeBmkua3SAAAgAElEQVTj4QFs3Mh+rl07oF8/IEbA+IqmaYMdzChoKOre8w/NR6uvda41jmQd\n0X5ec3qNwbFiKLxmABiOjPgaqAUiHzOaBoy2+UhGE+LxaDbjSWDEb/yWXnIwxz2NmHJr1gSmT+fO\nd/SouHfeZLp14zrJMlGJFE7cPIGfz/6sTfvkgHXG/LZbZQCY/pirOWJq1K0LHDgg4wZnXgB2CC98\n8tH2Wxl+l0Shjqndt98CK1fy5zt+nHFTfELEdgt3Nz05/3kD02jz51S3pyvrakGNNRjjaTwPD6B1\na/PKpEGbzJf7FDNd5A+7fCirzLO3zmLe36beiM1F8WlMo94Pn1Xb1avA2LHMbmQ+aNpIzrPDgGJv\nWfJppokBYPOFzbLKUBu7VQZsDxvfXrfUVDGlsvS4UyYBACLrR1pVABE1pjUAxv5df70gx4xQ0DRo\nw9ED7QxP1MGj9x7JLxTq9DzV8FBpLGe3bkDjxux5hRQwU6DRc//FZdxf/BeaVmuDtg3kdzpm7J0h\nnMkK0Ffa9QV8NG3cyL9OA3A8R3eDQT0ybx+BtU69WU/rpQLGP2atWkr4JKKQn2+Y0qp2NEZHjkb5\nh/IW3PTnv5WgKt1hmLOTlAYNZ2fDRraiAvjpR/OsWHKLcoUzSUCVkQGLclm0CLh8mf0Zfc3UMI2T\nEZqZnfuNgYf18HnoCfRqah8uE7gw7vx168a870qUbMD3+1HrpwsAINvtdmmFdUXy02C3yoCvJxfH\nsr+puFi4TM07amzHfGbyMUyKmSReOCPmH5ov+1ouqtLX+uzZ8q81lrO4GHjtVeaxnNheXhB3xTdO\nqWRNJFXJsIQKYS2PzbTS3cUdiZUODHe+oIQTSPlUqLxmoGHZMuCtt5j1gTdluEDSyNlO32S3xBt3\nsxktc/X1qzIltU7sVhkA3C8b28ty8KC4KQ+hJmF4S+kBbpKvJku+hheVBgZc9TllirwIXZqXt29f\nXdr8+QBoJ7TfQWNpb47NIQJ0b9xd1nVcqGIXD0rydJaQOwyaZpTrggXAEr2lLI2+/aDzB3gw44Gk\nQPNqoXRnha28ESOYxffatQE5jj2Z353CgQOAl5fB3QAAbs5u8oS1UuxWGfAtUGl8uOgvMv3xB+NN\nkd+3ju7lDQtjz9HaT/oqoOJrDZQ6jRcXnp66qGdyyhWKMTE6ajS+7CN+b4f8UKnsMI22+o2XUtSq\nBUzSG6hqLGcoioK3u7wFUFuAb6TF5bb6DM/0vUZXe3gYmarSFPzpGO1zljwqGXnT8hTxnGBJ7FYZ\nANwLiRpl4Mmyy3zQIP4yNS8xl2uG58Kfw9josWJFBKC8MlBrkxQfDTmsQvksijQmsFMFgpn5VveF\nj4ePaFk05pFKosoCssAQTqzffW15HM/7K69wX3PrLfV2wnNRFdZZYpkyhfucfifA1SBeFIXRFUe0\nMa+7BHVBXc+62PjcRszqMgvTn+axa7Vi7FYZ8L28mlOtWKJAXrggrnzjHc1ff838b1q7Kb7u+zUq\nPhQfeFUNK6SqDs/ati3jbvmLLwzTCwt5LtJTWsM5ZtfSxqdhZpeZBg1dWF2OYVklSisDSzVebG27\nkGNFrnLvcQTSqVe9nqAck9rLXw/jxvJeRgERjippNmXA/n494fMEZsbOxNwec/FEzScky2Jp7FYZ\nANwvcVwcEBwM7N5teu6+SE/JHh6Gx+PHGx5TFIWjr+lCgEb4Mc5trk25ZlKW4iMDlRYNhF42V1fg\nxRcN05z5QhboTWf9/LPRqcoTYfXC4OHiYfCdanrobALZ1mhKy5W31lDDy6icxmsJz7YWvtLEhBCZ\n9tQ0jnKtI1gTH2JGbv/7n2nawYMwsQ7UoL/Q7Wa0PPDRR/z3siYzc7HYnsQi4Xt5x4wB0tOZYbjx\nGgGfCwX9l8K4pwAwm630ae+v85f7w8AfsHnoZjSqaRoyTI0piKpYoGNDTA9KA990Fl87OS56nPbz\n/DhTSyybGBkI1OfvvwObNjGdFn3eeotntCVxaWNml5kGx2x1Cai3Y1hphH6nyhArJqzj2list29D\nqPE35qu+7DEl1g5ai3YNrdOjqd0qA0DcQ2zst0jIcZ3m4TDuKQBGJmiVnPwf424isn4kBoYOZC0z\nrgm/L39bwrheOnYE9u1jz2vsNqO7nhGQsSdPzW+ZNy0PIyNG4sT/mMUINosOdey4q3bNYMAAJiYH\nW7jwCo4ZSGOrJ+NduMY7boVGOzXda2Joi6G8eeSgyqZAkb/PWZYtPVyjV5rRBgCYd9tYCX/xBXfn\n8ZngZ1hl8vPyQw13Hh/bFsRulYHcnvEjgc2vmmJ5pz/0iGoQBXqm4cO/ZqBhsGDlewrKWxOJhW3E\nxG0tRBv8Tr//bnRWr9p6Nu2JSe0naTf6RNZnHKp5uHjg/nTd3N6g0EHKjwws2HixPcZvv82e13ik\ntXev4XnjHbeaupzdTbdRJDUhFXnT8vD4vce4P+M+OjbqaFULvnyI+Z1asMSq4XJdQdMw8ElVvTrg\n7687/8YbwJUr3Pc6PfY0XmsjYbeghbFbZQCIH95v2mR4LMaroTmzMB0COxgcKxVkXYNa1kRi6pNL\nSf77L0t5Ru4TDG25gYV6EVD9vPywpLduwlz/Os0awuSYyWhci8Ofg5lYy5oBwD3dARg+l2y/hWZa\nNOuNLK3Vm74ckfUjUdezLtxdmCGzGt9bDSiKEv2+f2U0g8O1u5vN4aNxnRpPDevTyq8VWtZjbFKT\nRyUblGuN2K0ykPIQG5uTsu1QZjD8EZOTJYmkxZlinqjPe36O7o27q7J5RXHfRGY2ChERwH//GaYJ\nvRTT2NczGXkqv6CmIbs08RIWP7NYW7fKYn2+jubMMU0zrs/mzU3zaKY6/Gv4w9mJqavicv7t90qP\njCw90hgzxjRt7lzTNOORAWCqDLis4DRoRl9dgrrgyutXrFq5mq0MkpKSEBoaipCQEMybx+7dcPLk\nyQgJCUFERARSxXmEUwSxD7HY99K4x802vNTfTcuF5iV8o8Mb8HLzEsgtB+vsebCtxwg1ircEzOA1\nDUtIHV2wIOUbL5VGBmb8Tu++y1og9J9PX1/gEyNvyXl5pr/DsJbD8MaTb7DeR5XNcWqNXEX+7i4s\nexIrw7cLlie1Oka0GoGbb94EAAT5BEm7uIoxSxmUl5dj4sSJSEpKQlpaGtatW4fzRg5UduzYgYyM\nDKSnp+Pbb7/FuHHjOEpTFinDRkC8San+w8C2C3nHDuEyalcztPOzVS+b3PmA06dF5TRJiYw0PPbz\nE7MxSIc6O3tpxdsuKcpl7VrgCZFm68alGq/XhIebWsaE1wvH570+5yxTnZ68wuVJ/N1//FF0yQZH\nzz8v6TagKAr1vQRcqFoJZimDlJQUBAcHIygoCK6urhg2bBi2bNlikGfr1q0YVRmHLiYmBvfv30du\nrrJeJdmQ2pMzXly7LcKtft26TFhNqXi5eWkXldXZ2ao8UuUU65vf+Hdi0zdc03EbntsgaWeyXEz8\n2itWrrhf6oUXGB/8guWx/PJt2pjmOyIh9o+1jYjElPuw9KFg3hdfFDYXZXOo99JLpvmEjE6MsVZT\nXbOcuGRnZyMwUBcgPiAgAEePHhXMk5WVBT8W38ezZs3Sfo6NjUVsbKw54plV6fXqMbs2fQTamowM\n06HjRx8BH0qIJaL8y2E5ayI+3n8f2LBBd8z2+7D9ZKdPM3W8cqVhLIVnw59VQUo2bGXkZlouW8hX\nts2W/OUqPO2mwjSRvtKq/ml1PHz3oaBhxttvG76n2dmG1kIm8SHAPk2Un8/u/JJVTgV+9+TkZCTL\nXbDkwSxlIPaLiR3K6ysDc1Gi0qdOBVat0k8RF05yxQrxykCtBaWqdGHNxcCBhuaixmEyaQBOlPDI\nQIO4qSfllavGe6XSVJVVSZs2wEmZ0VXVeo5UWYrQe3hKK0pRDfwttPGaX0CA4fNHs0wPssn94ovi\n4yorgXFHOVGOS1YWzJom8vf3R2ZmpvY4MzMTAUZBWI3zZGVlwd9A/aqHuS8be+Nj+jQYx1vNzGS2\nuYvFWoeNxkitz80s0f0MFz5NXza+qhBTTepZayjfkzX3dzeeOuIqj81Z4OHD4u9jraaQ+hgrLTF1\nyxcakykDJtZEbNfs3ctuOs1ZrpXWp1nKIDo6Gunp6bh69SpKSkqwfv16xMfHG+SJj4/HmjXMJqsj\nR47Ax8eHdYpIaTSNApVIYfGRxbLKENubYjNLu2bqgogVSy70SkGpRnbRIt1nth73999zX2spnclm\nb24ubL87lUjh13O/cl5jvD5lHCKTz+rJ2HPp00+LkVIt5arumgEA7L4sPBcmpAwqaNPfvWlT9mc0\nIgK4eFFYRrs1LXVxccGyZcvQq1cvhIeHY+jQoQgLC8Py5cuxvHJnTJ8+fdCkSRMEBwcjISEBXxnv\n+FCJu4/uasNJnso9Jeoa/YZKg9wGiM/Hkck9bGROGgD+zf0XVCKlWBxX45cjOhrYto09r2UHUMrW\nZ0l5CVafXo3jN44j424GcgqZyEonb57EC7+9gKdWPmVyjZjGhkvMhAT5sqphqqvWmoFG1uc2PGdw\nfu7fczEreZbhNaJEMN1nwBW7o6RETHnWi9lRQHr37o3evXsbpCUYPXnLli0z9zaS2X15t7Z3oFEK\nVCKFjEkZaFqb3QRoyhTgl18A/TXwrVsZPzGAtB7iO+8wViBsNs36qDMXrR4R3zDeV6/nX0crPxYf\n4ALoOwbkamT69WO/9ssvgaVLhV9i5Rc8la9RjWfVdt+ZuiLZ9d8u3H6oM2e79+geLt25hJiAGN4y\n+eQ09rILMAYSQnGCrWHtSSw0TRt0rHqs6YG1g9eivld9zEyeiZLyEsyKnWVwzZ49QI8euuPLl4Em\nTXTlSYHLZ5StYLc7kPU5fuM4HpUy9l+X7rB4/tKjvpFJsFTnXhpu3hQfLF75xkb5aY1HZY+Qkq3z\nHic2mtgzAhEWpTY2/JHoVFzwrKLh/fxD87WmkZrn4p297+DJlU8CABoZOb01HoFyycnmmqJ2bXFz\n3WpYuymN5ncvKC7Qpu29shcHrh3gva67UYRU/f1GUg0HjPfIcGGta4QOoQwAYNb+WQAYK4PHZY9R\nXMa+Bd94PlBs23Lzpmna3bvC19lK47X237VYmbpSe+zqzOKRjgX+zT3SlZZl3iPlb8rVwNKgtcpA\nU9/ltK7FN16LcnEB/vlH+H4tWrD/FlxBbzSoZu2mQrnHbhzD7xd+F87IQ9u2Ossgvmdtxgx55Vvz\nSMthlMH8Q4yv9pGbR6L1163RfkV77WhBH+Nh80svAQW6zgZn42U8opCCtVoX8FFeUY7B6wfj3K1z\nGPjLQPT7mX1up25d00boVOUSjhpzx0y51u+OQkzv8LuT36G4rFjw3pq1BLYFTw0UBTz5pGm6mK08\n6uwzUBZNHb285WWD9KEbh+LKvSsoKWef0F/771qgrqHXhLg4pnNH07SJNZEQu3ZJym5VOIwy0JBf\nnI/0u+n4N/dfDN/E7mVqoFHYgYfaDY38T/Evv0iXx1bt13uu7YnNFzaj3XftsOXiFmxP364dopeU\nl+BxmW4+p3Nnw2t1Zrfcm+O4fBJVrw4kJXHLpZr1i8LF3nl0RzBPSnYKVqWuEuxN6rtA4fv+xoFy\nNPAtfFoi9rMc7j7iHobzWRa9tPkl9Jr3vkm6Lqa3tO/fq5dwHmvt/DmcMtBny8UtrNNFTxkZcly7\npq8QuB8OroVPIdSYQzTezKUWj8p0o6vL9y4DAOJ+jEOb5To/CMajLc38NU3TnI1NvXrcu7/53Aar\ngRruKJamLBWVr6yiTPDe2l3dMh8jIe8wlvYyKoYKmnv1NuEPflOq6hy+ItncUWgQu+PYGLs1LbUH\nNp3fpG2M91/dD8C0UY+JYbauC70SbM8O4yLAcKpJH/W8QlY9satjAQCpN1Nx/vZ5LDm6BM9teA7e\n3kCIzqkoJkzQfeZ7ObjswD/4QAFhJaBGY/ig+IFwJgCX718W9YwcPcq+Y9aYrVtN0/iKV6XxUuH5\nFBtz+HSOyG3sAKs7Cg3TpummO42RYlZuTTi8Mnjhtxfg9JEThm4citjVsch/nM/qjVRjVcT34nh5\nAW++aZim8dvH5xVVDfcJluiA3H98H6k3U7Uv5utJr2NjGuODIiICQN0LQFtdZBYhOaOj5clhzZvu\nNIyMGCkq3xdHvsB/d5lAEK8nvY7HZY9ZnQBq1gOE5Ozf3zRNX+kauRYDYL3WL/qIfYcil0eCShS3\n+5vv+axWjXmm2aYz2WJN2AIOrww0aHZ+av6PH294npnaEH6APvvM8Ng4cI4xtmStIYY237Zh7cmG\nhADoNBvoP9YgnU/OP/6Qfn9b2dE97SmeyD1G7L/GjFiXHF2Czec3m5iXauDqqQoREQH07g38+qvp\nIrOtrBnwTROx0X1Nd2Q9yNIee3sDeLUD0PRPbZqY6cF69UzTPviAeyaAKdc6lStRBkbsv7Yf+Y/z\n0biZoRtcTe9JbiPLF+dAnXgGihcpmvuPDYdBV+5dwT/Oc2HczRLaxMcWT9kycK9tyCW0bqjovPqW\nMCN+G4Fu3dijmF27Ju45WmzkneX2bWZRfuhQ9vzqLHhW3ZoBG/uu7sOTKxjN99v537BkCYDAI0Cz\n7do8Yt/L/ftN0/LygKIi03RiWmpDuDm7IXBRIHb6GI6nuWL7stGli2na2LGmaYB1Pxz6JLSV78/g\nu5PfIdnlHQMzPV20Lf7vz7VXg881gy00XubwxhvAhQvs58R0ViZPFn8vJRzqVQVSlQEAZBdkaz/X\nqaP5pPuu/xwBxPzubK9wXBwzbSw11oElIcrAiO9PfY+CkgJk3MswSBdyaqUPl6XBokVAaanpQrMq\nawYK835nU/O74NoctopGzPm7chLVTddVWrWq0ppI4FoudwlcjtZs1VRXMarAoZ650Dz7IeRibhxx\nrdEIpfutf/9d3O/O9oxeZgzrcPs2oB/pNy0NKCyyzueJKAMOrudfNzhmi9/LRefOgBvLszl1KpOu\n737cVuIZGPcOfav7om+IiIDP+oRvqrz4DBI+OIuyMnFysq273BE201cUNX4nv+o6fyUvtHpB9HX7\nruxDtdksPQ5KnaBGtjDS6tm0p/ZzxqQMnpzsFJawT/KL+d1btuQ+16iRYbS5cWMpnJHg7roqsVtl\nML/HfLzZ4U30aNID7s4s4Z5E8Pqsy9rPK1eKfyneeYc/kLuxf3l1rF+UpYF3A7wSqfOD3LZBW3zx\nzBfyChvfGhgbiWvXxX3vb77hP790KXDjhjxRxKDWyODUWN2Kr5R7fLDvA2ZTX/1UlrPm//L6lm/W\nbBevj8aCbXLMZDSt3RRdg7pKur7G3BqVn/R/B7VcbVsndqsMpj09DZ/1/Ay7X9qNXS8xe8QHhw2W\nVMZiNAUmNQPqXAQmhOGB+znRm7n41hj++IOZZzx40HasX1ycXPBRVyZo7M+Df8aCuAXac9Vdq0sv\nkKrg3XSmj6+v/o5QHc89x/jlmTwZiI8HDh1ibLzLyhX+/iqEaQSgDZT+TPAzmPrkVNHXHco8xHx4\npQvjSsHnqvac2MfJ2AGjPk2aMAugGpR3Ya1ec9isdjMAwIr4FRgdNRp1PetKK6D9V8BTC4BwTVg+\ncRUqVEXTp7PPFlgTdqsM9On8RGfQM2nENYmTfnGddGBca6DeBZR5Zgvnr0TMgrNhSE1lUUPJaOZl\nh7cajha+LQAA/03+D1enXJVeWOXcrFjlevQo0KePYdrGjbrd4idOAD17AnPnUPj5J+ni8KLS9IuG\ndzq+g7YN22JCuwkYEjYEs7vNFnehewEwMRyY0hh4vTHQQ7z3NG9vYOdO9nP37gEff8yYR9qKI0UA\n2DtyL0ZHMUGym9RqgpXxK5E3LU/gKhZ6vg10fxegaNxVaDpy/nxmvZDBOscGDqEMNDwTrPOn3Kgm\nh7E2Gy7qRK344Qfmv60sUPpW9zWZj21SqwnqetZF4TuF2D5iO8eVXIj/3gEBQKdO/Hk0LkPYPMia\nA1ugeSXRNIzL+izDxuc34t1O7+KHAT+gsU9j8YXUugpQNC5dFC/nM88AXTlmU5YuBWpUzpzYyvPZ\nrXE3VHNlt974efDP0haZaSeg/TJG4SqK9U67OZQyCPIJwjd9mQnoa1OuoYZ7DZwZJy1il9g2wcPD\nNNQgGz//RPEO2eWh3svLFRioult19Anpw3qODyk9RLHBQygn6/e/rw+bohkVOQr/TWZ2Hj9R8wnR\nZQnFezBGf3GTja+/olBho+4V9AmuHYza1WqLv4AqB0K3AP7HRF/y0ksyBLMiHEoZAECnJzqhlS8T\noSt/Rj5a+vKYArAirvGiKGZoKIYtW5VpbM7dOgcqkUJ+PlBWarkeiGjLmMg1kppZccqAkmQGLBY1\nF1I1awcm96xUEj8M/EF8YRLFDBXY+3bkCJCVrawyTM+geXfoKg09k0Y7/3Y48b8Twpk11JFukbRm\nDRAYKJyvXOk1LYVwOGUQXi8c/44ztO269RaP6Y8ZiNpBS1MoUGhkcPEOsxOrsJB7PlhtFvZciNUD\nV4vO//dB8a2X2M1S+fmiixRFBa2eryd6Ji24X0OsEzYAcIKE3ZEARo8GdvPGjqcUrc/8x/k4lgJk\nZVZ9Z6Whd0OsGbgG/Zv1x8uRL6tyj+vXBTJIjI9QlchWBnfv3kVcXByaNWuGnj174j6HJ7agoCC0\nbt0aUVFRaN++vWxBrQUpU8di3SlU8zSvpzBm2xhELY/CqZxKU8Ww3/GgyDLRuad2mApnJ/EN0qNH\n4itUM4dd1dzPp+HhbpmXuOyDMtR0ryn+ggppPjycnIDGAksTp08r05N9VPoIPvN8AMpywYJfingJ\nW4dvxap4Fa03bBTZymDu3LmIi4vDpUuX0L17d8ydO5c1H0VRSE5ORmpqKlJSUljzWBoPF5Zo4RwU\nlIs3LxDnwoJi9UIphd3/7capnFP4+MDHusQGJ80rtIpwocTFUpaGssPwc2ctZ2/v7OSMiPoRovOX\nStkdKQaFerLX7l/D1ftXmYO+ExUp0xyqwg3MqFGq30JRZCuDrVu3YlTltx01ahR+/5079qi1+zbx\ndvdG/gxxY+H9F8W7hnR3Z+zg2XwVGUApXz8+NdRoZMUTUCNA+7lHkx6c+YprnpNctgvfV1NwGP7D\nDwD1oRvQcr1iZapNeQul7WqhyPMZtDgInX/QD3ln+emScdHjcCrhFK5NuaZK+RprQRPMqM9bRbfw\n1ErGnpqmadwoUG63pewWIzc3F35+zHZ6Pz8/5HKES6IoCj169ICzszMSEhIwZswYzjJnzZql/Rwb\nG4tYMQFaFaKGew009mmMK/ev8OZzcZH2Qz75JLBpExMch3VfgZmN1/X867iWb/owS5mqUYPzE87D\ne4432vu3x4edP8Sey3tY8zVtLG1aIzGRmX47cYKpVzV55RUAs0qBOukWdyj4SuQroEGjpLwEP5/5\nWdGy+eN3K/e9bz+8rTtwZXHpWcV81fcrAMDNAmVtkePjmYV3dsyrz7O3zuKfv//BrMxZOHPrDH47\n/5tZ5enDqwzi4uKQk5Njkj57tuGmGIqiOF+WQ4cOoUGDBsjLy0NcXBxCQ0PRicNgXF8ZWII1g9ag\n0/edQM+kQSWyf5+ISOlavU4dYMwY7k1m5oyceqxh73U7U5ZVBl5uXviwy4eIqh+FmIAYznxtI6Up\ngw8/ZP4/fMijDGT2vP6+/jcaejdEk1pNsO3iNsCpt/bcowqFV6UlsmqA7uGp51kPi48uZs9ISx/s\nV68OnDsHtGjBlUOFkX3kGgDiDQ3UpIF3A0XL27BBnWhnJ2+eRPc13YEgYPxb4+H3mR/gByBZmfJ5\nn5zdu3fjzJkzJn/x8fHw8/PTKoqbN2/C19eXtYwGDZiKrlevHgYNGmS16wYA0LFRRxS9y/RYuCw4\npI4MNDz5JPD882xnzOsplFaUsqZbemQAAImxiRgYOhBuzm54v/P7rHs63FzkBS3w9OQ6Q6FJE1lF\notP3nTB803CcyjmF+F/igfjXtOf2Pv6M58qqhc8nVEADeT4POM1xzRy5FhQXYOwfHP7brQiN/7II\nP/HrM1y4ucmPkcxHSrau7fT7zI8npzxkrxnEx8dj9WpGs69evRoDBw40yfPw4UMUVBoUFxUVYdeu\nXWjVqpXcW1YJnq5MK5OawOYETJ7fdA09e7Kny9nhSdM0CksKORc2ndUwtjeDj7t+zLqnw8UMpbV3\nrzkSsZOSnYKo5VHMQaR19Fy5SIxNNEmr7iFPufIaO5gxx91tTTcsP7FcOKOF0YwOuN57ZbHONVTZ\nLcaMGTOwe/duNGvWDH/99RdmzGD8oty4cQN9+zKujXNyctCpUydERkYiJiYG/fr1Q0+uFtHKaO3H\nbuJTViHfWoNtNijAX3rPi6ZprD69Gt5zvHls0K3zgTPGw03+QjdXrAM1pvedaOvyMtbAqwE6Nupo\nku4kc3qQ2wya4qxnIQ5cO4DjN47Lu7iK+aLXF/i237egKArlHyo3x/P4sdFGNDNGWmpbtMl+E2vX\nro09e0wXBRs2bIjt2xkfNU2aNMEpuYFZrRRJW9qNqM7m3JOStmbwoPgBas7V2Z0bh5jUQMNyttx8\nRNWPQmqOrvdV01v+yMCDwyK4Vi3u+szMz4RvdV+4u7ijoLgANGjUcBfewGCO0lKDG28yViRebl4o\nLCnUpnu4y+vfPfEEsH074OPDOP/Lz2c+A0DNmtI7FgevHcRH+z/izpAqwldLFTIgdID2s5RNfkK4\nuwM1awKZmdKvLS0vhaszo6XHbR+H+tV5V/rNxrrmEqyQ42MMezbmjAyef56JdKQfrEWqti83chRz\n5xH7vocGD3tJlq8qMB5xyV0zAICwMODSJcO0wACKd3Naoy8aafdjtF/RXjsllJhsOuWij4uTdSkD\nDcYdiaW9l8oqh6IYr7AaL7A1a1bu5KYpflNeIybumIjvTnyHzj90xt4rPPN4+RIcRVoAOQFyuDCO\nOU6rJLsAABi+SURBVC1m2m3z+c1w+0Q3Gv3m+DeYtX+WYjKxYZ1PuBXRuJbh9kw5ztg0ODszDdhv\nvwHvvce4AciB8JpBeUU5yulyuDm7YdGRRaLuVbfYOnd7D285HHce3UF5RTl2ZuyUtruWhZAQ6ddo\nFGj6nXSU0+U4knVE8EWzVmVgjJKWMTVqMOa1B26LHxl8eexLkTmtexqTyyGjHLp10z8S1/nLuKuc\nMhILGRnwkDctz2Ra6KnApxQpe/ZsgDGsEn44Ev5IQIOFzEtusMuYhxdfNEM4FekV3Avbhm/Djhd2\nwK+6H6IaRClavqenuAX5zPxMlNPMKKvDyg6C+fU30VkTbRu2RXi9cO2IS2mlZen9FZYkyCdIlXK9\nvYXzWKLeiTLgQRMlaVz0OE7PkkogtGZw8uZJ3H10F6dzTosuM05GHJ+qJuetHDSr00yRsu7dAx49\nAnx92V8imqZxPu88AGZqrtEX0qYpvuwjtsdbtex+aTdO/u8kouozSlVSnA6RiFGuH+3/CAl/JCh+\nb0vyy5BfsGXYFkXKWrcOWLuW+czVzocsDcH0PdNBJVLadYvgJcHIzJex4CAD2xj7Wpiv+n6FwWGD\nEfej8i2smDUDTS8hcnmk4ve3BwoLORbn9Tide1pnMioDjcmxtaEJ2LIifgWW91PehLMcJbjssZH1\n3OOyx3BzdsOBawcwM3mmuAJTXwaifsCY/ykno1rwbZaUyrBhzP971YF3D7Ir14y7GZh/iPF7r2kX\n/rv3n+SOi1zIyEAkPZr0AD1TrQDZ3OV+e+JbnLwpzenchTHiw3PaA0KKAGAsMzQcvH5Q8j2UtDBR\nAxcnF7i7uCtebglt6DYi/zGzE/th6UNUm10NH+//GMM3DRdfYBKzYa5VE4mxie0EsWFeRU8TzS4U\nziMS637CHQLuH72sokzy0HtM7bVozhY93oFgm3bT35F99tZZcQXltsScUMYixtqVgWoYPZ4+83yw\n5/IevPAbE8Bo1v5ZyCk0dVnDSkEDoLgmMqdkYXy78QoLal+ItjIsFdETEomDPuHWxVeZ/wOVSCF+\nXby25wUAZ3KlheTEqgPoXGuEwtLZFlwvkayF1VWHEFmTMQVxVGWgqc2eP/bEwsMLAQArTq7A7xe4\nvRRzsjYJNA0E1PS3CncplkN4hqGotOod+TnmE25F3PbWbdzbdmkbfOb5YPnx5aigK9DmW4EAtcaU\nesLJyXGtPzRcx2HsvWxo415UIuPlKq6B4GBg43MbEV4vXCHpbIv8Csaj5+7LuzHv0DwAwPpzMl16\n55oZuMMuoFBQ4xje3fuuYaqRY8z3/nqvKoUCQJSBxXnsauqPfOz2sXD+SEbP6WE9xMcrIJSNc5n+\nCz1+ZLy5UokUqEQKT62SaBL8+XU0bQoEBwNDwoc47Mjg8COdt1SzzB2tbMexpdBU4Zy/54BKpJD1\nIEvS9a9EjgZ++Et7/OabysnmmE+4FUFT8v2guDu7A/sSgc2rgXPPolPrRvDyUlA4G6Sc0oX7lO1U\n8ONi4EEgFonb3+cwyFaIW1YCSYtwTZ0YMjbN9kvbJT2njVJXAle7Mgdfn8JnCjrTJcrAwpijDIrT\n4oD9HwKnRwIbNsDC4SCsgkPOn2g/70jfIa+QcsZcs18/JSSydXTz26IXio25GA8U10Qj6/ZAYRGk\nzALkTcvDhQt6CQX+ispC9hnYMscN/cRzOW5zVPqv6y/tgk1rgTMvaA8dePOtFrMdHv7yG/DQMc1I\n2bhYeEz2tXU96yI9vfJglvJm7mRkYKO08m0FpPc1SOP1SU8QxkmF8FQ2TjnkO2YEAOQo627E1rlX\nwh4eWIj3O78PmgZOSttyJAmiDGyUb/p9Y5LmZl0u922PDOv09GpJKmgzlMGZ4cD9IMVksQe8XHxk\nXdcnuA9u3zZME7PZUgpEGdgITwc+rf3s7ebN6jAvknirkMXsbrOxIOgcUKR8KEFbx4WS18Po2Kgj\nsP0r7fHH4vwr2j1dfIdIyu/hwsz90qBxXy90SVAQcPWqcnIBRBnYDJo4CvHN4zE4bLDJ+aQkMsct\nl4beDTHtZcfcRyDE8zU/l3Vdn+C+wGNdL9jKorBaDCeJTW7Om8yiPU3TaKbn0/HqVaCuwksxZAHZ\nRpj+9HScuHkCn3RjrGVWrDA834vMcMgmLY1oUS5iqg/Hd/fE72qnZ9LIK8qDbw3DWJnNmystmW1C\niTTPXdF/BTae34iaHjXxxpNvIKhahMH5UaOUl43oaytEv+ef82YOPFw8MChskFYRDBgAjBljKels\nm0fvPTJJWzDfUBn8+y9w8WJVSWTdiBltftz1Y7wa9ar2ODu9HlBh2M8cIm12xG4ROzJ4tc2r2PnC\nTgDA570+h1OZ4Qai9irErpKtDDZs2IAWLVrA2dkZJ3mWuJOSkhAaGoqQkBDMmzdP7u0cirefehsv\nR74MAPDz8jNpwLZutYBQNoILXY33vIeLB9Y/y7hT0HqhNQpS3qoVDIbkBH46NuqIZX2WIesNZjdt\noXKONO0OzS7utPFphukCjumOGVmkjhunqFgAzFAGrVq1wubNm9G5c2fOPOXl5Zg4cSKSkpKQlpaG\ndevW4fz583Jv6TDU96qPie0mokmtJibnKqwzzr3VEE4/b3D81lNvaT97u3GFmCLTRFxoRgZ1Peui\nXcN2AIAW9VqY5PNw8YB/DX9UVJBRFR/aoDW1gzGvB9M5rl2tNipm6l7sZ8OfNbluwADd5+vX1Vkf\nlK0MQkND0Uyg+5SSkoLg4GAEBQXB1dUVw4YNw5YtykQOsid8XYOwKn4VCt8pBD2TxhM+T6Btw7b4\nb/J/JnlHjjQ89vYG7t6tIkFtgAH0DwhBb+3xgrgF2s99mzH7Mgx6YftmAeny41o7Crte3IWUMSkA\ngOiG0Qbn9ONYb94MvPZalYpmU2hil+h70b04kdGeUztMxdtPv40Nz23gLSMwUB3ZVF1Azs7ORqCe\n5AEBATh69Chn/ll6/hRiY2MRGxuronTWQeit99AtMhivRL0sKv9PPxkel5YCtWqx53VEKAp4ATvw\nY61gbHp+EwBmOqi4rFjrNrlDYAd0b9yduWC/YYSuhQurVFyrx7gHuv7Z9Wjv3x6rT68GANyedht1\nPOtoz9+6ZVrGypVqSmhblNHFAJjpoontJ6Jb427a8LoLe7I/fMazAcnJyUhOTlZcNl5lEBcXh5wc\nU38kn376Kfr3F97qL9XL4SwHdK7TIvcTdDWjMf9cnuWf3ZMxOcPgWD8KWECNAOwZucf4EgDA1Kmq\nimWTeJc21QaHf76Fbhrux0E/GiiCx4+B8Swxa0aPVltC28HH1Rd1cplpIE9XT5NRFhua2MkA42XA\nuKOcmJioiGy8ymD37t1mFe7v74/MTF0w58zMTAQEBJhVpj3CEpiLldJS0zQ1FpIcBbL+IgxFAYMy\nM1CLZV3e2NvmK8RLtSDuzh5ofpp/GkhDfj5Qpw5QruclJS9PJcGgkGkpW5hBAIiOjkZ6ejquXr2K\nkpISrF+/HvHE4b4BUgZPf/+tnhz2hFjlWk5cEYmCrT5ndZmFPiGGay0GHjUJrEh532/fNn1G1ZwS\nlq0MNm/ejMDAQBw5cgR9+/ZF797Mot2NGzfQty+zUOfi4oJly5ahV69eCA8Px9ChQxEWFqaM5A7G\nX38B2Y4V514WUl62MjN9sDkCFMWuDGbGztTOdWs4daqKhHIQVFgW4EX2AvKgQYMwaNAgk/SGDRti\n+/bt2uPevXtrFQVBPt27m3olHTuWPS9BmB9/BN6r+siCNoe5JoxNmyojhyMyf37V3o/sQLYC5E5r\nfP218rI4CjNnAnrLWQQehJ7PzEzGxNmYr78Gjh9XRyZbRsz7npQEXLqkviz6EN9EFkZMz4sMv6Uh\n5mVjy8PWoDk6Yp7PixfZdx2//DIJuGSMmPrMygLYJlOWLlVeHn3IyMAGSEmxtAS2g5iXrbjY1P3v\niRPsNvIE8SNXfRo1IopALlymuBMnqntfogysAK6XraSEmRoydv87ahQJZGMObI1Umzak8WJDjHJl\nW4gn6zHcCClXFwvN1xBlYGH4XrY6dYAJE0yVQb9+TO+WII3Vq4ER4r0xEyoRarzeecc07X//U0cW\nW0eMcrVU+FqyZmDFFBYCy5czf/o8a+rHiqAHV+O1ahVw4EDVymLrkDWtquePPyxzXzIyINgVfI3X\nmTNVJ4c9IXXNYNEideSwF+SswVSFpx4yMrAC5DwcBPGUlDCuJ+7dYz+/YAF7OoFfuRYUsNcdCXHJ\njdx9G1XhM4soAwvD9XA8fFi1ctgzAwYAaWns565dYyxfCNxwdVYOHiSB7pVm507D44QEIDKyasye\niTKwMkJCgLNngRdesLQktotx43XiBLeDL0st1tkKXO4oAOD339nTLWUNYw/0MQqt8fHHQL16VXNv\n8rNZAfovW0YGM/y+edNy8tgyxiOt5GT+4D9kSoMfrpFrfj7w3Xem6T16AK++appO0MGmXG/eBHJz\nTdPr1jVNUwvyKlgYtpfNyYk9/e23gdOn1ZfJHqioYPzrd+3K752UjAyEMW68SkoAHx/2vE8+Cbi7\ns58jGL7X9+7p3Kg3bAiwRRBWI7wlF0QZWBEas0eKAs6dMz0/ejTQunXVymSrfPQRUI3FB78xnp7q\ny2LL6DdGubnMMV9jT9yCi6d2beCLL4AlS5jjggLLykOUgRWg6Xl16cL8b9iQ/cFo3rzqZLJVfvwR\n+OQTcUHZP/4Y8PJSXyZbh6aZ2Mb16wvnJcpAGP2R1tmzwOuvW04WfYgysEIeP7a0BLZLejrzX8xa\ngKururLYAxTF+Gy6fFlcfqIM+DGe9vn+e+68166pK4sxZAHZwlAU8NJLwu6Uk5KqRh574cQJ4TyT\nJqkvh61z7BgzfRkXJ5y3QwfihkIsK1YI56lqk2eK5opZWcVQFMUZPtOeGTECWLdOON+5c0B4uPry\n2DpSFtwc8HGTTPv2jEIQA6lPYVJSgJgYcXnF1qdSbSeZJrIBvvySKAKl+fxzS0tgG4i1DLp9W105\n7AVrVpiylcGGDRvQokULODs74+TJk5z5goKC0Lp1a0RFRaF9+/Zyb2e3CMXhpWlg/PiqkcUeELtv\n4I031JXDkejcmfGwSxBm3z5x+Ro0UFcONmSvGbRq1QqbN29GQkICbz6KopCcnIzatWvLvZVds2GD\npSWwL5ycdLbbXIixNCIwCNUlAPz1l/py2AslJeLyWWKvhmxlEBoaKjqvI64FECyDmJFBs2bqy2Ev\niFEGZOOeeGJjxeUTu66gJKqvGVAUhR49eiA6Ohrfse1fJxAURKhh+uyzqpHDXhCjDAjiiYwUznPr\nFvDzz+rLYgzvyCAuLg45OTkm6Z9++in69+8v6gaHDh1CgwYNkJeXh7i4OISGhqJTp06seWfpOe2O\njY1FrFg1aoeEhwM7dlhaCtuDb2QwcSLjBZIgHqIMlIVv+sffH8jOZhz98T3HycnJSE5OVlw2s01L\nu3btioULF6JNmzaCeRMTE+Hl5YU333zTVBAHNS396SfgxRdN03NzAV/fqpfH1qlRw3T39pIlwOTJ\njIlkdLRl5LJV2rQBUlO5z2/bxoRhJYijooJ79NqkCbO5r7AQqF5dfJlWZVrKJcjDhw9RUPlmFhUV\nYdeuXWjVqpUSt7QbevZkTyeKQB5s1lmTJjExo4kikA6fO+rJk4kikApfj3/OHOD+fWmKQElkK4PN\nmzcjMDAQR44cQd++fdG7d28AwI0bN9C3b18AQE5ODjp16oTIyEjExMSgX79+6MnV+hEICjBqFHu6\nm1vVymEvsPXdLl4Erl8HFi+uennsiW+/NTx+/nmgZk3LyAKQHcgWJy+PGQWcOsUsLs2cyUQ7OnrU\n0pLZJrduAX5+hmkO+FgpxubNwODBuuM//gAq+3oEmXTrxjilnDmTCVyj2bAn9zlVqu0kysDCaJRB\nVhYQEEAaLnO5c0cXEMTPj1l7IXVqHjNmAPPmMZ9JXSrLr78yo6wBA5goh3JQqu0kjuqsBGKrrQz6\nc9xeXuzRowjS6N1bpwwIyvL885aWQAdRBhZGY2pGlIEyaJTBkSNA48bEZ44SaAIqsRgBEuwIMk1k\nBRQVMTEM6tYlw3BzefyYiXBWWkoCsysFTQPbtxPLIWuFTBPZEdWrMw3Y7NmWlsT20YywyEhLOSiK\nKAJHgIwMCHYFTTOxovkiSBEI9gSxJiIQCASCde1AJhAIBIJtQ5QBgUAgEIgyIBAIBAJRBgQCgUAA\nUQYEAoFAAFEGBAKBQABRBgQCgUAAUQYEAoFAAFEGBAKBQABRBgQCgUAAUQYEAoFAAFEGBAKBQIAZ\nymDatGkICwtDREQEBg8ejPz8fNZ8SUlJCA0NRUhICOaRcEmiSE5OtrQIVgOpCx2kLnSQulAe2cqg\nZ8+eOHfuHE6fPo1mzZphzpw5JnnKy8sxceJEJCUlIS0tDevWrcP58+fNEtgRIA+6DlIXOkhd6CB1\noTyylUFcXBycnJjLY2JikJWVZZInJSUFwcHBCAoKgqurK4YNG4YtW7bIl5ZAIBAIqqDImsGqVavQ\np08fk/Ts7GwEBgZqjwMCApCdna3ELQkEAoGgILxhL+Pi4pCTk2OS/umnn6J///4AgNmzZ8PNzQ0j\nRowwyUdRlCRhpOa3ZxITEy0tgtVA6kIHqQsdpC6UhVcZ7N69m/fiH374ATt27MDevXtZz/v7+yMz\nM1N7nJmZiYCAANa8JMoZgUAgWA7Z00RJSUlYsGABtmzZAg8PD9Y80dHRSE9Px9WrV1FSUoL169cj\nPj5etrAEAoFAUAfZymDSpEkoLCxEXFwcoqKiMH78eADAjRs30LdvXwCAi4sLli1bhl69eiE8PBxD\nhw5FWFiYMpITCAQCQTloC7Nz5066efPmdHBwMD137lxLi6MKr7zyCu3r60u3bNlSm3bnzh26R48e\ndEhICB0XF0ffu3dPe+7TTz+lg4OD6ebNm9N//vmnNv348eN0y5Yt6eDgYHry5MlV+h2U4vr163Rs\nbCwdHh5Ot2jRgl68eDFN045ZH48ePaLbt29PR0RE0GFhYfSMGTNomnbMuqBpmi4rK6MjIyPpfv36\n0TTtuPVA0zT9xBNP0K1ataIjIyPpdu3a0TStfn1YVBmUlZXRTZs2pa9cuUKXlJTQERERdFpamiVF\nUoUDBw7QJ0+eNFAG06ZNo+fNm0fTNE3PnTuXnj59Ok3TNH3u3Dk6IiKCLikpoa9cuUI3bdqUrqio\noGmaptu1a0cfPXqUpmma7t27N71z584q/ibmc/PmTTo1NZWmaZouKCigmzVrRqelpTlsfRQVFdE0\nTdOlpaV0TEwMffDgQYeti4ULF9IjRoyg+/fvT9O0474jNE3TQUFB9J07dwzS1K4PiyqDw4cP0716\n9dIez5kzh54zZ44FJVKPK1euGCiD5s2b0zk5OTRNMw1k8+bNaZpmNLz+CKlXr170P//8Q9+4cYMO\nDQ3Vpq9bt45OSEioIunVY8CAAfTu3bsdvj6Kioro6Oho+uzZsw5ZF5mZmXT37t3pv/76SzsycMR6\n0BAUFETfvn3bIE3t+rCobyJH3oeQm5sLPz8/AICfnx9yc3MBMGsu+hZXmjoxTvf397f5urp69SpS\nU1MRExPjsPVRUVGByMhI+Pn5oWvXrmjRooVD1sUbb7yBBQsWaDeyAo79jlAUhR49eiA6Ohrfffcd\nAPXrg9e0VG3IvgIGiqIcri4KCwsxZMgQLF68GN7e3gbnHKk+nJyccOrUKeTn56NXr17Yt2+fwXlH\nqIs//vgDvr6+iIqK4nQz4Qj1oM+hQ4fQoEED5OXlIS4uDqGhoQbn1agPi44MpOxDsDf8/Py0G/pu\n3rwJX19fAKZ1kpWVhYCAAPj7+xu4/MjKyoK/v3/VCq0QpaWlGPL/9u6QZXUoDgP4Y7BqEt6BRQYK\nyjhb8QNoFIbyFg1LZsEv4YIfQhgrywYVBREEQcFiFVywKgiiguX/JscNN917RS57fvHAYHvCecL5\nb/v+huM4qNfrAOKdBwCk02nUajVst9vYZbFarTAcDpHL5dBqtTCfz+E4Tuxy+JWmaQCATCaDRqOB\nzWbz9jw+WgZxfg/Btm14ngcA8Dwv2hRt20YQBHg+nwjDEPv9HuVyGV9fX0ilUliv1xAR+L4fXfM/\nERG0220Ui0V0u91oPY55nE4nXC4XAMDj8cBsNoNlWbHLwnVdHI9HhGGIIAhQqVTg+37scni53++4\nXq8AgNvthul0CsMw3p/Hvznu+HOj0Ujy+bzoui6u6376dt6i2WyKpmmSTCYlm83KYDCQ8/ks1Wr1\nt2NivV5PdF2XQqEgk8kkWn+Niem6Lp1O5xOP8teWy6UkEglRSolpmmKapozH41jmsdvtxLIsUUqJ\nYRjS7/dFRGKZxctisYimieKaw+FwEKWUKKWkVCpF++K780iI8DsQRERxxz+dERERy4CIiFgGREQE\nlgEREYFlQEREYBkQERGAH7bMqGBeSFTtAAAAAElFTkSuQmCC\n" } ], "prompt_number": 3 }, { "cell_type": "raw", "metadata": {}, "source": [ "Now we will use ICA to try to recover the two original instruments. We have to initialize an ICA object, telling it at least how many components (source 'instruments') to use. The data has to be transposed for FastICA to be able to use it." ] }, { "cell_type": "code", "collapsed": false, "input": [ "ica = FastICA(n_components=2, whiten=True)\n", "ica.fit(symphony.T)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 4, "text": [ "FastICA(algorithm='parallel', fun='logcosh', fun_args={}, fun_prime='',\n", " max_iter=200, n_components=2, random_state=None, tol=0.0001,\n", " w_init=None, whiten=True)" ] } ], "prompt_number": 4 }, { "cell_type": "raw", "metadata": {}, "source": [ "We could now recover the sources." ] }, { "cell_type": "code", "collapsed": false, "input": [ "sources = ica.transform(symphony.T)\n", "pl.plot(sources[:,0])\n", "pl.plot(sources[:,1])\n", "pl.show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 5 }, { "cell_type": "raw", "metadata": {}, "source": [ "If you plot this, notice that the scale is completely off, it could even be inverted for one or more sources and the instruments could be switched in order. However, the main characteristics of the two 'instruments' are very clear, even though the signals are noisy. Supposedly this scales well with more and more 'instruments' which is good for my purposes.\n", "\n", "However, I'm more interested in recreating the recordings minus one of the sources. Since we have only two 'instruments' that would look the same as recovering one of them, but I'm hoping to get appropriately scaled signals." ] }, { "cell_type": "code", "collapsed": false, "input": [ "mixing_matrix = ica.get_mixing_matrix()\n", "print mixing_matrix" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[-50.18887779 35.52088765]\n", " [-16.1972163 39.47261258]]\n" ] } ], "prompt_number": 6 }, { "cell_type": "raw", "metadata": {}, "source": [ "The columns are the source components (instruments), and the rows are the measured features (recordings). The numbers are the relative weights of the instruments in the recordings. I will set one instrument to zero and then multiply it with the reconstructed sources matrix, so that only one signal (instrument) is left." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# rerec1 = mixing_matrix[0,0] * sources[:,0]\n", "# rerec2 = mixing_matrix[1,0] * sources[:,0]\n", "# pl.plot(rerec1)\n", "# pl.plot(rerec2)\n", "# pl.show()\n", "mixing_matrix[:,1] = 0\n", "resymphony = sp.dot(mixing_matrix,sources.T)\n", "print shape(resymphony)\n", "pl.plot(resymphony[0,:])\n", "pl.plot(resymphony[1,:])\n", "pl.show()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(2, 5000)\n" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 7 }, { "cell_type": "raw", "metadata": {}, "source": [ "If the first component is the sinusoid signal, the second recording should have a lower amplitude (one third of the first). If it is the square wave the second recording should have a higher amplitude (10% higher than the first). Using ICA this way, signals that are not interesting to you can be removed from data." ] } ], "metadata": {} } ] }