{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Interpolation polynomiale - Étude du phénomène de Runge" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Importation de packages pour Python" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import numpy.linalg as npl\n", "from scipy import interpolate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Retour sur le phénomène de Runge\n", "\n", "On a vu dans le cours le phénomène de Runge qui se traduit par une mauvaise interpolation, lorsque l'on augmente le degré du polynôme d'interpolation de Lagrange, de la fonction $f$ définie sur $\\mathbb{R}$ par\n", "$$\n", "f(x) = \\dfrac{1}{1+x^2}.\n", "$$\n", "Le but du TP est d'observer ce phénomène mais aussi de mettre en oeuvre une meilleure répartition des points d'interpolation à l'aide des racines des polynômes de Chebyshev et de constater l'atténuation du phénomène de Runge. Plus particulièrement, vous implémenterez des fonctions permettant de calculer le polynôme d'interpolation de Lagrange par la méthode directe. L'interpolation par la méthode de Lagrange et celle de Newton vous est ensuite donnée. Enfin, à partir de la méthode de Newton, vous ferez l'interpolation en utilisant les points de Chebyshev." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fonction de Runge" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">**À faire :** Implémenter une fonction **Runge** qui à un vecteur $x$ sous format numpy retourne le vecteur $f(x)$. Puis, tracer de cette fonction sur l'intervalle $[-3,3]$." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def Runge(x):\n", " return 1/(1+x**2)\n", "a = -1.\n", "b = 1.\n", "x = np.arange(-3,3,1e-2)\n", "y = Runge(x)\n", "plt.plot(x,y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Construction de points d'interpolation équirépartis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dans un premier temps, nous allons considérer des points d'interpolation uniformément répartis sur l'intervalle d'interpolation $[a,b]$, $a**À faire :** Implémenter une fonction **Interp_Equi** qui prend en arguments d'entrée les valeurs $a$ et $b$ (qui définissent l'intervalle d'interpolation) ainsi que $m$ de manière à retourner un vecteur $x$ de $m$ points d'interpolations équirépartis sur $[a,b]$. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([-3. , -2.33333333, -1.66666667, -1. , -0.33333333,\n", " 0.33333333, 1. , 1.66666667, 2.33333333, 3. ])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def Interp_Equi(a,b,m):\n", " return np.linspace(a,b,m)\n", "\n", "Interp_Equi(-3,3,10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Méthode directe de construction d'un polynôme d'interpolation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On rappelle que la méthode directe de construction consiste à simplement poser le système d'équations suivant\n", "$$ p(x_j) = y_j, \\quad 0\\leq j\\leq n,$$\n", "sous la forme d'un système linéaire dont la solution correspond au vecteur $(a_j)_{0\\leq j\\leq n}$ de coefficients du polynôme d'interpolation. Plus précisément, le système s'écrit\n", "$$ \\left[ \n", "\\begin{array}{ccccc}\n", "1 & x_0 & \\cdots & x_0^{n-1} & x_0^n \\\\ \n", "1 & x_1 & \\cdots & x_1^{n-1} & x_1^n \\\\ \n", "\\vdots & \\vdots & & & \\vdots \\\\ \n", "1 & x_n & \\cdots & x_{n}^{n-1} & x_{n}^n\n", "\\end{array}\n", "\\right]\\left[\\begin{array}{c}a_0\\\\ a_1\\\\ \\vdots \\\\ a_n \\end{array}\\right] = \\left[\\begin{array}{c}y_0\\\\ y_1\\\\ \\vdots \\\\ y_n \\end{array}\\right].\n", " $$\n", " \n", " >**À faire :** Implémenter une fonction **Vandermonde** qui prend en arguments d'entrée un vecteur $x$ de points d'interpolation et qui rend, en sortie, la matrice de Vandermonde associée au système linéaire précédent. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def Vandermonde(x):\n", " m = len(x)\n", " M = np.zeros((m,m))\n", " for i in range(m):\n", " for j in range(m):\n", " M[i,j] = x[i]**j\n", " return M" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " >**À faire :** À l'aide de la fonction **npl.solve**, implémenter une fonction **Methode_directe** qui prend en argument les points d'interpolations $x$ ainsi qu'une fonction $f$ à interpoler et qui rend en sortie un vecteur $a$ qui contient les coefficients du polynôme d'interpolation de $f$ aux points $x$." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def Methode_directe(x,f):\n", " A = Vandermonde(x)\n", " b = f(x)\n", " return npl.solve(A,b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " >**À faire :** Grâce aux fonctions **PtsInterp_Equi** et **Methode_directe**, tracer sur une même figure la fonction **Runge** sur l'intervalle $[-3,3]$ ainsi que son polynôme d'interpolation pour $5$, $10$ et $15$ points d'interpolation." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEACAYAAACwB81wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd0lEUXh5/ZbHpCIIEAoUMgdESKIL0oXbDQEVQEBOlN\npIeOgiAoKKIIIgb5EJUOAgECGJr03kNLISG97s73xwalpOwmu6nznLNH932n3Ddkb+7+5s4dIaVE\noVAoFHkfTXYboFAoFIqsQTl8hUKhyCcoh69QKBT5BOXwFQqFIp+gHL5CoVDkE5TDVygUinyCWRy+\nEOJ7IUSgEOJMKvd7CSFOJ7/8hBA1zDGvQqFQKIzHXBH+KqBNGvdvAE2llLWAWcB3ZppXoVAoFEai\nNccgUko/IUSZNO7//dTbv4ES5phXoVAoFMaTHRr+h8D2bJhXoVAo8jVmifCNRQjRAngfaJyV8yoU\nCoUiCx2+EKImsAJoK6UMS6OdKu6jUCgUJiKlFOm1MaekI5JfL94QojSwEXhXSnk9vYGklHnyNW3a\ntGy3QT2fej71fHnvZSxmifCFEOuA5oCbEOIOMA2wMfhuuQKYArgCy4QQAkiUUtY3x9wKhUKhMA5z\nZen0Suf+AGCAOeZSKBQKRcZQO22zkObNm2e3CRZFPV/uRj1f3keYov9kBUIImdNsUigUipyMEAKZ\nxYu2CoVCocjBKIevUCgU+QTl8BUKhSKfoBy+QqFQ5BOUw1coFIp8gnL4CoVCkU9QDl+hUCjyCcrh\nKxQKRT5BOXyFQqHIJyiHr1AoFPkE5fAVCoUin6AcvkKhUOQTlMNXKBSKfIJy+AqFQpFPUA5foVAo\n8gnK4SsUCkU+QTl8hUKhyCfkCocvpUSnTsFSKBT5GJ2UZPY0wFzh8HtfvEjJI0eI1umy2xSFQqHI\ncsISE3Hz82PwlSuZGifHO/wH8fHsCA2luqMjG4KCstschUKhyHLWBgbSpGBBfgkK4nFiYobHyfEO\n/3BEBI1dXOhepAh/hYVltzkKhUKR5ewOC6NP0aLUL1CAQxERGR7HLA5fCPG9ECJQCHEmjTZLhBBX\nhRCnhBAvGTv22agoajo60qRgQQ6Gh5vDXIVCocg16KXkUHg4TVxcqOvszPHIyAyPZa4IfxXQJrWb\nQoh2QAUpZUVgEPCNsQOfjY6mhpMTleztidXruRsXl3lrFQqFIpdwOSYGF60WD1tbvOztuRYbm+Gx\nzOLwpZR+QFp6S2dgTXJbf8BFCFHUmLHPRkdT3dERIQQ1HR05HxOTeYMVCoUil3AhJoYajo4AlLe3\n52Z2O3wjKAEEPPX+XvK1NJFScjsujvJ2dgBUdXTkfHS0ZSxUKNJAr5fo9So1WJH1XI6JwcvBAYBy\ndnbcyITKoTWXUeZk+vTpAMTodNi4u2PfrBkAVR0cMqVfKRRpodPrOH7/OEfvHWX/nXP4RjoS5lQK\nfYGSYFPI0CghDE3EXdwib9GqUBINS3jRtExTahatiUbk+BwIRS7kUkwMzQsWBMDD1pbQxER27tnD\nkYMHTR4rqxz+PaDUU+9LJl9LkScO/3RUFNsvXvz3ehVHR9YEBlrGQkW+JEmfxM5rO/n57M/sur4L\nV6cKhDn3J6RwN9wjtPTVuNGzdAnqlXXESmjwuxGGz4WHbNM8wscuib2XLrP4+PtERAfQsVJHelbv\nSavyrdBqcmQspciFXI6J4SMPDwCshKC0nR2lq1enTatW/7bx9vY2aixz/laK5FdK/Al8DKwXQjQA\nHksp0/Xc9+Pj8bCx+fd9BTs7bqpFW4UZCIoO4su/v2TVqVWUKViGfrX64WI7hRW6ULweFmFX1TLU\nbmf7Qr/21YrQvloRAA5di+O9O6W4Ubw2IxxdKe2yg2m+0/jgzw/4uN7HDKozCDcHt6x+NEUeQkrJ\npackHYDiNjYEJiRQJVnXNwVzpWWuAw4DlYQQd4QQ7wshBgkhBiYbvQ24KYS4BnwLDDFm3Hvx8ZSw\n/e9D52FrS1hiIrFqx60ig9yPvM+I7SOo/FVlwuLC2NN3D3v7HWL5hRasjIrgm4I1uTCoErXLvOjs\nn6eRpx1XP/LiM+eqLAl/zPorHTn4wWG29drG1dCreC71ZMzOMYTGhmbBkynyIoEJCdhoNLhZW/97\nzd3GhqAMbr4yS4QvpexlRJuhpo57PyHhmQhfIwSl7Oy4Ex//zF88hSI94pLiWHRkEQuPLKRfrX6c\nH3Ke4s7FCYpKouy6s+iiNVxrV4cyRZ76SNy8CceOwfXrEB4OUkLhwlC2LNSta/ivEIx5rSAdH9Th\nlS0XKLP2HBe7VmdV51XMbjmbGftn4PWVF+NeHcfIBiOxsbJJzUSF4gWux8XhaW//zDV3a2uCM+jw\nc/Qq08OEBIrbPhtplbWzy1RakiL/4XvLl+rLquN/zx//D/1Z2GYhxZ2L8yAykYp/nMYp2o4771c3\nOPurV2H8eKhQARo2BB8fCAsDFxcoVAgCA2HtWnj1VfDygsmT4cYNvIpbE9C7BlYxWjw3nCUsVoeH\nswffdPyGg+8fZP/t/dRZUQf/u/7Z/eNQ5CIC4uIo9ZwPLGJtTVBCQobGy9ErS6GJibhqnzWxnJ0d\nt5SOrzCCmMQYPv3rUzZe3Mi3Hb+lQ6UO/94Li9VR7c+zFAstwPnBnmivXIRJk+DwYejXD37/HapX\nB5HKspSUcPw4rF8P9evD66/jPG0aV96vgtd3l6m08Sy3utXE0UZD5cKV2dJzC+vPr6fL+i70qt6L\nOa3mYKtNXzZS5G8C4uNfcPjuNjaczWB6eo6O8EOTknB9SrsCQ4SvHL4iPS4EX6DOijoExwRzZvCZ\nZ5x9gk5Ptf+dxyncnjN9iqMdMxKaN4dGjeDWLfjsM6hRI3VnD4Z79erBggVw4wbUrAmNGmHvPYnL\nvUphFWnNSz6X0CXn7gsh6FG9B2cHn+XG4xs0+qER10OvW/aHoMj1pOTwi1hbE5zBCD9nO/wUInzl\n8BXp4XPOh2Y/NmP8q+NZ9/Y6XO1dn7nffP11oqPgQtXH2NZ7CUJD4eJFGDsWntNLjaJAAZgwAc6c\ngRs3sG9cj7M1ddxPjOf1DTeeaVrYoTC/dfuNfrX60eD7Bmy6uCkzj6rI4wTEx1MqeePpEzKzaJuz\nHb6K8BUmoJd6xu8ez6S9k9jVZxfv137/hTbDtj7gmAjlTNxxnLp1hs8/h59+AjczpE96eBg0/wkT\nKNKlFaeizrFfBDPlr2fLegshGPbKMLb12sbwHcOZe3Bupg+2UORNUtPwM7pom+s0/JK2ttzL4NcZ\nRd4lLimOfr/3417EPY5+eDTF/PdNFyL4OukGvge2UWbfRjhwACpXNr8xfftCvXpU7NCBTW98RJcW\nOl676UTTcs9mltUrUY+/+/9NZ5/OXAi5wMpOK5Wur3iGlCSdQlotYXktwk/S64nS6XB5zuEXS950\noFcRkSKZsNgw2qxtg17q+avvXyk6+9DYJHqev8AXf+6g6QU/8Pe3jLN/QpUq8PffdPLfxKSdB2h3\n9BwR8S/uHylRoAQH3j9AVEIUnX06E52gakUpDMTpdDxOSqKozbOpvC5aLeEZ3IuUYx3+46QkXLRa\nNM8tnNloNBTUajOclqTIWwRHB9N8dXNqF6vN+nfWY6e1S7Fdi/VXaHXhJCMenIDt2w1plpbG3R12\n72b6+R28cv0cr61PeZHWwdqBDV03UNSpKG3WtuFx3GPL26bI8dyNj8fD1vYFH2iv0ZAkJfF6vclj\n5liHn5J+/wQPGxvuK4ef7wmKDqLlmpZ0rNiRRW0WpVq8zHt3IEG2V1l9ch/i998hKzftOTmh2baN\ndXv/xzX7q3x9JOVdt1qNllWdV/Fy8ZdpsboFj2IeZZ2NihxJSnIOGNaAXKysCE9KMnnMnOvwExMp\npE15iaGErS334+Oz2CJFTiIwKpAWq1vwVuW3mNVyFiKVFMrrj+JZFPUPq3z+R+H1P4FNNux0dXSk\n2J//49u1Pky568+DyJT1V43Q8GXbL3m9/Ou8vvZ1Fennc1Jz+AAFtdq85fDDdToKpuLwPWxtVYSf\njwmLDeO1n16jW9VueLfwTtXZA7y39k96+B6m7U9fg13Kck+W4ODAO98vovPRv+mzckuqzYQQzGs9\nj0alGtH+5/ZEJURloZGKnERaDt8lrzn8iKQknK2sUrznYWPDPRXh50tiEmPo9EsnWpVrxdRmU9Ns\nu+zrLQQU0TN10CBDrnx2U7gw07v35ZKHjjXf7Uy1mRCCxW0XU61INTr90onYRFVKJD/yIFnDT4mM\nLtzmWIcfqdOl7vBVhJ8vSdQl0m1DN8oVKsfCNgvTjOyD/c8wt3Asw6LL4FE13cPVsowydSswMNCd\nGXaPiLp0LdV2GqHhm47fUNSxKH1/74temr5Ap8jdBCYmvpCh84SCWi2P81KEH6nT4Zyahm9jozT8\nfIaUkgGbB6CXen5444e0T5cKDWXqeh887joyZkCDrDPSSKYOa4pTsCPTv/4O0qiJYqWxYnWX1QRF\nBzF+9/gstFCREwhMSKBoKokreU7SiUxKooCK8BXJzPWby/ng82zougFrq5Q/BABIyaHhE/i5SVNW\ndm2ddQaagBDwVfs2rGjVgn8+HmsoxJYKtlpbNnXfxNarW1nqvzQLrVRkN4EJCalG+HkuSydNSUdp\n+PmKTRc3sfz4cn7v/juONmmf8qP/ehkjGjagbVhVapTOubXnG1e2o3FwJUZXrw4//phmW1d7V7b3\n3s68Q/PYdnVb1hioyHbSdPh5TdKJSEPSKWJjQ1hSEgkZ2HigyF2ceniKgVsGsqn7JkoUSEeLP32a\nn3fs4qqTF2v6lEq7bQ5gfZ+yHCtRg99/+gWuXEmzbdmCZdnQdQPv/f4eVx6l3VaR+4nT6YjR61NN\nTXe2siIqTy3appGlYyUERa2teaBknTxNUHQQnX0683X7r6nrUTftxtHRRPbpy5B+w5hVphp2NmmU\nNs4hONtrGF+oGv0/HENsn3chnd/nV0u9yuyWs+ni04WI+IgsslKRHQQlJuJubZ1qYoJTnnP4Ol2q\nGj78V1NHkTfR6XX03NiTPjX60K1at/Q7TJrE2Pb9cAv3YFjzgpY30ExMbeuGVUxxpjfsANOnp9t+\nQJ0BNC3TlL6bVOZOXiYtOQfA0cqK6Lzm8FOTdACKKoefp/He7w3AjBYz0m988CDX/9rLysb1WN+q\nvIUtMz9rGniysFUL7m3YCCdOpNt+SbslhMSEMOfgnCywTpEdpOfw82SEn5qkA8rh52V2XtvJD//8\nwLq31mGlSf13AICYGPjgA7oOWUCjh6V4pVw27qbNIG2rO/BSkAc9hnwB77+frrRjY2XDr11/5etj\nX7P/1v4sslKRlaSVgw/JEX5eKp6W1k5bSHb4GawJrci5BIQH0O/3fqx7ex1FnYqm32HyZHY368hp\nd2d+fSfnL9SmxsYupTlcriBHvOrA7Nnptvdw9mBV51X0/q03wdHBWWChIitJKwcf8mOEb22tIvw8\nRqIuke7/687ohqNpWqZp+h0OHUL6+NCraU+6x5alWKF0vg3kYMoUtubt+DK82WoIcvlyOHUq3T5t\nPdvSp2Yf+v3eT+n5eYwcreELIdoKIS4JIa4IIT5J4b6bEGK7EOKUEOKsEOK99MaM0elwVJJOvmL2\nwdkUsC3A2FfHpt84MREGDWLZJ8sJt4LvuxWzvIEW5sc3PQh10/HdsMUwaBAY8YGe2WImj+Mes+Dw\ngiywUJFVPMypGr4QQgN8BbQBqgE9hRDPHyU0FDglpXwJaAEsFEKkebxijF6Pg3L4+YYjAUf45vg3\nrOq8Ku2yCU9YvJikUqUZW8SDUU7lsbfN+WmY6eFgo2GUc3lGlKmEztoGvvsu3T7WVtb88vYvLDi8\ngJMPTmaBlYqsIN0IX6PJtgi/PnBVSnlbSpkI+ACdn2vzEHBO/n9n4JGUMtVtYkl6PUlSYpNGcSyl\n4ecdIuMjeXfTuyzvsJzizsXT7xAQAPPnM7r7XKzjtcztZIYDyHMIc18vgrWVYHSvRTB1KgQFpdun\nTMEyfNHmC97d9C5xSXFZYKXC0gQmJuZYDb8EEPDU+7vJ157mO6CaEOI+cBoYkdaAsXo9DhpNmtUQ\nlYafdxi5YyTNyzbnzSpvGtlhJBEfj2CZcwzzKpRHo8n90f0TNBrB5xUq8HWRRCL6vA/jxhnVr3eN\n3lQtUpVJeyZZ2EJFVpBehO9gZUWsXm/y2d5ZtWj7KXBaSukB1Aa+FkI4pdZ4hrc3+h9/ZPr06fj6\n+qbYxtXamkidTpVXyOX8dvE39t/ez+K2i43rsG0bnD5N7/K9cQ9zZkjTLDibNosZ1KAgxaKd6FF5\nAOzbB/vTT70UQrC8w3J8zvvge8vX8kYqLEaCXk+kTodbGhH+gf37sVq9msnTpjHdiA17/yKlzNQL\naADseOr9BOCT59psAxo99X4PUDeV8eSt2FhZ+vBhmR7FDx2SAbGx6bZT5EyCo4NlsQXF5KE7h4zr\nEBMjZfny8vaG7VL84Se3no2yrIHZyM5LUVL87idvrPpNyqpVpUxMNKrflstbZJlFZWR4XLiFLVRY\nioDYWFn8UPqfiSJ+fvJhfLyUUkqDK0/fX5sjwj8GeAohygghbIAewJ/PtbkItAYQQhQFKgE3Uhsw\nRqfDXpO+aUrHz92M3DGSHtV68GqpV43r8MUX8NJLvP24IpWDC9O+etqVM3Mzr3s5Ui2sMG/F1YDi\nxeHbb43q16FSB9pUaMPonaMtbKHCUqS36eoJGdHxM+3wpZQ6DFk4u4DzgI+U8qIQYpAQYmBys7lA\nXSHEaWA3MF5KGZramLF6PfZpZOg8Qen4uZctV7Zw5O4RZrWcZVyH+/fhiy/wHzaXE0Uf8Eubsha1\nLyfwS9uynC7xEL8RC2DGDAhN9SPzDJ+//jm7ru9i7829FrZQYQnS23T1BMcMOPw0UyONRUq5A/B6\n7tq3T/1/CNDJ2PFidDocjI3wlcPPdYTHhTN462DWdFmTbn37f5k8GT78kJ6X9TS296BWyZTP+sxL\nVC9mS/MID3qHx3P7rbfA2xu+/DLdfgVsC7CswzIGbh7ImcFncLB2yAJrFeYivQXbJzhoNMRmdYRv\nCWL1euMlHeXwcx3jdo+jQ8UOtCjXwrgOJ07A9u382m40t4s94pc3SlvWwBzEujdKc7dEKGs7TYR1\n6+DiRaP6dazUkXol6jHdd7plDVSYHWMdvr1GQ6yJSSs50uGnt+nqCUrDz33subGHHdd28NlrnxnX\nQUoYNQrpPYPBl4N4O6E0JQqa5YtprqCYs5YeujIMuxOG/HQijBljdN8v237J6tOrOXE//QqcipyD\nsRq+fXJqpinkSIcfa+yirdLwcxVxSXF8tPUjlndYTgHbAsZ1+u03CA9nvsfbRLpFs6pzOqde5UG+\n6+RBTOEYZpfrA9evw/btRvVzd3Tn89c+58PNH5KoU4FRbsFYDT9/RvjK4eca5vnNo2bRmnSo1MG4\nDnFxMG4cSQsWMSPoFsOcyuJokyN/ZS2Kg7WGUS7lmPX4DonzF8Lo0WDkeabv1nwXd0d3vjjyhYWt\nVJgLkyQdpeErciJXH13lq6NfsbiNkRusAJYuhZo1GR5SA42Djs9eN6Jcch5ldit3bOwkg6PqGdI0\nV60yqt+TDVmfH/6cO+F3LGylwhzkPw3flCwdpeHneKSUDN0+lAmNJ1DKxcia9WFh8NlnREydxwp5\ngzllKmCVh0oomIqVRjC/Qnl+1N7k8dT5huMQo6ON6lu+UHmGvzKckTtGWtZIhVkwVsO3yysO39g8\n/MLW1jxOSiJJlVfI0Wy4sIH7kfcZ8UqaJZSeZd48ePNN+pwogJu0ZViDQpYzMJcwuL4r7kn29Lri\nAU2awKJFRvcd32g8ZwLPsP2qcfq/IntI0ut5nJREYWM0/DyzaJtcPC09rITAVaslWEX5OZaI+AhG\n7xzN8g7LsbZK/5cYgLt3YeVKbg2ewha3W3z7cvk0C+nlJ1bWK8+OIre4MXwmLF4MwcaddmWntWNp\nu6UM2z5MVdTMwQQnJuKq1WJlxO+7vUZDXF5w+MaWVgCl4+d0pu2bxusVXqdx6cbGd/L2hgED6O6n\no2KsC12qGJnRkw9o7+VM5ehCdD2phV69YOZMo/u2q9iOmkVr8tkhI1NiFVmOsfo95LFFW2OydEDp\n+DmZc0Hn+Pnsz8xvPd/4Tpcuwe+/83eXMRwrc5efW5S3nIG5lHWty/FPmXsc7j7BsBnr2jWj+y5u\nu5gv/b/kRliqpawU2Yix+j3ksUVboyN8lYufI5FSMmrnKCY3nUwRxyLGd5w0CcaNo/eRxzSMLUpd\nD3vLGZlLeamYPY2ji9HnRBSMGmX4mRlJaZfSjG04llE7R1nQQkVGMTYHH/KYhq8kndzN5iubuRdx\nj8F1Bxvfyd8fjh7l19oDuFUxkF/al7GcgbmcXzqU4XbZYHzqfwR+fnDsmNF9Rzcczbmgc/x14y8L\nWqjICCZLOnnB4Ru78QqUw8+JxCfFM2bXGL5o84XxC7VSwoQJ6KdMY/C5B7ypL0lpZ+N+8fMjJZyt\neVtfko8vPUBOmw7jxxt+hkZgq7Xl89c+Z9TOUSTpjdvApcga8qeGb+KibZDS8HMUS48uxcvNi7ae\nbY3vtHMnPHzIPJd3iCz/mB/albScgXmEHzqUJLJUBPMLvw0PHxp+hkbyZuU3cbN34/uT31vQQoWp\n5E8N34QI311p+DmKoOgg5vnNY+HrC43vpNfDhAnET5vNzJBbDHUpQwHr/FMgLaM4WVsx1Kkc3iG3\nSZwxBz75xPCzNAIhBIvaLGKa7zTC48ItbKnCWB4qDT9tlKSTs5i8dzJ9a/XFq7BX+o2f4OMDdnYM\nDm+Ktng885sWt5yBeYzPWhbFqlAiw2OagIODIWvHSGoXr02nSp2YdcDIQ2gUFscUSSfP7LQ1trQC\nqLTMnMSph6f48/KfTG021fhOCQkwZQohn85jjdN1FlbwxNrIf3sFaDUaZpUpz3eaG0ROnQtTpkB8\nvNH9Z7WcxapTq7gWanxqp8JyBCYkUCzfafhGllYAg6QTkpiI3sgFK4VlkFIyeudopjefTkG7gsZ3\nXLECKlXindueeFjZMaCmq+WMzKOMqOeGm7U1vW95QbVq8M03Rvct6lSUca+OY+yusRa0UGEMOikJ\nTUqiiLGSTl7ZaRun12NnZJRnrdFQwMqKRyrKz1Z2XNvBg6gHfPjyh8Z3ioqC2bM5PXg2B8rcZm2j\nCqqEQgYQQrC8dnm2FrnFrVFzYM4ciIgwuv/IBiM5HXiag7cPWtBKRXqEJCZSUKtFa6TvyzOSTrxe\nj60JH3yl42cvOr2O8X+NZ16reWg1Jiy2fvEFtGzJ2zedqR9bhKalnCxnZB7nLS8XKiYV4M0zBaBt\nW1iwwOi+tlpbZrWYxbjd45Dqm3K2YcqmKzA4/Pg84/BN0HGVjp+9/HTmJwraFeQNrzeM7xQcDEuW\n4NN5KjfLBfFr+7IWsy+/sLF1BU573mXrW1Pg668NqZpG0rNGTxJ0CWy8uNGCFirSwpQFWwBbjYZ4\nE/9A50iHrwe0pkT4KjUz24hNjGXKvil81voz0+SY2bPRd+/JwOB4emlKUbqA2mSVWaoVtqOzriR9\nb8cj+/YzqbCaRmiY33o+E/dMVMchZhMZcvh5IcK3EcIk56Eknexjif8S6peoT8NSDY3vdOsW/PQT\n42qMJLF4DN+pTVZmY22HUkSVjGBareGwfr1JhdVeq/AaZQuW5buT31nQQkVqmLLpCsBWiOxx+EKI\ntkKIS0KIK0KIT1Jp01wI8Y8Q4pwQYl9a45ki54DabZtdPIp5xIIjC5jbaq5pHadO5fGHQ/myQAif\nl66InVWOjDtyJY7WVkwv6slcq2Cih46CyZNN6j+v9TxmHphJZHykhSxUpIapGv6TxV1TDoDK9CdN\nCKEBvgLaANWAnkKIys+1cQG+BjpKKasDXdMa01SHr3bbZg+zD86ma9WuVHKrZHyns2dh5046efSm\nlHRgaF03yxmYT5nwamEKW1nTtXBPOHAATpwwuu/LxV+mZbmWLDxiwk5phVkwVdIB03V8c4RW9YGr\nUsrbUspEwAfo/FybXsBGKeU9ACllSFoDZiTCVw4/a7kZdpPVp1czrdk00zpOnMjRQVM5VD6IjS09\nLWNcPkcIwdoGnuwo9YBLw71hwgST+s9qMYulR5fyMMr4RV9F5smIw7czMRffHA6/BBDw1Pu7ydee\nphLgKoTYJ4Q4JoR4N60BbUzMxVYOP+uZsm8Kw+sPp6hTUeM7+fkhz56lU/EmtI8pycvFVa17S9Gq\nvBMNot1p79gYbt+G3buN7luuUDn61uzLjP0zLGih4nlM1fDB9IXbrKpQpQVeBloCjsARIcQRKWWK\nK0oR33/P9B07AGjevDnNmzdPc3CVlpm1PKmlvrzDcuM7SQmffMKSDz/jsVssPl2qWc5ABQCb3ihH\niV1H+XHgfN6bMAFatQIjvz1PbjoZr6+8GN1wNJ6u6ptYVmCKhu/r64uvry+xAQHM37rV6DnM4fDv\nAaWfel8y+drT3AVCpJRxQJwQ4gBQC0jR4ZccNIjpdesabUBRa2uCEhKQUqqdmlnAlH1TGN9oPM62\nzsZ32ryZ6KgYxnqWZlYRT5xsjCudocg4RZ20jHPwZJCHlh5W1tht2ADduxvV183BjWH1h+G935uf\n3vzJwpYq9FISnJiIu5ER/pNA+Bd/fwZXr86SOXOM6mcOSecY4CmEKCOEsAF6AH8+1+YPoLEQwkoI\n4QC8AlxMbUBTdtkC2FlZYafR8DhJHeZgaY7fP86xe8dMO8lKp4OJE+nZaz7F45z4pIVaqM0q5rQp\nQqF4O/p0n2M4CtEE6XNUw1HsvLaTC8EXLGihAuBRYiIuVlbYmLh+meWLtlJKHTAU2AWcB3yklBeF\nEIOEEAOT21wCdgJngL+BFVLKVH+LTH1oUDp+VjF572QmNZmEvbUJ+vtPP+Ff2ostlR3Z3Lqi5YxT\nvIAQgt+aVeS3ijacqVYXVq40um8B2wKMfXUsU/eZUP1UkSEeZmDBFkzX8M2SAC2l3CGl9JJSVpRS\nzku+9q3EFsxpAAAgAElEQVSUcsVTbRZIKatJKWtKKZemNZ6pWTqgdPys4ODtg1x5dIX+L/c3vlNc\nHEnTp/NG1+H0ii1HrZK2ljNQkSKvlrenQ0RpOnQYin7mTEPROiMZWn8ohwMOc/LBSQtaqHhoQlnk\np8mOLB2zY6qkA6q8gqWRUjJp7ySmNZuGjZUJv5jLljHzjX7EygL82FUdbJJdrO9akhAHW5a+OcBQ\ntM5IHKwdmNhkIlP2TbGgdQpT6uA/jam7bXOmw89AhO9uY0OQcvgWY9f1XQTHBNOnZh/jO4WHc+O7\n75nTuiVrX/JCa6UW1LMLB1sNX5X1YtzrrXnw42pD8TojGfDyAM4FneNwwGELWpi/yVWSjrnJsIav\nJB2LIKVk8r7JzGg+AyuN8dk1cv58eg6ZSIN7ZXnjZQcLWqgwhv6NC1D1Xkm6j5iBnGX8sYa2Wlum\nNp3KpL2TVPlkC5FRSSc7dtqaHSXp5Cz+uPwHSfok3q76tvGd7tzh+wtXOFegPJv7lLKccQqT2NGj\nLEddy7P2+i24edPofv1e6se9iHvsvbnXcsblYwITEzPu8HN7hJ/hRVvl8M2OTq9jyr4pzGoxC40w\n/t/lqvccRr03kMWlalDQOUf+muVLirlpmF2oGkM+/Ji7M4zL3QbQarR4N/dWUb6FyLCkk181fOXw\nLcP68+txsnGifcX2RvfRHz1K/5o1qHmjHANaqlOschpjOhag/LXSDK5YEfnPP0b36169O9GJ0Wy5\nssWC1uVP8neWjtLwcwQ6vQ7v/d7MajHL+B3MUjL/p/9x3bY8W/qrLfk5lW19K+HvUZPvVqw1uo9G\naJjRfAZTfaeqKN/MZDhLJy9IOqYWT4P/NHz1i2g+1p9fj7ujOy3LtTS6z6kNf/J5q6bMKNWEQi4q\nKyenUsJdw1jH+kxs04yrO9M8nuIZulTuAsCfl5/fTK/IKIl6PWFJSRQ2oRb+E/LGom0GInwnrRYB\nROl05jcoH6LT65h1YBZTm041OrpPjIvj/fAwmh+xo38HJeXkdMa940qDQ4J3b9xAZ2RZEiEE05pN\nw3u/twquzERwYiJuWi1WGQh080SEnxGHD0rHNycbL27Exc6F1uVbG91n+Pd/YB2uZ+UnrSxomcJc\nCAErx3RAFwdjv//d6H6dvTojkWy+stmC1uUfMirnQF5ZtM1gxUt3a2ul45sBvdQz88BMpjWbZnR0\n//vpW2wqas30IvVwdVVSTm6hWDENn9jUYq27lr8uP1/kNmWeRPnTfaerKN8MZDRDB/JIhJ+RjVeQ\nfLativAzzaaLm7DX2tOmQhuj2gfFJzDg+gXGbbxE+341LGydwty883FdRmw4Q98zp4g0Utrp7NUZ\nvdSrKN8MZCbCtxaCxPyo4YOSdMyBXuqZcWAGU5sZp91LKemw2Z8eu/9i6JcfZ4GFCkswas5gWh87\nwlt/HDeqvYryzUdGUzLBEBznfoefQUmnmI0ND5XDzxSbL2/GSljRoWIHo9pPORVAbPBNRpeoga27\ni4WtU1gKx7JFmCjduRJ9l0XnHxjVp3NlQ5Sv8vIzR2YkHWshSMjtkk5GI/ziNjY8UA4/w0gpTYru\nD4dEsijgKt//4EO5if2ywEKFJak8ZzBrFy9n0o2L/BOefglljdAYovz9KsrPDBktqwCGCD8ht0f4\nGdXwPWxtlcPPBNuubiNJn8QbXm+k2zYsMZEOR86y5KuvqP+1t9FnpSpyMNbWvDr3U+Z/s5LXDp4z\nSs/vXLkzSfokFeVngsxE+DZ5QsPPoKTjYWPD/fh4M1uTP3gS3U9pOiXdmjl6KWm99xL1fM/Tx6MI\non69LLJSYWms2rRmgL2Gyn5X6Oh7Od3IXUX5mSczGn6+lnQ8bG25ryL8DLHz+k6iE6J5q8pb6bYd\n+88dbtwM5befvbFdND8LrFNkJXbLvmDbD59y8k4os8/fT7d9l8pdSNInsfXq1iywLu/xID4+ny/a\nZjRLx9qa4MREkkz4i6cwRPfe+72Niu63PAzlq4C7HFw6CafFC6BQoSyyUpFluLtTYI43O5fNwfvW\nLQ49ikiz+b9RvsrYMZlonY54KXHVajPUP09E+BmppQOg1Whw02oJUpuvTGLPzT08jnvMO1XfSbPd\n7dg4up68yPg1p6hWpgB0755FFiqynA8+oKF9FP1/uU47//Pp7m/pUrkLifpEFeWbyP34eDxsbIwv\nTvgc+TrCB7VwaypPovvJTSaneZpVvF5Pk73nKb/Dnpn7pyGWLTPszVfkTTQaxLffsmznGArucaTJ\n3vMkphFJaoSGqU2nqho7JnI/IQEPW9sM97cWIvdn6WTK4auFW5PYf3s/gVGBdK+eerQupaSL7xWC\nztly7NgYxKefQtmyWWekInuoWhXN0I85e3Iit85Z0cPvWprN36zyJnFJcWy/tj2LDMz93IuPp0QG\n9XtIztLJ7ZJOZiN8tXBrPDP2z2BSk0loNalriFNP3+OvgEj+fuCLg4iHkSOz0EJFtjJxIi7h99n7\n8AR/3g3j8zQWcVWUbzr34+MzF+FnRx6+EKKtEOKSEOKKEOKTNNrVE0IkCiHSTAXJqIYPKsI3hYO3\nD3I7/Da9avRKtc2mgFDm3b7D/AAHXlo7HVavBivjDzJX5HJsbGD1ahqtHs+k665MvHmTvYHhqTZ/\nu+rbRCVEsev6riw0MvdyLyGBEplw+Fmehy+E0ABfAW2AakBPIUTlVNrNA3amN2ZGN14BFFcRvtHM\nODCDiY0nYm2V8sEL58Jj6H76Im+c8GLU5g/A2xsqVsxiKxXZTo0aMGYM03w/oqmfFx2OnedOTMpB\nlUZomNJ0ioryjeTJom1GyY4snfrAVSnlbSllIuADdE6h3TDgf0BQegNaZzLCf6Ai/HQ5HHCYq4+u\n8m6td1O8H5aYSGPfs1Q5Uo4N1t8gnJ1h8OAstlKRYxg7FhETw46iv1DcvwT1dp4jOinlw4a6Vu1K\nWFwYe27uyWIjcx/34uMzF+FnQ5ZOCSDgqfd3k6/9ixDCA+gipVwOpOvNM+XwVYRvFDMPzGRik4nY\nWL0YXeikpP7mi9icceXvlrfQfLUEVq1S5RPyM1otrFmD9ZwZnHotlPgrDjTcchF9Cs7GSmPF5CaT\nVZRvBPcTErI0ws9Ytr/pLAae1vbT9OhzZ8xAk+z0mzdvTvPmzY2eSGn46XP03lHOB53n9+4vnnIk\npaTt5mvcfSC59lYh7Nu3hpUroVSpbLBUkaOoWBG+/JICA3pwYtNRqu6/QZdtN/izQ4UXmvao3oMZ\nB2aw79Y+k85Ezk9IKTO8aOvr64uvry9ROh1h94w7uObfSTPzAhoAO556PwH45Lk2N5JfN4FI4CHw\nRirjycyQpNdLa19fmajTZWqcvEzHdR3l10e/TvHee1vuSO0af+l/LkHKTp2kHDUqi61T5Hj695ey\nd2+5/0S8tPr5bznir3spNlt9arVstqpZ1tqWiwhJSJAFDx7M1BihyWMk+810/bU5vqMfAzyFEGWE\nEDZAD+CZI+2llOWTX+Uw6PhDpJQWOfbeSggKq6MOU+Xkg5P88+AfPqj9wQv3pv4VzJq4AP6oWpP6\nu76Chw9h3rxssFKRo1myBE6douk/P/FTyRosibzJwgOhLzTrVaMXdyPusv/W/mwwMueT2Rx8yIZF\nWymlDhgK7ALOAz5SyotCiEFCiIEpdcnsnOlRwtaWgLg4S0+TK5mxfwbjG43HTmv3zPVv/cKZFX2F\n79xr0D78MMyfD+vXG9LyFIqncXCADRvg00/paXOGhU7VGBd2ER//Z2voazVaJjWZxIwDM7LJ0JxN\nZnPwIZtKK0gpd0gpvaSUFaWU85KvfSulXJFC2w+klL+ZY97UKG1rS4DS8V/g1MNT+N/zZ8DLA565\n/tvRGIaEnMPbvjIflAiGXr1g3TooVy6bLFXkeKpUgR9+gLffZlTlKEZbe9I74Cy7Tz8baPWp2Yeb\nYTfxu+OXTYbmXDKbgw955EzbzFLazk45/BSYdWAW414dh721/b/Xtvsn0O36WQbZlGNKQxvo3Bkm\nT4aWaqFNkQ4dO8Lw4dClCwuaO9PbpiTtz53h0Ln/suSsrayZ1GQS3vu9s9HQnElmc/DBcLaw1oSs\nxjzp8EvZ2nJHSTrPcC7oHH53/BhUZ9C/13YdTqTTxdN0c3Nn2WtFDNUvGzaEj9Vh5AojGT8evLzg\nvfdY08GDdgUK0+Lvsxz+57/Tst6t9S5XH13lcMDhbDQ053E3kzn4TzAljT1POvzStrbcURH+M8w6\nMIsxDcfgaOMIwO6DOjqcOUvHkgX5uVVp6N/fUDJBVcFUmIIQ8P33EBQEI0bwR4eyNC3pRPMD5/Hz\nNywm2ljZMLHJRGbsV1r+09yJj6eMnV36DdPBlFI0edPh29mpCP8pLgZfZN+tfQyuZ9gpu3W3ng4n\nztGikj2/tfI0VL+8ds2wSJvBgxgU+Rg7O/jjDzh0CDFzJjter0jdala03nOR/QcN+vJ7L73HheAL\n+N/1z2Zjcw534uIobY4I34QNkXnT4atF22eYdXAWI18ZiZONE2t/0fP2iYs0rG3FtuZeaKZNg61b\nYfNmQ/aFQpERXFxgxw5Yuxbtl1+yt0UVqjZIpM3eS2zeJrGxsuHTxp+qjJ1kpJTcjoujtIrwM4+7\njQ2Pk5KI1aVc6yM/cTnkMruu7+Lj+h+zcLGegbcvUqdJErsaV0E7ZQps2gT79oGbW3abqsjtFC0K\ne/bAsmXYff45fs1qUL1FPN2OXWLFSskHtT/gTOAZjt07lt2WZjthSUlYCYGLGb5R53sNXyMEJW1t\nuauifOb4zWFYveHMnO6Et/4Cr7TQseeVath+8okhst+3D9zds9tMRV6hdGnYvx9Wr8ZhxgwOvFqd\nWq/FMybwErNm2jD+1U+YeWBmdluZ7dyJizOLfg+mVRfOkw4fknX8fO7wr4VeY+uVrRxf8THfl7xA\nw2aSHTU8sevTB44cMURjhQtnt5mKvIaHh8Hp//EHDoMHs+flytR8LZ7lzpfwX9GfE/dPcPLByey2\nMlu5Ex9vFv0elKQDGFIz8/tu28k752J1bjgn2gfQuDFsLlUU29dfBykNzl7JOApL4e4OBw/Cgwc4\nduzIrvIlqdMqkb8aXcPm9CdM3p2/o/w7ZtLvQS3aAio183ffm6y/tA+rbm1oV9eO36LCsalXD5o2\nhV9+MWRWKBSWxNnZkL1TvTqOr77KFn0irRtoSXzrVXZeOcd639PZbWG2cVtF+OYlP6dm/vADdPv5\nKxwbfcWgau589+cfaN96C77+GubMUXXtFVmHlRUsXgwzZmDdrh1rdu+ie/WCODdZwru/LsbHJ7sN\nzB7MqeHn+0VbSJZ08lmEHxMD778Pk/ddJKlbU+Y6OzOtd2/E5s1w7JhhK7xCkR306AF//41m3ToW\nfvQRU91cSerSmaGbTjBiBOSzj6pBw1eLtuajtJ0dt/NRhH/lCrzSUHKy2i0i3rvBl9t+Ydgbb0Hf\nvoYFtNKls9tERX6nfHk4dAjat2d02w58uX8L0QMessctgFcbSa5fz24Ds47bZtp0BSrCB6CcnR23\n4+NTPIItLyEl/PQTNOwcR+Lsf3CodIoj7/djQKCEU6fgo4+UhKPIOWi1MHo0nDzJ4EuPODjoQ7Qv\nnyR+ymnqt43n11+z20DLE6vTEZaUlOnSyE9QET7gYGVFIa2We3n4u+KjR9C1m2T27suIRQfot/lb\nls0dze7Jb2C3bj2UKJH+IApFdlC6NNqNmzg3sSsrvIfy1t5VWC3Zz8QN1+j/oSQiIrsNtBw34uIo\nY2uLlZlqVpkS4efpwikV7O25HhtLqTyYkfLXnzGsmLadWx/FYm+dwO79Vyn+YQ+q7t3Apd7qlCpF\n7uCdd+dQPtSHv+s0o92uvfR/I5Dz4YcZ0LQAQ+a1oVlb+/QHyWVcj42lgr35nsuULJ287fDt7Lge\nF0fz7DbEHEgJ164R++cu9q7359dmJdk3sxEz4mFgq45YFSzIsG3D+KD2B7g7qp2zityBk40TIxuM\nZGrwb6ydt5bTISF8tXcvs2bZUGDHNGKmBtPq3QbYtG9tWAPIA5Vcr8fGUt6MDt+UPPy87fCTI/xc\nSWAgnDgBx4/D8ePI48c5XLI8E19/jxPT3+Ojou5cqumFm7U1APcj7/Pz2Z+5+PHFbDZcoTCNofWH\n4rnEkyuPrlCpcCVGdetG74QEZrmXpOvrwTQ8eI253XpRN/gB1K9veNWrB3XqQIEC2W2+yVyPjcUz\nmyJ8IXPYoqYQQprLpnWBgfwREsL6atXMMp7FCAn5z7k/+W9kJNSty40mTVhfpQ4L9YUI12h4r0hx\nPm/kQcFkR/+EEdtHYKWx4os2X2TTQygUGWfWgVlcDb3K6i6rn7n+KDGRYXvv8WvUAwon6hkvg+l1\n6gjF/Pzg9GkoVQrq1jU4/7p1oXZtcHTMpqcwjnZnzjDEw4NOZipr8tHly3xbuTJSynQ9f552+P4R\nEXx85QrH69Y1y3hmQUpDDuXevYbCZceOQWgovPwy1K1LTJ067K9ene22tmx/FEpgZBIJh1x5y7ko\n3w0uhKPDi/+mDyIfUG1ZNS58fIFiTsWy4aEUiswRHheO51JPjvQ/gqer5wv3I6IkHywPZUtCIFYN\nQqlZ0IHOroXoEBZG9VOnEMnfhDl3ziD91K1r+Cbw+uvg+eJ42Uklf39+r16dqmb6wzT86lWWVqqk\nHH5IQgIVjx4lrHFjs4yXYZKS4MAB2LDBUHdeo4FWraBFC2jQgKslSrA1NJQdoaEcioigtpMTFR65\n4jvflUpWTixeJKhSJfXhR+0YhUSyuO3irHsmhcLMePt6cyv8Fqs6r0q1zZkz8NEwPUHFH1PjoxBO\n2YWik5L2rq60d3OjpaMjThcvGr4pHz4MO3caznlo2xa6doUmTbI1TVknJY4HDhDWuDH2VlZmGXPs\ntWssrFjRKIefpzV8N2tr9FISmpiI63MSSJZw9y58+y2sXGmoINitG+zdi/T05HhUFBuCg/kzJISI\nkBDau7oywMOD2bbV8B6v5eAFWLLIsDk2LYnuYdRDVp9ezbkh57LuuRQKCzD8leFUXFqRG2E3KF+o\nfIptataEQ74afv3VlU/ec6X2y5KPZsdwziGUL+/epXdkJA0LFKBDu3a0792bivb2cPasoRT40KEG\nqbRvXxg8GIoXz+InhIC4OApbW5vN2YMqnvYvQggq2NtzLasXbq9ehd69Db+dYWEG+ebECeLGjmW5\noyO1T5yg54UL2Gk0rK1ShbsNGzLdqTI7JxWhTWMtjRrB+fPQqVP6SQkLDi+gd43eeDh7ZM2zKRQW\nopB9IYbUG8Kcg3PSbCcEdO8Oly7BK/UFvZs4cn9xKXxKvMS9hg0Z7OHB2agomp06xUvHj7OqSBHi\nxo83fD34/XfDBpaqVQ3nOGfx9t5rZk7JBNMWbZFSZvoFtAUuAVeAT1K43ws4nfzyA2qkMZY0J73O\nn5c/Pnhg1jFTJShIygEDpHRzk3LWLCnDw6WUUibp9fLbe/dkycOHZaczZ+Se0FCp0+ullFIGB0s5\nZoyUrq5SfvKJlI8eGT9dYFSgLDSvkAwID7DE0ygUWc6jmEfSdb6rvBl20+g+Dx9KOWSI4TM0caKU\noaGG6zq9Xu549Ei2OXVKlj58WP788OG/nzsZEiLltGmGTiNHGt5nAUsCAuSgS5fMOubMmzdlst9M\n11dnOsIXQmiAr4A2QDWgpxCi8nPNbgBNpZS1gFnAd5md11iqODhwMTraspNICT/+CNWrGzIErlyB\nSZOgQAEuRUfT9J9/+CkwkI3VqvFnjRq0LFSIsFDBtGlQubKh6NnZszBvHri6Gj/tgsML6Fm9JyUL\nlLTYoykUWYmrvSsf1fmIuQfnGt2naFFDIdiTJyEoCCpWhBkzICpS0MbVlR21avFTlSosunuXZqdO\ncTM21nAWxPTpcOECxMUZPrsbNljuwZK5GBNjtsXaJ5gi6Zgjum8AbH/q/QRSiPKful8QCEjjvln/\n+m0MCpKdzpwx65jPEBIiZceOUtauLeXx48/cWvfwoSzs5yeXBgT8G1ncvSvl6NFSFiokZf/+Ul67\nlrFpA6MCpet8V3nn8Z3MPoFCkaMIiQ6RrvNd5e3HtzPU/+pVKd99V8rChaWcPFnKwEDDdZ1eLxfc\nuSML+/nJ/wUFPdvp8GEpvbykfOcdKcPCMvkEqdPs5Em5y5Sv8Uaw8M6drIvwgRJAwFPv7yZfS40P\nge1mmNcoqjg4cDEmxjKDHzliSKf08oK//zbkAmP4Izr5xg0m3rzJnlq1GFqyJDeuCwYNgho1QK83\nyIkrV0KFChmbep7fPHrX6E0pl1JmfCCFIvtxc3BjwMsDmOeXsRIhnp6wZo3h4xkcbPh4DhkCN28I\nxpQqxY6aNRl57Rpzbt9+EmRCw4aGYoPFihlSOs+cMeMT/YdFIvycWlpBCNECeB9IM09y+vTp//5/\n8+bNad68eYbn9LS35258PHE6HXZmXBln3ToYORK+/96wupqMlJLh165xNCIC/9ovc/qADZ2WGP4e\nfPSRQe3J7H6LexH3+PHUj5wfcj6TD6FQ5EzGNBxD5a8rM7HJxAxLlp6e8M034O0NS5bAK69Ay5Yw\nfLgzf9d9mfZnzxCRlMTc8uURQhhOgVu6FH7+2ZA2/c038PbbZnumR4mJxOn1eNjYZHosX19ffH19\nAThmSqU5Y74GpPXCIOnseOp9ipIOUBO4ClRIZzyzft2RUsoq/v7ydGSkeQbT66WcPVvK0qWlfE4q\n0uv1csSVK7Lu0eNy4TeJskoVKWvWlHLlSiljYswzvZRSDtkyRI7dOdZ8AyoUOZBxu8bJj7d+bLbx\nIiKkXLxYykqVDJ/Lhd8lyJr+x+TE69dfbHzypJQeHlIuW2a2+Q+GhclXnpN9zcF39+4ZLemYw+Fb\nAdeAMoANcAqo8lyb0snOvoER45n9B/LW2bPS54mQlxn0ekMqTY0aUt6798Kt4YduS7ffjsqCJRPk\nW29J6etruG5OboXdkq7zXWVQVFD6jRWKXMzDyIey0LxC8m74XbOOq9NJuWuXlJ07S1mwdIIsuPlv\nOf34vRcbXr8upaenlN7eZpl3xb178r2LF80y1tP8+OBB1mn4UkodMBTYBZwHfKSUF4UQg4QQA5Ob\nTQFcgWVCiH+EEEczO68pVHV05HxmM3WkhAkTYMcOQ169hyHv/dEjw9fFcn1C+PrhXd6/WoMzh63Z\nuBGaNTN/cb+ZB2YyuO5gijgWMe/ACkUOo6hTUd5/6X0+O/SZWcfVaOC11wwp+acOWNP9VA1mBNyk\ncp9Qli83bJ0BDCUa/PzAxwdmz870vBdiYqji4JDpcZ5Hm9V5+OZ8YYEI/39BQbJjZjN1pk6V8qWX\npAwJkbGxUv72m5Rdu0rp4iJlx8HR0mWvnzwSFm4eg1Ph6qOr0m2+mwyNCbXoPApFTuFB5ANZaF4h\neT/ivkXn2RsSJgvt9ZMd34+VLi5Sdu8u5fbtUiYkSCnv35eyYkUpFyzI1BzN//lH7jRzho6UUq4P\nDMzSLJ0cTx0nJ05ERmZ8gBUrkD//zL4JO3lvjBseHoa1ndat4dJ1Pfc/uMDcSmVpUNCypVq993sz\nssFICtkXsug8CkVOoZhTMfrW6pvhjB1jaeFWkPHlSxI29AJXrutp2tSQpu/hAQOnFcfPew9y6VJY\nuzZD40sp+ScyktpOTuY1HBXhv4Ber5euBw/K+3FxJvWLi5Py+PTN8rFDMVm/0BX5yitSLlr0rHw/\n5upV2eXsWak3t1j/HOeDzkv3z91lRFyERedRKHIaDyMfmrz7NiPo9HrZ9vRpOempRdybN6X87DMp\n69aVsonrORlhV0SeWLRfJiaaNvb1mBhZ8vBh8xqczJ/BwVm3aGvulyUcvpRSvnbqlNwcHJxuu9BQ\nKdeuNcg1jZxOyVBtYbnm479lSgv5f4WGypKHD8uQhAQLWPwsXX/tKj/z+8zi8ygUOZEpe6fIfpv6\nWXyeh/Hx0t3PTx4Nf1GevX5dynX9d8sQrbus73JJ9uolpY+PlI8fpz/uhsBAi20A3R4SoiSd56nj\n7MyJqKgXrktp2GOxYIEh9bZMGVi/Hjo1CsXX9U0KrVnCu1+9QvnnivfF6HQMvHyZFZUq/XvqlKU4\n9fAUfnf8+Lj+xxadR6HIqYxpOIbt17ZzPsiye0+K2tiw2NOT9y9dIl6vf+Ze+fLQc2Vr3L6Zg5/b\nG7SqF8GaNYYzWFq1gsWL4fJlg095nn+ioiwi54Bpkk7+cfhP6fiBgQYprm9fg0b39ttw8yYMHw4P\nHsCfm3S8u70X2re7QM+eKY438/Zt6jk7087NzeK2T/hrApObTsbB2vwr/ApFbsDFzoVPGn3C5H2T\nLT5XD3d3Kjo4MOPWrZQb9O+P9Wst+OBQf7ZukTx4YPAd584Z1vXKlDEU4vzlF0NtH4AjERG8YqHj\nGLO0lo65X1hA0gkKknL5phjpsP2QrPWSXrq4SPnmm1IuXy5TlGrk5MlSNm8uUxPqzkRGyiJ+fvKB\niWsCGeGv639JzyWeMiHJ8rKRQpGTiU2MlSW/KCmPBByx+FwP4uJkET8/eTIilTWz2FiDsP/FF89c\n1uulvHRJyqVLDXn+Li5S1qytk9a7D0ifLQkWKdNz6PHj/K3h37lj0OEHDpSyShXDD71tO7102XFY\n+vhFp73gcuiQlMWKGWqupoBOr5cNT5yQ395LYaOGmdHpdbLOt3Wkz1kfi8+lUOQGVp5YKZutambx\nJAkppVx1/758+dgxmajTpdzg5k0pixY1+IxUSEyU8ge/COm+xV+2bCmlk5Nh3+aQIVKuWydlgBkq\nm/uHh+cfDT86Gg4eNGjw3boZvk7VqQObNhnOOPj5Z8PmqO3bBB1KuRBZ7jHa1CoIRUdDv36GWqtF\ni6bY5Nv799EAH2bBaTn/u/A/ALpW62rxuRSK3EC/l/rxMOohu67vsvxcxYpRSKtl8d27KTcoWxa+\n+0LX14oAABbKSURBVM5w2FF4eIpNtFqILBNOF08X9uwxHF/9pGjir78azlwvW9YwxJdfGk5lNPW8\nJlOKp+WqM20TEgzlq48dg6NHDa9r1wwVKOvX/+9VsWLKO1xX3L/PwfBwfkrtgNjhww3/Iqnk2t6P\nj6fW8eP4vvQS1cxc8e55EnWJVPm6Ct92/JZW5VtZdC6FIjex8cJGZh+czfGBx9EIy8as12NjeeXE\nCY7WqUP51E6q+ugjw6EWa9akePutc+d4s3Bh3i1W7IV7UhoWeg8fNvi1Y8cMPs7LC+rVM/izevWg\nWjVSDVTPRkVR09kZmZsPMQ8OhtOnn31duWJYKX/yg6hf33CKoLHF5y7HxNDq1CkCGjY0VMd7mr17\nDau4Z89CoZQ3NnU9fx4ve3tmPZ+yYwGWHVvGH5f/YGefnRafS6HITUgpqb+yPmMbjqV79e4Wn+/z\nO3fYFRbGrpo1X/QbYFAG6tQx7NTq0eOZW4l6PUUOHeLyK69Q1EhHFRdn8HdPAttjx+DOHahSBWrV\n+u9Vs6bBVV2KjqaKk1PudfjFi0tiYp59uFq1DH/lMnMcpJQST39/NlarxkvOzv/diIgw/PSWL4d2\n7VLsuyUkhFHXr3Ombl2zHkCcElEJUVRcWpFtvbZRu3hti86lUORG9t3cR/8/+3Px44vYam0tOleS\nXk/9kycZUbIk/VKI0gE4ccLgO44fh9Kl/7188PFjRl67xom6dTNlQ1SUIRZ9EvyeOWN4X7AgVG4S\nwO51pXOvw795U1KmjPkLjwGMvHoVN2trppQt+9/FDz80VFRasSLFPpFJSVQ/doxVlSvTMpXo35zM\n2D+Dy48u8/NbP1t8LoUit/LGL2/QtExTxr461uJznYyMpN2ZM5ytVw/31CL1OXPA1xd27vzXeU26\ncQMJzLGAKqDXG9LJf1/pzdh5041y+Dly0bZsWcs4e4BOhQvz56NH/13Ytg327IGFC1PtM+nmTVoV\nKpQlzv5B5AOW+C9hZouZFp9LocjNfP7a58w/NJ+QmBCLz/WyszP9ihVj5LVrqTcaP96wBvj994BB\nUfg1OJg3M3viUSpoNIbF3+LXfYzvYxFLMklsoonL1CbQ1MWFu/HxXIqONvzjDBwIP/wAT0s8T/F3\neDgbgoNZkNGzCE1k8t7JfFD7A8oXsvw6gUKRm/Eq7EWPaj3w9vXOkvmmly2Lf0QEW58OGJ9Gq4Uf\nf4RPP4WAAI5HRiKAuqn4FnPwOO4xRU5fNbp9jnT4W69ssdjY1hoNfYsW5YeHD2HYMMM22xYtUmwb\no9PxweXLLKpQAVcLl08AOPngJFuvbmVSk0kWn0uhyAtMaz4Nn/M+XAq5ZPG5HKysWOHlxZArV4hM\nSkq5UfXqMGIEDBzImocP6eXunvJCr5n47fz/aHjPeDeeIx3+X74/WHT8D4oXZ/Xt2/y/vTsPr/lK\nAzj+fQkRa0WKqa2GxtBYqtrqUEvUUtKgpYOZ2jotpeWxlZl2WqUd0zJVSxUNU0wptTTW2lUHUR2N\nWkIoYyuxhYjIet/540YbmshN7vK7uTmf58nz5N6c+zvv77m893fP7z3n3Ni3DyZMyLHd8GPHaFy6\nND1yqMl3JVVl2PphjGs9jnIlyrm9P8PwBUElgxjdbDSvbXzNI/21KV+eNuXL8/qJEzk3Gj2ay9ev\n89np07yYuVGSu+zaMAfNw/IuXpnw0775mmvJ2U9kcIU6iYm0/PZbpn/8MeSwA82iuDg2xcczIzjY\nbXFktTxmOVeTr/LCQy94pD/D8BWvPvoqBy4cYMuJLR7pb1KtWiy/eJEvL17MvkGxYkyfNImuX39N\nlUvuu79wPvE8pb6NJqBFqMOv8cqE3yPuXlYcXuGeg6vCgAG8nZ7OP4sU4WRy8q+abI2PZ+ixYywP\nCaFsjtNyXSc5PZlRG0cxuf1kihZxb8mnYfgafz9/3nvyPYavH06GLcPt/QUWK8aKkBBejI3l24SE\nX/39x5s3mZaezhulSsGAAdkvn+kCSw4uoWdcRfzatHX4NV6Z8JsfSuRf37tpWOezz+DYMeqOGsXo\n6tXpdvAg8WlpgH1YZfGFCzx36BCL69WjgZuWM73TlKgpNKzckNCajn9SG4bxi271unFPiXuY+d1M\nj/T3SNmy/KtOHcL272dVlqv4C6mpdD1wgLfuv5+aw4bBmTM5zsB11vz/zqXxoXho397h17j/8jUf\nSpQsAwcPEns5luAKLhxSOXsWhg+3b0Tu78/wqlU5l5LCg3v28FRgIDFJScSnp/NVgwY87MY767eF\nlHCWiTsnEvXnKI/0Zxi+SET4qONHtJrXiu4PdqdiqYpu7zMsKIjlfn70OXyY90+f5oGAANZevsyA\n++7jlSpV7LXl8+bZd0xv0waqVnVZ33vP7aV6bBx+NWpCHtb18sqJVzpgAKtsh9nxXFP+8aSL9rJU\nhY4d4fHH4c03b/vT/sREdiYkUKV4cdoHBuZtfWkn9VjagwcCH2B8qKm7NwxnjVg/gvjkeOZ2dm/h\nR1YpNhub4uM5m5JCi3Ll+N2d62yNH29fLGftWpdNMBq0ZhB/+CKGlhUfgfffR0Qcmnhl+XLId/4A\nqitWaOITTbXypMqalpHHzSNzMnu26sMPZ25D7x02HNug9394v95IvWF1KIbhE64lX9P7/nmf7jzl\nnv1j8yU1VbVxY9WICJccLik1SQPfC9TkhxupbtqkqlrAl0du145SP8TQuEhV1h5d6/zxfvwR/vpX\n+9crD9TTOyIlPYXBawcz7alpZicrw3CRsv5lmdh2IoPWDvLIDVyHFCtmzz1jxthXQXPSsphlhPnX\nx/9/p6FFizy91iUJX0Q6iMhhEYkVkdE5tJkqIkdFJFpEGt31gCVLQqdOvB4XTMTeCOeCS0+H55+H\n11+3r77mJSbunEi9e+sRFhxmdSiG4VN6hvSknH85j93AdUhIiP3+4QsvOF21E7E3ghFnqkPXrnm+\ngHU64YtIEWA60B54EOgpIr+7o81TQC1VfQAYAOT+TvTsyWPfnGDn6Z0cjz+e/wAnTLB/gAwZkv9j\nuNjx+ONMjprMlA5TrA7FMHyOiDC943TGfj2Wn67/ZHU4vxg1yr5RyowZ+T7E/rj9xF6OJWTrQfuO\nT3nkiiv8R4GjqnpSVdOAz4HOd7TpDMwHUNXdQDkRufv01XbtKBp7lFGVnmHa7mn5i2zPHpg+3b6+\nhQdvxN6NqjJ47WBGPj6SGvfUsDocw/BJIRVDGPDwAF5Z+4rVofzCz8++udLYsRAdna9DTN09lbfL\ndKbIxUsQmvcybldkwSrA6SyPz2Q+d7c2Z7Npc7vixaF/f17+1sb8H+aTkPLrCQ53dfmy/RNwxgyX\nlkM5a/6++ZxPPO+RJV0NozB7o8UbxFyKYdmhZVaH8ovgYPtehs89B9ev5+mll5MuszRmKX/alWhf\n9DEf+3J4ZR3+2LFj7b+kptJqwRLCprXh0+hPGfKYg8MyGRn2TSKffdb+4yXOXT/HqI2jWP+n9RQr\n6h03jw3DV5XwK0HE0xF0/6I7oTVDKR/g/uXNHdKrF2zdCi++CIsWOVyqGbE3gt73tiXgvTVsi+jK\ntlt5Mg+crsMXkabAWFXtkPl4DPYSofeytJkJbFXVxZmPDwMtVTUum+PpbTH16cPpe4rQutY3xL4a\n69gelmPGwK5d9nXuPbA0giNUlWeWPMOD9z7IO6HvWB2OYRQar6x9haS0JI/W5ufq5k1o1co+N+it\nt3JtnpqRSq2ptfjucEsqlahg/5aQhaN1+K4Y0tkD1BaRGiJSHOgBrLyjzUqgd2ZgTYGr2SX7bI0b\nR9V/r6RucmmWxyzPvf20abBiBSxb5jXJHuCLQ19w5NIR/tbib1aHYhiFyoQ2E9h8YjPrj3nR/tAB\nAbBypf3+ogNLL8zfN5/2aTWotOwrGJ1tIaRjHCnWz+0H6AAcAY4CYzKfGwC8lKXNdOAYsA9ofJdj\n/XqmwfjxeqFZI234UX3NsGXkPCNh9mzVKlVUjx/PdfKCJ527fk4rT6qsUaejrA7FMAqlzcc3633/\nvE8v3rhodSi3O3hQtXJl1XnzcmySlpGmwR/U1KtN6qtOmZJtGxyceOWdSyvcGVN6OhoaymfFD1Nm\n2mw61+3yq7/z9tv2O+AbN0Lt2p4LOBeqSseFHWnymyZm+QTDsNDIDSM5cfUES7svdeumJHkWEwPt\n2sGgQfar9zsqCj+LXkCZoa8RXrqx/VtBNjdrPTmk435+fkhkJJ3OlSHg+f7oyZP25202+82PJ56A\nqCj7uL0XJXuAad9OI/5mPG+2fDP3xoZhuM27oe9y9PJRPo3+1OpQble3LuzYYV9rp3Vr2L7958lZ\n6cdi+U3vQTyRVMF+gzcflTlZFYwr/Ey2pBvM61qTP0YlUfyeCpCQAFWqwIgR0KeP19Ta37I/bj+h\n80OJeiGKWoGe2RPXMIyc3fo/ufvPu71v3+j0dPuY/qRJcPEilCpFyrXLLGoVRJ/FR5ASJXJ8qaNX\n+AUq4QOsP7aeYatfYV+n1RQrVx4qun8Z1PxISkvisYjHGPH4CPo26mt1OIZhZPow6kMW7l/IN/2+\nwd/P3+pwsnf+PMnXrlBndTsW/2EpTas2vWtz3xrSyaJ97fZUrVCTWfEbvTbZqyoDVw+kUeVG9GnY\nx+pwDMPIYuhjQ6lWrhrD1g+zOpScVa7MlIureKRa01yTfV4UuIQPMLHtRMZvH8/V5KtWh5Ktmd/N\nJPp8NLPCZnnXzSHDMBAR5obPZdPxTSzYt8DqcLJ17vo5Ju2axLuh77r0uAVuSOeWgasHIggfh33s\ngagcF3UmivBF4ezov4MHKjxgdTiGYeTgwIUDtJ7Xms29N9OgUgOrw7lNr2W9qFGuBhOenOBQe58d\n0rllQpsJRB6JZOfpnVaH8rNT107x7JJniQiPMMneMLxcSMUQpnSYQufPOxOX6Ng8UE/Y+ONGdp3Z\nxd9aun6SZoFN+OUDyjO5/WReWvUSqRmpVofDteRrdFrYieFNhxNeJ9zqcAzDcECv+r3o3aA3Ty96\nmqS0JKvD4UbqDQatHeS2jZEK7JAO2G+OdlnchToV6vB+2/fdHFnO0jLS6LSwE7UDa/NRx4/MuL1h\nFCCqSu8ve3Mj9QZLn1vq2HpdbnLrAvbTLp/m6XU+P6QD9pOcEz6HhfsXsuHHDZbEkGHLoF9kP4oV\nLcbUp6aaZG8YBYyIEPF0BPHJ8by8+mWsugheEbOCzSc2M/WpqW7ro0AnfICgkkHM7zqfvl/29fju\nNja18dKql/jp+k980f0L/Ip4z2JthmE4zt/Pn5U9VvLDhR8Ysm6Ix5P+8fjjDFwzkAVdF1DWv6zb\n+inwCR8gtGYogx8ZTPiicG6k3vBInxm2DAatGcSRy0dY2XOl2YjcMAq4Mv5lWPfHdUSdjWLkhpEe\nS/rXU64TviicN1u8ye+r/d6tfRXoMfysVJW+kX1JSElgafelFC3i3JoTd5OSnsLzK57nYtJFIntE\nuvUT2TAMz7py8wrt/92e+hXrMytslls3K0rNSKXz552pVraaU/N2CsUYflYiwuyw2SSkJNB/ZX8y\nbBlu6efKzSt0XNgRm9pY98d1Jtkbho8JDAhka5+tnE88T/jn4VxPydtWhI5Kt6XTa1kvAvwCmNFp\nhkfu//lMwgf7ONyqnqs4k3CG3l/2JiU9xaXHjz4fTZPZTWhYqSGLuy2mhF/OixkZhlFwlS5emsge\nkVQvW51HPnmE/XH7XXr8pLQknln8DElpSSx6dpHH7v/5VMIHKFmsJKt6ruJm2k3azG/jkgkVGbYM\nPtj1AW0XtOXvbf7OB+0/cOuQkWEY1itWtBiznp7FX5r/hdbzWjPru1nY1Ob0cU9dO0Xrea0pH1Ce\nyB6RHl3AzWfG8O9kUxtjt43lk72fMKPjDLrW7Zqv4+w5u4ehXw2leNHizAmfY5Y5NoxC6OCFg/SL\n7Ie/nz8fd/qYkIoheT6GqrLk4BKGfDWE4U2H81qz11w2jOOzyyPn1Y5TO+gX2Y/flv8t41qP49Eq\nj+b6GlVl5+mdTI6azK4zu3i71dv0f6i/pRMyDMOwVoYtg5nfzWTc9nG0ur8Vo5uN5qHKD+WatFWV\n7Se3M/brsVy5eYVZYbNcugImmIR/m9SMVOZ+P5cJ/5lAYEAg3et1p0WNFgRXCCaoZBDptnQu3LhA\nzMUYtv1vG5FHIkmzpTHw4YEMaDLAlFwahvGzxNREZuyZwYw9MyhdvDTd6nWjefXm1A2qS6XSlQB7\nccetfLL88HKS05MZ+fhI+j3Uzy3j9SbhZ8OmNrac2MKa2DXsOL2DE1dPcCnpEn5F/AgqGUSdCnVo\nXr05HWp3oFm1ZmbWrGEYObKpjR2ndrA6djW7zuzi2JVjxN2IQxDKlShHcIVgmlVrRlhwGC1qtHDr\nCIFJ+A5SVZPYDcNwCavySaGrw88vk+wNw3AVb88nTiV8ESkvIhtE5IiIrBeRctm0qSoiW0TkoIjs\nF5EhzvRpGIZh5I+zV/hjgE2qWgfYAvwlmzbpwHBVfRB4HBgsIr9zst8Cadu2bVaH4Fbm/Ao2c36+\nz9mE3xmYl/n7PKDLnQ1U9byqRmf+ngjEAFWc7LdA8vV/cOb8CjZzfr7P2YRfUVXjwJ7YgYp3aywi\n9wONgN1O9msYhmHkUa4FoSKyEaiU9SlAgTeyaZ5jeY2IlAaWAkMzr/QNwzAMD3KqLFNEYoBWqhon\nIpWBrapaN5t2fsBqYJ2qTsnlmN5VJ2oYhlEAOFKW6eyUr5VAX+A9oA8QmUO7ucCh3JI9OBa0YRiG\nkXfOXuEHAkuAasBJ4DlVvSoivwE+UdUwEWkGbAf2Yx/yUeCvqvqV09EbhmEYDvO6mbaGYRiGe3jd\nTFsRGSci+0QkWkQ2iUhVq2NyJRF5X0RiMs9vmYj41JZZItJNRA6ISIaINLY6HlcQkQ4iclhEYkVk\ntNXxuJqIzBGROBH5wepYXM3XJ36KiL+I7BaR7zPP8e93be9tV/giUvpWFY+IvAo0VNU/WxyWy4jI\nk8AWVbWJyD8AVdXsJqwVSCJSB7ABs4CRqrrX4pCcIiJFgFigDfATsAfooaqHLQ3MhUSkOZAIzFfV\nBlbH40qZxSSVVTU6s1Lwv0BnH3v/SqpqkogUBXYAI1R1R3Ztve4K/46SzVLAJaticQdV3aT687Y5\nUYBPfYNR1SOqehR7+a4veBQ4qqonVTUN+Bz7hEOfoar/AeKtjsMdCsPET1VNyvzVH3tOz/G99LqE\nDyAi74jIKewVQBMsDsed+gPrrA7CuKsqwOksj8/gYwmjsPDViZ8iUkREvgfOA9tU9VBObT2zc+4d\n7jKZ63VVXaWqbwBvZI6Xfgj0syDMfMvt/DLbvA6kqepCC0J0iiPnZxjexJcnfmaOGDyUeT9wg4i0\nVNWvs2trScJX1bYONl0IrHVnLO6Q2/mJSF+gIxDqkYBcLA/vny84C1TP8rhq5nNGAZE58XMpsEBV\nc5orVOCpaoKIrAGaANkmfK8b0hGR2lkedgGirYrFHUSkAzAKCFfVFKvjcTNfGMffA9QWkRoiUhzo\ngX3Coa8RfOP9yo7DEz8LGhEJurUsvYgEAG25S870xiqdpUAwkAEcB15W1QvWRuU6InIUKA5cznwq\nSlUHWRiSS4lIF2AaEARcBaJV9Slro3JO5of0FOwXSHNU9R8Wh+RSIrIQaAVUAOKAt1T1X5YG5SK+\nPvFTROpjX6lYsP/7XKCqk3Js720J3zAMw3APrxvSMQzDMNzDJHzDMIxCwiR8wzCMQsIkfMMwjELC\nJHzDMIxCwiR8wzCMQsIkfMMwjELCJHzDMIxC4v9WqGMCLfTW8AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def Pol_eval(a,x):\n", " p = 0\n", " for i in range(len(a)):\n", " p += a[i]*x**i\n", " return p\n", "\n", "\n", "x = np.linspace(-3,3,1000)\n", "plt.plot(x,Runge(x))\n", "for n in [5,10,15]:\n", " x_interp = Interp_Equi(-3,3,n)\n", " a = Methode_directe(x_interp,Runge)\n", " P = Pol_eval(a,x)\n", " plt.plot(x,P)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " >**À faire :** Utiliser à présent une boite noire de python pour retrouver ces résultats. Pour cela, s'appuyer sur la méthode interpolate.KroghInterpolator de scipy." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAEACAYAAACwB81wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd0lEUXh5/ZbHpCIIEAoUMgdESKIL0oXbDQEVQEBOlN\npIeOgiAoKKIIIgb5EJUOAgECGJr03kNLISG97s73xwalpOwmu6nznLNH932n3Ddkb+7+5s4dIaVE\noVAoFHkfTXYboFAoFIqsQTl8hUKhyCcoh69QKBT5BOXwFQqFIp+gHL5CoVDkE5TDVygUinyCWRy+\nEOJ7IUSgEOJMKvd7CSFOJ7/8hBA1zDGvQqFQKIzHXBH+KqBNGvdvAE2llLWAWcB3ZppXoVAoFEai\nNccgUko/IUSZNO7//dTbv4ES5phXoVAoFMaTHRr+h8D2bJhXoVAo8jVmifCNRQjRAngfaJyV8yoU\nCoUiCx2+EKImsAJoK6UMS6OdKu6jUCgUJiKlFOm1MaekI5JfL94QojSwEXhXSnk9vYGklHnyNW3a\ntGy3QT2fej71fHnvZSxmifCFEOuA5oCbEOIOMA2wMfhuuQKYArgCy4QQAkiUUtY3x9wKhUKhMA5z\nZen0Suf+AGCAOeZSKBQKRcZQO22zkObNm2e3CRZFPV/uRj1f3keYov9kBUIImdNsUigUipyMEAKZ\nxYu2CoVCocjBKIevUCgU+QTl8BUKhSKfoBy+QqFQ5BOUw1coFIp8gnL4CoVCkU9QDl+hUCjyCcrh\nKxQKRT5BOXyFQqHIJyiHr1AoFPkE5fAVCoUin6AcvkKhUOQTlMNXKBSKfIJy+AqFQpFPUA5foVAo\n8gnK4SsUCkU+QTl8hUKhyCfkCocvpUSnTsFSKBT5GJ2UZPY0wFzh8HtfvEjJI0eI1umy2xSFQqHI\ncsISE3Hz82PwlSuZGifHO/wH8fHsCA2luqMjG4KCstschUKhyHLWBgbSpGBBfgkK4nFiYobHyfEO\n/3BEBI1dXOhepAh/hYVltzkKhUKR5ewOC6NP0aLUL1CAQxERGR7HLA5fCPG9ECJQCHEmjTZLhBBX\nhRCnhBAvGTv22agoajo60qRgQQ6Gh5vDXIVCocg16KXkUHg4TVxcqOvszPHIyAyPZa4IfxXQJrWb\nQoh2QAUpZUVgEPCNsQOfjY6mhpMTleztidXruRsXl3lrFQqFIpdwOSYGF60WD1tbvOztuRYbm+Gx\nzOLwpZR+QFp6S2dgTXJbf8BFCFHUmLHPRkdT3dERIQQ1HR05HxOTeYMVCoUil3AhJoYajo4AlLe3\n52Z2O3wjKAEEPPX+XvK1NJFScjsujvJ2dgBUdXTkfHS0ZSxUKNJAr5fo9So1WJH1XI6JwcvBAYBy\ndnbcyITKoTWXUeZk+vTpAMTodNi4u2PfrBkAVR0cMqVfKRRpodPrOH7/OEfvHWX/nXP4RjoS5lQK\nfYGSYFPI0CghDE3EXdwib9GqUBINS3jRtExTahatiUbk+BwIRS7kUkwMzQsWBMDD1pbQxER27tnD\nkYMHTR4rqxz+PaDUU+9LJl9LkScO/3RUFNsvXvz3ehVHR9YEBlrGQkW+JEmfxM5rO/n57M/sur4L\nV6cKhDn3J6RwN9wjtPTVuNGzdAnqlXXESmjwuxGGz4WHbNM8wscuib2XLrP4+PtERAfQsVJHelbv\nSavyrdBqcmQspciFXI6J4SMPDwCshKC0nR2lq1enTatW/7bx9vY2aixz/laK5FdK/Al8DKwXQjQA\nHksp0/Xc9+Pj8bCx+fd9BTs7bqpFW4UZCIoO4su/v2TVqVWUKViGfrX64WI7hRW6ULweFmFX1TLU\nbmf7Qr/21YrQvloRAA5di+O9O6W4Ubw2IxxdKe2yg2m+0/jgzw/4uN7HDKozCDcHt6x+NEUeQkrJ\npackHYDiNjYEJiRQJVnXNwVzpWWuAw4DlYQQd4QQ7wshBgkhBiYbvQ24KYS4BnwLDDFm3Hvx8ZSw\n/e9D52FrS1hiIrFqx60ig9yPvM+I7SOo/FVlwuLC2NN3D3v7HWL5hRasjIrgm4I1uTCoErXLvOjs\nn6eRpx1XP/LiM+eqLAl/zPorHTn4wWG29drG1dCreC71ZMzOMYTGhmbBkynyIoEJCdhoNLhZW/97\nzd3GhqAMbr4yS4QvpexlRJuhpo57PyHhmQhfIwSl7Oy4Ex//zF88hSI94pLiWHRkEQuPLKRfrX6c\nH3Ke4s7FCYpKouy6s+iiNVxrV4cyRZ76SNy8CceOwfXrEB4OUkLhwlC2LNSta/ivEIx5rSAdH9Th\nlS0XKLP2HBe7VmdV51XMbjmbGftn4PWVF+NeHcfIBiOxsbJJzUSF4gWux8XhaW//zDV3a2uCM+jw\nc/Qq08OEBIrbPhtplbWzy1RakiL/4XvLl+rLquN/zx//D/1Z2GYhxZ2L8yAykYp/nMYp2o4771c3\nOPurV2H8eKhQARo2BB8fCAsDFxcoVAgCA2HtWnj1VfDygsmT4cYNvIpbE9C7BlYxWjw3nCUsVoeH\nswffdPyGg+8fZP/t/dRZUQf/u/7Z/eNQ5CIC4uIo9ZwPLGJtTVBCQobGy9ErS6GJibhqnzWxnJ0d\nt5SOrzCCmMQYPv3rUzZe3Mi3Hb+lQ6UO/94Li9VR7c+zFAstwPnBnmivXIRJk+DwYejXD37/HapX\nB5HKspSUcPw4rF8P9evD66/jPG0aV96vgtd3l6m08Sy3utXE0UZD5cKV2dJzC+vPr6fL+i70qt6L\nOa3mYKtNXzZS5G8C4uNfcPjuNjaczWB6eo6O8EOTknB9SrsCQ4SvHL4iPS4EX6DOijoExwRzZvCZ\nZ5x9gk5Ptf+dxyncnjN9iqMdMxKaN4dGjeDWLfjsM6hRI3VnD4Z79erBggVw4wbUrAmNGmHvPYnL\nvUphFWnNSz6X0CXn7gsh6FG9B2cHn+XG4xs0+qER10OvW/aHoMj1pOTwi1hbE5zBCD9nO/wUInzl\n8BXp4XPOh2Y/NmP8q+NZ9/Y6XO1dn7nffP11oqPgQtXH2NZ7CUJD4eJFGDsWntNLjaJAAZgwAc6c\ngRs3sG9cj7M1ddxPjOf1DTeeaVrYoTC/dfuNfrX60eD7Bmy6uCkzj6rI4wTEx1MqeePpEzKzaJuz\nHb6K8BUmoJd6xu8ez6S9k9jVZxfv137/hTbDtj7gmAjlTNxxnLp1hs8/h59+AjczpE96eBg0/wkT\nKNKlFaeizrFfBDPlr2fLegshGPbKMLb12sbwHcOZe3Bupg+2UORNUtPwM7pom+s0/JK2ttzL4NcZ\nRd4lLimOfr/3417EPY5+eDTF/PdNFyL4OukGvge2UWbfRjhwACpXNr8xfftCvXpU7NCBTW98RJcW\nOl676UTTcs9mltUrUY+/+/9NZ5/OXAi5wMpOK5Wur3iGlCSdQlotYXktwk/S64nS6XB5zuEXS950\noFcRkSKZsNgw2qxtg17q+avvXyk6+9DYJHqev8AXf+6g6QU/8Pe3jLN/QpUq8PffdPLfxKSdB2h3\n9BwR8S/uHylRoAQH3j9AVEIUnX06E52gakUpDMTpdDxOSqKozbOpvC5aLeEZ3IuUYx3+46QkXLRa\nNM8tnNloNBTUajOclqTIWwRHB9N8dXNqF6vN+nfWY6e1S7Fdi/VXaHXhJCMenIDt2w1plpbG3R12\n72b6+R28cv0cr61PeZHWwdqBDV03UNSpKG3WtuFx3GPL26bI8dyNj8fD1vYFH2iv0ZAkJfF6vclj\n5liHn5J+/wQPGxvuK4ef7wmKDqLlmpZ0rNiRRW0WpVq8zHt3IEG2V1l9ch/i998hKzftOTmh2baN\ndXv/xzX7q3x9JOVdt1qNllWdV/Fy8ZdpsboFj2IeZZ2NihxJSnIOGNaAXKysCE9KMnnMnOvwExMp\npE15iaGErS334+Oz2CJFTiIwKpAWq1vwVuW3mNVyFiKVFMrrj+JZFPUPq3z+R+H1P4FNNux0dXSk\n2J//49u1Pky568+DyJT1V43Q8GXbL3m9/Ou8vvZ1Fennc1Jz+AAFtdq85fDDdToKpuLwPWxtVYSf\njwmLDeO1n16jW9VueLfwTtXZA7y39k96+B6m7U9fg13Kck+W4ODAO98vovPRv+mzckuqzYQQzGs9\nj0alGtH+5/ZEJURloZGKnERaDt8lrzn8iKQknK2sUrznYWPDPRXh50tiEmPo9EsnWpVrxdRmU9Ns\nu+zrLQQU0TN10CBDrnx2U7gw07v35ZKHjjXf7Uy1mRCCxW0XU61INTr90onYRFVKJD/yIFnDT4mM\nLtzmWIcfqdOl7vBVhJ8vSdQl0m1DN8oVKsfCNgvTjOyD/c8wt3Asw6LL4FE13cPVsowydSswMNCd\nGXaPiLp0LdV2GqHhm47fUNSxKH1/74temr5Ap8jdBCYmvpCh84SCWi2P81KEH6nT4Zyahm9jozT8\nfIaUkgGbB6CXen5444e0T5cKDWXqeh887joyZkCDrDPSSKYOa4pTsCPTv/4O0qiJYqWxYnWX1QRF\nBzF+9/gstFCREwhMSKBoKokreU7SiUxKooCK8BXJzPWby/ng82zougFrq5Q/BABIyaHhE/i5SVNW\ndm2ddQaagBDwVfs2rGjVgn8+HmsoxJYKtlpbNnXfxNarW1nqvzQLrVRkN4EJCalG+HkuSydNSUdp\n+PmKTRc3sfz4cn7v/juONmmf8qP/ehkjGjagbVhVapTOubXnG1e2o3FwJUZXrw4//phmW1d7V7b3\n3s68Q/PYdnVb1hioyHbSdPh5TdKJSEPSKWJjQ1hSEgkZ2HigyF2ceniKgVsGsqn7JkoUSEeLP32a\nn3fs4qqTF2v6lEq7bQ5gfZ+yHCtRg99/+gWuXEmzbdmCZdnQdQPv/f4eVx6l3VaR+4nT6YjR61NN\nTXe2siIqTy3appGlYyUERa2teaBknTxNUHQQnX0683X7r6nrUTftxtHRRPbpy5B+w5hVphp2NmmU\nNs4hONtrGF+oGv0/HENsn3chnd/nV0u9yuyWs+ni04WI+IgsslKRHQQlJuJubZ1qYoJTnnP4Ol2q\nGj78V1NHkTfR6XX03NiTPjX60K1at/Q7TJrE2Pb9cAv3YFjzgpY30ExMbeuGVUxxpjfsANOnp9t+\nQJ0BNC3TlL6bVOZOXiYtOQfA0cqK6Lzm8FOTdACKKoefp/He7w3AjBYz0m988CDX/9rLysb1WN+q\nvIUtMz9rGniysFUL7m3YCCdOpNt+SbslhMSEMOfgnCywTpEdpOfw82SEn5qkA8rh52V2XtvJD//8\nwLq31mGlSf13AICYGPjgA7oOWUCjh6V4pVw27qbNIG2rO/BSkAc9hnwB77+frrRjY2XDr11/5etj\nX7P/1v4sslKRlaSVgw/JEX5eKp6W1k5bSHb4GawJrci5BIQH0O/3fqx7ex1FnYqm32HyZHY368hp\nd2d+fSfnL9SmxsYupTlcriBHvOrA7Nnptvdw9mBV51X0/q03wdHBWWChIitJKwcf8mOEb22tIvw8\nRqIuke7/687ohqNpWqZp+h0OHUL6+NCraU+6x5alWKF0vg3kYMoUtubt+DK82WoIcvlyOHUq3T5t\nPdvSp2Yf+v3eT+n5eYwcreELIdoKIS4JIa4IIT5J4b6bEGK7EOKUEOKsEOK99MaM0elwVJJOvmL2\nwdkUsC3A2FfHpt84MREGDWLZJ8sJt4LvuxWzvIEW5sc3PQh10/HdsMUwaBAY8YGe2WImj+Mes+Dw\ngiywUJFVPMypGr4QQgN8BbQBqgE9hRDPHyU0FDglpXwJaAEsFEKkebxijF6Pg3L4+YYjAUf45vg3\nrOq8Ku2yCU9YvJikUqUZW8SDUU7lsbfN+WmY6eFgo2GUc3lGlKmEztoGvvsu3T7WVtb88vYvLDi8\ngJMPTmaBlYqsIN0IX6PJtgi/PnBVSnlbSpkI+ACdn2vzEHBO/n9n4JGUMtVtYkl6PUlSYpNGcSyl\n4ecdIuMjeXfTuyzvsJzizsXT7xAQAPPnM7r7XKzjtcztZIYDyHMIc18vgrWVYHSvRTB1KgQFpdun\nTMEyfNHmC97d9C5xSXFZYKXC0gQmJuZYDb8EEPDU+7vJ157mO6CaEOI+cBoYkdaAsXo9DhpNmtUQ\nlYafdxi5YyTNyzbnzSpvGtlhJBEfj2CZcwzzKpRHo8n90f0TNBrB5xUq8HWRRCL6vA/jxhnVr3eN\n3lQtUpVJeyZZ2EJFVpBehO9gZUWsXm/y2d5ZtWj7KXBaSukB1Aa+FkI4pdZ4hrc3+h9/ZPr06fj6\n+qbYxtXamkidTpVXyOX8dvE39t/ez+K2i43rsG0bnD5N7/K9cQ9zZkjTLDibNosZ1KAgxaKd6FF5\nAOzbB/vTT70UQrC8w3J8zvvge8vX8kYqLEaCXk+kTodbGhH+gf37sVq9msnTpjHdiA17/yKlzNQL\naADseOr9BOCT59psAxo99X4PUDeV8eSt2FhZ+vBhmR7FDx2SAbGx6bZT5EyCo4NlsQXF5KE7h4zr\nEBMjZfny8vaG7VL84Se3no2yrIHZyM5LUVL87idvrPpNyqpVpUxMNKrflstbZJlFZWR4XLiFLVRY\nioDYWFn8UPqfiSJ+fvJhfLyUUkqDK0/fX5sjwj8GeAohygghbIAewJ/PtbkItAYQQhQFKgE3Uhsw\nRqfDXpO+aUrHz92M3DGSHtV68GqpV43r8MUX8NJLvP24IpWDC9O+etqVM3Mzr3s5Ui2sMG/F1YDi\nxeHbb43q16FSB9pUaMPonaMtbKHCUqS36eoJGdHxM+3wpZQ6DFk4u4DzgI+U8qIQYpAQYmBys7lA\nXSHEaWA3MF5KGZramLF6PfZpZOg8Qen4uZctV7Zw5O4RZrWcZVyH+/fhiy/wHzaXE0Uf8Eubsha1\nLyfwS9uynC7xEL8RC2DGDAhN9SPzDJ+//jm7ru9i7829FrZQYQnS23T1BMcMOPw0UyONRUq5A/B6\n7tq3T/1/CNDJ2PFidDocjI3wlcPPdYTHhTN462DWdFmTbn37f5k8GT78kJ6X9TS296BWyZTP+sxL\nVC9mS/MID3qHx3P7rbfA2xu+/DLdfgVsC7CswzIGbh7ImcFncLB2yAJrFeYivQXbJzhoNMRmdYRv\nCWL1euMlHeXwcx3jdo+jQ8UOtCjXwrgOJ07A9u382m40t4s94pc3SlvWwBzEujdKc7dEKGs7TYR1\n6+DiRaP6dazUkXol6jHdd7plDVSYHWMdvr1GQ6yJSSs50uGnt+nqCUrDz33subGHHdd28NlrnxnX\nQUoYNQrpPYPBl4N4O6E0JQqa5YtprqCYs5YeujIMuxOG/HQijBljdN8v237J6tOrOXE//QqcipyD\nsRq+fXJqpinkSIcfa+yirdLwcxVxSXF8tPUjlndYTgHbAsZ1+u03CA9nvsfbRLpFs6pzOqde5UG+\n6+RBTOEYZpfrA9evw/btRvVzd3Tn89c+58PNH5KoU4FRbsFYDT9/RvjK4eca5vnNo2bRmnSo1MG4\nDnFxMG4cSQsWMSPoFsOcyuJokyN/ZS2Kg7WGUS7lmPX4DonzF8Lo0WDkeabv1nwXd0d3vjjyhYWt\nVJgLkyQdpeErciJXH13lq6NfsbiNkRusAJYuhZo1GR5SA42Djs9eN6Jcch5ldit3bOwkg6PqGdI0\nV60yqt+TDVmfH/6cO+F3LGylwhzkPw3flCwdpeHneKSUDN0+lAmNJ1DKxcia9WFh8NlnREydxwp5\ngzllKmCVh0oomIqVRjC/Qnl+1N7k8dT5huMQo6ON6lu+UHmGvzKckTtGWtZIhVkwVsO3yysO39g8\n/MLW1jxOSiJJlVfI0Wy4sIH7kfcZ8UqaJZSeZd48ePNN+pwogJu0ZViDQpYzMJcwuL4r7kn29Lri\nAU2awKJFRvcd32g8ZwLPsP2qcfq/IntI0ut5nJREYWM0/DyzaJtcPC09rITAVaslWEX5OZaI+AhG\n7xzN8g7LsbZK/5cYgLt3YeVKbg2ewha3W3z7cvk0C+nlJ1bWK8+OIre4MXwmLF4MwcaddmWntWNp\nu6UM2z5MVdTMwQQnJuKq1WJlxO+7vUZDXF5w+MaWVgCl4+d0pu2bxusVXqdx6cbGd/L2hgED6O6n\no2KsC12qGJnRkw9o7+VM5ehCdD2phV69YOZMo/u2q9iOmkVr8tkhI1NiFVmOsfo95LFFW2OydEDp\n+DmZc0Hn+Pnsz8xvPd/4Tpcuwe+/83eXMRwrc5efW5S3nIG5lHWty/FPmXsc7j7BsBnr2jWj+y5u\nu5gv/b/kRliqpawU2Yix+j3ksUVboyN8lYufI5FSMmrnKCY3nUwRxyLGd5w0CcaNo/eRxzSMLUpd\nD3vLGZlLeamYPY2ji9HnRBSMGmX4mRlJaZfSjG04llE7R1nQQkVGMTYHH/KYhq8kndzN5iubuRdx\nj8F1Bxvfyd8fjh7l19oDuFUxkF/al7GcgbmcXzqU4XbZYHzqfwR+fnDsmNF9Rzcczbmgc/x14y8L\nWqjICCZLOnnB4Ru78QqUw8+JxCfFM2bXGL5o84XxC7VSwoQJ6KdMY/C5B7ypL0lpZ+N+8fMjJZyt\neVtfko8vPUBOmw7jxxt+hkZgq7Xl89c+Z9TOUSTpjdvApcga8qeGb+KibZDS8HMUS48uxcvNi7ae\nbY3vtHMnPHzIPJd3iCz/mB/albScgXmEHzqUJLJUBPMLvw0PHxp+hkbyZuU3cbN34/uT31vQQoWp\n5E8N34QI311p+DmKoOgg5vnNY+HrC43vpNfDhAnET5vNzJBbDHUpQwHr/FMgLaM4WVsx1Kkc3iG3\nSZwxBz75xPCzNAIhBIvaLGKa7zTC48ItbKnCWB4qDT9tlKSTs5i8dzJ9a/XFq7BX+o2f4OMDdnYM\nDm+Ktng885sWt5yBeYzPWhbFqlAiw2OagIODIWvHSGoXr02nSp2YdcDIQ2gUFscUSSfP7LQ1trQC\nqLTMnMSph6f48/KfTG021fhOCQkwZQohn85jjdN1FlbwxNrIf3sFaDUaZpUpz3eaG0ROnQtTpkB8\nvNH9Z7WcxapTq7gWanxqp8JyBCYkUCzfafhGllYAg6QTkpiI3sgFK4VlkFIyeudopjefTkG7gsZ3\nXLECKlXindueeFjZMaCmq+WMzKOMqOeGm7U1vW95QbVq8M03Rvct6lSUca+OY+yusRa0UGEMOikJ\nTUqiiLGSTl7ZaRun12NnZJRnrdFQwMqKRyrKz1Z2XNvBg6gHfPjyh8Z3ioqC2bM5PXg2B8rcZm2j\nCqqEQgYQQrC8dnm2FrnFrVFzYM4ciIgwuv/IBiM5HXiag7cPWtBKRXqEJCZSUKtFa6TvyzOSTrxe\nj60JH3yl42cvOr2O8X+NZ16reWg1Jiy2fvEFtGzJ2zedqR9bhKalnCxnZB7nLS8XKiYV4M0zBaBt\nW1iwwOi+tlpbZrWYxbjd45Dqm3K2YcqmKzA4/Pg84/BN0HGVjp+9/HTmJwraFeQNrzeM7xQcDEuW\n4NN5KjfLBfFr+7IWsy+/sLF1BU573mXrW1Pg668NqZpG0rNGTxJ0CWy8uNGCFirSwpQFWwBbjYZ4\nE/9A50iHrwe0pkT4KjUz24hNjGXKvil81voz0+SY2bPRd+/JwOB4emlKUbqA2mSVWaoVtqOzriR9\nb8cj+/YzqbCaRmiY33o+E/dMVMchZhMZcvh5IcK3EcIk56Eknexjif8S6peoT8NSDY3vdOsW/PQT\n42qMJLF4DN+pTVZmY22HUkSVjGBareGwfr1JhdVeq/AaZQuW5buT31nQQkVqmLLpCsBWiOxx+EKI\ntkKIS0KIK0KIT1Jp01wI8Y8Q4pwQYl9a45ki54DabZtdPIp5xIIjC5jbaq5pHadO5fGHQ/myQAif\nl66InVWOjDtyJY7WVkwv6slcq2Cih46CyZNN6j+v9TxmHphJZHykhSxUpIapGv6TxV1TDoDK9CdN\nCKEBvgLaANWAnkKIys+1cQG+BjpKKasDXdMa01SHr3bbZg+zD86ma9WuVHKrZHyns2dh5046efSm\nlHRgaF03yxmYT5nwamEKW1nTtXBPOHAATpwwuu/LxV+mZbmWLDxiwk5phVkwVdIB03V8c4RW9YGr\nUsrbUspEwAfo/FybXsBGKeU9ACllSFoDZiTCVw4/a7kZdpPVp1czrdk00zpOnMjRQVM5VD6IjS09\nLWNcPkcIwdoGnuwo9YBLw71hwgST+s9qMYulR5fyMMr4RV9F5smIw7czMRffHA6/BBDw1Pu7ydee\nphLgKoTYJ4Q4JoR4N60BbUzMxVYOP+uZsm8Kw+sPp6hTUeM7+fkhz56lU/EmtI8pycvFVa17S9Gq\nvBMNot1p79gYbt+G3buN7luuUDn61uzLjP0zLGih4nlM1fDB9IXbrKpQpQVeBloCjsARIcQRKWWK\nK0oR33/P9B07AGjevDnNmzdPc3CVlpm1PKmlvrzDcuM7SQmffMKSDz/jsVssPl2qWc5ABQCb3ihH\niV1H+XHgfN6bMAFatQIjvz1PbjoZr6+8GN1wNJ6u6ptYVmCKhu/r64uvry+xAQHM37rV6DnM4fDv\nAaWfel8y+drT3AVCpJRxQJwQ4gBQC0jR4ZccNIjpdesabUBRa2uCEhKQUqqdmlnAlH1TGN9oPM62\nzsZ32ryZ6KgYxnqWZlYRT5xsjCudocg4RZ20jHPwZJCHlh5W1tht2ADduxvV183BjWH1h+G935uf\n3vzJwpYq9FISnJiIu5ER/pNA+Bd/fwZXr86SOXOM6mcOSecY4CmEKCOEsAF6AH8+1+YPoLEQwkoI\n4QC8AlxMbUBTdtkC2FlZYafR8DhJHeZgaY7fP86xe8dMO8lKp4OJE+nZaz7F45z4pIVaqM0q5rQp\nQqF4O/p0n2M4CtEE6XNUw1HsvLaTC8EXLGihAuBRYiIuVlbYmLh+meWLtlJKHTAU2AWcB3yklBeF\nEIOEEAOT21wCdgJngL+BFVLKVH+LTH1oUDp+VjF572QmNZmEvbUJ+vtPP+Ff2ostlR3Z3Lqi5YxT\nvIAQgt+aVeS3ijacqVYXVq40um8B2wKMfXUsU/eZUP1UkSEeZmDBFkzX8M2SAC2l3CGl9JJSVpRS\nzku+9q3EFsxpAAAgAElEQVSUcsVTbRZIKatJKWtKKZemNZ6pWTqgdPys4ODtg1x5dIX+L/c3vlNc\nHEnTp/NG1+H0ii1HrZK2ljNQkSKvlrenQ0RpOnQYin7mTEPROiMZWn8ohwMOc/LBSQtaqHhoQlnk\np8mOLB2zY6qkA6q8gqWRUjJp7ySmNZuGjZUJv5jLljHzjX7EygL82FUdbJJdrO9akhAHW5a+OcBQ\ntM5IHKwdmNhkIlP2TbGgdQpT6uA/jam7bXOmw89AhO9uY0OQcvgWY9f1XQTHBNOnZh/jO4WHc+O7\n75nTuiVrX/JCa6UW1LMLB1sNX5X1YtzrrXnw42pD8TojGfDyAM4FneNwwGELWpi/yVWSjrnJsIav\nJB2LIKVk8r7JzGg+AyuN8dk1cv58eg6ZSIN7ZXnjZQcLWqgwhv6NC1D1Xkm6j5iBnGX8sYa2Wlum\nNp3KpL2TVPlkC5FRSSc7dtqaHSXp5Cz+uPwHSfok3q76tvGd7tzh+wtXOFegPJv7lLKccQqT2NGj\nLEddy7P2+i24edPofv1e6se9iHvsvbnXcsblYwITEzPu8HN7hJ/hRVvl8M2OTq9jyr4pzGoxC40w\n/t/lqvccRr03kMWlalDQOUf+muVLirlpmF2oGkM+/Ji7M4zL3QbQarR4N/dWUb6FyLCkk181fOXw\nLcP68+txsnGifcX2RvfRHz1K/5o1qHmjHANaqlOschpjOhag/LXSDK5YEfnPP0b36169O9GJ0Wy5\nssWC1uVP8neWjtLwcwQ6vQ7v/d7MajHL+B3MUjL/p/9x3bY8W/qrLfk5lW19K+HvUZPvVqw1uo9G\naJjRfAZTfaeqKN/MZDhLJy9IOqYWT4P/NHz1i2g+1p9fj7ujOy3LtTS6z6kNf/J5q6bMKNWEQi4q\nKyenUsJdw1jH+kxs04yrO9M8nuIZulTuAsCfl5/fTK/IKIl6PWFJSRQ2oRb+E/LGom0GInwnrRYB\nROl05jcoH6LT65h1YBZTm041OrpPjIvj/fAwmh+xo38HJeXkdMa940qDQ4J3b9xAZ2RZEiEE05pN\nw3u/twquzERwYiJuWi1WGQh080SEnxGHD0rHNycbL27Exc6F1uVbG91n+Pd/YB2uZ+UnrSxomcJc\nCAErx3RAFwdjv//d6H6dvTojkWy+stmC1uUfMirnQF5ZtM1gxUt3a2ul45sBvdQz88BMpjWbZnR0\n//vpW2wqas30IvVwdVVSTm6hWDENn9jUYq27lr8uP1/kNmWeRPnTfaerKN8MZDRDB/JIhJ+RjVeQ\nfLativAzzaaLm7DX2tOmQhuj2gfFJzDg+gXGbbxE+341LGydwty883FdRmw4Q98zp4g0Utrp7NUZ\nvdSrKN8MZCbCtxaCxPyo4YOSdMyBXuqZcWAGU5sZp91LKemw2Z8eu/9i6JcfZ4GFCkswas5gWh87\nwlt/HDeqvYryzUdGUzLBEBznfoefQUmnmI0ND5XDzxSbL2/GSljRoWIHo9pPORVAbPBNRpeoga27\ni4WtU1gKx7JFmCjduRJ9l0XnHxjVp3NlQ5Sv8vIzR2YkHWshSMjtkk5GI/ziNjY8UA4/w0gpTYru\nD4dEsijgKt//4EO5if2ywEKFJak8ZzBrFy9n0o2L/BOefglljdAYovz9KsrPDBktqwCGCD8ht0f4\nGdXwPWxtlcPPBNuubiNJn8QbXm+k2zYsMZEOR86y5KuvqP+1t9FnpSpyMNbWvDr3U+Z/s5LXDp4z\nSs/vXLkzSfokFeVngsxE+DZ5QsPPoKTjYWPD/fh4M1uTP3gS3U9pOiXdmjl6KWm99xL1fM/Tx6MI\non69LLJSYWms2rRmgL2Gyn5X6Oh7Od3IXUX5mSczGn6+lnQ8bG25ryL8DLHz+k6iE6J5q8pb6bYd\n+88dbtwM5befvbFdND8LrFNkJXbLvmDbD59y8k4os8/fT7d9l8pdSNInsfXq1iywLu/xID4+ny/a\nZjRLx9qa4MREkkz4i6cwRPfe+72Niu63PAzlq4C7HFw6CafFC6BQoSyyUpFluLtTYI43O5fNwfvW\nLQ49ikiz+b9RvsrYMZlonY54KXHVajPUP09E+BmppQOg1Whw02oJUpuvTGLPzT08jnvMO1XfSbPd\n7dg4up68yPg1p6hWpgB0755FFiqynA8+oKF9FP1/uU47//Pp7m/pUrkLifpEFeWbyP34eDxsbIwv\nTvgc+TrCB7VwaypPovvJTSaneZpVvF5Pk73nKb/Dnpn7pyGWLTPszVfkTTQaxLffsmznGArucaTJ\n3vMkphFJaoSGqU2nqho7JnI/IQEPW9sM97cWIvdn6WTK4auFW5PYf3s/gVGBdK+eerQupaSL7xWC\nztly7NgYxKefQtmyWWekInuoWhXN0I85e3Iit85Z0cPvWprN36zyJnFJcWy/tj2LDMz93IuPp0QG\n9XtIztLJ7ZJOZiN8tXBrPDP2z2BSk0loNalriFNP3+OvgEj+fuCLg4iHkSOz0EJFtjJxIi7h99n7\n8AR/3g3j8zQWcVWUbzr34+MzF+FnRx6+EKKtEOKSEOKKEOKTNNrVE0IkCiHSTAXJqIYPKsI3hYO3\nD3I7/Da9avRKtc2mgFDm3b7D/AAHXlo7HVavBivjDzJX5HJsbGD1ahqtHs+k665MvHmTvYHhqTZ/\nu+rbRCVEsev6riw0MvdyLyGBEplw+Fmehy+E0ABfAW2AakBPIUTlVNrNA3amN2ZGN14BFFcRvtHM\nODCDiY0nYm2V8sEL58Jj6H76Im+c8GLU5g/A2xsqVsxiKxXZTo0aMGYM03w/oqmfFx2OnedOTMpB\nlUZomNJ0ioryjeTJom1GyY4snfrAVSnlbSllIuADdE6h3TDgf0BQegNaZzLCf6Ai/HQ5HHCYq4+u\n8m6td1O8H5aYSGPfs1Q5Uo4N1t8gnJ1h8OAstlKRYxg7FhETw46iv1DcvwT1dp4jOinlw4a6Vu1K\nWFwYe27uyWIjcx/34uMzF+FnQ5ZOCSDgqfd3k6/9ixDCA+gipVwOpOvNM+XwVYRvFDMPzGRik4nY\nWL0YXeikpP7mi9icceXvlrfQfLUEVq1S5RPyM1otrFmD9ZwZnHotlPgrDjTcchF9Cs7GSmPF5CaT\nVZRvBPcTErI0ws9Ytr/pLAae1vbT9OhzZ8xAk+z0mzdvTvPmzY2eSGn46XP03lHOB53n9+4vnnIk\npaTt5mvcfSC59lYh7Nu3hpUroVSpbLBUkaOoWBG+/JICA3pwYtNRqu6/QZdtN/izQ4UXmvao3oMZ\nB2aw79Y+k85Ezk9IKTO8aOvr64uvry9ROh1h94w7uObfSTPzAhoAO556PwH45Lk2N5JfN4FI4CHw\nRirjycyQpNdLa19fmajTZWqcvEzHdR3l10e/TvHee1vuSO0af+l/LkHKTp2kHDUqi61T5Hj695ey\nd2+5/0S8tPr5bznir3spNlt9arVstqpZ1tqWiwhJSJAFDx7M1BihyWMk+810/bU5vqMfAzyFEGWE\nEDZAD+CZI+2llOWTX+Uw6PhDpJQWOfbeSggKq6MOU+Xkg5P88+AfPqj9wQv3pv4VzJq4AP6oWpP6\nu76Chw9h3rxssFKRo1myBE6douk/P/FTyRosibzJwgOhLzTrVaMXdyPusv/W/mwwMueT2Rx8yIZF\nWymlDhgK7ALOAz5SyotCiEFCiIEpdcnsnOlRwtaWgLg4S0+TK5mxfwbjG43HTmv3zPVv/cKZFX2F\n79xr0D78MMyfD+vXG9LyFIqncXCADRvg00/paXOGhU7VGBd2ER//Z2voazVaJjWZxIwDM7LJ0JxN\nZnPwIZtKK0gpd0gpvaSUFaWU85KvfSulXJFC2w+klL+ZY97UKG1rS4DS8V/g1MNT+N/zZ8DLA565\n/tvRGIaEnMPbvjIflAiGXr1g3TooVy6bLFXkeKpUgR9+gLffZlTlKEZbe9I74Cy7Tz8baPWp2Yeb\nYTfxu+OXTYbmXDKbgw955EzbzFLazk45/BSYdWAW414dh721/b/Xtvsn0O36WQbZlGNKQxvo3Bkm\nT4aWaqFNkQ4dO8Lw4dClCwuaO9PbpiTtz53h0Ln/suSsrayZ1GQS3vu9s9HQnElmc/DBcLaw1oSs\nxjzp8EvZ2nJHSTrPcC7oHH53/BhUZ9C/13YdTqTTxdN0c3Nn2WtFDNUvGzaEj9Vh5AojGT8evLzg\nvfdY08GDdgUK0+Lvsxz+57/Tst6t9S5XH13lcMDhbDQ053E3kzn4TzAljT1POvzStrbcURH+M8w6\nMIsxDcfgaOMIwO6DOjqcOUvHkgX5uVVp6N/fUDJBVcFUmIIQ8P33EBQEI0bwR4eyNC3pRPMD5/Hz\nNywm2ljZMLHJRGbsV1r+09yJj6eMnV36DdPBlFI0edPh29mpCP8pLgZfZN+tfQyuZ9gpu3W3ng4n\nztGikj2/tfI0VL+8ds2wSJvBgxgU+Rg7O/jjDzh0CDFzJjter0jdala03nOR/QcN+vJ7L73HheAL\n+N/1z2Zjcw534uIobY4I34QNkXnT4atF22eYdXAWI18ZiZONE2t/0fP2iYs0rG3FtuZeaKZNg61b\nYfNmQ/aFQpERXFxgxw5Yuxbtl1+yt0UVqjZIpM3eS2zeJrGxsuHTxp+qjJ1kpJTcjoujtIrwM4+7\njQ2Pk5KI1aVc6yM/cTnkMruu7+Lj+h+zcLGegbcvUqdJErsaV0E7ZQps2gT79oGbW3abqsjtFC0K\ne/bAsmXYff45fs1qUL1FPN2OXWLFSskHtT/gTOAZjt07lt2WZjthSUlYCYGLGb5R53sNXyMEJW1t\nuauifOb4zWFYveHMnO6Et/4Cr7TQseeVath+8okhst+3D9zds9tMRV6hdGnYvx9Wr8ZhxgwOvFqd\nWq/FMybwErNm2jD+1U+YeWBmdluZ7dyJizOLfg+mVRfOkw4fknX8fO7wr4VeY+uVrRxf8THfl7xA\nw2aSHTU8sevTB44cMURjhQtnt5mKvIaHh8Hp//EHDoMHs+flytR8LZ7lzpfwX9GfE/dPcPLByey2\nMlu5Ex9vFv0elKQDGFIz8/tu28k752J1bjgn2gfQuDFsLlUU29dfBykNzl7JOApL4e4OBw/Cgwc4\nduzIrvIlqdMqkb8aXcPm9CdM3p2/o/w7ZtLvQS3aAio183ffm6y/tA+rbm1oV9eO36LCsalXD5o2\nhV9+MWRWKBSWxNnZkL1TvTqOr77KFn0irRtoSXzrVXZeOcd639PZbWG2cVtF+OYlP6dm/vADdPv5\nKxwbfcWgau589+cfaN96C77+GubMUXXtFVmHlRUsXgwzZmDdrh1rdu+ie/WCODdZwru/LsbHJ7sN\nzB7MqeHn+0VbSJZ08lmEHxMD778Pk/ddJKlbU+Y6OzOtd2/E5s1w7JhhK7xCkR306AF//41m3ToW\nfvQRU91cSerSmaGbTjBiBOSzj6pBw1eLtuajtJ0dt/NRhH/lCrzSUHKy2i0i3rvBl9t+Ydgbb0Hf\nvoYFtNKls9tERX6nfHk4dAjat2d02w58uX8L0QMessctgFcbSa5fz24Ds47bZtp0BSrCB6CcnR23\n4+NTPIItLyEl/PQTNOwcR+Lsf3CodIoj7/djQKCEU6fgo4+UhKPIOWi1MHo0nDzJ4EuPODjoQ7Qv\nnyR+ymnqt43n11+z20DLE6vTEZaUlOnSyE9QET7gYGVFIa2We3n4u+KjR9C1m2T27suIRQfot/lb\nls0dze7Jb2C3bj2UKJH+IApFdlC6NNqNmzg3sSsrvIfy1t5VWC3Zz8QN1+j/oSQiIrsNtBw34uIo\nY2uLlZlqVpkS4efpwikV7O25HhtLqTyYkfLXnzGsmLadWx/FYm+dwO79Vyn+YQ+q7t3Apd7qlCpF\n7uCdd+dQPtSHv+s0o92uvfR/I5Dz4YcZ0LQAQ+a1oVlb+/QHyWVcj42lgr35nsuULJ287fDt7Lge\nF0fz7DbEHEgJ164R++cu9q7359dmJdk3sxEz4mFgq45YFSzIsG3D+KD2B7g7qp2zityBk40TIxuM\nZGrwb6ydt5bTISF8tXcvs2bZUGDHNGKmBtPq3QbYtG9tWAPIA5Vcr8fGUt6MDt+UPPy87fCTI/xc\nSWAgnDgBx4/D8ePI48c5XLI8E19/jxPT3+Ojou5cqumFm7U1APcj7/Pz2Z+5+PHFbDZcoTCNofWH\n4rnEkyuPrlCpcCVGdetG74QEZrmXpOvrwTQ8eI253XpRN/gB1K9veNWrB3XqQIEC2W2+yVyPjcUz\nmyJ8IXPYoqYQQprLpnWBgfwREsL6atXMMp7FCAn5z7k/+W9kJNSty40mTVhfpQ4L9YUI12h4r0hx\nPm/kQcFkR/+EEdtHYKWx4os2X2TTQygUGWfWgVlcDb3K6i6rn7n+KDGRYXvv8WvUAwon6hkvg+l1\n6gjF/Pzg9GkoVQrq1jU4/7p1oXZtcHTMpqcwjnZnzjDEw4NOZipr8tHly3xbuTJSynQ9f552+P4R\nEXx85QrH69Y1y3hmQUpDDuXevYbCZceOQWgovPwy1K1LTJ067K9ene22tmx/FEpgZBIJh1x5y7ko\n3w0uhKPDi/+mDyIfUG1ZNS58fIFiTsWy4aEUiswRHheO51JPjvQ/gqer5wv3I6IkHywPZUtCIFYN\nQqlZ0IHOroXoEBZG9VOnEMnfhDl3ziD91K1r+Cbw+uvg+eJ42Uklf39+r16dqmb6wzT86lWWVqqk\nHH5IQgIVjx4lrHFjs4yXYZKS4MAB2LDBUHdeo4FWraBFC2jQgKslSrA1NJQdoaEcioigtpMTFR65\n4jvflUpWTixeJKhSJfXhR+0YhUSyuO3irHsmhcLMePt6cyv8Fqs6r0q1zZkz8NEwPUHFH1PjoxBO\n2YWik5L2rq60d3OjpaMjThcvGr4pHz4MO3caznlo2xa6doUmTbI1TVknJY4HDhDWuDH2VlZmGXPs\ntWssrFjRKIefpzV8N2tr9FISmpiI63MSSJZw9y58+y2sXGmoINitG+zdi/T05HhUFBuCg/kzJISI\nkBDau7oywMOD2bbV8B6v5eAFWLLIsDk2LYnuYdRDVp9ezbkh57LuuRQKCzD8leFUXFqRG2E3KF+o\nfIptataEQ74afv3VlU/ec6X2y5KPZsdwziGUL+/epXdkJA0LFKBDu3a0792bivb2cPasoRT40KEG\nqbRvXxg8GIoXz+InhIC4OApbW5vN2YMqnvYvQggq2NtzLasXbq9ehd69Db+dYWEG+ebECeLGjmW5\noyO1T5yg54UL2Gk0rK1ShbsNGzLdqTI7JxWhTWMtjRrB+fPQqVP6SQkLDi+gd43eeDh7ZM2zKRQW\nopB9IYbUG8Kcg3PSbCcEdO8Oly7BK/UFvZs4cn9xKXxKvMS9hg0Z7OHB2agomp06xUvHj7OqSBHi\nxo83fD34/XfDBpaqVQ3nOGfx9t5rZk7JBNMWbZFSZvoFtAUuAVeAT1K43ws4nfzyA2qkMZY0J73O\nn5c/Pnhg1jFTJShIygEDpHRzk3LWLCnDw6WUUibp9fLbe/dkycOHZaczZ+Se0FCp0+ullFIGB0s5\nZoyUrq5SfvKJlI8eGT9dYFSgLDSvkAwID7DE0ygUWc6jmEfSdb6rvBl20+g+Dx9KOWSI4TM0caKU\noaGG6zq9Xu549Ei2OXVKlj58WP788OG/nzsZEiLltGmGTiNHGt5nAUsCAuSgS5fMOubMmzdlst9M\n11dnOsIXQmiAr4A2QDWgpxCi8nPNbgBNpZS1gFnAd5md11iqODhwMTraspNICT/+CNWrGzIErlyB\nSZOgQAEuRUfT9J9/+CkwkI3VqvFnjRq0LFSIsFDBtGlQubKh6NnZszBvHri6Gj/tgsML6Fm9JyUL\nlLTYoykUWYmrvSsf1fmIuQfnGt2naFFDIdiTJyEoCCpWhBkzICpS0MbVlR21avFTlSosunuXZqdO\ncTM21nAWxPTpcOECxMUZPrsbNljuwZK5GBNjtsXaJ5gi6Zgjum8AbH/q/QRSiPKful8QCEjjvln/\n+m0MCpKdzpwx65jPEBIiZceOUtauLeXx48/cWvfwoSzs5yeXBgT8G1ncvSvl6NFSFiokZf/+Ul67\nlrFpA6MCpet8V3nn8Z3MPoFCkaMIiQ6RrvNd5e3HtzPU/+pVKd99V8rChaWcPFnKwEDDdZ1eLxfc\nuSML+/nJ/wUFPdvp8GEpvbykfOcdKcPCMvkEqdPs5Em5y5Sv8Uaw8M6drIvwgRJAwFPv7yZfS40P\nge1mmNcoqjg4cDEmxjKDHzliSKf08oK//zbkAmP4Izr5xg0m3rzJnlq1GFqyJDeuCwYNgho1QK83\nyIkrV0KFChmbep7fPHrX6E0pl1JmfCCFIvtxc3BjwMsDmOeXsRIhnp6wZo3h4xkcbPh4DhkCN28I\nxpQqxY6aNRl57Rpzbt9+EmRCw4aGYoPFihlSOs+cMeMT/YdFIvycWlpBCNECeB9IM09y+vTp//5/\n8+bNad68eYbn9LS35258PHE6HXZmXBln3ToYORK+/96wupqMlJLh165xNCIC/9ovc/qADZ2WGP4e\nfPSRQe3J7H6LexH3+PHUj5wfcj6TD6FQ5EzGNBxD5a8rM7HJxAxLlp6e8M034O0NS5bAK69Ay5Yw\nfLgzf9d9mfZnzxCRlMTc8uURQhhOgVu6FH7+2ZA2/c038PbbZnumR4mJxOn1eNjYZHosX19ffH19\nAThmSqU5Y74GpPXCIOnseOp9ipIOUBO4ClRIZzyzft2RUsoq/v7ydGSkeQbT66WcPVvK0qWlfE4q\n0uv1csSVK7Lu0eNy4TeJskoVKWvWlHLlSiljYswzvZRSDtkyRI7dOdZ8AyoUOZBxu8bJj7d+bLbx\nIiKkXLxYykqVDJ/Lhd8lyJr+x+TE69dfbHzypJQeHlIuW2a2+Q+GhclXnpN9zcF39+4ZLemYw+Fb\nAdeAMoANcAqo8lyb0snOvoER45n9B/LW2bPS54mQlxn0ekMqTY0aUt6798Kt4YduS7ffjsqCJRPk\nW29J6etruG5OboXdkq7zXWVQVFD6jRWKXMzDyIey0LxC8m74XbOOq9NJuWuXlJ07S1mwdIIsuPlv\nOf34vRcbXr8upaenlN7eZpl3xb178r2LF80y1tP8+OBB1mn4UkodMBTYBZwHfKSUF4UQg4QQA5Ob\nTQFcgWVCiH+EEEczO68pVHV05HxmM3WkhAkTYMcOQ169hyHv/dEjw9fFcn1C+PrhXd6/WoMzh63Z\nuBGaNTN/cb+ZB2YyuO5gijgWMe/ACkUOo6hTUd5/6X0+O/SZWcfVaOC11wwp+acOWNP9VA1mBNyk\ncp9Qli83bJ0BDCUa/PzAxwdmz870vBdiYqji4JDpcZ5Hm9V5+OZ8YYEI/39BQbJjZjN1pk6V8qWX\npAwJkbGxUv72m5Rdu0rp4iJlx8HR0mWvnzwSFm4eg1Ph6qOr0m2+mwyNCbXoPApFTuFB5ANZaF4h\neT/ivkXn2RsSJgvt9ZMd34+VLi5Sdu8u5fbtUiYkSCnv35eyYkUpFyzI1BzN//lH7jRzho6UUq4P\nDMzSLJ0cTx0nJ05ERmZ8gBUrkD//zL4JO3lvjBseHoa1ndat4dJ1Pfc/uMDcSmVpUNCypVq993sz\nssFICtkXsug8CkVOoZhTMfrW6pvhjB1jaeFWkPHlSxI29AJXrutp2tSQpu/hAQOnFcfPew9y6VJY\nuzZD40sp+ScyktpOTuY1HBXhv4Ber5euBw/K+3FxJvWLi5Py+PTN8rFDMVm/0BX5yitSLlr0rHw/\n5upV2eXsWak3t1j/HOeDzkv3z91lRFyERedRKHIaDyMfmrz7NiPo9HrZ9vRpOempRdybN6X87DMp\n69aVsonrORlhV0SeWLRfJiaaNvb1mBhZ8vBh8xqczJ/BwVm3aGvulyUcvpRSvnbqlNwcHJxuu9BQ\nKdeuNcg1jZxOyVBtYbnm479lSgv5f4WGypKHD8uQhAQLWPwsXX/tKj/z+8zi8ygUOZEpe6fIfpv6\nWXyeh/Hx0t3PTx4Nf1GevX5dynX9d8sQrbus73JJ9uolpY+PlI8fpz/uhsBAi20A3R4SoiSd56nj\n7MyJqKgXrktp2GOxYIEh9bZMGVi/Hjo1CsXX9U0KrVnCu1+9QvnnivfF6HQMvHyZFZUq/XvqlKU4\n9fAUfnf8+Lj+xxadR6HIqYxpOIbt17ZzPsiye0+K2tiw2NOT9y9dIl6vf+Ze+fLQc2Vr3L6Zg5/b\nG7SqF8GaNYYzWFq1gsWL4fJlg095nn+ioiwi54Bpkk7+cfhP6fiBgQYprm9fg0b39ttw8yYMHw4P\nHsCfm3S8u70X2re7QM+eKY438/Zt6jk7087NzeK2T/hrApObTsbB2vwr/ApFbsDFzoVPGn3C5H2T\nLT5XD3d3Kjo4MOPWrZQb9O+P9Wst+OBQf7ZukTx4YPAd584Z1vXKlDEU4vzlF0NtH4AjERG8YqHj\nGLO0lo65X1hA0gkKknL5phjpsP2QrPWSXrq4SPnmm1IuXy5TlGrk5MlSNm8uUxPqzkRGyiJ+fvKB\niWsCGeGv639JzyWeMiHJ8rKRQpGTiU2MlSW/KCmPBByx+FwP4uJkET8/eTIilTWz2FiDsP/FF89c\n1uulvHRJyqVLDXn+Li5S1qytk9a7D0ifLQkWKdNz6PHj/K3h37lj0OEHDpSyShXDD71tO7102XFY\n+vhFp73gcuiQlMWKGWqupoBOr5cNT5yQ395LYaOGmdHpdbLOt3Wkz1kfi8+lUOQGVp5YKZutambx\nJAkppVx1/758+dgxmajTpdzg5k0pixY1+IxUSEyU8ge/COm+xV+2bCmlk5Nh3+aQIVKuWydlgBkq\nm/uHh+cfDT86Gg4eNGjw3boZvk7VqQObNhnOOPj5Z8PmqO3bBB1KuRBZ7jHa1CoIRUdDv36GWqtF\ni6bY5Nv799EAH2bBaTn/u/A/ALpW62rxuRSK3EC/l/rxMOohu67vsvxcxYpRSKtl8d27KTcoWxa+\n+0LX14oAABbKSURBVM5w2FF4eIpNtFqILBNOF08X9uwxHF/9pGjir78azlwvW9YwxJdfGk5lNPW8\nJlOKp+WqM20TEgzlq48dg6NHDa9r1wwVKOvX/+9VsWLKO1xX3L/PwfBwfkrtgNjhww3/Iqnk2t6P\nj6fW8eP4vvQS1cxc8e55EnWJVPm6Ct92/JZW5VtZdC6FIjex8cJGZh+czfGBx9EIy8as12NjeeXE\nCY7WqUP51E6q+ugjw6EWa9akePutc+d4s3Bh3i1W7IV7UhoWeg8fNvi1Y8cMPs7LC+rVM/izevWg\nWjVSDVTPRkVR09kZmZsPMQ8OhtOnn31duWJYKX/yg6hf33CKoLHF5y7HxNDq1CkCGjY0VMd7mr17\nDau4Z89CoZQ3NnU9fx4ve3tmPZ+yYwGWHVvGH5f/YGefnRafS6HITUgpqb+yPmMbjqV79e4Wn+/z\nO3fYFRbGrpo1X/QbYFAG6tQx7NTq0eOZW4l6PUUOHeLyK69Q1EhHFRdn8HdPAttjx+DOHahSBWrV\n+u9Vs6bBVV2KjqaKk1PudfjFi0tiYp59uFq1DH/lMnMcpJQST39/NlarxkvOzv/diIgw/PSWL4d2\n7VLsuyUkhFHXr3Ombl2zHkCcElEJUVRcWpFtvbZRu3hti86lUORG9t3cR/8/+3Px44vYam0tOleS\nXk/9kycZUbIk/VKI0gE4ccLgO44fh9Kl/7188PFjRl67xom6dTNlQ1SUIRZ9EvyeOWN4X7AgVG4S\nwO51pXOvw795U1KmjPkLjwGMvHoVN2trppQt+9/FDz80VFRasSLFPpFJSVQ/doxVlSvTMpXo35zM\n2D+Dy48u8/NbP1t8LoUit/LGL2/QtExTxr461uJznYyMpN2ZM5ytVw/31CL1OXPA1xd27vzXeU26\ncQMJzLGAKqDXG9LJf1/pzdh5041y+Dly0bZsWcs4e4BOhQvz56NH/13Ytg327IGFC1PtM+nmTVoV\nKpQlzv5B5AOW+C9hZouZFp9LocjNfP7a58w/NJ+QmBCLz/WyszP9ihVj5LVrqTcaP96wBvj994BB\nUfg1OJg3M3viUSpoNIbF3+LXfYzvYxFLMklsoonL1CbQ1MWFu/HxXIqONvzjDBwIP/wAT0s8T/F3\neDgbgoNZkNGzCE1k8t7JfFD7A8oXsvw6gUKRm/Eq7EWPaj3w9vXOkvmmly2Lf0QEW58OGJ9Gq4Uf\nf4RPP4WAAI5HRiKAuqn4FnPwOO4xRU5fNbp9jnT4W69ssdjY1hoNfYsW5YeHD2HYMMM22xYtUmwb\no9PxweXLLKpQAVcLl08AOPngJFuvbmVSk0kWn0uhyAtMaz4Nn/M+XAq5ZPG5HKysWOHlxZArV4hM\nSkq5UfXqMGIEDBzImocP6eXunvJCr5n47fz/aHjPeDeeIx3+X74/WHT8D4oXZ/Xt2/y/vTsPr/lK\nAzj+fQkRa0WKqa2GxtBYqtrqUEvUUtKgpYOZ2jotpeWxlZl2WqUd0zJVSxUNU0wptTTW2lUHUR2N\nWkIoYyuxhYjIet/540YbmshN7vK7uTmf58nz5N6c+zvv77m893fP7z3n3Ni3DyZMyLHd8GPHaFy6\nND1yqMl3JVVl2PphjGs9jnIlyrm9P8PwBUElgxjdbDSvbXzNI/21KV+eNuXL8/qJEzk3Gj2ay9ev\n89np07yYuVGSu+zaMAfNw/IuXpnw0775mmvJ2U9kcIU6iYm0/PZbpn/8MeSwA82iuDg2xcczIzjY\nbXFktTxmOVeTr/LCQy94pD/D8BWvPvoqBy4cYMuJLR7pb1KtWiy/eJEvL17MvkGxYkyfNImuX39N\nlUvuu79wPvE8pb6NJqBFqMOv8cqE3yPuXlYcXuGeg6vCgAG8nZ7OP4sU4WRy8q+abI2PZ+ixYywP\nCaFsjtNyXSc5PZlRG0cxuf1kihZxb8mnYfgafz9/3nvyPYavH06GLcPt/QUWK8aKkBBejI3l24SE\nX/39x5s3mZaezhulSsGAAdkvn+kCSw4uoWdcRfzatHX4NV6Z8JsfSuRf37tpWOezz+DYMeqOGsXo\n6tXpdvAg8WlpgH1YZfGFCzx36BCL69WjgZuWM73TlKgpNKzckNCajn9SG4bxi271unFPiXuY+d1M\nj/T3SNmy/KtOHcL272dVlqv4C6mpdD1wgLfuv5+aw4bBmTM5zsB11vz/zqXxoXho397h17j/8jUf\nSpQsAwcPEns5luAKLhxSOXsWhg+3b0Tu78/wqlU5l5LCg3v28FRgIDFJScSnp/NVgwY87MY767eF\nlHCWiTsnEvXnKI/0Zxi+SET4qONHtJrXiu4PdqdiqYpu7zMsKIjlfn70OXyY90+f5oGAANZevsyA\n++7jlSpV7LXl8+bZd0xv0waqVnVZ33vP7aV6bBx+NWpCHtb18sqJVzpgAKtsh9nxXFP+8aSL9rJU\nhY4d4fHH4c03b/vT/sREdiYkUKV4cdoHBuZtfWkn9VjagwcCH2B8qKm7NwxnjVg/gvjkeOZ2dm/h\nR1YpNhub4uM5m5JCi3Ll+N2d62yNH29fLGftWpdNMBq0ZhB/+CKGlhUfgfffR0Qcmnhl+XLId/4A\nqitWaOITTbXypMqalpHHzSNzMnu26sMPZ25D7x02HNug9394v95IvWF1KIbhE64lX9P7/nmf7jzl\nnv1j8yU1VbVxY9WICJccLik1SQPfC9TkhxupbtqkqlrAl0du145SP8TQuEhV1h5d6/zxfvwR/vpX\n+9crD9TTOyIlPYXBawcz7alpZicrw3CRsv5lmdh2IoPWDvLIDVyHFCtmzz1jxthXQXPSsphlhPnX\nx/9/p6FFizy91iUJX0Q6iMhhEYkVkdE5tJkqIkdFJFpEGt31gCVLQqdOvB4XTMTeCOeCS0+H55+H\n11+3r77mJSbunEi9e+sRFhxmdSiG4VN6hvSknH85j93AdUhIiP3+4QsvOF21E7E3ghFnqkPXrnm+\ngHU64YtIEWA60B54EOgpIr+7o81TQC1VfQAYAOT+TvTsyWPfnGDn6Z0cjz+e/wAnTLB/gAwZkv9j\nuNjx+ONMjprMlA5TrA7FMHyOiDC943TGfj2Wn67/ZHU4vxg1yr5RyowZ+T7E/rj9xF6OJWTrQfuO\nT3nkiiv8R4GjqnpSVdOAz4HOd7TpDMwHUNXdQDkRufv01XbtKBp7lFGVnmHa7mn5i2zPHpg+3b6+\nhQdvxN6NqjJ47WBGPj6SGvfUsDocw/BJIRVDGPDwAF5Z+4rVofzCz8++udLYsRAdna9DTN09lbfL\ndKbIxUsQmvcybldkwSrA6SyPz2Q+d7c2Z7Npc7vixaF/f17+1sb8H+aTkPLrCQ53dfmy/RNwxgyX\nlkM5a/6++ZxPPO+RJV0NozB7o8UbxFyKYdmhZVaH8ovgYPtehs89B9ev5+mll5MuszRmKX/alWhf\n9DEf+3J4ZR3+2LFj7b+kptJqwRLCprXh0+hPGfKYg8MyGRn2TSKffdb+4yXOXT/HqI2jWP+n9RQr\n6h03jw3DV5XwK0HE0xF0/6I7oTVDKR/g/uXNHdKrF2zdCi++CIsWOVyqGbE3gt73tiXgvTVsi+jK\ntlt5Mg+crsMXkabAWFXtkPl4DPYSofeytJkJbFXVxZmPDwMtVTUum+PpbTH16cPpe4rQutY3xL4a\n69gelmPGwK5d9nXuPbA0giNUlWeWPMOD9z7IO6HvWB2OYRQar6x9haS0JI/W5ufq5k1o1co+N+it\nt3JtnpqRSq2ptfjucEsqlahg/5aQhaN1+K4Y0tkD1BaRGiJSHOgBrLyjzUqgd2ZgTYGr2SX7bI0b\nR9V/r6RucmmWxyzPvf20abBiBSxb5jXJHuCLQ19w5NIR/tbib1aHYhiFyoQ2E9h8YjPrj3nR/tAB\nAbBypf3+ogNLL8zfN5/2aTWotOwrGJ1tIaRjHCnWz+0H6AAcAY4CYzKfGwC8lKXNdOAYsA9ofJdj\n/XqmwfjxeqFZI234UX3NsGXkPCNh9mzVKlVUjx/PdfKCJ527fk4rT6qsUaejrA7FMAqlzcc3633/\nvE8v3rhodSi3O3hQtXJl1XnzcmySlpGmwR/U1KtN6qtOmZJtGxyceOWdSyvcGVN6OhoaymfFD1Nm\n2mw61+3yq7/z9tv2O+AbN0Lt2p4LOBeqSseFHWnymyZm+QTDsNDIDSM5cfUES7svdeumJHkWEwPt\n2sGgQfar9zsqCj+LXkCZoa8RXrqx/VtBNjdrPTmk435+fkhkJJ3OlSHg+f7oyZP25202+82PJ56A\nqCj7uL0XJXuAad9OI/5mPG+2fDP3xoZhuM27oe9y9PJRPo3+1OpQble3LuzYYV9rp3Vr2L7958lZ\n6cdi+U3vQTyRVMF+gzcflTlZFYwr/Ey2pBvM61qTP0YlUfyeCpCQAFWqwIgR0KeP19Ta37I/bj+h\n80OJeiGKWoGe2RPXMIyc3fo/ufvPu71v3+j0dPuY/qRJcPEilCpFyrXLLGoVRJ/FR5ASJXJ8qaNX\n+AUq4QOsP7aeYatfYV+n1RQrVx4qun8Z1PxISkvisYjHGPH4CPo26mt1OIZhZPow6kMW7l/IN/2+\nwd/P3+pwsnf+PMnXrlBndTsW/2EpTas2vWtz3xrSyaJ97fZUrVCTWfEbvTbZqyoDVw+kUeVG9GnY\nx+pwDMPIYuhjQ6lWrhrD1g+zOpScVa7MlIureKRa01yTfV4UuIQPMLHtRMZvH8/V5KtWh5Ktmd/N\nJPp8NLPCZnnXzSHDMBAR5obPZdPxTSzYt8DqcLJ17vo5Ju2axLuh77r0uAVuSOeWgasHIggfh33s\ngagcF3UmivBF4ezov4MHKjxgdTiGYeTgwIUDtJ7Xms29N9OgUgOrw7lNr2W9qFGuBhOenOBQe58d\n0rllQpsJRB6JZOfpnVaH8rNT107x7JJniQiPMMneMLxcSMUQpnSYQufPOxOX6Ng8UE/Y+ONGdp3Z\nxd9aun6SZoFN+OUDyjO5/WReWvUSqRmpVofDteRrdFrYieFNhxNeJ9zqcAzDcECv+r3o3aA3Ty96\nmqS0JKvD4UbqDQatHeS2jZEK7JAO2G+OdlnchToV6vB+2/fdHFnO0jLS6LSwE7UDa/NRx4/MuL1h\nFCCqSu8ve3Mj9QZLn1vq2HpdbnLrAvbTLp/m6XU+P6QD9pOcEz6HhfsXsuHHDZbEkGHLoF9kP4oV\nLcbUp6aaZG8YBYyIEPF0BPHJ8by8+mWsugheEbOCzSc2M/WpqW7ro0AnfICgkkHM7zqfvl/29fju\nNja18dKql/jp+k980f0L/Ip4z2JthmE4zt/Pn5U9VvLDhR8Ysm6Ix5P+8fjjDFwzkAVdF1DWv6zb\n+inwCR8gtGYogx8ZTPiicG6k3vBInxm2DAatGcSRy0dY2XOl2YjcMAq4Mv5lWPfHdUSdjWLkhpEe\nS/rXU64TviicN1u8ye+r/d6tfRXoMfysVJW+kX1JSElgafelFC3i3JoTd5OSnsLzK57nYtJFIntE\nuvUT2TAMz7py8wrt/92e+hXrMytslls3K0rNSKXz552pVraaU/N2CsUYflYiwuyw2SSkJNB/ZX8y\nbBlu6efKzSt0XNgRm9pY98d1Jtkbho8JDAhka5+tnE88T/jn4VxPydtWhI5Kt6XTa1kvAvwCmNFp\nhkfu//lMwgf7ONyqnqs4k3CG3l/2JiU9xaXHjz4fTZPZTWhYqSGLuy2mhF/OixkZhlFwlS5emsge\nkVQvW51HPnmE/XH7XXr8pLQknln8DElpSSx6dpHH7v/5VMIHKFmsJKt6ruJm2k3azG/jkgkVGbYM\nPtj1AW0XtOXvbf7OB+0/cOuQkWEY1itWtBiznp7FX5r/hdbzWjPru1nY1Ob0cU9dO0Xrea0pH1Ce\nyB6RHl3AzWfG8O9kUxtjt43lk72fMKPjDLrW7Zqv4+w5u4ehXw2leNHizAmfY5Y5NoxC6OCFg/SL\n7Ie/nz8fd/qYkIoheT6GqrLk4BKGfDWE4U2H81qz11w2jOOzyyPn1Y5TO+gX2Y/flv8t41qP49Eq\nj+b6GlVl5+mdTI6azK4zu3i71dv0f6i/pRMyDMOwVoYtg5nfzWTc9nG0ur8Vo5uN5qHKD+WatFWV\n7Se3M/brsVy5eYVZYbNcugImmIR/m9SMVOZ+P5cJ/5lAYEAg3et1p0WNFgRXCCaoZBDptnQu3LhA\nzMUYtv1vG5FHIkmzpTHw4YEMaDLAlFwahvGzxNREZuyZwYw9MyhdvDTd6nWjefXm1A2qS6XSlQB7\nccetfLL88HKS05MZ+fhI+j3Uzy3j9SbhZ8OmNrac2MKa2DXsOL2DE1dPcCnpEn5F/AgqGUSdCnVo\nXr05HWp3oFm1ZmbWrGEYObKpjR2ndrA6djW7zuzi2JVjxN2IQxDKlShHcIVgmlVrRlhwGC1qtHDr\nCIFJ+A5SVZPYDcNwCavySaGrw88vk+wNw3AVb88nTiV8ESkvIhtE5IiIrBeRctm0qSoiW0TkoIjs\nF5EhzvRpGIZh5I+zV/hjgE2qWgfYAvwlmzbpwHBVfRB4HBgsIr9zst8Cadu2bVaH4Fbm/Ao2c36+\nz9mE3xmYl/n7PKDLnQ1U9byqRmf+ngjEAFWc7LdA8vV/cOb8CjZzfr7P2YRfUVXjwJ7YgYp3aywi\n9wONgN1O9msYhmHkUa4FoSKyEaiU9SlAgTeyaZ5jeY2IlAaWAkMzr/QNwzAMD3KqLFNEYoBWqhon\nIpWBrapaN5t2fsBqYJ2qTsnlmN5VJ2oYhlEAOFKW6eyUr5VAX+A9oA8QmUO7ucCh3JI9OBa0YRiG\nkXfOXuEHAkuAasBJ4DlVvSoivwE+UdUwEWkGbAf2Yx/yUeCvqvqV09EbhmEYDvO6mbaGYRiGe3jd\nTFsRGSci+0QkWkQ2iUhVq2NyJRF5X0RiMs9vmYj41JZZItJNRA6ISIaINLY6HlcQkQ4iclhEYkVk\ntNXxuJqIzBGROBH5wepYXM3XJ36KiL+I7BaR7zPP8e93be9tV/giUvpWFY+IvAo0VNU/WxyWy4jI\nk8AWVbWJyD8AVdXsJqwVSCJSB7ABs4CRqrrX4pCcIiJFgFigDfATsAfooaqHLQ3MhUSkOZAIzFfV\nBlbH40qZxSSVVTU6s1Lwv0BnH3v/SqpqkogUBXYAI1R1R3Ztve4K/46SzVLAJaticQdV3aT687Y5\nUYBPfYNR1SOqehR7+a4veBQ4qqonVTUN+Bz7hEOfoar/AeKtjsMdCsPET1VNyvzVH3tOz/G99LqE\nDyAi74jIKewVQBMsDsed+gPrrA7CuKsqwOksj8/gYwmjsPDViZ8iUkREvgfOA9tU9VBObT2zc+4d\n7jKZ63VVXaWqbwBvZI6Xfgj0syDMfMvt/DLbvA6kqepCC0J0iiPnZxjexJcnfmaOGDyUeT9wg4i0\nVNWvs2trScJX1bYONl0IrHVnLO6Q2/mJSF+gIxDqkYBcLA/vny84C1TP8rhq5nNGAZE58XMpsEBV\nc5orVOCpaoKIrAGaANkmfK8b0hGR2lkedgGirYrFHUSkAzAKCFfVFKvjcTNfGMffA9QWkRoiUhzo\ngX3Coa8RfOP9yo7DEz8LGhEJurUsvYgEAG25S870xiqdpUAwkAEcB15W1QvWRuU6InIUKA5cznwq\nSlUHWRiSS4lIF2AaEARcBaJV9Slro3JO5of0FOwXSHNU9R8Wh+RSIrIQaAVUAOKAt1T1X5YG5SK+\nPvFTROpjX6lYsP/7XKCqk3Js720J3zAMw3APrxvSMQzDMNzDJHzDMIxCwiR8wzCMQsIkfMMwjELC\nJHzDMIxCwiR8wzCMQsIkfMMwjELCJHzDMIxC4v9WqGMCLfTW8AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(-3,3,1000)\n", "plt.plot(x,Runge(x))\n", "for n in [5,10,15]:\n", " x_interp = Interp_Equi(-3,3,n)\n", " y_interp = Runge(x_interp)\n", " z_interp = interpolate.KroghInterpolator(x_interp,y_interp)\n", " P=z_interp(x)\n", " plt.plot(x,P)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Méthode de Lagrange" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Nous avons vu dans le cours que le polynôme d'interpolation de Lagrange peut être calculé par la méthode de Lagrange. Cette méthode consiste à trouver une base de polynômes, qui sont les polynômes de Lagrange, dans laquelle on exprime le polynôme d'interpolation. Étant donné une fonction $f$ et un ensemble $(x_j)_{0\\leq j\\leq n}$ de points d'interpolation, le polynôme d'interpolation $p$ s'exprime comme\n", "$$\n", "p(x) = \\sum_{j = 0}^{n} f(x_j) L_{j,n}(x), \\quad \\forall x \\in \\mathbb{R},\n", "$$\n", "avec $(L_{j,n})_{0\\leq j\\leq n}$ la base de polynôme de Lagrange donnée par\n", "$$\n", "L_{j,n}(x) = \\prod_{\\substack{k = 0\\\\k\\neq j}}^{n} \\dfrac{x-x_k}{x_j-x_k}.\n", "$$\n", "\n", " >**À faire :** Écrire une fonction **Methode_Lagrange** qui implémente la méthode précédente avec en arguments d'entrée un vecteur $x\\_interp$ de points d'interpolation et un vecteur $x$ de points d'abscisse. Cette fonction returnera la matrice $L$ dont chaque colonne correspond au vecteur $\\ell_i = L_{i,n}(x)$. \n", " \n", "On obtient alors le vecteur $y = p(x)$ grâce au produit matrice-vecteur $y = Lz$ où $z = f(x\\_interp)$. Le produit matrice-vecteur peut se faire grâce à la fonction **np.dot**." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def Methode_Lagrange(x_interp,x):\n", " m = len(x_interp)\n", " n = len(x)\n", " L = np.ones((n,m))\n", " for i in range(m):\n", " for j in range(m):\n", " if j != i:\n", " L[:,i] = L[:,i]*(x - x_interp[j])/(x_interp[i] - x_interp[j])\n", " return L" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " >**À faire :** Tracer ensuite sur une même figure la fonction **Runge** sur l'intervalle $[-3,3]$ ainsi que son polynôme d'interpolation obtenue avec la méthode de Lagrange pour $5$, $10$ et $15$ points d'interpolation." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(-3,3,1000)\n", "plt.plot(x,Runge(x))\n", "for n in [5,10,15]:\n", " x_interp = Interp_Equi(-3,3,n)\n", " z = Runge(x_interp)\n", " L = Methode_Lagrange(x_interp,x)\n", " P = L.dot(z)\n", " plt.plot(x,P)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Méthode de Newton\n", "\n", "La méthode de Newton, comme pour celle de Lagrange, permet d'exprimer le polynôme d'interpolation de Lagrange dans une base de polynômes, qui sont les polynômes de Newton. Étant donné une fonction $f$ et un ensemble $(x_j)_{0\\leq j\\leq n}$ de points d'interpolation, le polynôme d'interpolation $p$ s'exprime comme\n", "$$\n", "p(x) = \\sum_{j = 0}^{n} z_j N_{j,n}(x), \\quad \\forall x \\in \\mathbb{R},\n", "$$\n", "avec $(N_{j,n})_{0\\leq j\\leq n}$ la base de polynôme de Newton donnée par\n", "$$\n", "N_{j,n}(x) = \\prod_{k = 0}^{j} (x-x_k),\n", "$$\n", "et $(z_j)_{0\\leq j\\leq n}$ les coefficients qui sont solution du système triangulaire\n", "$$\n", "\\left[ \n", "\\begin{array}{cccccc}\n", "1 & 0 & 0 & \\cdots & 0 \\\\ \n", "1 & (x_1-x_0) & 0 & \\cdots & 0 \\\\ \n", "1 & (x_2-x_0) & (x_2-x_0)(x_2-x_1) & \\ddots & \\vdots \\\\ \n", "\\vdots & \\vdots & \\vdots & \\ddots & 0 \\\\ \n", "1 & (x_n-x_0) & (x_n-x_0)(x_n-x_1) & \\cdots & \\prod_{j = 0}^{n-1}(x_n-x_j)\n", "\\end{array}\n", "\\right]\\left[\\begin{array}{c}z_0\\\\ z_1\\\\ \\vdots \\\\ z_n \\end{array}\\right] = \\left[\\begin{array}{c}y_0\\\\ y_1\\\\ \\vdots \\\\ y_n \\end{array}\\right].\n", "$$\n", "\n", " >**À faire :** Écrire une fonction **Methode_Newton** qui implémente la méthode précédente avec en arguments d'entrée un vecteur $x\\_interp$ de points d'interpolation et un vecteur $x$ de points d'abscisse. Cette fonction returnera la matrice $N$ dont chaque colonne correspond au vecteur $n_i = N_{i,n}(x)$. " ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def Methode_Newton(x_interp,x):\n", " m = len(x_interp)\n", " n = len(x)\n", " N = np.ones((n,m))\n", " for i in range(m):\n", " for j in range(i):\n", " N[:,i] = N[:,i]*(x - x_interp[j])\n", " return N" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">**À faire :** Écrire une fonction **Coeff_Newton** qui permet de calculer les coefficients $(z_j)_{0\\leq j\\leq n}$ en résolvant le système triangulaire inférieur par un algorithme de descente. Cette fonction prendra en entrée le vecteur $x\\_interp$ des points d'interpolation ainsi que la fonction $f$ à interpoler et rendra le vecteur $z$ des coefficients." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def Coeff_Newton(x_interp,f):\n", " m = len(x_interp)\n", " T = np.zeros((m,m))\n", " for i in range(m):\n", " for j in range(m):\n", " if j == 0:\n", " T[i,j] = 1\n", " elif j<=i:\n", " T[i,j] = T[i,j-1]*(x_interp[i] - x_interp[j-1])\n", " z = npl.solve(T,f(x_interp))\n", " return z" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On obtient alors le vecteur $y = p(x)$ grâce au produit matrice-vecteur $y = Lz$.\n", "\n", ">**À faire :** Tracer ensuite sur une même figure la fonction **Runge** sur l'intervalle $[-3,3]$ ainsi que son polynôme d'interpolation obtenue avec la méthode de Newton pour $5$, $10$ et $15$ points d'interpolation." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(-3,3,1000)\n", "plt.plot(x,Runge(x))\n", "for n in [5,10,15]:\n", " x_interp = Interp_Equi(-3,3,n)\n", " z = Coeff_Newton(x_interp,Runge)\n", " N = Methode_Newton(x_interp,x)\n", " P = N.dot(z)\n", " plt.plot(x,P)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Points d'interpolation de Chebyshev" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Les points de Chebyshev dans l'intervalle $[-1,1]$ sont donnés par la formule suivante\n", "$$\n", "y_j = \\cos\\left(\\dfrac{2i+1}{2(n+1)}\\pi\\right), \n", "\\quad 0\\leq j\\leq n.\n", "$$\n", "Afin d'adapter ces points à un intervalle $[a,b]$, on se basera sur la formule suivante\n", "$$\n", "x_j = \\frac{a+b}2 + \\frac{a-b}2 y_j,\n", "\\quad 0\\leq j\\leq n.\n", "$$\n", "\n", ">**À faire :** Implémenter une fonction **Interp_Chebyshev** qui prend en arguments d'entrée les valeurs $a$ et $b$ (qui définissent l'intervalle d'interpolation) ainsi que $m$ de manière à retourner un vecteur $x$ de $m$ points d'interpolations répartis selon les points de Chebyshev sur $[a,b]$. " ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def Interp_Chebyshev(a,b,m):\n", " x = np.zeros(m)\n", " for i in range(m):\n", " x[i] = (a+b)/2.+(b-a)/2.*np.cos(np.pi*(2*i+1)/(2.*m))\n", " return np.sort(x)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ ">**À faire :** Tracer ensuite sur une même figure la fonction **Runge** sur l'intervalle $[-3,3]$ ainsi que son polynôme d'interpolation obtenue avec la méthode de Newton pour $5$, $10$ et $15$ points d'interpolation." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n/BO53Z0kytXw6AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(-3,3,1000)\n", "plt.plot(x,Runge(x))\n", "for n in [5,10,15]:\n", " x_interp = Interp_Chebyshev(-3,3,n)\n", " z = Coeff_Newton(x_interp,Runge)\n", " N = Methode_Newton(x_interp,x)\n", " P = N.dot(z)\n", " plt.plot(x,P)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Comparaison d'erreur selon la répartition des points d'interpolation\n", "\n", "Nous sommes à présent en mesure de quantifier numériquement la réduction de l'erreur qu'apporte la répartition suivant les points de Chebyshev en comparaison avec les points équirépartis. On introduit pour cela l'erreur\n", "$$\n", "e(n) = \\sup_{x\\in[-3,3]} |f(x) - p(x)|,\n", "$$\n", "où $f$ est la fonction à interpoler et $p$ est le polynôme d'interpolation de Lagrange de degré $n$. On veut comparer l'évolution de l'erreur en fonction de $n$ et du choix de la répartition des points d'interpolation.\n", "\n", ">**À faire :** Écrire une fonction **Erreur_Interp** permettant de calculer l'erreur $e(n)$ dans le cas de points d'interpolation équirépartis et le cas des points de Chebyshev. Cette fonction prendra en entrée l'entier $n$ ainsi qu'un entier $p$ et donnera en sortie un scalaire correspondant à l'erreur $e(n)$ pour les points équirépartis si $p = 0$ ou pour les points de Chebyshev si $p = 1$. L'interpolation se fera à l'aide de la méthode de Newton sur l'intervalle $[-3,3]$." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def Erreur_Interp(n,p):\n", " x = np.linspace(-3,3,1000)\n", " if p == 0:\n", " x_interp = Interp_Equi(-3,3,n)\n", " elif p == 1:\n", " x_interp = Interp_Chebyshev(-3,3,n)\n", " z = Coeff_Newton(x_interp,Runge)\n", " N = Methode_Newton(x_interp,x)\n", " P = N.dot(z)\n", " return np.max(abs(P-Runge(x)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">**À faire :** Tracer sur une même figure l'évolution de l'erreur $\\log(e(n))$, en fonction de $n$, pour les points d'interpolation équirépartis et pour les points de Chebyshev de $1$ jusqu'à $100$ points." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "e = np.zeros((2,100))\n", "for p in range(2):\n", " for n in range(100):\n", " e[p,n] = Erreur_Interp(n,p)\n" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nyZIAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(range(100),np.log10(e[0,:]))\n", "plt.plot(range(100),np.log10(e[1,:]))" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.11" } }, "nbformat": 4, "nbformat_minor": 1 }