Skip to content

Instantly share code, notes, and snippets.

@ajfriend
Created January 25, 2022 20:06
Show Gist options
  • Save ajfriend/63b4f0095de08756bbb26d66cf99db9b to your computer and use it in GitHub Desktop.
Save ajfriend/63b4f0095de08756bbb26d66cf99db9b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "39e744f0",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import cvxpy as cvx\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def plot_xy(x, y, **kwargs):\n",
" fig, ax = plt.subplots(figsize=(10,10))\n",
" ax.plot(x, y, '-o', **kwargs)\n",
" ax.plot(x, x, '--r', alpha=.3, label='y=x')\n",
" ax.vlines(x, 0, 1, alpha=.3)\n",
" ax.hlines(y, 0, 1, alpha=.3)\n",
" ax.set_aspect('equal')\n",
" \n",
" return fig, ax"
]
},
{
"cell_type": "markdown",
"id": "c90493ed",
"metadata": {},
"source": [
"# Problem\n",
"\n",
"We want a PWL approximation of the convex set $\\lbrace (x, y) \\in \\mathbf{R}^2 \\mid x^2 \\leq y,\\ 0 \\leq x \\leq 1 \\rbrace$.\n",
"\n",
"# PWL set\n",
"\n",
"We can construct a PWL approximation with $2^N$ affine segments with just $\\mathcal{O}(N)$ variables and linear constraints.\n",
"The segments will be spaced evenly over the $0 \\leq x \\leq 1$ interval, with each sement having length $\\frac{1}{2^N}$.\n",
"\n",
"Precisely, the kinks of the PWL approximation are given by\n",
"\n",
"$$\n",
"(x_i, y_i) = (x_i, x_i^2) = \\left(\\frac{i}{2^N}, \\frac{i^2}{2^{2N}}\\right)\n",
"$$\n",
"\n",
"for $i = 0, \\ldots, 2^N$."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "871ff543",
"metadata": {},
"outputs": [],
"source": [
"def form_pwl_points(N):\n",
" x = np.array([ i/(2**N) for i in range(1 + 2**N)])\n",
" y = np.array([ (i**2)/(2**(2*N)) for i in range(1 + 2**N)])\n",
" \n",
" # alternatively:\n",
" # x = np.linspace(0, 1, 1 + 2**N)\n",
" # y = x**2\n",
" \n",
" return x, y"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "e533791c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(<Figure size 720x720 with 1 Axes>, <AxesSubplot:>)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"N = 2\n",
"\n",
"x, y = form_pwl_points(N)\n",
"plot_xy(x, y)"
]
},
{
"cell_type": "markdown",
"id": "6f65a520",
"metadata": {},
"source": [
"# Constructing the lifted representation\n",
"\n",
"Let $x = (x_0, \\ldots, x_N) \\in \\mathbf{R}^{N+1}$ and $y = (y_0, \\ldots, y_N) \\in \\mathbf{R}^{N+1}$.\n",
"\n",
"Let $\\epsilon = \\frac{1}{2^N}$ and $\\delta_i = 2^i \\epsilon$.\n",
"\n",
"Start with the constraints\n",
"\n",
"$$\n",
"\\begin{align*}\n",
"0 \\leq x_0 \\leq \\delta_0 \\\\\n",
"\\delta_0 x_0 \\leq y_0 \\\\\n",
"\\end{align*}\n",
"$$\n",
"\n",
"Then, for $i = 0, \\ldots, N-1$, add the constraints\n",
"\n",
"$$\n",
"\\begin{align*}\n",
"x_i \\geq \\left| x_{i+1} - \\delta_i \\right| \\\\\n",
"y_i \\leq y_{i+1} - 2\\delta_i x_{i+1} - \\delta_i^2 \\\\\n",
"\\end{align*}\n",
"$$\n",
"\n",
"The PWL approx to $x^2 \\leq y$ is given by $(x_N, y_N)$ over the range $0 \\leq x_N \\leq \\delta_N = 1$."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "bf6f7322",
"metadata": {},
"outputs": [],
"source": [
"def form_pwl_quad(N):\n",
" eps = 2**(-N)\n",
" \n",
" x = cvx.Variable(N+1)\n",
" y = cvx.Variable(N+1)\n",
"\n",
" cst = [\n",
" 0 <= x[0],\n",
" x[0] <= eps,\n",
" eps*x[0] <= y[0],\n",
" ]\n",
" \n",
" for i in range(N):\n",
" delta = eps*(2**i)\n",
" \n",
" cst += [\n",
" x[i] >= cvx.abs(x[i+1] - delta),\n",
" y[i] <= y[i+1] - 2*delta*x[i+1] + delta**2,\n",
" ] \n",
"\n",
" return cst, x[N], y[N]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "bb36efed",
"metadata": {},
"outputs": [],
"source": [
"def make_approx(N):\n",
" cst, x, y = form_pwl_quad(N)\n",
" \n",
" def foo(a):\n",
" prob = cvx.Problem(\n",
" cvx.Minimize(y),\n",
" cst + [x >= a]\n",
" )\n",
"\n",
" prob.solve()\n",
"\n",
" return prob.value\n",
" \n",
" return foo"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "ca231309",
"metadata": {},
"outputs": [],
"source": [
"N = 4\n",
"\n",
"foo = make_approx(N)\n",
"\n",
"x_cvx = np.linspace(0, 1, 100)\n",
"y_cvx = [foo(a) for a in x_cvx]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "5c82aa0c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x12c16faf0>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAI/CAYAAACWBcZYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABvxElEQVR4nO3dd3ic1Z33//eZ0YykUS+WZUuy5SpXcO8GmxID2YAhgQRINkDaZlNI+WU3ebIPuynPZp9kw242ybMpJJseEgghhBpqwLjgIndb7k1WG1ltNCNpNPf9+2PGRsg2lm1J95TP67p82RqNdb6jAfvjc77nHGPbNiIiIiKpzOV0ASIiIiJOUyASERGRlKdAJCIiIilPgUhERERSngKRiIiIpDwFIhEREUl5aU4NXFxcbFdWVjo1vIiIiKSgzZs3+23bHtH/cccCUWVlJZs2bXJqeBEREUlBxpij53pcS2YiIiKS8hSIREREJOUpEImIiEjKc6yH6FzC4TAnTpygq6vL6VIkJiMjg/Lycjwej9OliIiIDJm4CkQnTpwgJyeHyspKjDFOl5PybNumubmZEydOMG7cOKfLERERGTJxtWTW1dVFUVGRwlCcMMZQVFSkGTsREUl6cRWIAIWhOKP3Q0REUkHcBSKnud1uZs2axYwZM7j99tsJBoN89rOf5T//8z/PPGfVqlV8+MMfPvPx5z//eR588EGOHDnCjBkzHKj6/AKBAPPmzWP8+PGcPHnyLZ+7++67qaqqYsaMGdx3332Ew2GHqhQREXGWAlE/mZmZbN26lZ07d+L1evnBD37A0qVLWbt2LQCWZeH3+9m1a9eZ37N27VqWLFniVMnn1dvbyx133MEHPvABvvWtb3HLLbfQ3t5+5vN33303e/fuZceOHYRCIR566CEHqxUREXFOQgeix6trWfpvLzHui0+x9N9e4vHq2kH9+suXL+fAgQMsWbKEdevWAbBr1y5mzJhBTk4OLS0tdHd3s2fPHubMmXPBr9fR0cG4cePOzMS0t7e/5eNLsXHjRq644gq6urro7Oxk+vTp7Ny5E4CPfexj3Hjjjdx///28+93v5stf/jLve9/7zox30003YYzBGMOCBQs4ceLEJdchIiKSyOJql9nFeLy6li89toNQOAJAbWuILz22A4DVs8su++v39vbyzDPPcMMNNzB69GjS0tI4duwYa9euZfHixdTW1rJu3Try8vKYOXMmXq/3gl8zJyeHFStW8NRTT7F69WoefvhhbrvttrO2tP/617/mW9/61lm/f+LEiTz66KNveWz+/PncfPPN/NM//ROhUIj3v//9Z5btfvKTn7zluatXr2b16tVnfd1wOMwvf/lLvvOd71zwNYiIiCSjuA1EX/nzLnafbD/v56uPtdITsd7yWCgc4R8e3c5v3zh2zt8zbXQu//yu6W87bigUYtasWUB0huhDH/oQAEuWLGHt2rWsXbuWz33uc9TW1rJ27Vry8vJYunTpgF/Xhz/8Yb75zW+yevVq/ud//ocf//jHZz3n7rvv5u677x7w13zggQeYP38+GRkZ/Nd//deAf99pf//3f89VV13F8uXLL/r3ioiIJIO4DUQX0j8MXejxgTrdQ9Tf6T6iHTt2MGPGDCoqKvj2t79Nbm4u995774C//tKlSzly5AivvPIKkUjknE3YFzNDBNDc3EwgECAcDtPV1UVWVtaA6/nKV75CU1MTP/zhDwf8e0RERJJN3AaiC83kLP23l6htDZ31eFl+Jr/72OJBr2fJkiX8+7//O+PHj8ftdlNYWEhrayu7du065yzP2/nbv/1b7rrrLv73//7f5/z8xc4QfexjH+NrX/sahw8f5h//8R/53ve+N6Df99BDD/Hcc8/x4osv4nIldDuZiIjIZUnYvwW/sKqKTI/7LY9letx8YVXVkIw3c+ZM/H4/ixYtestjeXl5FBcXn3mspqaG8vLyMz8eeeSRs77W3XffTUtLC3feeedl1/WLX/wCj8fDXXfdxRe/+EU2btzISy+9NKDf+3d/93c0NDSwePFiZs2axVe/+tXLrkdERCQRGdu2HRl43rx59qZNm97y2J49e5g6deqAv8bj1bV867kaTraGGJ2fyRdWVQ1KQ/VQe/TRR/nTn/7EL3/5S6dLGZCLfV9ERETilTFms23b8/o/HrdLZgOxenZZQgSgvj71qU/xzDPP8PTTTztdioiIiMQkdCBKRN/97nedLkFERET6SdgeIhEREZHBcsFAZIz5qTGm0Riz8zyfN8aY/zLGHDDGbDfGXPjIZhEREZE4MpAls58B3wN+cZ7P3whMiv1YCPx37GcRERGRC3r29c288spzmKAf21fMihWruGHp3GGt4YIzRLZtvwqcepun3AL8wo5aD+QbY0YNVoEi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\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x, y = form_pwl_points(N)\n",
"fig, ax = plot_xy(x, y, label='PWL y = x^2')\n",
"\n",
"ax.plot(x_cvx, y_cvx,'o', alpha=.3, label='PWL cvxpy')\n",
"ax.legend(loc='upper left')"
]
},
{
"cell_type": "markdown",
"id": "2f407b56",
"metadata": {},
"source": [
"# New functions: $x + \\alpha x (1-x)$\n",
"\n",
"We can use the quadratic PWL approximation to create new functions.\n",
"\n",
"For example, we can get a PWL approximation to the concave function \n",
"\n",
"$$\n",
"y = x + \\alpha x (1-x),\n",
"$$\n",
"\n",
"with parameter $\\alpha \\in [0,1]$.\n",
"\n",
"When $\\alpha = 0$, we get $y = x$. Curvature increases as we increase $\\alpha$."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "c45dfe32",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"N = 4\n",
"alpha = .5\n",
"\n",
"x, y = form_pwl_points(N)\n",
"# y = x + alpha*x*(1-x)\n",
"# y = x + alpha*x - alpha*x**2\n",
"y = (1 + alpha)*x - alpha*y\n",
"\n",
"plot_xy(x,y);"
]
},
{
"cell_type": "markdown",
"id": "ad7def32",
"metadata": {},
"source": [
"# New functions: $(1-\\alpha)x + \\alpha \\sqrt{x}$\n",
"\n",
"We can get a PWL approximation to the function\n",
"\n",
"$$\n",
"y = (1-\\alpha)x + \\alpha \\sqrt{x},\n",
"$$\n",
"\n",
"with parameter $\\alpha \\in [0, 2]$.\n",
"\n",
"When $\\alpha = 0$, we get $y = x$. Curvature increases as we increase $\\alpha$."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "769ae375",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAI/CAYAAACWBcZYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABjgUlEQVR4nO3dd3xc1Zn/8c/RqHhkyZYld1mSC+4YcMM2EHrihBQckmyooQUIhGQ3xZuQsskvcRaSbLKbQhIIvbeA46wpm04IwbjIVbhhLNtykSUhW32kuff3x0iOrDrlztyZO9/36+UXnnvPec5jBtsP5557jrFtGxEREZF0luF2AiIiIiJuU0EkIiIiaU8FkYiIiKQ9FUQiIiKS9lQQiYiISNpTQSQiIiJpL9OtgUeOHGlPnDjRreFFREQkDa1fv77Gtu1RPa+7VhBNnDiRdevWuTW8iIiIpCFjTGVf1/XITERERNKeCiIRERFJeyqIREREJO2pIBIREZG0p4JIRERE0p4KIhEREUl7KohEREQk7akgEhERkbSngkhERETSngoiERERSXsqiERERCTtqSASERGRtKeCSERERNKeCiIRERFJeyqIREREJO2pIBIREZG0p4JIRERE0p4KIhEREUl7KohEREQk7Q1aEBljHjDGVBtjtvZz3xhjfmqM2W2M2WyMmed8miIiIiLxkxlGm4eAnwOP9HP/A8DUzh+LgF92/lNERERkUCvLq/jhKzs4WN/C+AI/y5dOZ9nc4oTmMOgMkW3brwJ1AzS5FHjEDnkDKDDGjHMqQREREfGuleVV3PH8FqrqW7CBqvoW7nh+CyvLqxKaRzgzRIMpBvZ3+3yg89ohB2LHZH3lQHWciIiIuG3F6gpa2oMnXWtpD/LDV3YkdJbIiYIobMaYm4GbAUpLS+M61uNrKqmsbaasKPek6zPG5gOw/XDDgJ/7uzbQdafuh9smknaRto2mfbR9YukXa18n+jsVw8k4TsdKhXjxjpvKsRM5hhfHSZfx3Bq3tqGVoYFWmnJO/vv6YH1LQsbv4kRBVAWUdPs8ofNaL7Zt3wvcC7BgwQLbgbEHVFaU2+sLnV9WGNHn/q4NdN2p++G2iaRdpG2jaR9tn1j6xdrXif5OxXAyjtOxUiFevOOmcuxEjuHFcdJlvESNa9s2j/z9HU49/DZFzcf4R9lptGVmn7g/vsAf1/F7cuK1+1XApzrfNlsMHLNt2/XHZSIiIpKcjre287nH1vPcr1cxP7uFA2NKTiqG/Fk+li+dntCcBp0hMsY8CZwPjDTGHAC+BWQB2Lb9K+BF4BJgN9AMXB+vZEVERCS1ba06xu2PraNg+1Y+OyOX933iw6xqGMKK1RXUNgZce8ts0ILItu0rBrlvA591LCMRERHxHNu2eXzNPr7zvxXMbq3lB2ePYuqFi2HyZJYBJYWhR2RuPSJM6KJqERERST+NbR3c8fwWfrfpIOdNG8WPP3EBRS3HYfRot1M7QQWRiIiIxM1bh47z2cc3UFnTwH9Oz+TyT84hI3cI5A9xO7WTqCASERERx9m2zdNr9/OtVdsoyPGxcrGfOb4WqK2B3JLBAySYCiIRERFxVFNbB99YuZUXyqs4d0ohP51uU3CsFmbPhpLkK4ZABZGIiIg4aOeRBm59bD17apr44kWn8Nnhx/EdORwqhiZPdju9fqkgEhEREUc8u24/3/ztVvJysnj8xkWcVToMXn896YshUEEkIiIiMWoJBPnmb7fy3PoDLJlcxE8+eRqj84dARgace27on0lOBZGIiIhEbXd1A7c9voFd1Y18/qKp/OsFU/BtLA/dnD8/JYohUEEkIiIiUXqh/ABff2Er/iwfj9xwJu+ZUgQbNsChQ6HHZMa4nWLYVBCJiIhIRFrbg3x71TaeWrufMycV8rMr5jImL/vkYijJ1wz1pIJIREREwrbnaCO3Pb6B7YcbuO38KXzxvdPI9GXAxo0pWwyBCiIREREJ06pNB7njN5vJzszgwesXcsH0bkdvlJVBQQFMnOhWejFRQSQiIiIDam0P8t3/reDxNfuYXzaCn10xl/EFfrAsqK6GsWNhxIjQjxSlgkhERET6tbemic8+sYFtB49zy7mT+fLS6WT5MkLFUNeaoXPPheHD3U41JiqIREREpE8vbjnEV57bTEaG4f5rF3DRzDGhG92LodmzU74YAhVEIiIi0mlleRUrVldQ2xggN9tHUyDIGSUF/PzKuUwYkRtq1LMYSsEF1H1RQSQiIiKsLK/ijue30NIeBKApEMSXYbh6Uek/iyGA2lrPFUPg8YKosra533vbDzcM+Lm/awNdd+p+uG0iaRdp22jaR9snln6x9nWiv1MxnIzjdKxUiBfvuKkcO5FjeHGcdBlvxeqKE8VQl6Blc9fL25k0ami3qz4yJp+G5cuHyjrHxt9+uIEZY/Mdixep1NhPW0REROKmI2hR0xjo815tYwAsC//WzfjqagGw8twrXOLF0zNEZUW5varN+WWFEX3u79pA1526H26bSNpF2jaa9tH2iaVfrH2d6O9UDCfjOB0rFeLFO24qx07kGF4cx6vjHT7Wyuee3NDv/eJhOcyv3QtWAxRkQoJ//YmiGSIREZE09dquGj7407+x7eBxrllcij/Ld9L93EzDirLAP9cMTZrkUqbx5+kZIhEREektaNn87E+7+MkfdzF1dB6/uGo+p4zOY35Z4Ym3zIqH5bCiLMD5w4KeW0DdFxVEIiIiaaS2sY1/e3ojf9tVw2Vzi1nx0VPJzQ6VA8vmFlNS6AdgfumI0Plkw4d7vhgCFUQiIiJpY31lHZ99vJy65gB3XjaHyxeWYIw5uZFlYdrbwRiYO9edRF2ggkhERMTjbNvm/tfe4a6XtlM8ws/zt57FqcV97C5tWeRu3YSvsQGmfBh8vt5tPEoFkYiIiIcda2nn35/bxCvbjrB09hh++InTGTYkq3fDzh2os6qP0DJtRloVQ6CCSERExLO2Vh3jtsc3cLC+hW98cCY3njOp9yMyOOk4jpZpMwiUTkx4rm5TQSQiIuIxtm3z5Jv7+fbvtlGYm83TtyweeD+jHTtOvFof8BUkLM9kooJIRETEQ5oDHXzjha08X17Fe6aO5H8+eQZFeTkDd5oyBfLzYcIER4/jSCUqiERERDxid3Ujtz2+nl3VjXzh4mncfuEp+DL6eEQGocdk77wT2mwxOztUDKUxFUQiIiIe8NuNodPq/Vk+Hr1hEedMHdl/425rhhg6FMaOTVyiSUoFkYiISApr6wjy3f+t4LE39rGgbAQ/v3IeY4cP6b9D92Jo9mwVQ51UEImIiKSo/XXNfPaJDWw+cIybz53M8qXTyfINcExpz2IoDXagDpcKIhERkRT0h4ojfPGZjdjAvdfM532zw5jpaWmBmhoVQ31QQSQiIpJCOoIWP/y/Hdzz1z2cWjyMX1w5n9Ki3IE72XboKI6hQ+HCC0OLqOUkKohERERSxJHjrXzuiXLe3FvHVYtK+eaHZjEka5Adpbsekw0fDlOnqhjqhwoiERGRFPD67ho+/1Q5zYEgP7n8DC49o3jwTt3XDBUOsDGjqCASERFJNivLq1ixuoLaxgDjCoZwxoQCXt52mCmj8njq5nmcMjp/8CBaQB0RFUQiIiJJZGV5aD+hlvYgAAfrWzlYf5j5pQU8+ulF5GaH+Vd3ebmKoQh4uiCqrG3u9972ww0Dfu7v2kDXnbofbptI2kXaNpr20faJpV+sfZ3o71QMJ+M4HSsV4sU7birHTuQYXhwn0eOtWF1xohjqrrKumbcOHQ87TlYgG1NQHDqbLILjOBL977X7uDPGhjHzFSeeLohERERSTW1jIKLrJ7EsMhobsYYNo318GGuM5ARPF0RlRbm9qs2ep/0O9rm/awNdd+p+uG0iaRdp22jaR9snln6x9nWiv1MxnIzjdKxUiBfvuKkcO5FjeHGcRIzX1NbBkCxfnzNE4wv8A4/dtWboyJHQq/V+f0y5JPrfq9sG2M5SREREEmV3dQOX3v13WtqDZPY4kNWf5WP50un9d+6+gHrmzJiLoXSkgkhERMRlqzYd5CM//zv1zQGeuGkR//WJ0xmZl40Bigv83HnZHJbN7ecRmN4mc4SnH5mJiIgks0CHxX+++BYPvb6318GsJYWhWZ5BH13t369iyAEqiERERFxw6FgLtz2+gfJ99dx4ziS++oEZAx/M2p/SUsjNhVGjnE8yjaggEhERSbDXdoV2nQ50WPziqnlcMmdcZAEsCyoqQjNCKoYcoYJIREQkQSzL5hd/2c2Pfr+TqaPz+OXV85kyKi/SIP9cMzRsWGiGSGKmgkhERCQB6psDfPGZTfxpezUfnVvM9z56avi7TnfpuYBaxZBjVBCJiIjE2ZYDx7j18fVUH2/ju8tO5epFpRhjBu/Ynd4miysVRCIiInFi2zZPvrmfb6/axqj8HJ79zBJOLymILlgwCC0tKobiRAWRiIhIHLQEgnxj5VZ+s+EA500bxf988gxGDM2OPJBlhf6ZlQVnnw0Z2kIwHlQQiYiIOOydmiZufWw9O4408IWLp/G5C08hIyPCR2Twz8dkHR2waJGKoThSQSQiIuKgl7ceZvmzm8j0GR66/kzOmxblK/GWRe7WTUBz6DFZpGuOJCIqiERERBzQEbT4wSs7uPfVPZxeUsAvrppHcUGUZ4p1FkNZ1UfggsVaM5QAKohERERiVH28ldufLOfNd+q4ZnEZ3/jQTHIyfdEH3LKFrOojtEyboWIoQVQQiYiIxOCNPbXc/kQ5TW0d/OTyM7j0jH4OYY3EpEm0NNgESrTPUKKoIBIREYmCbdvc++oefvDKDsqKcnnipkVMG5MffUDLCu0xVFwMw4apGEowFUQiIiIROt7azpef2cT/VRzhg3PG8f2Pn0ZeTgx/pXbfdNHvh8JBTrgXx6kgEhERGcTK8ipWrK6gtjHAqPwcLMuivqWDb35oFjecPTHyXae767kDtYohV6ggEhERGcDK8irueH4LLe1BAKob2gD4/EWncOM5k2ILruM4koanC6LK2uZ+720/3DDg5/6uDXTdqfvhtomkXaRto2kfbZ9Y+sXa14n+TsVwMo7TsVIhXrzjpnLsRI7hxXFWrK44UQx198SafdHvMdTJ924deZt30TJ1OgFfAVTWnbiXqF9fT26OO2NsDGuwYuTpgkhERCRWNY2BPq/X9nM9EsERhTQsPhtraF7MsSQ2ni6Iyopye1Wb88sKI/rc37WBrjt1P9w2kbSLtG007aPtE0u/WPs60d+pGE7GcTpWKsSLd9xUjp3IMbwyzqs7j2IM2Hbve+ML/NGNbVmwcWPobbIxY4DY/66IB7fGdYsORREREenBsmx+/qddXPvgm4zNzyEn8+S/Lv1ZPpYvnR5N4NCaoaoqaGpyKFtxggoiERGRbo61tHPzo+v4r//byaWnj+ePXz6f73/sNEbmZWOA4gI/d142h2VzI9yAUQuok5qnH5mJiIhE4q1Dx/nMY+upereF71w6m2sWl2GMYdncYkoKQ+eSRfUoybZVDCU5FUQiIiLAC+UHuOP5LQz3Z/H0LYudXUNjDOTkqBhKYiqIREQkrQU6LFasruCRf1SyaFIhP79yHqPyc5wJblkQCMCQITBnjjMxJS5UEImISNo6dKyF2x7fQPm+em4+dzL/vnQ6mT6Hltd2rRl691244ALI1F+5yUzfjoiIpKXX367h80+W0xII8our5nHJnHHOBe+5gFrFUNLTNyQiImml65T677+8nUkjh/LUzYs5ZbSDOyTrbbKUpIJIRETSRkNrO8uf3czL2w5zyZyx/ODjp8d2Sn1fdu1SMZSCVBCJiEha2HWkgVseW09lbTPf+OBMbjxnUmyn1PdnyhTIywvtRC0pQwWRiIh43v9uPsi/P7eZ3Gwfj396EYsnFzk7gGXB22+HZoQyM1UMpSAVRCIi4lntQYu7XtrO/a+9w/yyEdx95TzGDh/i7CDd1wwNHQrjxzsbXxJCBZGIiHhSdUMrtz9Rzpvv1HHdWRP52iUzyc50+MSqnguoVQylLBVEIiLiOev21nHb4xtoaO3gJ5efwaVnxOERlt4m8xQVRCIi4hm2bfPQ63v53uq3mDDCzyM3nsmMscPiM1hrK9TVqRjyCBVEIiLiCc2BDr76my2s2nSQ984aw4/+5XSGDclyfiDbDp1Nlpsb2oE6Kw5jSMKpIBIRkZS352gjtz62gV3VDSxfOp1bz5tCRkYcXqm3LFi/PlQMzZqlYshDVBCJiEjKWVlexYrVFdQ2BhgxNJum1nZyczJ5+IYzec/UUfEZ1LLI3boJaA49JhNPcXi5vYiISHytLK/ijue3UNMYwAbqmgIELJvPXzQ17sVQVvURrRnyKE/PEFXWNvd7b/vhhgE/93dtoOtO3Q+3TSTtIm0bTfto+8TSL9a+TvR3KoaTcZyOlQrx4h03lWMncoxEjLNidQUt7cGTrtk23P3n3Zw2YXhcxvRv3UT1jr0cmzyNY74CqKyLyzjdJer7SqZxZ4x18Ey5CHm6IBIREe+paQz0eb22n+tO6Bg1mmNtmTQWl8ZtDHGXpwuisqLcXtXm/LLCiD73d22g607dD7dNJO0ibRtN+2j7xNIv1r5O9HcqhpNxnI6VCvHiHTeVYydyjHiN89z6A/3eG1/gd3ZMy4L6eigshLJC2seEZoUS9e+vS6LHc3tct2gNkYiIJL1Ah8U3V27ly89uYurooQzJOvmvL3+Wj+VLpzs3YNemi6+/Dk1NzsWVpKWCSEREktqR461c8es3ePSNSm4+dzIv/eu53HXZaYzMy8YAxQV+7rxsDsvmOrQbdfcdqGfNCp1PJp7n6UdmIiKS2tZ2HsHR1NbBz6+cy4dOC50VtmxuMSWFfsDhRzs6jiNtqSASEZGkY9s2j75RyXd+V8GEEX4eu3ER0xPxBtLBgyqG0lRYBZEx5v3ATwAfcJ9t23f1uF8KPAwUdLb5qm3bLzqbqoiIpIPW9iBff2Erv9lwgItmjObHnzyD4f4E7Qg9YQL4/VBUlJjxJGkMWhAZY3zA3cB7gQPAWmPMKtu2K7o1+wbwjG3bvzTGzAJeBCbGIV8REfGw/XXNfOax9Ww7eJx/u3gqn79wanyO4OjOsmDbNpg0CfLyVAylqXBmiM4Edtu2vQfAGPMUcCnQvSCyga7jhIcDB51MUkREvO+1XTV87skNdFg291+7gItmjon/oN3XDA0bFiqIJC2FUxAVA/u7fT4ALOrR5tvA/xljPgcMBS52JDsREfE827a559U9/ODl7ZwyOo97rlnApJEJeLOr5wLqsrL4jylJy6nX7q8AHrJtewJwCfCoMaZXbGPMzcaYdcaYdUePHnVoaBERSVWNbR3c9vgG7nppOx+YM44XbjvbnWJIC6jTXjgzRFVASbfPEzqvdXcj8H4A27b/YYwZAowEqrs3sm37XuBegAULFthR5iwiIh6w52gjtzy6nrePNvK1S2Zw03smY0yc1wt1sW0IBFQMyQnhFERrganGmEmECqHLgSt7tNkHXAQ8ZIyZCQwBNAUkIiJ9+n3FEb749EayMjN47MZFnHXKyMQMbFmhH5mZsGQJJKoAk6Q3aEFk23aHMeZ24BVCr9Q/YNv2NmPMd4B1tm2vAr4E/NoY8wVCC6yvs21bM0AiInKSoGXzkz/s5Kd/2s2c4uH86pr5FBf4EzN412OytjY46ywVQ3KSsPYh6txT6MUe1/6j288rgLOdTU1ERLzkWHM7//p0OX/ZcZRPzJ/Ad5edypAsX2IG77lmSMWQ9KCdqkVEJO7eOnScWx5dz6FjLaxYdipXLSpN3HohLaCWMKggEhGRuPrtxiq++pst5A/J5KmblzC/bERiE9i2TcWQDEoFkYiIxEVH0OLOl7Zz/2vvsHDiCO6+ah6j84ckPpHJk0ObLmqfIRmACiIREXHMyvIqVqyuoKYxQHZmBoEOi+vOmsjXLplJdqZTW9+FwbKgqgpKSmDo0NAPkQGoIBIREUesLK/ijue30NIeBCDQYZHlM5xRUpD4YqhrzVBurs4mk7B4uiCqrG3u9972ww0Dfu7v2kDXnbofbptI2kXaNpr20faJpV+sfZ3o71QMJ+M4HSsV4sU7birHTtQYK1ZXnCiGurQHbVasrqCk0PlX6/v89VgWuVs3kVV9hJZpMwg0Gmisi994cZTo8ZJh3Blj810ZG5w7ukNERNJYe9CipjHQ573afq47rmcxVDoxMeOKJ3h6hqisKLdXtTm/rDCiz/1dG+i6U/fDbRNJu0jbRtM+2j6x9Iu1rxP9nYrhZBynY6VCvHjHTeXY8RrjaEMbtz2+vt/74wv8ifl39u67kNEKFyyO69tkifiO3BzP7XHdohkiERGJ2qb99Xz4Z6+xpeoY1ywuxd9jo0V/lo/lS6cnJpkRI+CCC/RqvUTF0zNEIiISP8+u28/XV25lVF4Ov7n1LGaPH878skJWrK6gtjHA+AI/y5dOZ9nc4vglYVmwfj2MGwfjx4cWUYtEQQWRiIhEpD1o8b3Vb/HQ63s5a0oRP79yHoVDswFYNrf4xALquD9y6VwzBM2h2SGRGKggEhGRsNU0tnHb4xt48506Pn3OJL76gRlk+lxYfdFtAXW81wxJelBBJCIiYdly4Bi3PLqO2qYA//PJM+L7KGwgtg0bNpx4m0zFkDhBBZGIiAzqN+sPcMcLW06sFzq1eLh7yRgDQ4fq1XpxlAoiERHpV3vQ4j9ffIsH/76XJZOL+PmVcynKy3EnGcuC1tbQwumZMwlUOrPhogioIBIRkX7UNrbx2Sc28MaeOm44exJfu8Sl9ULwz+M46upCr9ZnZbmTh3iWCiIREella9Uxbnl0PTWNbfz4X07nsnkT3Eum+9lks2erGJK4UEEkIiInWVlexVd+s5miodk895mzmDPBxfVCPYshLaCWOFFBJCIiAHQELe56aTv3vfYOiyYVcvdV8xjp1nqhLm+/rWJIEkIFkYiIUNcU4HNPbuDvu2u57qyJfP2DM8lya71Qd5MnQ15eaCdqkThSQSQikua2HTzGzY+s52hjGz/8+Gl8YkGJuwlZFuzaFSqGsrJUDElCqCASEUljv90YWi80IjebZ29ZwuklBe4m1H3NUF4eFLu0+aOkHRVEIiJpqCNo8YNXdnDvq3s4c2JovdCofJfXC/VcQK1iSBJIBZGISBpYWV514hT6scOHkJ+Tyc7qRj61pIxvfHAW2ZkurxfS22TiMhVEIiIet7K8ijue30JLexCAQ8daOQRcfmYJ37n0VHeT6xIIQH29iiFxjacLosra5n7vbT/cMODn/q4NdN2p++G2iaRdpG2jaR9tn1j6xdrXif5OxXAyjtOxUiFevOOmcuwVqytOFEPd/aHiCOvnO3/8RUS/FtsO/dMYmHQa+DIhzCM54vnvLB3HS4ZxZ4zNd2VsgCR4p1JEROKptjEQ0fWEsSxyt2zEv70i9DnT0/+PLknO0//1lRXl9qo255cVRvS5v2sDXXfqfrhtImkXadto2kfbJ5Z+sfZ1or9TMZyM43SsVIgX77ipFruhtZ2czAxaO6xe98YX+N37tXStGaIZpk0CF3/va7zkGtctmiESEfGod2qa+OgvXqetwyLLZ06658/ysXzpdHcS0wJqSUKeniESEUlXf915lM89sYFMXwZP3ryYw8daT7xlNr7Az/Kl01k216XX2jduVDEkSUcFkYiIh9i2za//toe7XtrO9LHDuPea+ZQU5gJQUugHkuBRyIQJMGIETJrkbh4i3aggEhHxiNb2IHc8v4UXyqv44Jxx/PATp5GbnSR/zFsW1NXByJEwerTb2Yj0kiS/U0REJBaHjrVwy6Pr2XzgGF9+3zQ+e8EpGGMG75gIXWuGDh+G888PHckhkmRUEImIpLj1lXXc8ugGWtuD/PpTC3jvrDFup/RPPRdQqxiSJKWCSEQkhT2zdj/fWLmVcQVDePKmRUwd497Gdr3obTJJISqIRERSUHvQ4nur3+Kh1/fynqkj+dkVcynIzXY7rZMdPqxiSFKGCiIRkRTzblOAzz6xgdffruXT50ziqx+YQaYvCbeVGz8e/P7QG2UiSU4FkYhICtl++Dg3PbKOI8fb+NEnTudj8ye4ndLJLAt/xVbaSkqBQhVDkjJUEImIpIiXtx7ii89sIi8nk2duWcIZJQVup3SyzjVD2QcPEMwf5nY2IhFRQSQikuQsy+Ynf9zFT/64izNKCrjnmvmMGTbE7bRO1m0Bdcu0GQRKSt3OSCQiKohERJJYY1sHX3pmI69sO8LH509gxbJTGZLlczutk/V4myzgK3A7I5GIqSASEUlS+2qbuemRdew+2sh/fGgW1589MXk2W+wpGPzn22SVdW5nIxIxFUQiIkno77tr+OwTG7BtePj6Mzln6ki3U+rNskKFUFYWnHkmJGuxJhIGFUQiIi5bWV7V7ST6IZw5sZBVmw8xZdRQfv2pBZQVDXU7xd66HpM1N8M550BGEr72LxIBFUQiIi5aWV7FHc9voaU9CEBVfSsvbDzIqeOH8dQtS8jLScI/pnvuQK1iSDwgCX+nOaeytrnfe9sPNwz4ub9rA1136n64bSJpF2nbaNpH2yeWfrH2daK/UzGcjON0rFSIF++48Yq9YnXFiWKou8PHW9lx+LijYzmSv2WRu3UTWdVHQm+T+Qp6rRmK53fgxjjpMl4yjDtjrHtHz6isFxFxUW1jIKLrbhuya8c/i6HSiW6nI+IYT88QlRXl9qo255cVRvS5v2sDXXfqfrhtImkXadto2kfbJ5Z+sfZ1or9TMZyM43SsVIgX77hOxy7IzeLd5vZe18cX+JPz383oeXC0BEoH32cont+BG+Oky3huj+sWzRCJiLjAsmx+/H87eLe5nYweL2f5s3wsXzrdncT6YllQWQm2HTqbLIxiSCTVeHqGSEQkGTUHOvji05t4edthPjF/AosmFXLXy9s73zLzs3zpdJbNLXY7zZDuC6hzc2HUKLczEokLFUQiIgl04N1mbnpkPTsOH+cbH5zJjedMwhjDpFGhV+uT6jFFz7fJVAyJh6kgEhFJkPWVddzy6Hra2i0euG4h508f7XZK/etZDE2e7HZGInGlgkhEJAGeXbefr7+wlfEFQ3jq5oWcMjrP7ZQG1tAA1dUqhiRtqCASEYmjoGVz10tv8eu/vcPZpxRx95XzKMjNdjutwQ0fDhdcEFpELZIGVBCJiMTJ8dZ2Pv9kOX/ZcZRrl5TxjQ/NIsuXxC/3WhaUl4fWCpWWqhiStKKCSEQkDvbWNHHjw2uprG3mex89lasWlbmd0sC6rxkaMcLtbEQSTgWRiIjDXt9dw62PbyDDwKM3LmLJlCK3UxqYFlCLqCASEXHSo//Yy7d/V8GUUUO571MLKS3KdTulgdm2iiERVBCJiDiiPWjx7VXbeHzNPi6aMZr/ufwM8odkuZ3W4IwJLaAuLFQxJGlNBZGISIzebQpw6+PreWNPHZ85bwrLl07H1/M8jmRjWdDcDHl5MHWq29mIuE4FkYhIDHYeaeDTD6/j8LFWfvwvp3PZvAlupzS4rjVDNTVw4YWQnQLbAIjEmQoiEZEo/Wn7ET7/5EaGZPl46pbFzCtNgbezei6gVjEkAqggEhGJmG3b3PvqHu56eTuzxw/j3msWML4gBfbssSxyt24CmrWAWqQHFUQiImFYWV7FitUV1DQG8Gf5aGkP8sHTxvFfHz8df7bP7fTCkr2/kqzqI3DBYhVDIj2oIBIRGcTK8irueH4LLe1BAFrag2RmGC6eMTpliiGAQEkZlj9XxZBIHzxdEFXWNvd7b/vhhgE/93dtoOtO3Q+3TSTtIm0bTfto+8TSL9a+TvR3KoaTcZyOlQrx4hl3xeqKE8VQlw7L5nsvvuXYPkPx+veBZTFkzy7aSiexva4NyKWjsi4+Y3WK26/FpXHSZbxkGHfG2HxXxgaPF0QiIk6oaQz0eb22n+tJo3PNUFb1EYJD88AMczsjkaTl6YKorCi3V7U5v6wwos/9XRvoulP3w20TSbtI20bTPto+sfSLta8T/Z2K4WQcp2OlQjwn49q2zT2v7un3/vgCf/L+++h6m4zmE2uG2jtnhuL177wnr42TLuO5Pa5bkvjYZRER9wQ6LP79uc3c9dJ2zigZzpCsk/+49Gf5WL50ukvZDUJnk4lETAWRiEgPdU0Brr5vDc+uP8C/XjSVF247m7suO42RedkYoLjAz52XzWHZ3GK3U+1bezscP65iSCQCnn5kJiISqd3VDdzw0DoOH2/lJ5efwaVnhIqeZXOLKSkM7TWUtI8SLCt0NllODpx3HvhS5w04EbepIBIR6fTqzqN89okN5GT6eOrmFNl5ukvXYzKfD+bOVTEkEiE9MhMRAR75x16uf2gtxQV+fnv72alZDB06FDq5XkQiphkiEUlrHUGL7/xvBY/8o5KLZozmJ1fMJS8nhf5o1AJqEUek0O96ERFnHWtp5/YnNvC3XTXcfO5kvvL+GfgyjNtpRWbTJhVDIg5QQSQiaamytokbHlpLZW0z3//YHD65sNTtlKJTWgoFBTBpktuZiKQ0FUQiknbW7KnlM4+txwYevXERS6YUuZ1SZCwLampg9GgoKgr9EJGYaFG1iKSVZ9ft5+r71zBiaDYrbzs7NYuhDRtgzZrQXkMi4gjNEIlIWrAsm++/sp17/rqHc04Zyd1XzmN4bpbbaUWm5wLqYTqbTMQpKohExPOa2jr4t6c38vuKI1y9uJRvfXg2Wb4UmyDX22QicaWCSEQ87WB9Czc+vI4dh4/z7Q/P4tqzJmJMir1JBnD0qIohkThSQSQinrVxfz03PbKOlkCQB65byPnTR7udUvTGjIFzz9XGiyJxooJIRDxjZXkVK1ZXUNsYoCA3i+Mt7Ywf4efxTy9i2ph8t9OLnGXB5s1QVgYjRqgYEomjFHuILiLSt5XlVdzx/BZqGgPYwLvN7djALedOTt1iaMMG2L8f6uvdzkbE8zw9Q1RZ29zvve2HGwb83N+1ga47dT/cNpG0i7RtNO2j7RNLv1j7OtHfqRhOxnE6VirEW7G6gpb24EnXLBv+5w+7mDnOmbexnM6539iWRe7WTWRVH6Fl2gwCGcOhss7ZMeLIa+Oky3jJMO6Mse79z4tmiETEE2oaA31er+3netLqWQyVTnQ7I5G04OkZorKi3F7V5vyywog+93dtoOtO3Q+3TSTtIm0bTfto+8TSL9a+TvR3KoaTcZyOlazx3j7aiC/DELTsXvfGF/iTMud+Y5cUQO1wmD0pbm+TxTN/L4+TLuO5Pa5bPF0QiYj3vf52DZ95dD3+rAzagzZtHdaJe/4sH8uXTncxuwhYFqajAzIyYMECt7MRSTt6ZCYiKevZdfv51P1vMnrYEF7613P5/sdOY2ReNgYoLvBz52VzWDa32O00B9f5mGzo+jchGBy8vYg4TjNEIpJyLMvmR7/fwd1/fpuzTyniF1fNZ7g/i5LCXEoK/UAKTfd3vk3WtWYIn8/tjETSUlgzRMaY9xtjdhhjdhtjvtpPm38xxlQYY7YZY55wNk0RkZDW9iCff6qcu//8NpcvLOGh689kuD/FziTr0u04Di2gFnHXoDNExhgfcDfwXuAAsNYYs8q27YpubaYCdwBn27b9rjEmhbeDFZFkVdvYxk2PrGPDvnru+MAMbj53cmoew9Fl+/YTx3EEfAVuZyOS1sJ5ZHYmsNu27T0AxpingEuBim5tbgLutm37XQDbtqudTlRE0tvu6gauf2gt1cfb+OVV8/jAnHFupxS7KVMgPx9KShzZZ0hEohfOI7NiYH+3zwc6r3U3DZhmjPm7MeYNY8z7nUpQROTvu2v46C9epyVg8fQtS1K7GLIs2LMn9M+cnFAxJCKuc2pRdSYwFTgfmAC8aoyZY9t2ffdGxpibgZsBSktLHRpaRLzs6bX7+PoLW5k8aigPXLeQCSNy3U4pet3WDDF0aOjAVhFJCuHMEFUB3f8XZkLnte4OAKts2263bfsdYCehAukktm3fa9v2Atu2F4waNSranEUkDViWzfdf3s5XfrOFJVOKeO7Ws7xTDM2erWJIJMmEUxCtBaYaYyYZY7KBy4FVPdqsJDQ7hDFmJKFHaHucS1NE0klre5DPPVnOL//yNlcuKuWB6xYybEiKvkkGvYuhOO1ALSLRG/SRmW3bHcaY24FXAB/wgG3b24wx3wHW2ba9qvPe+4wxFUAQWG7bdm08ExcRbzraEHqTbNOBer5+yUw+/Z5Jqf0mGUBTExw9qmJIJImFtYbItu0XgRd7XPuPbj+3gS92/hARicrOIw1c/+Baapva+NXV81k6e6zbKTkjPx8uvDC0iFpEkpJ2qhaRpPC3XUe57bENDMn28cwtSzhtQoHbKcWm6zFZYWFoVkjFkEhSU0EkIgm3sryKFasrqG0MML7Az9mnFPGbDVVMHZ3H/dctpLjA73aKsem+ZqgwRY4QEUlzKohEJKFWlldxx/NbaGkPHWJaVd/CM+sOMGNsPs9+Zgn5qbx4GrSAWiRFebogqqxt7vfe9sMNA37u79pA1526H26bSNpF2jaa9tH2iaVfrH2d6O9UDCfjOB3LyXgrVlecKIa6q2lsY+eR5Pkuoo2du7n8xEGtAV9B2DtQxzPvRI7hxXHSZbxkGHfG2HxXxgaPF0QiknxqGwMRXU81HSOK6CgYoYNaRVKMpwuisqLcXtXm/LLCiD73d22g607dD7dNJO0ibRtN+2j7xNIv1r5O9HcqhpNxnI7lRLxR+TlUN7T1uj6+wJ/Uv+4BY1sWNDbCsGGQBP8dJsMYXhwnXcZze1y3hLMxo4iII9buraOhtb3XdX+Wj+VLp7uQkQO61gy99hq0trqdjYhESQWRiCTE7zYd5Kr71jBuuJ9vfnAmI/OyMUBxgZ87L5vDsrk9z4xOAd0XUM+YAUOGuJ2RiETJ04/MRMR9tm3zq7/u4fsvb2fhxBHce80CRgzN5ozSAiCFp+X1NpmIp6ggEpG46QhafGvVNh5fs48PnTaO//rE6QzJ8rmdljMqK1UMiXiICiIRiYumtg4+92Q5f9pezWfOm8K/L51ORkaKn0nW3cSJMHQojB7tdiYi4gAVRCLiuOrjrdzw8FoqDh5nxbJTuXpxmdspOcOyGLJ7J4yZF1ovpGJIxDNUEImIo7oOaH23OcB91y7gwhlj3E7JGZZF7tZNZFUfgeoJUFrqdkYi4iAVRCLimNffruGWR9czJMvH0zcvYc6E4W6n5IzOBdRdO1CrGBLxHhVEIuKIF8oP8O/PbWZi0VAevH4hE0bkup2SM7q9TdYybYZ2oBbxKBVEIhIT27b52Z928+Pf72TJ5CJ+dc18hvtT/IDW7oJBaGqC2bNDZ5OJiCepIBKRqLUHLb7+whaeWXeAy+YWc9fHTiM70yP7vVpW6J9ZWfCe90BGRtgHtYpI6lFBJCJRaWht57bHN/C3XTV8/sJT+MJ7p2GMR16r73pMZtuwYEGoGBIRT1NBJCIRO3SshesfXMvu6kZ+8LHT+JeFJW6n5JyeO1B7pcgTkQGpIBKRiLx16DjXP7iWxrYOHrhuIedOG+V2Ss7RcRwiaUsFkYgMamV5FStWV1DTGMAA+UMyeeaWJcwaP8zt1Jy1ZYuKIZE0pYJIRAa0sryKO57fQkt7EAAbCHRY7DzS4L2CqKwMhg8PHcshImnF0wVRZW1zv/e2H24Y8HN/1wa67tT9cNtE0i7SttG0j7ZPLP1i7etEf6diOBnHyVgrVlecKIa6tHZYrFhdQUmhP+q4Tv5aY4prWWTWHKVjdOeO2mZYv2+TxSvneMdO5BheHCddxkuGcWeMzXdlbAC9OiEi/QpaNjWNgT7v1fZzPaV0HscxdHM5vmPH3M5GRFzk6RmisqLcXtXm/LLCiD73d22g607dD7dNJO0ibRtN+2j7xNIv1r5O9HcqhpNxYonVHOjg9ifK+70/vsCfVP/OIo7btYCaZrhgMUye5FzsGMQzdiLH8OI46TKe2+O6RTNEItJLbWMbV/x6DX/ZUc0nFkzAn+U76b4/y8fypdNdys4BeptMRHrw9AyRiESusraJax94k0PHWvnV1fN53+yxnD1lJCtWV1DbGGB8gZ/lS6ezbG6x26lGr7ZWxZCInEQFkYicsPlAPTc8tJagZfPETYuZXzYCgGVzi08soPbENPqoUXD++ZDv3gJOEUkuemQmIgD8eUc1l9/7BkOyfDx361kniiHPsCwoL4eamtBnFUMi0o0KIhHhmXX7+fTD65g0cijP33YWU0bluZ2Ss7rWDB04AA3uvFIsIslNj8xE0pht2/z8T7v50e938p6pI/nl1fPJy/HYHws9F1BPCv9tMhFJHx77k09EwtURtPiPVdt4Ys0+LptbzF0fO43sTI9NGuttMhEJkwoikTTUEgjyuSfL+cNbR7jt/CksXzod48VT3Y2BzEwVQyIyKBVEImmmrinAjQ+vZeP+er5z6Ww+tWSi2yk5z7KgrQ1ycuCMM9zORkRSgAoikTSyv66Zax94k6r6Fn551Xzef+pYt1NyXudxHOwh9Gq9zzdYDxERFUQi6WJr1TGue3At7UGLxz+9iAUTPbCfUE+dxVBW9ZHQcRwqhkQkTCqIRNLAqzuPcutj6ynIzeapmxdxymgP7sHTuYA6q/oILdNmaM2QiEREBZGIB60srzpx1EZBbhb1ze3MGDeMh65fyJhhQ9xOLz527oRDh2iZNoNA6US3sxGRFKOCSMRjVpZXccfzW2hpDwLwbnM7GQY+taTUu8UQwJQpkJdHIJjrdiYikoI8XRBV1jb3e2/74YYBP/d3baDrTt0Pt00k7SJtG037aPvE0i/Wvk70dyqGU3FWrK44UQx1sWz40f/tZNqY6B+VOfVrdDSeZZGzby9tpRMhIwPIdTzP7lI1diLH8OI46TJeMow7Y6x7j/M9XRCJpKPaxkBE11NWtwXUwdyhdIwe43ZGIpLCPF0QlRXl9qo2e57UPdjn/q4NdN2p++G2iaRdpG2jaR9tn1j6xdrXif5OxYglTkNrO9mZGbR1WL3ujS/wJ9WvMaZ4XTtQ0xx6m6yPBdRO5+mF2Ikcw4vjpMt4bo/rFo/t0y+Svo42tHHFr98g0GGR5Tt512l/lo/lS6e7lJnDdByHiMSBp2eIRNLFvtpmrnlgDdXH23jg+oUca24/8ZbZ+AI/y5dOZ9ncYrfTdEZLC9TUqBgSEUepIBJJcRUHj3Ptg2+GNly8aRHzSkcAUFLoBzw07W3bobPJhg6FCy+E7Gy3MxIRD9EjM5EU9saeWj55zz/IzDA895klJ4ohz7EsWL8+tNcQqBgSEcepIBJJUS9vPcynHniTMcOH8Jtbz/Lm7tNw8pqhTE1qi0h86E8XkRT05Jv7+PoLWzi9pIAHrl3IiKEenTHRAmoRSRAVRCIpxLZtfv6n3fzo9zs5f/oofnHVPHKzPfzbuLxcxZCIJISH/yQV8RbLsvl/v9vGw/+o5KNzi/nBx08jy+fxp96jR8OIESqGRCTuVBCJpIBAh8WXnt3E7zYd5Kb3TOKOD8wkI8MM3jEVWRYcPw4FBVBS4nY2IpImVBCJJLnGtg4+8+h6Xttdwx0fmMEt501xO6X46VozdORI6NV6v9/tjEQkTaggEklitY1tXP/QWrYdPM4PP34an1jg4RmTnguoVQyJSAKpIBJJUvvrmvnUA29ysL6Fe66ez8WzPHx4qd4mExGXqSASSRIry6tOHLcxKj+HlkAHxhge//QiFkz0yG7T/TlwQMWQiLhKBZFIElhZXsUdz2+hpT0IQHVDGwBfef907xdDEFo87ffDqFFuZyIiacrTBVFlbXO/97Yfbhjwc3/XBrru1P1w20TSLtK20bSPtk8s/WLt60R/J2KsWF1xohjq7v7X3uHMSdEVRE78uuIa7+Axhr+ziw0ts7D9uYAPKutij+twnl6IncgxvDhOuoyXDOPOGOvejvse38REJDXUNgYiup7yLIvCHVvJO7ifzLrYiyARkVh5eoaorCi3V7XZ8+TvwT73d22g607dD7dNJO0ibRtN+2j7xNIv1r5O9I8lxjB/JsdaOnpdH1/gT4pfl6PxOhdQ7w420LJoLnPOOs2ZxHpw+tfthdiJHMOL46TLeG6P6xbNEIm4yLZtfvKHXRxr6aDnPov+LB/Ll053J7F46fY2Wcu0GQRKJ7qdkYgIoIJIxDWWZfPd/32L//7DTj42bwL/9fHTGJmXjQGKC/zcedkcls0tdjtNZ1kWtLTA7NkqhkQkqXj6kZlIsuoIWnz1+S08t/4A1589kW9+cBYZGYaykUMBD05VWxbYNmRmwtlnQ0aGIwuoRUScooJIJMFa24P861PlvLLtCF+4eBqfv+gUjPHouWTwz8dkHR2waFGoGBIRSTIqiEQSqLGtg1seXcffd9fyrQ/P4vqzJ7mdUnz13IHay4WfiKQ0FUQiCVLfHODaB9eyteoYP/rE6Xxs/gS3U4ovHcchIilEBZFIAhw53so1969hb20zv7xqHu+bPdbtlOJv61YVQyKSMlQQicTZvtpmrrr/DeoaAzx0/ULOmjLS7ZQSY9IkGDYMJk50OxMRkUGpIBKJox2HG7jm/jUEghaP37SYM0oK3E4pviwrNCtUXAz5+aEfIiIpQAWRSJyU73uX6x5cy5CsDJ69ZQlTx3i8OOi+Zsjvh0KPbR0gIp6mgkgkDl7bVcPNj65jVH4Oj924iJLCXLdTiq+eC6hVDIlIilFBJOKwl7ce5vNPljN51FAeueFMRg8b4nZK8aW3yUTEA1QQicRoZXkVK1ZXUNsYYHhuFvXN7cwrLeDB685keG6W2+nF37vvwuHDKoZEJKWpIBKJwcryKu54fgst7UEA6pvbyTBw+cKS9CiGAIqK4IILYOhQtzMREYmapwuiytrmfu9tP9ww4Of+rg103an74baJpF2kbaNpH22fWPrF2jfW/itWV5wohrpYNvzglR1MGZ2X0FziGatXPMvCX7GF9tFj6Rg9JnStpi36eA6KV9xUjp3IMbw4TrqMlwzjzhjr3ssnOlRIJAa1jYGIrnuCZZG7dRPZhw+R0dridjYiIo7w9AxRWVFur2qz5ynig33u79pA1526H26bSNpF2jaa9tH2iaVfrH2j6W9ZNrnZPpoCwV73xhf4Xf21xCsWlsX82r1AM1yw2JE1Q47ml4C4qRw7kWN4cZx0Gc/tcd3i6YJIJF46ghZf+c0WmgJBMjMMHZZ94p4/y8fypdNdzC5ObJvcrZuAZi2gFhHPUUEkEqH2oMW/Pb2R1ZsP8aX3TmPCCD/fe/EtahsDjC/ws3zpdJbNLXY7TecZg5UzBE6ZpGJIRDxHBZFIBFrbg9z+xAb+8FY13/jgTD79nlBhUFoU2njRk1PMlgVtoQXTrdNnghd/jSKS9lQQiYSpOdDBzY+s57XdNaxYdipXLy5zO6X469p08d13YfLpkKk/MkTEm/Snm0gYGlrbueGhtayvfJcffeJ0PjZ/gtspxV/PHah9+uNCRLxLr92LDKK+OcBV962hfF89P7tiXnoWQ1ozJCIep//lExnA0YY2rrl/DXtqmrjnmvlcNHOM2yklxq5dKoZEJK2oIBLpx6FjLVx13xoO1bfywLULOWfqSLdTSpwpUyAvD4o9+LaciEgf9MhMpA/765r5l3v+QfXxNh658cz0KIYsC3buhGAwtHhaxZCIpBHNEIn08PbRRq6+bw0t7UGeuGkRp00ocDul+Ou+ZigvD8aPdzsjEZGEUkEk0s32w8e5+r41ADx182JmjB3mckYJ0HMBtYohEUlDKogkra0sr2LF6gpqGwOMzM+hsbWd4f5sHr9pEVNGRX5afcrR22QiIoAKIkljK8uruOP5LbS0hw5nPdrQhgG+vHRSehRDAK2tUFenYkhE0l5YBZEx5v3ATwAfcJ9t23f10+5jwHPAQtu21zmWZZQqa5v7vbf9cMOAn/u7NtB1p+6H2yaSdpG2jaZ9tH1i6RdL3xWrK04UQ11s4Jd/eZszSgoSkkO84gway7bBmNDPJ58OviyorEtYbvGIF++4qRw7kWN4cZx0GS8Zxp0xNt+VsSGMt8yMMT7gbuADwCzgCmPMrD7a5QP/CqxxOkmReKhtDER03TMsi9wtGxmya3voc1aWu/mIiCSBcGaIzgR227a9B8AY8xRwKVDRo913ge8Dyx3NMAZlRbm9qs2eh28O9rm/awNdd+p+uG0iaRdp22jaR9snln7R9C0cmk1tU+/iZ3yB35X84xGnV6yuNUM0w+RJUR3U6vQBtvE6EDeeB+2mauxEjuHFcdJlPLfHdUs4+xAVA/u7fT7Qee0EY8w8oMS27dUO5iYSN3/afoT65sCJp0Zd/Fk+li+d7k5S8aYF1CIi/Yp5Y0ZjTAbwY+BLYbS92Rizzhiz7ujRo7EOLRKV31cc4ZZH1zO7eDjfW3YqI/OyMUBxgZ87L5vDsrke3ZBw40YVQyIi/QjnkVkVUNLt84TOa13ygVOBv5jQ/26PBVYZYz7Sc2G1bdv3AvcCLFiwwI4hb5GovLz1MLc/sYFTi4fz8A1nMtyfxfTOx6qenx4eNw4KClQMiYj0IZyCaC0w1RgziVAhdDlwZddN27aPASfONTDG/AX4cjK8ZSbS3erNh/j8U+WcPiFUDOUPSYPFxJYVeq2+sDBUEImISJ8GfWRm23YHcDvwCvAW8Ixt29uMMd8xxnwk3gmKOGHVpoN8/qly5pUW8MiNi9KmGMrduglefx2amtzORkQkqYW1D5Ft2y8CL/a49h/9tD0/9rREnLOyvIovPrORBRMLefC6hQzNSYP9SDuLoazqI3DBYhg61O2MRESSmk67F097bv0BvvDMRhZNKuKh69OnGGLDBrKqj9AybYbWDImIhCEN/naQdPXM2v185fnNnD1lJL/+1AL82T63U0qMgwfh0CFaps0gUDrR7WxERFKCCiLxpCfW7ONrL2zh3GmjuPea+QzJSpNiCGDCBPD7CTSawduKiAigR2biQY++UcnXXtjCBdPTqBiyLNi8GRobQ5+LitzNR0QkxaggEk956O/v8M2VW7l45mh+lU7F0IYNUFkJtbVuZyMikpL0yExS2sryKlasrqC2McAwfybHWjp436wx/PzKeWRnpkG93/M4jrIytzMSEUlJKogkZa0sr+KO57fQ0h4E4FhLBxkGls4ek57FkN4mExGJmqcLosra5n7vbT/cMODn/q4NdN2p++G2iaRdpG2jaR9tn2j7rVhdcaIY6mLZcOdL25k4Mvx9d6LN2ekYEccJBhm6r4b2UcUEfAVQWReXnFIlXrzjpnLsRI7hxXHSZbxkGHdG51FKbvB0QSTeVtsYiOi6Z1hW6EdmJk3zFoLR22QiIrHydEFUVpTbq9rseYDnYJ/7uzbQdafuh9smknaRto2mfbR9Iu3XtWaop/EF/oTm7HSMAeN0PSZra4OzzgqrGHL60NpkjxfvuKkcO5FjeHGcdBnP7XHdkgYLLcSLHv3H3hNrhrrzZ/lYvnS6O0nFW/c1Q+PGaWZIRMRBKogk5TyxZh/f/O02Lp45hh987DRG5mVjgOICP3deNodlc4vdTtF5WkAtIhJXnn5kJt7zzNr9fO2FLVw4YzR3XzWXnEwfk0aFFlB7enp32zYVQyIicaSCSFLGc+sP8JXnN3PetFH84qp55GSmwaaLXSZPhmHDtM+QiEic6JGZpIQXyg+w/LlNnHPKSO5Jpx2o9+8P/XzoUBVDIiJxpBkiSXqrNh3kS89sYsnkIu69ZkH6FENda4b8fhg50u2MREQ8TTNEktRWbz7EF57eyMKJhdx37QL82WlWDM2erWJIRCQBNEMkSevlrYf4/FPlzCst4IHrFpKbnQb/uVoWuVs3Ac1aQC0ikkCaIZKk9H/bDnP7E+WcPmE4D15/JkNz0qAYAnwNx8msOapiSEQkwdLjbxlJKX986wiffWIDpxYP5+EbziQvTYohgODwAhqWnAOTJ7idiohIWkmfv2kkaa0sr2LF6gpqGwMUDs2mvjnA7M5iKH9IltvpxZ9lQXk5jB0L+LH9uW5nJCKSdvTITFy1sryKO57fQk1jABuobQpgAZcvLGG4P02KoQ0b4ODB0PlkIiLiCk/PEFXWNvd7b/vhhgE/93dtoOtO3Q+3TSTtIm0bTfto+qxYXUFLe/Cka7YNP/79Tqb3OJjXqTGd7h91jM4F1FnVR2iZNoOAr8CRXGLKKYXjxTtuKsdO5BheHCddxkuGcXseyJ5ImiESV9U2BiK67hm2fXIxVDrR7YxERNKap2eIyopye1WbPc+7Guxzf9cGuu7U/XDbRNIu0rbRtI+kz8j8HI429H5UNL7An5A8newfcYzWYpg9qc+3yZw8l83pM96SPV6846Zy7ESO4cVx0mU8t8d1i6cLIkluu6sbaG7rwAB2t+v+LB/Ll053K634sixobYXcXJgxw+1sRESkkx6ZiSv21TZz1X1r8Gdn8rVLZjIyLxsDFBf4ufOyOSybW+x2is7rWkD9t79Be7vb2YiISDeaIZKEO3yslavuf4O2Dounbl7MjLHDmFdWAHh4irbncRxZafAGnYhICtEMkSRUTWMbV933Bu82tfPIDWcyY+wwt1OKv57FkHagFhFJOiqIJGGONbdzzf1vUlXfwgPXLeS0CQVup5QYb7+tYkhEJMnpkZkkRGNbB9c99CZvVzfy62sXcOYkjz4a68vkyZCXB+PGuZ2JiIj0QzNEEnet7UE+/fBaNh84xs+unMt500a5nVL8WRZs3x5aPO3zqRgSEUlyKogkrgIdFrc+tp4179Txo0+cztLZY91OKf661gzt2gXV1W5nIyIiYVBBJHHTEbT4wtMb+fOOo3xvmUdfpe+p5wLq4jT4NYuIeIAKIokLy7L5ym+2sHrLIb7xwZlcuajU7ZTiT2+TiYikLC2qFsesLK9ixeoKahsD5Gb7aAoE+beLp/Lp96RHYWACAaivVzEkIpKCVBCJI1aWV3HH81tOnFzfFAiSmWEoK8x1ObMEsCywbewhQ+D88yFTv61ERFKNp//krqxt7vfe9sMNA37u79pA1526H26bSNpF2jbS9itWV5wohrp0WDbfe/EtSosGL4oizc2pvjH3tyxyt27i8LF26qfOjCmPmHOJY6xUiBfvuKkcO5FjeHGcdBkvGcbteSB7ImkNkTiitjEQ0XVP6CyGsqqP0JE71O1sREQkBp6eISoryu1VbfY8K2uwz/1dG+i6U/fDbRNJu0jbhtt+xNBs6pp6Fz/jC/xxzc2pvhH371pATTNcsJhjvgJHcogqlwTGSoV48Y6byrETOYYXx0mX8dwe1y2aIZKY/ePtWo41BzDm5Ov+LB/Ll053J6l427hRb5OJiHiICiKJydaqY9z0yDomjcpjxaWnMjIvGwMUF/i58zIP7z00YQKceqqKIRERj/D0IzOJr701TVz34JsMG5LJIzecyfgCPzPGhR5RenKq1bKgrg5GjoTRo93ORkREHKQZIolK9fFWrnlgDUHL5pEbFzG+wO92SvHVtWbojTegsdHtbERExGEqiCRix1ra+dQDb1LbGODB68/klNF5bqcUX913oJ41K3RyvYiIeIoKIolIa3uQmx5ex9tHG7nnmvmcUVLgdkrxpeM4RETSgtYQSdg6gha3P1HO2so6fnbFXN4zdZTbKcXfkSMqhkRE0oAKIgmLbdt89fkt/OGtI3z30tl86LTxbqeUGOPGwTnnwIgRbmciIiJxpEdmEpa7Xt7Oc+sP8K8XTeWaJRPdTie+LAs2bYJjx0KfVQyJiHieZoikT91Prs8fksnx1g6uWVzGv1081e3U4qv7mqHhw0M/RETE81QQSS89T64/3tqBz8DckgJMz+2ovaTnAuqJE93OSEREEsTTBZFOu4+ubV8n1wdt+M+X3qJs5MAn10d7SrLrp91bFrmby8mqPkLLtBkEfAVQWZewHJyO43SsVIgX77ipHDuRY3hxnHQZLxnG1Wn3klTS8uR6AMsKFUOlE93OREREEszTM0Q67T66tqOH5XDkeFuv65GcXB/t0R0JP+3esqC9HbKymLn4YnqdUJuIHOIYx+lYqRAv3nFTOXYix/DiOOkyntvjukUzRHKS+uYAlm33uu7Jk+s71wzlbVgb+rmX10eJiMiAVBDJCa3tQW56ZB3Hmjv43IWnePvk+m4LqAPjxkOGfiuIiKQzTz8yk/BZls2Xnt3E2r3v8rMr5vLh08dz/vTQTtSemzbt8TZZwFfgdkYiIuIy/W+xAKGNF1dvPsTXLpnBh0/3+C7Ub72l4zhEROQkmiESHn59L/e+uodPLSnjpvekQYEweTLk50NpqduZiIhIktAMUZp7Zdthvv27bbx31hi+9eHZ3t140bJg716wbfD7VQyJiMhJNEOUxjbse5fPP1nOaRMK+Onlc/FleLgY6lozlJsLo0e7nZGIiCQZzRClqb01TXz64XWMGTaE+69dgD/b53ZK8dHzOA4VQyIi0gcVRGmorinAdQ++iW3bPHT9Qkbm5bidUnz0LIa0gFpERPqhR2Zpouv0+prGAFk+g2XZPPOZJUweled2avHT0ADV1SqGRERkUJohSgNdp9fXdJ5F1h608WUY9te1uJxZnA0fDhdeqGJIREQG5ekZIp12H9LX6fWBoM2K1RWUFPpjziHWPrH069XXssjdtpn2wpG0F0/ovNj/fwexju1kDCfjOB0rFeLFO24qx07kGF4cJ13GS4Zxddq9xFXanF5vWeRu3UTWkcOYYIfb2YiISArx9AyRTrsPKcrLPvG4rLtwT6+P5uiOhJ92b1nMr90LNMMFi6N6TObEESU67d79ePGOm8qxEzmGF8dJl/HcHtctni6IBCprm2hq68AA3c+w99Tp9bZN7tZNQLMWUIuISFT0yMzDjre2c8NDa8nJ8vG1S2Z69/R6YwgOG65iSEREoqYZIo/qCFrc/kQ5lbXNPHrjIpZMKWJeWQHgoWlQy4Lm0ILptomTwSu/LhERSTjNEHnUitVv8erOo6xYdipLphS5nY7zujZdfO01TFub29mIiEiKU0HkQY+9UclDr+/lxnMmcfmZHjzEtPsO1NOmYed4dKdtERFJGBVEHvP67hq+tWobF0wfxdcumel2Os7TcRwiIhIHKog8ZM/RRm59fAOTRw7lp1d49PT6vXtVDImIiOO0qNojjjW38+mH1+HLMNx/7ULyh2S5nVJ8TJwIubkwdqzbmYiIiIeoIEphXQe21jYGyM7MoD1o8dTNSygtynU7NWdZFuzYAVOmQHa2iiEREXGcCqIU1XVga9cZZW0dFlk+w8F6jx3Y2n3NUH4+TJgweB8REZEIebog8vLhrn0d2No+yIGtkR7Y5/rhrl1nk1UfoWXaDALBXKisc2xMp/o7FcPJOE7HSoV48Y6byrETOYYXx0mX8ZJhXB3uKhHz/IGtPYuh0oluZyQiIh7m6RkiLx/uOmbYEA4fb+11PZwDWyPdqdqVw13b2uAdE9FBrbHuwK3DXb0RL95xUzl2Isfw4jjpMp7b47rF0wWRVwU6LHIye79S74kDWy0LjIGcHDjvPPD53M5IRETSgB6ZpaD/97ttVNa1cO2SMm8d2Nq1gLq8PPRZxZCIiCSIZohSzDNr9/P4mn3cct5k7vjATD5yxnjAA1ObnWuGoDm06aKIiEgCaYYohWzaX883fruVc04ZyfL3pfijse66LaDWDtQiIuIGFUQpoqaxjVsfW8+ovBx+esVcMn0e+uo2bz7xNpmKIRERcYMemaWAjqDF7U9soLYpwG9uPYvCodlup+SskhJaGm0CJWVuZyIiImnKQ9MM3nXXS9t5Y08d//nROZxaPNztdJxhWVBdHfp5UZGKIRERcZUKoiT3241V3PfaO1y7pIyPzffIsRVdb5OtWQPHj7udjYiIiB6ZJaOuQ1trOnednjQyl298aJbLWTmk+9lks2fDsGFuZyQiIhLeDJEx5v3GmB3GmN3GmK/2cf+LxpgKY8xmY8wfjTF6/hGlrkNba7odwXGovpXVmw+5mJVDehZDWkAtIiJJYtAZImOMD7gbeC9wAFhrjFll23ZFt2blwALbtpuNMbcCPwA+GY+EI5GKh7v2dWhra4fV76GtkRzC5/bhrplHqxm6aWfobDJfwUkHtcZymKAOd41/rFSIF++4qRw7kWN4cZx0GS8Zxk32w13PBHbbtr3Htu0A8BRwafcGtm3/2bbtrurjDcAji10Sz8uHtnaMGk3DmWfpoFYREUk64awhKgb2d/t8AFg0QPsbgZdiScopqXi4a1FeDjWNbb2uD3ZoayQ7VSf0cFfLgs2bobQUCgsBZw+edaqvE/2diuFkHKdjpUK8eMdN5diJHMOL46TLeG6P6xZHF1UbY64GFgDn9XP/ZuBmgNLSUieH9oT65gAdQQsD2N2up+yhrd3XDA0f3lkQiYiIJJ9wHplVASXdPk/ovHYSY8zFwNeBj9i23XuKA7Bt+17bthfYtr1g1KhR0eTrWbZt8+VnN9MU6OAL752a+oe29lxAPWmS2xmJiIj0K5wZorXAVGPMJEKF0OXAld0bGGPmAvcA77dtu9rxLNPAA3/fyx/eOsI3PzSLG8+ZxNmnjARSdMpSb5OJiEiKGXSGyLbtDuB24BXgLeAZ27a3GWO+Y4z5SGezHwJ5wLPGmI3GmFVxy9iDNu2v566X3uK9s8Zww9kT3U4ndsaEfqgYEhGRFBHWGiLbtl8EXuxx7T+6/fxih/NKG8da2rn9yQ2Mzh/CDz9+GsYYt1OKnmVhAgHs7GyYP9/tbERERMKmoztcZNs2X/3NZg7Vt/LTK+ZSkJvCh7Z2PiYbum4NBIODtxcREUkiKohc9Ogblby09TDLl05nftkIt9OJXrc1Q4EJJeDzuZ2RiIhIRHSWWYL1PKds5th8bnpPCq+z6bGAOuArcDsjERGRiGmGKIH6OqfsndomVm066GJWMdq+XW+TiYhIyvP0DFGynWXW5zll7X2fUxbuWTJun2VmMkeQOXIi7Z1nk0V7Bo7OMnM2jtOxUiFevOOmcuxEjuHFcdJlvGQYN9nPMhOHeOacMssie99esCzsnBzax6fYppEiIiI9eHqGKNnOMhs9LIcjxyM7pyzcjRkTdpZZ15qh+kMwrRjGjHRkjFj7xdrXif5OxXAyjtOxUiFevOOmcuxEjuHFcdJlPLfHdYtmiBLEsmyGDeldf6bUOWU9d6AeM8btjERERByhgihBHnp9L7uqm/jkggmpeU6ZjuMQEREP8/Qjs2Sx60gDd728nYtnjuauj53Ghn3vAik2HdnUBEePqhgSERFPUkEUZ4EOiy88s5G8nEzuvCwFj+aw7dA/8/PhwgshJ8fdfEREROJAj8zi7Kd/3MXWquPcedkcRuWnWDFhWeRu2Qhvvx36rGJIREQ8SgVRHK2vfJdf/GU3n5g/gaWzx7qdTmQsi9ytm8iqPhI6uV5ERMTDVBDFSUt7kC8+s5HxBX7+48Oz3E4nMp0LqLOqj9AybYbWDImIiOdpDZHDep5V9rkLTyF/SJbLWUWo822ylmkzCJROdDsbERGRuFNB5KCus8q6H89x39/eYcqovNR4tb7LyJFQWKiDWkVEJG14uiBK9FlmfZ1V1tIe7HVWWTjnxCT8LDPLIqOpESt/GJhh4IvuPBudZZYccZyOlQrx4h03lWMncgwvjpMu4yXDuDrLzCNS9qyyzgXUeevWYFpb3c5GREQk4Tw9Q5Tos8wKh2ZT29S7+OnvrLJwNmaM+1lmXTtQ0wznLoTJ42OKHUufWPrF2teJ/k7FcDKO07FSIV6846Zy7ESO4cVx0mU8t8d1i2aIHNISCGJj0/MF9aQ+q0zHcYiIiAAqiBzzP3/cSV1TO5+9YErqnFW2b5+KIRERETz+yCxRtlYd476/vcPlC0v48tIZXDBjNJAC041lZZCbC6NHu52JiIiIqzRDFKOOoMVXn9/MiNxs7vjATLfTGZxlwbZt0Noa2oFaxZCIiIhmiGL14N/3srXqOHdfOY/huUm+AWPn22TQHDqstbTU7YxERESSgmaIYrCvtpkf/X4HF88cwyVzkvyssu5nk82erWJIRESkG80QRajraI7axgDZmRlg23x32WxMMh+AqrPJREREBqQZogh0Hc1R0xjABto6LCxgzZ46t1MbWDAITU06m0xERKQfnp4hcvrojr6O5mgP2hEfzZGwozssK/TPjAwonc326iZw6qgPB/vE0i/Wvk70dyqGk3GcjpUK8eIdN5VjJ3IML46TLuMlw7g6uiNFpNTRHJ1rhnK3bATbDhVFIiIi0idPzxA5fXTH+AI/VfUtve5HezRH3I7u6H4cx6mzYWJRVDGjbR9tn1j6xdrXif5OxXAyjtOxUiFevOOmcuxEjuHFcdJlPLfHdYumDSLw5fdNI6PH2umkO5pDx3GIiIhEzNMzRE7LyszAsiEvJ5Omtg7GF/hZvnR6ch3NsWWLiiEREZEIqSAKU2t7kDtf3M7MccP4fx+ZhS/DJOd0YlkZDB8OEye6nYmIiEjK0COzMN376h6q6lv41odDxVBSsazQrBBAQYGKIRERkQipIArDwfoWfvGX3XxwzjgWTy4avEMidR3HsW4d1Ne7nY2IiEhKUkEUhu+/vB3bhq9+YIbbqZys53EcBQVuZyQiIpKStIaoH11HdNR07jH0vlmjKSnMdTmrbnQch4iIiGM0Q9SH7kd0dHl1Vw0ry6tczKqH2lo4dEjHcYiIiDjA0zNE0R7d0dcRHa3t1okjOmI9msOZozt8ZEw+jYpGwj6OI9Lt2HV0R2JjOBnH6VipEC/ecVM5diLH8OI46TJeMoyrozuSTNIe0WFZ+LduJrO2JvQxz73/cERERLzE0zNE0R7dEe4RHbEezRHR0R1dO1BbDTAiC8I4ciSWcWNpH22fWPrF2teJ/k7FcDKO07FSIV6846Zy7ESO4cVx0mU8t8d1i2aI+vBvF0/tdc3VIzp6HscxaZI7eYiIiHiUCqI+HGtpB2C4PxMDFBf4ufOyOe4c0aGzyUREROLO04/MotEc6OBXf32bs08p4ovvnQa4PG1oDGRlqRgSERGJIxVEPTz8eiU1jQHu6SyGXGNZmEAgVBCdfrq7uYiIiHicHpl10xzo4J5X3+a8aaPcnRXq3IE6b/0a6OhwLw8REZE0oRkieu9KPb+swL1keu5AnamvSEREJN7S/m/brl2pu2/E+Mu/7KG0cCglhf7EJtNtAbV2oBYREUkcTxdE4exU/d+/39lrV+qW9iArVlfwhX7WEcVrp+qc3TsZsncPLdNmsDm7KKwdqCPZUVQ7Vcenv1MxnIzjdKxUiBfvuKkcO5FjeHGcdBkvGcZ1c6dqTxdE4UimXanbyiZh5eXRPnZ82MdxiIiISOw8XRCFs1P1QLtSd/Xtb4G1IztVWxbs2RN6pT4jA04ZE1GMSNtF2jaa9tH2iaVfrH2d6O9UDCfjOB0rFeLFO24qx07kGF4cJ13Gc3tct6T9W2Zfeu80TI9rCduVumvN0FtvwZEj8R9PRERE+pT2BdHQIZnYwLAhCd6VuucO1OPGxXc8ERER6ZenH5mF44HX3qG4wM9/f/J0fBkmMVOEnfsMQbN2oBYREUkCaT1DtOdoE2veqeO6sybiy+j54Cx+MlpbyHz3XRVDIiIiSSKtC6LVmw+Rm+3jXxaWJGZA2wbAyh1Kw5JzVAyJiIgkibR8ZLayvIrv/G8FdU0Bhmb7+PP26vhvwti1Zig/H4aMws7Oju94IiIiEra0myHq2pm6rim0z1BTIMgdz2/h1Z1H4zdo9wXUWVnxG0dERESi4ukZor52qu5vZ+qHX69k9LAhJ13vb7fOiHai7lxA3XU2WcBXENYuoOHuFKqdqrVTdSJipUK8eMdN5diJHMOL46TLeMkwrps7VafdDFF/O1DXt7THZbzcbZv/WQzpbDIREZGk5OkZor52qu5vZ+qRednMGJvf52v3Me1U7ZsGgYl9LqAO5xV/7VSdmL5O9HcqhpNxnI6VCvHiHTeVYydyDC+Oky7juT2uW9Juhugz5/cuTPxZPq5aVOrcIJaF79ix0M8nTNDbZCIiIknO0zNEfQkGQ6++j8jNor65nfEFfpYvne7cW2ada4Yya47C1LHgj/PbayIiIhKztCuIXth4kFnjhvHdZbOBf04Jrq+siz1459tkXWuGVAyJiIikhrR6ZHawvoVN++v5aDzOKev2ar0WUIuIiKSWtCqIXt1ZgzHwkTPGOx/8wIETB7WqGBIREUktafHI7NWdR3l8zT5qGgPkZGbwj7drnd+ZuqQEcnNh5Ehw4vGbiIiIJIznZ4he3XmUX/11DzWd+w+1dVjO7UxtWbBlCzQ1gTGhYkhERERSjqdniCprm3lm7X7aOqyTrve1M3VfO3MOuFO1ZZG7uTy0gPq4RWBCyaD9wr0fbptI2kXaNpr20faJpV+sfZ3o71QMJ+M4HSsV4sU7birHTuQYXhwnXcZLhnHd3Kna0wUR9L8DdUw7U1sWhTu2khVsCC2g7lYMiYiISOrxdEFUVpTLyLzsE4/LuutvZ+pBd6rumhkKNnDKBYsH3HQxrJ2sB6GdqhPT14n+TsVwMo7TsVIhXrzjpnLsRI7hxXHSZTy3x3WL59cQXbWolMwMc9K1mHamtixMW1tonyHtQC0iIuIJnp4hAjh32ihWbznEnqNN2DbR70xtWWDbkJlJ0/wzIcPztaSIiEja8HxBFLRsDh9r47xpo7j9wlOi25m6a9PF9nZYvFjFkIiIiMd4/m/2d2qaaGzr4PQJw6ML0G0HasaMCb1eLyIiIp7i6RmijfvrWb35EACPvrEPmwgXiXUe1ArNMHu21gyJiIh4lGdniDbur2dleRXNgSAAtU0BfvXXPawsrwo7hn/HW2RVH1ExJCIi4nGenSH6/bYjtAftk661dVisWF1BSaG/18ZTfW1EtTu7kJyiDI75Ck46jiPWjRe1MaNz/WLt60R/p2I4GcfpWKkQL95xUzl2Isfw4jjpMl4yjOvmxoyenSHqb+PF2j72JDqJZZF1+CAAHUPzaBo3wenUREREJMl4doaowJ/VZ1E0vsB/0jqinpsuzq/dC9WHYOp4IL93m25i3XhRGzM61y/Wvk70dyqGk3GcjpUK8eIdN5VjJ3IML46TLuO5Pa5bPDtD9N7ZY+ixHyM5mRksXzq97w5dC6gPHQqtGSpMr/8QRERE0plnC6IzSgoYnZ+DL8NgCB3V8ZnzJrNsbnHvxp3FkBZQi4iIpCfPPjIDaO2wWDK5kC+8d9rADevryTpareM4RERE0pQnZ4hWllfxg5e3U9/czoZ99by68+jAHQoLaVhyDoHSiQnJT0RERJKL5wqileVV3PH8Fo61dADQHAjyq7/u6V0UWRb+rZvg8OHQx9yhiU5VREREkoTnHpn98JUdtLQHT7rW1mHx8OuVjB42JHTBsqj+6z/w11QTHDacQFt2n/su9LcXg/YhcrZPLP1i7etEf6diOBnH6VipEC/ecVM5diLH8OI46TJeMoyrfYgcdLC+pc/rJ17B71xA7a+p5tjkaXpMJiIiIt6bIRpf4Keqj6JoZF42M8bkMb/mHaCZjkVzyS+d2Gufhb72XdA+RNqHKJExnIzjdKxUiBfvuKkcO5FjeHGcdBnP7XHd4rkZouVLp+PP8p10LSczg6sWlYZOqvf7YfZszQyJiIjICZ6bIeraZ+jLz26iw7IZmZfNVQsncF5pHjaE9hmCk84mExERkfQW1gyRMeb9xpgdxpjdxpiv9nE/xxjzdOf9NcaYiY5nGoFlc4uZMMLPxKJc7rlqLu8PHCRv7RvQ3vf5ZiIiIpLeBi2IjDE+4G7gA8As4ApjzKwezW4E3rVt+xTgv4HvO51oJFaWV7GvrpnKmkb+5wdPs7N8J21lkyAry820REREJEmFM0N0JrDbtu09tm0HgKeAS3u0uRR4uPPnzwEXGWN6nCSWGF37ENmWxamH3yb76BF+eiSHP7RqnyERERHpWzhriIqB/d0+HwAW9dfGtu0OY8wxoAiocSLJSHTtQzTp3UOMbqpj58gy9uePOXkfInrvs6B9iGJvH22fWPrF2teJ/k7FcDKO07FSIV6846Zy7ESO4cVx0mW8ZBjXzX2IjG3bAzcw5uPA+23b/nTn52uARbZt396tzdbONgc6P7/d2aamR6ybgZsBSktL51dWVjr5awFg0ldXYwM+K0hRUz3V+UWhsYHnbl3i+HgiIiLijES86m+MWW/b9oKe18OZIaoCSrp9ntB5ra82B4wxmcBwoLZnINu27wXuBViwYMHAlViUuvYhCmb4ThRDXdfTbU8FERERCU84a4jWAlONMZOMMdnA5cCqHm1WAdd2/vzjwJ/swaae4qSvfYj8WT6WL53uRjoiIiKSAgadIepcE3Q78ArgAx6wbXubMeY7wDrbtlcB9wOPGmN2A3WEiiZXdO1D9MNXdnCwvoXxBX6WL51+4rqIiIhIT4OuIYqXBQsW2OvWrXNlbBEREUlP/a0h8tzRHSIiIiKRUkEkIiIiaU8FkYiIiKQ9FUQiIiKS9lQQiYiISNpTQSQiIiJpTwWRiIiIpD0VRCIiIpL2VBCJiIhI2lNBJCIiImlPBZGIiIikPRVEIiIikvZUEImIiEjaU0EkIiIiaU8FkYiIiKQ9FUQiIiKS9lQQiYiISNpTQSQiIiJpTwWRiIiIpD0VRCIiIpL2jG3b7gxszFGgMs7DjARq4jyGhEffRXLQ95A89F0kD30XySMR30WZbdujel50rSBKBGPMOtu2F7idh+i7SBb6HpKHvovkoe8iebj5XeiRmYiIiKQ9FUQiIiKS9rxeEN3rdgJygr6L5KDvIXnou0ge+i6Sh2vfhafXEImIiIiEw+szRCIiIiKD8kRBZIx5vzFmhzFmtzHmq33czzHGPN15f40xZqILaXpeGN/DF40xFcaYzcaYPxpjytzIMx0M9l10a/cxY4xtjNEbNnESzndhjPmXzt8b24wxTyQ6x3QRxp9RpcaYPxtjyjv/nLrEjTy9zhjzgDGm2hiztZ/7xhjz087vabMxZl5CErNtO6V/AD7gbWAykA1sAmb1aHMb8KvOn18OPO123l77Eeb3cAGQ2/nzW/U9uPdddLbLB14F3gAWuJ23F3+E+ftiKlAOjOj8PNrtvL34I8zv4l7g1s6fzwL2up23F38A5wLzgK393L8EeAkwwGJgTSLy8sIM0ZnAbtu299i2HQCeAi7t0eZS4OHOnz8HXGSMMQnMMR0M+j3Ytv1n27abOz++AUxIcI7pIpzfEwDfBb4PtCYyuTQTzndxE3C3bdvvAti2XZ3gHNNFON+FDQzr/Plw4GAC80sbtm2/CtQN0ORS4BE75A2gwBgzLt55eaEgKgb2d/t8oPNan21s2+4AjgFFCckufYTzPXR3I6H/AxDnDfpddE5Bl9i2vTqRiaWhcH5fTAOmGWP+box5wxjz/oRll17C+S6+DVxtjDkAvAh8LjGpSQ+R/n3iiMx4DyDSkzHmamABcJ7buaQjY0wG8GPgOpdTkZBMQo/Nzic0a/qqMWaObdv1biaVpq4AHrJt+0fGmCXAo8aYU23bttxOTOLPCzNEVUBJt88TOq/12cYYk0loKrQ2Idmlj3C+B4wxFwNfBz5i23ZbgnJLN4N9F/nAqcBfjDF7CT2jX6WF1XERzu+LA8Aq27bbbdt+B9hJqEASZ4XzXdwIPANg2/Y/gCGEztaSxArr7xOneaEgWgtMNcZMMsZkE1o0vapHm1XAtZ0//zjwJ7tz5ZY4ZtDvwRgzF7iHUDGkdRLxM+B3Ydv2Mdu2R9q2PdG27YmE1nN9xLbtde6k62nh/Pm0ktDsEMaYkYQeoe1JYI7pIpzvYh9wEYAxZiahguhoQrMUCH0vn+p822wxcMy27UPxHjTlH5nZtt1hjLkdeIXQWwQP2La9zRjzHWCdbdurgPsJTX3uJrSQ63L3MvamML+HHwJ5wLOda9r32bb9EdeS9qgwvwtJgDC/i1eA9xljKoAgsNy2bc1gOyzM7+JLwK+NMV8gtMD6Ov3Ps/OMMU8S+p+AkZ3rtb4FZAHYtv0rQuu3LgF2A83A9QnJS9+1iIiIpDsvPDITERERiYkKIhEREUl7KohEREQk7akgEhERkbSngkhERETSngoiERERSXsqiERERCTtqSASERGRtPf/AcrqYrJxfBLTAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"N = 5\n",
"alpha = .5\n",
"\n",
"y, x = form_pwl_points(N) # note we swapped x,y!\n",
"# y = (1-alpha)*x + alpha*np.sqrt(x)\n",
"y = (1-alpha)*x + alpha*y\n",
"\n",
"plot_xy(x,y);"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e8084bc2",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment