From b7939897ebcff2281d0bb017186fd4ecf059df93 Mon Sep 17 00:00:00 2001 From: Riccardo Vincenzo Vincelli Date: Tue, 9 Mar 2021 23:52:33 +0100 Subject: [PATCH] Adds the Dynamic NLCB acquisition as an example (#332) * Adds the Dynamic NLCB acquisition as an example * Adds a toy example Co-authored-by: Andrei Paleyes --- .../__init__.py | 1 + .../dnlcb.py | 31 ++ .../emukit_test_brownian.ipynb | 295 ++++++++++++++++++ 3 files changed, 327 insertions(+) create mode 100644 emukit/examples/dynamic_negative_lower_confidence_bound/__init__.py create mode 100644 emukit/examples/dynamic_negative_lower_confidence_bound/dnlcb.py create mode 100644 emukit/examples/dynamic_negative_lower_confidence_bound/emukit_test_brownian.ipynb diff --git a/emukit/examples/dynamic_negative_lower_confidence_bound/__init__.py b/emukit/examples/dynamic_negative_lower_confidence_bound/__init__.py new file mode 100644 index 00000000..7b3f983a --- /dev/null +++ b/emukit/examples/dynamic_negative_lower_confidence_bound/__init__.py @@ -0,0 +1 @@ +from .dnlcb import DynamicNegativeLowerConfidenceBound diff --git a/emukit/examples/dynamic_negative_lower_confidence_bound/dnlcb.py b/emukit/examples/dynamic_negative_lower_confidence_bound/dnlcb.py new file mode 100644 index 00000000..1b77f375 --- /dev/null +++ b/emukit/examples/dynamic_negative_lower_confidence_bound/dnlcb.py @@ -0,0 +1,31 @@ +from emukit.bayesian_optimization.acquisitions import NegativeLowerConfidenceBound +from emukit.core.interfaces import IModel, IDifferentiable +import numpy as np +from typing import Union + +class DynamicNegativeLowerConfidenceBound(NegativeLowerConfidenceBound): + + def __init__(self, model: Union[IModel, IDifferentiable], input_space_size: int, delta: float) -> None: + """ + Dynamic extension of the LCB acquisition. The beta coefficient is updated at each iteration, based on the explorativeness parameter delta which is inversely + proportional to beta itself - the higher the delta the less explorative the selection will be. + Please consider that regret bounds based on the dynamic exploration coefficient only hold for selected kernel classes exhibiting boundedness and smoothness. + See the base class for paper references. + This class may also be taken as a reference for acquisition functions that dynamically update their parameters thanks to the update_parameters() hook; the implicit assumption is that this method is invoked once per iteration (it is no big deal if this is the case for a constant number of times per iteration; should it be more then we are increasing the beta too fast). + :param model: The underlying model that provides the predictive mean and variance for the given test points + :param input_space_size: the size of the finite D grid on which the function is evaluated + :param delta: the exploration parameter determining the beta exploration coefficient; delta must be in (0, 1) and it is inversely related to beta + """ + assert input_space_size > 0, "Invalid dimension provided" + assert 0 < delta < 1, "Delta must be in (0, 1)" + super().__init__(model) + self.input_space_size = input_space_size + self.delta = delta + self.iteration = 0 + + def optimal_beta_selection(self) -> float: + return 2 * np.log(self.input_space_size * (self.iteration ** 2) * (np.pi ** 2) / (6 * self.delta)) + + def update_parameters(self) -> None: + self.iteration += 1 + self.beta = self.optimal_beta_selection() diff --git a/emukit/examples/dynamic_negative_lower_confidence_bound/emukit_test_brownian.ipynb b/emukit/examples/dynamic_negative_lower_confidence_bound/emukit_test_brownian.ipynb new file mode 100644 index 00000000..c57bba7f --- /dev/null +++ b/emukit/examples/dynamic_negative_lower_confidence_bound/emukit_test_brownian.ipynb @@ -0,0 +1,295 @@ +{ + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.9-final" + }, + "orig_nbformat": 2, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.7.9 64-bit ('baytest': conda)", + "metadata": { + "interpreter": { + "hash": "620a8b96af8464f8ed87446bc5a31bf99a00adac64c46ad38827004bcdaad192" + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 2, + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "#Toy example: this does not mean anything really, just write out some random returns series and find the maximum level (this was born as a unit test basically, for the logic of a private application)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "#requires py3.7 scipy==1.1.0 (conda)\n", + "#requires pyDOE (pip)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from dnlcb import DynamicNegativeLowerConfidenceBound\n", + "from emukit.bayesian_optimization.loops import BayesianOptimizationLoop\n", + "from emukit.core import ParameterSpace, ContinuousParameter\n", + "from emukit.core.optimization import RandomSearchAcquisitionOptimizer\n", + "from emukit.model_wrappers import GPyModelWrapper\n", + "from GPy.models import GPRegression\n", + "from GPy.kern.src.brownian import Brownian\n", + "from matplotlib import pyplot as plt\n", + "import numpy as np\n", + "from pandas import Series\n", + "import random" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "#time horizon\n", + "parameter_space = ParameterSpace([ContinuousParameter('days', 0, 251)])" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "#Sample some arithmetic brownian motion, e.g. returns.\n", + "def ABM(\n", + " X0: float = 100,\n", + " T: int = 252,\n", + " n: int = 1,\n", + " alpha: float = 0,\n", + " sigma: float = 100\n", + ") -> Series:\n", + " dt = n/T\n", + " X = Series([X0])\n", + " for i in np.arange(1, T):\n", + " ei = np.random.normal(0, 1)\n", + " X.loc[i] = X.loc[i-1] + alpha*dt + sigma*ei*(dt**0.5)\n", + " return X.to_numpy()\n", + "data = ABM(sigma=100, alpha=200)\n", + "def f(x):\n", + " i=np.round(x).astype(int)\n", + " return -data[i]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Optimization restart 1/1, f = 29.279123124455648\nOptimization restart 1/1, f = 34.93570676177013\nOptimization restart 1/1, f = 39.928979844591495\nOptimization restart 1/1, f = 45.211498792095654\nOptimization restart 1/1, f = 49.95899419722093\nOptimization restart 1/1, f = 54.67035697793573\nOptimization restart 1/1, f = 59.08717104760607\nOptimization restart 1/1, f = 63.53573969652588\nOptimization restart 1/1, f = 67.90604284587715\nOptimization restart 1/1, f = 72.2184584245642\nOptimization restart 1/1, f = 78.60892891690877\nOptimization restart 1/1, f = 82.79609560462131\nOptimization restart 1/1, f = 86.97253786872187\nOptimization restart 1/1, f = 91.18124885762572\nOptimization restart 1/1, f = 95.29960384879091\nOptimization restart 1/1, f = 99.21926591327387\nOptimization restart 1/1, f = 103.90490992142892\nOptimization restart 1/1, f = 108.19709214671423\nOptimization restart 1/1, f = 112.21255762941593\nOptimization restart 1/1, f = 116.40127260736683\nOptimization restart 1/1, f = 120.37509983517089\nOptimization restart 1/1, f = 124.3546016791587\nOptimization restart 1/1, f = 128.72138215792916\nOptimization restart 1/1, f = 141.44564041919244\nOptimization restart 1/1, f = 145.59256106278175\nOptimization restart 1/1, f = 149.6969380588677\nOptimization restart 1/1, f = 153.57041723574153\nOptimization restart 1/1, f = 157.59875678140537\nOptimization restart 1/1, f = 161.67044584726654\nOptimization restart 1/1, f = 166.09463392891794\nOptimization restart 1/1, f = 169.8245222484124\n" + ] + } + ], + "source": [ + "def XY():\n", + " x = np.array(np.array([random.uniform(0, 251)]))\n", + " y = f(x)\n", + " return (x, y)\n", + "\n", + "X = np.zeros(5)\n", + "Y = np.zeros(5)\n", + "for i in range(5):\n", + " x,y = XY()\n", + " X[i] = x\n", + " Y[i] = y\n", + "\n", + "X_init = X[:, None]\n", + "Y_init = Y[:, None]\n", + "\n", + "#Kernel choice: brownian. This kernel is hardly used in applications, the most common non-smooth kernel is a fractional Matérn I guess. Something very inconvenient with a brownian kernel is its not-differentiability, and the fact that it is strictly one-dimensional (at least in its classic definition): this forces you to marginalize on the dimensions, with an overhead linear in the number of dimensions of course.\n", + "#This said it is technically the best assumption if your underlying process does have a brownian nature, like in this example.\n", + "kernel = Brownian(variance=np.var(X_init))\n", + "\n", + "#Negate Y_init results as we are solving the dual problem (see below)\n", + "#Train and wrap the model in Emukit\n", + "model_gpy = GPRegression(X_init,-Y_init,kernel=kernel) \n", + "model_emukit = GPyModelWrapper(model_gpy)\n", + "\n", + "#Attention: DNLCB does *not* have convergence guarantees for non-smooth kernel surfaces (see paper), like a brownian ones; this basically means we have no guarantee to find the optimum no matter the number of iterations. As this is a toy example on a conveniently discretized space it's all good, but with real applications be careful on the acquisition choice.\n", + "#The input space size must be the same as the parameter space range (see above); starting with a low delta.\n", + "dynamic_lcb = DynamicNegativeLowerConfidenceBound(model = model_emukit,input_space_size=252, delta=0.2)\n", + "#A brownian motion is nowhere differentiable so its gradient function https://gpy.readthedocs.io/en/deploy/tuto_creating_new_kernels.html#gradients-x-self-dl-dk-x-x2 is undefined; this also means we cannot use any gradient-based acquisition optimizer\n", + "acquisition_optimizer = RandomSearchAcquisitionOptimizer(parameter_space, 30)\n", + "bayesopt_loop_cust = BayesianOptimizationLoop(\n", + " model = model_emukit,\n", + " space = parameter_space,\n", + " acquisition = dynamic_lcb,acquisition_optimizer=acquisition_optimizer,\n", + " batch_size = 1\n", + ")\n", + "\n", + "def f_opt(x):\n", + " return -f(x)\n", + "bayesopt_loop_cust.run_loop(f_opt, 30)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-02-03T10:57:42.500512\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "image/png": "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iIhUeC7ncMwNxpjckzcaYxKBr4CvLMtyLfXKREREREQuIWcdMf8vlFuW9bZlWdaZjilvlmW1tyxrq2VZOyzLetYeNYiIiIiIlIbzefgzFfjOsixvAMuybrYs66+yKevsCh5AnQR0AKKBnpZlRdurHhERERGRC3EuU1kAMMYMtyzrbmCxZVk5QBpgz1Hq1sAOY8wuAMuyvgDuADbZsSYRERERkRI552BuWVY7oC+QDoQCDxhjtpZVYecgDIgr8n08cHnRAyzLehh4GCAkJITFixeXW3FycUhLS1O/kBOoT0hx1C/kZOoTcrLS6BPnHMyBYcAIY8xSy7IaA19aljXQGPP7BVVQhowxU4GpAPXq1TNt27a1b0HicBYvXoz6hRSlPiHFUb+Qk6lPyMlKo0+cz1SW64v8eYNlWR04virLVRdUQcntA2oU+b56wTYRERERkYvOubxg6HQrsRwA2p3pmDK2EoiyLCvCsiw3oAfwnR3qEBERERG5YOeyKsvvlmX1tyyrZtGNBWH4SsuyZgD3l0l1Z2CMyQOeAH4GNgOzjTEby7sOEREREZHScC5TWbYDNuAby7JCgSTAA3AGfgHeMsasLbMKz8AYMx+Yb49ri4iIiIiUpnMJ5pcZYx62LOshoCYQAmQaY5LKtDIRERERkUvIuUxl+c2yrL+BKsB9QDUgs0yrEhERERG5xJx1xNwYM9iyrDrAIiACuB1oWPCSoRhjzF1lXKOIiIiISIV3TsslGmN2WpZ1gzFm23/bLMvyARqVWWUiIiIiIpeQ81nHfNtJ36cBy0u9IhERERGRS9C5zDEXEREREZEypmAuIiIiIuIAFMxFRERERByAgrmIiIiIiANQMBcRERERcQAK5iIiIiIiDkDBXERERETEASiYi4iIiIg4AAVzEREREREHoGAuIiIiIuIAFMxFRERERByAgrmIiIiIiANQMBcRERERcQAK5iIiIiIiDkDBXERERETEASiYi4iIiIg4AAVzEREREREHoGAuIiIiIuIAFMxFRERERByAgrmIiIiIiANQMBcRERERcQAK5iIiIiIiDkDBXERERETEASiYi4iIiIg4AAVzEREREREHoGAuIiIiIuIAFMxFRERERByAgrmIiIiIiANQMBcRERERcQAK5iIiIiIiDkDBXERERETEASiYi4iIiIg4AAVzEREREREHoGAuIiIiIuIAFMxFRERERByAgrmIiIiIiANQMBcRERERcQAK5iIiIiIiDkDBXERERETEASiYi4iIiIg4AAVzEREREREHoGBejo4dO8bGjRsxxti7FBERERFxMArm5eT777+nbt26NGrUiLCwMB588EHmzZunkC4iIiIiwCUazHfs2EF6enqZtP3XX3/xwAMP8Pbbb7N+/XoyMjLo378/t99+O9WrV2fKlCn873//46uvvqJz5848+OCD5OXllUktIiIiInLxsHswtyzrTsuyNlqWlW9ZVquT9j1nWdYOy7K2WpZ1c5Ht7Qu27bAs69nzud7XX39NgwYN6NWrV2ndAgDGGCZNmkTbtm354osveOqpp2jatCkBAQFMnDiRp556iuXLl9OvXz9mz57N4cOHGTlyJB9//DHdunUjKyurVOsRERERkYuL3YM5EAN0AZYU3WhZVjTQA2gItAcmW5blbFmWMzAJ6ABEAz0Ljj2rr776irvuugtvb2+++eYb1qxZc8bjJ06cyPvvv3/W6SaZmZn06dOHJ554gvbt23PgwAH27NnD9OnT6du3LwsWLGDChAm4u7sXnuPq6soLL7zAO++8w7fffkv79u1JTk4+l9sQERERkQrI7sHcGLPZGLO1mF13AF8YY7KNMbuBHUDrgq8dxphdxpgc4IuCY88oNTWVHj160Lp1a2JiYggMDGTUqFGnPT4uLo6nnnqKfv360a1bt9OG5pSUFNq1a8eMGTMYNWoU3377Lf7+/tSsWZP777+fSZMm0b59+9Nep3///syaNYu//vqLfv36ne02RERERKSCsnswP4MwIK7I9/EF2063/YwOHDhA69atWbBgAdWrV2fw4MH88MMPrFixotjj/xspf+655/juu+9o2bIla9euPeGYlJQUbr75ZlauXMmcOXMYPXo0Tk7n/1d699138+yzz/LFF1+wevXq8z5fRERERC5+LuVxEcuyFgJVi9k1zBjzbRle92HgYQAPDw+ef/75wukrzZo1w8/Pj/79+zN27NgTzsvJyWHSpElceeWV3HTTTYSGhvLiiy/SqlUrrr76arp160ZERARDhw5l69atjBo1ikqVKrF48eIS13rFFVfg5+fHI488wrhx40rcjpyftLS0C/r3JhWP+oQUR/1CTqY+IScrlT5hjHGIL2Ax0KrI988BzxX5/mfgyoKvn0933Om+6tata042duxYA5i//vrrhO2ffPKJAcyvv/5auO3QoUNm6NChJiAgwAAmICDAuLi4mK+//vqUdktqwoQJBjC//PJLqbUpZ7Zo0SJ7lyAORn1CiqN+ISdTn5CTFe0TwCpTgjzsyFNZvgN6WJblbllWBBAFrABWAlGWZUVYluXG8QdEvyvJBR5//HEqV67MM888Q3Z2duH2iRMnUq9ePdq1a1e4LSQkhLFjxxIXF8ekSZNo2LAhc+fOpXPnzhdwiyd69NFHqVWrFs8++yz5+fml1q6IiIiIOD67B3PLsjpblhXP8ZHwHy3L+hnAGLMRmA1sAn4CHjfG2IwxecATHB9B3wzMLjj2vHl7ezN27FiWLl1K+/btSUpKYuXKlfzzzz888cQTWJZ1yjk+Pj489thjLF26lDvuOOszp+fF3d2dF198kTVr1jBnzpxSbVtEREREHFu5zDE/E2PMN8A3p9n3CvBKMdvnA/NL4/q9e/fG1dWVPn360KZNG8LDw/Hx8eG+++4rjebP2z333MO4ceMYMWIEd955Z4keJhURERGRi49SH8fD8E8//UR8fDzz58/n/vvvx8/Pzy61ODs788wzz7B9+3aWLl1qlxpEREREpPwpmBe4/vrrWbp0KXfeeSdDhgyxay2dOnXC29ubmTNn2rUOERERESk/CuZFNG7cmNmzZ1OrVi271uHt7U23bt2YM2cOmZmZdq1FRERERMqHgrmD6tWrFykpKXz3XYkWnBERERGRi4yCuYNq27YtYWFhfPLJJ/YuRURERETKgYK5g3J2dubee+/lp59+4tChQ/YuR0RERETKmIK5A+vVqxc2m43PP//c3qWIiIiISBlTMHdgDRs2pEWLFprOIiIiInIJUDB3cL169WL16tX8+OOP9i5FRERERMqQgrmDu++++6hXrx633norDz/8MMnJyfYuSURERETKgIK5gwsKCmLt2rUMGTKEjz76iIYNG/Lee++xd+9ee5cmIiIiIqVIwfwi4Onpyeuvv87y5csJDg7m0UcfpVatWjRo0IC7776b66+/njp16uDr66spLyIiIiIXKQXzi8hll13GunXr2LhxI+PHj6dWrVr89ddfZGdn07p1a1xcXPjss8/sXaaIiIiIlICLvQuQ82NZFtHR0URHR/P000+fsO++++7jxx9/xGaz4ezsbKcKRURERKQkNGJegXTo0IHExERWrlxp71JERERE5DwpmFcgN910E05OTixYsMDepYiIiIjIeVIwr0CCg4Np3bq1grmIiIjIRUjBvILp2LEjq1at4vDhw/YuRURERETOg4J5BdOhQweMMfz8888X3NbatWvZt29fKVQlIiIiImejYF7BtGjRgsqVKzN//vwLamfPnj1ceeWVNG/enH/++aeUqhMRERGR01Ewr2CcnJy4+eab+fnnn7HZbCVuZ9iwYViWhY+PD9dddx3z5s0rvSJFRERE5BQK5hXQhS6buGrVKmbNmsXAgQNZvnw5TZo0oUuXLrzzzjunHJuenk779u159tlnL7RsERERkUuagnkF9N+yiZ999hk7d+7k6NGj5OXlndO5xhiGDBlCSEgIzzzzDJUrV+b333/njjvu4Mknn2TMmDGFx9psNnr27MnPP//MhAkT9MCpiIiIyAVQMK+AgoODadOmDe+++y6RkZFUqlSJ4OBgvvjii7Oe++OPP7J48WJGjRqFn58fAF5eXsyZM4d77rmHYcOG8cILL2CMYcCAAXz//fc8/fTT5OTk8OGHH5b1rYmIiIhUWC72LkDKxpdffsmKFStISkoiOTmZL7/8kp49e7JixQrGjh2Lq6vrKefk5eUxdOhQ6taty8MPP3zCPhcXF2bMmIGrqyujR49m0aJF/PHHHwwdOpSxY8eyfv16pkyZwpAhQ3BxUbcSEREROV9KUBVUaGgod9xxR+H3jz76KIMHD2bChAmsXr2aL774gtDQ0ML9ubm59O7dm82bNzNv3rxig7uzszMfffQRLi4ufPjhh/To0YNXX30VgCeeeILOnTvz/fff07lz57K/QREREZEKRlNZLhGurq68/fbbfPrpp6xcuZKGDRvy6aefYowhMzOTLl268Nlnn/Hqq6+eEOhP5uTkxPvvv8/ixYuZMWMGTk7Hu9Ctt95KjRo1mDRpUnndkoiIiEiFomB+ibnnnntYu3YtDRo0oFevXtxxxx106NCBH3/8kSlTppzT6ipOTk5ce+21uLm5FW5zcXHh0Ucf5bfffmPz5s1leQsiIiIiFZKC+SWoXr16LFmyhPHjx/Prr7/y119/MWvWLPr163dB7T700EO4ublp1FxERESkBDTH/BLl7OzM008/TadOnUhKSqJ58+YX3GZISAh33XUXH330EYGBgTz++ONUrVq1FKoVERERqfg0Yn6Ji4iIKJVQ/p8xY8Zw880388orr1CrVi0efPBBjh49Wmrti4iIiFRUGjGXUlW9enXmzZvHtm3beOuttwrXNv/oo4/sXJmIiIiIY9OIuZSJunXrMnnyZB577DFmzJjBjh077F2SiIiIiENTMJcy9eyzz+Lm5sYLL7xg71JEREREHJqCuZSpqlWr8sQTTzBr1iwtoygiIiJyBgrmUuaGDh2Kt7c3o0ePtncpIiIiIg5LwVzKXKVKlXjyySeZPXs269evt3c5IiIiIg5JwVzKxaBBg/Dz8+PBBx9k06ZN9i5HRERExOEomEu5CAwM5IMPPmDHjh00adKEAQMGkJiYaO+yRERERByGgrmUm+7du7N9+3YefvhhJk2aRP369YmLi7N3WSIiIiIOQcFcylWlSpWYPHkyK1asIDk5WcsoioiIiBRQMBe7aNmyJY8++igff/wxW7duPWGfMYasrCw7VSYiIiJiHwrmYjfPP/88np6ejBgxonBbRkYG119/Pc2bNycnJ8eO1YmIiIiULwVzsZvKlSszaNAg5syZw+rVq8nOzqZz584sXryYLVu28Mknn9i7RBEREZFyo2AudjVo0CCCg4N59tln6dmzJ7/88gsfffQRrVq1YsyYMeTl5dm7RBEREZFyoWAuduXn58fzzz/PwoUL+eabb3j77bd54IEHGDFiBLt27eKzzz6zd4kiIiIi5ULBXOzuscceo127dowbN44BAwYAcNttt9G0aVNeeeUVbDabnSsUERERKXsK5mJ3Hh4eLFy4kEGDBhVusyyL4cOHs23bNubMmWPH6kRERETKh4K5OKwuXboQHR3NSy+9RH5+vt3qSE5OZs6cOXz66adkZmaesC8vL4+ffvqJ77//nt27d9u1ThEREbm4KZiLw3JycmLkyJFs2rSJDh06lOtbQo0xvP/++1x33XVUqlSJ7t2706tXL2rWrMmIESOIiYlhzJgx1K5dmw4dOnD77bdTu3Zt/Pz86NSp0ykBXkRERORs7B7MLct6w7KsLZZlrbcs6xvLsgKK7HvOsqwdlmVttSzr5iLb2xds22FZ1rN2KVzKRffu3Zk0aRJLly6lcePGTJ8+HWNMmV4zOzubXr160a9fP44cOcLgwYP5888/WbRoEW3atOGVV16hcePGDBs2jLp16/LVV1+xbNkypk6dSq9evfj222/p379/mdYoIiIiFY+LvQsAfgWeM8bkWZY1FngOeMayrGigB9AQqAYstCyrbsE5k4AbgXhgpWVZ3xljNtmhdiljlmXx2GOPcfPNN9OnTx/69OnDSy+9xJVXXsnll19O9erV2b59O1u2bCEuLo5x48bRtGnTEl8vMTGRzp07s2TJEl5++WWef/55LMsq3N+2bVu2b9/OggULuOmmm6hfv37hviuvvBKAoKAgxowZw9VXX839999f8psXERGRS4rdg7kx5pci3y4HuhX8+Q7gC2NMNrDbsqwdQOuCfTuMMbsALMv6ouBYBfMKrE6dOixevJhp06Yxf/58Fi1axKxZswr3h4aGkpGRwV133cXq1avx9vY+r/aNMfz+++88/vjj7N69m88++4yePXsWe2xUVBRRUVGnbeuFF15g2bJlPProo7Ro0YLGjRufVy0iIiJyabLKelrA+bAs63vgS2PMp5ZlTQSWG2M+Ldj3EbCg4ND2xpiHCrb3Ai43xjxRTHsPAw8DhISEtJw9e3Z53IaUk8OHD5OYmEhYWBg+Pj6sWbOGwYMH07FjRwYPHnxObRw9epTly5fz1VdfsXv3bgIDAxk9ejRNmjS5oNoSExPp27cv3t7edOnSBWMM+fn5REdH06BBgxOONcawbds2wsPDcXd3v6DryoVLS0vDx8fH3mWIg1G/kJOpT8jJivaJ6667brUxptX5tlEuI+aWZS0Eqhaza5gx5tuCY4YBecCsYo4rEWPMVGAqQL169Uzbtm1Lq2lxQG3btuXw4cO89tpr9OnTh65du5722P379zN58mTeffddUlJSaNq0KR9//DE9evTAw8OjVOoJDg6mQ4cOvP322yds79evH6+99hr+/v5s376dAQMG8NNPP3HllVfy448/EhgYWCrXl5JZvHgx+lkhJ1O/kJOpT8jJSqNPlEswN8bccKb9lmX1Bm4F2pn/H8LfB9Qoclj1gm2cYbtc4l588UV+++03+vbtS2RkJH5+fuTm5pKSksKOHTvYtm0b//77L9999x02m402bdrw8ssvc80115wwl7w0XHvttRw6dIiMjAycnJzIy8vjjTfe4K233uLbb7/ljjvuYNq0abi7u9O/f3/ef/99rr32Wn755ReqVi3u91gRERGpyOw+x9yyrPbAUOBaY0xGkV3fAZ9ZljWe4w9/RgErAAuIsiwrguOBvAdwd/lWLY7K1dWVzz77jGbNmtGsWbNij6lZsyb9+/fniSeeYO/evVx77bVlVo+Pj88JH3W++eab9OzZk759+/Lee+/Rq1cvXn/9dapWrcrtt99Op06d+N///sevv/5KREREqdQwd+5cvv32W95//328vLxKpU0REREpfXYP5sBEwB34tWDEcrkxpp8xZqNlWbM5/lBnHvC4McYGYFnWE8DPgDMwzRiz0T6liyOKjIzk77//Zvny5bi6uuLq6oq3tzeRkZHUqVMHT0/PwmP37t1b7vW1atWKlStXEh8fT3h4eOH2G264gYULF9KxY0euvPJKvv32Wy6//PILutavv/5Kz549ycvLwxjDJ598UuqfDIiIiEjpsHswN8ZEnmHfK8ArxWyfD8wvy7rk4ta4cWOHXg3FxcXlhFD+nyuuuIKlS5dy66230rZt28J57yWxdu1aunTpQoMGDejYsSNjx46lZcuWPP300xdYvYiIiJQFuwdzETlRdHQ0//zzD126dKFnz55s2bKFUaNGnddId2xsLB07diQwMJAFCxYQGhrK1q1bGTJkCE2bNuX6668vwzsQERGRkrD7mz9F5FQhISEsXLiQ+++/nxdeeIGePXuSmZl5TudmZWVx6623kpWVxU8//URYWBhOTk7MnDmTunXr0r17d+Li4sr4DkREROR8KZiLOCh3d3c+/vhjXnvtNWbPnk3btm05cODAWc976aWX2LhxI59//jnR0dGF2319fZk3bx6ZmZkMHDiwLEsXERGRElAwF3FglmXxzDPP8PXXXxMTE0Pr1q35999/T3v8mjVrGDt2LH369KF9+/an7K9bty7PPPMMc+fO5Y8//ijL0kVEROQ8KZiLXAQ6derEX3/9BcD//vc/5s8/9dnnnJwc+vTpQ+XKlXnzzTdP29bgwYOpWbMmTz75JDabrcxqFhERkfOjYC5ykWjWrBn//PMPUVFR3HbbbUyZMuWE/WPHjmX9+vW89957Z3x7qJeXF6+//jr//vsv06ZNK+uyRURE5BxpVRaRi0i1atVYsmQJPXr04LHHHuO7774jPz+fQ4cOERMTQ8+ePbn99tvP2k737t2ZOHEiw4YNo3v37vj7+5dD9SIiInImGjEXucj4+Pgwb948Bg0axPbt20lKSqJ69eo8+uijTJw48ZzasCyLt956iyNHjvDKK6e8KkBERETsQCPmIhchFxcXxo0bx7hx40rcRsuWLbn77ruZPHkyzz//PAEBAaVXoIiIiJw3jZiLXMIGDRpEeno6H374ob1LERERueQpmItcwpo3b07btm155513yMvLs3c5IiIilzQFc5FL3MCBA4mLi+Orr76ydykiIiKXNAVzkUvcLbfcQlRUFOPHj8cYU+wxxpjTrnm+ePFi4uLiyrJEERGRS4KCucglzsnJiaeeeooVK1bw999/n7LfZrNx22230bJlS5KTk0/Yt2DBAq677jpatWrF6tWry6tkERGRCknBXES4//77CQwMZPz48afsGzFiBD/++CMbNmygR48ehSPne/fu5d5776Vhw4Z4enrStm1bfv311/IuXUREpMJQMBcRvL29eeSRR/j6668ZPXp04YOg3377La+++ioPP/wwkydP5qeffuKZZ54hJyeH7t27k5ubyzfffMOyZcuoXbs2HTt25LPPPrPz3YiIiFyctI65iAAwfPhw9u3bxwsvvMAvv/zC6NGjue+++2jVqhVvv/02Hh4exMTE8Oabb/L333/zzz//MGfOHKKiogBYsmQJnTp14t577yU9PZ2+ffva+Y5EREQuLhoxFxHg+Kj5zJkz+eyzz9i0aRM333wzLi4uzJ07Fw8PDwAmTJjADTfcwLJlyxgwYADdunUrPN/f35/58+fTvn17Hn744XN+C6mIiIgcp2AuIifo2bMn//77L7169eLrr7+mVq1ahftcXFyYM2cO06ZN44033jjlXE9PT7755hvuuOMO+vfvz5tvvlmepYuIiFzUNJVFRE5Rq1YtZs6cWey+gIAA+vTpc9pz3d3dmTNnDvfeey+DBw8mKyuLYcOGlVWpIiIiFYZGzEWk1Lm6ujJr1ix69erF8OHDGTFixAlrpBtjyM/PP2s7W7duZeDAgWRmZpZluSIiIg5BI+YiUiZcXFz4+OOPcXd35+WXXyY7O5t+/frx+eef89lnn3HkyBH++ecfwsPDiz3fGMOjjz7KokWLCAkJ4bnnnivfGxARESlnGjEXkTLj7OzM+++/z+OPP84bb7xBnTp1GD58OEFBQWRlZdG9e3eys7OLPXfhwoUsWrSISpUqMWbMGBISEsq5ehERkfKlYC4iZcrJyYl3332X8ePHM3bsWPbs2cOff/7J9OnTWblyJYMHDz7lHGMMzz33HLVq1eL3338nKyuLkSNH2qF6ERGR8qOp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cuVKPD09L7iGadOmYbPZ6NevX4nbsCyLiRMn8vvvv/Pggw+yfPlyPQwqJ3CydwEiImJ/7u7uREdHExgYWOarw0yePJk5c+bg7+/PI488Qu3atVm3bl2ZXlMubhMmTCA8PJx169aRnp7Onj17ig3l/6lUqRIzZsxg48aN3Hnnnezfv/+Crm+z2Zg6dSo33ngjkZGRF9RWcHAwkyZNYvXq1YwfP/6C2pKKR8FcRETKlbOzM926dWPFihX89ttvODk5cccdd3Do0CF7lyYOaMuWLSxatIhHHnmEpk2bnvObeG+66SbefvttfvvtN+rXr8+7776LzWYrUQ0LFiwgLi7ugkbLi+ratSudO3dm1KhRbNu2rVTalIpBwVxEROzCsiyuv/56vv32Ww4fPkyXLl3Izs4Gjj//9O233zJ58mQ7VymlYefOneTm5pbo3Pfffx9XV1f69Olz3ucOGDCAmJgYrrrqKgYMGECjRo144okn+OSTT9ixY8d51VC1alVuu+22866hOJZlMWnSJDw8POjbty/HpySLKJiLiIidtWzZkunTp/PXX3/x2GOP8eeff9KmTRs6derE448/zqJFi+xdolyAadOmERkZSf369fn444/PK6BnZGQwffp0unTpQpUqVUp0/Tp16rBgwQJmz55N1apVmTFjBvfddx9RUVF8/PHHZz1/z549/Pjjjzz00EO4urqWqIbihIaG8uqrr7JkyRJ+//33UmtXLm4K5iIiYnfdu3dnxIgRTJs2jWuuuYY9e/bw3nvvUbNmTYYOHUp+fr69S5QS+O677+jbty9XX301gYGBPPDAA9SvX5/nn3+e8ePHM2PGDL7//nuWLVvGli1bOHLkyAnnz549m6SkJB599NELqsOyLO68804WLVpEUlISGzZs4IorruC5554jLS3tjOd++OGHWJZF3759L6iG4vTp04cqVaowYcKEUm9bLk56FFhERBzC6NGjycvLIyAggCeeeAIvLy88PT25//77mTNnDnfddZe9S5Tz8Oeff3LXXXfRqlUr5s+fj7e3Nz/88AMvvfQSY8eOPe0vWx07dmTKlCnUrFmTKVOm0KBBA6655ppSq8vZ2ZlGjRrx5ptv0qZNGyZMmMCIESOKPTYjI4MPP/yQjh07UrNmzVKr4T/u7u489thjjBo1ii1btlC/fv1Sv4ZcXDRiLiIiDsHJyYkxY8YwdOjQwgf87rnnHpo0acLzzz9PTk6OnSuUcxUTE8Ntt91GrVq1+PHHH/Hx8cGyLG677TZWrFhBbm4uSUlJ7Ny5k5UrV/Lzzz/z2WefMWrUKP744w+io6MZNGgQK1asoF+/fmWyUtBVV11F586def311zl8+HCxx7z00kscPHiQoUOHlvr1//Poo4/i7u7OW2+9VWbXkIuHgrmIiDgsZ2dnxo4dy65du3j//fftXY6cg5SUFDp37oyXlxe//PILlSpVOuUYJycn/P39qV27Nq1ateKmm26iZ8+ejB49mpiYGK6++mrGjx+Pp6cn9913X5nV+uqrr5KZmVnsG25jYmIYN24cDzzwAFdffXWZ1RASEsJ9993HjBkzTpnKI5ceTWURERGHdvPNN3P99dfz4osvkp6ezuHDhzly5AguLi5UrlyZypUrExkZSceOHXF2drZ3uZc0YwwPPfQQu3fvZtGiRSWa/hEeHs78+fP56quvcHJyIiAgoPQLLVCvXj0efPBB3nvvPZ588knq1KkDQH5+Po888ggBAQG8/vrrZXb9/zz11FN88MEHvPfeewwfPrzMryeOS8FcREQcmmVZvP7664UP63l7exMcHIzNZuPQoUOFq3zUrVuXkSNH0qNHDwV0jofkjz76CE9PT+65554zHjtv3jz279/Po48+ekHTRiZNmsScOXMYO3bsBY0yW5ZFt27dSnz++Rg9ejSffvopd955J6NGjeLWW2/lo48+YtmyZUyfPp3g4OAyryE6Opr27dszceJEhgwZgru7e5lfUxyT3aeyWJb1kmVZ6y3LWmdZ1i+WZVUr2G5ZlvWOZVk7Cva3KHLO/ZZlbS/4ut9+1YuISHlo2bIlR48eJSMjg7S0NPbs2UN8fDzZ2dkkJiYyd+5cPDw8uPfee2nYsCGLFy+2d8l2lZKSwp133knfvn2599576du3L1lZWcUeu3jxYu68804ef/xxnn766RKvqb1y5UoGDhzIrbfeyuDBgy+k/HIVGhrKtGnTOHLkCJ06dSIyMpKhQ4fStm3bMp1Gc7KBAweSkJBAdHQ0ffv25dNPPz3t3HepuOwezIE3jDFNjDHNgB+AkQXbOwBRBV8PA1MALMsKAkYBlwOtgVGWZQWWd9EiIlK+/Pz88PT0PGGbZVkEBgbStWtX1q5dy1dffYUxhnbt2vHGG2+cc8jMyMjgwIEDZVF2uduwYQOtWrVi3rx5vPHGGwwbNowPP/yQa6+9lri4uBOO3b17N926dSMyMpLHH3+ct99+m759+57XGzLz8/P5+OOP6dChA6GhocyYMQMnJ0eIF+furrvuYteuXcydO5datWphjOG9994rk4dOT+eGG27go48+omHDhsydO5devXpRo0YN+vbty+bNm8utDrEzY4zDfAHPAVMK/vw+0LPIvq1AKNATeL/I9hOOO91X3bp1jcjJFi1aZO8SxMGoT1z8UlJSTLdu3QxgunbtalJSUs54fFZWlmnVqpUJDAw0hw8fLvaYi6VfbNu2zXh5eZnQ0FCzZMmSwu1ff/218fX1NYGBgebZZ581sbGxJiUlxTRq1MgEBASYbdu2mfz8fDNixAgDmB49epjs7OyzXm/9+vWmTZs2BjBt2rQxW7ZsKcvbKzf5+flnPaYs+0ReXp5ZtWqV6devn/Hw8DCA6dixo/nhhx9MXl5emV1XLkzRPgGsMiXIwg7xK61lWa9YlhUH3MP/j5iHAUV/tY8v2Ha67SIiIvj6+jJ79mzGjRvHvHnzCqcmbN26tdjjhw4dyqpVq0hOTmbUqFHlXG3peu6553BycmLFihUnzPHu3LkzK1as4JprruH111+ndu3aNG3alE2bNjF79myioqKwLIsXX3yRsWPH8sUXX9C+fXuOHTt2yjWOHj3KBx98wA033ECzZs3YsmUL06ZNY8mSJdSrV688b7fMlOdIeXGcnZ1p2bIlU6ZMYe/evbzwwgusXr2aW2+9ldq1a/Pyyy8TExOjF29VQJYp4Vyy87qIZS0Eqhaza5gx5tsixz0HeBhjRlmW9QPwmjFmacG+34BngLYFx7xcsH0EkGmMGVfMdR/m+DQYQkJCWs6ePbt0b0wuemlpafj4+Ni7DHEg6hMVS0xMDF9++SXLli0jPz+fJk2a8NBDD9G4cWMAlixZwqhRo+jWrRt5eXl89913fPjhh0RERJzQzsXQL2JiYujfvz99+vQ549zogwcP8sMPP7Bw4UJ69OhBp06dTjnm119/5fXXX6datWq8+uqrVKlShZUrV/LDDz+wfPlybDYb1atX57rrrqNr1674+/uX4Z05pvLuE3l5efz111989913rFmzBgBvb2+io6Np0KABtWvXJiIigrCwMD38bCdF+8R111232hjT6rwbKckwe1l9ATWBGKOpLFJOLpaPp6X8qE9UTAcOHDBjx441YWFhBjD33HOP+fPPP42/v7+57LLLTHZ2tjly5IgJDAw0N9xwwylTGYrrFxs2bDC1a9c2Xbp0MV999ZXJzMwsp7s5VX5+vrnqqqtMaGioSUtLK5U2//jjDxMUFGQqVapkatSoYQBTuXJlM3jwYLNmzZpzmu5RkdnzZ0VsbKyZMWOGeeSRR0yjRo2Mk5OTAQxggoKCzNq1a+1W26WsQkxlsSwrqsi3dwBbCv78HXBfweosVwDJxpgDwM/ATZZlBRY89HlTwTYREZFiVa1atXA6y7Bhw5g7dy5XX301lmXx5Zdf4ubmRnBwMKNHj2bhwoV8//33Z2wvOTmZzp07k5yczF9//UXXrl2pWrUqb775Zjnd0Ym++eYbli1bxosvvoi3t3eptHnNNdfw999/U6NGDRo0aMDcuXOJi4vjjTfeoHnz5naf7nEpq1WrFvfddx/vvfceGzZsIC0tjdWrVzN9+nRcXFx45JFHzusBXke3ceNGPvvss0vjBUwlSfOl+QV8BcQA64HvgbCC7RYwCdgJbABaFTnnAWBHwVefc7mORsylOBodlZOpT1wadu7cafr27Wt+/fXXE7bn5OSYBg0amNq1a5uXXnrJPPnkk+bee+81Tz/9dOFDdzabzdx+++3GxcXF/PnnnyY3N9f88ssvpkOHDgYwc+fOLfP6ly9fbr744guzbt06k5KSYqKiokzDhg1Nbm5umV9bjnPUnxWffPKJAcyUKVPsXYoxxph9+/aZzp07m3379p3XeZmZmWbmzJmFDxcDxsXFxXTs2NF8+umnDvkQbGmMmNs9mJfXl4K5FMdRf7CK/ahPyC+//GIsyzKA8fPzM6GhoQYwzZs3N8uWLTMvv/yyAczbb799wnlZWVnm8ssvNz4+Pmbjxo1lWp+zs3NhWPnv64cffiiza8qpHPVnRX5+vrnuuuuMv7+/OXjwoL3LMW+88YYBTP/+/c/5nNzcXNOqVSsDmKioKPPGG2+YZcuWmWeeeaZwWtWoUaPKrugSUjBXMJcL5Kg/WMV+1CfEGGOSk5MLlwv8bxnB/+anW5Zl7r777mLnWMfFxZnKlSubunXrmqSkpFKva/Pmzcbf3980atTIrFy50nzxxRdm9OjRZuzYsZf8nO/y5sg/KzZv3mxcXV3Nvffea+9STNu2bQ1gPDw8zvkXhfHjxxvAfPjhh6f0a5vNZjp37mz8/PxMYmJiWZRcYhVijrmIiIij8fPzw83NDTi+dN7111/Pli1beOaZZ7j99tuZOnVqsXOsq1evzpw5c9i1axf33Xff8RGwEjh8+DCvv/46AwcOZMWKFRhjSExM5LbbbsPNzY3vv/+eVq1acddddzFq1CiGDh2qOd9SqH79+gwdOpRPP/2USZMm2e3lWcnJySxdupSuXbuSk5PD+PHjz3rOvn37GDlyJB07duSBBx44pV87OTkxevRoUlJSeOutt8qocjsqSZq/GL80Yi7FceQRD7EP9Qkpzvn2iwkTJhjAzJw587zOW7Fihbn77ruNm5ubAQr/GR0dbVq2bGnc3NzM0qVLz6tNKRuO/rMiIyPDNG7cuHCqU/369c2QIUPM0aNHy62GuXPnGsAsWbLE9OjRw/j4+Jz1+nfddZfx8PAwO3fuPONxXbt2dbhRc42Yi4iIOKABAwZw+eWXM3jw4FNe0jNx4kSGDx9OXl7eCdu/++47rrzySn788Uf69evHxo0bOXToEFOnTsXf3581a9YwdepU2rRpU563IhcpT09P1q5dy8qVK3n99dcJDw/nzTffJCoqismTJ5/S/8rC/Pnz8ff358orr+T5558nLS2Nd99997TH//rrr3z55Zc8//zz1K5d+4xtjxw5smKOmpckzV+MXxoxl+I4+oiHlD/1CSlOSfrFmjVrjJOTk3n00UcLt02ZMqVwBLNTp04mIyPDmP9r7+5joyzXPI7/rkPXQRbBFpAWOLFIKsimykuhiCtSgq4HldGYQBuyRWI8Ii/W5MRwdhHQrSb7hy5go6AnCjQeKScISAO6u1LQGK3yKi+HQImwCrYYtWnZLJZAr/1jhm5bOqy0085j5/tJmk7vmWfmmnJx95dn7rnH3T/66CMPhUI+fvz4mGvT47U/OeLj1zhXHDx40PPy8lySZ2dn+4EDB656+zNnznh+fr5/8cUX1/xYjY2Nnp6e7jNmzGgaC4fDnpqa6vX19Vfc/ty5c56VleVZWVm/+DMBHn30Ue/bt6/X1tZec32dgTPmAAAE1OjRo7VgwQKtXr1au3fv1ubNmzV//nxNmzZNK1as0Pvvv697771XH374ocLhsLKysvTBBx/E/BTNeO1PjuSVnZ2tHTt2aOPGjfrxxx81ceJExfpU9G+++UaTJk1SWVmZCgsL1dDQ0ObtqqurtXLlSk2ZMkUbN25sGt+/f79qamr0wAMPNI0tXrxYtbW1evbZZ3XhwoWm8bNnz2ry5Mn6+uuvtWrVKvXs2fMXPZ+lS5eqrq5Os2fP1rJly/T888+rpKREjY2Nv+j4QGpPmv81fnHGHG35NZ7xQOeiJ9CW9vZFXV2dZ2RkeFZWlodCIc/NzW06871hw4amNeTDhg3z7777Lo4Vo7P92ueK6upqnzhxokvyRYsWtdgX/MSJE37zzTd73759m7YHLS4ubnH8kSNHfMqUKS22Fu3du7cfP37c3d2Li4tdkp89e7bFcU8//bRL8ttvv9337dvnVVVVfsstt/j111/fri0/H3vssSu2Dt22bVs7fiMdx3aJBHN00K99YkX80RNoS0f6Yv369U1vvvvhhx9aXFdRUeHhcNhPnjzZsQLR5brDXNHQ0OBz5851ST5gwACfMGGCFxQU+KBBgzwtLc337t3r7u4zZszwUCjkVVVV7u7+1Vdfef/+/f2mm27ypUuX+tGjR/3bb7/1tLQ0Hzt2rDc0NPidd97p48aNa/Nxy8vLPT093VNSUjw1NdX79evnlZWVHXoujY2N/vPPP3taWprn5+d36L7ai6UsAAAE3MyZM1VWVqaKigr169evxXV5eXnasmWLMjMzE1Mcktp1112nVatWqaysTNOnT1evXr30+eef64YbbtCuXbs0ZswYSdLy5csVCoU0f/58HThwQFOmTFEoFNKnn36qF154QSNGjNCQIUP01ltvae/evZo3b54qKys1bdq0Nh/3wQcf1JEjR1RQUKAhQ4bos88+U25uboeei5kpFAopPz9fW7ZsUV1dXYfuL1FSEl0AAADdmZlp5syZiS4DiGnmzJlX7dFBgwbppZde0sKFC/XJJ59owIAB2rlzp4YNG9bidg8//LDmzp2r1atXS1LMYC5JaWlpKi0tjc8TaKawsFCvv/66Nm7cqMcffzzu99/ZOGMOAACAq3rqqac0YcIEpaen6+OPP74ilF/2yiuvaOTIkRo4cKBycnK6uEpp/PjxuvXWW68I/UuWLNGkSZN0+vTpTq9h/fr17T6WM+YAAAC4qh49emjnzp1NS0Zi6dWrlyoqKlRbW6vf/Kbrz/+amQoLC/Xcc8/p1KlTyszMVHl5uV588UVJUm5ursrLy5uW6cTb8ePH9cQTT7T7eM6YAwAA4P/Vs2fPq4byywYOHKgRI0Z0QUVtmzVrliTpnXfe0ZkzZzRnzhyNGjVKe/bsUUpKiu6++26Vl5df0326u1599dWrng2/cOGC8vPzf9HvKBaCOQAAALqNzMxM3XPPPSotLVVhYaHOnz+vsrIyjR07VpWVlRo5cqTC4bDy8/N18ODBFsc2NDSovr6+xVhjY6MWLlyooqIizZo1S1u3bm3zcd98803t379fa9eubXftBHMAAAB0K4WFhaqqqlJFRYVKSko0fPhwSVJGRoZ27dqlRYsWafv27brjjjs0ffp0zZs3T+PGjVOfPn3Uv39/Pfnkkzp58qQuXryoOXPm6LXXXtMzzzyjnJwcFRQUaN++fS0eb+vWrXrvvfdUVFSkhx56qN11W2Srxe5v+PDhfuzYsUSXgYDZtWuXJk+enOgyECD0BNpCX6A1eiLY6uvrNXToUN1333169913ZWZX3Ka2tlYlJSVauXKlLl68qJycHOXk5Kiurk5r1qzRpUuXdNttt+nw4cMqLi7W4sWLVVNTo9zcXF26dElffvmlqqurVVpaqjVr1igjI0OHDh1SKBSSme1192t+9ytv/gQAAEC30qdPH504cUI33nhjm6FcklJTU7V06VItXrxYZtbizapLlizRyy+/rHXr1mnFihUqKiqSFDnjvm3bNt11113KysrS+fPnFQqFFA6H9cgjj3RofbnEUhYAAAB0Q6mpqTFDeXM9evS4YgeZwYMHa/ny5frpp5+aQvll2dnZ2rRpk/Ly8vTGG2+opqZGGzZsUHp6eodr5ow5AAAAcA2mTp2qqVOnxv1+OWMOAAAABADBHAAAAAgAgjkAAAAQAARzAAAAIAAI5gAAAEAAEMwBAACAACCYAwAAAAFAMAcAAAACgGAOAAAABADBHAAAAAgAgjkAAAAQAARzAAAAIAAI5gAAAEAAEMwBAACAACCYAwAAAAFAMAcAAAACgGAOAAAABADBHAAAAAgAc/dE19AlzOycpGOJrgOB01/SD4kuAoFCT6At9AVaoyfQWvOeuNndB1zrHaTEt55AO+buOYkuAsFiZnvoCzRHT6At9AVaoyfQWjx6gqUsAAAAQAAQzAEAAIAASKZg/maiC0Ag0RdojZ5AW+gLtEZPoLUO90TSvPkTAAAACLJkOmMOAAAABFZSBHMzu9/MjpnZCTP7Y6LrQWKY2SkzO2RmB8xsT3Qszcz+08yqot9TE10nOpeZvW1m35vZ4WZjbfaBRbwanTsOmtmYxFWOzhKjJ543szPR+eKAmU1rdt0/RXvimJn9Q2KqRmcys9+a2U4z+6uZHTGzoug4c0USu0pfxG2+6PbB3Mx6SHpN0u8kjZRUYGYjE1sVEijP3Uc1287oj5J2uHuWpB3Rn9G9rZV0f6uxWH3wO0lZ0a/fS1rVRTWia63VlT0hScuj88Uod98uSdG/H/mS/i56zOvRvzPoXi5K+oO7j5Q0QdL86L89c0Vyi9UXUpzmi24fzCWNl3TC3b929wuSyiSFE1wTgiMsaV308jpJDyeuFHQFd/9E0k+thmP1QVhSqUdUSrrRzDK6pFB0mRg9EUtYUpm7N7j7SUknFPk7g27E3avdfV/08jlJRyUNFnNFUrtKX8RyzfNFMgTzwZK+bfbzaV39l4juyyX9h5ntNbPfR8cGunt19HKNpIGJKQ0JFqsPmD+S24LosoS3my1zoyeSjJllShot6QsxVyCqVV9IcZovkiGYA5f9vbuPUeQlx/lmNqn5lR7ZoohtipIcfYCoVZKGSRolqVrSKwmtBglhZr0lvSfpGXevb34dc0XyaqMv4jZfJEMwPyPpt81+HhIdQ5Jx9zPR799L2qzIy0lnL7/cGP3+feIqRALF6gPmjyTl7mfd/ZK7N0r6k/7v5Wd6IkmY2d8oEr7+7O6bosPMFUmurb6I53yRDMF8t6QsMxtqZtcpsgh/a4JrQhczs781sxsuX5Z0n6TDivTC7OjNZkt6PzEVIsFi9cFWSYXRHRcmSKpr9jI2urFW64MfUWS+kCI9kW9mITMbqsib/b7s6vrQuczMJL0l6ai7/1uzq5grklisvojnfJES35KDx90vmtkCSf8uqYekt939SILLQtcbKGlz5P+UUiS96+4fmtluSX8xs8cl/ZekGQmsEV3AzNZLmiypv5mdlrRM0r+q7T7YLmmaIm/Y+R9Jc7q8YHS6GD0x2cxGKbJU4ZSkJyXJ3Y+Y2V8k/VWRHRrmu/ulBJSNznWXpH+UdMjMDkTH/lnMFckuVl8UxGu+4JM/AQAAgABIhqUsAAAAQOARzAEAAIAAIJgDAAAAAUAwBwAAAAKAYA4AAAAEAMEcAAAACACCOQAAABAABHMAwBXMbKeZ3Ru9/KKZlSS6JgDo7rr9J38CANplmaR/MbObJI2WND3B9QBAt8cnfwIA2mRmH0vqLWmyu59LdD0A0N2xlAUAcAUzy5aUIekCoRwAugbBHADQgpllSPqzpLCk/zaz+xNcEgAkBYI5AKCJmfWStEnSH9z9qKRiRdabAwA6GWvMAQAAgADgjDkAAAAQAARzAAAAIAAI5gAAAEAAEMwBAACAACCYAwAAAAFAMAcAAAACgGAOAAAABADBHAAAAAiA/wV4oaT6MXcnQAAAAABJRU5ErkJggg==\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "#The optimization engine can only minimize, apparently; so to maximize the original function we will minimize its inverse, by duality max(f)=min(-f).\n", + "smin=parameter_space.parameters[0].min\n", + "smax=parameter_space.parameters[0].max\n", + "x_plot = np.linspace(smin, smax , 200)[:, None]\n", + "y_plot = f(x_plot)\n", + "z_plot = f_opt(x_plot)\n", + "plt.figure(figsize=(12, 8))\n", + "plt.plot(x_plot, y_plot, \"k\", label=\"Original Function\")\n", + "plt.plot(x_plot, z_plot, \"c\", label=\"Optimization Function\")\n", + "plt.legend(loc=2, prop={'size': 10})\n", + "plt.xlabel(r\"$x$\")\n", + "plt.ylabel(r\"$f(x)$\")\n", + "plt.grid(True)\n", + "plt.xlim(smin, smax)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "
", + "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-02-03T10:57:42.926314\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuYAAAHgCAYAAADpKKjTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAADAEUlEQVR4nOzdeVxU1fvA8c+djQGGXcAFFVHckMVdM9NySc2yzMpSS62stM2s9PutNNu+9SvTFm0x0zIz08pWW0ypbDMX3DdQVFwQQdmGYbbz+2OQAEFRQVGe9yteMHfuPffc4YbPnHnOczSlFEIIIYQQQogLS3ehOyCEEEIIIYSQwFwIIYQQQogaQQJzIYQQQgghagAJzIUQQgghhKgBJDAXQgghhBCiBpDAXAghhBBCiBrAcKE7cL4EBgaqZs2aXehuiBomPz8fX1/fC90NUYPIPSHKI/eFKEvuCVFWyXti7dq1R5VSoWfaRq0JzMPDw1mzZs2F7oaoYRITE+nZs+eF7oaoQeSeEOWR+0KUJfeEKKvkPaFp2t6zaUNSWYQQQgghhKgBJDAXQgghhBCiBpDAXAghhBBCiBqg1uSYl8fhcJCWlobNZrvQXREXSEBAANu2bbvQ3RA1iNwTlWM2m4mIiMBoNF7orgghxCWjVgfmaWlp+Pn5ERkZiaZpF7o74gLIzc3Fz8/vQndD1CByT5yeUorMzEzS0tJo0qTJhe6OEEJcMmp1KovNZiMkJESCciGEOAOaphESEiKfNgohRBWr1YE5UPmgPCUFxo4Ff3/Q6Tzfx471bBdCiFpGBjSEEKLq1frAvFKWLYO4OHjvPcjNBaU83997z7N92bJzaj4tLY1BgwYRHR1N06ZNeeihh7Db7cybN4/777+/ii7i7C1dupStW7cWP548eTLLly+/gD0SQgghhLj0SGB+OikpMGQIWK3gcJR+zuHwbB8y5KxHzpVSDB48mOuvv55du3axc+dO8vLyeOKJJ6qg8ydzOp1nfEzZwPyZZ56hd+/eVdktIYQQQohaTwLz05k27eSAvCyHA6ZPP6vmV6xYgdlsZtSoUQDo9XqmT5/O+++/j9VqZf/+/fTs2ZPo6GimTp0KeJZ8veaaa4iPj6dNmzYsWrQIgLVr19KjRw/at2/P1VdfzaFDhwDo2bMnDz/8MB06dOD555+ncePGuN3u4rYaNmyIw+Fg9uzZdOzYkfj4eG688UasVit//PEHX331FY899hgJCQmkpKQwcuRIlixZAsDPP/9M27ZtiY2NZfTo0RQWFgIQGRnJlClTaNeuHbGxsWzfvh2AX375hYSEBBISEmjbti25ubln9boJIYQQQlxqJDA/nY8+qlxgPn/+WTW/ZcsW2rdvX2qbv78/jRo1wul0snr1aj777DM2btzI4sWLWbNmDd9//z3169dnw4YNbN68mX79+uFwOHjggQdYsmQJa9euZfTo0aVG3e12O2vWrGHKlCkkJCTwyy+/APDNN99w9dVXYzQaGTx4MP/88w8bNmygVatWzJkzh8suu4zrrruOl19+maSkJJo2bVrcps1mY+TIkSxatIhNmzbhdDp56623ip+vU6cO69at47777uOVV14B4JVXXmHmzJkkJSXx22+/4e3tfVavmxBCCCHEpUYC89PJy6va/c5Qnz59CAkJwdvbm8GDB7Nq1SpiY2P56aefmDhxIr/99hsBAQHs2LGDzZs306dPHxISEnjuuedIS0srbueWW24p9fOJUfZPPvmk+LnNmzfTvXt3YmNjWbBgAVu2bDll33bs2EGTJk1o3rw5AHfccQe//vpr8fODBw8GoH379qSmpgLQrVs3HnnkEV5//XWOHz+OwVCrK3YKIYQQQhSTwPx0LJaq3a+M1q1bs3bt2lLbcnJy2LdvHwaD4aTKB5qm0bx5c9atW0dsbCxPPvkkzzzzDEopYmJiSEpKIikpiU2bNvHjjz8WH+fr61v883XXXcf3339PVlYWa9eu5aqrrgJg5MiRvPnmm2zatIkpU6accyk0Ly8vwJOecyK3fdKkSbz33nsUFBTQrVu34hQXIYQQQojaTgLz0xk+HE63sp3RCCNGnFXzvXr1wmq18uGHHwLgcrmYMGECI0eOxMfHh59++omsrCwKCgpYunQp3bp14+DBg/j4+DB8+HAee+wx1q1bR4sWLcjIyODPP/8EPKuaVjTibbFY6NixIw899BADBw5Er9cDnoVV6tWrh8PhYMGCBcX7+/n5lZsL3qJFC1JTU0lOTgZg/vz59OjR45TXm5KSQmxsLBMnTqRjx44SmAshhBDi4lSmlPbl11xzzqW0JTA/nQkTKheYjx9/Vs1rmsYXX3zB4sWLiY6Opnnz5pjNZl544QUAOnXqxI033khcXBw33ngjHTp0YNOm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Zkzxwk0DBgzg448/Rq/XS9qCKEVSWSqvJvwNPVN/ZWfzYHIy/+TmUsdo5KjDwfdPPcXVf/8NDgf3PfwwswcOZOM999D4aBavPDufDw5CgEnjpZvb0TemLuAJ7gdv3syXmZkAGDWNAcHBTGzUiK5nsKbEGRs71jNaXWaxmI1RUSTMns0jixfzypw5nmXGSwRfdqebfVlWdmfksftovud7Rj67j+aTlW8v3s+g02gU4kNUHQtNk/4g/Ugq7w3qCz5uhv6ykjHffEPH7dspHqM0Gk86V21xIVJZygvIR/SIxNLQmy1WK5vy8vjs6FGGh4czt2XL89q3qmJ3ulk04WVeczfgqG8QOreLmPTdHPELJs/ozawvX6THnnU18t6rilSWGhGYl6Rpmg+ewPw+4FugrlLKqWlaV+BppdTVmqb9UPTzn5qmGYDDQKg6xcXUxMBcKUXnzp257777GDVqFC6XizFjxhAcHMzLL79c4XGpqakMHDiQzZs3n8feeowcOZKBAwcyZMiQKm03MTGRV155hW+++aZK2z0hMjKSNWvWUKfMktcShImy5J6ovAv9N7SyClwuPsvIYM7hwyQeP059k4mXoqK4ITeXLr//zuHAQJLuvptMf3/avvsu4778khu+/YMn+47jQEAYI1oHcll9O/17X1mq3Wynk//u3k2CxcKNoaEEG8/D5LOivN3yJvGNfvxxFvTqxY577iFy+fJTjiQqpdhhtdLU25t8m5OUjPyTgvaU9GzcmmfinU65sQXryAs30bDwAMN+W84tK1fS9ODB4jrUtU2VBeaVyOEvG5CHhpgJauPPjgAH++z/vrGKNJvp7OfHzObNCTkf92N18fen0FrA+vot+aNxHH81iiPX5MPL382gzZHdpfarSfdeVQTmKKVqxBegB5KAPOAloA6QXOL5hsDmop83AxElnksB6pyq/ebNm6uytm7detK282n58uWqe/fupbZlZ2er4OBglZ+fr+bOnauuu+461aNHD9WsWTP19NNPK6WUuuWWW5TZbFbx8fHq0UcfVXv27FExMTFKKaXmzp2rBg0apHr37q0aN26s3njjDTVt2jSVkJCgOnfurDIzM5VSSt1xxx1q8eLF6p9//lHx8fEqPj5etWnTRnluCaXeffdd1aFDBxUXF6cGDx6s8vPz1e+//66CgoJUZGSkio+PV8nJycXtnLie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KbXzxDZN0yxAm2rrmRBCCCGEELVIpWcflgzKix7nAX9VeY+EEEIIIYSohap3xR0hhBBCCPH/7d13VBVX2wXwfeiKAbFCNHYs2CPRGKOiMYq8KmIFC4YYFHtD7GJPsBu7sccYFHuPGkFjC4gVYq9oNBYUojSB5/sDwicCKvVeYP/WuguYOWfmGXIybOeemUv0QRjMiYiIiIi0AIM5EREREZEWYDAnIiIiItICDOZERERERFqAwZyIiIiISAswmBMRERERaQEGcyIiIiIiLcBgTkRERESkBRjMiYiIiIi0AIM5EREREZEWYDAnIiIiItICDOZERERERFqAwZyIiIiISAswmBMRERERaQEGcyIiIiIiLcBgTkRERESkBRjMiYiIiIi0AIM5EREREZEWYDAnIiIiItICDOZERERERFqAwZyIiIiISAswmBMRERERaQEGcyIiIiIiLcBgTkRERESkBRjMiYiIiIi0AIM5EREREZEWYDAnIiIiItICDOZERERERFqAwZyIiIiISAswmBMRERERaQEGcyIiIiIiLcBgTkRERESkBRjMiYiIiIi0AIM5EREREZEWYDAnIiIiItICDOZERERERFqAwZyIiIiISAswmBMRERERaQEGcyIiIiIiLcBgTkRERESkBRjMc9Dz588RHBwMEdF0KURERESkZRjMc8ju3btRuXJl1KhRA6VKlULv3r2xY8cOhnQiIiIiApBPg/mNGzfw6tWrbNn2iRMn8O2332LBggW4ePEiIiIiMGjQILRr1w6lS5fG0qVL8eWXX2Lr1q1wcHBA7969ERsbmy21EBEREVHuofFgrpTqrJQKVkrFK6Ws31o3Ril1Qyl1VSnV6o3ltonLbiilRqdnf9u2bUO1atXQs2fPrDoEAICIYPHixbCxsYG3tzeGDh2K2rVro3Dhwli0aBGGDh2K06dPw83NDZs3b8aTJ08wceJErFmzBp06dUJUVFSW1kNEREREuYvGgzmAIAAdABx7c6FSygqAI4DqAGwBLFFK6SqldAEsBtAagBUAp8S277V161Z07doVxsbG2L59O86ePfvO9osWLcLy5cvfO90kMjISLi4uGDhwIGxtbfHw4UPcvXsXa9euhaurK/bv34958+bB0NAwqY++vj4mT56MH3/8ETt37oStrS3CwsI+5DCIiIiIKA/SeDAXkcsicjWVVfYAvEUkWkRuA7gBoH7i64aI3BKRGADeiW3f6d9//4WjoyPq16+PoKAgmJmZwdPTM832ISEhGDp0KNzc3NCpU6c0Q3N4eDi++uorrFu3Dp6enti5cydMTU1RpkwZ9OrVC4sXL4atrW2a+xk0aBB++eUXnDhxAm5ubu87DCIiIiLKozQezN+hFICQN36+n7gsreXv9PDhQ9SvXx/79+9H6dKl4e7ujj179sDf3z/V9v9dKR8zZgx27dqFevXq4dy5c8nahIeHo1WrVggICICPjw8mTZoEHZ30/0q7deuG0aNHw9vbG4GBgenuT0RERES5n15O7EQpdRiAeSqrxonIzmzcbx8AfQDAyMgIY8eOTZq+UqdOHZiYmGDQoEHw8vJK1i8mJgaLFy9Gw4YN0bJlS1hYWGDKlCmwtrZG48aN0alTJ5QvXx4eHh64evUqPD09UaxYMfj5+WW41s8//xwmJibo27cvZs+eneHtUPq8fPkyU//dKO/hmKDUcFzQ2zgm6G1ZMiZERCteAPwAWL/x8xgAY974+TcADRNfv6XVLq1X5cqV5W1eXl4CQE6cOJFs+c8//ywA5NChQ0nLHj9+LB4eHlK4cGEBIIULFxY9PT3Ztm1biu1m1Lx58wSAHDx4MMu2Se/m6+ur6RJIy3BMUGo4LuhtHBP0tjfHBIAzkoE8rM1TWXYBcFRKGSqlygOwBOAPIACApVKqvFLKAAk3iO7KyA4GDBiAEiVKYNSoUYiOjk5avmjRIlSpUgVfffVV0rLixYvDy8sLISEhWLx4MapXr44tW7bAwcEhE4eYXL9+/VC2bFmMHj0a8fHxWbZdIiIiItJ+Gg/mSikHpdR9JFwJ36uU+g0ARCQYwGYAfwE4AGCAiMSJSCyAgUi4gn4ZwObEtulmbGwMLy8vHD9+HLa2tnjx4gUCAgLw559/YuDAgVBKpehTqFAh9O/fH8ePH4e9/XvvOU0XQ0NDTJkyBWfPnoWPj0+WbpuIiIiItFuOzDF/FxHZDmB7GuumA5ieyvJ9APZlxf6/+eYb6Ovrw8XFBY0aNUK5cuVQqFAhODs7Z8Xm06179+6YPXs2JkyYgM6dO2foZlIiIiIiyn2Y+pAQhg8cOID79+9j37596NWrF0xMTDRSi66uLkaNGoXr16/j+PHjGqmBiIiIiHIeg3mi5s2b4/jx4+jcuTNGjhyp0Vrat28PY2NjrF+/XqN1EBEREVHOYTB/Q82aNbF582aULVtWo3UYGxujU6dO8PHxQWRkpEZrISIiIqKcwWCupXr27Inw8HDs2pWhB84QERERUS7DYK6lbGxsUKpUKfz888+aLoWIiIiIcgCDuZbS1dVFjx49cODAATx+/FjT5RARERFRNmMw12I9e/ZEXFwcfv31V02XQkRERETZjMFci1WvXh2ffvopp7MQERER5QMM5lquZ8+eCAwMxN69ezVdChERERFlIwZzLefs7IwqVaqgTZs26NOnD8LCwjRdEhERERFlAwZzLVekSBGcO3cOI0eOxKpVq1C9enUsW7YM9+7d03RpRERERJSFGMxzgQIFCmDmzJk4ffo0ihYtin79+qFs2bKoVq0aunXrhubNm6NixYr46KOPOOWFiIiIKJdiMM9FPvvsM5w/fx7BwcGYO3cuypYtixMnTiA6Ohr169eHnp4eNm7cqOkyiYiIiCgD9DRdAKWPUgpWVlawsrLCsGHDkq1zdnbG3r17ERcXB11dXQ1VSEREREQZwSvmeUjr1q0RGhqKgIAATZdCREREROnEYJ6HtGzZEjo6Oti/f7+mSyEiIiKidGIwz0OKFi2K+vXrM5gTERER5UIM5nmMnZ0dzpw5gydPnmi6FCIiIiJKBwbzPKZ169YQEfz222+Z3ta5c+fw4MGDLKiKiIiIiN6HwTyP+fTTT1GiRAns27cvU9u5e/cuGjZsiLp16+LPP//MouqIiIiIKC0M5nmMjo4OWrVqhd9++w1xcXEZ3s64ceOglEKhQoXQrFkz7NixI+uKJCIiIqIUGMzzoMw+NvHMmTP45ZdfMHz4cJw+fRq1atVChw4d8OOPP6Zo++rVK9ja2mL06NGZLZuIiIgoX2Mwz4P+e2zixo0bcfPmTTx79gyxsbEf1FdEMHLkSBQvXhyjRo1CiRIlcOTIEdjb22PIkCGYMWNGUtu4uDg4OTnht99+w7x583jDKREREVEmMJjnQUWLFkWjRo2wcOFCVKpUCcWKFUPRokXh7e393r579+6Fn58fPD09YWJiAgAoWLAgfHx80L17d4wbNw6TJ0+GiGDw4MHYvXs3hg0bhpiYGKxcuTK7D42IiIgoz9LTdAGUPTZt2gR/f3+8ePECYWFh2LRpE5ycnODv7w8vLy/o6+un6BMbGwsPDw9UrlwZffr0SbZOT08P69atg76+PiZNmgRfX18cPXoUHh4e8PLywsWLF7F06VKMHDkSenocVkRERETpxQSVR1lYWMDe3j7p5379+sHd3R3z5s1DYGAgvL29YWFhkbT+9evX+Oabb3D58mXs2LEj1eCuq6uLVatWQU9PDytXroSjoyO+//57AMDAgQPh4OCA3bt3w8HBIfsPkIiIiCiP4VSWfEJfXx8LFizAhg0bEBAQgOrVq2PDhg0QEURGRqJDhw7YuHEjvv/++2SB/m06OjpYvnw5/Pz8sG7dOujoJAyhNm3a4JNPPsHixYtz6pCIiIiI8hQG83yme/fuOHfuHKpVq4aePXvC3t4erVu3xt69e7F06dIPerqKjo4OmjZtCgMDg6Rlenp66NevH37//Xdcvnw5Ow+BiIiIKE9iMM+HqlSpgmPHjmHu3Lk4dOgQTpw4gV9++QVubm6Z2u53330HAwMDXjUnIiIiygDOMc+ndHV1MWzYMLRv3x4vXrxA3bp1M73N4sWLo2vXrli1ahXMzMwwYMAAmJubZ0G1RERERHkfr5jnc+XLl8+SUP6fGTNmoFWrVpg+fTrKli2L3r1749mzZ1m2fSIiIqK8ilfMKUuVLl0aO3bswLVr1zB//vykZ5uvWrVKw5URERERaTdeMadsUblyZSxZsgT9+/fHunXrcOPGDU2XRERERKTVGMwpW40ePRoGBgaYPHmypkshIiIi0moM5pStzM3NMXDgQPzyyy98jCIRERHROzCYU7bz8PCAsbExJk2apOlSiIiIiLQWgzllu2LFimHIkCHYvHkzLl68qOlyiIiIiLQSgznliBEjRsDExAS9e/fGX3/9pelyiIiIiLQOgznlCDMzM/z000+4ceMGatWqhcGDByM0NFTTZRERERFpDQZzyjFdunTB9evX0adPHyxevBhVq1ZFSEiIpssiIiIi0goM5pSjihUrhiVLlsDf3x9hYWF8jCIRERFRIgZz0oh69eqhX79+WLNmDa5evZpsnYggKipKQ5URERERaQaDOWnM2LFjUaBAAUyYMCFpWUREBJo3b466desiJiZGg9URERER5SwGc9KYEiVKYMSIEfDx8UFgYCCio6Ph4OAAPz8/XLlyBT///LOmSyQiIiLKMQzmpFEjRoxA0aJFMXr0aDg5OeHgwYNYtWoVrK2tMWPGDMTGxmq6RCIiIqIcwWBOGmViYoKxY8fi8OHD2L59OxYsWIBvv/0WEyZMwK1bt7Bx40ZNl0hERESUIxjMSeP69++Pr776CrNnz8bgwYMBAG3btkXt2rUxffp0xMXFabhCIiIiouzHYE4aZ2RkhMOHD2PEiBFJy5RSGD9+PK5duwYfHx8NVkdERESUMxjMSWt16NABVlZWmDp1KuLj4zVWR1hYGHx8fLBhwwZERkYmWxcbG4sDBw5g9+7duH37tkbrJCIiotyNwZy0lo6ODiZOnIi//voLrVu3ztFPCRURLF++HM2aNUOxYsXQpUsX9OzZE2XKlMGECRMQFBSEGTNmoEKFCmjdujXatWuHChUqwMTEBO3bt08R4ImIiIjeR+PBXCk1Syl1RSl1USm1XSlV+I11Y5RSN5RSV5VSrd5Ybpu47IZSarRGCqcc0aVLFyxevBjHjx9HzZo1sXbtWohItu4zOjoaPXv2hJubG54+fQp3d3f88ccf8PX1RaNGjTB9+nTUrFkT48aNQ+XKlbF161acPHkSK1asQM+ePbFz504MGjQoW2skIiKivEdP0wUAOARgjIjEKqW8AIwBMEopZQXAEUB1AB8DOKyUqpzYZzGArwHcBxCglNolIn9poHbKZkop9O/fH61atYKLiwtcXFwwdepUNGzYEA0aNEDp0qVx/fp1XLlyBSEhIZg9ezZq166d4f2FhobCwcEBx44dw7Rp0zB27FgopZLW29jY4Pr169i/fz9atmyJqlWrJq1r2LAhAKBIkSKYMWMGGjdujF69emX84ImIiChf0XgwF5GDb/x4GkCnxO/tAXiLSDSA20qpGwDqJ667ISK3AEAp5Z3YlsE8D6tYsSL8/PywevVq7Nu3D76+vvjll1+S1ltYWCAiIgJdu3ZFYGAgjI2N07V9EcGRI0cwYMAA3L59Gxs3boSTk1OqbS0tLWFpaZnmtiZPnoyTJ0+iX79++PTTT1GzZs101UJERET5k8ruaQHpoZTaDWCTiGxQSi0CcFpENiSuWwVgf2JTWxH5LnF5TwANRGRgKtvrA6APABQvXrze5s2bc+IwKIc8efIEoaGhKFWqFAoVKoSzZ8/C3d0ddnZ2cHd3/6BtPHv2DKdPn8bWrVtx+/ZtmJmZYdKkSahVq1amagsNDYWrqyuMjY3RoUMHiAji4+NhZWWFatWqJWsrIrh27RrKlSsHQ0PDTO2XMu/ly5coVKiQpssgLcNxQW/jmKC3vTkmmjVrFigi1undRo5cMVdKHQZgnsqqcSKyM7HNOACxAH5JpV2GiMgKACsAoEqVKmJjY5NVmyYtZGNjgydPnuCHH36Ai4sLOnbsmGbbv//+G0uWLMHChQsRHh6O2rVrY82aNXB0dISRkVGW1FO0aFG0bt0aCxYsSLbczc0NP/zwA0xNTXH9+nUMHjwYBw4cQMOGDbF3716YmZllyf4pY/z8/MBzBb2N44LexjFBb8uKMZEjwVxEWrxrvVLqGwBtAHwl/38J/wGAT95oVjpxGd6xnPK5KVOm4Pfff4erqysqVaoEExMTvH79GuHh4bhx4wauXbuGCxcuYNeuXYiLi0OjRo0wbdo0NGnSJNlc8qzQtGlTPH78GBEREdDR0UFsbCxmzZqF+fPnY+fOnbC3t8fq1athaGiIQYMGYfny5WjatCkOHjwIc/PU/h1LREREeZnG55grpWwBeABoKiIRb6zaBWCjUmouEm7+tATgD0ABsFRKlUdCIHcE0C1nqyZtpa+vj40bN6JOnTqoU6dOqm3KlCmDQYMGYeDAgbh37x6aNm2abfUUKlQo2Vudc+bMgZOTE1xdXbFs2TL07NkTM2fOhLm5Odq1a4f27dvjyy+/xKFDh1C+fPksqWHLli3YuXMnli9fjoIFC2bJNomIiCjraTyYA1gEwBDAocQrlqdFxE1EgpVSm5FwU2csgAEiEgcASqmBAH4DoAtgtYgEa6Z00kaVKlXCqVOncPr0aejr60NfXx/GxsaoVKkSKlasiAIFCiS1vXfvXo7XZ21tjYCAANy/fx/lypVLWt6iRQscPnwYdnZ2aNiwIXbu3IkGDRpkal+HDh2Ck5MTYmNjISL4+eefs/ydASIiIsoaGg/mIlLpHeumA5ieyvJ9APZlZ12Uu9WsWVOrn4aip6eXLJT/5/PPP8fx48fRpk0b2NjYJM17z4hz586hQ4cOqFatGuzs7ODl5YV69eph2LBhmayeiIiIsoPGgzkRJWdlZYU///wTHTp0gJOTE65cuQJPT890Xem+c+cO7OzsYGZmhv3798PCwgJXr17FyJEjUbt2bTRv3jwbj4CIiIgyQuOf/ElEKRUvXhyHDx9Gr169MHnyZDg5OSEyMvKD+kZFRaFNmzaIiorCgQMHUKpUKejo6GD9+vWoXLkyunTpgpCQkGw+AiIiIkovBnMiLWVoaIg1a9bghx9+wObNm2FjY4OHDx++t9/UqVMRHByMX3/9FVZWVknLP/roI+zYsQORkZEYPnx4dpZOREREGcBgTqTFlFIYNWoUtm3bhqCgINSvXx8XLlxIs/3Zs2fh5eUFFxcX2NraplhfuXJljBo1Clu2bMHRo0ezs3QiIiJKJwZzolygffv2OHHiBADgyy+/xL59Ke99jomJgYuLC0qUKIE5c+akuS13d3eUKVMGQ4YMQVxcXLbVTEREROnDYE6US9SpUwd//vknLC0t0bZtWyxdujTZei8vL1y8eBHLli1756eHFixYEDNnzsSFCxewevXq7C6biIiIPhCfykKUi3z88cc4duwYHB0d0b9/f+zatQvx8fF4/PgxgoKC4OTkhHbt2r13O126dMGiRYswbtw4dOnSBaampjlQPREREb0Lr5gT5TKFChXCjh07MGLECFy/fh0vXrxA6dKl0a9fPyxatOiDtqGUwvz58/H06VNMn57iowKIiIhIA3jFnCgX0tPTw+zZszF79uwMb6NevXro1q0blixZgrFjx6Jw4cJZVyARERGlG6+YE+VjI0aMwKtXr7By5UpNl0JERJTvMZgT5WN169aFjY0NfvzxR8TGxmq6HCIionyNwZwonxs+fDhCQkKwdetWTZdCRESUrzGYE+Vz//vf/2BpaYm5c+dCRFJtIyJpPvPcz88PISEh2VkiERFRvsBgTpTP6ejoYOjQofD398epU6dSrI+Li0Pbtm1Rr149hIWFJVu3f/9+NGvWDNbW1ggMDMypkomIiPIkBnMiQq9evWBmZoa5c+emWDdhwgTs3bsXly5dgqOjY9KV83v37qFHjx6oXr06ChQoABsbGxw6dCinSyciIsozGMyJCMbGxujbty+2bduGSZMmJd0IunPnTnz//ffo06cPlixZggMHDmDUqFGIiYlBly5d8Pr1a2zfvh0nT55EhQoVYGdnh40bN2r4aPKW2Fjgxg0gKCjhK+/RJSLKu/gccyICAIwfPx4PHjzA5MmTcfDgQUyaNAnOzs6wtrbGggULYGRkhKCgIMyZMwenTp3Cn3/+CR8fH1haWgIAjh07hvbt26NHjx549eoVXF1dNXxEudezZ8Dq1cCaNcDNm4C+PqCrC8TFATExQKVKgIsL0Ls3UKSIpqslIqKswivmRAQg4ar5+vXrsXHjRvz1119o1aoV9PT0sGXLFhgZGQEA5s2bhxYtWuDkyZMYPHgwOnXqlNTf1NQU+/btg62tLfr06fPBn0JK/y8mBhg3DihdGvD0BC5fTlj26hUQHp7w9fXrhOWenkCpUgntY2I0XTkREWUFBnMiSsbJyQkXLlxAz549sW3bNpQtWzZpnZ6eHnx8fLB69WrMmjUrRd8CBQpg+/btsLe3x6BBgzBnzpycLD1Xu3cPqFEDmD8fiIoCIiPf3T4yMqHd/PkJ/e7dy4kqiYgoO3EqCxGlULZsWaxfvz7VdYULF4aLi0uafQ0NDeHj44MePXrA3d0dUVFRGDduXHaVmifcuwdYWwOhoQnTVdIjIgK4dSuh/5kzQJky2VMjERFlP14xJ6Isp6+vj19++QU9e/bE+PHjMWHChGTPSBcRxMfHv3c7V69exfDhwxH5vsvHuVhMDNCiRcZC+X/i4hL6t2iRMNWFiIhyJ14xJ6JsoaenhzVr1sDQ0BDTpk1DdHQ03Nzc8Ouvv2Ljxo14+vQp/vzzT5QrVy7V/iKCfv36wdfXF8WLF8eYMWNy9gByyOTJwIMHGQ/l/4mLS9jO5MnAtGlZUxsREeUsXjEnomyjq6uL5cuXY8CAAZg1axYqVqyI8ePHo0iRIoiKikKXLl0QHR2dat/Dhw/D19cXxYoVw4wZM/DPP//kcPXZ79kzYO7chOkoWSEiApgzJ+HqORER5T4M5kSUrXR0dLBw4ULMnTsXXl5euHv3Lv744w+sXbsWAQEBcHd3T9FHRDBmzBiULVsWR44cQVRUFCZOnKiB6rPX6tWAUlm7TaWAVauydptERJQzGMyJKNsppTBs2DB4eHigTOLdiQ4ODhg+fDgWLVoEb2/vZO23bt2KwMBATJkyBTVr1kT//v2xcuVKXLp0CQDw4sULDB06FK1atcLEiROxf/9+PH/+PMePK7PWrHn/01fSKzISWLs2a7dJREQ5g8GciDTmhx9+wBdffIHvvvsO69evR0REBGJjYzFu3DhUr14d3bt3BwB4enrC1NQUI0aMwK+//oqqVati4cKFePDgAaZPnw47OzuULl0aFy5c0PARfRgRwevXgps309vz/TfMAvyEUCKi3IrBnIg0Rl9fH5s3b0aZMmXQq1cvWFhYwNbWFteuXcO0adOgq6sLAChSpAgmTpyIQ4cOoVu3bihTpgwCAgIQFBSEsLAwHD58GPr6+pg8ebKGjyhtx44dw4QJE2BnZwcLCwtUrlwFenov39MrGIATgAYAzAEYAhgM4N2PXtHXB+7cyYKiiYgoRzGYE5FGlSpVCsHBwTh69CgcHBxw6tQpfPnll7C3t0/Wrn///vjmm2+wePFinDp1Cp9++ikAoFChQvjqq68wZMgQbN++HRcvXtTEYaQpKioKAwcORNOmTTFjxgyEhITAxsYGd+5cR2zs1Hf0jATQEcB+ACYA2gBwBLAQwFcA0r4ZVlc34cOHiIgod+HjEolI45RSaNKkCZo0aYIlS5ZAR0cH6q27Ig0MDLBmzZo0tzF06FDMmzcPU6dOhY+PT3aX/EEuX76Mrl274tKlSxg+fDimTJkCY2NjAEBsbEFs3ToXQC8AVqn0ngDgKoBDAFq8sbw1gO8A1APgDuA5gIcAXgIoD6AyYmIq4fz5GFy48DcePnyI8uXLo0OHDil+p0REpF0YzIlIqxQsWDBD/czMzDB48GBMnz4dQUFBqFGjRoo2UVFRuHnzJqpWrZo0TeZNjx8/xv79+7FgwQIcO3YMP/30Ezp06JChegICAtC0aVMUKlQIe/fuhZ2dXbL1Cxd6YevWHQAGADgC4M3QfBLAXABuSB7KAaAbEoJ8BwDDEvuVAFAQgA+AWERFAT17Ju/VpUsXrFixAqamphk6ntSEhobCw8MD//77L4oUKYIiRYqgdu3aaN++PQwMDLJsP0RE+QWDORHlGcOGDcOCBQswbdo0eHt7Q0Rw6tQp7N27F8eOHYO/vz9iYmJQqVIluLu7w9nZGUop7NixA6tXr8bhw4chIihdujSMjY0xZMgQ2NrapvsfCyKCwYMHw9TUFGfPnoWFhUWKNhYWxWFu/j0ePXID8CsSAjcARAD4BkAZADPT2EMdAFcAPANQHP9/Kn8N4A4++eQ61q41goWFBczNzbF8+XKMHz8e/v7+WLduHQoXLoybN2/izp07sLW1RbVq1dJ1fEBCKG/RogWCg4NRvnx5hIaGIjQ0FHFxcShZsiRcXV3RrVs3vHr1Cvfv38ejR4/Qrl07fPzxx+neF1FuExISgitXrqBFixZ8p4rSR0Tyxaty5cpC9DZfX19Nl0BZbPTo0aKUkkGDBknZsmUFgOjq6kr9+vXF3d1dli5dKp999pkAkOLFi0vhwoUFgJQpU0bGjx8vy5cvl/j4eDl69KgAkClTpqS7ho0bNwoAWb169Tvb/fBDrCj1mQDmAowXYJgAXwkAAX4XQNL9KlBAZNaslPs6efJk0u/jzVft2rUlLi7unXWuWLFCpk+fLvfu3RMRkadPn0qdOnXE0NBQ9u3bl9QuLi5O9u/fL23atBGlVIp9tW/fPt2/S23BcwW9La0x4e/vL8WLFxcA0qJFC7l69WrOFkYa8+aYAHBGMpBXNR6Yc+rFYE6p4R/bvOfJkyfy0Ucfia6urrRu3VrWr18vYWFhydrEx8eLn5+fdOzYUbp37y6HDx9OCqdvjomOHTtKwYIF5f79+x+8/4iICPnkk0+kbt267w28z56JGBgEClBEAB0BPhKgpABTMhTKAREjo4Ttpub58+eyZMkS2bRpk5w5c0ZWrlwpAGT9+vVp1ujn55cUrJVS0rJlS6lVq5YYGhrK/v370+x369Yt+emnn2THjh0SGBgo7u7uAkCCgoI+6PeobXiuoLelNib27NkjBQsWlHLlysn06dPFxMREDAwMZPz48RIdHZ3zRVKOYjBnMKdM4h/bvOnOnTvy+PHjDPV9c0zcvHlTDAwMxNnZ+YP7T506VQCIn5/fB7UfO1akQIFYAeIzHMb/exUsKDJu3Icfa1xcnNSrV0/KlCkjkZGRKdb/+++/Ur58ealYsaJcunRJJk6cKGXKlBEjIyM5cODAh+9IEq6yGxsbS/fu3dPVT1vwXKHdNBF6161bJwMGDJAhQ4aIp6enjBo1SnR1deXTTz+Vhw8fiojIw4cPpUePHgJAOnbsKK9fv87xOinnMJgzmFMm8Y8tve3tMTFq1CgBIAEBAe/t++DBAzE2NpYOHTp88P6io0UsLUV0dTMXynV1E7YTE5O+4z18+LAAkNmzZ6dY5+bmJkopOX78eNKyuLg4efHiRfp2kmjEiBGio6MjN2/ezFB/TeK5QjtFR0dLp06dBICULFlSPv/8c3FxcUkKxtll/fr1YmRkJEZGRmJiYpL0rpKdnZ2Eh4enaD9nzhwBIN98881730mj3IvBnMGcMol/bOltb4+JsLAwKVGihBQrVkzGjRuXNM/6r7/+kpEjR0rp0qWlQIECYmhoKLq6umJgYCA3btxI1z7v3hUpXjzj4VxXN6H/3bsZO+ZWrVqJmZmZhIaGJi07ePCgAJARI0ZkbKOpePDggRgYGEifPn2ybJs5hecK7RMTEyMODg4CQPr27Su9e/eW5s2bi6GhoXz99dfZEoD//fdf6dWrlwCQWrVqSUhIiIiIxMbGSlhYmMTHx6fZ19PTUwDI4MGD39mOci8GcwZzyiT+saW3pTYmzpw5I23bthWllOjq6oqVlZUAED09PbG3txcPDw8ZNWqUjBkzRn777bcM7ffu3YQr3gULpi+UFyyY0C+joVxE5Pz586KUEicnJ5kzZ44MHz5cLCwspGrVqhIREZHxDafCzc1NDAwM0jVvXxvwXKFdYmJipGPHjgJAFixYkGzd8uXLBYDMnTs3y/fr6OgoSimZOHGiHD58OF194+PjZdiwYQJApk+fnuW1keYxmDOYUybxjy297V1j4tatW+Lh4SGNGzeW2bNny6NHj7J039HRCXPOjYwSnq7yvkBuZJQwpzy901dS88033yS9HV+gQAGpWbOmBAYGZn7Db7l165bo6upKnz59JDY2Nsu3n114rtC8y5cvy6ZNm2TKlCnSpEkTASDz5s1L0S4+Pl7s7e3FwMBALly4kGX7f/Dggejq6ia9i5SRMREfHy+Ojo6ip6cn58+fz7LaSDswmDOYUybxjy29TRvGxLNnIjNnilhZiRgYiBgbi5iYJHw1MEhYPmtW2k9fyYioqCgJDg6W0NDQbH+bvU+fPgJALC0tZfny5aneeKpttGFc5Ge7du1K9ujNMmXKyKJFi9Js/+TJEzE3N5fq1atn2bs+/93Yff36dRHJ+Jh4+vSplChRQurVq8ebQfOYrAjmOln8WHQiIsqkIkWAkSOB4GDg1Svg/HngxImEr69eJSx3d09ol1UMDQ1hZWUFMzOzbP9AlCVLlsDHxwempqbo27cvKlSogPPnz2frPil3mzdvHsqVK4fz58/j1atXuHv3LgYMGJBm+2LFimHdunUIDg5G586d8ffff2dq/3FxcVixYgW+/vprVKpUKVPbKlq0KBYvXozAwEDMnTs3U9uivIfBnIhIi+npAZUqATVqJHzVywOf16yrq4tOnTrB398fv//+O3R0dGBvb4/Hjx9rujTSQleuXIGvry/69u2L2rVrf/An8bZs2RILFizA77//jqpVq2LhwoWIi4vLUA379+9HSEgI3NzcMtT/bR07doSDgwM8PT1x7dq1LNkm5Q0M5kREpBFKKTRv3hw7d+7EkydP0KFDB0RHRwNImGa5c+dOLFmyRMNVUla4efMmXr9+naG+y5cvh76+PlxcXNLdd/DgwQgKCsIXX3yBwYMHo0aNGhg4cCB+/vln3LhxI101mJubo23btumuITVKKSxevBhGRkZwdXVNmFtMBAZzIiLSsHr16mHt2rU4ceIE+vfvjz/++AONGjVC+/btMWDAAPj6+mq6RMqE1atXo1KlSqhatSrWrFmTroAeERGBtWvXokOHDihZsmSG9l+xYkXs378fmzdvhrm5OdatWwdnZ2dYWlpizZo17+1/9+5d7N27F9999x309fUzVENqLCws8P333+PYsWM4cuRIlm2XcjcGcyIi0rguXbpgwoQJWL16NZo0aYK7d+9i2bJlKFOmDDw8PBAfH6/pEikDdu3aBVdXVzRu3BhmZmb49ttvUbVqVYwdOxZz587FunXrsHv3bpw8eRJXrlzB06dPk/XfvHkzXrx4gX79+mWqDqUUOnfuDF9fX7x48QKXLl3C559/jjFjxuDly5fv7Lty5UoopeDq6pqpGlLj4uKCkiVLYt68eVm+bcqd8sBsRSIiygsmTZqE2NhYFC5cGAMHDkTBggVRoEAB9OrVCz4+PujataumS6R0+OOPP9C1a1dYW1tj3759MDY2xp49ezB16lR4eXml+Y8tOzs7LF26FGXKlMHSpUtRrVo1NGnSJMvq0tXVRY0aNTBnzhw0atQI8+bNw4QJE1JtGxERgZUrV8LOzg5lypTJshr+Y2hoiP79+8PT0xNXrlxB1apVs3wflLvwijkREWkFHR0dzJgxAx4eHkk3+HXv3h21atXC2LFjERMTo+EK6UMFBQWhbdu2KFu2LPbu3YtChQpBKYW2bdvC398fr1+/xosXL3Dz5k0EBATgt99+w8aNG+Hp6YmjR4/CysoKI0aMgL+/P9zc3LLlSUFffPEFHBwcMHPmTDx58iTVNlOnTsWjR4/g4eGR5fv/T79+/WBoaIj58+dn2z4o92AwJyIiraWrqwsvLy/cunULy5cv13Q59AHCw8Ph4OCAggUL4uDBgyhWrFiKNjo6OjA1NUWFChVgbW2Nli1bwsnJCZMmTUJQUBAaN26MuXPnokCBAnB2ds62Wr///ntERkZi6tSpKdYFBQVh9uzZ+Pbbb9G4ceNsq6F48eJwdnbGunXrUkzlofyHU1mIiEirtWrVCs2bN8eUKVPw6tUrPHnyBE+fPoWenh5KlCiBEiVKoFKlSrCzs4Ourq6my83XRATfffcdbt++DV9f3wxN/yhXrhz27duHrVu3QkdHB4ULF876QhNVqVIFvXv3xrJlyzBkyBBUrFgRABAfH4++ffuicOHCmDlzZrbt/z9Dhw7FTz/9hGXLlmH8+PHZvj/SXgzmRESk1ZRSmDlzZtLNesbGxihatCji4uLw+PHjpKd8VK5cGRMnToSjoyMDOhJC8qpVq1CgQAF07979nW137NiBv//+G/369cvUtJHFixfDx8cHXl5embrKrJRCp06dMtw/PSZNmoQNGzagc+fO8PT0RJs2bbBq1SqcPHkSa9euRdGiRbO9BisrK9ja2mLRokUYOXIkDA0Ns32fpJ00PpVFKTVVKXVRKXVeKXVQKfVx4nKllPpRKXUjcf2nb/TppZS6nvjqpbnqiYgoJ9SrVw/Pnj1DREQEXr58ibt37+L+/fuIjo5GaGgotmzZAiMjI/To0QPVq1eHn5+fpkvWqPDwcHTu3Bmurq7o0aMHXF1dERUVlWpbPz8/dO7cGQMGDMCwYcMy/EztgIAADB8+HG3atIG7u3tmys9RFhYWWL16NZ4+fYr27dujUqVK8PDwgI2NTbZOo3nb8OHD8c8//8DKygqurq7YsGFDmnPfKe/SeDAHMEtEaolIHQB7AExMXN4agGXiqw+ApQCglCoCwBNAAwD1AXgqpcxyumgiIspZJiYmKFCgQLJlSimYmZmhY8eOOHfuHLZu3QoRwVdffYVZs2Z9cMiMiIjAw4cPs6PsHHfp0iVYW1tjx44dmDVrFsaNG4eVK1eiadOmCAkJSdb29u3b6NSpEypVqoQBAwZgwYIFcHV1TdcnZMbHx2PNmjVo3bo1LCwssG7dOujoaEO8+HBdu3bFrVu3sGXLFpQtWxYigmXLlmXLTadpadGiBVatWoXq1atjy5Yt6NmzJz755BO4urri8uXLOVYHaZiIaM0LwBgASxO/Xw7A6Y11VwFYAHACsPyN5cnapfWqXLmyEL3N19dX0yWQluGYyP3Cw8OlU6dOAkA6duwo4eHh72wfFRUl1tbWYmZmJk+ePEm1TW4ZF9euXZOCBQuKhYWFHDt2LGn5tm3b5KOPPhIzMzMZPXq03LlzR8LDw6VGjRpSuHBhuXbtmsTHx8uECRMEgDg6Okp0dPR793fx4kVp1KiRAJBGjRrJlStXsvPwckx8fPx722TnmIiNjZUzZ86Im5ubGBkZCQCxs7OTPXv2SGxsbLbtlzLnzTEB4IxkIAtrxT9plVLTlVIhALrj/6+YlwLw5j/t7ycuS2s5ERERPvroI2zevBmzZ8/Gjh07kqYmXL16NdX2Hh4eOHPmDMLCwuDp6ZnD1WatMWPGQEdHB/7+/snmeDs4OMDf3x9NmjTBzJkzUaFCBdSuXRt//fUXNm/eDEtLSyilMGXKFHh5ecHb2xu2trZ4/vx5in08e/YMP/30E1q0aIE6dergypUrWL16NY4dO4YqVark5OFmm5y8Up4aXV1d1KtXD0uXLsW9e/cwefJkBAYGok2bNqhQoQKmTZuGoKAgfvBWHqQkg3PJ0rUTpQ4DME9l1TgR2flGuzEAjETEUym1B8APInI8cd3vAEYBsElsMy1x+QQAkSIyO5X99kHCNBgUL1683ubNm7P2wCjXe/nyJQoVKqTpMkiLcEzkLUFBQdi0aRNOnjyJ+Ph41KpVC9999x1q1qwJADh27Bg8PT3RqVMnxMbGYteuXVi5ciXKly+fbDu5YVwEBQVh0KBBcHFxeefc6EePHmHPnj04fPgwHB0d0b59+xRtDh06hJkzZ+Ljjz/G999/j5IlSyIgIAB79uzB6dOnERcXh9KlS6NZs2bo2LEjTE1Ns/HItFNOj4nY2FicOHECu3btwtmzZwEAxsbGsLKyQrVq1VChQgWUL18epUqV4s3PGvLmmGjWrFmgiFineyMZucyeXS8AZQAECaeyUA7JLW9PU87hmMibHj58KF5eXlKqVCkBIN27d5c//vhDTE1N5bPPPpPo6Gh5+vSpmJmZSYsWLVJMZUhtXFy6dEkqVKggHTp0kK1bt0pkZGQOHU1K8fHx8sUXX4iFhYW8fPkyS7Z59OhRKVKkiBQrVkw++eQTASAlSpQQd3d3OXv27AdN98jLNHmuuHPnjqxbt0769u0rNWrUEB0dHQEgAKRIkSJy7tw5jdWWn+WJqSxKKcs3frQHcCXx+10AnBOfzvI5gDAReQjgNwAtlVJmiTd9tkxcRkRElCpzc/Ok6Szjxo3Dli1b0LhxYyilsGnTJhgYGKBo0aKYNGkSDh8+jN27d79ze2FhYXBwcEBYWBhOnDiBjh07wtzcHHPmzMmhI0pu+/btOHnyJKZMmQJjY+Ms2WaTJk1w6tQpfPLJJ6hWrRq2bNmCkJAQzJo1C3Xr1tX4dI/8rGzZsnB2dsayZctw6dIlvHz5EoGBgVi7di309PTQt2/fdN3Aq+2Cg4OxcePG/PEBTBlJ81n5ArAVQBCAiwB2AyiVuFwBWAzgJoBLAKzf6PMtgBuJL5cP2Q+vmFNqeHWU3sYxkT/cvHlTXF1d5dChQ8mWx8TESLVq1aRChQoydepUGTJkiPTo0UOGDRuWdNNdXFyctGvXTvT09OSPP/6Q169fy8GDB6V169YCQLZs2ZLt9Z8+fVq8vb3l/PnzEh4eLpaWllK9enV5/fp1tu+bEmjrueLnn38WALJ06VJNlyIiIg8ePBAHBwd58OBBuvpFRkbK+vXrk24uBiB6enpiZ2cnGzZs0MqbYLPiirnGg3lOvRjMKTXaemIlzeGYoIMHD4pSSgCIiYmJWFhYCACpW7eunDx5UqZNmyYAZMGCBcn6RUVFSYMGDaRQoUISHBycrfXp6uomhZX/Xnv27Mm2fVJK2nquiI+Pl2bNmompqak8evRI0+XIrFmzBIAMGjTog/u8fv1arK2tBYBYWlrKrFmz5OTJkzJq1KikaVWenp7ZV3QGMZgzmFMmaeuJlTSHY4JERMLCwpIeF/jfYwT/m5+ulJJu3bqlOsc6JCRESpQoIZUrV5YXL15keV2XL18WU1NTqVGjhgQEBIi3t7dMmjRJvLy88v2c75ymzeeKy5cvi76+vvTo0UPTpYiNjY0AECMjow/+h8LcuXMFgKxcuTLFuI6LixMHBwcxMTGR0NDQ7Cg5w/LEHHMiIiJtY2JiAgMDAwAJj85r3rw5rly5glGjRqFdu3ZYsWJFqnOsS5cuDR8fH9y6dQvOzs4JV8Ay4MmTJ5g5cyaGDx8Of39/iAhCQ0PRtm1bGBgYYPfu3bC2tkbXrl3h6ekJDw8PzvmmJFWrVoWHhwc2bNiAxYsXa+zDs8LCwnD8+HF07NgRMTExmDt37nv7PHjwABMnToSdnR2+/fbbFONaR0cHkyZNQnh4OObPn59NlWtQRtJ8bnzxijmlRpuveJBmcExQatI7LubNmycAZP369enq5+/vL926dRMDAwMBkPTVyspK6tWrJwYGBnL8+PF0bZOyh7afKyIiIqRmzZpJU52qVq0qI0eOlGfPnuVYDVu2bBEAcuzYMXF0dJRChQq9d/9du3YVIyMjuXnz5jvbdezYUeuumvOKORERkRYaPHgwGjRoAHd39xQf0rNo0SKMHz8esbGxyZbv2rULDRs2xN69e+Hm5obg4GA8fvwYK1asgKmpKc6ePYsVK1agUaNGOXkolEsVKFAA586dQ0BAAGbOnIly5cphzpw5sLS0xJIlS1KMv+ywb98+mJqaomHDhhg7dixevnyJhQsXptn+0KFD2LRpE8aOHYsKFSq8c9sTJ07Mm1fNM5Lmc+OLV8wpNdp+xYNyHscEpSYj4+Ls2bOio6Mj/fr1S1q2dOnSpCuY7du3l4iICBEROXz4sBgaGkr9+vXTnJueVc8np6yRG88VFy9elGbNmgkAqVmzppw/f/6d7R88eCCOjo7y559/pntf8fHxYm5uLl26dElaZm9vL2ZmZhIeHp6i/b///iuWlpZiaWn5wZ8J0LFjRzE1NZXnz5+nu77swCvmREREWqpu3boYOHAgli1bhoCAAGzfvh0DBgyAnZ0d5s+fj507d+Lrr7/GgQMHYG9vD0tLS+zfvz/NT9HMqueTU/5Vs2ZN/P7779iyZQuePXuGL774Aml9Kvq9e/fQpEkTeHt7w9nZGdHR0am2e/jwIRYsWIDmzZtjy5YtScvPnTuHR48e4X//+1/SsnHjxuH58+cYOXIkYmJikpb/888/sLGxwa1bt7B06VIYGRl90PFMnDgRYWFh6NWrFzw9PTFp0iQsXLgQ8fHxH9RfK2UkzefGF6+YU2py4xUPyl4cE5SajI6LsLAwsbCwEEtLSzE0NJQGDRokXfnetGlT0hzyihUryt9//52FFVN2y+3niocPH8oXX3whAGTUqFHJngt+48YNKVu2rJiamiY9HnTq1KnJ+gcHB0vz5s2TPVq0UKFCcu3aNRERmTp1qgCQf/75J1m/wYMHCwCpVauWnD17Vq5fvy4VKlSQAgUKZOiRn998802KR4fu3bs3A7+RzOPjEhnMKZNy+4mVsh7HBKUmM+Pi119/Tbr57unTp8nWHTlyROzt7eX27duZK5ByXF44V0RHR4ubm5sAkOLFi8vnn38uTk5O8vHHH0uRIkUkMDBQRES6dOkihoaGcv36dRERuXDhghQrVkxKlCghEydOlMuXL0tISIgUKVJE6tWrJ9HR0dKwYUP57LPPUt3v7t27xdzcXPT09MTMzEyKFi0qp0+fztSxxMfHS1RUlBQpUkQcHR0zta2M4lQWIiIiLde1a1d4e3vjyJEjKFq0aLJ1zZo1w44dO1CuXDnNFEf5moGBAZYuXQpvb2+0a9cOBQsWxKlTp/DRRx/Bz88Pn376KQBg3rx5MDQ0xIABA3D+/Hk0b94choaGOH78OCZPnoyqVauidOnSWLVqFQIDA9G/f3+cPn0adnZ2qe63TZs2CA4OhpOTE0qXLo2TJ0+iQYMGmToWpRQMDQ3h6OiIHTt2ICwsLFPb0xQ9TRdARESUlyml0LVrV02XQZSmrl27vnOMfvzxx5g+fToGDRqEY8eOoXjx4vD19UXFihWTtWvfvj3c3NywbNkyAEgzmANAkSJFsH79+qw5gDc4OztjyZIl2LJlC3r37p3l289uvGJORERERO/Ur18/fP755zA3N8fRo0dThPL/zJkzB1ZWVihZsiSsra1zuEqgfv36qFy5corQP2HCBDRp0gT379/P9hp+/fXXDPflFXMiIiIieiddXV34+vomTRlJS8GCBXHkyBE8f/4cOjo5f/1XKQVnZ2eMHz8ed+7cQbly5bB7925MmzYNANCgQQPs3r07aZpOVrt27RpcXV0z3J9XzImIiIjovYyMjN4Zyv9TsmRJVK1aNQcqSl337t0BABs2bMCDBw/g4uKCOnXq4MyZM9DT00Pjxo2xe/fudG1TRPDjjz++82p4TEwMHB0dP+h3lBYGcyIiIiLKM8qVK4emTZti/fr1cHZ2RmRkJLy9vVGvXj2cPn0aVlZWsLe3h6OjIy5evJisb3R0NMLDw5Mti4+Px6BBgzBkyBB0794du3btSnW/K1aswLlz57B27doM185gTkRERER5irOzM65fv44jR45g4cKFqFKlCgDAwsICfn5+GDVqFPbt24fatWujXbt26N+/Pz777DOYmJigWLFi6Nu3L27fvo3Y2Fi4uLhg8eLFGDp0KKytreHk5ISzZ88m29+uXbuwdetWDBkyBG3bts1w3SrhUYt5X5UqVeTq1auaLoO0jJ+fH2xsbDRdBmkRjglKDccFvY1jQruFh4ejfPnyaNmyJTZu3AilVIo2z58/x8KFC7FgwQLExsbC2toa1tbWCAsLw5o1axAXF4dq1aohKCgIU6dOxbhx4/Do0SM0aNAAcXFx8Pf3x8OHD7F+/XqsWbMGFhYWuHTpEgwNDaGUChSRdN/9yps/iYiIiChPMTExwY0bN1C4cOFUQzkAmJmZYeLEiRg3bhyUUsluVp0wYQJmz56NdevWYf78+RgyZAiAhCvue/fuRaNGjWBpaYnIyEgYGhrC3t4eDg4OmZpfDnAqCxERERHlQWZmZmmG8jfp6uqmeIJMqVKlMG/ePISGhiaF8v/UrFkT27ZtQ7NmzbB8+XI8evQImzZtgrm5eaZr5hVzIiIiIqJ0aNGiBVq0aJHl2+UVcyIiIiIiLcBgTkRERESkBRjMiYiIiIi0AIM5EREREZEWYDAnIiIiItICDOZERERERFqAwZyIiIiISAswmBMRERERaQEGcyIiIiIiLcBgTkRERESkBRjMiYiIiIi0AIM5EREREZEWYDAnIiIiItICDOZERERERFqAwZyIiIiISAswmBMRERERaQEGcyIiIiIiLcBgTkRERESkBZSIaLqGHKGU+hfAVU3XQVqnGICnmi6CtArHBKWG44LexjFBb3tzTJQVkeLp3YBe1taj1a6KiLWmiyDtopQ6w3FBb+KYoNRwXNDbOCbobVkxJjiVhYiIiIhICzCYExERERFpgfwUzFdougDSShwX9DaOCUoNxwW9jWOC3pbpMZFvbv4kIiIiItJm+emKORERERGR1soXwVwpZauUuqqUuqGUGq3pekgzlFJ3lFKXlFLnlVJnEpcVUUodUkpdT/xqpuk6KXsppVYrpR4rpYLeWJbqOFAJfkw8d1xUSn2qucopu6QxJiYppR4kni/OK6Xs3lg3JnFMXFVKtdJM1ZSdlFKfKKV8lVJ/KaWClVJDEpfzXJGPvWNcZNn5Is8Hc6WULoDFAFoDsALgpJSy0mxVpEHNRKTOG48zGg3gdxGxBPB74s+Ut60FYPvWsrTGQWsAlomvPgCW5lCNlLPWIuWYAIB5ieeLOiKyDwAS/344Aqie2GdJ4t8ZyltiAYwQESsAnwMYkPjfnueK/C2tcQFk0fkizwdzAPUB3BCRWyISA8AbgL2GayLtYQ9gXeL36wC011wplBNE5BiA0LcWpzUO7AGslwSnARRWSlnkSKGUY9IYE2mxB+AtItEichvADST8naE8REQeisjZxO//BXAZQCnwXJGvvWNcpCXd54v8EMxLAQh54+f7ePcvkfIuAXBQKRWolOqTuKykiDxM/P4RgJKaKY00LK1xwPNH/jYwcVrC6jemuXFM5DNKqXIA6gL4EzxXUKK3xgWQReeL/BDMif7zpYh8ioS3HAcopZq8uVISHlHExxTlcxwHlGgpgIoA6gB4CGCORqshjVBKFQKwFcBQEQl/cx3PFflXKuMiy84X+SGYPwDwyRs/l05cRvmMiDxI/PoYwHYkvJ30z39vNyZ+fay5CkmD0hoHPH/kUyLyj4jEiUg8gJ/w/28/c0zkE0opfSSEr19EZFviYp4r8rnUxkVWni/yQzAPAGCplCqvlDJAwiT8XRquiXKYUspYKfXRf98DaAkgCAljoVdis14AdmqmQtKwtMbBLgDOiU9c+BxA2BtvY1Me9tb8YAcknC+AhDHhqJQyVEqVR8LNfv45XR9lL6WUArAKwGURmfvGKp4r8rG0xkVWni/0srZk7SMisUqpgQB+A6ALYLWIBGu4LMp5JQFsT/h/CnoANorIAaVUAIDNSqneAO4C6KLBGikHKKV+BWADoJhS6j4ATwA/IPVxsA+AHRJu2IkA4JLjBVO2S2NM2Cil6iBhqsIdAH0BQESClVKbAfyFhCc0DBCROA2UTdmrEYCeAC4ppc4nLhsLnivyu7TGhVNWnS/4yZ9ERERERFogP0xlISIiIiLSegzmRERERERagMGciIiIiEgLMJgTEREREWkBBnMiIiIiIi3AYE5EREREpAUYzImIiIiItACDORERpaCU8lVKfZ34/TSl1EJN10RElNfl+U/+JCKiDPEEMEUpVQJAXQDtNFwPEVGex0/+JCKiVCmljgIoBMBGRP7VdD1ERHkdp7IQEVEKSqmaACwAxDCUExHlDAZzIiJKRillAeAXAPYAXiqlbDVcEhFRvsBgTkRESZRSBQFsAzBCRC4DmIqE+eZERJTNOMeciIiIiEgL8Io5EREREZEWYDAnIiIiItICDOZERERERFqAwZyIiIiISAswmBMRERERaQEGcyIiIiIiLcBgTkRERESkBRjMiYiIiIi0wP8BHkdA9V4ziEQAAAAASUVORK5CYII=\n" + }, + "metadata": { + "needs_background": "light" + } + } + ], + "source": [ + "mu_plot, var_plot = bayesopt_loop_cust.model.predict(x_plot)\n", + "plt.figure(figsize=(12, 8))\n", + "plt.plot(bayesopt_loop_cust.loop_state.X, bayesopt_loop_cust.loop_state.Y, \"ro\", markersize=10, label=\"Observations\")\n", + "plt.plot(x_plot, y_plot, \"k\", label=\"Original Function\")\n", + "plt.plot(x_plot, z_plot, \"c\", label=\"Optimization Function\")\n", + "plt.plot(x_plot, mu_plot, \"C0\", label=\"Model\")\n", + "x_mean = np.mean(bayesopt_loop_cust.loop_state.X)\n", + "plt.scatter(x_mean, f(np.array(x_mean)), label=\"Average\", color='b', s=500)\n", + "plt.scatter(bayesopt_loop_cust.get_results().minimum_location,\n", + "bayesopt_loop_cust.get_results().minimum_location, label=\"Maximum original function / minimum optimization function\", color='g', s=500)\n", + "plt.legend(loc=2, prop={'size': 10})\n", + "plt.xlabel(r\"$x$\")\n", + "plt.ylabel(r\"$f(x)$\")\n", + "plt.grid(True)\n", + "plt.xlim(smin, smax)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "2609.8731024587296\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "\u001b[1mGP_regression.Brownian.variance\u001b[0;0m:\n", + "Param([143.47661659])" + ], + "text/html": "\n\n\n\n \n \n \n\n" + }, + "metadata": {}, + "execution_count": 9 + } + ], + "source": [ + "#Variance parameter gets automatically optimized; you may set it as fixed too (see GPy docs).\n", + "print(np.var(X_init)) #Initial value we set it to; this should be meaningful with respect to the variance across the year levels.\n", + "bayesopt_loop_cust.model.model.parameters[0].variance #final iteration value" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "30\n[126.70469201]\nOptimization restart 1/1, f = 199.87407794231405\n31\n" + ] + } + ], + "source": [ + "#This is how we ask for the next best guess for x, evaluate its y offline (example evaluation: 42) and come back to update the model\n", + "from emukit.core.loop import UserFunctionResult\n", + "print(bayesopt_loop_cust.loop_state.iteration)\n", + "state = bayesopt_loop_cust.loop_state\n", + "next_point = bayesopt_loop_cust.candidate_point_calculator.compute_next_points(state)\n", + "print(next_point[0])\n", + "evaluation_result = [UserFunctionResult(next_point[0], np.array([42]))]\n", + "state.update(evaluation_result)\n", + "bayesopt_loop_cust.model_updaters[0].update(state)\n", + "print(bayesopt_loop_cust.loop_state.iteration)" + ] + } + ] +} \ No newline at end of file
indexGP_regression.Brownian.varianceconstraintspriors
[0] 143.47661659 +ve