{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Bayesian signal reconstruction with Gaussian Random Fields (Wiener Filtering)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Florent Leclercq,
\n", "Imperial Centre for Inference and Cosmology, Imperial College London,
\n", "florent.leclercq@polytechnique.org" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import scipy.linalg\n", "from matplotlib import pyplot as plt\n", "np.random.seed(123456)\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "N=1000\n", "epsilon=0.000000000001" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup signal covariance" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "t=np.array([100./(f*f) for f in range(1,N//2)])\n", "signalcovar=np.concatenate([np.zeros(1),t,t[::-1],np.zeros(1)])" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(np.arange(N),signalcovar)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "sqrtsignalcovar=np.diagflat(np.sqrt(signalcovar))\n", "sqrtsignalcovarPix=np.fft.ifft(np.fft.fft(sqrtsignalcovar).T).T" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(sqrtsignalcovarPix.real, cmap='RdBu')\n", "plt.title(\"Signal covariance matrix\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup mask" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mask=np.ones(N)\n", "mask[400:800]=0.\n", "plt.ylim(0,1.1)\n", "plt.plot(np.arange(N),mask)\n", "plt.fill_between([400,800],0.,1.1,facecolor='grey',alpha=0.3, linewidth=0.)\n", "plt.title(\"Mask\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup noise covariance" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "noisepower=0.00001\n", "noisecovar=noisepower*np.concatenate([np.ones(N//2),10000*np.ones(N//2)])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(np.arange(N),noisecovar)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "invnoisecovarmat=np.diagflat(mask/noisecovar)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(np.log(invnoisecovarmat+epsilon), cmap='viridis')\n", "plt.title(\"Inverse of the noise covariance matrix\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generate mock data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Data model: $d=s+n$" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "#The truth\n", "normalsim=np.random.normal(0.,1.,N)\n", "s=sqrtsignalcovarPix.real.dot(normalsim)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.xlim(0,N)\n", "plt.ylim(-2,3)\n", "plt.scatter(np.arange(N),s,marker='.',color='black',label=\"true signal\")\n", "plt.fill_between([400,800],-2,3,facecolor='grey',alpha=0.3, linewidth=0.)\n", "plt.title(\"Signal\")\n", "plt.legend(loc='best')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "#The noise, with infinite variance in masked regions\n", "normalsim=np.random.normal(0.,1.,N)\n", "n=normalsim/np.sqrt(np.diag(invnoisecovarmat)+epsilon)\n", "d=s+n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.xlim(0,N)\n", "plt.ylim(-2,3)\n", "plt.scatter(np.arange(N),mask*n,marker='.',color='green',label=\"noise\")\n", "plt.scatter(np.arange(N),mask*d,marker='.',color='blue',label=\"masked data\")\n", "plt.fill_between([400,800],-2,3,facecolor='grey',alpha=0.3, linewidth=0.)\n", "plt.title(\"Noise and data\")\n", "plt.legend(loc='best')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEICAYAAAC3Y/QeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsnXl8lNW9/9/nmUmCIotEFBRFoWKAhEURGGRJyhL51VoLWqtY3BNFrdxe96VybxHU2hovIiZULVTa2yqWalsaFjOAMoAgalgGEC4IKopBJELJLM/5/XHmmXlmMtnIJDNJzvv1mtdknn0mM99znu/y+QopJRqNRqNpWxjJvgCNRqPRND/a+Gs0Gk0bRBt/jUajaYNo46/RaDRtEG38NRqNpg2ijb9Go9G0QbTx1zQ7QogpQohlzXCeXCHEgaY+T+hcvxdCzKzntucLIaQQwtnU16XR1IQ2/pomQQgxUgixVgjxrRDisBDiPSHEpQBSykVSygnJvsaWQHMOYJq2hZ55aBKOEKIj8HfgTuAvQDowCqhK5nVpNJoIeuavaQr6AEgp/ySlDEop/y2lXCal/BhACHGTEOJda2MhxAQhxI7QXcKLQohVQojb7NsKIZ4VQnwjhPg/IcRE2743CyG2CyEqhRB7hBCF9b1IIcTzQoj9QoijQohNQohRtnUzhBB/EUIsDB17qxBiiG39YCHEB6F1fwba1XIeR+j6vxZC7AF+ELM+7nsQQrQHlgJnCyG+Cz3OFkIMFUJ4hBBHhBBfCCFeEEKk1/d9azSgjb+madgJBIUQC4QQE4UQp9e0oRDiDOAN4GEgE9gBjIjZbFho+RnAM8DLQggRWvcVcAXQEbgZeE4IcXE9r/N9YBDQBfgj8LoQwm7ErwT+F+gMvAW8ELrmdGAJ8IfQvq8Dk2s5z+2haxwMDAGujlkf9z1IKY8BE4HPpZSnhR6fA0HgP0KfhwsYC0yr53vWaABt/DVNgJTyKDASkMB84JAQ4i0hxFlxNv9/wFYp5ZtSygDwP8DBmG32SSnnSymDwAKgO3BW6Fz/kFLulopVwDKUi6k+1/malLJCShmQUv4GyAAusm3yrpTyn6Hz/gEYGFo+HEgDiqSUfinlG6iBpCZ+Etp2v5TyMDA75joa9B6klJuklOtC170XKAbG1Oc9azQW2vhrmgQp5XYp5U1Syh5ANnA2UBRn07OB/bb9JBAb4DxoW3889OdpAKE7i3WhoPIR1GByRn2uUQjxnyF3y7ehfTvF7GsfhI4D7UIZOmcDn8loVcR9tZwq6j3GbtvQ9yCE6COE+LsQ4qAQ4igwq7btNZp4aOOvaXKklF7g96hBIJYvgB7Wi5A7p0ec7aohhMgAFgPPAmdJKTsD/wRErTuqfUcBD6Jm5aeH9v22PvuGrvkcm+sJ4Lw6tj833rb1eA/xZHfnAV7gQillR+CRel63RhNGG39NwhFCZIVm1T1Cr88FrgPWxdn8H0COEOKq0Kz6LqBbPU+VjnLVHAICoUBwfVNIOwCB0L5OIcQvUT73+uAJ7ftzIYRTCDEJGFrL9n8JbdsjFP94qAHv4UsgUwjRKebajwLfCSGyUFlVGk2D0MZf0xRUooK064UQx1BGfwvwn7EbSim/Bq5BBXIrgH7ARuqRFiqlrAR+jjKu3wDXowKz9aEUlUmzE+WGOUG0a6a28/qAScBNofNeC7xZyy7zQ+f7CPjAvm1d7yF01/QnYE8ou+ds4L7QdpWhY/+5Ptet0dgRupmLJpUQQhgon/8UKWVZsq9Ho2mt6Jm/JukIIfKFEJ1D/m/Lfx3PRaTRaBJEo42/EKKdEGKDEOKjUCHMfyXiwjRtChewG/ga+CFwlZTy38m9JI2mddNot08o46G9lPI7IUQa8C5wr5RSz9w0Go0mRWm0tk8o1/m70Mu00EMHEjQajSaFSYiwmxDCAWwCvgfMlVKuj7NNAVAA0L59+0uysrIScWpNK+LEiRPJvgRNCtKuXY2ySW2OTZs2fS2l7JqIYyU020cI0Rn4K3CPlHJLTdsNGTJEbty4MWHn1bQOduzYkexL0KQgF110Ud0btRGEEJuklEPq3rJuEprtI6U8AriByxN5XI1Go9EklkRk+3QNzfgRQpwCjEOVnms0Go0mRUmEz787sCDk9zeAv0gp/56A42o0Go2miUhEts/HKJ3yRuH3+zlw4IAO+qUI7dq1o0ePHqSlpSX7UjQaTROQMm0cDxw4QIcOHTj//POJFkvUNDdSSioqKjhw4AAXXHBBsi9Ho9E0ASkj73DixAkyMzO14U8BhBBkZmbquzCNphWTMsYf0IY/hdD/C42mdZNSxl+j0Wg0zYM2/iGOHDnCiy++2Kzn/Pzzz7n66the3o3n97//PXfffXfCj6vRaFoP2viHqM34B4PBJjnn2WefzRtvvNEkx9ZoNJra0MY/xEMPPcTu3bsZNGgQ999/P263m7y8PK6//npycnLYu3cv2dmRFrTPPvssM2bMAGD37t1cfvnlXHLJJYwaNQqvt3qN26pVqxg0aBCDBg1i8ODBVFZWRh3z+PHj/OQnP2HAgAFce+21DBs2DEsC47TTTuPRRx9l4MCBDB8+nC+//BKAt99+m2HDhjF48GDGjRsXXq7RaDR10aKNv8fjYfbs2Xg8nkYf66mnnqJ37958+OGH/PrXvwZgw4YNPPnkk2zbtq3WfQsKCpgzZw6bNm3i2WefZdq0adW2efbZZ5k7dy4ffvgha9as4ZRTTola/+KLL3L66afz8ccf8/jjj7Np06bwumPHjjF8+HA++ugjRo8ezfz58wEYOXIk69atY/Pmzfz0pz/lmWeeaezHoNFo2ggpk+ffUDweD2PHjsXn85Gens7KlStxuVwJPcfQoUPrzHP/7rvvWLt2Lddcc014WVVV9fazl112Gb/4xS+YMmUKkyZNokePHlHr3333Xe69914AsrOzGTBgQHhdeno6V1xxBQCXXHIJy5cvB1RtxLXXXssXX3yBz+fTOfkajabetNiZv9vtxufzEQwG8fl8uN3uhJ+jffv24b+dTiemaYZfWznwpmnSuXNnPvzww/Bj+/bt1Y710EMP8bvf/Y5///vfDB8+vJprqDZ11bS0tHDqpcPhIBAIAHDPPfdw9913U15eTnFxsc7L12g09abFGv/c3FzS09NxOBykp6eTm5vbqON16NCBysrKGtefddZZfPXVV1RUVFBVVcXf/67kizp27MgFF1zA66+/Digj/tFHH1Xbf/fu3eTk5PDggw8yZMiQasZ/5MiR/OUvfwFg27ZtlJeX13nN3377Leeccw4ACxYsqN8b1Wg0Glqw8Xe5XKxcuZJf/epXCXH5ZGZmctlll5Gdnc39999fbX1aWhq//OUvGTZsGFdccQX2ZjSLFi3i5ZdfZuDAgfTv35+//e1v1fYvKioiOzubgQMHcsoppzBx4sSo9dOmTePQoUMMGDCAp59+mgEDBtCpU6dar3nGjBlcc801jBo1ijPOOOMk37lGo2mLJLSZS32J18xl+/bt9O3bt9mvJVUIBoP4/X7atWvH7t27GTt2LDt37iQ9PT1p19Tc/xPdzEUTD93MJUIim7m02IBva+P48ePk5eXh9/uRUjJv3rykGn6NRtO60cY/RejQoQO6taVGo2kuWqzPX6PRaDQnjzb+Go1G0wbRxl+j0WjaINr4azSalMbjgdmz1bMmcWjj34TEisE1lJtuuqlO1c/6nGPv3r388Y9/POnr0GiShdcLY8fC44+rZz0AJA5t/NsA2vhrWipbtoDPB8Ggem4CFZc2izb+Ifbu3UtWVha33XYb2dnZTJkyhRUrVnDZZZdx4YUXsmHDBkApfY4YMYLBgwczYsSIcGHS1q1bGTp0KIMGDWLAgAHs2rUr6vh79uxh8ODBvP/++wSDQe6//34uvfRSBgwYQHFxMaCkIe6++2769evHD37wA7766qu417pp0yYGDhyIy+Vi7ty5Ue9h1KhRXHzxxVx88cWsXbsWULpCa9asYdCgQTz33HM1bqfRpBrZ2ZCeDg6Hem6kiovGRovO8/d41EwgNxcSIej5ySef8Prrr1NSUsKll17KH//4R959913eeustZs2axZIlS8jKymL16tU4nU5WrFjBI488wuLFi3nppZe49957mTJlSlhwztLX37FjBz/96U959dVXGTRoECUlJXTq1In333+fqqoqLrvsMiZMmMDmzZvZsWMH5eXlfPnll/Tr149bbrml2nXefPPNzJkzhzFjxkRJUZx55pksX76cdu3asWvXLq677jo2btzIU089xbPPPhvWIzp+/Hjc7TSaVCMrC1auTOzvXKNoscbf41E+QJ9PzQhWrmz8F+OCCy4gJycHgP79+zN27FiEEOFmLqDE1G688UZ27dqFEAK/3w8oraEnn3ySAwcOMGnSJC688EIADh06xI9+9CMWL15M//79AVi2bBkff/xx2J//7bffsmvXLlavXs11112Hw+Hg7LPP5vvf/361a/z22285cuQIY8aMAeBnP/sZS5cuBcDv93P33Xfz4Ycf4nA42LlzZ9z3Wd/tNJpUwOXSRr8paLFuH7c78b7AjIyM8N+GYYRfG4YRllF+/PHHycvLY8uWLbz99tthGeXrr7+et956i1NOOYX8/HzeeecdADp16sS5557Le++9Fz62lJI5c+aEJaD/7//+jwkTJgCEpZtrQkpZ4zbPPfccZ511Fh999BEbN27E5/M1ajuNRtN6abHGPzc3Ob5Au4zy73//+/DyPXv20KtXL37+859z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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.xlim(0,N)\n", "plt.ylim(-2,3)\n", "plt.scatter(np.arange(N),s,marker='.',color='black',label=\"true signal\")\n", "plt.scatter(np.arange(N),mask*d,marker='.',color='blue',label=\"masked data\")\n", "plt.fill_between([400,800],-2,3,facecolor='grey',alpha=0.3, linewidth=0.)\n", "plt.title(\"Signal and data\")\n", "plt.legend(loc=\"best\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup Wiener Filter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Covariance of the Wiener Filter:\n", "\\begin{equation}\n", "\\mathrm{Cov}_\\mathrm{WF} = (N^{-1}+S^{-1})^{-1} = S^{1/2}(I+S^{1/2}N^{-1}S^{1/2})^{-1}S^{1/2}\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "M=np.identity(N)+sqrtsignalcovarPix.dot(invnoisecovarmat).dot(sqrtsignalcovarPix)\n", "CovWF=sqrtsignalcovarPix.dot(np.linalg.inv(M)).dot(sqrtsignalcovarPix)\n", "CovWF=(CovWF+CovWF.T)/2\n", "sqrtCovWF=scipy.linalg.sqrtm(CovWF)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(CovWF.real, cmap='RdBu')\n", "plt.title(\"Covariance matrix of the Wiener Filter\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Perform signal reconstruction (apply Wiener Filtering)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mean of the Wiener posterior:\n", "\\begin{equation}\n", "s_\\mathrm{WF} = \\mathrm{Cov}_\\mathrm{WF} N^{-1} d\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "sWF=CovWF.dot(invnoisecovarmat).dot(d).real" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEICAYAAAC3Y/QeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsvXt8lNW1///eM5OAIogBLCgSBIXhEgXBJINcEhEiaj0KeqyC2JsJSD1Uj8WCetDzQ1GOxVsREkorKG1tDfWnVRpEE0BJoCjUcBlAEUSBCkEkojCZmf3947nkeeaSTJLJdfb79cqLPPc9IVl7PWuv9VlCSolCoVAoEgtHcw9AoVAoFE2PMv4KhUKRgCjjr1AoFAmIMv4KhUKRgCjjr1AoFAmIMv4KhUKRgCjjr6gTQojJQog1TfCcLCHEF439nLaCEGKUEGJ3c49D0XpQxl8RhhBipBBioxDiGyHEcSHEB0KIKwGklCullOObe4wtHSHEfiHENY14fymEuMTYllJukFL2b6znKdoeruYegKJlIYToBPwdmA78BUgGRgFnmnNcNSGEcEkp/c09jrrQGsesaFsoz18RSj8AKeWfpJQBKeX3Uso1UsqPAYQQPxZCvG+cLIQYL4TYrb8lvCiEWCeE+Ln1XCHE00KIr4UQnwkhJliu/YkQYpcQolIIsU8IkRfrIHXPd4YQYi+wV9/nFkK8o7+t7BZC/Kfl/LOEEL8RQhzQx/q+EOIs/diNQogdQogTQogSIcQAy3X7hRAPCCE+1q97VQjRXj/WVQjxd/2640KIDUIIhxDiZaAX8KYQ4lshxCwhRG99zD8TQnwOvBcptGV9YxBCOIUQc4QQn+o/ow+FEBcJIdbrp/9Lv/9tofcSQgzQP8sJ/bPdaDn2khBikRDiLf2+m4QQfWP92SvaCFJK9aW+zC+gE1ABLAcmAOeFHP8x8L7+fVfgJDAR7S1yJlAF/NxybhVwN+BEe5s4BAj9+PVAX0AAY4DvgCv0Y1nAFzWMUwLvACnAWUAH4CDwE30sVwDHgEH6+YuAEuBCfSwjgHZok90pYByQBMwCPgGS9ev2A5uBC/Rn7QKm6cfmA0v065LQ3pCE5bprLOPtrY95hT7WsyJ9Rut1wK+AcqC//jO6HOhi+fyXWK4z76WP5RNgDtqb29VAJdBfP/4ScBxI139WK4E/N/fvnvpq2i/l+StsSClPAiPRjMtS4KgQ4g0hxA8inH4dsENKuUpqIYzngSMh5xyQUi6VUgbQJpQewA/0Z70lpfxUaqwD1qAZ0FiZL6U8LqX8HrgB2C+l/IOU0i+l/AgoBG4RQjiAnwIzpZRfSu2NZqOU8gxwG/CWlPIdKWUV8DSaYR5hec7zUspDUsrjwJvAEH1/lf55UqWUVVKLu9cmlvWolPKUPuba+DnwsJRyt/4z+peUsiKG6zKBc4AnpZQ+KeV7aKG82y3nrJJSbtb/31ZaPpMiQVDGXxGGlHKXlPLHUsqewGA0r/fZCKdegOZtG9dJIDRD54jl+Hf6t+cACCEmCCHK9JDJCbTJpGsdhnrQ8n0qkKGHOU7o95sMdNfv2R74NMpnOGAZY1C/74WRPgPa28k5+vf/h+Zhr9HDVr+u45hr46IoY66NC4CD+mcxOEBsn0mRICjjr6gRKaUXLUwwOMLhw0BPY0MIIazbNSGEaIfmmT8N/EBK2Rl4Gy28EfPwLN8fBNZJKTtbvs6RUk5HC/+cRgsxhXIIbeKwfoaLgC9rfbiUlVLK/5ZS9gF+CNwvhBgbYWzRxnwKONvybCfQLeQz1ScWfwi4SH/jMehFDJ9JkTgo46+woS+a/rcQoqe+fRFauKAswulvAWlCiJuEEC5gBpqnHQvJaDH3o4BfXwhuSArp34F+Qog7hRBJ+teVQogBugf8e2ChEOICfSHVo09AfwGuF0KMFUIkAf+Nltm0sbYHCiFuEEJcok8YJ4GA/gXwb6BPLbfYA7QXQlyvP/thtJ+Jwe+A/08IcanQuEwI0SWG+29Cm1hm6T+HLLTJ6c+1fSZF4qCMvyKUSiAD2CSEOIVm9LejGUUbUspjwK3AArRF4oHAFmJIC5VSVgL/hWZ8vwbuAN6o76D1+40HfoTm+R4BnqLamD6Atnj6T7TFzqcAh5RyNzAFeAHtDeGHwA+llL4YHnspsBb4FigFXpRSlujH5gMP6yGoB6KM+RvgHjQj/yWawbaGzRai/XzWoE0uy9DWIwAeBZbr9/9PyzXoY78RbcH+GPAiMFV/i1MogOrMBIWiwehhhi+AyVLK4uYej0KhiI7y/BUNQgiRI4TorIdQ5qDF7COFiBQKRQuiwcZfCNFeCLFZCPEvvZjksXgMTNFq8KBlpBghk5tiTGNUKBTNSIPDPvpiVwcp5bf6otX7aPnUyvtTKBSKFkqDtX303O5v9U2j0lEtJCgUCkULJi7Cbnp+8ofAJcAiKeWmCOfkArkAHTp0GOZ2u+PxaEUb4vTp0809BEULpH379s09hBbDhx9+eExK2a32M2snrtk+QojOwN+Ae6WU26OdN3z4cLlly5a4PVfRNti9W8nRK8Lp318pVRsIIT6UUg6Px73imu0jpTyBJp51bTzvq1AoFIr4Eo9sn266x48ukXsNoIpJFAqFogUTj5h/D7RKQyfaZPIXKeXf43BfhUKhUDQS8cj2+RgYGoexKBRtnmAwiN/vR1XWx86uXbuaewhNTvv27enZsydJSUmN9gzVxlGhaEL8fj9du3alc+fOaCUyitpItGwfKSUVFRV88cUXXHzxxY32HCXvoFA0IVJKZfgVNSKEoEuXLo2e+qyMv0LRxCjDr6iNpvgdUcZfoVAoEhBl/BWKBOLEiRPk5+c36TMPHTrE7bffXvuJdeSll17iF7/4Rdzvmygo469QJBDffPMNBQUFEY8FAoGI+xvKBRdcwJ/+9KdGubei/ijjr1AkEA8//DD79u0jIyOD2bNns379enJycrjrrrsYPnw4Bw4cYNiwYeb5zzzzDPPmzQNg37593HjjjYwYMYKxY8dGlOPYsGEDGRkZZGRkkJmZSWVlpe2e3333HZMnT+bKK69kypQpjBo1ig8//BCArl27MnfuXNLT0xk9ejT//ve/AXjzzTfJyMhg6NChXHPNNeZ+RcNQxl+haOGUlZXxf//3f5SVNVwlfd68efTp04dNmzYxf/58ALZs2cJjjz3G1q1ba7x2xowZLFy4kI0bNzJ//nxmzpwZds6zzz7LM888w6ZNm1i7di1nnXWW7Xh+fj7nnXce//znP5k9e7btmadOnSI9PZ3NmzczcuRI/vCHPwAwcuRIysrK2Lp1Kz/60Y9YsGBBQ38MClSev0LRoikrK+O6667D5/ORnJzM22+/TWZmZlyfMXz4cHr37l3jOd9++y1lZWVMnjzZ3HfmTHir5szMTB588EF+9KMf8R//8R/07NnTdnzjxo1mnH7QoEGkpaWZx5KTk7nuuusAGDp0KO+99x4AX3zxBbfddhuHDx/G5/M1au57IqE8f4WiBbNhwwZ8Ph+BQACfz8eGDRvi/owOHTqY3zudToLBoLltGPhgMEjnzp3ZtGmT+bVt27awe/3qV79i8eLFfP/994wZM6ZOSq1JSUlmiqPT6cTv9wNw77338otf/ILy8nLy8/OV9HecUMZfoWjBjBo1iuTkZJxOJ8nJyYwaNapB9zvnnHOorKyMevwHP/gBR48epaKigjNnzvD2228D0KlTJ1JTUyksLAS0YrWPP/447Pp9+/YxePBgHnjgAa644oow4+/xeMx77Nq1i+3boyq/m3zzzTdceOGFACxfvjy2D6qoFWX8FYoWTGZmJm+//TZz586NS8inS5cueDwehg0bxuzZs8OOJyUlMXv2bEaPHs3EiRNtWvovvfQSy5cvJz09nSuuuIK//z1cv/GFF15g2LBhpKenc9ZZZ5GTk2M7npeXx9GjR7nyyiv5zW9+Q1paGueee26NY3700Ue59dZbGTVqFF27dq3nJ1eEEtdmLrGimrkoIpEIzVzOnDlDv379mnsYzUYgEKCqqor27duzb98+JkyYQHl5OcnJyVGvSTRtH4Ndu3YxYMAA2754NnNRC74KhaLJ+O6777j22mupqqpCSsnzzz9fo+FXNB7K+CsUiiajY8eOfPDBB809DAUq5q9QKBQJiTL+CoVCkYAo469QKBQJiDL+CoVCkYAo469QKJqcl19+mUOHDsXtfs8++yzfffddna4pKSnhhhtuiPn8ESNG1HVYcR9DPFHGX6FIUKSUNimHpuTll1/m8OHDEY/VR1q6Psa/rmzcuLFR79/UKOOvUCQQBw4cYMiQIcycOROPx8PBgwdZu3YtY8aMwePxcMcdd/Dtt98CmtpnVlYW6enpjBw5ksrKSk6fPk1ubi7Dhw8nMzOTdevWAZoxv+2227jxxhsZPHgwc+bMATRDfvfddzNs2DCGDx/O888/z6pVq/joo4/4yU9+QkZGBt9//z39+/fniSee4Oqrr6awsJDx48ebUs/Hjh0zhecCgQAPPPAAaWlpXHbZZbzwwgs8//zzHDp0iOzsbLKzswFYs2YNHo+HK664gltvvdX8TP/4xz9wu92MHDmSVatWRfwZ7dixg/T0dIYMGcJll13G3r17AU0aAzSdo3vuuYdBgwZxww03cN111/Haa68B0Lt3b+bOncsVV1xBWloaXq8XgM2bNzNixAiGDh3KiBEjWkRBo8rzVyhaOKKsDMeGDQRHjULGQdFzz5495Ofn89xzz3Hs2DGefPJJ3n77bTp06MDTTz/N888/zwMPPMCdd97Jyy+/zPDhwzl58iRnnXUWv/3tbwFtYti9ezc33HAD5eXlAHz88ceUlZXRrl07LrvsMqZPn87Ro0c5dOiQachPnDhB586dWbJkCfPnz7f1DmjXrp2p5Pm73/0u4tgLCgr47LPP2Lp1Ky6Xi+PHj5OSksLChQspLi6ma9euHDt2jHnz5rF27Vo6dOjAU089xcKFC5k1axZ333037733Hpdccgm33XZbxGcsWbKEmTNnMnnyZFNUz8qqVavYv38/5eXlfPXVVwwYMICf/vSn5vGuXbvy0Ucf8eKLL/L000/zu9/9Drfbzfr163G5XKxdu5Y5c+aYGkfNhTL+CkULRpSVkXzddeDzQXIyvrffbvAE0KtXLzIyMgDNI/V6vVx99dUA+Hw+MjIy2LNnD927d2f4cE1JoFOnToAW+rjnnnsA6N+/P7169TI94+zsbFOnZ8CAAXz++ecMHDiQzz77jPvuu48JEyZwzTXXRB3XLbfcUuvY165dy7Rp03C5NNOVkpISdk5ZWRk7d+7kqquuMj+Tx+PB6/Vy8cUXc+mllwIwZcqUiF3NPB4Pjz/+OF988QUTJ040zzd4//33ufXWW3E4HHTv3t182zCYOHEiAMOGDTPfLr755hvuuusu9u7dixCCqqqqWj9rY6PCPgpFC8axYQP4fIhAAHw+bbuBWCWcpZRcffXVpkzz1q1bWbJkCVJKU17ZSk1aYFaZBqfTSSAQ4LzzzmPz5s2MHj2a/Px8pk+fHtO4XC6XuR5hlXCONq7QMY4bN45t27axbds2du7cybJlywBqvRbgjjvu4I033jCF6Yy3Eev9a6Jdu3aAXZb6kUceITs7m+3bt/Pmm2+2CFlqZfwVihZMcNQoSE5GOp2QnKxtx5H09HRKS0v59NNPAU17Z+/evfTv35/Dhw9jCDBWVlbi9/sZOXIkf/7znwHYu3cvBw8erFGo7tixYwSDQW6++Wb+53/+x+wB0LFjRzMOH4nU1FSzy5cRTwcYP348S5YsMY3q8ePHzfsZUtWZmZl88MEHfPLJJ+Zn2rNnD263m88++8z8rNH6Cu/bt48+ffrwX//1X9x4441h0tUjR46ksLCQYDDIv//9b0pKSqJ+DgOrLPVLL71U6/lNgTL+CkULRmZm4nv7bfxz58Yl5BNKt27dWLp0KVOnTuXKK680G7AkJyfz8ssvc//995Oens7111/P6dOnycvLIxAIMHz4cO68806WLl1qerqROHToEDk5OWRkZJCbm8v//u//AlrI5d577zUXfEP55S9/ydKlS8nKyuLYsWPm/p///Of06tWLyy67jMsvv5w//vGPAOTm5jJhwgSys7Pp1q0bL730ErfffjuXXXYZmZmZeL1e2rdvT0FBAddffz0jR44kNTU14phfffVVBg8ezJAhQ/B6vUydOtV2fNKkSfTs2ZPBgweTl5dHRkZGrbLUs2bNYvbs2Vx11VX1ymZqDJSks6LF0BIyIBqbRJd0rg8tUdL522+/5ZxzzqGiooL09HQ++OADunfvHtdnKElnhUKhaGHccMMNnDhxAp/PxyOPPBJ3w98UKOOvUCgUdSSWOH9LR8X8FYompjlCrYrWRVP8jijjr1A0IUIIvv76azUBKKIipaSioqLR1zpU2EehaEJcLhcVFRW2DBZFzSQlJTX3EJqc9u3b07Nnz0Z9hjL+CkUT4nA4VM/aOtK/f//mHkKbRIV9FAqFIgFpsPEXQlwkhCgWQuwSQuwQQsyMx8AUCoVC0XjEI+zjB/5bSvmREKIj8KEQ4h0p5c443FuhUCgUjUCDPX8p5WEp5Uf695XALuDCht5XoVAoFI1HXGP+QojewFBgU4RjuUKILUKILUePHo3nYxUKhUJRR+Jm/IUQ5wCFwC+llCdDj0spC6SUw6WUw7t16xavxyoUCoWiHsTF+AshktAM/0opZeTeaAqFQlEPSktLmT9/PqWlpc09lDZFgxd8hdYdYRmwS0q5sOFDUigUCg2v18t//ud/UlVVRVJSEiUlJXg8nuYeVpsgHp7/VcCdwNVCiG3613VxuK9CoUhwiouL8fl8SCnx+XysWLGiuYfUZmiw5y+lfB+ovTeaQqFQKFoMSt5BoVC0OLxeL8XFxXz99dckJSXh9/tJTk4O66qlqD/K+CsUimbH6/Wyfft2Bg8eDMCcOXPMPr1VVVX07t2bIUOGNOcQ2xzK+CsUiibD8OgBsrOzcbvdFBUVsXjxYoLBIA6Hg/T0dNPwA2QCWfv3U7J/PyPfeIPFixeTm5vbTJ+g7aCMv0KhaFQMr75jx47k5+ebhn3t2rXk5uaahh8gGAyyaVN1jWh/4C+AIeq8IBhk2rRppKWlqayfBqKMv0KhaDS8Xi8PPfQQfr8fIYRp5EEL5yxbtsy2D+xdrK4G2qFllEjg18CFUrJixQpl/BuIMv4KhaLRKC4upqqqCojcmvD06dM1Xt/Z8r0xAdwJ9Hv33biNMVFRev4KhaLR+Prrr+N6PyOnPGPvXnjwwbjeO9FQxl+hUDQa5513Xr2v7Q8M17+X+hdUTwBywQI1ATQAZfwVCkWj0adPHxyO+pmZNDQDJYAgNUwA7drBmDGgtH/qhDL+CoWiUfB6vRQUFIQt6EYjdJI4iWagpP7vO926RZwA8Plg/XoYNUpNAHVAGX+FQtEoWBd7Qwk19A6HgwsvtPeAcru0fBTDyH9dVcVT+vdhEwBAIEDVmDEs79GDm2++WamA1oIy/gqFokkZNGgQTz75JP369UMTBdYINf6XhvT9OLdzZ+YAT1IdArK+CUjAVVXF1CNHuPn11xkzZoyaAGpAGX+FQtEoZGdn43KFZ5P36tULt9vNz3/+c5KSknA4HLhcLiZOnMiMGTMYOnQocyZNIlXv+CcB6XTSc/ZskpKSmIMmJbwO8FnuK6h+E5gCDKuqoqSkpBE/YetG5fkrFIpGwe1288QTT1BcXMw777xDIBDA5XKRnZ1tHp83b56p6eN2u3G73eTk5MDixeD3mwZd/PCHpOXm8rOtW1myZAllQDaa9MM6qiuAoXoCmArsP3Gi6T5wK0MZf4VC0WgYBj07O9tm5EOP10r37gAMHTrUtrsMGAP8CrgWOMty7AfAS8rzj4oK+ygUikbD6/Xy2muvAXDLLbfEZugBzj7bvq0b/YqKirDF4jJgErA85BYpwNatW1XcPwrK+CsUikbB6/Xy8MMP88orr/Dwww/j9XpjvRD+9rfqbSGgogKArKysiOsIACuAKqoXgMcAP/H7Vdw/Csr4KxSKRmH79u34/X6CwSB+v5/t27fHdmFxMVhrAxwOyMoCwOPx8NOf/jTiZWXAHv17I+4/U0qy9GsVdpTxVygUjcLgwYNxuVxmNo/RqKXO/PCHYFHwnDp1KklJSWGn9e7dm6revW37BjgcKO3PyKgFX4VC0SgcOHCA3r17k5KSwsSJE+sf758wIewUa32Aw+GgXbt2/PGPf2QowMiRyGBQUwGVEkpKbJOHQkN5/gqFIu4UFRWxaNEi9uzZQ1lZGQcOHIjtwhri/QYlJSUEAgFAM/zXXHMN7777rqbv7/Hwxe23A3rsX0o+VemeEVHGX6FQxJ2NGzfWuB2V0Hi/EGa83yArK4vk5GScTift2rXj0UcftTV2+WrvXu1SffsbteAbERX2USgUcefcc8+1bffp06d+N0pPDwvZeDwe3n33XUpKSsjKygrr6HXBBRfYtlPbt6/fs9s4yvgrFIq44vV62bBhg21fhw4dYrs4NN4/bFjE0zweT9Q2jt1nzSL45pugh4a6bNqkqX2quL8NFfZRKBRxZfv27baWjTFn+kSK91dW1n0AHg+Ou++u1vqpqtIWfRU2lPFXKBRxxZri6XQ6ycvLiy3TJ1K8v57poZ926lSt+hkMQpcu9bpPW0aFfRQKRVyJJNhWL9LToR7XlpaW8tZvfsOjaAbOD3y5dSup9RtFm0V5/gqFomUQY7y/NkpKSvgqEMCJ5vk7gR1HjjR0dG0O5fkrFIq4Ymj6+P1+XC4X8+bNq937j1e8Hy0V9JTTqUlIAwFgaG0XJSDK81coFHGlXpo+cYz3ezwebnvxRYJCmP1/e6xerfr7hqCMv0KhiCuDBw/G6XQihMDpdMaW6fP11/btAQPqFe83+DYtjZccDoJoGT/S51MZPyEo469QKOKOkeppTfmsE716Nej5JSUlfBgM4kDJPERDGX+FQhFXtm/fTjAYREpJMBisPezj9cKWLdXbLhforR7rS1ZWFj9wOgmgef4BYPnChaqxiwVl/BUKRVyps5RzcTH4/dXbw4c3KOQDWtx/7G232TJ+OqjGLjbiku0jhPg9cAPwlZSynqLdCoWiLVDnPP/QeH8cKC0t5d1XX+UqNCMngfsBryr2MomX5/8SWv9khUKhwO12161nr5Xzzmvw80tKSng3EDCrfAXaJNBj5coG37utEBfjL6VcDxyPx70UCkXrxmjaHlPP3kaI94MW89/sdPJByP6U9etVyqdOk8X8hRC5QogtQogtR48ebarHKhSKJsTr9fLQQw/x8ssv89BDD9U+ATRCvB+0mP+iRYuwPt0UeluxosH3bws0mfGXUhZIKYdLKYd369atqR6rUCiakOLiYqqqqpBSUlVVRXFxcc0XfP55o40lNzeX/aNHE0BP99T5pqys0Z7ZmlDZPgqFonnwemHXLvu+OMT7DUpLS1lYWsobIfs7btumQj8o469QKOJIdnY2LpcLIQQul4vsmuL327eDtQjM4YhLvN9gxYoVVFVV8X9gev9m6GfBAkpLS5k/f37C5v7HK9XzT0AW0FUI8QUwV0q5LB73VigUrYtx48YB2kRQY7ZPx45243/zzXGJ94dSBniBQZZ9p7ZtY+zYsfh8PpKTk6sbwCcQ8cr2uV1K2UNKmSSl7KkMv0KReBiLvatXr6aoqIgDBw7UfMGHH9q3v/suruOZOnUqycnJADyn7zOmmvYHDnDFmTMEAgF8Pl9CFn+psI9CoYgLxmIvQDAYZPHixdGzfbxe2Ly5Ucfj8XgoKSlh2rRpLE9KYp2+XwAOKblTShwOB8nJyWRlZTXqWFoiyvg3kPKCAkpycigvKGjuoSgULQopZXRdn1AJ5zjH+w08Hg+LFy9m3bp19BgwwHasmx5yuvfeexMu5APK+DeI8oIC+ublMXLNGvrm5akJQJHQ9OnTx7Yds5wz1LtlY6x4PB76jxkTtj8YDPLMM88k5KKvMv4RiNWbrygsJBlt1bwdcPzZZ5tieApFi2Tfvn3m90IIxo0bF33BN04tG+vCospKfFTH/a8HMoFAIKBi/grN8F+al8eoNWu4tBZvvsukSfjB7BaUsWuX8v4VCYnX6+Wdd94xt2tM84xjy8ZYKSgo4BcrV/KW8UggGZgKJCUlqZi/QvPe26FJwNbmzafl5rKtRw8zfzgZ+Hbu3LDz1k2ZwpYuXVg3ZUqDxpboecmKlouh4Q+a13/NNddE9/rj2LIxVpYt0xIQ/x3h2IQJExIy5q8auIciRM3bFsoLChh6+LDWJg5tAsg8coT3MjI4Cey54AL6fPcdk9as0S5YuZJ1wJhXXqnzsEpLS5mdlcVVVVXMTkpifklJQv7CKlomRutGKWXtxV2hkg4NbNkYCxdccAEAH+nbRujnBNC9e/dGfXZLRRn/UIYOxb9zJ07AB6TMnEl5QYH2BiAEKTNnkpabC2gxfxd6xaCOBLI3b0aiVRXu1vcbE0SH1avrNaxDd93Fuz4fAGd8Pl5bsUIZf0WLIqbWjZEkHRrYsjEWZs2axVtvvUXXqioCVGv8PwB4hw5t9Oe3RJTxt1BeUMCVK1cigCDwz9RUgs8+S+auXSTr55zJy6Nc/77dxx+beuGhONAMvuHPGOecmjChzuNaN2UKE/fuBf2e7YDwvAWFovmI1LoxYtinkSUdouHxeFi3bh2/+9nPkLt22TT+07ZubfTnt0QS2viXlpZSUlJCVlYWHo+H4889xyAwmz6PPHDArgcCJKGtA1gnBMAW+rHuc1q2/UDK6NF1HmeX118Pe0bq1Kl1vo9CEU+8Xq/ZrevUqVPm/hpTPJtI0iESHo8Hli2jdMQIRln2b/3HPzhdWppwb9IJa/xDY+gvvPACV+3caTOwRhaP1bt3AOd++SXJVBt663HjXxHyvXFtRWEh6GGjWKns2BEsf1wSKC8vJy3BflkVLYeioiLy8/PNRd6gZQE3EAhEv7CRJR1qw+PxcOSmm0B3qAA+27+fH40Zw7p16xJqAkjYbJ+9K1bwD5+P/5WSf/h8nHr0UZxUe/nWCcD4tTbCQSkhhtg6CUTbb7Z4kY1UAAAgAElEQVSTq0cvg3Mee8ymSijRJxGFohnwer0sWbIEv99PMBi0GX7ADPtEuLDRJR1iofusWQQcDlu+/7CqKlYkWJOXhDX+w3butKV0ph45Yh4L9eIdlm0HcJHu2ViNsfU8w+gHQ7YdwJUrV9arFqC8Y0fzmU7qN4koFPHAmtYZCYfDETns00SSDrXi8fDNyJGAPd//iMUGJAIJa/xdIa0kzw/JUAgN2QjssX/r90BYtyCAipA0UQfaL1pdvHZDQuIyvQjGePvgo49qukyhaDQGDx6MiJICLYRg+vTpkRd7myHFMxpdBg4M23f8eGK1IU9Y45+UnGzbtoZ7gvqX1au3hm5Ct6uA/fr9rPc4mpxs3su4xglcNGRIjWOzyksYEhLGwrGqJla0ZK699lpycnLCDzRTimdU9PRO4+85FVi/fj0FCfQ3lZjGv7SUi8q1hE2JloXjR/Pe/cDWAQNwEtL5R8fq+QeBHR06sDs/ny9vvdW8n/HvgDNnzJRP414BwHXyZNShhYrFiW7d8KFNMH7LfZyouL+ieYiq1Em4uJtJSwn5GFRU2P62JwDLgWeffTZhqugT0vgfWLECEQyaBnw31UY7AJwSggCRM3asxr0KkAsXkpaby5hXXmH95Ml8mJLCph49TKNvnSwMz3/Dzp1Rx3b8uedoT7VYnDx6lLL0dL5wuShLTeW0/twqNG0hhaKpGTx4MC5X5ETBymgaPV9/bd9uxpAPAFlZIIQtMWMKcJ7XyyOPPMLYsWPb/ASQkMZ/HVr1rh/tBzAQzNCKC0BKfGgTgUFo1g9AaefOZrUvaLINwysq6PDoowQJXwMwJpsuobFPNI9/3cCBjLCkmzqADlu2kL15M739fkYeOMCOlBRtIkhPtz1boWgq3G43d999N/369cPhqDYhSUlJsUs4N2fIB8DjgTvuAOyJG2OkJBAIcObMmTav9JmQxv/SqVN5wOnkkL5tzeZxAlxxBZ/m5/P+gAHmJOAHdodk2Jx/2WUR75+Wm8sHkycTQDP2VWBKyTqAsfv3s27QIDNmbyqJ7tplykUYE0wf3WMytocfP05vv5/szZsbLBSnUNQHr9fL0qVL+eSTT3A4HGRmZjJhwgQef/zxyAu9Xi9s2VK97XI1b8jH4JVXEOPHA9V/m0YaSDAYpEuXLs01siYhIYu8zikv5+lAgHYh+wV6XP3oUc2rzs01F127TJpEWloa/pEjcQSDBB0OBj35ZNRnjHnlFcpHjzavPTV3LhlHjiDQqoRH7dyJT5eKOP7cc7Sj2vuwvjF8edZZpHz3nW1fQ3WCFIqGYLRrNDR8+vXrxy233FLTBeD3V28PH968IR8r+hqF8Tc1AfgdWtZSRUVFMw6s8UlIzz9SBo3xrx97LD0tN5esoiLScnMpLy/HHwxq5wWDlJeXUxPWa8+kpNiOOdBi+v4nnqDL/v3m/tAF5rTvvuP91FQ+TEnh/dRU23hDdYJUS0lFY2Po9huGP6ZuXRHCnC2VG9EavEgp27znn5DG32jCYo3hGwZ3a/fuUWPphoqnk7pn26TMnMkZyzMNBh84gFsvcQ/1+o0x9fv8c9rNn8+o/ftZP3kyO84+m009eth0gqxZQv3z8lRISNEo1Em3HyKneJ53XiOOsI5MnWquzxlZdC/ph9q655+QYR8D60KPYWh9IR66lS6TJuFbs8bM9KlLtk1abi7lwLEHH2TUiRM4qK4lcFG9NpBMeI3B+VKSooeIUkaPps/KlSR/950ZNkrLzQ0TpfOsXEn56NFqUXj5cvjHP+DMmZrPa9cOrr0W7rqracbVAvB6vRQXFwOY+vuGUFs0g96xY0fT+Espo6d2GrS0FM9QPB6On38+Xb/6ytzVDy3t83Qb9/wT0vhXFBYyAG2W9+v/mh53DdrehgE31wDqaFiPr1/PyBMnbOEm6+RjlJ1Z9xmTkgtNTVRedBEDqP6PqygspBzIDBGlM99MEtH4FxXBX/8Kx47ZDU9N+P1QWKi1F+zaFW69FSIVK7URvF4vc+bMwa/H4ouKinA6nQQCAYQQTJs2LWKxVmVlJQ6Hg2AwiMPhiJ7aadCCqnqjcfLHP6brggW2v8cpwNX33ktaWlqbFXtL2LCPUThlreYNoC321oQ1jl8XygsK8KxcacvmMcJHWPZFKiir3iEQ3bqZk5UTCJ44YWsqY60wTrg6gKIimDwZFi2Cr76K3fBbCQa1axct0u5VVBT/cbYAtm/fbhp+0LJbqqqqCAaDBAIB8vPz8Xq9Ydd11DWmhBC1x/tbWlVvFPo+9RSfDxgA2J2umT5fm073TEjP3+rBi27duHLlSpJo3MKpisJCW7UvhBeAWQkQwfgPHWpq+ph5yZs383GnTmHrBTX0Ump7eL3w7LNw6FDt59aFykptEli1Cu67r8V5rLFg1dx3u93m9ue1LMJGasji9XptMs41duyClh/ysXBo2TLaXXstP7BU3/8QuKQNh34S0vgDZionYEvJbKwYeZdJk0BfLwiVjDb+hI45HFR27Yr88Y/5rm9fXL/6Ff1PnsRBdQqqVVBLoL26DQmRizD2J0TYZ+FCiMU7czi0r0gEgzW/JRw+DLNmaVWh999fn1E2C16vl4cffhi/34/L5eLuu+9m6dKltjTNmjC8emPCOHr0qE2rPxAIRO/YBa0i5ANab4+xY8ey8PRp8vR9xpv5Bffea66rtTUS0vjbcvdzc20TQWORlpvLe8uWmf19odroB4GPx49naFER1jKycuB0Xl7YW0mVvg/sshPW79t82MfrhQULtLh+TbRvD9dfX/tC7vLl8NZbcPp09HNKSrQ2hLNmtUgjFooR2gkGg/j9ft55552YDb+BdQJxOBw4nU4zXORyuaKHfVpJyAegpKQEn8/Hcin5OZh9PQBSfD465+VRsXIlXZ58UqsMbiMknPE3UiIHAL41a5p0Vr960ybWTZlCr1dfJdXvty24fBPh/GgLzOuee45RO3eamT0GVn2ij3r0oENjfIiWQFGRFo6piYsvhunTYzfSd92lfXm9sGQJ7NsX+bxjx+DBB+Gee1rsgrDhqZ86dcrWaWvPnj11uo8h4GZMIADp6ekcP36clJQUJk6cGN3rb0Uhn6ysLJKTk/mnz8ebwSA36ZOjtQ9Hyvr1MGYMrFvXZiaAhDP+RqaPC0tHrCZ8pTMqf315eWaFcYDoXnqkt5KUmTNt10O1btAXTic/CAS48vBhqiypoG2G5cu1rJxo9OjRsPi8262tH9S0jiClNvkcOdLiUkOtnnqsCCHC3gaMhiwHDhywTSBbtmwhGAzicrmYOHFi9Ju2kpAPaK0d3333XUpKSti7eTP+1183DaMtCaOqClasaDPGP+GyfayZPs2ljJmWm8umyZPNQrO65qSk5eayaeBAW2aCRJtETnbubFYvt0NLD20zLFwY3fCffTbMmAH5+fExMm639gYwYwacdVbkcwoLtTG1IKyhnpq6bRlcfPHF3HPPPSQlJZn7hBDm2lJlZaVtnSkQCJhhpKjSzq0o5GPg8XiYPXs2o2bN4mqnE+MdKSxAVlbWxCNrPBLO+Kfl5vJpfj4fjB/Pp/n5zeYVf//BB2aqpwv4dNmyOl0fOOecsCyhfWefjTu0KjFKx6WWQsySFDUt7A4dCn/+c+OEYXJy4NVXo9d/lJTA3Lnxf249sRZhxULnzp3Jycnh8ccfZ+jQoTgcDqSUVFVVsWrVKj7//HPbW4HD4cDhcNQc729FIZ9QPB4Pd774IgMdDl7W99nW6LZtgzYin5Jwxr8lUF5QQPb+/TaN/2/bt6/T9SP1RtjWCaCPLhNhfRPo368ftFBd8nVTptDf0rjmQLSc+poMf1YWPPZYYw2xmsce054Via1b4YEHGn8MMbAv2lpFFEaMGAFoMs233367zcsvKysLy3OXUpKTk8O8efNafZZPNNLS0khKSuIu4EmqM/LMn0wbeZtOOOMf2imrOUTQQouygsCoCD1Fa7o+Us1AaOqoEzj/9dcJjBjB9q5dW5Tg27opUxip11e40KqbT27caDunqKiIf911FzKa4Z80qWlTL++/X3tmJPbsaRETwNehTVNqYNCgQbYqXrfbTd++fWu8xsj/j0orDPmEUlJSYq6ZzAHWW45JQHq9LdahqgsJZ/wN+WQXmrRyc7RC7DJpktYFzPhyuUidOrVO1xvNaEJbUP6d6opl0P6DHcCgigoG5OVR1qOHrZdAU1NeUMDW3r0ZuXJl2ATWSfdCQTP8yYsWcVk0YzZjRvMstt51l/bsSDTzBOD1etli1c2vAZfLxV0Rfn5paWm1Xnvw4EEeeuihiBXArTnkY2Bk/xhvQbPRq//R/66k5PCCBc03wDgRF+MvhLhWCLFbCPGJEOLX8bhnY1BeUECGJUWypiybxiQtN5e9+flsTU/n3zfdhGv9+jplEBjrFu+PH89GvWmMQWD8eNtrqnVR2AlkHDnC6J076V/Pt56GyEYbTWuGHDhgGn4D6/derxf50ktkRTgGaMa3OdMsc3K0GoOuXcOP7dnTbGsAVsVNK46Q4rbMzEyeeOKJiGGbDh1iSxCOuuC7e7d9u5WFfKA6+ycvL4+kpCTKgDdCzqlr2mxLpMHGXwjhBBah9UEYCNwuhIg9htGEWMMtkprlmxubtNxcrti0ie5/+1u9UscMjSF59KhNZror8Flysu3cUJloo6HM8eeeq9MzywsK6JeXx+g1a+hXj8mjorCQJELS5yzbx/76V7xeL+/9+tfknDplHrN9huY2/AZuN/z+99CvX/ixrVubJQvI0N0J5SxLtpLD4aBfv35R4/WDBw/G6XRGPGZFCBG+4FtUFF4f0cpCPgYej4fFixdz3333AWC0TTJ+Dw9GmvhbGfHw/NOBT6SU+6SUPuDPwH/E4b5xx9DxN7zhoUeOtKg4eH2IlLp66NZbgZBFKsI96OTjx+v0rFNz55KM9kuTrG/XhaAuZR1amGaM8/KvvmL/Y48xzdCLt5wDNLrh93q9LF68mMWLF0cOaUTi6acjTwAlJU06AYTq7lg5deoULper9iwdtLj/eL21YU2kp6eHTyBvhPjHQrS6kE8o27ZtAzSnytDbCgLd460j1QzEw/hfCBy0bH+h77MhhMgVQmwRQmw5WotyZmNh5McbMfG6NmRpiURKXR3zyiu2rl/WuLp1Qbiuk985IfK9Fx85wusPPhjTteUFBYy2ZCgZYzG2DT2i8adO2d4MjHN2ZGU1uuGfM2cOq1evZvXq1cyZM6duE0CPHuH7S0q0orQmYNWqVTUWdvXp04cpU6bUnKWjk52dHeb9GymeQojIBV5eL3zxhX3fwIGtLuQTypAhQwAoAdNxdAAjP/kk5t/9lko8jH+kRPKw2ggpZYGUcriUcni3kEboTYERqw6cc465ONpcRV7xJpLM9Kj9+9k2fjxBMNcEQsM/dV3w/mrQINt9zgduXLCA9zIyar223f33m5opxgQUBAJC2CakSIa/EHh048bYjXE92L59u020zO/3m41OYuK++yLXVBQWNrosdFFREWW1FB+NGzeOW265pVbDD5r3P23aNFwulyndPH36dJ588knuvPPOyOsFxcVa5bOBEC2u+rk+dO7cGYAy4A9gcxyPr1rVfAOLA/GQd/gCuMiy3RNoUe9E5QUF9M/LM+P9hkH85+TJjGlL0gchDC0q0lLSSkrY/pvfMLCiwpztDQ8meOJETPcqLyggc/Nmgvp1VjOXvXkznz74IH2feirsmorCQs4FhugxfKieAN4fMIAxy5ax89e/psP69bZ7GmakBFgBOPQFRqsscaSOUzUdq4lIoZDaZI9tuN2a3k8kzSFjXyO9uWwMSZEFzVMfMGAAVVVVjBs3LmJjlprIyckhNTU17GcZc25/G/D6oTrzx+fzsQL4ib4/AHwfg9PTkomH8f8ncKkQ4mLgS+BHwB1xuG/cOPXoo+ZCo1FUJam9cUubwOMBjwfZpYtND8j4WXT65JOYbmPtfhb6BiGB03/8I1iMv1VAL/Rc0N66Un75S/B4cJ4+TS9gd8g5JcAz+veG1kyoTLE1jOH1epk9e7bZjWrixIlkZGTEPBmEatzs2rULr9cb+yRiGNhoE0BqatwNYlFREV9++WXY/ptvvjliKmddcLvdsX12rxd27rTva6ULvaF4PB5KSkpYsWIFvnXrbDUM0RbYWwsNDvtIKf3AL4AiYBfwFynljobeN56c8021ZqY17NAWQj6xYqSXbtN/YQ0Td2rChJiuNxaWrWml1nCN68gRW9P4isJCktG8C+vbBsCnDge79fWJTx98kH4RqpU/otrwA2bOtVW7pqqqyhaaWbVqlRm6kVJSWFjI7NmzeeWVV3j44YdrDBtFSluUUtZc0BSJnJzohWBxrgxdvnw5ixYt4itL/1nQflaxpmzGaSDhIZ9WvtBrxcj8+Z8xY2yZdWOaeVwNJS55/lLKt6WU/aSUfaWUj8fjnvHktGXx02B7p05tS+0yBtJycxl68iTrJ0/mw5QU1k+ezJhXXon52k/z83l/wACq0CaBIGAEjfr5/YxeuZLXcnJYcPPNfL9nD0HsGUdGq8ztw4ebP/vTf/yjeczgEBAq2GA0Dhk8eLCZty6lZO3ataZRPx4heykmITI0Ly40H15KWT/v7q67IktBHDoUtxoAr9fLqigx59oyeuKK1ws7Qny9nj3bRMgnlNSpUxFJSZoQo8PByRr6fbcG2nyF75aBAxlmeVUzJoABJ0+2+jTP+jLmlVcYXlERs+E3SMvNZczOnezOz2fD+PG8NWAA5+rHDOPtXrOGX77+OuP277f1JwbtZ+8H+v7sZ+Y9t/bpYx4zFoGfRTNgmZmZ5qKjEfYBbOmMxqQA2qJmNILBYFRD7vV6Wbp0qRkuMhBC1N6gPBr33x95AohTDcCqVasiNmXp168fjz/+eJ3WOxo4kPB9N97YNM9uBkzdrGCQe++9l9JWLPPQpo3/exkZpuEPzXd30frTPBtCQyp103Jz6TJpEhN27bJpCgEMAFOvxxruMX7+oYV1fZ98khlOJ5vQMip+DewRgnHjxjFx4kTTGFvDPlajZ/XOU1NTGaRnJEXijTfeiJjDb4SSpJRR710v7r8/shpoA1NAvV4vmzZtingsLS2t6Qy/1wuh4+jTp2UU4TUGJSXg95thn6uqqlp1g/c228wlNK/cmkqYEG0Oa6C+3cys7S+t4nJQnUUVrUm9gS8lxbbt8XhgwwaWr1jBhg0bCAQCJLlcZGdnm+mXUkrTw+/YsWOYgc7Pzwdg6dKlZrvBSMVOBw8e5ODBg6xdu9bmHQ8ePNjm8Rs4HI76e/4Gjz0GeXlaH2ArhYXQvXu9DGU0rx/qrurZIELTOwH692+65zc1WVnI5GT8Z84gga+dTm6IpvTaCmiznr/h1Vv1bUCLOVcBpZMnJ1zM38C6GBtLrn95QQHrBg7kUosaqujWzS5OR+SCDyzHq9C6kIViLKg9/vjjtkKkwYMHm5WpQgg6duwY0Rj7/X42btxoazdYE1VVVbb4v9vt5qabbjKfA9VvGsXFxRQ1NE8/Wg3AokWa91xHImX3GIywiOM1OqE6Pm1soTcMjwfn888jHA6cwPNC0Jp7erVK419aWsr8+fNrjLd1mTQpTODMD6zu2ZPd+fl1jne3JerSzcyUwN61y6aGKo8eNbuRhXr5oR3GgsCmHj3MDJ9ouN1uWyGS2+3m7rvvBrSYfX5+PqdOnQpbmAWtgtUqYTBp0qSI5xlYwzler5c333wT0Lz9rKwspJQEg0EOHjzIokWLGjYBGDUAkahjBpDX6w0z/oZez4wZM+qcz19vIun4ZGS0yYVeKwe2bkUGg9p6VlUVB1asaO4h1ZtWF/YpLS3l5VGj+I9AgJedTtiwQQsdRMDwAQ3DP9Pp5M6//IW0NtKDs76k5eaybv16OqxezakJE2osdAvN7zfenIzQjyHLYE37JOT7jampjNq/v15j3bdvn+nN+/1+/va3v0U878svv2TevHm2nH4jx79jx44sXrzYvE9oOMeaPupwOPj000/D7r9x48aGGdacHK3nb+hblpEBFGNDmuLiYtvbzfnnn88DDzzQdHF+g7/+1b4tBNTU07eNsOPIEXpRXS+048gRUut4j9LSUkpKSsjKyopqu5qCVuf5f/rrX7MoEGA8sCgQ4JBeyBK6gFlRWGjKCQSBN7p1484aJopEoryggCtXrmTI8eNcuXJljYu+wRMnbIVd5Z06mRpCobn/Isq/ZzU0bm4dj96bNjRGv2nTJg4cOGDbZ7xJpKamhp1v9fyN7w0pg0jEJZwSLQW0DhlAoc1a+vTp0/SGv6gIQmoL2kpFb20M6t7dlHgI6Nt1obS0lLFjx/LII48wduzYZs0WanWe/1D9VdMIKdy0dy/rpkwhU+8KVaUvYIpu3Uyj5QC6jh+vDL+O4c270H4+FYWFEMX7P1/P4TZDZy4XQ/Rz03JzKQe+nTuXzCNHIorIQeyFZJHoo6eCWjFExqxCZlJKFi9eDBBW+RuaIRQMBlm6dCmpev2HVQ1TSkl6ejoHD1ZrFQ4dOjR+4ZT774dvvtEMvpWSEujSpVY9nPPOO6/G7SYh1OuHNqHjEwupQ4eab7lOfbsulJSU4PP5CAQCnD59mhUrVjSbXWp1nn/7OzTlCOsC4wV//WuY1LA8etSUYA2QIFIOMWJIWweouaFNeUEBl+qaPIbp9LdrZ3tTSMvN5cxll9m6h4FWxVvXQrJIVFZWhnntl19+OU888QQXXXSRbb/xVhBa0HXq1Kmw7BijQfmCBQtsk0ggEKBDhw7mmoEQgh07dtjSQ71eL6+99lr9heYeeyyyCmgMInDZ2dlm7YNLz4pqUiJ5/YMGJYTXD1rM3/hdDwKHV6+u5Qo7WVlZtiLFP/zhD83m/bc649/3qadsapUSOKeqynZOl+PHCZ44YRp+H4mb1tkQrKEzI94//PDhsN7HXSZNMqt5DXwjR9arkCyU0OYiDoeD7vqr9o1RiomsFa5FRUUUFhaGGX8pJWVlZRw7dsy232hSYsgjSCltk4nX6+Whhx7i5Zdfjt7KMBbqkQFUVFTECy+8QEpKChkZGVG7cTUqCez1A6wDM8vNAXR788069/O1rtlUNWOtQKsz/qCpVa5LT8eB9urVXf/DNv68L/b5yN682exfW5aenrBpnZEwOpo50Tt6Rck4sWYFBdB+lpHSQ9Nyc/l81ixT8iHgdDLwySfjMla3201eXp7pLQWDQVavXs1DDz1Eamoq559/vu38rl272kI+77zzTszPcjgcTJ8+PWqaKWgLrlVVVUgpzbeHen6wOmUAFRUVsWjRIg4ePMhXX31FWVlZ2BpHo7N8eUJ7/QCXTp3KCqfT9P4dwaAWsouRkpISmyPidDrJaqZagVZn/I2c86EhjUEMwWAj+8R6LFblykTB2tHMAWTs2hVx0dfQ89k4YIAtdTNSqKjvU0/h2rgRxxNP4NqwoV6tKaNRWVkZMWxTXFzMrXrXMoPbbrvN5g2nhBSVRePcc89l+vTpZmzfSDN1OBxIKVm6dClerzdswXXz5s319/6jicAdOhTWCD7SJFaXia3BeL2RpRwSyOsHrSal/49+ZGa4CSn5NIIserR09KysLJKSkgDN8P/2t79VMf9YMBqAj961i876PsMknK3/a8T5rcdOXnJJUw2xVVCXjmbH169nwK5dZvgHYFc0UTyPB2bPjqvhh8ha+wY5OTnMmDGDiy66KGwNAGDixIm4XFpeg7FQHInKykrTwFv3WdcRiouLw3Ls66X8aSVaBpClEbzX642YfhrrxBYXVq0Kr+ZNMK/fIHQ9sdzi+ZeWljJ9+nRGjRrFnDlzGDlyJAUhjpWU0swsS0tLa8qh22hV2T4VhYUMJLyS1PBgjX+xnBMEHJ07o7CTMnMmVXl5QPRF33VTpjB65cqw/UmBQNi+pkYIYVvsNLJzFula+lYP/oknnmD79u0cPXqU1VEW6KwLxVbZB5fLZUpGvPPOO2GtEp1OZ8MVNKNlAOkpoNt79QqrXHY4HOGtFBsLrxcidQpLMK/f4BjVdS9OYPfmzaaHP3bsWL7//nvz3GAwyPTp00lLSzN7AxiSJVVVVSrbJ1ZEt262giJrYVFoG0DjWE3ZLIqauVBf3At9k6q46aYmHcf27dvD1DbvueeeqHH9N0IaiRv5/tnZ2TVW/YYaciP0c/nllzN8+HBbm8e489hjURvBjykutoW9hBDk5OQ03WKvnkJrIzMzIb1+gJP79tkiDPcDGxYsoKSkhDNnzoSdHwwGzUXdrKwsM4HBCCeGvhk0Fa3K+Ftft4JoC5EQ3vfVmga6++yz1WJvBKyLvpHCPu9lZNDX5wMsTViSkxuculkfrIuvTqeTe+65x5Z3Hxr++PLLLyPG4d1uN9OnT4/4DCEE11xzjc2ger1eCgoK2Lp1K5s3b44o/lbnXr81EaURfNeDB1lg2XY6nU2X4rl8OXz2mX1fglTzRiNl4kSbnXEBadu20aVLl4jaUklJSbZF3bk9elCK1pv6ykCAadOmNcsE0KqMvzX75Ayws1OnsHNCJYYrbr65ycbXmgjV9xHdupkV0qGKqACfJCdzyZkzzaKJ5Ha7mTdvHlOmTGH+/PlhBVcTJ04M8+ijxeFzcnKYEKHoLJJBNTJ7oLqGoNG57z6I8HbSH1iAFu7Jy8trGq/f6w2XowDN8Ceo1w9w01NPUdqli23f2WefzdbQsB2aU2GEdUpLS3l59GhmHzhABnAzsAH4mZTsnzatyfuLtKqYv1FRasgKOwG/3pjdwOr1b+vYMaEF3GrC+rMU3bpx5cqVJKNJPP9z4EDAPokeuvVWLm2msULN/WQNj96o1K2tk1V2djbvvvuuqecjhIjo1ceCsZhcp16/NeF2w5NPaumehw4B1f8P/YGngkFkal3VZOrJM8+E7+vTJ2Fj/VYu/NnPYMEC8++jr6XSNxOYD7sOpfIAABRZSURBVKQB30jJ/PXrGTlyJDfeeCPz9DUj47fNCRSghYCq8vIgLS3uCRPRaFWefyhpubl48/NZP2AA6wcOpDg93axcPQO4nn66mUfYsknLzSWrqAh59Kgp8dwO6HTwoE3PZ0tKSoufRHNycnjiiSdsktDRMN4kLr/8crNpu7UjmEFtawTnn38+wWCQoqKiWnsE1wm3G5YsgX79wsKY/YBuCxZEvzZezJ0b3oMAYNq0xn92K6CvnkRiqgz86U/kdOrEVQ4HG9D6+6YAF6MZ9z8Egxx94w2idTsw1AlKo9V+NAKtyvib8sK6pnx5QYHZWnDMjh1cvWkTXr3F4N5a5IMV1WJ4ols3W97/5ZWVNoNz+fHjraLlZagkdG3njhgxwlxIjdTm0e12R9X0cTqdHDt2LKqkRFx4+mmOd+0K2CeAlGPH4Kc/rVcvgJhYuDA88wi0moQEDvfYyMpCOhzV8uXBIF89/TTzdLlngX0t8k5gXjBoa3YkQ86Bpm3G06qM//HnnrNpykfKTTe8WWX4a8Y6kV65ciXeTp1sv4zWJjgO2mbLy8rKStOzj9a1Kzs7O0zp0+Fw4Ha7bWsANfUIbghHZ81ij/69zVgcOwYPPlirFlCdWbgwcsXq0KEq3GPF4+Fgr162XTnBIKMs26F9LkZhD6VazzP2tcvMjPNAo9NqjH95QQGZO3eaqZ4qhbNhWLt5JQNpJ0+GdT2Dtq2NZM0iqmmdIFLopypETwo0ddC4hX503G43+2fM4Iuzzgo/KKWmBRSHhvBAdMN/wQUx9xtIJNoNGWLb7kV4G1PrBGBWBVMtgx7aXvaWCCq2jUWrMf5Vy5aRjKXKtHdv5d03ACPbx4+26GTtx2uVZt7VoYOp39/WsGYRRVsnMPoIW3E6nYwbNy5skTiuaZ86Xq+XpUuXcu+ZM+wh3GsENIPd0DDQ3LnRNWp++cv637cN033WrBpbmFZ17BgmeGj8XTmB8iFDEOnpCKfTvEdw2bI6C8XVl1Zj/Nu3b2/bbhfyyqWoG2m5uRyeNcvWeCW0/aIA+p86FeUObYPa1glCm7sb9QCRGsSAJsAWT+/f2mXsQYeDIxdcEPnEY8dg1qy6vwV4vdrEESnGDzBjhorzR8PjwTF5csS/HYDkp5/m4969wy4z6pRO9+4NmzZx5Ic/rG4Q04StIVuN8f9I/1eGbCvqz5mysoivqdZf5Jp0fxIBo7m7gZSSPn36RF3cDQaDcfX+O3bsaK4tBINBPr755shaQAYlJVoe/uzZNb8JFBVpMfxZs7SJIxIzZmjic4qolM6YwRc9ewL22L0YPx5yc3HNnm1Kz4c6Vl5dmnxN9+6mcm4ATTa6KWg1ef69duwws1H8wDmnTzfziFo///74Ywbo31u1kKyTgZ+2Ge+vCx06dMDhcJg9fisrK831AkPe2Uqo8mdDsGZ/mIvS99+viar9/vdg0ZEx8fthxw7NsDud4X0DgkHtKxpCaHLTyvDXiNGS0efz8YTDwTRdOPDErbfSU0+NTsvN5ZN77w2rll+JJg8NWqc4K6HbjUWr8PzXTZnCqIoK0ygFgb4/+1kzj6r1c9oieGd4LX6gOD2dHWefzaYePdjdRuP9dSHSwrCxXjAkZNEPYMuWLXEJ/Xi9XptukU17KCcHXn1Vy8KpiUBAmwysXzUZ/q5d4amnlOGPAUPLJxAI8GAwyLl+Px19Pi557TWblPMavWjSMPyrgd+mp5uVv2kVFSSjvWUnC0FaRUWTjL9VGP8OuhKj4b/sUXo9caHn7NmcAbMJy786dWJ3fj5Xb9rE4FOnyDx0SP2cib4w7Ha7uf3228NSQSMVjNWH7du3myGfSNpDgJaFM2MGRMoGqitDh2pvEyrGHxPRtHx8Pp+tO9fQF18kDygCcoHrwab186nedbCm/gCNQYsO+5QXFGitBDt2hOPHzZnzq4ZK6CqAcLmMIcrQRyWavITb7WbatGksXrzYZgjikfNvtLCUUtbcrzcnR/tavhzefBP0EEPMnHce3HGH8vbrSEVFhRkOtCKEsBl3j8fDimnTmLBkiXm8s+Wt++C2baSiGeMA8E0TtXVsscbfaNwyEMx+vS60sITS548fabm5oIx+g8jJyeHIkSMU6gvjUkoWL17MO++8w7hx46JWCceCsZ4Quq4Qkbvu0r6KirReu998o4V9IuFyQd++2vnK068XWVlZtGvXzqbfD1pv6VCN/qlTp7J8+XJ8Ph/Jycm2yaHLpEn416wxU66HbN2qpXs2ssZPizX+VcuW0Y7q4gg/1QqUib4AqWh5hJblB4NB9uzZw549ezhy5Ah31aM61gj7SCkJBoO2RjM1YrwJKBoVj8fDvffeywKL1pLL5WLWrFkRz3333XcpKSkhKyvLNjmk5eZyZPVqfvD662a655YFC0j/298adfwtNuafFJIxsbdrVz4YP77NFhwpWjcjRoyIemzVqlX1WgCOtQJZ0Xxs27bNtn3FFVdE7czl8XiYPXt2xOOn9EY+RgHY0tdfb3SN/xZr/I8dPWrbdp44QZdJk5ThV7RIcnJyyIyiyyKlrFfufywVyIrmJTTbK6umGowolJaW8t5vfgNUJ7VMADOM2Fi0yLBPeUEBHn3F24h09vP7OZOXRzmoCUDRIpk4cSIfffSRWZEbD2rqY6Bofjp37mzKgocu5MZKSUkJ54X8vtwIHO7WLU6jjEyDPH8hxK1CiB1CiKAQYni8BmW0GLRKDwg0AbJErjZVtGysfQJC6VNPwS6v18trr70Wd8E4RXzIysqiffv2OJ1O2rdvXy/PPysri5UOh60S2Al49u6N72BDaKjnvx2YCOTHYSwmXSZNwrdmjbnYC5by6EaeDRWKhtK9e3dbCmA0uejaKCoqsnUnU6GflkdNC7l1uUdFv368v2sXYyz7+9Y1ZbeONMj4Syl3AfVugRcNI/9c3H8/g3RhMUMMSYasBSgULQWv18vDDz+MX2/VZ50ATtVRIM/r9dpqB4xmMcr4tzw8Hk+9jL6V/v37syvE+J/7r381aspnky34CiFyhRBbhBBbjtZgwI3uUgBy4UKqCBEbU56/ooViVeC0NnwPBoMUFhZSVIfGK8XFxWHrBirbp+0ya9Ys/uh02kI/SKml7F50kda4J87UavyFEGuFENsjfP1HXR4kpSyQUg6XUg7vFsWAlxcU0C8vj9Fr1tA/L4/jzz3HRz16VMudojx/RculNuO8cePGet87PT1def1tGI/Hw4ING/j6/PPNfRKgshK++AIWLICMjLg+s1bjL6W8Rko5OMLX/x/Pgbz+4IO47rmHZH1QScConTsZcviwWdzVVjtKKdoGbrebCy+8MOrxmmoBQgldIB42bFi9x6VoHXg8Hk7++MdAlAYxmzfTF3rH63nNnue/bsoUdiclccOCBfQPKUV3oC1KbBowQBV4KVoFN954o23baAHpcrlITU2N+T4RpZwVbZ6/dO5MlLY6AHSGLvF6VoMWfIUQNwMvAN2At4QQ26SUMdeVr5syhdErV1bfD3tDBKPajSuuIEvXx1YoWjKGjs/GjRtp164dmzdvBqiTPEONUs6KNk2XLl3YBBhC3aEtIONJQ7N9/gbUWYDi+6NHKcnJoesHHwD2DxXaRFzF+RWtjZycHHJycvB6vWbRV13kGWKScla0SSoqKngD+Ala6BvgK6B7IzyrWcI+7T//nJFr1uDW099CO90b3xuNW1ScX9EaMYq+0tPT6d27NwcOHIjpOqumT1JSUnQpZ0WbIysri80OB9nAw8BI4H/0YzHoutaJZpF3EPqDpWU7dIHD2LfvvPNUnF/Rajlw4ABlZWUA7NmzB6BWiWe3283dd9/Nxo0bGTFihPL6EwwhBGVAmb6dRbWkfTwngGbT9jGMvQz53nocwHX33U08MoUifoSmd27cuDHM+Hu9XlP4zfDyly5dit/vZ8eOHaSmpqoJIEEoKSkJ691QgpbpaF0PjQfNLuxm7csbAP5fe/cfW9VZx3H8/b20Y8oqpQO1wIDVEa+jqCyE0moilbnisiiB/SExkSgJlJiIPxId7I/Fv5BoXHUaxPiLGDM3B5OFGGvFhoQ/QEdYAKVAx4xgh0w3J5kZrvD1j/Oce29LW6C99xy45/NKbtrznKc9z3n69HvPfc5znudwYyOTFy5k6pkz+KpVvGfbtnQLKDIBTU1NHDlSHL8xderUIfv7+vrYsmVL4angnp4empqaCg+L6cnebBlpgZiDwHKiTwCnynisVId6xu9k/wN+M3s2fTt2sHRggEXd3TSdPq3AL7e8KVOmDNk+cODAkEnajh8/zuWSIc6Dg4OcOnWKK1euaB7/DIrnClqyZMmQ9IPAN4A3ynjxn1rwj/v3Hegy486nn1bfvlSdeB3eWDzkc7T9pWbNmqXJ3DKotbWVrq4uamtrC2m5XI6VK1cCnCzXcVK98o+nav6yO3ccO5ZmUUQqIl7gfbQVufL5PBs2bBjxZ8+ePXvdI4SkurS2trJ//346Ozvp7OzkwIEDPBst63hjMwSOIZU+/9IbF/HIn1e7urSQuFSl0ge/Rhq9c/jw4VF/tqenZ0ILwMutqxyzhY4lleD/5pw59J8/zz2l81WXeVpokZtFX1/fqKN3+vr6Ck8Bj6ShoSGpYkrGpNLt87YZM3jziSe4RDTC5xLQsGlTGkURqbjSqZ7j0Tux3bt3j7rkYy6XY9WqVUkVUzImtaGe8YIt/9q1SwuzS1Wrq6sbMrd/vLBLd3d34QGw4cyMjo4O3eyVikl1nP/C9evVzy9V7+LFi4VFvgH27NlDS0vLVQ+AmRk1NTVcvnyZmpoaTesgFZX6Q14i1a65uZlcLlcYzx8P92xraxvyAFg8iduMGTNobm7WVb9UlIK/SIXFwz23b9+Ou5PL5QrDPUvX+Z00aRLt7e0K+pKI1BdzEcmCuXPnksvlhszbsnPnTk3dLKnRlb9IAnp7ewvz9wwODtLV1cXAwEBhfy6XUx+/JEpX/iIpKA38APX19brql0Qp+IskoL29vbCe70iWLVuWXGFEUPAXSUQ+n2fjxo2FNwAzY+bMmUyfPp3Vq1ezdu3alEsoWaM+f5EExTd43Z2BgQFqa2tpaWlJuVSSRbryF0nI8Ie6gKumexBJioK/SELa2tquSnN36urqUiiNZJ2Cv0hCOjo6WLBgwVXpZ86cSaE0knUK/iIJmjNnTtpFEAEU/EUS1d7ePmTZRk3gJmnRaB+RBOXzebZu3Upvby+A5vKR1Cj4iyQsn88r4Evq1O0jIpJBCv4iIhmk4C8ikkEK/iIiGaTgLyKSQQr+IiIZpOAvIpJBCv4iIhk0oeBvZt80sz4zO2pmz5pZfbkKJiIilTPRK/8eoNnd3w+cAjZPvEgiIlJpEwr+7v47dx8MmweB2RMvkoiIVFo55/b5HPDUaDvNbD2wPmxeMjMtXxSZDvwz7ULcJFQXRaqLItVF0XvL9YvM3cfOYPZ74N0j7HrU3feEPI8Ci4FVfq1fGOV/3t0Xj6O8VUd1UaS6KFJdFKkuispZF9e88nf3+69RmLXAQ8Dy6wn8IiKSvgl1+5jZCuBrwEfc/b/lKZKIiFTaREf7fA+oA3rM7AUz+8F1/twPJ3jcaqK6KFJdFKkuilQXRWWri2v2+YuISPXRE74iIhmk4C8ikkGJBn8zW2FmJ82s38weSfLYaTCzu8ys18xOmNmfzWxTSG8wsx4zOx2+TgvpZmbfDfVz1MzuS/cMys/MJpnZETPbG7bvNrNDoS6eMrPbQvrksN0f9s9Ls9zlZmb1ZvZMmB7lhJm1ZrVdmNmXwv/HcTN70sxuz0q7MLOfmNmF0ueextMOzGxtyH86jMC8psSCv5lNAr4PfBy4F1hjZvcmdfyUDAJfcff3AUuBz4dzfgTY5+7zgX1hG6K6mR9e64HtyRe54jYBJ0q2twGPh7p4DVgX0tcBr7n7PcDjIV81+Q7wW3fPAx8gqpPMtQszmwV8AVjs7s3AJOBTZKdd/AxYMSzthtqBmTUAjwEtwBLgsfgNY0zunsgLaAW6S7Y3A5uTOv7N8AL2AB8DTgKNIa0ROBm+3wGsKclfyFcNL6LpP/YBHwX2Akb05GbN8DYCdAOt4fuakM/SPocy1cM7gJeGn08W2wUwCzgLNIS/816gI0vtApgHHB9vOwDWADtK0ofkG+2VZLdP/EeOnQtpmRA+ni4CDgHvcveXAcLXd4Zs1V5HXcBXgSth+07g316cH6r0fAt1Efa/HvJXgybgFeCnoQvsR2Y2hQy2C3f/O/At4G/Ay0R/58Nks13EbrQdjKt9JBn8bYS0TIwzNbM7gF3AF939P2NlHSGtKurIzB4CLrj74dLkEbL6dey71dUA9wHb3X0R8AbFj/Yjqdq6CN0TnwTuBmYCU4i6N4bLQru4ltHOfVx1kmTwPwfcVbI9GxhI8PipMLNaosD/C3ffHZL/YWaNYX8jcCGkV3MdfQj4hJn9FfglUddPF1BvZvGT5qXnW6iLsH8q8GqSBa6gc8A5dz8Utp8hejPIYru4H3jJ3V9x97eA3UAb2WwXsRttB+NqH0kG/z8B88Nd/NuIbuo8l+DxE2dmBvwYOOHu3y7Z9RwQ35FfS3QvIE7/TLirvxR4Pf74d6tz983uPtvd5xH97f/g7p8GeoGHQ7bhdRHX0cMhf1Vc4bn7eeCsmcUzNC4H/kIG2wVRd89SM3t7+H+J6yJz7aLEjbaDbuABM5sWPkk9ENLGlvCNjQeJFn15kWhW0NRvtlT4fD9M9PHrKPBCeD1I1Ee5DzgdvjaE/EY0IupF4BjRCIjUz6MC9bIM2Bu+bwL+CPQDvwImh/Tbw3Z/2N+UdrnLXAcfBJ4PbePXwLSstgvg60AfcBz4OTA5K+0CeJLoXsdbRFfw68bTDoim1O8Pr89ez7E1vYOISAbpCV8RkQxS8BcRySAFfxGRDFLwFxHJIAV/EZEMUvAXEckgBX8RkQz6P/laHY+sNYBEAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.xlim(0,N)\n", "plt.ylim(-2,3)\n", "plt.scatter(np.arange(N),s,marker='.',color='black',label=\"true signal\")\n", "plt.scatter(np.arange(N),sWF,marker='.',color='red',label=\"reconstructed signal\")\n", "plt.fill_between([400,800],-2,3,facecolor='grey',alpha=0.3, linewidth=0.)\n", "plt.title(\"Signal reconstruction\")\n", "plt.legend(loc='best')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generate constrained realizations (draw samples from the Wiener posterior)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Samples of the Wiener posterior:\n", "\\begin{equation}\n", "s=s_\\mathrm{WF}+\\sqrt{C_\\mathrm{WF}} \\, G(0,1)\n", "\\end{equation}\n", "so that $\\left\\langle s \\right\\rangle = s_\\mathrm{WF}$ and $\\mathrm{Cov}(s) = C_\\mathrm{WF}$" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "cr1=sqrtCovWF.dot(np.random.normal(0.,1.,N)).real+sWF\n", "cr2=sqrtCovWF.dot(np.random.normal(0.,1.,N)).real+sWF\n", "cr3=sqrtCovWF.dot(np.random.normal(0.,1.,N)).real+sWF" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.xlim(0,N)\n", "plt.ylim(-2,3)\n", "plt.scatter(np.arange(N),s,marker='.',color='black',label=\"true signal\")\n", "plt.scatter(np.arange(N),cr1,marker='.',color='yellow')\n", "plt.scatter(np.arange(N),cr2,marker='.',color='pink')\n", "plt.scatter(np.arange(N),cr3,marker='.',color='purple',label=\"constrained realization\")\n", "plt.fill_between([400,800],-2,3,facecolor='grey',alpha=0.3, linewidth=0.)\n", "plt.title(\"Constrained realizations\")\n", "plt.legend(loc='best')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.xlim(0,N)\n", "plt.ylim(-2,3)\n", "plt.scatter(np.arange(N),s-cr1,marker='.',color='yellow')\n", "plt.scatter(np.arange(N),s-cr2,marker='.',color='pink')\n", "plt.scatter(np.arange(N),s-cr3,marker='.',color='purple')\n", "plt.plot([0,N],[0,0],color='black',linestyle='--',linewidth=2)\n", "plt.fill_between([400,800],-2,3,facecolor='grey',alpha=0.3, linewidth=0.)\n", "plt.title(\"Residuals\")\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.3" } }, "nbformat": 4, "nbformat_minor": 1 }