{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Differentiable numerical simulations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Both backends (``torch`` and ``jax``) naturally provide high computational performance based on just-in-time compiled kernels and end-to-end gradient-based parameter learning through automatic differentiation. This enables inverse material design where you start from a desired outcome (material behaviour or time evolution of a system) and work your way backwards to the input parameters which lead to this desired output.\n", "Generally, the integration of high-resolution imaging with predictive simulations and data‐driven optimization holds promise to accelerate discovery and to deepen our understanding of process–structure–property relationships.\n", "\n", "Some general information about differentiable physics can be found [here](https://physicsbaseddeeplearning.org/diffphys.html).\n", "\n", "In the following example we build a physics-informed parameter estimation pipeline using differentiable simulation. The physical system is governed by the Cahn–Hilliard equation, a nonlinear fourth-order PDE modeling phase separation and coarsening in materials. It depends on two key parameters:\n", "- $D$ (mobility or diffusivity),\n", "- $\\epsilon$ (controls interface thickness and energy).\n", "\n", "We assume that the initial condition $c_0(x)$ is known.\n", "A set of partial observations of the field $c(x,t)$ at specific time steps $t_i$ is given.\n", "The goal is to find the physical parameters ($D$, $\\epsilon$) that best reproduce the observed dynamics of $c(x,t)$ across multiple sequences of the system's evolution.\n", "\n", "This is done by:\n", "1. Simulating forward with guessed parameters to compute $c_\\text{sim}(x, t_i)$.\n", "2. Computing residuals: difference between simulation and measurement.\n", "3. Optimizing parameters: via Levenberg–Marquardt (a trust-region variant of Gauss–Newton least-squares).\n", "\n", "Mathematically this can be expressed as\n", "\n", "$$\\min_\\theta \\sum_j^{N_\\text{sequences}}\\sum_i^{T} ||c_\\text{measured}^{(j)}(t_i)−c_\\text{sim}^{(j)}(t_i, \\theta)||_2^2​$$\n", "\n", "with the state variables $\\theta = (D, \\epsilon)$." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import evoxels as evo\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "Nx, Ny, Nz = [100, 100, 100]\n", "vf = evo.VoxelFields((Nx, Ny, Nz), domain_size=(Nx, Ny, Nz))\n", "noise = 0.5 + 0.1*(0.5-np.random.rand(Nx, Ny, Nz))\n", "vf.add_field('c', noise)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We create an `InversionModel` for the ``PeriodicCahnHilliard`` problem which sets up the voxel grid and the parameters of the PDE." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from evoxels.problem_definition import PeriodicCahnHilliard\n", "fixed_problem_kwargs={\"mu_hom\": None}\n", "pos_params = [\"D\", \"eps\"]\n", "model = evo.InversionModel(vf, PeriodicCahnHilliard, pos_params, fixed_problem_kwargs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Choose output times\n", "\n", "``diffrax.SaveAt`` specifies at which time points the solver should store the concentration field. These will later be used as training data." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import diffrax as dfx\n", "saveat = dfx.SaveAt(ts=np.linspace(0, 100, 11))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wall time: 2.8212 s after 100 iterations (0.0282 s/iter)\n", "CPU-RAM (tracemalloc) current: 8.88 MB (12.64 MB max)\n", "CPU-RAM (psutil) current: 959.95 MB (0.00 MB max)\n", "GPU-RAM (nvidia-smi) current: 3277 MB (3277 MB max)\n" ] } ], "source": [ "res = model.forward_solve({\"D\": 1.0, \"eps\": 3.0}, 'c', saveat, dt0=1)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAggAAAHHCAYAAADaqqCfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAxi1JREFUeJzsvXeYJVd55/9WvLn7du7pycoBBZCQEGCM1zLyY6xFhMXYrBGCFbs24gcILyAbIdACMthoRRDI6Edw0g8WFjA2tlgsENiLEEIiKafJM537dt8cqur3R8/0Od/vne7p0YxGM5r38zzzzD1ddatOnXOquvr9vsFJkiQRRVEURVEUC/eZ7oCiKIqiKEcf+oKgKIqiKEoX+oKgKIqiKEoX+oKgKIqiKEoX+oKgKIqiKEoX+oKgKIqiKEoX+oKgKIqiKEoX+oKgKIqiKEoX+oKgKIqiKEoX+oKgKHvZtGmTvPGNb1xq33nnneI4jtx5553PWJ+OFv72b/9WTjvtNAmCQIrF4mE//tatW8VxHPnSl7502I+tKMpTQ18QlGc9v/rVr+Q1r3mNbNy4UdLptKxdu1Z+67d+Sz71qU89013bL5s2bRLHcbr+/bf/9t+69i2VSvKWt7xFhoaGJJfLyW/8xm/Ifffdd1j78/DDD8sb3/hGOfHEE+XWW2+Vz33uc4f1+IqiHJ34z3QHFOXp5Ec/+pH8xm/8hmzYsEGuvPJKGR0dlR07dsiPf/xj+cQnPiFve9vblv3uS17yEqnX6xKG4RHs8SLnnnuuvOtd74KfnXLKKdCO41he/vKXyy9+8Qv57//9v8vg4KB85jOfkZe+9KVy7733ysknn3xY+nLnnXdKHMfyiU98Qk466aTDckxm48aNUq/XJQiCp+X4iqIcPPqCoDyr+fCHPyy9vb1yzz33dJnGJycnV/yu67qSTqefxt4tz9q1a+U//+f/vOI+X/va1+RHP/qRfPWrX5XXvOY1IiLy2te+Vk455RS57rrr5Lbbbjssfdk3Tk+HtLAPx3GesbFWFGX/qMSgPKt54okn5Mwzz9zvL7fh4eEVv7ucD8Ldd98tv/M7vyN9fX2Sy+Xk7LPPlk984hOwz8MPPyyvec1rpL+/X9LptJx//vnyrW9966D63mq1pFqtLrv9a1/7moyMjMirXvWqpZ8NDQ3Ja1/7WvmHf/gHaTabBzzHZz7zGTnzzDMllUrJ2NiYvPWtb5VSqbS0fdOmTXLdddctHdtxHPnABz6w4jEffvhhee1rXytDQ0OSyWTk1FNPlT/7sz9b8Tv780F44xvfKPl8Xnbt2iWXXXaZ5PN5GRoakj/5kz+RKIpWPN4HPvCB/co0juOAn4miKMujLwjKs5qNGzfKvffeK/fff/9hOd53v/tdeclLXiIPPvigvP3tb5ePf/zj8hu/8RvyT//0T0v7PPDAA/KCF7xAHnroIXnve98rH//4xyWXy8lll10m3/jGN1Z1nu9973uSzWYln8/Lpk2bul5ARER+9rOfyfOe9zxxXbyNL7jgAqnVavLoo4+ueI4PfOAD8ta3vlXGxsbk4x//uLz61a+Wv/qrv5KXvexl0m63RUTkpptukle+8pUiIvLZz35W/vZv/xZeSJhf/vKXcuGFF8r3vvc9ufLKK+UTn/iEXHbZZfKP//iPq7puJooiueSSS2RgYED+8i//Un79139dPv7xjx/QD+JVr3qV/O3f/i38e8c73iEiB34xVBRlL4miPIv5P//n/ySe5yWe5yUXXXRR8u53vzv5zne+k7Rara59N27cmFx++eVL7e9///uJiCTf//73kyRJkk6nk2zevDnZuHFjMjc3B9+N43jp82/+5m8mZ511VtJoNGD7C1/4wuTkk08+YJ8vvfTS5KMf/WjyzW9+M/n85z+f/Nqv/VoiIsm73/1u2C+XyyVvetObur7/7W9/OxGR5Pbbb1/2HJOTk0kYhsnLXvayJIqipZ9/+tOfTkQk+cIXvrD0s+uuuy4RkWRqauqAfX/JS16SFAqFZNu2bfBze3z2x5YtWxIRSb74xS8u/ezyyy9PRCS5/vrrYd/nPve5yXnnnXfAvthMTU0lGzZsSM4666ykUqkc1HcV5XhFLQjKs5rf+q3fkrvuukv+43/8j/KLX/xCPvaxj8kll1wia9euPWiT/89+9jPZsmWLvOMd7+iSLBzHERGR2dlZ+d73vievfe1rpVwuy/T0tExPT8vMzIxccskl8thjj8muXbtWPM+3vvUtefe73y2veMUr5E1vepP84Ac/kEsuuURuvPFG2blz59J+9XpdUqlU1/f3afn1en3Zc/zrv/6rtFotecc73gEWiCuvvFJ6enrk29/+9gHHg5mampIf/vCH8qY3vUk2bNgA2/aNz1OBozd+7dd+TZ588slVfz+KIvn93/99KZfL8o1vfENyudxT7ouiHE/oC4LyrOf5z3++fP3rX5e5uTn5yU9+Itdcc42Uy2V5zWteIw8++OCqj/PEE0+IiMhznvOcZfd5/PHHJUkSufbaa2VoaAj+7dPyD+QcyTiOI+985zul0+mAP0Qmk9mvn0Gj0Vjavhzbtm0TEZFTTz0Vfh6GoZxwwglL2w+Gfb+0VxqfgyWdTsvQ0BD8rK+vT+bm5lZ9jPe9733yve99T2677TY58cQTD1vfFOXZjkYxKMcNYRjK85//fHn+858vp5xyilxxxRXy1a9+dekX9+EgjmMREfmTP/kTueSSS/a7z1MJFVy/fr2ILFoo9rFmzRrZs2dP1777fjY2NnbQ5zna8DzvkL7/zW9+Uz760Y/K//gf/0N++7d/+zD1SlGOD/QFQTkuOf/880VE9vsLdjn2/fV5//33y8UXX7zffU444QQREQmCYNl9ngr7/jq3/5o+99xz5d/+7d8kjmOQCe6++27JZrNdeRNsNm7cKCIijzzyyFKfRRYjJ7Zs2fKU+r7vOIfLIfRQefTRR+Xyyy+Xyy67TP70T//0me6OohxzqMSgPKv5/ve/L0mSdP38n//5n0Wk28S+Es973vNk8+bNctNNN0EooIgsnWN4eFhe+tKXyl/91V/t9+VjampqxXPMzs52hfC122358z//cwnDUH7jN35j6eevec1rZGJiQr7+9a8v/Wx6elq++tWvyqWXXrpf/4R9XHzxxRKGoXzyk5+E8fn85z8v8/Pz8vKXv3zFfu6PoaEheclLXiJf+MIXZPv27bBtf3PwdFKpVOSVr3ylrF27Vv76r//6kHwgFOV4RS0IyrOat73tbVKr1eSVr3ylnHbaadJqteRHP/qRfOUrX5FNmzbJFVdcsepjua4rn/3sZ+XSSy+Vc889V6644gpZs2aNPPzww/LAAw/Id77zHRERufnmm+XFL36xnHXWWXLllVfKCSecIBMTE3LXXXfJzp075Re/+MWy5/jWt74lH/rQh+Q1r3mNbN68WWZnZ+W2226T+++/Xz7ykY/I6Ojo0r6vec1r5AUveIFcccUV8uCDDy5lUoyiSD74wQ+ueC1DQ0NyzTXXyAc/+EH57d/+bfmP//E/yiOPPCKf+cxn5PnPf/4BkzQtxyc/+Ul58YtfLM973vPkLW95i2zevFm2bt0q3/72t+XnP//5UzrmU+GDH/ygPPjgg/K+971P/uEf/gG2nXjiiXLRRRcdsb4oyjHLMxpDoShPM//yL/+SvOlNb0pOO+20JJ/PJ2EYJieddFLytre9LZmYmIB9DxTmuI9///d/T37rt34rKRQKSS6XS84+++zkU5/6FOzzxBNPJG94wxuS0dHRJAiCZO3atcnv/u7vJl/72tdW7O9Pf/rT5NJLL03Wrl2bhGGY5PP55MUvfnHyv/7X/9rv/rOzs8mb3/zmZGBgIMlms8mv//qvJ/fcc8+qx+fTn/50ctpppyVBECQjIyPJH/3RH3WFcB5MmGOSJMn999+fvPKVr0yKxWKSTqeTU089Nbn22mtX/M5yYY65XK5r3339WYl9IZL7+2fPsaIoy+MkyRG2/SmKoiiKctSjPgiKoiiKonShLwiKoiiKonShLwiKoiiKonTxjL4g/PCHP5RLL71UxsbGxHEc+eY3vwnbkySR97///bJmzRrJZDJy8cUXy2OPPQb7zM7Oyutf/3rp6emRYrEob37zm6VSqRzBq1AURVGUZx/P6AtCtVqVc845R26++eb9bv/Yxz4mn/zkJ+WWW26Ru+++W3K5nFxyySVLqWRFRF7/+tfLAw88IN/97nfln/7pn+SHP/yhvOUtbzlSl6AoiqIoz0qOmigGx3HkG9/4hlx22WUismg9GBsbk3e9613yJ3/yJyIiMj8/LyMjI/KlL31JXve618lDDz0kZ5xxhtxzzz1LmfFuv/12+Z3f+R3ZuXPnsyLVrKIoiqI8Exy1iZK2bNki4+PjkPK1t7dXLrzwQrnrrrvkda97ndx1111SLBaXXg5EFjPEua4rd99991Ide6bZbEKRmziOZXZ2VgYGBjTjmqIoyjFGkiRSLpdlbGwM0o4fbhqNhrRarcNyrDAMlyqvHq0ctS8I4+PjIiIyMjICPx8ZGVnaNj4+LsPDw7Dd933p7+9f2md/3HDDDQfMNKcoiqIcW+zYsUPWrVv3tBy70WjI5o15GZ+MDrzzKhgdHZUtW7Yc1S8JR+0LwtPJNddcI1dfffVSe35+XjZs2CAvybxafCdY/OFKlgR6Q3V8M4xOGMK2pFiAdmMM2/Mnmv3nT4lh2/CJM9A+f2jH0ueTM/gC1OvVoV2LzXF3tvph2wMLa6D92DSW061PZ5c+uw281sQlRaq3bfo7uACbzuzHWgRn53cufT4xnIBtI14V2hkHb8LAmo4WdaEU45g/1jYvlf9WwoJF/3frCdD2Hsktfe59HMc/v6sBbX+uBm2nao15uwPbkg62xVbyaG3Z60dERDKmhkLUl4dN9dEstOc343fLJ5nzDm/AksgnFHE9pV0zd7tqvbDtiT24JsLHTOnovkdxbvLbcO68GVwHScP8xeX4WJ0xyeH1tEbN/VHegLUkFjZDU9rrzHF7+7APKR/Hv9LEY1WnzHnTuwPYlt+BCyy3x5wnnMXy2m4V14jE1hoKcG7iLK7TTgHbjT7Tj0Y/3nf1QVwzzWEzB8EQ3vujfTj+gxkzNp0Yj7u7gvM+vbMI7dyT5hr6HsMxzW4rQ9udnV/6nNTwXknor+5DEbbh9tn7LO4kbflh/X9LoVDY/5cOA61WS8YnI9l27ybpKRyalWKhHMvG87ZKq9XSF4Snwr6c8xMTE7JmjfmFNjExIeeee+7SPpOTk/C9Tqcjs7OzkLOeSaVS+y1k4zuB+M7em3alFwSHXhAc6wXBpRcED8/j+7gYPOuFws3gLygvh98N8+YBksng1GWpLG4Sm+2pFj4Agwj76NXwPG7G9NElP9bEozs7Y87r5fDhGebxPJm86VMuhf3Ne3ierIPnsV8QmtQFfuhlWuY8YQf74GZp/FOm7Qc4/vx72/fwF6PjWvu7/CJFD5CVXhBcOpFr5sPh9RNw//G7bsY8xHn9BDkci9Az/fAdWgMrjhOOg+/hLw7PxWMl1lDwtfL9EVv3hxdSn+g56mbMgb0s9SHA9eV5y69xL4X3hxfiAvN9cx56vxGX7wfHWhMevSB4OP7i89yafnghrh8vhWvGzZg5cLPUX7oPg4x5EXToXvHi5cdl8bzmGvwAx9j38Je+az37EodemOlxmshTf0MAGbjrWfz0S8T5giP5wqGdJ5ZjQ8o+avMgbN68WUZHR+WOO+5Y+tnCwoLcfffdS4VWLrroIimVSnLvvfcu7fO9731P4jiWCy+88Ij3WVEURXl2EyXxYfl3LPCMWhAqlYo8/vjjS+0tW7bIz3/+c+nv75cNGzbIO97xDvnQhz4kJ598smzevFmuvfZaGRsbW4p0OP300+W3f/u35corr5RbbrlF2u22XHXVVfK6173uKUUwuIWCeQumv8hXxDYr8vfI9ByW8O0+v9vsH9FfgxMyCO07GuZt/9Ei+l4UQzQztmJz3D3VHtg2Po1mRWcP/tWQm7H+skTLrfCLbztnzjM5g38hfX8Nmse3jRip46zibth2YhotQUM+mi8D6y+SdoLjNNVBs+LDdWNxenAOfVjaJfyLKW1ZQt0I/6rp+quH5taxTchsM+V2tLxuyYFETsf667Dehm1hCdvZSXzHb+dMnyb8PthWbZIFwTLDL5TR1M9rIjNl+piaxTXtlsnM3iQnLvva2bJCf5J3LItUsxcnoDWI5x0bNRLKGX0oWRUDNHEvdPB6HsmZdbEtwPtMSLLyLAuc18QHu9vE+XDqVh/bOC4e7es2yOpRN2szqJL1p0YWkbZpV50MbJtN4XmGMiYvzFgG5YfeEPv4gCDTzYGlz+EC9iEs4XnDmnUsduSj9e+scD90rRG+72zT3t7PThyI4JQ/bcSSSHwIFpB9xzgWeEZfEH76059Cfft9fgGXX365fOlLX5J3v/vdUq1W5S1veYuUSiV58YtfLLfffjtoNn//938vV111lfzmb/6muK4rr371q+WTn/zkEb8WRVEURXk28Yy+ILz0pS/t+uvJxnEcuf766+X6669fdp/+/n657bbbno7uKYqiKAoQSyyHKhAc+hGODEetk+IzQbRuUBxv0ToR+8u7Z7htMpe1jKnQoW0Sk/mYzIrpaWOKS1xyRGqhaa1eMtLAw31oVk/StOAicyyvgteSniGnvmnsY6pkeUjX6LjsIGg5ijXI3F2fykH70TXG8vPk8ABsGy5iemzb81pEJOubceokeJ65JprHxxfM2FQmUObI7MYlH5bMBXns/cjQmkhs5zaXIxNIaoqscTyQC7ftsBmR4yqtn9Q8Xk9myvQjDtH5rtrGNVNJmXl26tjfdAmvJ6iafrjtAzzc2CRsO46RE1ynB9uNfvPdxjCOU34U18g5A0amOje/HbYNeLhvOcbzDASsnRm2tVC+C2qW02uFHBq5XbckxBaa+iVBs7tD233ru24dzfdeE9siRgaJyOG33IP71opm3xw5MA6EOE7tPjzW/Kg5Vn0K76XmJF67P2c5N9dQ8uyK8rEbHBVG69YhL//EivJJ0oufk6gpMi1HhChJJDrE/IKH+v0jxVHrpKgoiqIoyjOHWhAURVEUZZWok6KiKIqiKF3EkkikLwjHH7Nn5MULF/UuO5eQQ5KrT/JaWDE7pCgMzS+z7kihTVaIWJb05qCK4VbZaTNdrTyqQ1GKE/Ms399UGf0kwnlKgFK1Eqs0yd+CtLPESkiTnkHtMDuDy6s+YenLA6hnTvWiv8KeHJ/HatO95TZRL/erZix6Srhvao78LebNmHv1lVOoxmm8HsdOxtMV1ki+J/b2mBYUS/rWVHJoZRyQXktdDmrmPOECjgt/N0qb7W6bfCi4i77ZHmUo5C6HGrG7QrKamPTxxjBlOFxj+thag/fOWYMYCnt2zmQWPS2FYbM9DmrtDQqNTTtmjVf6sQ9zNdLw54tLn8N5vPagTImGaua8TgP70JVds00+ClZ4qEthgAGtr0zKDgfFeW0s4H1Yapjr6VAGQNu3R0RkTXoe2kO9xkdhzwD6+jSK5LfSY8bCrVJWKw7lta7PCbC/SQ7HPyris6E5YI7dLC7Oa6fdEHlQlMOMviAoiqIoyipRiUFRFEVRlC40ikFRFEVRlOMatSBYzDy/Y4rd2IV7Ovge5VZIe5sy7ewe3Dc3TvtOY2pTt2p0So+qBXplKn5kafpxGnU71pdtnA7F0rNfAaeLbVpa6UopUQVj3MMaxUWXcXmlrFTM7T24rZNlnwrSz70V8lJ08G3cs3JReA3a1ohoX2tsyG+Aiyp1sjTmVkEd7m/irVCMhX0oOqzPLu9vwce1/QhERKLQtDlVdBfW9pgKFHVQ9pVmn9nZiXjt4Ym8OsWtW1PX6sV5r4zh/VFdb+ZjdA1WozyzB6uDbgpN4PuQi/dOmpwosoL6f0vMsU/NYmXU8UFMTX5vxVxPtYz6OPsJeQ2j0/sU+9/le8J5EmKzf0L+C5wbwK+Y7wZVHFOvivdK2UrRXonQZ2IgoSqYLva5mDYOTLvyeO80e7FP7R4zFl4Fx4n9UuycLzH5sLQG0dehuobyeYyZ66sPLa7buOGI/G85IsTS7Tb0VI5xLKAvCIqiKIqySqLDEMVwqN8/UugLgqIoiqKskijpNjY+lWMcC6gPgqIoiqIoXagFweIlZz4iYX5RR8v5RgOsdlC3217FMrpbxk252E4W9TSH4q/9BuppYc3EITtcJpfqIHgVq74CxccnnPt/Bc2+i5iFbqu9Qkx7F6S5uh3ULO3ytv48a/bUf+6+3Q/2ACZBD3IOHMBbOLHywHOegyiLfWL9vFE0320W2V+BzmN/lX0QaNpdS5r2aBvnPUho2DqW9NsukF9BAQcqyVqx6B7u28rhBHSssWj1UM2NIapHgPI5+CC0Mf2FNEawT5l1psz3aX2Y92BtiD4JRcvvICSfA3KLEI8GvegaX6BN4RRsm+tBB4y5NWYyH6+Pwja3TXUDYjMBObp3/BmqUVGjMtl2ngS+v/k+hPuBNtH90InMBPCzrEalrdu0oFzHHNxJ4eJjn5xWj/muX6VaEinc164f0RzEPpTX4X1W3kh+RBtMboYTB2cX+1JtyjY5MqgPgqIoiqIoXcTiSCQH8YfTMsc4FlCJQVEURVGULtSCYPHKgfskW1g0fQWOMfdVYzTLPVnAcrA/Sp249Pmn0UbYViuj5JCewyEP5oypreudklKxJpa53OESqT5NZWDaSYDbuC2UphlC6Q4kMdh9Ys8bCuuywy257LXbIXMrh4TZaah520rQOAmPRdqYNxMqmxulyZQ+gO3qWjM2jTU4V6k+vJ5MikLaLBotNL82GlY4a43SO7c41TJJNb6ZgyRD6XpzqFfks0YLSAVUjpdiJOtWH+skkzWpnVAf7YXtpvE8PT2YB3xz38zS57XpEmzLuahd2H/FtagEuHsAI25gbR9wMdTvlDSGU9b6zRqJaVyedPFZEAdWKG8WdabcOMmLc3g9bmP5NRJn0QzfskIM23kKdU3htadcsya4VDqHPXZiktUi6/nk4P0dUTblZsFO3Y39dWKSI6xU8XbYoohIZTOukdHNM9C+cNiICWdld4qISL3SkTvlyBAn3arsUznGsYC+ICiKoijKKokOg8RwqN8/UqjEoCiKoihKF2pBUBRFUZRVcjxZEPQFweKkYFYKe1MW2zJ8g3RH1kIrPUaM2zrQD9tKRdT42pRSOA6NxueyXk76P7R4XwpzTDLmvKxfdnKoB3Yyy2vvHEbH2CFVXpPCMhvUrhlt0atSLByFdDot1M8TOwSUy+YmHOdojQ35ZnC5avDVcHG82zm8+Pogbm+sN33atAFD5c4sYvreodCE73kUhzbfwZCw6ZaJBZyoF2DbbB117Tr5L9gaeeiT3p/GMR9IG+29NyCfCW95PbwZUxlvSr3ciCiNtqVr+y7OK5cbLgbGJyHtYh/KJHqPO0VzTg/9CAouXk+a4kPtsMe0Q5q3jyWPz80ZzZtTERcCHNOHLf+kmQEMl6yN432YniafhIrpk0v+PB1K5d3sM2u8toZKow/gmPZmzFj4tPZaNJcLbRzjSss8R5KIfJV86mPO8skhXwc6jTQGzL61DTimY5unof3rI49D+4L8k0ufN/mL/gmV9pELHIwTp8sX5akc41hAJQZFURRFUbpQC4KiKIqirBKVGBRFURRF6SISV6JDNL6vXCP36EFfECwKriMFt/vNzqVcpqxv9npGN82FqP/NUhlduxyvCPogcH4Ch9Kg2iRU/jUuoHbYLpp2s2/5FMEiIu0C9smWxFfowmIfLZnYb6BmH5Tx2tMl0+fULPYpnKMUr3weq+x0EtPt1eagYms7z+cK5asTKpndzuJ3W714nr4h41dw/sB22HZebiu0bV3bJR24Rnk2JjvG72BndgC27Wximu/JBuYurnWWn7CeENftYGh0e9tHQkSk30dNP2v53QSk2cc0Ww2KeW8kpl2juHuOw7f9GyZb6H/BbdtPwr4HRURGAvQjGPIXoF30TJrmnIP3bI9DZdb9WbNvDrfxeTbl1yx9fmgA0zJvX4dzNzOL96xXtvyRqMQ8pSeQqGDmICjivK7rw7lcly8tfbZ9PERE2pwXoY3zYZeKTpp0V5Lsb097i58plHrcTrGdH63Atuf0Yx6KM7O7oL3P70BEZHDvGkh5R84HITkMPgicZ+RoRX0QFEVRFEXpQi0IiqIoirJK1AdBkbYVDlcjc1A5RtPgfGRs8nWu7tZZeSEkvhVSmMbvcuhiHJrpinrQlFynimi1IXPc+jCFSA2QOa5IJtWMMd0GwcpqWatl+lSvYf/deWynpk2fMlPY39wEXms6RVUwrRTVTrkG2xIuh2hLEC5XuVy+6mXso0GNrN8S5XHchvPGNLopjaFZmwJsD1kmcK402Eg4RG/5UD8OkYxobdqmzwaHH3YoRTKn57bIUiivbaLvIYmNJYc2VTBdsO6XqU4P9iFBCWV73YQJ76nhvqU63ne2mTYT4jiNZNHMfnIBw1BPSZswVK7mOODi+uq1xiJL88FpmscCU3HytAyayrf3k1zUKEJ72pKL6jRXvovznrPCQwdS2IfBFJrss9b9wdUaJ5o4xmWSGOp1c5+6dfyu16SFbBdRpaXVyaI8F1sSyXAB+7s+jVU7BzzcnrJCVj36/0gQJa5EySH6IBwjqZZVYlAURVEUpQu1ICiKoijKKonF6XLMPfhjHBsmBH1BUBRFUZRVoj4Ixyllq45nzdLqpiJMmfpYE8OXHiyb0KbpOQzFCsu4EDxKCWqXVo7yqP/FHHZXMNNVHUbVrbaGyvOuNRpfdhg1ypOLGJo1lsN2rxUKxallObxnoWN04ZkmjtOuSi+0p4bN2DQnUE9u9eJSzOXx2rPjZns4g/4LLvkkOE1LJ14htbII+oDEPun51ObUsnkrza7tN7DYblHbKoWLPZKA/ppoWN/ltN4Mpzmerhsde540e6aUNb4zTYqjY9+HguVDUXRwvHMO7huRT4LNrINhmXNtjH/bsmD5IIxjWKA7Qz4ulgZepifZ7iLq/VtHMQX67IhZq1EPzkiQ2g3tIet6C3RtOQ/btr8Cp2w+OYXpt0s5vF9s3yYOFWXs+UnT+HMYre0TsrtdhG17GniPLjQoXLps7rXUPI0TugaI1zDrOEqt/AvQCUwfcwHeK1m6d7rDau2Uzvi/cnjRFwRFURRFWSWHx0nx2Hij0RcERVEURVkliz4Ih1is6RiRGDSKQVEURVGULtSCYDETp6QRL74zTUVGL3+kMQb7/WR+E7R/vmvt0mdnB2p46Wk0Jfkkltk6d9RLceq95Gcwat7nqutQZ/TXoyB4zsjk0udTeyZg2+YUxn33+/hd1jRtOMbd1k1nO6gvT+Qxxnpbj9GBtxZRE57sQy20WUQ/g2av8c/I78E+pCmngl82OjD4I4h0ldBOAivVNadlZisgte0yxuzVvJITkkfb2it4NDco1/V0G8d4exnHcddk0XS3hN91IvIfyZhjTQ2iHl4ZQn+YyErP7aWxv55fgnZApZVblj9POcLS1uMNXCPj02YdhNuwD7ndeN7AKo/Mc9fsw3tpYR7H6ceR6RP72fSQP0nayrEQUhpmzmkRWPp/OsF9i6Stj1J8v532+EBObN4Ka4a/O2P5UPE9yj4sC1V8ftn5R1KzsEnSc9gHt2Pa5Foi7R5a8/Hq/4Jmc749TuW911rhku9PI/FhqMWgUQyKoiiK8ixDfRAURVEURekiFlfzIByP7Gz3S7a9aHp8yJIVfjK3CfZ7cOcaaHtbjVmusAOPmZskKaCK5lc7zJElheoYVVrbbL47sAnTkV44sg3az82bNqeSLZIJNXCWN89xtbcGSQwFqxIhV7lk6WIkMOl612ew/1sKGJb2WHEI2qU+I/lwSGS2F82iuUmzPZinVMVNHH87vbJD96xtMhURcRs4FqWmMZeXIrSp1riioW3GJusqCzr2d6c6GDa7rYam8p1TGArobzdjkZ7EE7G81bFSezeG0NT/8wqa96vrTLs5iOPfTuO6tSsliohUrTUyTxLDZA2vL5kzskhmEjZJfhfOXViiFNsWrTmSVzrY5/nQXO/PMmth20BIkpsVUuj5aGcvUDgoh6yutI2lGLFTCNMaOZhfR03qQjUxY8Hyw2wT121rHuc9P2P2z9KzLFXC/tv3j9vBNdHqJWmvZa6oE698dV3VQq1n0D75qhofOYnheEJfEBRFURRllUSJ01UD5akc41hAXxAURVEUZZVEh8FJMTpGJAYNc1QURVEUpQu1IFhsbQ9Kem/54p/ObVz6+QPb0ecgfBx11MI28zaYncCQqaC8cphdywptbBUoXfIQpfZdZzT8i0a3wLYX9zwK7VMCI+D2kk6aJusWF3S2NcwqLRFOaWrrg1yKmEsG26Wj2T9hTYhpaddlS9B+oGDm4MnCIGxrF9AHoZMxY5qbxHfgsITzA6mvybPYR1cNCRbwWFNlEz62o4G+ASeEKKDbqZcj0p5rVIJ3JjbH3dnC426lcD3ZQ5rxduvzbrxW9n+JrRi9xiTOc2UBx/TRhhl/LkVcGcQ+bErPQNtO/cthmuUm+gp4dTPGfo00+ypdjxXOyvVznRjbuTTfd2bM9/QVYdsvMuugnbJS/bbI34JLEdshwmlKEcyhiez7Y7d5Xy5nHFjPEVbf27SOY8uPaL6DPgdTVQxvDWZxHWQmrWfbJPlbLKAPCFrNKVyyRg+dzvImdk4VzbSs0djn+1OLVi5LfziJExfG9Kkd49iwIOgLgqIoiqKsEpUYFEVRFEU5rlELgqIoiqKsklgOPQrhWAnK1BcEix31AQm9RX318Rmjc/vbUE/r2YLmocIOo4UGc5gLQDpU3jmD+q3TY6aAS6R2elHDHOsxPginZrF07KZgGtqDntELcw6nAcb+c1avhqWJl2K89tkINWQ7/v9QStSuC1G3Zh+FPt8quRvgGN/vo49IxbV0VZfVWyRcMNol5z0Iahz3jcdamDHX/tjgMGw7IYO5J3qsHBGcL4JzS8xY6XB3NYqwbbaE45+awbnNWT4wmT2Yj8BdIKcKOA761QQ11KrdlpnbHRHmqGhFOC6lfvxuMTD9mG/jeWKKgU88MwdxiPdDlMLzeCkzbg6VUWcLrttmfwbzuTGLfhBPUE4OWxOfzGHehkGqeWyXKmYfHG73eLgOim7N+szlw/F+SVkXyCu8TbkOFqx7eHcTU5qXSuiDkJvC79p+B+EM9smp0rPONz3xU7im3Ra2HSvVsuusnB+iq9yznWo5XlxP9WT5EuOHm8OTKOnYMN4fG71UFEVRFOWIohYERVEURVklh6cWw7Hxt7m+ICiKoijKKonFkfgA1TZXc4xjAX1BsJhq5STYG5ddtfTl3gmczNw4xv+Gk0bQdKqk81LeA0477kSWxs9rxkdtric0mh/nu8+RThc6yy9AdpCpkcPNlFUedmsbcw5sa2J7qmU0WS4d67uoJRYDMzZrwhJsG/LL0GadfnPKyiuAMqq0YlzGD1uaeK2FPhQe1VPwrKQPfg3769dxpMJ5/K4dM75tDmsiPJYfgbY9Xxw736I8CNMdUydgqoE+B1EFrzVcgKYEtk/FPK4RWcDzihU77tVwvHNtyrNvlT8XB/swIZiboR3hOG3sNXU3WG9OBbhuSz3mvPUhXE+sY2fSxp/BW6GMuohIO0e+DlbTa+C+lVn0oXioM7r0eVsa5zn0SS93zZoJPNxWCNAHYSiN87EubcYJ1ruIbAiwBkS/tZ4CuqPLCY7beKdo+l+hPBrTmMMiM0XzM2v67C7QempSLYzQnNfprOyGl1jPtjyNS4HLbZO/kh1iuM/vqXEQ5aMPlePJgnBs9FJRFEVRlCOKWhAURVEUZZUcnkRJx8bf5vqCYFHrhBJ0FiUGt2rMvql5CsMpoUnMqRjTW9KgbS4uBCdks2lsfabYLEpH2orMdLXJLM1lmVuJMW+2KOarTDrH7ghDtx5umlLXv6xg2tnHFzDEbbJsTOAtMgF7HpoZe3PGdLixB8s9n5TDsMB1IZpU7RCxwQDliBPyGOI5N2BMz7vLON7NBTLRl61U0U3sb3fYI7UtyaG8gOF726toirZTSUcByU70sLBLInNaY6eD+3aVpLbC/ZwOlRZvoak26Vjm/Q6a+vnxlbHWcRyS7EEhbbMBakCBtQ6Gc2hWL6bRnNwcNscquXiedgHHolYy+/oUccdhjhyBa2cc5pB2h2ScZs3ca80YwwJdiq5zInMwPm6cIrN7D365b8Cs61P78X44p2cntE9KTSx9LnpV2LYv9G8fWxtGFtw1j3OTmsaZTs9SeugFa2DrOMgJrS8nsMaNr50joFPmu70BroFu+RTXLYcFH2nixJH4UPMgHCPVHI+N1xhFURRFUY4oakFQFEVRlFUSHwaJ4VhJlKQvCIqiKIqySg5PNUd9QTjmSBKjDdlRg3YonIiI2yTh0dZ2Wef1yAeBtnt1c6ygRqVvK+hnMFU3+ufuFmrcYz5q+iJG623R2+oU+Rw82FgL7XtKm5Y+PzAxCttqE6jBhnOmjxwuRm4SMtljNOXJoR7YtnsYtdHT+zCV9HorBMxOZysikvcofCxjNNnJHjyPXeZXBEts+03S99knhLD156SOx51t4DhNWuGg3H9mpZTVdipiESzZLCISh661Lz2EXBaGjSaecLncKurAnqUvpyexf9ke1LxbRXyslHrN9sEs6uVrshinOZg222d7MNxwehTHdKFqQljrDexT0qZrj/jaTdshXx+X1rFv+SOR+4uEZSoRbg0b+4fEAfap2YshhpVRc///eD36X8ysxWuf7TftDSlMU16L8TnyeNX4DXEIZ5EeG+E8Pp8cK/w1aVPp+hVKFid0rRGV2w6z5lhDIfmlkA9Clh09LFeOfWmYO86RS7V8PHFsvMYoiqIoylFAJM5h+Xew3HzzzbJp0yZJp9Ny4YUXyk9+8pMV97/pppvk1FNPlUwmI+vXr5d3vvOd0miwN+/KqAVBURRFUVbJMyExfOUrX5Grr75abrnlFrnwwgvlpptukksuuUQeeeQRGR4e7tr/tttuk/e+973yhS98QV74whfKo48+Km984xvFcRy58cYbV31etSAoiqIoylHMjTfeKFdeeaVcccUVcsYZZ8gtt9wi2WxWvvCFL+x3/x/96Efyohe9SP7gD/5ANm3aJC972cvk93//9w9odWDUgmCR8joS7NVtV3zBI+0tsbRcSSjWmaRd9lHwakaPDsuYFjg1i7r2xKzR0+8vjMG2NJWDtcsls6b9RAPfOO+bXQ/tLbtM3HSwHXXS4h40jaXnzPX6lEeAx7BZMD+oj6BuvbOEuunsWtRKTxgwOuuazDxsCxw8r53iOZ1Bvb9awDFu9dp5EKicMPkgtDOk99t3D8U1N6kEciUy41iOsA88d54lsmZ80oQzqLW283gLtwvmvGEW586t4hhL2xwroTwIwj4JVn4PfwHNlKl5PE8wj9fO/gE2wykU9e0cFx4lM2Bt3R7HEpWR5rLScw1cT1NVo+HPz+O2pIXXY/sVcCri7BSlOC+Z9ebWaUw9KudewOupTpv2QgXXyKNt9AVqWjlRpnvQX4HZvmD8lbw5XC+pBbx37OeRiMAakYiebezTYuXK4NLcHZwOyWWWz2vS41CZbErPbTv/7Lt3YocftE8fkchTkgj4GCIiCwvog5NKpSSVwvXXarXk3nvvlWuuuWbpZ67rysUXXyx33XXXfo//whe+UP7u7/5OfvKTn8gFF1wgTz75pPzzP/+z/OEf/uFB9VNfEBRFURRllRxOiWH9evzj7LrrrpMPfOAD8LPp6WmJokhGRrC+y8jIiDz88MP7Pf4f/MEfyPT0tLz4xS+WJEmk0+nIf/tv/03+9E//9KD6qS8IiqIoirJKDmexph07dkiPFWnF1oOnyp133ikf+chH5DOf+YxceOGF8vjjj8vb3/52+R//43/Itddeu+rjHNUvCFEUyQc+8AH5u7/7OxkfH5exsTF54xvfKO973/vE2VutMEkSue666+TWW2+VUqkkL3rRi+Szn/2snHzyyQd9vnzQlCBYNGclKWPW4lAy4fTJVuXEJObQH0p3S6Zcp25MeqkSmpMzUxQWtcvY6X4eYmhiqYU2PLtC2gJVNNxZKkK7thtNlLntxjyY34lmxcwkVbKcN22nhdeW+Nj/TNaYUNPzaF4NymiSrFYwPPH+NeYadg3gtmIGTd6RlUo6IdN/Qulu23mzr9umcDeK6uJQrU7emusUzjNXLezE5vo4TXYgOG6BJZH0BHht2QKaX5tFfKDU+6wU4b24JoIaflfssDWWzTiEzUqr6zRwYIIqVcGs4fUlreUfpv0+hj2eEJoUw5xCmCUH28xbjXEcShHKBjtbA9B+OGv+Grtf1uB3F3Bt2tbrsEoVPufwfvCnjbncqa3sMe6WsM9e3YTCOjHJHh72abtnroflrBRVkZydN3JKUMG58OuULpmqeILUxPIpVfVMfNMPfmaSqiY9abMWDxTWyJVpY2sd5PamYHfcIycxHE56enrgBWF/DA4Oiud5MjExAT+fmJiQ0dHR/X7n2muvlT/8wz+U//Jf/ouIiJx11llSrVblLW95i/zZn/2ZuO7qXnCOaifFj370o/LZz35WPv3pT8tDDz0kH/3oR+VjH/uYfOpTn1ra52Mf+5h88pOflFtuuUXuvvtuyeVycskllxx0OIeiKIqiHIhEHIkP8V9yED4MYRjKeeedJ3fcccfSz+I4ljvuuEMuuuii/X6nVqt1vQR43uILXNfL/woc1RaEH/3oR/KKV7xCXv7yl4uIyKZNm+T/+//+vyVPzCRJ5KabbpL3ve998opXvEJERP7mb/5GRkZG5Jvf/Ka87nWve8b6riiKojz7OJwSw2q5+uqr5fLLL5fzzz9fLrjgArnpppukWq3KFVdcISIib3jDG2Tt2rVyww03iIjIpZdeKjfeeKM897nPXZIYrr32Wrn00kuXXhRWw1H9gvDCF75QPve5z8mjjz4qp5xyivziF7+Qf//3f1+K49yyZYuMj4/LxRdfvPSd3t5eufDCC+Wuu+5a9gWh2WxKs2mZ4MmTVFEURVGOFn7v935Ppqam5P3vf7+Mj4/LueeeK7fffvuS4+L27dvBYrBPhn/f+94nu3btkqGhIbn00kvlwx/+8EGd96h+QXjve98rCwsLctppp4nneRJFkXz4wx+W17/+9SIiMj6+mI53f96d+7btjxtuuEE++MEPdv284LUk9Pf6IGSMptXJYJhWnMZhcwNru0dhQqzbkY+CnXrZL+N3MzN43vZO8+ZXizFd8kMzFEfkm/M4pAmnZrDdtwf7lBu3wogmUbf257E0q1O3tsccBkWpi61U0m4TRUmvgW2/jmNcKxu9tjSM4zLbS2GCoelH3OEUu9iMMubam+Sv4MTOsvuKiLSL5mB26lgRkbRP5ZMtn4T4AObFlJU2tj9EfXaogGlptw7ivNfnlvfz8Gqoa3vN5X0QusIck+XLSHtN8kFo0LGstMdc5jag8DTb72DUw2tN07726qJplTKF9g74FVmOyTreS3NpbItr7heOpnMb7FNk7oekhvdKl/8RyaC+9WzIUZhgK4/3Rztv5nYqxP6m07gW23UzFgE9ntyI62LL8jjuAdpmbmOffH98PE9g+UnwGmBfk4CUcLt8fc7Ze0FHMMzxmSr3fNVVV8lVV12132133nkntH3fl+uuu06uu+66p9K9JY5qH4T/9b/+l/z93/+93HbbbXLffffJX//1X8tf/uVfyl//9V8f0nGvueYamZ+fX/q3Y8eOw9RjRVEU5dlMtLea46H+OxY4qi0I//2//3d573vfuyQVnHXWWbJt2za54YYb5PLLL1/y4JyYmJA1a4wn8sTEhJx77rnLHnd/ySgURVEURTEc1a8xy3lixntN2Zs3b5bR0VHw7lxYWJC77757We9ORVEURXmq7JMYDvXfscBRbUHY51SxYcMGOfPMM+VnP/uZ3HjjjfKmN71JRBbzD7zjHe+QD33oQ3LyySfL5s2b5dprr5WxsTG57LLLDvp8vUFNUnv9CYKsEetalBK1nUd908sYa4RDOmNCeq3DJXgt3Y5jkMN5PFZu3OzrNSkmP4t9ssPw/SpqeukSCo3pGYprLxlt1C2jTuo0ScS00686vOhJ0LTStnpVPA7bc9wOpe+tmaUalkiTpFwAbTs/wfJZfkUEMyRDXgMRiQNqZygtbY+5hp4cjlOOxF7XSgfNHsyclc2z9u3xUcfm8sgzg+hXUF2wxmmBYt6r6K+QtnwHXM6DwPPMaXUtHCprzPkjHCu/hJ0iWKQ7Za2tP3MK7Sx1IbA1b+Ft2IlIaNxCk7p7OIM+TI+nMRV5vILTt7OC70ZX+moql5yQz44TmLn2SzhXmTl8BtWtdNa1Mi5yynYBg8PO8+wrIJS7RGyP9xXWAONwygRyEWh2zDrgVPAt6mRblg/L21fumdfK00ksrsSH+Lf1oX7/SHFUvyB86lOfkmuvvVb++I//WCYnJ2VsbEz+63/9r/L+979/aZ93v/vdSwkgSqWSvPjFL5bbb79d0un0CkdWFEVRFGUljuoXhEKhIDfddJPcdNNNy+7jOI5cf/31cv311x+5jimKoijHJVHiSHSIEsGhfv9IcVS/IBxpMm5L0u6iOSufNYa6WjEH+zUG0CTmV02qYp8lhDZJDpziMjBTkIQ4HQ6FRIYVyyTcYakCm65l9vUraN8LKmjqdCtoTrZlBA5pE0qykaQs06dP2/ha7SbJEU4bTYRBCQ2ldihdWMZxas5RSFjBHLudZykGu9TJJdZnqkaZI8knj+PUmzcm4f4MpYv1yURv9zfG/nsOpZ227LEBpZAdTGG43rperGz52KiRW6o1NFP7dZLGWmYwQjKVO1WUNuwwyCSgFLtseiaLsGOFmjY6FL4aoTxUTcxYNCglddohk73VJ4/WExtw2QSdc8385GmuPJ/So1tdZhN90iWrLQ9nsHMolDSxJAg7BbuIiF+jiqV1K/SyvbK52gkseYtDdbP43YhCul17rluktXTNuzm228bzeHXcd7Zq1t7OVj9sm0phiHroLB+iui8a4EgmWn6mwhyfCfQFQVEURVFWSXIYqjkmh/j9I8Wx0UtFURRFUY4oakFQFEVRlFUSidMVffNUjnEsoC8IFp4TL4WY9WWNBjs3iApXdQ35CiRG6w17WOclXZs0y8QKM+KQo64y0/Zxm6Tx0Xm8mhVSWCefA2qznwT0L4vRIDFplFHOtDtp8kHwOHWx1QfuL6XrdVuUftXyk3DrVB65gvPRzlshVEXsU7MPjWb2+Heo6mpA6ZP7CuhnYPsd2OW1RUR80rzrkRmnFvkghFTeNuOZ86ZW2CYisjaLPgj1IXOebaQZl9sUTJqYdj7AcQkprM4u5c2+Mp0snoei1iDktkU+CDNt9O8ZbxeXPgekLDeoLHDO8klwyfGBw8hq1KlGYtoHchizN3dZhrlt+eg47J9wIH8FyyeBfX9c8tGBsEE6bJii+9ua9lofjn+D2tlenHd/3tz/HOLcFaZp9dmv4rpNz+J5ZifNvP9sYD1sGwzK0G6nduOxrBDW2t4y3/X4SKZaPnQfgnj5yM2jCpUYFEVRFEXpQi0IiqIoirJK4sPgpHio3z9S6AuCoiiKoqySWJwDVmRdzTGOBfQFwaIZB0sCal/K6J3pIYwJr7RQN23nzdtgUCXtluV9Dh1eYZ1wylq/boSrsBKvuK9jlXHlFM5dpX0prj1OGX223Yc+CI0B1jDNtXPOgYRWl93HoELpn+dWTv9sl8J2G+RT0aTSyk3Tf4fi7DlmH/pM2Vr9AMetkEI/A9vvgH0Oah3UvKuW/t+i3L12KWgRTNM8kKrCtt4A12IxQF3+hIJJIZyM4bVudzDePA5Mn9o5XLeZGZw8v2Gn1IZN0ixQHope8qVJme92IvzLabqZh/YWf2jpcznGtVdwKZ21a8Y/zTcAUY1xHdix91MN7EOHfDfs6skOa8cr+Rl4nDeA8xw/9fTA9h+gSYDH6cniONmlx/fQ+NdLeO11KgUflswc+HVc/06Dkjpbvkx+GbdlpyhV9E6zvu7vWQPbfMr9MdeLz9vhANNmi4jUOa21cljQFwRFURRFWSWaSVFRFEVRlC6OJx+EY6OXiqIoiqIcUdSCYDHbzknYXtSO7Vz6G/rnYL/JEPXO6ojRNxtt0h27NEtqx+YHCeVUdyt4rNSs2R5N0b5cMqFpdEm3zc4AVG44TbUN+s31VCjnQ3UtXkBj1Mq30Eu+AR52qtMyx3JmSfPeg9daCPE8VskECeaohHaLfBAs/4uAfA5SaWw3q6ZPbou085jaZBbsxGYcazFez0wdiz6UKqbdalAtAzpuaIneAz14nPWFErTXprE9kjL6bKYP5yNLJai35owOXxrA89RmcT58a5y4si65eUirl3YoWDUGSMRn/b9hlYMOvSHYxn4edp0KziXh0Xna5Pdhn3fLHPpmJCXKBWBJ+i6Vtu7y57HXG9cqYH8F9klwlv97jS3Stn+Pk8b7YYDqggylTS2DkB4Uj5LPVHUOJzNl+SBka1TCnOu0WD4VTpX8ICbxPD1WfpV5H9fefa2N0B4fxQQlm3pmlz73h4s+Oq3qyj4oh5NYDkMtBnVSVBRFUZRnF8lhiGJI9AVBURRFUZ5daDXH45Q9jR4JvEVTWG9gTGQb8igxcNuebA5Zc8ksyqbPpmVSnWliOM+OhV5oz46bduJQSuemS20r5WtEuW+Jdg8ug/Ja0144Aff1TsA0qOeMTC593pCbhW2cFrjUNimpH50fhm1bewehnbho6nQ7xkTJaZh9CuO0y+hyWmaPSh77NatkMJWkbTVw34UGht21IzPGlSaaUOfnqa70jLkev0yliSOSLjJm392DOA7tUTSVZwZwjDdlTJjjCZkp2DYU4txtypv52j7YB9smKgVoV+qmHx2S0RyXQlQpPDRtSXKBh/vO05hOlI3pv9mktN4dSuW9QpTgCtZ6ERGJbTlvAdd/epJC/eatNdIgSYH7YMsIB5IUOMzRkiQ4HDfxSRa0hsYPcY3bkoIIrgkOk620cd3uWcD7MmWVUg/LWD48oJLUTs08Mx0KiQxmMFw3b19Pgn0oN3HN7y6j1DQ1bNbISHFxTXeqFHKpHBb0BUFRFEVRVsnxFMWgLwiKoiiKskqOJ4nh2HiNURRFURTliKIWBIvxakH8vbVRs71WmGMafQ5GKNVnwTO6XtZFLcwuTSoiS+Wk99GwwuPGO+hz8FB2DNp3Oyb8Z6aOmnE4T7ppxbz7ORGF1VEkZm1w+VBGdzPqmS/asAXaL+x9fOnzphA178BBLdpOnftgdi1s+0FwCrQf6KyDtm/5DnA6665Uy1Y5a4fC0Lgstm+VzfZr+L7cojLSJQrHWrD09FaNfEKmKYxz0oxpqkR+Km0KycuafesNPM60hyFfu9OoKa9JmfLP60IMdxsLcB2flJ5Y+nx2Dn0BZvsx/HCuY669HmGfmlS+ukPm06rlPzLTQD+biQX0dajOGp3bm8MxDRfwry7PvtW6fAEO0LagW7YrDXhq3hzcayzv79IFOUJw+eeEfRJwZ9yXwxytr4Yh9qE/QL1/XWh8TUYCLA/eotTpc2txjVfnzHpLzeO8Fyrok+C1rGcdlYZ2yrgW7SMVOrgmvBb6IPg1fGDVqmb/nWOL/Y/rGFb5dKK1GBRFURRF6UIlBkVRFEVRjmvUgqAoiqIoq+R4siDoC4LFXCUr3l6dfG3eaHUFD/Ut1nJH/ZLZ10XtLZCV8yA0LIeAoofaIYfC7CwUlz5P51GLjjKo08WBs9/PIiIRpTHmMs2tPqNpnjiI13puYQe0z0qb9piHYm5IOmo1Nv4MXLq33Y9LcWYdaqHTsyY+OzVHpYhrpFnajS4tl3IQWO4L1H3xyzimHRc1WLv2r9eVFhvPk542+6ZLtCbIL6KTsebdxeO2C6jLT/WjfrvQY2n45O/S76E/SY89B5QqoyV43oYVeF9LcLy5lHIpwrnb0youfX4wHoVtuyP0u3GtnATZcRzDzBTeO2HZ8g2gMeQU54lHabP95R/QnE7Zq1t5NZrsg8C51O0DcR4EbHPK6hVzKLAPgjU9IaU0z/u4kAd8M+8B1Z+PyIg8OYK+J/fOG9+UKqVHT82h30q6bOVBIB+EhH0SLN+gIKZy59R2IzyPY6XNrvh7+9RYISnGYeZ4ekFQiUFRFEVRlC7UgqAoiqIoq+R4siDoC4JFqxaKuzftZ8NKT8zhegW3Tm1jPiuQCS84wDrwxOzfILN7V8ikb4XvuWxDxaZtvnTIZOckHG5FhwrN/oUA+zTkY4jngNXHoovLKXDQTJ21xjEWNHefkdkF7cf6MOXrD0aNKbo+hSbHVJns49blOh00PbLcYl87TbO4VCDOrXP1PfPRa+BxfYq68lqWHNEkiYHatgxip4IWEfEpHXSNwiCrVghiRBObo/XUa7XTXSnBsf+2Jb1Bx60lFA4aU0pea2AnUiiNuS7LLebEdopjEZHMNN5bqVnTfzu0VUS6qiwmHqVpTpl27PO8shRgjuVSWu+uao7PADyGKXoG2c8rlvYCCpGc70V5aNeYue+mp/CezExRGKolOXg1ugHa+MxMrHBRfkTyL6U0STOdlDlPu7A4d1HzyBnDEzn0MMVnftWsDn1BUBRFUZRVcjxZENQHQVEURVGULtSCoCiKoiir5HiyIOgLgkVS9yTZG95V7xh9LToIvYmDbSiLbtd2O8zRTkW8v/ZCy7STBmqqPkp84lthP1595RAwv4GGJNdqV9srh7StNDY+hcrZu2ZJJ+UQvA0ZLB1d6DUX2OjDPjSK1P+2WdYOhazFKQr5tHwSugqsreDXwfvz/R6TW0RknRfCGEW6RNjYCkPltNjcpzjCY7WtEDAOYfPoy7bfQY503oA7ZTXbdJxcQqG9NFBly2+lGFDKXR81cNuTwMUlIn4d93Ur5rwua97sg+DTQLbMBDkZnKw4oHLW9rGeTp+Dlc7Dp12hGwENnJ3uvUCp39M+lgBnX6BtA/1Ln/91LfqP1MbR1yQ7YZ5PLqVllgbNT8f0MWmib4xDKah98jFKzVv+YXtTynO67KeT4+kFQSUGRVEURVG6UAuCoiiKoqyS48mCoC8IiqIoirJKksSR5BB/wR/q948U+oJg4TZccfeqLrW20bkqlOqTU82WYyOAtZ2VVZsGxYyXrZjxXW0s4fxkfQja42VTGtdfQJ2US9T6FaPX+jXUHd02pQXmUtGz5hp2zWMq3C0D2KfTUruXPhcpP4QrJCKvQCioL2cpZXUhbca4nMdrbRVIs7R8KOz8AyLocyAiEllTyX4DNFUSB6xr2wkXqFQ0O5vEVuprf/n+iohYbgTSzlGKYOqDS/kw7L9MDvRXip3rgH0OghXWsUsCuEueNe0V4vB7yVkmHeLatLNbd/mEECv6BhzAV8DONZGQ/wWnZU6sselyU6G8CLZ+3lXeuWtMly8V7UQ4pi6ldLZzdsQxrZ9ked8TzneRo/aYj6nVn5Mz9/cDQ2tg29QQPhdbRXPDhJP4jHR9Kjlv+SDY/ggiItLGNeE0sG37ovi1xeM6rWMls8Cxhb4gKIqiKMoqicU55ERJh/r9I4W+ICiKoijKKlEfhOMUv+6Iu3fiFurGfDbexPCeXQFKAXalO5dMdm2yU3OY4FzHVOPb1SzCtofmsfJdac7sm14gk3CNUtZaqUw5Da1DZtFUCSWGzKS5ntIerO52X996aK8LTThi2tkC20Y8lAnss1AGYakmGBbV7orvs/A5dBE3tzPLhy5yFT87/JAlhjgkSSGFY+xY7SSLY9pKY/+jtOlIJ0cmYIoAswt+djCSTKIM9iHwKJW09ZcJrz2u0AhW6wM8r1wwrtMa79oXscPsWDrKBvjt2BrTKMQjcTsOzfW5MYXVEUmIYxHlrJTUGdpG57HnwztANcekaczlDqV37qruyAqDnRI9JomhzW3zudWhip8r3Duc+p0rrg5QvOD6cGbp84YCyg+7+gah3ewx581R6KiQxACSXEKpxklecdooQdgVNf3G4pipxPD0oC8IiqIoirJK1ElRURRFUZQuVGJQFEVRFKULtSAcp3hVR7zO4sRVF4wPwtaeAdzPQb2rYNX25TfDaoQCeaWDWulCy4jMsw0stTo5j/q/LBhdz6PUopwGGKCQL4d0VL+MOnB2ymiJzZ2oZz5cQL+IfGA6EvWjdntyOA7tHqvUbCNBjXJHG8d4N/ljVJvWuHHFXS5XbXWZwxo5dNFuH8gHwcngidNZo6f7lDKYQ88aPebgjQqeyK3hGLst24eCNG7qUxzj9VWs1Nizln+LiEgpwvVVtOYjSCg9L4Uyel1Jwg1tWl9tcmjglM82Pi3cxArjjNJU5jeH4+T1mmt10xRGR6GKURa3t/PmWLbPiki3n4odYhjU8FoS0vADq7y41yLvDG5zGLCtxXfp8Fwi3HxuNHE91SJ8xqyUDp3DW1P8bLNCVAdTmA7dIb+bjuV3EwfkZ+PRGrD9MdgXg3wSuvwxWpYPQn1vfzmnvXJY0BcERVEURVklyWGQGNSCoCiKoijPMhI59Jpdx4q9Q4s1KYqiKIrShVoQLIKKiLdXJmzMGh1vS6of9ptvYopR3zUaWYe052abYtE5ZtlKexzRtriG3/WslLysu3dYr81buRk6pOE1KK64he3UnGnnd3LsOV77vc6Gpc92OWoRkTN7MS3zcGhKy0Z0Aexz8Mj8MLQXFoyvhkc6sEvSrrPC6zlb9qBks7dCKmURCUIcp56s0fB7U5jMwHNxzO3y4fN5HKdKFdvtill7TosdLLDZaqD+vMdKx/1IMALbsuy4YtHw56HNZYFDy1eANW2Ouy9TToKpjskjwn4RzYjj481Hct+RVp71f/vacRwiKuvdKizf5vNwGgHP8gkJsDqyZEI8rp3+mfONuBTPn8Qkvq+UB6FFfkN1s2+HnhMzbRxjO517LFhuOzrA37J2mmaXbyz2j3Gd/X4WERHnIEzq/Od5lz+GnQdh77b2Sk5Yh5dYHHE0k6KiKIqiKDbHUxSDSgyKoiiKonShFgRFURRFWSVx4oijiZKOP8JKslQeODVjjCtNB+PHJ0qoGduit9Nh5wDSKDnm19rMGjjLdvb2dgG31SKK93fN1LIeG86zD0K0bDszTbqpS7Ul2kbffHRhHWzbMoi5DXrzJqY68PCclQaV0F7AIgTOtNG1w3m8Hp8KO9jp/lk2ZX0ZwvBZjqXx933UOQspo+mPZBdgW4+Pen/bcnaYSaNGvCvAktrTiZncDuXNYP+LpI7bZ+vmWD9v4rZSC8d0vMfsuyk9A9uGfLyetOXoweWdOadFOcLz7GwZH55HK+hbMlXGsXCay/vZsB9B26pp0aFcBnx/tHqpZkXBqpmQWr7ssohIUjeLxp/H9d/J0Hy4ZszzMfmwkA+CE+F5kzbnSTDwPRpUzbE96tOOKtaKsed5jHxNxMU+VcmHqhSbZ99sC5+D9riIYGl1rlHBfgTob0H7cikJzuNi55rY64OQdI6cD0KSHIYohmMkjEElBkVRFEVRulALgqIoiqKskuPJSVFfECy8RiL+XtNYqmQm0InIjOhTOVjL+schdy5nUyWbjR1i1c6j3alTYLOoOVGrh9Lb9qFdrmmlPU5P4zRnpnHf9ByFUFXtVKa4LTchuG/DHCs1RyGefZgqutRjzMlxQDY2Shkc1nFzUDbbwwUy3VZJYljeUiusG0TWvm6b5aCVb+LANWNTDLDDdkgnk/Gwg40ITfRzZWPKjZs4piGNMZeKTqyUtu0pnPeHBtBE/OSAkYBGi9jf4Sy2C5Zk4ruUYjemMMcOykWTNWPvHy+h7b85jXJEypKP6DRCEZLSyZp9m30UFjiIEs9AEdMED2arS5+zPpagZn143pJmJhaw/5Ue7JRdgjpxcBzodqbATBGnSove3kYhk2HZHCw1g/O8bRYlhgd61y59LnoY5jjkoZRkh0SKiDzSWLP0+cl5LO/sz+F5w7Ile1CJeemskFb6YEm6pYwuSeNpRF8QFEVRFEXp4nhyUlQfBEVRFEVRulALgqIoiqKskuMpikFfECzcKBF3b/pQz0pl2hUFxVE5ltzpNygkh6N7SHhs9hgjTkxpW9uk02f7jX7Yl0O9ktOgztdNKObCHGrPjXEMf8vuxmWQmzB9Ss2iluhXqF012mKqhFo0l+dtWWFpHHrJvhnsu+G1rNCmJpUibtGYW/PFYY1sNLM1fDulroiIQz4JUbS8wS2g+NU8OQfY2znNdJcGbvljeDXsQ3oGrzU9S/4XHatcMq2nZi/7qRg9fWc/aunbCpgm2y517VK4Z0L+I3ETz+NY5ayDBbz23AKFrC4vw0ubqp/bfgepsSpsO3l4CtqnFtB5Zk1owv14rrp8EKwy2Tt6Me36A1T+fFvG+HXEAYZDJy62ewQJpi2/pwauCemwD4K5DzNTON6zO9FP4ke5zUufmzHe66Mh+iBUKO/0z0smdHnXLrz2nnFam3OmT04Vx5RDOBMOe7ToMr47/Kyw1pBD/x8BFl8QDtUH4TB15mlGJQZFURRFUbpQC4KiKIqirBKNYlAURVEUpYtEupOuPpVjHAvoC4JFHDgSBd1vdi7JgexnEFaNnubXqDQpxedGaSqf7JnzNUjLdbIoxK/vKy19PrN3D2zrCzC+uWE5Ozw5hPHLD/VjGeD5PKb6jQOjaTqkWWYm8Pq8ihkcv4zXyvkiMik7/bNH+7LOSGMRd8c+m51lWfi4TBSafnA1ZLdBJbTbpOFbpYoj9m2gTqWt8slpStTA/iNxZM4Tsg/CHI5/dgIXp181x0488qHIUOnxXtNukH9Cu4DOMp2MacdcoZmrAPP9YvnzsI+B16T7xTpWK0c+OXlaI5ZfxGgRtfTn9OyG9tnZHdAeC+aWPucc6jBRTYzPzqlpdITYmJmG9r3ZjUuf70th6vGST4kchHwSrCXkz+BAcVpmz5rn3DjOVTuHE7RHTHrr/7OAfShkcdE3qDx9ZdLsn92K5ynsIL+IKdNnp0Y+CC3Ki2CVs3Y8chTyaYEF2E7S3c+RyO1yNnrWcfPNN8tf/MVfyPj4uJxzzjnyqU99Si644IJl9y+VSvJnf/Zn8vWvf11mZ2dl48aNctNNN8nv/M7vrPqc+oKgKIqiKKvkmZAYvvKVr8jVV18tt9xyi1x44YVy0003ySWXXCKPPPKIDA8Pd+3farXkt37rt2R4eFi+9rWvydq1a2Xbtm1SLBYP6rz6gqAoiqIoq+UZ0BhuvPFGufLKK+WKK64QEZFbbrlFvv3tb8sXvvAFee9739u1/xe+8AWZnZ2VH/3oRxIEi5afTZs2HXQ3j/oXhF27dsl73vMe+Zd/+Rep1Wpy0kknyRe/+EU5//zzRUQkSRK57rrr5NZbb5VSqSQvetGL5LOf/aycfPLJB32uVsERb29omB0i5rYpjI7MpK4VdufVuGIbm8NxyO2wNCGzeiqDZrmN+dmlz2fldsK2MX8O2p4VX3l6pgjb1mY2QPvfghOhPRUZScKn6oFBGU15/oJlKqyhudKlUCbXSgPss9kwYMmB4x6tKn/88u0uL0/EIR7XJbO7Z82tS2GOnLK508JjNTrmGlpkd29TfKUtQbgc+0rYWWi5D34dv+uXacwXLDMvjb9HY+6XTEhbKo+hrx0yU0dpa0xZtmGJoYM/sMNS3RZJClTJLw6tead7pdlH57WauQBlgmEK37MlBRGRtZ5JvZylw3oUVhcl5tg163siIqMeVkcc8k2K6gJV9Pw39wRoz8cYjuhaIYZ5em74C2iydxpWePEMnqeXLfZW1cXGBJ5zIYOSCacb77WGLb+H0q7vwgehVzJjkzRIYohWqJhJEoMT4lqM8yjFtHvMOO0L3WX572nlMFgQ9j3EFhZwnaZSKUmlMNS01WrJvffeK9dcc83Sz1zXlYsvvljuuuuu/R7+W9/6llx00UXy1re+Vf7hH/5BhoaG5A/+4A/kPe95j3gs6azAUR3mODc3Jy960YskCAL5l3/5F3nwwQfl4x//uPT1mVzjH/vYx+STn/yk3HLLLXL33XdLLpeTSy65RBq0QBVFURTlaGL9+vXS29u79O+GG27o2md6elqiKJKREfQdGxkZkfHx8f0e98knn5Svfe1rEkWR/PM//7Nce+218vGPf1w+9KEPHVT/jmoLwkc/+lFZv369fPGLX1z62ebNJulHkiRy0003yfve9z55xSteISIif/M3fyMjIyPyzW9+U173utcd8T4riqIoz14OZybFHTt2SE+PSZnF1oOnShzHMjw8LJ/73OfE8zw577zzZNeuXfIXf/EXct111636OEe1BeFb3/qWnH/++fKf/tN/kuHhYXnuc58rt95669L2LVu2yPj4uFx88cVLP+vt7ZULL7xwWdOLiEiz2ZSFhQX4pyiKoigHYp+T4qH+ExHp6emBf/t7QRgcHBTP82RiArOBTkxMyOjoaNf+IiJr1qyRU045BeSE008/XcbHx6XVWjlqx+aotiA8+eST8tnPflauvvpq+dM//VO555575P/5f/4fCcNQLr/88iXzysGYXkREbrjhBvngBz/Y9fPasCPe3hTAiW+XLuWQO/xeYIeiVWjfhMO4ln/1jH0KjQvQn2EgMOlkR33UPtdTO7Q6OeRhGlo75E5EpDmMy+C7VVPytT6LmmWW0rqmLF8Bl9LBCoU2OVZoU5fuyD4JPulk1nb2T0hYU7NCKNkHhEPy7LlkPdzlcs8dbLcsH4RKB3XTBuXUTlnOBDGlWnZJxHc80+YU1F0pZWktOvYctMkfhtqe1XabOFdeDftv+4hwCCrjtqlTHctPZSUtWkTitBVOSf4iQZXurYYZHDvkVGTlMFMR9DsouPjdwFleoy0k2P+Ci1Jm1t2+7Dk7NJk/bJ0E7XLN3HdBDdeT18TzulWr/PY89YHGPyibY7UnyDcmxD6x30pghXCHs3gebw6fK0nN8kmgtWb7EImIOJY/kpPGX4pJAVPDt/uxXR82a6Q6snicqHlU/617SIRhKOedd57ccccdctlll4nIooXgjjvukKuuumq/33nRi14kt912m8RxLO7esX/00UdlzZo1EpKPx0oc1aMax7E873nPk4985CPy3Oc+V97ylrfIlVdeKbfccsshHfeaa66R+fn5pX87duw48JcURVEUJXEOz7+D4Oqrr5Zbb71V/vqv/1oeeugh+aM/+iOpVqtLUQ1veMMbwInxj/7oj2R2dlbe/va3y6OPPirf/va35SMf+Yi89a1vPajzHtUWhDVr1sgZZ5wBPzv99NPlf//v/y0ismRemZiYkDVr1iztMzExIeeee+6yx92fp6iiKIqiHIhnoprj7/3e78nU1JS8//3vl/HxcTn33HPl9ttvX7Keb9++fclSILLo/Pid73xH3vnOd8rZZ58ta9eulbe//e3ynve856DOe1S/ILzoRS+SRx55BH726KOPysaNi9nKNm/eLKOjo3LHHXcsvRAsLCzI3XffLX/0R390pLurKIqiKE8LV1111bKSwp133tn1s4suukh+/OMfH9I5j+oXhHe+853ywhe+UD7ykY/Ia1/7WvnJT34in/vc5+Rzn/uciIg4jiPveMc75EMf+pCcfPLJsnnzZrn22mtlbGxsSas5GJrrW+JmFt/CbB1YKivr427HtDlngk+pcjnFcGyldubSxJ5LeqBrdMjAQY0vTY4ROUsnzia4bzvA9LBTWfQzeHRg2PqMqVlbBUoVHZqxYeU26ZAOaevP5K/A2rQTkgZub3NYH6fzQh4E7C+XmY4sOY7j+xN35ZTOLWveGxF2ohZTSe2E8jhbZDzUqlMp0+7k8KStPF5PKofndZvGMtZlxFzpzxbOWdHAuUs6K+RuoOM6vK+lR7PGzf4MnuUzElAOi3AB28G8GYvJMsbzTwxgMeVajBbDyMqr7ZLS6tNK9hx32W1c5tsV4wAWh+gHNdODfdw6guWTt08aK2h9knx95ih/iuWDIE10OnPJ9ydVM9uDEj3LvJVVZrdlro/znHBJ6sT24WEfIzqPY1lwkx58xrTpmVNdg/dSZZ05Vn10cT3FjZVzixxWjqNiDEf1C8Lzn/98+cY3viHXXHONXH/99bJ582a56aab5PWvf/3SPu9+97ulWq3KW97yFimVSvLiF79Ybr/9dkmn0yscWVEURVEOHq3meBTxu7/7u/K7v/u7y253HEeuv/56uf76649grxRFURTl2c1R/4JwJDlhw6T4uUXTl52qeKaGJq/pFFY/FCukjasfpubJhEcvjrA7mZ3aEZrpKh1jlmuQXb1NB7bP6lLq2CKV2+M0tOtzpaXPj/RgnG07RyFJtgnf4YujCwLzMpmacc/uCm/2vhTmaIfGiWCa4HaeqhRSXt1WwbQ7VGwv4mggb3m7YIvC7OokOTQ90kEscpSSty9nwsV2kbm1NkLhfE2cj4w1Nn4FL6DL9G/BlR+75tJuxxS6y8dlycGed5aSOOrRWjM+pd9Oz+EYpqdNe2Eax+nhAQx9PimNMeR26G+O5DoOc7RbttywuI0kLCuOtt/D+2wtp3vOYWjy1oKR9jpZvNYooJTn1nw4HF4cLS/xuG1ahySXJhyOaM8lrwkKTXZWCn+l+9lOn9wewDBGlhTKG7BP1Q3mevJrFtM7R7XlJbynhWNEIjhU9AVBURRFUVaJSgyKoiiKonRzHDkpHtWJkhRFURRFeWZQC4LFiwafkHR+UaOzw5d2NDAc6V5vHbTHOwNLn702Dylpli3O9WtvQ7NTrYL68o66qWK5K4t9GvLK0M46RpMLSTsMyLrVQ+lih0JzrDBL6WIzFC5maaMHCpmCOsbOAfblY1lhj1EONcpWkfR+q95tswcvtp3HdseSPzmksFOgELY0tu0wVE6jW6cwRzvsMUWad95D/XQsb7Tp0kgGtlXaGCoXk07f7DX9CMkHgdcepJY+wF80dglnDuXlEudenVNJW+ds0IlYP5flw+pC8kHIjZtrb/Xitd7fswbaw2ks01z0akufAwf9E0TwvFnXnJfDHGMauNjyreFK74wdtiwiIlZYbVeK7ZXg8NWVwlnpWZCE+LyK0wcRBkk+Rra/QtJ1HjxOq2DGtDaEY1odw+/WN+AzaGS98eU4a2DP4vEqLcGMOU8njuwniPgpHOPoR18QFEVRFGW1qMSgKIqiKMrxjFoQFEVRFGW1HEcWBH1BsHheZptks93x930+ljWtUoD87IKJwW7OYTy2z+WfWXa05LVgAbe1ZlDvf7x3cOnzWGYMtg14qLGmncmlz0UXNWLWRl1K05yy9g8C7HDMaY39FfIgHAScijWhGGvb76DZj+NSHcE5awyafrSK5FeQw+tJUlYp4hSOgx/ivmEKtVDfs3wQYuw/l3/OuFaf6a5jLXosY3wQOoN43K0+zmWJ0vfW5i29nMoje1QS13aF4BLmXfK4JcsHNRzTcIFzf+AiCUtmfjxaI06d4tctnwSHUgb783VoZy0fhA4VXyulcVx+6J8IbbvEdqMH+3sapUgetHxE0gdY4w1Lh5+i9M672n3Q3lPDdNBOzVyPT74atg+IiHTlogA4t0HKrMWoF31aWn3Yx1YPfreTMWsmpkcjl07HfOi4iXOKtK38I41BukfX4JpYv2YW2s8bNNV3z8ruFBGRutuRv5MjxFOoxrjfYxwDqMSgKIqiKEoXakFQFEVRlFXyTJR7fqbQFwRFURRFWS3qg3B8MuovSH6vph5bGhHXPegP0CchbWnTteVLCIhIdyy6rS06EenwVHNgzqoBcV9qPWzr82vQTlv1FmIPc767JB62E47ttvK8074snUG8NuuznJvdzn3A23yKv06jNtoumjb7HFTX47Eao0ZcD/swx0Mxg/pmKrDy1NO1xnSxnB7VzoPQpFoMs030RYmtgWonuH44D4LdPjGPpbkHUjjPU72otZeaRmOutlD4bXZIX7ba7Q6utU6L5qNm2j6VXQ7n8LuZKRynrFViO02+JvwAcmrWfHFJ8BrOZWidp4clXQfXz3yEev//aZ269Hl6Pc7VBb1boX1Syvgk2PkTRERCwT4uxKbGwJOtYdj204VN0H5ycgDaqSkzrqkS5dyooT8GjE1XzgGq49Bnkn3U1lBejTGcyzp2WdoFs8aTcOXy507kLLst8ek5kjX9zxbRt+SkfqxZcVZxN7TPzhofhE3BlIiIVFtHsNzzcYS+ICiKoijKajmOnBT1BUFRFEVRVomT7CeC4ykc41hAXxAsck5HcnvN4FVraCLKe9qkWL+WlV6ZKil3h4SV0XTo1yNrG6Vl7krbbNo7AjRP3h1ugnbWNlunYZPkHOxkKUITq11WukNmaZcXtv0iTOZjh02ftqzgkhZDYY1xHs3jjT6zvTZKksIGKqs7ZsKiNvVgiFR/iOZ9mzrFYs210Bw7T+2yVWp5voVrYqGBJu6F0EzCQhonZCSNabLtPrJ0NBxiLOxJWRxzWy5q0DplKalp1Rrn8tTzbbzWqbqRMibLKGtUqNSyXW5bRCSy0vkmJC1lyFvLt9osKdhli0VEnAUzTiGF/fVSWCCXxV6ommu4ex5DIJ9YOwjtk/umlj6vSaNcl6IQ4oWOGbcnK3iPPj4+BG3ZgmWO8ztMnzPTKCl4FZShoMQzlWiOC7i+6iOmPX8CroHyidj/whiuxY0F084F2IeYnosNS2ZrU0wky3cZ31wfr/+NmRlon5TCVNjrA7O9f2+a+NA9ghLDceSDoGGOiqIoiqJ0oRYERVEURVkt6oOgKIqiKEoXx5HEoC8IFq3EldZeXa1khSvtphSpW6tYarkxZ/YtzOGbYbqEGl84h3q5V6VUs/a2GjkPJKYdpVAvfyyL8Un9KbucLfo99FNa5nnyQZhqGX223UYtMcPVeVda6Bz2aLUPmFo5g+1GnxV2OoqdsH0OREQuGt6y9PnkDOqXORfH29blpzoF2LbNRS260kYdu2b5HVQrOFdxC8dtzjca6XQWx3uhB7+7uceMTTaD62WQynoXPfSpCK25dgV12ZgUxdYK/gq8JiZyJkxwaxa19SfS2J4Ie6Fd9axxc3BcnATHNGOVEPYi7L/TwXA4aRsd21nAfQMKkext4PWEFeMrUJ7DtVaewOu5a6ho+tSDvgGuh+eJrPslmcd7ND2O157fiTdPYYeZ62AKfU+6/DGssUmyuH46heVTkVc2YX/XnzgFbfveERE5MW1StvO9E9FfwTUrtTSHhrP/i/1MKlC5+QEfn09DHvrdFCxHL2+vb4N3rHj9HWPoC4KiKIqirBa1ICiKoiiK0sVx9IKgUQyKoiiKonShFgSLPVFectGiVvZEa2Tp5/csbIT9HqV45vRuo7flxql08jRqyP4sasZOw9L1YnytDNqoF2YD8z7X7EWdsTmAOuQTfUZHLQao3Y5RadxKhG07TXDUpHwFK4Ubd6VapvdPO9Wyt3IehA6V3W71mmN7A6iFntm/B9rn5rYvfd6XinUfaQd9QqqJ0YnZV2O6jT4JnE65smB0bHcS9eZUla/dzG0rh/tuH8S2XTo65+H6GQkwDp914aJrtGu+ViaykliwZlyOUQfutXwdspTsg3MBsB682ykufa4KrjVJ6BFk+dlkqS65S7kOnKpZ10mLUxFTn2h7rmauISxhPoLsFOfgsFJSFyhfB5U/h/LtFex/ehbXV2YSxzGYMWPslNEHwfa3EBFMTU7lnTs5Kn8+YOY5NYrHff7gNmhflH8c2ut949+TpvsjoprODdunhdYT+7jYeFRrPO20qb38Oq7tzeVRW6n89eFGoxgURVEURWGOp0yKq5YYdu/efeCdFEVRFEV5VrBqC8KZZ54pN998s/zBH/zB09mfZ5T7Gxskvdd099N5Iyvct2sd7vgkhkzlt5nXwdye5c2GIiJOBU18SdMyETuUqpjS0npVY34NK2gG9Su4b6lizKaTBUyNm3LRhFeP8VjVttWmKn9db752ATeSGDjVMlRw5DTMHrajFFUXzJkTF3twDE/IYMVDW1YYo+p7dBpJx8ZsWnIpjI6oULpeZ9aMU3YP9jc1iwNlW1HbOdy3XsXj7pbi0ueeFIaAjaVK2A6w8p0tk7BJOCBTrh2mFpJ25HHqWutJweGSB8JOs7vLLcK2ikOhvK79SMJ0zygEiHiWJOfUcO4SMsknVaoMaUkOYR1lGn8Bz5uxwgY5jXTi05q3TuPXSeZYwGeDW8E+26GM8FzYD44l0fG900nTvZM149SXw3OOplCy4pDCfktOStO9wxHP7cRcbyPB8W9SeGvrINYQh0iWrRD0Ury4KmqdSER2rfqYh4Q6KXbz4Q9/WP7rf/2v8p/+03+S2dnZA39BURRFUZRjllW/IPzxH/+x/PKXv5SZmRk544wz5B//8R+fzn4piqIoylGHI8YP4Sn/e6YvYpUclJPi5s2b5Xvf+558+tOflle96lVy+umni+/jIe67777D2kFFURRFUY48Bx3FsG3bNvn6178ufX198opXvKLrBeFY5ntTp4hfW9QbH9ttUhf7W1An7X0Sv9ezzQqZmsDwMLskrYhIQlqpRJaSFxxgLC0NvytKZoVX0ph2Zk2PU6biOVEsowqvWL6XBX72QVgJComMAvZJMJ+LGRzDQZ/SD1uhfzl35T40nOXDo7gE8kIV10E4a6VEpvDW7BTqz27bbOcQTq+F874Qmovd0VOEbeOFHmifQCGrdgleLrG7EryvR2WY7dAzTo07GOD4s7NAyjNjYZf5FRHZFmIa84WU8e+J6X5IPApHtKbWRzcUkSpdO4U5JpEdXoxz51JZ6aBm9g1CXBOJzzeE5RfRpPLUTaoF30A/A/CbiEjhd1Yw9h7gPrOnNorxOO0Yx7hNYadt68HiHUA4j+Ez3b/UttdpS/B+6PY5QJ+QyY65B55oLD6nm9W2iPxqxf4dNjTMcf/ceuut8q53vUsuvvhieeCBB2RoaOjAX1IURVGUZwvHkZPiql8Qfvu3f1t+8pOfyKc//Wl5wxve8HT2SVEURVGUZ5hVvyBEUSS//OUvZd26dQfeWVEURVGejagFoZvvfve7T2c/jgoe2zoqbmZRZ85sNTHuPVtRo8zvRC0xnDAarFNCPTapU3w2l7C19UMXtbeESjp3ckb/bPWQX0EBjzuYNTpxX4h96AswN0AtwvPkAnN9bohaKGdMjS1fgYRTK5P+D9d6gDwICWd4Ds0dxTo2pxu24/0PJmKf9ddqB/X9dgO35y13k3QJxymcRZ3eaRk92qviIMYBaqzNojlPZQS3jQ+hD0Ipi7p8wzfHzgqOU0x+BbYu3CbnEtaFI2t7QKlveyh/RBji9qxn5qc/QJ+cgTS2H8sa2XI6U8Q+pCjNsW/8FXJUPtyforXH+UfsVMys91MOBTgSlZEWb/kV5tC9zt9NkhV+S7DPwQrnEUpJ7TWx7VfNFczNYw6Xh6sj0O6nUst2yuSsu3JuBvAroBu43eVn4C+7bznCNT/RxvLhW+qmDPuDc4v971RX7tvhRDMpKoqiKIpyXPPsCUFQFEVRlKcblRiOTzJbQvH2mvVtWSG/A83FwSTKCM6CMctxGGPC5ksmNOZ9J4thdJ0imo/rQ8bcVx9BE6o/jOc9qWjivk7KTsK2Ph/NupUIzzudNqmZn0ijuZgKP0rsH0SYo91mkynJE7HPkoOZj5CqB7orhCoyvKdtWufwKg5zTCjttN0Np0OplakSpx3y5tK4eHXslW9bw+vYp7kmronZDqbRXgjMXLIUwNUq2ytV36O2bRKOSI7g43LbDosc9TG177oQs7Kuz5rU0T/PoL/TY5lhaMe+udbYQ7N0geQtn6qH2mmNufJjV6VRa60mVDmRKynaa5zlRN7X4bBmW4LgPjHW/eJQmGZQxe+mp815mzvwXr8nxEq1pRaur3XZ0tLnoo8yTeAe4Nlmd5d+I9oVHPm+m+/gXO6uo8TwxJypVDu7qygiInEdn9FPK8fRC4JKDIqiKIqidKEWBEVRFEVZJceTk6K+ICiKoijKatFMiscn+d2JeHvD6eyyzcEUp0/Gtu13kBxAO3QoNbVjhTLGBQxBagyjFldeZxShxnoMtTxzdAra5/TsXPp8UmoCtnFYYMlF3XEiZULpsmnctxyi5m1nak04rTGHPdolakmPjQP2QcCvJr555ea0wDFp4uhXQLo7Hhb25XArThfLaaftkM+ISuzGFJJnb01CTiHMvhrWxwi31dvoGzBPIWGlyMyldwDfDNuvoBqjc0mD4lkj6wpC8m2w0zCLiBQ89IfJOda9RN/lctV2eyTA0sO5ANfiL1zjozCf4Dg4CWrtnHLbnzfXzimRmcTyFUjSFGoZUmiytY67yp8n7KdCKZ5bZq06DUrTTKmi7ZTOQsf1K7hvftwuDY39r9UL0L5/EJ8F9xfWLn32KOTZ87Ht++Z6UgGFIofYzlqh1KGHx2l2sI9TVXwuzk2aPqf3LO4bNY7grzL1QVAURVEU5XhGLQiKoiiKskrUB0FRFEVRlG6OI4lBXxAswnIkfrCoh/nzRu90qpTboIExt+B3QDHJXTHVXC7W8jtoD6H+V1mL361uMFrd+nUzsO35fdugfXp619Jnjj0/UNnWgmeuLySdkX1roE06L/skOHbuAxoX1nIp+7OIt3yfu9K6Wn4FDfJBYFW+ZalsMSluGQ9104ByQrQLRrdv9lIJ5yZq4F7D9CMOKa1xD37XDgO3fS9EuktzlzuUw8IqhdtIcBA53tzOf1GmXBi8r2eNXN5DXwAu98wpeQMrYURxhbTYIiIDVtpm9pVxB3DfluWo8kBzLWzzWnjtDvlYpK05sOdGpHuNxykzFlyqu5XHuexkzJd5DfP94LXJd6Bm2qkFvNawhGvRq1jp0Ju4za2hf1LaSoPiNbBTmRn8FdAq8PWY/aOQSjZT2nU7R0o5j9c220v+C72mz+kM9tehP69rVZw7d8H0Odz7aIuOXKbl4wp9QVAURVGU1XIYJAa1ICiKoijKs43jSGLQKAZFURRFUbpQC4KF0zGp1B27hgLXU4hXeP2j2H/Ot+5kMF47KhofhOoo6oOV9Xjo3Hqj9Z47sBO2nZ7ZBW3b76BAcertA7wX2vpzq4OaK6dfhzaPC9disPMgUJ6AKM0+Cfxdc+yYRGIu09yw2lk5QE57C47n7w3Q96SQx/bcgNHtazXqP8Wb+w2znetMcOnuVq81jqmVcxlUOrhmdjWL5pwufpfLV89aefcX2lQHJMY1kvbMOI5kMD8Bw+WfBzyTN4Rz8qcdbtsLikoPp8ahvae3uPR59zCWwV4o9UHba1CeCs8I6H6TchuQ21A7a77bLNJcFXHfVq8Z8zhHN0tA90ebfBLK5sTpaexTbrdHbSsvBbojiVsj342Sqb2SqqD/VEjn4Rwddn6ShHKVRCnynbHGqd6H22qjdI+2zL61fspREZBPCNdAsXKD7FsuzurLQhw6x5EFQV8QFEVRFGWVHE9hjioxKIqiKIrShVoQLKK0I06waL4CUxulR+4KXbRSnTpUxpglhbgXUxU3ho1ptzpG4W9jlE55wKRTPjmDJZyLLpZitamRCb4cozl5e3sA2ltqpj2/gGlO02UyB1ohYg6XtyWJwU6v3G3KXDmEyk4/3CEbcI3TBFulitsJjmFX2VmrzeF5wxS+t74Hw0Ur9tzFGKLayeBceg2rDDC9lney2Kd2nxnHIEPhbfSnR6WN126H/jU6OIilJq7F2ZppNxo04CTjpNKmH9UelDU4VLHfR2mg35IYOMwxor+k7GXAx7VTNi+ex5jO+7Ik/xRQcmj10H0ZmbZLpbqjNEs+5nNjEPvkDaHJfu2AWSNjeVwvBR+vvUnreEfFyCLbx/uxTymcO9eaW7+O9nW3in1yGta4USp4h9OhE569ndKjJxSyHfeYPjpUsrmToXBKS6phdSAISRakNd/O2WGne1Mt0yNZOTzoC4KiKIqirBb1QVAURVEUhVEfBEVRFEVRjmvUgmDR7HWlszcFa7pgdFZ3AXVeh0s6W+VJHdbpetDnoCud8hrz3doa0nKHMJxsXba09DnlojZdjlHzqyWmzwuURndPG0PAHqisgfbPxk0ZXWcXfjc9ja++QdnyQeisHJJna5iJT2Fn5IPQVS69Y35QpdA+LnlctVIMFxLUY7NUbtjWuXtc3HcdxY/N9+B5WpaGvD3AMa324LiJFebYZV6k8DcvZ+Y2Q2loudR1lXwQ5prmPPN17EO5Qrpw2WjITpP+VqDxb+fMvpPUh74U+r/MpnDNjwZGi6+SPwz7hLStdo1qfi+Q74ydHppLBDMJuVh0LNcaToHcLmCfWoNmjfeMol/K6UNYSv3sggk33piahm1FrwptDs99sjC89PmH4cmw7ReNDdBuzJgLyk7gM8fn8GLreZW0cD0dMITbHhvyvWL/Kjuk26UU4PynaJS2fH/y6JsxVEAflohCbu1g12Z5cSLjxhH+k/wYsQAcKvqCoCiKoiir5TjyQVCJQVEURVGULtSCoCiKoiir5HhyUtQXBIv6oCNealFzS89ZccZlikGmks52/H+SphK7A5hHoLoGt1fHrPj4UdTA1xRQ7wysfKKTbYzz3tVCDXyubXwddtd7Ydv2Bdx3eroAbX+30bUL22GT5MZRs/TLRtN02qRnch4EK6aadV82uZGLhTiWhm/H74uIjDfx+qZCMzYF8itIU07WwCpjzPtymex2Gm8Xr2i+WwwxDn+iB8d0oWE02U5EMfn0tPA9c9zQoxj3rjwIlJ67YeauWkP/hGgB9/UqVi6ANs8VNKVjlZ1utXEcauQTUotpjVt5KjgHR+wsb8ScifHeebI1DO1HK6Y9NY9+D3baYhERl6R3+/o66BYEeShERPIjRhM/cwjTPV9Q3ALtM1LGB2Gtjz5EWVp7bXL0KFgpqqfJd+mRIl677RMSUwrkrrLr9vOqjT44CfsgJHQjWvcwuwUxSWDGvE1lsK0M4IvHGjB+Bxv65mDbpvzsiufJ+Obh8NjeNNlx/QjWe1aJQVEURVGU4xm1ICiKoijKKlGJ4Sjlz//8z+Waa66Rt7/97XLTTTeJiEij0ZB3vetd8uUvf1mazaZccskl8pnPfEZGRkYO+vitvkTcveE3jaIxrqRKaKoN2AxnWfAiSkNbG8HvVtah0aYxZkx+Q30Y3pP10S462zYm1201TMW6p4qSw1TJmCjbs2jWDWfQ/FqYQeNhZjq2PqMJMpxFM7xXtdO4riwxAF2SAoVPVrEdzptjzc2i+fWx7BC0B0Izjl0SQ4DaRc4Ke2T5YYDC0jxO/WulDR4McO4msjgfpbaRRcpUObERURpaK7yvSdtqbYzXqzVxvdWtlMlRnSqJtlnWWT79c5yiCQot2SNAM3XaIz2IaFh5szkctyp4f9hps3e0cY3/bB5D/e4fN+G5nV2oE2Sm8IJ8ykQeWaeNQ7rWAl7P2l4jNZ1R2APbTqYKk+stWWrAw+OmHLzvmgmup5K1VrMehbe6K4QQ8/OIU55boYsJ78ttxk61HOBaS7K4jtt9VnXTIXrOjeK9tW6otPT5rOJu2LYhheHFMS1OOzR2un9x3qNaU3bsr/9PB8+QxHDzzTfLX/zFX8j4+Licc8458qlPfUouuOCCA37vy1/+svz+7/++vOIVr5BvfvObB3XOY0ZiuOeee+Sv/uqv5Oyzz4afv/Od75R//Md/lK9+9avygx/8QHbv3i2vetWrnqFeKoqiKMrh5Stf+YpcffXVct1118l9990n55xzjlxyySUyOTm54ve2bt0qf/InfyK/9mu/9pTOe0y8IFQqFXn9618vt956q/T1GQe7+fl5+fznPy833nij/If/8B/kvPPOky9+8Yvyox/9SH784x8/gz1WFEVRnpUkh+nfQXDjjTfKlVdeKVdccYWcccYZcsstt0g2m5UvfOELy34niiJ5/etfLx/84AflhBNOOLgT7uWYeEF461vfKi9/+cvl4osvhp/fe++90m634eennXaabNiwQe66665lj9dsNmVhYQH+KYqiKMqB2OeDcKj/Vkur1ZJ7770Xfs+5risXX3zxir/nrr/+ehkeHpY3v/nNT/laj3ofhC9/+cty3333yT333NO1bXx8XMIwlGKxCD8fGRmR8fHxrv33ccMNN8gHP/jBrp/HmVgks6jfdbJWyE6Byzuj9mZLZI0B1IjZ56C6HrW4gpW6dTiHOnZM+Ya3lo0mu2sGQ/uicdJgx815e6ZwNaZLqFGmSqgp+1Wjwbp11GOdFqWZZr3ThkMZraHg0tBcsjY1j9+NJs0cxCHq1k8Eg9AOrNDAgPwK2I9g1DOacYFi4bp8Eqiktu3PUPAwzHEkwBDJUmTmZ7qNIZAzbQznm2ya7XUq2VxvYbtaR12407Ru6YjLbVNZ47x1fbTNzeA89+SNPm5r8iIiw2lctwUP/T5sOO13I8H+72kVlz4/UMYU4LbPgYhIa4sZp/xOvNb07MpP4GZxef+LdBbXwdqsud4NIaZPHvXwj4ui5SvAPgceBQpGpP/b/hd2mLKISKOG41SwlqJdcl1ExCFfoCTmgsr2znyPUghuypzXyWOf2gPoC1RdY9ZmdS0eNjuGa+Q5/caX48Q0msmHKTy0QbXfp0Nz3kJqca46HYpjfTo5jD4I/MdpKpWSVAqfb9PT0xJFUZdf3cjIiDz88MP7Pfy///u/y+c//3n5+c9/fkjdPKotCDt27JC3v/3t8vd///eSTqcP/IVVcs0118j8/PzSvx07jph7i6IoiqKIiMj69eult7d36d8NN9xwyMcsl8vyh3/4h3LrrbfK4ODggb+wAke1BeHee++VyclJed7znrf0syiK5Ic//KF8+tOflu985zvSarWkVCqBFWFiYkJGR0eXPe7+3tIURVEU5YAcRgvCjh07pKfHRDzt7/fS4OCgeJ4nExNYGGy533NPPPGEbN26VS699NKln8V7k2X5vi+PPPKInHjiiavq5lH9gvCbv/mb8qtf/Qp+dsUVV8hpp50m73nPe2T9+vUSBIHccccd8upXv1pERB555BHZvn27XHTRRc9ElxVFUZRnMYczD0JPTw+8IOyPMAzlvPPOkzvuuEMuu+wyEVn8hX/HHXfIVVdd1bX/aaed1vV7833ve5+Uy2X5xCc+IevXr191P4/qF4RCoSDPec5z4Ge5XE4GBgaWfv7mN79Zrr76aunv75eenh5529veJhdddJG84AUvOOjzOW1HHG9Rk7MXQOyjTmf7Jyy2jVJTGyGfg7WoeWdIi9tQLC195nS90w3UpnfPGr+DZBtu690KTcnvtuL7pzANqbeAbadFfgacz8Ai8Titq9XmUtce6Zt22lbyQfBqFFvPGV+t3Z0O9qHWwtj6B1tjS5+78gj0o5Z7dtbIS2MBpnztcXCcAvJfKDgtaxuOWc5BTdTOmeAJHodTE7ciM44lKtm8QCWboxrdwvbY0FPMyVCa6YyZ93wW/QYGs+hvMZI1WumaNOqmIwG2ez38bmDlmuASx+yP8UTNmEQfmcb0ws0dqHkXtpv1lN9N11bBdpTGNWPfw+ybkc/gvK9JGx+EYR/TnxfJbyWw1jj7HLQ57wGVMd7aNtf+0AL9ZTiFf1mmZ82xvCrloaD7uauEs4VDJZyF/oJ1CuY50xnEuaquo/LbG831tDfgejp9AH03NqZNrgMug80sUO4M2z+j2lq8d6L2of5Jf3Rz9dVXy+WXXy7nn3++XHDBBXLTTTdJtVqVK664QkRE3vCGN8jatWvlhhtukHQ63fV7c5+FnX9+II7qF4TV8D//5/8U13Xl1a9+NSRKUhRFUZTDzjOQKOn3fu/3ZGpqSt7//vfL+Pi4nHvuuXL77bcvOS5u375dXPfwuxQecy8Id955J7TT6bTcfPPNcvPNNz8zHVIURVGOG56pVMtXXXXVfiUFke7fi8yXvvSlgz+hHIMvCE8nqWlXvNTiW1hQNjPodnA24wBNh82CaTcGyaw7gubKzQNYqWxTzrTbFG+1s1OEdstK+dwzTpXgdqCJPrvTSBnuPJnwGlT5jNOt+mZZcHXKJEXtzApV5QinY8yiXRIDhVO6jQ5tN30KKhj2FJZxGVeqZpwer2FoXGkDmitLI8ZceW4eS1duCqagzamXbcmBQyLFxTFuJNhnm2oHzbqTNWPKLZVQSkrmcPz9Oo65vYQgjFFEvBDbQ71mjZzQiybgzVlMdztsyQgDHqUEp2vlUNKGJaHMRNj/+QjnY0/NyGgLM3jtuQm8VruyaGaSUhNTZdF2hOPvxFbYbIDrvzeN5nFbQumna0+RimbLCiwpzFIV2Cc76GH+0/Lmpc+P7saQttwuvPbMtLledwGlyaRNEoPVD8enR35I67KAY94eMvo4SwrzJ6A8Udtkzrt+hCs04nrKWtJMmdbAfIThlE/WMZX6L2eNhDg9vti/uL58aK3y1NEXBEVRFEVZLcdRuWd9QVAURVGU1XIcvSAc1YmSFEVRFEV5ZlALgkVhRyze3rK26RmjYXot1A7bedTeIkuIbPfgvgNF1CxtnwMRkdGUCaGabmMYV4fCoNy6OW+wQOWQS6TBLphQs6SGGqVElJo1QB0yyRhNPO5FPbDVTyVerbHgcFD23fCr5rzhPPW3sXLopWv5hPjz5IMwj31KWe1wHueqtDAA7TuqZt/ptai/Pr+I2uipKSz1O+yZkDcOc+QSta3E9IM11u21PmiPW2m03d10bXM0xiQ322WMm5w2t4jz0Z8xa+SUHKa7PSW9/LV2+RzQn0PtBMd8QczYlOja6+QbUKqbMXcX8PGUmqPyyfPWPVrB9eSQ3u9m8Fj29CRU7rkvhWGaQ1bqX7s8uIhISKmKI2ssauTbsyvC+/tntU3Qvmt849JnbwvOe2EHpUefNPe0U0P9PelQOnTHutgD+Bx0hjEmv2L57MxvpvDiE3Dxja4zz7aTe9F/J+/hmpnumLGYaWFI59YqlvneMoPt+m7z3dzOxbUWNVdI+X6Ycfb+O9RjHAvoC4KiKIqirJbjSGLQFwRFURRFWSXPVJjjM4H6ICiKoiiK0oVaECwKW+vi70276tWMvpb4+B4VB6hN24JSnEYtzNZ5RdDnQESkzzex9azd2mWLRUTs6s/8BuqslE6VM2xRLHTCZVyHjMZXW4Mx+rUR7GPTqjpN3RcfL10yU6Yf3H+3Rj4J5IOQcO4G+zxljK3PLZjrCcuosYZlvJ6FirnWn9Y3wbbKRty3SaW8T0/vXvrM6WIj8kGwtfcdDdRUt82hD4JYfge5rjLGpK1T+oVW3ipjTGmxGwM4765l5+ylctWjPq7TIavUdc7FPkQ0lw269si6QQLS8Du0aOxy1n4Nrz2osk+LOZbbJGcMLmNMgL9MCgexL8SFa5fy7sp30ZVO2fRxlvwrHmui1v6jmROgPbfFrIOBJ/EsuZ04P96c8QlJGpQDgHyM7PvdyaBvQ6cf/SIq6ylPyElmLhsn4T24aS3mzjipx7SLAY5hicpX76wVlz4/OYf3Q3kcUzqnd+O67d9txjg3vrgGOm3yu3g6UYlBURRFUZT9coz8gj9UVGJQFEVRFKULtSAoiqIoyio5npwU9QXBItgzJ767V3e2NH07L4CIiJdHzVvsPPseznxPiPoga712XvtmjJplL303scr1drK4byeLU+lljdbocBnmDJUXHkR9cGGD2V7ZiBprYy1qvale00eWfSvzOG6drDmu18L+BiW8HhclcChhy3HenOfBqRn9M6QY8WIV47yDuvFRKLWwvw9FY7IiVkqFzSmM++aSznvaRl/mvAcL0+gnUbDqbBR2oZ6cmqXS3OQAEPaYcY3J14R9KGYbZt4bVIaZ+2/7HWR5orkeAdUgaCamzx49Gdsxrs1W0/SDfRD8OvlfNK11wCXKec27eKzYulyPfBB6fFwzOSjrLStSsy5vPMK19qvaOmg/tgfLWee3mT4XdqJPjj+FZaaTiuXzwuWd6VrtPCcx+Rs1RtDnYGET+a1YfgenbcTcGGf2YrvXN/fhfAePy7kNHrWuPdmGfSpux/4XdlMp+AnTJ7+0eK93ouV9lA47x5EPgkoMiqIoiqJ0oRYERVEURVklKjEcp8Rz8xI7i2ZwxwoRY6ui26JUxXaIIUkMOR9NhQWSGOz2IIV8jWXRzv5w0Zg+G2Quro1wOWFjtnbJDN3qxWkvj1H7BKuM8QkLsO35w+PQXp8xZV05TPPRBTShPuKa0ss1Ck3MzJCMM7vC0qRytgmVjk5aZsw5ZbPXxPnIWyWoJcHwqtjDPj6SwhK8+cCYNd0eHOMspZadbJlj7ymj6dmfwbnLTJpjZSbwOP4cxY5y2eyGMe1GIZpum304P+Ojpk+7BlH2KKfRRNxOrPOuUOJYRCRYwX4aJbhvtYNj3K6bsaAIYfFreK1OyzI9x5xql2JuGct26lLYZspFkzaHZtpElE65akk1451e2Mb3QzyOIYe5PaYfqUm8eKeMYbSxvY7p2h1at3Z65agXz1mlsOXaeny2bV5npLPn92+DbWtDLOlsS6Q7GrietpeK0E62m7XZ+xh2t3cLrvnUOMorzryRZZfkxQTv66cVlRgURVEURTmeUQuCoiiKoqwSlRgURVEURenmOJIY9AXBIq7WJd6rN7qWbudkKLUyTa4dQuV4qAdmPNTAuVRuwbVCqmg2NqZnoL1+YGjp8+NjqCW6LdSx2znSIS2a/agDs+44vNmc9wUjW2Hb83LYHvaNPthIsA/DIWqHFSuMcGIK9fzcHirtO4HX58yvsFQprC5pWxNEKahjLgNspaHOBRRyl8c0tK0+7NMTvSbOkdPzDgSoGU+1zLEqdfS38Ks4H2HFKmNcxpA7p0zCPIV8elbK2QylCM/1oE/CzJBp/2oQQzpPzkxAu98Kx005uIZD8kngZMQtS8ksx3gvTTVwjJ2ymWcuaR5U8Fqdhrm3HApzTDzyQeAHst0mv4iY2tEKSiwFGErD8sOZ7eC1Tdco7fc8Hjc1b11PlUKcyXemK52yDYU5JtazrJ2n0Fd6FviD6CN1eq9ZByemcE30eNjHXVYo73wb57k8h2uvxw7lpZDO1C6KcZ5BX4fYCvHcF/IcJzwTTyPH0QuC+iAoiqIoitKFWhAURVEUZZWoD4KiKIqiKN0cRxKDviDYJLGIcDy1iFC55K7yz5bc74eoDeYoHj5HPgh2GleP4rHXBKi9ndxjYpJn1qCmN5dgzHXLinlPXFyNUT/qdWvHZqF90fCWpc8vyD8B2zYFWOK14JpjNSgPApc83tZnNPvdIxgnXR9EXT5XRL0/nLc0zTZqlkkdr8+xVXD2T1ghTbO7gPprZpb6MIc+FgtlMwdzfTgfHEvfsnL7RhHpviQnux1zPU5n+RwPiwcm7dXysfBncD7ye7D/zX6zcLcMDMK2n+Y3QdtOCR6GmAvDXgMiIi2a99nIaPG7mjjv4wuYeyI1a76bLuHAeBW8dshxweV+KdWy2ybfE+urUQf724zxsWjn92jTg5012ti6ds4L0mxTuW2uUG3PO+f2oHUMuQ+4nDunwrbGIg5xX8qILIUc+hXY5ekH/ApsC7q8TQyNDuVlqVMp+7K51nCe5nUBzxNTKvW4aT1D9+ahSJIjWO75OEJfEBRFURRllThJIk5yaCaAQ/3+kUJfEBRFURRltajEcHzieJ44zqIpzAmN+ZWrOXKoUNuKXsplUUKwK5yJiKQdtCsGjm06RDNZ0cOQtnUpIzmc0IchVE9wCtte02ePQi9HezAE7+yB3dA+LWOqtI36JdjG5uSs5W3jUf+HfEzTvDlj5ImBQQyBXBjFsMzaBLa9ijFFe2R+dR2SgGwzPL+ps/nVDgnjlLUd/C6bhG3TdCta+VbyrXkOAjTNRhSRGqVMnxIKvXRZ7mLTs2V+dcoURkdjWugxx26SpPPTnvXQ7rfCNt0CrScfw9LYtL61ZeSLh8sY3lqZxNC/olUUM02VK10K/ZOGudaE5tlps8RAckXD7B/Xce5Kbap4aIXvRpRW2l3hSR84eM5MiNdTwscKmP+TgNYTVeYUbwWTurN8cFrCm1a4HUTw+jy6Vs/BdWBfr0vbuvLVHwpwffvO4xwzv3SPJfQFQVEURVFWiUYxKIqiKIrSzXEkMWiiJEVRFEVRulALgoXbUxDX3VvuOW+00c4ghmLVhild6aDR29bnMUSnl8o7sy5pw/oma3xpSwTvC/G4g3n0Kwis2DkOn+ynOroZF8OM7NSy1ZjCD8mHQqxwPi7l61HI6GBg/A429mJo5b2jWAK5PEs+CC0zH1nS4d0S7us2rOtpHyAFa8p8N87itUYZCmelyC3Pt8pi+3geTrFdDMx8FTLopzJFmn6zx5w3m8c+uQskXHPYoxXulzTwPG4J12Z2t7n2QoHCZvM4H/83dYIsxwmZKWizD8JDVVPm+5EpLHmcptDL3KRZt8EcpZmuUfphe25jjj+kNdKgEs41s79bxf7ONNEvohyZWMA2hTjz/Zy2SkP3U1jgcA7bk1bYr4hIfcD0I01hsz7NJfjWrJR2WQTGxm2RXw0dttrAe2muY/rBz4ICPVfSVsg2P5/cPIXC9phnaKuX7vUeSr9NabQ9yx9jn++Jm7RE0K3paUMlBkVRFEVRujmOJAZ9QVAURVGUVXI8WRDUB0FRFEVRlC7UgmCRjA1J4i3qbO0+oztWxlB7K28krX2N0f835DE9cq+HvgExBSLXLGG7mqAWN0PlYsuRiVWvR1TeOUIdtRNZKV87uG3WQX1zi4NaqO2DUElhfPxIgDHvRev6OMdDO8HlZfskjGXwONtGMWfCTB1T8iaepVkWUCNOU0rkoGx0YI+0Z851YOcZYC20NkDln3vxtT9r5bzoDVBz7fdx3m3/kdEciqWT/Zgmu2GlnW7McD4InDuXUi0ncd1u4DbS8P0Z08f8blpPBTzvRK5/6fOPSXue6EF/hQ6t8SfmTB6E+k705+nbjWOamTI6tlPBMU0alAeB0yvb+5Ju7TQp/0jdSklNPgilJuYfXrBKVLfp2jwXz5O1fHI4P8SpBSyX/NiaIWhX1pqxSc1jH/K0jl3Lr4B9TTiZgWONU1DD44TzOO+lOTzvlqp5NmxKY5r1IMBj2Wt8XQafg8ODeH9PrjNrPKiQc48UoZViP5yatUb2joMTNY+YD4JKDIqiKIqi7JdjRSI4VFRiUBRFURSlC7UgWMw9pyheuGiubhaNma62hqohbkDT55lrJpc+2+mERURCCoNiGaEUG5MxSwrbW2j631Iz7e1lNMFPl9Hs3qhZqaLb+B5YorSn42k0ET+WMabPvixe63AW7XijadMeCnFbwSOTsEWPj9tO7Z+E9qP0ij5dMH2sj6BJkqsshmXT9quUHpaiAu3I0jYOodSHcKA6Q/jl4YIJWxsIUFLI07WnLPPrWJbklT6cy/KQmbvUHFXBI4khRSmE7R53meRJcnAs03RqFs3U2Ql8NLR6TXt32A/byg00AccxrreqlU45vwu35SbRTO2XTJ+dKkkMLKfYlTkphbYTU+gfyRF2qmWvjt9doOuZt8IcWwf4myptrdtRD83qZ2Z3QXvLKN7f955gzjtfXz7MV0QkY4U5unxDN2mRW2GQXBEzO43XWhvHeX90yDwLWBbM5XHNFFwzd2tDlBieO4jXfteJ5h6d84qwrVXEa09P4/1th6juiwTvtBsij8mRIUm6U7g/lWMcA+gLgqIoiqKsEo1iUBRFURTluEYtCIqiKIqyWjSK4fhk6sJI3MyiXucWjN7ZX0R9+cQ+9DM4NW/Clzi9ql0qVkSk1EINebpjQpt2NFCL3lHF9njZ7Ds/j8dJ5lG38yvGOMQaq9MVHYbf7QTm2HsyGIK3o4ChWW6PGadiL47T+h7ULNdlS2bfANM9b8rOQLs/xGNNF41/xsQ6DJWbrqA+W6kZXTWiECqnTmWArbGgDMESU3rYngHsU1/KXENA4W6cZtpOm91P/gprelCrnh+x0tuWMYTTr9P1ROi3ElpavFOhC6LQP9DtO1S6t4btcN4qbT2DfShTHyTC9ZaatFIIT+GTMSzhYnRqVglnSpOdcEphO2SVUitz6mWH2m7bfJeyYkuzjY/FWmTWE6eRZhOsPf79dOCTw3Fov5BKts9vMr4OjzfXwDavRfPeMWs+Q3PH1ypWeXS3jH4pmUn0QcjvwPZcj7n/70tjCfC8hz4Ip2VM2fgihXefndsB7XCdmfeH8qOwbfsY+VeV8B5wGtaox4vjHddF5OtyRHBi4/twKMc4FlCJQVEURVGULtSCoCiKoiirRSUGRVEURVGY4ymKQV8QLF589iMS5hf1+IIVp88x7pxG145xZ41yW3MQ2tvrGEO+s1pc+rynjNp6ZQHTnsqCFd9fprKzC6j7BpYrREC5APw65QZoL79aYx+P287i9TWLZgmVh1Er/OUa1FhnR422/pz+PbBtM5UM3pzCtpc3ol2D6i7PR+TX0bb8FZrkr9DAPs01zBg3WOeluzifwhjy2CpvPd/BuUqRo0dgOTtwieDBNPqtDPSb9vQY3qIu6eOJi5pxNmXWRThHZbCb2KfE0u2jHvJDSeO828uaK5Y7LVyLThO/69dM205xvNgnyuNg+Ul0rUr2M7BjySkPAqcbTrgNCSPwq1GE57Hv6egAqmxgZaIIqE9jHvrdnJPZBu2alf+i1sa1ON7EMtlew3oWNHD9B5Tzwc4n4dTRbyCYxj4VMpSyPWPOsyuFz7J7AkpfPWjm7pQ0+luMdqVoN+c9MY33+sQA5mWZalHK+bZ5zsR7x7tdbQl6OTyNHEd5ENQHQVEURVGULtSCoCiKoiirRCUGRVEURVG6USfF45OX9/9SsoVFDc614tg9ClptxKjXTlm5DLY2UKd7YB7jmbfNYoxvbcboh34JpyNVYS3X+oxp6sWv4Yqz85WHFdR5/SrF7FMpWcfWhTm8PMQ+tq0SydUZ3FauoU/CLre49Hkwg7r7SRmsxbA2wFzu/Z7ZP6QcA5HgONn1LmYpRn9XG8ffnq9tNfQPmayh/0Kjg9e3p2q00nILr5XrW9jloFMujneKciiM5E1Ni+YoasJlB68nylDNBMuXIEXriX1PoA5FBie6MYBjWh8y3+0UyQkhoKDuGPtsV0imTZJ45Bvgmx0cnx5PEZ3H1vg9PLAT4j2apLAdpc3+MZ3G8556kLpr9SkQ7FOR5n0TlYNuZ7csfS6P4Hr6F6oPUa4Ulz6HZdzWU8HvenZtBqrT4M7jfZjpmg9zD8QBDtTj/giex3pOugO41k7PYC2GId/k/ugqi53CcWvTOHIZeRGRWjmSb3b9VDlU9AVBURRFUVaJSgyKoiiKonRzHEUx6AuCxYnBtOSDRXtowwptKsdosislmNr3iYYJQbpneiNs27YLS7qGu9HU2TNtmSTLFI7YoJCwjv2ZUsdyu2nafp0lBgxPcqsY+uQ0LDMkpbf1KNTMK5vwPpdK0sY+XmuraEyhk0Novm/3oRkx7WAfB1zTxwKFrHEoTiMx/R9yKYzLRW0mtuzfHBJZbWH/Z0t0fQ2rz9SJIIP97y2Y8w5kMUy2mMI+FUPT9vtwDUylca6melFyKFmhpl4Zx9RrUCigRYxWaun0UBnmHjOmPVnsAz/qqiHeL62qabcKFDZbwHA+r2rWk0eSQrfkYK1N2pZk8II6vdSnHjNhnTyFs4Y4d2mXcjGvgGfpNh6FOWadgPbG454QzC59ruaehG3TozjP37dCoKuzeG3pGWrb6ZUbOHfcdmdxc8a63/s8qofu4P3xiBg5NUloraHyKs/J7Fz6POqXYFuR7tGAJF7XWnH7whwrLHMphwV9QVAURVGUVaISg6IoiqIo3RxHUQyaKElRFEVRlC7UgmDhSrKkb9mhczMUKvdQfQzatt/BticxJWr+SRzi3C7UytJzRutlXwF+y7TTxSb+yqlkV9oW+5Qal9p2mlqH0zBHqE27NaNvBgsUpkntwNLEyxS2VaPQUSawLiHlUJppCoPCVMY4prkYw7xsFlqYLnlmFufd34V9zsxb40QSaCdD/gt95tilYUyNu2YAw7w2FEyI54YcisJ2yWwRkWoRzzPTNDrxQhO1aE7faxN6OE49KSwLbPtFpDxcA+U2jsv2AENJpxpmHTSo/HZQwzXixGacQgp3c+vL+wIktIajPI5LfRDbtRGrfHU/Xk9/FjXw1Ao+CKx8R9ZNy6Pt0zrN0m3XL2Ztnhhg+uHn9WBa5ifXGN+mHRP4PMpO4JnDkuXXUcN5Tep4rUkNfXY8q7I9rloREfRJcKx7+NEO9qnewT5VhsyaOTe3HbatD7D0e9HBPts+Cd7e8WY/hacTlRgURVEURekmThb/HeoxjgH0BUFRFEVRVov6ICiKoiiKcjyjFgSLySgn1WhRJxzv9C79/P76Otjv/06dAG3b76DnERzS3i2ob2bGUU/zylYccod8EHzULOOs0fg6OdT0OjncN7LK/iY5yl1A+/oZ9hUwx3ZrpNlTKVnxrPOQrwPrbHYehw6V1K1FqBE3Erw+2xUipiQj8Qr6I29pkQ482zE66q5yL2zzxlFbz6MMLNlpM18u+Wp00nh99UHTrjbQ12GcBqo/bXTgTVnUY9eEJWhzvgi7NHH3GNJ6snJAuDSGaSpXbW/n40y2MK00U22YuW1UMdeER6WiY8/0OeyhPA6UztpOFR2FeJxWHtcip46urTHXkxlC3X0kU4Z21l3eb4VddGBtLu8WJCL78Umw8iQMenjOk0Msn3xOv0ldvGMt+nxUx9FbwM6LkFmgMWzy/Y1t2yfB9kcQEcnRfeh0jM+O28Jnyq46pmX+zmbTj4kRXBNnFTAt8wkh+mMMWGnXg73rtMppuJ9GHDkMPgiHpSdPP/qCoCiKoiir5TjKpKgSg6IoiqIoXRzVFoQbbrhBvv71r8vDDz8smUxGXvjCF8pHP/pROfXUU5f2aTQa8q53vUu+/OUvS7PZlEsuuUQ+85nPyMjIyApH3j93106UtLto5tvZNGa7+2exIuOOrZg3tPCYGcbeJ9E0m9uG1dLcOTRfgomPUrNKGk3cTmBMkolHaYwLaK5s9JljRemVDVpeHb8bWhJDagHN4X4NZRDH8sbtZPA4zQKFnqWtEDDqEputq5T7t2pVcAsSHOM0efxE1tt5NcY+cHXHCcs8PjePYVuZaexkfpzOO2HkIZcqYiYUohdWrOsh0/98Fs2+U31WP1D1gCp4It2V8EIrrJNlA1tSEMFQ3oj+VuB9bbmiFKEJm+euN0AZrZAx41Qv4rXW21RlMWX6VG9RhUY251ubowxubFP65LgHpZhcvwnv29CHlUMHU3jPepZQVaN1WXYwVXFgST4ur1Na8ywxBI5p5yiUd9TH58ZpmT1Ln381jCGF28Yo1fK0mbtgAdd/0MJxSSocr2uugUMg+a/LbGyFH7boPFVc8+UF83z9t/WUun4Mn6+nFFFi2JAxob95b3GtNeodEdkqR4LjKczxqLYg/OAHP5C3vvWt8uMf/1i++93vSrvdlpe97GVSrZpc9u985zvlH//xH+WrX/2q/OAHP5Ddu3fLq171qmew14qiKMqzluQw/TsGOKotCLfffju0v/SlL8nw8LDce++98pKXvETm5+fl85//vNx2223yH/7DfxARkS9+8Yty+umny49//GN5wQte8Ex0W1EURVGOeY5qCwIzP79oTu3v7xcRkXvvvVfa7bZcfPHFS/ucdtppsmHDBrnrrruWPU6z2ZSFhQX4pyiKoigHwkmSw/LvWOCotiDYxHEs73jHO+RFL3qRPOc5zxERkfHxcQnDUIrFIuw7MjIi4+Pj+znKIjfccIN88IMf7Pr5/9lzuvi5RY1xzio7W5tAjSy/FYetZ6vRfbM7sZSvO4MvH0kFt0PJ2oDSznIJW8tHoZNF/dIOoxMRqa4zC7BdpNDEkHTGNoqjXsUcO5jHPoSUPtmzykpzmGOL9PN2r7nWfIDaZyvG47LOPRWZOYgT1EJTDoWHWtr6PGnGMx3URqet1MRRFfvgoxQtQZnKZs8bHdupUwlkClFNR7avBs5Vsx/3nRk1fSoNdCe4tekhDbxgpQVOHSCWyg7Ra1PgVY3nw1oy7K9Qi3CM69HyKZ3dEMcw6sW1Wc9Z/eD+U0lfL2OOlc5geF5fBv0g+tLLl9TuD3E9cVijXe7dDn8WQT+Oxba536MEj1N08ZcCp1q2CcgHoejiOG0KTczhmcU9sG3nuiK0K1bK8LCC/gn5FoWdUj+SqjVuMc5d0lUq2lxfuk1l4mv4DE0tmDVTmUE/lKlJ9B/bPYJhnD19Zr56985zp9oUkTvkiBBLd/z0UznGQXLzzTfLX/zFX8j4+Licc8458qlPfUouuOCC/e576623yt/8zd/I/fffLyIi5513nnzkIx9Zdv/lOGYsCG9961vl/vvvly9/+cuHfKxrrrlG5ufnl/7t2LHjMPRQURRFUQ4/X/nKV+Tqq6+W6667Tu677z4555xz5JJLLpHJycn97n/nnXfK7//+78v3v/99ueuuu2T9+vXyspe9THbt2rXf/ZfjmHhBuOqqq+Sf/umf5Pvf/76sW2eSFo2Ojkqr1ZJSqQT7T0xMyOjo6LLHS6VS0tPTA/8URVEU5UA8ExLDjTfeKFdeeaVcccUVcsYZZ8gtt9wi2WxWvvCFL+x3/7//+7+XP/7jP5Zzzz1XTjvtNPl//9//V+I4ljvuODgry1H9gpAkiVx11VXyjW98Q773ve/J5s2bYft5550nQRDART/yyCOyfft2ueiii450dxVFUZRnO4cxioF94ZpNlG1ERFqtltx7773ga+e6rlx88cUr+trZ1Go1abfbS/57q+Wo9kF461vfKrfddpv8wz/8gxQKhSW/gt7eXslkMtLb2ytvfvOb5eqrr5b+/n7p6emRt73tbXLRRRc9pQiG8ccHxc0sanRezbw75WcoHn4nCkgZOx5+HvXMrnKqLUptar1JOiuUbBYREaukbStPqXyH8Y002WDOe8oI5kgdypC4Tsw2je49XkaNcqGMmnhk5UxwIipB7eM4BT3m2nMh+iA0I1yKE21Ke2zF9Fc91LxzLt5UnhVDtBCj5jpPvg0NWy/nl3qajmSl6YnxWp0Wtt2q6WNYQs01NYfKb2nO9HnnSBG35VHLbZCfSq+YcWU92eM8G9YFc8rgRoLHtUueb2tinPpjVSxxvq2MmvGctWbiDpUaJ38YN2+06wz7FVAZ5uGsyQ0wnMY1XfTJr8BbPl0yp/nm0uOluun/DgcfsAMB+hRtTJl7bVOA912bchnY5Z1FMNUyk6a5G/LMsc7I7oZtW0cHoP2rsrme+SZemxOjT07Ww/nx5sw6YD8bO0cCt50KzlVAqZA9K29IUKa8DbO49mqTeL83+s01VPbmu4gb6HPytHIYMymuX78efnzdddfJBz7wAfjZ9PS0RFHUldtnZGREHn744VWd7j3veY+MjY3BS8ZqOKpfED772c+KiMhLX/pS+PkXv/hFeeMb3ygiIv/zf/5PcV1XXv3qV0OiJEVRFEU5mtmxYwdI3KlUaoW9nxp//ud/Ll/+8pflzjvvlHQ6feAvWBzVLwjJKt7S0um03HzzzXLzzTcfgR4piqIoxzOHM5PianzgBgcHxfM8mZiYgJ8fyNdOROQv//Iv5c///M/lX//1X+Xss88+6H4e1S8IR5rcDk+8vSly7Uin1DyuhvQchfBUjVnXaVLqUq4ydjCmKZIc4sCY/9pZCinsw/OcOGKqAP7a0OOw7aQULrS0i31eiKxKa0No6t9WR/Pyzlpx6fNsg8z3HaoS6VnmYx/PWe7gm7Od6loEzb79PppF96Vb3UfaMZPXJlN5I0YzbmiFj7k5NJk2i7hvYwDbvmV67rqRuOqlZSL2mjhXYRnXRGCZdbeVcBweyeMDoehRWK1jzNoFqvTo0VPNlhFKJMVsbeE8P2BVNP1VCVP7bp1Bs3u9hMdy7FTeLNtk8V5KpUyfR3vQJH9CAU32G9Mm5e5IgCmnCx6auDl1tC2ZzHcwnfj2Ko75nqp5gDfbONMZksrWF0pLn8+mqoTnZLEc6An+LLSHPHMsDnMMaOCK1gPqhBA92S/o2wrt8kZzb22NUA5KfKoKm0EJKzth7rughPcZV3qFZ19XpUecZ7dsjpWKcF+vic+CoEb3YcmSWvemc4+aR9Cd7ggXawrDUM477zy544475LLLLhMRWXI4vOqqq5b93sc+9jH58Ic/LN/5znfk/PPPf0rd1BcERVEURTmKufrqq+Xyyy+X888/Xy644AK56aabpFqtyhVXXCEiIm94wxtk7dq1csMNN4iIyEc/+lF5//vfL7fddpts2rRpyX8vn89LPp9f9jyMviAoiqIoyipx4sV/h3qMg+H3fu/3ZGpqSt7//vfL+Pi4nHvuuXL77bcvOS5u375dXNdYUT772c9Kq9WS17zmNXCc/TlBroS+ICiKoijKajnCEsM+rrrqqmUlhTvvvBPaW7dufQqd6kZfECzCcrKUOtjO3munExbBEsddUJhQd5uDz+wDH0BHs3RsktYlSeEr6ZAV9rU5heVSTw7RB6FAPghtS68tx7jvyeS/sDVrtOodDdSi9zTQf2GhbbTpdoTjMN9EHbjWwXCsSc+YxbiccDHAkLYe32xn/4qYtNw+K+XuUD9q3hPrUft0KRQzDsz1ZAq4b1DG84q1ZhKfUlvT+grnzPiXJjDM9J70Rmhz2uOpjNHLBzwqNU5/ttili3e2cO4erqCvw4PTJsRqbgKdqoIpHJdsGa/Pdn3oZPFamx62XSsdcV8K53V9Gssyn5Ay2juXwQ4o/TaXabZ9EKapNPHjs+h/UR43c+CVad1S/3f3Gf+F3WO4/ivD2Icoj75BnmPu036XwgJp3douSGvp2s/ObId2e9j0OXRxXB7PDkG7ReW4a3tMn7NTuMZTJTxWULX8eerog+O0KQzY/gVJjz2X9vWreJ7QdmnZW849ah0btQ2ONfQFQVEURVFWy+Eo13yMvM/oC4KiKIqirJLDUY3xWKnmeFSnWlYURVEU5ZlBLQgWUeiIhIvinmPF5nIK4Q7VafVyRptzmxQDTvG/Xc4pdrnnA6VatnRsktZFOpQXIV7e1yEgLTpL8fGepd+mHUqZStquu0Ld0naCfbD7VGmhHltrUzx2RCl5rT6mA9Q3CyGmgB3OGF+CkRT6FeQ93HcsXTINzFAroYfXujOL8fHNormGzCT2Pz1DZbKrZpzcDvm00JJIlcwPol143B0xasazVcw98asek6OgN8S5c+lElbbp/2QFdfi5GWwHVjx8zwSutdQsHtenPA9RaPavD+J32wWcZ7uP7GsyHKDWbvsdFF28VqYhOI5NKx/Gnhr6VJQn8NpzVnn39PTK+bibfZZfRwVzDnw/xmtNjeE67nHN9QbkV1CkZ0Pa8lfqJb+CTQHmV/ByZj56KT/EWG4ttB8awHS+k2NmbKpT6BcUzlJOkQXT7srtUaNnjJWK3KGUIfTYgPUjguXS92XJ5oLvTyvPkJPiM4G+ICiKoijKaklEVvi7aPXHOAbQFwRFURRFWSXqg6AoiqIoynGNWhAs6oMi3l4XAtvvwKdKolEKRbLYt/R0D/WygMq0OtSG8s+cX4HarlUiNaxw7Dz2adu8iWt/tAdj2jk+XnzMY5+zRMGIk+cTdhnmLv8E0rxbsVlu7HOwUEXfjXYTl2Zi+SQ4VEa6RGWBa21LK6U6KKkMCp6DgfFRGMzjuIB/gohs6UEnhceGjD/A5DSeqDaBPhbpaTM/qTnS7DHcX4Kq2Z7bRdvKOC7tcaqVkTP9iNNkB6WpdFrmB0EFN/bMkeY9Y/mAzOIY2vHv+6OdN31uZ0lgpiUf+mYNcX4LrjtRsDT7LAnZnO+CKVv1RqaqWH8gIP+R3C5rPibQ+Ydj9lu95rsereHxANfPPRnMabEmLC19Zp+KNNXVsH0Qcpw/xaX5sWo+FLM4puvCGWifkcccEFusNb51PeU5WcA1v1A2uUziBapbQvkj/LoZG6rW3p1lkKbSeows5YOJGgfw3zqcJHIYfBAOS0+edvQFQVEURVFWy3HkpKgSg6IoiqIoXagFwaKzqS7x3lSwcdsyiTWo9Oo8msvaBdPupNG0nPPxuyG13QXL5Nfi2EXEtcqppmZx3+xuPO90X3Hp8w/Ck7G/Q9j/0zK7oT3gG1N7QAFEbcHvznTssrkYclelEs71jjE71poYMtWsYtup4tK0zeFscqxl0JzZtuYu5aO5tT9EE+uGlDGxDlNo2cYQU1Sfkh6H9pl5S8bpw/CwBwexPb7HhEi2KXQxh8Mvdkbh7DSOfxYrHksU4GDYIWF2eXARkYTGzbZE+5TuOagsLyN4NZIUOmgTTkiC62RMOyEJjlOEFzPGtD4c4nywNGaXs06TXbpB5Z1j+luoEpm1WamhvBXOk7wyZ0l7UxQ6SuXd/Yo5buLg/dDO4Zp+rA9DVh8pGClwU4Brr9fFNNNpq4suyZY5ulbPStucdki2Ifv+BipBfUbaaFwzBQz/5FLwky0jOUw0MUX4ZB3bpYaRIyoNfE60WiThUnho10IWkbjW6PrZ00YsXc+gp3SMYwB9QVAURVGUVaJRDIqiKIqiHNeoBUFRFEVRVstx5KSoLwgWZ2/cJUFuUQu3yw3PU/rkuQpqi+V+o6e1qexvJ4Paej5Eo03a8klwF1DfdNqk9Vo+CmEJtcPCLtLtQjO12zuoh09XMKzr/oExaG/IGr2TQ804lNFOp1xq47jMtaiEsxXayDqjNLHtVXGc/JoR/agLEqUpfW9kzrsnxJ3tMtgiIiemTZ+yDo5p0cNrXyslbPtmnNaFqN2uSWPo6N3hpqXPjyc4H34N10hq3jw8/Ar236eQQpf1f2soEi41zrqp9YxyIirHy+V57ZTgrJ+SX01E7XbOtFsUduoWMUR1Xa609HksKMG27tA/O8QWj9umODIO161aPggcUpvpCju1yhhXUet2mth/17pn0+SLke3D+2FmEtuPjZrUzGflMK33qI8pw9OJOU9wwFBkK5yVxqVANxOnVu/3zPVu8tEPopGg80w1a9ZxOcZnZinKUds8K+Y6uG2+g+Niz5WISNMqu97cG/PYrrZkmxwhjqMXBJUYFEVRFEXpQi0IiqIoirJajiMLgr4gKIqiKMpq0TDH45OX9j8imb1pYWux0b3mI9TExpsopG7tMylUtxYxHWkpj7p8J40+Cj0po79lxkmHn6cStm1bC0W9PLObUjpbOl5QweNWpzF++f5hjG9+sN/EY/fksQ+9GdRgcwFqsDa2Vigi0urYOVLpDqMXasoWK5YUCp9F0D9BRMSJzPVWAxz/7VSyeVPWjMV6Sjs7LBR3TzW27bad9ldEJKDUv/XIzPv0IGqu1Snsk53LwI1wYDyad6eO48++BDYJlxO34+edFbaJiPhWLoMA11OUQx+KVh+2a1bejcYI9m90AH01Tsya+P8hD/Mg8PinV3hIR7S+2gmuxYrlY5Sw/wvlhHDt0sTsF0Q+CI6VHt0v41ylS6ilh7N43p3zZi3u7MPnyKYAE2CkHeOTkD5A3l57CfHqYN8Mj45l+yykqax0b1eRZXss8N5pJ9j/muW7VKW5sZ+9i9txPVWt7fv2rYcd+ZocGTTMUVEURVGU4xq1ICiKoijKalEfhOOTs1M7JZdeNKo0EmMStj+LiJTSaLbebZmtHylgCNvP8uugPUXhS1HaTEEU4nGzuynUr2TM2A6lZfbKaOLOWGFqQQVNdpkZvJ56P56nMWD6UabQrLl+NLGGvcaM2pPDPnCaYzvlaxDitnaIfYrJjG1bQsnSLG4dbzYnttMNU0W9HMorj+ZMaNmaEM3d/ZTaNyvY57RdrZI6NUoVMtenTRjkMFWNfCyPfeqkzXzElJqYbcROh8y8K6Tr5kqiYoVBJjROwvNhpbPu5ClNdh/uWxvG9VRdZ8YpGMOKjKcVJ6G9OWUkhgGq3pim6qB2+F5ED9w2GUcXIgy7W7BCcJ0mpT+nIQTZJqawUjqv0zFrxGlQGuYqzlVAFQ7LFdOn3c0ibJtMY6riNKSZxnXJsoEdiszPMsallNX2eXJ0ngJJDlk7nJIqTHrUp8iSLtoJyjTtBKWZBv0utdNoN/deW6V1BEX9OBFxDvEXPFfuPUpRiUFRFEVRlC7UgqAoiqIoq0UlBkVRFEVRujkMLwgHiDw5WtAXBIshry6FvbpsLCa8r0WlY0cp/GosmNvvZxGRoRD15rvTm6D9eMr4LEQhartRiLppbrfREsNZSstM4W5uxWwPG7jNn8fzpGdIU562yjIPok5aGyX/hTGjLVZcXPSpAmqWvSnjo5Am/4RpkserMf7AbZul6jUpNIs0Y79m+pGaxX3rKfTHeDhjxr8QoPaZIjE6DrHccz+lYl4JO0U1+2YkAeqnkZWiN0rj+HMpZQ7Rc2yNnHVOSr1s+x0klBI8yuM4tXvM9mYRz1kfxOPW1lCa4/Vm3k8ZxnC3U3IT0B71S0ufs6R5r6Ses+dFLca9ZyMM5S01jd7v1Ugvb5FfQXQQD3P7Fwf9EnHb2PYpXLdTN/Mx3cRQ2Il2EdqhtZ5cckzhMMGF2CqtTL4Ytn+CSHcq9bwVU8zl0Ec99LMZ8swzp9fFPnkOnift+NZn2NTlT5KlcMpmYo7dShZnPuUdI4kFjjH0BUFRFEVRVotKDIqiKIqidBEncsgSgUYxKIqiKIpyrKIWBIvAMWVjbUWLNb40xQrb8fE5B/X+glenNqUq9s3+vwqx7HIphXphJ2V04AKVjU5NUyy3lRfBIR8Er4mKrUvb3bo5r0OlVzk/Qbtg2vEAion5EDX9tVmjWboURzyYQV+NbSGmmp12TXrrxEF9OaH4/qCa7PeziEgyRXq5b+LLf5JsgG12emQRkbke1IU3hkZPT5O/QpV04Mm26X+1jXo/p522M89yKeuIchB05UXgY9vHpbmLs+b62nlKi92L7UbR9KPZj31qDOAYxyM47xtGjF/OqQX0OeAy2fb949EaYT+DtmWmLcXY38kI8wbsaNB6skqec6puv0mDGi+vb3fnlvDsjct+T0S6/wiNLH+eNq6f6U5eloP9CCbamAp+smnGYqqBx6l3cI3zfVkIzHNkLIM+CCdkpqB9Usr46Gyg0tD95ChUgFLdB/d3qr23R/8fEZJ48d+hHuMYQF8QFEVRFGW1qA+CoiiKoihdHEc+CPqCYDEX+9KOD2zu4opnrtXm0CwOifQy26EdDJgQnrSPZrhfpNZCez5tzIMRVYUskCk6PWGMbj5VhWTJQahCnWuliPVraLL2KKzOHoqQ0ievyeK12yFteZJaajGeZzRdhvYDKVNhcjvJD3UPpZhkykr5WsG5CkucGtfMd6OOptmfUIrqrUN43g09xozaF2LIY0yhsXusY+8p4XncxvJrrkPz2irgvHvB8t+NaVuUwXazYNqtXjoPZn+WVo8Zt6gX16mdbltEZKyIc3dij5FiRlMYGpdz8bt2muAGmc7b9FeXvX2KJIXHm6PQfqwyDO3qnJHOCrhMxa+j+dfpWO2VJAURqnqJj9eYZMGY1SDPXF9MslOlg2sxstbXbBulr60VXKe7rCqR5XmUDJM6/Qpgy3dg+vRAD87Vmr410D61aEKGT8/tgW0nhJhS205FXnBoPTkrm9/tsPN4r+BQiQ8g5yhPCX1BUBRFUZTVohKDoiiKoihdJHIYXhAOS0+edjTMUVEURVGULtSCYHFfY4Nk/O4h4RC2NGlmBddo/KypcupSe18RkVPTu5c+c2rfgo/Hui9tfBJm80XY1slhv/OW3pydwG3BPOr/Thv7mIRmf9ZNI5RCJcoZvbAvi9e2KTMD7ZNSxgehSKV8I9Lsx4IStAeslNU/C9fDtod9LLFdd025aoe0yRT5IASTph2SFt2aRd+G2X68+Imi0XqdLPlxeHieqGWuz1lAP4LU3PLlhqMQ+98s8js9tjsps38nR34F6PograKZu6iX0hoXcO0VMsZvJZdCH5aeFK6n/hT6YxSD5VNSl6LsstvK8fKlq0VEFmIzPztbA7DtVxX033lyBrf7U2YOwnkqI72SDwLjrpC+Oo33XSdLc4XLS9yU5Y/kcQlnKl9tfXm8jv4Xts+BiMjChPFdCqewT+E8pS3HaRf7tuxkcd3u7Me522756PxiCMf/pCKm2N6UNc+GkQBvvGzXMxTHIrbGYt9zo97oiAj6PTxtqMSgKIqiKEoXcSzd3pxP5RhHPyoxKIqiKIrShVoQFEVRFGW1qMRwfHLbjgvEzy3qzIFn9MAM5Scohqi1r0mbmN41IcZ5c/nnfg9TCtupZU+kWOEcxZf3h0a3/3l2HWx7vDAE7VZP2vqMAddZ0iH9KvkguFYsej/GeTf7ULN0+kz/NxTwWjemUHdcHxjdsehSLgZimMbJ9lngHAqhixrlLxIzNs0Wxn0H6PogqQVj6kvPUcrgKbzWdpbaOTM2nSzHvON5bK9l6q7wUNhlgSkVgDR7SMfGEHhp9ZrvtgbwRGE/jttorxnj4SzmLuijNe67Zo1wjocOtSOK4bfj9Os0MJMeOkZkPTMYqS7tGY87b6UB31UvwrZHZvF+qE7gQOVnzLHS87j+vTpNULxCHgSfJig0On2UQc2+laNxy+N6S1t+HlkfFwX7MtnjWOvgmNZq6Cvjz1ullamuemYKTd1hFdv2WozIH6mVp7wafeaZUxrEPvzfQczN8OOi5dOSxedclnxcAvfA5vhOtSkiPz7gfoeF4+gFQSUGRVEURVG6UAuCoiiKoqwWTbWsKIqiKAqTJLEkh1iN8VC/f6TQFwSL6Z+Mipde1NFi38qLTnpyp4B6oN9rNLORfozpPb0Py9uemd8F7U1WyWD2T+D85fb2NWEJtv0ih7kB7isYHX6uD3Xe+m7UTVMlbDuRpWNTjv76Grz2kQFzvSfmsPzrGJV8HbDim3tdir8mfblNQn3WNf4LnIeCa2M0rDLND9QwHrtVwslMW9WGgwrXpMBrzZD8HIdm3KIUxcP7uHMcmHZC1x6TjG3nPuiQ3wP7HDQGKd/CqBnjsZESbDutiOtpc9asvT6fnDOISmT05T1UqGFnrQjtyRrG5VdbZj5iqnXie/igTPlmDjIBlSWneW5G5vE1U8WY/Mo0DlSacoGkZ6yS4GWcZ7dBPggd3G6TkA+CXVKb10REeQ+iFF5P1jfnSVEeBPZBaK5Qr4D/NrXcR8RrUG0S8jlITVNp+LqZA/u5IILrX0Qkypl55nLhzR7ct9Vj5quTxbmb52roq6jlHDUaB97pcJEkh24BUB8ERVEURVGOVdSCoCiKoiirJTkMPgjHiAVBXxAsRu5pi7/XRGibtTppNLTY4W0iIo0BYyKbGMWwuon1aN6fWpuH9kX9xiz3nMwO2DbkYejZBstkX/Qwfe2Qj/uuscrq3lvYANue7BvE/s9gSJJdfjjOoGkzNYLn3dxjbPRrQ5IUKJ2ybS1POziGAbUjuoECS3LwfAwljdI4bvN9Zg72jKC5uzyNKXc7E9bc0j3r1dDc6rTI9GzDKXf95dtxSCGRaTa/mu0RmXFjumM7PTg/Q4NmHZwzsBu2nZ3DcRoNzDiybMMpkOc7pj3ewDX96AyGFJancI17C+YanA5KJhQhKXHamLyTNKU8Dlcw9VPZ4oBkM1LkJLTKgPs1PC6nHoeHOYc5Uhvmmcpts5REqhqEh7Zp5/YKdnZOyxwE2P92aMultC6p/ywjuNY9wGXiXbpHfeseCNMUWk0hn7FVrr6rDHbAfZQD0um05IkD73Z4iGORA5SkPiDHiA+CSgyKoiiKonShFgRFURRFWS0qMSiKoiiKwiRxLMkhSgwa5ngMkn1sUnx3rx5vaXN2CVcRkSSLmn3bSjFaXYPa28I8arn/f3v3GhtVtfYB/D+XzrSltOVy2gGltCpvAEFAKrVAQjw0ASUqYoiSqgUNBmy12HhBEdQolsSEIIZYJYIfRFESQCV4wXJRYmlLgcpFCr5UQQ4tQlN673RmP++H8zKz15pCh4tMp/P/JU26Z++ZWfuZvaer61mXXzvUYXdW04UWq8252yta2zbl9F1WNb8fb9GW5zUtK51gV6fNTXCq27/HqX0SmkxTtdqtak33X/HqUMz+Tv92vLaUdZR2E9lMMbVq2a2AbS3vaFNypWq+vM2uDi39n+ga3++39nEp+8r7qEP03L0vnQvVa/mWdm354Y5L90mw6Cdgys9aHVo+VruelLfQlgjWl6+Gtqx0QrR/uFeytn61uc8BACRa/f1J3FqOu9lQy1Td6r9GDp9VY9pSrfZJiPuPWmanaQprmxZCrxoKeEz9e9y91TJ54vTprE3nrsXF1qpuayupw3K5YWp64lW59oL/z09/D5s2pbZexuYm01DSODWmVu1eijEF0qH1Qegdqw75+zvB/1m2J6rfT44Gq7atxtjWaOo/oq1AKG3a2tDm821W+yrZtD46NpvNvFN9Hb2fRxA8RnvXB9EVYwWBiIgoWEwxEBERUQBDAEtkVBA4ioGIiIgCsAXBxDhXB8Py/zk6U87MouXILFFqHs9p6mdgb9Jyhx1qHwSxqvOtHozy90nQl9jta1fz/bGmqYoTLW5tn5qHdJnmCmhzqonexji1DG1aIviM1X8OXj23qy296jHlrvW8dYuhLXdrKqMR0MlHzTdb9UHiprpslEX9PHpr5/4vmz/3PjBGzbtHxatx6zD1QfDEaPlYWxdzvJpzsl5tyWy9/4Ipr2rRpu61arldu2ksvaNJW5q7RbsW3dqSux7/8fryyF5t0oE28Z+7Pu/BsTa1n8HB8wN8v7f8oV7jCcfV9+n9l7bMdL1pul4tL+91anNAJPrL39pPLW+rdi12mIqhzw+hT2Ps6aU+17z0sl3r22BtV69bm8c0NwMuMxcGAIvpWLs2Vbf+WTrrtKmYY/z3z0mrujxyW1/1uX2i/d8V+nLn5n4oANDS1/991dyh9fXp0PocuNVzt7b7vyui3GpHDku7ei+Jx7Rfvx9w/ej3FgAYcvnl468rEQDXOg9CeLQgsIJAREQUJDEEco0phs4qOd1Rj0kxrFq1CqmpqYiOjkZGRgbKyspCXSQiIuppxLg+P2GgR7QgfPHFFygoKEBRUREyMjKwYsUKTJkyBVVVVUhKSgr6dcTjhVg6aULUh93ow9sMf3OaTasZ9tKm3PU61amY63r5t/f1ulnZlxilDhWK6u1/3xR7nbIvWiu3eWpWQ2taNrS5Sz3aCnttpmbH9nb1Eunwqk3C/2v1D3/rZVOHGvWyqttRFvPKlmqTYG9tOGUULt2879UaLLXZYWEzpS+cWvNrlEPd9jrMv2vT5mrN36Knmsz79P8ILtfEqqcf1GfC2uyPeVSj2uTrvKBNUX1BLdO5Rv8qhn8l9FH2JdjUFJY5ZXWmI1HZd6BOvRZrT/qbvBOq1feM/0Nteo45ow7BtTSZ3le7l2wBQzz9qY6OWPXcLdp1ax7m6NVWWNUnZfZq01kbymepXuMWLVXmNKVFrM3656xNB22ajtvWrMZFTykYdv38/PtbO9Tvif+0qGW80Ncf07691O+JOId63yXH+6ff/ltLETZa1KnI9VhYPf4UQ5xbW8XWrQ/79W+L5/L3A4xL/4G8mv+uRTq6PoiuWI9oQVi+fDnmzp2LOXPmYPjw4SgqKkJsbCzWrFkT6qIREVEPIoZcl59wEPYVBLfbjYqKCmRlZfkes1qtyMrKQklJSQhLRkREPQ5TDOHj3Llz8Hq9SE5OVh5PTk7G0aNHO31Oe3s72tv9zXAXLvy3p7vnEs1UAfN6abPOmWe3s2gzenk8ao9ir1trJm3zb3tb1Oe2N6nlaTE1nDbbtdEE2qiAFtMF2KL1mm9vUV/X06y+r7kcRrvWJK81FXpMaYX2KK28oh7bFGWaNdKmzcqmzTwYFRh1nw6tB3Gj1szbbDpfPYZ6jI12/+fj0Vbx0z878arPNX/WYuhNqJdeeRAW/fpR/5sQUxrH41FvUa9bPdZQiwi0+B9wN6lpnDatB77FlH5p77j8NWG0+l/Xq6WdPPpz9TiZt/XVD7UweTz+/1m8WpO2t11rom/zf+6G/TLxBoA2bbXQdvP7aCMePOr52Lz+c7d6td7yXv2L3rSao1d/XS011nHp8zPatM+59dLXsQfad06Htm26Z71aqsJoVdMcgZ+t//z0+wHad50Y/tgENPnrH/Rl/kBeTf+9i9/dN6Lznwcd1zwsw4PwSImEfQXhahQWFuLNN98MePxn96are0FzyrVO2/entn0FfScPX11pOvGHtr3vur1ylen3ndftVa/VWdPvv2v7vrqRBbl2nddxg6KfOVFPd/78eSQkJHR94FVwOBxwuVzYXbP1uryey+WCw+Ho+sAQCvsKQv/+/WGz2VBbW6s8XltbC5fL1elzXnnlFRQUFPi26+vrMXjwYJw8efIfu7h6goaGBgwaNAinTp1CfHx810+IQIxRcBin4DBOwblw4QJSUlLQt2/frg++StHR0aiurobbfX3mXHA4HIiOju76wBAK+wqCw+HA2LFjUVxcjOnTpwMADMNAcXEx8vLyOn2O0+mE0xm4QE5CQgJvwiDEx8czTl1gjILDOAWHcQqO1frPdquLjo7u9n/Ur6ewryAAQEFBAXJycpCeno5x48ZhxYoVaG5uxpw5c0JdNCIiorDUIyoIjzzyCP7++28sWbIENTU1GD16NL777ruAjotEREQUnB5RQQCAvLy8S6YUuuJ0OvH66693mnYgP8apa4xRcBin4DBOwWGc/hkWCZdJoYmIiOiGCfuJkoiIiOj6YwWBiIiIArCCQERERAFYQSAiIqIAEV9BWLVqFVJTUxEdHY2MjAyUlV3BXMg9UGFhIe666y707t0bSUlJmD59OqqqqpRj2trakJubi379+iEuLg4PP/xwwEyWkWTZsmWwWCxYsGCB7zHGyO/06dN47LHH0K9fP8TExGDkyJHYu3evb7+IYMmSJRgwYABiYmKQlZWF48ePh7DEN57X68XixYuRlpaGmJgY3HrrrXjrrbeUtQUiMU4//fQT7r//fgwcOBAWiwWbN29W9gcTk7q6OmRnZyM+Ph6JiYl46qmn0NTUdAPPIoxJBFu/fr04HA5Zs2aNHD58WObOnSuJiYlSW1sb6qKFzJQpU2Tt2rVy6NAhOXDggNx3332SkpIiTU1NvmPmzZsngwYNkuLiYtm7d6/cfffdMn78+BCWOnTKysokNTVV7rjjDsnPz/c9zhj9V11dnQwePFhmz54tpaWlcuLECfn+++/l999/9x2zbNkySUhIkM2bN0tlZaU88MADkpaWJq2trSEs+Y21dOlS6devn2zZskWqq6tlw4YNEhcXJ++9957vmEiM09atW2XRokWyceNGASCbNm1S9gcTk6lTp8qoUaNkz5498vPPP8ttt90ms2bNusFnEp4iuoIwbtw4yc3N9W17vV4ZOHCgFBYWhrBU3cvZs2cFgOzatUtEROrr6yUqKko2bNjgO+a3334TAFJSUhKqYoZEY2OjDBkyRLZt2yaTJk3yVRAYI7+XX35ZJk6ceMn9hmGIy+WSd9991/dYfX29OJ1O+fzzz29EEbuFadOmyZNPPqk8NmPGDMnOzhYRxklEAioIwcTkyJEjAkDKy8t9x3z77bdisVjk9OnTN6zs4SpiUwxutxsVFRXIysryPWa1WpGVlYWSkpIQlqx7ubgU9sVFUCoqKtDR0aHEbejQoUhJSYm4uOXm5mLatGlKLADGyOzrr79Geno6Zs6ciaSkJIwZMwarV6/27a+urkZNTY0Sq4SEBGRkZERUrMaPH4/i4mIcO3YMAFBZWYndu3fj3nvvBcA4dSaYmJSUlCAxMRHp6em+Y7KysmC1WlFaWnrDyxxuesxMilfq3Llz8Hq9AdMxJycn4+jRa1hjtwcxDAMLFizAhAkTMGLECABATU0NHA4HEhMTlWOTk5NRU1MTglKGxvr167Fv3z6Ul5cH7GOM/E6cOIEPPvgABQUFePXVV1FeXo7nnnsODocDOTk5vnh0dh9GUqwWLlyIhoYGDB06FDabDV6vF0uXLkV2djYAME6dCCYmNTU1SEpKUvbb7Xb07ds3YuN2JSK2gkBdy83NxaFDh7B79+5QF6VbOXXqFPLz87Ft27aIWtntahiGgfT0dLzzzjsAgDFjxuDQoUMoKipCTk5OiEvXfXz55ZdYt24dPvvsM9x+++04cOAAFixYgIEDBzJOFDIRm2Lo378/bDZbQM/y2tpauFyuEJWq+8jLy8OWLVuwY8cO3Hzzzb7HXS4X3G436uvrleMjKW4VFRU4e/Ys7rzzTtjtdtjtduzatQsrV66E3W5HcnJyxMfoogEDBmD48OHKY8OGDcPJkycBwBePSL8PX3zxRSxcuBCPPvooRo4ciccffxzPP/88CgsLATBOnQkmJi6XC2fPnlX2ezwe1NXVRWzcrkTEVhAcDgfGjh2L4uJi32OGYaC4uBiZmZkhLFloiQjy8vKwadMmbN++HWlpacr+sWPHIioqSolbVVUVTp48GTFxmzx5Mg4ePIgDBw74ftLT05Gdne37PdJjdNGECRMChskeO3YMgwcPBgCkpaXB5XIpsWpoaEBpaWlExaqlpQVWq/p1bLPZYBgGAMapM8HEJDMzE/X19aioqPAds337dhiGgYyMjBte5rAT6l6SobR+/XpxOp3yySefyJEjR+Tpp5+WxMREqampCXXRQmb+/PmSkJAgO3fulDNnzvh+WlpafMfMmzdPUlJSZPv27bJ3717JzMyUzMzMEJY69MyjGEQYo4vKysrEbrfL0qVL5fjx47Ju3TqJjY2VTz/91HfMsmXLJDExUb766iv59ddf5cEHH+zxw/d0OTk5ctNNN/mGOW7cuFH69+8vL730ku+YSIxTY2Oj7N+/X/bv3y8AZPny5bJ//375888/RSS4mEydOlXGjBkjpaWlsnv3bhkyZAiHOQYpoisIIiLvv/++pKSkiMPhkHHjxsmePXtCXaSQAtDpz9q1a33HtLa2yjPPPCN9+vSR2NhYeeihh+TMmTOhK3Q3oFcQGCO/b775RkaMGCFOp1OGDh0qH330kbLfMAxZvHixJCcni9PplMmTJ0tVVVWIShsaDQ0Nkp+fLykpKRIdHS233HKLLFq0SNrb233HRGKcduzY0en3UU5OjogEF5Pz58/LrFmzJC4uTuLj42XOnDnS2NgYgrMJP1zumYiIiAJEbB8EIiIiujRWEIiIiCgAKwhEREQUgBUEIiIiCsAKAhEREQVgBYGIiIgCsIJAREREAVhBICIiogCsIBD1QF6vF+PHj8eMGTOUxy9cuIBBgwZh0aJFISoZEYULzqRI1EMdO3YMo0ePxurVq5GdnQ0AeOKJJ1BZWYny8nI4HI4Ql5CIujNWEIh6sJUrV+KNN97A4cOHUVZWhpkzZ6K8vByjRo0KddGIqJtjBYGoBxMR/Pvf/4bNZsPBgwfx7LPP4rXXXgt1sYgoDLCCQNTDHT16FMOGDcPIkSOxb98+2O32UBeJiMIAOykS9XBr1qxBbGwsqqur8ddff4W6OEQUJtiCQNSD/fLLL5g0aRJ++OEHvP322wCAH3/8ERaLJcQlI6Luji0IRD1US0sLZs+ejfnz5+Oee+7Bxx9/jLKyMhQVFYW6aEQUBtiCQNRD5efnY+vWraisrERsbCwA4MMPP8QLL7yAgwcPIjU1NbQFJKJujRUEoh5o165dmDx5Mnbu3ImJEycq+6ZMmQKPx8NUAxFdFisIREREFIB9EIiIiCgAKwhEREQUgBUEIiIiCsAKAhEREQVgBYGIiIgCsIJAREREAVhBICIiogCsIBAREVEAVhCIiIgoACsIREREFIAVBCIiIgrACgIREREF+D/xNmcilyUerAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vf.plot_slice('c', Nz//2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, the solver output is organised into a small dictionary containing the sampled states `ys` and their time stamps `ts`. The index list `inds` selects which time steps form each training sequence." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "data = {}\n", "data[\"ts\"] = saveat.subs.ts\n", "data[\"ys\"] = res\n", "\n", "inds = [[1,2,3], [4,5,6], [7,8,9]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run the optimisation\n", "\n", "The `train` method performs a Levenberg–Marquardt least-squares fit of the parameters $D$ and $\\epsilon$ so that the simulated states match the selected measurements." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Step: 0, Accepted steps: 0, Steps since acceptance: 0, Loss on this step: 161758.390625, Loss on the last accepted step: 0.0, Step size: 1.0\n", "Step: 1, Accepted steps: 1, Steps since acceptance: 0, Loss on this step: 29801.1484375, Loss on the last accepted step: 161758.390625, Step size: 3.5\n", "Step: 2, Accepted steps: 2, Steps since acceptance: 0, Loss on this step: 4461.22998046875, Loss on the last accepted step: 29801.1484375, Step size: 12.25\n", "Step: 3, Accepted steps: 3, Steps since acceptance: 0, Loss on this step: 86.40522766113281, Loss on the last accepted step: 4461.22998046875, Step size: 42.875\n", "Step: 4, Accepted steps: 4, Steps since acceptance: 0, Loss on this step: 27.223255157470703, Loss on the last accepted step: 86.40522766113281, Step size: 42.875\n", "Step: 5, Accepted steps: 5, Steps since acceptance: 0, Loss on this step: 27.193706512451172, Loss on the last accepted step: 27.223255157470703, Step size: 150.0625\n", "Step: 6, Accepted steps: 6, Steps since acceptance: 0, Loss on this step: 27.193700790405273, Loss on the last accepted step: 27.193706512451172, Step size: 150.0625\n", "Step: 7, Accepted steps: 7, Steps since acceptance: 0, Loss on this step: 27.19369888305664, Loss on the last accepted step: 27.193700790405273, Step size: 150.0625\n" ] } ], "source": [ "tmp = model.train({\"D\": np.array([2.0]), \"eps\": np.array([2.0])}, data, inds, max_steps=50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The converged values from the physics-informed parameter estimation should be close to the 'true' values of $D=1$ and $\\epsilon=3$. Even with the very small synthetic dataset used here the optimiser quickly converges." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Estimated D = [0.923414],\n", "Estimated eps = [3.0129616].\n" ] } ], "source": [ "print(f\"Estimated D = {tmp['D']},\")\n", "print(f\"Estimated eps = {tmp['eps']}.\")" ] } ], "metadata": { "kernelspec": { "display_name": "voxenv", "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.12.11" } }, "nbformat": 4, "nbformat_minor": 2 }