diff --git a/CHANGELOG.md b/CHANGELOG.md index 3489391045..0ae91738cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Features - Added `InputParameter` node for quickly changing parameter values ([#752](https://github.com/pybamm-team/PyBaMM/pull/752)) +- Added submodels for operating modes other than current-controlled ([#751](https://github.com/pybamm-team/PyBaMM/pull/751)) - Added optional R(x) distribution in particle models ([#745](https://github.com/pybamm-team/PyBaMM/pull/745)) - Generalized importing of external variables ([#728](https://github.com/pybamm-team/PyBaMM/pull/728)) - Separated active and inactive material volume fractions ([#726](https://github.com/pybamm-team/PyBaMM/pull/726)) @@ -33,6 +34,7 @@ ## Bug fixes +- Improved automatic broadcasting ([#747](https://github.com/pybamm-team/PyBaMM/pull/747)) - Fixed bug with wrong temperature in initial conditions ([#737](https://github.com/pybamm-team/PyBaMM/pull/737)) - Improved flexibility of parameter values so that parameters (such as diffusivity or current) can be set as functions or scalars ([#723](https://github.com/pybamm-team/PyBaMM/pull/723)) - Fixed a bug where boundary conditions were sometimes handled incorrectly in 1+1D models ([#713](https://github.com/pybamm-team/PyBaMM/pull/713)) @@ -49,6 +51,7 @@ - The parameters "Bruggeman coefficient" must now be specified separately as "Bruggeman coefficient (electrolyte)" and "Bruggeman coefficient (electrode)" - The current classes (`GetConstantCurrent`, `GetUserCurrent` and `GetUserData`) have now been removed. Please refer to the [`change-input-current` notebook](https://github.com/pybamm-team/PyBaMM/blob/master/examples/notebooks/change-input-current.ipynb) for information on how to specify an input current - Parameter functions must now use pybamm functions instead of numpy functions (e.g. `pybamm.exp` instead of `numpy.exp`), as these are then used to construct the expression tree directly. Generally, pybamm syntax follows numpy syntax; please get in touch if a function you need is missing. +- The current must now be updated by changing "Current function [A]" or "C-rate" instead of "Typical current [A]" # [v0.1.0](https://github.com/pybamm-team/PyBaMM/tree/v0.1.0) - 2019-10-08 diff --git a/docs/source/models/submodels/current_collector/index.rst b/docs/source/models/submodels/current_collector/index.rst index 3ae2821bfd..e13e842515 100644 --- a/docs/source/models/submodels/current_collector/index.rst +++ b/docs/source/models/submodels/current_collector/index.rst @@ -10,5 +10,4 @@ Current Collector homogeneous_current_collector potential_pair quite_conductive_potential_pair - single_particle_potential_pair set_potential_single_particle diff --git a/docs/source/models/submodels/current_collector/single_particle_potential_pair.rst b/docs/source/models/submodels/current_collector/single_particle_potential_pair.rst deleted file mode 100644 index 6fca366360..0000000000 --- a/docs/source/models/submodels/current_collector/single_particle_potential_pair.rst +++ /dev/null @@ -1,5 +0,0 @@ -Single Particle Potential Pair models -===================================== - -.. autoclass:: pybamm.current_collector.SingleParticlePotentialPair - :members: diff --git a/docs/source/models/submodels/external_circuit/current_control_external_circuit.rst b/docs/source/models/submodels/external_circuit/current_control_external_circuit.rst new file mode 100644 index 0000000000..6f3f0a001e --- /dev/null +++ b/docs/source/models/submodels/external_circuit/current_control_external_circuit.rst @@ -0,0 +1,6 @@ +Current control external circuit +================================ + +.. autoclass:: pybamm.external_circuit.CurrentControl + :members: + diff --git a/docs/source/models/submodels/external_circuit/function_control_external_circuit.rst b/docs/source/models/submodels/external_circuit/function_control_external_circuit.rst new file mode 100644 index 0000000000..1c7b8b5049 --- /dev/null +++ b/docs/source/models/submodels/external_circuit/function_control_external_circuit.rst @@ -0,0 +1,11 @@ +Function control external circuit +================================= + +.. autoclass:: pybamm.external_circuit.FunctionControl + :members: + +.. autoclass:: pybamm.external_circuit.VoltageFunctionControl + :members: + +.. autoclass:: pybamm.external_circuit.PowerFunctionControl + :members: \ No newline at end of file diff --git a/docs/source/models/submodels/external_circuit/index.rst b/docs/source/models/submodels/external_circuit/index.rst new file mode 100644 index 0000000000..600c7718ba --- /dev/null +++ b/docs/source/models/submodels/external_circuit/index.rst @@ -0,0 +1,15 @@ +External circuit +================ + +Models to enforce different boundary conditions (as imposed by an imaginary external +circuit) such as constant current, constant voltage, constant power, or any other +relationship between the current and voltage. "Current control" enforces these directly +through boundary conditions, while "Function control" +submodels add an algebraic equation (for the current) and hence can be used to set any +variable to be constant. + +.. toctree:: + :maxdepth: 1 + + current_control_external_circuit + function_control_external_circuit diff --git a/docs/source/models/submodels/index.rst b/docs/source/models/submodels/index.rst index 5377dcd868..d5a1e98721 100644 --- a/docs/source/models/submodels/index.rst +++ b/docs/source/models/submodels/index.rst @@ -9,6 +9,7 @@ Submodels convection/index electrode/index electrolyte/index + external_circuit/index interface/index oxygen_diffusion/index particle/index diff --git a/examples/notebooks/Getting Started/Tutorial 3 - Basic Plotting.ipynb b/examples/notebooks/Getting Started/Tutorial 3 - Basic Plotting.ipynb index 5263289889..0d6843f6c7 100644 --- a/examples/notebooks/Getting Started/Tutorial 3 - Basic Plotting.ipynb +++ b/examples/notebooks/Getting Started/Tutorial 3 - Basic Plotting.ipynb @@ -340,8 +340,8 @@ " 'Volume-averaged total heating',\n", " 'Volume-averaged total heating [W.m-3]',\n", " 'Positive current collector potential [V]',\n", - " 'Local current collector potential difference',\n", - " 'Local current collector potential difference [V]',\n", + " 'Local voltage',\n", + " 'Local voltage [V]',\n", " 'X-averaged open circuit voltage',\n", " 'Measured open circuit voltage',\n", " 'X-averaged open circuit voltage [V]',\n", diff --git a/examples/notebooks/change-input-current.ipynb b/examples/notebooks/change-input-current.ipynb index 0b5b1549f7..2d0ae766c4 100644 --- a/examples/notebooks/change-input-current.ipynb +++ b/examples/notebooks/change-input-current.ipynb @@ -22,7 +22,7 @@ "\n", "In this notebook we will use the SPM as the example model, and change the input current from the default option. If you are not familiar with running a model in PyBaMM, please see [this](./models/SPM.ipynb) notebook for more details.\n", "\n", - "In PyBaMM, the current function is set using the parameter \"Current function\". This can be a scalar, but only accepts values 0 and 1. By default this is set to be a constant current by setting it to '1'. The size of a constant current input is changed by changing the parameter \"Typical current [A]\". Below we load the SPM with the default parameters, and then change the the typical current 16A. We then explicitly set the current function to be a constant current." + "In PyBaMM, the current function is set using the parameter \"Current function [A]\". Below we load the SPM with the default parameters, and then change the the current function to 16A." ] }, { @@ -45,9 +45,8 @@ "# set the default model parameters\n", "param = model.default_parameter_values\n", "\n", - "# change the typical current and set a constant discharge using the typical current value\n", - "param[\"Typical current [A]\"] = 16\n", - "param[\"Current function\"] = \"[constant]\"\n" + "# change the current function\n", + "param[\"Current function [A]\"] = 16" ] }, { @@ -67,12 +66,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "26ae7952fb10438ebbf83297fe284014", + "model_id": "118979747d4f418982a358d3769dc257", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "interactive(children=(FloatSlider(value=0.0, description='t', max=0.02, step=0.005), Output()), _dom_classes=(…" + "interactive(children=(FloatSlider(value=0.0, description='t', max=0.00787878787878788, step=0.005), Output()),…" ] }, "metadata": {}, @@ -117,7 +116,7 @@ "metadata": {}, "outputs": [], "source": [ - "param[\"Current function\"] = \"[zero]\"" + "param[\"Current function [A]\"] = 0" ] }, { @@ -131,31 +130,11 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "param[\"Current function\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "630250e18bf6416089e4bed2a883c10e", + "model_id": "397b778427504eb8ac88b53de8397683", "version_major": 2, "version_minor": 0 }, @@ -187,39 +166,23 @@ "source": [ "## Loading in current data \n", "\n", - "Data can be loaded in from a csv file by specifying the path to that file and using the prefix \"[current data]\"." + "Data can be loaded in from a csv file by putting the file in the folder 'input/drive_cycles' and using the prefix \"[current data]\". As an example, we show how to solve the SPM using the US06 drive cycle" ] }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "param[\"Current function\"] = \"[current data]US06\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As an example, we show how to solve the SPM using the US06 drive cycle" - ] - }, - { - "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "18118e75c01e4fb1ba9a00134298b5fd", + "model_id": "4acb95c01295406db377f5dd1593e014", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "interactive(children=(FloatSlider(value=0.0, description='t', max=0.026526276390989537, step=0.001), Output())…" + "interactive(children=(FloatSlider(value=0.0, description='t', max=0.057314594406781015, step=0.001), Output())…" ] }, "metadata": {}, @@ -234,7 +197,7 @@ "\n", "# load parameter values and process model and geometry\n", "param = model.default_parameter_values\n", - "param[\"Current function\"] = \"[current data]US06\"\n", + "param[\"Current function [A]\"] = \"[current data]US06\"\n", "param.process_model(model)\n", "param.process_geometry(geometry)\n", "\n", @@ -279,7 +242,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -301,7 +264,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -316,7 +279,7 @@ "# set user defined current function\n", "A = pybamm.electrical_parameters.I_typ\n", "omega = 0.1\n", - "param[\"Current function\"] = my_fun(A,omega)\n", + "param[\"Current function [A]\"] = my_fun(A,omega)\n", "\n", "# process model and geometry\n", "param.process_model(model)\n", @@ -332,18 +295,18 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b6fae116be424e22955be046e20a6211", + "model_id": "19720a31f3964e55b01905476f50393a", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "interactive(children=(FloatSlider(value=0.0, description='t', max=0.0013263138195494769, step=6.63156909774738…" + "interactive(children=(FloatSlider(value=0.0, description='t', max=0.0028657297203390506, step=0.00014328648601…" ] }, "metadata": {}, @@ -398,7 +361,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.7.4" } }, "nbformat": 4, diff --git a/examples/notebooks/compare-comsol-discharge-curve.ipynb b/examples/notebooks/compare-comsol-discharge-curve.ipynb index 81dec1294e..8b8d348543 100644 --- a/examples/notebooks/compare-comsol-discharge-curve.ipynb +++ b/examples/notebooks/compare-comsol-discharge-curve.ipynb @@ -62,18 +62,7 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# load model and geometry\n", "model = pybamm.lithium_ion.DFN()\n", @@ -93,7 +82,7 @@ "\n", "# discretise model\n", "disc = pybamm.Discretisation(mesh, model.default_spatial_methods)\n", - "disc.process_model(model)" + "disc.process_model(model);" ] }, { @@ -110,7 +99,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9YAAAIjCAYAAADmwYOsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeZQc1X3//fet7up9m+6efdVo3wEJMMYCTEzAG5jEvwTbeSAhmDiP1+PHTmwTY/A5cRw/9gm/xIkTO4kd/bzwODisBscmYGOwJSEhEEIr0mj2feme3rur7vNHjfYZoX1G6Ps6R4epqltVt2UZ9Ol77/cqrTVCCCGEEEIIIYQ4PcZsd0AIIYQQQgghhLiQSbAWQgghhBBCCCHOgARrIYQQQgghhBDiDEiwFkIIIYQQQgghzoAEayGEEEIIIYQQ4gxIsBZCCCGEEEIIIc6ABGshhBBCCCGEEOIMSLAWQgghhBBCCCHOgARrIYQQ4gKilDqglHrHbPdDCCGEEIdJsBZCCCGOoJT6oFJqs1Iqo5TqV0o9pZR622z361ybCuz5qc89qJT6nlIqdBr3jiulfqqUaj6Fe0tKqeQx57cqpbRSqu102gohhBDnkwRrIYQQYopS6tPAA8BXgFqgBfgn4JbZ7Nd59F6tdQi4DFgL/NVp3FsPDAL/cAr3dgAfOHiglFoJBM5CWyGEEOK8kGAthBBCAEqpKPBl4KNa6//SWme11mWt9eNa689OtVmqlPqlUmpCKfWaUurmI+4/oJT6rFJqm1Iqq5T6N6VU7dSI96RS6mmlVNUR7f9SKdU7dW23Uup33ugd54vWuhd4Clgx1afPKqV+cmQbpdTfK6X+9zT3FoCHgGVHtP2cUmrf1GfdoZS69Zjb/g9w+xHHdwDrZ+jeqbQVQgghzgsJ1kIIIYTjKsAHPDzdRaWUCTwO/ByoAT4O/EAptfiIZr8P3AAsAt6LE06/AFTj/Df3E1PPWgx8DLhcax0GbgQOnOQ7zrmpadzvArZOnfo+cJNSKjZ13Q3cxjSBVikVAP4Q2HDE6X3AOiAK3A98XylVf8T1DUBk6ksF19Szvz9D906lrRBCCHFeSLAWQgghHAlgRGtdmeH6W4AQ8FWtdUlr/QzwBEdMSwb+QWs9ODXi+2tgo9Z669Qo7sPApVPtLMALLFNKmVrrA1rrfSf5jhkppW5WSr3vZI+n8YhSagJ4HvgVzpR4tNb9wHPA/5pqdxPO79WWae5N4Xy58P8evKC1/k+tdZ/W2tZa/3/AXuCKY959cCT6BmAn0HuCfp5KWyGEEOKck2AthBBCOEaB5NRo7HQagG6ttX3EuU6g8YjjwSN+zk9zHALQWr8OfAq4DxhSSj2olGo4yXecyM3A+07h+Fjv01rHtNatWuv/W2udP+LafwB/NPXzH+GE2+PuxRn1/xjwK6VUHYBS6nal1MtT09sncKaYJ4+5//8AHwT+mDee2n0qbZmaWq9n+PX8G90vhBBCvBEJ1kIIIYTjt0CRmYNnH9CslDryv50tnOZoqdb6h1rrtwGtgAb+9kzfobW+S2v9xyd7fIoeAVYppVYA7wF+MEMfLK31f+GMyr9NKdUKfAcnbCemwvd2QB1zXydOYbJ3Af91oo6cStup9tdprdUMv970Fd+FEEKcexKshRBCCEBrnQLuBf5RKfU+pVRAKWUqpd6plPoasBHIAX8xdf46nHXUD57qu5RSi5VS1yulvEABZzTbPpvvONuOKEr2Q2CT1rprunbKcQtQhTNNO4jzxcHw1PU/Yaoo2jT+FLhea509iS6dSlshhBDinJppupsQQghx0dFaf0MpNYCzzdQPgElgC/DXWuuSUuq9ONtvfR5nFPl2rfWu03iVF/gqsBQoA78B7j7L7zgX/gO4C7hzmmuPK6UsnBDdCdyhtX4NQCn1DZwZATbO1O0Xpnv41Drzk3IqbYUQQohzTWmtZ7sPQgghhLgAKKVagF1AndY6Pdv9EUIIIeYKmQouhBBCiDc0te7708CDEqqFEEKIo82pqeBKKR/Odh5enL49pLX+0jFtWoF/x9kTdAz4I611z/nuqxBCCHGxUEoFcSqcd+JstSWEEEKII8ypqeBKKQUEtdYZpZSJs4/mJ7XWG45o85/AE1rr/1BKXQ/8idb6/5qlLgshhBBCCCGEuMjNqang2pGZOjSnfh2b/JcBz0z9/Cxwy3nqnhBCCCGEEEIIcZw5FawBlFIupdTLwBDwC631xmOavAL83tTPtwJhpVTifPZRCCGEEEIIIYQ4aE5NBT+SUioGPAx8XGu9/YjzDcA3gXk467F/H1ihtZ445v67gbsBgsHgmiVLlpyvrgshhBBCCCGEeJPZsmXLiNa6erprczZYAyil7gVyWuuvz3A9BOzSWjed6Dlr167VmzdvPhddFEIIIYQQQghxEVBKbdFar53u2pyaCq6Uqp4aqUYp5QduwNkv88g2yaktPwA+j1MhXAghhBBCCCGEmBVzKlgD9cCzSqltwIs4a6yfUEp9WSl181Sb64DdSqk9QC3w17PTVSGEEEIIIYQQYo7tY6213gZcOs35e4/4+SHgofPZLyGEEEIIIYQQYiZzKlgLIYQQQgghhJg7yuUyPT09FAqF2e7KeePz+WhqasI0zZO+R4K1EEIIIYQQQohp9fT0EA6HaWtrQyk1290557TWjI6O0tPTw7x58076vrm2xloIIYQQQgghxBxRKBRIJBIXRagGUEqRSCROeYRegrUQQgghhBBCiBldLKH6oNP5vBKshRBCCCGEEELMWT/72c9YvHgxCxYs4Ktf/eq0bZ577jkuu+wy3G43Dz00c63rgYEBbrvtNubPn8+aNWt417vexZ49e864jxKshRBCCCGEEELMSZZl8dGPfpSnnnqKHTt28KMf/YgdO3Yc166lpYXvfe97fPCDH5zxWVprbr31Vq677jr27dvHli1b+Ju/+RsGBwfPuJ9SvEwIIYQQQgghxJy0adMmFixYQHt7OwC33XYbjz76KMuWLTuqXVtbGwCGMfPY8bPPPotpmnzkIx85dG716tVnpZ8SrIUQQgghhBBCvKH7H3+NHX3ps/rMZQ0RvvTe5TNe7+3tpbm5+dBxU1MTGzduPK13bd++nTVr1pzWvW9EpoILIYQQQgghhBBnQEashRBCCCGEEEK8oRONLJ8rjY2NdHd3Hzru6emhsbHxtJ61fPnyExY2OxMyYi2EEEIIIYQQYk66/PLL2bt3Lx0dHZRKJR588EFuvvnm03rW9ddfT7FY5Nvf/vahc9u2bePXv/71GfdTgrUQQgghhBBCiDnJ7XbzzW9+kxtvvJGlS5fyB3/wByxf7oyc33vvvTz22GMAvPjiizQ1NfGf//mf/Nmf/dmhNkdSSvHwww/z9NNPM3/+fJYvX87nP/956urqzrifSmt9xg+Z6/wNi/Sffv1BPnBFC2taq/CZrtnukhBCCCGEEELMeTt37mTp0qWz3Y3zbrrPrZTaorVeO137i2aN9VOvDvDEtn48bgOvy+DqBUnWtlXRWOUnEfRwaXMVplsG8IUQQgghhBBCnJqLIlgvb4jwy/t+l00dozy0pZdf7R7ihX0j/Oy1gUNtPC6D9uogiZCHckXzvksbWNUUoy0RIOQzZ7H3QgghhBBCCCHmsosiWAOEvG6uX1LL9UtqD50by5b47b4Rnt45RMxv0jmW4+XuCcayJTYdGDvUzqUUl8+rYnFtmJDPJOpz855VDdTHfCilZuPjCCGEEEIIIYSYIy6aYD2deNDDu1c18O5VDUedT+fLDKQL7BvK8Isdg2zpGidXtPjJS71kihUAvvLULoIeF1G/iekyeP+aJubXhEgEPSytDxPxe2bjIwkhhBBCCCGEOM8u6mA9k4jfJOI3WVQb5p0r6w+d11qzs3+SFw+MYSjYN5zlf3YOMpAu8I1f7DnqGa2JAO3JILaGxpif913a6Ew1D3pklFsIIYQQQggh3kQkWJ8CpRTLGiIsa4gcOnffzU4Z91ypwv7hLI+/0seB0Sxul8G+oQy7BybRwA83dQHgMhRVAZN1C6uZlwxSqtisbo5y9YIkAY/8zyGEEEIIIYQQFxpJcmdJwONmRWOUFY3Ro85XKjZ7hjMMpgt0DGd56KUeCiWLjftHeXhr71Ft6yI+ypbN4row1y+pob06iN90cVlLFV7ZIkwIIYQQQghxEfrZz37GJz/5SSzL4q677uJzn/vccW2+973v8dnPfpbGxkYAPvaxj3HXXXcd125gYIBPfepTvPjii8RiMWpra3nggQdYtGjRGfVRgvU55nYbLKuPsKw+wtsXw51vm3foWq5Y4Ze7hxmcLJAtVnh9KMvPdwywtWuC3+wbPdTOUNCWDNKaCDCaKXHNwmretjDJvESA6rAXw5BtwoQQQgghhBBvPpZl8dGPfpRf/OIXNDU1cfnll3PzzTezbNmy49r+4R/+Id/85jdnfJbWmltvvZU77riDBx98EIBXXnmFwcFBCdYXsoDXzbtW1U97bSxbYld/mke29oJSpPNldg9O0jGSZVtPim8++/qhtq2JAKubYtRFvKQLFW5aXsclLTFiASmgJoQQQgghhLhwbdq0iQULFtDe3g7AbbfdxqOPPjptsH4jzz77LKZp8pGPfOTQudWrV5+Vfs6pYK2U8gHPAV6cvj2ktf7SMW1agP8AYoAL+JzW+snz3ddzLR708NYFSd66IHnU+XLFpmc8T89Eji2d4zy1fYCQ183W7nF6xvJo4MEXuwEIel1ULM1V7QlWNUWJBkxsW3PjijqaqwJSRE0IIYQQQghx8p76HAy8enafWbcS3vnVGS/39vbS3Nx86LipqYmNGzdO2/YnP/kJzz33HIsWLeLv/u7vjroPYPv27axZs+bs9PsYcypYA0Xgeq11RillAs8rpZ7SWm84os1fAT/WWn9LKbUMeBJoO+FTR1+H9ABE6s5Vv88b020wrzrIvOog6xZW86l3HJ6ykC2U2dw5QbZYoS+V58UDY2w+MM6eoUme2zuMrZ12f/2ks1VYPOghX7Z476oGltSHCXndRAMmV7YlMN0yvVwIIYQQQghxYXjve9/LBz7wAbxeL//yL//CHXfcwTPPPHPe3j+ngrXWWgOZqUNz6pc+thlwsCx3FOh7wwcXJ+Gba+CG++GyPwbXnPrYZ03QZ3Lt4upDx3etaz/0c6lis3Mgzcb9o7gNRdeYE7yHJot8f2MnZevwb7PXbdCaCGC6DEqWze1vaWVeMkTQ56I5FiAZ9p7XzyWEEEIIIYSYA04wsnyuNDY20t3dfei4p6fnUIGyIyUSiUM/33XXXfzFX/zFcW2WL1/OQw89dE76OecSplLKBWwBFgD/qLU+dpz/PuDnSqmPA0HgHW/40Fgr1C+Bn/4/8MLfw5UfgTV3gCd4lns/d3ncBqubYqxuih13zbI1fRN5NnWM8lLXBAGPiwOjObZ2jTOaKfHFR187qn17MkhLIkChbOEzXfzh2maa4wGqAib1UT+GIVPMhRBCCCGEEGfu8ssvZ+/evXR0dNDY2MiDDz7ID3/4w+Pa9ff3U1/v1K967LHHWLp06XFtrr/+er7whS/w7W9/m7vvvhuAbdu2kUqlWLdu3Rn1UzmDxHOPUioGPAx8XGu9/Yjzn8bp9zeUUlcB/was0Frbx9x/N3A3QEtLy5rOAwdgx6Pwk7vALoPhhsY1EGmERTfBwhsgED9vn+9CYduaockiB0az/Gr3EHuHMnjcBl1jOXYPTB410g3OPt1L6sI0VwWYLJapj/p596p6mquc4B0PemRttxBCCCGEEBeInTt3ThtSz6cnn3yST33qU1iWxZ133sk999wDwL333svatWu5+eab+fznP89jjz2G2+0mHo/zrW99iyVLlhz3rL6+Pj71qU+xZcsWfD4fbW1tPPDAAyxcuPCodtN9bqXUFq312un6OGeDNYBS6l4gp7X++hHnXgNu0lp3Tx3vB96itR6a6Tlr167Vmzdvdg5SvbD7SUj1QMdz0PfS4YbhBjBc0HQFLH4n1C6H5EJwmefk870ZpHIlusfz9IzneGr7ACOZIqbLoHssx/7h7HHz+L1ugxWNUVriAfom8iyuC/POFfU0x/2YLoPqkFdGvIUQQgghhJgj5kKwng2nGqzn1FRwpVQ1UNZaTyil/MANwN8e06wL+B3ge0qppYAPGD7pl0Qb4YoPOz9rDf0vw8B2yI9D31ZnVHvHI/DaT464pxlaroL4PDBMmH8d1K0Ct6w1jgY8RAMeVjRGuWnF0VuHWZZNXzrPYKpI93iOJ7b1ky9Z2FqzqWOM3ok8GzvGWP/bzkP3hLxuljdEaIj52Ts4yeXz4rx9cQ2NVX601rQmgpguKawmhBBCCCGEmDvm1Ii1UmoVzlZaLsDAqf79ZaXUl4HNWuvHpiqBfwcI4RQy+wut9c9P9NyjRqzfiNZQzsN4Bxx4ATb/m7MWOzMEqcOL5lGGM41c29D+dmi5EuLtkFwMoeqZny8OKVs2PWM5eicKdI5l+e/XBrBtKFYsusfzDKQKx90T8LiYXx2iNuKlYyTLuoXVvKU9QU3YiwKWNoTxmXPq+yIhhBBCCCEuWDJifdgFOxX8bDmlYH0i6QHY+agzNTzdD50vQNcGZ/q4VTrczheDmmUQqgXDgGW3QP1qZ+TbcJ15Py4SFcumP1WgbyJPx0iWZ3cP4TIUmaLFgZEs3WO546aae1wGzXE/iaCHgXSB6xbXsLopRtjvpmJprpwXJxGSmQZCCCGEEEKcDAnWh0mwPlvBeiZWxRnNfv1p2PkYRJqcEe/+V6CcO9zOcIPLA/OugeolEEhApME5DlaDFPU6JVprxnNl+iby7B6Y5Lk9w/g9LiZyZfYOTdIxkj20d/eRon6TiM/NRL7MuoVJFtWG8bgM0oUyN62op706SMjjwjBkyrkQQgghhLi4SbA+TIL1uQ7WM7HK0PcyaAuGd8Oun0LvZggkYWy/U538IG8U/DEw/bD8VkgsgHC9U0DNf/wWWeLk5EsWA+kCewbSvHhgnKDXzXiuxI6+NLsGJvG4DcaypePu87gNKpbN2rY4LfEAtq1JF8q8f00TLfEgfo+LqoBJ1G9KlXMhhBBCCPGmJcH6sIs+WK+6dJXetnXbbHfjaLYF+551ppIHkzC2D3Y/BZlBJ5AfOck5VOsEbWU4I9zLbnGOq9qkgNpZUKrYdI1mebUvhUIxNFngpa4JXutNEQ95GEoXGUgVjpt2DlAf9VET8VGxbApli1suaaQ24qViaQJeF29bUE0i6JFK50IIIYQQ4oIkwfqwiz5YB+YF9Lee+BZ3LL9jtrvyxrSGStGZSv7yj2B8P/iiMLoPel4Eu3J0e0/YKZyWWOBcq10J7dc667ldUsTrbKlYNn2pAqOZIv2pAls6x9kzOEl12MvwZJEd/WkmcmWsaeaeuwyFx2VgGHBVe4LqsI/RTBG/x8V7VzVQE/FiWZramJeGaGAWPp0QQgghhBDTmwvB+s477+SJJ56gpqaG7du3z9hu/fr1fO1rX0Mphdvt5kMf+hCf+cxnTuudEqynEWwP6vYvtfMny/+ET1z2CdzGBRo4rYqz/3Z+1Anam//98Bru0X1Qyhxue3A9d6zFWcMdb3dCe/MVULdSRrrPkWLFYniyyEtd43SO5IgGTAbTBX67b5SRTJGAx83wZJHRaaafA8SDHpIhD+O5MmGvm+sW15AMe+gezVEf8/P2qWO3oagKeHDL1mNCCCGEEOIcmgvB+rnnniMUCnH77bfPGKyfeuop7rnnHp544gkaGhooFousX7+eD3/4w6f1TgnW01izZo1+3zffx4/3/Ji2SBv/9I5/ojncPNvdOru0hs7fQrrHGfEe3Qcvf98J18VJKKaPaKyc/bzLBWi4FNre5kwr94Sc4O2LzNanuGiUKjYDqTxjuTKD6QIb9o0ylisR9LoZmSyytXuCYtmiYmtyJWvaZ5guRXM8QDLkpXc8T3OVn6sXJEmGvXSNZllSF+Gy1ioSIQ+moTDdUpFeCCGEEEKcmrkQrAEOHDjAe97znhmD9TXXXMN9993H9ddff1bed6rB+gIduj01Sim+eNUXqQvW8fdb/55bH72VW+bfwvsXvZ+lidn/Q3JWKAVtbz363A33Of/U2tkebPtDzr7blQIMvgZ7/ttZ4/36L46+L1QL0SYnkLdfC81vcaaWRxqdQC7Fus6Yx23QkgjSknCOb1xeN2PbXKlC12iOgXSBYsVmJFPkl7uHsGzwmQYjkyVGs0VGMkU2dIzN+JyQ101rIkA86GHP4CTL6iNc1lJFLOBh10CaNa0xVjbGiPlNUIp40INL1oYLIYQQQogpf7vpb9k1tuusPnNJfAl/ecVfnvFztm/fzpo1a85Cj07PRRGsD/rwqg8T98XZNLCJR/c9yo/3/JgqbxV3r7qbG9tupDpQPdtdPDeUgmgDXP2J6a8XUtD3Cmz/CXhDUJiA/ldhZC+M7IFN3znc1u1zppUHq6Gch4XvcNZ1R5ucUW8Z7T7rAh43S+ojLKk//Hv7oStbp21bKFuMZIps65kgV7SxtM1wpsizu4YJely4XQbDk0XGsiV+s2+UZ3cPH7r3Bxu7jnqW33RRH/MR9rrpHM2xujnG8oYIftPF3qEMb52fYFlDhIDHRdmyaUsE8Xsuqn+lCCGEEEIIAVwkU8Gn224rVUxx7wv38nzv85RsZ71rQ6iB5YnlfGDJB1hVvQqv6yJfh6w1lHKQ6nJGtnc94VQlz47AwDZnvfex/FUQnw/eMFhFWHoL1Cxxtg6LtYF5kf+ezjHFisXIZInXhyYplG2Klk3/RJ4X9o0Q9ZnYGvpTeXb2T+J1G2SKFSrTbQ6OU6StKuDBbxqMZEqsaIzQEg+iFPSM5bh6YZK2RBBDQTpfZk1bFXVRP0HThWEo2bZMCCGEEGIOulCmgq9bt477779/1qaCX7TB+iDLttg7sZfne5/nO9u+Q76SR6MxDZOaQA3LEst457x3sjK5ktpArfzl/0ilnDNdPNUDHb9yppRXzYN0L/Rvg/w005KjTU4bl+lsObbqNqhqAX98ap23VMWey7TWpPNlusdzTBYqZIoWXWNZXuqcIBHyULY03WM5dvSnqQp4Do2gFyv2jM80FNgamqr8VIe92LZmIF3gusU11Ed95EsWg+kiN62opSbiw7I0ltasaowS8MoIuRBCCCHEuXShBOsnn3ySL37xi/z0pz+lrq6OUqnE+vXrueuuu07rfRKsp3GiYH2kslWmJ9PDgdQBXhp6ie/v+D42NrZ2QoFpmLRGWrmq4SoWVy1mYWwhC6sWYrrMc/0RLkyFtDOtfLzTCd3dm5y12hOdMPDq4YrmR4o0Om3sihO+V/4vp7K5ywNV7VD1Jis6d5EolCxS+TLpQpnO0Ryv9aVJhj3kSxZ7BzO82peiuSpArlShczRHfyqP1+0iU6yc8Lket4FpKAoVm+UNEaJ+k0yxwkSuzO8uqyXiN5nIlcmVKrxjWS0Rn0mpYuN1K5Y1RPG6DfmyTAghhBDiBOZCsP7ABz7AL3/5S0ZGRqitreX+++/nT//0T49r993vfpdvfOMbaK1RSnHnnXfy6U9/+rTeKcF6GicbrI9Vtsqkiin6sn28PPwy337l2wTNIGOFMQpWAQCXcrEgtoAFVQvwuXxcUX8FKxIraAw14jKkCvMJFVKQGYZUN+z9BYzsdtZup3qgbyuUssAxfz79VU7wLued/b1X/J4zCl4pOnt5N1wqxdXeRCqWzXiuTN9EjoqlmSxWeH0ow97BDK2JAOlChV39afaPZGlLBknny3SN5Ujly7iUomTNPFIOHNpf3LZhaUOEiM/ZDq1s2bx9cQ0hn5uesRzKUFy3yDkezRQJet2saooS8rrxugw8pvx/XQghhBBvTnMhWM8GCdbTON1gPRPLtnhl+BW+8+p3qPJWMVYcY8fIDsaL44famIaJ3+1nVfUqViVX0RJpYUF0AfNi8/C4PGetL29qtgWTA07Q3vtz55+egPPP7o1O8LaPGdF0+5114MU0hOtg4e8eXhdes8zZWsxfJeH7IlEoWwykCvSl8vhMF+l8mdd60/Sm8jRV+UnnK7zSM8HIZJH6mJ90vkzHSJZC2cJlqBm3OjuWS0F12EfI52Y8W8Jnuljd7ATvjpEsUb/JlfMShHxuOoazVIe9XNYaI+Q1SefL1ES8NFUFpAq7EEIIIeYcCdaHSbA+y8F6Orlyjg39G/AYHobzw/ym7zf8T9f/EPfFGcoNoadGXg1l0Bxupi5Qh9/0c3XD1SysWkhrpJWELyHTUk+F1pAfd4L2vmec0W8FpPucNd9W2Qnf+phw5PY5245FGpytxCINzqh541povcqZju6Pg2HMyscSc0fFspksVBjJFLE1ZIpltvemSeXLVIe9ZAoVNnaMUijbNMR8ZIoVtnZNYNuayNS09MF0gRnqvR3Hb7ooVWyCXhctiQAhr5t9QxnqY35WNjpB/ZWeFPOrg6xujhHyutnZn2ZhTYjFdRFCPjepfImmmJ+IX77AE0IIIcSZk2B9mATr8xCsT6RQKfDL7l/y+P7HmR+dT0+mh61DWxnJjxzVzlAGi6oWMS86j7gvTtKf5Iq6K2iLthHxyDZWp8W2IDMEnS84IdyuOEF8x2Pg9kClBJN9x498AwQSUL3UGflO9UDzFdB4GQRrnHtrloEneP4/k7jg2LYmW6qQmZrKXihbh9aQb9g/igLiQS+ZYpnf7BvF6zaIBTxkihVe603hcRsYSpEpVk5YCO5IPtMg6HEznitRG/HREg/gMw129jt7mC+qC+NxGbzSM8GlzTEW10Vwu2D/cI5VTdFD7UsVm+qwD49bvmgSQgghLkYSrA+TYD3LwXo6hUqBjlQHITNE12QXP93/UzYNbGJ+bD6d6U56M71HtQ+6gwTMAG9teCtt0Taq/dUsqFpAe7Qdv9s/S5/iTcKqwNAOyI06Vc7H9sFrD4M3CnYZxg/AZP/09/qrnACeH3dGvOtWOGu/8ylouxqqF0Oo1inEJsRZULZsMoUy2ZJFOl9m18AkhlKYLoOJXIkNHaNE/SYBj5uJXIlNHWNUBTyYboPU1FR3r9ugbNkUyicX0k2XIuIz8bidfVgo2XUAACAASURBVNDnV4dorPKjtWbPYIYr58VpSQSoWJrdA5OsW5SkOR7AsjX9E3nWtFVRH/HjdilchsJvumR2jhBCCHGBkGB9mATryy7Tm196aba7cUpeH3+dLYNbqA5U05nu5In9T9A72UvADDCcHz6qbV2wjoA7QLW/mnVN62gON9MUaqI50iyh+2wpFyE/CrkxGN0Lu59yArVVguE90POiM3qdHz9+6jmAMiDe7vxy+yE3AgtvhORC8EXAG3FGx90SwMX5c3Cq+2ShQr5sMZYtsmcgg9/jFGMbmiyytXucmrAXQykG0wV29KVJhrzYaEYzJYYmi7gMRekkR9IBIj430YAJGkazJVY3x0gEne3ZBtMF3jo/SU3ER8WyyZYqvHV+ktqID7/HoMrvwSvF4oQQQojzRoL1YRd9sF5ZVaVf7uzEFXlzTKfOlrM8vPdhOtId1Phr6Ex38kzXMxSsAtYxoa7aX01zuBmlFK3hVq6ov4LmcDPN4WZi3piMGp1ttgUTXdC1wVnLXUxB3ytw4Dln7XZhwhkBL6SOv1cZEEiC6XP2CJ93jVPxXCmn6vmC34Vog9MmmJQCbGJOcUKwxUSuRK5kkStZDE0W2DeUIRbwULZsOkdz7OxP0xIPULZsusZy7B/OUh/zUSjbjGSKTBZOvMUaQNRvEg96sG1Nplhh3cIk8aCXYsWiWLG4cXkd1WEfXrdBdchDMuw7D78DQgghxJuTBOvDLvpgvcLn149ccw1tP/oh7kRitrtzTmityZazVOwK3ZPdrN+xnoJVIOqJOmu6B7dic/SIksfwMD82n6ZwExW7wrLEMi6pueRQcTXZLuwcKuWc0e3MIPS9BAdegKo2yI9B38swvBuCCacgm1Wc/hmRBme9t7ahUoAl74VwrbNe3O2DeddCqAa8YQnh4oJSsWwyxQoHRnPsGZgkEfKQLpTZ1pNiR1+aRbVhJvJldvan6B0vkAh5mMiVZ9z3POx1kwx7KVVsLFvzjmU1JENO8bmAx8UNy+qoi/qIB0xcLllLLoQQQhxptoN1d3c3t99+O4ODgyiluPvuu/nkJz85bdv169fzta99DaUUbrebD33oQ3zmM585rfdKsJ7Gqtpa/eP6Bsy6Olq++++Y9fWz3aXzLlVMkSllKFgFutJd/Our/0rADOA23HSnu+mc7DzunqQ/yeL4YppCTvBeXb2axfHFNIYaiXgiMtp9PmjtjIAPvAr+mBPEDzwPg9shscg5HtjmTC3XTD8N3XA7o+H1q5313oWUc27RTc7It1V2prU3XOJUQ3e5z/vHFOJsGM8W2TeSxTQMRjJFNnaMcWAkS0PMz0imyLaeFGPZIm6XwUSufNz9SoFpGKxsilIX8TGaLRLxmbxndQP1UR8KmJcMkgh5z/+HE0IIIWbJbAfr/v5++vv7ueyyy5icnGTNmjU88sgjLFu27Kh2Tz31FPfccw9PPPEEDQ0NFItF1q9fz4c//OHTeq8E62msXbtWP/ftb9N995+By0Xbj36Et33ebHdrzrC1zb6JfeTKOQpWgT3je/jRrh+R8CUoWkW6JrvIlrNH3WMog8ZQIwtiC6gN1KLRXFpzKQtiC2gKNxE0pVr2eWfbUyPeW2FkrxOWM4Ow/5fOFmThWqdC+ui+mUfBUU6hNbcP6lY6wTsz7BRpm/9257iUdaao1650zsu2ZOICVKrY7BvOcGAki5paP/7sriFGsyVCXjcD6QKdo9lpt0pLhrw0xnyk8mXqoj7esbSWxpiffNliaV2YxXURDNmTXAghxJvEbAfrY91yyy187GMf44Ybbjjq/DXXXMN9993H9ddff1beI8F6Ggergg898L8Z/ed/RgUC1HzyE1R98IMoU4pFvZF8Oc+Lgy9iKINCpcCrw6/yRMcT1AfryZQydGe6KVmlo+5xKRetkVbmx+YT98UxDZPLai5jfmw+9aF6Kao226yKM3KdG4GOXzsBPFQD2RHY+3Mo5yEQh+wwjO2ffjsyAOVyRsN9Eahd7qz/nuiGqlZnT3D/1DMS853tyfxxZw25EBcArTXpfJmBdJGBdIFndg6RKpTxugz6Unk2HxinbNlUjknfHpdB/VTwnpcI8raFSRpifoYni1zSHGNNaxVBr8wMEUIIcWE4MmAOfOUrFHfuOqvP9y5dQt0XvnBSbQ8cOMA111zD9u3biRxTPysej9PR0UE0Gj0r/bqgg7VSygc8B3gBN/CQ1vpLx7T5O+DtU4cBoEZrHTvRcw8Ga6016Z/9jNRDPyH7wgu46+up+6u/Ivw7Z+dbjYvVZHGSTQObCHqCTBQm2Dywmf/p+h9aIi2MFcbonuw+rqiaaZjMj82nJdxCyBPCNEwur7uc5nAz9cF6Kaw211SKkJ9wgvi+Z5zg7Y04oXn3k07A9gScYD62H2de+kyUs+47Ps8J2mP7nIrojZeBLwbjHc609drlzoi4J+iMvgsxB2mtmciV6UvleXrHELlSBRT0jud5bs8wKMgUKseNfEf9JvmyxYLqEGtaq6iNeumfKHBVe4JLW6uoDXtxy3pvIYQQc8BcCdaZTIZrr72We+65h9/7vd877roE6yMoJ0kFtdYZpZQJPA98Umu9YYb2Hwcu1VrfeaLnHruPtdaa1COP0P9553/A4NveRvLP7sa/dq2EuXNgLD/Gxv6NJANJBnODPN/zPL/t/y3zo/MZzg9PG7wVipZICw3BBnxuH6Zhsq5xHfWheuqD9dQGa/G6ZJ3jnFUuOBXQc2NOEDdc4PZCdhR2Pu7s9W36nCA+sA0MEyr5mZ9nuJ314d4IZPqd0e+aZWAGYKwDWq6EmqVghqCcdYJ6uE6mqYs5oWLZ9KcKvPD6CLmyRbFsc2Aky7O7h/C6DdKFCqn80Wu+D84kn5cMsqwhSjzgYWiywDULq1nVHKU+4iMWMDHkz7gQQohzbC5MBS+Xy7znPe/hxhtv5NOf/vS0bdatW8f9998vU8GPpZQK4ATrP9dab5yhzW+AL2mtf3GiZx0brMEJ15O/+AWFXbuZ+MEPsFIp3A0NJP/8z4necjOGx3O2Pop4A6P5UbaNbKMmUMNAZoBnup/h5aGXWRxfzEB2gL3jeylYhePuS/gS1AfrcRtugmaQqxuvpj5YT3WgmqZQE3FfXL4ouZBYFWcEvG8roJ3Cbeke2PNzCFY74TrdAz2bnYBdKTiV1WccHVfgDTkV2OPtzrpwww0TndB6tXNOGTDZ7xzHWpygbvqdEC+BRZxHE7kSL3dNkCtVSBUq7BqY5Fe7h4j4TVL5Mr3j+eOmnAM0xvy0VwcJed0MpQvctKKe5Q0Ron4Tj9tgXjIoI99CCCHOyGwHa601d9xxB/F4nAceeGDGdk8++SRf/OIX+elPf0pdXR2lUon169dz1113ndZ7L/hgrZRyAVuABcA/aq3/coZ2rcAGoEnr40shK6XuBu4GaGlpWdPZeXzV64PsfJ6eT3yS7PPPg9a4Egmi7343kVtuxrdsmYSzWZYpZejL9OF3++nP9vNUx1PsS+2jPdpOf7afl4deJl/Jo48JWF6Xl7pgHQpF1Bvl8rrLqQ04I90tkRZaI63EfXEMJX/pvGBVypDqgnLOCdATnc4e4qFqJ5iPdUDPJgg3gFVyQvRkv3Ovtmd+rmE609BdpjPy3rgWwvVgl2ByEBbe4DxTW87ofPOVTmE3X8QJ5kKcZZZls38ky0Su7FQ4703x/N4RkiEPY9kSHSNZ0tPsAe43XVSHvbhdipFMkesX19AcD1AsW4xkStx8SQNNVX7chsJruqgN+6TwmhBCiKPMdrB+/vnnWbduHStXrjw0U+srX/kK73rXu45r+93vfpdvfOMbaK1RSnHnnXfOOML9Ri74YH2QUioGPAx8XGu9fZrrf4kTqj/+Rs+absT6WFprih0dVPr7Gf/BD8k8+yxojWfePCLveTeRm27C094uIXsOqtgV0sU0LsNFf7afR/Y+wnB+mMZQI33ZPl7ofYGyXcayLSr66L94ug03XpeXKm8VK5IrqA3UUrJKzIvOY1lyGbWBWpL+JG5DCg29qWgNxUmnWvrQzqmR7SyM7HFGxOPtTlgf2QPDu5wQXZyE7JAzUv5GgtXOenG7AsU0tF0D/igU0s7xonc626eVc4CC5iuc6fGekLOmXP49I05DoVxhIFWgL1Xg1Z4UL3dPUB32ksqX2TuYoXM0i8/jYjxbmrbaOUAi6CEaMClbNul8hbcvqSHmNxnPlUjny9x8SQMxv4dMsYJScFV7gpDPjdswcEkgF0KIN6XZDtaz5U0TrAGUUvcCOa3116e5thX4qNb6N2/0nCULVupdr796Su8e/od/oNTZSWVwiNzmzc5IdjJJ5KabCF17LYErr5Dp4heQil3BUAZjhTEef/1xspUsCX+Cwewgj+97HMMw8BgeBnODFKfZiipoBmmPtlMbqCVVSrEwtpBV1asOBe/6UL2s+b5YVEpOOM5POMF76DWItTrn+l+Bge1QtwqKKRjaAakeJ5gfrMJ+opHygwJJJ2hX8mBb0HKVc5wdcma+L/gd5zg/4RSNa1wztW496IyaSzAXJ2DZmvFskQNjOUplm+FMkR19aXYPTNJQ5SeVK7NncJKBVIFowCSVKzNZnGFngCkHM3VDzE/I6yaVL1OxNVe0xQl6XfSO57GB6xZVE/S66RnP4XEbXNWeJOR1M5YtEvS6mZcM4ve48BgGbrfMJhJCiLlAgvVhF0ywVkpVA2Wt9YRSyg/8HPhbrfUTx7RbAvwMmKdP4gO0VC/W3/+Hx7jmtsWn1a/8rl30fPhuXPE4pc5OdKEALhf+lSsJXXcdgSuvwL9ihWzd9SagtWZD3wbyVh634WYwO8gPd/2QqDeK1+VlIDvA/tT+ae+NeqMk/UmypSwLqhawJL6EuC8OGhZVLaI50kzSn8Tjki9kLlpaO3uNH9zubHA7jB9w1ncXUtC9AVK9UL3YOe7b6qwjD1Y7x9nhkwjmypnG7os6o+xu31TF9aizFZo/5qwp90VhcgDCNc4XAb4ouP2yN7mYVsWyGcuWyBSdQmt7BibpmciTDHnJFCts60kxkinQGg+SKTprxCcLZeJBD9mixUimOO0a8RMxFIR9Jn7TRbpQxuM2aE8G8ZkuOkdzhHxuVjZG8ZkGuwYmqQp4uLQlhs/tYmd/muqwl+UNUTxug46RDMmQl3nJIB63wchkkaqAh7qoD4/boGLbhL0mXtN1jn4HhRDiwiXB+rALKVivAv4DcAEG8GOt9ZeVUl8GNmutH5tqdx/g01p/7mSeO69+if7MLf/EVbfO57IbW0+7f1prdLHI+Pe/z9DfPYDZ2EC5q9u56HbjW7GC4No1+Fatwr96NWZt7Wm/S8xNWmsmihMUKgXyVp6udBc/2fMT4n5nr+6eyR5+2/9bwmaYbDl73NRzcPb4rg/W0xppJeqNki1nWV29mvZYOwlfwhkFDyQxDfmiRhxDa2dkvFI8HLxzY84e5IUUdPwKShmIHhHUrYoTmgupqRHvkwnmMeee3DgE41C7wjkefR2irYeDeqoHEu2QXDw1lT3oTIGXYC6mYduafNkiU6zQO55nIl/C53aRKVZ4rS9NoWzREPOTL1u82DGGpTWt8QD5ssXWrgkA6qI+8iWLPYOTGEoR9LrJly3GcyXOxl9nXIbC6zbIlyyCXjdVQROvy0X3eI6asJeGmB/TZbBrIE1LPEBbIojLULzcPcGi2hBtySAKeLk7xeK6MC3xALbW7OxPs7A2TGPMj601+4eyzK8JUhPxobWmf6JAcyJAPOB88ZotVkiEPIR9Ji6lcBngdhmyHE0IMSskWB92wQTrc2Xt2rX6Kx/5Hns3D/GW97Wz5qa2M36mXSqhXC6sVIqRb/0z4z/4Ad7Fiyi+vg/KzrYp7poa/Jdcgm/VSgKrV+NbtgwjGDzjd4u5T2uNRtM92c3TnU8T98XRaHaP7ebpzqdpCjdRtIr0ZfoYL44fd79CUeWrIuqJUrAKrK5eTWuklZAZwmW4WJFYQUOogYQ/Ieu/xakp5Zy13YUU9LzorBk/GLz3/LdTsC14RFB3e50p5oUUTPadxAuU8zxf1BlhjzZDcqGzd/nwHmd/8tpl4I06U+Nrlztr2gNxp9q7BAdxmrTWFCs2hbJF/0SBitZ4XAalis32vhSmS5EIeilWbDZ2jBLxmdREvBTLNs/vHSEe8lAb8VIo27zw+gjVYS/JkJdC2WLzgTESIS8Rv0mh7AT7iM+pvH6wEJzbpbBsPeP69TN1MPQrBbmiRTzkIehxY9ma4ckirYnAof71jOdYWh85tB7+wGiWS5pjRP0mE7kyHSNZ1rRVEfG5Gc+W6RrLsaa1ypmWnyvRM5ZjbVsVfo+b8WyJ/lSBy1pj+E3neCRTZGVTFJ/pIpUrk8qXWVIXxuM2yBQrFEoWLYkAptugXLGxbE112IfLUBgKDKWkSJ4QFxAJ1odJsF67Vm/csJH19/yWXKrE1e9fwOrfaT6r3/zqUgnl8WAXi4x8659JPfIIgTWXkX9lG+WeHqeRUpgtzXiaW/AuWUzg0kvxLl6C2dgg30JfpMpWmd5sLy5cTJYn2T6ynWe6nmF+bD65So5do7vYMbaDmDfGRHEC+5jRRoXCUAYtkRZqA7WYhknZLnNF3RXUBesImSES/gSNoUZi3hguQ6Y5ijOgtVMFvZJ31nd3vuDsUe4JOqPbux6HQGJqtHsU9v8S/HFweZwp8Acrsp+INwKRBqeg3OSgM009udB5R34Cmi6H6kUQqIZgwnm/EHNIxXLCfcmyAUW+VKEvlcdvujFdBplimdeHssSDHvymi1S+xGt9aRpjfgJep7jctp4UrYkgQa+L0UyJbT0TzK8O4fe4GMmUeK0vxfzqEF63wUimxN6hSdoSQdwuxVi2RNdYjoaoH6Ugna8wkikSC5jOapSyRa5k4XEbWLbGOlffBLwBj9vAbSgqlqZi2yRCXtyGYrJQoWTZh6rVj2ZKlCo27TUh3IaiP1WgXLFZUh/GbSi6xnKULc3KxiguQ7FvOIPWsLrZOd49MIlSikuaY7gMxc7+NG5Dsbophsul2NGXxut2sarJab+jL4Xf42Z5Q+RQ+7DPzeLaCC6XYvdAmojPw/xq5/d733CWmN+kOR7AZSh6xnJEAya1ER9uw2AkUyTkc1MV8OA2FLlSBb/pIuh1o5Q6VLlYiLlMgvVhEqynqoLveKGPbc/2MNqTof2Saq794GICkXO/3nXsRz8i++vn8a1YTnHXbjLPP4/O5Q5dVz4fZmMjwSuvwDN/Pt758/G0t+OurpZ/2YpDKnaF3WO72di/keZIM+OFcbYMbmHL4BaWxJcwXhznQOoA6VJ62vsNZRBwBwBYVb2KpD+J1hqX4eIt9W8h6U8S88aoDdQS9Ublz544+7R2prGXc07I7vgVeMJOOB4/AHt+5oxwK+VMMx941amUXsqCXZ7+mf64s0e5J+SMgLe9DZKLnFF2gJYroarNGXkXQhzHtm3yZRtDQcXWZIsVxnMlIj4PttaMZYuMZErURXxoYCBVYDCdZ14yhK2hdzxHbyrP0roIltZ0juTomcixuilG2dYcGMnQO1HgkuYYFcvm9eEsQ+kCq5oOHmcYzZRY0RjFsm32DWeZyJVYWh/BsjX7hrNkimUW1ISxbJvO0Rz5skVLPIBla3rH85Qsm5qwF1vDULqApTURn4lla1KFMlqDx+V8keB84TE3uAxnloPbUPhNFy5DkcqXCXrdRP0mSkF/qkA86CER9KCA/SNZ6qM+qsNetIbdg5O0xAPURXzYWvNaX5r26iANMT+2rdnRn2ZJXYSmKj9ly+a1vjQrG6M0Th3v7J9kZWOEuqifcsXZ1m9ZfYTqsJeKrRlKF2ivDhILeHAZCpdSRP2mzDi4yEiwPkyC9RHbbdm25uWnu9j4yH7cXhdv/6MlLFhTc177k3/5ZUr9/Xjq6yns3sPwAw+gLQtsGzuTOdTOCIfxtM/DnazGt2wpvqVL8ba3YzY1odwy/Vccr2yXGc2NEvaGGcmPsKF/A68MvcKK5ApGC6Ns6NtAR7qD1nArI4URhnJDx42CA7iVm7g/joGB6TJZW7uWhD9Bxa4Q8UZYnVxN3BenylclI+Hi3NPaKbTWvdHZJ7ycg8EdsO8ZJ4iXc87677H9zvpu2zr+Gb6os5d5y1WQWOAE7UrR2fosMd/Zp9wthQWFuBjYtsbSzmh9rlShYmncLqeI3VimhKW1M81eO8FdAbGAh4pts284g+kyqA45wXNHfxq/6aI24hy/0j1B2GdSF/Vh2ZrNB8YOFcqztWbj/jGSYS91ER8V22bD/jHqIl5qI07QffHAGHURH8mwl1LFZmvXOHVRH/Ggh2LFZntvitqIj4jPpFix2DvkFOYLel0UyjZdYzlifhPTZVAoW4xlS4dmJ5xqAcGZuAxFwON8EZDOl2lLBKkKeihVbHrGc6xtjZMMe8mVKvRO5Ll2UTV1ER8ly2Y0U+LqBUlqwl4MBabLIBnySlCf42Y7WBcKBa655hqKxSKVSoX3v//93H///dO2/frXv86//uu/4vP5ME2Tj3/849x+++2n9V4J1tOYbh/rH3/lRcb6s1hlm4Vra3jr7y8kVDU7Ixq6XMaanMRVVUVlaJj+L3wB5fFg1tdR3N9BbuNGjqrKYhiY9fX4VqzA0z4PT0srntZWPG2tuKqqZKRRnLSx/Bjdk92EvWFG86M82/UsXZNdLIgtYLQwysb+jaSKKUJmiNHCKJaeJrCAE7K9VZTsEiEzxOpqJ3gXrALV/upDFdLjvjgRbwRDSXErcY7YNhQmnG3PDvwawrWQHYWeTdC71Zk+PjngFIE7inJGyutWOVXa1VRAX/l+5zhcB6E6KcwmhLhg2bY+tEyhYmtyxQrDmSJet/PleDrvrLevCnqmpuEX2T2QoTkRwHQp+icKvNo7wbxkEFD0TeTZNeCMmGs0g+kiveN5qoImpYpmslCmWHnjGQKxgEky5HVmSGRK3Li8jv+fvfeOkus+zzSfm0Pl0DkBaKCRAWZQIkWRStbYlnY83qXttWXZu/b42Jpda1eWvcdn19bxzI7Wa3s0XsmSxgqWbCVKFilKYhAlBlAMAAGQCERopEYDnbsrduWqe3/7x6+J2MwAGuE+5/SpvlU3VXdXdb33/b7364haFGuyeuLeW/roT7rYhoZjaoStwFy63Cy1sBZCUC6XCYfDNJtN7rzzTv7+7/+e22+//Zz1vvjFL/LAAw/wve99j2g0SrFY5IEHHuCjH/3oWzpuIKwXYTFh3Wx4lHM1juycYefDJwDY9J4+bv7gAHboykljFr5P6amtKK6LZlvUDh1i6j9/GrO3F+G1aJ4akx8kF1DDYdRIBGtoFfbatQuiux+zvx8tnQ5Ed8Bbxhc+e2f3MlWeImEnyNVyPDryKKVWif5IP7laju2T2/GEh67qr1qSrqCcdrsrzQppJ82G9AYSdoL5xjx94T6GkkMk7IQU4mY0+LsNuPgUJ2F8l3TAi+Mw8nOYeFGK6MKYdL/9RWY3Jwdl6bnwZe/4+l+Ry05SOt9W+PI/l4CAgIArlJbnU6q3mK+1GM9VOD5XJuHKUL1js2UOThbpidvkKk2OzJQYz1VxDI1c9dWT/jd0y9L1Ur1Jue7xe+9azkAqhKkpxF2T7rhzeZ/kdcBSC+uzqVQq3HnnnXzhC19gy5Yt5zzW39/PU089xYoVKy7KsQJhvQiLCeuz2fnICbY/KGcTW67OjR/oZ+PdvZj2lXlFTAgBrRaKYdCam2Pmv3wGc/lyVMukuncfxR//GC2VwsvnwTvjMKqui9HbixqJYG9Yj71qFebAAEZ/v+znDpyYgItI02+ybWIb5WaZmBUjV8vx4LEH0VWdNqeNXC3HcxPPYWgGCJhvzi+6HxWVlJM6Leb7In2sSqwibsXJ1DIMxgZZHltO3IoTtaKk7BSO7gRiPODt4fuQG5HjywpjcOQxmB2WznVhTDrireqF27kpKbR9T44tG/qgXDZCcixZvC9wvQMCAgJeB88X5Mp1Jgo1CtUmk4Uau0ZzHJstEbF0Jgs1RubKFzjiqgKb++IsT4XIlOuETJ0/vHslg+0hfAEhUws+H7wFzhaYP//uYeZOlV5nizdHui/Mu+4des11PM/j5ptv5ujRo3zsYx/jr//6r895vFgsMjAwQC534bSdt0ogrBfh9YS18AUTR/LYYYNtPzjGiX0ZdFNl0z29bLy7l3DCvoxn+/YQvk9rZkY615ZFefsLzP3DP+DcfBOi3qC6eze1fftA084R3YphYPT0oLe3o8ViWOvXYy0bwOjpxejtQYvHgzeigEtKw2vwzPgzIMDWbTK1DN8/8n2SVpKIFWG2Msu2yW2EjTACQaFeQLD4+5ehGsSsGNVWld5wLwPRAUJGiGwty5rkGgaiA0TMCKZm0hvqJeWmcHU3+BsPeHPU52X6eWEMDv4ICuMQSsvlk89Dswrnt0+oBsR65HzxSCcM3iOFd7MG7Wug55bA9Q4ICAh4g1QaLcZzVUbmyjx3LMPx2RJNTzCaKTNRqJ1eT1FkgF3Y1vnNLQOs745SrrdY3x1ldWd0CZ/B1cGVIKxfIZ/P8yu/8it89rOfZcOGDafvD4T1ZeL1hPXZCF/wzU9to9XwqRTqKIrCipva2PyePjqWX/0lqV6pTH34EObgSvz5IsVHHiH37e8QvutdeLk81ZdfpjVx4axa1XUx+vrQ02m0ZBJ7w3rMvn6M3h7M3l5U112CZxNwPVNr1Xhx+kUMzUBXdSZLkzx0/CG6I904usNEaYJnxp+h3ZXhhJlq5lXL00EGtqFAV6iLzlAntmaTq+fYmN5IX6QPW7Pxhc/KxEranXaiVpSIGQn6xQNeHd+XvdyFMdj3r1AvyHFirzjgwpfBa+cHCDoJGawW6YLeWyDUBvmT0LEB+m6FcIcU6MkVoF2ZlVUBAQEBS02t6TGaqTAyV2J4qsTPfE7vxgAAIABJREFUDk4zXawxV6qfnjdv6Sp3rkyzuS/OaKbMhzZ3c/fqyxtqfDVwJZWCA/zVX/0VruvyJ3/yJ+fc39fXx9atW4NS8EvJmxHWIMMdGtUWjWqLXY+OcuAZKTQTnS5r3tnF6i2dhGLX5uiW5vQMtZf34dx0E62pKfIP/IDiI48Qed97aU1MUt23Dy+bvWA7LZnE6O1FTybQ29qxN2zA6O7G6OnG6OpCdYJ+l4Clpek3mSpPoSkaDa/BieIJnjr1FP2RflRF5VjhGM+OP8uy2DI832OiPMFUeQoF5VWdcYCIGSFpJzFUg3KzzPrUejpCHaioNLwGG9o2kLJTRIyITFG344SNcJCkHiDxWlCagkMPy7FiCpA/BcMPy+Ry4UNpBlq1RTZWINwuhXdxAtrXyvA1OyrHl3XfCG1rwIrJkWaJAZmOfpVfIA4ICAh4O1QbHgcnC2w9PMehySLH58ocXZh/riqwqTfOzQMJDk4W+aO7B7lzVdtSn/KSs9TCenZ2FsMwiMfjVKtVPvCBD/Bnf/Zn/PIv//I5633+85/nRz/6Effddx/RaJRSqcT9998fpIJfTN6ssD6bYqbK8/cfI9UTZvTlDFPHC6BA39okQ7d1sHxTGsu9csLOLjWNkyepHT6Me+ONNMfGyH7jm1R27SJ8xx00x8eo7tmLXy5fsJ2WTEqBHYlgdHRgr1+H3tUlxXd3d1BqHnBFUmvVUBWVaqvK8fxxdkzvoD/ST8NvcDBzkO2T21mXWkfDa3A0f5RjhWN0uB2UGqVX7RkHGeBm67LFZEVsBXE7jhCClt/ixvYbiVtxDNUgZIboi/QRM2PErBgRM4KuBg7ldYfvQ34UqjkpsAvjsvTcish+7cK4LD03XWg1Fkk8PwvNksK7Pi/HjsUHQNXl/rtvguQyUDQoz0HXZlm2rtvSIY92y22D9+qAgIBrjEK1yY4TWV44nmX3qTwvncrR9OSM8S0rktzQl+D4bIk//eCahVT064ulFtZ79+7lox/9KJ7n4fs+9957L3/xF39xwXpCCP7mb/6Gr3zlKxiGgWEYfOITn+C3fuu33tJxA2G9CG9HWJ/PM987zN4nx3CjFuV8HVVV6B6Ks3pLJwMbUzjh63sOam34MM3JCeyhIZoTE2S+8hUaY+NSiE9MUNm1C1GrcX7Uo+K6GN1dsuS8qxt73boF0S3Ft97ejqIFDl/A1cNMZYZD2UP0hnuZb87z4vSL7JzayZauLcw359k1vYtDmUNsbNtIsV5kdH6U+cb8G3LIY2YMFNAUjXXJdcSsGL7wcQ2XVYlVp4X4K19RMxoI8uuJRhVm9ku322/JMvKjP5M93YoKuVEYfU6WlCOgPAulafnYInPtz0FRZZJ6qw6JZdIt9z2Yn4Sem6WD3qrB/DT0bZHjzbwm1ApSqDtJuQ9Vg0i37CfXrUCsBwQEXFFUGx7bRzL8/MgczxyZY3haXizvSzj88uZuhtojNDyPD2/uwTGv/c+nSy2sl4pAWC/CxRTWAOVCHTdiMn2iyGNf2U8pV0f4AhRo74+wfHMbAxtTpHvDgQt7HrXhYbxyGWv5cprjE8z+/d8jGg3sNatpTkxQ2vo0CIFoNs/dUNcxOjpQbBuzrw9r7ZrTbrfRJQW4al89IXMBAedTa9Uo1AuknTTzjXlemHqBw7nDbG7bTKFR4KmTT3GieIKbO26m0Ciwc2onuXqOTreTQqNAoV54zf2bqomlW6cd8KbfJGyEGUoOEbfimKpJm9tG2kkTt+KnHfKgh/w6QQjpjLcqUJiA6X3gJuV92WMw+jykV0nhnTkK4y9CaoUsZZ+fkOLdTUtRXZ+/MLTttVBUefxwu3ThvYYU4t03yjT1WkGGxC27U4r6SlbOKl9+l1yu5qTQ77kJDBeadVnPmVguH9dteX/Qjx4QEPAWmSxUefTlKX52cJrtx7O0Fpq0/+CuFfz6bf3oqkIiZF6zM7YDYX2GQFhfZGF9NpnxEqVcDSdicmLvHLt+Morfkj9TJ2LQORijb02S7qE4ya5QILRfh/qxYwAYXV00JyeZ+vSn0SJRzP5+mhPjFB96GNVx8KvVc+Z3A2ipFKplYQwMYK9ejb7gdhtdXRhdXWiJRPDzD7im8IV/Wvgezh5mujLNsugyCo0CPz72Y3L13Glh/ujIo9RaNQbjgxQaBQ5lD+H7Pj4+/qu4lAoKCTtBzIrR9Jok7ASD8UHiVpym16Qj1EF/pJ+YFSNuxYnbUpAb6vXTHhOwCF5TlpJrphTauRMwe0iGrXkNmDkIU/ukcG7VYOYATO+XjnezCnOHZWl6erV8vDgO1bzsD2/VXqXf/A2gGlJo+y0p5BPLFoT6nLxg0HWDXM6flOv33ird9NxJOUmj+ya5XJgAw4L2dXK5kgUzJGeg67bcvxmWZfO6LUvtg/89AQHXDIVKk58enOK+HafYNZrDFxC1dUxdZesn7yZkXXv/AwNhfYZAWF9CYX02vi/Y//Q4hq0hfDh1KMuRF6ZPP+6EF4T22iQ9QwkSXcF4nzeDEILm+DiKrqOn0zTHxpj69Kcx+/rR0ykaIycoPPggWjKJX6nIkvOzUCwLxbIwB/qxVgyid7SjJRKYy5bLkvPOTtTo1Z/8HhDwRpitzNL0m3SGOplvzPPg0Qdp+S1WJlaSr+f5zqHvYGkWK2IryNfzPHnqSVzdxdItCvUCda/+qvsOGbL/LGkn6Y/0E7fjlBollkWXMRgfJGkniVpROt1Okk4SS7s2wyADLhH1khTuVkSmqmePSbGbGpTLk3uli965UQr1sZ1QnpGl6M0ajO+CWk4GuzWrUug3KxDuBK8ug+D8lhTFrZr8/u2iajIRXrel2264csyabssLD05CVgToNkwfgEgHtK2Vwn1yj1y3bY1cnn4ZYv3y+eo2ZI/L/vdYr7yYUc3LEn03CZoh++oNOxD3AQGXgKlCjR/sHucb20YZy1WJOQa/dmsfI7MlfvP2gWsmYTwQ1mdYEmGtKEoC6AaqwAkhXq9x69JxuYT1+dQrTXb/7CTpvgiNaovju+c4sXfu9ON2yCDVG6Z7ZYz2ZVE6lkVxItd3j/bbQQiBl8mgGAZqNErjxAnmvvBFrJWDqLZDbfgQhfsfwBwYwK/XaU1PX+B6o2kYXV2Y/f1o6TRqOIw9tAqjtw+jq1OK79D1F1oREOALn6bfPC2Cnzj5BIZq0Oa2ka/n+ad9/0RHqIPucDe5Wo4HjjxAR6iDiBkhW8syXhp/1X2HjBCe79Ed7mZ5bDlxK06xUWRDagMrEytJ22k6Qh0k7ERQmh5w+alkZN+66UqhPX1A3ka7ZQn6qe3S8U6ukMsjW6WQTq2Sy8eflAI4uUJuN/qsFNbRHrk8uRt0Z2HMWk065pohne6LJexBCmzNhGZZuv9OUp5nYUyK8kgnoMLcMKSH5H1CSCHfuQFifbKffnr/mWA7rwXZo9CxUV4MeCXlPrVKznQXQl60iHSDHZHHV9RA5Adccwgh2Dma42vPnuDRl6fwhGBDd5RP/7tNrOmK0PR8XPPqLRM/ePAga9asua7MJyEEhw4dWjphrShKDPgY8BuACcwCNtABbAM+L4R48qId8A2yVML6fEq5GvufmaBvbZLCTIXh7VOMD+fleJWFX4MbNekajNGxPEbH8gjp3gimc/W+EK80hOeB76MYBo3JSfLf/R72mtUgBJUdO8nf/32cjZvwazUao6P4hQv7VtVQSCaZJ5OojoO9ft05wlvv7Az6vQMCzsLzPY7mj+LoDpqqMVGa4IEjD9AeaiekhxgrjfH46OO0u+0IBLOVWQqNRV57ikq7207CSlBqltiU3sTKxEriZhxDM1iTXENvpPe0Yx4QcE1QL8kSekWRqe8zB6UDbYakA3/yeXBT0qFuVOD4UxDtkq51owTHnoR4n+yBrxfhxDNSJDsJuTy+S85MN8NyOXNU7kvRpSiuZmUZvd983VN9wxiOvLgghOyhj/fL0vlWTVYMdG4COy779XMjMPBOuVzNSYd+xd3y4kAlIy9ErLhbVjBU87I6of922Z/fKMt9pofkMVHO/Oy0a69cN+DKYCJf5RvbRvnm9pMUqk3WdUU5lavwo/9wJ8uu0kTxkZERIpEIqVTquhDXQggymQzz8/MsX778nMcup7D+KfDPwI+EEPnzHrsZ+AiwTwjxlYt20DfAlSKsz6cwW2Vkzyyrb+8kN1lm16OjnNyfJZywKOXOlFlGUjbp3jCp3rC87QkTSzso6rX/h72UNKdnKD/3LPbatfilEvNPPUXhwR8SvvMOvEKR2sGDtCYnF91WSyRkWblp4mzciNHVhZ5Kyb7vzk709vag5zsg4FVoek2O5o+iKip1r85wbphHjj9CX7SPlt/iWP4YBzIHsHWbaqt6wfaO7gCwOrGaZbFlhIwQLb/Fls4t9Ef76XA7iFmx4PUXEPBmEEKWzlcyZxLkawUpdN2kdNjLs9LRj/dJd3p+Upayp1fJ5eKELNVvWy2FbXFC9tinh+Q+56ekkI73y+NVMnKfTkJeXGhWZA//xUDRFp6HB6F2WWbfqsnn2Llxof8+I8X5wDvlhYDihFxn2bvk46Vp6eL33bYQpJeXFyHaVy9cOPCl4DfDgUt/HTJfa/L1507wxa3HKdVbvG9tO3/6wTUowEAqhKlfPRVYzWaTsbExarW3mHFxFWLbNr29vRjGuRfhgh7rK1RYn0+t3CQzVqJndYJKscGT/3KQsUM5BjalyYyVyE9XTq9rWBqJTpd0b5hkd5hEp0uiK0Q4YQUfFi8TrUyG+uHD2Bs34s3NUXjkUeZ/8hMi738/rZkZytu20RwdRUul8LLZC0aMoWmojoM1NITe0Y7qhtDTKaxVQxgd7egdHejt7YH7HRDwKgghqLaqDOeG2XpqKz3hHuab8+yd3cuOqR10hbrI1XLMVmcXHWHWE+6hO9yNqZrUvBr39N5Db7SXqBGlM9RJT6QnKD0PCLjSEEKWx7fq0tGu5UE1paM+P7lQ2t4vl7PHIHMMum+Q688eko583+0LZf0vy/FzfbctLO+X4r59rRTxuRPyGE5CCu5G6fVH0i2Gokmh7TelmI/3nxHmmrkg5F15UcFwoecWOYouNyqd+p4bpTgvz4KTgvRKKdgVFayYDNcLuGIp1pp8/dkTfOnnxyk3PCxd5a6hNr74Wzcv9akFvAUup2N9APgW8G0hxLGLtuO3ydUirBejXmliufJKyQs/Ps70yDyDN7YxN17i8PYpGrXWOe/xmqGS7AqR6HJJdIZIdsrvo20OmhZ8QLyciEaDViaD0dWFaDYpPPIIlRdeIHznu2jNzFD40Y9oHD+OvX49relpGmNj4F04okaNxTDa21FsGy2ZwFm/Hr29Hb29A72jHaOjAy2ZRFGD329AwGLkajn2zu4lbIbJVDPsmNrBjqkdDMYHmavOcTR/lGKjeMF2mqLR7rZjaiZNr8n7Bt5Hh9sBCoT1MO/ofgdpNx2koAcEXC/4nizNVxQptLMjslQ+3AGtKkztla51coUU5qd2SDGeXiXL9k9tlwI/uVxuP7VX7jPcLtcvjANCivc3LOAVGYxnhmSpvB2TxzNDMHdEZgF0bpTrzA1DcqW80GBHoTgpQ/BSg/LxoP/9kpIrN/jbx4b51vaTRB2DP//FNXxoUzcz8/WrtkT8euRyCuvNwK8D9wIZ4NvAfUKIiYt2kLfA1SysX4vju2dp1Fr0r0uRmyzz2FdeRjd1Ym02uanKOeXkqqoQTlokukKkesLE2x1ibS6xdgc3agYu9xVAZe9emidPYq9ZQ3N6muy/fIPW1BTuTTfSnJ6hsm0bfr0uA9fOD13TdVTXRYvHsVcPoaXTMgG9uxujvx893Ybe1oaeSqLoQc9+QMD5lBolal6N6co0L0y+wL65fQxEB5guT/PSzEvMVGZQFZWad960ARQszUJVVDamN5J0ktRaNRzd4fau20k5KcJGmK5QFyknhakFAZUBAQGvwytl99njsm/edKVAP7kNEFLIN8pw7AlZwh7ulI+PPC3XdZJyeeagdMRBLr8RrJgMrrMi0t1vWwMd66RjPnsIem+R4XV2XF5k6Nwgg+oC3jAvjxf41A/3s3M0R1fMJlOus/WT99AVc5b61ALeAEuVCn478GvArwLHgG8JIb50SQ72Olyrwvp8Wk2PRtXDjco30ce+8jJu1CLdFyY7WWb3T09i2jrNmofvn/m9G5ZGrN0hkrRJdIWItTnE2wPRfaXRnJrCr1Qw+/tpZTJkvvQl/EoFe916WjMz5O67D0XT0FNJWjOzeIsErwFo6TR6Wxv4PkZPN9aqIfS2NrRkEqOzQwrwtragBD0g4DyEEBQbRXbP7OZo/ihxK850ZZrnJ55ntjpL2kmTrWWZKE3giQurTwAiZgQFBUd3WJNcQ8yKUawXidtxNqY3Erfi6IpOR6iDtJMmbseDcWQBAQFvH9+TpeXNshTu1bwU4oYjxXg5A8cel2Xvr/SXT+6WIXB+SwbbvZqLbobPhMm1r4f2NXIfmWMw+B45sz6Ulq54tDtwxZH/T77/4jif+uF+Gi2fT314Pb9xWx/lhkfYCgyQK5kl7bFWFOVu4DPAOiHEa346UBTFBp4GLEAH/lUI8ZeLrHcv8ClklvYeIcT/+Fr7vV6E9Wvh+4KTL2cIJSxS3SGyE2V+8JmX6FmdIBy3yE6VGTuYQ1HObQXWDZVYhysd7nb3jOhuc3Bjgei+0hCt1mlHuvjooyAERnc3rdlZZj/3ObREErO3l+bsLOWtW1EcB1GvL1qCzsK8cLO/H72tDSEE1vLlmAP9p8W3nk6jxoIQqICAs6m2qmSqGQAytQw/OfETivUifZE+MrUMW09tpSVaJO0k+Xqe6fL0oj3gr6AqKo7u0BXqImJGyFQzpJwUQ4khImaE2crs6VFlETOCqqi0OW3ErBgRM4Kt2cFrNCAg4O3he5A/JQV2owyFUzDyc1lS7nuQH4WxHVI8N6uyH3yxJHkzJHvgrQiUZmDoA9B9Ezhx+al+xV1yneuEiXyVT/7rHp49muEdK1IcmCzwN//9Zj6wvnOpTy3gVbjswlpRlFuRI7d+FRgBvgN8TwiReZ3tFCAkhCgpimIAzwB/LITYdtY6q4DvAu8RQuQURWkXQsy81n4DYf3qCCFQFIV6pcn+n0/QszqBHdI5dTDL1m8dpn9DCgXITpSZz55bAqlqCtG0Q7zdIdrmEE07xNLyNpq20c0gTONKRQhBa2oKRdfRUilas7PM/cPn0bu7MdrbaY6PkfnqP2EuW4bqurSmpmiOLz6HWDFNtGQShMDs78cY6EeLxVEsE2tgAL2jEz2dQkul0GKxoBc8IOA8crUclWYFXdXJ1/M8MvIIAN3hbgr1Ag+PPIyjO7S77ZQaJV6ceRFbs9FUjVKjREu8/pxjR3dI2Slcw2WuOkdnqJPecC+O7jA2P8ay2DL6In1YukW+lqc30ku7246ru1iaRcyKETJCuLqLEYwpCggIeD2EgEpWhsGVZ2Qw3MjT0rmuFWB2WJa6Cx/OvrComZBYJl3wahY2/4YU3pFOOUIu0nnNOd6+L/j68yf4fx45hAA+c+9mfmlT91KfVsCrcDl7rP8zsvw7ixTT9wkhxt7ivlyksP5DIcT2s+7/f4HDQogvv9F9BcL6rdGseygq6IZGfrrCiz85wapbOhACju+ZZf/TE3QPxamXW+RnKnjNc0uErJBOosM97XRHzxLdQYn51YVfr1Petg2jqwvFMKgfOULmK1/FXr8ezXWoHztO6cknMXp6Toe2XdAHDqBp6MkkaiwGQmCtWonR04MWj6PFYhjdPejpFHoqJceRBf3gAQGviRCCvbN70RQNx3AoNor88OgPSbtp2pw2CvUCPzr+I7pCXcStOMVGkRemXiBlp7A0i1KzxFx1DgXlNV3z8wkZIWJmDFMzydVy9ER6aHPaUFCYKk8xmBik3W0HAXPVOQbjg6SdNKqiUm1V6Qn3ELNiWJqFozu4hout2di6HSSxBwRcT7TqMsl9YjecfA40S7rhk7vl/eeXn3dtluXmr1zgu+PjUohfAxftj0zP8wff2MXJTIVPfXg9U4UaH9zQyYae2FKfWsBZXE5h/RfIRPAjb2MfGrALWAn8gxDiz857/AfAYeAOQAM+JYR49LX2GQjri4/X9CnMVYmmpDM9fjjHrkdH2fzePurlJod3TDO6L0PH8ijlfP2cIDWQ6eWhmEmyW87klo63TazNIZKy0Y3A7b7aEI0GIB3s5twc8488grVyJSgq1b17yH//ftxbbwEhqA8fpvbyy2jpNH6xeHrb89HicfS2NGooDKqKvWYNemcnWjKBnk6jp9Kn3XDVDEKhAgLeLL7wmW/Moys6qqqSrWbZMbWDtJPGMRxmK7P8bPRnrIivIGpGmSpP8dTYU6yMr8TVXWYqM+yZ3UNvpBdDNcjX80yWJ3F1l5bfouEv/tp+LRQUImaEkBFCQaHULDEQHSBiRmh4DbK1LGuSa4iYEaqtKvlanrWptYSNMHWvTrlZZmViJSE9hC98fHw63A4c3cHWbSzNOudLU4P/NwEBVyRCyKTz2WE4/gSMbpMCeuYQlKbOrGdGwE3IGeLv+0vouVn2hjvxq87dLtaa/PG3X+LJ4VkcQ+P33rWcT3xg9VKfVsBZXE5hfacQ4pnXeDwK9AshXn4D+4oDDwD/y9nrK4ryY6CJTB7vRfZkbxRC5M/b/t8D/x6gv7//5tHR0bfwjALeKvVKk+xkhc7lURRV4dC2SfZtHePWf7OcYqbG8LZJZkbnSXaHKM5VaTXOuiKpgBsxZT94V4hIyiaScoimbCJpm3DcQg1Gh13ViFaLViaLloijGAa1/fspPvww7m1bELUa5eefZ/6nPyX0rjvxy2Xqh4Zpjo3JnvBqdfGdGgZGdzd6Oo1iGii6jr1uHXoqLQV6OoWWTKIlk+iJBIoRlLMGBFwKWn4LBQVN1SjWi4wUR0haSVBgojTB7pndDMYHMVSDE8UT7Jjawea2zWiqxkhhhBenX2Rz22YUReFk8STDuWFWxVcBMF2ZZroyTbvTTtNvUmqWaC7Wx/kmCRthTM3EEx4tr0V/tB9TMyk3y9S9OmuSa7A0i0K9QN2rsz69HluzydfzCCEYSg5haRbVZhVN0eiJ9GDrtgyq0xxCZghbtzE1E1uzMVQjqNoKCHg7VHMwtguKYzC1D4YflmXnrzjcmilngr/jY9BzE7hpmXBuXPnBrJ4v+NvHhvnCU8e4dVmCf/zILZi6SigINbsiuJzC+jPAFuBRpOs8C9hI9/keYAD4hBBixxvc318AFSHE35513xeB7UKIf1pYfhz4P15rn4FjfeVRytXIz1TpXZ1ACMGOh0Y4uT/Lxrt7Kc5VOfT8JOV8HSdiUsrXz2m/UVQFN2oQjtskukNScKfshVuHUNxCVYMPLNcSXqlEc3wca9UqRK3G/NatlB5/gsgv/AJeNsv8E09Q3bWL0J134GVz1I8cwcvl5JXtxUrSAcUwZBl6MomiaSiOg71u7elSdemIp9ASSfREHCVwxAMCrghe+dyiKAqVZoV8PU/STtLyW5yaP8VIYYShxBAt0eJw9jDDuWFu67yNht9g/9x+hnPD3NlzJ3Wvzr7ZfYwUR3hH1zuoeTUOZg4yUZpgU9sm6l6d44Xj5Go5+iP91Lwac9U5Gl4DQzXekhv/Cq+MafOFj6ZqpJ00lmZRbBQxVIOB6ACWZjFdmcbRHVbGV2JqJlPlKcJGmBWxFVi6RaaaIWJG6A33YukWtVaNiBE5nSZ/vkMfuPMB1zStOky9DOO7YP8Dsof7bGfbjsNNH4Fl75LCu/cWGaJ2hfLg7nE++a976U+61JoeH33HMn7/rhVLfVrXPZc1vExRlCQytOwOoAuoAgeBh17LzV7Ytg1oCiHyiqI4wGPAXwshfnzWOh8EfkMI8VFFUdLAS8ANrxWMFgjrq4/MeIlKsUHf2iRey+epbx1iPlNj6NZOinNVDjw7QavpY1oa5cK5H25UVcGJGqfHh70iuKX4dgjFTJRAeF/TtDIZmlNT2GvW4BWLFB99lNq+lwnfdRdeLkvhoYdpjI7i3nIzXjZHbf9+/EpFbvxqQtw0Mbq6ZFAbskzdGhpCTyakEG9rQz/bEQ+EeEDANUfdq1Nr1YhZMXzhM1ocJVvL0hvupeE12DO3h1wtx7rUOuqtOtuntjPfmGdT2yYaXoNnJ56l2qqyKS2F+7bJbTS9JquTq6l7dXbP7AagJ9xD3aszUhhBURRCRohaq0alVXlb56+gYGomMSuGoztkq1kSdoLucDe2bnOyeJKuUBf90X5szeZE8QS94V76on3Yms1MZYbucDftbvvpCwNxK07YDGPrNo7mBOF2AVcWtQKMvwgvfh3mjsDcYfAWPjdGe+DW34OV74VmHXpvhivs4tMzR+b4/X/eiaEp/O29m/nAuiAtfKlZ0nFbbwZFUTYBX0f2TqvAd4UQf6Uoyl8BO4UQP1xIDv874IOAB/zfQojvvNZ+A2F97TEzWsRrCboGY7SaHo99eT+KptC3Jsl8psbeJ0+hGxqKplAtnie8dQUnbBJN2yQ6Q0SS0vGOJC3CCZtQwkILSs2vK5rTM/jFAubgIF6hQP7+B2hNTeHecgteLkvuu9/DL5VwNqynlc1R3b0b4XlShC82qgxQLAu9swM9kUT4Pno6jbVyJVoygRqNYrS1y17xBTGuWsGs4oCAgHMRQpx2tQE5mk0IIlaEulfnxekXURWVnnAPNa/GU6eeIqyHGYgNUPNqPHbiMRJWgmWxZaeXU3aKnkgP1VaVZ8efJWknSdgJqq0qw9lhXMNFV3VqrRp1r/46Z3ghqqLi6u7pUvqUnSLlpNAUjenKNP2RfjpCHSgoTJYnGYwN0hHqQFM05mpzDMYGaXPbMFQDX/i0uW1EzSiu7uLoTuC6B7w9mlUYfQ52f1O623PDZx5b9i6460+g+2bZ6244AAAgAElEQVTAl7O5rwB2nMjyu/+0g0TI4Fu/dztzpTqbe+NBdeYScdUI60tFIKyvP6aOF9AMlba+CI16i4c+t5d4h0NbX4TiXI2XfnYSN2IihKA6f15/ngKWqxNNyVFi4aRNJGmfvo0kLUxHD/rjrmOa4+OIZhOjvx+/WCT7L99AeC3sdevwslmyX/s6im1jrVhBK5ulsnMniqZJMd5afDSSYpro7e1oyaTcd3cX5rJl6MkUajiM0dkhe8QTSemSu+5lftYBAQHXE77wmShNoKs6pmYy35hnx9QOknaSmBWjUC/w5Mkn6Y30knSS5Gt5Hj/5OCtiK4jbcXK1HM9NPMdAZADXdMnX8hzKHqLNaTs9Kq7QKLzpRHpDNQgZIXRVp9ws0xfpI2El8IRHppZhXXIdCTtBy2+Rq+VYn15PwpZtZw2vwUB0gKgVxdZsXMMlZIRwdAddDfpXr0vmp+DQQ1JoT++HVk3O0W5U4Jf+Dm7+nSvCxd5zKs9vf/UFDE1hrtTgUx9ax+/csXypT+u6JBDWgbAOOAvfF0wfL+BETOIdLpVinUf/28t0rYwRa3PJTpbZ8/gpYu0OQkApW8P3zn2daIZKJGERbXOJJC0iKZtw4hUBbgUBawHn0Dh1CkXT0Lu68ItF5v7xS2iJBNayAVqZDHOf/wJGby9GVxetbIbKc8+jhkKIRgPRXDyYSTEMtLY0WjwBCyLf7OtDS8TRIhG0zk6MBTdcSyZRQ6HgYlBAQMAVg+d7zDfmsXUZJjVXnWP/3H7a3XZUVWV8fpydUztZmViJoRmcLJ5kx9QO1qbWoikap+ZPsX9uP4PxQUAG202UJohbcRp+g0qz8qYEu67oCASdoU4iZoSW36LUKHFD+w1EzSjVVpX55jy3ddxGxIrI0DwBq5OrCRthXMMlYkZwdCcYGXe10qjAsSekyD76M1kyHumCttVgReFXvwL60rV5HZws8ptf3o4Qggc/dif9qeAC+1IQCOtAWAe8CTzPJztRxo2ahGIW85kqT993mIENaeyQweSxPHufGKN9WRTf8ynO1WhUL3QhQzGTaNohlLAWnG6bUNwinJAl507YCHq9Ay5A+D7N8XFUx0FLpWhls2S/+lXM/gH0tjYaY2Nkv/xlrDVr0BNxmhOTVHbsQI3FEPU6olZbfMe6LsPYolGE72MuX4bR3Y0WjaFGIxhdXafnh+vJJGo0GgjxgICAq5Zyo8x4eZy4FafpNzlROMGBzAHWJNfQ9JsMZ4fZO7eXWzpuoek3OZg5yKHsITa1baLaqnK8cJzJ0iRd4S7KzTKFegFPLN76czYKsicepOu/Mr6SkBFivjGPJzxu7riZqBml3CxjaAab2zYTNaMYqkHKTpF0kliaFbz/LjXNGhx+BPbcB0d+ItPGe26WPdnRXui5cUmCz/acyvPr/7iNle1hvv4/3coLIzk+uCHou76cXHZhrSiKC3wCOVrr9xVFWQWsPjuE7HISCOuAi4nv+ZRydeywgWnr5KbKvPTYKIM3daAoMLJnjpefHmdgY4pW3SM7VbmgzxtA1RRCcQs3akr3fKHsPJywCMflrRM1gx6agNdEtFo0p6bQolG0aJTGxAT573wHa80atFCI2qFhct/+Ns5NN6FaFo2REaq7d6Ol04hK5Uxo2/loGloygRaOgALmihUYHZ2o0ShaPIbR1b2QnJ5ES6VRQ27wQTAgIOCapdqqkqlmCBkhys0yw9lhThRPsCqxilKjxEszL3Fy/iQb0xspN8vsntnNbHWWwfggpWaJkcIIlWYFS7NeN4TOUA00RUNXdQbjg0TMCLlaDld3ubHjRmJmjFKzRMpOsT69nrgVJ2kncXQneB++FJTnYN/3YOdXZfgZinSxf/N7EO+/7Kfz+MFpfv+fd7IsHeL4bJlHP/4u1nRGL/t5XK8shbC+Dzlu67eFEBsWhPZzQogbLvrB3gCBsA64nAghaFRb6JaGpqnMjZU4/MIka97RTavhcej5KV5+epwN7+6hXm4yPVKkMFtF0xW81rmvR0VVcCIGdsgg0ekSTkjBLZ1v+b0bM4OwtYA3jGg2ac3MyPJwx6E+MkLhBw/i3HILClDZtZPCgz8kfNddCK9F/cBBagcOoHd348/P48/PL7pfxTTlDPFQCEXTsNesQW9vl0Ft6TR6RztaKiVd8XgcRVv6nrWAgICApaDltziSO8J0ZZqUnWK+Mc+zE8+Sr+dZHltOsVHk+fHnqbaqdIW7KDaKHMsfw/M9POG9aom7qqiknTQJK0GhUSBlp9iY3kjCTpCtZemP9LOpbRNpJ306zT3gTSAEHN8KP/9bGYCmKLD2Q1DJwS/+DbQNXbZT+db2k/z5A/t491AbX/vdW4MLKpeRpRDWO4UQtyiK8pIQ4saF+/YIITZf9IO9AQJhHXClcfYc1uxEmYmjedbd2UW90mLP46c4vH2KGz8wQDlfZ2TPHNmpMvE2h1K+Tqtx3jgoBSxHJ9buEo5LoR2KW4RistfbjcuSdssNAtcC3jyi0aCVyUjRbBjUDhyg+NOfEb7zDvxKhfknn6L0+ONE3v9+/Pkild17aI6OoqXTcpb4q6SmvyKyFctCMU2cDevRUmm0aBS9o/3MHPFUKkhMDwgICEB+dhAI5hvz7JraRalZImpFydVyPDb6GABtThu5eo4dUzvQFA1FUSjUC4vuz1ANesI9pJ0005VpBmOD3NB+A2knTaFeYH16PasTqwMBvhj5U/D856SL7TVg5fvhfX8JqZWg21J0X2L+7rFhPvvEUT7x/iE+uKETx9ToTQR915eapRDWzwHvBZ4VQtykKMog8G0hxG0X/WBvgEBYB1zNzGdrFOeq9AzJVNM9j59i/HCODXf1UsrV2PvEKeZzdTpXxCjl6hRmKheErYEMXAvFTCzXwI2ZxNvc06JbCnEpyE07SEYNeOv4lQqt2VnMgQGE71P6+TOUn3+OyD3vwctmKD78CNU9ewi/+920slmqu3fj5XIoto14tbJ0w8Do7kJPpUFV0SJh7LXr0NLS/Tba29GSKfR0CjUSCS4gBQQEBJxFy2+xe3Y3lWYFBYW56hwPjzyMrduYqslsdZa9s3tRFVWGsp1HyAjR8Bosjy1nY3ojaSfNXHWO2zpvY3P7Zjrcjus3Vb00e0Zg1+chsRwi7fA7j4B6aasJhRD8b/ft5sE9EyRcg029cb72u0sita4rlkJYvx/4P4F1wGPAHcDvCCGeuugHewMEwjrgWqZZ96iVm0SSMln18AtTlHJ1Bm9qo5xv8Nz3j1Kvtli2KU05X2d035wU3qpCq36hm6gZKk7YINbm4MZkD/gr5edShJu4MQvDDEp5A94+XqFAK5vFWr4cv1Kh8NBDNI4cxb19C61MhsIDP6A1PY2zeROtTJbavn349bqcIb7Y/y9VRXVdzP5+tFQK0WyixeNYK1agxWOokQhaIoEWi6HF4mjxGFo0iqJfpx8KAwICAs6i0qwwVZ5i69hWNEXDEx6jxVGeHnsaR3coNUtka9lzttEU+XlgKDHEhvQGUnaKUrPEXb13salt0+kwt2uaah6e+YwU2QB3fBzu/Dh4TXCTl+ywlUaL/+5zzzIzX+ebv7eFDT1Xxuzta5klSQVXFCUF3A4owDYhxNwlOdAbIBDWAQFnmDiaR/iCnqEEjVqLp75xCFVX6VubpFyos/OhE9ghg3DSopyvU5xbPGXasDXcqIlhaXLUWMrGjZqnv0KxV4LZjGD0WMBFozk9jV+uYPb34eVy5L77PbxCAWfDelqZLPnvfhfheZjLl+FlstSGh6UA97zFhfgCajiMFoshfA89mcTo75fLLQ+9LY3R0YEajqBFwqiRCGoofNb3IZRL7EwEBAQEXCmUm2X2zu6l1qqRq+c4kDnAM+PP4OgOmWqGXD13zvoJK0HTb3JX713c0H4D7U47cTvO5vRmdO0au6iZG4Un/qMMO3MS0CjDr30Thj5wyQ55eHqeD3/uGW7oi/ON/3kLh6dLrOsOwswuFUvhWN+0yN0FYFQIceFcoktMIKwDAt441fkGvi8IxWRf685HRogkHdJ9Ycr5Oj/9yn5SvWFSPWEqhQZHd81ghXSEz6JjxwAsV5cp5xETy9VPjx47I8Rlb3jQBx5wsWmcOIEQArO/H39+nszXvoZq29jr1+PlC8z94z+ip5JYQ0P4hQKFhx5Gi8tZ4F6hgJfNvv5BFAU1FEINhxHNpuwP7+xAC4XwK1X0rq4FYR5CcRzpmLsh1JArt3Nd+eU4KIZx6X8oAQEBAZeQTDXDzqmdtESLyfIkO6d2snt2N0KIcxLRHd1hVXwVKSeFJzx+e91vszG9Ede4BvqEx3fBjz4OU3tl//WH/z8Id4B6aar9vrfzFJ/8173cs7qNp4/M8dD/emeQFH6JWAphvQ24CdiLdKw3APuBGPCHQojHLvpBX4NAWAcEXBp8z+fkgSyRlE2qO0ylWOfxrx+ke1WCRKdLbrrMtgeO07Uyhh0ymM/WmDtVQlEVhH/he4+qKRj2ggOetHEjhhTeMSm8nYiJG5EuuOkEIjzg4uPXauB5qCFZulh8/HH0dBqjqwuvUGDus5/FGlqNtXKQVi5H5ov/DWvtGsz+frxsluKPH8IYGEALh/EKBZpjY6BprxridgGqihoKoUUiKJaFqNfROzrQkkkUw0DUahjdXWiJJIplgabJkWeRyBmBvvClvCLWrWAmbkBAwNIjhGC2OsuOqR38fOznhM0wxwvH2Tu7l7pXB+Qc8IQtM2U+su4jrEutY3lsOZ2hTlTlKqsM8j3Y9gV44j+BpkO4Ezb9Grz7k5fkcJ/47h7uf3GM37q9n099eANaMK71krAUwvp+4P8SQuxfWF4H/BXwp8D9l3vsViCsAwKWjmZDCgrD1KhXmhzZMU33UJxQzGJqpMiz3zvCihvbcMImMyeLHN4+TVt/GN+HUrZGvbK4C65qCnbYwDA1IimbUMzCiRg4EXPhyzg9I9yJGOhG0BMecOnxG3JmvWqa+I0G1d27Mfv60FIpmhMT5O77Ls66tegdHTTHxsh+81uEttyG0dFBY2yM/P0PELr1FrR4gubkJJXt2zEHB1F0HS+XozUzg2KaiIXjvCFUVQps00R4HnpbG1o0CoqCqNdl2XskIoN2vBZGTw9qOIJimqiuixYJozgOquOius4Zd911UQwjEO0BAQFvCyEEo8VRjheOM5wd5omTT3CieIKad6YVzVANPjT4ITa3bSZhJdiQ3kCb27aEZ/0myB6HB/8DjD4LHRvgoz+6JH3XlUaLD3/uWfKVJj/73+8iYhuBuL4ELIWwflkIsWGx+xRF2R0I64CAgMXwmj7z2RpuzMS0dQqzFQ78fIIVN7ahaionD2Z46ScnWfvOLlRNYXqkyPjhPMnuEM2aR7lQXzQRHWRPuO0aGLZGNG3jRs8I8VdccCciS9OtkIEa/DMKWGKE5+GXSlLUmibe/Dy1AwexVw+hRiI0RkYoPvZT3C1b0Byb2qFDFB56mMh77kG1LGoHDzL/s8cJv+c9qKZBbfgwle3bcbdsAQWaY+M0T51C7+pENJr4xSKieWEi8GvyShm860qh7nmY/f2ojoPwWoiWh7VyENVxEb6HomkYvb2ojotiGrK3PRRaXLgHZfEBAdc1hXqBQ9lDPHDkAYZzw8xWZ0+PDtMUjXd2v5Mb2m/A0izu6r2L5bHlS3zGr4EQ8MKX4Cd/DpFOuP2P5O2Gf3dRD3NgosiHP/cM713bzpHpEn9372Zu7E9c1GNc7yyFsL4PyALfWbjr14A08BHgGSHErRf9oK9BIKwDAq5NaqUmmYkS7cuiGKbG5LE8B56bZNPdPXhNweEd0xx8doLN7+2jWfeYOJJn7lSJRFeIWrlJtbi466coYIdlublp68TaHJywgR2W4tsOGzhnfW+HDbQgoC3gKsMvl2nNzmL09KAYBs3xcaoHDuDedhu0WlRe2k3l+eeJ/psPIlotytu2U9m2jdi//beIRp3ytu1Ud+8m+ku/iF+tUt29h8bx47i33YZfqdA8eRKvUEBLJPCrVUS1+uZOUFVRdB0tkUB1XUSzAaqGOTCA6jj4lQqKaWIuXyaFe6OBGnIxOjtRHAfFttFe6WF3HJRXhLvjBCnwAQFXIb7wOVE8wY+P/Zjh7DDjpXGOFY4BUmjf1nkbW7q2UG/V+fDKD9Mb6V3iM16E8V3w3d+BwikprP94H+gX9yLiXz96iC88dYx1XVH+069s4KZAWF9UlkJYO8AfAXcu3PUs8HmgBrhCiNJFP+hrEAjrgIAAgFKuTm6yTO/aBIqiMLJnlqMvznDTLwxQm2/y8tNjjO7Psvk9fVTnG5w6mGU+UyPW7lKdb7xqWTrIgDbD1rAcnUjKkQ542MAOSzfcDi2UqS8IccPSghLagGsOIcTpv+tWLoeXy2GtWAFA9cABGidOELrtNvxqldLWrTRGR4nccw9+tUrxpz+jNTFB+D33IKpV5p94Ei+bxb19C36lQuWFHYhqFXNwEL9aoXnyFMLzUHQdUa+/qfNUTBMUBcWy0NNpVMfBK5fRwuEFR93Bmy+iJRIYXV2ojgtCnBnP9orDHlroaQ+FZDq8aQav64CAy0i+luehkYd4ee5lDmUPcTR/FJDBaO8feD/v6H4Hlmpxd9/dGNoVUgVTycIDfwBHHoON/wP88n+FZhXCF6e0vdb0+IX/+jQK8OjH78IOWuEuKksybutKIhDWAQEBb4X8TIVStkbvGtkLdfC5CaZPzLPx3T1US012PTpKfqrM2ju6qZWaHN89Q73SItbmUi01qBQb8CpvsZqhYtoalmsQSdlnHPEFIe6EF5zxhe8tV0cJytMDrnNEq3XabW5OTCAaDcxlyxCeR+npnyPqNey1a/GrVQo//jH4AvemG/ErFfIP/ADFMHBu2IyoVik89BCq7chE+GqFyvPbZE95MolfrdKampLlK77/xk9QVRdGsLmIWg0tkcTo6EBxXbxiAaOjUzrqrgutFno6jZZMLghzKdC1UAjFdeWtaV6in2RAwLXJXHWOh48/zEszL7Fzeif5eh6Awfgg9w7dyx09d9AV6sLUlvi15fvwzH+Ro7miPSB8+KPn5Yiui8CzR+f4zS9v///Zu+8wqat7j+PvM7/f9Jmd7X1ZdpcmIF3BBopYULCXmKhRbzTJjcZrEmNyk5hebDdNE6PRxBLFFisaG0URpUhv0mEby/bd2d3p5/4xCyIC7sJs/76eh2d3Zuf3PQf9PcN+5jS+eXoJPqeVKcVpjCtITkjtga4nRqyHAr8FRgKOfc9rrYsT3lgHSLAWQnSH+j0thNqiZBXFj7hYu7CMYGuYIROzCPjDfPD8FmJRTcmETNr8YTYursCiFN50JwF/iObawGGPWlYKrHYDh8eKJyUexG0u8zMbtO0P4574yLhhlenpQnRULBSK7wjvdALQtnYtFo8HW0EBsbY26p95BjMjE8ewocRaW6l56CHsg4uwjxhBrMVP7cN/x1ZSgr2oiGhzM02vvIJ10CDM1FSizc2Etm1DORzoaBQ6upbdNDE88c3jdCCAmZWJmZ6BstuI+Vuw5udjpqejHHZQCmt6BhZfUnwKvMfz6dnrHg/K4ZDRdDGgRGNRVuxdwTObnmFzw2Z2NO4AwKIsfO34r3Hl8CvJdGX2bCdXz4GX/xtc6XDTQkjKSVjp7z67mpdXlZPkMLn8hAJ+OPO4hNUeyHoiWC8Cfgr8HpgNXA9YtNZ3JryxDpBgLYTojRqqWtFak5IdP9pp9bxSbA6DguNSaWsOM++JjXiS7eSPSKXNH2LV26W4km14ku0E/GHq97Qesb5hWtqDuB2HO75xmyfZ/vkg3v691SHT04VIFK01xGIow0BHowS3bsVMTcXMyCDS1ETTy69gG1yImZlJpKqK+jnP4Dj+eKyZmYT3VNL4wr9xjBmDmZpCuHIP/oULsQ8ZgnI4iNbVES4riwfuYLBjo+pKYfF641PZ7fb4aP+gQRhp7Ue5hSPYBg/GTE2Jn7fu9WL4fPEN5jye9pF4N8qQaaWib9reuJ1/bfgX7+5+l9pALQpFniePDFcGD0x/AK/d2zMd2/ouPHstOFNh1u/BvwfGX33MZetaQsz4v4Xk+hy8fPOpskN4gvREsP5Yaz1RKbVWa338gc8lvLEOkGAthOgPmmrasBgWPCl2AFa+vZu0HDcZg720NoZ46+/ryC72kVGYRGtjkGVzd5KW78HltdLaHKa27PBniAMoCzjcVlw+Ow63idVu4kmxx0fFD1wv7vk0lMvu6UJ0n31r2GOBAKFdu+Lrv71ewuXlNL35Fq5xY7G4XAQ+2Uzjyy/jOe1ULE4ngU2baHrzLdwnnYQyTUI7dhBYtw5bURE6HCZSV4duPfIHdftYXK54MNc6HsyTffGwrcE+fDhGSnJ8/XmyD2tqKpYkH4Yvaf/adPnwTvQGOxt3MnfHXP618V80h5pxmk5mFs0k05nJjMIZDE8d3r0dqlgF/7oMAk1gdcKtqxIyLfzFlWXc9sxq7rr0eGYcl4XNtOB19JK15n1UTwTrxcQ3LnsemAeUA7/TWnfzXRonwVoIMdDomKa1ORQftXZbCYeibPygkuziJJKzXNTvaWXhU5soPD4dX7qTusoWVr61m9yhydicJv66ADVlfkybhUjo8KNhNmd8OrrNYWDaPh0Rt7tNHO54CHe44l/tLlM2bhOiF9CxGLHWViwOB8o0iVRX07ZxE87Ro9CRCG1r1uBfuBDPtNPjO8R/vJyWRR/gmTEDQkFaV60msHYtrkmTiPn9hMrKiDU1xdesHOn3SquJkeTbv07ePnwYRpIPdAxltcWDuc+HJdmHmZKCkZyMmZKCJSkJZZGlLSLxtNasrl7NS1tfYu72uQSiAVIdqdwy/hZmFc/CarFiWLpplkbtNvjHTNBR+K+3IfXYV9BqrbnoL4upbGgjGIly+cQCfjxrZAI6O3D1RLA+AdgIJAO/BJKAu7XWSxLeWAdIsBZCiCPTWhNsjWBYLVhtRnwzttXV5A9PwZ1sZ8/2Rj56eTvDTszC4bZSubWBtQvKKRqbjmG10FDVSk2pH1eSjXAwSjgYPWxbFkNhc5oYVgvelHgQt9oNbM548LY7TWxOE7ur/etBj+VoMyF6l0hNDeGyMhxjxhBrbsa/eDFtH6/AO/0Mok1N+OfPp23d+vjjxiZalywhXFGBfdgwok1NRPbsOfIZ6kqhbDaseXkYKSkQi2FxuXCMPA4jOQVsVqzpGZjZWfsDucXnkw/wRKc0h5p5fvPzvLT1JbY3bifJlkRUR7ln6j2cln9a93Ri76Z4uLZ5YMK1YHXAybccU8mPttfypYc+4qyRWdxx7nCGZPbQlPd+oieC9eVa6+e+6LnuIsFaCCESLxKKogyFYVhoaQhSvrmeQaPS9gfvle/sZszpBVgMxc41NaxdWM6Y6fmgoXJbA5VbG8kuTiIcjOKvDx7xOLMDmTYLVruBYVpwp9ixO02sNgOr08Tlte4P41ZHPIjb7AZWh4HNYe7/atos8ku3ED3owKPZQrt3E66uxjF0KNHGRhrnziVcWop78mSiDQ00vvoakbo6nKNHE21ooG3tWnQoFB8hP1wgVwozIwMjPQ0iUYy0VBwjR2KmpaNsVqy5eVhzczBSUzFTU+Vsc7Gf1prlVcu5f+X9rNi7Aofh4JKhl3B+0fkUJxfjsXm6tgMVq+Cx2fGdwvNPhK88C8d4VNh1/1jKil31vP/96fhcMhX8WPREsF6htZ7wRc91FwnWQgjRuwRawjTXBkjLc2MxLFTvbmb3hlrGTC8gFonxyZI9fPLRHk66uIRwMMqmDyvZvqqGE2cVEQpEKN1YT225n/wRKYTaIjRWtxFsjWAxFLFoB/5dU2Ba49Pk94V0027g8santVv3h/ADArndxOps/9r+vM1hxKe2y1pzIbpNpL4+vkt6djaxllYaX32VWHMzjhHDiTY0UP/Ms+hoFHtJMdGaWlo+/BAsFojF4oH8EJTTiTUvFzMtnVhbG9a8PBwjj8OamYklJQVbXh5mVlZ8Azf5UG7A2FK/hX+u/yevb3+dqI7itXl59aJXSXWmdm3Duz+CJy6G1CK47nVwHttRWRsqmjj/z+/zX6cUEYzEmDosg7NGZiWoswNLtwVrpdRM4DzgCuCZA36UBIzUWp/4Bdc7gPcAO2ACz2utf3rQa64D7iG+bhvgfq31349UV4K1EEL0fbGY3r9Zmr8+iL8+QHaxD4CKLfXUlLVw/Ol5RMMx1i4sZ8/2RiaeW0ioLcLqeWXUlfsZf/YgQoEomz6qpKUhRPG4dMKBKBVbGwgHoiRlOAkFIrQ2hjoW0Nvtm0Lv8FixOYz9090dbusBI+XxwG47aPT8MyHdYcqGcEIkWKytDR0KYUlKIub30/Dsc2BYsObkEq2rpfaxxzF9vvgO7bW1tK1cCaZ5yNFw5XKilAVrXh72oUMxMzLQ4TD24cOwFxdjZmZiZmTsP7ZN9A/l/nJ+s+Q3vF/2Pi6ri+tGXUeJr4QZhTO67oOWbfPgX5dD0dT4cVwzfga+vKMud9szq3h9bSX5KU4umZDPt84YkrCuDiTdGazHAuOBnwMHHq3VDMzXWtd/wfUKcGut/UopK7AIuFVr/dEBr7kOmKS1vrmj/ZJgLYQQ4kCBljDhYBRvqgOAPdsbCbVFGDQqDYCNiysIBSKMOjWPUCDKhy9uIxKOcvy0Tx8rBcOn5BAORFi7sBzTZiG72EeoLUrFlnoshsLhthIKRAn4O3huMWDaDYwDg7nTwGJYcLhN7M744y8K6DaHKSPpQhwFrTXR+vr48WQ2G+HKynjwTkvD8HoJlZfT+OKLmBkZAPH14YcYBd8/Ap6egQ4FcYwZg2PYcMycbKw5OfEd3e327v7riWO0tX4rf175Z+aVzgPgKyO+wh0n3tF14XrZ32Hud8F0wKWPwHGzjrpUaV0rZ963kIvG53L3ZQzlZxEAACAASURBVGMT2MmBpSemgpta644tljt8DRfxYP3NAzc9k2AthBCit2mqaQMgKT0+SrVjdTVWh0n+8PhxKUtf3Y47xUHJ+AxCbRHe+ecGUrJcFE/IJNQWYd7jG8kY5CV/RCrhQITV80rxZbjwtY+gV25txOY0sRiKUCBCLNKxf7ut7evLLZZ4yLe74yPqRvs0eJuzAwHdYWC1SUgX4lCigQAtC9/D4naDguDWrTQ89zy2wYNRCoLbdxDatu2Q1xppaZjpaehwBOe4cdiHDMHMzIiPhhcVyQZsvdjKvSv5wXs/oKKlglPyTuGq4VcxNmMsyY5jm7L9OVrDK7fAyifgisdh5IXHVO7nr67nscU7eeu2qThtJrk+h9xjndSdI9ZrgcMW1FqP6UANA/gYGAI8oLW+46CfXwf8FqgGNgO3aa1Lj1RTgrUQQojeTGuNjmks7TueV+9uxu42SUpzorVm/fsVpOd7yC72EY3EmP/kJgpGpJAzJJmWxiBvP7qBorHpZBf78NcHWfzCVgaNSiUl201rU4gty6pIzXVjd5oEWsLU72nFtBnEIjFihznX/GD7dm632uNB3em1YndZP7MWfd/PD/xqc+z7Gt9UzrDKru5i4NDRKJGaGpTVSszvp23lKhpeeRlHyRBibW0E1q8nsGEDyuFABwKfudbi9WKmp4NSuCZPxj50CGZWNrbCQdgKCmTEu4dFYhHmbJrD/avupzXcSqYrkzcueQPrMW409vmGgvDP86FqA8y8K34c18TrjqpUrT/I1Lvnc3y+j6U76vjX16ZwUklaYvvbz3VnsC480s+11rs6USsZeBG4RWu97oDn0wC/1jqolPo6cKXWevohrr8JuAlg0KBBE3ft6nDTQgghRJ+ltSYajrVv0GYQCUep2tGEL8OFJ8VOoCXMhg8qKBydRmqOm4aqVha/sJXhU3LwZTqp3t3Mhy9uZeSpeSSlOagp9bPuvXKKx2Vgd5k0VrdRsaWB1Fw3AG3NIdqaw194hPE+FlNhmhYcXhsOl4lpa9/h3WfD7opPdbc5P3vU2qc7vRv7w7mMsoj+Ita+w7lua6NlyRKa3vgPjqFDidTU0LpsGcHNm1E22+emnJtZWRg+H5gm3jOnYx8yFOvgQuyFhVgcjh762ww8VS1V3Ln4ThZXLGZcxjh+feqvsRk2st3ZiWukqRIemgbBZkguhG8sAuPodrL/1Wsb+MfinVwzeRD/PX0ImV65Vzqj26eCtzeaBZzQ/nCp1nrvUdS4E2jVWt97mJ8bQJ3W2nekOjJiLYQQQhydWDRGoCWCzWlgWg3a/CH2bG8ip9iHw2Olfk8Lm5dWMeq0XBxuK7s31rHy7d1MOHsQNofJrnW1rF1QxvizBmExLFRsbaB0Qx2Dx6QTi2oaqlpoqgng8rWfgR44/Bno+yhFfFq708Q0LVhMhTfVgd1pYjoMHC4Tm9N6QDBvPyfdZY2fh+6S89BF36FDIbRhEK2txT9/Pv4FC3GMGkW4vJyWJUuIVFR87hozNzc+ndztxkhNwXvWWdgHD8bMyUFZ5N7vCnO3z+VXH/2KUCwEGl666CUKvAWJa6B0KfzjPBh6NnzpX/E3wqNQ0dDG1Lvnc+1Jg7lz9sjE9W+A6Ik11lcQ37l7AaCA04DbtdbPf8F1GUBYa92glHICbwF3aa1fO+A1OVrryvbvLwbu0FpPOVJdCdZCCCFE77Bv1/WkdAcWw0LD3lb27myiZEImhmmhbFMdW5fvZdzZg4iEYmz9uIptK/YyceZgwoEo21bspXxzA6NOyyUUiFK1o5Gm2gBpuW6CbRFam0IdWoNutRvYXfHRb6vdiAdztxWbPb67u8MdD+F2176v7d+7JZSL3iXW1gaxGKFdu2h46WUC69Zizc0jtGMHgU82QeSAD6sMA8PrxXXSFOxDh2LNycE5dhy2wkEow+i5v0Q/UdZcxm0LbmNT3SYuLLmQH035EU4zgTvEL/o9vPMzuOhv4PDCiPOPqsxtz6zizfV7ePSrJ7C6rIGvTytJXB/7uZ4I1quBs/aNUrcH5ne01kfcgk4pNQZ4DDAAC/Cs1voXSqlfAMu11q8opX4LXABEgDrim5ttOlJdCdZCCCFE/xENx/av1W6qaaO5NkBe+0Zxu9bXUlPazPHT8gm2RVgzv5S9u5oZf9Yggq3xx43VbYyYnEOwNczujXWEWiMkZTgJtkZobQqiY0du3zAVTq8Nu8vEYliwu0w8KXbsrngg3xfMnZ7279sfG6YEctG9IvX1BLdth1iU0I6d1D/zDNHaWpTNRrj00y2KlMOBvaQk/nXoULxnnolj5HGYabL+trPCsTAPrn6Qh9c8zLCUYbisLn55yi8pTDriitmOiUXh0XNhz1qItMGN8yFvQqfLbKho4rw/vc/JJWmsr2hi4e2nk+yyHXv/BoCeCNZrtdbHH/DYAqw+8LnuJMFaCCGEEPvomN6/y3lDVSuhQITMwiQAtn68l0BLmOJxGQRbwyyfu5NQMMKQiVkEWyOseHMXFgvkDU8h2BqhbFM9KOIbw7VGiAQPP5Xd6oivJ3d6rHjTHDjcVqx2A5fPjstrxeGx4XCb7V+tODwmplVGEUXXiLW2Uvf444T37sVitRHcsoWWjz6C2KefLCm7HVtRUTxojxqJfdgwrHl5ssdBB8zfPZ/b37udSCzCvVPvZcbgGYkpXLsN/noKZIyAm+Yf9ZTwax5ZwsbKJt78n6mkeWQjvI7qiWB9DzAGeLr9qSuBNQfv8N1dJFgLIYQQIhG01kQjsf2Bt3JbIxaLIqsoHsyXvrYDm8NC/og0Ai1h3n9mM26fjdyhybT5w6x7rxyX14YryUagJUxTTeBIzWEx40eleVMdOD1WzPZp6+5kOy6vDafXijPJhssbD+NyLJo4FrHWVsJ79hCpriGwbi21jzwKFgvRurr9gVu5XLgmTMAxciRmejremedibT/XW3zWxtqN3DzvZvwhP/dMu4c8Tx4lyQmYdr3kIXjjdpj9RxgxC1xpnQ7Y72+p5ppHlnL3pWO44oQCYjGNRd4/vlBPbV52CXBq+8P3tdYvdklDHSDBWgghhBC9gb8+gLIo3L74CNGa+WUkZzlJy/PQ2hxi3j83kFXkI73AS0tjkOVzd5Ke78HptdLSGKKuoiW+e80hfn1TCkybgTvZjifFjtNjxeYy8aY4cPlsONsDvdMbD+Jy9JnoqFhrK60rVlL36CNgtRKp2ktw8+b9YdtWWIh95EiMJC9Jsy/ANW4syjy6Xav7m6qWKm6Zdwub6jah0fzpjD9xxqAzjq1oLAZPXAhly0EZMPN3MP7qTpXQWnPenxYRikRJc9uYOiyDm6cPPbZ+DQDdedzWA8BTWusPElY0ASRYCyGEEKKv0VoTbI1gsShsTpNIKMrmpVVkFHrxpjioq2zhgxe2kjcsGU+KnbqKFta/X0HGIC8WQ+FvCNJSHzxs/X3njfsynHjTHLiSbLh9dtzJdtw+Gy5f/Ktpk+no4vPCe/dS//QciEUJbttG69KlxJqagfiotn3IEAyfj5SvfBn3ySdjsQ3cNbyt4Va+s+A7fFDxAT+Z8hOuGH7FsRdt2A1/ORkcPrj2ZUgf0ukSL64s47ZnVnPakHRmjc3hyhMGHXu/+rnuDNa3Al8CcoBniYfsVQlr4ChJsBZCCCFEf7cviBtWC1abQWtTiC3LqsgfkYzVblKxtYFlr+1kyKRMrDYLVTua2Lm2lpQcF+FglJaGEDr2+d8LbQ4Dd4oDh8fE7jBJznbhSY6Pgh8Ywq0SwAe0aCCAf+FCdGsrgfUbaH7nHSJ79gDta7WLizEzMki94XrcEyagBljQDkaD3Dr/VhaXL+ZHU35ErjuX0/JPO7aiSx+G178HVz4Jx83u9OXhaIypd89ncJqbp2864iFLol1PrLEuJB6wvwQ4ia+1flprvTnhjXWABGshhBBCiM+KhKI01QTwpjuw2gxqy/1sWFTO4LEZ6Khmx5oaNi2upGRCBuFQjJrSZppqAlgMRSz6+d8frfb4eeGpuW68KXbcKXY8KQ68KY727+3YHDI9eKDQWhPcupVwaRmtS5bQ+Oqr8bXaxHchtxYUYCvIJ+PWW7EPGzYgNkQLRoN8e963WVyxGAsW5l4yl3xv/tEXjEbgwVMh3ALFp8Pw82D4zE6VuH/eFu59azPzvzuNxkCEcQXJR9+fAaBH1lgf0Ph44FFgjNa6Rz7KlGAthBBCCHFsmmrbqNrRRNG4dCKBGJs+qmTj4krGTM8n4A+zbWU11buayRjkwd8Qoq0p9LkahmnBl+nEk2LH4bHhTbWTlO6U8D1ABHfuIrR1Cy1LltL44ovE/H4AzOxsbAUFuE4+mbRrr8HidvdwT7tOIBLg5ndvZumepfz61F8zu6TzI82fsX0BPH4heLJg8jfgtO906vI9jQFO/t27nFySzqKtNbz73WmUZHiOrU/9WE+MWJvATOIj1mcCC4iPWL+c8MY6QIK1EEIIIUTXCgUitDQEScmOh6Jtq/aye10dwydn468PsO69cmpKm8kfkYq/PkhdZQvR8OcPDbe7zf27oHtSHaTlevCmOfCmOvCmObC7zAExujkQhHbupPXjj/EvfI/mt98GrVFWK64TJmGkppF82WW4p0zu6W4m3L5w/XHVx/xw8g+ZmDXx2HYLn/MV2DYPblkBSTmdvvz6fyxlXXkTPzxvBOePycFuyrKOw+nONdZnAVcB5wFLgTnAy1rrloQ1chQkWAshhBBC9LwDj/Qp21RHU02A/BEp+OuDLH11O/76IAUjU2muDVC+uZ5oOMbBv6paHfEjx+wuk6Q0B6l5HpLSnPuDt9NrleDdB0X9floWL6Zt1Wr88+YR2rkTAFtxMd4ZZ2IrLiZp9mwsRv8IfU2hJq6eezW7mnYxMm0kT896+osvOpy67fDAZBh9GZzybTBskNbxoP6fdZV848kVPHrdJKaPyDr6fgwA3Rms5wFPAS9oresTVvgYSbAWQgghhOhbKrY0EAlFySxMoqm2jcUvbCUa1WQO8tJcF2D3+lq05nPrvU2rBW+6E4fLJCXHTVqem6R0J74MJ0lpTjlmrI9oWbqUtpUraVn8Ia1Ll4LWGGlpJF98Ed5zz8V+3HF9PmTvbtrNla9dSZozjafPfxqvzXv0xd75GSz6Pdjc8bXWl/69w5eGIjFO+u27TCxMYfqITNI8ds4aKQH7UHp0jXVvIMFaCCGEEKJ/qdzWiGEqfJkummsDvPv4BtxJdpKzXTRVt7FjTQ0WpYgdtNO5J8WOL8OJzWmSnu8hJccdD93pThxuaw/9bcSRhEpLqXnoISLlFbQsWQLRKJgmaddfR/KVV2LLP4YNwHrYsj3LuOmtmzgx50QuKLmAmUUzsaij+PAn2Ax/ngiOZLj+DXCnderyX8/dwD8+2MngNBcjc3386arxne/DACDBWoK1EEIIIcSAoWOask31OJOsuJLs1Fb4WfDkJlJz3NhcJg1Vbezd2fS566wOg5Qs1/413Wn5HlKy3CRnu7A7ZVO13iBSV0fNXx+k6Y03iNbUAGArKsI5YQLZP/kxFoejh3vYeS9sfoGfffgzAO6bdh9nDz776AqteBxeuQW+/CwMO6dTl27d28yM/3uP/5kxlFvPHCrLKQ5DgrUEayGEEEII0S4cilK6oQ5vqgNlUVRua2DJS9vJKkpCA/WVLfjrg5+5xrRZSM1xk5bvITnLRUqWi+QsF0npTgxTppf3hHB5OY2vvELN3x5CBwJYvF58s2fhOXMGnlNO7unudcrvlv6Of238F78//ffMKJxxdEWiYfjzBHD4wJ0JU2+HwpM6fPklf/mApkCEt2+bKsH6MCRYS7AWQgghhBAd1NIY5JMle8gY5CUciLJzbQ0bP6gkPd9DS2OQtubw/tcqi8KTYsfltZFdkkR6vpfUXDcp2W6s9r69BriviEWjtLy/iKa5c2l+8010KIQ1P5/MO76Pd/p0VB9Yix2OhvnK61+hsqWSR85+hGRHMpmuzM4XWv4PeO1/wFcAZ/0CRl/S4UvnLN3ND/69lhe+eTITC1M63/YAIMFagrUQQgghhDgG0XAMZQGLYWH3xlpWv1PK4DHptDaG2Lm2hppSPxZDfWYzNU+qnbQ8D8mZLtLyPKTlSeDuaqHycqp+/Wva1q4lWl2DmZWFfcgQcn79K6zZ2T3dvSPa3ridK1+9EoAxGWN45JxHOl8kEoQ/jQdfPtzwJnRi5NkfjHDir99h9phc7rpsTOfbHgAkWEuwFkIIIYQQXSTQEqa2zE92SRJNNQFWv1vKtpXV5I9Iob6yhbqKlk+PDVPgSrLhTXWQNyyF9AIP6fnx8K0sMv02UXQkQvO8eey99z7Cu3dj8flIu/56kq+4HDM1tae7d1jPbHqGXy35FTeMvoHbJt52dEWWPgyvfw+ufQVMOxRM7nDAvv251by+tpKlP5qB2y77ChxMgrUEayGEEEII0UN2rauldGMtOUOSqatoYcOiClqbQsCnx4VZDEVmoZf0Ai/peR4yCuNTyk2rjG4fq+b586l/+mla3nsfTBP7kCEUPvkkhsfd0137HK01N8+7mSWVS5hz/hxyPbm4rK7OFQkH4I9jwZUKezfA1S/AkI6t215T1sD8TdVcd8pgfE7ZJf9gEqwlWAshhBBCiF6izR+itTFEcpaLusoW3pvzCW3NYVxJNmrK/IQDUSC+fjsl24U31UFWsY+c4iTSC7xyLNhRalu/norv30Fo2zaMtDTS//ubuE85Ffvgwp7u2mfUtNVw6SuXYlpMtNa8eOGL+Oy+zhX58AF483/h1O/ENzGzdTKci0OSYC3BWgghhBBC9AE6pln84lbCgSgOj5WaUj+71tfCAb+yO71WsoqSKDgujayiJNLzPbIzeSe0rVnD3nvupXXZMgBSr/sqmXfc0at2wl5QuoBb5t3C6PTRPHzWw3hsns4VCLXCH8dA9vFwzYtd08kBSIK1BGshhBBCCNEH6Zhm94Y6VHturtjSwMdv7MJqNwgH20e2FaTkuMkfnkJWURLZJb74UWK9KCj2NlprmubOpeq3vyNaW4tn2jQyvvc9HEOH9HTX9rtt/m18UPEBL1/4MjmenM4XWPQHeOencObPwOqEKd9IeB8HGgnWEqyFEEIIIUQ/0dIYRFkgGtZsX7mXD1/cRlK6k+a6AJFQDIiPauePSCWnxEfOkGTSct2yOdoh6EiEuiefpPqPf0QHgjjGjWPwE4+jzJ7fuKvCX8GFL13IpOxJOAwHd550JymOThyDFWiC/zsO3Onxs61vXAAWmdlwLCRYS7AWQgghhBD9lNYaHYv/Tr95WRUfvbSNtDwPtWV+Whrjm6TZHAY5Q5LJLvaRNzyFzMFeDENC1j6h3bspvenrhHbuxDFqFLn33IO9uKinu8XfVv+N+1fdj9fq5Y/T/8gJ2Sd0rsDc78KKJ+C29eDJ6JpODiASrCVYCyGEEEKIAUZrzScf7WHFW7vIKvJRtb2R+j2tAFjtBrlDk8kdlkzBcamk53kG/Ii21prm//yHPb/4JbGWFtwnn0T+/ff36Oh1MBrk4pcvxlAG/77g31iNTm5ct3cj/GUKzPg5nHwLoGTU+hj0mWCtlHIA7wF2wASe11r/9DCvvRR4HjhBa33E1CzBWgghhBBCCNj0YSWffFRJcrabsk31NFTFg7bDbSVveDK5w1IYdFwqvkzngF2jHa6qYuflVxDZuxffRReRfedPsLh6blft98re41vvfovvTPwOo9JGMTFrIoalE8ew/eN8qN8BygLn3wfDzum6zvZzRwrWPb944LOCwHSttV8pZQUWKaXe0Fp/dOCLlFJe4FZgSU90UgghhBBCiL5oxEk5jDjp042wVr69i8qtjdhdJmWb6tm2ohqApHQHg0alMWhUKvnDU7HaB8552tasLIbMe5fqP/2Z2ocfpm31atK/+U18F8zukf5MzZ/KtPxpPLDqAYLRIPdMvYdzi87teIET/guevx7yJ4Pd23UdHeB6VbDW8eFzf/tDa/ufQw2p/xK4C7i9m7omhBBCCCFEvzP+rELGnxX/XmvN4he20tIYJByMsemjPaxbWI6yKPJHpFA4Ko3C0WkDYjRbmSaZ37kN90lTKP3mf1Px/e+jnA6SzjqrR/pzx4l3cNFLF3FC9gmcOejMzl183GzwZIEjCQpP7poOit4VrAGUUgbwMTAEeEBrveSgn08ACrTWc5VSEqyFEEIIIYRIAKUUp1w2dP/jNn+Idx7dgDIUTdVtLHpuC4ue24IryUbJxEyKx2WQO8SHpR9vguY+6SQK58yh7KYbqfje7XDvPT0Srgu8BVw27DKe/eRZqlqryPfmd/xiwwoTr4OFd8OetRBug4ITu6yvA1WvWmN9IKVUMvAicIvWel37cxZgHnCd1nqnUmoB8L1DrbFWSt0E3AQwaNCgibt27eq2vgshhBBCCNHflG6sY+FTn+BMslG9u5loOIZhKgaPSWf45GwKjkvFtPXPKeOR+nrKvvFN2taswVZSwuAnn8BITu7WPuxt3ct5/z6PSdmTsCorvz/j95iWDo6TNlXA70dD2lDw74HvbQbT3rUd7of6zOZlB1NK3Qm0aq3vbX/sA7bx6XTxbKAOuOBIG5jJ5mVCCCGEEEIkTjgYZemr21kzvwzTZiHUFsWwWkjLdTP69HyKx6Zjd3VyB+teLtbWxq5rriGwbj2pN1xP1ve/3+19uGvpXTy16Sly3bk8dPZDFHgLOn7xs9fCtvnwpadh8CnQz6fzd4U+s3mZUioDCGutG5RSTuAs4mupAdBaNwLpB7x+AYcZsRZCCCGEEEJ0Davd4JTLhnLSxSVooOKTBt5/bjN7dzcz77GNLDAU2cU+hk3OYtiJ2Vj7wUi2xelk8Jw5VP7kTuoe/QdGaiq+WbOwZmd3Wx9uGH0Dz21+jglZEzoXqgFO+BpseBkadoE6tWs6OID1qhFrpdQY4DHAACzAs1rrXyilfgEs11q/ctDrF9CBYC0j1kIIIYQQQnQtHdM01bbR1hxm24q9rJlfRiyqsdoNisdlMGRSJoNGpvb5Ndk6GqXi9ttpev0NlNNJydzXsObmdlv7dy+7m6c2PsULF7yARVko8hV17EKt4c8TwZ0ORVNh4vXgy+vazvYzfXYqeKJIsBZCCCGEEKJ7Ve1sYs/2RurK/WxdUU2oLYLVbjDipByGnZhFVlFSn91dXIdC7P7ajbQuXUrufffhO/+8bmu7pq2GmS/MJMWRgqEMXrv4tY6fa73gd/E/KLj0YTj+si7ta3/TZ6aCCyGEEEIIIfqHrMFJZA1OAuDE2cW889gGYmHNhg8qWLugDJvTYNRpeYydXoA7uW9tpKVsNgr+9iClN95ExR13ABrHsGHYhw79wmuPVboznSuHX8njGx7nx1N+3LkPJ46/HBb8FqbdIaE6wWTEWgghhBBCCNFtQm0Rlry6nTXzygD2n5N93Mk5lIzP6FNTxaN+P7u/eh2BjRsws3MY8vZbKKPr15PXttUy898zmTFoBr857Tedu/ihMyAWhm8s6prO9WMyYi2EEEIIIYToFWxOk9OuGMbk2cW0NoXYuLiSNfNLKd1QhyfFzuhpeYw8JRen19bTXf1ChsdDwYN/ZfvsCyAWI9baiuH1dnm7ac40Lh16KXM+mUOeJ48ZhTMYnjq8YxePuQL+8wN47jpwpcP593ZpXweKvvNxkBBCCCGEEKLfsDlNkrNcnHRxCRfcOo5Rp+Xiy3Tx0Uvb+cf3F/HC3cup3t3c0938QmZGBvn3/5lIdTUVP/whwV27uqXdq0ZcRTQW5ZF1jzC/dH7HLxx1CSgLNJSC1dl1HRxgZCq4EEIIIYQQoteoKW/m1T+uItASIRbV5A1PYeQpOQw9IatXb3ZW99hjVP32d6AUBX97EM/UqV3e5rfe/RZrq9fy7uXvYjU6cW744xdB3Xa4dbWcZ90JR5oKLiPWQgghhBBCiF4jPc/L9XefxnV3ncLJlwyhttzP249u4Ikff8gnS/YQi/XOgcGUa6/Fe+45AOhorFva/PKIL1MfrOfNXW8S051oc8wV8fOsy5ZBU2XXdXAAkRFrIYQQQgghRK/VsLeV9+Zsxl8fpL6yBW+agzFn5DNmegEWS+8abY21tLDjiiuJ1tdT9OK/MTMyUJauG8uM6RgXvnQhER0BDS9c8AIuq+uLLww0wb1DIW8i7P4QvrMRvNld1s/+QkashRBCCCGEEH1ScqaLC749jqt+ciLn3jSatuYQHzy/lad/voQty6voTQOFFreb/D/9kZjfz/aLLqJ+zpyubU9ZuGrEVZQ1l5HnzcMf9nfsQkcSDDsXqtbD9DvB6P0bxfV2EqyFEEIIIYQQvZ6yKEomZPKVn09h8gXFWAzFW39fzxM/Wkzphtqe7t5+9pIS0m++mVh9A6EdO7u8vQuHXIjb6ibdmU6mK7PjF465AgINkD0aXKld18EBQoK1EEIIIYQQos/wpDiYdN5grvzxiYw/ZxDNdUFe+dNq3npkPc11gZ7uHgBpN1yPfeRxNL3xBtHGxi5ty211c9GQi3hz55t8UvcJpc2lHbtwyFngSIbVc2Dru9BS06X97O8kWAshhBBCCCH6HItFcfLFQ7j0BxOZOLOQ7auqefInH/Lu4xuJddPmYYejTJPcX/2KaH09Zd++lcZXX+3S9q4acRWRWIRr3riGP6/4c8cuMm1w3CzY/B948hJY/2KX9rG/k2AthBBCCCGE6LOyB/uYcmEJX/n5FGwOg02LK3n+ro+pKevgeuMu4hg5krT/uoHWJUuo/fsjXboWvDCpkNPyTsNqsfL1sV/v+IXDz4OQH878GYy/psv6NxBIsBZCCCGEEEL0ed5UB1/93SlMu2oY/voAz/5mGS//YSWhtkiP9Sn9W9/COmgQMX8zurW1S9u6fNjlNIWaKPeXd/yi4tPBsIO/CqyOruragCDBWgghhBBCCNEvmFaDsDuqmAAAIABJREFU0dPy+fJPp5BdlETZpnqev2t5j629ttjt5P72N4TLK6i+/wFCu3d3WVun5p1Ksj2ZpzY+xf0r7+/YCLnNDcXTYPMbsOQh2DS3y/rX30mwFkIIIYQQQvQrDo+VS26fyGlXDsXfEOSZXy9l87KqHumLa+JEkmbPpu6xf1J6003oaLRL2rEaVs4dfC5LKpfwz3X/pKy5rGMXDjsX6nfCR3+Bja91Sd8GAgnWQgghhBBCiH5pzBkFXPHDE3C6rbz9yHpef3ANsVj3n3udceutYDGwFhSgDKPL2pldMpuIjvDdSd+lIKmgYxcNOzf+dczlcPFfu6xv/Z0EayGEEEIIIUS/lZzl4pLvTyQl28WOVTW8/tc1hENdM2p8OLb8PFK/8hVaPlhMYPPmLmvn+PTjKUwq5O3db3f8Il8e5IyF7Qu7rF8DgQRrIYQQQgghRL/m9Nj48s+mMO2qYexaV8ucXyzB3xDs1j6kfePrWNxuym/7DlX33NMlbSilmFU8i2V7lnH9G9fz3ObnOnbhsJlQuhQW/A5e+FqX9K2/k2AthBBCCCGEGBBGT8tn8uximmoCPH/Xcloauy9cmykppN14I6Ft22hbtarL1lrPKp4FQE2gBkN1cNr58HMBDY1lkDcJuvBosP5KgrUQQgghhBBiwJh03mCmXjWMYGuEf9/zMY3Vbd3Wduq112BmZaLDEbB0TRTL9+YzIXMCFmXh4iEXd+yinHHgzYFAA0z5BijVJX3rzyRYCyGEEEIIIQaU46flc+H/jCPQEuHpXyyhpqy5W9q1OBxkfPvbBNasoeH55wlu394l7cwqmcX2xu1sqN1AdWv1F1+gVHwTs23zIdK9U+T7CwnWQgghhBBCiAEnu8jHKZcNIRqO8caDawm0hLulXd9FF2EbMoSqX/ySih/9uEvaOLvwbKwWK/+76H+5+vWrO3am9fCZEPLDzve7pE/9Xa8K1koph1JqqVJqtVJqvVLq54d4zTeUUmuVUquUUouUUiN7oq9CCCGEEEKIvm3kKbnMumUs/oZg+27hkS5vUxkG6TfdiA6HSb7wwi5pw2f3cXrB6VS3VXPjmBuJ6g6s5y6aCqYTPvlPl/Spv+tVwRoIAtO11mOBccC5SqkpB73mKa318VrrccDdwP91dyeFEEIIIYQQ/UPhqDRmXDeSyq2NPPXTJUQjsS5vM2nmTMycHJrmzu2yNmYVz6I51EyOOwfTYn7xBVYnlEyHT96QzcuOQq8K1jrO3/7Q2v5HH/SapgMeug/+uRBCCCGEEEJ0xtBJWQw+Pg1/fZBFz23p2NTpY6CsVlKvvZbWZcsovfkWmv7zZsLbOCXvFJymk7d2vsWbO98kpjvwgcHwc0FZwL834f3p73pVsAZQShlKqVXAXuBtrfWSQ7zmW0qpbcRHrL99mDo3KaWWK6WWV1d3YMG+EEIIIYQQYsA6/1tjGTM9n3ULy9n0YWWXt5d8+eVYvF5aly4lXFaa8Pp2w86peafy9u63+d7C77G6evUXXzT2y/A/a8CblfD+9He9LlhrraPt07zzgROVUqMP8ZoHtNYlwB3AIVf8a60f0lpP0lpPysjI6NpOCyGEEEIIIfq8Uy4bSk6Jj/lPbmLtwrIubcvwuEn50pXE/H6855zTJW2cUXAGzaFm7pxyJ2MzxnagU6YctXWUel2w3kdr3QDMB849wsvmABd1T4+EEEIIIYQQ/ZnFoph+7XGAYsV/dhENd+1665SrrwHDoO4f/yRUWoqOJHbztKn5UzGUQWVLJRbVa6Nfv9Cr/usqpTKUUsnt3zuBs4BNB71m6AEPzwe2dF8PhRBCCCGEEP1ZcpaLc24ajb8+yIcvbevStqxZmfhmz6bh+efZdtbZ+BctSmh9n93HxKyJvLPrHR5c/SBrq9cmtL74VK8K1kAOMF8ptQZYRnyN9WtKqV8opS5of83N7UdxrQK+A3y1pzorhBBCCCGE6H9KxmVw/On5rH63lBfuXt6lO4Wn3XA9OhTCffLJOEYm/iThMwrOYEfTDh5Z+wjLq5YnvL6I68C+691Ha70GGH+I5+884Ptbu7VTQgghhBBCiAHn5EtL2LGmmqqdTezd1UROSXKXtGMfMgTPtGm0rV2LkZz4Ns4YdAZ3LbuLrx3/Na4ffX3C64u43jZiLYQQQgghhBA9zrQazL5lHBbDwup3u3Yjs5SrryZaV0ftQw/RPG9eQmvnefIYnjKcxRWLE1pXfJYEayGEEEIIIYQ4hNQcNxPPLWTbir28/+xmYtGumRLuPvkkzJwc6p54kpr7H0h4/TMGncGq6lX8eNGP+cPHf0h4fSHBWgghhBBCCCEOa/zZg3Al2Vgzr4wdq6u7pA1lGCRffBGxpiZy770n4fWnF0wnpmOUNpei0QmvLyRYCyGEEEIIIcRhmVaD068eDkBjdaDL2vFdcgloTdMbbyS89ojUEeS4c0iyJ3HbxNsSXl9IsBZCCCGEEEKIIyoak8HgMekse30nNaXNaJ34UV9bfj6uk6bQMOcZdl5zLZH6+oTVVkpxesHpfFTxEW2RNqKxaMJqizgJ1kIIIYQQQgjxBU67Yig6GuO53y5ny7KqLmkj+dLLiFRXE969m3BZeUJrTx80nUA0wA1v3sDt792e0NpCgrUQQgghhBBCfKGkdCfjzykkFtNEwl2ziZn3rBlYfD6cEyfiPH50QmtPzJqI1+oFYHzm5044FsdIgrUQQgghhBBCdMDEcwpJSnewdkFZl0wHt9jt+GbNwv/OO0Tq6oi1tCSsttViZVL2JOoD9Vwz8pqE1RVxEqyFEEIIIYQQogNMm8EJs4qoKfXzn4fWEgklfq1y8mWXokMhtp0/i71/+GNCa0/JmUK5v5ydjTvZ27o3obUHOgnWQgghhBBCCNFBw07Iwp1sZ/vKGsq3JG6DsX0cxx2HY+RIlGnimjI5obWn5E4B4OZ3b+b2hbLOOpEkWAshhBBCCCFEB1kMC1MuLAYgFumaM6F9l11KtLoaa3Z2QusWJRWR6cwkxZEi08ETTIK1EEIIIYQQQnTCsBOzSMpwsmzuToJt4YTXT5o5EwyDxldeoXXlyoTVVUoxJXcKO5t2Mn3Q9ITVFRKshRBCCCGEEKJTLIaFSTMLqd7dzOP/u5hQWySh9c2UFNyTJ9P43POU/ve30JHE1Z+SM4WGYAMfVnzI6urVCas70EmwFkIIIYQQQohOGjY5G3eyHcO0EI0m/vgt7znnEGttJfuHPwDDSFjdyTnxddt3Lb2LHy36UcLqDnQSrIUQQgghhBCikwzDwomzi2hrDlO1oynh9b0zzgSLheCOHSilElY305VJsa+YJHsS9027L2F1BzoJ1kIIIYQQQghxFIZPySYp3cGH/97GrnU1Ca1tpqXhOuEEml57jb1//BM6FEpY7Sk5U/ik7hOKfEUJqznQSbAWQgghhBBCiKNgGBbGn11IXWUL783ZgtaJ3SXce87ZhEvLqH3wQQIbNiSs7pScKQSiAV7Y/AKvbX8tYXUHMgnWQgghhBBCCHGUhp2YhdVukFHoTeiUbQDvjBmgFKk3XI9z3LiE1Z2UPQlDGTy/5XnuW35fwj8QGIgkWAshhBBCCCHEUbI5TEacnMOO1dW0NiVuujaANTMT58QJtLz3fkLrem1eRqWPwlAGr138WsI/EBiIJFgLIYQQQgghxDE4floesYjmhbuXs2d7Y0JrJ519DsEtW9h14400L1iQsLpTcqbwSf0nxHTidzQfiCRYCyGEEEIIIcQxSMl2kzssGX99kJaGYEJre88+C4Dghg1Ea2sTVndKzhRiOsZfVv2FpzY+lbC6A1WvCtZKKYdSaqlSarVSar1S6ueHeM13lFIblFJrlFLvKqUKe6KvQgghhBBCCLHP2DMKiEU1ypLYadXW7Gyc48ZhZmaRfOmlCas7NmMsTtPJe2Xv8caONxJWd6DqVcEaCALTtdZjgXHAuUqpKQe9ZiUwSWs9BngeuLub+yiEEEIIIYQQnzF4TBqeFDtrF5bRUNWa0Nrec84huHEjoV270NFoQmraDBvjM8djWkyeOO+JhNQcyHpVsNZx/vaH1vY/+qDXzNda77tTPwLyu7GLQgghhBBCCPE5FsPCqNNyKdtYzzO/WkqwLZKw2knt08F3ffU6qv/wh4TVHZ85nh2NO2gKNSWs5kDVq4I1gFLKUEqtAvYCb2utlxzh5f8FyLwFIYQQQgghRI8beWoeFosiZ4gPw0jclHBrXh72ESMAsBWXJKzuuMxxaDS//PCXPLzm4YTVHYhUbz2zTCmVDLwI3KK1XneIn18N3AxM01p/bocApdRNwE3tD0cDn6shRB+RDtT0dCeEOAZyD4u+Tu5h0ZfJ/Sv6ut50DxdqrTMO9YNeG6wBlFJ3Aq1a63sPen4G8GfioXpvB+os11pP6qJuCtGl5P4VfZ3cw6Kvk3tY9GVy/4q+rq/cw71qKrhSKqN9pBqllBM4C9h00GvGA38DLuhIqBZCCCGEEEIIIbqS2dMdOEgO8JhSyiAe+p/VWr+mlPoFsFxr/QpwD+ABnlNKAezWWl/QYz0WQgghhBBCCDGg9apgrbVeA4w/xPN3HvD9jKMo/dCx9EuIHib3r+jr5B4WfZ3cw6Ivk/tX9HV94h7u1WushRBCCCGEEEKI3q5XrbEWQgghhBBCCCH6mn4drJVS5yqlPlFKbVVK/aCn+yNEZymldiql1iqlVimllvd0f4T4IkqpR5VSe5VS6w54LlUp9bZSakv715Se7KMQh3OY+/dnSqny9vfhVUqp83qyj0IciVKqQCk1Xym1QSm1Xil1a/vz8j4ser0j3L994n24304Fb98AbTPxncXLgGXAVVrrDT3aMSE6QSm1E5ikte4tZ/cJcURKqamAH3hcaz26/bm7gTqt9e/aP+RM0Vrf0ZP9FOJQDnP//gzwH3z0pxC9kVIqB8jRWq9QSnmBj4GLgOuQ92HRyx3h/r2CPvA+3J9HrE8Etmqtt2utQ8Ac4MIe7pMQQvRrWuv3gLqDnr4QeKz9+8eI/yMpRK9zmPtXiD5Da12ptV7R/n0zsBHIQ96HRR9whPu3T+jPwToPKD3gcRl96H+MEO008JZS6mOl1E093RkhjlKW1rqy/fs9QFZPdkaIo3CzUmpN+1RxmUIr+gSl1GDip+0sQd6HRR9z0P0LfeB9uD8HayH6g1O11hOAmcC32qcpCtFn6fj6o/65Bkn0V38FSoBxQCVwX892R4gvppTyAC8A/6O1bjrwZ/I+LHq7Q9y/feJ9uD8H63Kg4IDH+e3PCdFnaK3L27/uBV4kvsRBiL6mqn3d1L71U3t7uD9CdJjWukprHdVax4CHkfdh0csppazEQ8m/tNb/bn9a3odFn3Co+7evvA/352C9DBiqlCpSStmALwGv9HCfhOgwpZS7feMGlFJu4Gxg3ZGvEqJXegX4avv3XwVe7sG+CNEp+8JIu4uR92HRiymlFPAIsFFr/X8H/Ejeh0Wvd7j7t6+8D/fbXcEB2rdi/wNgAI9qrX/dw10SosOUUsXER6kBTOApuYdFb6eUeho4HUgHqoCfAi8BzwKDgF3AFVpr2SBK9DqHuX9PJz79UAM7ga8fsFZViF5FKXUq8D6wFoi1P/2/xNepyvuw6NWOcP9eRR94H+7XwVoIIYQQQgghhOhq/XkquBBCCCGEEEII0eUkWAshhBBCCCGEEMdAgrUQQgghhBBCCHEMJFgLIYQQQgghhBDHQIK1EEIIIYQQQghxDCRYCyGEEIeglIoqpVYppdYrpVYrpb6rlLK0/2ySUupPR1FzgVJqUuJ726k+zFRKLVdKbfh/9u48TI6qXPz491T13j37TJaZJGTf2AMk7AQEBREBRQERd7iIG4pX0J9XcMUNLygq1wW4osIFF0TZt4CQECABQiAbJCHJZJ19eu+qOr8/qnqb6UlCkskkk/fzPP1U1alT1VU91TX9nq2UUi8rpW7cS+97hVLqY978J5RSzbuwj794jyLMLx+hlNJKqTNL0sYrpSo+41Qp9VOl1Gm7cvxCCCHE9viG+gCEEEKIfVRKa30EgFJqBPBnoBq4Tmv9EvDS3jwYpZRPa23t5j4OAW4BztZaL1dKmcDle+QAd0BrfWvJ4ieApcDGnd1eKXUwYGqtV5ckXww8600f3ond/AL4LfDkzr6vEEIIsTOkxloIIYTYAa31VtwA9PPKNVcp9S8ApdQpXs32K14NcJWXfo1S6jWvtvuHJbv7kFLqBaXUSqXUSV7e8UqpfyulFnuv4730uV76/cAbXtp/KaVWKKWeVUrdpZT6qpc+SSn1sFJqkbfN9Aqn8jXg+1rr5d552VrrX3vbn6OUWuidw+NKqZFe+vVKqTuVUguUUquUUpd56TGl1BPe8b6mlDo3/yZKqY8ppZZ4535nyX6+qpS6ADga+JP3mZ2tlLqvZNszlFJ/r3DslwD/KMmngA/hBulnKKVCJXlNpdRvvdYGjyqlwt75vg00KKVGDfS3FkIIIXaFBNZCCCHETvBqSk1gRJ9VXwU+59VunwSklFJnAecCc7TWhwM/Lsnv01rPBq4CrvPStgJnaK1nARcCpc3MZwFf0lpPVUodA3wQOBw4CzdAzfsN8AWt9VHeMf2qwmkcAiwa4BSfBY7VWh8J3I0bhOcdBpwGHAd8y2vGnQbO9475VOBGr9DhYOCbwGneuX+p9E201n/Bre2/xPvMHgSmK6WavCyfBG6rcHwn9Dn244E1Wuu3gHnA2SXrpgC/1FofDHThfmZ5i719CSGEEHuMNAUXQgghds9zwM+UUn8C/qa13qCUOh24XWudBNBad5Tk/5s3XQSM9+b9wC1KqSMAG5hakv8FrfUab/4E4B9a6zSQVkr9E9zaY9xA8163IheA4Ds8jzHA/ymlRgMBYE3Jun9orVO4hQZPAbOBB4AfKKVOBhygBRiJG4Dfq7Vuq3Du/WittVer/VGl1O24wfvHKmQdDWwrWb4YtwAAb/ox4K/e8hqt9SvefOnnDG4hxjvu3y2EEEJsjwTWQgghxE7wBs2ycQOzGfl0rfUPlVIPAO8FnlNKvWcHu8p4U5vi/+EvA1twa6IN3NrgvMROHJ4BdOX7hG/H68BRwKsV1v0C+JnW+n6l1Fzg+pJ1uk9ejds0uwk4SmudU0qtBULsmtuBf+Ke970D9CVP5ffv9Q3/IHCuUur/AQq3iXeVlzdTsp0NhEuWQ96+hBBCiD1GmoILIYQQO+A1U74VuEVrrfusm6S1fk1r/SPgRWA68BjwSaVUxMtTv4O3qAE2aa0d4FLcJueVPAeco5QKebXU7wPQWvcAa5RSH/LeTymlDq+w/U+Abyilpnr5DKXUFSXH0OrNf7zPdud679kAzPXOswbY6gXVpwIHeXmfxO1H3rCdc+8F8kEwWuuNuAOZfRM3yK5kGTDZm38XsERrPVZrPV5rfRBubfX5A2xbairuwGlCCCHEHiOBtRBCCFFZ2Btc63XgceBR4NsV8l2llFqqlFoC5ICHtNYPA/cDLymlXsHt87w9vwI+rpR6FTcwr1hLrbV+0dvvEuAh4DWg21t9CfBpbx+v4/bx7rv9Ety+3XcppZbhBpj5x1ddj9uUfBHQ1mfTJcBTwPPAd71A+E/A0Uqp13CbYecHRHsd+D7wtHcsP6twKncAt3qfb742+U/Aeq31skrnjtv0fK43fzHQd4Czv3rpA1JK+XGD8706orsQQojhT/UpeBdCCCHEPkwpFdNax73a8GeAy7XWiwfx/a4H4lrrnw7We3jvcwvwstb69wOsD+MG9ydore1dfI/zgVla6//a9SMVQggh+pM+1kIIIcT+5TdKqZm4fYX/dzCD6r3FqyVPAFcPlEdrnVJKXYc7SNq6XXwrH3DjLm4rhBBCDEhqrIUQQgghhBBCiN0gfayFEEIIIYQQQojdIIG1EEIIIYQQQgixGySwFkIIIYQQQgghdoME1kIIIYQQQgghxG6QwFoIIYQQQgghhNgNElgLIYQQQgghhBC7QQJrIYQQQgghhBBiN0hgLYQQQgghhBBC7AYJrIUQQgghhBBCiN0ggbUQQgghhBBCCLEbJLAWQgghhBBCCCF2gwTWQgghhBBCCCHEbpDAWgghhBBCCCGE2A0SWAshhBBCCCGEELtBAmshhBBCCCGEEGI3SGAthBBCCCGEEELsBgmshRBCCCGEEEKI3SCBtRBCCCGEEEIIsRsksBZCCCGEEEIIIXaDBNZCCCGEEEIIIcRukMBaCCGEEEIIIYTYDRJYCyGEEEIIIYQQu8E31AewN9TW1urJkycP9WEIsUsSiQTRaHSoD0OIXSbXsNjfyTUs9mdy/Yr93b50DS9atKhNa91Uad0BEViPHDmSl156aagPQ4hdMm/ePObOnTvUhyHELpNrWOzv5BoW+zO5fsX+bl+6hpVSbw+0TpqCCyGEEEIIIYQQu2FYB9ZKqXOUUr+Jx+NDfShCCCGEEEIIIYapYR1Ya63/qbW+PBaLDfWhCCGEEEIIIYQYpoZ1YC2EEEIIIYQQQgw2CayFEEIIIYQQQojdIIG1EEIIIYQQQgixGySwFkIIIYQQQghBzs6xcNPCoT6M/ZIE1kIIIYQQQghxgFvdtZpLHryEKx67gtZ461Afzn5nWAfW8rgtIYQQQgghhBiY1pq7lt/Fh//1YTYnNnPj0dfSEmsZ6sPa7wzrwFoetyWEEEIIIYQQlW1JbOFzT3yOHyz8AUePPJq/1czmtH98FTrfHupD2+/4hvoAhBBCCCGEEELsHd2Zbp5c9yQPrnmQFza/gN/w8/XZX+fiLRtQz30fZl8OteOG+jD3OxJYCyGEEEIIIcR+RmuNUmqn82fsDNfPv56H1z6M5ViMrRrLpw/5NOdNPo9xbzwI874Ph18MZ/4I3sF+hUsCayGEEEIIIYTYz7T94hZA0/iFL+wwwLYdm2ueuYYn1j3BJTMu4ZyJ5zCzYaa73ct/hIevgRnn0P6uG3n4xfVcMuegvXMSw4gE1kIIIYQQQgixH2m/7XbafvUrai744A7zaq357vPf5Yl1T3Dt7Gu5ZMYlxZVL/wr3fwEmncYLs37MF25ZQFcyx8lTmhhbHxnEMxh+hvXgZUIIIYQQQggxnHTecw9bf/xjqs46k9Hf/vYOa6tveeUW/rrqr1x26GXFoFprePYm+Mun0WPmcOuob3PRbS8TDfj4+5UnSFC9C6TGWgghhBBCCCH2A90PPMDm664nevJJtPzoRyjT3G7+Py37E79Z8hs+OOWDfOHIL7iJVhYe+DK8/EfS087jyvinefKJ9bz/8GZ+8IFDiQUlRNwV++WnppQ6DzgbqAZ+r7V+dIgPSQghhBBCCCEGTe+8eWy85loiRx3FmJtvRgUC283/0JqH+NELP+K0safxzWO/6dZsJzvgno/B2n/zXMun+I9lZ5BzEtzwgUO56Jix72gwNFFurwfWSqnbgPcBW7XWh5SknwncDJjA77TWPxxoH1rr+4D7lFJ1wE8BCayFEEIIIYQQ+4WethTpRI4RB1XvMK/V1sa2X9xC1733Epo5kzG3/hojHN7uNvNb5/ONZ7/BrJGz+PEpP8aX7ICX/4j9wu/Q8a18w/k8964+nrMPHcVVp09l8ojYnjq1A9ZQ1FjfAdwC/CGfoJQygV8CZwAbgBeVUvfjBtk39Nn+U1rrrd78N73thBBCCCGEEGKf1r0tyaKH3mbF85tpOqiKC645esC8TipFxx130P7b3+Fks9RdcglNX/g8Zmz7QfBr217jqnlXMbFmIj+feCHBv14Oyx8AJ8diZnJD9jLGHDqXR0+bzJSRVXv6FA9Yez2w1lo/o5Qa3yd5NvCm1no1gFLqbuBcrfUNuLXbZZTbRuGHwENa68WDe8RCCCGEEEIIseu6tiZZ9OBaVrywBcNQHHxKC7PePa5fPru3l+QLL5B4bj69jz2GtW0bVWeczoirryYwfvwO32dN9xqufOJK6gPV3NrjUP3niyBcx9pJH+GKZYeRrZ3MrZcexVQJqPc4pbXe+2/qBtb/yjcFV0pdAJyptf6Mt3wpMEdr/fkBtv8i8HHgReAVrfWtFfJcDlwO0NTUdNQ999wzCGcixOCLx+PEdlAyKcS+TK5hsb+Ta1jsz+T6HXrpbs3qR92Yq24SNM5Q+MPlfZl9a9ZQdc+9+NeuRWmNDgTITp1K4j3vJjdlyk69z7bcNn6x5Rc4dpw7WzcyztKsmfAR/midzv+ugIk1BlcdFaIqsH/1o96XruFTTz11kda6YjOD/XLwMq31z4Gf7yDPb4DfAEybNk3PnTt3LxyZEHvevHnzkOtX7M/kGhb7O7mGxf5Mrt+hZeVs/vLDRYQiGT709WOoqg/1y6MdhzU3/gw7Hqfmiv8getxxRI44YoeDk+Vt6N3Ab1/7Lfev+wchx+b3GzcxYcIZOGf+iL8tTHLHvLc4fcYIfnHxLMKB7Y8ivi/aX67hfSWwbgXGliyP8dJ2i1LqHOCc5ubm3d2VEEIIIYQQQrwjz9+3mvbWOGd/7rCKQTVA7yOPkFm1iuYbf0rN2WcPuK+0laY93U4qlyJlpUhYCR5a8xD3v3k/hjK4MGXzqXiKEeffwauxE/nWn5by6oZuLp49lu+eewg+0xis0xTsO4H1i8AUpdQE3ID6IuAju7tTrfU/gX9Omzbtst3dlxBCCCGEEELsrHVvtPPqE+s5dO4Yxh/aWDGPtm223fJLglMmU33mmQPua0tiCxf+60La0+1l6QEjwIVTP8SnVjzLiK0v0nPR/Xz9tRh3v/gcjbEgN114BOce0SyP0doLhuJxW3cBc4FGpdQG4Dqt9e+VUp8HHsEdCfw2rfXre+C9pMZaCCGEEEIIsVel4lmeuGMZdaOjHP+BSQPm63nwIbJvvUXLTTehzIGbaf/whR8Sz8X5r2P/i+pgNRFfhLAvzISaCTQ+89+w5jlePvJ7fPKuXnrTnXzqhAnOfohdAAAgAElEQVRcdfoUqkL+wTg9UcFQjAp+8QDpDwIP7uH3khprIYQQQgghxF6jteapO5eTTuY454uH4xugX7O2LNp++UuC06ZR9e4zBtzfk+ue5PF1j/OlWV/iw9M+XL5yyb2w4BaerTufjy6YyFEHxfjB+YcybZSM+r237StNwQeF1FgLIYQQQggh9qblCzax5tU2TrhgMo1jBg5wu//1L7Jr19Lyi5+jjMr9n+PZON9f+H2m1E3h4wd/vHzlpldx/vF5XjNm8qnN5/PFd03hi6dNlr7UQ2RYf+pa639qrS/fV4ZnF0IIIYQQQgxfie4Mz/3lTUZPruHw08YOmE/ncrT96tcEZ86g6vTTB8z3i5d/wbbkNq4/7nr8htesW2ucV+4m+7v3ssWK8HXzq/zhshP5yhlTJageQsO6xloIIYQQQggh9pZn71lFLmtz6keno4yBBwzrvv9+cuvWMeZXvxpwYLEl25Zw1/K7uHj6xRzWdJibmOokc99VBFfcx6vOVP520Lf400XvoS66c4/mEoNnWAfW0hRcCCGEEEIIsTeseXUbby7aypz3T6BuVHTAfFZnJ9tuupnQoYcSO3VuxTw5J8f1C65nRGQEX5z1RcgmYPXTZP7xZczUNn5mX0jTWdfwg+Mmyojf+4hhHVjL4GVCCCGEEEKIwZZNWTx910oaWqIc+e6DBsyntWbzt67D7upi7G9/M2BQ/LtXfs2qzlXcHJpK9H9ORbetRKFZ7zRzY9VP+OJHP8SM0dWDdTpiFwzrwFoIIYQQQgghBtuC+94i0Z3hrP84FNM3cD/n7r/fR+9jjzHiP/+T0PTpFfO8sfoxfrPkt5ydSHDKttdZ6ZvEo86hvGwdRPOss7jx/UcSCUgYt68Z1n8RaQouhBBCCCGEGEzrl3Ww9OlWDj9tLCMnDFyLnF2/ni3f+x6R2bOp/+QnKudZ/iD/79mvUmcoDop9mRkbJ2M5Du87rJmvzp0ktdT7sGEdWEtTcCGEEEIIIcRgcGyHRQ+/zYsPrKV2ZITZ758wYF5tWWz82jVgmjT/8Ib+j9dyHHjmx9zy6q95s7aaSd0Xc+PmSXz4mDH8x8kTOahh4D7bYt8wrANrIYQQQgghhNjTurclefz2N9i8uoeps0dy8kVTCYQGDq3af/tbUi+/TPNPf4q/Umvah/6TV5b8gTuaRxFKzGFl2yxu/+RRnDSlaRDPQuxJElgLIYQQQgghxE5a9dIWnrpzOcpQnPHpmUw9ZlTFfNpxiM+bR8dtt5N86SWqzz6bmved3T/jq/9H8qXfc+2EaehcCKvjXO6+/FgOG1M7yGci9qRhHVhLH2shhBBCCCHEntLTnuKJ/11G09gY7/7MIVTVh/rlyW3cSO9TT9H5hzvJvv02/uZmRlx7DXUXX9x/h1te57VHruY7YyfQ6qSIdn+aP//HqUxsiu2FsxF70rAOrKWPtRBCCCGEEGJPmf/Xt1BQFlTbPT30PPgQyUWLSC56CWvjJgBChx1Gy3//jNjpp/NC2yJUxytMr59OTbAGgI6ut/nZfRdz/4hatB2kKX0Rd33mY4ys7h+si33fsA6shRBCCCGEEGJPaF3RyVuLtzL7nAllNdVb//u/6brrbszGRiJHHUXkE58kMvsYgtOmAXDT4pu4belthfwtsRbGxiayZONzZIMOo3oP49JjruMjs6diGpWfay32fRJYCyGEEEIIIcR2OI7m3/esIlYf5MgzxpWtS85fQPTkkxj7P/+DUsXA2NEONyy8gbtX3M0FUy/gjHFnsKxjGY+/tZhl615glpXg5NDZnHP5jcSCEpbt74b1X1D6WAshhBBCCCF21xvPbqS9Nc57LjsEX8AspOc2byb79tvUXnRRWVBtOzbXzb+Of7z1Dz4+8+NcffTV9KQsHnmsnS+8tZjjzZUkpp5H9OKbQEkt9XAwrANr6WMthBBCCCGE2B3pRI6F/1hN85RaJs0qf/xVcuFCAKLHzimk5ZwcX//313lk7SNcefiVXHH4FSx4cysv3H0D11p/wgz4cc66mehRH5egehgZ1oF1JeveaGfVS1uZcvQIxk6vR0k/BiGEEEIIIcQAXnxgDZlkjpMunFJWKw2QeH4hZk1NoT81wJ9fv5NH1j7C1Q2z+ejGtSx75gIa25ZxldFKz7jTCF9wC9S07O3TEIPsgAusX350HRuWd7J8/iZi9UFmHDea6cePprohPNSHJoQQQgghhNiHZFMWS+e1MuOEZhrHVJWt01qTWPg8kdmzUYYBQE9PK79dfDMnJFN8Ys1fSBEi7NSgq0aTedd/UX3kRVJLPUwdUIG1nXPY9FY3B5/UTMu0OpbN38SLD67lxQfXMmZaHTNPaGbCEY34/OaOdyaEEEIIIYQY1uJdGRxH0zKttt+63IYNWBs3EfnUp92E3s3cds+59PhsTq27iFmts1DBKn704cM4febIvXzkYm87oALrLWu7sXMO4w5uYOIRTUw5eiQ97SmWL9jM8vmbePT3rxOM+Jg6exQjJ1QTqwsSqwsRqw1i+o2hPnwhhBBCCCHEXpTsyQIQqQ72X1fav7ptFZv+9AH+WK1pTk/mmuXHceq0Jn50wWGMqJLnUh8IDqjAesOKLlDQPKVY4lTdEGb2+yZwzHvHs2FFJ8ue28gbz27ktXkbyrb1B01Mv4HPb2D6jOJ8ybJhKEyfgWEq7+XOm2ZpmsLwVUovzhfSff3TUYB2h/zXWqMd0IV5jdb0mXp5tMZxdGFbtMbx0vttp3XhvN2WKqpk3ks38sdUfoyFc/aOvfD55F9+VfZ59e2nIoQQQgghxL4ilQ+sqwL91iWeX4jZ2Ig220n/z4e5uSZIhjBW9uP84uIjed9ho+W37gFkWAfW+cdtjRk9GnAf6t40topQ1N8/r6EYO6OesTPqsbI28c4MvZ1p4h0Z4p1pMikLO+dg5xysnINtFeetrEMmaeHYDralcWwHx9aFl12yrB3d770PWIqSoLsYcFcMxCut86kK+QdI38H+DJ+SQF8IIYQQQpQp1FjXlAfW+f7V5szJWH84n1eMKA/EQswdfT4/f/d58pvyADSsA+v847YOrqm5LNPZw+Y13Rx26tgdbucLmNSOjFA7MrLnj8lxa45tqzz4zgfjdp+g3LHK09GgDFBKoQxVPq/wpsV0w1CgKJuWrq+4HapQM67xCgLyk8LUKzQoOw+nrDDBzjk4lpun9GXlHBzLLYSwcyXrCvPl2+TSuWJ6rnxfds5B78GyinwrAdNrWVA2NY1iTbyv2PrANL3APN/aoGS7Qq2+z62hN0z3czZM97M3DFWo/VcGGIZXk29QWB/frGld2VlYHmgf+e2VAhSFG3rp31Tl08um3nqvQUTZ+v2c1u53RmvvSna8a9pttFFc72Z2r6V8fl1hH/mpU/wu95vauvD90A5l65zSdbpY2Oau9/Y5QB6n5H20rXE0aNvxpgMcS9/9ObjXpL/CNV42X369l7Z8KfvcvFYuyqCktU5xO7f1ikH325oVCzcXW8iUfC75fZcvFz+PfJrjFP6o7qTwRy5OHd3/XlQ236dgU+3EQuH75C2UfYe8tEIrnZL7Qf97RvHzGOh+UX7f8PZTsqxM7x5gKJRZcixCCCEGTbIni2EqgpHysCm7Zg32tjYi41uJO0F+dcixxDJv8t1TrpJ78wFqWAfWeSqbZelV38cJv4eWqf0HHtirx2IoTK/JuNgz8i0F+gfoDnZO9wvEi8vFQL1QeGEVp47tYHuFG6UtEfL5s2kbxy5vqdAvn9X/x/yueHvey3vgk9oF3g93BV7gXQzGC0EGDDy65QClHhVTB/iYBvz0yoLiCkH0MGocUgikCgUpFAtlKhS2lBXa5AtpTIXyKffaTVmFazR/nRauf6t4/W5PaYCZD7C3Z8OCN3bp3AuFRoWLjcL1VrjqVPFzMvLB5wBdbSopO/Y+J1JWwAJoByBfwOBmqHT/yE8HW6FgrU/Q3Xe+7FrpNw/KMAqfXSGtbD8GhipJ8665vsv9rkVVcv2p8mMpLUAsK+grKdwru9dsN09xfrv5KBYsw/YLHvPLylRlXaSEEAeWZE+GSHWgX7C86K57qQNCI3IseO+PeG35DXxp1peoDQ1trCGGzgERWNsNDWzaCmqcw+jx0aE+HLGHuT+a3X7w+6J8rWGlGsXS2sh+tYxeLd7iRYs5/PAjvFpK3a92sl/tpy6+L/SpmS0JDoo1t+U1tfltSwPWsvVeMFu2T02fGr8iNfCKnUsbONn9wY374xjKf2DnaxTzz6rv92N7oLSSfZX+qKdkX+XBQd8ApsL6HbUyMOgT1JRPh0J+XAZta/ezMcqDjb7ca9GrHbaKrWxsy2Hh8wuZM2dOWUuZ0s+gNOAqBFtq6M59T8nXvvctoNteQVx5YO4V7nnr+94j8n+ffq0ZnArrKt03vL+ZldVox+q/70r7ybcuKMlzoFh271PF73pJIUNpgUJZYYH3Kmu9UKGFQnFaHF+lrIVDv9ZSlfaVbylhVNi+OJVaNCHeuWRPjnBJ/+ruVI7bHn2Js566AyPi8NrF3+OGlbfQHG3mkhmXDOGRiqF2QATWTjRK4tDTqFq/lrbrHqL5Jz9GmftmECaGn0IrhV3cPrpeMWZa3R49JiF2RCk3INjZC9et2TSh/xAWBKvVoHSt2dcVanRNIDA8/+cUugf0DfArFBj27RpRmlboikFJtwNwu29489opKdgrzGuvFUH+WCp09cgfY0lhY/79tlfwWDqw55rVaxg3dlyhENPpcz6637kXu0zpku5fpa1FigUqJa2j8q1FBqm8whgwqK/U7anYjanQ1aMkT2mXh9LgvWz7PutKA/9KY5/ku6KYPkMKAcQ+I9mTIVobJJGx+MOzq9j07zv4lP03MlsNOo+ZxtXLbmZc1Th+ffqvCfvCQ324YggdEIE1GtrjAaZPq6Pn7gex472EZs7EV1eHWVeHUVXlBtr56i5DYQSDqHAYIxzBiIQxwu5LBfqPCCiEEEIciApNrHej8HB/kJj3NsfOnbTX3s9xdHnAXWjl4FQIzPu0dBhwfXkA33f/xTFT+nd3Kttn3/FfBqnLQz4gLww26g046qswSGnpE1sq5zd2mN/nd4N+n98s278E+AcerTXLO5aTyCXQaLq7ErQa7cz/6a+4LPcYE2iny5jGpmwvd9a+xWFNx3DzqTdTE6wZ6kMXQ+yACKwdyy1xnnLhqYRGfIHOO/9I4tnnKI6G8w74fMUgOxxyA+9QCCMSRoVK0kN98oRDYJpgO2jHBtsBx0aXTrVGhYJeMF8M6FU47C1HSt47jDKkn7YQQggx3BiGwgiY+8WPtLIuD6VBd5/BV8sC/L4Dm+b6pznbGScl/3SW0sFNrZxd3I+3fk8wfApf36DdC859AZNwzE8o5idcFSAY8Q34uNN8C438YI/5lz9kEq0JEq0NEK0Juk+uUfQvICkpKEFReH+f38AXNN1BasUecccLP+Vny//gLmjF5b038nr107wwbj7/JEqTfzTvXeznbHppPPFUfnbGzwiYUvEmDpDA2s65JZ+jJtXgn3ElTVdeiXYcnJ4e7K4u7J4ecJxiX1HtoDMZnFQKJ5nCSSXRqVRxOZn00tI46TQ67aV3dBbzpdM4qRTkcoN2XipcrEk3ImFU2Au8QyFUKNR/Gg6hgiFUwI8yfSifCYbpTk0TZfrANIrrTBPlveiTX/l8KL/ffQUCxXm/H3w+KeEVQgghDgBlXR72IVq7wbxVOnBpn8Dc7vP41L6DnOafYmIVAvZi8G7lHHIZi45NCdKJHOl4bruDOOYH8tvhYI/eU1neCaUgVh+iujFEdWOY6oYQ/pAPf8DEFzTo2aBZ/0YHvqCJL2DgD5gEIz5CUf9+P5bFnvb26sf55bL/5eSMxTnZOtZ2x7AxmRuo4rzpn6A1FGVjfCPT//Y4qZE1fOu8n2MoqegSrv0usFZKzQC+BDQCT2itf72jbRwLRk6oxl/Sx00ZBmZtLWbt4I7cp3M5nEwGJ5l0a8gNw61pNs1+U5RCp9Nu4N43oE8k3Wk+re9yIeBPYfX2egF/GieTcddnMmDbg3quBUqVBdqFwLvSNBTECARRwSAqGHCb4Fdc9uaDXgFBKIwRCnqtBEKFdCMUAr9fAnshhBDiAKaUcvtv+w3YC91etaPJZuzCoJn9Hmta8ruk9Gkm2ZRFsidLoitDojtDqjfnjs1SacA6r886GqycjZV1g/5MMkdPW5re9hRrX2sn5T13udT6Z1/pl6YMRbjKT6Q6QKwuRH1zlIaWKA3NMWpHRTDNAytgdFoXcf0TX8DvMzH0NVzROoKzxtZzyIYUx77rM0w5eiQA2rJYueZBqt/7XgmqRZm9GlgrpW4D3gds1VofUpJ+JnAz7jA5v9Na/3CgfWitlwFXKKUM4A/AjgNrmyEb/En5/Zh+P2YstnMbBAKY1dV7/Di01uAF+TqbRds22HbZVFuWW3Nv2WBbbvN023LX5fNZNtq2wLLQuVzxlc1WnuZyONms+94laTqbRWeyOIkEViaDk82gM1l0JuO2FshmwbJ27WRNs9hHPhRym+MHQ4Um+ioU9JrqlwTo/kAhmFeBfEAf6BPUuy8jGESFQm6+UMhND/R/DIMQ+zqdzWJ1dmJ3dGC1d2B3tGP39JYV2Olspt92KhQudk2JRjDr6vGNaMI/YgRmUxPGfjAWhR2Pk9u40W251NuLE0/gJOLuPcjK3/Os4j3Pu//h2P1a+qhQ0Ps83C47yme691xH441w5Q225RRaR5UVPvoDfQoj/RjBIEY06u4vEincX/L36uK9NAeWN9+nGkyZplvoGCrev3bmPqUdp3APx7bLC4J9PpRvvyuTF2LQKUMRDO/cd6P0aSahqJ/qxj0b+ds5h1zWJpexsbI2zy94gcMPPRIr6wbjuYxNJmmR7MmQ7MmS7MnS05Zi3dL2wiNCDS/oDlcHCHtN3d1XcT5WF6R+VNQtvNjfrX+Bv/ztIl6qjVK95T08ER/N98+fwcnVMe5/7VUi1cX/a6klr+EkEkRPOH4ID1jsi/b2f8c7gFtwA2IAlFIm8EvgDGAD8KJS6n7cIPuGPtt/Smu9VSn1fuCzwJ079a4aWg7wUZWVUm7Qvh/84M3TloXOZt3CgEzGq4HPuk3v0xl3mkqjM2mcVBonnUKnM+40lcbJpEua67tTu7cHva00j1ujr7P9S3ffKeUF3EbAC9J9PpTf5zWjL74omVd+b9kceDna2sq2pa8XlpWvZJ87sYwyUKaB97Bat9lX6bzXWkIZFfLkW1gYRv883j7dRzGV5JEChl2ibbtwnTqplBvY5ufT3jWeShbmdTqFzlnFMRvyQyP7fCif370OlMJJJHDicZxEAjsRx+7wAumODpyenoEPSCm3cCoQKH9OueO435t0esBNzYYG/M3N+Fta8Dc3E04k6NUaf3ML/pYWzNjAjz3UjoPd3U1u40aya9aSXbOG7Jo1WNu2YdbWYNY34Guox6yr94JZt6tLPmjUluUFnhY6nXILDrq6sDu7sDvaybVuJNfait3dvfN/nHyXGK+bi3acsoLJQee1AsoXfu7WrkoLCAMB97rrU0C6o3NSfn9ZVyQV8Qb6DHsFlv4A+Mxit6L8Pc00i+n5Qsz8/TJfuOkVKrgFm17hZiCA4eVXZeukQFOISvKDt4Wi7mMawnWK5sk7bqFpWw6dm5O0t8bp3JQg2ZMlFc+R6s3Sva2bVG+OXKb8/qAMRe2IMA0tMZrGVTH5qBF7vKBgsFkvP8CmP1/BjTNrMBPjmDriw3zv8kNpqQ2zYuFmgLLAOjF/PihFZM6coTpksY/aq4G11voZpdT4PsmzgTe11qsBlFJ3A+dqrW/Ard2utJ/7gfuVUg8Af97R+yoFoybISH37m3zwaUQG/zE9WuuSmnQvkM9m3UA+69Wi59MzGTewz6RL5jNuIJ/JuoF+JuPV6ns1/lauuJzN4iSTblphvVVh2YJcjqhl0bbdDln7GKN/wK3yD4X2gu/886dLlwtBeUnefvvoG+z31fdz6ve5DfQ5lhybodxnb5cer11Sg2k7Xg2mU7HlB7btBl759y88WFyXH0Fputa7HjCVfiZau9dN6Xn7fG7NZzSCGY1h1tURnDGdaH0DZkM9vvy0oQGzrg6zpsYNlkKh7QYt2rbdYD+RwO7qxNq6FWvrVnJbtmBt2kxu40Yyy5cTf/JJqrNZNvzf/xUPuboaIxYttiAJhtxuLO1t2B2d5YGdUvhbWvCNGkl27dtYi1/G7ux8Z59XvutPfR3+5mZChx9GwAv6zdpajKoqjGjM/ZzCoWIQbXq10tv7HLQu6cLjvrDtgQuyvOu2UOuczfVv/ZP17iPJpFswkkziZDLlNdyl41z4/YVCtPK/kYVOZ9BZ7z6VThfnM2m3QNH0ueNu5GvNAyXvEfCjDKM4yKbl3svc8015hT6pwrzd04O1ZbN7n7PcexlWSaun/PxOBO87S/n9xWDb5ysG7qVB/EDpJX/nsgKA0tYIPneMkVhrK1tffbVY6Omll79Pn+0G3J9X858fv8TvKxvLpOy43sG1KMTuMn0GjWNiNI4ZuJVlLmuT6s2S6s3R05aivTVOe2uCrW/38OairSz4+1s0T6ll2rGjmDxrBIGdrMUfKm0v3EPyG9fSuTmGmujjK8d8h0uPnlX4rqV63YqXSE2wsE1iwYLC04WEKKX6Nh0b9Dd0A+t/5ZuCK6UuAM7UWn/GW74UmKO1/vwA288FPgAEgSVa618OkO9y4HKAlqYJR/3xntv27IkIsZfE43FikQjYNsq23YAiP1+Sll9200ryaK8JqhfAKackkPPWqeIDXQvNVwv5SrbF0SjteHl0/+3z+3R0yT5L8pNPp7BMftl7QK3STnG9rvA+Tsk+K+n7w7Pf79C+Cbrs/VTpMeXf2zTQhgmGAsNEe1MMA50P8r2XNo3io/vyx6P6vLfKv3PJsmmiA0F0IFD+CrpT+qYHAsXAvy/vGgHAq7keMo5DavNmqjIZzPZ2zPYOzI4OVCaDyuVQ2SxksxAMYFdV41RVua+6WqyRI7FHjAC/v98+VSKBymRR2Swq504B93P0ghDtD+DEouhwuHJBjBg6jgOW5V4DlgU5C2X1mc9Z4E2VVzhZPl+eH9tBOW4hQP4eiOOgSp7EoWy3OX7pvHsPtYvbF7bz7qOlaUNcyKlLCykL9x/vvuQF4dpnon1+9zvgtZLS3uCj7i3HvSfpfAFi/h6lDLTfh/YH0AE/+L17jd+PDvjde47fj/b53P37fe68N2ip9l7FPO57y3dv6MXjcWI72yVxN2QTmu610LVWk+11y/p8YTAD4AuCGQRV8nRbpcAfUVSPg0B07/6f2pxwSL7xAB9tv41V94/CcGDh+w5n/PuuKM/3ikPHSpjxIbfwX6XTNH3lapJnnEH8/PP26jEfyPbWNbwzTj311EVa66Mrrdu3i5Eq0FrPA+btRL7fAL8BmDJxmp47d+6gHpcQg2XevHnI9Sv2Z/PmzeNEuYbFfix/H9ZegUC/WvjC2CQ2OmcV50vTrWJf/cJYJX368Jf158/38besYiuZAR7XWdhfNofOZUtaQ2SLrSIsCxyN7lOY6Lb+8B4HlW995XWV2iNPNvH7MfIDlnpjB/jq6zEbGtyWMvX1hfEEjEgEIxopzntjOahIBCMadVsoSK39O7a3f0dordmytofVL28j0Z0hHbe8kdOz7kjr+UeSOZpM0mLLqzB6UjVTjhnJ5KNGEK4avG6LiYzFt+9fSsurN/Ml39+4r3Mq05w43XUBTlzazaSfnFJ2jT2+9g2ytV2ceqrbn7r3yafY4DjMuPgiosceO2jHKcrtL7+F94XAuhUYW7I8xkvbbUqpc4Bzmpub98TuhBBCCHEAU4YBgUD/hjDDlLasQteB/Jgmhe4K2aw7KGnGW85lC4OPuutzhW5Vbl6vi1U8gdXeRmblShLt7dsf66Evr3uYWVVVDMwb6vE1NuJvaSEwZow7tsPo0e7jP8WQUEoxakLNTnXD7N6WYtVLW1j14haeuXsl8//+FudddSQjJ+zcQL5dW5IkujO0TN1xs+w3t/by7T88yAXdd/B+33xumXoi4+etZuuYGDOu/Brt3/gWyeefJ3rccYVtkj1ZwqX9qxcsQAWDhI88cqeOTxxY9oXA+kVgilJqAm5AfRHwkT2xY631P4F/Tps27bI9sT8hhBBCiAOF8vkwYz7YzoCDu0tblvv40GTSfZRoMolOJcvGLcin5192Tzd2ewe5TZtILX0Nu72jfNwFpTCqqzHzr5pqjOoaNyDPz9fW4GtswtfYgK+xEbOxcb94osFwU9MU5uizxnP0WeNp2xDnoVuX8OCtS/jQtccQqwsOuJ3WmmXzN/Hvu1di5RxmvWccc86dhDHAc7mfevpJEk/+lDvUAhy/jx8c/C6eW7OSGzdD49evpOHs99P145/R+ee7+gXWVfWhwnJi/nwiRx+NERz42MSBa28/busuYC7QqJTaAFyntf69UurzwCO4I4HfprV+fQ+93y7VWL/Z+SY92Z78PlAoGkINtFS1yPPqhBBCCCH2EOXzuQFvVdUu70NbFrnNW8ht2ECudYM78n9XN3ZPD3ZPN053D7lNm91H63V3uwPoVWA2NRLwnl7gb2khcNA4AhMmEBg/HrO+XpqhD7LGMTHe+9nD+OuPF/HQrUs4/+pZ+AJmv3zZtMXTf17Byhe2MGZ6HdWNYRY/so5t63qZ+4mpvNL9Io2WxZhEB4HNq9iw5ClO6H2RxeEqfjPxdJ6P+FjcvpQfbjwYfG9Qd865GMEgtRd8kPbb7yC3eTP+UaMAN7AeOd6tPc9t3kz2rbeo/cAH9urnIvYfe3tU8IsHSH8QeHAQ3m+na6xtx+ap9U9xx+t38Oq2VyvmifgiTKmbwtS6qWWvWGDf6EwvhBBCCHGgUT4fgTEtBMa0ANt/BFJ+JH+7sxOrveyIb7AAACAASURBVB2rrc19bd1KbtMmcq2tpJYupeexx8r6mBvV1fhHj8asr3OfplBfX3j0n6+h3ltuwDd6tNR874aGlhhnfGomD976Gk/euZwzPjWzUKCR77v9+O1v0LMtxZz3T2DWmeMxDMXICdU8fdcK7vj2E/xt8q9oj7q9Sqttm9pqxcaG8VjKgdRyJgQm8I2jr2XK724lfMop+OrrAai98ELaf38bXffcS9MXv4DjaNK92cKjthILngcgevxxFY5ciH2jKfig2Zka65yT428r/8Yf3vgD63rX0RJr4drZ1zKxZmJhgA+NZnNiMys7V7KycyUPr32Ye1feW9hHS6yFKbVTGFM1hpZYC82xZlpiLTSGG6kN1mIa/UvbhBBCCCHE3qWUKjyH3b+d34fatslt3Eh27Vqya9aQWbMGa8tW7I4OUq+9ht3RgROPV9zWN2JEodY7OHkSwanTCE2biq+5WWq9d8KEw5s49tyJPH/faupHRxkzvY7Vr2xj9Svb6N6aIloT4NwvH1nWr3rmCc2sTT3Na/cH+eDSL7Fs3N953bQJNoVoGmkzd8QkZo2cxZEjjqQ+VE/8mWdYv62NmvPOLewjMHYs0ZNPovPee2j87BWkUxqti8+wTsyfj1lfT3DatL3+mYj9w7AOrHdUY521s1z99NXMWz+PQxsP5cZZN/Kuce/aYSCstWZLcksh0F7ZsZJVXatYuHkhKStVllehqAnWUBuspT5UT12ozn0F66gN1hL2h4n4IoR9YSJ+b+ot59NC5vafJyuEEEIIIfYcZZoExo4lMHYsnHRSxTxOJlOo+bY7OrHa2shtbCXXutGt+V68mJ5//auQ36iqIjhtKqGp0whOn0Zo2jQC48e7I577hvVP8nds1nsOor01wcL7V7PwfjAMRcv0Oo5411gmHz2SULR8cLq29pXcsP4HTBs7nSPf+iyEP8nNH5jBEWNrK+6/+777MGtrqTrllLL0uosvZsMVn6X3iSfIHnIi4AbWWmsSCxYQPe44dxBDISo4YL/FKSvFVU9dxfyN87l29rV8ZPpHdjp4VUoxKjqKUdFRnDzm5EK61pquTBet8VZa4620p9rpzHTSmfZemU7e7nmbl7e+TFemC0c723mXkvdDlQXapcF3peV8IF8XrKM2VEvEFyHkCxE0gwTNICFfSPqKCyGEEELsBiMYxBg1qtAftxI7HiezchWZlStIr1hBZvkKuu+7DyeZLMuXfxSZEY0Wmpv7Ghsw6xsIjBtHcOoUgpMmYUQig31a+wSlFKddOp2apjC1IyOMP7SBYKTySO9OLsPX7ruYlKGxEu5jsb5y4iQmDxBU293d9D7+BLUf+hCqT7P92Ekn4R8zhs4/34W69hgAwtUBMitXYbe1STNwsV3DOrAeqCl4Ipfgc098jsVbFvOd47/D+VPO31PvV6iRPqTxkO3mdbRDPBcnlUuRslIkraQ7zSV3ejlhJdiW2kbKSpW9dobP8BEyQ4VAuzToDppBQmaIgBnY7rrCy+g/7zf9BIwAQTPoLhv+sjxSAy+EEEKI4c6MxYjMOpLIrOLjmbTjkNu4kcyKFWTXrcdJJoqjnvfGsTs7yW3aRHrpUqyODrDtwrb+MWMIH344VWecQezkk4Z1oO0LmMx5/8Tt5ulKZrnpjvN5MZrl5ORRfP2Ky/jH9S8Q70wPuE3PQw+js1lqzjuv3zplmtRddCFbf3oj3bffDcwgUh0g8cB8AKLHH79b5ySGt2EdWFdqCt6d6ebKx6/k9fbX+eFJP+S9E987JMdmKIPqQDXVgZ17Tt/OshyLnmwPXZkuutJddGW6SFpJMlaGjO2+0na6sFw6n19OW2m6M92FdWk7TdbOkrbTWI61R46zEGgbxSA8YLqBeOlyfn2/AL0kf8gXcgsJfEHCZrhQABD2ufM1wRpqgjX4DXmmpRBCCCGGljIMAmPGEBgzZod5tW2TW7+e9KpVZN98k/TKlSTmz6fngQdQwSDRk06k6tTTCB1yMMGJEw+o53c//sYWHv/HdTw2ah2HOw38/PLbMQyFz28Q78oMuF33/fcTnDKZ0CEHV1xfd+ml5LZs5e1/r4TxM0jccSvWkpcJTJiAf/TowTodMQwM68C6ku8s+A5vdLzBjXPd/tTDjc/wUR+qpz5UDzV7fv+WY5G1s2TsDFk7676c8mnOzrnr88tOrrBNfr5suwG2jWfjhfSMnSFn58re650G+VX+qkLTeJ/hwzRMfMqH3/DjM3xumjIJmAGi/ihRf5SYP0YsECPmjxWWo4EoNYEa6kJ1VAeqpfZdiBKJXII32t8ojEGxomMFazrX4LvL/XejlMJUJoc0HsLxzcdzXPNxTKieIN8jIYSoQJkmgfHjCYwfD2ecAbiPF0suWkzvo4/S+9hjxB9/ws3r9xOYMpngxEk4qRR2Rwd2RwdNbW2s9PvdQdtCIVQ4RKClhegJJxA98cSdCvD3JV3JLN/55xv4l/6WN8bNI6JC3HTBPZim280xWhckMUBgbccTpF59lYbLPjPg/x0jGGTU//sGkdtfxly4je7bf4fSmrqPfGTQzkkMD8M6sO7bFHxp21IefftRPnv4Z4dlUL035APQiH/omx452nFr2q1iTXvfacpK0ZPpoTPTSVemi450B2nLrXm3HAtLW2SdLEkrieVY5JwclmORyCXcpvo7aFrvUz5qQ7XUheqoD5YPTpcPzqP+KBF/hIgvUrYc9UdlYDoxLKzrWcczG57h6Q1P89KWlwqFXnXBOqbWT2VWZBbjxoxzn7QApK00L299mWc2PAPAyMhIZjbMpCXWwpiqMTRHm6kP12NguCP4ovCbfkZHR1MV2PVn3R6otNakrBQ5J0fEF8Fv7lqNltYajd6nxujQWuNox33hYDs2Go2tbWzHxtZ28X7vWGXLjnYwDRO/4cdv+DENk2QuSU+2x31legrzyzqW8dAzD5G0kjjaKewfIOwLE/PHiPgjxPwx9/9BqJ6GcAMNoQbCvnDh+LR2vwP51lc+w0fADBDzx/apz1Xs25TPR3TObKJzZjPy/32D7Jo1pJctJ7N8GenlK0gtXuz11a4nOHMGXckkDS0tOKk0OpPGSaZIvf46vY89DkDgoIOInf4uGj97JWYsOsRnt32PvL6Zb963lPel/s7GlkfYEAjz29N/TWNsZCFPrC5IorNyYJ165RWwbSLHHFNIW/3yNlpXdXLSh6eW5c3oANHGGBPv+zudd91F3UcvGZyTEsPGsA6sS5uCa625adFN1Ifq+fjBHx/qQxN7gKGMwqBug8VyLJJWkng2TjwXJ5FL0JvtpTvTXRiQrjPdSUe6g850J8s6ltGR7qA327vT5xD1RQn7w27Q7SsPvKP+KO2d7ax4dYU7QrzX7D1gBsr6wZcu5/vE518SuItKHO3QlekikUsUWopk7Ix7TZa02Ij4IxV/8K/vWc+Dax7koTUP8Vb3WwBMrJnIR2d8lDmj5zC9fjoNoQaUUsybN4+5c+b220drvJUFGxcwf+N8Vnet5vlNz++wMKs6UF0IwCfUTGBK7RQm1U5ifPX4XQ4Y9wWlg19uiG+gLdlWuL/k/075ADDfXaYqUEV1oJqqQBVVgSq6M91sSmxiY3wjmxKb6Eh3kMy543GUDpYZMAL97jMRf4SoL0rWzhYDy2wPKStVVugIlHW1CfvCmMostPgxlYmjHSxtlW2Xn1qOhda6ENDmC2sLATIOjuNNvYDZ1jZa68pTr7BmMCkUYSNMva4n4o8Uzjf/vehId5DIJdwC2WwcS7/zLlMKRcwfK/wtG8ONNEWaGBEZwYjwCHcadefrQ/XyGE9RoAyD4KRJBCdNgvedXTHPm/PmMWru3LI0rTXZNWtIPPsc8eeepeP2O+h99DFafvoTwocfvheO/J1Z157k2/98nSeWb+WbdY/RNuIB5keq+Pac/+LolvIBxaK1QTat6q64n+SLL4JpEjniiELaqpe28OairRzz3gmEYsX/I8ke9xnWoWnTGH399YNyXmJ4GdaBdakFGxewcPNCrj3qaqKJDqjdt0vkxL7BZ/h2qS98PiBP5pKFH1yJXIJkLukOPFeaVrKcz9+RcX8QJ3NJejO9PP7K47t+DspX+PFa9ipJL/2B6zN8hZpCQ3lTjMK8qUx3npL1yijbpvDqk5bfpu9+K6Xtyn6Bstorx3EKP77zNVmGMsoDAcMNBvI1Vn3XGRjbDRIsx3L3i4FhGP3OyVAGpmEWWizE/DEivggODmmrOH5Bflo65kHpK2fnQFH4/E1lEva5BTJVgSqi/igBM1A8f69FR1uqjbZUG+2pdraltrnLyTba0+3Y2t7B1eN+B8bExjC2aizjqsdRE6zh2Q3PsqRtCQBHjTyKa6ddy8ljTmZs1dh3dG22xFq4YOoFXDD1AsD9odeR7qA13kpXpquQptGk7TSb4psKgefKzpU8ue7Jwjn4lI/6cH2h20b+88jZOXJOrlBbe83sa5hUO+kdHef2dKW73PEd3kEBn+3YrO5ezdK2pSxpW8Lrba/zds/bJK3yUYINZRSe8BDxRwrXXs7JkbbShcK+UmFfmOZoM6Njo5laN5VYwL3eYoEYfsNfCLRL703JXJLudDcbrY0EjADVwWoOqj6IqkCVW8Pt3R/8ph+FIm2lCwNqpq10We2wrW2UUviVv+K9JR+Q5r87+e9S3+9M/nve77ukzMJ9qPR+1C8PqhC8F77Thll278sfR/4ztRyLiC9CdbC6cN+vDlYT88d45ulnmNsnMKlEa008F6c91U57up32VHuhwCp/X0NTeM98V6dELkFPtofebC89mR7aUm2s6lpFW6qt3xNETGVSF6pzuyp53ZPKuiv5o/27MHlppYVmATMwwFmIA4FSiuDEiQQnTqT+Y5eSfOklWr/2NdZ+5BKaPv85Gi6/HGUOfQFOOmfzP0+v5lfz3iRq5Pj7tKd4s+Mebq5p4NLpl/CB6R/ut02sNkSiayva0SijvHIh+dJLhA4+GCNajAN6O9yBzja91cWEw5uKeXuy1DQNXuWNGH4OmMD6psU30RJr4UMrnoO/fAlGHgIzz4OZ50LT1B3vQIh3YFcD8krmzZvHCSefQDKXJG2l+wdd+UDMyVQMykoDwLKAUFtl60rz2NhlTRdLg7W+aZqSea371TgV0nRxu9JtSvcjKlMoAmagvFZvJx/XB26AVh+qpyncREO4gWl102gMN9IQbqAqUFU2GKCtbZK5ZCFo60x3sr53Pet617FoyyKSVpLp9dP5ylFf4awJZzEqOvBjZt7xeSrlNp8NN+xU/oydYW33Wt7sepO3ut6iLdVWrDnMxenOdBcGPYz4IqzoXMFHH/woN55yI8e37N7IrvFsnF++8kvuWn4XjnZojjUzsWYik2on0RBqKARypjLJ2tnCYxhb462s711fqJmv8ldxcOPBnDf5PMZUjaEl1kJLrIWRkZFUB6t32DzYcix6s730ZnupDlRTE6yRVipDSClVqHUeXzN+t/dnOzbt6Xa2JbexJbmFrcmtbE1upSPdQTzntaTKJmhPtZdd+ztzf/Ab/n5Bd9/xREqXBwriw76wXHPDQOToo5l4331s/vZ32Hbzz4k/+xx1H7mY6Jw5+Bobh+SY3tzay2V/WERrWxffHbeICxL/x+ItXfxg9ChObD6eq4/5z4rbxeqCOI4mFc8RqS4WIDnpNOklS6i79NKy/PF8YP1md7/AevTkyo/sEqKSYR1Y5/tYN45pZFnHMn5w5JcJ/P1qmHgq5FLw1PfcV9N0GHcstBzlvpqmgzSzEvsQv+EvjG4+XOVrJgcKxisG7H0De/TANVhebXi+H2a+r2Vh6tiFwgZHO4V1jnbKarkGqoHrW1BQ+sq3YChtpWAoo1+z/b7N+vOPxPMZvn4/XPP9ZuO5OPFsnN5cLzk7h2mYhRr8gBmgMdxIXbBujzQd1VqTyCWIBWK7va89IWgGmVY/jWn103Yq/6b4Jj735Oe48okr+frsr3Ph9Avf8XtqrXl47cP85MWf0JZq4wNTPsCo6ChWd69mdddqFm5aSNbJ9tsu7AsXguZjRh3DzIaZHNp4KAdVH/SO+tbajuaV9V0s39zDmQePoiEWLIztIIYf0zDdZuCRERxM5RGM+9LabeGRb5qeD7bzhWWlaYVp1p1uTW4tW5exBx5ZOS/ffaS0tUhpwB7xRQj7wkT83tRbLk0rTY/4I1KbPkTM6mqaf/oTYqeczJbv/4CNV38VgOCUyURmz8HX2IC2bLRlgW3ha2oidsop7sBqe9iLazu49o7HeLfxEl+u/xf+rRv540GHcosvxriqsfz4lJ8M+H8tWhsEIN6ZLgusU0uWoHM5IkcfXUizLYdEj3vP3vhmVzHddkgnckSq9t8uRmLvG9aBdb6PddXEqsum1k3l7LWvgOGH82+FqlHQsxGW/RNWPASv/x0W3eFu6I/ChJNg6pnuq1qG1hdisOUHqZIBfHaOUsodFM8fYURkxF57z30lqN4Vo2OjufOsO/naM1/jewu/x9qetVx99NX4jJ37V7gxvpFvzf8WCzctZGbDTG4+9WYObTq0LI/t2IVHE+YLbXyGj7pg3S7X6iUyFg8t3cy8FVv596o2ulM5AH700HKufvc0LpkzDp+5/e/Npu4Ui9/u4sQpjdSE5YficKaUKgSrjeHdq2nM2f+fvfMOj6Lc4vA725Pd9N5IT0gIEELvoSmgiIUiINIUsF+7XkQsV7Er9obSBKWoiDRRqvQQCD0B0nsPqZvs7tw/JgmEJKQQBGHf55lns7Oz33yBzez3m3PO71TVF+HV4ryhfTXPz1eeJ6M0g5LKktqygeaUntSglClrS1x0Sh0WCovarBqVXFWn7WbNTciLTUJ1Sl0dY9HmZH+YkRAEAZs77sB65EgqTp2idN8+yvbtp3DNGsSK6t7QcjmCXI5YWUnW/LdQ+fqii4zEevitV1afbTJB7HqSDm7A7twO/hLSwARn7cOZF+DP0eIkBnkMYm6vuZc1stTZ1QhrPc7eF/aXRUWBIGDZNaJ2X2mhHkSwtFaRk1xMVaURpUpORXGVtN9G3frfx8xNxw0trGswiAaeaD8Z2U8PQpf7JFENYO0OPWdJm8kE+fGQdghSD8CZPyBuk3ScW7gksIOHSz+bU57MmDFj5l+JVqnl40Ef817Ueyw7tYyjOUd5pc8rBNoFXvZ9u9N28/yu5zGajLzU8yXGBI1pMFoil8nRytrOw2NnXA4v/nyMtMJynKzUDAt1ITLYCU87S97bHMu8306w4kAyr9zRgV5+DafQb4/N5j8/HaGwrAq1QsaIMFfGdfeil68DMpn5+8xM4yjlSmzltthqriwdVhRFKk2VlFeVU24orxXb5YZyyqou+rnam+TiTJySyhIqjFKXjyJ9UW3LzYvbcNbU+jeGXJBjq7bF3sK+toOHlcqqnqeGRqHBUmGJRq7BQmmBndoORwtHHC0cbzrTOEGhwKJjRyw6doQHH0Q0GsFoBIUCQSbdpKhMTaNk+3ZKtm0jf9ky8r//Hudnn8F++vTW3UjcPh92voODqOagRSiZnW/nsFbJ90kb0VWKvDvgXW71ubXJsWsi1pe23CqPikIdHIzc5kL2X019dWA3F2K2ppCdcB6PYDvKqqPYllbm7AkzzadJYS0IQrtmjlUoiuL5K5zPVUEtqOkffwBMBujzeMMHyWTgGCBtnceDKELOaSmaHbcJdrwNO94CKzcIvAX8IsExEOz9QGU2QjNjxoyZfwtymZznezxPJ6dOzN8/n3G/j2Nmx5k80PGBes7iJtHEV0e/4osjXxBoF8iHkR/Szrq5X4uXp9JgIj63hHPZpbjaqOngboNGKS3ci8qreGP9SVZGpeLvpGXFg73o6WtfRwgvndGDzScyef33U9z79T76BzoypbcPg9o7I5cJGE0iC/46wydbzxDsYsUH4zqz7XQOvx5J49cj6fg6avl+and8HM3fYWauLoIg1Ja82NL2Nas1wr2kskQy/awqrm2xWVBxoXtHzfOTeScpqSqRyn1MdV3sG0MmyHDTuhFoF0iQXRBBdkH42/jjrnO/LlqQXm0EuRwuMTNTeXpgf98k7O+bhLGklMyXXyb73fcw5OTi/NyztQK8OeSkxZO97zNecPUn1UKJgTzI3gjACJ8RvNDzBew19s0ay9JKhUwmUHKRsBarqig7fATbe+6pc2xNfXVAd2ditqWQca6wrrC2MQtrM82nORHrxYAIXO72kAgsApa0wZzaHAe5LcKhRRA2Bux9m/cmQQDnEGnr/xSU5sKZLRC3EY7/DNGLLxyrc5UEtr2fNH7Nz3beYGGuezNjxoyZ65ERviPo6daTtw68xecxn/NH0h+MDx6PpdJSqnmXa/gx9kf+TvubUX6jmNt77hW196symvjrVBbrj2VyOuM8CbmlGEwXTPsUMoFgVys6edqw9XQ2uSWVPBTpzxNDAmsF98UIgsDwMDcGBjnz3e4Elu5N4oElUXjaWXBfL292n81l15lcxnT15PXRYVio5Axu78Kc20LYdDyTOb8c4/0tcXwyoUurfyczZq4HaoW7hbrZ5ocNYTAZqDBU1EbPCyoKajsr5JTnkHw+mbiCOHam7qxjEGetssZN64azpTNqubqOA7212hoHjUOtYaS3tTeeOs8bzvBNrtPi/t67yO3tyV+0CENeHu5v/A9BdXlhajCaWLovCZs/Hme5hzVZGjV3BY7A39YfX2tf/Gz9WmySKcgEtLZ1e1lXnDiBWF5ep74aoDhfOsbRQ4eDu5b0s1KbrhphbWGOWJtpAU0Ka1EUB/0TE7ka1JiXBbtbQxXQ78nWD6Z1hPAJ0maohOyTUJAgpY/nxUuPZ/+Eksy671PbgF07sPWWUs+1zqBzqn50Bq2T9Kg02/mbMWPGzD+Nvcaedwa8w0jfkby+73Xe2P9GndeVMiVze81lbNDYVi+EE3NL+fFgCqsPpZJbosfJSk24ly23dHAhyMUKfycdGUUVHEkpICaliN+PZuBlZ8k393ejk2fT0T0LlZxHBgUwc4AfW05msXhPIm9tPI1KIePtezoyvnvdCLtGKefOLh7EZRXzxY5zPDY4gCCXxusVzZi5WVDIFFKrsmovCW9r7waP0xv1xBfGk1CUQEZpBhmlGWSWZpJdli111qj2V6gyVVGkL6rtAlCDvcaecKdwOjt3pqdrTzo4Ns+Y7npHkMlwmfNfFE5O5Hz4IcaCAjw/+RiZRcNr3BPpRTy3+ihkxDDR6TCxanveH/Aqt/jccsVz0dqqKSmsqH1eFhUFgGW3rnWOKy6owMJKiUIlx83fltj9mZiMJsrOS4L7YvMzM2aaosU11oIgfA+UANHAQeCEKIrXZZ+cGvOyrh6qBwm+B1xC22ZghQrcw6XtUvQlUJAI+eegMBkKkqTHvLOQsAv0DTesR2UlCeyLxXaDItwFVDd+ytE/gckksjc+j9jMYuy1Kuy1Khx0KtxsLLDXmi+kZszcTER6RdLXoy+FFYVUGCqknuJGPY4Wjq1qKVZRZWTziUx+PJDC3vg85DKBQcHOTOjhxcAgp3pmY2EeNgwLdQGktNbWiHilXMbIjm6M7OjG2ewSLFRyPGwbv2n7YH8/Fu9J5OO/zvDpxIgGj2ntXMyYuZFRy9WEOIQQ4hDSrOPLqsrIK88jpzyHs4VnicmJ4Uj2EbambAWgk1Mn7g+9nyHthjTbTPF6RRAEHGfNROFgT8ZLcyn48Sccpk2td9zR1EImfbMfC6WMZZ4/c7+lHX1cujPMe1ibzENnpyYnpbj2ednBKFR+fvVah5XkVaCz0wDgFmjD8Z1p5KWVUn6+CqVajlJ989TVm7lyWvzXK4riNEEQLIAIYCjwODCzrSfWlgiiEfo99c+cTK0D1zBpa4iqCijNgdJsKKl5zJb21TzmxELiLigvaHiMGhFu5Votxl3qbpZ2YGEPlvagtr4uzdaMJpH0wnLySivJK9GTV1qJySQyLNQFB93VdWBMzitj9aEU1kSnkVZYXu91QYDx3bx4+pZgnKzMbpBmzNwsKGVKnCydmj6wmuKKKuZvPE2Z3oCLtQZnaw3OVmoOJxfy8+FUCsuq8LK34JlbghjbzQsXa02zxm0LIRvg3LR7u51WxdS+Pny+/RyPZxXXiVrrDUYeW36YvefyCHW3pqOHDR09bejuY4/7ZcS6GTNm6lPTwcHL2osIlwjGBY8DIL8in82Jm1l6cinP7HgGD50HE9pPINw5HF8bX6xV1td45q3HdswYClevoXDVKuynTqlzXTuRXsTkhQewsVSydlgx7+xNpFJuxX/7zGuzG3laOzWJx3IRRRFMJsqio7EeMaLeccX5Fdi5ST4Tbv5ShlD62ULKzuvN0WozLaZVt8VEUSwHdldv1z1GuSV4db/W05BQasDWS9qawlAJZbmXCO9sKM6Ckuot8xiU/AX6RnzjZAqpzrtGaFvYVwvvS/dd8qi4eheTffF5vLz2OHFZJfVee3ntCUZ0dGVST2+6+7S+PU1DVFQZeXplDOuPZSAI0C/AkeeGB9PH35HzFVXkV4v8/Qn5LN2bxO9HM3h8SABT+/iiUrRtm470wnIOJuaTlFdGUl4ZyfmlVBlFhoY4M7KjG35O/96WRmbM3AyU6A1M/f4gMSmFuNlqyDqvp9Ig1Vwq5QK3hLpybw8v+vo7XtfO2w/082PxniQW/HWGz6qj1iaTyNMrY/jjZBajOruTkl/G0n1J6A0mNEoZG58YgK/Z8MyMmSvGXmPPhPYTGBc0ju0p21lycgnvRb1X+7qjhSO+Nr44WThhq7bFVm2LjdoGHxsfIpwj0Ciad7PuWmE7diwZc+ZQHh2NZVcpBTs2s5jJCw9gqZKzYnpXzq4axAadltlhMxpNvW8NOls1hkoT+jIDJJ/FVFyMZfe69dWiKFJcoKddqFSXb2WvwcpeQ8bZQqmHtVlYm2khrRLWgiC8DrQHSoH3RVE8jFYf9wAAIABJREFU1qazamMqNFfWx/GaoVBJddnW7k0fW1kqCe+SbCjLk6Ld5flQln/RY4GUpp4eLT036hsfT20tiWxLR6m+3NIRtA4XnlvYSW7oKi2odHUf5Q33SM0urmD+htP8cjgNTzsLXh/dAXdbCxx0ahy0Kkr0Bn46mMKa6FTWHkkn0FnH++M6N6vGsCkqqozMWnqIHXE5PDLIn4k9veukSDpZqfGvDlQND3Pjvl7evLH+FG9uOM3y/cl8NimCDu42jYzefEwmkUV7Enln82kqqqRFuKu1hnYOloDIe3/E8d4fcbR3tWJUZ3dm9Gum2V4LSS8sZ0dcDjticygqr8LfWUuAkw5/Zx0hbtY4XuWsATNm/s2U6A1M/e4AR1IK+WxiF4aHuSGKIkXlVWSer8DZSvOvKSex06qY2seHz7afJTazmCAXHa/9fpLfj2bw/PD2PBTpD0gGQyfSzzPhm328/0dso6njZsyYaTlymZwh3kMY4j2ElPMpnCs6R3yRVMOdUJTA0ZyjFOmLKK66kNqskqno6tKV3u69Geg1ED8bv2v4GzSM9YjhZM2fT+HKlVh27cq5nBImfbsfhUxg+YO9cD2ziEeUZXioXZjRqXXJr5XJyVRlZqLt0aPO/otbbgkHa+qr6wprfZkBg96Izv7CmsctwIbU0wWoLRXYu5lvIJppGa0t5LAURXGsIAgqYAHwUBvOqc0xyf4dC5wrQqWtdiRvphATRagqk8R2HfGdD2UFUqS8NFd6LEqDjBjp+WVaUdQiV0ui/NY3IexuAFYeTOH130+iN5h4bHAAD0cGYKGqX7fyyh0deH54e9YdTWfBn2eY8t0BVs3uTYBz64119AYjs5dJorohI5+G8HfS8d3U7myPzeb5NUeZvewQvz/WHxuLhm8aNIfE3FKeXR3DwcQCBrd35plbgvFz0tZx+00vLGfj8Uw2HMvg3c2x7IzLYap/21gYVBlNfLH9HL8fTa/NFnC3kdJX1x5Jp7jCAEjRtociA3hkkD9qhbm2yMzNQ2xmMWqF7LLtp0r1BqZ/f5DDKYV8MkES1SClb9taqrC1/Pd93zzQ35dF1bXWHTysWbQnkel9fZk98MJCXSGX0dnLlhn9fPlk61lmDywizOPKbzaaMWOmLl7WXnhZexHpFVnvtRoztFN5p9iTvod9Gfv44NAHfHjoQyaFTOKxLo9dV62/ZJaWWN9+G0W//Er2lEd48Jc4QGT5g73wLT/J9/vfIcHOms/6vt6q6LuptJTkadMxZGfjv2kjSg+P2tdq6qZLCvTIo6JQenqidHOr8/6aHtZW9hfO7RZgS9yBLMqLK/EINnf2MdMyWius1YIgRIiiGC1cx64mNa7g7u7NiPjeZFSZRA4kl7PlZBFns8sJcXOms1cQ4QG2eNhaNJyCLYpSynlpLlQUQmWZFCmvLKl+LL3wPGEnrJkBJiN7LAfx3Jqj9PZz4I27wppMc7ZQyRnXzYuevvbc88VeJi88wOqH+lzWhKcx9AYjs5ceYntsDvPvbp6ovpjIYGc+n9SV8V/t5YU1R/l8UkSr0tOX7k3kjQ2nUMllvD+2M3dHeDQ4jrutBTP6+TKjny9rj6Tx9MoYMvMEevTSX1HteVF5FY8uj2bXmVz6+DswtqsXkcFOBDjrEAQBURTJKdFzLruUnw4m8/FfZ9hwLIO37+lEV2/zF4uZGx+D0cSkb/dRVmnkkwldGBLiUu+YovIqZi6J4lByAQvuDWdkR7cGRvr3YWupYlpfHz7Zepb1xzK4o7M7L90W0uA16sEBfizbl8Tbm06zdEbPazBbM2ZuXpQyJY4WjvT37E9/z/4AZJVm8e2xb1l2ahlbk7cyr/c8+nj0ucYzvYDt2LEU/vgTi1/7EnWXoXw/tTsB6iLExRNZ42BNd6dwBngNaNXY2R8toCo9HRQKcj77HPc3L3R10NlJa6aSggqUUVHoBtQ/R00Pa10dYS3dMBRFsyO4mZbTWmG9GRgsCMJ84NM2nE+bUuMKHhwc/OC1nsv1QnRyAUv2JLL1dDbnKwyoFTL8nXQs3ptE5a4EAJyt1Lx6RwdGXLpoFATQ2EhbU1SWwvLxiL/MZIv8Ufwch/Dd1O4NRqkbw9tBy5LpPRj/9V4mL9zPqlm9WyQuTSaRh5dFsy02hzfv6siEHi0T1TV09bbj2VuDmb/xNEv3JXF/b58WvX9bbDZz155gYJATb9/TCVeb5t2VHR3ugZVGwawlUYz7ai9LZ/RslWlQcl4Z0xcfJCmvlHfGdGJct/r1/YIg4GylwdlKQ29/B0Z38WDOz8cY8+UepvT24YUR7Rvso9tSRFEkNquYbadzEBHxc9Th76SlnYOlOTpu5pry99lccksqcbZS8+CSKF6+PZSpfaUMIFEUWX8sg1fXnSS/tJIPx4dze6cb64btA/38+GF/Mh3crXlvbOdG68KtNUoeGRTA/9afYs/ZXPoE1C21qjSYEATJodzMNUAUpUy0olTpBri++MImCHW9VGpLunT1fVVMRjBWShloMvP/5fWMi9aFOb3mMNJvJPP2zGPWn7O4w/8OXur1EhaKa2s0aDKJfJGuJMDGgztSDzLnm5dxVJvg+4mcEfUkyTXc7z+qVWOXRUdTsGwZdhMnIigU5C9disOM6aj9pfIVSxsVCJC37yhO+flo+/SuN0ZND+uLI9b2rlrUWgX6UoNZWJtpMa0V1v2Bj6sfhwHr2mxGZq4af57M4uEfotGq5dzSwZVhoS70D3TEUqWg0mAiNrOYIykFrDqUykM/RPP88PbMHujXOgMxlRYmriTuo9uYW/oJ03p7YaGKbPEwoe7WLJzSnckL9zNt0UGWP9gLnbp5H9ttsdn8dTqbl24LYWLPZorq1ChYeT/cu7xOO7UH+/uxLz6P//1+ioh2ds1OgSzVG3jpl+MEOOv4+v6uLRaPg9u78Ew3DZ/G6Bn75V6WP9gTb4fm1/wcTMxn5pIoRGDpjJ708nNo1vsGBTvzx1MDeXfTaRbtSQSkNP3WcjAxnw3HMvjzVBYp+fWd2GUCdPO25/U7wwh2NffTNfPPs/ZIOtYaBVueHMizq2N4Zd1JEvPKmN7Xl3m/HWdbbA5hHtZ8N6U7HT1vvBRoG0sl25+NRKdSNGm2dl8vbxb+ncDbm2P51d+hNutl9aFUXl13ErVCxqjO7twT4UmYh7W5XVdzMRnrZ381+XP1c/15qWyrKBWqSlt+bpkSlJZSuZdBD6JR2i/IJV8VrZP0aOcL7XqDd2+wbd3NajNXhy7OXVg1ahVfxXzFN8e+QavU8t+e/71m84nPKeG9P2LZcCyTlwYMJ3DdQrTxsRD7AWQcZUv/6QipfzK43eAWj23S68mY8xJKNzecn3oSk15P4apV5Cz4GM+PFwAgl8uwsJSTt/cI3t26YX3bbfXGKcmvQK6QYaG7UOYnyATc/G1JPJprFtZmWkxrhbUt8DzwHDCj7aZj5mqxLiadJ386Qgd3axZP71GvDlClkNHRU2qnMrabF8+siuHtTadJyC3hf3d2bJUr9tqTBTyX/zh/uH6J965nwdUZOtzZ4nF6+Nrz+aQIZi49xP9+P8lb93Rq1vsW7UnE1VrDlD4+zT9ZzI9wPg1WT4dZO0AtiTyZTOD9ceGMXLCLR5ZH8/tj/bDSNF1v/f4fcaQVlrN6du9WR2SD7eWsmNmNCd/s43/rT/HN/d2afhNSO4tJ3+zH086ChVO7t9jFV6dW8OroMARBYNGeRAa3d2ZAUPNbEYEU6Xvvj1g+23YOlUJGvwBHHo4MYEiIMxZKOQm5pcTnlHI2u4TlB5K5/ZNdPD44kNmR/uaI182CvgROrpU6GPj0AxuPpt/TxpRVGth8IpPR4e7YWCr54r6uzN9wim//TmDx3kQslHLm3h7KlN7e9fpP30hYN+OaBqBRynlyaBDPrTnK5hOZdPex58Wfj/HHySx6+NjjZKVm+f5kFu1JJNBZx8OD/Lmri+dVnn0bI4qSaK0qB0MFFmVpkHUCDBWS8DRUSJ07ap4b9Rftv+TnOq9VgqG8YZFcVdb8+ckU1Yah1aahah04BkLAELDxBGsPsHSQvsNqNtF0kZdKHpQXSuesmUNVuTSuQi1FquVKaX9ptlQCVpINx9fAoe+lOVh7Qrue4Nqpus1oJ6kFqJlrhlqu5vGIxyk3lLPs1DIGtxtML7de/9j5S/QG1h9NZ2VUKoeSCpDLBF4c0Z6pEQM4u+UHCj58HgufvTDsNf7M3U4X5y44WrTcYDj308+oTEjAa+G3yLRaZFot9tOmkfvZZ5QfO45FxzBEgwFVUSZ6tS3u77yNIK+/BisuqEBnp0a45GaiW4ANiUdzsTALazMtpLXC+jWgvSiKsYIgmNpyQmbanpVRKbyw5ijdvO1ZOLVbk4JQo5Tz8b1d8HPU8vHWs6Tkl/PlfV2xsWy+cVd6YTlzfz1OaDtnPGb8Al/2gSPLWyWsAYaEuDC2qydrj6QzN9IBbeYBSN4nvdjrIbDzqXP8uZwSdp3J5elhQc0XaKIIcZvAMQjyzsL6Z+Dur2pftteq+GRiF+79eh9vbTzNG3d1vOxwR1IKWbQngft6taNb1SEoCQddy4RpDWEeNkzv68uCv85wJquYQJemo7rvbY7FQiVn9UN9rsih+IUR7dl9NpdnVsWw+T8DsGvmWAajiTm/HOenqBQm9PDipdtC0V6SbdDJ07bW9X1aXx/m/XaC97fEsfF4Ju+M6XRF5kjnK6qITirAzlKFi7UGR53qhhZF/zryE+DgtxC9FPRFF/bb+UgCO+we8G95JKM1bDmZRVmlkdHhkqiXywReuj2UAGcdBxLzefqW4FZ5PNzI3B3hwde74nn991PoDUbOlxv478j2zOjnh7yigJIeFRw7eojkMzGkraniTMU9BHYdCqpGjJWMBsg+AakHIS1aaid5cVRWaQHOoZKAcwkDez8p1bk0V2pHWbtd1KKyqgyMVVIk2FQliUZLhwudLjQ20tgVRVLEt6Loop/PX4jaAj0BDrTkX0gAhUYSqbWb5sKjSidFgWu7amib+XMjqdvNxcq1de+rwWSUbjAk74WkPZC8XxLbNWidwcFfimzb+0qPTkHgGCy1GzXzj/BExBP8nfY3c3fP5ec7fv5Hzvn70XSeXXWU8iojAc46XhzRnru6uOGcexC2vI21RxHno8pwGXEvyR1GcXbttzzf/fkWn6f8+AnyvvsOm3vuRte3b+1++2lTKfjhB3I++oh2C78l98uvUBboMfh1QtmI11JJfkWd+uoagnu6UlKgx8nTnEFnpmW0VlhbA0pBEDxFUXyhLSdkpm1Zui+Jub8ep3+gI19P7tbsGmeZTOCpW4LxcdTywppjzF17nI8ndGnWe00mkWdWxWAwiXw0PhyF2hLa9YJz21r/i4gij8tXM0v4Ee0nWdI+hYW08Dn4LYRPhP5P1wrsJXsSUcllTGhuCjhA1nEoSoE7PoHzGbD9TfCLhPAJtYd097Hnjs7ubDiWwWujw5A3kjJZZTTxwpqjOFtpmOOyF354FhwCYOoGsKpvitQcpvTx4eud8Xy5I573x3W+7LGHkvLZFpvDc8ODr7jtj0Yp58Px4dz1+W7m/HqMzyY2beBWXmnksRWH+fNUFo8PDuDJYUFNvsdBp+bTiRHc3imTuWuPc9fnu/n5ob4tSrs1mUT2xeexMiqFjccz0Rsu3PcTBMk/YEKPdswe6N8mNeNmWkFpLqx7Ak6vB5kcQu6AnrOkNNTEvyFpt/Ta4R/grq+g8/hWnSY5r4zUwjL6+DcdDfntSDpuNhp6+NjX2X9vj3bc20pvhhsdhVzGs7cGM2vpIULcrPlhahDB6b/Bp2MgPx4d0BvoJVNgVIgoNv+KuEWJ4Nkd3LtI0Vt9sSRiy/IksVYTsdU6SWnGSksp8qqylI5N/BuOrbzMpDSSsNM6gpWbFMWVKaQ0Z5kcTIYL3S7yzkriWaWr9g6xllpbOodI7SZr9qm0IFdz8kw8oR271BXJclVdsXzxazKFdNG50ZDJwa2TtPWcJe0ry5e+PzOPS/+P+fEQvw1ill94nyADe3/p39e1E3h2BfcIsLjydppm6qNRaHiz35vct/E+3j7wNkMZelXPdzS1kKdXxtDB3Zq5t4cSblWEEPMjfPcDFCaD2gbb4YMp+mw/eRmh/Jm4BYCh3i2fV9Ybb6Cwt8fl+bqiXK7T4TBzJtnvvEPu19+Q+8UXWA1+mnRj42ug4nw9XiH1DVq1NmoGjA9q8dzMmGmtsH4VWAXMFATBWxTFKW04JzNtRGpBGa/8doLB7Z354r6IVqUi3x3hSWxmMd/siufpW4KaVd97OKWAPefyeG10hwvHu3WGmBVQnNm6O+bb38L9yAKilOH8bTmKyeMnSGOW5sDfH8GhRVJEvMtkige/wepDqdzWya1l/ZhjNwECBA2XohoJO2H90+DZTUqxq2ZQe2d+OZxGTGohEe0adsz+emc8pzOLWXVrFRZbXgTPHtLCY8lomLpe6gneQuy1Ku7t4cXSvUk8dUvQZSNo722Ow1GnZmpL0uAvQ5iHDU8OC+KdTbH8HJ3GPV0bT+ssKq9ixqKDHEou4PXRHZjcQrO34WGudPexY+THu3h61RF+e7Rfs0TwhmMZvLnhFKkF5VhpFIzt5snwDm5UVBnJKq4g67yek+lFfPTnGX45nMZro8MY2MLU9iqjib9OZZNTXEFFlQm9wYjeYMLfScfwMFezWG+KgiRYehecT5duhHWfIYmZGtw6Qe+HpZTU5ePg19lSOmp1275aTCZI3Cl1JpCrpOidXA0uobXlGx9skWr7dr8wGCerxq8D+aWV7IjLYUY/3yZri286ClOk6K+Df4MC6NYOrqx/MIzglJ9QLJ8qCVbP7tB1mpT54xiIYOvNgdg0vlr2A7PapdHHcAKiFlanL1shqq05L2rRhk9G0a6H9H7bdo2L0tI86VpamCyZcNXU/mqdpTGvkpjNPr+d0NDIqzL2vx5Le/AdIG0XU1kGhUmQcxqyT0miO+s4nPrtwjGOQeDRFVw6SBkJLh1A53Jj3pT4h+no1JEZYTP45tg3uDi5EEnkVTlP9vkKZi45hLNWweJuiVhte0taPyGA30AY/DKE3I6FQoP26CzyvvySwF/V3H2bNy6WLQs0iFVVlB87hsO0acitreu9bjdxAvmLF5PzwQco3d1xHtqXhI2pVFYYUGnqSh6j0URpkb6OcZkZM1dKa4X1FlEUVwKXuXVs5lqzuNp06n93hl2R4/L0fr58vzuRr3bG82YT6c8Ae87mATDqYtdct+oIa8bRlgvrw8tgx1sQPon91k/y7h9x9NeE4CNXSovyke9Av//Arvfh4LecKbSktLJvy2qrAWI3SCK6pkbsnm/gi76wehrM+LM2jW1AoCMyAbafzm5QWKfkl7HgrzNMDjbS/cB/pJTF+1ZD+hFJLCy9E6b8JjmytpAH+vuxdG8S3+6KZ96ohs3Edp/NZW98HvNGhWKpau2feH1mDfBn++kc5v12gh6+9njZN5zSueDPMxxOKeTTCRHc1ql17YgcdGreuqcT074/yId/xvHiiJDLHr/peAaPLo+mg7sNz94azK0dGhe5u8/mMnftcaZ8d4CRHV2ZN6oDLtaX/2I1GE38fDiNT7eeJTm/4TpI23VKxnb1ZGJP7xbXs98UZJ2ApXdL9aX3r5VqMxtDaQETfoRlY2DNA5J4DrldKtc48wf89Zq0QL8UKzcYtQCCbiUuq4RKo4kVB5J5fEhg/WOrWX8sA4NJrE0Dv+kxVkHsRulm5bmtgCjt17lIIsjKVXKdLs2F0lw6lGRJadYBw6Dfk+Ddp54o6hPqzYYeo5i0P5mfZr5OD18pMyC3RM8zq2LYHptDQLmOj8LDCbNrIkNF6yAt1s1c/6gspQi1cwh0uOvC/vJCSI+G1EOQFiV9zmJWXHjdwv4ioR0Kzh3AKVjKIDDTIh7q/BC70naxIm8FvTJ7oZKrkCFDEAQcLRxx1V5ZaUBFlZFZyw5RVF7F9t4xWG14E2y9YdAc6HxvHYM7AfD66ksSf1mO6b03uHfhOZKOTMbluWex6Hz5LLwaKlNTwWBA5efX4OsyjQbnp54k45VXcX/3HYwG6TNTWqhH5Vp3PVRaoAeRBlPBzZhpLa1ddfcRBGE4kAecEkXxgzacU5MIgqAFdgCviKL4+z957n8LxRVV/HgghZEd3VrVouliXKw13NPVk9VRqfxnSCDOTYiQvfF5hLhZ163Fda0W5BkxEHRL809+9i8pbdRvEIxawD0lRt7fEsea6FSeviX4wnHW7nDb+4iluYSd/Jpb3bsQ7tWCFLPzGdIX/eC5dce860tJDK+ZAWO+B4UKW0sVEe3s2Babw1MXz6GaFQeSsTCV8nLxW5IQmPCjlFboNxDG/wAr7pUEw/2/1kbXmouHrQWjwz348UAKjw0OrJfmLYoi726Oxc1G0+r2Yo0hlwm8P64zIxbs4tV1J/l2Sn0TtfzSSlYcSGZ0uHurRXUNg4Kdube7F9/sjOeWUNdG+2nviMvhsRWH6dLOjiXTe9Sr476UvgGObHyiP9/sjOeTrWc5k1XCuscajoqbTCI/H07jk61nSMoro6OHDd/e343wdrZolHLUChlyQWBffB4/7E/m+92JfLMrgaEhLnx0b3iTDvZVRhNRiQVsj82moKwSO60Ke0sV9loVPo5aunnb3RCOyjaFJ+H7t6TU3mmbpMVyU6i0MGmlJMZXTYWhr8CpdZCyT6rbvPsbKZPEWO1iXFEI2+bD8nGYOk8gJ2cIYMmyfUnMHujfqAHj2sNpBDrrCHG7yWvpTEbY9QEc+Foyq7Jyh4HPSWm7eWch9wzkxkHKASlCqXOWhI/OGTqOuXCNb4QXR4SwIy6HZ1fHsPGJ/hxKKuDJn2I4X1HFw5H+/Bydxl2f7+apYcHMHODXaJmNmRsAC1vJP+FiD4XSPKnGPuvkhcfDy+o6nFu5VWdCBElC2zGw+maPmznC3QhKuZI3+r3B+N/GM33z9Hqvu2ndCHcOJ8I5gt7uvfG29m722KIo8tKvxzmcXMgXE8Nx2focePeDKesabdEmyGTsbG/kwwfl/Cw8TOXCFSROmIjj7Fk4PvwwguLy35mVCYkAqH19Gj3GZvRorIYPR6ZWo4stACRhbeda94Z3SYHUw9ocsTbTlrRWWB8XRfE9QRAUQLN78AiC8B1wO5AtimLYRfuHAwsAOfCtKIpvNTHU85ij5ZdlZVQqxXoDM/r5tsl4swf68dPBZBb+ncCLIxuPHlZUGTmUVMCknpdcnNVWUo1xxpHmnzTzGKycAk7tYdwSkCtxtVHSL9CJNYdS+c/QoHqLr33Bz9HhxGZel30L4pjmf9me2Sw9Bo+suz/oVhj+Nmx6XmrDNW4xKNQMau/Mu5tjyS6uwNnqwkXZaBL5LTqZJTZfoSyIh8m/SGmUNQQOhbGLpLFWToFJq1vcI3T2QD/WRKeyeE8iTw6rWwP016lsjqQUMv/ujlclLdnL3pKHIv15d3MsUYn5dLukJnXxnkTKq4zMHujfyAgtY85tIew6IxmnbXi8fz2PgP3xecxaGkWQixXfTe3epKiuQa2Q8+jgQDp52nL/dweYv+EUr44Oq3fcGxtOsfDvBDq4W/Pt/d0YEuLcoNDtE+BInwBHsosrWLE/hU+2nuH+hftZNL1HPadlk0lkw/EMNh7LZOeZHIorDKjkMuy0SgpKq6g0XqgLD3LRMb2vL3d28bi+0szLCyXzosS/JQMjhQac24NTdXRKaSEJsbwzkHeWTqc3gp03TP65ZS161FZStseS0fDHHNC5wu0fQpfJUor4pQTeAjvfRdj1Aevkm1jp9QIfJHix8XhGgxHplPwyopIKePbW4BviBkar0RfD6hnSdTDwFug2AwKGgrztMl60agXvjunMvV/vY8wXezmZcZ5AZx3LHuhBe1drZg7w47+/HOPtTafZdjqbD8Z3xtOuEaMzMzceWof66eQmk5RKnn0ScmKlGzu5cVL3jsriC8eprCSRfbHYdgyWzNMauk7cZATZBTHHfQ7uoe6YMGESpS2tJI3orGiiMqPYmLARuSDn/YHvM8R7SJNjllca+eivOFYfSuWJIYGM0J2R/q8Gz21yTbMlaQuBTiH4jXoY49gpZL3xBrmff0Hp7j24v/sOqnaNf0dUJiQAoPLxuew5ZGqp/EdrKz2WFOrrHdNQD2szZq6U1n5r3i4IQiGwUxTFmBa8bxHwKbCkZocgCHLgM6R+2KnAQUEQfkMS2fMvef90oDNwEjD/JTSC0STy/e4EuvvYtSxqexm8HbTc1smdZfuSeDgyoFGH8MPJhegNJnr7N1BD7NYZUg4274T6YvhhnJT6NWlVnRSwsV09eWzFYfacy6V/YN0a2W8OlxEov48Xc7+Boyubb3wUu1Fa8Ds3cNOg12xpgbn+afhxIoxfRmSwE+9ujmVHbA5ju3nVHnr46BE+rJhDZ1kcjHyv4ZTFkNth5Luw/inY/6VUU9oCAl2sGBbqwuK9icwc4FcrJk0mkfe3xOHtYMmYy9RAXynT+vqwaE8ib286zcpZvWsFSanewKI9iQwLdSGoGa7lzcFKo+TdMZ2Y+O1+3tl8mnmjOmAyiRSWV3EivYiHlkXjYWvBkuk9sLFo+QJqQJATM/r5svDvBAYGOzG4/YV6ryV7E1n4dwJT+/gwb1Ros4SXs5WGJ4YGEuxqxWMropm88ABLpvWo/XtJyivlhTXH2Bufh7OVmpFhbgwOcaZfgCNatQJRFCnRGygorWJ/Qh7f7U7khZ+P8c7mWCb2aMeozu4EueiujQg0meDkr7DnE0g/DIhSXbNnd8kU6vgayVH5YgQ52PmQ69gLlynfS7WwLUVjA5N/hbN/Sje+GnOVBsk4avBLRGl6Y73pcR7Nmssh+w/5fndig8L6t5h0AO7o3LBj7E1BUSosv1cSL7e9D90fuGqn6uUv7YOkAAAgAElEQVTnwLS+Pny/O5GJPdsx97bQ2ptltpYqPpsYwc/Racz77QS3f/I3H44PZ1CwuX3TTYtMJolje19of1EPYlGU/FpyYy9kUuTEQvyOuinlMoVUilVd749j8IWfb7K0ckelI308+tTbPylkEqIoklqSygu7XuCZnc+wYNACBngOaGAUaX25+lAKH2yJI+u8nrFdPXliSCD8/BZobCFk1GXnkVWaRUxODI+GPwqAXKfFff6b6Pr3I2PeKyTceReur8zD5o47Gnx/ZWIicjs75LbNW9tq7aqFdUFDwlqKWOvsWuDFY8ZME7RWWI8HwoE7BUEIFEXxwea8SRTFnYIg+FyyuwdwVhTFeABBEH4ERouiOB8pul0HQRAiAS0QCpQLgrBBFEVzy6+L+ONEJqkF5bx0WzPSLVvA7IF+rItJZ+m+RB4d3HDN4t74PGQCtTV0dXDrLC2+y/KlVMLLcW4rFKdLC2rruoveYaEuWGsUrD6UWkdYH08rYltsNmGRMyD5MGx+EQKHNX2uyjKI3w5dpzYe4e5eXef52+OwfDyhE1bgbKVme42wFkWIWUHYb09TJROpvONLVBETGh4LoNt0SSj8+Yokvl2anfgBwEOR/mz5PIs5vxzD1caCnGI9KQVlnMo4z4fjO1/VHtCWKgVPDAnkpV+P89epbIaGSmJ0xYFkisqreCiybaLVNfQJcGRKb2++353I+qMZ5JVWYjRJdZ9e9hb88EAvHFpiUncJz94azO6zuTy76iib/jMAJys1W09n8cpvJxga4szc25snqi9meJgrX0zqysM/RDNp4T4WT+vBr0fSeXfzaZQyGW/d3ZFx3bzqmWUJgoCVRomVRkm76hsk++Lz+W53Ap9tP8un287Szt6SYaEuDAlxxmgSicsqIS6zmNisYkr1BrRqBVYaBVqVAgedilB3azp62BDsatU6r4WaNnRb34CsY9LiNPIFqSWWR7cLLXRqFrs5p6CqQlq82nqDQsWp7dtxaY2orsHCVko3bibRVT58W/lf9lv+l3dU39Ar5RkOJxfQ5SJPBFEUWXskjW7edo36BdzwpB+WRHVlqZR2H3B1nYMBXrotlPt6eePvpKv3miAI3NPVk67edsxedojpiw7y2OBAnhgSWCc7KTmvjIyicnr42t/cmQY3K4IA1m7S5hdZ97WK81KmTE7chQh37hnpGmYyXDiuJq3cJay6hVuHm7YlmCAIeFl58cXQL3jwjwd5ctuTfDL4kzpCXDLuzOKDLXHEZZXQpZ0tn06MoLuPvbSmO7VOWtc08e/3V/JfAAzzHlZnv/XIkViEh5P27HOkP/8Clt26NdgiqzIhAZVv8zMxlSo5aq1Cqqe+hJL8CiyslCia2S3HjJnmIIii2PI3CcJrQAhQBrwniuKxFrzXB/i9JhVcEIQxwHBRFB+ofj4Z6CmK4qNNjDMVyG2sxloQhJnATAAnJ6euK1fePJnj/9tXTpFe5O0BFsjaeNHxQVQFCUVG3ou0RC2vP/ab+8upMsK8PvXrum0LYgiPeZmYTq9SYB9+2fMEn/4Ep5y97O67FFFW/6K35ISeXWkGPhpkiVoOGxKq+O1sFRoFvN7XAk9DMl0PPUWWyyBi2z922XM55O6n4/E3OdL5NQrtLm+g4ZK5jfanP8YoV5EoeBFd6UnnQH/si07glLuXA6b2/OTwGKM6Nx0xVlYW0f3g41SqbIiOeA+TvOGWECUlJeh0lyxCRZG8Pd9iU5HGH6Ye7Fd2Q6ayws9WxqQQVZv/v1+KwSQy5+9yFDLp39sownM7ynHRCrzQo+37/eoNIqvPVKI3grVKwEYlYK0WCHWQY6W68t81rdjEK3vLCbGXc3egkvkHKnDVynixhwaNovXjH80x8PFhPTKg0gSdneRM6aDCXtPyGx8FFSaOZBs5nGPkZJ6RizqJYaUEDysZWqVAhUGkwgDlRpHCCpGy6rWkXABPKxlBdjJCHeQE2cnRKhv/3QSTEYe8g7RLXoN1cRzlGlcSfCeQ7dxfikS3gAY/w1eRhcf0xOQY+Sl0HyGnF/CacSqnHEcwq7O06DOaRBafrGRnqoFpHVQM9Lq50kUFUxVeKWvxTvqJKqUNxzrOpVTX/NrKfwK9UWTJiUp2pxsIc5Bzu7+SE7lGDmcbSC2R1i1D2in+kesd/POfYTNti2AyoKnIxLIsDcuyVCzLUtGWJqMtTUZuqgRARIZebU+FxoVyC5fqR3dKtV6UW7hjkv97I5vN/fyWGkv5OOtjcgw5zHaajVzvz550AwcyDBRXgYulwJggFd1c5LU3tTxS1xF49lsOdltAqc7nsuN/nPkxxaZi5rjPafB1RUIiDm+/TeGsmei71G/x6vjc81SGhXH+/slN/9LVnN1kQqWFdv3rfu8m7TBhqAD/W69eIMJM23E9XYMHDRp0SBTF+kZDtD5ibSmK4lhBEFRItdEPtXp2rUQUxUVNvP418DVAcHCwGBkZ+Q/M6tpzOLmAs5v2MG9UKIP7tk199cVYeucz7qu9ZGh8mHrJ+OWVRhK2bGZ6X18iIxtIqS7rBDEv09kZ6BfZ+ElEEQ7NhuBhDBzccK2PnX8hWz/bzcFyZ/bF53E6s4zbOrox747QCzXP6gTcdn+E223Pg1ePxs/32xpQWxM+6iGpbc9liYT4QShOr8cu4QhDsw9if24byJQcDXmKew9HsHJ033q1x43ia4nqhzEMqNoGQy6tfJDYvn079T6/uz6Aqt8x6RwYWn4YZN+B9yAp6t7+1uad+wrRO2bwyPJo8q0DMZlECvRH+WhS9xa3sGout17lYJrRMZGX154grkjEQadh1SN9mzTqa4pIoEt4Dm9vOs0D/fwYHe5+RRG2Gl/dUr2BffF5WKjkBLlYNdpWThRFUgvKOZZWxLG0ImJSCtmZVMCWJAMyATq563hkUCDDwi6KDJTkQPRiiP4ezqeCjReM+hiL8ImEypW0Jg+mwc/wVeSjE7vp4CknZPyrsOwYzyes5JbsCEIjxmOlUfLo8mh2pmbz2OAAnmpGj/UbBlGUyl42/xcKEiD4NuS3f0h3q5a1vPmnuGWwyI8HU5i39gRvHahAJkB3H3umDnQhvbCC73Yn4ODsyvy7O111s7N/+jNs5h/CZJT6bmceQ8g5jaYgEU1BEraFpyBz60UHCpJPhGtH8OoF7XpJxn5NrhmuD1ry+e1d0ZuJv0/h06yvKD73OCrRmaGhbtwV7sHAYKe6GXGiCJ+/AB5d6X771MuOm1eex7lV53iw44NEdml4LqZeFcS++y4BcjlOl8zXWFxM3PnzePfpjUML/haLj8VQXlxJZGT3OvuX79iPs7clkZFNd7sxc+35t1yDWyusNYIgRIiiGC1c+YokDfC66Lln9b4rRhCEUcAo9wbSSW5UFv6dUN3D16vpg1tBD197unnb8fXOeCb0bFcntfRQUgFVRrHh+mqQUrJt20nO4Jcj6zgUZ0gmOo3QydOGQGcdi/Yk4mKt5uvJXbmlwyVtIwY8C3s+llKuGxPWJpPUvzpgaPO/IP0iwS8SVUUVEa//wWM9bHh8cCDzVyTg5VDeqHt1gwQOgx4zYd/n0hwCmjYN4cSv8NerEDYG2d3fQMZhOPGLtP/HiTBr54X2ZleRkR1d6eRpw4db4lArZHRwt2ZA4BWk+15jJvfyZmdcDvvj8/luWvcrFtU19A90qucFcKVo1QqGhDQthgRBwMveEi97S0Z2dIOiNKqSUsk99TdiahSOeadQrTZQ9YslSksbySysIBGMldLnfMRbEDSiTU2srjaiKHIuu4Q7u3hIKaO3f4Ty8168Kl/IZ1sjOJp+niMphbx+ZxiTe11fUdqrStZJyQDu3FYp5XXyL3Vdma9DBEFgQo92dPW2IzazmH4BjrXdJkRRxEqjYMFfZ6ioMvH+uKtbAmPmBkUmr66/bqC8raoc8s5dqOXOOQ1p0VLaM0imjZ7dpb+jgKGS6L4BbtLFJBpIPjkRufebjO6Tx2uDJtYz4awlNUoq/xm1oMlxt6ZsxSSa6qWBX4xMo0Hl50vFyVP1Xqs1LmtBKjhINdQ5yefr7BNFkZL8CrxCWt721IyZy9Ha1dKzwCOCIDwKrLrCORwEAgVB8EUS1PcCE69wTABEUVwHrAsODm5WDfi/ncyiCjYez2RGP98m2/xcCY8PCeT+7w6wKiqV+y5amO45l4tCJkg1N43h1rlpYX3mD+nxMvV+giDw8qhQ9sXnMWugf8MXfbUO7HykL8PGSI+WWssEj7j8nBrASqOku48D6+MruXuAFXvj83hyaCuiX8Nek0xXfp4pteby6t74samH4JdZ4NkDRn8mmbt4dJW2/s/Agk6w4x2494cW/z4tRRAEnh/enknf7gfg04ld/tWRP0EQ+PK+rpTqjY2a8/0rMRqk+sIDX0PCDpSAm0ID7l2oCpnFmlNFFBTkEemmIcBalP7uuk4Dp6Amh74eyS7WU6w3EOhSnTJm541s6CtEbnyOtQd+4IRsIF9M6srwsCvr3/qvoSAJts+XnJTV1jD8rWrPiH/PZzzIxaqeIaIgCDw5LAiNUs7bm05TUWXkk4ldWucjYMZMQygtpPpr10s6RhRnQvI+SNkPCTulG91/vSr1eveLlGq37Xwk0zU736Z9Xq4jlu9PZu7a44S4eWLSeVOlOte4qAYpu0mphbB7mhz7z6Q/8bLyIsju8t8tmpBQyg4cqLf/SoR1eXEVRoMJeXXbRX2ZgSq90ewIbqbNaa36miGK4nsAgiA023ZaEIQVSNmRjoIgpALzRFFcWC3QNyM5gX8niuKJVs7r0vPdVBHruKxijCaRoc2IZF0J/QMdiWhny+fbzjK2m2ftQmZvfB6dPG0u3/LIrbN0t7fifOOunGf+lI5rIj2xWZFAp/aSW2hjxG2W6kVbadozKNiZNzac4rNt5wC4O6K+83CTKC1g/DJYPha+HyE5hnebVv+4whSpB7bOBSasqG8SYmELvR6B7W9KNy/+gah13wBHBgU7kVpQzoiwK+tbfT2gkMuwsbxBol7lhRD1nbQVpYC1Jwx+Sfqsu4SBXIkSuG2YkYd/iOZ/p7N56bYQHujvd61nfkWcySoBIOBic6zuD1By6CdezVnG5HtnExF8E4jq0lzY+S4cXChF5fo8Bv2e/Fct8pvDQ5H+WChlvLLuJK/8doL5d3e61lMyc6Nj5Qod7pQ2kIT2ua1Sdlz8djj6U93jbdtBuz7gXb05BFx3kW1RFHnvj1g+23aOQcFOfDoxgveiu7MpYRNGkxF5A1436Ivh+M8QdreU7XQZivRFHMg4wOQOk5u8Aa8JCeH8unUY8vNR2F+4XukTEkAuR+XZsq4nNS23Sgv1WDtKHjA1Pax1dmZhbaZtaa2wvjh/7r/Ac815kyiKDdoki6K4AdjQyrlc7nw3VcS6oEwy4LDXXt2aH0EQ+M/QoDpR6xK9gaOpRTzUVP9it2rTssyjkqvwpZQXSneB+z3ZNpN1CpYi4MaqhiM0aYfAJbTVi81B7Z14Y8MpVhxIpqevfevdhZ2C4MFtsOYB+P0/klvvyHdBpsTqfBxs2yu1ETHoYcq6xtsW9ZwF+z77x6LWAF9O7orRJF71GkczzcRkhEOLYNsbUJYn9YUdPr/RlG6NUs6X93XlPz8d5n/rT1FeaeSxIQ27/v8bOJst9bcNcL5IWMvk6G6fD9/dQkRlFOBz9SYgitd+0Zx1ApaNgZIsiJgMA5+v113hRmJqX1+yivV8sf0c3X3suTvi6rUbNGOmHlauED5R2kBy2S9IlLa8c5B6QBLdR3+UXncMgr7/gY5jr2mNtiiKHE0tYsPxDDYeyyQ5v4wJPbx4fXQYCrmMri5dWR23mriCOEIcGvDNOf4zVJVCxJQmz7U9ZTsG0cCwdo2ngdegCZXOVXHqFLq+fWv3VyYkovL0RFC17N9Md1Ev6xphXdvD2sEsrM20La0V1jJBEPoDu4Hr9vb3zRaxLij9Z4Q11I9aH0zMx2i6TH11DTVR1IyYhoV1/DYQjVLtcVvgFCK12MiPl0T2pWQdv6IWM/5OOjztLEgtKOeeK13MWdpLPbu3vQG73oekPVCeT9eyPEAAz25w15fg3L7xMa5B1NqcenkdEb8DNr0I2SfAuy/c+ia4X96BH0ClkPHxvV3QKI/y/pY4RKSSj2vFL4dTOZl+njmtaBl4JrsEa40CJ6tLDN08u4Glg5Sl0oLWXS1m+XgwVEhZKNeiV278DvjpPlDpYOZ2cLs5IrhPDwsiOqmAOb8cJ8zDpl7quBkz/xgqrdS+6+I2mqIIeWchcRcc/A7WPgzb3oQ+j0LE/dJ7/iEKyypZtCeR1YdSSS0oRyET6BvgyNO3BHFH5wsGm91cJNPjqKyo+sLaZJS8YZw7SNfWJvgz6U9cta6EOYY1eaymvbTG0dcT1i1rtVVDTS/r3JRi3AOkJNuS6h7W5lRwM21NkzmPgiA0cJuKZ4FOwDfA2raeVFshiuI6URRnXi/27Feb/LIqBAFsLK5+7VxN1Dq9qIJVUansPZeHSi5r2rhL5yz1j2yszvrMFtDYSv1x24IaMd1QnXVJthTRcWn6Qt8YgiAwLNQFnVrBiI5tkF4qk8OQl2HcUskYxX8IJ0OegmfPwQN/SmlkTdFzFmhspKh1S0nYCSunSHfczVy/iCJkHoMjK2Dr/2D1dPiyHyy5AyqLYeximLq+WaK6BoVcxrtjOnN3hAcfbInj061nruIvcHnWH81k8Z4kKi/uKdZMzmaXEOCsq59uKJNDwDApcmQyttFMLyE1Cs5shoQdsOxuqCi6OudpjKOrYNk9YO0BD2y5aUQ1SJ/fTyZ0QatW8NCyQ5TqDU2/yYyZfwpBkAzSuk2H2btg0mrJZXzTC/BRR9j7uZSRdhXJLq5g/oZT9H1rKx/9eQY/Jx3vjOlE1EtDWTy9B6PDPepcN121rnjoPDiUdaj+YDErpHVV5PNNZuiUVpWyJ30PQ9sNbZYPi9zWFoW7Wx0DM9FkojIpCZWPT7N/3xpsnS1x8NSxa+UZ9v16DpPRRHF+BXKFDAvdv8drwsy/g+ZErNcLgrADqR46GUAU/8/enYdHWV0PHP/eyTbZ94UESCBA2HcEZVUB0Yq4L7VWra1L7fZTa621rW3tahdbl1r3alu1rWvdFQkoAgKibCEQCASy78lkz8z7++POkHWSSTKTyQzn8zw8EyYz817gZTLnPeeeY9iAhz26MjFg1Q2txIQGDVtJbuesdVRoEHPGxmAOciF76ayBmc2mA+vMs9zXhThhEqCg7ABMXdf1eyX28evdG5MM0PfPyeKGJeOI7KvBx0BNvUD/Asqys5ka3k8lQGeDzVq3NcNrt0JNgf4AcNY9g1i48KjaQr1/74sXdKdaAGXSe/jixsPKn8HCm3vuv3dRgElx/6WzMAz4/XsHUUpx65kTnD7eZjN4ZVchabGhLBo/gHO0HxWWFlqtNg6W1jM9LXpAz80rszjvMzFxlS7HLPys7yaBg7X1r7pB2Hn3w2vfgmcvhGtehtBh6Dy7+c/w/k8gY6nOloe63P7EbyRFmXnwqjlc/cRWfvjyHv585Wyfbqgo/JRS+r1o4ioo2Kar1N79oc4An3k3zLxCXwh0k0pLC//MaWHTBxtos9pYOyuVb66YQFZK/1Ud85LnsenEJgzD6Pi/1Naks+1p82DKBf2+xqYTm2i1tbIy3fXqQPOUqTQf6EiItBUVY7S0DCpjHRBo4pI75/HRiwfZ+c4xig7VYApURMSGoGQLm3AzV7r0TAY+AzYqpf6slPLMkFoPUEqtVUo9ZrFYvL2UYVHd2Eps2PDt1+mctT5QUt9/GbjDqFlQcbBnVrRkt+7Q3ceYrQELDtNBR28Za0dgPYSMNUBYcCCjYwe5t9pTBpO13vKQDqpTZsLmv0BVvufWJwbmxA547iL40zTdfTY0Vo83+dZO+FEpfPcLPT5pyfcGHVQ7BJgUv79sFutmp3L/u7k8uP4Q7daemePSuma++tSn3P6fL7jysa1c/cRWdh6rHtKxHSosOnOzp3BgGd/qhlYqG1q77q/uLPMsfSHi0LtDXWJPdUWw/1WYcw3MuhKueE5vNXl2HTRWuf94nW15WAfV0y6Gr7x0SgbVDqdnxnP76ixe/6KIJz+W9zAxwo1dCNe+Dte8qreqvHoLPLII3r5LVySV5Qy6wqa5zcqjGw+z4v5s1he0c8GsVNbfvoI/XznHpaAadDl4TUsNh2sOd9z56eNQVwgr73Wpn8T7x94n3hzP7ETXK6jMkyfTmp+PrbERgNajRwEIHpfh8mt0FhQcwFnXTGHVDVOpOGGhMLeGCCkDFx7Qb2BtGEarYRgPAlOA48CnSqlfKKW8sHlsYE61UvDqxtaTMz6HiyNrDXC6qxmrUbPAsOkGO50del/fujLLeSCcdQYv3as7JftZl1ygI2t94A043nNsRQ91RfDRH2Hy+fDlF8EUCO9JxtrrLOW6iuCJs/X/l2Xfh29/Bje8C/Oug4QJHml+E2BS/OGyWVwwK5U/vH+Q5fdn8/imI9Q2tQHw7r4SznlgEzuPVXPfhdP58flTyS2p55K/fsL1T3/KodL6QR/bMAzK6wcXWOeV2zuCOwusw+JgzMKOkX7utP0J/b628Eb9+6xz4Yp/6mqZ5690//EcPv8XvHu3zhxd8gQEhvT/HD93y/JMVk9N5r43cyS4Fr4h80zdwPSyZyA0TjegfPVmHWT/ejT873t6+5oLGlvbee3zQlb+cSO/efsAC8bFcd/iUO6/bBbjEga2l9uxz/pkOXhTje4BM2GlbozZj6b2Jj4u/JiV6St77yzuhHnqFDAMmnP1ZzfHqK2QQWSsO5u0IIXLf7SA0ZNjyZjhviorIRxcrrc1DKMZ+L1S6q/Ad4GdSqm/OcZuCe+ramgjLSZ0WI+plOKna6fx5Mf5zBnrYrlj5wZmY07ruD/vfUido/dhu1PSZN0UzdretcS8ZC+kzHDvsUaSRbfArn/Ay9+Amz7qu5HSB/fqJm+r79Pdg5fdDut/Dnnr3X+hQ/TP2q7HZG24T1d2nPEdWH5nvyNN3CkwwMQDV8zmvBmjeHpzPr98K4c/fXCQuWNj+Tivghlp0Txw5Wwy7WOtrlwwhr9vOcqj2Yf53ouf8+Z3lg7quJaWdlrse6v3DjCwPjlqy1lgDbr8cv3P9YicSDeN3WpthB1PQ9Z5en6tw6TVsPg7euxVe6v7L4LkvKFLzsev0EG1G8tHfZnJpHjoy3P57gu7+MUb+2lus/a5pUGIEcFkgmkX6V82K1Qc0p+Tjn4Eu56DPf+FpbfBom92qUxqarWy8WA5O45Wsf1YNfsKa2m3GUwZFcU/vz6TxRMSyM7OHtSSRkeOJiksiR2lO7hi8hV6y0lzDZz9U5ee/0nhJzS1Nw2oDBz0yC2AlgMHCJszh9b8fEwREQQkOJmIMgAxSWGs+96cIb+OEL1xeWCrUipDKbUG+DowFqgHfuWphbmDoxS8or7Z20sZFjWNrcSGDX8jhlljYvjLVXMIDnTxdIpK0yVPxZ933NdYBSe26+ZC7pY4GaytevSFQ1uzLkcf4v7qEc0cpT9s1xyHN2/TDa96c/xTvW/3jG9BnP1q8OnfgthxurGKtW341iz0/4XnLoS3v68vNN2yBVb/YliDageTSbFmegov3nQ6b3x7CWump7CvqJabl2fy0i1nnAyqAcJDAvnmiglcMm80xyobB33MCouebpAUGcKB4voBNTDLK7MQGhTQ9wVGx1YTR4WMO+z5NzRV6Q+83UXZZ9s3lLvveKC7f//3en2OXPFPyVR3Exyom5ldaN/S8If3cjGcvQe66H9fFHHPq3uosY+2FMJjTAE6KTDrClj3EHxzm84Qr/8ZPDQfDn1AfXMbD2/IY8lvP+Tmf+zk2a3HCAkwceOy8Txz/QLe+PYSFk8YWiCqlGJe8jx2lu7EqC3SfSRmXAajZmK1WWnr5/PB+wXvExMSczLz7arAUaMIiI4+2cCs9ajuCC49E8RI12/GWim1G0gDCoADQA6wHngIOOjR1Q2RY461edTEb+wvqmNq6oivXh80wzCoamgdllFbQ6aUzlp//jzsfUVnSm3tuozSXWO2OjvZGTxHl846vjasQ95fPeKNXQgr7tLNUTLPhtndRsnbbPD2D3Sn9iW3ddwfGAJrfgPPXwGfPgan3zq86z5VleXocU31JbDuET0XdYR8kJieFs0fL+9/j1xylBlLSzuWlnYiQgbehNCxv3pFViL/3nFiQA3MDpXVk5kUjqmvhjTJ0yEyVZeDz71mwOvrwTBg66O6+qW3rv2OCpyGMohOG/rxQDexe+HLEJepR/SFnBrbnQYqMMDEHy6fjTkogAc/zKOx1cqPzpvS9/nhRPbxNp55ZxcAH+aU8eer5rAgww+3EYmRKWECXPUvyN+E9c3vY33+Gi613U9ucyzLJyVy47LxzM+I9cj4y/nJ83k7/20K3r+bdFs7nPkj2m3t3Pj+jZQ1lvHsuc8SZ+75f6HF2sLG4xtZlb6KQNPAfhYopQiZMoXmHB1Yt+QfJWyBm6bFCOFBrqQYLwQSDMOYYxjGVYZh/NwwjP8YhrHXMAyfuGxrUnDrvz6jvtl/M29NbVZa2m3Dvsd60FbcDafdCPOvh0U3w+LvwprfwmgPdOpN6GXk1smO4H5cCu6w9HY90/itO6CyUwOS1kbY/Cco+kx3k+7+4XzSObqCIPs3eq+v8Kzct+GJlXoG8vVvwZyrR0xQPRApUbpEsbRucJVCFfb91Wdm6YB0IOXgh8ssTEjsJ8h0dOQ9vME91RhHsvWFukXf7P3fK9ze77OhYujHcjixHVotsO5h/+wR4UYBJsWvLprB9YszePLjfL774ue0tA+sGdRTH+fzzL5WzpqcxL9vOp3AABNX/G0LD64/hNU2tCy4EK5obrPy5u5ivr4pjLOLv0mb1cofQp/h9VvP4O9fO8QH1BcAACAASURBVI3FExI8ElTT1sT8Mr2/eefR93Rj1LhxPPL5I2wv2U5hfSHf+fA7NLd3fb9vs7ZxR/YdWNosrM1cO6hDm6dMoeXgQaz19bQXFw95f7UQw6HfS0iGYRwZjoV4UmKYiYKqRu56aQ8PfXmOX5aSVDXoaxxxw9gVfEjGLPDMuJvehERA9NiuDcxK9kJwhC539nemALj4MfjrYj3vePkPYN/LcOAtaGvQ5WUzLuv5PKX0nutHFupSV8lae4bNqpvBbPiVruS48l/uy2x6QVKULkkurW3uUiruKkfGel56LJEhgewprMWV1l+WlnaKapuZmOxCyfzE1fDZ36Fgi0sNePq09a86eJ5+Se/fdwTWLjYecklNgb6Nz3Tfa/oxk0nxk/Onkhxl5jdvH6C0rpnHr5lPtAtbpx7JzuN37+QyPzmAR78yj+BAE29+Zwn3vLqXP7x/kE8OV/K7S2cyJm6ETYYQPsvRwPFAST25JfXsLaplfU4ZlpZ2kiJDuOD0BVhCfsT0zT+BqndhjAeaI9qsej/1locZ11hBXEY6Oyav5OJVv2BL0Rae2PMEF024iKWjl3Jb9m3cs/kefrfsd5iUiTZbG3dsvIPsE9ncs/AeFqQM7rOeeeoUjNZWLBs2AAxq1JYQw81Nw4JHJqXUWmBtamoqPzwni9+8fYCFW+P46ukZAJyobuTZLcd4d18JzW1WrDaw2mwopVg3O5XbV2cNqpTRG2oadeYlxgt7rH1CYlbPjHXyNN0s5FQQPVrv03rxK/DCVXpc08zLYPqlunzV2d9D0mRInKKzqRJYu1/1UXjlZh3gzbgMLngQgoa3AaG7ncxYD7K3RbmlFZOC+IgQpqVFsbeozqXnHS7TjctcCubHrwBTkC4HH0pgXVesR3ctu9P5HufOpeDuUlMAIdGn9FitgVJKcfPyTEZFm/n+f3ZzyaOf8PR1C5wGxA0t7fzp/YM88XE+62anckFSzck+IpHmIB64YjZLJiRw7+v7WP2nTdy+ehLXnZFBYMDAfqa0tFvZcKCcY5UNFNU0UVjTREldM+nx4SyZkMCSCQkStJ8CDMNgb2Ed/95xnLf3Fp/sNQG638Sa6SlcNCeNRePjCTApsE2Ggrd0H5TMs9zf9HXrX/V+7gkrUUv+j3n5L7Gzcj8VLVX88KMfMj56PHeddhdhQWHcNu82/rjzj4yJHMM3Z3+TH2z6AR8e/5C7TrtLNzwbJEcDs7q33gYgOCPDHX8yITxqwFGjUmqtfe/yiOfYY52VlfWNG5eOZ3t+Fb94Yz/mwAA25Jbx7r4SlFKsmJRIQkQIJpMi0KSobmzlmU+O8s7eEu69YBrnTHNT51gPOpmx9pVS8OGWmKU7a9qseo5t6T6Ycam3VzW8pqzVozyCwvVojwAXL8JkrYFPHtRjNkbyB/kTOyB/k/5zJkz09mr6ZhjwxfPw1p26MuCix2Dm5T5Z+t1dsj2wLqltGdTzy+tbiAsPJsCkmJEWzd+3HKPNaiOon4Alr8yFjuAOIRGQsRgOvqerMgYr7wN9O3Wd88cEh0NQmHtLwWuPQ8xY973eKWTd7DSSo8zc+OwOLnx4M1edNpYL56QyIUlXOrS223j+0wIe/PAQFZZWrl44lp+vm85HmzZ2eR2lFJfNH8PiCQn8+NW93PdmDq99XsSvL57hUk8AwzBYn1PGfW/u56i92V+kOZC0mFASI0PYcbSKN3cXA5AeH8aicfHMGRvD3PRYJiRGDGqfuBh5SuuaeXN3Mf/ecZwDJfWEBJpYNTWZeemxTE6JYnJKZO9b/EwmfSH20cXw9p36Z7u71BzXfVkmrYGrXgClmNd0jPcLPuDW9bdiabPw+OrHCQvSF3yum3Ydx+uP88SeJ9hcuJmcqhzuXHAnV0+5ekjLCM7IQIWEYNm8Wf8+PX3IfzQhPG0w6dhfAj4RWHdmMin+cPksvvSXj7nzpd1EhwZx47JMvnp6Oqm9dJD9WkE1d7+8h5ue28nKKcn8dO3UEX3VuNrepdRn9lgPt8TJeu9qzTFQAdBS698dwZ2ZdtHAnzPpXPj4TzqIGKkXI9qadYfkmgJ9lT1lhi7NnX7JyAtAWhv0bOp9r+i97xc9OvLWOAThIYFEhgQOfo+1pYWECJ39nZ4WTWu7jUOlln6bTx4qsxAUoEiPd/F9euI58O4PddVA5xFZA3HoPd0ILXla348LT3R/KfipsI3FQxaNj+elW87g52/s55HsPB7akMe01CjOzEri9S+KKKhqZNH4OB7/6uR+x0imxoTyxLXzeWtPCT99fR/rHt7MqinJrJudypmTkzAH9dz3mldWz8/fyGHTwXIyE8N58tr5LBgXR5S542KnYRgcLrfw8aEKPs6r4N39Jby44zgAkSGBzBwTzaTkSPuvCCYkRRIdKhVrI11ru40dx6rYeLCcjbnlHCipB2DW6Gjuu3A6a2eluv7vmDhJb+368Be6+mzK+e5Z5Nt36tvz7j95sdfR1Xt/5X7uPf1eJsZ2XLxWSnH3wrspshSxuWgzd8y/g2umDr0xpAoMJCQri+bduwlMHYUp1LerucSpYTCBtc9eJo0JC+bZG07ji+M1nDt9FKHBzhs9zB0by/++vYSnN+fzp/cPseL32aydOYqblmcyZdTI6y7uyFjH+soe6+GWOFnflh3Q3ccBUmZ6bz2+ZPR8CEvQ5eAjNbDe+ogONi55Uo812vuSns2d/Vu4devgAyd3qy/RXb9Ldus5oIu/65ezh5OjzW4JrGfYM397C2v7DazzyixkxIf3m9k+aeIqHVgfyYZ51w18odY2/dxpF/ZfaRCR5L5ScMPQ5/q45e55vVPUxORInrthIWV1zfxvdzGvfV7IQxvymDIqimeuX8DySYku92NRSvGlmaNYMiGBhzYc4pVdRbyzr4TIkEBWT0thXEIYJXXNlNa1UFrXzL6iOsKCA/jJ+VO55vT0Xs9ZpRQTkiKZkBTJdYvHYRgG+RUNfFZQw66CavYU1vLCp8dpautoxBZlDiQtNoy0GDNpMaEkRZlJjAzRvyJCSIoMIS48eMDl6mJoCiob2XhIB9JbDlfQ0GolKEAxPz2Ou86dzNmTk1zrDdGbxd+Ffa/Cm7frbS3mIX4+zXkDct+CVT/vcsF3YuxEksOSmZ8yn4snXtzjaYGmQB448wEO1xxmWkI/FxoHwDxlCs27dxOSIRcShW8YTGDt0y0wMxMjXG6oExRg4sZlmaydlcqTH+Xz/KcFvPp5EcsnJfLdlROZ28+V7OFU3diGUsgVa2cSO3UGt7YCCpKmeHVJPsMUoDuEH3hDBxOulpAPl/pS+OiPkHVeR+C/6BYo3g1/Wwr7X4fF3/HuGgFK98O/Ltdzqq96Qf+d+qnkqBBKhhBYp4/VWeeM+HAi7A3MLl8wps/n5ZbWnQzEXRKXCQEhXTvlD8TxbdBS1zEXuy/hiR0Nx4aqqVp3BPejKgdvSooyc8OScdywZBxVDa3EhAYNusw6OiyIH31pKnedO4Uthyt5/YtC3t5bQn1zOzFhQaREmU8e76Zl44mPcH32uFKK8YkRjE+M4NJ5owGw2QwKa5o4WFpPXpmFwpomCqubOFHdxLb8Kuqb23t5HYgPDyYhIqQj6HYE3lFmpqREMj4xQu/jFYPS1Gpl65FKNh4sZ9PBco5UNAAwOjaUC+eksXxSImdMSHBPD5+AILjgz/D42bDxt3DOLwf/Wi318Nb39UjCRd/s8i2TMvH6ha9jDjQ7veBkDjS7NaiGjn3W0rhM+Arf6Mw1SJ2blw3FqOhQ7jl/Kt8+ayL/2HaMpzcf5cuPb2Xb3Ss9Gsg+u+UokeZA1kzrO7sOUG3/QCA/DJ0wR0FUmu4M3mqB+Al676NwzaQ18Pk/oWArjFvq7dV0teE+aG+CVb/oev+ombokPPct7wfWhzfAv7+q99p+7W3d/duPJUeZ2Xq4clDPrahvPZmxNpkU01Kj2NPPyK2S2maOVzVxrb0xpUtMJh2cVh8d1Do59J5ugOZK5jg8UfcAcIeaY/pWAmu3c1ePkgCTYsnEBJZMTOCXF83AajN6LQkfKpNJMSYujDFxYZw9JbnH95tarVRYWiirb6G8voVyi/220++PlDdQXt9Cq9V28nnhwQFMS4tm1uhoVmQldTTMEk61W228u6+UF7YXsC2/itZ2G+YgE4vGx3PN6eksn5TIuIRwz0ylSZsHc6+BbY/C3K92JBIGasOvoL4YLn+21wvojj3Vw8k8RVcbSmAtfIVfB9adm5e54/Wiw4K49cwJLJmQwLqHN/PWnmKuOs0zH26OVjTwk9f2AfCTkH2snZ3K5fPHMGt0dK9vzFWNrbK/uj+OzuBN1ZA219ur8S2ZZ0FAMBx8p//AuuIQbHkYlt2hu5F7Uske+Ow5naFOmNDz+1lfgk2/042jwhM8uxZnDn8I/7xMz1O/+t+e/zsZAVKizJTVt2CzGT2yf4Zh8MbuYlZNTe4RbDS0tNPUZiUhsiOTNyMtmue2HqPdanNawrotXwfxC8fFD2yhsekdgepAHfoAxi5yrfQyIgkaK3TzxKGW/jsy3zF9Z/DFyBAUYMIDMbVLQoMDTgbefTEMg7qmdopqm9hXVMeeEzXsLqzl71uO8fhH+YyKNnPRnDQunjvateaAp5Dapjb+vf04z3xylMKaJsbEhfLVReksz0pkQUacRy6o9Orsn8L+1/T+6GteHXgjzOIvdGA+/2vDNwrVBeYZM0j6wQ+IPv9L3l6KEC4ZzEabUrevwsfMHB1NZmI4L392wmPH+CBH/zU/cMVsVk1L5uXPTnDhw5v54ct7en18TWOr7K/uT+JkKMvRH6STT8HGZUMREgEZS3X21+hnN8hHf4CdT8OjS/SsbE8xDHj3bt2pfPmdvT9m8nl6T/3Bdzy3jr7UFcFLX4eESTpTfQoE1aAz1u02g8qG1h7fyymu59vP7+L1z4t6fK+8XncST+xUIjtjdDQt7TYO2bt+92brkSoiQwL73YfdQ2zG4DLWtSegbJ9rZeCgM9aGTV/UG6qTgbVkrIV7KKWIDgtiyqgoLp03mp+tm84r31zM7p+u5qEvz2FySiR/23SElX/cyNVPbOVYZYO3l+x1Le1W/vT+Qc749Xp++VYOo2NDeeyaeWTfcSb3nD+VpRMThy+oBn3h+Mx7dN+HnEH0F97/OqDg7J+4e2VDokwm4q+/joCYETyRRIhOBhxYG4axyhML8SVKKS6ZN5rtR6s99gNmfU4ZE5MiuHBOGn+8fDbbf7SSMzLj2ZZf1evjqxraJLDuT2IWWO0jgKRx2cBlnQtVR3RG2pnWBv1DfeI5+oP/C1fB23dB++BGL/Up9209XmvFD/Vc7t6kzIToMZ4N8J2xtsN/b9Adyy/7O5gHsP/XxzlGbvXWwOxIhQ6Q83t576yw6POkc8baMbqor3LwbfmVLBgXN/By1dgMaK4deMB76H19O9HFH4fhifrWHZ3BawogJArM8kFTeJY5KIDzZ6by9PWnseWHZ3HXuZPZfbyWcx7YxFMf52Oz+XTLnUHbcbSK8/78EX9ef4gVWUm88e0lvHjT6ayeluLdkvn5X4OkafDuj6C1cWDPrc7XVTAjeaSmED5AWkMO0oWz01AKXtlV6PbXrm1qY/vRqi57piLNQUxPi6awpqnXH2bVDa3EhY+wplIjTWKnZmWn4qitoZq0Rt8efNv5Y3Lf1nvYF38HbngfFt4C2/4KT67STbvcKfvXED9Rf5hwRil9QeDwhwP/oDFUG+6Dgk9g7QN6LMopJDlKB8a9Bdb55TqgLqjs+e9xMrCO6LhIOC4+nPDgAPY6CazL6po5Ut7AwnFxA19ojH0uavUAy8HzPtAXbBzTBvoTkaRv3dEZvKZAX7Tyg5nnwnckRZq5eXkm7922jNPHx/PzN/ZzxWNbyK84dbLXdc1t3PPqHi59dAvNbTaeuX4BD18916W55cMiIFCPyKotgM0PDOy5Vfkywk8IN+g3sFZKSevkXqTGhHJGZjwvf1aI0V9p7ABtPFhOu81g5ZSkLvenxYTS2m7rUV5pGIbssXaFI7gJi4fIUd5diy+KGQPJMyC3j7LqL16AqNEw9gwIDIFzf6MboRR/Aftedt9aWhv0/urpl/TfpTzrPN3c7MgG9x2/Pwff07O/514LMy8fvuOOECnROmPdW2dwR6b6aC8Z63KLfm/rXAquG5hFOw2sHVU8C8cPcH81dIxhG0g5eHurLrecuMr14PZkxrp8AItzwhFYC+EFo6JDeeq6Bfz+slkcKKln1R83cvNzO9mQW4bVjzPYNpvB1Y9v41/bCrhhyTje+79lrMhK6v+Jwy1jsZ5p/fEDcOwT159XdQTiJLAWYqhcyVi/qZR6WiklP8m7uWTuaAqqGtlxzA375jpZn1NKXHgwc7qN80qLCQWgsKapy/1NbVZa221SCt6f0FiISNH7qyXbMzhZa+D41t6zz5YynRmeeZnuuOww5QIIjoDyg+5bR1kOYOiu3/3JWAIh0cNXDl57Al65SV+EOPe3w3PMESYxIgSloLSu5xYAR4aroLKxx0XJivoWlOrZnXl6WjT7i+to79S52GFbfiXhwQFMH+j+atDNy2BgDcwKtuiqjAkD2BXlCKwbXAisDUOf370F4Y4Z1hJYCy9SSnHpvNF8cNtyrjsjg0+PVnH909tZ8tsPuf/dA/zviyK2HqnkcLmFuuY2by/XLd7aW8yewlp+d+ksfnz+VMLdMSrLU1bfB1Gp8MyXIPu3umliX5qqoblGMtZCuIEr7wyTgZuAjUqp14H7DMNww2V3z3PXuC1nzpmWQljwXl7+7AQLMgZRhtiLdquN7NxyVk5J7rFXJy3WHlhXNzF7TMc+mCp7BjtOAuv+XfCgzliLwZl0Lmy6X48amnVl1+/tfRkMK8zsdr9SunlXRa771lGyW9+6ElgHBOns4sF33NOVuT/v3aP3lF/+dwgK9eyxRqjAABMJESGU1vbMWB+taCDQpKhvaaeqobXLLN8KSwuxYcE9un/PS4/lqc35fHK4kmWTErt8b9uRKuZlxDntGN4nc7S+4DaQjPWh93SH/HHLXH9OaCyYAp2XgjfV6IqKvA8gb70eeZOxFK57o9vjZIa1GDmSo8zcc/5U7lwzmQ9ySnlx+3EeyT7co79lmr3Cb/GEBM7IjCfJ3oPBV1htBg98cIiJSRFcNCfN28vpX9QouGkTvHk7ZP8K8jcRMup654+vyte3krEWYsj6DawNw2gFHlRKPQ58C/hUKfUP4H7DMOo8vcChcPe4re7CQwJZMz2FN74o5qdrp7mlA+SOY9XUNrX1KAMHXX4OUFjTdW9idYO+Iiyl4C6Y5GIXX9G71Dl6X2r2b/Se686NTna/qJuFJfWy7zQxC45sdN86SvboLLSrAcbk82Dvf+H4p5B+uvvW0V3lYT3y5IzvQHym547jA1KizJTWdw2saxpbqW5sY9H4OLYeqeJYVWOPwLrz/mqHlVOTSIwM4YmP87sE1pWWFg6VWbhwKB92B9oZ/ND7kL5Yd8p3lVI6a91bFrq9Ff4yB5qqdKA//kwdQB/fBta2rlsdpCO4GIGCA02cN2MU580YRV1zGyW1zSdnZZfUNbOroJr39pfyn516ksrsMTHctmoSSycmeGaus5u9/kUheWUWHrl6ru/M8zZHwcWPQeaZ8OYdzC/8AmaM0zOvu6u2B9aSsRZiyFy+xG8YRrNhGL8HpgNNwE6l1B0eW5mPuHTuaOpb2nl/v3umkK3PKSU4wMTSblkZgOjQICJDAims7loKXtWoM9axYdK8THiYyQQXPw61x+G1WztGb1UcgqLPYOYVvT8vMQvqi3QHZnco2aMb0Ln6oWzCKjAFQe6b7jm+M5v/rI+z6JuePY4PSI4yU9ItY+0oA3fsTew+VaG8voXETh3BHUICA7j29HQ2HSwnt6T+5P2f2vdXLxrM/mqH2AznzcvyP4IXr4FXbtbZn3fu1pUXrnYD7yw8sfdS8JpjOqheeS98/4iudJh3LbQ3Q+nebo+VwFqMbFHmICYlR7J4QgIXzknj5uWZ/O2a+Xz241W88e0l3HXuZMrrW/jqU59y5WNb2enmrXTu1m618ecPDjFlVBRrpqV4ezkDoxTM/jLctAll2GDnM70/zpGxdvScEEIMmsuBtVIqQym1Bvg6MBaoB37lqYX5ikXj40mNNrttpvX6nDIWjo8jwsn+nbTYUApremaBQDLWYpiMXQirfgEH3oBPHtT37X4RlAlmXNr7cxKy9G1fo7pcZbNC6X7XysAdzFEwbqneZ+3mZoMn1RXDF8/DnKshMrn/x/u55KiQHl3BHQ3Llk1MRCk41q0zeIWllYSInoE1wNUL0zEHmXjq4/yT923LryI0KICZo4fQlTcmXQesve1D/PQxXfp9dDPsfQm2Pw5B4TD5SwM/TkRS76XglYf1bfpi3dUXYPQCfXtiR9fHSmAtfFSASTE9LZqbl2fy4R3L+dkF0zhc3sAlf/2Ebzy74+TnmJHm5V2FHK1s5LZVkzD5Sra6u4QJ1EeO0z83e1OdD+FJA6vCEUL0ypWu4LuVUpXAK8C1QDSwHvgqcMr/LzSZFBfOSWPToQrK64c2q/dIuYUjFQ2snOL8Q3laTGiP5mWyx1oMu0W3wNR18MG9cPRjHViPXwGRTq7oJ9oD6/IDQz92VT60NQwssAbdHbzqMFS4sYlaZ1sfBlu7LgMXpESZqW5so6W9I2DNL2/ApGBCUgSp0aG9BNYtTgPr2PBgLp03mld2FZ58r916pJJ56bEEDWZ/9ckXzgBbG9QV9fxe0S4dRP/fHvjBUfhxOfzwxOAyO85KwavsgXX8hI77osdARHLvgbXMsBY+LiQwgGvPyGDTnSv4/jlZbMwt57JHt1Bc29T/k4dRa7uNv6w/xMzR0b1uz/MlDeHpuimirWcDSKqOyv5qIdzElU8jFwIJhmHMMQzjKsMwfm4Yxn8Mw9hr3399yjs9Mx6rzRjyPMf1OTqbcXYfb+BpsaEUVnffY92KSUFUqJSCi2GiFFzwkA4w/nWF/sDvrAwc9OMCQqDcSQOzfa/ofduuGEjjss4mfwlUgB6D5W5N1bDjaZh2sXxAsUu2Nygq69QZPL+ykbTYUIIDTYyNC+tSCt7Y2k5jq9VpYA3wtcXjaLPZeG7rMWoaW8ktrR/c/OrOHEFy987glnK95SF1Ttf7TYMM4h2l4N0rJioP60A5rNOfQylImw+FvQTWMsNa+Imw4EBuPXMCz3xtASW1zVzyyCfkldX3/8R+7DhaxRm/Xs+GA0ObG/+fncc5Ud3E/62a5BN7wfvSEJ6hL0j3NgGhWmZYC+EurnxCaAfGKKXG9vNrELNO/EO0PaCtH+JYiQ9ySpmcEsno2DCnj0mNCaWuub3Lsaob24gODfKdphrCP5ij4IrndAltUBhMPt/5Y00BkDDReWC95WHY+DsdoPanZI/usJzYS5O0vkSlwrI7dLn2/tcG9tz+fPqE7ta85P/c+7o+LNk+y7pzOfjRigbGJehCp4yEsC4Z64p6fZ22t+ZlDuMTIzh7cjL/2HqMjQfLMYxBzq/uzDFyq3sDs+LP9W33wHqwIpLA2gIt3Xp+Vub13uhu9Hz9vc6j7WTUlvBDZ2Qm8MJNi2izGVz66JYh7bveeayKa5/6lKLaZh7bdGTQr9PcZuWhD/OYOzaGFb30vPE1DeH297mybuXgbc26Widu/PAvSgg/5Epg/XcXfj2DzmyfkiLNOrAeyrzGmsZWdhyr7jNbDb3Psq5qbJX91cI7kqfBV/6ru4/2tz/L2cittiYo+lyP6spb3/8xS/fqPduBzjObTi37vg6U/vc9qC8Z+PN709oI2/4KE1frhmoC0KXgACX2wNowdFXPuHh94XBsXDiVDa0nLxKWW3RmO6GX5mWdfX3pOKoaWvn1WwcICTQxa8wQ9leDLrtWpp6BddEuQOlO9+7gmGXdvRy86gjEOQmsAQp36luZYS382LTUaF6+5Qxiw4K5+omt7CoYeHD9WUE11z61naQoM9edkcGWI5UcHWQl4T+2HqO4tpk7Vmf5fLYaoCHc/r5Ruq/rN2qOAYZUWgnhJv0G1oZhnOnCr7MMw3h2OBaslFqhlPpIKfWoUmrFcByzP5Fm3XCmvrl9UM83DIOfv7Efq83g3Omj+nysY5Z1UafAurqhVfZXC+/JWAJT1vb/uMTJuvtyW7d9dEW79B5X0LOm+1OyZ+Bl4A4BQbqreVsTvPYt9zQy2/UcNFbCktuG/lp+JDlKB8iOzuAVllYsLe1kJIQDkGEPsB1Za8e+6cQ+SsEBFo6LY3paFCV1zcwZG0NI4BDHHAYEQfTonp3Bi3bpKguzm4qxHIF1587gbc1Qe6L3jHXqHB3wO/ZZN1VDa72+ECCEHxoTF8Z/bz6d2LBg7nl1L1ab6+/Pnx+v4donPyUhIpjnv7GIW1ZkEmBSvLjj+IDXUdfcxkMb8lg6MYEzJiQM+PkjkTUwVG976R5YV8moLSHcaQgdXwZOKfWUUqpMKbW32/1rlFK5Sqk8pdRd/byMAVgAM+CeVtxDNNTA+tktx3j5s0K+t3Ii09P6zr6MdmSsO43cqmqQjLXwAYmTAKNnZ/CCrfp24jl6RrC1j/9HlnKoLx58YA06WFr9C8h7H3Y8NfjXcdjxNIw+zbPzsX1QdGgQIYEmyuwBs6MHxTh7YD3WHlgXVOnAusKese5t3FZnSim+sVSXLQ5pzFZnMem9Z6zdVQYOuhQcunYGr85HZ4t6CaxDIiFpKpzYrn8vHcHFKSA+IoS7z5vCvqI6XtzuWlCcX9HANU9uIy4imOdvXERKtJnkKDNnZiXx350naLP20rCrD3/beJiaxjZ+sGaA241GuqRpPUvBHTOsJWMthFsMa2CNLhlf0/kOpVQA8DBwLjAVuEopNVUpNUMp9Ua3X0nAR4ZhnAv8APjZMK+/VyGBAQQHmgZVCr7tM1wu+AAAIABJREFUSCW/eGM/K6ck8Z2zJvb7+ISIEIIDTJzolLGuaWyTGdZi5Ds5cqtbV+7j23SZ+OwvQ3MNnPjU+WuU7tG3Qy25XvB1yDwb3rsHKvIG/zr1pVCeM7jxS35OKdVllvXRboF1ery+dYzgcgTWcS5cJDxvxij+b+UkrlzgpiAzNqNrYF1XrC/guDOwPlkK3imwdoza6i1jDZA2Tzcws9kksBanjPNnjuK0cXH8/r1cahv7/1z1wf5S6pvbefZrpzEqOvTk/VcuGEN5fQsfDqCJWWldM09+nM8Fs1L7TXT4nOSp+j2nrdMYxKojEBwJYW66SCnEKa73YckeYhjGJqVURre7TwPyDMM4AqCUegFYZxjGr4E+uiFRDThNbSilbgRuBEhMTCQ7O3vwC3eB2WQj90gB2dmlLj+nssnGvVuaSAhVXJxqYdOmjS49LybEYFfuMbJDSzEMgwpLM5bKUo//GYV3WCwWv/i3VbY2lmHi2I53OVppL68zbCw+8jEVCYvIKw5msQrgxAePcySz94EDYwpeIxPYnFdHW0H2kNYTnHQ1C45to+G5a/l89n2D6rScVLqJqcDOqnDq/eDfyN3MRjO5BSVYIq1szM0hQEHeF5+Sb2+0GBUMW/ceZion2J3bQkQQbP5ok0uvPSsQDuwqxA0D3BhbYzC+oYxN69/FFhBCfMWnzAA+K4U6N/27KpuVZSiO7dvB0UZ9EXVMwXtkAh/lFGM91PM4KQ1RTG6uZds7/yK+cicTgI/3Haf9YI1b1iRc5y/vw77iS6Os3Jvfyh1//5Crp/RdxfLR3haigiF/z3byO92vbAYxIYpH3vmckHKzS8d9Zl8Lbe02lkRX+9W/t8ViYV8jTDOs7HjnX1giddXPjLydBAcnsHOja58/hfAWX3kPHtbA2ok0oHO9zwlgobMHK6UuBs4BYoCHnD3OMIzHgMcAsrKyjBUrVrhjrU7F78gmMi6aFStcy3A0t1m54m9bMFQb/7hpMROSXB8JPuHQVprarKxYsZiGlnba332XWZMzWbHcSdZD+LTs7Gw8ff4Om33jyQhrJsPx5yk7ABstjFp4EaPmnAeFSxhbv4+xzv68L/0TotJYvPoC96wnroaYN29jRXI9TB3Ea77+MoREM+/8r+nO56KLl4p3sedEDRERCmtYJOkJ9Zx91oqT35+Y8wmtAYoVK07nheM7GdViYcWK5cO/0D0VkP8Pls0YC0lTYMMnoEzMPferEBzuvuPsiCMjMazj/H/9ZQhLYOlKJxUPZSmQ+yALU02gguF4JEtWni/jtrzAr96HfcRB6x5e2H6c7188j0nJkU4f91DOJ0xO0+8j3X2lLZdHsvPImrOwSza7N4fLLXz03ia+siidy8/zr0aU2dnZTFt4Gey/n/ljQmH2Cv2NPbfDmBlybosRz1feg4e7FHzIDMN42TCMmwzDuMIwjOy+HquUWquUesxisXh8XZHmwAGN23p681G+OFHLHy6fNaCgGnRncEfzsqoGndmLleZlwhckTu46cuu4fX/1mEX6Nutc3Tm8ysmYlKE0LuvN3Gv1Ptb3fwztLf0/vrujH0HGYgmqnUiODKGkrhnDMDha2cC4+K5BanpcGAWVHXus+5ph7VGOWdaOcvDCz/S56s6gGnQ5ePdScGdl4KC3SIRE6X3WMsNanGJuX51FREggP/vfPow+Gk0eLrc4/Rx1+fwx2Az4747+W/L84b1czIEmvn12/9vyfFJcJgSEQJm9gZnNqps2yv5qIdxmJATWhUDnNqej7fcNmWEY/zMM48aIiIEFroMRZQ4aUPOynceqmZAUwTnTUgZ8rLTYUMrqW2htt1Fj338kzcuET0iYBFWHwWq/CFWwDcISOoKLSefo24Pv9XxuW7Pen53sxkxCQCCc80sdUG17dGDPrTmuLwBkLHXfevxMSrSZ5jYbDW16L7Vjf7VDenw4xXXNNLdZdWDdT+MyjzkZWB/TneLd3bjMITyxa1fwqsO9Ny5zMJkgba7uDC6jtsQpJi48mNtXT2JzXiXv7ut9m12lpYXqxjYyE3v/nDc2PowlExJ4ccdxbN26jLdbbewrquW5rcf43gu7eGtPCV9fOt57F/g8LSAQErOg1N7ArK5QT+SQjuBCuM1IKAXfDkxUSo1DB9RXAl92xwsrpdYCa1NTU93xcn2KNAdSWtfc/wPtcorrmJceO6hjpcWEYhhQXNtEVaPOWMeFS/My4QMSJ4OtXQekiVk6Yz1mYUcWLm68Dr4PvgOLbu763PIcPevanRlrgMyzYNIa2PR7mPVliEh07XlHP9K345a5dz1+JMk+yzq/1kpzm+3kqC2H9PgwDANOVDdSXt/S76gtjwmLh6BwfYGl9gQ0VngmsI5Iss/HBlobdIO0+PF9P2f0Avjoj3pue/pi969JiBHsy6eN5W8bj/DfnSdYM71nIuJwuW5+mJnovLrkigVj+Pbzu3hqcz4BJsXBUguHSuvJKa6jodUK6GkEF89J48Zl/fx/9HXJ0+DwBv11lXQEF8LdhjWwVko9D6wAEpRSJ4CfGobxpFLqW8C7QADwlGEY+/p4GZcZhvE/4H9ZWVnfcMfr9UWXgruWsa5pbKWwpolrTk8f1LHSOo3cqpZScOFLEifp2/JcCI3VAfa867o+ZtIa2PpXaKnXI4ccShwdwd0cWAOsvg8eWQQbfglrH3DtOfkf6YAsaar71+MnUuyBdU6VHnczvpfAGiCnuJ6GVisJkV56H1NKZ61rjnUEvqlz3X+c8EQ9Mg46tjvET+j7OWnz9QWltkbJWItTTmCAiXnpsew4WtXr9w+X661+fW2pWz0tmbjwYO57MweAmLAgJiVFcum80cxNj2Xu2FhGx4aiToVtFklT4YvnobGqY9SWZKyFcJvh7gp+lZP73wLecvfxhjdjHeTyHuv9xXUATBkVNahjpcXqwPpETRMNLTqYl8Ba+ISEToG140OMY3+1w6Q18Mlf4PCHMHVdx/0leyA4wjMfAhImwoJvwKd/g9O+oa/q98UwIH8TZCzR5bqiV47A+kCVzgr1zFjr3+88Vg3g3RLM2Az9QbNoF5gC+z8HBiM8EVrroa2pY9RWX6XgAKPnd3wtgbU4BU1Pi+L1L4qotLQQ3+09Iq/MgjnIRGofjclCAgN4/huLKKtvJis5ksTIkFMjiO5Nsv1CcOk+nbE2BUH0aO+uSQg/4tefCIdzj3WkOZCGVitWm/MGGw45xfUATB1kYD0qOhSlOjLWJgVRoVIKLnxAcDhEj9UNygq2QkAwjJrV9TFjFoI5Bg6+2/X+kj062PFUILv8Tt0o6r0f9//YqiNQd0LKwPuRFKU/BB+tsxESaDoZaDvEhgURaQ7kswIdWHutFBwgNl2Xghd9prM6Qa6N5xmQiCR921Cu91eD3v7Ql/CEjotJEliLU9D0VD1Pel9RXY/vHS63MD4hApOp70A5KyWSpRMTSYoyn7pBNUCS/YJh2X59ITE2XZpvCuFGfh1YD6dIsw5sLS6Ug+8vqiMxMoTEQTbqCQ40kRQZQlGN3mMdExZMQD8/VIQYMRIn6Yz18W16H2v3ACYgECaugty34dPHYfe/IfcdfYXdE2XgDmFxMP9rcGSDbpTWF8f+6gwJrPtiDgogJiwImwHjEsJ7fPhVSpEeH3byA7PXM9ZtjXBsi2f2V4POWIMuB688AhEpEOLChV9H1loCa3EKmmYPrPcW1fb4Xl8dwUUvIlP0NixHxlrKwIVwq5HQvMxjhrt5GUBdcxvRYX1nj/cX1w06W+2QFhNKYU0TsWHBxPZzPCFGlMTJcPRjPepj0S29P2bGZbD3JXjrjq73e2Lfa2cpM8Cw6e7jo2Y6f1z+Jh0UJfjpWBY3So40U9PYRkZ8782F0uPD2VtoD6y9tccaOjqDW1s8GFg7MtZlUJnX96itzuZ+VTcvCx1cw0shfFl0WBBj4kJ7ZKyb26ycqG7i0rljnDxT9KCUnqxRtl9X6Ixd1O9ThBCu8+vAejibl0XZA+v+Gpi1ttvIK6tnRZaLnYedSI0JZU+hvnor+6uFT0mYBO32jLCzH+qTzoG7i6G5FlrqoLlOBzyjT/Ps2hyNyMpynAfWhqEbl41fLjOFXZAcbSa3tL7H/mqH9Liwk1/Hh3sxYx3TqZmkpwJrR8d5Ryn4pDWuPW/cMtl2IE5p01Oj2VfYNWN9pLwBw4DMJDfPm/d3SVNhx1MyaksID/DrwHo4RdlLwev6aWCWV2ahzWoMunGZQ1psKO/tK8UcGMDY+LD+nyDESJE4uePrMQudPy7IrH9FJnt+TQ7xmbqZS9l+548pz9UZRwl0XJJi32fdvSO4gyOTHRMWRHCgF3cnOcqsA4I91+ndUQpeeVgH1/11BBdCADA9LZq395ZQ19x28vNWngsdwUUvkqfqoBpk1JYQbubXe6yVUmuVUo9ZLBaPH8uxx7q/jLWjI/hQS8FHx4TSarWRX9FAnGSshS9xjNyKn6AbM40kAUE6o16W4/wx+Zv0bcbS4VmTj0u2NyxzlrF2XBj06v5qgOAwiEjWZZKBHnpPDQqF4EjdXwBcLwUX4hQ3LVV/ZtrfqRz8cJkFpXC6zUQ4kdRp4oFkrIVwK78OrIe7KzjQ78it/UV1mINMjHPyIdNVjpFbrVYbMeGyx1r4kNBY3Ql5/JneXknvkqb0HVgf3aQ7mzv25Io+TUqOJDgAJjrJKjk+FCdEjIALhEtugzO+7dljRCRC4Wf66/5GbQkhgE4NzDqVgx8utzAmNgxzkHS1HpCkTlVjsenOHyeEGDApBXeTSBf3WO8vrmVyStSQu3inxnTMbJSMtfA5N3ygM4QjUdIU2Ptfva/b3K2yxGbTjdeyviT7q130pRmjUKW5xIb3/j6VFBlCSKDJ+xlrgEU3e/4Y4Yl6XBtIGaYQLkqMDCElytylgVlemXQEH5SQSN1Twtqmq2iEEG7j1xnr4dRRCu48Y20YBjnF9UPeXw26K7iDsw+sQoxY4fEj9we6Y39teW7P75Xth6ZqyFgyvGvyYSaTIiLY+UUIk0nxnbMncum80cO4Ki9y7LOOGj1y/w8IMQJNT4s6mbG22gzyKxrITJQy8EGZfD5MXOntVQjhd/w6Yz2c47aCA02EBJr6zFgX1TZT29TG1NShB9aR5iCizIHUNbdLxloId0qaom/L9sOYBV2/V7BF36afMbxr8nO3nnkKNfGKsI/ckv3VQgzI1NRoPjxQRmNrO5WWVlrabWQmSsZ6UNb8ytsrEMIv+XXGejj3WIMOduv6CKwdTTeG2rjMIS1Wl9LGyh5rIdwnJh2CwnrfZ31sM0SldXSQFmKgHBlrCayFGJDpqVHYDMgprievTDqCCyFGHr8OrIdblDmwz1Lw/UV1KAWTUyLdcjxHObjMsRbCjUwmPRKs+8gtw4BjW3S2WvZXi8FyBNbSuEyIAZmephuY7S+q5bB91JZkrIUQI4lfl4IPt8jQvjPWOcV1ZMSHEx7inr/2tBg9xiZO9lgL4V5JU+HQe13vqzoClhIYe7p31iT8g5SCCzEoo6LNxIUHs7dQJyniwoOlx4wQYkSRjLUb9ZuxLq5zWxk4wPKsRBZPiCfKLKXgQrhV0hRoKIOGio77Tu6vXuydNQn/kLEU5nxFziMhBkgpxbTUKPbaM9YTJFsthBhh/DqwVkqtVUo9ZrFYhuV4keZAp83L6pvbKKhqdEvjMoezJifzz68vwjTE0V1CiG5ONjDrtM/62CcQGgeJWd5Zk/APYXGw7uGeo9yEEP2anhbNwdJ6ckvqyUySjuBCiJHFrwPrYW9eFhLkNGN9oKQecF/jMiGEBzlGbnUPrGV/tRBCeM301GjarAZ1ze2yv1oIMeL4dWA93PrKWDs6grtjhrUQwsMiU8Ac09HArK4YqvNlf7UQQnjR9LSOz1CZ0hFcCDHCSGDtRpHmIBpbrbRbbT2+t7+ojrjwYJKjQrywMiHEgCils9aOjHXBJ/pW5lcLIYTXjI0LI9KsG8DKHmshxEgjgbUbOd7sLS09s9a5pfVkJUeipIxUCN+QNEUH1oahy8CDIyBlprdXJYQQpyxHA7OQQBOp9pGjQggxUkhg7UaOwLquqWdgXVLbTFqs/BAQwmckTYGWWqgr0vOrx5wGATKhUAghvOnqhel8fek4AqRxqxBihJFPiW4UFarHXtV1a2BmtRmUW1pIiTJ7Y1lCiMFwNDA79gmU7YPpF3l3PUIIIVg7K5W1s1K9vQwhhOjBrzPW3hi3BfRoYFZhacFqM0iOlsBaCJ/hGLm182l9O1b2VwshhBBCiN75dWA93OO2osw6Y9195FZpXTOAZKyF8CVhcRCRAsc2Q0AwpM3z9oqEEEIIIcQI5deB9XBzlrEuqZXAWgif5Mhap82DIPn/K4QQQggheieBtRtF9pOxllFbQvgYxz5rGbMlhBBCCCH6IIG1GznNWNc1E2BSxEdIYC2ET3FkrGV/tRBCCCGE6IN0BXejoAAT5iBTj67gJbUtJEWGyGgIIXzNtAuhuRbGr/D2SoQQQgghxAgmgbWbRZqDemSsS+uaSZb91UL4npBIOONb3l6FEEIIIYQY4aQU3M2izIG9loJL4zIhhBBCCCGE8E8+F1grpUxKqV8qpR5USl3r7fV0F2kO6lEKXlrbTIrMsBZCCCGEEEIIvzSsgbVS6imlVJlSam+3+9copXKVUnlKqbv6eZl1wGigDTjhqbUOVmS3jHVDSzv1Le1SCi6EEEIIIYQQfmq4M9bPAGs636GUCgAeBs4FpgJXKaWmKqVmKKXe6PYrCcgCPjEM4zbglmFef7+izEFdxm3JqC0hhBBCCCGE8G/D2rzMMIxNSqmMbnefBuQZhnEEQCn1ArDOMIxfA+d3fw2l1Amg1f5bq7NjKaVuBG4ESExMJDs7e6jLd0l9dQuVddaTx8up1Essyc8luy5vWNYg/IvFYhm281cIT5BzWPg6OYeFL5PzV/g6XzmHR0JX8DTgeKffnwAW9vH4l4EHlVJLgU3OHmQYxmPAYwBZWVnGihUrhr5SF2xu2M/20gIcx6vedQK2f8E5yxaSmRgxLGsQ/iU7O5vhOn+F8AQ5h4Wvk3NY+DI5f4Wv85VzeCQE1gNiGEYjcIMrj1VKrQXWpqamenZRnUSag2hqs9JmtREUYKKktgVAuoILIYQQQgghhJ8aCV3BC4ExnX4/2n7fkBmG8T/DMG6MiBi+THGUWV+rcDQwK61rJjIkkPAQn7uGIYQQQgghhBDCBSMhsN4OTFRKjVNKBQNXAq+744WVUmuVUo9ZLBZ3vJxLIs1BACcbmJXUNpMso7aEEEIIIYQQwm8N97it54EtQJZS6oRS6gbDMNqBbwHvAjnAvw3D2OeO43kjYx3ZLWNdUtcsZeBCCCGEEEII4ceGuyv4VU7ufwt4azjX4imOjHWdPWNdWtfM+Mx4by5JCCGEEEIIIYQHjYRScI/xTil4R8baajMoq2+RjLUQQgghhBBC+DG/Dqy907zMsce6ncqGFqw2gxTZYy2EEEIIIYQQfsuvA2tvZqzrmtootY/aSpaMtRBCCCGEEEL4Lb8OrL2RsY7oVApeUtcMyAxrIYQQQgghhPBnfh1Ye0NQgImw4ADqm9s6AmspBRdCCCGEEEIIv+XXgbU3SsFBl4PXN7dTWttMgEmREBEyrMcXQgghhBBCCDF8/Dqw9kYpOOiRW/UtOmOdGBFCgEkN6/GFEEIIIYQQQgyfYZ1jfapwZKzrm9tJjpJstRBCCCGEEEL4MwmsPSDSHERtUxuNLe2MSwj39nKEEEIIIYQQQniQX5eCe3ePtS4Fl8ZlQgghhBBCCOHf/Dqw9tYe6yhzIGV1LfZScAmshRBCCCGEEMKf+XVg7S2R5iAsLe2AzLAWQgghhBBCCH8ngbUHRJk7tq5LKbgQQgghhBBC+DcJrD0g0hx08mspBRdCCCGEEEII/+bXgbU3m5c5yLgtIYQQQgghhPBvfh1Ye6t5mSNjHR4c0CV7LYQQQgghhBDC//h1YO0tjox1suyvFkIIIYQQQgi/J4G1BzgCa+kILoQQQgghhBD+TwJrD4iyl39LYC2EEEIIIYQQ/k8Caw+QUnAhhBBCCCGEOHVIYO0B0aFBfGXRWM6dnuLtpQghhBBCCCGE8LDA/h/iu5RSa4G1qampw31c7rtwxrAeUwghhBBCCCGEd/h1xtpb47aEEEIIIYQQQpw6/DqwFkIIIYQQQgghPE0CayGEEEIIIYQQYggksBZCCCGEEEIIIYZAAmshhBBCCCGEEGIIJLAWQgghhBBCCCGGQAJrIYQQQgghhBBiCCSwFkIIIYQQQgghhkAZhuHtNXicUqoeyPX2OoQYpASgwtuLEGII5BwWvk7OYeHL5PwVvm4kncPphmEk9vaNwOFeiZfkGoYx39uLEGIwlFI75PwVvkzOYeHr5BwWvkzOX+HrfOUcllJwIYQQQgghhBBiCCSwFkIIIYQQQgghhuBUCawf8/YChBgCOX+Fr5NzWPg6OYeFL5PzV/g6nziHT4nmZUIIIYQQQgghhKecKhlrIYQQQgghhBDCI/w6sFZKrVFK5Sql8pRSd3l7PUIMlFLqqFJqj1Lqc6XUDm+vR4j+KKWeUkqVKaX2drovTin1vlLqkP021ptrFMIZJ+fvvUqpQvv78OdKqfO8uUYh+qKUGqOU2qCU2q+U2qeU+q79fnkfFiNeH+evT7wP+20puFIqADgIrAJOANuBqwzD2O/VhQkxAEqpo8B8wzBGyuw+IfqklFoGWIBnDcOYbr/vd0CVYRi/sV/kjDUM4wfeXKcQvXFy/t4LWAzD+L031yaEK5RSo4BRhmF8ppSKBHYCFwLXIe/DYoTr4/y9HB94H/bnjPVpQJ5hGEcMw2gFXgDWeXlNQgjh1wzD2ARUdbt7HfB3+9d/R/+QFGLEcXL+CuEzDMMoNgzjM/vX9UAOkIa8Dwsf0Mf56xP8ObBOA453+v0JfOgfRgg7A3hPKbVTKXWjtxcjxCAlG4ZRbP+6BEj25mKEGIRvKaV220vFpYRW+ASlVAYwB9iGvA8LH9Pt/AUfeB/258BaCH+wxDCMucC5wK32MkUhfJah9x/55x4k4a/+CmQCs4Fi4A/eXY4Q/VNKRQAvAd8zDKOu8/fkfViMdL2cvz7xPuzPgXUhMKbT70fb7xPCZxiGUWi/LQNeQW9xEMLXlNr3TTn2T5V5eT1CuMwwjFLDMKyGYdiAx5H3YTHCKaWC0EHJPw3DeNl+t7wPC5/Q2/nrK+/D/hxYbwcmKqXGKaWCgSuB1728JiFcppQKtzduQCkVDqwG9vb9LCFGpNeBa+1fXwu85sW1CDEgjmDE7iLkfViMYEopBTwJ5BiG8cdO35L3YTHiOTt/feV92G+7ggPYW7E/AAQATxmG8UsvL0kIlymlxqOz1ACBwL/kHBYjnVLqeWAFkACUAj8FXgX+DYwFjgGXG4YhDaLEiOPk/F2BLj80gKPATZ32qgoxoiillgAfAXsAm/3uu9H7VOV9WIxofZy/V+ED78N+HVgLIYQQQgghhBCe5s+l4EIIIYQQQgghhMdJYC2EEEIIIYQQQgyBBNZCCCGEEEIIIcQQSGAthBBCCCGEEEIMgQTWQgghhBBCCCHEEEhgLYQQQvTi/9u7/1gtyzqO4+8PYEHT3GJq9mOyWYzCBQFZyawjxYrIMWasMQp1LedWTZusttKgNZuV8EeSMV1Rc2QNf4GZzEytYJUCwjkesVqdftoi16y0g7Pjpz+u61n3Hp/zg+c5kLXPa2P3fV/39fPmj7PvfV3X/UgakXRA0qCkg5KukDSl3lsk6ctd1PmApEWT39uj6sMySXslPSrpYUkbj1O7l0paW88vkvSKLuq4pf4UYet6viRLencjbZakjr9xKulaSUu66X9ERMRYpv23OxAREfECNWx7PoCkU4FvAS8F1tveC+w9np2RNM32v3qs4yxgM7Dc9mOSpgKXTEoHx2F7S+PyIuAR4PGJlpc0F5hq+9eN5NXA7nrcNYFqrgNuBO6baLsRERETkRnriIiIcdg+TAlAP6qiT9J3ASS9vc5sH6gzwCfV9E9KGqiz3dc0qlsl6UFJv5B0bs07S9KPJe2v/86p6X01fSfwaE27StLPJe2WdLOkdTX9TEm7JO2rZeZ0GMongKttP1bHNWL7q7X8+ZJ+Vsdwr6TTavoGSTdJ+omkX0r6cE0/UdIPan8HJK1oNSJpraT+OvabGvWsk/Q+YBGwrT6z5ZLuaJRdKun2Dn1fA+xo5BOwihKkL5U0vZF3qqQb62qDeyTNqOP9LTBT0stH+7+OiIjoRgLriIiICagzpVOBU9turQM+Ume3zwWGJS0DVgBvtj0P+GIj/zTbZwOXA+tr2mFgqe0FwPuB5jLzBcBltmdLehNwATAPWEYJUFtuAD5me2Ht0/UdhnEWsG+UIe4G3mL7jcC3KUF4yxuAJcBbgc/UZdxHgJW1z+cBG+tLh7nAlcCSOvbLmo3YvoUy27+mPrPvAXMknVKzXAx8vUP/Frf1/RxgyPavgAeA5Y17rwW+Ynsu8CTlmbXsr3VFRERMmiwFj4iI6M0eYJOkbcBttv8g6Z3AVtv/BLD910b+2+pxHzCrnp8AbJY0HxgBZjfyP2h7qJ4vBnbYPgIckXQnlNljSqC5vUzkAvDioxzHq4DvSDodeBEw1Li3w/Yw5aXB/cDZwF3A5yW9DXgOeCVwGiUA3277iQ5jfx7brrPaH5C0lRK8r+2Q9XTgL43r1ZQXANTjWuDWej1k+0A9bz5nKC8xjnp/d0RExFgSWEdERExA/WjWCCUwe10r3fY1ku4C3gPskfSucap6ph5H+M/f4Y8Df6bMRE+hzAa3PD2B7k0BnmztCR/DILAQONjh3nXAJts7JfUBGxr33JbXlKXZpwALbT8r6TfAdLqzFbiTMu7to+wlH27VX/eGXwCskPRpQJQl3ifVvM+gue1KAAACK0lEQVQ0yo0AMxrX02tdERERkyZLwSMiIsZRlylvATbbdtu9M20P2P4C8BAwB/g+cLGkl9Q8LxuniZOBP9l+DvggZcl5J3uA8yVNr7PU7wWw/XdgSNKq2p4kzetQ/kvApyTNrvmmSLq00Yc/1vML28qtqG3OBPrqOE8GDteg+jzgjJr3Pso+8pljjP0fQCsIxvbjlA+ZXUkJsjs5BLymnr8D6Lf9atuzbJ9Bma1eOUrZptmUD6dFRERMmgTWERERnc2oH9caBO4F7gE+2yHf5ZIekdQPPAvcbXsXsBPYK+kAZc/zWK4HLpR0kBKYd5yltv1QrbcfuBsYAP5Wb68BPlTrGKTs8W4v30/Z232zpEOUALP181UbKEvJ9wFPtBXtB+4Hfgp8rgbC24BFkgYoy7BbH0QbBK4Gflj7sqnDUL4BbKnPtzWbvA34ve1DncZOWXreV89XA+0fOLu1po9K0gmU4Py4ftE9IiL+/6ntxXtERES8gEk60fZTdTb8R8Altvcfw/Y2AE/ZvvZYtVHb2Qw8bPtro9yfQQnuF9se6bKNlcAC21d139OIiIjnyx7riIiI/y03SHo9Za/wN49lUH281Fnyp4ErRstje1jSespH0n7XZVPTgI1dlo2IiBhVZqwjIiIiIiIiepA91hERERERERE9SGAdERERERER0YME1hERERERERE9SGAdERERERER0YME1hERERERERE9SGAdERERERER0YN/Ay6vt0qioUszAAAAAElFTkSuQmCC\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9YAAAIjCAYAAADmwYOsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeZQc1X3//fet7up9m+6efdVo3wEJMMYCTEzAG5jEvwTbeSAhmDiP1+PHTmwTY/A5cRw/9gm/xIkTO4kd/bzwODisBscmYGOwJSEhEEIr0mj2feme3rur7vNHjfYZoX1G6Ps6R4epqltVt2UZ9Ol77/cqrTVCCCGEEEIIIYQ4PcZsd0AIIYQQQgghhLiQSbAWQgghhBBCCCHOgARrIYQQQgghhBDiDEiwFkIIIYQQQgghzoAEayGEEEIIIYQQ4gxIsBZCCCGEEEIIIc6ABGshhBBCCCGEEOIMSLAWQgghhBBCCCHOgARrIYQQ4gKilDqglHrHbPdDCCGEEIdJsBZCCCGOoJT6oFJqs1Iqo5TqV0o9pZR622z361ybCuz5qc89qJT6nlIqdBr3jiulfqqUaj6Fe0tKqeQx57cqpbRSqu102gohhBDnkwRrIYQQYopS6tPAA8BXgFqgBfgn4JbZ7Nd59F6tdQi4DFgL/NVp3FsPDAL/cAr3dgAfOHiglFoJBM5CWyGEEOK8kGAthBBCAEqpKPBl4KNa6//SWme11mWt9eNa689OtVmqlPqlUmpCKfWaUurmI+4/oJT6rFJqm1Iqq5T6N6VU7dSI96RS6mmlVNUR7f9SKdU7dW23Uup33ugd54vWuhd4Clgx1afPKqV+cmQbpdTfK6X+9zT3FoCHgGVHtP2cUmrf1GfdoZS69Zjb/g9w+xHHdwDrZ+jeqbQVQgghzgsJ1kIIIYTjKsAHPDzdRaWUCTwO/ByoAT4O/EAptfiIZr8P3AAsAt6LE06/AFTj/Df3E1PPWgx8DLhcax0GbgQOnOQ7zrmpadzvArZOnfo+cJNSKjZ13Q3cxjSBVikVAP4Q2HDE6X3AOiAK3A98XylVf8T1DUBk6ksF19Szvz9D906lrRBCCHFeSLAWQgghHAlgRGtdmeH6W4AQ8FWtdUlr/QzwBEdMSwb+QWs9ODXi+2tgo9Z669Qo7sPApVPtLMALLFNKmVrrA1rrfSf5jhkppW5WSr3vZI+n8YhSagJ4HvgVzpR4tNb9wHPA/5pqdxPO79WWae5N4Xy58P8evKC1/k+tdZ/W2tZa/3/AXuCKY959cCT6BmAn0HuCfp5KWyGEEOKck2AthBBCOEaB5NRo7HQagG6ttX3EuU6g8YjjwSN+zk9zHALQWr8OfAq4DxhSSj2olGo4yXecyM3A+07h+Fjv01rHtNatWuv/W2udP+LafwB/NPXzH+GE2+PuxRn1/xjwK6VUHYBS6nal1MtT09sncKaYJ4+5//8AHwT+mDee2n0qbZmaWq9n+PX8G90vhBBCvBEJ1kIIIYTjt0CRmYNnH9CslDryv50tnOZoqdb6h1rrtwGtgAb+9kzfobW+S2v9xyd7fIoeAVYppVYA7wF+MEMfLK31f+GMyr9NKdUKfAcnbCemwvd2QB1zXydOYbJ3Af91oo6cStup9tdprdUMv970Fd+FEEKcexKshRBCCEBrnQLuBf5RKfU+pVRAKWUqpd6plPoasBHIAX8xdf46nHXUD57qu5RSi5VS1yulvEABZzTbPpvvONuOKEr2Q2CT1rprunbKcQtQhTNNO4jzxcHw1PU/Yaoo2jT+FLhea509iS6dSlshhBDinJppupsQQghx0dFaf0MpNYCzzdQPgElgC/DXWuuSUuq9ONtvfR5nFPl2rfWu03iVF/gqsBQoA78B7j7L7zgX/gO4C7hzmmuPK6UsnBDdCdyhtX4NQCn1DZwZATbO1O0Xpnv41Drzk3IqbYUQQohzTWmtZ7sPQgghhLgAKKVagF1AndY6Pdv9EUIIIeYKmQouhBBCiDc0te7708CDEqqFEEKIo82pqeBKKR/Odh5enL49pLX+0jFtWoF/x9kTdAz4I611z/nuqxBCCHGxUEoFcSqcd+JstSWEEEKII8ypqeBKKQUEtdYZpZSJs4/mJ7XWG45o85/AE1rr/1BKXQ/8idb6/5qlLgshhBBCCCGEuMjNqang2pGZOjSnfh2b/JcBz0z9/Cxwy3nqnhBCCCGEEEIIcZw5FawBlFIupdTLwBDwC631xmOavAL83tTPtwJhpVTifPZRCCGEEEIIIYQ4aE5NBT+SUioGPAx8XGu9/YjzDcA3gXk467F/H1ihtZ445v67gbsBgsHgmiVLlpyvrgshhBBCCCGEeJPZsmXLiNa6erprczZYAyil7gVyWuuvz3A9BOzSWjed6Dlr167VmzdvPhddFEIIIYQQQghxEVBKbdFar53u2pyaCq6Uqp4aqUYp5QduwNkv88g2yaktPwA+j1MhXAghhBBCCCGEmBVzKlgD9cCzSqltwIs4a6yfUEp9WSl181Sb64DdSqk9QC3w17PTVSGEEEIIIYQQYo7tY6213gZcOs35e4/4+SHgofPZLyGEEEIIIYQQYiZzKlgLIYQQQgghhJg7yuUyPT09FAqF2e7KeePz+WhqasI0zZO+R4K1EEIIIYQQQohp9fT0EA6HaWtrQyk1290557TWjI6O0tPTw7x58076vrm2xloIIYQQQgghxBxRKBRIJBIXRagGUEqRSCROeYRegrUQQgghhBBCiBldLKH6oNP5vBKshRBCCCGEEELMWT/72c9YvHgxCxYs4Ktf/eq0bZ577jkuu+wy3G43Dz00c63rgYEBbrvtNubPn8+aNWt417vexZ49e864jxKshRBCCCGEEELMSZZl8dGPfpSnnnqKHTt28KMf/YgdO3Yc166lpYXvfe97fPCDH5zxWVprbr31Vq677jr27dvHli1b+Ju/+RsGBwfPuJ9SvEwIIYQQQgghxJy0adMmFixYQHt7OwC33XYbjz76KMuWLTuqXVtbGwCGMfPY8bPPPotpmnzkIx85dG716tVnpZ8SrIUQQgghhBBCvKH7H3+NHX3ps/rMZQ0RvvTe5TNe7+3tpbm5+dBxU1MTGzduPK13bd++nTVr1pzWvW9EpoILIYQQQgghhBBnQEashRBCCCGEEEK8oRONLJ8rjY2NdHd3Hzru6emhsbHxtJ61fPnyExY2OxMyYi2EEEIIIYQQYk66/PLL2bt3Lx0dHZRKJR588EFuvvnm03rW9ddfT7FY5Nvf/vahc9u2bePXv/71GfdTgrUQQgghhBBCiDnJ7XbzzW9+kxtvvJGlS5fyB3/wByxf7oyc33vvvTz22GMAvPjiizQ1NfGf//mf/Nmf/dmhNkdSSvHwww/z9NNPM3/+fJYvX87nP/956urqzrifSmt9xg+Z6/wNi/Sffv1BPnBFC2taq/CZrtnukhBCCCGEEELMeTt37mTp0qWz3Y3zbrrPrZTaorVeO137i2aN9VOvDvDEtn48bgOvy+DqBUnWtlXRWOUnEfRwaXMVplsG8IUQQgghhBBCnJqLIlgvb4jwy/t+l00dozy0pZdf7R7ihX0j/Oy1gUNtPC6D9uogiZCHckXzvksbWNUUoy0RIOQzZ7H3QgghhBBCCCHmsosiWAOEvG6uX1LL9UtqD50by5b47b4Rnt45RMxv0jmW4+XuCcayJTYdGDvUzqUUl8+rYnFtmJDPJOpz855VDdTHfCilZuPjCCGEEEIIIYSYIy6aYD2deNDDu1c18O5VDUedT+fLDKQL7BvK8Isdg2zpGidXtPjJS71kihUAvvLULoIeF1G/iekyeP+aJubXhEgEPSytDxPxe2bjIwkhhBBCCCGEOM8u6mA9k4jfJOI3WVQb5p0r6w+d11qzs3+SFw+MYSjYN5zlf3YOMpAu8I1f7DnqGa2JAO3JILaGxpif913a6Ew1D3pklFsIIYQQQggh3kQkWJ8CpRTLGiIsa4gcOnffzU4Z91ypwv7hLI+/0seB0Sxul8G+oQy7BybRwA83dQHgMhRVAZN1C6uZlwxSqtisbo5y9YIkAY/8zyGEEEIIIYQQFxpJcmdJwONmRWOUFY3Ro85XKjZ7hjMMpgt0DGd56KUeCiWLjftHeXhr71Ft6yI+ypbN4row1y+pob06iN90cVlLFV7ZIkwIIYQQQghxEfrZz37GJz/5SSzL4q677uJzn/vccW2+973v8dnPfpbGxkYAPvaxj3HXXXcd125gYIBPfepTvPjii8RiMWpra3nggQdYtGjRGfVRgvU55nYbLKuPsKw+wtsXw51vm3foWq5Y4Ze7hxmcLJAtVnh9KMvPdwywtWuC3+wbPdTOUNCWDNKaCDCaKXHNwmretjDJvESA6rAXw5BtwoQQQgghhBBvPpZl8dGPfpRf/OIXNDU1cfnll3PzzTezbNmy49r+4R/+Id/85jdnfJbWmltvvZU77riDBx98EIBXXnmFwcFBCdYXsoDXzbtW1U97bSxbYld/mke29oJSpPNldg9O0jGSZVtPim8++/qhtq2JAKubYtRFvKQLFW5aXsclLTFiASmgJoQQQgghhLhwbdq0iQULFtDe3g7AbbfdxqOPPjptsH4jzz77LKZp8pGPfOTQudWrV5+Vfs6pYK2U8gHPAV6cvj2ktf7SMW1agP8AYoAL+JzW+snz3ddzLR708NYFSd66IHnU+XLFpmc8T89Eji2d4zy1fYCQ183W7nF6xvJo4MEXuwEIel1ULM1V7QlWNUWJBkxsW3PjijqaqwJSRE0IIYQQQghx8p76HAy8enafWbcS3vnVGS/39vbS3Nx86LipqYmNGzdO2/YnP/kJzz33HIsWLeLv/u7vjroPYPv27axZs+bs9PsYcypYA0Xgeq11RillAs8rpZ7SWm84os1fAT/WWn9LKbUMeBJoO+FTR1+H9ABE6s5Vv88b020wrzrIvOog6xZW86l3HJ6ykC2U2dw5QbZYoS+V58UDY2w+MM6eoUme2zuMrZ12f/2ks1VYPOghX7Z476oGltSHCXndRAMmV7YlMN0yvVwIIYQQQghxYXjve9/LBz7wAbxeL//yL//CHXfcwTPPPHPe3j+ngrXWWgOZqUNz6pc+thlwsCx3FOh7wwcXJ+Gba+CG++GyPwbXnPrYZ03QZ3Lt4upDx3etaz/0c6lis3Mgzcb9o7gNRdeYE7yHJot8f2MnZevwb7PXbdCaCGC6DEqWze1vaWVeMkTQ56I5FiAZ9p7XzyWEEEIIIYSYA04wsnyuNDY20t3dfei4p6fnUIGyIyUSiUM/33XXXfzFX/zFcW2WL1/OQw89dE76OecSplLKBWwBFgD/qLU+dpz/PuDnSqmPA0HgHW/40Fgr1C+Bn/4/8MLfw5UfgTV3gCd4lns/d3ncBqubYqxuih13zbI1fRN5NnWM8lLXBAGPiwOjObZ2jTOaKfHFR187qn17MkhLIkChbOEzXfzh2maa4wGqAib1UT+GIVPMhRBCCCGEEGfu8ssvZ+/evXR0dNDY2MiDDz7ID3/4w+Pa9ff3U1/v1K967LHHWLp06XFtrr/+er7whS/w7W9/m7vvvhuAbdu2kUqlWLdu3Rn1UzmDxHOPUioGPAx8XGu9/Yjzn8bp9zeUUlcB/was0Frbx9x/N3A3QEtLy5rOAwdgx6Pwk7vALoPhhsY1EGmERTfBwhsgED9vn+9CYduaockiB0az/Gr3EHuHMnjcBl1jOXYPTB410g3OPt1L6sI0VwWYLJapj/p596p6mquc4B0PemRttxBCCCGEEBeInTt3ThtSz6cnn3yST33qU1iWxZ133sk999wDwL333svatWu5+eab+fznP89jjz2G2+0mHo/zrW99iyVLlhz3rL6+Pj71qU+xZcsWfD4fbW1tPPDAAyxcuPCodtN9bqXUFq312un6OGeDNYBS6l4gp7X++hHnXgNu0lp3Tx3vB96itR6a6Tlr167Vmzdvdg5SvbD7SUj1QMdz0PfS4YbhBjBc0HQFLH4n1C6H5EJwmefk870ZpHIlusfz9IzneGr7ACOZIqbLoHssx/7h7HHz+L1ugxWNUVriAfom8iyuC/POFfU0x/2YLoPqkFdGvIUQQgghhJgj5kKwng2nGqzn1FRwpVQ1UNZaTyil/MANwN8e06wL+B3ge0qppYAPGD7pl0Qb4YoPOz9rDf0vw8B2yI9D31ZnVHvHI/DaT464pxlaroL4PDBMmH8d1K0Ct6w1jgY8RAMeVjRGuWnF0VuHWZZNXzrPYKpI93iOJ7b1ky9Z2FqzqWOM3ok8GzvGWP/bzkP3hLxuljdEaIj52Ts4yeXz4rx9cQ2NVX601rQmgpguKawmhBBCCCGEmDvm1Ii1UmoVzlZaLsDAqf79ZaXUl4HNWuvHpiqBfwcI4RQy+wut9c9P9NyjRqzfiNZQzsN4Bxx4ATb/m7MWOzMEqcOL5lGGM41c29D+dmi5EuLtkFwMoeqZny8OKVs2PWM5eicKdI5l+e/XBrBtKFYsusfzDKQKx90T8LiYXx2iNuKlYyTLuoXVvKU9QU3YiwKWNoTxmXPq+yIhhBBCCCEuWDJifdgFOxX8bDmlYH0i6QHY+agzNTzdD50vQNcGZ/q4VTrczheDmmUQqgXDgGW3QP1qZ+TbcJ15Py4SFcumP1WgbyJPx0iWZ3cP4TIUmaLFgZEs3WO546aae1wGzXE/iaCHgXSB6xbXsLopRtjvpmJprpwXJxGSmQZCCCGEEEKcDAnWh0mwPlvBeiZWxRnNfv1p2PkYRJqcEe/+V6CcO9zOcIPLA/OugeolEEhApME5DlaDFPU6JVprxnNl+iby7B6Y5Lk9w/g9LiZyZfYOTdIxkj20d/eRon6TiM/NRL7MuoVJFtWG8bgM0oUyN62op706SMjjwjBkyrkQQgghhLi4SbA+TIL1uQ7WM7HK0PcyaAuGd8Oun0LvZggkYWy/U538IG8U/DEw/bD8VkgsgHC9U0DNf/wWWeLk5EsWA+kCewbSvHhgnKDXzXiuxI6+NLsGJvG4DcaypePu87gNKpbN2rY4LfEAtq1JF8q8f00TLfEgfo+LqoBJ1G9KlXMhhBBCCPGmJcH6sIs+WK+6dJXetnXbbHfjaLYF+551ppIHkzC2D3Y/BZlBJ5AfOck5VOsEbWU4I9zLbnGOq9qkgNpZUKrYdI1mebUvhUIxNFngpa4JXutNEQ95GEoXGUgVjpt2DlAf9VET8VGxbApli1suaaQ24qViaQJeF29bUE0i6JFK50IIIYQQ4oIkwfqwiz5YB+YF9Lee+BZ3LL9jtrvyxrSGStGZSv7yj2B8P/iiMLoPel4Eu3J0e0/YKZyWWOBcq10J7dc667ldUsTrbKlYNn2pAqOZIv2pAls6x9kzOEl12MvwZJEd/WkmcmWsaeaeuwyFx2VgGHBVe4LqsI/RTBG/x8V7VzVQE/FiWZramJeGaGAWPp0QQgghhBDTmwvB+s477+SJJ56gpqaG7du3z9hu/fr1fO1rX0Mphdvt5kMf+hCf+cxnTuudEqynEWwP6vYvtfMny/+ET1z2CdzGBRo4rYqz/3Z+1Anam//98Bru0X1Qyhxue3A9d6zFWcMdb3dCe/MVULdSRrrPkWLFYniyyEtd43SO5IgGTAbTBX67b5SRTJGAx83wZJHRaaafA8SDHpIhD+O5MmGvm+sW15AMe+gezVEf8/P2qWO3oagKeHDL1mNCCCGEEOIcmgvB+rnnniMUCnH77bfPGKyfeuop7rnnHp544gkaGhooFousX7+eD3/4w6f1TgnW01izZo1+3zffx4/3/Ji2SBv/9I5/ojncPNvdOru0hs7fQrrHGfEe3Qcvf98J18VJKKaPaKyc/bzLBWi4FNre5kwr94Sc4O2LzNanuGiUKjYDqTxjuTKD6QIb9o0ylisR9LoZmSyytXuCYtmiYmtyJWvaZ5guRXM8QDLkpXc8T3OVn6sXJEmGvXSNZllSF+Gy1ioSIQ+moTDdUpFeCCGEEEKcmrkQrAEOHDjAe97znhmD9TXXXMN9993H9ddff1bed6rB+gIduj01Sim+eNUXqQvW8fdb/55bH72VW+bfwvsXvZ+lidn/Q3JWKAVtbz363A33Of/U2tkebPtDzr7blQIMvgZ7/ttZ4/36L46+L1QL0SYnkLdfC81vcaaWRxqdQC7Fus6Yx23QkgjSknCOb1xeN2PbXKlC12iOgXSBYsVmJFPkl7uHsGzwmQYjkyVGs0VGMkU2dIzN+JyQ101rIkA86GHP4CTL6iNc1lJFLOBh10CaNa0xVjbGiPlNUIp40INL1oYLIYQQQogpf7vpb9k1tuusPnNJfAl/ecVfnvFztm/fzpo1a85Cj07PRRGsD/rwqg8T98XZNLCJR/c9yo/3/JgqbxV3r7qbG9tupDpQPdtdPDeUgmgDXP2J6a8XUtD3Cmz/CXhDUJiA/ldhZC+M7IFN3znc1u1zppUHq6Gch4XvcNZ1R5ucUW8Z7T7rAh43S+ojLKk//Hv7oStbp21bKFuMZIps65kgV7SxtM1wpsizu4YJely4XQbDk0XGsiV+s2+UZ3cPH7r3Bxu7jnqW33RRH/MR9rrpHM2xujnG8oYIftPF3qEMb52fYFlDhIDHRdmyaUsE8Xsuqn+lCCGEEEIIAVwkU8Gn224rVUxx7wv38nzv85RsZ71rQ6iB5YnlfGDJB1hVvQqv6yJfh6w1lHKQ6nJGtnc94VQlz47AwDZnvfex/FUQnw/eMFhFWHoL1Cxxtg6LtYF5kf+ezjHFisXIZInXhyYplG2Klk3/RJ4X9o0Q9ZnYGvpTeXb2T+J1G2SKFSrTbQ6OU6StKuDBbxqMZEqsaIzQEg+iFPSM5bh6YZK2RBBDQTpfZk1bFXVRP0HThWEo2bZMCCGEEGIOulCmgq9bt477779/1qaCX7TB+iDLttg7sZfne5/nO9u+Q76SR6MxDZOaQA3LEst457x3sjK5ktpArfzl/0ilnDNdPNUDHb9yppRXzYN0L/Rvg/w005KjTU4bl+lsObbqNqhqAX98ap23VMWey7TWpPNlusdzTBYqZIoWXWNZXuqcIBHyULY03WM5dvSnqQp4Do2gFyv2jM80FNgamqr8VIe92LZmIF3gusU11Ed95EsWg+kiN62opSbiw7I0ltasaowS8MoIuRBCCCHEuXShBOsnn3ySL37xi/z0pz+lrq6OUqnE+vXrueuuu07rfRKsp3GiYH2kslWmJ9PDgdQBXhp6ie/v+D42NrZ2QoFpmLRGWrmq4SoWVy1mYWwhC6sWYrrMc/0RLkyFtDOtfLzTCd3dm5y12hOdMPDq4YrmR4o0Om3sihO+V/4vp7K5ywNV7VD1Jis6d5EolCxS+TLpQpnO0Ryv9aVJhj3kSxZ7BzO82peiuSpArlShczRHfyqP1+0iU6yc8Lket4FpKAoVm+UNEaJ+k0yxwkSuzO8uqyXiN5nIlcmVKrxjWS0Rn0mpYuN1K5Y1RPG6DfmyTAghhBDiBOZCsP7ABz7AL3/5S0ZGRqitreX+++/nT//0T49r993vfpdvfOMbaK1RSnHnnXfy6U9/+rTeKcF6GicbrI9Vtsqkiin6sn28PPwy337l2wTNIGOFMQpWAQCXcrEgtoAFVQvwuXxcUX8FKxIraAw14jKkCvMJFVKQGYZUN+z9BYzsdtZup3qgbyuUssAxfz79VU7wLued/b1X/J4zCl4pOnt5N1wqxdXeRCqWzXiuTN9EjoqlmSxWeH0ow97BDK2JAOlChV39afaPZGlLBknny3SN5Ujly7iUomTNPFIOHNpf3LZhaUOEiM/ZDq1s2bx9cQ0hn5uesRzKUFy3yDkezRQJet2saooS8rrxugw8pvx/XQghhBBvTnMhWM8GCdbTON1gPRPLtnhl+BW+8+p3qPJWMVYcY8fIDsaL44famIaJ3+1nVfUqViVX0RJpYUF0AfNi8/C4PGetL29qtgWTA07Q3vtz55+egPPP7o1O8LaPGdF0+5114MU0hOtg4e8eXhdes8zZWsxfJeH7IlEoWwykCvSl8vhMF+l8mdd60/Sm8jRV+UnnK7zSM8HIZJH6mJ90vkzHSJZC2cJlqBm3OjuWS0F12EfI52Y8W8Jnuljd7ATvjpEsUb/JlfMShHxuOoazVIe9XNYaI+Q1SefL1ES8NFUFpAq7EEIIIeYcCdaHSbA+y8F6Orlyjg39G/AYHobzw/ym7zf8T9f/EPfFGcoNoadGXg1l0Bxupi5Qh9/0c3XD1SysWkhrpJWELyHTUk+F1pAfd4L2vmec0W8FpPucNd9W2Qnf+phw5PY5245FGpytxCINzqh541povcqZju6Pg2HMyscSc0fFspksVBjJFLE1ZIpltvemSeXLVIe9ZAoVNnaMUijbNMR8ZIoVtnZNYNuayNS09MF0gRnqvR3Hb7ooVWyCXhctiQAhr5t9QxnqY35WNjpB/ZWeFPOrg6xujhHyutnZn2ZhTYjFdRFCPjepfImmmJ+IX77AE0IIIcSZk2B9mATr8xCsT6RQKfDL7l/y+P7HmR+dT0+mh61DWxnJjxzVzlAGi6oWMS86j7gvTtKf5Iq6K2iLthHxyDZWp8W2IDMEnS84IdyuOEF8x2Pg9kClBJN9x498AwQSUL3UGflO9UDzFdB4GQRrnHtrloEneP4/k7jg2LYmW6qQmZrKXihbh9aQb9g/igLiQS+ZYpnf7BvF6zaIBTxkihVe603hcRsYSpEpVk5YCO5IPtMg6HEznitRG/HREg/gMw129jt7mC+qC+NxGbzSM8GlzTEW10Vwu2D/cI5VTdFD7UsVm+qwD49bvmgSQgghLkYSrA+TYD3LwXo6hUqBjlQHITNE12QXP93/UzYNbGJ+bD6d6U56M71HtQ+6gwTMAG9teCtt0Taq/dUsqFpAe7Qdv9s/S5/iTcKqwNAOyI06Vc7H9sFrD4M3CnYZxg/AZP/09/qrnACeH3dGvOtWOGu/8ylouxqqF0Oo1inEJsRZULZsMoUy2ZJFOl9m18AkhlKYLoOJXIkNHaNE/SYBj5uJXIlNHWNUBTyYboPU1FR3r9ugbNkUyicX0k2XIuIz8bidfVgo2XUAACAASURBVNDnV4dorPKjtWbPYIYr58VpSQSoWJrdA5OsW5SkOR7AsjX9E3nWtFVRH/HjdilchsJvumR2jhBCCHGBkGB9mATryy7Tm196aba7cUpeH3+dLYNbqA5U05nu5In9T9A72UvADDCcHz6qbV2wjoA7QLW/mnVN62gON9MUaqI50iyh+2wpFyE/CrkxGN0Lu59yArVVguE90POiM3qdHz9+6jmAMiDe7vxy+yE3AgtvhORC8EXAG3FGx90SwMX5c3Cq+2ShQr5sMZYtsmcgg9/jFGMbmiyytXucmrAXQykG0wV29KVJhrzYaEYzJYYmi7gMRekkR9IBIj430YAJGkazJVY3x0gEne3ZBtMF3jo/SU3ER8WyyZYqvHV+ktqID7/HoMrvwSvF4oQQQojzRoL1YRd9sF5ZVaVf7uzEFXlzTKfOlrM8vPdhOtId1Phr6Ex38kzXMxSsAtYxoa7aX01zuBmlFK3hVq6ov4LmcDPN4WZi3piMGp1ttgUTXdC1wVnLXUxB3ytw4Dln7XZhwhkBL6SOv1cZEEiC6XP2CJ93jVPxXCmn6vmC34Vog9MmmJQCbGJOcUKwxUSuRK5kkStZDE0W2DeUIRbwULZsOkdz7OxP0xIPULZsusZy7B/OUh/zUSjbjGSKTBZOvMUaQNRvEg96sG1Nplhh3cIk8aCXYsWiWLG4cXkd1WEfXrdBdchDMuw7D78DQgghxJuTBOvDLvpgvcLn149ccw1tP/oh7kRitrtzTmityZazVOwK3ZPdrN+xnoJVIOqJOmu6B7dic/SIksfwMD82n6ZwExW7wrLEMi6pueRQcTXZLuwcKuWc0e3MIPS9BAdegKo2yI9B38swvBuCCacgm1Wc/hmRBme9t7ahUoAl74VwrbNe3O2DeddCqAa8YQnh4oJSsWwyxQoHRnPsGZgkEfKQLpTZ1pNiR1+aRbVhJvJldvan6B0vkAh5mMiVZ9z3POx1kwx7KVVsLFvzjmU1JENO8bmAx8UNy+qoi/qIB0xcLllLLoQQQhxptoN1d3c3t99+O4ODgyiluPvuu/nkJz85bdv169fzta99DaUUbrebD33oQ3zmM585rfdKsJ7Gqtpa/eP6Bsy6Olq++++Y9fWz3aXzLlVMkSllKFgFutJd/Our/0rADOA23HSnu+mc7DzunqQ/yeL4YppCTvBeXb2axfHFNIYaiXgiMtp9PmjtjIAPvAr+mBPEDzwPg9shscg5HtjmTC3XTD8N3XA7o+H1q5313oWUc27RTc7It1V2prU3XOJUQ3e5z/vHFOJsGM8W2TeSxTQMRjJFNnaMcWAkS0PMz0imyLaeFGPZIm6XwUSufNz9SoFpGKxsilIX8TGaLRLxmbxndQP1UR8KmJcMkgh5z/+HE0IIIWbJbAfr/v5++vv7ueyyy5icnGTNmjU88sgjLFu27Kh2Tz31FPfccw9PPPEEDQ0NFItF1q9fz4c//OHTeq8E62msXbtWP/ftb9N995+By0Xbj36Et33ebHdrzrC1zb6JfeTKOQpWgT3je/jRrh+R8CUoWkW6JrvIlrNH3WMog8ZQIwtiC6gN1KLRXFpzKQtiC2gKNxE0pVr2eWfbUyPeW2FkrxOWM4Ow/5fOFmThWqdC+ui+mUfBUU6hNbcP6lY6wTsz7BRpm/9257iUdaao1650zsu2ZOICVKrY7BvOcGAki5paP/7sriFGsyVCXjcD6QKdo9lpt0pLhrw0xnyk8mXqoj7esbSWxpiffNliaV2YxXURDNmTXAghxJvEbAfrY91yyy187GMf44Ybbjjq/DXXXMN9993H9ddff1beI8F6Ggergg898L8Z/ed/RgUC1HzyE1R98IMoU4pFvZF8Oc+Lgy9iKINCpcCrw6/yRMcT1AfryZQydGe6KVmlo+5xKRetkVbmx+YT98UxDZPLai5jfmw+9aF6Kao226yKM3KdG4GOXzsBPFQD2RHY+3Mo5yEQh+wwjO2ffjsyAOVyRsN9Eahd7qz/nuiGqlZnT3D/1DMS853tyfxxZw25EBcArTXpfJmBdJGBdIFndg6RKpTxugz6Unk2HxinbNlUjknfHpdB/VTwnpcI8raFSRpifoYni1zSHGNNaxVBr8wMEUIIcWE4MmAOfOUrFHfuOqvP9y5dQt0XvnBSbQ8cOMA111zD9u3biRxTPysej9PR0UE0Gj0r/bqgg7VSygc8B3gBN/CQ1vpLx7T5O+DtU4cBoEZrHTvRcw8Ga6016Z/9jNRDPyH7wgu46+up+6u/Ivw7Z+dbjYvVZHGSTQObCHqCTBQm2Dywmf/p+h9aIi2MFcbonuw+rqiaaZjMj82nJdxCyBPCNEwur7uc5nAz9cF6Kaw211SKkJ9wgvi+Z5zg7Y04oXn3k07A9gScYD62H2de+kyUs+47Ps8J2mP7nIrojZeBLwbjHc609drlzoi4J+iMvgsxB2mtmciV6UvleXrHELlSBRT0jud5bs8wKMgUKseNfEf9JvmyxYLqEGtaq6iNeumfKHBVe4JLW6uoDXtxy3pvIYQQc8BcCdaZTIZrr72We+65h9/7vd877roE6yMoJ0kFtdYZpZQJPA98Umu9YYb2Hwcu1VrfeaLnHruPtdaa1COP0P9553/A4NveRvLP7sa/dq2EuXNgLD/Gxv6NJANJBnODPN/zPL/t/y3zo/MZzg9PG7wVipZICw3BBnxuH6Zhsq5xHfWheuqD9dQGa/G6ZJ3jnFUuOBXQc2NOEDdc4PZCdhR2Pu7s9W36nCA+sA0MEyr5mZ9nuJ314d4IZPqd0e+aZWAGYKwDWq6EmqVghqCcdYJ6uE6mqYs5oWLZ9KcKvPD6CLmyRbFsc2Aky7O7h/C6DdKFCqn80Wu+D84kn5cMsqwhSjzgYWiywDULq1nVHKU+4iMWMDHkz7gQQohzbC5MBS+Xy7znPe/hxhtv5NOf/vS0bdatW8f9998vU8GPpZQK4ATrP9dab5yhzW+AL2mtf3GiZx0brMEJ15O/+AWFXbuZ+MEPsFIp3A0NJP/8z4necjOGx3O2Pop4A6P5UbaNbKMmUMNAZoBnup/h5aGXWRxfzEB2gL3jeylYhePuS/gS1AfrcRtugmaQqxuvpj5YT3WgmqZQE3FfXL4ouZBYFWcEvG8roJ3Cbeke2PNzCFY74TrdAz2bnYBdKTiV1WccHVfgDTkV2OPtzrpwww0TndB6tXNOGTDZ7xzHWpygbvqdEC+BRZxHE7kSL3dNkCtVSBUq7BqY5Fe7h4j4TVL5Mr3j+eOmnAM0xvy0VwcJed0MpQvctKKe5Q0Ron4Tj9tgXjIoI99CCCHOyGwHa601d9xxB/F4nAceeGDGdk8++SRf/OIX+elPf0pdXR2lUon169dz1113ndZ7L/hgrZRyAVuABcA/aq3/coZ2rcAGoEnr40shK6XuBu4GaGlpWdPZeXzV64PsfJ6eT3yS7PPPg9a4Egmi7343kVtuxrdsmYSzWZYpZejL9OF3++nP9vNUx1PsS+2jPdpOf7afl4deJl/Jo48JWF6Xl7pgHQpF1Bvl8rrLqQ04I90tkRZaI63EfXEMJX/pvGBVypDqgnLOCdATnc4e4qFqJ5iPdUDPJgg3gFVyQvRkv3Ovtmd+rmE609BdpjPy3rgWwvVgl2ByEBbe4DxTW87ofPOVTmE3X8QJ5kKcZZZls38ky0Su7FQ4703x/N4RkiEPY9kSHSNZ0tPsAe43XVSHvbhdipFMkesX19AcD1AsW4xkStx8SQNNVX7chsJruqgN+6TwmhBCiKPMdrB+/vnnWbduHStXrjw0U+srX/kK73rXu45r+93vfpdvfOMbaK1RSnHnnXfOOML9Ri74YH2QUioGPAx8XGu9fZrrf4kTqj/+Rs+absT6WFprih0dVPr7Gf/BD8k8+yxojWfePCLveTeRm27C094uIXsOqtgV0sU0LsNFf7afR/Y+wnB+mMZQI33ZPl7ofYGyXcayLSr66L94ug03XpeXKm8VK5IrqA3UUrJKzIvOY1lyGbWBWpL+JG5DCg29qWgNxUmnWvrQzqmR7SyM7HFGxOPtTlgf2QPDu5wQXZyE7JAzUv5GgtXOenG7AsU0tF0D/igU0s7xonc626eVc4CC5iuc6fGekLOmXP49I05DoVxhIFWgL1Xg1Z4UL3dPUB32ksqX2TuYoXM0i8/jYjxbmrbaOUAi6CEaMClbNul8hbcvqSHmNxnPlUjny9x8SQMxv4dMsYJScFV7gpDPjdswcEkgF0KIN6XZDtaz5U0TrAGUUvcCOa3116e5thX4qNb6N2/0nCULVupdr796Su8e/od/oNTZSWVwiNzmzc5IdjJJ5KabCF17LYErr5Dp4heQil3BUAZjhTEef/1xspUsCX+Cwewgj+97HMMw8BgeBnODFKfZiipoBmmPtlMbqCVVSrEwtpBV1asOBe/6UL2s+b5YVEpOOM5POMF76DWItTrn+l+Bge1QtwqKKRjaAakeJ5gfrMJ+opHygwJJJ2hX8mBb0HKVc5wdcma+L/gd5zg/4RSNa1wztW496IyaSzAXJ2DZmvFskQNjOUplm+FMkR19aXYPTNJQ5SeVK7NncJKBVIFowCSVKzNZnGFngCkHM3VDzE/I6yaVL1OxNVe0xQl6XfSO57GB6xZVE/S66RnP4XEbXNWeJOR1M5YtEvS6mZcM4ve48BgGbrfMJhJCiLlAgvVhF0ywVkpVA2Wt9YRSyg/8HPhbrfUTx7RbAvwMmKdP4gO0VC/W3/+Hx7jmtsWn1a/8rl30fPhuXPE4pc5OdKEALhf+lSsJXXcdgSuvwL9ihWzd9SagtWZD3wbyVh634WYwO8gPd/2QqDeK1+VlIDvA/tT+ae+NeqMk/UmypSwLqhawJL6EuC8OGhZVLaI50kzSn8Tjki9kLlpaO3uNH9zubHA7jB9w1ncXUtC9AVK9UL3YOe7b6qwjD1Y7x9nhkwjmypnG7os6o+xu31TF9aizFZo/5qwp90VhcgDCNc4XAb4ouP2yN7mYVsWyGcuWyBSdQmt7BibpmciTDHnJFCts60kxkinQGg+SKTprxCcLZeJBD9mixUimOO0a8RMxFIR9Jn7TRbpQxuM2aE8G8ZkuOkdzhHxuVjZG8ZkGuwYmqQp4uLQlhs/tYmd/muqwl+UNUTxug46RDMmQl3nJIB63wchkkaqAh7qoD4/boGLbhL0mXtN1jn4HhRDiwiXB+rALKVivAv4DcAEG8GOt9ZeVUl8GNmutH5tqdx/g01p/7mSeO69+if7MLf/EVbfO57IbW0+7f1prdLHI+Pe/z9DfPYDZ2EC5q9u56HbjW7GC4No1+Fatwr96NWZt7Wm/S8xNWmsmihMUKgXyVp6udBc/2fMT4n5nr+6eyR5+2/9bwmaYbDl73NRzcPb4rg/W0xppJeqNki1nWV29mvZYOwlfwhkFDyQxDfmiRhxDa2dkvFI8HLxzY84e5IUUdPwKShmIHhHUrYoTmgupqRHvkwnmMeee3DgE41C7wjkefR2irYeDeqoHEu2QXDw1lT3oTIGXYC6mYduafNkiU6zQO55nIl/C53aRKVZ4rS9NoWzREPOTL1u82DGGpTWt8QD5ssXWrgkA6qI+8iWLPYOTGEoR9LrJly3GcyXOxl9nXIbC6zbIlyyCXjdVQROvy0X3eI6asJeGmB/TZbBrIE1LPEBbIojLULzcPcGi2hBtySAKeLk7xeK6MC3xALbW7OxPs7A2TGPMj601+4eyzK8JUhPxobWmf6JAcyJAPOB88ZotVkiEPIR9Ji6lcBngdhmyHE0IMSskWB92wQTrc2Xt2rX6Kx/5Hns3D/GW97Wz5qa2M36mXSqhXC6sVIqRb/0z4z/4Ad7Fiyi+vg/KzrYp7poa/Jdcgm/VSgKrV+NbtgwjGDzjd4u5T2uNRtM92c3TnU8T98XRaHaP7ebpzqdpCjdRtIr0ZfoYL44fd79CUeWrIuqJUrAKrK5eTWuklZAZwmW4WJFYQUOogYQ/Ieu/xakp5Zy13YUU9LzorBk/GLz3/LdTsC14RFB3e50p5oUUTPadxAuU8zxf1BlhjzZDcqGzd/nwHmd/8tpl4I06U+Nrlztr2gNxp9q7BAdxmrTWFCs2hbJF/0SBitZ4XAalis32vhSmS5EIeilWbDZ2jBLxmdREvBTLNs/vHSEe8lAb8VIo27zw+gjVYS/JkJdC2WLzgTESIS8Rv0mh7AT7iM+pvH6wEJzbpbBsPeP69TN1MPQrBbmiRTzkIehxY9ma4ckirYnAof71jOdYWh85tB7+wGiWS5pjRP0mE7kyHSNZ1rRVEfG5Gc+W6RrLsaa1ypmWnyvRM5ZjbVsVfo+b8WyJ/lSBy1pj+E3neCRTZGVTFJ/pIpUrk8qXWVIXxuM2yBQrFEoWLYkAptugXLGxbE112IfLUBgKDKWkSJ4QFxAJ1odJsF67Vm/csJH19/yWXKrE1e9fwOrfaT6r3/zqUgnl8WAXi4x8659JPfIIgTWXkX9lG+WeHqeRUpgtzXiaW/AuWUzg0kvxLl6C2dgg30JfpMpWmd5sLy5cTJYn2T6ynWe6nmF+bD65So5do7vYMbaDmDfGRHEC+5jRRoXCUAYtkRZqA7WYhknZLnNF3RXUBesImSES/gSNoUZi3hguQ6Y5ijOgtVMFvZJ31nd3vuDsUe4JOqPbux6HQGJqtHsU9v8S/HFweZwp8Acrsp+INwKRBqeg3OSgM009udB5R34Cmi6H6kUQqIZgwnm/EHNIxXLCfcmyAUW+VKEvlcdvujFdBplimdeHssSDHvymi1S+xGt9aRpjfgJep7jctp4UrYkgQa+L0UyJbT0TzK8O4fe4GMmUeK0vxfzqEF63wUimxN6hSdoSQdwuxVi2RNdYjoaoH6Ugna8wkikSC5jOapSyRa5k4XEbWLbGOlffBLwBj9vAbSgqlqZi2yRCXtyGYrJQoWTZh6rVj2ZKlCo27TUh3IaiP1WgXLFZUh/GbSi6xnKULc3KxiguQ7FvOIPWsLrZOd49MIlSikuaY7gMxc7+NG5Dsbophsul2NGXxut2sarJab+jL4Xf42Z5Q+RQ+7DPzeLaCC6XYvdAmojPw/xq5/d733CWmN+kOR7AZSh6xnJEAya1ER9uw2AkUyTkc1MV8OA2FLlSBb/pIuh1o5Q6VLlYiLlMgvVhEqynqoLveKGPbc/2MNqTof2Saq794GICkXO/3nXsRz8i++vn8a1YTnHXbjLPP4/O5Q5dVz4fZmMjwSuvwDN/Pt758/G0t+OurpZ/2YpDKnaF3WO72di/keZIM+OFcbYMbmHL4BaWxJcwXhznQOoA6VJ62vsNZRBwBwBYVb2KpD+J1hqX4eIt9W8h6U8S88aoDdQS9Ublz544+7R2prGXc07I7vgVeMJOOB4/AHt+5oxwK+VMMx941amUXsqCXZ7+mf64s0e5J+SMgLe9DZKLnFF2gJYroarNGXkXQhzHtm3yZRtDQcXWZIsVxnMlIj4PttaMZYuMZErURXxoYCBVYDCdZ14yhK2hdzxHbyrP0roIltZ0juTomcixuilG2dYcGMnQO1HgkuYYFcvm9eEsQ+kCq5oOHmcYzZRY0RjFsm32DWeZyJVYWh/BsjX7hrNkimUW1ISxbJvO0Rz5skVLPIBla3rH85Qsm5qwF1vDULqApTURn4lla1KFMlqDx+V8keB84TE3uAxnloPbUPhNFy5DkcqXCXrdRP0mSkF/qkA86CER9KCA/SNZ6qM+qsNetIbdg5O0xAPURXzYWvNaX5r26iANMT+2rdnRn2ZJXYSmKj9ly+a1vjQrG6M0Th3v7J9kZWOEuqifcsXZ1m9ZfYTqsJeKrRlKF2ivDhILeHAZCpdSRP2mzDi4yEiwPkyC9RHbbdm25uWnu9j4yH7cXhdv/6MlLFhTc177k3/5ZUr9/Xjq6yns3sPwAw+gLQtsGzuTOdTOCIfxtM/DnazGt2wpvqVL8ba3YzY1odwy/Vccr2yXGc2NEvaGGcmPsKF/A68MvcKK5ApGC6Ns6NtAR7qD1nArI4URhnJDx42CA7iVm7g/joGB6TJZW7uWhD9Bxa4Q8UZYnVxN3BenylclI+Hi3NPaKbTWvdHZJ7ycg8EdsO8ZJ4iXc87677H9zvpu2zr+Gb6os5d5y1WQWOAE7UrR2fosMd/Zp9wthQWFuBjYtsbSzmh9rlShYmncLqeI3VimhKW1M81eO8FdAbGAh4pts284g+kyqA45wXNHfxq/6aI24hy/0j1B2GdSF/Vh2ZrNB8YOFcqztWbj/jGSYS91ER8V22bD/jHqIl5qI07QffHAGHURH8mwl1LFZmvXOHVRH/Ggh2LFZntvitqIj4jPpFix2DvkFOYLel0UyjZdYzlifhPTZVAoW4xlS4dmJ5xqAcGZuAxFwON8EZDOl2lLBKkKeihVbHrGc6xtjZMMe8mVKvRO5Ll2UTV1ER8ly2Y0U+LqBUlqwl4MBabLIBnySlCf42Y7WBcKBa655hqKxSKVSoX3v//93H///dO2/frXv86//uu/4vP5ME2Tj3/849x+++2n9V4J1tOYbh/rH3/lRcb6s1hlm4Vra3jr7y8kVDU7Ixq6XMaanMRVVUVlaJj+L3wB5fFg1tdR3N9BbuNGjqrKYhiY9fX4VqzA0z4PT0srntZWPG2tuKqqZKRRnLSx/Bjdk92EvWFG86M82/UsXZNdLIgtYLQwysb+jaSKKUJmiNHCKJaeJrCAE7K9VZTsEiEzxOpqJ3gXrALV/upDFdLjvjgRbwRDSXErcY7YNhQmnG3PDvwawrWQHYWeTdC71Zk+PjngFIE7inJGyutWOVXa1VRAX/l+5zhcB6E6KcwmhLhg2bY+tEyhYmtyxQrDmSJet/PleDrvrLevCnqmpuEX2T2QoTkRwHQp+icKvNo7wbxkEFD0TeTZNeCMmGs0g+kiveN5qoImpYpmslCmWHnjGQKxgEky5HVmSGRK3Li8jv+fvfcOsys/6zw/J4ebQ+UkqaRSljqrTbebtsHGQ/AOw66BJRh2YeYZmF3YNWEfnl3ww8wOywLDsBjbAxgwOLUNbrftDm67g9odpJbUrdDKoVRS5aob6+Zzz/ntH79qxeosqRTO53nqqTr3nnRLurfO93zf9/t2xS3KDVk98bG7BhhMu9iGhmNqRK3QXLrWLLewFkJQrVaJRqN4nsf999/PX/zFX3DvvfdetN5nP/tZHn74Yb72ta8Rj8cpl8s8/PDDfPzjH39Xxw2F9RIsJay9lk+10OD47ll2P3YagC0fHODOjwxhR66fNGYRBFSe3Y7iumi2RePIEab/8x9h9vcj/Dbe2XF5IbmIGo2ixmJYI2uw169fFN2DmIODaNlsKLpD3jWBCNg/t5/p6jQpO0WhUeCJ0SeotCsMxgYpNArsnNqJL3x0VX/DknQF5ZzbXfNqZJ0sm7KbSNkpFloLDEQHGEmPkLJTUoib8fD/bciVpzwFE3ukA16egNHvw+QrUkSXxqX7HSwxuzk9LEvPRSB7xzf+pFx20tL5tqLX/rWEhISEXKe0/YBKs81Co81Eocap+SopV4bqnZyrcniqTF/SplDzOD5bYaJQxzE0CvU3Tvrf1CtL1ytNj2rT51fev5KhTARTU0i6Jr1J59q+yFuA5RbWF1Kr1bj//vv5zGc+w7Zt2y56bnBwkGeffZZVq1ZdkWOFwnoJlhLWF7L78dPsfETOJrZcnds/PMjmB/sx7evzjpgQAtptFMOgPT/P7H/5c8yVK1Etk/r+A5S//W20TAa/WAT/vMOoui5Gfz9qLIa9aSP2mjWYQ0MYg4Oynzt0YkKuIF7gsWNyB1WvSsJKUGgUeOTkI+iqTofTQaFR4MXJFzE0AwQseAtL7kdFJeNkzon5gdgAa1JrSFpJco0cw4lhViZWkrSSxK04GTuDozuhGA95bwQBFEbl+LLSOBx/EuaOSue6NC4d8Xb98u3cjBTagS/Hlo18RC4bETmWLDkQut4hISEhb4EfCArVJpOlBqW6x1SpwZ6xAifnKsQsnalSg9H56mWOuKrA1oEkKzMRctUmEVPn3z+4muHOCIGAiKmF1wfvggsF5ve/eoz5s5W32OKdkR2I8v6PjbzpOr7vc+edd3LixAl+/dd/nT/+4z++6PlyuczQ0BCFwuXTdt4tobBegrcS1iIQTB4vYkcNdnzjJKcP5NBNlS0f6Gfzg/1EU/Y1PNv3hggC2rOz0rm2LKo7X2b+r/4K5847EM0W9b17aRw4AJp2kehWDAOjrw+9sxMtkcDauBFrxRBGXz9Gfx9aMhl+EIVcVVp+i+cnngcBtm6Ta+T4l+P/QtpKE7NizNXm2DG1g6gRRSAoNUsIlv78MlSDhJWg3q7TH+1nKD5ExIiQb+RZl17HUHyImBnD1Ez6I/1k3Ayu7ob/x0PeGc0FmX5eGofD34LSBESycvnMS+DV4dL2CdWARJ+cLx7rhuEPSOHtNaBzHfTdFbreISEhIW+TWqvNRKHO6HyVF0/mODVXwfMFY7kqk6XGufUURQbYRW2dn9s2xMbeONVmm429cdZ2x5fxFdwYXA/C+nWKxSI/+ZM/yV/+5V+yadOmc4+Hwvoa8VbC+kJEIPjiJ3fQbgXUSk0URWHVHR1s/eAAXStv/JJUv1KlefQI5vBqgoUy5ccfp/DlrxB94P34hSL1116jPXn5rFrVdTEGBtCzWbR0GnvTRsyBQYz+Psz+flTXXYZXE3Ir02g3eGXmFQzNQFd1pipTPHrqUXpjvTi6w2RlkucnnqfTleGEuXruDcvTQQa2oUBPpIfuSDe2ZlNoFtic3cxAbABbswlEwOrUajqdTuJWnJgZC/vFQ96YIJC93KVxOPDP0CzJcWKvO+AikMFrlwYIOikZrBbrgf67INIBxTPQtQkG7oZolxTo6VWgXZ+VVSEhISHLTcPzGcvVGJ2vcHS6wvcODwbrrQAAIABJREFUzzBTbjBfaZ6bN2/pKvevzrJ1IMlYrspPbO3lwbXXNtT4RuB6KgUH+MM//ENc1+W3fuu3Lnp8YGCA7du3h6XgV5N3IqxBhju06m1a9TZ7nhjj0PNSaKa6Xdb9QA9rt3UTSdyco1u8mVkarx3AueMO2tPTFB/+BuXHHyf2wz9Ee3KK+oED+Pn8Zdtp6TRGfz96OoXe0Ym9aRNGby9GXy9GTw+qE/a7hCwvXuAxXZ1GUzRafovT5dM8e/ZZBmODqIrKydJJXph4gRWJFfiBz2R1kunqNArKGzrjADEzRtpOY6gGVa/KxsxGuiJdqKi0/BabOjaRsTPEjJhMUbeTRI1omKQeIvHbUJmGI4/JsWIKUDwLRx+TyeUigMostBtLbKxAtFMK7/IkdK6X4Wt2XI4v670dOtaBlZAjzVJDMh39Br9BHBISEvJeqLd8Dk+V2H5sniNTZU7NVzmxOP9cVWBLf5I7h1Icnirzaw8Oc/+ajuU+5WVnuYX13NwchmGQTCap1+t8+MMf5nd/93f58R//8YvW+/SnP823vvUtHnroIeLxOJVKha9//ethKviV5J0K6wsp5+q89PWTZPqijL2WY/pUCRQYWJ9m5J4uVm7JYrnXT9jZ1aZ15gyNY8dwb78db3yc/Be+SG3PHqL33Yc3MU59336CavWy7bR0WgrsWAyjqwt74wb0nh4pvnt7w1LzkOuSRruBqqjU23VOFU+xa2YXg7FBWkGLw7nD7JzayYbMBlp+ixPFE5wsnaTL7aLSqrxhzzjIADdbly0mqxKrSNpJhBC0gza3d95O0kpiqAYRM8JAbICEmSBhJYiZMXQ1dChvOYIAimNQL0iBXZqQpedWTPZrlyZk6bnpQru1ROL5BWiWFN7NBTl2LDkEqi7333sHpFeAokF1Hnq2yrJ13ZYOebxXbht+VoeEhNxklOoeu07neflUnr1ni7x6toDnyxnj21aluW0gxam5Cr/zkXWLqei3FsstrPfv38/HP/5xfN8nCAI+9rGP8fu///uXrSeE4E/+5E/43Oc+h2EYGIbBJz7xCX7+53/+XR03FNZL8F6E9aU8/7Vj7H9mHDduUS02UVWF3pEka7d1M7Q5gxO9teegNo4ew5uaxB4ZwZucJPe5z9Ean5BCfHKS2p49iEaDS6MeFdfF6O2RJec9vdgbNiyKbim+9c5OFC10+EJuHGZrsxzJH6E/2s+Ct8ArM6+we3o323q2seAtsGdmD0dyR9jcsZlys8zYwhgLrYW35ZAnzAQooCkaG9IbSFgJAhHgGi5rUmvOCfHXv+JmPBTktxKtOswelG530JZl5Ce+J3u6FRUKYzD2oiwpR0B1Dioz8rkl5tpfhKLKJPV2E1IrpFse+LAwBX13Sge93YCFGRjYJseb+R40SlKoO2m5D1WDWK/sJ9etUKyHhIRcV9RbPjtHc3z/+DzPH5/n6Iy8WT6Qcvjxrb2MdMZo+T4f3dqHY97816fLLayXi1BYL8GVFNYA1VITN2Yyc7rMk587SKXQRAQCFOgcjLFyawdDmzNk+6OhC3sJjaNH8atVrJUr8SYmmfuLv0C0Wtjr1uJNTlLZ/hwIgfC8izfUdYyuLhTbxhwYwFq/7pzbbfRIAa7aN07IXEjIpTTaDUrNElkny0JrgZenX+ZY4RhbO7ZSapV49syznC6f5s6uOym1Suye3k2hWaDb7abUKlFqlt50/6ZqYunWOQfcCzyiRpSR9AhJK4mpmnS4HWSdLEkrec4hD3vIbxGEkM54uwalSZg5AG5aPpY/CWMvQXaNFN65EzDxCmRWyVL2hUkp3t2sFNXNhctD294MRZXHj3ZKF95vSSHee7tMU2+UZEjcivulqK/l5azylQ/I5XpBCv2+O8BwwWvKes7USvm8bsvHw370kJCQd8lUqc4Tr03zvcMz7DyVp73YpP3vHljFz9wziK4qpCLmTTtjOxTW5wmF9RUW1heSm6hQKTRwYian98+z5ztjBG35O3ViBt3DCQbWpekdSZLuiYRC+y1onjwJgNHTgzc1xfQf/RFaLI45OIg3OUH50cdQHYegXr9ofjeAlsmgWhbG0BD22rXoi2630dOD0dODlkqFv/+Qm4pABOeE77H8MWZqM6yIr6DUKvHtk9+m0CycE+ZPjD5Bo91gODlMqVXiSP4IQRAQEBC8gUupoJCyUySsBJ7vkbJTDCeHSVpJPN+jK9LFYGyQhJUgaSVJ2lKQG+qt0x4TsgS+J0vJNVMK7cJpmDsiw9b8FswehukDUji3GzB7CGYOSsfbq8P8MVmanl0rny9PQL0o+8PbjTfoN38bqIYU2kFbCvnUikWhPi9vGPTcJpeLZ+T6/XdLN71wRk7S6L1DLpcmwbCgc4NcruXBjMgZ6Lot929GZdm8bstS+/BvT0jITUOp5vHdw9M8tOsse8YKBALito6pq2z/7QeJWDff38BQWJ8nFNZXUVhfSBAIDj43gWFriADOHs5zfNfMueed6KLQXp+mbyRFqicc7/NOEELgTUyg6Dp6Nos3Ps70H/0R5sAgejZDa/Q0pUceQUunCWo1WXJ+AYploVgW5tAg1qph9K5OtFQKc8VKWXLe3Y0av/GT30NC3g5ztTm8wKM70s1Ca4FHTjxCO2izOrWaYrPIV458BUuzWJVYRbFZ5Jmzz+DqLpZuUWqWaPrNN9x3xJD9Z2k7zWBskKSdpNKqsCK+guHkMGk7TdyK0+12k3bSWNrNGQYZcpVoVqRwt2IyVT1/UordzLBcntovXfTuzVKoj++G6qwsRfcaMLEHGgUZ7ObVpdD3ahDtBr8pg+CCthTF7Yb8+b2iajIRXrel2264csyabssbD05KVgToNswcglgXdKyXwn1qn1y3Y51cnnkNEoPy9eo25E/J/vdEv7yZUS/KEn03DZoh++oNOxT3ISFXgelSg2/sneALO8YYL9RJOAY/ffcAo3MVfu7eoZsmYTwU1udZFmGtKEoK6AXqwGkh3qpx6+pxrYT1pTRrHnu/d4bMQIxWrc3ovnlO758/97wdMcj0R+ldnaBzRZyuFXGc2K3do/1eEELg53IohoEaj9M6fZr5z3wWa/Uwqu3QOHqE0tcfxhwaImg2ac/MXOZ6o2kYPT2Yg4No2SxqNIo9sgajfwCjp1uK78itF1oREhKIAC/wzongp888jaEadLgdFJtF/v7A39MV6aI32kuhUeDh4w/TFekiZsbIN/JMVCbecN8RI4If+PRGe1mZWEnSSlJuldmU2cTq1GqydpauSBcpOxWWpodce2o52bduulJozxyS3+O9sgT97E7peKdXyeXR7VJIZ9bI5VPPSAGcXiW3G3tBCut4n1ye2gu6szhmrSEdc82QTveVEvYgBbZmgleV7r+TludZGpeiPNYNqDB/FLIj8jEhpJDv3gSJAdlPP3PwfLCd34b8CejaLG8GvJ5yn1kjZ7oLIW9axHrBjsnjK2oo8kNuOoQQ7B4r8A8vnOaJ16bxhWBTb5w/+jdbWNcTw/MDXPPGLRM/fPgw69atu6XMJyEER44cWT5hrShKAvh14GcBE5gDbKAL2AF8WgjxzBU74NtkuYT1pVQKDQ4+P8nA+jTFmRrHdk4zcax40Tpu3KRnOEHXygRdK2Nk+2OYzo37RrzeEL4PQYBiGLSmpih+9WvY69aCENR27ab49X/B2byFoNGgNTZGULq8b1WNRGSSeTqN6jjYGzdcJLz17u6w3zsk5AL8wOdE8QSO7qCpGpOVSR4+/jCdkU4ieoTxyjhPjT1Fp9uJQDBXm6PUWuK9p6h0up2krBQVr8KW7BZWp1aTNJMYmsG69Dr6Y/3nHPOQkJuCZkWW0CuKTH2fPSwdaDMiHfgzL4GbkQ51qwannoV4j3StWxU4+QwkB2QPfLMMp5+XItlJyeWJPXJmuhmVy7kTcl+KLkVxPS/L6APvLU/1bWM48uaCELKHPjkoS+fbDVkx0L0F7KTs1y+MwtAPyOV6QTr0qx6UNwdqOXkjYtWDsoKhXpTVCYP3yv78VlXuMzsij4ly/nen3XzluiHXB5PFOl/YMcYXd56hVPfY0BPnbKHGt/7D/ay4QRPFR0dHicViZDKZW0JcCyHI5XIsLCywcuXKi567lsL6u8A/At8SQhQvee5O4BeAA0KIz12xg74NrhdhfSmluTqj++YY2dZFYarGK98Z48zBPNGURaVwvswylrHJ9kfJ9Efl974oiayDot78/7GXE29mluqLL2CvX09QqbDw7LOUHvkm0fvvwy+VaRw+THtqaslttVRKlpWbJs7mzRg9PeiZjOz77u5G7+wMe75DQt4Az/c4UTyBqqg0/SZHC0d5/NTjDMQHaAdtThZPcih3CFu3qbfrl23v6A4Aa1NrWZFYQcSI0A7abOvexmB8kC63i4SVCN9/ISHvBCFk6Xwtdz5BvlGSQtdNS4e9Oicd/eSAdKcXpmQpe3aNXC5PylL9jrVS2JYnZY99dkTuc2FaCunkoDxeLSf36aTkzQWvJnv4rwSKtvg6fIh0yjL7dkO+xu7Ni/33OSnOh35A3ggoT8p1VrxfPl+ZkS7+wD2LQXpFeROic+3ijYNACn4zGrr0tyALDY/Pv3iaz24/RaXZ5ofXd/I7H1mHAgxlIpj6jVOB5Xke4+PjNBrvMuPiBsS2bfr7+zGMi2/ChT3W16mwvpRG1SM3XqFvbYpaucUz/3SY8SMFhrZkyY1XKM7Uzq1rWBqpbpdsf5R0b5RUt0uqJ0I0ZYUXi9eIdi5H89gx7M2b8efnKT3+BAvf+Q6xD32I9uws1R078MbG0DIZ/Hz+shFjaBqq42CNjKB3daK6EfRsBmvNCEZXJ3pXF3pnZ+h+h4S8AUII6u06RwtH2X52O33RPha8BfbP7WfX9C56Ij0UGgXm6nNLjjDri/bRG+3FVE0afoMP9H+A/ng/cSNOd6SbvlhfWHoeEnK9IYQsj283paPdKIJqSkd9YWqxtH1QLudPQu4k9N4m1587Ih35gXsXy/pfk+PnBu5ZXD4oxX3neiniC6flMZyUFNytyluPpFsKRZNCO/CkmE8Onhfmmrko5F15U8Fwoe8uOYquMCad+r7bpTivzoGTgexqKdgVFayEDNcLuW4pNzw+/8Jp/ub7p6i2fCxd5YGRDj7783cu96mFvAuupWN9CPgS8GUhxMkrtuP3yI0irJeiWfOwXHmn5OVvn2JmdIHh2zuYn6hwbOc0rUb7os94zVBJ90RI9bikuiOku+XP8Q4HTQsvEK8lotWincth9PQgPI/S449Te/llove/n/bsLKVvfYvWqVPYGzfSnpmhNT4O/uUjatREAqOzE8W20dIpnI0b0Ts70Tu70Ls6Mbq60NJpFDX89w0JWYpCo8D+uf1EzSi5eo5d07vYNb2L4eQw8/V5ThRPUG6VL9tOUzQ63U5MzcTzPX546IfpcrtAgage5X297yPrZsMU9JCQW4XAl6X5iiKFdn5UlspHu6Bdh+n90rVOr5LC/OwuKcaza2TZ/tmdUuCnV8rtp/fLfUY75fqlCUBI8f62Bbwig/HMiCyVtxPyeGYE5o/LLIDuzXKd+aOQXi1vNNhxKE/JELzMsHw+7H+/qhSqLf70yaN8aecZ4o7B7/3oOn5iSy+zC80btkT8VuRaCuutwM8AHwNywJeBh4QQk1fsIO+CG1lYvxmn9s7RarQZ3JChMFXlyc+9hm7qJDpsCtO1i8rJVVUhmrZI9UTI9EVJdjokOlwSnQ5u3Axd7uuA2v79eGfOYK9bhzczQ/6fvkB7ehr3jtvxZmap7dhB0GzKwLVLQ9d0HdV10ZJJ7LUjaNmsTEDv7cUYHETPdqB3dKBn0ih62LMfEnIplVaFht9gpjbDy1Mvc2D+AEPxIWaqM7w6+yqztVlURaXhXzJtAAVLs1AVlc3ZzaSdNI12A0d3uLfnXjJOhqgRpSfSQ8bJYGphQGVISMhb8HrZff6U7Js3XSnQz+wAhBTyrSqcfFqWsEe75fOjz8l1nbRcnj0sHXGQy28HKyGD66yYdPc71kHXBumYzx2B/rtkeJ2dlDcZujfJoLqQt81rEyU++c2D7B4r0JOwyVWbbP/tD9CTcJb71ELeBsuVCn4v8NPATwEngS8JIf7mqhzsLbhZhfWltD2fVt3HjcsP0Sc/9xpu3CI7ECU/VWXvd89g2jpewycIzv+7G5ZGotMhlrZJ9URIdDgkO0PRfb3hTU8T1GqYg4O0czlyf/M3BLUa9oaNtGdnKTz0EIqmoWfStGfn8JcIXgPQsln0jg4IAoy+Xqw1I+gdHWjpNEZ3lxTgHR1hCXpIyCUIISi3yuyd3cuJ4gmSVpKZ2gwvTb7EXH2OrJMl38gzWZnEF5dXnwDEzBgKCo7usC69joSVoNwsk7STbM5uJmkl0RWdrkgXWSdL0k6G48hCQkLeO4EvS8u9qhTu9aIU4oYjxXg1ByefkmXvr/eXT+2VIXBBWwbbvZGLbkbPh8l1boTOdXIfuZMw/EE5sz6Sla54vDd0xZF/T/7llQk++c2DtNoBn/zoRn72ngGqLZ+oFRog1zPL2mOtKMqDwJ8DG4QQb3p1oCiKDTwHWIAO/LMQ4g+WWO9jwCcBAewTQvyPb7bfW0VYvxlBIDjzWo5IyiLTGyE/WeUbf/4qfWtTRJMW+ekq44cLKMrFrcC6oZLocqXD3emeF90dDm4iFN3XG6LdPudIl594AoTA6O2lPTfH3Kc+hZZKY/b3483NUd2+HcVxEM3mkiXoLM4LNwcH0Ts6EEJgrVyJOTR4Tnzr2SxqIgyBCgm5kHq7Tq6eAyDXyPGd09+h3CwzEBsg18ix/ex22qJN2k5TbBaZqc4s2QP+Oqqi4ugOPZEeYmaMXD1HxskwkhohZsaYq82dG1UWM2OoikqH00HCShAzY9iaHb5HQ0JC3huBD8WzUmC3qlA6C6PflyXlgQ/FMRjfJcWzV5f94EslyZsR2QNvxaAyCyMfht47wEnKq/pVD8h1bhEmi3V++5/38cKJHO9bleHQVIk/+e+38uGN3ct9aiFvwDUX1oqi3I0cufVTwCjwFeBrQojcW2ynABEhREVRFAN4HvgNIcSOC9ZZA3wV+KAQoqAoSqcQYvbN9hsK6zdGCIGiKDRrHge/P0nf2hR2ROfs4Tzbv3SMwU0ZFCA/WWUhf3EJpKopxLMOyU6HeIdDPOuQyMrv8ayNboZhGtcrQgja09Mouo6WydCem2P+rz6N3tuL0dmJNzFO7u/+HnPFClTXpT09jTex9BxixTTR0mkQAnNwEGNoEC2RRLFMrKEh9K5u9GwGLZNBSyTCXvCQkEsoNArUvBq6qlNsFnl89HEAeqO9lJolHht9DEd36HQ7qbQqvDL7CrZmo6kalVaFtnjrOceO7pCxM7iGy3x9nu5IN/3RfhzdYXxhnBWJFQzEBrB0i2KjSH+sn063E1d3sTSLhJUgYkRwdRcjHFMUEhLyVggBtbwMg6vOymC40eekc90owdxRWeouArjwxqJmQmqFdMHredj6s1J4x7rlCLlY903neAeB4PMvneb/efwIAvjzj23lx7b0LvdphbwB17LH+j8jy7/zSDH9kBBi/F3uy0UK638vhNh5weP/L3BMCPG3b3dfobB+d3hNH0UF3dAoztR45TunWXNXF0LAqX1zHHxukt6RJM1qm+JsDd+7uETIiuikutxzTnf8AtEdlpjfWATNJtUdOzB6elAMg+bx4+Q+93fYGzeiuQ7Nk6eoPPMMRl/fudC2y/rAATQNPZ1GTSRACKw1qzH6+tCSSbREAqO3Dz2bQc9k5DiysB88JORNEUKwf24/mqLhGA7lVplvnvgmWTdLh9NBqVniW6e+RU+kh6SVpNwq8/L0y2TsDJZmUfEqzNfnUVDe1DW/lIgRIWEmMDWTQqNAX6yPDqcDBYXp6jTDqWE63U4QMF+fZzg5TNbJoioq9XadvmgfCSuBpVk4uoNruNiaja3bYRJ7SMitRLspk9wn98KZF0GzpBs+tVc+fmn5ec9WWW7++g2++35TCvGb4Kb98ZkF/t0X9nAmV+OTH93IdKnBRzZ1s6kvsdynFnIB11JY/z4yEfz4e9iHBuwBVgN/JYT43Uue/wZwDLgP0IBPCiGeeLN9hsL6yuN7AaX5OvGMdKYnjhXY88QYW39ogGbV49iuGcYO5OhaGadabF4UpAYyvTySMEn3ypnc0vG2SXQ4xDI2uhG63TcaotUCpIPtzc+z8PjjWKtXg6JS37+P4r98Hffuu0AImkeP0XjtNbRslqBcPrftpWjJJHpHFjUSBVXFXrcOvbsbLZ1Cz2bRM9lzbrhqhqFQISHvlEAELLQW0BUdVVXJ1/Psmt5F1sniGA5ztTm+N/Y9ViVXETfjTFeneXb8WVYnV+PqLrO1WfbN7aM/1o+hGhSbRaaqU7i6Szto0wqWfm+/GQoKMTNGxIigoFDxKgzFh4iZMVp+i3wjz7r0OmJmjHq7TrFRZH1mPVEjStNvUvWqrE6tJqJHCERAQECX24WjO9i6jaVZF31pavj3JiTkukQImXQ+dxROPQ1jO6SAnj0Clenz65kxcFNyhvgP/wH03Sl7w53kDedulxsev/HlV3nm6ByOofEr71/JJz68drlPK+QCrqWwvl8I8fybPB8HBoUQr72NfSWBh4H/5cL1FUX5NuAhk8f7kT3Zm4UQxUu2/7fAvwUYHBy8c2xs7F28opB3S7PmkZ+q0b0yjqIqHNkxxYHt49z9r1ZSzjU4umOK2bEF0r0RyvN12q0L7kgq4MZM2Q/eEyGWsYllHOIZm1jWJpq0UMPRYTc0ot2mncujpZIohkHj4EHKjz2Ge882RKNB9aWXWPjud4m8/36CapXmkaN44+OyJ7xeX3qnhoHR24uezaKYBoquY2/YgJ7JSoGezaCl02jpNHoqhWKE5awhIVeDdtBGQUFTNcrNMqPlUdJWGhSYrEyyd3Yvw8lhDNXgdPk0u6Z3sbVjK5qqMVoa5ZWZV9jasRVFUThTPsPRwlHWJNcAMFObYaY2Q6fTiRd4VLwK3lJ9nO+QqBHF1Ex84dP22wzGBzE1k6pXpek3WZdeh6VZlJolmn6TjdmN2JpNsVlECMFIegRLs6h7dTRFoy/Wh63bMqhOc4iYEWzdxtRMbM3GUI2waisk5L1QL8D4HiiPw/QBOPqYLDt/3eHWTDkT/H2/Dn13gJuVCefG9R/M6geCP33yKJ959iR3r0jx179wF6auEglDza4LrqWw/nNgG/AE0nWeA2yk+/wBYAj4hBBi19vc3+8DNSHEn17w2GeBnUKIv19cfgr4P95sn6Fjff1RKTQoztbpX5tCCMGuR0c5czDP5gf7Kc/XOfLSFNViEydmUik2L2q/UVQFN24QTdqkeiNScGfsxe8OkaSFqoYXLDcTfqWCNzGBtWYNotFgYft2Kk89TexHfgQ/n2fh6aep79lD5P778PMFmseP4xcK8s72UiXpgGIYsgw9nUbRNBTHwd6w/lypunTEM2ipNHoqiRI64iEh1wWvX7coikLNq1FsFknbadpBm7MLZxktjTKSGqEt2hzLH+No4Sj3dN9DK2hxcP4gRwtHub/vfpp+kwNzBxgtj/K+nvfR8Bsczh1msjLJlo4tNP0mp0qnKDQKDMYGafgN5uvztPwWhmq8Kzf+dV4f0xaIAE3VyDpZLM2i3CpjqAZD8SEszWKmNoOjO6xOrsbUTKar00SNKKsSq7B0i1w9R8yM0R/tx9ItGu0GMSN2Lk3+Uoc+dOdDbmraTZh+DSb2wMGHZQ/3hc62nYQ7fgFWvF8K7/67ZIjadcojeyf47X/ez2DapeH5fPx9K/jVB1Yt92nd8lzT8DJFUdLI0LL7gB6gDhwGHn0zN3tx2w7AE0IUFUVxgCeBPxZCfPuCdT4C/KwQ4uOKomSBV4Hb3iwYLRTWNx65iQq1couB9Wn8dsCzXzrCQq7ByN3dlOfrHHphkrYXYFoa1dLFFzeqquDEjXPjw14X3FJ8O0QSJkoovG9q2rkc3vQ09rp1+OUy5SeeoHHgNaIPPIBfyFN69DFaY2O4d92Jny/QOHiQoFaTG7+REDdNjJ4eGdSGLFO3RkbQ0ykpxDs60C90xEMhHhJy09H0mzTaDRJWgkAEjJXHyDfy9Ef7afkt9s3vo9AosCGzgWa7yc7pnSy0FtjSsYWW3+KFyReot+tsyUrhvmNqB57vsTa9lqbfZO/sXgD6on00/SajpVEURSFiRGi0G9Tatfd0/goKpmaSsBI4ukO+nidlp+iN9mLrNmfKZ+iJ9DAYH8TWbE6XT9Mf7WcgPoCt2czWZumN9tLpdp67MZC0kkTNKLZu42hOGG4Xcn3RKMHEK/DK52H+OMwfA3/xujHeB3f/Cqz+IfCa0H8nXGc3n54/Ps+v/uNuDE3hTz+2lQ9vCNPCl5tlHbf1TlAUZQvweWTvtAp8VQjxh4qi/CGwWwjxzcXk8D8DPgL4wP8thPjKm+03FNY3H7NjZfy2oGc4QdvzefJvD6JoCgPr0izkGux/5iy6oaFoCvXyJcJbV3CiJvGsTao7QiwtHe9Y2iKasomkLLSw1PyWwpuZJSiXMIeH8Uslil9/mPb0NO5dd+EX8hS++jWCSgVn00ba+QL1vXsRvi9F+FKjygDFstC7u9BTaUQQoGezWKtXo6VTqPE4Rken7BVfFOOqFc4qDgkJuRghxDlXG5Cj2YQgZsVo+k1emXkFVVHpi/bR8Bs8e/ZZonqUocQQDb/Bk6efJGWlWJFYcW45Y2foi/VRb9d5YeIF0naalJ2i3q5zNH8U13DRVZ1Gu0HTb77FGV6Oqqi4unuulD5jZ8g4GTRFY6Y2w2BskK5IFwoKU9UphhPDdEW60BSN+cY8w4lhOtwODNUgEAEdbgdxM46ruzi6E7ruIe8Nrw5jL8LeL0p3e/7o+edWvB8e+C3ovRMI5Gzu64D9q/QgAAAgAElEQVRdp/P88t/vIhUx+NKv3Mt8pcnW/mRYnblM3DDC+moRCutbj+lTJTRDpWMgRqvZ5tFP7SfZ5dAxEKM83+DV753BjZkIIagvXNKfp4Dl6sQzcpRYNG0TS9vnvsfSFqajh/1xtzDexATC8zAGBwnKZfL/9AWE38besAE/nyf/D59HsW2sVato5/PUdu9G0TQpxttLj0ZSTBO9sxMtnZb77u3BXLECPZ1BjUYxurtkj3gqLV1y173GrzokJORWIhABk5VJdFXH1EwWWgvsmt5F2k6TsBKUmiWeOfMM/bF+0k6aYqPIU2eeYlViFUk7SaFR4MXJFxmKDeGaLsVGkSP5I3Q4HedGxZVapXecSG+oBhEjgq7qVL0qA7EBUlYKX/jkGjk2pDeQslO0gzaFRoGN2Y2kbNl21vJbDMWHiFtxbM3GNVwiRgRHd9DVsH/1lmRhGo48KoX2zEFoN+Qc7VYNfuzP4M5fui5c7H1ni/zi372MoSnMV1p88ic28Ev3rVzu07olCYV1KKxDLiAIBDOnSjgxk2SXS63c5In/9ho9qxMkOlzyU1X2PXWWRKeDEFDJNwj8i98nmqESS1nEO1xiaYtYxiaael2AW2HAWshFtM6eRdE09J4egnKZ+b/+G7RUCmvFEO1cjvlPfwajvx+jp4d2PkftxZdQIxFEq4Xwlg5mUgwDrSOLlkzBosg3BwbQUkm0WAytuxtj0Q3X0mnUSCS8GRQSEnLd4Ac+C60FbF2GSc3X5zk4f5BOtxNVVZlYmGD39G5Wp1ZjaAZnymfYNb2L9Zn1aIrG2YWzHJw/yHByGJDBdpOVSZJWklbQoubV3pFg1xUdgaA70k3MjNEO2lRaFW7rvI24GaferrPgLXBP1z3ErJgMzROwNr2WqBHFNVxiZgxHd8KRcTcqrRqcfFqK7BPfkyXjsR7oWAtWHH7qc6AvX5vX4akyP/e3OxFC8Miv389gJrzBvhyEwjoU1iHvAN8PyE9WceMmkYTFQq7Ocw8dY2hTFjtiMHWyyP6nx+lcESfwA8rzDVr1y13ISMIknnWIpKxFp9smkrSIpmTJuRM1wl7vkMsQQYA3MYHqOGiZDO18nvzf/R3m4BB6Rwet8XHyf/u3WOvWoaeSeJNT1HbtQk0kEM0motFYese6LsPY4nFEEGCuXIHR24sWT6DGYxg9Pefmh+vpNGo8HgrxkJCQG5Zqq8pEdYKklcQLPE6XTnMod4h16XV4gcfR/FH2z+/nrq678AKPw7nDHMkfYUvHFurtOqdKp5iqTNET7aHqVSk1S/hi6dafC1GQPfEgXf/VydVEjAgLrQV84XNn153EzThVr4qhGWzt2ErcjGOoBhk7Q9pJY2lW+Pm73HgNOPY47HsIjn9Hpo333Sl7suP90Hf7sgSf7Ttb5Gf+egerO6N8/n+6m5dHC3xkU9h3fS255sJaURQX+ARytNavKoqyBlh7YQjZtSQU1iFXksAPqBSa2FED09YpTFd59ckxhu/oQlFgdN88rz03wdDmDO2mT366dlmfN4CqKUSSFm7clO75Ytl5NGURTcrvTtwMe2hC3hTRbuNNT6PF42jxOK3JSYpf+QrWunVokQiNI0cpfPnLOHfcgWpZtEZHqe/di5bNImq186Ftl6JpaOkUWjQGCpirVmF0daPG42jJBEZP72Jyehotk0WNuOGFYEhIyE1LvV0nV88RMSJUvSpH80c5XT7NmtQaKq0Kr86+ypmFM2zObqbqVdk7u5e5+hzDyWEqXoXR0ig1r4alWW8ZQmeoBpqioas6w8lhYmaMQqOAq7vc3nU7CTNBxauQsTNszG4kaSVJ22kc3Qk/h68G1Xk48DXY/Xcy/AxFutg/9zVIDl7z03nq8Ay/+o+7WZGNcGquyhO/+X7Wdcev+XncqiyHsH4IOW7rF4UQmxaF9otCiNuu+MHeBqGwDrmWCCFo1dvoloamqcyPVzj28hTr3tdLu+Vz5KVpXntugk0/2Eez6jEzWqY0V0fTFfz2xe9HRVVwYgZ2xCDV7RJNScEtnW/5s5sww7C1kLeN8Dzas7OyPNxxaI6OUvrGIzh33YUC1PbspvTIN4k+8ADCb9M8dJjGoUPovb0ECwsECwtL7lcxTTlDPBJB0TTsdevQOztlUFs2i97ViZbJSFc8mUTRlr9nLSQkJGQ5aAdtjheOM1ObIWNnWGgt8MLkCxSbRVYmVlJulXlp4iXq7To90R7KrTIniyfxAx9f+G9Y4q4qKlknS8pKUWqVyNgZNmc3k7JT5Bt5BmODbOnYQtbJnktzD3kHCAGntsP3/1QGoCkKrP8JqBXgR/8EOkau2al8aecZfu/hA/zgSAf/8Mt3hzdUriHLIax3CyHuUhTlVSHE7YuP7RNCbL3iB3sbhMI65Hrjwjms+ckqkyeKbLi/h2atzb6nznJs5zS3f3iIarHJ6L558tNVkh0OlWKTduuScVAKWI5OotMlmpRCO5K0iCRkr7eblCXtlhsGroW8c0SrRTuXk6LZMGgcOkT5u98jev99BLUaC888S+Wpp4h96EMEC2Vqe/fhjY2hZbNylvgbpKa/LrIVy0IxTZxNG9EyWbR4HL2r8/wc8UwmTEwPCQkJQV47CAQLrQX2TO+h4lWIW3EKjQJPjj0JQIfTQaFZYNf0LjRFQ1EUSs3SkvszVIO+aB9ZJ8tMbYbhxDC3dd5G1slSapbYmN3I2tTaUIAvRfEsvPQp6WL7LVj9IfjhP4DMatBtKbqvMn/25FH+8ukTfOJDI3xkUzeOqdGfCvuurzbLIaxfBH4IeEEIcYeiKMPAl4UQ91zxg70NQmEdciOzkG9Qnq/TNyJTTfc9dZaJYwU2PdBPpdBg/9NnWSg06V6VoFJoUpqtXRa2BjJwLZIwsVwDN2GS7HDPiW4pxKUgN+0wGTXk3RPUarTn5jCHhhBBQOX7z1N96UViH/ggfj5H+bHHqe/bR/QHf5B2Pk997178QgHFthFvVJZuGBi9PeiZLKgqWiyKvX4DWla630ZnJ1o6g57NoMZi4Q2kkJCQkAtoB232zu2l5tVQUJivz/PY6GM4uoOpmczWZtk/tx9N0WgFl7euRYwILb/FysRKNmc3k3WyzNfnuaf7HrZ2bqXL7bp1U9Urc+cFdnMBUish1gm/9DioV7eaUAjB//bQXh7ZN0nKNdjSn+QffnlZpNYtxXII6w8B/yewAXgSuA/4JSHEs1f8YG+DUFiH3Mx4TZ9G1SOWlsmqx16eplJoMnxHB9Viixf/5QTNepsVW7JUi03GDsxL4a0qtJuXu4maoeJEDRIdDm5C9oC/Xn4uRbiJm7AwzLCUN+S945dKtPN5rJUrCWo1So8+Suv4Cdx7t9HO5Sg9/A3aMzM4W7fQzuVpHDhA0GzKGeJL/f1SVVTXxRwcRMtkEJ6HlkxirVqFlkygxmJoqRRaIoGWSKIlE2jxOIp+i14UhoSEhFxAzasxU51h+8R2VEXFD3zGymM8N/4cju5Q9arkGrmLttEUeT0wkhphU3YTGTtDxavwQP8DbOnYci7M7aamXoTn/1yKbID7fhPu/03wPXDTV+2wtVab/+5TLzC70OSLv7KNTX3Xx+ztm5llSQVXFCUD3AsowA4hxPxVOdDbIBTWISHnmTxRRASCvpEUrUabZ79wBFVXGVifplpqsvvR09gRg2jaolpsUp5fOmXasDXcuIlhaXLUWMbGjZvnviKJ14PZjHD0WMgVw5uZIajWMAcH8AsFCl/9Gn6phLNpI+1cnuJXv4rwfcyVK/BzeRpHj0oB7vtLC/FF1GgULZFABD56Oo0xOCiX2z56Rxajqws1GkOLRVFjMdRI9IKfIyhX2ZkICQkJuV6oelUOzB2g3q5TaBY4lDvE8xPP4+gOuXqOQrNw0fopK4UXeDzQ/wC3dd5Gp9NJ0k6yNbsVXbvJbmoWxuDp/yjDzpwUtKrw01+EkQ9ftUMem1ngo596ntsGknzhf97GsZkKG3rDMLOrxXI41ncs8XAJGBNCXD6X6CoTCuuQkLdPfaFFEAgiCdnXuvvxUWJph+xAlGqxyXc/d5BMf5RMX5RaqcWJPbNYER0RsOTYMQDL1WXKeczEcvVzo8fOC3HZGx72gYdcaVqnTyOEwBwcJFhYIPcP/4Bq29gbN+IXS8z/9V+jZ9JYIyMEpRKlRx9DS8pZ4H6phJ/Pv/VBFAU1EkGNRhGeJ/vDu7vQIhGCWh29p2dRmEdQHEc65m4ENeLK7VxXfjkOimFc/V9KSEhIyFUkV8+xe3o3bdFmqjrF7und7J3bixDiokR0R3dYk1xDxsngC59f3PCLbM5uxjVugj7hiT3wrd+E6f2y//qj/x9Eu0C9OtV+X9t9lt/+5/18YG0Hzx2f59H/9f4wKfwqsRzCegdwB7Af6VhvAg4CCeDfCyGevOIHfRNCYR0ScnUI/IAzh/LEMjaZ3ii1cpOnPn+Y3jUpUt0uhZkqOx4+Rc/qBHbEYCHfYP5sBUVVEMHlnz2qpmDYiw542saNGVJ4J6TwdmImbky64KYTivCQK0/QaIDvo0Zk6WL5qafQs1mMnh78Uon5v/xLrJG1WKuHaRcK5D7737DWr8McHMTP5yl/+1GMoSG0aBS/VMIbHwdNe8MQt8tQVdRIBC0WQ7EsRLOJ3tWFlk6jGAai0cDo7UFLpVEsCzRNjjyLxc4L9MUv5XWxboUzcUNCQpYfIQRz9Tl2Te/i++PfJ2pGOVU6xf65/TT9JiDngKdsmSnzCxt+gQ2ZDaxMrKQ70o2q3GCVQYEPOz4DT/8n0HSIdsOWn4Yf/O2rcrhPfHUfX39lnJ+/d5BPfnQTWjiu9aqwHML668D/JYQ4uLi8AfhD4HeAr1/rsVuhsA4JWT68lhQUhqnRrHkc3zVD70iSSMJierTMC187zqrbO3CiJrNnyhzbOUPHYJQggEq+QbO2tAuuagp21MAwNWIZm0jCwokZODFz8cs4NyPciRnoRtgTHnL1CVoy+Ec1TYJWi/revZgDA2iZDN7kJIWHvoqzYT16Vxfe+Dj5L36JyLZ7MLq6aI2PU/z6w0TuvgstmcKbmqK2cyfm8DCKruMXCrRnZ1FME9G6PGDoDVFVKbBNE+H76B0daPE4KAqi2ZRl77GYDNrx2xh9fajRGIpporouWiyK4jiojovqOufddddFMYxQtIeEhLwnhBCMlcc4VTrF0fxRnj7zNKfLp2n451vRDNXgJ4Z/gq0dW0lZKTZlN9HhdizjWb8D8qfgkf8AYy9A1yb4+LeuSt91rdXmo596gWLN43v/+wPEbCMU11eB5RDWrwkhNi31mKIoe0NhHRISshS+F7CQb+AmTExbpzRX49D3J1l1eweqpnLmcI5Xv3OG9T/Qg6opzIyWmThWJN0bwWv4VEvNJRPRQfaE266BYWvEszZu/LwQf90Fd2KyNN2KGKjhH6OQZUb4PkGlIkWtaeIvLNA4dBh77QhqLEZrdJTyk9/F3bYNzbFpHDlC6dHHiH3wA6iWRePwYRa+9xTRD34Q1TRoHD1GbedO3G3bQAFvfALv7Fn0nm5EyyMolxGe985O8vUyeNeVQt33MQcHUR0H4bcRbR9r9TCq4yICH0XTMPr7UR0XxTRkb3sksrRwD8viQ0JuaUrNEkfyR3j4+MMcLRxlrj53bnSYpmj8QO8PcFvnbViaxQP9D7AysXKZz/hNEAJe/hv4zu9BrBvu/TX5fdO/uaKHOTRZ5qOfep4fWt/J8ZkKf/axrdw+mLqix7jVWQ5h/RCQB76y+NBPA1ngF4DnhRB3X/GDvgmhsA4JuTlpVDxykxU6V8QxTI2pk0UOvTjFlgf78D3BsV0zHH5hkq0/NIDX9Jk8XmT+bIVUT4RG1aNeXtr1UxSwo7Lc3LR1Eh0OTtTAjkrxbUcNnAt+tqMGWhjQFnKDEVSrtOfmMPr6UAwDb2KC+qFDuPfcA+02tVf3UnvpJeL/6iOIdpvqjp3Uduwg8a//NaLVpLpjJ/W9e4n/2I8S1OvU9+6jdeoU7j33ENRqeGfO4JdKaKkUQb2OqNff2QmqKoquo6VSqK6L8FqgaphDQ6iOQ1CroZgm5soVUri3WqgRF6O7G8VxUGwb7fUedsdBeV24O06YAh8ScgMSiIDT5dN8++S3OZo/ykRlgpOlk4AU2vd038O2nm00200+uvqj9Mf6l/mMl2BiD3z1l6B0Vgrr3zgA+pW9ifjHTxzhM8+eZENPnP/0k5u4IxTWV5TlENYO8GvA/YsPvQB8GmgArhCicsUP+iaEwjokJASgUmhSmKrSvz6FoiiM7pvjxCuz3PEjQzQWPF57bpyxg3m2fnCA+kKLs4fzLOQaJDpd6gutNyxLBxnQZtgalqMTyzjSAY8a2FHphtuRxTL1RSFuWFpYQhty0yGEOPf/ul0o4BcKWKtWAVA/dIjW6dNE7rmHoF6nsn07rbExYh/4AEG9Tvm736M9OUn0gx9A1OssPP0Mfj6Pe+82glqN2su7EPU65vAwQb2Gd+YswvdRdB3RbL6j81RMExQFxbLQs1lUx8GvVtGi0UVH3cFfKKOlUhg9PaiOC0KcH8/2usMeWexpj0RkOrxphu/rkJBrSLFR5NHRR3lt/jWO5I9wongCkMFoHxr6EO/rfR+WavHgwIMY2nVSBVPLw8P/Do4/CZv/B/jx/wpeHaJXprS94fn8yH99DgV44jcfwA5b4a4oyzJu63oiFNYhISHvhuJsjUq+Qf862Qt1+MVJZk4vsPkH+6hXPPY8MUZxusr6+3ppVDxO7Z2lWWuT6HCpV1rUyi14g49YzVAxbQ3LNYhl7POO+KIQd6KLzvjiz5aro4Tl6SG3OKLdPuc2e5OTiFYLc8UKhO9Tee77iGYDe/16gnqd0re/DYHAveN2glqN4sPfQDEMnNu2Iup1So8+imo7MhG+XqP20g7ZU55OE9TrtKenZflKELz9E1TVxRFsLqLRQEulMbq6UFwXv1zC6OqWjrrrQruNns2ipdOLwlwKdC0SQXFd+d00r9JvMiTk5mS+Ps9jpx7j1dlX2T2zm2KzCMBwcpiPjXyM+/ruoyfSg6kt83srCOD5/yJHc8X7QATway/JEV1XgP+fvfsOk7I6+zj+PfM802d2tvdlYZcmvSlYUcSCgr3EWKK+0SRvNMYkxuRNYnqxpWpiNJpYoliIFY2NoohSpDfpsI1l++7s7vTz/jELIgLuwmy/P9fFtTuz89znoM817G9O+2BrNVf/YwnfOL0Yn9PKlKI0xhUkJ6R2f9cdI9ZDgN8CIwDHvue11kUJb6wdJFgLIbpC3Z5mQq1RsgbFj7hYu7CUYEuYwROzCPjDfPDCFmJRTfGETFr9YTYuLseiFN50JwF/iKaawGGPWlYKrHYDh8eKJyUexG0u8zMbtO0P4574yLhhlenpQrRXLBSK7wjvdALQunYtFo8HW0EBsdZW6p59FjMjE8fQIcRaWqh++GHsAwdhHz6cWLOfmkf+ga24GPugQUSbmmh85RWsAwZgpqYSbWoitG0byuFAR6PQ3rXsponhiW8epwMBzKxMzPQMlN1GzN+MNT8fMz0d5bCDUljTM7D4kuJT4D2eT89e93hQDoeMpot+JRqLsmLvCp7d9Cyb6zezo2EHABZl4aujv8qVw64k05XZvZ1cPRte/l9wpcPNCyEpJ2Glv/vcal5eVUaSw+Ty4wv44YzjEla7P+uOYL0I+CnwB2AWcANg0VrflfDG2kGCtRCiJ6qvbEFrTUp2/Gin1fNKsDkMCo5LpbUpzLwnN+JJtpM/PJVWf4hVb5fgSrbhSbYT8Iep29NyxPqGaWkL4nYc7vjGbZ5k++eDeNv3VodMTxciUbTWEIuhDAMdjRLcuhUzNRUzI4NIYyONL7+CbWAhZmYmkcpK6mY/i2P0aKyZmYT3VNAw5z84xozBTE0hXLEH/8KF2AcPRjkcRGtrCZeWxgN3MNi+UXWlsHi98ansdnt8tH/AAIy0tqPcwhFsAwdipqbEz1v3ejF8vvgGcx5P20i8G2XItFLRO21v2M6/N/ybd3e/S02gBoUiz5NHhiuDB6c9iNfu7Z6ObX0XnrsOnKkw8w/g3wPjrznmsrXNIab/fiG5Pgcv33KK7BCeIN0RrD/WWk9USq3VWo8+8LmEN9YOEqyFEH1BY3UrFsOCJ8UOwMq3d5OW4yZjoJeWhhBv/WMd2UU+MgqTaGkIsmzuTtLyPbi8VlqawtSUHv4McQBlAYfbistnx+E2sdpNPCn2+Kj4gevFPZ+Gctk9XYius28NeywQILRrV3z9t9dLuKyMxjffwjVuLBaXi8Anm2l4+WU8p56CxekksGkTjW++hfvEE1GmSWjHDgLr1mEbNAgdDhOprUW3HPmDun0sLlc8mGsdD+bJvnjY1mAfNgwjJTm+/jzZhzU1FUuSD8OXtH9tunx4J3qCnQ07mbtjLv/e+G+aQk04TSczBs0g05nJ9MLpDEsd1rUdKl8F/74MAo1gdcJtqxIyLfzFlaXc/uxq7r50NNOPy8JmWvA6esha816qO4L1YuIbl70AzAPKgN9prbv4Lo2TYC2E6G90TNPSFIqPWruthENRNn5QQXZREslZLur2tLDw6U0Ujk7Hl+6ktqKZlW/tJndIMjanib82QHWpH9NmIRI6/GiYzRmfjm5zGJi2T0fE7W4Thzsewh2u+Fe7y5SN24ToAXQsRqylBYvDgTJNIlVVtG7chHPUSHQkQuuaNfgXLsQz9fT4DvEfL6d50Qd4pk+HUJCWVasJrF2La9IkYn4/odJSYo2N8TUrR/q90mpiJPn2r5O3DxuKkeQDHUNZbfFg7vNhSfZhpqRgJCdjpqRgSUpCWWRpi0g8rTWrq1bz0taXmLt9LoFogFRHKreOv5WZRTOxWqwYli6apVGzDf45A3QU/udtSD32FbRaay7662Iq6lsJRqJcPrGAH88ckYDO9l/dEayPBzYCycAvgSTgHq31koQ31g4SrIUQ4si01gRbIhhWC1abEd+MbXUV+cNScCfb2bO9gY9e3s7QE7JwuK1UbK1n7YIyBo1Nx7BaqK9sobrEjyvJRjgYJRyMHrYti6GwOU0MqwVvSjyIW+0GNmc8eNudJjanid3V9vWgx3K0mRA9S6S6mnBpKY4xY4g1NeFfvJjWj1fgnXYG0cZG/PPn07puffxxQyMtS5YQLi/HPnQo0cZGInv2HPkMdaVQNhvWvDyMlBSIxbC4XDhGHIeRnAI2K9b0DMzsrP2B3OLzyQd4okOaQk28sPkFXtr6EtsbtpNkSyKqo9x72r2cmn9q13Ri76Z4uLZ5YMJ1YHXASbceU8mPttfwpYc/4qwRWdx57jAGZ3bTlPc+ojuC9eVa6+e/6LmuIsFaCCESLxKKogyFYVhorg9StrmOASPT9gfvle/sZszpBVgMxc411axdWMaYafmgoWJbPRVbG8guSiIcjOKvCx7xOLMDmTYLVruBYVpwp9ixO02sNgOr08Tlte4P41ZHPIjb7AZWh4HNYe7/atos8ku3EN3owKPZQrt3E66qwjFkCNGGBhrmziVcUoJ78mSi9fU0vPoakdpanKNGEa2vp3XtWnQoFB8hP1wgVwozIwMjPQ0iUYy0VBwjRmCmpaNsVqy5eVhzczBSUzFTU+Vsc7Gf1prllct5YOUDrNi7Aofh4JIhl3D+oPMpSi7CY/N0bgfKV8Hjs+I7heefAFc/B8d4VNj1/1zKil11vP/9afhcMhX8WHRHsF6htZ7wRc91FQnWQgjRswSawzTVBEjLc2MxLFTtbmL3hhrGTCsgFonxyZI9fPLRHk68uJhwMMqmDyvYvqqaE2YOIhSIULKxjpoyP/nDUwi1RmioaiXYEsFiKGLRdvy7psC0xqfJ7wvppt3A5Y1Pa7fuD+EHBHK7idXZ9rXteZvDiE9tl7XmQnSZSF1dfJf07GxizS00vPoqsaYmHMOHEa2vp+7Z59DRKPbiIqLVNTR/+CFYLBCLxQP5ISinE2teLmZaOrHWVqx5eThGHIc1MxNLSgq2vDzMrKz4Bm7yoVy/saVuC/9a/y9e3/46UR3Fa/Py6kWvkupM7dyGd38ET14MqYPg+tfBeWxHZW0ob+T8v7zP/5w8iGAkxmlDMzhrRFaCOtu/dFmwVkrNAM4DrgCePeBHScAIrfUJX3C9A3gPsAMm8ILW+qcHveZ64F7i67YBHtBa/+NIdSVYCyFE7xeL6f2bpfnrgvjrAmQX+QAo31JHdWkzo0/PIxqOsXZhGXu2NzDx3EJCrRFWzyultszP+LMHEApE2fRRBc31IYrGpRMORCnfWk84ECUpw0koEKGlIdS+gN5m3xR6h8eKzWHsn+7ucFsPGCmPB3bbQaPnnwnpDlM2hBMiwWKtrehQCEtSEjG/n/rnngfDgjUnl2htDTWPP4Hp88V3aK+poXXlSjDNQ46GK5cTpSxY8/KwDxmCmZGBDoexDxuKvagIMzMTMyNj/7Ftom8o85fxmyW/4f3S93FZXVw/8nqKfcVML5zeeR+0bJsH/74cBp0WP45r+s/Al3fU5W5/dhWvr60gP8XJJRPy+eYZgxPW1f6kK4P1WGA88HPgwKO1moD5Wuu6L7heAW6ttV8pZQUWAbdprT864DXXA5O01re0t18SrIUQQhwo0BwmHIziTXUAsGd7A6HWCANGpgGwcXE5oUCEkafkEQpE+fDFbUTCUUZP/fSxUjBsSg7hQIS1C8swbRayi3yEWqOUb6nDYigcbiuhQJSAv53nFgOm3cA4MJg7DSyGBYfbxO6MP/6igG5zmDKSLsRR0FoTrauLH09msxGuqIgH77Q0DK+XUFkZDS++iJmRARBfH36IUfD9I+DpGehQEMeYMTiGDsPMycaakxPf0d1u7+q/njhGW+u28peVf2FeyTwArh5+NXeecGfnhetl/4C53wXTAZc+CsfNPOpSJbUtnHn/Qi4an8s9l41NYCf7lxuWIlIAACAASURBVO6YCm5qrdu3WO7wNVzEg/U3Dtz0TIK1EEKInqaxuhWApPT4KNWO1VVYHSb5w+LHpSx9dTvuFAfF4zMItUZ4518bSMlyUTQhk1BrhHlPbCRjgJf84amEAxFWzyvBl+HC1zaCXrG1AZvTxGIoQoEIsUj7/u22tq0vt1jiId/ujo+oG23T4G3OdgR0h4HVJiFdiEOJBgI0L3wPi9sNCoJbt1L//AvYBg5EKQhu30Fo27ZDXmukpWGmp6HDEZzjxmEfPBgzMyM+Gj5okGzA1oOt3LuSH7z3A8qbyzk572SuGnYVYzPGkuw4tinbn6M1vHIrrHwSrngCRlx4TOV+/up6Hl+8k7duPw2nzSTX55B7rIO6csR6LXDYglrrMe2oYQAfA4OBB7XWdx708+uB3wJVwGbgdq11yZFqSrAWQgjRk2mt0TGNpW3H86rdTdjdJklpTrTWrH+/nPR8D9lFPqKRGPOf2kTB8BRyBifT3BDk7cc2MGhsOtlFPvx1QRbP2cqAkamkZLtpaQyxZVklqblu7E6TQHOYuj0tmDaDWCRG7DDnmh9s387tVns8qDu9Vuwu62fWou/7+YFfbY59X+ObyhlW2dVd9B86GiVSXY2yWon5/bSuXEX9Ky/jKB5MrLWVwPr1BDZsQDkc6EDgM9davF7M9HRQCtfkydiHDMbMysZWOABbQYGMeHezSCzC7E2zeWDVA7SEW8h0ZfLGJW9gPcaNxj7fUBD+dT5UboAZd8eP45p4/VGVqvEHOe2e+YzO97F0Ry3//uoUTixOS2x/+7iuDNaFR/q51npXB2olAy8Ct2qt1x3wfBrg11oHlVJfA67UWk87xPU3AzcDDBgwYOKuXe1uWgghhOi1tNZEw7G2DdoMIuEolTsa8WW48KTYCTSH2fBBOYWj0kjNcVNf2cLiOVsZNiUHX6aTqt1NfPjiVkackkdSmoPqEj/r3iujaFwGdpdJQ1Ur5VvqSc11A9DaFKK1KfyFRxjvYzEVpmnB4bXhcJmYtrYd3n027K74VHeb87NHrX2607uxP5zLKIvoK2JtO5zr1laalyyh8Y3/4hgyhEh1NS3LlhHcvBlls31uyrmZlYXh84Fp4j1zGvbBQ7AOLMReWIjF4eimv03/U9lcyV2L72Jx+WLGZYzj16f8GpthI9udnbhGGivg4akQbILkQvj6IjCObif7X722gX8u3sm1kwfwv9MGk+mVe6UjunwqeFujWcDxbQ+Xaq33HkWNu4AWrfV9h/m5AdRqrX1HqiMj1kIIIcTRiUVjBJoj2JwGptWg1R9iz/ZGcop8ODxW6vY0s3lpJSNPzcXhtrJ7Yy0r397NhLMHYHOY7FpXw9oFpYw/awAWw0L51npKNtQycEw6saimvrKZxuoALl/bGeiBw5+Bvo9SxKe1O01M04LFVHhTHdidJqbDwOEysTmtBwTztnPSXdb4eeguOQ9d9B46FEIbBtGaGvzz5+NfsBDHyJGEy8poXrKESHn5564xc3Pj08ndbozUFLxnnYV94EDMnByURe79zjB3+1x+9dGvCMVCoOGli16iwFuQuAZKlsI/z4MhZ8OX/h1/IzwK5fWtnHbPfK47cSB3zRqRuP71E92xxvoK4jt3LwAUcCpwh9b6hS+4LgMIa63rlVJO4C3gbq31awe8JkdrXdH2/cXAnVrrKUeqK8FaCCGE6Bn27bqelO7AYlio39vC3p2NFE/IxDAtlG6qZevyvYw7ewCRUIytH1eybcVeJs4YSDgQZduKvZRtrmfkqbmEAlEqdzTQWBMgLddNsDVCS2OoXWvQrXYDuys++m21G/Fg7rZis8d3d3e44yHc7tr3te17t4Ry0bPEWlshFiO0axf1L71MYN1arLl5hHbsIPDJJogc8GGVYWB4vbhOnIJ9yBCsOTk4x47DVjgAZRjd95foI0qbSrl9we1sqt3EhcUX8qMpP8JpJnCH+EV/gHd+Bhf9HRxeGH7+UZW5/dlVvLl+D4995XhWl9bztanFietjH9cdwXo1cNa+Ueq2wPyO1vqIW9AppcYAjwMGYAGe01r/Qin1C2C51voVpdRvgQuACFBLfHOzTUeqK8FaCCGE6Dui4dj+tdqN1a001QTIa9sobtf6GqpLmhg9NZ9ga4Q180vYu6uJ8WcNINgSf9xQ1crwyTkEW8Ls3lhLqCVCUoaTYEuElsYgOnbk9g1T4fTasLtMLIYFu8vEk2LH7ooH8n3B3Olp+77tsWFKIBddK1JXR3DbdohFCe3YSd2zzxKtqUHZbIRLPt2iSDkc2IuL41+HDMF75pk4RhyHmSbrbzsqHAvz0OqHeGTNIwxNGYrL6uKXJ/+SwqQjrphtn1gUHjsX9qyFSCvcNB/yJnS4zIbyRs778/ucVJzG+vJGFt5xOsku27H3rx/ojmC9Vms9+oDHFmD1gc91JQnWQgghhNhHx/T+Xc7rK1sIBSJkFiYBsPXjvQSawxSNyyDYEmb53J2EghEGT8wi2BJhxZu7sFggb1gKwZYIpZvqQBHfGK4lQiR4+KnsVkd8PbnTY8Wb5sDhtmK1G7h8dlxeKw6PDYfbbPtqxeExMa0yiig6R6ylhdonniC8dy8Wq43gli00f/QRxD79ZEnZ7dgGDYoH7ZEjsA8dijUvT/Y4aIf5u+dzx3t3EIlFuO+0+5g+cHpiCtdsg7+dDBnD4eb5Rz0l/NpHl7CxopE3v30aaR7ZCK+9uiNY3wuMAZ5pe+pKYM3BO3x3FQnWQgghhEgErTXRSGx/4K3Y1oDFosgaFA/mS1/bgc1hIX94GoHmMO8/uxm3z0bukGRa/WHWvVeGy2vDlWQj0BymsTpwpOawmPGj0rypDpweK2bbtHV3sh2X14bTa8WZZMPljYdxORZNHItYSwvhPXuIVFUTWLeWmkcfA4uFaG3t/sCtXC5cEybgGDECMz0d74xzsbad6y0+a2PNRm6Zdwv+kJ97p95LnieP4uQETLte8jC8cQfM+hMMnwmutA4H7Pe3VHHto0u559IxXHF8AbGYxiLvH1+ouzYvuwQ4pe3h+1rrFzuloXaQYC2EEEKInsBfF0BZFG5ffIRozfxSkrOcpOV5aGkKMe9fG8ga5CO9wEtzQ5Dlc3eSnu/B6bXS3BCitrw5vnvNIX59UwpMm4E72Y4nxY7TY8XmMvGmOHD5bDjbAr3TGw/icvSZaK9YSwstK1ZS+9ijYLUSqdxLcPPm/WHbVliIfcQIjCQvSbMuwDVuLMo8ul2r+5rK5kpunXcrm2o3odH8+Yw/c8aAM46taCwGT14IpctBGTDjdzD+mg6V0Fpz3p8XEYpESXPbOG1oBrdMG3Js/eoHuvK4rQeBp7XWHySsaAJIsBZCCCFEb6O1JtgSwWJR2JwmkVCUzUsrySj04k1xUFvRzAdztpI3NBlPip3a8mbWv19OxgAvFkPhrw/SXBc8bP195437Mpx40xy4kmy4fXbcyXbcPhsuX/yraZPp6OLzwnv3UvfMbIhFCW7bRsvSpcQam4D4qLZ98GAMn4+Uq7+M+6STsNj67xrelnAL31nwHT4o/4CfTPkJVwy74tiL1u+Gv54EDh9c9zKkD+5wiRdXlnL7s6s5dXA6M8fmcOXxA469X31cVwbr24AvATnAc8RD9qqENXCUJFgLIYQQoq/bF8QNqwWrzaClMcSWZZXkD0/Gajcp31rPstd2MnhSJlabhcodjexcW0NKjotwMEpzfQgd+/zvhTaHgTvFgcNjYneYJGe78CTHR8EPDOFWCeD9WjQQwL9wIbqlhcD6DTS98w6RPXuAtrXaRUWYGRmk3ngD7gkTUP0saAejQW6bfxuLyxbzoyk/Itedy6n5px5b0aWPwOvfgyufguNmdfjycDTGaffMZ2Cam2duPuIhS6JNd6yxLiQesL8EOImvtX5Ga7054Y21gwRrIYQQQojPioSiNFYH8KY7sNoMasr8bFhUxsCxGeioZseaajYtrqB4QgbhUIzqkiYaqwNYDEUs+vnfH632+HnhqbluvCl23Cl2PCkOvCmOtu/t2BwyPbi/0FoT3LqVcEkpLUuW0PDqq/G12sR3IbcWFGAryCfjttuwDx3aLzZEC0aDfGvet1hcvhgLFuZeMpd8b/7RF4xG4KFTINwMRafDsPNg2IwOlXhg3hbue2sz8787lYZAhHEFyUffn36gW9ZYH9D4eOAxYIzWuls+ypRgLYQQQghxbBprWqnc0cigcelEAjE2fVTBxsUVjJmWT8AfZtvKKqp2NZExwIO/PkRrY+hzNQzTgi/TiSfFjsNjw5tqJyndKeG7nwju3EVo6xaalyyl4cUXifn9AJhZWVgHDMB94omkfeU6LG53N/e08wQiAW559xaW7lnKr0/5NbOKOz7S/BnbF8ATF4InCyZ/HU79Tocu39MQ4KTfvctJxeks2lrNu9+dSnGG59j61Id1x4i1CcwgPmJ9JrCA+Ij1ywlvrB0kWAshhBBCdK5QIEJzfZCU7Hgo2rZqL7vX1TJscjb+ugDr3iujuqSJ/OGp+OuC1FY0Ew1//tBwu9vcvwu6J9VBWq4Hb5oDb6oDb5oDu8vsF6Ob/UFo505aPv4Y/8L3aHr7bdAarFbcx0/CSE0j+bJLcU2e3Of+f+8L1x9XfswPJ/+QiVkTj2238NlXw7Z5cOsKSMrp8OU3/HMp68oa+eF5wzl/TA52U5Z1HE5XrrE+C7gKOA9YCswGXtZaNyeskaMgwVoIIYQQovsdeKRP6aZaGqsD5A9PwV8XZOmr2/HXBSkYkUpTTYCyzXVEwzEO/lXV6ogfOWZ3mSSlOUjN85CU5twfvJ1ea58LYv1B1O+nefFiWletxj9vHqGdOwHi52hPn46tqIikC2ZhMfpG6GsMNXLN3GvY1biLEWkjeGbmM1980eHUbocHJ8Ooy+Dkb4Fhg7T2B/X/rqvg60+t4LHrJzFteNbR96Mf6MpgPQ94Gpijta5LWOFjJMFaCCGEEKJ3Kd9STyQUJbMwicaaVhbP2Uo0qskc4KWpNsDu9TVozefWe5tWC950Jw6XSUqOm7Q8N0npTnwZTpLSnHLMWC/RvHQprStX0rz4Q1qWLgWtMdLSSL74Irznnov9uON6fcje3bibK1+7kjRnGs+c/wxem/foi73zM1j0B7C542utL/1Huy8NRWKc+Nt3mViYwrThmaR57Jw1QgL2oXTrGuueQIK1EEIIIUTfUrGtAcNU+DJdNNUEePeJDbiT7CRnu2isamXHmmosShE7aKdzT4odX4YTm9MkPd9DSo47HrrTnTjc1m7624gjCZWUUP3ww0TKymlesgSiUTBN0m64nuQrr8SWfwwbgHWzZXuWcfNbN3NCzglcUHwBMwbNwKKO4sOfYBP8ZSI4kuGGN8Cd1qHLfz13A//8YCcD01yMyPXx56vGd7wP/YAEawnWQgghhBD9ho5pSjfV4Uyy4kqyU1PuZ8FTm0jNcWNzmdRXtrJ3Z+PnrrM6DFKyXPvXdKfle0jJcpOc7cLulE3VeoJIbS3Vf3uIxjfeIFpdDcSnizsnTCD7Jz/G4nB0cw87bs7mOfzsw58BcP/U+zl74NlHV2jFE/DKrfDl52DoOR26dOveJqb//j2+PX0It505RJZTHIYEawnWQgghhBCiTTgUpWRDLd5UB8qiqNhWz5KXtpM1KAkN1FU0468LfuYa02YhNcdNWr6H5CwXKVkukrNcJKU7MUyZXt4dwmVlNLzyCtV/fxgdCGDxevHNmonnzOl4Tj6pu7vXIb9b+jv+vfHf/OH0PzC9cPrRFYmG4S8TwOEDdyacdgcUntjuyy/56wc0BiK8fftpEqwPQ4K1BGshhBBCCNFOzQ1BPlmyh4wBXsKBKDvXVrPxgwrS8z00NwRpbQrvf62yKDwpdlxeG9nFSaTne0nNdZOS7cZq791rgHuLWDRK8/uLaJw7l6Y330SHQljz88m88/t4p01D9YK12OFomKtfv5qK5goePftRkh3JZLoyO15o+T/htW+DrwDO+gWMuqTdl85eupsf/Gctc75xEhMLUzredj8gwVqCtRBCCCGEOAbRcAxlAYthYffGGla/U8LAMem0NITYubaa6hI/FkN9ZjM1T6qdtDwPyZku0vI8pOVJ4O5sobIyKn/9a1rXriVaVY2ZlYV98GByfv0rrNnZ3d29I9resJ0rX70SgDEZY3j0nEc7XiQShD+PB18+3PgmdGDk2R+McMKv32HWmFzuvmxMx9vuByRYS7AWQgghhBCdJNAcpqbUT3ZxEo3VAVa/W8K2lVXkD0+hrqKZ2vLmT48NU+BKsuFNdZA3NIX0Ag/p+fHwrSwy/TZRdCRC07x57L3vfsK7d2Px+Ui74QaSr7gcMzW1u7t3WM9uepZfLfkVN466kdsn3n50RZY+Aq9/D657BUw7FExud8C+4/nVvL62gqU/mo7bLvsKHEyCtQRrIYQQQgjRTXatq6FkYw05g5OpLW9mw6JyWhpDwKfHhVkMRWahl/QCL+l5HjIK41PKTauMbh+rpvnzqXvmGZrfex9ME/vgwRQ+9RSGx93dXfscrTW3zLuFJRVLmH3+bHI9ubisro4VCQfgT2PBlQp7N8A1c2Bw+9ZtrymtZ/6mKq4/eSA+p+ySfzAJ1hKshRBCCCFED9HqD9HSECI5y0VtRTPvzf6E1qYwriQb1aV+woEoEF+/nZLtwpvqIKvIR05REukFXjkW7Ci1rl9P+ffvJLRtG0ZaGun/+w3cJ5+CfWBhd3ftM6pbq7n0lUsxLSZaa1688EV8dl/Hinz4ILz5f3DKd+KbmNk6GM7FIUmwlmAthBBCCCF6AR3TLH5xK+FAFIfHSnWJn13ra+CAX9mdXitZg5IoOC6NrEFJpOd7ZGfyDmhds4a9995Hy7JlAKRe/xUy77yzR+2EvaBkAbfOu5VR6aN45KxH8Ng8HSsQaoE/jYHs0XDti53TyX5IgrUEayGEEEII0QvpmGb3hlpUW24u31LPx2/swmo3CAfbRrYVpOS4yR+WQtagJLKLffGjxHpQUOxptNY0zp1L5W9/R7SmBs/UqWR873s4hgzu7q7td/v82/mg/ANevvBlcjw5HS+w6I/wzk/hzJ+B1QlTvp7wPvY3EqwlWAshhBBCiD6iuSGIskA0rNm+ci8fvriNpHQnTbUBIqEYEB/Vzh+eSk6xj5zByaTlumVztEPQkQi1Tz1F1Z/+hA4EcYwbx8Ann0CZ3b9xV7m/nAtfupBJ2ZNwGA7uOvEuUhwdOAYr0Ai/Pw7c6fGzrW9aABaZ2XAsJFhLsBZCCCGEEH2U1hodi/9Ov3lZJR+9tI20PA81pX6aG+KbpNkcBjmDk8ku8pE3LIXMgV4MQ0LWPqHduym5+WuEdu7EMXIkuffei71oUHd3i7+v/jsPrHoAr9XLn6b9ieOzj+9YgbnfhRVPwu3rwZPROZ3sRyRYS7AWQgghhBD9jNaaTz7aw4q3dpE1yEfl9gbq9rQAYLUb5A5JJndoMgXHpZKe5+n3I9paa5r++1/2/OKXxJqbcZ90IvkPPNCto9fBaJCLX74YQxn854L/YDU6uHHd3o3w1ykw/edw0q2AklHrY9BrgrVSygG8B9gBE3hBa/3Tw7z2UuAF4Hit9RFTswRrIYQQQgghYNOHFXzyUQXJ2W5KN9VRXxkP2g63lbxhyeQOTWHAcan4Mp39do12uLKSnZdfQWTvXnwXXUT2XT/B4uq+XbXfK32Pb777Tb4z8TuMTBvJxKyJGJYOHMP2z/OhbgcoC5x/Pww9p/M628cdKVh3/+KBzwoC07TWfqWUFViklHpDa/3RgS9SSnmB24Al3dFJIYQQQggheqPhJ+Yw/MRPN8Ja+fYuKrY2YHeZlG6qY9uKKgCS0h0MGJnGgJGp5A9LxWrvP+dpW7OyGDzvXar+/BdqHnmE1tWrSf/GN/BdMKtb+nNa/mlMzZ/Kg6seJBgNcu9p93LuoHPbX+D4/4EXboD8yWD3dl5H+7keFax1fPjc3/bQ2vbnUEPqvwTuBu7ooq4JIYQQQgjR54w/q5DxZ8W/11qzeM5WmhuChIMxNn20h3ULy1AWRf7wFApHplE4Kq1fjGYr0yTzO7fjPnEKJd/4X8q//32U00HSWWd1S3/uPOFOLnrpIo7PPp4zB5zZsYuPmwWeLHAkQeFJndNB0bOCNYBSygA+BgYDD2qtlxz08wlAgdZ6rlJKgrUQQgghhBAJoJTi5MuG7H/c6g/xzmMbUIaisaqVRc9vYdHzW3Al2SiemEnRuAxyB/uw9OFN0Nwnnkjh7NmU3nwT5d+7A+67t1vCdYG3gMuGXsZznzxHZUsl+d789l9sWGHi9bDwHtizFsKtUHBCp/W1v+pRa6wPpJRKBl4EbtVar2t7zgLMA67XWu9USi0AvneoNdZKqZuBmwEGDBgwcdeuXV3WdyGEEEIIIfqako21LHz6E5xJNqp2NxENxzBMxcAx6QybnE3BcamYtr45ZTxSV0fp179B65o12IqLGfjUkxjJyV3ah70teznvP+cxKXsSVmXlD2f8AdPSznHSxnL4wyhIGwL+PfC9zWDaO7fDfVCv2bzsYEqpu4AWrfV9bY99wDY+nS6eDdQCFxxpAzPZvEwIIYQQQojECQejLH11O2vml2LaLIRaoxhWC2m5bkadnk/R2HTsrg7uYN3DxVpb2XXttQTWrSf1xhvI+v73u7wPdy+9m6c3PU2uO5eHz36YAm9B+y9+7jrYNh++9AwMPBn6+HT+ztBrNi9TSmUAYa11vVLKCZxFfC01AFrrBiD9gNcv4DAj1kIIIYQQQojOYbUbnHzZEE68uBgNlH9Sz/vPb2bv7ibmPb6RBYYiu8jH0MlZDD0hG2sfGMm2OJ0MnD2bip/cRe1j/8RITcU3cybW7Owu68ONo27k+c3PMyFrQsdCNcDxX4UNL0P9LlCndE4H+7EeNWKtlBoDPA4YgAV4Tmv9C6XUL4DlWutXDnr9AtoRrGXEWgghhBBCiM6lY5rGmlZam8JsW7GXNfNLiUU1VrtB0bgMBk/KZMCI1F6/JltHo5TfcQeNr7+Bcjopnvsa1tzcLmv/nmX38PTGp5lzwRwsysIg36D2Xag1/GUiuNNh0Gkw8Qbw5XVuZ/uYXjsVPFEkWAshhBBCCNG1Knc2smd7A7VlfrauqCLUGsFqNxh+Yg5DT8gia1BSr91dXIdC7P7qTbQsXUru/ffjO/+8Lmu7urWaGXNmkOJIwVAGr138WvvPtV7wu/gfFFz6CIy+rFP72tf0mqngQgghhBBCiL4ha2ASWQOTADhhVhHvPL6BWFiz4YNy1i4oxeY0GHlqHmOnFeBO7l0baSmbjYK/P0TJTTdTfuedgMYxdCj2IUO+8Npjle5M58phV/LEhif48ZQfd+zDidGXw4LfwtQ7JVQnmIxYCyGEEEIIIbpMqDXCkle3s2ZeKcD+c7KPOymH4vEZvWqqeNTvZ/dXriewcQNmdg6D334LZXT+evKa1hpm/GcG0wdM5zen/qZjFz98BsTC8PVFndO5PkxGrIUQQgghhBA9gs1pcuoVQ5k8q4iWxhAbF1ewZn4JJRtq8aTYGTU1jxEn5+L02rq7q1/I8HgoeOhvbJ91AcRixFpaMLzeTm83zZnGpUMuZfYns8nz5DG9cDrDUoe17+IxV8B/fwDPXw+udDj/vk7ta3/Rez4OEkIIIYQQQvQZNqdJcpaLEy8u5oLbxjHy1Fx8mS4+emk7//z+Iubcs5yq3U3d3c0vZGZkkP/AX4hUVVH+wx8S3LWrS9q9avhVRGNRHl33KPNL5rf/wpGXgLJAfQlYnZ3XwX5GpoILIYQQQggheozqsiZe/dMqAs0RYlFN3rAURpycw5Djs3r0Zme1jz9O5W9/B0pR8PeH8Jx2Wqe3+c13v8naqrW8e/m7WI0OnBv+xEVQux1uWy3nWXfAkaaCy4i1EEIIIYQQosdIz/Nywz2ncv3dJ3PSJYOpKfPz9mMbePLHH/LJkj3EYj1zYDDluuvwnnsOADoa65I2vzz8y9QF63hz15vEdAfaHHNF/Dzr0mXQWNF5HexHZMRaCCGEEEII0WPV723hvdmb8dcFqatoxpvmYMwZ+YyZVoDF0rNGW2PNzey44kqidXUMevE/mBkZKEvnjWXGdIwLX7qQiI6AhjkXzMFldX3xhYFGuG8I5E2E3R/CdzaCN7vT+tlXyIi1EEIIIYQQoldKznRxwbfGcdVPTuDcm0fR2hTigxe28szPl7BleSU9aaDQ4naT/+c/EfP72X7RRdTNnt257SkLVw2/itKmUvK8efjD/vZd6EiCoedC5XqYdhcYPX+juJ5OgrUQQgghhBCix1MWRfGETK7++RQmX1CExVC89Y/1PPmjxZRsqOnu7u1nLy4m/ZZbiNXVE9qxs9Pbu3DwhbitbtKd6WS6Mtt/4ZgrIFAP2aPAldp5HewnJFgLIYQQQggheg1PioNJ5w3kyh+fwPhzBtBUG+SVP6/mrUfX01Qb6O7uAZB24w3YRxxH4xtvEG1o6NS23FY3Fw2+iDd3vskntZ9Q0lTSvgsHnwWOZFg9G7a+C83VndrPvk6CtRBCCCGEEKLXsVgUJ108mEt/MJGJMwrZvqqKp37yIe8+sZFYF20edjjKNMn91a+I1tVR+q3baHj11U5t76rhVxGJRbj2jWv5y4q/tO8i0wbHzYTN/4WnLoH1L3ZqH/s6CdZCCCGEEEKIXit7oI8pFxZz9c+nYHMYbFpcwQt3f0x1aTvXG3cSx4gRpP3PjbQsWULNPx7t1LXghUmFnJp3KlaLla+N/Vr7Lxx2HoT8cObPYPy1nda//kCCtRBCCCGEEKLX86Y6+MrvTmbqVUPx1wV47jfLePmPKwm1RrqtT+nf/CbWAQOI+ZvQLS2d2tblQy+nMdRImb+s/RcVnQ6GHfyVYHV0Vtf6BQnWQgghhBBCiD7BtBqMmprPl386pvSkYAAAIABJREFUhexBSZRuquOFu5d329pri91O7m9/Q7isnKoHHiS0e3entXVK3ikk25N5euPTPLDygfaNkNvcUDQVNr8BSx6GTXM7rX99nQRrIYQQQgghRJ/i8Fi55I6JnHrlEPz1QZ799VI2L6vslr64Jk4kadYsah//FyU334yORjulHath5dyB57KkYgn/WvcvSptK23fh0HOhbid89FfY+Fqn9K0/kGAthBBCCCGE6JPGnFHAFT88HqfbytuPruf1h9YQi3X9udcZt90GFgNrQQHKMDqtnVnFs4joCN+d9F0Kkgrad9HQc+Nfx1wOF/+t0/rW10mwFkIIIYQQQvRZyVkuLvn+RFKyXexYVc3rf1tDONQ5o8aHY8vPI/Xqq2n+YDGBzZs7rZ3R6aMpTCrk7d1vt/8iXx7kjIXtCzutX/2BBGshhBBCCCFEn+b02Pjyz6Yw9aqh7FpXw+xfLMFfH+zSPqR9/WtY3G7Kbv8Olffe2yltKKWYWTSTZXuWccMbN/D85ufbd+HQGVCyFBb8DuZ8tVP61tdJsBZCCCGEEEL0C6Om5jN5VhGN1QFeuHs5zQ1dF67NlBTSbrqJ0LZttK5a1WlrrWcWzQSgOlCNodo57XzYuYCGhlLImwSdeDRYXyXBWgghhBBCCNFvTDpvIKddNZRgS4T/3PsxDVWtXdZ26nXXYmZlosMRsHROFMv35jMhcwIWZeHiwRe376KcceDNgUA9TPk6KNUpfevLJFgLIYQQQggh+pXRU/O58NvjCDRHeOYXS6gubeqSdi0OBxnf+haBNWuof+EFgtu3d0o7M4tnsr1hOxtqNlDVUvXFFygV38Rs23yIdO0U+b5CgrUQQgghhBCi38ke5OPkywYTDcd446G1BJrDXdKu76KLsA0eTOUvfkn5j37cKW2cXXg2VouV/1v0f1zz+jXtO9N62AwI+WHn+53Sp76uRwVrpZRDKbVUKbVaKbVeKfXzQ7zm60qptUqpVUqpRUqpEd3RVyGEEEIIIUTvNuLkXGbeOhZ/fbBtt/BIp7epDIP0m29Ch8MkX3hhp7Ths/s4veB0qlqruGnMTUR1O9ZzDzoNTCd88t9O6VNf16OCNRAEpmmtxwLjgHOVUlMOes3TWuvRWutxwD3A77u6k0IIIYQQQoi+oXBkGtOvH0HF1gae/ukSopFYp7eZNGMGZk4OjXPndlobM4tm0hRqIsedg2kxv/gCqxOKp8Enb8jmZUehRwVrHedve2ht+6MPek3jAQ/dB/9cCCGEEEIIITpiyKQsBo5Ow18XZNHzW9o3dfoYKKuV1Ouuo2XZMkpuuZXG/76Z8DZOzjsZp+nkrZ1v8ebON4npdnxgMOxcUBbw7014f/q6HhWsAZRShlJqFbAXeFtrveQQr/mmUmob8RHrbx2mzs1KqeVKqeVVVe1YsC+EEEIIIYTot87/5ljGTMtn3cIyNn1Y0entJV9+ORavl5alSwmXliS8vt2wc0reKby9+22+t/B7rK5a/cUXjf0yfHsNeLMS3p++rscFa611tG2adz5wglJq1CFe86DWuhi4Ezjkin+t9cNa60la60kZGRmd22khhBBCCCFEr3fyZUPIKfYx/6lNrF1Y2qltGR43KV+6kpjfj/ecczqljTMKzqAp1MRdU+5ibMbYdnTKlKO2jlKPC9b7aK3rgfnAuUd42Wzgoq7pkRBCCCGEEKIvs1gU0647DlCs+O8uouHOXW+dcs21YBjU/vNfhEpK0JHEbp52Wv5pGMqgorkCi+qx0a9P6FH/dZVSGUqp5LbvncBZwKaDXjPkgIfnA1u6rodCCCGEEEKIviw5y8U5N4/CXxfkw5e2dWpb1qxMfLNmUf/CC2w762z8ixYltL7P7mNi1kTe2fUOD61+iLVVaxNaX3yqRwVrIAeYr5RaAywjvsb6NaXUL5RSF7S95pa2o7hWAd8BvtJdnRVCCCGEEEL0PcXjMhh9ej6r3y1hzj3LO3Wn8LQbb0CHQrhPOgnHiMSfJHxGwRnsaNzBo2sfZXnl8oTXF3Ht2He962it1wDjD/H8XQd8f1uXdkoIIYQQQgjR75x0aTE71lRRubORvbsaySlO7pR27IMH45k6lda1azGSE9/GGQPO4O5ld/PV0V/lhlE3JLy+iOtpI9ZCCCGEEEII0e1Mq8GsW8dhMSysfrdzNzJLueYaorW11Dz8ME3z5iW0dp4nj2Epw1hcvjihdcVnSbAWQgghhBBCiENIzXEz8dxCtq3Yy/vPbSYW7Zwp4e6TTsTMyaH2yaeofuDBhNc/Y8AZrKpaxY8X/Zg/fvzHhNcXEqyFEEIIIYQQ4rDGnz0AV5KNNfNK2bG6qlPaUIZB8sUXEWtsJPe+exNef1rBNGI6RklTCRqd8PpCgrUQQgghhBBCHJZpNTj9mmEANFQFOq0d3yWXgNY0vvFGwmsPTx1OjjuHJHsSt0+8PeH1hQRrIYQQQgghhDiiQWMyGDgmnWWv76S6pAmtEz/qa8vPx3XiFOpnP8vOa68jUleXsNpKKU4vOJ2Pyj+iNdJKNBZNWG0RJ8FaCCGEEEIIIb7AqVcMQUdjPP/b5WxZVtkpbSRfehmRqirCu3cTLi1LaO1pA6YRiAa48c0bueO9OxJaW0iwFkIIIYQQQogvlJTuZPw5hcRimki4czYx8541HYvPh3PiRJyjRyW09sSsiXitXgDGZ37uhGNxjCRYCyGEEEIIIUQ7TDynkKR0B2sXlHbKdHCL3Y5v5kz877xDpLaWWHNzwmpbLVYmZU+iLlDHtSOuTVhdESfBWgghhBBCCCHawbQZHD9zENUlfv778FoiocSvVU6+7FJ0KMS282ey949/SmjtKTlTKPOXsbNhJ3tb9ia0dn8nwVoIIYQQQggh2mno8Vm4k+1sX1lN2ZbEbTC2j+O443CMGIEyTVxTJie09pTcKQDc8u4t3LFQ1lknkgRrIYQQQgghhGgni2FhyoVFAMQinXMmtO+yS4lWVWHNzk5o3UFJg8h0ZpLiSJHp4AkmwVoIIYQQQgghOmDoCVkkZThZNncnwdZwwusnzZgBhkHDK6/QsnJlwuoqpZiSO4WdjTuZNmBawuoKCdZCCCGEEEII0SEWw8KkGYVU7W7iif9bTKg1ktD6ZkoK7smTaXj+BUr+95voSOLqT8mZQn2wng/LP2R11eqE1e3vJFgLIYQQQgghRAcNnZyNO9mOYVqIRhN//Jb3nHOItbSQ/cMfgGEkrO7knPi67buX3s2PFv0oYXX7OwnWQgghhBBCCNFBhmHhhFmDaG0KU7mjMeH1vdPPBIuF4I4dKKUSVjfTlUmRr4gkexL3T70/YXX7OwnWQgghhBBCCHEUhk3JJindwYf/2cauddUJrW2mpeE6/ngaX3uNvX/6MzoUSljtKTlT+KT2Ewb5BiWsZn8nwVoIIYQQQgghjoJhWBh/diG1Fc28N3sLWid2l3DvOWcTLiml5qGHCGzYkLC6U3KmEIgGmLN5Dq9tfy1hdfszCdZCCCGEEEIIcZSGnpCF1W6QUehN6JRtAO/06aAUqTfegHPcuITVnZQ9CUMZvLDlBe5ffn/CPxDojyRYCyGEEEIIIcRRsjlMhp+Uw47VVbQ0Jm66NoA1MxPnxAk0v/d+Qut6bV5Gpo/EUAavXfxawj8Q6I8kWAshhBBCCCHEMRg9NY9YRDPnnuXs2d6Q0NpJZ59DcMsWdt10E00LFiSs7pScKXxS9wkxnfgdzfsjCdZCCCGEEEIIcQxSst3kDk3GXxekuT6Y0Nres88CILhhA9GamoTVnZIzhZiO8ddVf+XpjU8nrG5/1aOCtVLKoZRaqpRarZRar5T6+SFe8x2l1Aal1Bql1LtKqcLu6KsQQgghhBBC7DP2jAJiUY2yJHZatTU7G+e4cZiZWSRfemnC6o7NGIvTdPJe6Xu8seONhNXtr3pUsAaCwDSt9VhgHHCuUmrKQa9ZCUzSWo8BXgDu6eI+CiGEEEIIIcRnDByThifFztqFpdRXtiS0tveccwhu3Eho1y50NJqQmjbDxvjM8ZgWkyfPezIhNfuzHhWsdZy/7aG17Y8+6DXztdb77tSPgPwu7KIQQgghhBBCfI7FsDDy1FxKN9bx7K+WEmyNJKx2Utt08F1fuZ6qP/4xYXXHZ45nR8MOGkONCavZX/WoYA2glDKUUquAvcDbWuslR3j5/wAyb0EIIYQQQgjR7UackofFosgZ7MMwEjcl3JqXh334cABsRcUJqzsucxwazS8//CWPrHkkYXX7I9VTzyxTSiUDLwK3aq3XHeLn1wC3AFO11p/bIUApdTNwc9vDUcDnagjRS6QD1d3dCSGOgdzDoreTe1j0ZnL/it6uJ93DhVrrjEP9oMcGawCl1F1Ai9b6voOenw78hXio3tuOOsu11pM6qZtCdCq5f0VvJ/ew6O3kHha9mdy/orfrLfdwj5oKrpTKaBupRinlBM4CNh30mvHA34EL2hOqhRBCCCGEEEKIzmR2dwcOkgM8rpQyiIf+57TWrymlfgEs11q/AtwLeIDnlVIAu7XWF3Rbj4UQQgghhBBC9Gs9KlhrrdcA4w/x/F0HfD/9KEo/fCz9EqKbyf0reju5h0VvJ/ew6M3k/hW9Xa+4h3v0GmshhBBCCCGEEKKn61FrrIUQQgghhBBCiN6mTwdrpdS5SqlPlFJblVI/6O7+CNFRSqmdSqm1SqlVSqnl3d0fIb6IUuoxpdRepdS6A55LVUq9rZTa0vY1pTv7KMThHOb+/ZlSqqztfXiVUuq87uyjEEeilCpQSs1XSm1QSq1XSt3W9ry8D4se7wj3b694H+6zU8HbNkDbTHxn8VJgGXCV1npDt3ZMiA5QSu0EJmmte8rZfUIckVLqNMAPPKG1HtX23D1Ardb6d20fcqZore/szn4KcSiHuX9/BvgPPvpTiJ5IKZUD5GitVyilvMDHwEXA9cj7sOjhjnD/XkEveB/uyyPWJwBbtdbbtdYhYDZwYTf3SQgh+jSt9XtA7UFPXwg83vb948T/kRSixznM/StEr6G1rtBar2j7vgnYCOQh78OiFzjC/dsr9OVgnQeUHPC4lF70P0aINhp4Syn1sVLq5u7ujBBHKUtrXdH2/R4gqzs7I8RRuEUptaZtqrhMoRW9glJqIPHTdpYg78Oilzno/oVe8D7cl4O1EH3BKVrrCcAM4Jtt0xSF6LV0fP1R31yDJPqqvwHFwDigAri/e7sjxBdTSnmAOcC3tdaNB/5M3odFT3eI+7dXvA/35WBdBhQc8Di/7Tkheg2tdVnb173Ai8SXOAjR21S2rZvat35qbzf3R4h201pXaq2jWusY8AjyPix6OKWUlXgo+bfW+j9tT8v7sOgVDnX/9pb34b4crJcBQ5RSg5RSNuBLwCvd3Cch2k0p5W7buAGllBs4G1h35KuE6JFeAb7S9v1XgJe7sS9CdMi+MNLmYuR9WPRgSikFPAps1Fr//oAfyfuw6PEOd//2lvfhPrsrOEDbVux/BAzgMa31r7u5S0K0m1KqiPgoNYAJPC33sOjplFLPAKcD6UAl8FPgJeA5YACwC7hCay0bRIke5zD37+nEpx9qYCfwtQPWqgrRoyilTgHeB9YCsban/4/4OlV5HxY92hHu36voBe/DfTpYCyGEEEIIIYQQna0vTwUXQgghhBBCCCE6nQRrIYQQQgghhBDiGEiwFkIIIYQQQgghjoEEayGEEEIIIYQQ4hhIsBZCCCGEEEIIIY6BBGshhBDiEJRSUaXUKqXUeqXUaqXUd5VSlrafTVJK/fkoai5QSk1KfG871IcZSqnlSqkNSqmV/8/efcfJUdePH399Zrbv9X6X3gkQAiGhhRLQCHyRJqJfUBD4CuLPCtgV8evXr6AoWBALKl38BkEERJCSEAghCQkhIZQ0kpByueT63vaZz++Pmd3bvdtLQtqVvJ88lpmd+czMZ/ZmJ/v+tFFK/fwgHfdapdTl7vwVSqmGvdjH39xHEWbeH62U0kqps3KWjVZKFXzGqVLqZ0qpM/Ym/0IIIcSuePo7A0IIIcQAFdNaHw2glKoB/gKUADdprV8DXjuYmVFKebTW6X3cx5HAHcA5Wut3lFImcM1+yeBuaK1/l/P2CuBNYOuebq+UOgIwtdbrcxZfArzsTp/eg938GrgLeGFPjyuEEELsCamxFkIIIXZDa92EE4B+UTlmKaWeBFBKnebWbC93a4CL3eXfVEqtdGu7b8nZ3cVKqcVKqdVKqVPctKOVUi8ppZa5r5Pc5bPc5Y8Db7nLblRKvauUelkp9ZBS6mvu8nFKqaeVUkvdbQ4rcCrfAP5Xa/2Oe16W1vq37vbnKqUWuefwnFKq1l3+A6XU/UqphUqpNUqpq93lRUqp5938rlRKnZ85iFLqcqXUCvfc78/Zz9eUUh8HpgMPup/ZOUqpx3K2na2U+nuBvH8K+EdOOgVcjBOkz1ZKBXLSmkqpu9zWBv9WSgXd890IVCql6vr6WwshhBB7QwJrIYQQYg+4NaUmUNNj1deAL7i126cAMaXU2cD5wPFa66nAT3PSe7TWxwFfBW5ylzUBs7XW04BPArnNzKcBX9FaT1RKzQAuAqYCZ+MEqBl/AL6ktT7WzdOdBU7jSGBpH6f4MnCC1voY4K84QXjGUcAZwInA991m3HHgQjfPpwM/dwsdjgC+B5zhnvtXcg+itf4bTm3/p9zP7CngMKVUtZvkSuDPBfI3s0feTwLe01qvA+YB5+SsmwD8Rmt9BNCG85llLHP3JYQQQuw30hRcCCGE2DcLgNuUUg8Cj2qtNyulPgzcrbWOAmitW3LSP+pOlwKj3XkvcIdS6mjAAibmpF+stX7PnZ8J/ENrHQfiSqknwKk9xgk0H3YqcgHwf8DzGA78n1KqHvAB7+Ws+4fWOoZTaDAXOA74J/BjpdSpgA0MA2pxAvCHtdY7C5x7L1pr7dZqf1opdTdO8H55gaT1wI6c95fgFADgTi8HHnHfv6e1Xu7O537O4BRifOD+3UIIIcSuSGAthBBC7AF30CwLJzCbnFmutb5FKfVP4D+ABUqpM3ezq4Q7tej+d/g6YDtOTbSBUxuc0bUH2TOAtkyf8F1YBRwLvFFg3a+B27TWjyulZgE/yFmne6TVOE2zq4FjtdYppdQGIMDeuRt4Aue8H+6jL3kss3+3b/hFwPlKqe8CCqeJd7GbNpGznQUEc94H3H0JIYQQ+400BRdCCCF2w22m/DvgDq217rFunNZ6pdb6J8AS4DDgWeBKpVTITVOxm0OUAtu01jZwGU6T80IWAOcqpQJuLfVHAbTWHcB7SqmL3eMppdTUAtvfCnxHKTXRTWcopa7NycMWd/4zPbY73z1mJTDLPc9SoMkNqk8HRrlpX8DpR165i3PvBDJBMFrrrTgDmX0PJ8gu5G1gvDv/IWCF1nqE1nq01noUTm31hX1sm2sizsBpQgghxH4jgbUQQghRWNAdXGsV8Bzwb+C/C6T7qlLqTaXUCiAF/Etr/TTwOPCaUmo5Tp/nXbkT+IxS6g2cwLxgLbXWeom73xXAv4CVQLu7+lPAf7n7WIXTx7vn9itw+nY/pJR6GyfAzDy+6gc4TcmXAjt7bLoCmAu8CvyPGwg/CExXSq3EaYadGRBtFfC/wItuXm4rcCr3AL9zP99MbfKDwPta67cLnTtO0/NZ7vwlQM8Bzh5xl/dJKeXFCc4P6ojuQgghhj7Vo+BdCCGEEAOYUqpIax1xa8PnA9dorZcdwOP9AIhorX92oI7hHucO4HWt9Z/6WB/ECe5naq2tvTzGhcA0rfWNe59TIYQQojfpYy2EEEIMLn9QSh2O01f43gMZVB8sbi15F3BDX2m01jGl1E04g6Rt2stDeYCf7+W2QgghRJ+kxloIIYQQQgghhNgH0sdaCCGEEEIIIYTYBxJYCyGEEEIIIYQQ+0ACayGEEEIIIYQQYh9IYC2EEEIIIYQQQuwDCayFEEIIIYQQQoh9IIG1EEIIIYQQQgixDySwFkIIIYQQQggh9oEE1kIIIYQQQgghxD6QwFoIIYQQQgghhNgHElgLIYQQQgghhBD7QAJrIYQQQgghhBBiH0hgLYQQQgghhBBC7AMJrIUQQgghhBBCiH0ggbUQQgghhBBCCLEPJLAWQgghhBBCCCH2gQTWQgghhBBCCCHEPpDAWgghhBBCCCGE2AcSWAshhBBCCCGEEPtAAmshhBBCCCGEEGIfSGAthBBCCCGEEELsAwmshRBCCCGEEEKIfSCBtRBCCCGEEEIIsQ88/Z2BA0kpdS5wbigUunry5Mn9nR0h9kpXVxfhcLi/syHEXpNrWAx2cg2LwUyuXzHYDaRreOnSpTu11tWF1imt9cHOz0E3adIk/e677/Z3NoTYK/PmzWPWrFn9nQ0h9ppcw2Kwk2tYDGZy/YrBbiBdw0qppVrr6YXWDemm4Eqpc5VSf4hEIv2dFSGEEEIIIYQQQ9SQDqy11k9ora8pKirq76wIIYQQQgghhBiihnRgLTXWQgghhBBCCCEOtCEdWEuNtRBCCCGEEEKIA21IB9ZSYy2EEEIIIYQQ4kAb0oG11FgLIYQQQgghhDjQhnRgLYQQQgghhBBiz1gpm83vtvZ3NgYlT39n4EBSSp0LnNvQ0NDfWRFCCCGEEEKIASkeSfHm/M2smLeFeCTF5f97IkXlgf7O1qAypANrrfUTwBOTJk26ur/zIoQQQgghhBADSdv2KG88/z7vLNxGOmUz8ohKjp49gnCZv7+zNugM6cBaCCGEEEIIIUQ3rTXb1raz/LlNvLdiJ4apmHR8HVM/NILKBhmbam9JYC2EEEIIIYQQQ5zWmvWv72DZvzfRtKEDf9jD9LNHc+RpwwiXSg31vhrSgbX0sRZCCCGEEEIc6nZs6uSlOavZtrad0pogp10ykUkn1uP1mf2dtSFjSAfW0sdaCCGEEEIIcaiKdSZ59R/reWvBVgJhL7M+NYnJMxswDNUrrdaargWv0PGvp6j/0Y9Qqnca0bchHVgLIYQQQgghxKEmnbRYMXczS5/eSDphMfX0Ecz46Gj8IW/B9LHly2m67Xaiixfjaagn3diIt77+IOd6cJPAWgghhBBCCCGGANvWrF7UyKLH1xNpTTDyiEpmfnw8FfXhgukTa9fSdNvtRF54AbOyktrvfpeyT34Cw+c7yDkf/IZ0YC19rIUQQgghhBCHgvffbmHBI2tp3hyhemQxH7ricIZPKi+Y1u7qYsdv7qTl3nsxgkGqv/oVKi67DCNcOAAXuzekA2vpYy2EEEIIIYQYytqaoiz421o2rNhJcWWAj/zXEYw/tgbVRz/qzmeeYfvNt5Devp2yiz9O9fXX4ykvHICLPTekA2shhBBCCCGEGIqSsTSv/WsDbzz/PqbH4IQLxjL1QyPweAuP9J1ubWXrN79J1/yX8E+ezLBf3E7omGMOcq6HLgmshRBCCCGEEGIQadrYwdO/f5POljiHnVjHCReM2+WzqGOrVrHlS18mvXMntd/5NuWXXorySCi4P8mnKYQQQgghhBCDgNaaVS9t5aU5qwmV+LjoG8dSN7Z0l9u0/+MfbPv+TZgVFYx68EGCU448SLk9tEhgLYQQQgghhBADXCpp8eKD7/LuokZGHlHB7CuPIFBU+PFZAHY0StPtv6D1/vsJzZjBsF/cjqeycpfHWLZ9GY+seYT/mfk/GMrY36cwpElgLYQQQgghhBADlLY169/YwaJ/rKd1e5Tjzh3D9LNHFxycDMDq7KT1wb/Qcu+9WK2tVHzmcmq+9jWUt+8gPJqK8stlv+Shdx6ioaiBpmgTdeG6A3VKQ9KQDqzlcVtCCCGEEEKIwUjbmvXLd7Dkn+/RvKWLstoQ533paEYcXlEwvdXRQcs999By/wPYnZ2ETzuVqs9dS2jargcoe3Xbq/zglR+wNbKVS0eeyZc7o4QCu67ZFr0N6cBaHrclhBBCCCGEGGx2bo7w3N2rsgH1h688nAkzajH6qKWOzJ/Pthu/T3r7dopnz6by2s8RPOKIPvcfSUaYv3k+z2x4hhfef4HRJaO5Z8aNTHvi6+AJQmQ7lA4/UKc3JA3pwFoIIYQQQgghBpNNq5p5+q438flNZl91OOOn9x1QWx0dbL/lJ7Q/+ij+CeMZfscduxyc7N8b/s1jax/j1W2vkrJTVAeruXrK1VxTfQKBBy8GXxFc8YQE1XtBAmshhBBCCCGEGADenL+F+X9dTUVDmI9+4SiKygN9pu169VW2fvNbpHfsoPKaa6j64hcwfL4+09/95t3ctvQ2hhUN49LDLuXDoz7MUdVHYWxdDvdfAP5S0pc9zopIGdMKtzYXuyCBtRBCCCGEEEL0I21rFv59Ha8/u4lRR1bykc8egS/Qd6jW+cILbP7KV/GNHMnoO35NcMqUXe7/vlX3cdvS2zh79Nn8+JQf4zHcfW9+De7/GARL2Xz+w3zl4W2s3PwOz99wGiMqQvvzFIc8CayFEEIIIYQQop+kkxbP3f0W617fwZGnDeOUT0zAMPt+1FXnc8+x+brrCUyezMg/3oVZUrLL/T/0zkPc+tqtzB41Oz+oXv4XePI6dHEdTx7zB7519wYMQ3HrxUcxvDy4P0/xkCCBtRBCCCGEEEL0g2hHkqd+u4LtGzqY+fHxTP3QCJQq3J8aoOOZf7PlhhsIHnEEI/54F2Zx8S73//Dqh/nxoh9z+ojT+cmpP3GC6nQSnvk2LPkjyZGn8A2+ymNP7eSkcZX87OKpNJRJUL03BmVgrZS6ADgHKAH+pLX+dz9nSQghhBBCCCH2WMu2Lv75mzeItic5+5opjD2mepfpO/71L7Z87esEjzqKEXf9AbOoaJfp/77m7/xw4Q85Zdgp/Oy0n+E1vNCxDeZcDpsXs6DmU3zuvXNI6hTfO2cyV80c0+cgaWL3DnpgrZT6M/BRoElrfWTO8rOAXwIm8Eet9S197UNr/RjwmFKqHPgZIIG1EEK4JuF5AAAgAElEQVQIIYQQYsDTWrPxzWaeu/stDFNxwfXTqB3Td3Pu+FtvseOXvyLy4osEjz2WEb//PWZReJfHeGLdE9z0yk2c1HASt8+6Dd+2FbD8QawVfyOdSnJD6is8s+UEzj96GJ+fNY5x1bsO0sXu9UeN9T3AHcB9mQVKKRP4DTAb2AwsUUo9jhNk39xj+6u01k3u/Pfc7YQQQgghhBBiwLJtzfrXd/D6vzfStLGT8roQH/3iVEqqCje9Tqxbx45f/ZrOZ57BKC2l+vrrqbj8MoxA3yOFAzy1/im+t+B7HFczjV/6J+D/3SmwczVpI8A/U8fyJ+MiTph5EvNnjqa+VJp97y8HPbDWWs9XSo3usfg4YK3Wej2AUuqvwPla65txarfzKKfjwS3Av7TWyw5sjoUQQgghhBBi7721YCtL/7WBjp1xSmuCnHbpJA47oQ6Pz8ymSTc3E12yhOjixUSXLCGxZi1GOEzVF75AxRWf2W1/aoBnNjzDd17+DseEhvOrVQsJRP6OHnECj4/8Nt9dPY7pk0Zx3yePpizU92O5xN5RWuuDf1AnsH4y0xRcKfVx4Cyt9Wfd95cBx2utv9jH9l8GPgMsAZZrrX9XIM01wDUA1dXVx86ZM+cAnIkQB14kEqFoN31ohBjI5BoWg51cw2Iwk+u3/7Wu12xdrAlWQNVkRfEwUD36MgdfeIGSOQ8DYPv9pMaNIzlpIrGZM9F78PeL2TFe6nyJp9r+yeEp+OOWjaSLxrNyzGe5ed1o3my2OHO0h09O8mHsYnC0gWggXcOnn376Uq319ELrBuXgZVrrXwG/2k2aPyiltgHner3eY2fNmnVQ8ibE/jZv3jzk+hWDmVzDYrCTa1gMZnL99q/mLRH+9shrDJtUynlfOabg4GDp5mbWXX8DgRNPoOarXyVw+OEor3eP9r8juoMH3n6AOe/OIZKKcFo0xi1ditB5v2Fx6Znc+Pc3eb8tyk8umsInZ4zc36d3UAyWa3igBNZbgBE574e7y/aJ1voJ4IlJkyZdva/7EkIIIYQQQog9lYylefoPb+ILeph91RF9jri98zd3YicS1N34ffxjxxRMo7Xm/rfuZ03bGuLpOPF0nGg6yutNr2Npi9llh3PVm89y+Liz2XD+rdzw/GaeWbWIupIAD/zX8Rw/tvJAnqpg4ATWS4AJSqkxOAH1fwKX7utOlVLnAuc2NDTs666EEEIIIYQQYo9orZn7wDu074hxwXVHEy71F0yX3LCB1jlzKPvExX0G1QCPrnmUW1+7lepgNWFvmKAnSMAT4GMTPsbl5VMZOee/SNdN40eB67jnjmX4PAY3zJ7IZ08ZSzCnH7c4cPrjcVsPAbOAKqXUZuAmrfWflFJfBJ7BGQn8z1rrVft6LKmxFkIIIYQQQhxsK+dtZu3SJk68cBwNE8r7TNd0+y9QPh/VX/hCn2m2RLbw0yU/5fi64/nDR/6AoYzulS3r4Y8fJhqs44Kma1m7fhufnDGS62ZPoKZ416OHi/2rP0YFv6SP5U8BT+3PY0mNtRBCCCGEEOJgatrYwYK/rWX0lEqOmd13v+bY8uV0PvMMVV/8Ip6qqoJpbG1z44IbUUrxw5k/zA+qoy1YD1xMPJHinOiX8dVU8o/PHM2U4aX7+5TEHjB2n2Tw0lo/obW+ZqCMIieEEEIIIYQYutJJi+fufotgsY8PXXF4r9G/M7TWbP/ZzzCrqqi88oo+9/fQOw+xpHEJ35jxDRqKcioLt62g666zsVo2cGXsq5x16sk88aWTJajuRwOlj7UQQgghhBBCDGoLH1tHa2OU875yNIFw3yN7R+bOJfbaUup+cBNGOFwwzYb2Dfxi6S84ZdgpXDj+QmdhKk5q7k8xXvkFUV3ErYFv880rr+TYURUH4nTEBzCkA2tpCi6EEEIIIYQ4GDa/08KKFzYz5fThjJjcd6BrdXay/eZb8I0eTdlFFxVOY1t8b8H38Jk+fnDSD1DpBLz/KrF/XE+wfR1/s05l3THf4b8/epwMTjZADOnAWgYvE0IIIYQQQhxoiWiK5+99m7LaECdeOK7PdFprtn3nu6S2bWPUfff1+bzqu16/gzd2vMHN/rHU3H0ueucalLZo1ZV813cjH7/sCj4+rnC/bNE/hnRgLYQQQgghhBAH2ktz1tDVnuSirx+Ldxc1yK0PPEjns89S8/WvE5p2TME0y1b9ld+u/CPndHUxe8caVjGKF9Pn8aY1gqqjz+G/zzuW4kDfzcxF/xjSgbU0BRdCCCGEEEIcKFprVs3fwruvNjL9nNHUjinpM21s5Uq2//SnFJ1+OhVXXdk7gW3TvuA2vrn6zwxTBh59A5N2jiboNbl4+nC+dtJoxlbLoMwD1ZAOrKUpuBBCCCGEEOJAiLTGmffgu2x8s5lhk8qZ/h+j+0xrtbez5avX4a2upuHmH6NUj9HCoy3oR6/hpo7X2RkKEdx2NU+mJvCts8dxyYyRlIakhnqgG9KBtRBCCCGEEELsT1pr3np5K688shbb1pz8iQlMmTUco49Ha6UaG9n2/e+Tampi9AP3Y5aV9UgQgwc/zpzIWp6vKCW14z8o9x3FX66eweiqwiOGi4FnSAfW0hRcCCGEEEIIsb9orfn3H1exdmkTwyaVcfqnJ1NaHSyYLrpwIa0PPUTnC3PBtqm98XsEp07tmRAe/zLLd67kloZhpCPjmFZ2Pr+9dIbUUg8yQzqwlqbgQgghhBBCiP1l7dIm1i5tYvo5oznunDEot5Zaa01qyxZiry8ntnw5XQsWkNywAbOsjMqrrqTsk5/EN3x4r/1tnfs//Krxef7ZUIedKuLs2uv4yYUn4DWNg31qYh8N6cBaCCGEEEIIIfaHRDTFS3PWUD2ymBk5QXXHM/+m8Uf/g7VjJwAqGCQ4dSpVn7+W4rPOYmN8Kzcs+DZ6hWZi+UQmlk9kXNk4nlx0F0+2vIIdCuPt+DDXHfc5Pn3cpN79r8WgIIG1EEIIIYQQQuzGq4+tJ96Z5KNfOCqvP3XrX/6C8nipu+n7BKdOxT9xIsrjhFmvN73Ol174EqYyGVM6hqc3PM3Dqx8GQGnNKV0Gkw67g2tOm0nA2/djusTAJ4G1EEIIIYQQQuxC4/p23nxpC0edPpyaUd2P1LKjUaLLllFx2WWUX3JJ3jbPb3yeb770TerCdfz2w79leNFwnnh9E689dQszPf+kzggw7qrnKaoacbBPRxwAQzqwlsHLhBBCCCGEEPvCsmzmPfgu4VI/x583Nm9ddMkSSKUIzzwpb/lD7zzEzYtuZkrVFH79oV+TToa4+a4HOG/zzzjP2EBX/WmEL/wFVEhQPVQM6cC60OBlzVsibHqrhXHHVFNS1XsEPyGEEEIIIYTIeOP592neEuHsz03BF8gPnyIvL0D5/YSmT88ue/q9p/nxoh8zq/xwflI9i/WP/pz3Vy/jW3ohsUAV1nn3ED7iApC+1EPKkA6sC3n1H+vZsGInrzyylvpxpUw8rpbxx9YSKJLh7IUQQgghhBDdUkmLJU++x+ijqhhzdFWv9V0LFhCaMQPD7wcgGmvlZy99l8mJJLcvexoPT3MkMFKV0DH1s5T9x03gLz7IZyEOhkMqsLbSNlvebWX8sTVUjyzm3UWNvPjQal6as4aRR1Qy6fg6Rk+pxOOTgQOEEEIIIYQ41EVa4qSTNuOPrek1Wndq61aS69dT9omL3cRN3D3nPLabSa4NnMyn9TS226Vc+ZEZfHrmxLwBz8TQc0gF1tvfayeVsJgwo5axR1dzzEdG0rwlwruLtrNmcSMbVuzEFzAZO62G6hHFFJX7CZf5KSrz4w95MD1Gdlh9IYQQQgghxNDW1Z4EIFzq67UusmABAEUzZ8K2FWz+v//k7lKDYdFRfG3jxzhpXCX3fuwoRlaGDmqeRf84pALrTataUIZi2KRyAJRSVA0vpmp4MSdeOI4tq1tZvaiRdcuaeOeVbQX3YRgK02tgegxMT86818AwFIZpYJjKfeXO5y8ze6RVpsLstU2P7Q0DpUBr0LZGa93HfM4ym/xp3nwf22qdPV/lfFDd8+6MUqpX3nqep+lRmB4Dw9M9n3kZpur+3HLmM5+BEEIIIYQQ/S3angAgVOrvta5rwSt4amuJdb2Deuiz3FxZThI/Xq7lzk9N4+wj6+SZ1IeQIR1YZ0YFH1FbC8D7b7dQN6YEf7D3aRuGYsRhFYw4rIIzLtPEIim62hJE2hJ0tSVIxtKkUzZW2n2lekzTGtuysS2NbWnSSQvbSmNZGm1rd7mz3rLy09pumv6i3EBZGcqJoZW7MBNg50+cefecDlR+DE9O4UUmODe7CzLyg3EnnZEbuGcC+bxtcgpDzB7p8rbpLiTIHKtnQYfcJIUQQgghhr5sjXVZfmCtLYuuhQvRR4wh/NgVPOobzvwimwtHX84PTzu3P7Iq+tmQDqwzo4IfEQ5f3fbG2zRt6uS4j47Z7XbKUIRKfIRKfFSPPDiDC2itsW2dE2zbBee1BmW4gbDCDYZ7zGfWG/kBc3667nX7kmdt98x3TgFCToGDlbKxMstSuettbDddttAibWNn3udt053OTtukkxaJaLr3Nu52dsrGPkAFFsro3RLBLNjSIHd57jpnqgwwMn8jQ2EYmXn3GEqxfbPNoo713X+7nHSG0f13zgb8KtPIIPN3prvVgQEKlW1+kLkmnEU52yrltlage590z/d8n7+Nyg5ymW384M5k/xq9Z3LS9kzSx7Y5f1pNH4VAmfc6/zja1qC7v3eZ+dxWG3vcAqRHa4/MPG46W2uwe++/4PfG1mi38M0pvHK/+3b39x+d07IkJ6+ZeXDzk/noeqXPWYbbCie3RYm3R6GWqdzt+z52bguWnoVRpqlobLJ5fuNbzufR67PM3EdyPyN3vXt/yf7NCsj72/bxme6yALPnLbBHoVn2ewDZ+2XP6z7zGfb53c98JkaPz8dj5LdeytnHnhTwOfcQ5z6hzJ73Bff+UvCekXPvyMybKnsvEkII0a2rPYHHa+AL5I/BFFu5Eru9nRo9j3eN0dw/cRgNJPjOzM/3U05FfxvSgXU3xYpv3Q6j/pMRh1f0d2YKUsppCm4OonHTVObHnAkM0EHVta2x3IDcTne3LigYjGfe5xQM7K6gI/O+UCuEni0U0ikb20rnrcsEWHlBRCbQcIMJKw0739mQ32RADFi9WoAYCsMtFEGRHbjEMDPdR/ILXpShsgGZx2d2B1JuIARuQOQeLFNYki0gyQZ93dNMeQiG6lVAoq3c70DOvNsaJ52yswV1kF+IkwksMwFtOmmRjKV7teCJxWBza2t+wVCPwsBsMJhTKGh4DDxGd7rcIDgv/MsUHCkKdKHJLchSedv1+krp3l+ybKEFbmECgFtwkVs4Y6d7f+cz95F0LN37npBzf7FyC0/7sfVShsr9++Rcv9m/Tc+/W24BrtE9bxg9lqsC63qsNwyyhRX5x3LyQaYgweidp97XVff7wnlxr7Oe63K3c9N1NWm2rmnLL7DILcDukQ9UH9d0X8eSVlBCDFjR9iShUl/e97QrkealX97GKDRtI4fx7Ef+k43v3svPT/s5AU+gH3Mr+tMhEVhbdbW0lE7Ck45REtsKlPZ3lsRBogyFxzDxDNDAf0/MmzePWbNm5dTukQ3A7QK1e9Bdu6fdX//axn2vewcKmTQ9az0Lvtd56bPLyEnrBh+5ffKdicp73/Ot86Z3f/6cxb026iu4ytPj+D1bdGR/AOfMdweku2kBUqD1iOjNuYZn9nc2BoVMIYXVozCvZ2GFZdnu9952avstjZ1pRZQptHOn2upuEZAJ3vPuIT3uK7ktNTItLmzde11mfX7rg9zWTL1bIdiW3b2uUOsFXTgfua1L7AL5KFAmst9teGHZgdu5ym29RLbrUv60xzK3u1PeNG++9/bZblTZ7d1uUGZ3d6juNN3zeWlMGchVHFqi7QnCbv/qeMri4dc28d4Ld3PZmgUkq4L8+YzTefzdezl7zNnMHjW7n3Mr+tMhEVhrj4e2EdOp3LKSzVf9iOF33kngsEmoYFB+CItBI9NCABMGUcMGIcQHoAxncEvTK4M4fhCZQj27QIDfZxcEXWBdj3SZIH7568s56qip3QWYuu9uDbpQ8N/rWLsuUMi0gnC6NnW3rsptTZV0W0L0anGVO03bB+Tzzras6dFtJHc8k54FALnjpRh9FQB4eoybYvZdAJB/TCkAEAdOV3uS0voQf5r7Jttfuo9Pph/n0nQjq5vrefmMSh7f8DSfn/p5rp16rcQVh7hDI7C2oKvTYtonT0P94lE2XnopAMrrxSgrxSwqBtNwvwwKDAPl92MEAqhgACMY6p4PBDGCwey8CvjzpkYwgPIHnGkgiBHwZ6eYJtg2WJbzI8Cy0LYNto22LAAMvx8VCKAM+VElhBBC7IlMixPT+d9+t2arYsTkgdmVbFcygbtl6bzxTXJbQWS7SlndY5jkrcubuvtwx03JbGf3UQCQ6QqRVyjQI/DPzB8IhqF61cTnDn7q9Zt4/R58AROPz8h2x+k1BoHRPZaC6TXxeA08PgOv30Mg7MEf9hIIe/GHnJ/VuQUnPVtaKKO71UCmgEAKAAaW1c3v8tOXv0dXqhNtW5yw8zqW2s/SqR9gZHmCp31VjOs6n1F6MfOHdfLz037OR0Z/pL+zLQaAQyKwtlLOdPTJ4wme+FciL76I3d6O1d6O1daO1dmJ22YNp9msRieT6FgMa2czqfgWdCyGHY9jx2LoWOyA51kFAm4w7wTyRiCACgXzA/vcgD8YcoL5YNAJzv0BJ6jPTAMBlM/vzPt8YJoorxdlmijTBI9HgnkhhBBiCMkdC8XrG7htnXLHKsivmc8dtDQTkOcE8zmB/64KDPK3cdOnLFIJi3gkScdOy32aS87YJ5Y71klO94kDQRmKYLGXcKmfUImPQJEXNNkCh+w4LjmfC0o5wb3XKSDwBTwUVfgprghQUhmkqMKP1+9xgn+fmTfIo9i1eKyNb/zz0zSnuzgykURZPrxWgLC5nQ3BYt7xltOW7uKz85ZQ61N857/uZXLtlP7OthggBl1grZSaDHwFqAKe11r/dnfb2Ckoqw1RUhkEgpRffPE+5UFrjY7HseNxdCLhBNuZ9/E4diyOTjhTOx5DxxPYsSjY2hk8yDTBMJ0SSsNEmQbOCGCgkwnsaMzZLhZz9hHLzMewOjpIb2909x1HR6PYsVjBQXc+MKWcANsNtpXHk32Px0SZPeY9nsLLM4F6z219PpTf5wT+Pr/TKsDvQ/kDOfOZdT6n0MDvFAQ4hQWZbfzO/qW5jRBCCDHo5Q7g6vUP3AIAy7KxkjappIWVsknGLRJdKeLRFPFIimTMyhuro9BAjVqTHRzStjTJeJpoR9J5tSdp3hrJG3Qx96kAptfAGzBBQzplE4+msVI2iViKrrbkLgc/XP3Yi9017T4TX9BDsNhHsNhLqNhHuMxPeV2I8vowoRLfofkbK9bGL//vbNapONd7ZvL4e8eirWKOAC758Lc4/OThAHQlu9h0zzkET5rEaAmqRY6DGlgrpf4MfBRo0lofmbP8LOCXOA24/qi1vqWvfWit3wauVUoZwH3A7gPrNPt1NHClVLYmeSDQuruG3XZr1nUi4QT98YQT5Mfj6ETSmU8mIW05zc+tNDptoa200zQ9baHT6cLLrbSzXTrtbOtOs8sTSWwrCqkeyy13m1Qqmy+dTO7bSWea6/t83QF3oDtgV34fRmY+4M8L5p3gPpAz3yOY9+UszwnmM/PKd4j+gyOGLJ1KYbW1kW5txY5Ecgrz4uhkold65Q9ghILZVjWe8nLMqmqMcGhQfTd0Oo3d1ZV9WZEIOply7n+WnXf/w+6eZgtETQ/KY2a7/zitiYJOoaPTadZ9tJvtPn7NbRmltVPw6PWivF6noNDrRXl9KJ/XWSctiIQYcEzTwAwa+IIDr17KtmwibQkiLXEirQlSCYt00iadsli7ej3DGxqy71MJm2Q8TWdLnKaNHcQ6U3lBuT/kobwuTLjUqUEPFHkJFuXOO03fw6X+oTMeRMdWFv3lfB4IxpkYHc9/b7yAD0+u4ctHjeSl36+iqKL7N79n83bYtp3Sz13bjxkWA9HBvjPcA9yBExADoJQygd8As4HNwBKl1OM4QfbNPba/SmvdpJQ6D/g8cP+eHFRrGDkI+0btKaUUyu8Hvx+zrKy/s7NHtG07hQGJBLYbaDsFAW4BQDLRvS5TIJCZT+Ysj8exk5k07jbJBDqeIN3e0XudO93XGn6VCegD/u4AvkegrzzOj26n1t+tvfd6srX9ymO6P8x7pPO4rQXcdYF1a2lrbdt1Om/vlgLZFgfOs22cl1LOD3Z3We667Hxf68RBobV2CqFiMadgLN7HNBFHp9KgbbRlkxn6PffaAbBjUeyuKHa0C7sritXWhtXSgtXaSrqtFau1DbujY7/kXQWDeKqq8NTU4K2vx1tfh6euDl9zM/HaWrz19Rilpbu9nrTWWM3NJDdtIrlhI8mNG0nv3IFZUopZUY6nogKzvNwJZHO6u4ATLJNOO0FzLI7V3obV3o7d3k66pZV04zZSW7eR2raN9I4dTjegAUh5vahQCMN9Ka8XnU45BZeZgsrcaTrd676mTLN3QWPufcrrRduWsw/3RSqFTubs27ade4ZpOlOP6XRJyu2qlB1TxOma5HQzyrnHme722WWm0xLJ53PupZmX15szn1nuzU/nGXgBjRADgWEalFQG3daZ+ToDG5g5a0Kf22pbE+1I0tLYRcvWLlq3ddHaGKWlMUo8kiQeSRX82aQUlFQHqagPU14fpmp4EaOOqByQBQ+7Ym9cTst9l/DdBoUvWca29s/xu09P5cwj6li7tAkgOyo4QOTF+QAUnXJKv+RXDFwH9crXWs9XSo3usfg4YK3Wej2AUuqvwPla65txarcL7edx4HGl1D+Bv+zuuEpBw8TBEXAeKpRhOD+EA4GDPsK11hpSKWw3mNfxOPYeBPPOOieYd4L73sF8Zt5ua3NquzK195kf+7nz2Rp/C1KpPvNbCmw7eB9P3/YgIM8L4g2FUrvYJhNcZeZzn79MoXXdzzFW9Fy+m3XOil2v634QdI+8AZY7wGBmwMHMNJ3Of5/5e2aCNa3RmaclZ36UZH6d5E61dgLBRMIZw+EA9YdTfj9meTlmeTme8nKCw4c77yuc92Z5OUZxcfe4DoGgE8zkDqyjNXbC6bKiY1HsqBOsp3fuJL1jpzNtbCS2fDkdz2yHVIpy4L07ncZFKhjEW1uLUVTU3RokEMCORbFaWrFaWki3teV/J0wTs6Icu6PTKRjb2/P3+fDU1+GtbyB80kl46moxS0sxi4owwmGMcNhpsZIJ/jLdWTJjUbjBZe7fWqfTzvc+GnMKPWIxdNpyu/oYZB46rjLzmc8ynRMg9wxmk24BYpfT1ceORtHJZE4ttwe8bs221+cWunmc4+XQ6VR3wWKBe5bdGXeCb68XoyiQrUHPvnxeUAbatsCynVr7VPd1asfjpDra0ZmuSbHM+Ts1/QeEYeQH4DnBNx5vNvjv2UUJ0yjQbcltdbC7ZR6T0IaNNK9bn1Mgajp5yS1AyCzLXjd9L8u/rvZgmbRgEAeQMhThMj/hMj8jDutdEaVtTSKWJh5JEYukiEeSxCIpOpvjtG7romVbFxtXNmPbGtNjMGpKJROm1zJqSuWA7tsP0LriaSLf+gI7t3pp+38ezhr+XW68YjYBr5PvaLvTwjI3sO56aT6+8ePwDhvWL3kWA9dAKFIaBryf834zcHxfiZVSs4CPAX7gqV2kuwa4BmBY9VheefXl/ZFXcShxa3wJhw/8sTIPhbYsVCYwsyyUbRPt6CAcCOQt65XOyqzrvSzzsGplu8fQ3c1R0RqVmbe7l0Ef6W2NokB6bbv7oXd6rfOO5+QlU0uY2SY32MwJRHOWq7wANWc7bXcHrXn709nl6gMcJ7Nc5SzX2cICJzDSygDTeelMQOO+dKYAIvfZ2zkBfN6MymRBgWmifV60z4f2esHnQ3t92ffa58uux+t11pmmE6jlBmy514bWaH8AHfA725l78APHrbXkg9Ril5Y6r3Hj8pfbNkZnJ4ktWyiKxzFbWjFaWzFbW1HJJCrSCS0tqFQK7fNhFxWhJ07ALirGKi3BqqnBqq7BqqrsznsigRGJYEQizj6SKVQqiXIDcW2Yzt/FNJ3PLRzGdl/4fAUedJ6fX+L7MDilxwPFxXuW1ufb++MMBm5TeGy7+3q0bee7n047y1JpVDqNSqecZWmn+5BKp9x5d1k2XRrcdSpt5Wzjprfc/adSkEg490DbKRBQmVYdmTSZe2k2X5nCAze/mfuxew8oBpr68+NUzj0ie48xze77UmbeHa8lO69y7kfZ+1PO/cIwnO+Lm77QvPZ6nPuR173/ZO49Pq97H/K69yE3Hz3y6OzD59yD/P5ehT/i4IhEIsybN2//77gEAiXQMAnqLIi3KNo32Wx6ewfrX9+BMsEbBNMHpt+ZZsrbcS8Fb0hRMhz8JQe3ZdzmTpv0O09ySfM9bN1YS8CCq9+dxKSJYV5d8FI2XeNKG2XAwiUvOy1E43GqFy0mesbpB+YzFQUdsGt4PxsIgfUHorWeB8zbg3R/AP4AMH7sJD1r1qwDmi8hDpR58+Zxily/YhCbN28eJ8o1LAahTOuEF+fO5dSZM7tbGWXGGsm2XHDHLOnZJ7/AskJ99/OW9ezjn0o7rQZ2NTZK7pgmmdZS2cd7OgUK2racAtHcFjap3DFVcsdOcVpS2W63lP3VikYFApjFxW5LmQo8FeWYZeUYoaDT9SEYclrMhJzxCozMslAwO4aBEQo76yVI32Pz5s3jYP4Otm3N1jVtbFi5k2h70hngrStFPJomnbKzz3a3bU2iK03TCqhoCDHumGomzKilvO7AVWjsjCS48dHlHLf651zheYaHm8czxYrSVunnjBXtjP/pKU5LEddz7+cuk7wAACAASURBVL1FoqyV00+fCUDn88+z2bKY/KlPET7hhAOWT5HvYF/De2sgBNZbgBE574e7y/aZUupc4NyGhob9sTshhBBCHEJUplbY58M4GK2XBqDsuA85T0Nx5p0uBnkBebpnsJ/Gjiewo1FnkMBoFKujHavVGeshvuotrLY2pwvBBxnU1DAwy8qy3VrMqiq8dXV4GxrwNtTjqa/HU16OUVLijFEgQfhBZRiK4ZPKGT6pfLdpI61x1r3u1HAveWoDrz21gbM+N4WxR1fv0bE2vdVMZ3Ocw2c27PZ54HPfaeSxOffyWesRjvK8y3cmncAZz26iaWw5R37x2zRd/w06X3iBktmzs9t0tSfy+1fPfwkjFCI0bdoe5U8cWgZCYL0EmKCUGoMTUP8ncOn+2LHW+gngiUmTJl29P/YnhBBCCHEoUUqhfD7w+TBLSg7YcZwBB2Pd4zdknnTSFcWORbuffBKNYXV2dI/J0NpC4u23icydW3gMBqUwiosxi4sxSkqcMRVKSjBLS50a84pKPJUVzrS2Bm9dHUZxsQzaeZAUlQeYesYIpp4xgq72BE/9diXP/mkV5193DHVjS/vcLhlPs+CRtbz10lYA1i1r4sNXHkGopHc3m3hXB8/99ZdM3vggvzS2saOolqvHzCT69iYub4b6r32d0o+cTeuwX9Jyz715gXW0I0lZTQhwCpki8+cTOulE5zshRA8H+3FbDwGzgCql1GbgJq31n5RSXwSewRkJ/M9a61X76XgfuMZ6a2QrT65/ks5kpzvQkTPgUUWggnFl4xhfNp7aUK3ccIUQQggh9hPl8TjNxPd0nIIetNZYLS3uqP9bsTs6sDo6sTo7sDsj2J3Oe7uzk9TmzcTffBOrpcUZDb9nXkIhvDU1eOrq8NbW4Kmtw1NXi7e2Fk9tHd66WsyKCqkJ38/CpX7O+X9H8citS/nnb1Zw0TeOpaw21CvdtrVtPHfPW3Q0xznmIyMpqQry8sNr+OuPFjPtE9U803oHxfFO6mOdlO7YQkPbRkJezV/q6llXczJvxZuwYtv53dapGMVrKDnrLJTHQ8Xll7H95luIrVhB8KijAKfGumGCMwBycu1a0tu2UfR5ecyWKOxgjwp+SR/Ln2IXA5Htw/H2qMZaa82ixkU89PZDzNs8D601ftOPxukDotGk7O4bb5G3iLFlYxlfNp5xpU6wPbZsLDWhGgwlN1khhBBCiINJKYWnshJPZSXBKUfu0TZaa+xIxKn53rmT9PbtpLY3kW5sJLV9O+nGRrqWLCHdtAPS6fyNvV7n8YKVlZiVFXgqKvFUVTqBd0O9+8jB+kHzGNSBIlTi49wvTeXRW5fyxK+Xc9E3phMq8WFZNtvWtrNuaROrXtpCcWWAC6+flg1668eX8vRdK1nwxy2sGRZi8Yi5zqB/RUBRFQAeBYcFSrhwxMmcV3065q2fo/TiizGCziPKSi+6iB2/voOWe+5l2G0/J52ySHSlCZc6tdOR+e5jtk499eB/MGJQGAhNwQ+YPamxXrFjBd9f8H3Wta+j3F/OVUdexScmfoL6ovq8dK3xVta2rWVd27rsdO6muTyaeDSbxmN4qAvVUV9UT324nspAJaX+UsoD5ZT6Synzl1Hud+ZL/aV4jCH98QshhBBCDFhKqWwtuW/UqD7Tacsi3dxMensT6e2NpBq3k96+nXTTdtItrVg7dpJYvQZr585eNeBmeTn+8ePxTxiPb/x4d34CnvLd9z8+VJXVhDjn/03lsduX8cSvl1NaHeT9t1pIxi0MUzH55AZmXjQeX6D7d3RlQxFrDr+d1tR0jtlyJms6jsYc7uWj0wKMqbMYXTqSyRWTCXgCADTfcw9NySRln/hEdh9mURFlF19My333UbP1BmI+528UcvtYR+a/hH/iRLx1dQfx0xCDyZCO7HZXY/3i+y/ytRe/RmWwkv89+X85c/SZ+E1/oaSUB8qZUTeDGXUz8pa3xFtY17aO9W3r2da1ja1dW2nsamRx42JaYi0k7b4H4wh7wwQ9wewr4Al0vzeDBL0560x3ndeZD3lCee+z23mDFHmLpOZcCCGEEGI/UKaJt6YGb00N7KI2XNu20xx92zanSfrWrSTXryOxZi3tjz+BHYlk05qVlfjHj8c3ciRGONw9Eno4jKesDLOiArPcHTm9svKQa3ZeO6aEMz97JP/63UpiHUnGH1vDqClVDD+sPC+gzvjbs9/mkejbfCRkAtP56ukzOP+scRgFBjTTWtM252GCRx9NYNLEvHUVl32alvvuo+WBB9EfvwZwmqhbkQjRpUupvPKKA3G6YogY0oH1rmqsH1n9CD989YdMrpjMHR+6g6pg1V4doyJQQUVdRa+AG5wvbiwdoz3RTmuilbZEG23xNtoSbbQn2ulIdhBLx/Je8XSctnhbdj6zPK3TBY5emKEMSnwlTs24r5SgN4jf9Oe9fKaPgBnAZ/oKvvd7dp02M/UaXgnihRBCCHHIU4bhNA+vqiI4ZUreOq016e3bSaxZS2LtWhJr15BYu5bOuXOxo1F0NNr3foNBfGNG4x87Dt/YMQSnHEXo+OMwhvgAWqOPquKqn52ML+jZ5dhGTz57Fz/Z/DgTEh4aDvs6bGpjYnGwYFANEHvtNZLr11P/4x/3WudtaKDkzDNpmzMHa9wpAIRKfXQtXAjpNOFTTtk/JyeGpN0G1kqpkXu4rzatdcc+5me/KlRjrbXmdyt+x53L72Rmw0xum3UbIW/vgRH2B6UUIW+IkDfUq2n5B5WyU06QnYoRt+K9AvJMIB5NRelIdtCWaKMj4UzjVpzOZCeJdIKElSBpJUnYiex7zb49n9KjPHhNL17Dmw22M9PMfHa54ctLm3lfcHlmP5nlhi9//+52ATOQLQgIeAL4DJ8MLieEEEKIAUMp5TwSrK6OolNO7rVe27bzGLOuLqy2NqeJeWsr6ZZmUhs3kVi/ntiyZXQ8+aSzv1CIopknUTTrdMKnnOzUpg9B/pC3z3XNkQS/f+QxFiZvw296+Oqpd3PypKP53XMvEmktMEK8q3XOwxjFxZScfVbB9VWfv5auRYvY8pu7YeInMd9fQ9f8+RhFRYSOOWafz0kMXXtSY30voIFdRSoauAe4bz/k6YD6/Yrfc+fyOzlv3Hn84KQf4DX6/sIOJF7Di9fnpcS3fx91obUmbaeJW/Fs0B234k7wbSXyg3ErkfdK2SlSVoqkncxOk1Yyf7mdImk5yxPpRF6anmmTVnKfg3xwRnHP1LoHzADFvmLK/GXZfu5BTxBTmXgMD6bhTL2GN7vMa3gJeUOEPWFC3hBF3iLCXmc+7A0T8oQwDXM/fPpCDE2xdIz17euzY1Is37GcJ+Y9Abh9GpXJ5IrJzKifwWHlh8n3SQhxyFOGgQqFMEIhPNXVFO6YCHY0SvS11+icO5fI3Hl0PvscAGZFBf4JE/BPnIhv9Ch0PO4E5m1tlK5Zy+ZHHkUFAhiBACoQwNvQQPj44/Afdtiga2Zu25o5r73PE089TkX1r9gY9vGbE3/EKZOcZ0uHy3x0tsQLbqtTKSLPP0/JOedkBy3ryT9hAuOf/Tdbbn0atdWi8apPozwmxR/6EMo7OOIG0T92G1hrrU8/GBk5EHo2Bd/cuZm7VtzFmaPP5EczfyS1mrglqKYXr+mlmL17xMX+orXG0lZ3wJ0TlKfs7gA+L1i33cKAdDwb8Gfm4+l4tra+LdHGxo6NvJF4g3g6jqUtUnaKtL3nTexzFXmLKPOXOa9AWfe8v4zyQDkl/pJsYB7yhLKBecgTIuAJSPN5MaQkrARLty9l4daFvLL1Fda0rskWknkNL2VGGe1t7dlliXSCp95zHgRR7Ctmeu10Dqs4jPpwPXXhOurD9ZQHyp3n57r/eU1vn2NgCLEntNakdZq0ncayLSxt4TE8zkt5MJSR/TcjkozQkeygM9lJZ7KTZZ3LWLtyLdFUFFvb2NomrdNorQl6goS94eyr1F9KRaCC8kA55f5yAp6AM/o0NpmyY4+x66atQvTFCIUoOvVUik49Ff3975N45x2iixcTX7OGxJo1tD3ySLZZufJ6McvK8Hg9JKNR7HjcqRWPxbL9vc3SUkLHzaDotNMoveAClGdg9xJ9p7GD7/39TULvz+Xw+j/x16IwN0y+glMmnZ9NU1wRINJHYB17803saJTwzJOyy5o2drBzc4TDZ3Z3HTVCIewxkwl17aTm+uto++tfKb3wggN3YmJI+MDfHqXU3UAEWAYsAVZprfe9mvEA6NkU/Lalt2EaJl+f/nX5B20AUkrhUZ6DPlp65gdW2k5nA/pYKkYkFaEr1UU0HaUr1ZX36kx2Ov3m4220xlt5r/09WuOtRNN995HKFfQECXlC2WA7d9pz3daOrTSvbibkDeX1e+85n2ly7zf90hxe7JGUncoWRKWsFAkrgaGMbOuMgBno8zpqjbcy9/25PLfxORY3LiZhJfAaXqbVTOPzUz/P+PLxjCsbx8jikbw8/2VmzZqVt31TtIkljUtY3LiYJY1LmPf+vN22WCnzl1Efdp660FDUwKiSUYwtHcuY0jFUBasG/TWfslI0djWytWsrO2M7aU+0055opy3RRjQdxWt4s61qfKaPIm8Rxb5iSnwlhL1hOpIdNHY1Oq9oI+2JducelooSTUdJ2amC955MIWDQEyRpJelMdWaDy1g6lr03pu00GudxlLmDbprKdF6GiaGMbEuolE5lg9i07QS0aZ3G0hYGRrbgxFAGhnLeGzjzmeDV0lbBqa1tZ5uc7XOPkZ3PfX2AsUoKanFaRJmGc76ZAtJ4Or5Xra0yf0uv4aXIW0SRryj7N60IVFAVrKIqWEV1qJrqYHX2fWZUYyGUUgQmTyYweXJ2mbZt0jt3YoTCGOEQSinmzZvHlB734NT27UQXLaJr0SKiC1+l89nnaJ3zMA03/xj/uHEH+Ux2rzmS4LZnV/PQ4k1cEljIuOr7uL2klE+P+xifmXF9Xtqi8gDb32svuJ/oq68CEDr++Oyy5c+9z9qlTYw/tiZvYLRoe4JweYCqa66m6ppdPrlXCGAvAmut9ZVKqSAwDfgw8GXgmv2dsf1tSeMSnt34LF+Y8jlqU32P1C0OPaZhYmLiM3MGASncOmi3klYyOzhdJiiPpWJE09Hsj9u8eXcaS8WyP4pz02Sen/7owkd3c+TeMn3SPYYn28w9M5/5YZj7PlOokfs+9wekUu4PWLrnMz9qMz+Is2ncdbk/lHtuk1mW977A/K5+fOeuywRVWuvsD29b29jY2LY71TZAd/7cPObtx+31krv/nus1TuuKQsfKlDPmfuaZ7gWZ1gtBTxBb29kuEJnWFpn5bIuM3GV2Mvv5G8rANEwCZiBbS1bkLcJrerN50VqTsBI0x5tpibfQHGumOd6cnbbEW2hPFP7hkZEZCLGhqIHhRcMZXjycUn8pC7cuZEnjEixtMaxoGB+f+HFOajiJ6bXT93jMippQDeeMPYdzxp4DOEF+U7SJbZFtbOvaRnvCqeHWWqPRJK1kNujc1LmJhdsWEkvHsvsr9hZTFaoi7AlnW4h4DW9egVnYG+Yr077CmNIxH+zLtAtt8TZ8pu8DjdWRttO81/4ebzW/xdstb/N289ts7tzMjtiOggFasbeYoDeYDRAzrXYsbRXcf7GvmNpQLZWBSsqKyrLBs8fwELfiecH2jugONqU3Zd97DS/FvmKKfcUU+YooC5TlBfRAd4ugdJxIKpItnLS0hWVbGMrI1gJnvgN+j5+wEcarnAEvc/+2ud+dzPWb6TJgKKPgVCmV3YetbTS64HEzec+tmc7MG8pwgn7tfKaWbRH0BLOFFUW+ouxnsXLJSs6c5Tw5pGcBTmag0kwhbFvCKXBtjbfSEm8haSXz7iEa3X1dugVa0XTUKcxIRWiKNvF2y9s0x5oL/o2LvcVUBCuy95Pcrkq5139uLXqhtLsqOBODlzKMPepv7a2tpfS88yg97zy01nQ89RTb/+dHvHfhx6j60hepvPLKAVF7nUhb3LNgA3e8sBYrFeOPo1+mq+NBvlNRxZkjzuDrM2/qdR0XV/hZ93oCbWtUjwHMul5dhH/y5LzHnXU2x9G2ZtvadkYdWdmdtj1JcYUUZIk9t1ffGK11DFjgvgaFnyz+CfXheq5Yvwwe/y5UTYJJZ8Nh58Cw6TDI+peIgcln+qgJ1VAT2j+DiKSsFM/Oe5ZpJ0yjK9XVZ9DVMwDLXZa209kfvJma+cz7tO6uTcqsS+hEd1q35ifvB7AbtGUDVU12Pnd57g/e7A9m8peLgyfzY7wyUMn4svFUBJz5kDeUbengNbxodLZlRjQVpT3RzpbIFt5tfZcX3n+BtJ1mZPFIrjzySmaPms3kisn75ce51/AyrGgYw4qG7VF6rTVN0SbWt6/n/7N3nuFRVV0bvs+UTDKT3nsjJKFDaKGDSFUQFBAQu6KIr9jA+r1WbK8dGyJWilIsoICC0juht5BKICG9l5lMOd+PnYSE9BCqc1/XuWZy5sw5e2DKfvZa61lJBUkkFiSSp8+jxCTGnVech9FirIoIqhVqTuSeYMofU5jbfy5DA4de1HhzynL47OBnrIhbgUW24KX1ItgxmGCnYFxtXWssaBnMBtKK00RLxopbg1kY69ip7Ih0jaSvX198db742Pvgq/PFXeuOs8YZRxvHOrN4ZFmulbbsaOOIl84LnVp3Ua/NSm1SVCn1RoqrG5W627kTRP39kJuDRbaQp88juyybrLIsskqzqu7n6fOqPqcZpRk1PrN6c90psBeilJTnsxaqi+4miPPKBcLqf9dYnLZyTSFJEk433YSud2/SX3mVrPfep+iv9TjfOh677t3RhIVdkTrso6kFzFyyn5ycbF7y2cV4/a/syS/mKW8venpF8cag/9VZWmfvYovFJFNaVI7O6XwJkUWvp+zAAVzuuKPG8UU5YpE29VReDWFdWmDAK6R1vY2sXN+0SFhLkvQaEAmUAO/JsnykVUfVSlTWWLv5uxGbF8v/ujyG7a9PQ9sRYNLDzk9g+4egdQO/7uDTFXy6iM3JH6wruVauMGqlGq1Si7fO+0oPpdWpLtZriO+Kv6uL+OrHNSTuZVmuimZVRrirb5XR6MrzVI6jutCvPp5aY6zYXxk1r+9alX4Blemz5eZyEdGqlrWgkBRVafv1pfZX31cprqqnw1ZGDCsn1UazscY41Aq1aAlo59oq9clmi5mC8gJcNC5XPNIlSRJeOi+8dF708e3TpOecKz7Hk5ue5PGNj/NgpweZ2XVms43Tys3lLDqxiAWHF1BmKmNi+EQ8tZ4kFySTXJjMmsQ1FBmLaj3P1dYVH50PbV3aMtB/IJGukbR3a0+wY3CzxpBZpGdnQg6x6UWM6+ZHuFfrLeRZubpQSArc7Nxws3MjgogmP89kMVVlPVUvYSo1llJiuuDvyvvVjs/V59Z4rDJzqjFUClVV1LyGWFdpq8oGqt9euFXfX5mFU5l5YuXyoHJ3x+/jjyhau5aMd98l/ZVXAVGHbRcVhdLNFUxmZLMZzCaUrm7o+vVF17s3Cm3rdthZd/A036/8mftsDjPVcQPl+UV8GNyJRRQS6tKGj26YV+9iTmWUuTjXUENYl+3fj1xeji76fBq4yWimpEBksqbG5lXtN5stlBUZ0TlaF4ysNJ2W5nhoZVmeKEmSDfARMKMVx9RqVNZY24fYPxjlGcWIk5tA4wjjvwCtK5TlQ/wGiP8bzh0U9ysm2zgHQdhQCLsRQgaC5soae1mxcr1RPTXSStOpFM0AGqUGJ43TZbu2UqHE1db1sl2vtfGx9+HbUd/yxu43WHBkAcdzjjO3/1zc7NwafzKw+9xuXtrxEqnFqQz0H8hTPZ4i1Cm01nGVix+VmR9KSXlRdbHxmUUs2X2G7fHZxGacF+1fbE5gUo8AnhwWjqdjw+ffnZjD5lNZDIn0pHugS739Xa1c+6gUKhxtHFuti4jRbBQi21RbkNflQ1L1uEn4kWSWZtZqDdqcjKXqrTQrW25WLjhW3q+s+6/0CrBT2dUwF3XRuOBsK251at0VXxi8mpEkCcfRo3EYNQrj2bOU7ouhNGYfZfsPYDl+HEmpBJUKSanEmJ5O3qJFSGo1dt2743DjjbhMmSyOaQll+cg7PiH10AaGFBxlpNKIbIYNoQN4S1lIpiGP29rexhPdn8DBpv55uX2FsC7K1deIOJfs2g0qFdoePar2FeeK7CFHd1uyUoowlJnQ2KkoKxRiW+tkNc200nRaKqw1kiRFybK8X7oGvp0sWJgTOh5p6d0w6FkhqgHsnKHTBLEBlJdCxjFI2w+Jm+DQT7Dva1CoICAawm6ANkPBu7M1ddyKFStWrkE0Sg2v9H2FTu6deGP3G4z5dQyzus1iQviEeiPHRouRTw98ytdHvybIMYj5w+bT17dvnccCNTIGLobSchMf/x3PV1sTUSokeoW4Mq6bH/3D3PFxtuXTjfEs2nWa3w6m8eDAUO7vH4KTXc1rlpssfLDhFF9sTkCW4bNNCfg52zGumy/ju/kR5mldNLbSMGqlGmelM844t8r5KssY9CZ9ldCurFHXm/Q1oueVGTl6k77KW6Cy5KmyVWeJqYQ8Q54Q7pWeJqbSqqykC1EpVFUCu7LWvrJsoyqqrrTFVmWLs8ZZZP3YuuJm54aPzodgx2DUyus/ii5JEjYBAdgEBOBcjxu2pbycspgYirduo2TrVjJef52SrVvxfe89lPbNL0kxrn6S0hO/skcVSKL3ADRtAjloymNP1gEiHCJ4f+g8unh0afQ8Dq5CDBfn1SyLKNm1C7vOnVHozo+tMFukgUf28WHP6iTOxeUT3Nm9Koqtc7YKaytNp6XC+k/gBkmS3gQ+acXxXBJ0Ch0dYn4EWyfo80j9B9poIaCn2Ho/BKZyOLNbRLIT/oa/XxWbzgOC+oJrKLgEi+i2S7BIH/8XfNlasWLFyrXOhPAJdPPsxtzdc3l99+v8Ev8LL0a/SEf3jjWOO1N4hme2PsOR7CPc2vZWnun5TLOMyuqitNxEQmYJ8VlFJGSWkJRTgoe9ho5+TnTyc6KNh46NsVm8vOoYqfllTOjuz3OjInGzrznBe2lMB+7pG8w7f8by8d9xfLklgdGdfJjcM5CewS4kZZfw+E8HOXy2gMk9A3hqeATb4rP45UAan29K4LNNCSy8uwc3RHpd1OuxYqU5SJJUFVV2waXxJ7QAWZYpMhaRr88n35BfZShX/baovOh8dkmFx4jepCe7LLtK4BcYCmqYJAKoJBVBjkG0cW5DsFMw3jpvvLXeeOm88LDzQK1QVxl/VpqBXq8obGzQ9emDrk8fmDObvB9/JP211zk9dSoBn3+G2q9pnhlmi8zmv36mOGUdLwb5IUtmIB7pXAK+9r7M6TmHKZFTmtw1xsZOhVqjrNHL2lxYiP7oUdwffrjGsYU54pi2PbyIWXuas6fyCO7sTmmBiGTrnKyp4FaaTkuF9QDg44rbYcDqVhtRK1JZYx3o6w6n1sINLwpx3VRUNhAyQGzDXoGiDEj4R4jss/vg5B9QvQ+ypBTi2qVSaAeKv50DxK2DD6isK19WrFixcjXQxrkNC4cvZG3SWt7d9y5T/5hKpGsktirbqvTSfRn7UEgK3h30LiOCR7T4WmXlZv46ns7P+1PZGpeFpSITVqmQ8HexI7PQwLc7kgGwUSkoN1kI97Jn2UN96BVSf/p9kJuOT6dGMWNQAUv3pPDbwTR+3p9KqLuOcwV6NGoFX0yLYmRHHwDGd/NnfDd/Mov0TP5yF2+sOcnAth6olNYsLCvXD5IkVaXDBxJ4UecqNZaSZ8gjpyyHM0VniM+PJz4/nhO5J1h/en2jae06tQ43W1Er72rrSqBDIO3d29PBrQP+9v7XVVq6y+TJqAMCSH38CZIm3U7Ap59g17Vrg8/ZmZDDG6sP83zB//FcoCthTu2Z2X06wY7B+Dv4t8gfRJIk7F1tKc4zVO0r3bcPLBa01eqrQRiXKZQSjh52eIc6VtVZV0astY7WebuVptNSYe0MPAPMAe5vveG0LpU11l0DHR7Ezh16P9zocxrEwQu6ThEbgMUMhWmQlyy2/NPn78euhZKs2uewcQCde8XmIYzTdB51/611F+LeihUrVqxcEiRJYnToaAb6D2Th0YWcyjuFwSTaSRUYCujp3ZPnez2Pj71Ps89tscjsSc7l5/1nWXMknWKDCT9nO6YPbEMXfyfCPO0JctNho1JgtsgkZRdzJLWAo6mF+LvYMS06CHUTBW9HPyfmju/ECze1Y82RdJbvO0MbT3teu6Uj3k616689HWyZMyKChxftZ+X+s9ze8+LEhxUr1yuVju9+9n509uhc4zGjxUh2aTYZpRmkl6aTU5ZT1RbPIlswWUwUlBeQW5ZLjj6H5IJktpzdUmUI56RxoptnNyaGT6S/X//rwnPEvl8/gn/6kTMPPczpu+4maPEi7Dp1qnWc2SLz4q9HWbonhSfs/2SxZzkWlSMfDX2XAMeAix6Hg6uG4moR65Kdu5BsbWsJ/cIcPfautigUEn4RLuz5PQl9iZGSAgNIoHW0ZqJaaTotFdavApGyLMdKklR3EctVhMpUCv1mtb4BmUIpotHOASKqfSHGMihIhYIzYivKgNJsKMkWojs/BVJjoDSnZuS7OhqnmkK86tYT7CtudR7ivq3zNetkLssyJovc5EnkxZJeoGf1oTR+O5RKXEYxLlobXHQ2uOrU+DjZcU/fYDr6XT5TKCtWrFxZ7G3smRU1q9nPO55WSJnRhIe9LR4OGuxslCRmFfPLgVR+3p9Kan4ZOhslozv5cGuUP71DXOs0DlMqJMI8HQjzdGB8t5a/Dq2Nignd/ZnQ3b/RY0d08KZrgDMfrI9jbBc/7GxqpqxuOZXFvuRcIn0caefjSJCr1mp6ZsVKNdQKNT72Ps1aeDOajcTlx3Es5xjHso+x5ewWNp3ZhL+9P7dH3M74tuMv074DogAAIABJREFUqynlpUATGkrwsp9IGDmKnIVf4//hBzUeN5otPPHTQX4/fI4nox0ITVrNV1p7Zkc93iqiGoSBWVbKebPH0l070XbvjsKmZsCqKEePo5tYfPQLdwYZ0uLyKS0ox87BBoU1m8dKM2ipsHYE1JIk+cuy/GxrDuhSIEtK6PXg5b+w2g7cw8TWEBYL6POFwK4U3VUCPLvifhbkJoqa79Kc8+7l1VGohci2c6nYnCs2FyG6q/ZV/9tFOKVfRjM2vdHMwm1JbI3LIq/ESE5JOfml5UgSDI30YmIPfwaFX5rUxD+PpfPt9mR2JeUgy9DF34lp0UEU6Y3klhjJKy3nr2PprIg5y9guvjw1PJwgt0vTE1ZvNJOaX8aZ3FLO5JVhNlsYFOFJiLu1B60VK9cC8zcn8ObakzX26WyUlJSbUUjQv60Hc0ZGMLy9dy3RejUgSRLPjopk8pe7+HZHMjMGt6l67I/D5/jP0v1VKesgXlufNu58MrUbtuqr7/VYsXItoFaqae/WnvZu7ZkYPhGjxcjfKX+z9MRS3ot5j48OfESgQyCBjoEEOQQR6BiIu507ThonnGyccNI44WLr0uR64yuFysUF59tuI/e77zCmp6P2Fm1D9UYzjy45wIYTGTw3KpIJma8yzklLZ+dw7mh3RyNnbToOLraUFRkxlZuhMA9DXDyOY8fWOq4wu4yQzu4AeAU7oVQrSI3No7TAYK2vttJsWvqpfAVYDkyXJClIluW7W3FMrY5B4wo2V7FYUSiEU7nWFdzbNn68xQyluVCSCcWZFQK82v2yPCHUcxPF/bJ8uMB8owaSQtSeVxffWjewcxW3lWOr/retM6i1zRLkFovMqkNpvLPuJGkFerr4OxHsriUqyBkXrQ2l5WZWH0pj3bF0PBw03NrNj0cGh+GkbZ00nK+2JvL6HycIdtMya2hbxnbxJdTDvtZxhXojX25O5Kttiaw5co6pvQN5anhELbfdlnI8rZCXVh1lb3Je7QdXH6etpz3D2nsxsqM3nf1bx4W1Ls7klrI9PptCvZFgNx0h7joC3bRoVNYJsxUrDSHLMu/9dYpPNsZzU2cfJnb3J6vIQGaRgawiA77OttzS1Q+vRlpgXQ1Eh7pxQ6Qnn22KZ0qvAJy1Nvx1LJ1ZPx6ge5ALX97Zg9T8Mo6nFXLwbD5LdqewYEsi/xnahN8qK1asNIpaoWZk8EhGBo8kNjeWtUlrSSpIIqUohR2pOyi3lNd6jlalJcoril7evejp3ZNI18irUmi7TJ1C7jffkPfjj3g+/jhl5Wam/7CPrXHZvHpLB+7yOcvso1sptnfglYFvt8joTTabsZSVobSvOZ877wxuQNq7GwBddJ8axxjLzZQVGXFwswNAqVbg08aJ1FP5KJSStb7aSrNp6adwvSzLy4BlrTmYS4VRfW2n1NRCoRSp3/Ye4NWhac8x6oXYrhTaleK7+t/V9+UmCfFuKGj4vCo7sWhhowUbeyG2bbRCoA+cA97CYfdASh4vrz7OoTP5dPRz5P3buxIdWrt37POj27EpNpPlMWf5alsS2+KzWfJA9EWJa1mW+WD9KT7+J57Rnbz58PZu2KjqXxBwtFXz9IgI7uoTxEd/x7F4dwrxmcV8f1+vi4qil5ab+HBDHAu3JeFsp+axoW0JdtMS4KolwEWL0Wxhw4kM1h/PYP6WRD7blMD9/UPop2t6v8/G2BibyZ9H09mekM2Z3NqLLQoJwr0cmD0igqHtrE7BVv5dFJQZsVEqGowuWywyr/5+nG93JDO5ZwBzx3dCeY2nR88ZGcGoj7by2aYE+oS6MXPJfjr6OfH1PT1xsFXjorOho58Tk3oGkFdSzmebEpjYI6DO2m0rVqy0nAjXCCJcI6r+tsgWMkszydHnUGgopKC8gAJ9AXH5cexN38v7Me8D4GbrxhPdn2BMmzFXVZ22jb8/9oMHk79sOfK0e5m5/BgxKXm8c1tnJoVLbPx+Ouscdczs9ABhLo1kd9aBbLFw5sHpGBITCf399xotvuxdKnpZ5+lR7tqJwtER2/btajy/KFvUYDu6n/8u8wt3YfeqRNS2Stz9awdfrFhpiJYK676SJI0EcoATsiy/34pjsnIpUNuC2hscvKt2JWWXsPFkJkmFJYR7O9DRV9TR1UjxMxuF0C7NEUK7NAfKckFfIPp+lxeDsVTcN5ZAeYm4n7QVEjbB1B85qenI5C934axV8+7ELtzaza/eOj0blYLhHbwZ3sGbjbGZPPR9DNMW7mbRA71bFDGuPgm+vUcAb9za9Emwp6Mtc8d3omuAM7NXHOattSd58eb2zR4DwMaTmbz461FS88uY3DOAZ0dF4qytnWJ0b78Q7u0XQn5pOR+sP8XCbUkc9FLSp5/5olJJy00WXv39GIt2peBgq6JPqBsP9A+lX5gbHva2JOWUkJxdQlJ2CX8cOcf93+3jxnaevDSmAwGuF9dayIqVawGLRea2z3dQajAx/84edPKvvSBbbrLw3M9HWLn/LA/0D+GFm9pdF46+kd6O3NrNn2+3J/PtjmQivB347r5eONjW/s59blQ7/j6RyTt/nuT9SQ27/VqxYuXiUEgK0c5L513n49ll2exN38viE4t5cfuLrIxbyQu9X6ghzq80LtPuoHjjRt585lOO+nZj3pRu3NxWC1+P5CtbmWCdD/d3aZm5cO5331OyYwcAOQsW4PnE41WP2bsKsVyca0C9aze63r2QlDXnUYU5IsBQGbEG8IsQLeCMejNaayq4lWbSUmF9VJbldyVJUgFNDJlefirbbfn6+l7poVw1nDhXyE97z7ApNpPknFLgfE0gCAOdCC8Hnh/djv5t3UVfbntPsTWH/DOw6FbkH8azSP0kjnbdWf2f/ng6ND3CMSTCk8+nRfHwohjuWribHx7ojWMdE736kGWZOSsPsyLm4ibBE3sEcDS1gK+2JdHJ34lbujatL2Mle5Nzue+7vbT1tGf5w33oGVx/65xKnLU2vHJLRwLddLz++3GmLNjFV3f3wN2++WlJ6QV6ZiyO4UBKPg8NDOXpERG1TOK6ap3pGiDSzmcOCePbHUl8uCGOG9/fzCODw3hkSJtWM5Y7nVPC1rhsAILddAS5afF1trvmo35Wrm32JOcSn1mMnVrJhC928Oatnbg16rwB2OZTWbyy+hiJWSU8cWM4jw0Nuy5EdSVPDg/n98NphLjr+OG++hcyA9203D8ghM83JXBXn+Cq741KLBVF2VaTsyuIoVh0LNHni8VvQ7G4lZTVPFgqyr7UWuEHU9d72WIR+6+j9/n1hrudO6NCRjEieASrElbxQcwHTPp9EpMjJvNkjydb1KqqNZFlmWUWHwLsPRgRu4WHXn+Udh4aWHQbZwqSOOznyRORk1Ermx840cfGkvX++9jfOBSFnZbcb77BZdLEqt7Z9s4akCAn5gRuZ8/iet+9tc5RlFM7Yu0Z7IBKo8RkMKNzsqaCW2keLRXWN0uSlA9skWX5UGsOqDWpbLcVERFxBZzLrj42HM/g0aX7kWXo28aN+/qHMDjckwBXO1LzyziaWsjR1ALWHD3HXV/vZs7ISB4aGNqyyaNzAPK9a0mZdzMvl77F3f3exNPhxmafZmg7Lz6/ozszFsdw18I9/HB/3VGUuth0KosVMWd5dEgYTw0Pb9rrSDsIvz4C4z4D3/PRmBdvbs+J9CLmrDhMGw/7JjuGlxhMPLXsEP4udvz8SD/sNc37yN3fP4T81AQWHC1k/GfbWXR/72aZqe1OzGHmkv2Ulpv5dGoUN3Vu3LnURqVg+sA2jOniy9w/TvDBhlMUlBn575iWResBdiRks/54Bptis0jKLql9TaWCqCBn/u/m9nTwvc5KN6xcEyzbdwYHjYq1jw/gqWWHeHLZIY6mFnJHdCBvrjnJhhMZBLtpWXh3j+uyTMLP2Y6/nhiIu70GXSPfUzOHhLF831leXX2MlTP6IkkSsiyzPOYsc/84gUalYHQnH8Z08SUq0Pm6WoC4ZFjM57O/qmeC1ZcVduF9QxEUpYtOJI2VcNVCqhDYtqJDiakczOUgm0FlK1p/6tyEx4pzEPj3hIBe4NrmshqfWqkfhaRgXNg4hgQM4ZMDn7Dk5BLMspkXo1+8YmM6ca6QTzbG88fhczzdZxRD139PcHoibP8Ykreyru/dcG4jo4JHNfvcFoOBtKdno3BywufVV5ENBor++ovM9z/A7713AVEvrdUpydq8C9/27XC+7bZa5ynM0aNUKdA6nI9MK5UKfNs4kXI81yqsrTSblgrr24GuwDhJktrKsmwVrlc5i3ef5v9+PVpVN3dh5NPfRYu/i5aRHb2ZMbgNc1aK1OdDZ/L538QuzRaEAMuPl/Fy/mzWes+n7Y5nwMsFutze7PPc2N6LT6dG8cji/bz02zHev71p6Ydfbk7E29GWx4a2bfrELuZbyDwGP90JD20WRm2AWqngszuiGDNvGw/9EMOqR/vh1oTo8dw1JziTV8pP0/u06N8QoLuXiqF9e3DXwt28tOoY397bq0nPO5CSxx1f7SbQVcvSB6Np69W8dnM+TnZ8MjUKd/tjfL09id6hrozoUHc6Wn2YzBZeWX2cH3adRqNSEB3qxl19ghgU7oGdjZLk7FJO54gU9BUxZxkzbxv39A3hyeHhLf73snKNUZgGh5cJ74iAaPDpAqrLm35XpDey9kg647r54e+iZdEDvZn7xwm+3p7E19uT0NkoeXZUJPf2C76uzf2aumhnr1ExZ0QEc1YeZtWhNLoFuPDcL4fZHp9Dz2AXXHU2LNmTwrc7kiv6dodyd9/gSzv4hpBlIRglhXifNXassQwMhUKsGkvBVI5z3hGIrxSdBnFr0gsBajKc32c2iL/r3VfxvBoCubRhg9G6UGpqepto7ME1FIL7g6MfOPoKw1Ebndg09iICXemnUumpUiXaS8XrVqorNo24LS+GkpzznUrOxkDMN2IMts7gFyW8Xjw7gGc78IgQEXArVwQnjRMvRL+ARqnhu+PfEe0TzY1BzQ9qtJSzeaWsOpTGbwfSiM0oQqWQmD0igod6DCJh+wpy//cEfuH7YehLrMndSjfPbs1qVVZJ1vsfYIiLI+DL+ahcxTzN9b57yfn8C1zvnIZd165YysuxyUtDb+OE/1sfotDUnrMV5ZTh4GaLdEGGjV+ECynHc62p4FaaTUtnrjOBdkAp8G7rDcdKa1PduGtIhAefTI1qNBqh06j4ZEo3uvg78dbak8RnFrPw7p4EujW91vZkeiH/99tReoT54X/3apjfHw4tbZGwBhjewZtp0UH8tvskhR0zccw+BGf3ABL0ng5thtZIVztytoCdiTk8PzqyQaOyGljMcPJ3MbHPPAEr7oNpK6smYu72Gubf2Z0JX+zk1d+P89HkhpvNbozNZMnuFB4eEESvc0tAO6TpZnMX0DXAmRmDw3h73Un2p+QRFejS4PGyLPPa78dx0dnwy8x+F+Vo/tzoSPan5DF7+SHa+zg2uea6oMzIo0v2szUum+kDQ3lyWHitFj0+Tnb0aSNM7GYMbsM7f8byzY4k/jiSxktjOjC6U/N/cEG8/iOpBexJysXJTo2HgwZPB1u8HDVNWhCxcomxmCF+g1jIOrWuZvtAlS34dYcO46HnA5clDfWPw+coM5qZ2EOkfquVCl4e24Fugc7sP53HI0PCrgmH78vJhO7+fLczmVdWH6e03IRaoWDu+I5M6eiAIus4+vB0TscdJffsSXLWmojNupGIXiPEd+CF4tZigZx4SDsgtnOHRKeL6sJTbQcekUK8ebYTkVNDYUVLykrhl3P+fmmOeJ7FJCKvAEjnu15o3UDjII4xFJ4X0oYi8ZwL6ArQlPw8pY0Qpao6blW24r6tsxC+1Q0/q99X686bglbd11U8XnGrvEILjxYLZJ+Cs3vFb3DqAUieLxYMAJCEsHcOBJcg8f/k1gbcw0XXk6u5Q8t1xKyoWezL2Md/d/yX9m4tzzZrDgu2JDJ3zQkAuge58NotHbipjRrX5DWwbDlOfpnkHSzBa/z9JHW4mfjV3/B87+ebfZ2SHTvI/e47XKZOxX7gwKr97g88QP6KFWS89TZBS5eQ+fY72OTZog/thk1gYJ3nKsw+38O6OhHR3hTnG/AIaF5AwooVSZab7zgsSdK7siw/LUmSDfCRLMszWn9orUdERIQcGxt7pYdxRXj+lyMs2Z3C7T0CmDu+Y7NdrXfEZ/Pwohg6+DqxdHp0k56jN5q56eOtFOpNrHlsAB4OGlg9C479As+cbtlEubyE4sV3ok3+B4VU8Z71iBSO5sXp4N0J+j0O7ceBUsWjS/azOTaLHc/d0OTUcZK3w7ejYcI3YnK1+jHo/yTc+FKNw1745Qi/HEhl//8Nq7eXa35pOcM/2IKznYo1bVehilkoWppN+xn8ezTrpW/atInBgwdTYjAx4J2NdPRz4vv7Go5arzlyjkcW7+etWzsxuVfdPyjNISWnlJvmbSXUXcfyh/s2uliRklPKfd/tJTm7hDfGd2JSz4AmX+tASh4v/HKU4+cK+WJaFCM7Nl1cn84p4dcDafx2KJXErNop5wBDIjx44ab2hHla3T4vF5XvYQDO7oMV90J+Cug8ods0iLpLCKeUXXBmtzA/zDgC0TNhxNwWfWfsSMjmWGohDw4MbfTY2z7fQUGZkfVPDLSmLTeDPUm5TFmwiyERnrzVx4L7sa/hyAqwGMUBCjUW5yCy8wvwtGSJfRonIa7NBtBXiFl9vojigug04d0JnPwrhGXFVl4MmSdFRlHZBa0KFaoKsVwtZVnrLkScQiU2pUqYcVaacJbmiGvb6EDjKES2bcWtptqtjRaUGg4ePU7X7r2rCWQbUGlqimelzb8zNdpsEu09M4+J/6O8ZPH5zj8tMlKoNs90CgSv9uDbTWw+XcHh+iutuBo4U3iGib9PJMw5jHvt7mXokKGX7Fq/HUxl1o8HGdnBmxeHBeKf8Q8cWQ4J/4iFLY92GDyHkfh/K7AfMoR1Y334NGslf0/8Gze72h1iGiLh5pvBbCHk55Uo7GpmR+SvXMm5F17EcewYClet5szY/yOpzJfpHw+q87t94VNbadPdk8FTrx6zNyt1U2MecYWRJClGluU6J/MtXfK0lSQpSpbl/ZJ1FnLVEnM6lyW7U7i/fwgvttC4q2+YO08MC+eV1cfZmZBTFV1siB0J2SRklfDFtO5CVIOIQMV8K3583do0bxAmA/w0DfuUTfxiP5Htpna8M+teFFoX8djhZbD9I1h5P2x8g9RxK1hz5BwPDghtuqgGOLFKTJjaDhdpc6kxsO198ePffmzVYcM7eLN4dwrb47PrrbX872/HyC0pZ1XXPaj2LoSouyFpC3w/Du5YDkF96nxeQ+g0KqYPDOWttSeJOZ1H96C6o9YGk5m31p4kwsuBiT2aLmgbItBNy/8mdOHhRTG8ufYEL42pP/J+Mr2QKV/uQgZ+uL93k94z1ekW6MKvM/sx8YsdzFlxmE7+zvg5N5xaaLbIvPjrEZbuOQNA7xBXHhwQytBIT/RGC5lFerKKDJxML+LrbUmM+HALd0YHMWtoW1x0TU/1OnQmn8W7T5NVZKDcbMFgtGAwWQj10HFblD/9wtytJmwNcewX+OVhsPeCSd9DxGiRblpJh3Fis1hg3bOw61MRsbzpg5qCJSsW9n0j0leVNhWbGkIHQ5shAHyzPZn1xzPo39addj6O9Q4pPrOYmNN5PDcq0iqqq1OaC0dXirpd11BwCxPf3Vo3kcZcmkMvTS5HJhRhd2ge0pIdIrra4z4IHyGOdfRHoVRRmFnM5Hm/MsEjhRnBGUjZp4R5lnMgpZKWQ1kW/MK7E9ixn4hsNhSNlWUozoSCs+ejz7ZOlzyzIT9VBYG9L+k1rlmUKvAIF9uFPw0mg/jdz4oVke6sWMg4Cqf+pEpwO/iIFHKPSPH/7xEp/ta5X+5Xcl0R4BjAS31eYs6WOaxxXMNQLo2w3pWYw+zlhxkeKPOp5hOUX60VpQ1OAdDvMeg0Ebw6oAE8sn3J/vwL+mwux6WnFw6DiiGo6XMES2kp5QmJuP/n0VqiGsBp3DhyFy2mcNVq7Lp2xXNYX+JWJmIoMWFrX3M+WK43oS8x1hmxtmKlpbRUWM8GZkqS9CiwvBXHY6UV+WxjAi5addONu+phSq9AvticwAcbThEdGt3oubacysZWrWBwhMf5nb5R4jY1pnnC2mwSgjnhH7jlUySGsOKng4xLNdO/LSJiEHUndL1DpHH/PJ3iFY+ikGZyT7/gpl/HYoHjq0RKuaYikjn6f2IC8OsMMeaKNO7oUFfsNSrWH8+oU1hvi8tm1aE0FnSJw3vv29BxAtz8oYisf38LLLoVpiwVIqCZ3NUniAVbEvlwwyl+uL/uSd4PO0+TklvKd/f1alWRN7KjN/f2C+ab7cn0CXVjeD311nP/OIEkSfw8oy8h7i1L+7NRKfh4Sjdu+ngbj/94gKUPRtebbWEyW5i94jC/HEjlvn4h3D8gpJYQryxjGNXJhzv7BPHB+lN8vzOZXw6kMnd8R27uXH/nAFmW2R6fw+eb49ken4ODRkWwuw6NSoGNSoFOo2JTbBa/HUzD18mWW6P8ub1nQLPalJnMFsyyfP3W78oybH0P/n5V1FFPXtzwpFmhgFFvi2jhtg9E7ectn4mJ+Zb/CYGuqkipNZeLSKSpDLZ/CB1vgxFvEpteBMCXWxL5oAFfhhUxZ1EqJMZHNc/t/7rEbIS49XBoCcSuE5FnSVEzVV9SVkutBi2IKOTwuSL7wM651mnDPO2ZPmYgz/58BEWXSB4e2wZZlvl5fyovrz5Gkd6EIgUeMEg8OUzCtqGPgSSJCKc1ynltoNKcT9+vjqEY0o+cT/3PjoX9P4iFtErsXCtEdrgQ3G5hwjDNJajmgpyVehkVMopd53bxS9wvzNk8B5VChSRJSEi427nT2aMznT06427XskWMuIwipn+/j0A3LZ94/Yjy+B/ie6DTRAjoXSuDw33GDNIGt+OvuY8w6kAOCaNvwvnWW/Gc/TRKx/oXQCsxJCWBLKNpU3fPa0mpxOfll8j6eB4+r7+GJV3InKJcfS1hXekI7mAV1lZakZYK6/tlWX4XQJKk2r+ilxhJknTAZuBlWZZ/v9zXvxY4nlbI3yczeWpYOFqbi6vFslUrmTkkjP/+dowdCTn0C2v4C3hLXBa9Q9xqpkl7RIp0vtQY6DypaRe2WGDVf+DEahj5FnSbxkijGZfVahbvPi3agVWiUED7sZRmnybinxd5LXgAPk43Nf1FpsZAURq0f/n8PpVGRNUW3ADfjBaR5oBeaFRKBkd4sOFEBmaLXEu8/rArmdHaE9wY9yYEDxAO4wqFqKm75w8RtV48CSYvgbbNMxXR2qh4aFAob6w5yb7kXHpc0Lorv7Scef/EM6CtO4PCPeo5S8t5blQ7diXm8vKqYwxo61Grt/a+5Fy2xmXz/OjIFovqSoLcdLw+riOP/3SQef/E88Sw8FrHmMwWnlh2iNWH0pg9IoKZQ+r+sa2Ou72GueM7cWefIJ5deYQnfzpEkKuuzr7FiVnFzPrxIEdSC/B00PDcqEim9g6slQmhN5rZcCKD5fvO8tmmeBZsTeTTqVHc2L7uyb8sy5zOKWVrXBZb4rLZmZBDscGE1kaJi9YGZ62aQFctE3v4Myjc8+qNgusLIW2/SIN1DxdpuNUxGyE/hYjYjyH9HzHZGvuJcB9uDEmCG18Wqbr/vC4+oznxoha1/xPQ59Ga1zMZhAjf+h5y3HoGFE9gtWY4qw6l8dTwcPxdai90mMwWft5/liERHs1qBXhdkroflt0NBSmg84Be06HrFPHdnZ8COQmQmwDFGRWtmlxFtFjnIbJ6Gqn5vb1nAFvisnj3z1jaetqzdM8ZNpzIoEeQCy+P7cDi3Sl8uSWR9cczePu2zvQKabwtoZVrGI29yNyqnr1lsUBhqhDZWdW2Y7+KcoFKJCW4BJ/PonBrU3E/DBx8/53p+A3wTM9niD0by+HswwBYZAsW2UKOPgdThZ+Ar86XPr59mNNzDlp10xaFMwv13PPNXjRqJd9PboPN1z9D16lw8/sNPm9t0W6WjbDjgbdXoP92KXlLllC8eTPer76CQyOpvuUJCQBowuoP0Nh16ULgwq8AsC8vBISw9gisWS9dWNlqy81qtmel9Wip4gqqdv95YE5TniRJ0tfAzUCmLMsdq+0fCXwEKIGvZFl+q5FTPQMsa9aI/2V8vjkBe42Ku/oEt8r5bu8ZwOebEnh//Sn6tnGrN2p9Nq+UxKwSpl5Y16tUiVqq1P1Nv+ifz4nIyeDnIVqU8duqlUzo7s8325PJLNTjeYGh0MLy4fSyLGJS9qdQcBc4NTEKdeI3UKhFCmN1nPzhvj/hh/Hw3ViY9B2Ej2B4B29+P3yOg2fy6B50fgKYWahHOrmGDzSfI7lHiMicqppZlr0n3PM7fD8Wlt8D0zeBe+NisDrTooNEFG7DKRY/ULPufd4/8RTpjbxwU7t6nn1x2KgUvDK2A5Pm72T+lgQev7Gm2P1gwync7W2YFh1Uzxmax7hufmyJy2LeP3H0beNG79DzQspotvDY0gOsPZrOs6MieXhQ80oMIr0d+fqentz88VZmLI7hj/8MwEl7XjCn5Zcx7avdGEwW3rq1E+Oj/OqNKNuqldzc2ZebO/uSml/GjEUxPLQohrdv68yE7v41jt0Ym8ncP04Qn1kMgL+LHWO6+OLnbEteqZG80nLyS43sTc5j7dF0/JztmNo7kEk9As6XVlwpTOUQuwZOb4eUnZBxrGY0085VpHCqNJCbBAVnQLbgA+JzPGhO81N2B84WYnrbhzBwjvgu0NYhulQaGPwsdJxA8cr/MNfwNY+4HuOG9P+wcFtSneULW+KyyCwytFrJxDXL/h/gj6fE99PkJaIcpnpEsFK8XASSJPHm+M4cOrOV+7/bh41KwQuj23Ff/xAiMHinAAAgAElEQVSUCok3b+3EzZ19ePbnw0yav5N7+wXzzMjIen0srFyHKBTgHCC2sGqLzrIsShNy4sXiTk58xZYoSqyqO6qrbEVUu7rYdm8rbuv63vgXoFVredjz4Vr1qQazgRM5JzicdZhDWYf4Nf5X4vPj+ezGz3C0qT96XFpu4oedp5m/JRG90cyyh/rgm/St8Eno1XCTILPFzLrkdQzwH4CzXwi88DxOY8dy7vnnOfvwDJzGjcPruWdROtXddtMQnwAqVb1mZBfi4CrmiMV5+lqPFWaL9401Ym2lNWmpsFZIkjQA2A4055vqW+AT4PvKHZIkKYFPgWHAWWCvJEmrECL7zQuefx/QBTgOWD8J9ZCUXcIfh9OYPrBNDaFwMWhUImr94q9H2RKXXW80dFtcNgAD63rcLwr2LBBRrMbSuNIOwu4voNdDYjJejSm9AlmwNYll+87w6A1tq/brjWa+25VCit9z9M6eIaLd01Y2PpGXZZEGHjq4zjRGXEPg/r9g8QRYOgVu+ZTBkRNQKyX+OpZxXliXZFPwwwy+UP+FwaUdTFshav8uROsKk5fC/AGw/G54YEOz2pNobVQ8NLANc9ecYGNsJgEuWnKKDaQVlPH9zmQmdg8g0rvxlKqW0ivElZs6+/DF5gQm9QjAtyLtendiDtvjc3jxpnYXnSVRnVdv6cj+03k8/tNBJvUIILeknJwSAwmZJcRmFPHiTe14YEDjBlV14aqz4ZM7orh9/k6eWn6QL+/sgUIhkVtSzp0Ld1OkN7F0enST+5aD6Ae85MFoHv4hhqeXHyKn2MBDg9qQll/Ga78fZ+3RdEI9dLx6SwcGtvUgyE1b50KV0Wxh/fEMFu8+zf/+jOX99afoEeTC4AhPhkR6EOHlgCRJFJQaic8qIiGzhGKDCZ1GidZGhU4jot/hXg6NdgJoFGMZ7P9eeBkUporsE/+eQvQG9BKfocoayuxTwhTKvyd0vh1cQ9l7Vk/Pwfe2/PrRM6oW1xrFPYw13b7gWMp7vJr7HR/5tueJPWoeu6F2Pf3yfWdx09lwQ6Rny8d2LWMqh3XPwL6vIWSQMG68MOugFXHSqvn0jigWbkti1tAwwjxrRpD6hbnz5+MDeXvtSb7ZnsyuxFzmTela6zgr/zIkSbwvdW6169wtFig6V010VwjvzONiEbC6w7udazWhXelUHi48BP6FqeUapYaunl3p6ilKZTac3sDsLbN54M8H+GLYF7ja1pze641mFu06zRebE8guLmdguAdzRkTQ0cceln8FQf0b7XyyL2Mf2WXZjAo537varlNHgleuIPvzz8n5cgGle/YQunoVCl3trDdDQgI2wUFI6qb9f9naq1GqFRTlGmo9VpSjR2WjwM7h3/d/b+XS0ehsS5KkdrIsn7hg92xgBnAP8GtTLybL8hZJkoIv2N0LiJdlObHiej8Ct8iy/CYiun3heAYDOqA9UCZJ0hpZrh4ysTJ/cwJqpYL7+4e06nkn9RBR6w/Wn2JgW/c6xcDWuGy8HW1pW5fjsl+UcILNOAa+jfSiPvmHqO0b9EwtYRzqYU+/MDeW7jnDjMFhKBUSx9MKeWnVUbKLyxk/uT/kvgprnhZioPvdDV/r3CHhXjpwdv3H2HvC3b/DT9Pg14dx7PQ3r7o7c+iwN3K0LVJqDPLaOQSXFrDM4U4mzXi/4V68zgFw6wIh1tfMhls+aXiMFzAtOoiYTb+x7vuN/GPuShbCyMxVZ8NTw2unTLc2z42KZMPxDN5ed7Kq7dgHG07h4aBptWh1JfYaFfOmRDH1q1189Hcczlo1bjob3HQa3rmtc7Mcx+siKtCFF0a34+XVx/lyayLTooO455s9nM0r44f7ezdLVFcf88J7evDUskO8ufYke5Pz2JGQjUWWmT0iggcGhDRaT61WKhjdyYfRnXxIyCpmZcxZNsZm8fa6k7y97iRejhrMFpns4vIGzyNJEOSqpb2vI+19HIkKcqFbgEutNP46KcsXpoM7P4GSLAjsI/wC2gypPRFtO6ze05Tkb2r8Wq1IbEYJyxSjeKVTGSOOfk+EKYQfdrXhsaHnF+L+OZnBhhMZ3NUnGHUzuyVcF2SegFWPiZZJ/WbBDf+9LC2cugY4M29K/a0KtTYqXrmlI4MiPHh6+WFunreN/97cgck9AziaVsDm2Cw2ncoio1DPm7d2YkDb1i95sXINoVCIzDQnPwgdVPMxsxHyTldEt+PEbXY8xP8NBxdXO4dKiGv3cLGQ7hIMLiHivlPAv0Z03xh0I/NumMfjGx/nvnX38eXwL3HVuLM7KZffD59j3dFz5JUa6Rfmxhc3hp8vRYtdK8pFhr3a6DXWJq1Fq9IyyL/m/5XCxgbPWbOwDQ8n9YknKTtyFF10bR+Z8vh4NJGRTX5NkiRh76KhOLd2xLooR4+Dm53VtNJKq9Jouy1JkhIR9cwvybKcctEXFML698pUcEmSJgAjZVl+oOLvO4Hesiw/2sh57gGy66uxliRpOjAdwMPDo/uyZf+OzPFcvYXZm8sYHKDizvatnza6+YyRb46V80R3DV08ak7CLLLMf/4pJcpTxf2dal/btiyD6N3TiQ2fwTnfkQ1ep8feWZhUWg52uzBpQbA33cSnBw081FlDYoGZDadN6NRwe4QNA/zVIFvocui/OBTFs7fnPAy29U++QhJ/IDDlZ7b3+w6TuuFIr2Qx0jZuAe7Zu7AxFtR4LMOuLXfmP8ANncKI9m3aBDUk8QeCUlZwInIWGd431HlMcXEx9vY1Fypccg/S8chrKGWxGp9u15ZzLr0p9OmH7FC/EVdr8nNcOasSjLzQ2xaTBd7eq+eOSBuGBV+aSYjRIqOAS1JvLMsynx8ysC/DTICDgjNFFh7rpqGr58UJDYsss/hEOX+nmOjqoeSOdjZ4aC9OxOXpLRzONnM824yNUsLXXoGPTtxqVRIGs4zeDAaTTL5B5kyRhZQiC2eKLGSWiu97pQQhTgrCXZQMDlDhWX1MsoxTwTF8zq3HI2sHSks5uS5dOR00iQLnlvVhr+s9fCl5Z28ZZUZ4raeZHvtmkVOuZrxpLq8PdkWtgHXJJpbFlhPoqOCp7rY4av49EyuNPpvg5CV4p2/ErLQjNmImWZ79rvSw6iRfb2HBEQPHcizYKkFf4ZkW4qhAb5bJLJW5r6MN/fwuvfC53O9hK5cWpakUbWkq2tKzFdsZtKWp2JVloJCNVcfJKNDbeqC39aLMzocSXQCFjuEU24ciK64dwd2c92+cPo4vMucjme0xnJ5Bkd4ejRK6eSoZHKAm0rXmomznQy+hK0lhV/QCZEX9v5km2cQLZ1+gg10H7nK/q85jpOJiPJ+eTdH48ZSOGF7zQaMRz8dmUTJ6FCVjxjTptQAkb7RgMUHosJq/vQnrLKi0EDTwX7iweg1yNX0HDxky5KLabUUCDwGbK1K0X5dlOas1B9gSZFn+tpHHv5Qk6RwwRq1Wd79aep9dal5dfRxJSuaVKQPqNOu5WPqZLWx4bxPr09X857b+KKqJnINn8in5czsTB3ZicJc6xJ0sw5HniNAVEdHQ/0deMmxKhuGvM7hv3cf1M1v4Kf4f5h82IElwR3QgTw+PwFlbLUrcJQQ+7kof+7PQf2Ld15JlOPIUhAyg/7CxdR9zITeIyFx6RhozP/yRRzuZGNI+gNeOhpFlyOPxiUOaXhc4oD/8kEG7+C9pN+T2OtOoavXuS42Bb98RLqtjPoTEjXifXIN32iLIXAkzdwvX1EtMr74m9ry7mdWpGjQqBV6OMv93RzNe+1VGz74mxn6yjcSsEj68vSvjurWOS/SQwTLnCvRVKfOtwfgWPq+guJTYI7vJObUbVfoBvFNjsTlnwdfLCwdHZ1HLfO6QSKnUOArH/ai7cPXt2qyanwu53P0nn962gSERHvQf1gXCnPD9bgyPyYs5o3mPk+cKWR57ltGdvHlvYtemRe6vB8ryRJ36vi9EXXyfR1ANeIoOV3nd6djhMt/vTOZIaiH9wtwYGO6Bu72GQr2Rh76PYcGRHFz8QpgxqM0ljTxdTT1UrVxCLBbRwSM3CfKSkfKSsMtLxi43CZe8fXDuT3Gc0kb0W/fvJcrIgvuJ3udXKc15//pmdOebpRJFLh8R1iaZh7rdxeAIz7p/27PjYdNBGPICgwY1bMa66cwmSlNKuSf6Hgb6D6z3uPgPP8K3rAz/C8arj40lSZaJGDoUx2Z8Fv9OOcGZ47kMHlxzATF+1RZCungxcLC1h/W1wLXyHdyosJZluRyYJ0nSAuBRYI8kSYuA/8myXNgKY0gFqudy+lfsu2hkWV4NrI6IiGjYTeE6Ia+knKV7Urilq98lEdUg0lMfHxrOU8sPsebouRptiraeykKSoH99ruGSJPpZN2ZgFrtW3EaMbnAcTwxry5/HMpg9PKJOR2dcQ8DRDzKO13+tzBMiPSz6kYbHVAfeXr4Y/XrxUZ5Ep7Ae/Ln8b+7qE9w8YalUwW0L4Yv+8OMdMOVH8GwgzSnrFCyaIFoVTVsBDt7g30OksWfHifNsfANund/s19NctDYqnhkVwRM/HQLglbEdrllRDSJ9e+mD0SRnl9QwSbtYJElqVVHdbGQZUnbB/u9xOv4bvSrb2dg6URbUmX1pBvLSS2hXXoqTQi/c6wfNgXZjRbura4ycYgPZxQYivCsmuSEDoM9Mpu38hHvXLGajpRuPDW3L40Pb1lgYvG4pzYWdn8Lu+VBeLOrehzx/WRbfWgOFQuKefrXLmhxt1Xx7X09mLz/MO+tiScsv45WxHa9eB30r1waVHTwcfYVYvpDCNDi7D1L3wdkYUSqz+3PhVO7fQ3QCcWsDzoEijdzR95pKJd9wPINZPx7AziYYDx8fAj3SGNnRp/4n7P1KGL9GNVJyB6xJWoOzxpk+vn0aPM62Y0f0R47U2m+IjwfApp5WW/Xh4KKhpMCA2WxBWVH2Yyg1Yig14eBudQS30ro0Oc9RlmU98K4kSZ8Ds4AYSZLmV7bdugj2Am0lSQpBCOrJwNSLPCcAkiSNAcb4+l6e1NgrzbG0QsqMZm67xP1Yx3Xz48stibz7ZywjOnhX1Sdujcumo68TrroGaot9oyB+g+hhqaknpSN2DbhHNOpCe0fvIO7o3cjk0KuDMDGpj5O/AxJE1irnbxLD23vx7l+n+GxjAkazzJReLaj3dfAS7uFLp8CCITD6Xeh2R+3jClKFO7lCCXf+IkR1ddzbQu+HYPvH0Pc/4N2x9jlamVu6+LF4VwrnCvTcfpG1zlcDXo62eDleJ76IZXnC7Xn/96K+0MYBOt0mTKp8u4FrKHaSRLtiA/d9u5ejqQW8Nq5j45+pq5zYDNG/ukpYA9LQ/1J8Yj3v5n/J7pvXM7rHpfchuOKU5MDOecIwsrwE2t8iFkwaMRe6ltColHx4e1d8nGyZvyURlULBy2Ovn9dn5SrE0RfajxUbgFEvfAoSN4lt2/u1+757thNmjgG9RITbrU3zuyNcYmRZ5rNNCbz7VywdfZ348q7uzD/Wl7+S/8JkMaGqK8XbUCxq1dvf0mhf+VJjKZvObOLm0JtRN5JCb9epI0Xr1mHKy0Pl4lK1vzwhARQKbEKCm/Xa7F1tQYaSPAOOFUL6fKut6+T33spVQ5OFdUVtdCQQAQQCRcAbQJOFtSRJS4HBgLskSWcRddsLJUl6FPgT4QT+tSzLx5p6zob4t0Wsc0qE66Gn46VtyaNUSDwzKoL7vt3Hj3vPcGd0EEV6I/tT8pg+sBF3Zr/u4kfn3KG6V4PL8iB5O/R7rHUG69keEjbW70Sesgu8Ojb6o1Afw9p78+5fp/h6exI9g11a7l4b0Ase3gY/Pwi/PQLJW4XAlhS45O6HP9dX9PIsgHv/qH/Rof8TYgX971dE3+1LjEIhseiB3hiMlms6Wn1dYSyDPV/C1vfE+yUgWrwvOowTPaEvwN1ew4/To5m5eD8v/HKU9AI9Tw4Lv2YNXWLTK4S1V7XPokqD/fgPsf9mFKNtDiF+xi4RpnJhhnQle+mmxogMmKJ06HiryGjxvDQt+K40CoXEc6PbYbLILNyWRDsfB27v2bRWPFasXDRqWwgZKLah/xVCuzBVmHkVnBGlbWkH4OhKiPlGPMe1DfR+WPR8ri/AcBkwmi3sScpl/fEM1h/PIDW/jLFdfHlnQmds1UqifaJZGbeSEzkn6OTRqfYJDv8EhkLR874RNp/dTJmprIYbeH3YdhTX0h89iv2AAVX7DfEJ2AQGorBpIHhTBw4u51tuVQrromwhrK2ttqy0Nk1xBT8M+AEpwEngBPA3om3WqeZcTJblKfXsXwOsac65msK/LWKdU+EO7Kq79L1uh0R40ivYlY82xHFrNz92JeZissiNO7T6RYnb1Ji6hXXcepDNEHFT6wzUqwNYjCJN2qt9zcdkGc4dhIjGv+jrI9zLniA3LadzSplyYe/u5uLoA3f9Blv+B5veEs6l+gK6mA2iniugN9zwIvh0qf8cdi7Q/0nY8JJYoKjr37gxZLlZq+m2aqVVVF8NWMxwaKkoBShMFb2Ih/5X1AE2gtZGxYK7evDCL0eZ9088BWVGXh7T4YqlSn+3I5lDZ/N5f1Ij3QPq4FRGES5ade2e3wHRYO8lslQ6T2qlkV6ALMN3N4sI8R0rxGf6cnN4Ofw2UywWPrS54e+L64jnRkVyKqOIF389ShsP+/OOxVasXE7UtnX3fbdYIDtWLOYfWARrZ8M/rwsfi94PidTxy0RcRhELtyXxx5FzFOlNaFQKBrR1Z/aICG7p6lu1qNrLpxcAu87tqi2sjWXCs8GnqwgMNMKapDV4aj3p7tW90WNtO7QHSaotrBMSsAlrOJOxLuxdxW9B/P4svEOdUCgVFOaIHtaO1lRwK61MUyLW44AkuTH78KuQf1vEOrekHIUEznaXvp5HkiSeGRX5/+zdd3zU9f3A8dcn8zIve5EEAoGQEDbIVhSVoRRqtdXWWVet1i7b2vHT2mV33bPu3daJoqhoQIaIsjeBQPYme+e+vz8+d5CES3JJLrnc8X4+HjwuXG58gC/f3Pv7eQ++8egmnt6QQ1ldM4F+3kwbaWcOdEdBURA2UgfW9hx4T3/4HdH7ydchtrTH0n2nB9bV+dBQoX8w9JNSihWTE3hlax7LJjrhQ7SXNyy8E0bO1Snd0Wnsqotk0vKb7e422jXrZl1P+fHdcP1HfUs5++o52HgfXLvaNUGBcExtCRxYpWdHnziux8VV5UJrg/6/8/XHdW1xH/h4e/Hnb0wkNMCHJz/Loa6pjb9eOgkfF4yiyjpYyrpDZfxhZWafZ6IfKK5lnHXGdydeXrpvw+7/6l0l30HYqcheC3lb9KjApy+Eq97qtaTFaSwW+OT3OhV15Dz45vP6fHuG8PH24qErprHi4Q1878WveOe2+a7tbSBER15eOmskJh1mXAd5W+HzR+DzR2HLYzD5clhwh+4NMwgMw2BTdjlPfnaUTw+W4e/jxcWTElg8IZb5Y6PsnmcjTBGkhaexpWgLN07q8jF680NQnatHhfbyGaO6uZoNBRv49vhv46V6/3niHRyMX0oKjbv3nFp/Swstx48Tcn7PDdLsCYsNZNxZsez+NJ/SYzUsuiad2oomfE3e+AcO/ohBcWZxpHnZ0aFYiBi4ivoWIoL8hmyXafrIcC7MiOXx9UcJNfkwe3Rkr7N5Ab1rnW8nsG5r1vXXmd9wXhpl5FidllmyByZe2vl7RTv0bUL3M1Ud8cPzx/G9hWOcu2trSy0DKrOyHA+qAXwD4Nxfwjs/0Ltz6Q6OpajOhzW/0g2O3v85fOuFvq9bDJ7GE7B/Fez+ny4VMCy6c3fYSIhMhTGL9AWZ8Rf1u35PKcWvlqVjDvDl7x8eoq65jQeumNrtsV1S08T9aw8TEejHdfNGERnsnGyZ0tpmLAbszq/uUyM5wzA4VFzLpdMT7T9g/EU6HTNnPYy70P5jBmLDv3TDxMuehVcuh6cuhCtfh4T+X7xzSGsTvH69/v8+/VpY+jfw6Vu6pCcwB/ry72tmsPLhTdz0wpf89+a5Z07Xd+FekmZC0jP65+6mB+HLZ2DHK9YA+6dOuyBnGAZZB8u4Z3MTx9ZsITLIj59cMI4rZ4/suR+O1az4Wbx64FWa2pow+VgvRtYUwmf/1J8tus4Ot2Nt7lraLG0sS+m+IW1XpswJNGz+/OTvW3Jzoa0N/37sWCuluOC7Exg1KYp1rxzktT9uJSDYl1CZYS0GgUcPb1NKLVdKPVFXV+fqpQyJyvpmh06UzvTzJWk0tLRRWN3E2WMd3B0ZMV1f6azrMrUt5zMd1I13Uho46A+XUePsdwYv3KEbiwywmY+3l+rzrtqgm/xt3QBu7e+gvc2x57z/C51OPPMG2P8OHHB6dYboj4ZKWPNr+HuavlhSlas/eH3/c7gzF27ZoJvfLfkTpF884KY4SiluO28s93xtAh/uK+Hqp79g67FKOiYtGYbBG9vyueCf6/jfl/k8nJXN/L98yh/e3UdpTdNA/8SU1ep+ETvyqvr0vPwTjdS3tDMurpteByln65FiB94d6BJPl/cFHN8Ac27TqZHf/RB8A+HZi+HoOue/n01rE7x2pf4zLfkLXHzfGRlU26TGhHD/5VPYW1jDrS9vo7Gl3dVLEqJ75kRY+hf44U5dq7zndXhwGtw3SfdJyPqL/lncUt/nl/78aAWXPbaZ657dSn2rwb2XTGTjnedx+6KxDn9WnB0/mxZLC9tLt5+68+N79GeFC37v0GuszllNckgyGZEZvT/YKiBzIm1lZbSWlAK6vhrAf0z/LziMnRHLFXfNIml8OHUnmgmNkvpq4Xx9DqytdctuwTCMVYZh3DRcBooPtkrrjvVQSo0JObk7tGBcL/XVNrY078IuY7cOvge+QbprsTN11xm8aAdEj9c7vJ7G2wfOvxvKD+ma7d4ceE9/MF/4C1jyZ4iZAKvvgObawV+rsK+tWe9kPDBVj0uaeBnc+Cncvl3X2sekD2pn2WvmjuJf35rM/sIaLntsM0vu+4znNx/jSFkdNz7/JT/5z07GxobwwY8W8NGPz2ZpZhzPbDrG/L9+ylMbcvr9vu0Wg/I6HVjvzO9bYH3I2hF8fHeBtY8/jL1Aj/SzWOw/pr823Kd7HEy7Wv8+KhWuXwPmEfDfa3X9tbO1NsF/roLsj2D5AzD7e8Ou27ArLEqP5Q8rM/n0YCnf/vfnVNa3uHpJQvQsNB6W/lkH2Of/Vmf2lR2ArHvh1Svg/im6xKutuduXaG5rZ3vuCZ7ekMN3/v05lz/xOXknGvjDykzuXRDAFWcl9zmzbnrsdHyUD1uKtug78rbCrldhzq0Opa2XN5aztXgrS1OW9ml32JSpp5o07dFjt5qPZINS+KUMLFU+yOzPsu9PYtn3JzF75RCV6YgzSn+22f4IrHL2QgZTu9tVh/dPRX0L6XGhQ/6+/3dxBksz4xkT7eAFjPjJugax4CsYt1jfZ7HoD7up5zm/9jEmQ9dVNlZBgLUG3DD0jrXt/T1R2jKYfAWs+4u+mNFd6mtzHaz+uf57mnOb7p6+/H546gLdXGXpX4Z23UKXRLz7Y707PWYRXPC7IRmf1tXXpyayeEIc7+wo5MUtx7nrbT2wwd/Hi99clM5181JOzg3+57em8KPzx3H7q9v592dHuX5+/z4AVdTrNHAvBTty+xZYH7B2BB8b20N3/vEXw9439RxaB5ruOKT0gL4weM6dnbv8hibA1Cvhw9/o7rkms3PeD/QH7P9cBYc/1P9fp/c+R/ZM8p1ZI4kM8uf2V7dz6WObeO66s0iKGNhc9saWdiobWhghtdtisITE6SkONs11epzX+n/oEq1ND8I5v9A/2719qG1q5bWteby7q4h9hTW0tOsLhglmE79els5Vc0Zi8vUmK6t/FzsDfQOZFD2Jz4s+15/TPrgTguNgwU8cev6aY2uwGJY+pYEDmNLHg7c3jXv2ELJoES1HjuCbmIhXwMD/7ymlSJl05vSfEEOrP4G121wOt3UFD4wbTXNbu2P1v26som7od6wBQky+nDs+xvEn+AVBdDrse1vXiVraoakKaouc1w28o5MNzPbDyDn665oCaCgfUOOyYU8puPhfur78jRvgpiyIsDMOLeteqMmHSz88NZIsaaZOCd/yOEz8JiQ6qZmc6JmlXf97rP87RKfpeeVjznPpkgL9fLj8rGQuPyuZnXlVrDtUxkWT7F9IS44MZMHYKB7+NJu2dku/Gp+V1ugdmRmjIvgip5LSmiZiHJwtfrC4lhFhAYSaemjgmHq+7rtw4F3nBdYb79dp3/bGzgRb583XlTovsG5v0+nfJ4Pqa53zuh5mSWYcL90wi+uf3colj27imWtnkjmif/8GJ5osrHx4I9llddx2biq3nZeKrwsa+4kzjH+w/hkw+lw4+ims/T28cxvNO/7DP2L/zCtf5FPb3MbkpDCumzeKqclhTEkKJ87svA2K2fGzeXTno1Rvfw5zwZew8jHwD2FL0RaqmqtYPKr7DYrVOatJC09jdFgvo1i78AoIwD81lSZrA7Pm7CMDSgMXYqj056eC2+z/2lLB2/Dirrf24oaNzR3W2m6hurHVJYF1v4xfptOc1v8dNj0A218Cc/Lg7CCfDKw7jEcv2qlvB7upkKv5BsC3XgQUvHY1tDR0/n7hDt2VdPq1kDyr8/cW3aWvnq/6oZ4DLgZXXSm88HWduj/lOzrt28VBdVeTk8K4fdHYHrNT4swmLAaU1XWfstgTW331hRl6tnxf6qwPldQyLraXzJmAMBi1APa/65z07Ko82P0fmHYNBNlptBZsvehYWzzw97I5tl4H1Yv/JEF1L2aOiuD1W+bi66X41uOb+XBv3/8dsktr+f3nTeSfaOC88THcv/YwlzyyicMlUiojhohSNCSdzbuzXuQ/Ubfhn7setflhFo6P4Z3b5vH2rfP45bJ0lmTGOzWoBpgdOhoDg63rfi/3wG8AACAASURBVKez3yZ9i11lu/j+x9/njnV38ObhN+0+b0PBBnaV7XJodrU9pomZNO3Zg9HWRktOTr8alwkx1M6Iy61mP8VrX+bxwufHXb2UQXOiQdeQRQW7SWB93m/g7ir4bRXcVQH/Vwo/3g2BgzB7NHQE+JuhpENgXbhDp6PHDn167ZALHwXf+LfeuX73R1BdAF88Cc+vgH8v0n/n5//29OeZQnUaeMlu2PvWEC/6DHNsIzy2QI9qWvEwrHwY/AaWtuoqCWadqldY1b8mZqW1+nkL06Lx8VIOB9at7RaOlNWR5kg5zPiLoPKI7kEwUJsf0rdzb7P//WB9gYC6koG/l02ldVjHhK877zU92NjYEN68dR6pMcHc/OJXPPxptsMX2r86foJLH9tMmwVeu3kOT149g8eunEZBVSMXPbiBJ9Yfoa3dyfX6QgBNre3sK6zhjW353PLiV0z7/Ufc9soO/npiIQfCzuFO///y4Lm+TErsZcxpfxVsg/99l8wXriDQYuHzmFHwjacobizl9k9uJyYwhlnxs7hn8z18mvtpp6d+kvsJt39yO+MjxnPpuEvtv34vAjIzaa+qon7z5xitrfiNSXXCH0qIwTXMWhk7ly0VPCEhgUXjY/jdqn2MjQlhzhi9q9DabmHt/lLW7i+huc1Cu8Wg3WLoDNpJCSybGOc2rfhtzVkigpwz7mZIDNXfrVJ6hnXHzuC2xmVuGrz02dgLYOEvIetPsOs1fV9kqq6pnna1brpkz/jlEBIP+96CSZcN3XrPFC31unP7lsd1I5gr/wdxE129qgGx7ZYUV/czsLamgieGBzI+PsThBmY55fW0thukxTnQ6yFtmW7Od+A9nXLfX001sO15XS5h7mbEV4gtsC7t//t0deIY+JhOpZmLXsWGmnjt5jn84vVd/G3NQQ4W1/LXSyd128zJMAxW7y7mp//dQVyoie9P8DmZRr4kM57pIyP41Zu7+dPqA7yxrYB7vjahT6PhOsqrbCDvRANFVU0U1zRRUtNEckQgs0dHkh4ferKPgfBstU2tfLCnmI/2lXCopJbcygYs1us/UcH+XDY9iWUT4zkrJQLvxqnwyBx44ya46VPdmNGZDn0IL18G/qH4zr6FGUYRWxrLaAiJ5QcfXENzezNPLX6KuKA4blhzAz9b/zMev+BxpsdO54OcD7jzszvJiMzg0fMfxezfv/ILU6b+WVj99tsAsmMt3EJ/AmsnXnYfXIZhrAJWpaWl3fivy6fw9Yc3cuvL23jiqumsP1zOa1tzKanRI6rMAb54KT06qa6pjff3FHPWqAjuWp7R75qsoVRZZwus3WTHeqjFToBd/z2V+lm4Q9danknO/hlY2vQP4PTljgUUXl76sdue101U/Idxh/2qPJ2VkLKgb3O/XeXoOuv4rOO6NnfR3cP779dBth3rourGfj2/tLYZc4AvJl9vpiSF8fb2QiwWA69eggtb47K0WAd2rM0jIGGaDqwdbMJjV/bH0NoA067q/jGmMPD2gzonpoJX5uj55V5nRNKZ05h8vbnvW1NIiwvhb2sOcqSsju/OS+H89FjMgbou3zAMPj1Yyv1rs9mZV8WkRDNPXzuTPV9u7vRa0SH+PHHVdD7YU8wf3tvPt574nK9NTuBXy9IdTsXdV1jDX9ccIOtg59GTIf4+1DbrMYkhJh9mjopgxqhwJieGkTnCjDmghx4Cwq00tbbz2eFy3tpewMfWTZ7E8AAmJ4axYsoIUmOCGRsbzNiYkM4XWIKiYMVD8PI3dZPRCx0bfeWQxipYdbtuaPrdNWAKZdbe51n/5d/4wSc/4NCJQzx03kOMCdOB7sPnP8w171/DD9b+gCszruTxXY8zJXoKDy96mGC//v9MM40bi/L1pfbjjwHwS+lbnbYQrtDnwNowjAsGYyGDLdTky5NXz2DFwxu59LHNKAXnjIvmjytH6pTDDk1I2i0Gr23N4+8fHmT5Qxv41owkfnLhOGJChu/MuwrrjnWku6SCD7WYDGiuhup88PKG+lLdnfxM4uUF5/26789L/xp88YQe6TNcU0/b2+CVK3Tauk8ApC7S6x63+FQn+OGitRE++CV89YxuJnfd+zByrqtX5TShAT4E+HpT1N8d69omYkL07svkxDBe/DyXo+V1pMb00OkbOFRci7eXYkyMgxdVxi/TH0hrivSom/44+D4ERkLSrO4fo5ROB3fqjvVxXeIh+kwpxfcXpjIuJoS73t7DT/+7Ex8vxZwxkcxLjeK9XUXsLqgmMTyAey+ZyDemJeLnY/8ChlKKpRPjWZgWw6NZ2Ty2/igf7y9h5dQRLMuMZ9boCLsNzvIqG/jXR4d4c0cBoSZffrY4janJYcSbA4g3mzD5elNc3cSWnAo+P1rJlpwKPjlw6vhJiQoic4SZ1OhgxsQEMSY6mJSooD6PUhJDr63dwu6CajYdqWDTkXK+PHaC5jYLkUF+XD4ziRVTRzA1KcyxbMlxi2H6dbpT+LjFMGq+cxa55lf6fHXFK7okDJgVr89xXxR/wc9n/pwFiQtOPjzCFMHjFzzOVe9fxaM7H2VO/BzuP+9+AnwG1sFb+fnhP348Tbt345MQj3ewG1wwF2c8j04F72p0dDBPXzuTTdkVXDJtRLejN7y9FN+elcxFk+J5YO1hntt0jDe2FXDxpHiunTdq8OpZBuBUKrgE1nbZGpiV7NWdyMHzG5c5y8i5EBgF+94ZvoH11n/roPrc3+iLJvtX6a7PJjPcsqn7NN2hVpUHr31HN8+bcxuc+2uPK0dQShEfZhrQjnVMqA6spybrc+323KpeA+sDxbWkRAU5Pv0h7SIdWGd/3POOc3faW+HwGj2+y6uX9wyOcV6NtWHoVPBR85zzemeo8zNiWZQew878at7fU8QHe4r57P0DjIwM5K+XTuLrU0c43PU7wM+bn1yYxqXTk/jnRwd5a3sBL2/JJSzQlwszYkmOCKS0tpnSmmZKapvYW1CDUnDz2WO45ZwxJ3fLO4ozm1gxZQQrpowAoKqhhd0F1ezKr2ZnXhXbc0/w7q7CTv33ooL9iTebiDObSDCbiA7xJzLYn6hgfyKD/YgK8icqxI9AvzPqo59LGYbB4dI6NmaXszG7gi05FdQ26WyE8XEhXDl7JAvGRjEvNap/XeYv/APkrIM3b4Hvbx541tOhD2HHS7DgDkiYevLuseFjGWMew8y4mVyZfuVpT0sITuCpC5/i49yPuSrjKvy9nZOabsqcQNPu3fhLfbVwE72eXZVS6YZh7B+KxQyFmaMimDnKsQZZ5gBf/u/iDK6cPZJnN+bwv6/yeWN7AVOTdWfcc9P6MGJqkFXUNaMUhAdKYG1XTLq+Ld2r578qL7evZR0yXt662dOe16G1yflzxgeqthg+/aPuoH32HXqHcMlf9IeNF1bCnjdg3u2uXiXkrIf/XqsDsitehbT+dUp1B/FmU/93rGuaOStFn6NHRwUT4u/DjrwqLpuR1O1zDMNgf1ENU5L7cNEzejx4+0P5wX6tk+OboKla12v3JjhOB8PO0FABLbWyY+0ESimmJIUxJSmMO5eMp6CqkbhQU7/GxIEeN3ff5VNpam1n3aEy3t9dxPu7i6ltbsMc4EtMiD8xof58e1YyN58zmniz4zt6YYF+LBgbzYKx0Sfva2xpJ6e8niNldRwtq6e4ppHCqiZyKxrYcrSCGmsA11WAr7cOtIP9iQr2I9IacEcH+zMuNoSMhFDC5LNEv+WfaGBTdgUbj5Sz6UjFyUkHyRGBXDwpnrljopgzJpKoYCcEn/7BevzV04v1hcKlf+7/azVW6Skg0elwzs87fctLefHmijd73EkfZR7FDRNv6P/72xGQOZEqXsV/tKSBC/fgyGXL95RS64C7DcPIHewFOVPH5mUDkRIVxD0rMrljcRr/+yqfZzcd48bnvmTzLxcRHTI4zcIMw+BPq/cT6OfDyqkjSInqOQWmor6F8EA/aXLSHZNZj/Mq2QfNtRA1zj3qcIeLjBWw7Tk48olOoR1OPvw/aGuCZX8/1RDPywvGnKvT/fe97drA2jD0SLMPfwORY+DylyFqrOvWMwTizQFsOFze5+cZhkFZbfPJVHAvL8WkJHOvDcxyKxsoqGrk5nP68OHLy0s3jKvM6fM6ATi4WjcQG3Nu748NjtEd353BFqBLYO1USikSw52TPWLy9WbxhDgWT4ijtV03Rh2MNO0AP28yEkLJSLDfV6CptZ3K+hYq6loor2u2/mqhoq6Zinp9X0FVE7vyq6mob6Hdcmr7e0RYABkJocxPjWLpxLhhXQo3HBRXN/Hq1lze2l7AsQo91jIq2J+5YyKZlxrJ3DFR3WZJDljyLJh5PWx5DCZeBonT+/c6H/5aZ9Zc/pLdZmiuaOYbMEWX7PmPHz/k7y1EfzgSWI8HbgbWKaXeAf5gGEZZL88ZFjo2L3PG64WYfLluXgoLxkZz/j/X8b+v8rll4eB0KdxbWMOTn+kPfPevPczkpDBWTkng61NH2L2SXFnfImngvYnN0KngjZUw2oEPw+KUlLN1E6b97/QeWGev1TVai+7SO92DKeczPUP47J/poLWrjJWw9h6dgh3W/Y7noNp4P3x8t04ZXvnoyZo1TxZvNlFa20Rbu+W03b/Wdgt/W3OQGxaknPZhvaaxjZZ2S6cLllOSwnh83VGaWtu7DU42ZOsgfl5qVN8WGjH61OiqvjAMHViPXujYBbrgWL3T3N4K3gNsPCWBtVvx9fbCVaXPJl9vEsICSAjrfWfcYjEor2/mYHEtewtr2FdYw+6Caj7aV8I9q/Yye3QkyycnsCwz3m7q+pnIYjHYkF3Oi58fZ+2BUtotBvNTo7h6zijmpUYxLjZ46ILRRXfDgdW66dhNWX0/z+Ssh+0vwvyfwIhpg7HCfvEfM4ZRr72KacIEVy9FCIf0mu9kGEaLYRgPAulAHvCFUur3SinP/3TYjdSYYM4aFcFrW3MdnoXZV2v2FuOl4L3b5/OrZeNpbbNwz6p9/OCV7XYfXyGBde9iMqDsgL4iK/XVfePtq1NeD66GtpaeH7vxPv33/Oq3dd1XU/XgrKmtRY9MChsJC35q/zEZK/Tt/ncGZw29ObQGPv6trk3/5gtnRFANesfaYuh66a525VfxxPqjvL/79C7ZthnWMaGnAu7JiWG0WQz2FHR/HG3KriAu1MToXjJ7ThMxWu9YW/o4h7hkL1TlOpYGDtaRWwbU930X/zQnrDvsYSMH/lpCWHl5KWJCTCwYG833zhnDA1dM5dM7FvLhj8/mtnNTKapu4pdv7Obsv33Ky1tysVgG57OPu9iee4KVj2zk6qe/4KvjJ7hxwWjW/WwhL94wi+/OTyEtLmRod3hNobDsb1CyRzcz66vDH+rSmHN+4fy1DVDA5MkoH+kLINyDw4VEhmE0GYbxdyATaAS+UkrdMWgrG+aumJXEsYoGNh+tGJTXf39PMbNSIpmQYOams8ew+ocLWDklgcMldXYfX1nfQqQE1j2LnQBYPwzES2DdZxlf00FyzvruH1N5VH//nF/A2T/XM7MfmQtHs5y/ns8f0QH80r+Cbzc7MpFjdC393rec//69KTsIr9+g33/FI2fUaKR467ghe3XWR0rrAT13uitbIB7TZccaYEee/XRwi8Vg05Fy5qVG9f2DbEQKtDX2fRTWwdWAcrxOPtg2y9oJI7cqj+mabQ9reieGp3GxIfzkwjQ++ek5vH3rPNLjQ/jVm7u59LFN7CuscfXyhlx5XTM//99Ovv7IJkpqmvjbpZPY9MvzuHPpeEZGuri8LP1iPR5z3V+g4kjfnltxRF9oHG49VIRwMw5/0lNKjVJKLQFuAJKBWuBPg7Ww4W5pZjyhJh9e+SLP6a+dXVpLdmkdSyfGdbp/ZGQQJbVNNLe1n/YcSQV3gK0zOEoal/XH6HPBLxj2v939Y7a/pBvDTbtGj/a6/iMd9D6/Qjd7chbD0IH1mEWQtqTnx2asgPwvoLrAee/fm8YT8Mrluk7tilfOuCAoPswWWJ/eGfxIWV2n245O7lh3CKxjQnWH4+4C631FNZxoaGVeamTfFxphLR/oazr4gfcgcaaunXbEycDaCSO3ThyTNHAx5JRSTE4K45UbZ/PPb07meEUDyx/awG/f2Wv3/7InenN7Puf+PYs3thVw8zmjWfvThVw2I8nxSQRDYenfwNsP3v0R9CWjsiLbfjmVEKJPeg2slVK7lFIVwJvANYAZWAtcDQywr7/7Mvl6c8m0RNbsKT456spZbCmSiyd0DqyTIgIxDCg40fnDarvF4ESD7Fj3KjIVvHx146iBjqQ4E/ma9KzMA+/pudFdtbfpMR2pF4BZj4ghcTrcuFZ/fWyD89ZSU6hT+sct7v2xGdYRYUOVDt7eBv+9Ttd1f+vF4TPqawjFh+oMgmJ7O9bWD+F2d6xrrDvWoZ13TaYkh3XbwGxjf+urQe/QQN8C6+oCKNrRt67uJwNrJ4zcksBauJBSikumJbL2p+fwzRlJPL/5GIv+sY6vPbSBZzbmnOyA7WnyKhv4xf92kxYbwgc/OptfLk0n2H8YpieHxsP5v9WZY69crqdm9Ka9TZfERMpIKyEGypGzwkogxxisYuJB5Kyu4N25/Kwknt10jDe25XPDAueNAnh/TzHTksOI7fLhMilcf1jNO9HI6OhTgeGJhhYMAyKdMbrBk3n76pFM0eNcvRL3lbFCj93K3aQbmnWU/THUFuk6r45MZh0IlO5z3joKrb0GEhxoshKVCjETdHfw2bc4bw3d2fAvOPopfO1BSJ49+O83DIUG+BDo501hlb3AWgfUBVWNpzUkK61tJtDP+7QPrFOSwli9u5jCqsbTGjFtPFJBakzwaedLh5gT9cW2vgTWh97Xt31pzGfb2a7tIbBub4WCbXpMXM563W28a++AtmaoKdAp7EK4UFigH/deMpEfnT+WVTsLeXN7Afes2sc9q/YRHuhrnZ/tR2SwP+NiQjgrJYKpyWGD0h19KPxtzUG8vOChb08jzjzM06VnfFdPylj7O3h4Flz0DzB6yOipzgNLqwTWQjiBI4F1G5DkQO1alWEYw6rgxtldwbsaHxfK1OQwXt2ax/XzU5zSqCK3ooF9RTX8eln6ad+zjWrIq2zodL9tx1xSwR3wnf+4egXuLfV88A2EDffByHl6xrXN9hcgKBrG2UnNjsmA0v3OW0fhdlDeEJfp2OMnrIRP/wQ1RfqK/mBpqIRND+gO4NOuHrz3GeaUUsSZTRTXdM6uaW5rJ7eygZGRgRyvaCC3soFxsSEnv19a22x3hOHSzHj+8sFBnt6Qw28uzuj0el/kVHD5zOT+LdTLW1/06UtgfWC1TiGP6sMFOh9/3VXf3o61YcCb34MD70JLHaB0yUX5Yd2ht+PPlapcwJAdazFsxIaauGHBaG5YMJpDJbV8tK+E4uomyuuaqahrYV9hDat3F2EY4OftxeQkM4vSY/nOrGRCTO7RXXxnXhXv7CzktnNTh39QDfqcMedWGHuhPre8fj0ToubA7CkQEH7642312JIKLsSAORJYP+fAYwzgWeD5Aa3GDV0xM5mfv76Lr46fYMaoiAG/3gd7iwBYkhl32vdiQ034eivyTnQOrCvqdGAtqeBi0PkFwYV/gPd+ortdX/h7fX9tCRx8H+beZn/MR0y67jra1mx3PmafFW7XwXp3Tcu6ylgBn/4R9q+CWTcN/P27s/lhaK6Bc381eO/hJhLMAaftWOdWNNBuMTg/PZanNuRwtKyuc2Bd09SpvtomKSKQFZMTeGlLLreem0q49Vy3PbeKplYLc8f0o77aJmI0VHQTWJ84ro9rvyDwD9EXlXLWw+zvdQ54HRESZz+wri2CXa/qEoppV8GoBbD3DXjvp1B1vHMQLaO2xDA2Ljak0/9nm+qGVr48XskXOZV8frSCP79/gEc+zeb6+aO5dt4ozAHDN8A2DIM/rt5PVLAf3xuk8aqDJmosfHcNbH6QqI9/B5/989TP7I4qsvWt7FgLMWC9BtaGYcjA3x5cPDme3727j5e/yHVKYP3+nmIyR4Se3J3uyNtLMSIsgPzKzrtAJ3esgyWwFkNg5vU6rXvTAzpgnvJt2PkyGO0wtZtd2pgMsLTpH+CxA5xHaRg6sO5LKm50GkSnw763Bi+wbqiELY/p0VoD/TN6gDiziQ2HO4+XstVXnwysu9RZl9U2kx5vfyTZLQvH8Mb2Ap7ZdIyfXKB3izdml+OlYPZAA+tjG/Rx1TVYzroXdr5y+nPSv9b39wmOsR9Ylx/St3N/AKPP0V8nz9G3uZ9LYC3cnjnQl0XpsSxK170GdudX88Anh/nXx4f492dH+e78FG47LxVf7+E3OeHj/aV8kVPJ71dmDs+a6t54+8D8H1O75SVCC+2Pa6XyCPiH6owzIcSADL+zmJsJ9PPha1MSeG9XEdWNrQN6raLqRrbnVrFkwum71TZJEYGn7VhX1utmIZIKLobMkj/rGutVP4TcLbDtBUieq+uZ7YmxljY4Ix28KhcaKyFhat+el2HtTN5TnetAbHoAWurhnDsH5/XdTILZRGltE23tp2ZE2+qrJyWaiQ7xJ6esc2DdXSo4wNjYEBZPiOXZjTnUNulz7cbsciYlhhE6kJTSiNHQWm+/Y3feFzqd8ke74ZZNcN0HutN90ll9f5/g2G4C68P6tmNqeXQ6+Jshd3Pnx1bmgE/AqWZoQrihiYlmnrx6Bu/dPp95qVHcv/YwNzz3JfXNdppiulBru4V739/P6OggLp+Z5OrlDEhd8Ggo3mW/U7itI/hQzt0WwkNJYO0EF2TE0txm4VBJ7YBeZ80e3b1xSWb3NaCJ4YGn1VhXWHeswwMlsBZDxNsXLnsOQkfAC1/XV7x7qimOHAtePt03MCvYptO0HXGycVkfA+sJKwFD7yo7W305bHkCMr8BMeOd//puKM4cgMU4NZsa4EhpHQlmE0H+PqREBXXqDN7Q0kZdcxsxod2XCtx6bio1TW28tCWX2qZWduZXM78/3cA76q4zeEOlPq6T50BYss5CGDmnf0E1WAPr0tM/2JYfBr8QnSpu4+UFybP0jnVHto7g8gFYeIAJCWYeu2o6914ykQ3Z5Vz+xOdO6Sq+LfcEF/xz3WkZM3316tY8jpbV88ul6cNyN70v6oJToKlaNyrrqiL71OhBIcSAuPeZYpiIsAa0NQPcsX5/TzFjY4JJjel+FFRSRAAnGlqp63Blt6KuBXOAr9uf+IWbCYyAb7+mG0D5h+od4e74+On6re52rD+6C16/EVoa7H+/o8Jtek5nX9OtY9JhypW6a3fO+r49tzebHoC2RjjnF859XTdmb5b1kbI6xljPb6Ojgjqlgts+UMeEdN8caFJiGAvGRvHvz3JYd6iMdovRvzFbHdk6bHcNrAu+0reJMwf2+jbBsdDaAM1dLsCWH9KZHl2D5eTZUHZAB/g2MmpLeKArzkrmyaunk11axyWPbuToAOZibzhczpX/3sLh0joe/ORwv1+ntqmV+z8+xFkpEZyf7uC8+mGsLth6AbFoV+dvtDbp0ZBSXy2EU7hdJKaUWqiU+kwp9ZhSaqGr1wOcbLxR09T/wLq0tomtxypZaqdpWUdJ4ad3Bq+sbyFS6quFK0SnwXXv6wDb7/S+AJ0fO97+jnVbC+Rv1YHpkU96f8/C7Tqo7k8TtGV/1R8g3rhJ7zI7Q10ZfPEkZF4qo9w6iLd2z7U1MDMMgyNl9YyxjgocHR1EZX0LVQ0646b0ZGDd87/rreemUl7XzO9W7cPk68W0kWEDW2hYsu4w3zWwzt8KyqvvmRHdOTnLukvKeflh+x3Gk6yj2vK26FvD0IG1jNoSHui88bG8etNsGprb+cajm/qVAbhmbzHffXYrSeGB3LgghS05lRwo7t+wmoc+zaa8roXfXJTulIkvrlYXPBJQULy78zdOHAMMCayFcJIhDayVUk8rpUqVUnu63L9EKXVQKZWtlOqtQNEA6gATkD9Ya+2LUGtgXd3Qv8C6pc3Cj1/bgbeX4mtTep65bW/kVkV9s3QEF64Tlwkj5/b+uJgM3WW5pXNdLYXb9MxN0COHemKxQOHO/gc7fkFw2TN6F/CtW+zXm/XVxvv0+mW3upN4s+7YXlyt/21La5upa25jTHQQAClROsC2pYOX1lgD6x5SwQFmpUQwfWQ4pbXNzBwVgb/PAOfievvq4NpeYB2TAf7dZxD1SYgtsO5QZ91cBzX5untvVyOm6RnbtnTw+jJdCy471sJDTU4K4/Vb5uLtpbjjvzs79WfozRvb8vn+S9vISAjltZtn8/2Fqfj7ePHC5uN9Xsex8nqe2XCMS6cnMilxgBfuhgmLt0mfZ4q77Fif7AguqeBCOMNQ71g/C3QacquU8gYeBpYCGcAVSqkMpdREpdS7XX7FAJ8ZhrEU+AVwzxCv364Qk+4UWdPU98YbhmHwm7d2szG7gnsvmURqzOmjKjpKCtcfVvNOnEqvrKxvkcZlYviLSQcMKDvY+f5jG/Tt2Av1aKP2Hi5QnciB5uqB7SLGTYTFf9Tjvz5/pP+vAzrQ3/mq7hLdXeO2M1SoyYcgP28Krang2aU6vdO2Y50SpQPsk4F1rQ7Ae0oFBz0j+9Zz9YfAAddX20SO6RxYWyw6FTxxhnNeHzrsWBefus/2odbejrVvgD7ObYG1dAQXZ4BRUUHcvXwCu/KreWbjMYees+VoBT/5z05mj47gpRtmERboR3iQH1+bnMAb2wr63Fj2j6v34+ut+PnitH78CYaxuImn71hLYC2EUw1pYG0YxnqgssvdZwHZhmEcNQyjBXgVWGEYxm7DMC7u8qvUMAzbJcwTgBMG4g6cr7cXgX7e/aqxfiTrCP/5Mp/bz0vl0umJvT4+IsiPQD/v01LBI4KGxV+FEN2LydC3Xeusj2/UXZCnXQ1NVacCbXv627isq5k3wPiL4aO7deO0/ireCQ3lkLZ0YOvxQEop81z7CwAAIABJREFU4symkzvWtlFbthrr5IhAvL0UR8tsgXUzvt6K8MDeO3yfmxbDY1dO48rZI52z2IjRuuO2LYOhIls3+nFWfTXYTwW31xG8o+TZOqOjtUkCa3HGuHhSPOenx/CPjw6SW9F7341NRypQCp64agZBHUZiXTN3FI2t7bz+lePJjRsOl/PRvhJuPS+VmNCeL/K5nbhJunlZx74NFdl6zJbJ7Lp1CeFBhsNQvhFAxzaF+cCs7h6slLoEWAyEAQ/18LibgJsAoqOjycrKcsZau2XysnAwJ4+sLDsjW7qxpaiNR3c2Mzvem6m+hWRlFTn0vAg/CzsO55GVVYbFMKioa6GuvIisrIr+Ll8MY3V1dYN+/A4Jo52zlS8FX33IkeoRAChLO/NzNlEcdy5HCv2Y5+VH8drHOZxnv6ZtTPY7JHj5sWFfKcaBrAEtxyfycmb4bqb9pav5csZ9GF59Px0mH/8vo4GNJSZaPeHfyMlMlkYO5jVSF9bOun0HCfCBfV9tZr+1ZjHKBFv255DlX8SuQ82E+MK6desce21ga/nBXh/niBGVFsY2V7Pxo1W0+oUSV7SW8cAXhQYN1VlOeQ8Mg7OVD3n7tpLTpMfPjcr5kJF4sX5PPobX6aO4ImuCmdjewvb3niasahcpwPpdx7F4O/azQjiPx5yH3cSyWAsbDlm45el13DHD1GOd86a9TcQEKLZuPv2ibGqYF098sp9Rrcfw6qVWut1icNemRqIDFKnteWRlDYtqQ6eoq6tjZwtMBnaseZGq8EkATDm6DXyi2SHHthjm3OUcPBwC6z4xDOMN4A0HHvcE8ARAWlqasXDhwkFdV/T29QSGBbJwoWOpgzvzqnjq483MHBXOczfM6lOd4PjjW8mrbGThwrOprG/BWPMRUzPGsnC+NLXxRFlZWQz28TtkDqaT5F9Lku3Pk/8VrG9ixNxvMiJzMZRdyIiCrxhx9tl65FBXOX+FhCmcc94i56wn2QdeuZxz/PbA/B/1/fnP/BXiJjLvwpXOWY+Hea9sJ+sPlxEcHECzXwDj4ts499x5J7+fkfMFxTXNLFy4gKeObCHJu42FC+f18IqD5FAzZP+beenxkDQT3n0b/M2ctfQ79o/D/toex8hwf0bajv/SZyBiFOecd4H9x9dPhD1/YmpkExgKQhI4e9GFzluPcJhHnYfdRH3Ycf7vrT2UhaTyzRndz5H+47Z1TBwZZPfzV3VYAT98dQc+IzI5e1x0j+/3wuZjFNTt5bErp3NhL41k3U1WVhaTZ14Ju+5mSqyCuQv1N74sh7EXyLEthj13OQcPh67gBUDHM2ai9b4BU0otV0o9UVfX/9ENjgoN8KGm0fEa61e35uLv48UTV83oc/OdxPBA8k40YBgGlfW64Y90BRduISajcyr4cesOw0hrMJW+HGqLdPprV5Z2KBpA4zJ70pZC2kWw7i9Qldu35zbV6I7NY5wU5Hug+LAASmubabMYetSWtXGZTUpUMDnldVgsBmW1zUQHu6ikpess6/yt1uZhTv4RGRzTuXlZdx3BbYIi9ffztsioLXHG+c5ZyZw1KoI/vLvvZA+GrlraLOSU1zMu1n6TwSWZcUQF+/H85mPdvk9NUyvrD5Xxj48OMWd0JIsnxDph9cNQUBSEJJwaudVUo89H0hFcCKcZDoH1VmCsUipFKeUHXA6844wXNgxjlWEYNwUHO6mraw/MAb59Gre1u6CaKUlhhPej6VhSRCANLe1U1rdQUadH1URKjbVwBzHpUFsIjSf0749thMixpzomj1sMXj6wf9Xpzy0/DC11zg2sAZb+Rd++39tAgi6OfQaWNkiVwLo78WYThgEl9QZF1U0nG5fZjI4OoqnVQnFNE6W1zb12BB80Ycl6tFblUd21vmSvc+urbYJjT9VYW9p1fWNvH2qTZ+sGZpVHJbAWZxQvL8W935hIU6uFhz/JtvuYYxX1tFkMxsXab/zq7+PNFWcls/ZAKXmVDZTUNLExu5znNh3jF//bxYX/Wsfkez7k6qe/oLXNwl3LMzxivFa3OjYws11IjJDGZUI4y5CmgiulXgEWAlFKqXzgbsMwnlJK3QasAbyBpw3D2Ouk91sOLE9I6HmElTOEmnw5UOzY3MXmtnYOFtdyw4LR/Xqvjp3BK+t1YC1dwYVbiNG1pZQegKSzdMAwoUMadUA4jJqvx26d/1vo+AHHWY3LugpL0qOyPr5bdyV3tBFZ9lrwDTo1b1icxjbLel9FO8DpgbW1M/jBkloq61t6nWE9aHz8wZwIlUf0cWZYnNsR3CYkVncbB91EqL255x1rgOQ5sO15/bXMsBZnmDHRwcwaHcHWYyfsfv9wic5ITI3pfgPl27OSeSTrCOf9I4vW9lMjFsMCfZmaFMbFkxKYlhzOpCQzoabemye6tfhJkP0xtDZ26AguO9ZCOMuQBtaGYVzRzf2rgdWD8H6rgFVpaWk3Ovu1uwoN8HW4K/jB4lpa2w0mjuhfF8aOs6xtYyQkFVy4hZOB9T7wC9Sjs0bN7/yY8RfD6jv0WK6Y8afuL9yuA1l7M38Has6temzW6p9Dytl63nVvjqyFlAXgI//3umObZb3XGlinxnRJBbemhm/N0V1qexu1NagiRusdnPwv9e9HDEJgHRyr51G3t/XeEdwmucOFG9mxFmegSYlmHlt3lKbWdky+nUvnDpXU4qV6DqzjzQH830XpHCmrJzUm+OSvmBB/z96dtiduEhjt+mdwxRFAyQU7IZxoOKSCD5ohrbE2+VDb3IbFYvT62N0F1QADD6xPNJzcsQ4PlA/3wg2Yk8AvGMoO6DRwOFVfbTP+In17oEs6eOF2SJgCXn3rSeAQb1+4+J9QnQvr/9b74yuO6JpXqa/uUXyYDpQPVLbj7aVIjugcWMeFmgjw9WbLycDahSUtJwPrrfrroEjnv0dwDGDoEW3lh/R9vQXW4SmnRnVJYC3OQJMSw2i3GOwrqjnte4dLa0mOCDwt4O7q2nkp/H5lJtfMHcW81ChiQ3vuNO6x4ibq26JdesfanAS+Aa5dkxAexKMD66GssQ4N8MUwoLa59wZmu/OrCQv0JTG8fyezYH8fwgN9yavUqeAhJh/8fDz6n1J4CqX0rnXpfj2/OnwUmEd0fkxogt4t3Pe2Tps99CFsfwmKdzk/DbyjkXMh81LY8oSuf+3JkU/0rdRX9yjE34cgP2+a2mFkROBp5ymlFClRQezMqwJwXY016GC68QTkfDY49dUAwdZOw3UlOrAOiOg9gFfq1K61BNbiDDQpUW9C7LKeJzo6VFJHaoz9+mphR/go8A/VddaVRyCyfyWJQgj7PDoaG9qu4Loux5F08N0F1UwcYR7Q1dKkiEDyTzRQXtdMlKs66QrRHzHpujnU8U0wcr79x6Qv1z/4nzwPXr4M3v4+tLfA6IWDu7bRC6G1Xu9G9yR7LYSNPNVNWtillCI+TF9AHB1t/wJnSnQQbdZMH5engoMuTxiMNHA4tfNcW9J7R/COpnxHl0gE9TwuSAhPFBdqIjrEn1351Z3ub2mzcKyHjuDCDqWsDcx2OdY8UQjRJ243x7ovhrTG2trworfO4E2t7Rwq6X/jMpuk8ED2FlbTHhYgjcuEe4nJONWMaeRc+48560YIiQdTqA4mAiP1rf8gf4CKy9S3JXsgsptOqW0tuiP4pG92bq4m7Io3m8gurWNMjP26dVsDM6UgypW9Ijp2xh2MxmVgTQXn1I71uCWOPW/cYv1LiDOQUorJiWZ25nfese6tI7joRtwk2PqknmohgbUQTuXRO9ZDyXxyx7rnVHBb47JJ/ayvtkmMCKCgqpHyumYJrIV7sTUwAxg1z/5j/IJg8rd0h+7EGbq5ymAH1QDR4/XYpeI93T8mb4se+yX11Q6xdQbv2hHcZrS1gVlkkB8+3i78kRQ+ClDgY4LYzMF5D9uOddkB3cTM0R1rIc5wkxLDOFpeT22HzYtDJXoSS0+Ny4QdcRN1UA0SWAvhZB4dWA9tKrje/K/uJRXc1rgsc4CBdVJ4IK3tBkfL6omUwFq4k5gMfRuaqNOphxPfAP1Bo6SHiX9H1upZ2ylnD9263FictTN4d4F1SpS+P9qVaeAAviYIHQHxkwev07uvCUxmOLZB/14CayEcMjHRjGHAnoJTDcwOl9T12hFc2BE/6dTXUs4khFN5dGA9pM3LHEwF31MwsMZlNrbO4G0WQ3ashXsJioaQBF3PPBxTqWMn6FTw7mSvhaRZOk1d9GpachgRJkVanP10zRRrKrhLO4LbLPkTLLprcN8jOFbXN8LgjI4TwgNNTgwDYFeHdHBHO4KLLqLSwNtPXyAebhe3hXBzHl1jPZQcbV62K3/gjcsAkjoE5hJYC7eiFHz3fTCFuXol9sVOgL1vQlPN6cFzfbkOis77jWvW5oYWpsXwz4WBBPvb/3FjDvAlwWwi2Xqx0KUyVgz+ewTH6vpqL1/5UCuEgyKC/EgMD+jUwEw6gveTj58ue2ptAG8JA4RwJvkf5SQh/j4o1XNgbWtcdlPawFNvRoQHoBQYBtIVXLif4Tw2KNY657N0PyTP6vy945v07ShJA3emV2+ac7JPhcez1VlHjpEPtUL0weTEMHYV6B1rW0fwCzNiXbwqN7XobmhrcvUqhPA4Hp0KPpQ11l5eihB/H2qaum9edrC4ljaLwcQB1lcD+Pt4E2utSZQdayGcKHaCvi3Zffr3jm8En4DBnad9BkqODMQceIYF1pIGLkSfTEw0k1fZSGV9i3QEH6ix50P6xa5ehRAex6MD66GssQadDt7TjvUuJzUus0mK0OngElgL4UTmRPA3229gdnwjJM0cvOZWwvOF2AJraVwmRF9MStSfnXblV0lHcCHEsOTRgfVQMwf49ti8bE9+NeFOaFxmkxSuaxIjXTn7VQhPo5S1gVmXwLrxhB7DNXK+a9YlPEOwBNZC9IfuTwO786s5JB3BhRDDkATWThRq8u1x3NbugmoyndC4zCY1Nhh/Hy/ZsRbC2eIyoWQfWCyn7svdAhgwcq7LliU8QOwE3ZF3xAxXr0QItxJi8mV0VBA786vJlo7gQohhyKMD66GssQY9y7qm0X6Nta1xmTPqq22um5vCuz+Yj7+P/GARwqliJ0BLLVTnnrrv+AYdECVKQCQGIG4i/KoIolJdvRIh3M6kxDBrKngdY6W+WggxzHh0YD3kNdam7lPBDzixcZlNgJ+3/GARYjDEZurbjungxzfBiOng65xSDnEGk27gQvTLpEQzpbXNHCmrY6ykgQshhhmPDqyHmjmg+1Tw3dbGZRMTnRdYCyEGSfR4QOmaaoDmWijcASPnuXRZQghxJpuUGAboUaPSEVwIMdxIYO1EoQG+NLS009puOe17u/OrCA/0ZUSY7HYJMez5B0NECpRYA+u8L8Bol/pqIYRwoQkJoXh76T41Y2Nlx1oIMbxIYO1EoSad3ldrZ5b1weJaMhJCnda4TAgxyGIzT6WCH98IyhuSZrl2TUIIcQYz+XozLjYELwVjoiWwFkIMLxJYO5E50BfA7izrgqqmk+OxhBBuIDYTKo9CS72ur06YoneyhRBCuMyi8THMGBkhHcGFEMOOdFBxolCTDqy71lk3t7VTXtdMnNnkimUJIfojdgJgQOF2KPgKZn3P1SsSQogz3h2L01y9BCGEsMujd6yHftyWdce6S2fwkupmABLMUl8thNuInaBvv3oW2lukcZkQQgghhOiWRwfWrhi3BZw2y7qwuhGA+DDZsRbCbYSNBL9g2PsWoCB5tqtXJIQQQgghhimPDqyHmjnAfip4kS2wlh1rIdyHl5fetba0QlwmBIS5ekVCCCGEEGKYksDaiUIDdMl611TwwqomABJkx1oI92JLBx8537XrEEIIIYQQw5oE1k4U4OuNj5c6rSt4UXUj5gBfAv2kV5wQbuVkYC3zq4UQQgghRPck0nMipRTmAN/TdqyLqpqIl47gQrif8cuheA+kLnL1SoQQQgghxDAmgbWThQb4Un1a87ImEsKkvloItxMSC8vvc/UqhBBCCCHEMOd2qeBKKS+l1B+VUg8qpa5x9Xq6CjX52E0Flx1rIYQQQgghhPBMQxpYK6WeVkqVKqX2dLl/iVLqoFIqWyl1Zy8vswJIBFqB/MFaa3+FdkkFb2xpp6qhVXashRBCCCGEEMJDDfWO9bPAko53KKW8gYeBpUAGcIVSKkMpNVEp9W6XXzFAGrDJMIyfALcM8fp7pVPBTwXWJ2dYy461EEIIIYQQQnikIa2xNgxjvVJqVJe7zwKyDcM4CqCUehVYYRjGvcDFXV9DKZUPtFh/297deymlbgJuAoiOjiYrK2ugy3dIfWUz5dXtJ99vb7leYknOQbJqsodkDcKz1NXVDdnxK8RgkGNYuDs5hoU7k+NXuDt3OYaHQ/OyEUBeh9/nA7N6ePwbwINKqQXA+u4eZBjGE8ATAGlpacbChQsHvlIHbG7cz6biY9jer/TLPPhyF8sWzmZkZNCQrEF4lqysLIbq+BViMMgxLNydHMPCncnxK9yduxzDwyGw7hPDMBqA6x15rFJqObA8ISFhcBfVgTnAl5Y2C02t7Zh8vSmqagIgTlLBhRBCCCGEEMIjDYeu4AVAUoffJ1rvGzDDMFYZhnFTcHCwM17OIaEmX4CTncGLqhuJCvbD38d7yNYghBBCCCGEEGLoDIfAeiswVimVopTyAy4H3nHGCyulliulnqirq3PGyzkkNMAaWFs7gxdWNxFvlo7gQgghhBBCCOGphnrc1ivAZiBNKZWvlLreMIw24DZgDbAf+I9hGHud8X6u2LE2WwPr6sY2AIqqZIa1EEIIIYQQQniyoe4KfkU3968GVjv7/VxRYx1q0n+lp1LBm5iXGjVk7y+EEEIIIYQQYmgNh1TwQeOSGusOqeA1Ta3UNbfJjrUQQgghhBBCeDCPDqxdoWPzMltH8PgwqbEWQgghhBBCCE/l0YG1a5qXWVPBm9oorG4EIEF2rIUQQgghhBDCY3l0YO2KVHB/H29Mvl5Uy461EEIIIYQQQpwRPDqwdsWONeh08JrGVoqqG/FSEBviP6TvL4QQQgghhBBi6Hh0YO2KHWvQI7dqmloprGoiJsSEj7dH/zULIYQQQgghxBltSMdtnSlCA3ypbmylqqGV+DCprxZCCCGEEEIITyZbqYMg1ORDTWMbRdVNJJilvloIIYQQQgghPJlHB9Yuq7G27lgXVjXKDGshhBBCCCGE8HAeHVi7ssa6sKqR5jaLdAQXQgghhBBCCA/n0YG1q4SafGmzGIDMsBZCCCGEEEIITyeB9SAIDTjVE052rIUQQgghhBDCs0lgPQjMAb4nv5YdayGEEEIIIYTwbB4dWLuseZlJB9Y+XorIYP8hfW8hhBBCCCGEEEPLowNrVzUvC7XuWMeGmvD2UkP63kIIIYQQQgghhpZHB9auYtuxTgiTNHAhhBBCCCGE8HQSWA8CW411vFkalwkhhBBCCCGEp5PAehDYuoLHy461EEIIIYQQQng8CawHgTnAlytnJ7MsM97VSxFCCCGEEEIIMch8en+I+1JKLQeWJyQkDPX78oeVE4f0PYUQQgghhBBCuIZH71i7qiu4EEIIIYQQQogzh0cH1kIIIYQQQgghxGCTwFoIIYQQQgghhBgACayFEEIIIYQQQogBkMBaCCGEEEIIIYQYAAmshRBCCCGEEEKIAZDAWgghhBBCCCGEGAAJrIUQQgghhBBCiAFQhmG4eg2DTilVCxx09TqE6KcooNzVixBiAOQYFu5OjmHhzuT4Fe5uOB3DIw3DiLb3DZ+hXomLHDQMY4arFyFEfyilvpTjV7gzOYaFu5NjWLgzOX6Fu3OXY1hSwYUQQgghhBBCiAGQwFoIIYQQQgghhBiAMyWwfsLVCxBiAOT4Fe5OjmHh7uQYFu5Mjl/h7tziGD4jmpcJIYQQQgghhBCD5UzZsRZCCCGEEEIIIQaFRwfWSqklSqmDSqlspdSdrl6PEH2llDqmlNqtlNqhlPrS1esRojdKqaeVUqVKqT0d7otQSn2klDpsvQ135RqF6E43x+9vlVIF1vPwDqXUMleuUYieKKWSlFKfKqX2KaX2KqV+aL1fzsNi2Ovh+HWL87DHpoIrpbyBQ8AFQD6wFbjCMIx9Ll2YEH2glDoGzDAMY7jM7hOiR0qps4E64HnDMDKt9/0VqDQM48/Wi5zhhmH8wpXrFMKebo7f3wJ1hmH83ZVrE8IRSql4IN4wjG1KqRDgK2AlcC1yHhbDXA/H7zdxg/OwJ+9YnwVkG4Zx1DCMFuBVYIWL1ySEEB7NMIz1QGWXu1cAz1m/fg79Q1KIYaeb41cIt2EYRpFhGNusX9cC+4ERyHlYuIEejl+34MmB9Qggr8Pv83GjfxghrAzgQ6XUV0qpm1y9GCH6KdYwjCLr18VArCsXI0Q/3KaU2mVNFZcUWuEWlFKjgKnAFuQ8LNxMl+MX3OA87MmBtRCeYL5hGNOApcCt1jRFIdyWoeuPPLMGSXiqR4ExwBSgCPiHa5cjRO+UUsHA68CPDMOo6fg9OQ+L4c7O8esW52FPDqwLgKQOv0+03ieE2zAMo8B6Wwq8iS5xEMLdlFjrpmz1U6UuXo8QDjMMo8QwjHbDMCzAk8h5WAxzSilfdFDykmEYb1jvlvOwcAv2jl93OQ97cmC9FRirlEpRSvkBlwPvuHhNQjhMKRVkbdyAUioIuBDY0/OzhBiW3gGusX59DfC2C9ciRJ/YghGrryPnYTGMKaUU8BSw3zCMf3b4lpyHxbDX3fHrLudhj+0KDmBtxX4f4A08bRjGH128JCEcppQajd6lBvABXpZjWAx3SqlXgIVAFFAC3A28BfwHSAaOA980DEMaRIlhp5vjdyE6/dAAjgE3d6hVFWJYUUrNBz4DdgMW692/QtepynlYDGs9HL9X4AbnYY8OrIUQQgghhBBCiMHmyangQgghhBBCCCHEoJPAWgghhBBCCCGEGAAJrIUQQgghhBBCiAGQwFoIIYQQQgghhBgACayFEEIIIYQQQogBkMBaCCGEsEMp1a6U2qGU2quU2qmU+qlSysv6vRlKqQf68ZpZSqkZzl9tn9awVCn1pVJqn1Jqu1LqH0P0vt9TSl1t/fpapVRCP17jf9ZRhLbfT1FKGUqpJR3uG6WUsjvjVCn1d6XUef1ZvxBCCNETH1cvQAghhBimGg3DmAKglIoBXgZCgbsNw/gS+HIoF6OU8jEMo22Ar5EJPARcZBjGAaWUN3CTUxbYC8MwHuvw22uBPUCho89XSk0AvA3DONrh7iuADdbbDxx4mQeBJ4FPHH1fIYQQwhGyYy2EEEL0wjCMUnQAepvSFir1/+3da4hd1RnG8f8TtSZFERqsii0GrCFVMTax3oJtvASxKiFoEImNSKkUSlFpsOA1pVjsxXwxWrG0aZFgJdU28Yp3W4O3JsaZxmiLTC9W8YLYVpuIjE8/rPfQzfFMEmcS0fL8YDj7rL3WXmvt+TC8+11rj+4AkPTlymxvqAzwnlX+HUnDle2+unO5hZKelPQnScdV3WmSfi9pff0cW+Vzq3wN8GyVXS7peUmPSrpZ0pIqP1DSPZLWVZsZA6ZyMXCV7edqXqO2f1LtT5f0RM3hfkn7VPlSSTdJekzSnyV9vcr3kPRAjXdY0vxeJ5IWSxqqud/Uuc4SSWcCRwAr656dKum3nbbzJP1mwNgXAas79QQspAXp8yRN7tTdRdJPa7XBvZKm1Hz/CkyVtO9Yv+uIiIjxSGAdERGxHSpTugvw6b5TS4BvVnb7OGCzpFOA+cBRtmcCP+zU39X2kcCFwJVV9iowz/Ys4Cygu8x8FnCB7emSvgicAcwETqEFqD03At+yPbvGdP2AaRwKrBtjio8CR9v+AvArWhDecxhwAnAMcEUt494CLKgxHw9cUw8dDgEuA06ouV/Q7cT2r2nZ/kV1z+4CZkjau6qcB/x8wPjm9I39WGDE9gvAw8CpnXMHAdfZPgR4k3bPetbXtSIiInaYLAWPiIiYmLXAMkkrgdtsvyjpJGCF7f8A2H6jU/+2+lwHTKvj3YDlkg4HRoHpnfpP2h6p4znAattbgC2SboeWPaYFmqtaIheA3T/gPD4D3CJpP+ATwEjn3Grbm2kPDR4CjgTuBL4v6UvAe8D+wD60AHyV7dcHzP19bLuy2udIWkEL3hcPqLof8Frn+9m0BwDU52Lg1vo+YntDHXfvM7SHGB94f3dERMTWJLCOiIjYDvXSrFFaYPb5XrntqyXdCXwFWCvp5G1c6p36HOV/f4cvAl6hZaIn0bLBPW9vx/AmAW/29oRvxUZgNvDMgHPXAstsr5E0F1jaOee+uqYtzd4bmG37XUl/ASYzPiuA22nzXjXGXvLNvevX3vAzgPmSLgVEW+K9Z9V9p9NuFJjS+T65rhUREbHDZCl4RETENtQy5RuA5bbdd+5A28O2fwA8BcwA7gPOk/TJqvOpbXSxF/Cy7feAr9KWnA+yFjhd0uTKUp8GYPtfwIikhdWfJM0c0P5HwCWSple9SZK+0RnDP+r43L5286vPqcDcmudewKsVVB8PHFB1H6TtI5+6lbn/G+gFwdh+ifYis8toQfYgm4DP1fGJwJDtz9qeZvsAWrZ6wRhtu6bTXpwWERGxwySwjoiIGGxKvVxrI3A/cC/w3QH1LpT0R0lDwLvA3bbvAdYAf5C0gbbneWuuB86V9AwtMB+Ypbb9VF13CLgbGAb+WacXAV+ra2yk7fHubz9E29t9s6RNtACz9++rltKWkq8DXu9rOgQ8BDwOfK8C4ZXAEZKGacuwey9E2whcBTxSY1k2YCq/AG6o+9vLJq8E/m5706C505aez63js4H+F5zdWuVjkrQbLTj/UN/oHhER///U9+A9IiIiPsIk7WH7rcqG/w443/b6ndjfUuAt2z/eWX1UP8uBp23/bIzzU2jB/Rzbo+PsYwEwy/bl4x//ObMIAAAAiUlEQVRpRETE+2WPdURExMfLjZIOpu0V/uXODKo/LJUlfxv49lh1bG+WdCXtJWl/G2dXuwLXjLNtRETEmJKxjoiIiIiIiJiA7LGOiIiIiIiImIAE1hERERERERETkMA6IiIiIiIiYgISWEdERERERERMQALriIiIiIiIiAlIYB0RERERERExAf8FdVmcW7StKlgAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -148,7 +137,7 @@ " comsol_voltage = comsol_variables[\"voltage\"]\n", "\n", " # update current density\n", - " param[\"Typical current [A]\"] = 24 * C_rate\n", + " param[\"Current function [A]\"] = 24 * C_rate\n", " param.update_model(model, disc)\n", "\n", " # discharge timescale\n", @@ -157,7 +146,7 @@ " ).evaluate(0, 0)\n", "\n", " # solve model at comsol times\n", - " solver = model.default_solver\n", + " solver = pybamm.CasadiSolver(mode=\"fast\")\n", " t = comsol_time / tau\n", " solution = solver.solve(model, t)\n", "\n", @@ -166,7 +155,7 @@ " model.variables[\"Discharge capacity [A.h]\"], solution.t, solution.y, mesh=mesh\n", " )\n", " discharge_capacity_sol = discharge_capacity(solution.t)\n", - " comsol_discharge_capacity = comsol_time * param[\"Typical current [A]\"] / 3600\n", + " comsol_discharge_capacity = comsol_time * param[\"Current function [A]\"] / 3600\n", "\n", " # extract the voltage\n", " voltage = pybamm.ProcessedVariable(\n", @@ -225,7 +214,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.7" + "version": "3.7.4" } }, "nbformat": 4, diff --git a/examples/notebooks/models/SPM.ipynb b/examples/notebooks/models/SPM.ipynb index 4f61b697ee..4a35b61c15 100644 --- a/examples/notebooks/models/SPM.ipynb +++ b/examples/notebooks/models/SPM.ipynb @@ -658,8 +658,8 @@ "\t- Volume-averaged total heating\n", "\t- Volume-averaged total heating [W.m-3]\n", "\t- Positive current collector potential [V]\n", - "\t- Local current collector potential difference\n", - "\t- Local current collector potential difference [V]\n", + "\t- Local voltage\n", + "\t- Local voltage [V]\n", "\t- X-averaged open circuit voltage\n", "\t- Measured open circuit voltage\n", "\t- X-averaged open circuit voltage [V]\n", diff --git a/examples/notebooks/models/spm1.png b/examples/notebooks/models/spm1.png index 7344d99b12..89bf8e38a9 100644 Binary files a/examples/notebooks/models/spm1.png and b/examples/notebooks/models/spm1.png differ diff --git a/examples/notebooks/models/spm2.png b/examples/notebooks/models/spm2.png index 896bc3aca7..6ab0c924fa 100644 Binary files a/examples/notebooks/models/spm2.png and b/examples/notebooks/models/spm2.png differ diff --git a/examples/notebooks/using-submodels.ipynb b/examples/notebooks/using-submodels.ipynb index dd53cb4097..3871651394 100644 --- a/examples/notebooks/using-submodels.ipynb +++ b/examples/notebooks/using-submodels.ipynb @@ -61,18 +61,21 @@ "name": "stdout", "output_type": "stream", "text": [ - "porosity \n", - "convection \n", - "negative interface \n", - "positive interface \n", - "negative particle \n", - "positive particle \n", - "negative electrode \n", - "electrolyte conductivity \n", - "electrolyte diffusion \n", - "positive electrode \n", - "thermal \n", - "current collector \n" + "external circuit \n", + "porosity \n", + "electrolyte tortuosity \n", + "electrode tortuosity \n", + "convection \n", + "negative interface \n", + "positive interface \n", + "negative particle \n", + "positive particle \n", + "negative electrode \n", + "electrolyte conductivity \n", + "electrolyte diffusion \n", + "positive electrode \n", + "thermal \n", + "current collector \n" ] } ], @@ -129,18 +132,21 @@ "name": "stdout", "output_type": "stream", "text": [ - "porosity \n", - "convection \n", - "negative interface \n", - "positive interface \n", - "negative particle \n", - "positive particle \n", - "negative electrode \n", - "electrolyte conductivity \n", - "electrolyte diffusion \n", - "positive electrode \n", - "thermal \n", - "current collector \n" + "external circuit \n", + "porosity \n", + "electrolyte tortuosity \n", + "electrode tortuosity \n", + "convection \n", + "negative interface \n", + "positive interface \n", + "negative particle \n", + "positive particle \n", + "negative electrode \n", + "electrolyte conductivity \n", + "electrolyte diffusion \n", + "positive electrode \n", + "thermal \n", + "current collector \n" ] } ], @@ -207,8 +213,9 @@ { "data": { "text/plain": [ - "{Variable(-0x3cdc128c884d9c10, X-averaged negative particle surface concentration, children=[], domain=['current collector'], auxiliary_domains={}): Division(0x5bb7507a231a7556, /, children=['-3.0 * broadcast(Current function / Typical current [A] * function (sign)) / Negative electrode thickness [m] / Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]', 'Negative electrode surface area density [m-1] * Negative particle radius [m]'], domain=['current collector'], auxiliary_domains={}),\n", - " Variable(-0x5815563c2dff222c, X-averaged positive particle concentration, children=[], domain=['positive particle'], auxiliary_domains={'secondary': \"['current collector']\"}): Multiplication(-0x2939bd9275c629cb, *, children=['-1.0 / Positive particle radius [m] ** 2.0 / Positive electrode diffusivity / 96485.33289 * Maximum concentration in negative electrode [mol.m-3] * Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] / function (abs_non_zero)', 'div(-Positive electrode diffusivity / Positive electrode diffusivity * grad(X-averaged positive particle concentration))'], domain=['positive particle'], auxiliary_domains={'secondary': \"['current collector']\"})}" + "{Variable(0x5b573e119c9c3976, Discharge capacity [A.h], children=[], domain=[], auxiliary_domains={}): Division(-0x68db47384e09861, /, children=['Current function [A] * 96485.33289 * Maximum concentration in negative electrode [mol.m-3] * Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] / function (absolute)', '3600.0'], domain=[], auxiliary_domains={}),\n", + " Variable(0x49c4e5c0a277116d, X-averaged negative particle surface concentration, children=[], domain=['current collector'], auxiliary_domains={}): Division(-0x180ff0348457bc5a, /, children=['-3.0 * broadcast(Current function [A] / Typical current [A] * function (sign)) / Negative electrode thickness [m] / Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]', 'Negative electrode surface area density [m-1] * Negative particle radius [m]'], domain=['current collector'], auxiliary_domains={}),\n", + " Variable(0x3f31bb889eafd4, X-averaged positive particle concentration, children=[], domain=['positive particle'], auxiliary_domains={'secondary': \"['current collector']\"}): Multiplication(0x196613563e097dbd, *, children=['-1.0 / Positive particle radius [m] ** 2.0 / Positive electrode diffusivity [m2.s-1] / 96485.33289 * Maximum concentration in negative electrode [mol.m-3] * Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] / function (absolute)', 'div(-Positive electrode diffusivity [m2.s-1] / Positive electrode diffusivity [m2.s-1] * grad(X-averaged positive particle concentration))'], domain=['positive particle'], auxiliary_domains={'secondary': \"['current collector']\"})}" ] }, "execution_count": 9, @@ -234,7 +241,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -300,7 +307,7 @@ "source": [ "Submodels can be added to the `model.submodels` dictionary in the same way that we changed the submodels earlier. \n", "\n", - "We want to build a 1D model, so select the `Uniform` current collector model (if the current collectors are behaving uniformly, then a 1D model is appropriate). We also want the model to be isothermal, so slect the thermal model accordingly. " + "We use the simplest model for the external circuit, which is the \"current control\" submodel" ] }, { @@ -308,6 +315,22 @@ "execution_count": 12, "metadata": {}, "outputs": [], + "source": [ + "model.submodels[\"external circuit\"] = pybamm.external_circuit.CurrentControl(model.param)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We want to build a 1D model, so select the `Uniform` current collector model (if the current collectors are behaving uniformly, then a 1D model is appropriate). We also want the model to be isothermal, so slect the thermal model accordingly. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], "source": [ "model.submodels[\"current collector\"] = pybamm.current_collector.Uniform(model.param)\n", "model.submodels[\"thermal\"] = pybamm.thermal.isothermal.Isothermal(model.param)" @@ -322,7 +345,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -343,7 +366,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -364,7 +387,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -385,7 +408,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -407,7 +430,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -423,7 +446,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -439,12 +462,12 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -517,7 +540,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.7.4" } }, "nbformat": 4, diff --git a/examples/scripts/DFN.py b/examples/scripts/DFN.py index 8697cfc539..c55625be65 100644 --- a/examples/scripts/DFN.py +++ b/examples/scripts/DFN.py @@ -8,13 +8,14 @@ pybamm.set_logging_level("INFO") # load model -model = pybamm.lithium_ion.DFN() +model = pybamm.lithium_ion.DFN({"operating mode": "voltage"}) # create geometry geometry = model.default_geometry # load parameter values and process model and geometry param = model.default_parameter_values +param["Voltage function [V]"] = 4.1 param.process_model(model) param.process_geometry(geometry) diff --git a/examples/scripts/SPM_compare_particle_grid.py b/examples/scripts/SPM_compare_particle_grid.py index 8190e02875..afe9e7b911 100644 --- a/examples/scripts/SPM_compare_particle_grid.py +++ b/examples/scripts/SPM_compare_particle_grid.py @@ -49,7 +49,7 @@ # solve model solutions = [None] * len(models) -t_eval = np.linspace(0, 0.17, 100) +t_eval = np.linspace(0, 0.25, 100) for i, model in enumerate(models): solutions[i] = model.default_solver.solve(model, t_eval) diff --git a/examples/scripts/SPMe_SOC.py b/examples/scripts/SPMe_SOC.py index 0ba2b5295e..451c035c5a 100644 --- a/examples/scripts/SPMe_SOC.py +++ b/examples/scripts/SPMe_SOC.py @@ -58,7 +58,7 @@ "Initial concentration in positive electrode [mol.m-3]": 25000, "Negative electrode surface area density [m-1]": 180000.0, "Positive electrode surface area density [m-1]": 150000.0, - "Typical current [A]": I_app, + "Current function [A]": I_app, } ) param.process_model(model) diff --git a/examples/scripts/compare-dae-solver.py b/examples/scripts/compare-dae-solver.py index a092a78652..7cb99fbae0 100644 --- a/examples/scripts/compare-dae-solver.py +++ b/examples/scripts/compare-dae-solver.py @@ -24,7 +24,7 @@ disc.process_model(model) # solve model -t_eval = np.linspace(0, 0.17, 100) +t_eval = np.linspace(0, 0.25, 100) casadi_sol = pybamm.CasadiSolver(atol=1e-8, rtol=1e-8).solve(model, t_eval) klu_sol = pybamm.IDAKLUSolver(atol=1e-8, rtol=1e-8).solve(model, t_eval) diff --git a/examples/scripts/compare_SPM_diffusion_models.py b/examples/scripts/compare_SPM_diffusion_models.py index 12aa8cd190..398c6c7a18 100644 --- a/examples/scripts/compare_SPM_diffusion_models.py +++ b/examples/scripts/compare_SPM_diffusion_models.py @@ -23,7 +23,7 @@ # load parameter values and process models and geometry param = models[0].default_parameter_values -param.update({"Typical current [A]": 1}) +param.update({"Current function [A]": 1}) for model in models: param.process_model(model) @@ -42,7 +42,7 @@ # solve model solutions = [None] * len(models) -t_eval = np.linspace(0, 0.17, 100) +t_eval = np.linspace(0, 0.25, 100) for i, model in enumerate(models): solutions[i] = model.default_solver.solve(model, t_eval) diff --git a/examples/scripts/compare_comsol/compare_comsol_DFN.py b/examples/scripts/compare_comsol/compare_comsol_DFN.py index b2f757bf09..924521e16a 100644 --- a/examples/scripts/compare_comsol/compare_comsol_DFN.py +++ b/examples/scripts/compare_comsol/compare_comsol_DFN.py @@ -33,7 +33,7 @@ param = pybamm_model.default_parameter_values param["Electrode width [m]"] = 1 param["Electrode height [m]"] = 1 -param["Typical current [A]"] = 24 * C_rates[C_rate] +param["Current function [A]"] = 24 * C_rates[C_rate] param.process_model(pybamm_model) param.process_geometry(geometry) diff --git a/examples/scripts/compare_comsol/discharge_curve.py b/examples/scripts/compare_comsol/discharge_curve.py index e8ecb43502..b5daafebaa 100644 --- a/examples/scripts/compare_comsol/discharge_curve.py +++ b/examples/scripts/compare_comsol/discharge_curve.py @@ -57,7 +57,7 @@ comsol_voltage = comsol_variables["voltage"] # update current density - param["Typical current [A]"] = 24 * C_rate + param["Current function [A]"] = 24 * C_rate param.update_model(model, disc) # discharge timescale @@ -67,14 +67,14 @@ # solve model at comsol times t = comsol_time / tau - solution = model.default_solver.solve(model, t) + solution = pybamm.CasadiSolver(mode="fast").solve(model, t) # discharge capacity discharge_capacity = pybamm.ProcessedVariable( model.variables["Discharge capacity [A.h]"], solution.t, solution.y, mesh=mesh ) discharge_capacity_sol = discharge_capacity(solution.t) - comsol_discharge_capacity = comsol_time * param["Typical current [A]"] / 3600 + comsol_discharge_capacity = comsol_time * param["Current function [A]"] / 3600 # extract the voltage voltage = pybamm.ProcessedVariable( diff --git a/examples/scripts/compare_lead_acid.py b/examples/scripts/compare_lead_acid.py index 028a2a1629..8027ba53fc 100644 --- a/examples/scripts/compare_lead_acid.py +++ b/examples/scripts/compare_lead_acid.py @@ -18,14 +18,14 @@ # load models models = [ pybamm.lead_acid.LOQS(), - pybamm.lead_acid.FOQS(), + # pybamm.lead_acid.FOQS(), pybamm.lead_acid.Composite(), pybamm.lead_acid.Full(), ] # load parameter values and process models and geometry param = models[0].default_parameter_values -param.update({"Typical current [A]": 10, "Initial State of Charge": 1}) +param.update({"Current function [A]": 10, "Initial State of Charge": 1}) for model in models: param.process_model(model) diff --git a/examples/scripts/compare_lead_acid_3D.py b/examples/scripts/compare_lead_acid_3D.py index a472d828a2..eecf5a45b6 100644 --- a/examples/scripts/compare_lead_acid_3D.py +++ b/examples/scripts/compare_lead_acid_3D.py @@ -45,7 +45,7 @@ param = models[0].default_parameter_values param.update( { - "Typical current [A]": 1, + "Current function [A]": 1, "Bruggeman coefficient": 0.001, "Initial State of Charge": 1, "Typical electrolyte concentration [mol.m-3]": 5600, @@ -86,7 +86,7 @@ # plot output_variables = [ - "Local current collector potential difference [V]", + "Local voltage [V]", "Negative current collector potential [V]", "Positive current collector potential [V]", "X-averaged electrolyte concentration", diff --git a/examples/scripts/compare_lithium_ion.py b/examples/scripts/compare_lithium_ion.py index d92fb46f84..50c600e4e6 100644 --- a/examples/scripts/compare_lithium_ion.py +++ b/examples/scripts/compare_lithium_ion.py @@ -26,7 +26,8 @@ # load parameter values and process models and geometry param = models[0].default_parameter_values -param["Typical current [A]"] = 1.0 +param["Current function [A]"] = 1.0 + for model in models: param.process_model(model) diff --git a/examples/scripts/custom_model.py b/examples/scripts/custom_model.py index ac6c5343e5..bb53c35378 100644 --- a/examples/scripts/custom_model.py +++ b/examples/scripts/custom_model.py @@ -11,6 +11,9 @@ model = pybamm.lithium_ion.BaseModel(name="my li-ion model") # set choice of submodels +model.submodels["external circuit"] = pybamm.external_circuit.CurrentControl( + model.param +) model.submodels["current collector"] = pybamm.current_collector.Uniform(model.param) model.submodels["thermal"] = pybamm.thermal.isothermal.Isothermal(model.param) model.submodels["negative electrode"] = pybamm.electrode.ohm.LeadingOrder( diff --git a/examples/scripts/thermal_lithium_ion.py b/examples/scripts/thermal_lithium_ion.py index 79747040d8..d7099d8bff 100644 --- a/examples/scripts/thermal_lithium_ion.py +++ b/examples/scripts/thermal_lithium_ion.py @@ -38,7 +38,7 @@ # solve model solutions = [None] * len(models) -t_eval = np.linspace(0, 0.17, 100) +t_eval = np.linspace(0, 0.25, 100) for i, model in enumerate(models): solver = pybamm.ScipySolver(atol=1e-8, rtol=1e-8) solution = solver.solve(model, t_eval) diff --git a/input/parameters/lead-acid/cells/BBOXX_Sulzer2019/parameters.csv b/input/parameters/lead-acid/cells/BBOXX_Sulzer2019/parameters.csv index 02cf1b92a0..85bebe1816 100644 --- a/input/parameters/lead-acid/cells/BBOXX_Sulzer2019/parameters.csv +++ b/input/parameters/lead-acid/cells/BBOXX_Sulzer2019/parameters.csv @@ -16,3 +16,4 @@ Positive tab centre z-coordinate [m],0.114,Tab at top, ,,, # Electrical,,, Cell capacity [A.h],17,Manufacturer, +Typical current [A],1,, diff --git a/input/parameters/lead-acid/experiments/1C_discharge_from_full/parameters.csv b/input/parameters/lead-acid/experiments/1C_discharge_from_full/parameters.csv index 791171664f..c1b130f248 100644 --- a/input/parameters/lead-acid/experiments/1C_discharge_from_full/parameters.csv +++ b/input/parameters/lead-acid/experiments/1C_discharge_from_full/parameters.csv @@ -10,8 +10,7 @@ Number of electrodes connected in parallel to make a cell,8,Manufacturer, Number of cells connected in series to make a battery,6,Manufacturer, Lower voltage cut-off [V],1.73,,(just under) 10.5V across 6-cell battery Upper voltage cut-off [V],2.44,,(just over) 14.5V across 6-cell battery -C-rate,1,, -Current function,[constant],, +C-rate,0.1,, ,,, # Initial conditions Initial State of Charge,1,-, diff --git a/input/parameters/lithium-ion/cells/kokam_Marquis2019/parameters.csv b/input/parameters/lithium-ion/cells/kokam_Marquis2019/parameters.csv index f98187ecd0..eddde7ffb5 100644 --- a/input/parameters/lithium-ion/cells/kokam_Marquis2019/parameters.csv +++ b/input/parameters/lithium-ion/cells/kokam_Marquis2019/parameters.csv @@ -34,3 +34,4 @@ Positive current collector thermal conductivity [W.m-1.K-1],237,, ,,, # Electrical,,, Cell capacity [A.h],0.680616,,24 Ah/m2 * 0.137m * 0.207m +Typical current [A],0.680616,,1C current diff --git a/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Marquis2019/parameters.csv b/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Marquis2019/parameters.csv index a7a9bb24ee..80a2746b6a 100644 --- a/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Marquis2019/parameters.csv +++ b/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Marquis2019/parameters.csv @@ -11,7 +11,6 @@ Number of cells connected in series to make a battery,1,, Lower voltage cut-off [V],3.105,, Upper voltage cut-off [V],4.7,, C-rate,1,, -Current function,[constant],, ,,, # Initial conditions Initial concentration in negative electrode [mol.m-3],19986.609595075,Scott Moura FastDFN, diff --git a/pybamm/__init__.py b/pybamm/__init__.py index a97a49f57d..25454d9e90 100644 --- a/pybamm/__init__.py +++ b/pybamm/__init__.py @@ -166,6 +166,7 @@ def version(formatted=False): current_collector, electrolyte, electrode, + external_circuit, interface, oxygen_diffusion, particle, diff --git a/pybamm/models/base_model.py b/pybamm/models/base_model.py index 38a66107a5..45b4956c5b 100644 --- a/pybamm/models/base_model.py +++ b/pybamm/models/base_model.py @@ -332,7 +332,10 @@ def check_and_combine_dict(self, dict1, dict2): ids1 = set(x.id for x in dict1.keys()) ids2 = set(x.id for x in dict2.keys()) if len(ids1.intersection(ids2)) != 0: - raise pybamm.ModelError("Submodel incompatible: duplicate variables") + variables = [x for x in dict1.keys() if x.id in ids1.intersection(ids2)] + raise pybamm.ModelError( + "Submodel incompatible: duplicate variables '{}'".format(variables) + ) dict1.update(dict2) def check_well_posedness(self, post_discretisation=False): @@ -368,7 +371,8 @@ def check_well_determined(self, post_discretisation): vars_in_rhs_keys = set() vars_in_algebraic_keys = set() vars_in_eqns = set() - # Get all variables ids from rhs and algebraic keys and equations + # Get all variables ids from rhs and algebraic keys and equations, and + # from boundary conditions # For equations we look through the whole expression tree. # "Variables" can be Concatenations so we also have to look in the whole # expression tree @@ -386,11 +390,16 @@ def check_well_determined(self, post_discretisation): vars_in_eqns.update( [x.id for x in eqn.pre_order() if isinstance(x, pybamm.Variable)] ) + for var, side_eqn in self.boundary_conditions.items(): + for side, (eqn, typ) in side_eqn.items(): + vars_in_eqns.update( + [x.id for x in eqn.pre_order() if isinstance(x, pybamm.Variable)] + ) # If any keys are repeated between rhs and algebraic then the model is # overdetermined if not set(vars_in_rhs_keys).isdisjoint(vars_in_algebraic_keys): raise pybamm.ModelError("model is overdetermined (repeated keys)") - # If any algebraic keys don't appear in the eqns then the model is + # If any algebraic keys don't appear in the eqns (or bcs) then the model is # overdetermined (but rhs keys can be absent from the eqns, e.g. dcdt = -1 is # fine) # Skip this step after discretisation, as any variables in the equations will @@ -422,13 +431,21 @@ def check_algebraic_equations(self, post_discretisation): After discretisation, there must be at least one StateVector in each algebraic equation """ + vars_in_bcs = set() + for var, side_eqn in self.boundary_conditions.items(): + for eqn, _ in side_eqn.values(): + vars_in_bcs.update( + [x.id for x in eqn.pre_order() if isinstance(x, pybamm.Variable)] + ) if not post_discretisation: # After the model has been defined, each algebraic equation key should - # appear in that algebraic equation + # appear in that algebraic equation, or in the boundary conditions # this has been relaxed for concatenations for now for var, eqn in self.algebraic.items(): - if not any(x.id == var.id for x in eqn.pre_order()) and not isinstance( - var, pybamm.Concatenation + if not ( + any(x.id == var.id for x in eqn.pre_order()) + or var.id in vars_in_bcs + or isinstance(var, pybamm.Concatenation) ): raise pybamm.ModelError( "each variable in the algebraic eqn keys must appear in the eqn" diff --git a/pybamm/models/full_battery_models/base_battery_model.py b/pybamm/models/full_battery_models/base_battery_model.py index 50b2bb35a6..d8c17e2416 100644 --- a/pybamm/models/full_battery_models/base_battery_model.py +++ b/pybamm/models/full_battery_models/base_battery_model.py @@ -37,10 +37,8 @@ class BaseBatteryModel(pybamm.BaseModel): (default) or "varying". Not currently implemented in any of the models. * "current collector" : str, optional Sets the current collector model to use. Can be "uniform" (default), - "potential pair", "potential pair quite conductive", "single particle - potential pair" or "set external potential". The submodel - "single particle potential pair" can only be used with lithium-ion - single particle models. The submodel "set external potential" can only + "potential pair", "potential pair quite conductive", or + "set external potential". The submodel "set external potential" can only be used with the SPM. * "particle" : str, optional Sets the submodel to use to describe behaviour within the particle. @@ -147,6 +145,7 @@ def options(self): @options.setter def options(self, extra_options): default_options = { + "operating mode": "current", "dimensionality": 0, "surface form": False, "convection": False, @@ -168,6 +167,13 @@ def options(self, extra_options): raise pybamm.OptionError("option {} not recognised".format(name)) # Some standard checks to make sure options are compatible + if not ( + options["operating mode"] in ["current", "voltage", "power"] + or callable(options["operating mode"]) + ): + raise pybamm.OptionError( + "operating mode '{}' not recognised".format(options["operating mode"]) + ) if ( isinstance(self, (pybamm.lead_acid.LOQS, pybamm.lead_acid.Composite)) and options["surface form"] is False @@ -188,7 +194,6 @@ def options(self, extra_options): "uniform", "potential pair", "potential pair quite conductive", - "single particle potential pair", "set external potential", ]: raise pybamm.OptionError( @@ -237,16 +242,6 @@ def options(self, extra_options): raise pybamm.OptionError( "thermal effects not implemented for lead-acid models" ) - if options[ - "current collector" - ] == "single particle potential pair" and not isinstance( - self, (pybamm.lithium_ion.SPM, pybamm.lithium_ion.SPMe) - ): - raise pybamm.OptionError( - "option {} only compatible with SPM or SPMe".format( - options["current collector"] - ) - ) if options["current collector"] == "set external potential" and not isinstance( self, pybamm.lithium_ion.SPM ): @@ -348,18 +343,6 @@ def set_standard_output_variables(self): self.variables = {} - # Current - i_cell = pybamm.electrical_parameters.current_with_time - i_cell_dim = pybamm.electrical_parameters.dimensional_current_density_with_time - I = pybamm.electrical_parameters.dimensional_current_with_time - self.variables.update( - { - "Total current density": i_cell, - "Total current density [A.m-2]": i_cell_dim, - "Current [A]": I, - } - ) - # Time time_scale = pybamm.electrical_parameters.timescale self.variables.update( @@ -368,7 +351,6 @@ def set_standard_output_variables(self): "Time [s]": pybamm.t * time_scale, "Time [min]": pybamm.t * time_scale / 60, "Time [h]": pybamm.t * time_scale / 3600, - "Discharge capacity [A.h]": I * pybamm.t * time_scale / 3600, } ) @@ -457,7 +439,11 @@ def build_coupled_variables(self): ) else: # try setting coupled variables on next loop through - pass + pybamm.logger.debug( + "Can't find {}, trying other submodels first".format( + key + ) + ) def build_model_equations(self): # Set model equations @@ -510,10 +496,10 @@ def build_model(self): self.build_model_equations() - pybamm.logger.debug("Setting voltage variables") + pybamm.logger.debug("Setting voltage variables ({})".format(self.name)) self.set_voltage_variables() - pybamm.logger.debug("Setting SoC variables") + pybamm.logger.debug("Setting SoC variables ({})".format(self.name)) self.set_soc_variables() # Massive hack for consistent delta_phi = phi_s - phi_e with SPMe @@ -529,6 +515,30 @@ def build_model(self): self._built = True + def set_external_circuit_submodel(self): + """ + Define how the external circuit defines the boundary conditions for the model, + e.g. (not necessarily constant-) current, voltage, etc + """ + if self.options["operating mode"] == "current": + self.submodels["external circuit"] = pybamm.external_circuit.CurrentControl( + self.param + ) + elif self.options["operating mode"] == "voltage": + self.submodels[ + "external circuit" + ] = pybamm.external_circuit.VoltageFunctionControl(self.param) + elif self.options["operating mode"] == "power": + self.submodels[ + "external circuit" + ] = pybamm.external_circuit.PowerFunctionControl(self.param) + elif callable(self.options["operating mode"]): + self.submodels[ + "external circuit" + ] = pybamm.external_circuit.FunctionControl( + self.param, self.options["operating mode"] + ) + def set_tortuosity_submodels(self): self.submodels["electrolyte tortuosity"] = pybamm.tortuosity.Bruggeman( self.param, "Electrolyte" @@ -639,8 +649,6 @@ def set_current_collector_submodel(self): submodel = pybamm.current_collector.PotentialPair1plus1D(self.param) elif self.options["dimensionality"] == 2: submodel = pybamm.current_collector.PotentialPair2plus1D(self.param) - elif self.options["current collector"] == "single particle potential pair": - submodel = pybamm.current_collector.SingleParticlePotentialPair(self.param) elif self.options["current collector"] == "set external potential": if self.options["dimensionality"] == 1: submodel = pybamm.current_collector.SetPotentialSingleParticle1plus1D( @@ -716,21 +724,6 @@ def set_voltage_variables(self): eta_r_av = eta_r_p_av - eta_r_n_av eta_r_av_dim = eta_r_p_av_dim - eta_r_n_av_dim - # terminal voltage (Note: phi_s_cn is zero at the negative tab) - phi_s_cp = self.variables["Positive current collector potential"] - phi_s_cp_dim = self.variables["Positive current collector potential [V]"] - if self.options["dimensionality"] == 0: - V = phi_s_cp - V_dim = phi_s_cp_dim - elif self.options["dimensionality"] in [1, 2]: - V = pybamm.BoundaryValue(phi_s_cp, "positive tab") - V_dim = pybamm.BoundaryValue(phi_s_cp_dim, "positive tab") - - phi_s_cn = self.variables["Negative current collector potential"] - phi_s_cn_dim = self.variables["Negative current collector potential [V]"] - V_local = phi_s_cp - phi_s_cn - V_local_dim = phi_s_cp_dim - phi_s_cn_dim - # TODO: add current collector losses to the voltage in 3D self.variables.update( @@ -743,14 +736,11 @@ def set_voltage_variables(self): "X-averaged reaction overpotential [V]": eta_r_av_dim, "X-averaged solid phase ohmic losses": delta_phi_s_av, "X-averaged solid phase ohmic losses [V]": delta_phi_s_av_dim, - "Local voltage": V_local, - "Local voltage [V]": V_local_dim, - "Terminal voltage": V, - "Terminal voltage [V]": V_dim, } ) # Battery-wide variables + V_dim = self.variables["Terminal voltage [V]"] eta_e_av_dim = self.variables.get("X-averaged electrolyte ohmic losses [V]", 0) eta_c_av_dim = self.variables.get( "X-averaged concentration overpotential [V]", 0 @@ -780,6 +770,10 @@ def set_voltage_variables(self): self.events["Minimum voltage"] = voltage - self.param.voltage_low_cut self.events["Maximum voltage"] = voltage - self.param.voltage_high_cut + # Power + I_dim = self.variables["Current [A]"] + self.variables.update({"Terminal power [W]": I_dim * V_dim}) + def set_soc_variables(self): """ Set variables relating to the state of charge. diff --git a/pybamm/models/full_battery_models/lead_acid/base_lead_acid_model.py b/pybamm/models/full_battery_models/lead_acid/base_lead_acid_model.py index f233d13c40..b2e10213e9 100644 --- a/pybamm/models/full_battery_models/lead_acid/base_lead_acid_model.py +++ b/pybamm/models/full_battery_models/lead_acid/base_lead_acid_model.py @@ -53,19 +53,6 @@ def default_solver(self): def set_standard_output_variables(self): super().set_standard_output_variables() - # Current - i_cell = pybamm.standard_parameters_lead_acid.current_with_time - i_cell_dim = ( - pybamm.standard_parameters_lead_acid.dimensional_current_density_with_time - ) - I = pybamm.standard_parameters_lead_acid.dimensional_current_with_time - self.variables.update( - { - "Total current density": i_cell, - "Total current density [A.m-2]": i_cell_dim, - "Current [A]": I, - } - ) # Time time_scale = pybamm.standard_parameters_lead_acid.tau_discharge @@ -74,7 +61,6 @@ def set_standard_output_variables(self): "Time [s]": pybamm.t * time_scale, "Time [min]": pybamm.t * time_scale / 60, "Time [h]": pybamm.t * time_scale / 3600, - "Discharge capacity [A.h]": I * pybamm.t * time_scale / 3600, } ) @@ -116,5 +102,5 @@ def set_soc_variables(self): if "Fractional Charge Input" not in self.variables: fci = pybamm.Variable("Fractional Charge Input", domain="current collector") self.variables["Fractional Charge Input"] = fci - self.rhs[fci] = -self.param.current_with_time * 100 + self.rhs[fci] = -self.variables["Total current density"] * 100 self.initial_conditions[fci] = self.param.q_init * 100 diff --git a/pybamm/models/full_battery_models/lead_acid/full.py b/pybamm/models/full_battery_models/lead_acid/full.py index a93339cb46..4e0a508558 100644 --- a/pybamm/models/full_battery_models/lead_acid/full.py +++ b/pybamm/models/full_battery_models/lead_acid/full.py @@ -34,6 +34,7 @@ class Full(BaseModel): def __init__(self, options=None, name="Full model", build=True): super().__init__(options, name) + self.set_external_circuit_submodel() self.set_reactions() self.set_interfacial_submodel() self.set_porosity_submodel() @@ -123,3 +124,4 @@ def set_side_reaction_submodels(self): self.submodels[ "negative oxygen interface" ] = pybamm.interface.lead_acid_oxygen.NoReaction(self.param, "Negative") + diff --git a/pybamm/models/full_battery_models/lead_acid/higher_order.py b/pybamm/models/full_battery_models/lead_acid/higher_order.py index 8151cfe031..7154583a02 100644 --- a/pybamm/models/full_battery_models/lead_acid/higher_order.py +++ b/pybamm/models/full_battery_models/lead_acid/higher_order.py @@ -34,6 +34,7 @@ class BaseHigherOrderModel(BaseModel): def __init__(self, options=None, name="Composite model", build=True): super().__init__(options, name) + self.set_external_circuit_submodel() self.set_leading_order_model() self.set_reactions() # Electrolyte submodel to get first-order concentrations diff --git a/pybamm/models/full_battery_models/lead_acid/loqs.py b/pybamm/models/full_battery_models/lead_acid/loqs.py index 14f6bf591c..fc5b0d66b4 100644 --- a/pybamm/models/full_battery_models/lead_acid/loqs.py +++ b/pybamm/models/full_battery_models/lead_acid/loqs.py @@ -33,6 +33,7 @@ class LOQS(BaseModel): def __init__(self, options=None, name="LOQS model", build=True): super().__init__(options, name) + self.set_external_circuit_submodel() self.set_reactions() self.set_interfacial_submodel() self.set_convection_submodel() @@ -51,6 +52,30 @@ def __init__(self, options=None, name="LOQS model", build=True): if self.options["dimensionality"] == 0: self.use_jacobian = False + def set_external_circuit_submodel(self): + """ + Define how the external circuit defines the boundary conditions for the model, + e.g. (not necessarily constant-) current, voltage, etc + """ + if self.options["operating mode"] == "current": + self.submodels[ + "leading order external circuit" + ] = pybamm.external_circuit.LeadingOrderCurrentControl(self.param) + elif self.options["operating mode"] == "voltage": + self.submodels[ + "leading order external circuit" + ] = pybamm.external_circuit.LeadingOrderVoltageFunctionControl(self.param) + elif self.options["operating mode"] == "power": + self.submodels[ + "leading order external circuit" + ] = pybamm.external_circuit.LeadingOrderPowerFunctionControl(self.param) + elif callable(self.options["operating mode"]): + self.submodels[ + "leading order external circuit" + ] = pybamm.external_circuit.LeadingOrderFunctionControl( + self.param, self.options["operating mode"] + ) + def set_current_collector_submodel(self): if self.options["current collector"] in [ diff --git a/pybamm/models/full_battery_models/lithium_ion/base_lithium_ion_model.py b/pybamm/models/full_battery_models/lithium_ion/base_lithium_ion_model.py index d2b71f6560..908e131b12 100644 --- a/pybamm/models/full_battery_models/lithium_ion/base_lithium_ion_model.py +++ b/pybamm/models/full_battery_models/lithium_ion/base_lithium_ion_model.py @@ -19,19 +19,6 @@ def __init__(self, options=None, name="Unnamed lithium-ion model"): def set_standard_output_variables(self): super().set_standard_output_variables() - # Current - i_cell = pybamm.standard_parameters_lithium_ion.current_with_time - i_cell_dim = ( - pybamm.standard_parameters_lithium_ion.dimensional_current_density_with_time - ) - I = pybamm.standard_parameters_lithium_ion.dimensional_current_with_time - self.variables.update( - { - "Total current density": i_cell, - "Total current density [A.m-2]": i_cell_dim, - "Current [A]": I, - } - ) # Time time_scale = pybamm.standard_parameters_lithium_ion.tau_discharge @@ -40,7 +27,6 @@ def set_standard_output_variables(self): "Time [s]": pybamm.t * time_scale, "Time [min]": pybamm.t * time_scale / 60, "Time [h]": pybamm.t * time_scale / 3600, - "Discharge capacity [A.h]": I * pybamm.t * time_scale / 3600, } ) diff --git a/pybamm/models/full_battery_models/lithium_ion/dfn.py b/pybamm/models/full_battery_models/lithium_ion/dfn.py index b3acfb85ae..0c4bc7c60d 100644 --- a/pybamm/models/full_battery_models/lithium_ion/dfn.py +++ b/pybamm/models/full_battery_models/lithium_ion/dfn.py @@ -33,6 +33,7 @@ class DFN(BaseModel): def __init__(self, options=None, name="Doyle-Fuller-Newman model", build=True): super().__init__(options, name) + self.set_external_circuit_submodel() self.set_reactions() self.set_porosity_submodel() self.set_tortuosity_submodels() diff --git a/pybamm/models/full_battery_models/lithium_ion/spm.py b/pybamm/models/full_battery_models/lithium_ion/spm.py index fb1e405389..97e55a2786 100644 --- a/pybamm/models/full_battery_models/lithium_ion/spm.py +++ b/pybamm/models/full_battery_models/lithium_ion/spm.py @@ -32,6 +32,7 @@ class SPM(BaseModel): def __init__(self, options=None, name="Single Particle Model", build=True): super().__init__(options, name) + self.set_external_circuit_submodel() self.set_porosity_submodel() self.set_tortuosity_submodels() self.set_convection_submodel() @@ -88,14 +89,8 @@ def set_negative_electrode_submodel(self): def set_positive_electrode_submodel(self): - if self.options["current collector"] == "set external potential": - # Potentials are set by external model - set_positive_potential = False - else: - # Potential determined by 1D model - set_positive_potential = True self.submodels["positive electrode"] = pybamm.electrode.ohm.LeadingOrder( - self.param, "Positive", set_positive_potential=set_positive_potential + self.param, "Positive" ) def set_electrolyte_submodel(self): diff --git a/pybamm/models/full_battery_models/lithium_ion/spme.py b/pybamm/models/full_battery_models/lithium_ion/spme.py index 13084f91ae..a400d0dff2 100644 --- a/pybamm/models/full_battery_models/lithium_ion/spme.py +++ b/pybamm/models/full_battery_models/lithium_ion/spme.py @@ -35,6 +35,7 @@ def __init__( ): super().__init__(options, name) + self.set_external_circuit_submodel() self.set_reactions() self.set_porosity_submodel() self.set_tortuosity_submodels() diff --git a/pybamm/models/submodels/base_submodel.py b/pybamm/models/submodels/base_submodel.py index 47291a4124..99f8568773 100644 --- a/pybamm/models/submodels/base_submodel.py +++ b/pybamm/models/submodels/base_submodel.py @@ -46,7 +46,14 @@ class BaseSubModel: symbols. """ - def __init__(self, param, domain=None, reactions=None, external=False): + def __init__( + self, + param, + domain=None, + reactions=None, + name="Unnamed submodel", + external=False, + ): super().__init__() self.param = param # Initialise empty variables (to avoid overwriting with 'None') @@ -61,6 +68,7 @@ def __init__(self, param, domain=None, reactions=None, external=False): self.domain = domain self.set_domain_for_broadcast() self.reactions = reactions + self.name = name self.external = external diff --git a/pybamm/models/submodels/current_collector/__init__.py b/pybamm/models/submodels/current_collector/__init__.py index 2b575b750d..e4a9774255 100644 --- a/pybamm/models/submodels/current_collector/__init__.py +++ b/pybamm/models/submodels/current_collector/__init__.py @@ -2,7 +2,6 @@ from .homogeneous_current_collector import Uniform from .effective_resistance_current_collector import EffectiveResistance2D -from .single_particle_potential_pair import SingleParticlePotentialPair from .potential_pair import ( BasePotentialPair, PotentialPair1plus1D, diff --git a/pybamm/models/submodels/current_collector/base_current_collector.py b/pybamm/models/submodels/current_collector/base_current_collector.py index fb1af13345..f9c8c788f9 100644 --- a/pybamm/models/submodels/current_collector/base_current_collector.py +++ b/pybamm/models/submodels/current_collector/base_current_collector.py @@ -19,15 +19,6 @@ class BaseModel(pybamm.BaseSubModel): def __init__(self, param): super().__init__(param) - def get_coupled_variables(self, variables): - - # 1D models determine phi_s_cp - phi_s_cn = variables["Negative current collector potential"] - phi_s_cp = variables["Positive current collector potential"] - - variables = self._get_standard_potential_variables(phi_s_cn, phi_s_cp) - return variables - def _get_standard_negative_potential_variables(self, phi_s_cn): """ A private function to obtain the standard variables which @@ -35,8 +26,8 @@ def _get_standard_negative_potential_variables(self, phi_s_cn): Parameters ---------- - phi_cc : :class:`pybamm.Symbol` - The potential in the current collector. + phi_s_cn : :class:`pybamm.Symbol` + The potential in the negative current collector. Returns ------- @@ -54,40 +45,6 @@ def _get_standard_negative_potential_variables(self, phi_s_cn): return variables - def _get_standard_potential_variables(self, phi_s_cn, phi_s_cp): - """ - A private function to obtain the standard variables which - can be derived from the potentials in the current collector. - - Parameters - ---------- - phi_cc : :class:`pybamm.Symbol` - The potential in the current collector. - - Returns - ------- - variables : dict - The variables which can be derived from the potential in the - current collector. - """ - - pot_scale = self.param.potential_scale - U_ref = self.param.U_p_ref - self.param.U_n_ref - - # Local potential difference - V_cc = phi_s_cp - phi_s_cn - - variables = { - "Positive current collector potential": phi_s_cp, - "Positive current collector potential [V]": U_ref + phi_s_cp * pot_scale, - "Local current collector potential difference": V_cc, - "Local current collector potential difference [V]": U_ref - + V_cc * pot_scale, - } - variables.update(self._get_standard_negative_potential_variables(phi_s_cn)) - - return variables - def _get_standard_current_variables(self, i_cc, i_boundary_cc): """ A private function to obtain the standard variables which diff --git a/pybamm/models/submodels/current_collector/effective_resistance_current_collector.py b/pybamm/models/submodels/current_collector/effective_resistance_current_collector.py index 49df45dc19..f188cd4dbe 100644 --- a/pybamm/models/submodels/current_collector/effective_resistance_current_collector.py +++ b/pybamm/models/submodels/current_collector/effective_resistance_current_collector.py @@ -197,8 +197,8 @@ def phi_s_cp_dim(t, y, z): "Negative current collector potential [V]": phi_s_cn_dim, "Positive current collector potential": phi_s_cp, "Positive current collector potential [V]": phi_s_cp_dim, - "Local current collector potential difference": V_cc, - "Local current collector potential difference [V]": V_cc_dim, + "Local voltage": V_cc, + "Local voltage [V]": V_cc_dim, } return potentials diff --git a/pybamm/models/submodels/current_collector/homogeneous_current_collector.py b/pybamm/models/submodels/current_collector/homogeneous_current_collector.py index 8315ed881b..4d65f29cd1 100644 --- a/pybamm/models/submodels/current_collector/homogeneous_current_collector.py +++ b/pybamm/models/submodels/current_collector/homogeneous_current_collector.py @@ -21,12 +21,12 @@ class Uniform(BaseModel): def __init__(self, param): super().__init__(param) - def get_fundamental_variables(self): + def get_coupled_variables(self, variables): # TODO: grad not implemented for 2D yet i_cc = pybamm.Scalar(0) i_boundary_cc = pybamm.PrimaryBroadcast( - self.param.current_with_time, "current collector" + variables["Total current density"], "current collector" ) phi_s_cn = pybamm.PrimaryBroadcast(0, "current collector") @@ -40,4 +40,5 @@ def get_fundamental_variables(self): variables["Leading-order current collector current density"] = variables[ "Current collector current density" ] + return variables diff --git a/pybamm/models/submodels/current_collector/potential_pair.py b/pybamm/models/submodels/current_collector/potential_pair.py index 79b1382a78..14513b6f29 100644 --- a/pybamm/models/submodels/current_collector/potential_pair.py +++ b/pybamm/models/submodels/current_collector/potential_pair.py @@ -60,8 +60,7 @@ def set_algebraic(self, variables): def set_initial_conditions(self, variables): - param = self.param - applied_current = param.current_with_time + applied_current = variables["Total current density"] cc_area = self._get_effective_current_collector_area() phi_s_cn = variables["Negative current collector potential"] i_boundary_cc = variables["Current collector current density"] @@ -84,7 +83,7 @@ def set_boundary_conditions(self, variables): phi_s_cp = variables["Positive current collector potential"] param = self.param - applied_current = param.current_with_time + applied_current = variables["Total current density"] cc_area = self._get_effective_current_collector_area() # cc_area appears here due to choice of non-dimensionalisation @@ -124,7 +123,7 @@ def set_boundary_conditions(self, variables): phi_s_cp = variables["Positive current collector potential"] param = self.param - applied_current = param.current_with_time + applied_current = variables["Total current density"] cc_area = self._get_effective_current_collector_area() # Note: we divide by the *numerical* tab area so that the correct total diff --git a/pybamm/models/submodels/current_collector/quite_conductive_potential_pair.py b/pybamm/models/submodels/current_collector/quite_conductive_potential_pair.py index e71b1307f4..5f84c22470 100644 --- a/pybamm/models/submodels/current_collector/quite_conductive_potential_pair.py +++ b/pybamm/models/submodels/current_collector/quite_conductive_potential_pair.py @@ -47,7 +47,7 @@ def get_fundamental_variables(self): def set_algebraic(self, variables): param = self.param - applied_current = param.current_with_time + applied_current = variables["Total current density"] cc_area = self._get_effective_current_collector_area() z = pybamm.standard_spatial_vars.z diff --git a/pybamm/models/submodels/current_collector/set_potential_single_particle.py b/pybamm/models/submodels/current_collector/set_potential_single_particle.py index bc7eafe28a..e519bd57f1 100644 --- a/pybamm/models/submodels/current_collector/set_potential_single_particle.py +++ b/pybamm/models/submodels/current_collector/set_potential_single_particle.py @@ -32,9 +32,8 @@ def __init__(self, param): def get_fundamental_variables(self): phi_s_cn = pybamm.standard_variables.phi_s_cn - phi_s_cp = pybamm.standard_variables.phi_s_cp - variables = self._get_standard_potential_variables(phi_s_cn, phi_s_cp) + variables = self._get_standard_negative_potential_variables(phi_s_cn) # TO DO: grad not implemented for 2D yet i_cc = pybamm.Scalar(0) @@ -53,11 +52,10 @@ def get_fundamental_variables(self): def set_rhs(self, variables): phi_s_cn = variables["Negative current collector potential"] - phi_s_cp = variables["Positive current collector potential"] # Dummy equations so that PyBaMM doesn't change the potentials during solve # i.e. d_phi/d_t = 0. Potentials are set externally between steps. - self.rhs = {phi_s_cn: pybamm.Scalar(0), phi_s_cp: pybamm.Scalar(0)} + self.rhs = {phi_s_cn: pybamm.Scalar(0)} def set_algebraic(self, variables): ocp_p_av = variables["X-averaged positive electrode open circuit potential"] @@ -69,7 +67,7 @@ def set_algebraic(self, variables): delta_phi_s_p_av = variables["X-averaged positive electrode ohmic losses"] i_boundary_cc = variables["Current collector current density"] - v_boundary_cc = variables["Local current collector potential difference"] + v_boundary_cc = variables["Local voltage"] # The voltage-current expression from the SPM(e) local_voltage_expression = ( ocp_p_av @@ -84,17 +82,13 @@ def set_algebraic(self, variables): def set_initial_conditions(self, variables): - param = self.param - applied_current = param.current_with_time + applied_current = variables["Total current density"] cc_area = self._get_effective_current_collector_area() phi_s_cn = variables["Negative current collector potential"] - phi_s_cp = variables["Positive current collector potential"] i_boundary_cc = variables["Current collector current density"] self.initial_conditions = { phi_s_cn: pybamm.Scalar(0), - phi_s_cp: param.U_p(param.c_p_init, param.T_init) - - param.U_n(param.c_n_init, param.T_init), i_boundary_cc: applied_current / cc_area, } diff --git a/pybamm/models/submodels/current_collector/single_particle_potential_pair.py b/pybamm/models/submodels/current_collector/single_particle_potential_pair.py deleted file mode 100644 index 615c2c71aa..0000000000 --- a/pybamm/models/submodels/current_collector/single_particle_potential_pair.py +++ /dev/null @@ -1,45 +0,0 @@ -# -# Class for two-dimensional current collectors - Single-Particle formulation -# -from .potential_pair import PotentialPair2plus1D - - -class SingleParticlePotentialPair(PotentialPair2plus1D): - """A submodel for Ohm's law plus conservation of current in the current collectors, - which uses the voltage-current relationship from the SPM(e). - - Parameters - ---------- - param : parameter class - The parameters to use for this submodel - - - **Extends:** :class:`pybamm.current_collector.PotentialPair2plus1D` - """ - - def __init__(self, param): - super().__init__(param) - - def get_coupled_variables(self, variables): - ocp_p_av = variables["X-averaged positive electrode open circuit potential"] - ocp_n_av = variables["X-averaged negative electrode open circuit potential"] - eta_r_n_av = variables["X-averaged negative electrode reaction overpotential"] - eta_r_p_av = variables["X-averaged positive electrode reaction overpotential"] - eta_e_av = variables["X-averaged electrolyte overpotential"] - delta_phi_s_n_av = variables["X-averaged negative electrode ohmic losses"] - delta_phi_s_p_av = variables["X-averaged positive electrode ohmic losses"] - - phi_s_cn = variables["Negative current collector potential"] - - local_voltage_expression = ( - ocp_p_av - - ocp_n_av - + eta_r_p_av - - eta_r_n_av - + eta_e_av - + delta_phi_s_p_av - - delta_phi_s_n_av - ) - phi_s_cp = phi_s_cn + local_voltage_expression - variables = self._get_standard_potential_variables(phi_s_cn, phi_s_cp) - return variables diff --git a/pybamm/models/submodels/electrode/base_electrode.py b/pybamm/models/submodels/electrode/base_electrode.py index 1a77f7b713..a4e786f32a 100644 --- a/pybamm/models/submodels/electrode/base_electrode.py +++ b/pybamm/models/submodels/electrode/base_electrode.py @@ -40,24 +40,23 @@ def _get_standard_potential_variables(self, phi_s): electrode. """ param = self.param + pot = param.potential_scale phi_s_av = pybamm.x_average(phi_s) if self.domain == "Negative": - phi_s_dim = param.potential_scale * phi_s - phi_s_av_dim = param.potential_scale * phi_s_av + phi_s_dim = pot * phi_s + phi_s_av_dim = pot * phi_s_av delta_phi_s = phi_s elif self.domain == "Positive": - phi_s_dim = param.U_p_ref - param.U_n_ref + param.potential_scale * phi_s - phi_s_av_dim = ( - param.U_p_ref - param.U_n_ref + param.potential_scale * phi_s_av - ) + phi_s_dim = param.U_p_ref - param.U_n_ref + pot * phi_s + phi_s_av_dim = param.U_p_ref - param.U_n_ref + pot * phi_s_av v = pybamm.boundary_value(phi_s, "right") delta_phi_s = phi_s - v delta_phi_s_av = pybamm.x_average(delta_phi_s) - delta_phi_s_dim = delta_phi_s * param.potential_scale - delta_phi_s_av_dim = delta_phi_s_av * param.potential_scale + delta_phi_s_dim = delta_phi_s * pot + delta_phi_s_av_dim = delta_phi_s_av * pot variables = { self.domain + " electrode potential": phi_s, @@ -108,6 +107,51 @@ def _get_standard_current_variables(self, i_s): return variables + def _get_standard_current_collector_potential_variables(self, phi_s_cn, phi_s_cp): + """ + A private function to obtain the standard variables which + can be derived from the potentials in the current collector. + + Parameters + ---------- + phi_cc : :class:`pybamm.Symbol` + The potential in the current collector. + + Returns + ------- + variables : dict + The variables which can be derived from the potential in the + current collector. + """ + + pot_scale = self.param.potential_scale + U_ref = self.param.U_p_ref - self.param.U_n_ref + phi_s_cp_dim = U_ref + phi_s_cp * pot_scale + + # Local potential difference + V_cc = phi_s_cp - phi_s_cn + + # Terminal voltage + # Note phi_s_cn is always zero at the negative tab + V = pybamm.boundary_value(phi_s_cp, "positive tab") + V_dim = pybamm.boundary_value(phi_s_cp_dim, "positive tab") + + # Voltage is local current collector potential difference at the tabs, in 1D + # this will be equal to the local current collector potential difference + + variables = { + "Negative current collector potential": phi_s_cn, + "Negative current collector potential [V]": phi_s_cn * pot_scale, + "Positive current collector potential": phi_s_cp, + "Positive current collector potential [V]": phi_s_cp_dim, + "Local voltage": V_cc, + "Local voltage [V]": U_ref + V_cc * pot_scale, + "Terminal voltage": V, + "Terminal voltage [V]": V_dim, + } + + return variables + def _get_standard_whole_cell_variables(self, variables): """ A private function to obtain the whole-cell versions of the @@ -131,14 +175,19 @@ def _get_standard_whole_cell_variables(self, variables): i_s = pybamm.Concatenation(i_s_n, i_s_s, i_s_p) + variables.update({"Electrode current density": i_s}) + if self.set_positive_potential: + # Get phi_s_cn from the current collector submodel and phi_s_p from the + # electrode submodel + phi_s_cn = variables["Negative current collector potential"] phi_s_p = variables["Positive electrode potential"] phi_s_cp = pybamm.boundary_value(phi_s_p, "right") - variables = { - "Electrode current density": i_s, - "Positive current collector potential": phi_s_cp, - } - else: - variables = {"Electrode current density": i_s} + variables.update( + self._get_standard_current_collector_potential_variables( + phi_s_cn, phi_s_cp + ) + ) return variables + diff --git a/pybamm/models/submodels/electrode/ohm/full_ohm.py b/pybamm/models/submodels/electrode/ohm/full_ohm.py index 1abb20b2f1..7ed04dc09b 100644 --- a/pybamm/models/submodels/electrode/ohm/full_ohm.py +++ b/pybamm/models/submodels/electrode/ohm/full_ohm.py @@ -71,7 +71,6 @@ def set_boundary_conditions(self, variables): phi_s = variables[self.domain + " electrode potential"] phi_s_cn = variables["Negative current collector potential"] tor = variables[self.domain + " electrode tortuosity"] - i_boundary_cc = variables["Current collector current density"] if self.domain == "Negative": lbc = (phi_s_cn, "Dirichlet") @@ -80,6 +79,7 @@ def set_boundary_conditions(self, variables): elif self.domain == "Positive": lbc = (pybamm.Scalar(0), "Neumann") sigma_eff = self.param.sigma_p * tor + i_boundary_cc = variables["Current collector current density"] rbc = ( i_boundary_cc / pybamm.boundary_value(-sigma_eff, "right"), "Neumann", diff --git a/pybamm/models/submodels/external_circuit/__init__.py b/pybamm/models/submodels/external_circuit/__init__.py new file mode 100644 index 0000000000..21966d10b5 --- /dev/null +++ b/pybamm/models/submodels/external_circuit/__init__.py @@ -0,0 +1,11 @@ +from .base_external_circuit import BaseModel, LeadingOrderBaseModel +from .current_control_external_circuit import CurrentControl, LeadingOrderCurrentControl +from .function_control_external_circuit import ( + FunctionControl, + VoltageFunctionControl, + PowerFunctionControl, + LeadingOrderFunctionControl, + LeadingOrderVoltageFunctionControl, + LeadingOrderPowerFunctionControl, +) + diff --git a/pybamm/models/submodels/external_circuit/base_external_circuit.py b/pybamm/models/submodels/external_circuit/base_external_circuit.py new file mode 100644 index 0000000000..9c69e00eab --- /dev/null +++ b/pybamm/models/submodels/external_circuit/base_external_circuit.py @@ -0,0 +1,53 @@ +# +# Base model for the external circuit +# +import pybamm + + +class BaseModel(pybamm.BaseSubModel): + """Model to represent the behaviour of the external circuit. """ + + def __init__(self, param): + super().__init__(param) + + def _get_current_variables(self, i_cell): + param = self.param + I = i_cell * abs(param.I_typ) + i_cell_dim = I / (param.n_electrodes_parallel * param.A_cc) + + variables = { + "Total current density": i_cell, + "Total current density [A.m-2]": i_cell_dim, + "Current [A]": I, + "C-rate": I / param.Q, + } + + return variables + + def get_fundamental_variables(self): + Q = pybamm.Variable("Discharge capacity [A.h]") + variables = {"Discharge capacity [A.h]": Q} + return variables + + def set_initial_conditions(self, variables): + Q = variables["Discharge capacity [A.h]"] + self.initial_conditions[Q] = pybamm.Scalar(0) + + def set_rhs(self, variables): + # ODE for discharge capacity + Q = variables["Discharge capacity [A.h]"] + I = variables["Current [A]"] + self.rhs[Q] = I * self.param.timescale / 3600 + + +class LeadingOrderBaseModel(BaseModel): + """Model to represent the behaviour of the external circuit, at leading order. """ + + def __init__(self, param): + super().__init__(param) + + def get_fundamental_variables(self): + Q = pybamm.Variable("Leading-order discharge capacity [A.h]") + variables = {"Discharge capacity [A.h]": Q} + return variables + diff --git a/pybamm/models/submodels/external_circuit/current_control_external_circuit.py b/pybamm/models/submodels/external_circuit/current_control_external_circuit.py new file mode 100644 index 0000000000..0368852226 --- /dev/null +++ b/pybamm/models/submodels/external_circuit/current_control_external_circuit.py @@ -0,0 +1,37 @@ +# +# External circuit with current control +# +from .base_external_circuit import BaseModel, LeadingOrderBaseModel + + +class CurrentControl(BaseModel): + """External circuit with current control. """ + + def __init__(self, param): + super().__init__(param) + + def get_fundamental_variables(self): + # Current is given as a function of time + i_cell = self.param.current_with_time + i_cell_dim = self.param.dimensional_current_density_with_time + I = self.param.dimensional_current_with_time + + variables = { + "Total current density": i_cell, + "Total current density [A.m-2]": i_cell_dim, + "Current [A]": I, + "C-rate": I / self.param.Q, + } + + # Add discharge capacity variable + variables.update(super().get_fundamental_variables()) + + return variables + + +class LeadingOrderCurrentControl(CurrentControl, LeadingOrderBaseModel): + """External circuit with current control, for leading order models. """ + + def __init__(self, param): + super().__init__(param) + diff --git a/pybamm/models/submodels/external_circuit/function_control_external_circuit.py b/pybamm/models/submodels/external_circuit/function_control_external_circuit.py new file mode 100644 index 0000000000..fb1dd39f6b --- /dev/null +++ b/pybamm/models/submodels/external_circuit/function_control_external_circuit.py @@ -0,0 +1,108 @@ +# +# External circuit with an arbitrary function +# +import pybamm +from .base_external_circuit import BaseModel, LeadingOrderBaseModel + + +class FunctionControl(BaseModel): + """External circuit with an arbitrary function. """ + + def __init__(self, param, external_circuit_class): + super().__init__(param) + self.external_circuit_class = external_circuit_class + + def _get_current_variable(self): + return pybamm.Variable("Total current density") + + def get_fundamental_variables(self): + # Current is a variable + i_cell = self._get_current_variable() + variables = self._get_current_variables(i_cell) + + # Add discharge capacity variable + variables.update(super().get_fundamental_variables()) + + # Add switches + # These are not implemented yet but can be used later with the Experiment class + # to simulate different external circuit conditions sequentially within a + # single model (for example Constant Current - Constant Voltage) + # for i in range(self.external_circuit_class.num_switches): + # s = pybamm.Parameter("Switch {}".format(i + 1)) + # variables["Switch {}".format(i + 1)] = s + + return variables + + def set_initial_conditions(self, variables): + super().set_initial_conditions(variables) + # Initial condition as a guess for consistent initial conditions + i_cell = variables["Total current density"] + self.initial_conditions[i_cell] = self.param.current_with_time + + def set_algebraic(self, variables): + # External circuit submodels are always equations on the current + # The external circuit function should fix either the current, or the voltage, + # or a combination (e.g. I*V for power control) + i_cell = variables["Total current density"] + self.algebraic[i_cell] = self.external_circuit_class(variables) + + +class VoltageFunctionControl(FunctionControl): + """ + External circuit with voltage control, implemented as an extra algebraic equation. + """ + + def __init__(self, param): + super().__init__(param, ConstantVoltage()) + + +class ConstantVoltage: + num_switches = 0 + + def __call__(self, variables): + V = variables["Terminal voltage [V]"] + return V - pybamm.FunctionParameter("Voltage function [V]", pybamm.t) + + +class PowerFunctionControl(FunctionControl): + """External circuit with power control. """ + + def __init__(self, param): + super().__init__(param, ConstantPower()) + + +class ConstantPower: + num_switches = 0 + + def __call__(self, variables): + I = variables["Current [A]"] + V = variables["Terminal voltage [V]"] + return I * V - pybamm.FunctionParameter("Power function [W]", pybamm.t) + + +class LeadingOrderFunctionControl(FunctionControl, LeadingOrderBaseModel): + """External circuit with an arbitrary function, at leading order. """ + + def __init__(self, param, external_circuit_class): + super().__init__(param, external_circuit_class) + + def _get_current_variable(self): + return pybamm.Variable("Leading-order total current density") + + +class LeadingOrderVoltageFunctionControl(LeadingOrderFunctionControl): + """ + External circuit with voltage control, implemented as an extra algebraic equation, + at leading order. + """ + + def __init__(self, param): + super().__init__(param, ConstantVoltage()) + + +class LeadingOrderPowerFunctionControl(LeadingOrderFunctionControl): + """External circuit with power control, at leading order. """ + + def __init__(self, param): + super().__init__(param, ConstantPower()) + diff --git a/pybamm/parameters/electrical_parameters.py b/pybamm/parameters/electrical_parameters.py index 8db66dbe29..7e9d1ecfac 100644 --- a/pybamm/parameters/electrical_parameters.py +++ b/pybamm/parameters/electrical_parameters.py @@ -25,7 +25,7 @@ # the user may provide the typical timescale as a parameter. timescale = pybamm.Parameter("Typical timescale [s]") dimensional_current_with_time = pybamm.FunctionParameter( - "Current function", pybamm.t * timescale + "Current function [A]", pybamm.t * timescale ) dimensional_current_density_with_time = dimensional_current_with_time / ( n_electrodes_parallel * pybamm.geometric_parameters.A_cc diff --git a/pybamm/parameters/parameter_values.py b/pybamm/parameters/parameter_values.py index 488b68f280..4f5ecdc250 100644 --- a/pybamm/parameters/parameter_values.py +++ b/pybamm/parameters/parameter_values.py @@ -74,6 +74,12 @@ def __init__(self, values=None, chemistry=None): # Initialise empty _processed_symbols dict (for caching) self._processed_symbols = {} + def __getitem__(self, key): + try: + return super().__getitem__(key) + except KeyError as err: + raise KeyError("Parameter '{}' not recognised".format(err.args[0])) + def update_from_chemistry(self, chemistry): """ Load standard set of components from a 'chemistry' dictionary @@ -131,8 +137,6 @@ def __setitem__(self, key, value): self.update({key: value}) def update(self, values, check_conflict=False, path=""): - # check parameter values - values = self.check_and_update_parameter_values(values) # update for name, value in values.items(): # check for conflicts @@ -151,9 +155,11 @@ def update(self, values, check_conflict=False, path=""): # Functions are flagged with the string "[function]" if isinstance(value, str): if value.startswith("[function]"): - self[name] = pybamm.load_function( + loaded_value = pybamm.load_function( os.path.join(path, value[10:] + ".py") ) + super().__setitem__(name, loaded_value) + values[name] = loaded_value # Data is flagged with the string "[data]" or "[current data]" elif value.startswith("[current data]") or value.startswith( "[data]" @@ -172,33 +178,33 @@ def update(self, values, check_conflict=False, path=""): ).to_numpy() # Save name and data super().__setitem__(name, (function_name, data)) - # Special case (hacky) for zero current - elif value == "[zero]": - super().__setitem__(name, 0) + values[name] = (function_name, data) elif value == "[input]": super().__setitem__(name, pybamm.InputParameter(name)) # Anything else should be a converted to a float else: super().__setitem__(name, float(value)) + values[name] = float(value) else: super().__setitem__(name, value) + # check parameter values + self.check_and_update_parameter_values(values) # reset processed symbols self._processed_symbols = {} def check_and_update_parameter_values(self, values): - # Make sure "C-rate" and current are both non-zero - if "C-rate" in values and values["C-rate"] == 0: + # Make sure typical current is non-zero + if "Typical current [A]" in values and values["Typical current [A]"] == 0: raise ValueError( """ - "C-rate" cannot be zero. A possible alternative is to set - "Current function" to `0` instead. + "Typical current [A]" cannot be zero. A possible alternative is to set + "Current function [A]" to `0` instead. """ ) - if "Typical current [A]" in values and values["Typical current [A]"] == 0: + if "C-rate" in values and "Current function [A]" in values: raise ValueError( """ - "Typical current [A]" cannot be zero. A possible alternative is to set - "Current function" to `0` instead. + Cannot provide both "C-rate" and "Current function [A]" simultaneously """ ) # If the capacity of the cell has been provided, make sure "C-rate" and current @@ -210,30 +216,28 @@ def check_and_update_parameter_values(self, values): else: capacity = self["Cell capacity [A.h]"] # Make sure they match if both provided - if "C-rate" in values and "Typical current [A]" in values: - if values["C-rate"] * capacity != values["Typical current [A]"]: - raise ValueError( - """ - "C-rate" ({}C) and Typical current ({} A) provided do not match - given capacity ({} Ah). These can be updated individually - instead. - """.format( - values["C-rate"], values["Typical current [A]"], capacity - ) - ) # Update the other if only one provided - elif "C-rate" in values: - values["Typical current [A]"] = float(values["C-rate"]) * capacity - elif "Typical current [A]" in values: - values["C-rate"] = float(values["Typical current [A]"]) / capacity - - # Update the current function if it is constant - self_and_values = {**self, **values} - if "Current function" in self_and_values and ( - self_and_values["Current function"] == "[constant]" - or isinstance(self_and_values["Current function"], numbers.Number) - ): - values["Current function"] = {**self, **values}["Typical current [A]"] + if "C-rate" in values: + # Can't provide C-rate as a function + if callable(values["C-rate"]): + value = CrateToCurrent(values["C-rate"], capacity) + elif isinstance(values["C-rate"], tuple): + data = values["C-rate"][1] + data[:, 1] = data[:, 1] * capacity + value = (values["C-rate"][0] + "_to_Crate", data) + else: + value = values["C-rate"] * capacity + super().__setitem__("Current function [A]", value) + elif "Current function [A]" in values: + if callable(values["Current function [A]"]): + value = CurrentToCrate(values["Current function [A]"], capacity) + elif isinstance(values["Current function [A]"], tuple): + data = values["Current function [A]"][1] + data[:, 1] = data[:, 1] / capacity + value = (values["Current function [A]"][0] + "_to_current", data) + else: + value = values["Current function [A]"] / capacity + super().__setitem__("C-rate", value) return values @@ -283,13 +287,13 @@ def process_model(self, unprocessed_model, processing="process", inplace=True): elif processing == "update": processing_function = self.update_scalars - for variable, equation in unprocessed_model.rhs.items(): + for variable, equation in model.rhs.items(): pybamm.logger.debug( "{} parameters for {!r} (rhs)".format(processing.capitalize(), variable) ) model.rhs[variable] = processing_function(equation) - for variable, equation in unprocessed_model.algebraic.items(): + for variable, equation in model.algebraic.items(): pybamm.logger.debug( "{} parameters for {!r} (algebraic)".format( processing.capitalize(), variable @@ -297,7 +301,7 @@ def process_model(self, unprocessed_model, processing="process", inplace=True): ) model.algebraic[variable] = processing_function(equation) - for variable, equation in unprocessed_model.initial_conditions.items(): + for variable, equation in model.initial_conditions.items(): pybamm.logger.debug( "{} parameters for {!r} (initial conditions)".format( processing.capitalize(), variable @@ -310,10 +314,11 @@ def process_model(self, unprocessed_model, processing="process", inplace=True): # small number of variables, e.g. {"negative tab": neg. tab bc, # "positive tab": pos. tab bc "no tab": no tab bc}. new_boundary_conditions = {} - for variable, bcs in unprocessed_model.boundary_conditions.items(): + sides = ["left", "right", "negative tab", "positive tab", "no tab"] + for variable, bcs in model.boundary_conditions.items(): processed_variable = processing_function(variable) new_boundary_conditions[processed_variable] = {} - for side in ["left", "right", "negative tab", "positive tab", "no tab"]: + for side in sides: try: bc, typ = bcs[side] pybamm.logger.debug( @@ -323,19 +328,25 @@ def process_model(self, unprocessed_model, processing="process", inplace=True): ) processed_bc = (processing_function(bc), typ) new_boundary_conditions[processed_variable][side] = processed_bc - except KeyError: - pass + except KeyError as err: + # don't raise error if the key error comes from the side not being + # found + if err.args[0] in side: + pass + # do raise error otherwise (e.g. can't process symbol) + else: + raise KeyError(err) model.boundary_conditions = new_boundary_conditions - for variable, equation in unprocessed_model.variables.items(): + for variable, equation in model.variables.items(): pybamm.logger.debug( "{} parameters for {!r} (variables)".format( processing.capitalize(), variable ) ) model.variables[variable] = processing_function(equation) - for event, equation in unprocessed_model.events.items(): + for event, equation in model.events.items(): pybamm.logger.debug( "{} parameters for event '{}''".format(processing.capitalize(), event) ) @@ -543,3 +554,25 @@ def evaluate(self, symbol): return processed_symbol.evaluate() else: raise ValueError("symbol must evaluate to a constant scalar") + + +class CurrentToCrate: + "Convert a current function to a C-rate function" + + def __init__(self, function, capacity): + self.function = function + self.capacity = capacity + + def __call__(self, t): + return self.function(t) / self.capacity + + +class CrateToCurrent: + "Convert a C-rate function to a current function" + + def __init__(self, function, capacity): + self.function = function + self.capacity = capacity + + def __call__(self, t): + return self.function(t) * self.capacity diff --git a/pybamm/parameters/standard_parameters_lead_acid.py b/pybamm/parameters/standard_parameters_lead_acid.py index 3f058f4e2b..d0d7bab989 100644 --- a/pybamm/parameters/standard_parameters_lead_acid.py +++ b/pybamm/parameters/standard_parameters_lead_acid.py @@ -277,6 +277,8 @@ def U_p_dimensional(c_e, T): # Electrolyte diffusion timescale tau_diffusion_e = L_x ** 2 / D_e_typ +# Choose discharge timescale +timescale = tau_discharge # -------------------------------------------------------------------------------------- "4. Dimensionless Parameters" @@ -482,14 +484,15 @@ def U_p(c_e_p, T): # -------------------------------------------------------------------------------------- -"6. Input current" +# 6. Input current and voltage + dimensional_current_with_time = pybamm.FunctionParameter( - "Current function", pybamm.t * tau_discharge + "Current function [A]", pybamm.t * timescale ) dimensional_current_density_with_time = dimensional_current_with_time / ( n_electrodes_parallel * pybamm.geometric_parameters.A_cc ) - current_with_time = ( dimensional_current_with_time / I_typ * pybamm.Function(np.sign, I_typ) ) + diff --git a/pybamm/parameters/standard_parameters_lithium_ion.py b/pybamm/parameters/standard_parameters_lithium_ion.py index 62fbcf646e..7b0624287a 100644 --- a/pybamm/parameters/standard_parameters_lithium_ion.py +++ b/pybamm/parameters/standard_parameters_lithium_ion.py @@ -235,6 +235,9 @@ def U_p_dimensional(sto, T): # Thermal diffusion timescale tau_th_yz = pybamm.thermal_parameters.tau_th_yz +# Choose discharge timescale +timescale = tau_discharge + # -------------------------------------------------------------------------------------- "4. Dimensionless Parameters" # Timescale ratios @@ -437,14 +440,15 @@ def dUdT_p(c_s_p): # -------------------------------------------------------------------------------------- -"6. Input current" +# 6. Input current and voltage + dimensional_current_with_time = pybamm.FunctionParameter( - "Current function", pybamm.t * tau_discharge + "Current function [A]", pybamm.t * timescale ) dimensional_current_density_with_time = dimensional_current_with_time / ( n_electrodes_parallel * pybamm.geometric_parameters.A_cc ) - current_with_time = ( dimensional_current_with_time / I_typ * pybamm.Function(np.sign, I_typ) ) + diff --git a/pybamm/solvers/casadi_solver.py b/pybamm/solvers/casadi_solver.py index 7c0329d622..fb4dfb6b9a 100644 --- a/pybamm/solvers/casadi_solver.py +++ b/pybamm/solvers/casadi_solver.py @@ -243,7 +243,6 @@ def integrate_casadi( "output_t0": True, "max_num_steps": self.max_steps, } - options.update(self.extra_options) if self.method == "idas": options["calc_ic"] = True @@ -262,7 +261,7 @@ def integrate_casadi( try: # Try solving y0_diff, y0_alg = np.split(y0, [y_diff.shape[0]]) - sol = integrator(x0=y0_diff, z0=y0_alg) + sol = integrator(x0=y0_diff, z0=y0_alg, **self.extra_options) y_values = np.concatenate([sol["xf"].full(), sol["zf"].full()]) return pybamm.Solution(t_eval, y_values, None, None, "final time") except RuntimeError as e: diff --git a/pybamm/spatial_methods/zero_dimensional_method.py b/pybamm/spatial_methods/zero_dimensional_method.py index bf8397be44..abdac2a256 100644 --- a/pybamm/spatial_methods/zero_dimensional_method.py +++ b/pybamm/spatial_methods/zero_dimensional_method.py @@ -23,6 +23,13 @@ def __init__(self, options=None): def build(self, mesh): self._mesh = mesh + def boundary_value_or_flux(self, symbol, discretised_child, bcs=None): + """ + In 0D, the boundary value is the identity operator. + See :meth:`SpatialMethod.boundary_value_or_flux` + """ + return discretised_child + def mass_matrix(self, symbol, boundary_conditions): """ Calculates the mass matrix for a spatial method. Since the spatial method is diff --git a/tests/integration/test_models/standard_output_tests.py b/tests/integration/test_models/standard_output_tests.py index fa525537d0..0056e726aa 100644 --- a/tests/integration/test_models/standard_output_tests.py +++ b/tests/integration/test_models/standard_output_tests.py @@ -26,7 +26,7 @@ def __init__(self, model, parameter_values, disc, solution): self.chemistry = "Lead acid" # Only for constant current - current_sign = np.sign(parameter_values["Current function"]) + current_sign = np.sign(parameter_values["Current function [A]"]) if current_sign == 1: self.operating_condition = "discharge" diff --git a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_asymptotics_convergence.py b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_asymptotics_convergence.py index 0934922960..514d929ce1 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_asymptotics_convergence.py +++ b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_asymptotics_convergence.py @@ -46,7 +46,7 @@ def get_max_error(current): pybamm.logger.info("current = {}".format(current)) # Update current (and hence C_e) in the parameters param = pybamm.ParameterValues(chemistry=pybamm.parameter_sets.Sulzer2019) - param.update({"Typical current [A]": current}) + param.update({"Current function [A]": current}) param.update_model(leading_order_model, loqs_disc) param.update_model(composite_model, comp_disc) param.update_model(full_model, full_disc) diff --git a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_compare_outputs.py b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_compare_outputs.py index aa31ad8386..218ca0575a 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_compare_outputs.py +++ b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_compare_outputs.py @@ -21,7 +21,7 @@ def test_compare_averages_asymptotics(self): # load parameter values (same for all models) param = models[0].default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) for model in models: param.process_model(model) @@ -67,7 +67,7 @@ def test_compare_outputs_capacitance(self): for models in model_combos: # load parameter values (same for all models) param = models[0].default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) for model in models: param.process_model(model) diff --git a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_composite.py b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_composite.py index 05c2d9bb16..b8f5f3fe3a 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_composite.py +++ b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_composite.py @@ -12,14 +12,14 @@ class TestLeadAcidComposite(unittest.TestCase): def test_basic_processing(self): model = pybamm.lead_acid.Composite() param = model.default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) modeltest = tests.StandardModelTest(model, parameter_values=param) modeltest.test_all() def test_basic_processing_with_convection(self): model = pybamm.lead_acid.Composite() param = model.default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) modeltest = tests.StandardModelTest(model, parameter_values=param) modeltest.test_all() @@ -51,7 +51,7 @@ def test_basic_processing_differential(self): options = {"surface form": "differential"} model = pybamm.lead_acid.Composite(options) param = model.default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) modeltest = tests.StandardModelTest(model, parameter_values=param) modeltest.test_all() @@ -59,7 +59,7 @@ def test_basic_processing_algebraic(self): options = {"surface form": "algebraic"} model = pybamm.lead_acid.Composite(options) param = model.default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) modeltest = tests.StandardModelTest(model, parameter_values=param) modeltest.test_all() # solver=pybamm.CasadiSolver()) @@ -68,7 +68,7 @@ class TestLeadAcidCompositeExtended(unittest.TestCase): def test_basic_processing(self): model = pybamm.lead_acid.CompositeExtended() param = model.default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) modeltest = tests.StandardModelTest(model, parameter_values=param) modeltest.test_all() diff --git a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_foqs.py b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_foqs.py index be8c4cbca0..380d47dd12 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_foqs.py +++ b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_foqs.py @@ -14,7 +14,7 @@ def test_basic_processing(self): options = {"thermal": "isothermal", "convection": False} model = pybamm.lead_acid.FOQS(options) param = model.default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) modeltest = tests.StandardModelTest(model, parameter_values=param) modeltest.test_all() @@ -22,7 +22,7 @@ def test_basic_processing_with_convection(self): options = {"thermal": "isothermal", "convection": True} model = pybamm.lead_acid.FOQS(options) param = model.default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) modeltest = tests.StandardModelTest(model, parameter_values=param) modeltest.test_all() @@ -60,7 +60,7 @@ def test_basic_processing_differential(self): } model = pybamm.lead_acid.FOQS(options) param = model.default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) modeltest = tests.StandardModelTest(model, parameter_values=param) modeltest.test_all() @@ -72,7 +72,7 @@ def test_basic_processing_algebraic(self): } model = pybamm.lead_acid.FOQS(options) param = model.default_parameter_values - param.update({"Typical current [A]": 1}) + param.update({"Current function [A]": 1}) modeltest = tests.StandardModelTest(model, parameter_values=param) modeltest.test_all() diff --git a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_full.py b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_full.py index 0fe2b5f688..22103c86b6 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_full.py +++ b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_full.py @@ -13,7 +13,7 @@ def test_basic_processing(self): options = {"thermal": "isothermal"} model = pybamm.lead_acid.Full(options) modeltest = tests.StandardModelTest(model) - modeltest.test_all(t_eval=np.linspace(0, 0.6)) + modeltest.test_all(t_eval=np.linspace(0, 0.6), solver=pybamm.CasadiSolver()) def test_basic_processing_with_convection(self): options = {"thermal": "isothermal", "convection": True} diff --git a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_loqs.py b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_loqs.py index 20f5205ea1..368cf5e97c 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_loqs.py +++ b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_loqs.py @@ -39,16 +39,14 @@ def test_set_up(self): def test_charge(self): model = pybamm.lead_acid.LOQS() parameter_values = model.default_parameter_values - parameter_values.update({"Typical current [A]": -1}) + parameter_values.update({"Current function [A]": -1}) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all() def test_zero_current(self): model = pybamm.lead_acid.LOQS() parameter_values = model.default_parameter_values - parameter_values.update( - {"Current function": "[zero]"} - ) + parameter_values.update({"Current function [A]": 0}) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all() diff --git a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_composite_side_reactions.py b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_composite_side_reactions.py index b713d2e6ce..e0528c4816 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_composite_side_reactions.py +++ b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_composite_side_reactions.py @@ -26,7 +26,7 @@ def test_basic_processing_charge(self): model = pybamm.lead_acid.Composite(options) parameter_values = model.default_parameter_values parameter_values.update( - {"Typical current [A]": -1, "Initial State of Charge": 0.5} + {"Current function [A]": -1, "Initial State of Charge": 0.5} ) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all(skip_output_tests=True) @@ -35,7 +35,7 @@ def test_basic_processing_zero_current(self): options = {"side reactions": ["oxygen"], "surface form": "differential"} model = pybamm.lead_acid.Composite(options) parameter_values = model.default_parameter_values - parameter_values.update({"Current function": "[zero]"}) + parameter_values.update({"Current function [A]": 0}) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all(skip_output_tests=True) diff --git a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_full_side_reactions.py b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_full_side_reactions.py index 46ec22f882..bb86413b5c 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_full_side_reactions.py +++ b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_full_side_reactions.py @@ -32,7 +32,7 @@ def test_basic_processing_charge(self): model = pybamm.lead_acid.Full(options) parameter_values = model.default_parameter_values parameter_values.update( - {"Typical current [A]": -1, "Initial State of Charge": 0.5} + {"Current function [A]": -1, "Initial State of Charge": 0.5} ) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all(skip_output_tests=True) @@ -41,7 +41,7 @@ def test_basic_processing_zero_current(self): options = {"side reactions": ["oxygen"], "surface form": "differential"} model = pybamm.lead_acid.Full(options) parameter_values = model.default_parameter_values - parameter_values.update({"Current function": "[zero]"}) + parameter_values.update({"Current function [A]": 0}) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all(skip_output_tests=True) diff --git a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_loqs_side_reactions.py b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_loqs_side_reactions.py index 852b884cea..4ef6aa0123 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_loqs_side_reactions.py +++ b/tests/integration/test_models/test_full_battery_models/test_lead_acid/test_side_reactions/test_loqs_side_reactions.py @@ -34,7 +34,7 @@ def test_charge(self): model = pybamm.lead_acid.LOQS(options) parameter_values = model.default_parameter_values parameter_values.update( - {"Typical current [A]": -1, "Initial State of Charge": 0.5} + {"Current function [A]": -1, "Initial State of Charge": 0.5} ) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all(skip_output_tests=True) @@ -43,7 +43,7 @@ def test_zero_current(self): options = {"surface form": "differential", "side reactions": ["oxygen"]} model = pybamm.lead_acid.LOQS(options) parameter_values = model.default_parameter_values - parameter_values.update({"Current function": "[zero]"}) + parameter_values.update({"Current function [A]": 0}) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all(skip_output_tests=True) diff --git a/tests/integration/test_models/test_full_battery_models/test_lithium_ion/test_spm.py b/tests/integration/test_models/test_full_battery_models/test_lithium_ion/test_spm.py index 4154eaec21..cbed675bf2 100644 --- a/tests/integration/test_models/test_full_battery_models/test_lithium_ion/test_spm.py +++ b/tests/integration/test_models/test_full_battery_models/test_lithium_ion/test_spm.py @@ -74,7 +74,7 @@ def test_charge(self): options = {"thermal": "isothermal"} model = pybamm.lithium_ion.SPM(options) parameter_values = model.default_parameter_values - parameter_values.update({"Typical current [A]": -1}) + parameter_values.update({"Current function [A]": -1}) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all() @@ -82,7 +82,7 @@ def test_zero_current(self): options = {"thermal": "isothermal"} model = pybamm.lithium_ion.SPM(options) parameter_values = model.default_parameter_values - parameter_values.update({"Current function": "[zero]"}) + parameter_values.update({"Current function [A]": 0}) modeltest = tests.StandardModelTest(model, parameter_values=parameter_values) modeltest.test_all() diff --git a/tests/integration/test_models/test_submodels/test_external_circuit/__init__.py b/tests/integration/test_models/test_submodels/test_external_circuit/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/integration/test_models/test_submodels/test_external_circuit/test_function_control.py b/tests/integration/test_models/test_submodels/test_external_circuit/test_function_control.py new file mode 100644 index 0000000000..72e950703b --- /dev/null +++ b/tests/integration/test_models/test_submodels/test_external_circuit/test_function_control.py @@ -0,0 +1,193 @@ +# +# Test function control submodel +# +import numpy as np +import pybamm +import unittest + + +class TestFunctionControl(unittest.TestCase): + def test_constant_current(self): + class ConstantCurrent: + num_switches = 0 + + def __call__(self, variables): + I = variables["Current [A]"] + return I + 1 + + # load models + models = [ + pybamm.lithium_ion.SPM(), + pybamm.lithium_ion.SPM({"operating mode": ConstantCurrent()}), + ] + + # load parameter values and process models and geometry + params = [model.default_parameter_values for model in models] + + # First model: 1A charge + params[0]["Current function [A]"] = -1 + params[1]["Current function [A]"] = -1 + + # set parameters and discretise models + for i, model in enumerate(models): + # create geometry + geometry = model.default_geometry + params[i].process_model(model) + params[i].process_geometry(geometry) + mesh = pybamm.Mesh( + geometry, model.default_submesh_types, model.default_var_pts + ) + disc = pybamm.Discretisation(mesh, model.default_spatial_methods) + disc.process_model(model) + + # solve model + solutions = [None] * len(models) + t_eval = np.linspace(0, 1, 100) + for i, model in enumerate(models): + solutions[i] = model.default_solver.solve(model, t_eval) + + pv0 = pybamm.post_process_variables( + models[0].variables, solutions[0].t, solutions[0].y, mesh + ) + pv1 = pybamm.post_process_variables( + models[1].variables, solutions[1].t, solutions[1].y, mesh + ) + np.testing.assert_array_almost_equal( + pv0["Discharge capacity [A.h]"].entries, + pv0["Current [A]"].entries * pv0["Time [h]"].entries, + ) + np.testing.assert_array_almost_equal( + pv0["Terminal voltage [V]"](solutions[0].t), + pv1["Terminal voltage [V]"](solutions[0].t), + ) + + def test_constant_voltage(self): + class ConstantVoltage: + num_switches = 0 + + def __call__(self, variables): + V = variables["Terminal voltage [V]"] + return V - 4.1 + + # load models + models = [ + pybamm.lithium_ion.SPM({"operating mode": "voltage"}), + pybamm.lithium_ion.SPM({"operating mode": ConstantVoltage()}), + ] + + # load parameter values and process models and geometry + params = [model.default_parameter_values for model in models] + + # First model: 4.1V charge + params[0]["Voltage function [V]"] = 4.1 + + # set parameters and discretise models + var = pybamm.standard_spatial_vars + var_pts = {var.x_n: 5, var.x_s: 5, var.x_p: 30, var.r_n: 10, var.r_p: 10} + for i, model in enumerate(models): + # create geometry + geometry = model.default_geometry + params[i].process_model(model) + params[i].process_geometry(geometry) + mesh = pybamm.Mesh(geometry, model.default_submesh_types, var_pts) + disc = pybamm.Discretisation(mesh, model.default_spatial_methods) + disc.process_model(model) + + # solve model + solutions = [None] * len(models) + t_eval = np.linspace(0, 1, 100) + for i, model in enumerate(models): + solutions[i] = model.default_solver.solve(model, t_eval) + + V0 = pybamm.ProcessedVariable( + models[0].variables["Terminal voltage [V]"], + solutions[0].t, + solutions[0].y, + mesh, + ).entries + V1 = pybamm.ProcessedVariable( + models[1].variables["Terminal voltage [V]"], + solutions[1].t, + solutions[1].y, + mesh, + ).entries + np.testing.assert_array_almost_equal(V0, V1) + + I0 = pybamm.ProcessedVariable( + models[0].variables["Current [A]"], solutions[0].t, solutions[0].y, mesh + ).entries + I1 = pybamm.ProcessedVariable( + models[1].variables["Current [A]"], solutions[1].t, solutions[1].y, mesh + ).entries + np.testing.assert_array_almost_equal(abs((I1 - I0) / I0), 0, decimal=1) + + def test_constant_power(self): + class ConstantPower: + num_switches = 0 + + def __call__(self, variables): + I = variables["Current [A]"] + V = variables["Terminal voltage [V]"] + return I * V - 4 + + # load models + models = [ + pybamm.lithium_ion.SPM({"operating mode": "power"}), + pybamm.lithium_ion.SPM({"operating mode": ConstantPower()}), + ] + + # load parameter values and process models and geometry + params = [model.default_parameter_values for model in models] + + # First model: 4W charge + params[0]["Power function [W]"] = 4 + + # set parameters and discretise models + for i, model in enumerate(models): + # create geometry + geometry = model.default_geometry + params[i].process_model(model) + params[i].process_geometry(geometry) + mesh = pybamm.Mesh( + geometry, model.default_submesh_types, model.default_var_pts + ) + disc = pybamm.Discretisation(mesh, model.default_spatial_methods) + disc.process_model(model) + + # solve model + solutions = [None] * len(models) + t_eval = np.linspace(0, 1, 100) + for i, model in enumerate(models): + solutions[i] = model.default_solver.solve(model, t_eval) + + V0 = pybamm.ProcessedVariable( + models[0].variables["Terminal voltage [V]"], + solutions[0].t, + solutions[0].y, + mesh, + ).entries + V1 = pybamm.ProcessedVariable( + models[1].variables["Terminal voltage [V]"], + solutions[1].t, + solutions[1].y, + mesh, + ).entries + np.testing.assert_array_equal(V0, V1) + + I0 = pybamm.ProcessedVariable( + models[0].variables["Current [A]"], solutions[0].t, solutions[0].y, mesh + ).entries + I1 = pybamm.ProcessedVariable( + models[1].variables["Current [A]"], solutions[1].t, solutions[1].y, mesh + ).entries + np.testing.assert_array_equal(I0, I1) + + +if __name__ == "__main__": + print("Add -v for more debug output") + import sys + + if "-v" in sys.argv: + debug = True + pybamm.settings.debug_mode = True + unittest.main() diff --git a/tests/integration/test_quick_plot.py b/tests/integration/test_quick_plot.py index 8b66e3ec14..b509dd67b1 100644 --- a/tests/integration/test_quick_plot.py +++ b/tests/integration/test_quick_plot.py @@ -42,7 +42,7 @@ def test_plot_lithium_ion(self): quick_plot.update(0.01) # Update parameters, solve, plot again - param.update({"Current function": "[zero]"}) + param.update({"Current function [A]": 0}) param.update_model(spm, disc_spm) solution_spm = spm.default_solver.solve(spm, t_eval) quick_plot = pybamm.QuickPlot(spm, mesh, solution_spm) diff --git a/tests/integration/test_solvers/test_idaklu.py b/tests/integration/test_solvers/test_idaklu.py index 260c242f7b..392854890f 100644 --- a/tests/integration/test_solvers/test_idaklu.py +++ b/tests/integration/test_solvers/test_idaklu.py @@ -50,7 +50,7 @@ def test_changing_grid(self): # Calculate time for each solver and each number of grid points var = pybamm.standard_spatial_vars - t_eval = np.linspace(0, 0.17, 100) + t_eval = np.linspace(0, 0.25, 100) for npts in [100, 200]: # discretise var_pts = { diff --git a/tests/unit/test_models/test_full_battery_models/test_base_battery_model.py b/tests/unit/test_models/test_full_battery_models/test_base_battery_model.py index e1d3cfce91..aeda97fc0b 100644 --- a/tests/unit/test_models/test_full_battery_models/test_base_battery_model.py +++ b/tests/unit/test_models/test_full_battery_models/test_base_battery_model.py @@ -122,12 +122,10 @@ def test_bad_options(self): pybamm.BaseBatteryModel({"surface form": "bad surface form"}) with self.assertRaisesRegex(pybamm.OptionError, "particle model"): pybamm.BaseBatteryModel({"particle": "bad particle"}) - with self.assertRaisesRegex(pybamm.OptionError, "option single"): - pybamm.BaseBatteryModel( - {"current collector": "single particle potential pair"} - ) with self.assertRaisesRegex(pybamm.OptionError, "option set external"): pybamm.BaseBatteryModel({"current collector": "set external potential"}) + with self.assertRaisesRegex(pybamm.OptionError, "operating mode"): + pybamm.BaseBatteryModel({"operating mode": "bad operating mode"}) def test_build_twice(self): model = pybamm.lithium_ion.SPM() # need to pick a model to set vars and build diff --git a/tests/unit/test_models/test_full_battery_models/test_lead_acid/test_loqs.py b/tests/unit/test_models/test_full_battery_models/test_lead_acid/test_loqs.py index 83f3ef8571..59697e2b3a 100644 --- a/tests/unit/test_models/test_full_battery_models/test_lead_acid/test_loqs.py +++ b/tests/unit/test_models/test_full_battery_models/test_lead_acid/test_loqs.py @@ -155,6 +155,31 @@ def test_default_geometry(self): self.assertIn("current collector", model.default_geometry) +class TestLeadAcidLOQSExternalCircuits(unittest.TestCase): + def test_well_posed_voltage(self): + options = {"operating mode": "voltage"} + model = pybamm.lead_acid.LOQS(options) + model.check_well_posedness() + + def test_well_posed_power(self): + options = {"operating mode": "power"} + model = pybamm.lead_acid.LOQS(options) + model.check_well_posedness() + + def test_well_posed_function(self): + class ExternalCircuitFunction: + num_switches = 0 + + def __call__(self, variables): + I = variables["Current [A]"] + V = variables["Terminal voltage [V]"] + return V + I - pybamm.FunctionParameter("Function", pybamm.t) + + options = {"operating mode": ExternalCircuitFunction()} + model = pybamm.lead_acid.LOQS(options) + model.check_well_posedness() + + if __name__ == "__main__": print("Add -v for more debug output") import sys diff --git a/tests/unit/test_models/test_full_battery_models/test_lithium_ion/test_spm.py b/tests/unit/test_models/test_full_battery_models/test_lithium_ion/test_spm.py index 3115655336..3df0760bbd 100644 --- a/tests/unit/test_models/test_full_battery_models/test_lithium_ion/test_spm.py +++ b/tests/unit/test_models/test_full_battery_models/test_lithium_ion/test_spm.py @@ -39,20 +39,6 @@ def test_well_posed_2plus1D(self): model = pybamm.lithium_ion.SPM(options) model.check_well_posedness() - options = { - "current collector": "single particle potential pair", - "dimensionality": 1, - } - model = pybamm.lithium_ion.SPM(options) - model.check_well_posedness() - - options = { - "current collector": "single particle potential pair", - "dimensionality": 2, - } - model = pybamm.lithium_ion.SPM(options) - model.check_well_posedness() - options = {"current collector": "set external potential", "dimensionality": 0} with self.assertRaises(NotImplementedError): pybamm.lithium_ion.SPM(options) @@ -192,6 +178,31 @@ def test_particle_fast_diffusion(self): model.check_well_posedness() +class TestSPMExternalCircuits(unittest.TestCase): + def test_well_posed_voltage(self): + options = {"operating mode": "voltage"} + model = pybamm.lithium_ion.SPM(options) + model.check_well_posedness() + + def test_well_posed_power(self): + options = {"operating mode": "power"} + model = pybamm.lithium_ion.SPM(options) + model.check_well_posedness() + + def test_well_posed_function(self): + class ExternalCircuitFunction: + num_switches = 0 + + def __call__(self, variables): + I = variables["Current [A]"] + V = variables["Terminal voltage [V]"] + return V + I - pybamm.FunctionParameter("Function", pybamm.t) + + options = {"operating mode": ExternalCircuitFunction()} + model = pybamm.lithium_ion.SPM(options) + model.check_well_posedness() + + if __name__ == "__main__": print("Add -v for more debug output") import sys diff --git a/tests/unit/test_models/test_full_battery_models/test_lithium_ion/test_spme.py b/tests/unit/test_models/test_full_battery_models/test_lithium_ion/test_spme.py index 8b73fdbffb..fb1e48dac7 100644 --- a/tests/unit/test_models/test_full_battery_models/test_lithium_ion/test_spme.py +++ b/tests/unit/test_models/test_full_battery_models/test_lithium_ion/test_spme.py @@ -34,20 +34,6 @@ def test_well_posed_2plus1D(self): model = pybamm.lithium_ion.SPMe(options) model.check_well_posedness() - options = { - "current collector": "single particle potential pair", - "dimensionality": 1, - } - model = pybamm.lithium_ion.SPMe(options) - model.check_well_posedness() - - options = { - "current collector": "single particle potential pair", - "dimensionality": 2, - } - model = pybamm.lithium_ion.SPMe(options) - model.check_well_posedness() - options = {"bc_options": {"dimensionality": 5}} with self.assertRaises(pybamm.OptionError): model = pybamm.lithium_ion.SPMe(options) diff --git a/tests/unit/test_models/test_submodels/test_current_collector/test_composite_potential_pair.py b/tests/unit/test_models/test_submodels/test_current_collector/test_composite_potential_pair.py index a73bce5bb8..8648edf21c 100644 --- a/tests/unit/test_models/test_submodels/test_current_collector/test_composite_potential_pair.py +++ b/tests/unit/test_models/test_submodels/test_current_collector/test_composite_potential_pair.py @@ -14,7 +14,8 @@ def test_public_functions(self): variables = { "Positive current collector potential": pybamm.PrimaryBroadcast( 0, "current collector" - ) + ), + "Total current density": 0, } std_tests = tests.StandardSubModelTests(submodel, variables) diff --git a/tests/unit/test_models/test_submodels/test_current_collector/test_homogeneous_current_collector.py b/tests/unit/test_models/test_submodels/test_current_collector/test_homogeneous_current_collector.py index 06f13b8c06..7fa012b450 100644 --- a/tests/unit/test_models/test_submodels/test_current_collector/test_homogeneous_current_collector.py +++ b/tests/unit/test_models/test_submodels/test_current_collector/test_homogeneous_current_collector.py @@ -15,7 +15,8 @@ def test_public_functions(self): variables = { "Positive current collector potential": pybamm.PrimaryBroadcast( 0, "current collector" - ) + ), + "Total current density": 0, } std_tests = tests.StandardSubModelTests(submodel, variables) std_tests.test_all() diff --git a/tests/unit/test_models/test_submodels/test_current_collector/test_potential_pair.py b/tests/unit/test_models/test_submodels/test_current_collector/test_potential_pair.py index f1f8d0dffc..e28275ca08 100644 --- a/tests/unit/test_models/test_submodels/test_current_collector/test_potential_pair.py +++ b/tests/unit/test_models/test_submodels/test_current_collector/test_potential_pair.py @@ -13,7 +13,8 @@ def test_public_functions(self): variables = { "Positive current collector potential": pybamm.PrimaryBroadcast( 0, "current collector" - ) + ), + "Total current density": 0, } submodel = pybamm.current_collector.PotentialPair1plus1D(param) std_tests = tests.StandardSubModelTests(submodel, variables) diff --git a/tests/unit/test_models/test_submodels/test_current_collector/test_set_potential_spm_1plus1d.py b/tests/unit/test_models/test_submodels/test_current_collector/test_set_potential_spm_1plus1d.py index f58ed75f1b..5a29752e76 100644 --- a/tests/unit/test_models/test_submodels/test_current_collector/test_set_potential_spm_1plus1d.py +++ b/tests/unit/test_models/test_submodels/test_current_collector/test_set_potential_spm_1plus1d.py @@ -8,7 +8,7 @@ import pybamm.models.submodels.current_collector as cc -class TestSetPotetetialSPM1plus1DModel(unittest.TestCase): +class TestSetPotentialSPM1plus1DModel(unittest.TestCase): def test_public_functions(self): param = pybamm.standard_parameters_lithium_ion submodel = cc.SetPotentialSingleParticle1plus1D(param) @@ -20,7 +20,9 @@ def test_public_functions(self): "X-averaged negative electrode reaction overpotential": val, "X-averaged electrolyte overpotential": val, "X-averaged positive electrode ohmic losses": val, - "X-averaged negative electrode ohmic losses": val + "X-averaged negative electrode ohmic losses": val, + "Total current density": 0, + "Local voltage": val, } std_tests = tests.StandardSubModelTests(submodel, variables) @@ -39,7 +41,9 @@ def test_public_functions(self): "X-averaged negative electrode reaction overpotential": val, "X-averaged electrolyte overpotential": val, "X-averaged positive electrode ohmic losses": val, - "X-averaged negative electrode ohmic losses": val + "X-averaged negative electrode ohmic losses": val, + "Total current density": 0, + "Local voltage": val, } std_tests = tests.StandardSubModelTests(submodel, variables) diff --git a/tests/unit/test_models/test_submodels/test_external_circuit/__init__.py b/tests/unit/test_models/test_submodels/test_external_circuit/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/unit/test_models/test_submodels/test_external_circuit/test_current_control.py b/tests/unit/test_models/test_submodels/test_external_circuit/test_current_control.py new file mode 100644 index 0000000000..c2dc1c19de --- /dev/null +++ b/tests/unit/test_models/test_submodels/test_external_circuit/test_current_control.py @@ -0,0 +1,25 @@ +# +# Test current control submodel +# + +import pybamm +import tests +import unittest + + +class TestCurrentControl(unittest.TestCase): + def test_public_functions(self): + param = pybamm.standard_parameters_lithium_ion + submodel = pybamm.external_circuit.CurrentControl(param) + std_tests = tests.StandardSubModelTests(submodel) + std_tests.test_all() + + +if __name__ == "__main__": + print("Add -v for more debug output") + import sys + + if "-v" in sys.argv: + debug = True + pybamm.settings.debug_mode = True + unittest.main() diff --git a/tests/unit/test_models/test_submodels/test_external_circuit/test_function_control.py b/tests/unit/test_models/test_submodels/test_external_circuit/test_function_control.py new file mode 100644 index 0000000000..ec961b4316 --- /dev/null +++ b/tests/unit/test_models/test_submodels/test_external_circuit/test_function_control.py @@ -0,0 +1,38 @@ +# +# Test function control submodel +# +import pybamm +import tests +import unittest + + +class ExternalCircuitFunction: + num_switches = 0 + + def __call__(self, variables): + I = variables["Current [A]"] + V = variables["Terminal voltage [V]"] + return ( + V + I - pybamm.FunctionParameter("Current plus voltage function", pybamm.t) + ) + + +class TestFunctionControl(unittest.TestCase): + def test_public_functions(self): + param = pybamm.standard_parameters_lithium_ion + submodel = pybamm.external_circuit.FunctionControl( + param, ExternalCircuitFunction() + ) + variables = {"Terminal voltage [V]": pybamm.Scalar(0)} + std_tests = tests.StandardSubModelTests(submodel, variables) + std_tests.test_all() + + +if __name__ == "__main__": + print("Add -v for more debug output") + import sys + + if "-v" in sys.argv: + debug = True + pybamm.settings.debug_mode = True + unittest.main() diff --git a/tests/unit/test_models/test_submodels/test_external_circuit/test_power_control.py b/tests/unit/test_models/test_submodels/test_external_circuit/test_power_control.py new file mode 100644 index 0000000000..414970a815 --- /dev/null +++ b/tests/unit/test_models/test_submodels/test_external_circuit/test_power_control.py @@ -0,0 +1,26 @@ +# +# Test power control submodel +# + +import pybamm +import tests +import unittest + + +class TestPowerControl(unittest.TestCase): + def test_public_functions(self): + param = pybamm.standard_parameters_lithium_ion + submodel = pybamm.external_circuit.PowerFunctionControl(param) + variables = {"Terminal voltage [V]": pybamm.Scalar(0)} + std_tests = tests.StandardSubModelTests(submodel, variables) + std_tests.test_all() + + +if __name__ == "__main__": + print("Add -v for more debug output") + import sys + + if "-v" in sys.argv: + debug = True + pybamm.settings.debug_mode = True + unittest.main() diff --git a/tests/unit/test_parameters/test_current_functions.py b/tests/unit/test_parameters/test_current_functions.py index a87871916b..f70459c5ca 100644 --- a/tests/unit/test_parameters/test_current_functions.py +++ b/tests/unit/test_parameters/test_current_functions.py @@ -15,7 +15,7 @@ def test_constant_current(self): { "Typical current [A]": 2, "Typical timescale [s]": 1, - "Current function": "[constant]", + "Current function [A]": 2, } ) processed_current = parameter_values.process_symbol(current) @@ -28,7 +28,7 @@ def test_get_current_data(self): { "Typical current [A]": 2, "Typical timescale [s]": 1, - "Current function": "[current data]car_current", + "Current function [A]": "[current data]car_current", } ) dimensional_current_eval = parameter_values.process_symbol(dimensional_current) @@ -57,7 +57,7 @@ def current(t): "Typical current [A]": 2, "Typical timescale [s]": 1, "omega": 3, - "Current function": current, + "Current function [A]": current, } ) dimensional_current = pybamm.electrical_parameters.dimensional_current_with_time diff --git a/tests/unit/test_parameters/test_electrical_parameters.py b/tests/unit/test_parameters/test_electrical_parameters.py index 894d08a431..c1aaf9259f 100644 --- a/tests/unit/test_parameters/test_electrical_parameters.py +++ b/tests/unit/test_parameters/test_electrical_parameters.py @@ -24,7 +24,7 @@ def test_current_functions(self): "Number of electrodes connected in parallel to make a cell": 8, "Typical current [A]": 2, "Typical timescale [s]": 60, - "Current function": "[constant]", + "Current function [A]": 2, } ) dimensional_current_eval = parameter_values.process_symbol(dimensional_current) diff --git a/tests/unit/test_parameters/test_parameter_values.py b/tests/unit/test_parameters/test_parameter_values.py index 225303211b..f3e4d678c4 100644 --- a/tests/unit/test_parameters/test_parameter_values.py +++ b/tests/unit/test_parameters/test_parameter_values.py @@ -63,30 +63,48 @@ def test_check_and_update_parameter_values(self): bad_values = {"Typical current [A]": 0} with self.assertRaisesRegex(ValueError, "Typical current"): pybamm.ParameterValues(bad_values) - # same with C-rate - bad_values = {"C-rate": 0} - with self.assertRaisesRegex(ValueError, "C-rate"): - pybamm.ParameterValues(bad_values) - # if both C-rate and current are provided they must match with capacity - bad_values = {"C-rate": 1, "Typical current [A]": 5, "Cell capacity [A.h]": 10} - with self.assertRaisesRegex(ValueError, "do not match"): + # can't provide both C-rate and current function + bad_values = {"C-rate": 1, "Current function [A]": 5} + with self.assertRaisesRegex(ValueError, "Cannot provide both"): pybamm.ParameterValues(bad_values) # if only C-rate and capacity provided, update current values = {"C-rate": 1, "Cell capacity [A.h]": 10} param = pybamm.ParameterValues(values) - self.assertEqual(param["Typical current [A]"], 10) + self.assertEqual(param["Current function [A]"], 10) # if only current and capacity provided, update C-rate - values = {"Typical current [A]": 1, "Cell capacity [A.h]": 10} + values = {"Current function [A]": 1, "Cell capacity [A.h]": 10} param = pybamm.ParameterValues(values) self.assertEqual(param["C-rate"], 1 / 10) - # Test with current function - values = {"Typical current [A]": 1, "Current function": "[constant]"} + # With functions + # if only C-rate and capacity provided, update current + values = {"C-rate": pybamm.sin, "Cell capacity [A.h]": 10} param = pybamm.ParameterValues(values) - self.assertEqual(param["Current function"], 1) - values = {"Typical current [A]": 1, "Current function": "[zero]"} + self.assertEqual(param["Current function [A]"](2).evaluate(), 10 * np.sin(2)) + # if only current and capacity provided, update C-rate + values = {"Current function [A]": pybamm.exp, "Cell capacity [A.h]": 10} + param = pybamm.ParameterValues(values) + self.assertEqual(param["C-rate"](5).evaluate(), np.exp(5) / 10) + + # With data + # if only C-rate and capacity provided, update current + x = np.linspace(0, 10)[:, np.newaxis] + linear = np.hstack([x, 2 * x]) + values = {"C-rate": ("linear", linear), "Cell capacity [A.h]": 10} + param = pybamm.ParameterValues(values) + self.assertEqual(param["Current function [A]"][0], "linear_to_Crate") + np.testing.assert_array_equal( + param["Current function [A]"][1], np.hstack([x, 20 * x]) + ) + # if only current and capacity provided, update C-rate + x = np.linspace(0, 10)[:, np.newaxis] + linear = np.hstack([x, 2 * x]) + values = {"Current function [A]": ("linear", linear), "Cell capacity [A.h]": 10} param = pybamm.ParameterValues(values) - self.assertEqual(param["Current function"], 0) + self.assertEqual(param["C-rate"][0], "linear_to_current") + np.testing.assert_array_almost_equal( + param["C-rate"][1], np.hstack([x, 0.2 * x]) + ) def test_process_symbol(self): parameter_values = pybamm.ParameterValues({"a": 1, "b": 2, "c": 3}) @@ -228,6 +246,11 @@ def test_process_symbol(self): with self.assertRaises(NotImplementedError): parameter_values.process_symbol(sym) + # not found + with self.assertRaises(KeyError): + x = pybamm.Parameter("x") + parameter_values.process_symbol(x) + def test_process_input_parameter(self): parameter_values = pybamm.ParameterValues({"a": "[input]", "b": 3}) # process input parameter @@ -465,6 +488,14 @@ def test_process_model(self): isinstance(model.variables["d_var1"].children[1], pybamm.Variable) ) + # bad boundary conditions + model = pybamm.BaseModel() + model.algebraic = {var1: var1} + x = pybamm.Parameter("x") + model.boundary_conditions = {var1: {"left": (x, "Dirichlet")}} + with self.assertRaises(KeyError): + parameter_values.process_model(model) + def test_process_empty_model(self): model = pybamm.BaseModel() parameter_values = pybamm.ParameterValues({"a": 1, "b": 2, "c": 3, "d": 42}) diff --git a/tests/unit/test_parameters/test_standard_parameters_lead_acid.py b/tests/unit/test_parameters/test_standard_parameters_lead_acid.py index fed248f02f..3aa676eb04 100644 --- a/tests/unit/test_parameters/test_standard_parameters_lead_acid.py +++ b/tests/unit/test_parameters/test_standard_parameters_lead_acid.py @@ -89,7 +89,7 @@ def test_current_functions(self): "Typical electrolyte concentration [mol.m-3]": 1, "Number of electrodes connected in parallel to make a cell": 8, "Typical current [A]": 2, - "Current function": "[constant]", + "Current function [A]": 2, } ) dimensional_current_density_eval = parameter_values.process_symbol( diff --git a/tests/unit/test_parameters/test_update_parameters.py b/tests/unit/test_parameters/test_update_parameters.py index b3e80b7904..693890124c 100644 --- a/tests/unit/test_parameters/test_update_parameters.py +++ b/tests/unit/test_parameters/test_update_parameters.py @@ -52,9 +52,9 @@ def test_update_model(self): parameter_values_update = pybamm.ParameterValues( chemistry=pybamm.parameter_sets.Marquis2019 ) - parameter_values_update.update({"Typical current [A]": 2}) + parameter_values_update.update({"Current function [A]": 1}) modeltest2.test_update_parameters(parameter_values_update) - self.assertEqual(model2.variables["Current [A]"].evaluate(), 2) + self.assertEqual(model2.variables["Current [A]"].evaluate(), 1) modeltest2.test_solving(t_eval=t_eval) Y2 = modeltest2.solution.y @@ -68,7 +68,7 @@ def test_update_model(self): parameter_values_update = pybamm.ParameterValues( chemistry=pybamm.parameter_sets.Marquis2019 ) - parameter_values_update.update({"Current function": "[zero]"}) + parameter_values_update.update({"Current function [A]": 0}) modeltest3.test_update_parameters(parameter_values_update) modeltest3.test_solving(t_eval=t_eval) Y3 = modeltest3.solution.y @@ -96,8 +96,14 @@ def test_update_geometry(self): # test on simple lead-acid model model1 = pybamm.lead_acid.LOQS() modeltest1 = tests.StandardModelTest(model1) + parameter_values = pybamm.ParameterValues( + chemistry=pybamm.parameter_sets.Sulzer2019 + ) + parameter_values.update({"C-rate": 0.05}) t_eval = np.linspace(0, 0.5) - modeltest1.test_all(t_eval=t_eval, skip_output_tests=True) + modeltest1.test_all( + param=parameter_values, t_eval=t_eval, skip_output_tests=True + ) T1, Y1 = modeltest1.solution.t, modeltest1.solution.y @@ -107,6 +113,7 @@ def test_update_geometry(self): ) parameter_values_update.update( { + "C-rate": 0.05, "Negative electrode thickness [m]": 0.0002, "Separator thickness [m]": 0.0003, "Positive electrode thickness [m]": 0.0004, diff --git a/tests/unit/test_simulation.py b/tests/unit/test_simulation.py index e245942ef3..fcfaf2831f 100644 --- a/tests/unit/test_simulation.py +++ b/tests/unit/test_simulation.py @@ -31,7 +31,9 @@ def test_basic_ops(self): self.assertFalse(sim._disc is None) for val in list(sim.built_model.rhs.values()): self.assertFalse(val.has_symbol_of_classes(pybamm.Parameter)) - self.assertTrue(val.has_symbol_of_classes(pybamm.Matrix)) + # skip test for scalar variables (e.g. discharge capacity) + if val.size > 1: + self.assertTrue(val.has_symbol_of_classes(pybamm.Matrix)) sim.reset() sim.set_parameters() @@ -60,7 +62,9 @@ def test_solve(self): self.assertFalse(sim._solution is None) for val in list(sim.built_model.rhs.values()): self.assertFalse(val.has_symbol_of_classes(pybamm.Parameter)) - self.assertTrue(val.has_symbol_of_classes(pybamm.Matrix)) + # skip test for scalar variables (e.g. discharge capacity) + if val.size > 1: + self.assertTrue(val.has_symbol_of_classes(pybamm.Matrix)) sim.reset() self.assertEqual(sim.model_with_set_params, None) @@ -76,7 +80,9 @@ def test_solve(self): sim.solve(check_model=False) for val in list(sim.built_model.rhs.values()): self.assertFalse(val.has_symbol_of_classes(pybamm.Parameter)) - self.assertTrue(val.has_symbol_of_classes(pybamm.Matrix)) + # skip test for scalar variables (e.g. discharge capacity) + if val.size > 1: + self.assertTrue(val.has_symbol_of_classes(pybamm.Matrix)) def test_reuse_commands(self): @@ -185,10 +191,7 @@ def test_get_variable_array(self): self.assertIsInstance(c_e, np.ndarray) def test_set_external_variable(self): - model_options = { - "thermal": "x-lumped", - "external submodels": ["thermal"], - } + model_options = {"thermal": "x-lumped", "external submodels": ["thermal"]} model = pybamm.lithium_ion.SPMe(model_options) sim = pybamm.Simulation(model) @@ -272,17 +275,6 @@ def test_save_load_dae(self): sim_load = pybamm.load_sim("test.pickle") self.assertEqual(sim.model.name, sim_load.model.name) - @unittest.skipIf(not pybamm.have_idaklu(), "idaklu solver is not installed") - def test_save_load_klu(self): - model = pybamm.lead_acid.LOQS({"surface form": "algebraic"}) - model.use_jacobian = True - # with KLU solver - sim = pybamm.Simulation(model, solver=pybamm.IDAKLUSolver()) - sim.solve() - sim.save("test.pickle") - sim_load = pybamm.load_sim("test.pickle") - self.assertEqual(sim.model.name, sim_load.model.name) - def test_set_defaults2(self): model = pybamm.lithium_ion.SPM() diff --git a/tests/unit/test_solvers/test_casadi_solver.py b/tests/unit/test_solvers/test_casadi_solver.py index 74cee9d218..eeb3e54744 100644 --- a/tests/unit/test_solvers/test_casadi_solver.py +++ b/tests/unit/test_solvers/test_casadi_solver.py @@ -6,7 +6,6 @@ import unittest import numpy as np from tests import get_mesh_for_testing, get_discretisation_for_testing -import warnings class TestCasadiSolver(unittest.TestCase): @@ -51,9 +50,6 @@ def test_integrate(self): self.assertEqual(solution.termination, "final time") def test_integrate_failure(self): - # Turn off warnings to ignore sqrt error - warnings.simplefilter("ignore") - t = casadi.MX.sym("t") y = casadi.MX.sym("y") u = casadi.MX.sym("u") @@ -61,7 +57,7 @@ def test_integrate_failure(self): y0 = np.array([1]) t_eval = np.linspace(0, 3, 100) - solver = pybamm.CasadiSolver() + solver = pybamm.CasadiSolver(regularity_check=False) rhs = casadi.Function("rhs", [t, y, u], [sqrt_decay]) # Expect solver to fail when y goes negative with self.assertRaises(pybamm.SolverError): @@ -84,21 +80,16 @@ def test_integrate_failure(self): disc = pybamm.Discretisation(mesh, spatial_methods) disc.process_model(model) # Solve with failure at t=2 - solver = pybamm.CasadiSolver(rtol=1e-8, atol=1e-8, method="idas") t_eval = np.linspace(0, 20, 100) with self.assertRaises(pybamm.SolverError): solver.solve(model, t_eval) # Solve with failure at t=0 model.initial_conditions = {var: 0} disc.process_model(model) - solver = pybamm.CasadiSolver(rtol=1e-8, atol=1e-8, method="idas") t_eval = np.linspace(0, 20, 100) with self.assertRaises(pybamm.SolverError): solver.solve(model, t_eval) - # Turn warnings back on - warnings.simplefilter("default") - def test_bad_mode(self): with self.assertRaisesRegex(ValueError, "invalid mode"): pybamm.CasadiSolver(mode="bad mode")