{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Partial Differential Equations (PDEs)\n", "### Parabolic PDEs, stability and accuracy of numerical schemes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Context**\n", "\n", "When dealing with a numerical scheme, meant to solve a PDE, two aspects should be considered, its stability and accuracy. Here by stability we mean a method which will not magnify errors during the calculations times. In the previous notebook, we experienced an unstable results of the Forward in Time and Centered in Space (FTCS) algorithm where the solution started to oscillate and the temperatures were exponentially growing in our system over time. While one can find out, by trials and errors, if a numerical scheme is conditionnaly stable there exists methods to determine these conditions analytically. In this course we will limit ourselves to the von Neumann stability analysis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**von Neumann stability analysis**\n", "\n", "The von Neumann stability analysis is an analytical method to study the stability of numerical schemes. This method is intended for linear PDEs solved through finite difference methods. Here we will simply mentionned the basis for its use and the reader is referred to the [Digital Compendium](https://folk.ntnu.no/leifh/teaching/tkt4140/._main061.html) for a more detailled overview of the technique.\n", "\n", "In this technique we considered that the error $E$ committed by a numerical method is dependent upon the independent variables and varies across space and time (if those are the independent variables). The error in a specific spatial point and time is then defined as $E_j^n$. For a scheme to be stable we do not want the error to grow unbounded from one time step to another. Thus, we want the error at time $n+1$ to be equal or smaller than the error at time $n$. This can be formulated as:\n", "\n", "$$ E_j^{n+1} = G .E_i^{n} \\tag{1}$$\n", "\n", "where $G$ is the numerical amplification factor. The numerical amplification factor should be bounded in order to ensure stability via:\n", "\n", "$$ |G| \\le 1 \\tag{2}$$\n", "\n", "which is the definition of the von Neumann stability condition.\n", "\n", "As expressed in equation (1), the error at a specific time is related to the error at another time via the numerical amplification factor $G$. We can than express, following the same definition, the error at time $k$ as a function of the error at time 0, $E_j^0$:\n", "\n", "$$ E_j^n = G^n E_j^0 \\tag{3}$$\n", "\n", "here $G^n$ is the numerical amplification factor $G$ at the power $n$ while $E_j^n$ represents the error at time $n$. From the definition of the von Neumann stability analysis, the initial error $E_j^0$ is defined as:\n", "\n", "$$E_j^0 = e^{i\\beta x_j} $$\n", "\n", "At any time $n$ we can express the error in that point as:\n", "\n", "$$E_j^n = G^n e^{i\\beta x_j} $$\n", "\n", "To complete a von Neumann stability analysis, we need one more hypothesis, the error $E_i^n$ should follow the same equation as our numerical solution, the numerical scheme. This aspect will be dicussed next in the application of this technique.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Application of the von Neumann analysis to the FTCS scheme**\n", "\n", "Here we are going to apply the von Neumann analysis to the stability of the FTCS scheme use to solve the folowing PDE:\n", "\n", "$$ \\frac{\\partial u}{\\partial t} = \\frac{\\partial^2 u}{\\partial x^2}$$\n", "\n", "This PDE can represent the confined flow of a fluid for example where $u$ is the velocity of the fluid.\n", "\n", "We discretize the independent variables $x$ and $t$ as:\n", "\n", "$$ x_j = x_{j-1} + \\Delta x$$\n", "$$ t_n = t_{n-1} + \\Delta t$$\n", "\n", "where $\\Delta x$ and $\\Delta t$ are the grid size and time step, respectively.\n", "\n", "The FTCS scheme implies a forward difference for the time:\n", "\n", "$$ \\frac{\\partial u}{\\partial t}\\bigg |_{j}^n \\approx \\frac{u_j^{n+1}-u_j^n}{\\Delta t}$$ \n", "\n", "and a centered finite difference for the space:\n", "\n", "$$ \\frac{\\partial^2 u}{\\partial x^2}\\bigg |_{j}^n \\approx \\frac{u_{j+1}^n -2 u_j^n + u_{j-1}^n}{\\Delta x^2}$$\n", "\n", "Combining the finite differences and the PDE with can the FTCS scheme as:\n", "\n", "$$ u_{j}^{n+1} = D \\left(u_{j+1}^n + u_{j-1}^n \\right) + \\left(1-2D \\right) u_j^n$$\n", "\n", "where $D$ is the diffusion number defined as $D = \\Delta t / \\Delta x^2$\n", "\n", "As stated earlier, we assume that the error at a grid point $x_j$ and time $t_n$ is represented by $E_j^n$ and follow the same equation as our numerical scheme:\n", "\n", "$$ E_{j}^{n+1} = D \\left(E_{j+1}^n + E_{j-1}^n \\right) + \\left(1-2D \\right) E_j^n \\tag{4}$$\n", "\n", "where $E_{j}^{n+1}$ is the error at time $t_{n+1}$ in point $x_j$, $E_{j+1}^{n}$ is the error at time $t_{n}$ in point $x_{j+1}$ and $E_{j-1}^{n}$ is the error at time $t_{n}$ in point $x_{j-1}$.\n", "\n", "To study the stability of this numerical scheme we replace the error terms in equation (4) by their definitions. As shown earlier, the error $E_j^n$ can be expressed as:\n", "\n", "$$ E_j^n = G^n e^{i\\beta x_j}$$\n", "\n", "Simarly, $E_{j+1}^n $ will be expressed as:\n", "\n", "$$ E_j^n = G^n e^{i\\beta x_{j+1}}$$\n", "\n", "and $E_{j}^{n+1}$ will be expressed as:\n", "\n", "$$ E_j^{n+1} = G^{n+1} e^{i\\beta x_j}$$\n", "\n", "The *error scheme* (eq. (4)) is then re-casted as:\n", "\n", "$$ G^{n+1} e^{i\\beta x_j} = D \\left(G^n e^{i\\beta x_{j+1}} + G^n e^{i\\beta x_{j-1}} \\right) + \\left(1-2D \\right) G^n e^{i\\beta x_j}$$\n", "\n", "This equation is $n+1$ polynomial of $G$ which we want to simplify. To do so we divive each side of the equation by $G^n e^{i\\beta x_j}$ leading to:\n", "\n", "$$ G = D \\left(e^{i\\beta \\Delta x} + e^{-i\\beta \\Delta x} \\right) + \\left(1-2D \\right)$$\n", "\n", "If we introduce $\\delta = \\beta \\Delta x$ and some trigonometric formulas (see [Digital Compendium](https://folk.ntnu.no/leifh/teaching/tkt4140/._main061.html) for more details), we obtain the numerical amplification factor $G$ defined as:\n", "\n", "$$ G = 1- 4D \\sin^2 \\left(\\frac{\\delta}{2}\\right) \\tag{5}$$\n", "\n", "The von Neumann stability condition implies that $|G| \\le 1$ which given our expression of $G$ leads to:\n", "\n", "$$ -1 \\le 1- 4D \\sin^2 \\left(\\frac{\\delta}{2}\\right) \\le 1 $$\n", "\n", "since $\\sin^2 \\left(\\frac{\\delta}{2}\\right)$ is always positive and has an upper value of 1, the right-hand side of the inequality is always fulfiled. To satisfy the left-hand side of the equation we need to impose a constraint on $D$ as:\n", "\n", "$$ D \\le \\frac{1}{2}$$\n", "\n", "Thus, for a given spatial discretization (grid size) $\\Delta x$ we need a bound on the timestep $\\Delta t$ to ensure stability." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Example of stability with python**\n", "\n", "In this section of the notebook we will evaluate the conditions given by the von Neumann analysis onto a simple confined, unsteady couette flow. The PDE driving this problem is similar to the one used in the example and we simply need to define the initial and boundary conditions to complete our problem.\n", "\n", "We have the following boundary conditions for the velocity $u$: \n", "1. $u = 0$ when $y=0$\n", "2. $u = u_0$ when $y=1$\n", "3. driven by the PDE when $0= t)[0][0])\n", " return indexes\n", "\n", "def make_plot(u,x,t):\n", " time_plot = [0.05,0.2,0.4]\n", " indxs = find_indexes(time_plot,t)\n", " for indx in indxs:\n", " plt.plot(x,u[:,indx], label='Time {0:3.2f}'.format(t[indx]))\n", " plt.xlabel(r'Coordinate $x$')\n", " plt.ylabel(r'Velocity $u$')\n", " plt.title(r'Diffusion number $D = $ {0:4.3}'.format((t[1]-t[0])/(x[1]-x[0])**2))\n", " plt.grid()\n", " plt.legend()\n", " plt.tight_layout()\n", " return" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We first run a simulation using 1001 timesteps and 10 grid points, as shown in the resulting figure we obtain a stable solution and the diffusion number $D$ is below 0.5" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ntimestep = 1001\n", "t = np.linspace(0.0, 0.4, ntimestep)\n", "delta_t = t[1]-t[0]\n", "#\n", "nx = 10\n", "x = np.flip(np.linspace(0.0,1.0,nx))\n", "delta_x = x[0]-x[1]\n", "#\n", "u = FTCS(u_top,u_bot,u_init,nx,ntimestep,delta_x,delta_t)\n", "#\n", "make_plot(u,x,t)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we now try to run the same simulation using 60 timesteps we obtain an unstable solution to our problem where the diffusion number $D \\approx$ 0.549" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAPXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjByYzEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvGVCRmQAAAAlwSFlzAAAPYQAAD2EBqD+naQAApo5JREFUeJzs3XdYFNfXwPHvsnRpKoJoULB37C3R2Ftimt3YW2JXNJbYNbbYE1tiYmKiJhpLYuxYY8HYsYK9IWBB6WXZnfePfeUnAZWyyy5wPs/DI3N3Zu5ZhnKcufdclaIoCkIIIYQQIsezMHUAQgghhBDCMCSxE0IIIYTIJSSxE0IIIYTIJSSxE0IIIYTIJSSxE0IIIYTIJSSxE0IIIYTIJSSxE0IIIYTIJSSxE0IIIYTIJSSxE0IIIYTIJSSxEyKH+vnnn1GpVNy5cydF+6lTp6hfvz758uVDpVJx/vz517YbO568aurUqahUKp48eWLqUIQQeYgkdkKYiReJ0YsPW1tbihQpQsuWLfnmm2+Iiop64zk0Gg0dOnQgPDycRYsW8euvv1K8ePFXtovcb8+ePSm+rywtLXFzc6NZs2b8/PPP6HQ6k8SVkJDA2LFjKVKkCHZ2dtSpUwc/P790HXvo0KEU7+nljxMnTqTYNzo6milTptCqVSsKFCiASqXi559/fmMfM2fORKVSUalSpcy8PSFMxtLUAQghUpo+fTre3t5oNBpCQ0M5dOgQI0aMYOHChWzbto0qVaoA0L17dzp37oyNjU3ysTdv3uTu3busWrWKfv36JbcHBgam2W5IacUjTC8gIACAhQsXUqhQIZKSknj48CHbt2+nd+/e/PHHH/z5559YWVlla1y9evVi06ZNjBgxgtKlS/Pzzz/Tpk0bDh48yDvvvJOucwwbNoxatWqlaCtVqlSK7SdPnjB9+nSKFSuGj48Phw4deuN5Hzx4wKxZs8iXL1+6348Q5kISOyHMTOvWralZs2by9vjx4zlw4ADvv/8+H3zwAVevXsXOzg61Wo1arU5x7KNHjwBwcXFJV7shpRWPMK6YmJg3Jh8XLlzA1taWYcOGpbg+X375JRMmTGDWrFl8++23+Pr6GjvcZCdPnuT3339n3rx5jB49GoAePXpQqVIlxowZw/Hjx9N1ngYNGtC+ffvX7uPh4UFISAiFCxfm9OnTqRLBtIwePZq6deui1WrlUbrIceRRrBA5QJMmTZg0aRJ3795l7dq1QOoxbb169eLdd98FoEOHDqhUKho1avTK9hfHeHl5pervxfiwF6KiohgxYgReXl7Y2Njg5uZG8+bNOXv2bPI+aY2xO3fuHK1bt8bJyQkHBweaNm2a6lHZy/3duHGDXr164eLigrOzM7179yY2Nva1X5uMHJve9/ty27Vr1+jWrRvOzs4UKlSISZMmoSgK9+/f58MPP8TJyYnChQuzYMGCNON78uQJHTt2xMnJiYIFCzJ8+HDi4+NT7BMcHEyfPn1wd3fHxsaGihUrsnr16jTjuXLlCl27diV//vzpurMVEBBA+fLl00y6p0yZgouLC+vWrXvjeQxp06ZNqNVqBgwYkNxma2tL37598ff35/79++k+V1RUFElJSa983cbGhsKFC6f7fP/88w+bNm1i8eLF6T5GCHMid+yEyCG6d+/Ol19+yd69e+nfv3+q1z/77DOKFi3KrFmzkh9Rubu74+DgkGZ7Rnz++eds2rSJIUOGUKFCBZ4+fcrRo0e5evUq1atXT/OYy5cv06BBA5ycnBgzZgxWVlZ89913NGrUiMOHD1OnTp1Ux3Ts2BFvb29mz57N2bNn+eGHH3Bzc2Pu3LlvjDErx75Op06dKF++PHPmzGHHjh189dVXFChQgO+++44mTZowd+5c1q1bx+jRo6lVqxYNGzZMFZeXlxezZ8/mxIkTfPPNNzx79oxffvkFgLCwMOrWrYtKpWLIkCEUKlSIXbt20bdvXyIjIxkxYkSK83Xo0IHSpUsza9YsFEV5beyJiYkEBQXRtWvXNF+3tramcuXKKRL0l2k0GiIiItL1dSpQoAAWFum7V3Du3DnKlCmDk5NTivbatWsDcP78eTw9Pd94nt69exMdHY1araZBgwbMmzcvxd3ujNJqtQwdOpR+/fpRuXLlTJ9HCFOSxE6IHOKtt97C2dmZmzdvpvl6vXr1SEhIYNasWakeUb2qPb127NhB//79U9yVGjNmzGuPmThxIhqNhqNHj1KiRAlA/7itbNmyjBkzhsOHD6c6plq1avz444/J20+fPuXHH39MV3KWlWNfp3bt2nz33XcADBgwAC8vL0aNGsXs2bMZO3YsAF26dKFIkSKsXr06VWLn7e3NX3/9BcDgwYNxcnJi+fLljB49mipVqjBhwgS0Wi0XL16kYMGCgD6R7tKlC1OnTuWzzz7Dzs4u+Xw+Pj6sX78+XbFfuXIFjUbz2iTFwsLilRMojh07RuPGjdPV1+3bt9O8G5qWkJAQPDw8UrW/aHv48OFrj7e2tqZdu3a0adMGV1dXrly5wvz582nQoAHHjx+nWrVq6Yrjv1auXMndu3fZt29fpo4XwhxIYidEDuLg4JCu2bGG5uLiwr///svDhw8pUqTIG/fXarXs3buXjz76KDmpA/0f7q5du7Jq1SoiIyNT3bH5/PPPU2w3aNCArVu3prnvf2Xl2Nd5ebKJWq2mZs2aPHjwgL59+ya3u7i4ULZsWW7dupXq+MGDB6fYHjp0KMuXL2fnzp1UrlyZzZs307FjRxRFSTGeq2XLlvz++++cPXuWt99++5Xv83UuXLgAkDzhJi1Pnjx55aNKHx+fdM9Uzcjjzri4uDQn2dja2ia//jr169enfv36ydsffPAB7du3p0qVKowfP57du3enO5YXnj59yuTJk5k0aRKFChXK8PFCmAtJ7ITIQaKjo3Fzc8v2fr/++mt69uyJp6cnNWrUoE2bNvTo0SNF0vayx48fExsbS9myZVO9Vr58eXQ6Hffv36dixYopXitWrFiK7fz58wPw7NmzNyZnWTk2I+d1dnbG1tYWV1fXVO1Pnz5NdXzp0qVTbJcsWRILCwvu3LnD48ePef78Od9//z3ff/99mv2/mPjygre3d7pjfzEj9lV37GJjYwkKCqJDhw5pvp4/f36aNWuW7v7Sy87OjoSEhFTtL8YevnyHMr1KlSrFhx9+yJYtW9BqtRmeyDNx4kQKFCjA0KFDM9y3EOZEEjshcogHDx4QERGRqpxDVvx3wsALWq02xXbHjh2T74Dt3buXefPmMXfuXLZs2ULr1q0NFs+r/hi/aSxZeo9N7/t903mzEufLMbx4BNqtWzd69uyZ5v7/vduWkaTnwoULFCpU6JV30zZu3EhSUhIffvhhmq8nJiYSHh6err4KFSqU7mTKw8OD4ODgVO0hISEA6bornBZPT08SExOJiYnJUDJ//fp1vv/+exYvXpziMXB8fDwajYY7d+7g5OREgQIFMhWXENlJEjshcohff/0V0D+iM5T8+fPz/PnzVO13795N1ebh4cGgQYMYNGgQjx49onr16sycOTPNxK5QoULY29sTFBSU6rXAwEAsLCzSNTje0DLyfg3l+vXrKe6y3bhxA51Oh5eXF4UKFcLR0RGtVmuUO2MXLlx45d26iIgIpkyZQokSJWjXrl2a+xw/ftwoY+yqVq3KwYMHUz0m//fff5Nfz4xbt25ha2uLg4NDho4LDg5Gp9MxbNgwhg0blup1b29vhg8fLjNlRY4giZ0QOcCBAweYMWMG3t7efPrppwY7b8mSJYmIiODChQvJd4ZCQkLYunVr8j5arZbo6GicnZ2T29zc3ChSpEiaj9NAf0erRYsW/PXXX9y5cyf5D35YWBjr16/nnXfeydLj0cxKz/s1tGXLltGiRYvk7W+//RbQ1ytUq9W0a9eO9evXc+nSpVSrHDx+/DjT471CQ0N59OhRmuPr7t27R/v27Xn48CEHDhzA0jLtPwXGGmPXvn175s+fz/fff59cxy4hIYGffvqJOnXqpEj6Y2NjuXfvHq6ursmPv9P6ugQEBLBt2zZat26d7tm5L1SqVCnN74GJEycSFRXFkiVLKFmyZIbOKYSpSGInhJnZtWsXgYGBJCUlERYWxoEDB/Dz86N48eJs27YteYC5IXTu3JmxY8fy8ccfM2zYMGJjY1mxYgVlypRJLoERFRXFW2+9Rfv27fHx8cHBwYF9+/Zx6tSpV9ZuA/jqq6/w8/PjnXfeYdCgQVhaWvLdd9+RkJDA119/bbD3kBHpeb+Gdvv2bT744ANatWqFv78/a9eupWvXrvj4+AAwZ84cDh48SJ06dejfvz8VKlQgPDycs2fPsm/fvnQ/Cv2vF+Prnj17xtq1a9HpdDx9+pQTJ07w119/kS9fPrZv306DBg1eeQ5jjbGrU6cOHTp0YPz48Tx69IhSpUqxZs0a7ty5k2JmM+iLGTdu3JgpU6YwdepUQF+Cxs7Ojvr16+Pm5saVK1f4/vvvsbe3Z86cOan6W7p0Kc+fP09+zPr333/z4MEDQD+ZxdXVlY8++ijVcS/u0KX1mhDmShI7IczM5MmTAX1JhwIFClC5cmUWL15M7969cXR0NGhfBQsWZOvWrfj6+jJmzJjkOnDXr19PTnTs7e0ZNGgQe/fuZcuWLeh0OkqVKsXy5csZOHDgK89dsWJFjhw5wvjx45k9ezY6nY46deqwdu3aNGvYZYf0vF9D27BhA5MnT2bcuHFYWloyZMgQ5s2bl/y6u7s7J0+eZPr06WzZsoXly5dTsGBBKlasmKVSLS9mxK5Zs4Y1a9Zga2ub/P00e/Zs+vXrZ/Dvp4z45ZdfmDRpEr/++ivPnj2jSpUqbN++PVW5mLR89NFHrFu3joULFxIZGUmhQoX45JNPmDJlSppjUOfPn5/icfuWLVvYsmULQHLxaSFyC5WSntG+QgghhBDC7MmSYkIIIYQQuYQkdkIIIYQQuYQkdkIIIYQQuYQkdkIIIYQQuYQkdkIIIYQQuYQkdkIIIYQQuUSer2On0+l4+PAhjo6Or1xHUgghhBDCVBRFISoqiiJFirxxZZU8n9g9fPjQJGtWCiGEEEJkxP3793nrrbdeu0+eT+xeVF6/f/++0dau1Gg07N27lxYtWmBlZWWUPkTGyDUxP3JNzI9cE/Mj18T8ZMc1iYyMxNPTM12rxeT5xO7F41cnJyejJnb29vY4OTnJD6KZkGtifuSamB+5JuZHron5yc5rkp4hYzJ5QgghhBAil5DETgghhBAil5DETgghhBAil8jzY+zSS6vVotFoMnWsRqPB0tKS+Ph4tFqtgSMTGSXjUoQQQuRWkti9gaIohIaG8vz58yydo3Dhwty/f19q5ZmJ9MwsEkIIIXIaSeze4EVS5+bmhr29faYSM51OR3R0NA4ODm8sLCiMS1EUYmNjCQsLk+ROCCFEriOJ3WtotdrkpK5gwYKZPo9OpyMxMRFbW1tJ7MyAnZ0dOp2OmJgYtFqtPJoVQgiRa0iW8RovxtTZ29ubOBJhaPb29lhYWJCUlGTqUIQQQgiDkcQuHWRcXO7z4poqimLiSIQQQgjDkcROCCGEECKXMKvE7p9//qFt27YUKVIElUrFn3/++cZjDh06RPXq1bGxsaFUqVL8/PPPRo8zN+jVqxcfffSRqcMQQgghhAGZVWIXExODj48Py5YtS9f+t2/f5r333qNx48acP3+eESNG0K9fP/bs2WPkSM2bSqV67cfUqVNZsmSJyZLgCxcu0KBBA2xtbfH09OTrr79+4zH37t3jvffew97eHjc3N7744osU4+MOHTqU5nsNDQ015lsRQgghzIpZzYpt3bo1rVu3Tvf+K1euxNvbmwULFgBQvnx5jh49yqJFi2jZsqWxwjR7ISEhyZ9v2LCByZMnExQUlNzm4OCAg4ODKUIjMjKSFi1a0KxZM1auXMnFixfp06cPLi4uDBgwIM1jtFot7733HoULF+b48eOEhITQo0cPrKysmDVrVop9g4KCcHJySt52c3Mz6vsRQgghzIlZ3bHLKH9/f5o1a5airWXLlvj7+5soIvNQuHDh5A9nZ2dUKlWKNgcHh1SPYhs1asTQoUMZMWIE+fPnx93dnVWrVhETE0Pv3r1xdHSkVKlS7Nq1K0Vfly5donXr1jg4OODu7k737t158uTJK2Nbt24diYmJrF69mooVK9K5c2eGDRvGwoULX3nM3r17uXLlCmvXrqVq1aq0bt2aGTNmsGzZMhITE1Ps6+bmluK9SnkZIYQQxrRy0xgeRAaYOoxkZnXHLqNCQ0Nxd3dP0ebu7k5kZCRxcXHY2dmlOiYhIYGEhITk7cjISEBf2uS/S4ZpNBoURUGn06HT6QD9LMo4TcaWBVMUhbhELeoETZZm2NpZqTN8/Iu4X/z7ckwv3tsLa9as4YsvvuDEiRNs3LiRgQMHsmXLFj766CPGjRvH4sWL6d69O3fu3MHe3p7nz5/TpEkT+vbty4IFC4iLi2PcuHF07NiRffv2pRnP8ePHadCgAZaWlsl9N2/enLlz5/L06VPy58+f5jGVK1emUKFCKY4ZOHAgFy9epFq1asntVatWJSEhgYoVKzJlyhTefvvtNON4MRs2KSkp00vFCcN6cR3kepgPuSbmR66J+YhKiGTaX905kHQfz0QdH4Z1wd3dyyh9ZeR65+jELjNmz57NtGnTUrXv3bs3Vb06S0tLChcuTHR0dPKdobhELfUWnsiWWP/L37cudtbqDB0THx+PoijJCewLGo2GpKSk5PakpCQqVqzI0KFDARg0aBBz587F2dmZTp06ATBixAhWrlyJv78/tWrVYuHChVSuXJmxY8cmn3fx4sVUqlSJs2fPUqpUqVTxBAcHU6xYsRTx5MuXD4AbN25QtmzZVMfcv3+fggULpjjmRdJ+69YtSpYsiaOjIwsXLqRatWokJCTw66+/0qRJE/bt24ePj0+qc764nsePH5dadmbGz8/P1CGI/5BrYn7kmpjWTc11/o5axxOLJCwUBe/Ewvx7KgBLiytG6S82Njbd++boxK5w4cKEhYWlaAsLC8PJySnNu3UA48ePx9fXN3k7MjIST09PWrRokWJsFuiTovv37+Pg4ICtrS0AlommSwIcnRyxt87YJbO1tUWlUqV6b1ZWVlhaWia3W1paUqVKlRT7FSxYkOrVqye3vViCKyYmBicnJwIDAzly5AhvvfVWqn7DwsKoXr16qna1Wo21tXWKfl6M93NwcEgV54tY1Wp1itcsLfVfB3t7e5ycnKhRowY1atRIfr158+bcv3+fVatW8csvv6Q6Z1xcHAD169c32XhDkZJGo8HPz4/mzZvLaiBmQq6J+ZFrYlpxSXF8c3YRG25sAgvw1Ggo96Q+tUp/SOuWxrsm/7058zo5OrGrV68eO3fuTNHm5+dHvXr1XnmMjY0NNjY2qdqtrKxSXRCtVotKpcLCwiJ5rFY+GyuuTM/YxAydTkdUZBSOTo5ZGvOVmUexL/r7b78vZo2+3G5tbZ1iW6VSpWp7+bwxMTG0bduWuXPnpnrdw8MjzeM8PDx49OhRitceP34MQJEiRV55zKlTpzJ0DEDt2rU5evRomq+/+DpaWlrKL0czk9bPojAtuSbmR65J9gt4HMDEI+O5E3UfgPYRMQSHdaZm2/7Yh10w6jXJyHnNKrGLjo7mxo0bydu3b9/m/PnzFChQgGLFijF+/HiCg4OT78B8/vnnLF26lDFjxtCnTx8OHDjAxo0b2bFjh9FiVKlUGb5rptPpSLJWY29tmasG81evXp3Nmzfj5eWVfAftTerVq8eECRPQaDTJ36h+fn6ULVs2zfF1L46ZOXMmjx49Sp7l6ufnh5OTExUqVHhlX+fPn8fDwyOD70oIIYT4H41Ww4qAFfx48Ud06HBLSmLi01hWPhtKXNG6tKtWlN27L5g6zGRmlWWcPn2aatWqUa1aNQB8fX2pVq0akydPBvRlPO7du5e8v7e3Nzt27MDPzw8fHx8WLFjADz/8kKdLnWSnwYMHEx4eTpcuXTh16hQ3b95kz5499O7dG6027QkmXbt2xdramr59+3L58mU2bNjAkiVLUjwe37p1K+XKlUvebtGiBRUqVKB79+4EBASwZ88eJk6cyODBg5Pvvi5evJi//vqLGzducOnSJUaMGMGBAwcYPHiwcb8IQgghcq2g8CC67OjCqour0KHj/egYNoRrmftsHP8q5ZnStiIWFua17KhZ3bFr1KjRa9fuTKugbqNGjTh37pwRoxKvUqRIEY4dO8bYsWNp0aIFCQkJFC9enFatWr3yzqSzszN79+5l8ODB1KhRA1dXVyZPnpyihl1ERESKuntqtZrt27czcOBA6tWrR758+ejZsyfTp09P3icxMZFRo0YRHByMvb09VapUYd++fTRu3Nh4XwAhhBC5klan5afLP7Hs/DKSdEnk1+qY9OQpzezeYoDNlwQqNnxSvSg1iuc3uxnKKiWPr4IeGRmJs7MzERERaU6euH37Nt7e3smTJzJDp9MRGRmJk5NTrnoUm5PFxsZy9epVypQpkzwpRJiWRqNh586dtGnTRsYOmQm5JuZHronx3Y28y4SjEwh4rK9N1zg2gcmPH+NapAbbKi5m2F93yWet5uDoRrg52WbLNXldrvJfZnXHTgghhBDCFBRFYUPQBhaeWUhcUhwOFtaMfRTKh1HRqMq0Iqrt90xfcgqAYU1L4+aU+Rs+xiSJnRBCCCHytNCYUCYfm4x/iH7lqjq2hZlx7QweWi1U6wbvL+HbPdd5Ep1ACdd89H7b28QRv5okdkIIIYTIkxRFYfut7cz+dzZRmihs1DaMtClOl8v79LNLG34BjSdw43EMq4/eBmBS2wpYW5rvsCpJ7IQQQgiR54THhzPDfwb77umXwKxcsCIzIzV4X94HqKDNPKjdH0VRmL79Ckk6habl3Ghc1s20gb+BJHZCCCGEyFP239vPdP/phMeHY6myZGDFXvQJ2IXlPX9QW8Mnq6DiR/p9rz7in2uPsVZbMOn9V9dONReS2AkhhBAiT4hKjGLOyTlsu7kNgFIupZhVdQTld4yDR1fAxgm6/AZe7wAQr9Eyfbt+/de+Dbzxcs1nstjTSxI7IYQQQuR6J0JOMOnYJEJjQrFQWdCrYi8GF2mG9W+dIfIBOHrAp5ugcKXkY348ept74bG4O9kwpHEpE0affpLYCSGEECLXikuKY9GZRfwW+BsAno6ezHxnJtXiE2HN+xD/HAqWhu5bwKVY8nEhEXEsPaBf5nR86/Lks8kZKVPOiFIIIYQQIoMCHgcw8ehE7kTeAaBT2U741vDF/uYh2NQbkuLhrVrQdSPYF0hx7JxdgcRptNQonp8PqxbJ/uAzSRK7PKpXr148f/6cP//809ShCCGEEAal0WpYEbCCHy/9iE7R4Wbvxoz6M6hftD6cWQPbR4CigzKtoP1PYG2f4vhTd8L56/xDVCqY9kFFVCrzWg/2dcy3EIvINJVK9dqPqVOnsmTJkjTX3s0OFy5coEGDBtja2uLp6cnXX3/92v0DAgLo0qULnp6e2NnZUb58eZYsWZJqv0OHDlG9enVsbGwoVaqUyd6fEEII0wkKD6LLji6surgKnaLj/RLvs+WDLdQvUg8Ofw1/D9MnddW6Qad1qZI6rU5h6rbLAHSuVYxKRZ1N8TYyTe7Y5UIhISHJn2/YsIHJkycTFBSU3Obg4ICDg4MpQiMyMpIWLVrQrFkzVq5cycWLF+nTpw8uLi4MGDAgzWPOnDmDm5sba9euxdPTk+PHjzNgwADUajVDhgwB4Pbt27z33nt8/vnnrFu3jv3799OvXz88PDxo2bJldr5FIYQQJqDVafnp8k8sO7+MJF0SLjYuTK43mebFm4NOCzt84fRq/c7/X3iYNO7EbTh1n8sPI3GytWR0izLZ/C6yThK7XKhw4cLJnzs7O6NSqVK0QepHsY0aNaJy5cqo1WrWrFmDtbU1X331FV27dmXIkCFs2rQJd3d3vv32W1q3bp18nkuXLvHFF19w5MgR8uXLR4sWLVi0aBGurq5pxrZu3ToSExNZvXo11tbWVKxYkfPnz7Nw4cJXJnZ9+vRJsV2iRAn8/f3ZsmVLcmK3cuVKvL29WbBgAQDly5fn6NGjLFq0SBI7IYTI5e5G3mXC0QkEPA4AoJFnI6bUm4KrnSto4mBzPwjczsuFh9MSEath3p5AAHybl6Ggg012vQWDkUexGaUokBiT8Q9NbOaOe/lDUYz61tasWYOrqysnT55k6NChDBw4kA4dOlC/fn3Onj1LixYt6N69O7GxsQA8f/6cJk2aUK1aNU6fPs3u3bsJCwujY8eOr+zD39+fhg0bYm1tndzWsmVLgoKCePbsWbpjjYiIoECB/w109ff3p1mzZin2admyJf7+/uk+pxBCiJxFURR+D/ydDn93IOBxAA5WDsx4ewbfNP5Gn9TFPYNfP9EndWpr6LjmlUkdwKJ913gWq6GMuwPd6hbPxndiOHLHLqM0sTArY7NjLAAXQ/T95UOwNl5xRB8fHyZOnAjA+PHjmTNnDq6urvTvr/8hmDx5MitWrODChQvUrVuXpUuXUq1aNWbNmpV8jtWrV+Pp6cm1a9coUyb1LezQ0FC8vVMunuzu7p78Wv78+d8Y5/Hjx9mwYQM7duxIcd4X53n5vJGRkcTFxWFnZ5fOr4IQQoicIDQmlMnHJuMfov8PfJ3CdZjx9gw8HDz0O0QEw9p28Pgq2DhDl/XJhYfTEhgaya8n7gIwtW1FLNU5896XJHYiWZUqVZI/V6vVFCxYkMqVKye3vUicHj16BOgnNRw8eDDN8Xo3b95MM7HLqkuXLvHhhx8yZcoUWrRoYfDzCyGEMG+KorD91nZm/zubKE0UNmobRtYYSZdyXbBQ/X8y9ihQn9S9KDzcbTO4V3ztOadtu4JWp9CmcmHql0p7OFFOIIldRlnZ6++cZYBOpyMyKgonR0csLLLwPwAr+zfvkwVWVlYptlUqVYq2F9O9dTodANHR0bRt25a5c+emOpeHh0eafRQuXJiwsLAUbS+2/zsO8L+uXLlC06ZNGTBgQPKdxTed18nJSe7WCSFELhEeH84M/xnsu7cPgMqulZn5zky8nV96EnTvBKzvpC887FpGn9S9VHg4LbsuheJ/6yk2lhZ82aa8Ed+B8Ulil1EqVcYfh+p0YKXVH5eVxM7MVK9enc2bN+Pl5YWlZfq+lerVq8eECRPQaDTJSaOfnx9ly5Z97WPYy5cv06RJE3r27MnMmTPTPO/OnTtTtPn5+VGvXr0MvCMhhBDmav+9/Uz3n054fDiWKksGVh1In0p9sLR46e9P4M43Fh7+r7hELTN3XAVgYKOSvJXfuDdRjC33ZBki2w0ePJjw8HC6dOnCqVOnuHnzJnv27KF3795otdo0j+natSvW1tb07duXy5cvs2HDBpYsWYKvr2/yPlu3bqVcuXLJ25cuXaJx48a0aNECX19fQkNDCQ0N5fHjx8n7fP7559y6dYsxY8YQGBjI8uXL2bhxIyNHjjTeF0AIIYTRRSVGMeHoBEYcHEF4fDilXEqx/r31DKgyIGVSd+Zn2PCpPqkr0wp6bHtjUgew8vBNgp/HUdTFjs8aljTeG8kmktiJTCtSpAjHjh1Dq9XSokULKleuzIgRI3BxcXnlI2dnZ2f27t3L7du3qVGjBqNGjWLy5MkpSp1ERESkqLu3adMmHj9+zNq1a/Hw8Ej+qFWrVvI+3t7e7NixAz8/P3x8fFiwYAE//PCDlDoRQogc7ETICT7Z9gnbbm5DhYrelXqz4f0NlC/40uNSRYFDc+Hv4a8tPJyW++GxrDx8E4AJ75XHzlptrLeSbVSKYuQaGmYuMjISZ2dnIiIicHJySvFafHw8t2/fxtvbG1tb20z3odPpiIyMxMnJKWtj7ITBxMbGcvXqVcqUKYOjo6OpwxGARqNh586dtGnTJtV4T2Eack3MT165JnFJcSw6s4jfAn8DwNPRk5nvzKSaW7WUO+q0sHN0ugoPp2Xg2jPsuhRKvRIFWd+/TqaWDsuOa/K6XOW/ZIydEEIIIcxGwOMAJh6dyJ3IOwB0KtsJ3xq+2P93AmEGCg+n5diNJ+y6FIraQsWUDyrkqPVgX0cSOyGEEEKYnEarYUXACn689CM6RYebvRsz6s+gftH6qXeOewa/dYF7/qC2gXaroMKHGehLx7S/9evBdq9bnHKFX38XLCeRxE4IIYQQJhUUHsSEoxMIeqYfX/1+ifcZV3sczjbOqXfOYOHhtKw9cZdrYdHkt7diZLOctx7s60hiJ4QQQgiT0Oq0/HT5J5adX0aSLgkXGxcm15tM8+LN0z7gUSCs/QQig9NVeDgtT6MTWOh3DYAvWpbD2T53jVWUxE4IIYQQ2e5u5F0mHJ1AwOMAABp5NmJKvSn6NV7TkonCw2mZvzeIqPgkKhZxolMtzyy8A/MkiZ0QQgghso2iKGwI2sDCMwuJS4ojn1U+xtUex4clP3z1BIbAHbCpz/8XHq4NXTekq0bdf118EMHvp+4DMO2DiqgtcseEiZdJYieEEEKIbBEaE8rkY5PxD/EHoHbh2sx4ewZFHIq8+qAzP8P2kfoadWVaQfuf0lWj7r8URWHKtksoCnxUtQg1vTKeGOYEktgJIYQQwqgURWH7re3M/nc2UZoobNQ2jKwxki7lumChekV9V0WBw1/DoVn67Wrd4f3FoM5c6vLn+WDO3nuOvbWaca1z9nqwryOJnRBCCCGMJjw+nBn+M9h3bx8AlV0rM/OdmXg7e7/6IJ0WdoyCMz/ptzNYePi/ohOSmL0zEIAhTUpR2Dnziw6YO0ns8qhevXrx/Plz/vzzT1OHIoQQIpc6GXKSL/75gvD4cCxVlgysOpA+lfqkXOP1v7JYeDgtSw/c4FFUAsUL2tP3ndcklLmArG+VC6lUqtd+TJ06lSVLlvDzzz+bJL4LFy7QoEEDbG1t8fT05Ouvv073sU+fPuWtt95CpVLx/PnzFK8dOnSI6tWrY2NjQ6lSpUz2/oQQIq9TFIVfr/zKAL8BhMeHU8qlFOvfW8+AKgNen9TFPYNfP9YndWob6Lgmy0nd7Scx/Hj0FgCT36+AjWXOXw/2deSOXS4UEhKS/PmGDRuYPHkyQUFByW0ODg44ODiYIjQiIyNp0aIFzZo1Y+XKlVy8eJE+ffrg4uLCgAED3nh83759qVKlCsHBwSnab9++zXvvvcfnn3/OunXr2L9/P/369cPDw4OWLVsa6+0IIYT4j/ikeKb5T2P7re2AvtjwlHpTsLV8w+NPAxQeTsuM7VfQaBUalS1Ek3JuWT6fuZM7drlQ4cKFkz+cnZ1RqVQp2hwcHOjVqxcfffRR8jGNGjVi6NChjBgxgvz58+Pu7s6qVauIiYmhd+/eODo6UqpUKXbt2pWir0uXLtG6dWscHBxwd3ene/fuPHny5JWxrVu3jsTERFavXk3FihXp3Lkzw4YNY+HChW98XytWrOD58+eMHj061WsrV67E29ubBQsWUL58eYYMGUL79u1ZtGhR+r9wQgghsuRh9EN67OrB9lvbUavUjKk1hlnvzHpzUvcoEH5srk/qHD2gzy6DJHUHAsM4EPgIK7WKSe/nnvVgX0cSuwxSFIVYTWyGP+KS4jJ13MsfiqIY9b2tWbMGV1dXTp48ydChQxk4cCAdOnSgfv36nD17lhYtWtC9e3diY2MBeP78OU2aNKFatWqcPn2a3bt3ExYWRseOHV/Zh7+/Pw0bNsTa2jq5rWXLlgQFBfHs2bNXHnflyhWmT5/OL7/8goVF6m9bf39/mjVrlqKtZcuW+Pv7Z/TLIIQQIhNOhpyk8/bOXA2/Sn6b/Hzf/Hu6V+j+5mTq3glY3VK/moRrGei7N8OrSaQlIUnLjO1XAejztjclC5nmSVV2k0exGRSXFEed9XVM0ve/Xf/F3irjtXvSy8fHh4kTJwIwfvx45syZg6urK/3768c3TJ48mRUrVnDhwgXq1q3L0qVLqVatGrNmzUo+x+rVq/H09OTatWuUKZN6/b3Q0FC8vVMOXHV3d09+LX/+/KmOSUhIoEuXLsybN49ixYpx69atNM/74jwvnzcyMpK4uDjs7Owy+NUQQgiRHoqisO7qOuafno9W0VK+QHkWN178+tp0Lxio8HBafjp2h9tPYijkaMOQJqUMcs6cQBI7kaxKlSrJn6vVagoWLEjlypWT214kTo8ePQIgICCAgwcPpjle7+bNm2kmdpkxfvx4ypcvT7du3QxyPiGEEIYRnxTPdP/p/H3rbyAD4+nAYIWH0xIWGc+3+68DMK5VORxtc9d6sK8jiV0G2Vna8W/XfzN0jE6nIyoqCkdHxzQfI2akb2Oyskr5ja9SqVK0vbidrtPpAIiOjqZt27bMnTs31bk8PDzS7KNw4cKEhYWlaHuxXbhw4TSPOXDgABcvXmTTpk0AyY+kXV1dmTBhAtOmTXvleZ2cnORunRBCGEFIdAjDDw7navhV1Co1o2qOolv5bm9+9GrgwsNpmbsrkJhELdWKufBxtaIGO29OIIldBqlUqgw/DtXpdCRZJmFvZZ+lxM7cVK9enc2bN+Pl5YWlZfq+lerVq8eECRPQaDTJSaOfnx9ly5ZN8zEswObNm4mLi0vePnXqFH369OHIkSOULFky+bw7d+5McZyfnx/16tXLzFsTQgjxGqdCTzHq0CieJTwjv01+5r87n9oetd98oIELD6flzN1wtpwLRqWCqW0rYpEL14N9ndyTZYhsN3jwYMLDw+nSpQunTp3i5s2b7Nmzh969e6PVatM8pmvXrlhbW9O3b18uX77Mhg0bWLJkCb6+vsn7bN26lXLlyiVvlyxZkkqVKiV/vBijV758edzc9FPXP//8c27dusWYMWMIDAxk+fLlbNy4kZEjRxrxKyCEEHmLoiisvbKW/nv78yzhGeULlOf3939PX1KniYONPf4/qVNBm/nQZKJBkzqdTmHqtisAdKzhiY+ni8HOnVNIYicyrUiRIhw7dgytVkuLFi2oXLkyI0aMwMXF5ZV3Jp2dndm7dy+3b9+mRo0ajBo1ismTJ6eoYRcREZGi7l56eHt7s2PHDvz8/PDx8WHBggX88MMPUsNOCCEMJD4pnglHJzD31Fy0ipb3S7zPL61/Sd8kiVSFh3/JcuHhtPxx5j4XgyNwtLHki1ZlDX7+nEAexeZyvXr1olevXqna/7sqw6FDh1Ltc+fOnVRt/y25Urp0abZs2ZKhmKpUqcKRI0de+fqrYn6hUaNGaZZ+adSoEefOnctQLEIIId4s0+PpACIewNr2LxUe/g283jZ4jBFxGr7erb8pMKJ5GVwdbAzeR04giZ0QQgghXinT4+kAHpyBjd31NeocPaDbZoPUqEvLkn3XeRqTSCk3B3rUK26UPnICSeyEEEIIkUqW6tPpdHBiGeybCrokfeHhblvAxdMosV4Pi2KN/x0AprStgJU67440k8ROCCGEEClkqT5dzFP483O4vle/XeFDaPsN2LkYJVZFUZj692W0OoWWFd1pULqQUfrJKSSxE0IIIUSyLI2nu3MUNveDqBD9JIlWs6FmH4POfP2vPZfDOHbjKdaWFkx8r4LR+skpJLETQgghBJDF+nT/zIfDc/QrSRQsDR1+gsKV33xsFsRrtHy1Q1/e5LOGJfAsYLxlN3MKSezS4cVKCyL3eHFN0/U/UCGEyOWyNJ4uKlR/l+7O/1c78OkKbeaBTerlJg3t+39u8eBZHB7OtgxsVNLo/eUEkti9hrW1NRYWFjx8+JBChQphbW2dqURAp9ORmJhIfHx8rlp5IidSFIXExEQePXqUYvULIYTIq7I0nu7GPtjyGcQ+Aat88N4CqNrFyBHrBT+PY/mhGwB82aY89taS0oAkdq9lYWGBt7c3ISEhPHz4MNPnURSFuLg47Ozs5A6RmbC1teXx48eSaAsh8rRMj6fTauDAV3BssX7bvRK0/wkKlTF6zC/M2nmVeI2O2t4FeL9K2uuT50WS2L2BtbU1xYoVIykp6ZXLZL2JRqPhn3/+oWHDhnKHyAyo1WoUReHChQumDkUIIUwm0+Ppnt+DTX3hwUn9ds2+0HImWNkZN+CX+N98yo4LIVj8/3qwctPkfySxSweVSoWVlVWmkzK1Wk1SUhK2traS2JkJjUZj6hCEEMIkFEVhfeB65p2al/HxdFe3w1+DID4CbJzgg2+h4kdGj/llSVod0/6+DMCndYpToYhTtvZv7iSxE0IIIfKI+KR4ZpyYwbab24AMjKfTxIPfJDj5vX67aA1ovxryexk34DSsP3mPwNAoXOyt8G2efY9+cwpJ7IQQQog8ICQ6hBGHRnDl6ZWMjad7ehP+6AWh/z98pd4QaDoFLK2NHvN/hccksmDvNQBGtShL/nzZH4O5k8ROCCGEyOVOhZ5i9OHRhMeHZ2w83YU/YPsISIwGuwLw8Uoo09Lo8b7Kgr1BRMRpKO/hRNfaxUwWhzmTxE4IIYTIpTI9ni4xBnaNgXNr9dvF34ZPVoFzUeMH/QqXgiNYf/IeAFPbVkBtIRMm0iKJnRBCCJELZXo8XdgV2NQbHgcCKnh3DDQcA2rTpQyKojDt78soCrT1KUKdEgVNFou5k8ROCCGEyGUyNZ5OUeDsL/o7dUnx4OCuv0tX4t3sC/wVtgU85NSdZ9hZqRnfupypwzFrZledddmyZXh5eWFra0udOnU4efLka/dfvHgxZcuWxc7ODk9PT0aOHEl8fHw2RSuEEEKYl1Ohp+i8ozNXnl7BxcaF75p/R/cK3V+f1MVHwua+8PcwfVJXsgl8fswskrqYhCRm7wwEYHDjkhRxyb56eTmRWd2x27BhA76+vqxcuZI6deqwePFiWrZsSVBQEG5ubqn2X79+PePGjWP16tXUr1+fa9eu0atXL1QqFQsXLjTBOxBCCCFMI9Pj6R6egz96w7PboFJD00lQfziYyco8yw/dIDQyHs8CdvRrUMLU4Zg987hq/2/hwoX079+f3r17U6FCBVauXIm9vT2rV69Oc//jx4/z9ttv07VrV7y8vGjRogVdunR5410+IYQQIjeJT4pn4rGJzDk5B62i5b0S77Gm9ZrXJ3WKAidWwg/N9Umdsyf03gXvjDSbpO7u0xhW/XMbgEnvVcDWSm3iiMyf2dyxS0xM5MyZM4wfPz65zcLCgmbNmuHv75/mMfXr12ft2rWcPHmS2rVrc+vWLXbu3En37t1f2U9CQgIJCQnJ25GRkYB+JQJjrUbw4ryy2oH5kGtifuSamB+5JuYnrWsSEhPC6COjk9d7HV5tOJ+W/RSVonr1tYt7hnr7MCyu7QJAV6YN2veXgF1+MKPrPf3vyyRqdbxTqiCNShcwy+/F7Pg5yci5VYqiKEaLJAMePnxI0aJFOX78OPXq1UtuHzNmDIcPH+bff/9N87hvvvmG0aNHoygKSUlJfP7556xYseKV/UydOpVp06alal+/fj329vZZfyNCCCFENrmlucWG2A3EKDHYq+zpZN+JklYlX3tM/ujr1LyzDHtNOFqVJZeLdua2a3Mws/VWrz5TsTJQjYVKYWwVLYXz8J/o2NhYunbtSkREBE5Or19CzWzu2GXGoUOHmDVrFsuXL6dOnTrcuHGD4cOHM2PGDCZNmpTmMePHj8fX1zd5OzIyEk9PT1q0aPHGL1ZmaTQa/Pz8aN68uawVaybkmpgfuSbmR66J+XlxTZo1a8bm25tZc3YNWkVLufzlmN9wPkXyve7Rqw6L499gcX42KkWLkt8b3cc/UN7Dh/LZ9xbSJTFJx5Jlx4FYetXzok/rsqYO6ZWy4+fkxdPF9DCbxM7V1RW1Wk1YWFiK9rCwMAoXLpzmMZMmTaJ79+7069cPgMqVKxMTE8OAAQOYMGECFmmMEbCxscHGxiZVu5WVldF/cWVHHyJj5JqYH7km5keuiXnRKBq+OvMV229vB+C9Eu8xpd4U7CxfM1s0+hFs/QxuHtBvV+6A6v1FWNk4ZkPEGfez/y1uPYnF1cGaES3K5ojvP2P+nGTkvOYxOhKwtramRo0a7N+/P7lNp9Oxf//+FI9mXxYbG5sqeVOr9QMrzeQJsxBCCGEwITEhrIpexfbb21Gr1HxR8wtmvzP79UndrUOw8h19UmdpBx8s1denM9Ok7lFUPEv2XwdgTKtyONmaf1JnTszmjh2Ar68vPXv2pGbNmtSuXZvFixcTExND7969AejRowdFixZl9uzZALRt25aFCxdSrVq15EexkyZNom3btskJnhBCCJEbnAo9xahDo3imfYaLjQvz351PHY86rz5AmwSH58A/8wEFCpWHDj+Bm7k9eE3p691BRCck4fOWM+2rv2XqcHIcs0rsOnXqxOPHj5k8eTKhoaFUrVqV3bt34+7uDsC9e/dS3KGbOHEiKpWKiRMnEhwcTKFChWjbti0zZ8401VsQQgghDOq/9ek81B6sarWK4i7FX31QRDBs7gf3juu3q/eEVnPA2rxnIJy794xNZx4AMPWDiljIerAZZlaJHcCQIUMYMmRImq8dOnQoxbalpSVTpkxhypQp2RCZEEIIkb3+u95ra6/W1HpW6/WTJIJ2w58DIS4crB2h7WKo3D57As4CnU5h6rbLALSv8RbViuU3cUQ5k9kldkIIIYSA0JhQhh8cnrzeq28NXzqX7syuXbvSPiApEfZPA/+l+m0PH2j/ExR8ffkTc7H57AMCHkTgYGPJmFbmOwvW3EliJ4QQQpiZU6GnGH14NOHx4SnG072yUG34bdjUBx6e1W/XGQjNp4Fl6ioQ5igyXsPc3UEADG9aGjdHWxNHlHNJYieEEEKYiUyt93ppC/w9HBIiwdYFPloO5d7LtpgN4dv913kSnUCJQvnoWd/L1OHkaJLYCSGEEGbgv+Pp3lifThMHu8fDmZ/02551oN2P4OKZTREbxo1H0fx07A4Ak9+vgLWl2VRiy5EksRNCCCFMLK3xdN0rdEf1qmW+nlyHrf3g0WVABe+MhMZfgjpn1XxTFIVpf18mSafQrLwbjcq6mTqkHE8SOyGEEMKEXjWe7lU8nx7BcvXnoImFfIXg4++gVNNsjNhw9l19xJHrT7BWWzDxvQqmDidXkMROCCGEMIHn8c9ZEbCCDUEb0jeeLiEa9faRVL+3Ub/t/a5+BQlH9+wL2oDiNVpmbL8CQL8G3ni55jNxRLmDJHZCCCFENtLoNGwM2sjy88uJTNQv7t62RFsm1Zv06vF0IRdgU28snt5AQYXu3fGo3x0NFjl3laUfj97mXngs7k42DG5cytTh5BqS2AkhhBDZ5MiDI8w7PY/bEbcBKOVSirG1x1LXo27aBygKnPoB9kwAbQKKowdHC/eh7jsjUefgpC4kIo6lB24A8GWb8uSzkXTEUOQrKYQQQhjZree3+Pr01xwLPgZAfpv8DKk2hE9Kf4KlxSv+FMc9h21D4ap+lixlWpH03hLCD/2bPUEb0eydgcRptNQsnp8PfF5TykVkmCR2QgghhJFEJESw/Pzy5HF0lhaWfFruUwb4DMDJ2unVBz44DZt6w/N7YGGlLzZcdxAkJWVf8EZy8nY42wIeolLp14N95cxfkSmS2AkhhBAGltY4usaejRlVcxTFnYq/+kCdTr8k2P5poEsCl+LQ4ScoWiObIjcurU5hyv+vB9uldjEqFXU2cUS5jyR2QgghhAFleBzdCzFPYOvncMNPv13xY2i7BGxzT/Lz28l7XA2JxMnWktEtZD1YY5DETgghhDCAW89vMe/0PI4GHwXSOY7uhTtHYXM/iAoBS1toNRtq9IZc9JjyeWwi8/fq14Md1aIsBfJZmzii3EkSOyGEECILMj2ODvSPXv+ZB4fngKID1zLQ4Wdwr5gtsWenhX7XeB6roay7I5/WKWbqcHItSeyEEEKITEhrHF0jz0aMrjn69ePoXtAmwbYhEPCbfrvqp9BmHljnvkK9V0MiWXviLgBTPqiApVrWgzUWSeyEEEKIDDoafJR5p+ZxK+IWoB9HN6bWGOoVqZe+E2g1sKU/XN4KKrV+LF317kaM2HQURWHqtsvoFHivsgf1S7qaOqRcTRI7IYQQIp1uRdxi3qlMjqN7ISkB/ugFQTv1pUzar4YKHxgvaBPbcTGEf2+HY2tlwfg25UwdTq4niZ0QQgjxBhEJEawIWMHvgb9nfBzdyxJjYcOncPOAfpJEx1+hTAvjBW5isYlJzNpxFYCB75birfz2Jo4o95PETgghhHiFLI+je1lCFKzvDHePgpU9dPkdSrxrhKjNg6IojN9ykYcR8RR1seOzd0uYOqQ8QRI7IYQQIg1ZHkf3srjnsK49PDgF1o7QbRMUe0Nduxzup2N3+Ov8QywtVCzs6IOtVc5d2zYnkcROCCGEeIlBxtG9LOYp/PoRhF4AWxfoviXXrCTxKiduPWXmTv0j2AnvladOiYImjijvkMROCCGEwIDj6F4WFaZP6h5dAXtX6PEnFK5syLDNTmhEPEPWn0WrU/iwahF61fcydUh5iiR2Qggh8jSNTsMfQX+wPGA5EQkRQBbG0b0sIhh++QCe3gBHD+jxFxTK3ctoJSRpGbjuDE+iEylX2JHZn1RGlYtWz8gJJLETQgiRZx0LPsbXp75OMY7ui1pfUL9I/ayd+NkdWPMBPL8Lzp7QcxsUyP2TB6b/fYVz957jZGvJd91rYG8taUZ2k6+4EEKIPOdWxC3mn5rPkeAjgAHG0b3syQ39nbrIYMjvDT3/BhdPA0Rt3jaeus+6f++hUsGSLtUoXjD3raCRE0hiJ4QQIs94MY5uQ+AGkpQkLFWWdC3flc98Psv8OLqXhV2BXz6EmEfgWlb/+NXJI+vnNXMXHjxn4l+XABjZrAyNy7qZOKK8SxI7IYQQud6rxtGNqjEKL2cvw3Ty8Dz8+jHEhYN7Zei+FRwKGebcZuxpdAKf/3qGxCQdzcq7MaRxKVOHlKdJYieEECJXM9o4upfdPwVr20FCBBSpDt02g30Bw53fTCVpdQz7/RwPI+Lxds3Hwk5VsbCQyRKmJImdEEKIXMmo4+heducorO8EidFQrB503Qi2BnismwPM33uNYzeeYm+tZmW3GjjZWpk6pDxPEjshhBC5SkRCBCsDVvJ74O/GGUf3shv74PdukBQH3u9Cl9/AOm9MGth1MYSVh28C8HX7KpQt7GjiiARIYieEECKXSNIl8ce1P1h2fpnxxtG9LHAn/NETtIlQuiV0/AWsbA3fjxm6HhbF6D8CABjQsATvVyli4ojEC5LYCSGEyPGOBR9j3ql53IzQ30Eyyji6l13aAlv6gy4Jyn8A7X4ES2vj9GVmIuM1fPbrGWIStdQrUZAxLXN30eWcRhI7IYQQOdZ/x9G52LgwpOoQ2pVpZ9hxdC87/xv8NQgUHVTuCB+tAHXe+HOq0ymM2hjArScxFHG2ZWnXaliqLUwdlnhJ3vhOFEIIkatk6zi6l51eDdtH6j+v3gPeXwwWauP1Z2ZWHL6J35UwrNUWrOhWg4IONqYOSfyHJHZCCCFyjDTH0b3ViFE1jTSO7mX+y2HPeP3ntT+DVnPAIu/crTp87THz9wYBMOOjivh4upg2IJEmSeyEEELkCNk+ju5l/8yHAzP0n789HJpNgzy0uP398FiG/XYORYEutYvRqVYxU4ckXkESOyGEEGbtdsRt5p+ezz8P/gGyaRzdC4oCB76CI/P1243Gw7tj81RSF5eo5bNfzxARp8HH04WpH1QwdUjiNSSxE0IIYbY2XdvEzBMzs3cc3QuKAnsngv9S/Xbz6fq7dXmIoihM2HqRKyGRFMxnzcpu1bGxzDtjCnMiSeyEEEKYHZ2iY8nZJay+tBqABkUbMKbWGOOPo0sOQAc7R8PpH/XbredBnQHZ07cZ+cX/LlvOBaO2UPFt12p4ONuZOiTxBpLYCSGEMCsJ2gQmHJ3Anjt7ABjoM5CBPgNRZdfjT50Wtg2F8+sAFXzwjX4GbB5z6k44M7ZfAWB863LUL+lq4ohEekhiJ4QQwmw8i3/G8IPDOffoHJYWlkytN5UPS32YfQFoNbBlAFzeAio1fPwdVOmQff2bibDIeAatO0uSTuH9Kh70fcfb1CGJdJLETgghhFm4G3mXQfsGcS/qHo5WjixuvJjaHrWzL4CkBPijNwTtAAsraP8jVMjGpNJMJCbpGLTuLI+jEijr7sjX7atk391SkWWS2AkhhDC5s2FnGX5wOM8TnlPUoSjLmy6nhEuJ7AsgMRY2dIOb+0FtA53WQpkW2de/GflqxxXO3H2Go60lK7vXwN5aUoWcRK6WEEIIk9p1excTjk5Ao9NQqWAlvm36La522TieKyEafusMd46AlT10+Q1KNMq+/s3IpjMP+MX/LgCLO1XF2zWfiSMSGSWJnRBCCJNQFIUfL/3IkrNLAGharCmzG8zGzjIbZ17GR8Da9vDgJFg7wqd/QPF62de/GbkUHMGErRcBGN60NE3Lu5s4IpEZktgJIYTIdhqdhq9OfMWW61sA6F6hO6NqjEKdneuuxobDrx9DyHmwdYHuW6Bojezr34w8i0nks1/PkJCko3HZQgxvWtrUIYlMksROCCFEtopKjGLUoVH4h/hjobJgbK2xdC3fNXuDiH4Ev3wIj66AfUHo8RcUrpy9MZgJrU5h2O/nCH4eR/GC9izuVA0LC5kskVNJYieEECLbhESHMGj/IG48v4GdpR1fN/yaRp6NsjeIiGD45QN4egMcCuuTOrdy2RuDGVnoF8SR60+ws1KzslsNnO2tTB2SyAJJ7IQQQmSLK0+vMGT/EB7HPcbVzpWlTZdSsWDF7A3i2V1Y0xae3wVnT31SV7Bk9sZgRnZfCmXZwZsAzGlXmfIe2bBUmzAqSeyEEEIY3eH7h/niny+IS4qjlEspljddjoeDR/YG8fSmPqmLDIb83tBzG7gUy94YzMiNR9GM/iMAgL7vePNh1aImjkgYgiR2QgghjOq3wN+Yc3IOOkVHXY+6LGy0EEdrx+wN4tFV/Zi66DBwLQM9toFTNieWZiQ6IYnPfj1NdEISdbwLMK513n0UndtIYieEEMIotDotC84s4NcrvwLwSelPmFh3IlYW2TyGKyQAfvkI4sLBvRJ0/xMcCmVvDGZEURRGbwzg5uMYCjvZsrRrdazUFqYOSxiIJHZCCCEMLi4pjvFHxrP/3n4AhlUbRr/K/bJ/aar7p2BtO0iIgCLVoNsWsC+QvTGYmZWHb7H7cihWahXLu1WnkKONqUMSBiSJnRBCCIN6EveEYQeGcfHJRawsrPjq7a9oU6JN9gdy5xis7wiJ0eBZFz7dCLbO2R+HGTly/THz9gQCMPWDilQvlt/EEQlDk8ROCCGEwdx6fotB+wcRHB2Ms40zSxovoYa7CYr+3jwAv3WFpDjwbghdfgfrvL081v3wWIb9dg6dAh1rvkXX2nl34khuJomdEEIIgzgZcpIRh0YQlRiFp6Mny5sux8vZK/sDCdoFG3uANhFKt4COv4BVNi5TZobiNVoGrjvDs1gNVd5yZvqHlbL/sbjIFjJaUgghRJZtu7mNz/Z9RlRiFFULVWVtm7WmSeoub4UN3fRJXfm20Gldnk/qFEVhwtZLXAqOpEA+a1Z0q4GtVTYu3SayldyxE0IIkWmKorAyYCXLA5YD0NKrJTPfmYmN2gQD8gN+hz8HgqKDyh3go5Wglj9za/+9x+azD7BQwbddqlHUJW8nurmd2d2xW7ZsGV5eXtja2lKnTh1Onjz52v2fP3/O4MGD8fDwwMbGhjJlyrBz585silYIIfIujVbDxGMTk5O6PpX68HXDr02T1J3+CbZ+rk/qqnWHj7+TpA44czec6X9fBmBsq3K8XcrVxBEJYzOr7/oNGzbg6+vLypUrqVOnDosXL6Zly5YEBQXh5uaWav/ExESaN2+Om5sbmzZtomjRoty9excXF5fsD14IIfKQiIQIfA/5cjL0JGqVmol1J9K+THvTBHNiBewep/+89gBoNRcszO6+RbZ7FBXPwLVn0WgV2lQuzICGJUwdksgGZpXYLVy4kP79+9O7d28AVq5cyY4dO1i9ejXjxo1Ltf/q1asJDw/n+PHjWFnpC156eXllZ8hCCJHnPIh6wKD9g7gdcZt8VvlY8O4C3i76tmmCObIQ9k/Tf15/GDSfDjIpAI1Wx+B1Z3kUlUBpNwe+bu8jkyXyCLNJ7BITEzlz5gzjx49PbrOwsKBZs2b4+/unecy2bduoV68egwcP5q+//qJQoUJ07dqVsWPHolanPTA0ISGBhISE5O3IyEgANBoNGo3GgO/of16c11jnFxkn18T8yDUxP2ldk0tPLjHinxGEx4fjbu/OkneXUCZ/mey/boqCxT9zUB9dAIC2wRfoGoyBpKTsjSObpffnZMaOQE7deYaDjSVLO/tgY6HIz5aRZMfvroyc22wSuydPnqDVanF3d0/R7u7uTmBgYJrH3Lp1iwMHDvDpp5+yc+dObty4waBBg9BoNEyZMiXNY2bPns20adNSte/duxd7e/usv5HX8PPzM+r5RcbJNTE/ck3Mz4trciXxCn/E/oEGDR5qD7pbdueG/w1ucCN7A1IUKj78nVKPdgFwuUhHbkRXhl27sjcOE3rdz8mpxyrW3tDf3OjslUDgqcOk/VdUGJIxf3fFxsame1+zSewyQ6fT4ebmxvfff49araZGjRoEBwczb968VyZ248ePx9fXN3k7MjIST09PWrRogZOTk1Hi1Gg0+Pn50bx58+RHxsK05JqYH7km5ufFNWnWrBkbb23kt7O/oaDwTpF3mP32bPJZmaDgr6LDYs841P+f1GlbzKZMrf6Uyf5ITOJNPydXQiIZu+okoGPQuyUY2axU9geZx2TH764XTxfTI9OJXXh4OAUKGG69PVdXV9RqNWFhYSnaw8LCKFy4cJrHeHh4YGVlleKxa/ny5QkNDSUxMRFra+tUx9jY2GBjk3rGlpWVldH/mGRHHyJj5JqYH7km5kWraFkYsJCN1zcC0KlsJ8bVHoelhQnuC+i0sG0EnF8LqKDtEtQ1epIXK7Kl9XPyPDaRIb8HEK/R8W6ZQoxqWQ61hYyryy7G/N2VkfNmetqQq6srnp6evP/++0yYMIGNGzcSFBSEoiiZOp+1tTU1atRg//79yW06nY79+/dTr169NI95++23uXHjBjqdLrnt2rVreHh4pJnUCSGESL9YTSzrY9az8fpGVKgYXXM0E+pMME1Sp9XAlv76pE6lhk++hxo9sz8OM6XVKQz//Tz3w+PwLGDHks5VJanLozKd2F28eJE5c+ZQoUIFTp06xeDBg6lQoQIODg7UqVMnU+f09fVl1apVrFmzhqtXrzJw4EBiYmKSZ8n26NEjxeSKgQMHEh4ezvDhw7l27Ro7duxg1qxZDB48OLNvSwghBPAo9hH99vUjKCkIG7UNCxotoGfFnqaZWZmUAH/0gkubwcISOvwEVTpmfxxmbMm+axy+9hhbKwu+61YTF3u5uZFXZfq/XRUrVqRixYp8+umngL76+O7duxk6dChNmzbN1Dk7derE48ePmTx5MqGhoVStWpXdu3cnT6i4d+8eFi/VJvL09GTPnj2MHDmSKlWqULRoUYYPH87YsWMz+7aEECLPu/bsGoP3DyY0JpR8qnwsa7qMGh41TBNMbDhsGQA3/EBtA51+hTItTROLmfK7EsY3B/QTWGZ/UpkKRYwzXlzkDAa7n65SqWjdujVr167l+++/z/R5hgwZwpAhQ9J87dChQ6na6tWrx4kTJzLdnxBCiP85Hnwc38O+xGhi8HLy4hPlE6q4Vsn+QJIS4OQq+OdriI8AK3vovB5KNs7+WMzYrcfR+G44D0Cv+l58XO0t0wYkTM7gpbnr1q3LwYMHDX1aIYQQRrb52mYG7R9EjCaGmu41+an5TxRQG26SXLooClzeCstqw94J+qTOrSL0/FuSuv+ISUjis1/PEJWQRC2v/HzZprypQxJmINN37BwcHKhcuTI+Pj5UqVIFHx8fypUrx6lTp4iKijJkjEIIIYxIp+j49ty3/HDxBwDeK/Ee0+tPR6XL5vF090/pk7n7/+q3HdyhyUSo+ilY5MW5r6+mKApjNl3k+qNo3BxtWNa1OtaWsoyayEJit2nTJs6fP8/58+dZsmQJN2/eRFEUVCoVM2bMMGSMQgghjCRBm8DEoxPZfWc3AJ9V+YzBVQejUqnQ6LJppYJnd2DfNLi8Rb9tZa9fHqz+ULBxyJ4Ycpgfj91lx8UQrNQqVnSrjpuTralDEmYi04ldq1ataNWqVfJ2bGwst2/fpmDBgq+sOyeEEMJ8PIt/xvCDwzn36ByWKkum1J/CR6U+yr4A4p7Dkfnw73egTQRU+rtzTSaAU5HsiyOHuRahYsWJawBMfr8CNYpn8+NyYdYMNnnC3t6eihUrGup0QgghjOhu5F0G7RvEvah7OFo5srDxQup61M2ezrUaOL0aDs2BuHB9m/e70OIr8DDBRI0c5OHzOH6+ZoFOgXbV36Jb3eKmDkmYmRy9pJgQQoiMO/foHMMODON5wnOK5CvC8mbLKelS0vgdKwoE7gC/yRB+U9/mWlaf0JVuDqaokZeDxGu0DPk9gJgkFRU8HJn5cSXT1BUUZk0SOyGEyEN2397NhKMTSNQlUrFgRZY2XYqrnavxOw4+C3snwd2j+m17V2j8JVTvCWr5U/QmiqIw+a9LXAyOxN5SYVmXqthayYQSkZr8NAkhRB6gKAqrL61m8dnFADT2bMycBnOwt7I3bscRD2D/dLiwQb9taQv1BsPbI8BWCumm128n77Px9AMsVNCztI638tuZOiRhpjKd2PXs2ZO+ffvSsGFDQ8YjhBDCwDQ6DTNPzGTz9c0AdCvfjdE1R6M2ZgmR+Eg4ughOLIekeH1blU7QZBK4eBqv31zo7L1nTNl2CQDfZqXxjL5q4oiEOct0YhcREUGzZs0oXrw4vXv3pmfPnhQtWtSQsQkhhMii6MRoRh8ezbGHx7BQWTCm1hg+Lf+p8TrUJsHZNXBoNsQ81rcVf1s/jq5odeP1m0s9jkpg0NqzaLQKLSu6M6CBF7t2SWInXi3T1Qz//PNPgoODGThwIBs2bMDLy4vWrVuzadMmNJpsqn0khBDilUJjQumxuwfHHh7DztKOxY0WGy+pUxS4tgdW1IcdvvqkrmAp/TJgvXZIUpcJGq2OIevPEhoZT8lC+ZjfwUcmS4g3ylKZ6kKFCuHr60tAQAD//vsvpUqVonv37hQpUoSRI0dy/fp1Q8UphBAiA64+vcqnOz7l+rPruNq58lOrn2hczEhLcoVehF8+hPUd4UkQ2BWA1l/DoBNQ7j2Z7ZpJc3YF8u/tcBxsLPmue00cba1MHZLIAQyy/khISAh+fn74+fmhVqtp06YNFy9epEKFCixatMgQXQghhEinfx78Q8/dPXkU94hSLqVY12YdFQsaoc5oZAj8ORhWNoDbh0FtrV8xYtg5qPMZqCURyay/zgfz49HbAMzv4EMpN1mBQ6RPpsfYaTQatm3bxk8//cTevXupUqUKI0aMoGvXrjg56Wc6bd26lT59+jBy5EiDBSyEEOLVfg/8ndknZ6NTdNT1qMvCRgtxtHY0bCcJ0XD8Gzj+LWhi9W0VP4FmUyC/l2H7yoOuhkQydvMFAAY1KkmrSrKak0i/TCd2Hh4e6HQ6unTpwsmTJ6latWqqfRo3boyLi0sWwhNCCJEeOkXHwtMLWXNlDQAfl/qYSfUmYWVhwLtmOi2cXwcHZkJ0qL7Nsw60mAmetQzXTx4WEafh87VniNfoaFDalVEtypo6JJHDZDqxW7RoER06dMDW9tULD7u4uHD79u3MdiGEECId4pLi+PLIl+y7tw+AodWG0r9yf8MOtL95QF9gOExfdoP8XtBsGlT4UMbQGYhOpzByw3nuPo2lqIsdSzpXQ20hX1uRMZlO7N59911sbGxStSuKwv379ylWrFiWAhNCCPFmt57fYtKxSVx4cgErCyu+evsr2pRoY7DzO8Y9QP1bJ7i1X99g6wLvjoFa/cAy9d8AkXnfHLjOgcBH2Fha8F33GhTIZ23qkEQOlOnEztvbm5CQENzc3FK0h4eH4+3tjVarzXJwQggh0nY/8j4rAlaw4/YOdIoOZxtnljReQg33GobpIPoRFvtn0DjwV1QoYGEFtftDwy/AvoBh+hDJ9l8NY/E+fSWJmR9XplJRZxNHJHKqTCd2iqKkeZs/Ojr6tY9nhRBCZF5IdAjfXfiOP2/8iVbR/we6abGm+NbwpZiTAZ6UJMaC/zI4thh1YjQAunJtsWg+DQqWzPr5RSp3nsQwYsN5ALrXLU77Gm+ZNiCRo2U4sfP19QVApVIxadIk7O3/t86gVqvl33//TXMihRBCiMx7HPuYVRdXsenaJjQ6fRH4BkUbMLjaYMOUMtHp9Ou5HpgBkcH6piLVOZavNXXbjcTCSkqXGENsYhKf/XqGqPgkqhdzYdL7FUwdksjhMpzYnTt3DtDfsbt48SLW1v8bA2BtbY2Pjw+jR482XIRCCJGHhceHs/rian4P+p0EbQIAdQrXYUi1IVR1q2qYTm4fgb0TICRAv+1cDJpNQVu2LeG7dhumD5GmWTuvEhQWhauDDSu61cDa0iDlZUUeluHE7uDBgwD07t2bb775BkdHA9dHEkIIQURCBGsur2Ht1bXEJcUBULVQVYZUG0IdjzqG6eTxNfCbDNd26bdtnKDBKKjzOVjZgiwPaVSHrz1m7Yl7ACzq5IO7kwxjElmXocTO19eXGTNmkC9fPlxcXJgyZcor9124cGGWgxNCiLwmRhPD2itrWXN5DVGaKAAqFKzAkKpDeKfoO4YpYRLzBA7NgdOrQdGCSg01+0CjcZDPNevnF28UEathzCb9HdKe9YrToHQhE0ckcosMJXbnzp1D8///gzt//vwr95NFioUQImPikuLYELiBHy/9yPOE5wCUcinFkGpDaOLZxDC/VzXx8O8KOLIQEiL1bWXbQPPp4Fo66+cX6TZl2yXCIhPwds3HuNblTR2OyEUylNi9eAz738+FEEJkTqI2kT+u/cEPF3/gSdwTALycvBhUdRAtvVpioTLAmCudDi5thv3TIOK+vs3DB1p8Bd4Ns35+kSE7L4bw5/mHWKhgQUcf7KzVpg5J5CKZLncihBAi8zQ6DX/e+JPvL3xPaIx+ea6iDkUZ6DOQ90q8h6WFgX493/WHPV/Cw7P6bcci0HQyVOkEFjJQP7s9iopnwtaLAAxsVJLqxfKbOCKR22T6N8fs2bNxd3enT58+KdpXr17N48ePGTt2bJaDE0KI3Ear07Lj9g5WnF/Bg+gHALjZu/FZlc/4uNTHWKkNVFbk6U3YNwWu/q3ftnaAd0ZA3cFgbf/aQ4VxKIrC+M0XeRarobyHE8ObljF1SCIXynRi991337F+/fpU7RUrVqRz586S2AkhxEt0io69d/ey/Pxybkfo19AuYFuA/pX706FsB2zUBlqeKzYcDn8Np34AnQZUFlC9BzT6EhzdDdOHyJQ/Tj9gf+AjrNUWLOrkI6VNhFFkOrELDQ3Fw8MjVXuhQoUICQnJUlBCCJFbKIrCofuHWHp+KdeeXQPA2caZPpX60LlsZ+ytDHT3LCkBTq6Cf76G+Ah9W6nm0GIGuMngfFO7Hx7LtL8vA+DbogzlCjuZOCKRW2U6sfP09OTYsWN4e3unaD927BhFihTJcmBCCJGTKYrC8YfHWXpuKZeeXgLAwcqBHhV70L18dxysHQzVEVz5S//Y9dkdfZtbRWj5FZRsYpg+RJbodAqj/wggJlFLzeL56d+ghKlDErlYphO7/v37M2LECDQaDU2a6H957N+/nzFjxjBq1CiDBSiEEDnNqdBTLD23lLOP9BMW7Czt6Fa+Gz0r9sTZxoCLu+u0sPMLOP2jftvBHZpMhKqfgoXMtDQXq4/d5t/b4dhbq1nQ0Qe1hZQEE8aT6cTuiy++4OnTpwwaNIjExEQAbG1tGTt2LOPHjzdYgEIIkVMEPA7g23Pf8m/IvwBYW1jTuVxn+lTqQ0G7gobtTBMHm/tB4HZApV8x4p2RYGOgO4HCIK6HRfH1niAAvmxTnuIF85k4IpHbZTqxU6lUzJ07l0mTJnH16lXs7OwoXbo0NjYGGgAshBA5xNWnV1l6fin/PPgHAEsLS9qVbkf/yv1xz2eECQux4fBbF7h/AtTW8MkqqPiR4fsRWaLR6vDdGEBiko6GZQrxaZ1ipg5J5AFZLpTk4OBArVq1DBGLEELkKDee3WB5wHL87voBoFap+bDUhwyoMoCiDkWN02nEA1jbDh4Hgo0zdFkPXu8Ypy+RJcsO3uBicAROtpZ83a6KrMokskWWErvnz5/z448/cvXqVQAqVKhA3759cXY24BgSIYQwM3cj77L8/HJ23d6FgoIKFW1KtGGgz0CKOxU3XsdhV/RJXdRDfaHhbpvAvaLx+hOZduHBc749cAOAGR9VorCzrYkjEnlFphO706dP07JlS+zs7KhduzYAixYtYtasWezdu5fq1asbLEghhDAHwdHBfBfwHdtubkOraAFoXrw5g3wGUSp/KeN2fueY/vFrQgS4loVum8HF07h9ikyJ12jx3RiAVqfwXmUPPvCRShEi+2Q6sRs5ciQffPABq1atwtJSf5qkpCT69evHiBEj+OeffwwWpBBCmFJYTBirLq5i8/XNJOmSAHj3rXcZXHUw5QtmQ424K3/B5v6gTQDPutDlN7AvYPx+RabM2xPEjUfRFHK0YcZHleQRrMhWWbpj93JSB2BpacmYMWOoWbOmQYITQghTehr3lB8v/ciGwA0k6vSz/+t61GVItSH4FPLJniD+/R52jQEUKPc+tPsBrOyyp2+RYf43n7L6mH5lkbntKlMgn7WJIxJ5TaYTOycnJ+7du0e5cuVStN+/fx9HR8csByaEEKYSkRDBz5d/Zt3VdcQlxQFQ3a06Q6oNoVbhbJospiiwfzocXajfrtkH2syX+nRmLCpew+g/AlAU6FzLkyblZAk3kf0yndh16tSJvn37Mn/+fOrXrw/oV5344osv6NKli8ECFEKI7BKdGM2vV37llyu/EK2JBqBSwUoMqTaE+kXqZ98jNa0Gtg2DgP9fj7vxRGg4GuSRnln7avtVgp/H8VZ+Oya+X8HU4Yg8KtOJ3fz581GpVPTo0YOkpCQURcHa2pqBAwcyZ84cQ8YohBBGFauJ5bfA3/jp8k9EJOjXWS2TvwxDqg6hkWej7B0jlRANf/SCG36gUkPbxVC9R/b1LzJl35UwNpy+j0oFCzr44GCT5WpiQmRKpr/zrK2tWbJkCbNnz+bmzZsAlCxZEnt7Ay1oLYQQRpagTeCPoD9YdXEV4fHhAHg7ezOo6iBaFG+BhcoiewOKfgzrO8DDc2BpBx3XQJmW2RuDyLDwmETGbbkIQL93vKlTwsCrjAiRARlK7Hx9fdO978KFCzMcjBBCZAeNVsPWG1v57sJ3PIp9BMBbDm8xqOog2ni3QW2KcWzht2HtJxB+C+wKQNeN4CnF382doihM/PMiT6ITKO3mwKgWZU0dksjjMpTYnTt3Ll37ydRuIYQ5StIlsf3WdlYGrCQ4OhgAd3t3Pvf5nA9LfYiVhZVpAnt4DtZ1gJjH4FIMum0B19KmiUVkyLaAh+y8GIqlhYqFHatiayWTW4RpZSixO3jwoLHiEEIIo9EpOnbf3s2KgBXcibwDQEHbgvSv0p/2ZdpjozbhGtc39sPGHpAYDYUrw6ebwLGw6eIR6RYaEc+kPy8BMLRJaSq/JasuCdOT0Z1CiFwtMDyQL49+yfVn1wFwsXGhb6W+dCrXCTtLE9eDC9gAfw0CXRJ4vwud1oKtk2ljEumiKApfbAogMj4Jn7ecGdS4pKlDEgKALI0MPnLkCN26daNevXoEB+sfa/z6668cPXrUIMEJIURWHLp/iB67enD92XUcrRwZUnUIu9vtplelXqZN6hQFji2BrQP0SV2l9vo7dZLU5Rhr/73HketPsLG0YEHHqlips3mijRCvkOnvxM2bNyevFXvu3DkSEhIAiIiIYNasWQYLUAghMkpRFH65/AvDDgwjLimOOh512PnJTj7z+Yx8VvlMG5xOB7vHg99k/Xa9IfDJKrCUFQpyijtPYpi14yoAY1uVo5Sbg4kjEuJ/Mp3YffXVV6xcuZJVq1ZhZfW/Acdvv/02Z8+eNUhwQgiRURqdhhknZjDv9DwUFNqXac+KZitwsXUxdWiQlACb+8C/K/TbLb6CljPBQu725BRancKoPwKI02ipV6Igvep7mTokIVLI9Bi7oKAgGjZsmKrd2dmZ58+fZyUmIYTIlMjESEYfGo1/iD8qVIyqOYoeFXqYx0z9+Aj4/VO4cwQsrOCjFVClg6mjEhn0/T+3OHP3GQ42lszrUAULCzP43hLiJZlO7AoXLsyNGzfw8vJK0X706FFKlCiR1biEECJD7kfdZ8j+IdyKuIWdpR1zG8ylcbHGpg5LLzIE1rWHsEtg7aCfJFHSTGIT6XY1JJKFfkEATG5bgbfyS0F+YX4yndj179+f4cOHs3r1alQqFQ8fPsTf35/Ro0czadIkQ8YohBCvde7ROYYfGM6zhGe42buxtMlSyhcsb+qw9B5f0xcejrgP+dyg2ybw8DF1VCKDEpK0jNxwHo1WoVl5dzrUeMvUIQmRpkwnduPGjUOn09G0aVNiY2Np2LAhNjY2jB49mqFDhxoyRiGEeKXtt7Yz+dhkNDoN5QuU59sm3+Kez93UYendPwnrO0LcMyhQErpvgfxepo5KZMKSfdcJDI2iQD5rZn9S2Twe7wuRhgwndpcuXaJSpUqoVComTJjAF198wY0bN4iOjqZChQo4OMjsICGE8SmKwvKA5awMWAlAE88mzG4wG3srM3k8FrgTNvWBpDgoWkO/RFg+V1NHJTLhzN1nrDysXxN95keVKORowoLWQrxBhhO7KlWqUKtWLfr160fnzp1xdHSkQoUKxohNCCHSlKBNYNKxSey6vQuA3hV7M6LGCCxUZjK79MzPsH0kKDoo3QI6/AzWJi6zIjIlNjGJURvPo1Pg42pFaV3Zw9QhCfFaGf4tePjwYSpWrMioUaPw8PCgZ8+eHDlyxBixCSFEKk/jntJ3T1923d6FpcqSqfWm4lvT1zySOkWBQ3Pg7+H6pK5aN+j8myR1OdicXYHceRpLYSdbpn5Q0dThCPFGGf5N2KBBA1avXk1ISAjffvstd+7c4d1336VMmTLMnTuX0NBQY8QphBDceHaDT3d+SsDjABytHVnZfCXtyrQzdVh62iR9Qndotn674RfwwVJQy8qNOdWR64/5xf8uAPM6VMHZzuoNRwhhepn+L26+fPno3bs3hw8f5tq1a3To0IFly5ZRrFgxPvjgA0PGKIQQHAs+Rvdd3QmODsbT0ZO1bdZSx6OOqcPSS4yFjd3h7BpABe8tgCYTQQbY51gRsRq++OMCAD3qFadB6UImjkiI9DHIs4tSpUrx5ZdfMnHiRBwdHdmxY0eWzrds2TK8vLywtbWlTp06nDx5Ml3H/f7776hUKj766KMs9S+EMC8bAjcweP9gojXRVHerzro26yjhbCb1MmPD4ZcPIWgnqG2g069Qq5+poxJZNPXvy4RGxuNV0J5xrcuZOhwh0i3Lid0///xDr169KFy4MF988QWffPIJx44dy/T5NmzYgK+vL1OmTOHs2bP4+PjQsmVLHj169Nrj7ty5w+jRo2nQoEGm+xZCmBetTsvck3P56t+v0CpaPij5AatarCK/bX5Th6b3/B6sbgkPToKtM/T4C8q3NXVUIot2XQxh67lgLFSwoGNV7K3lcbrIOTKV2D18+JBZs2ZRpkwZGjVqxI0bN/jmm294+PAhq1atom7dupkOaOHChfTv35/evXtToUIFVq5cib29PatXr37lMVqtlk8//ZRp06bJqhdC5BIxmhiGHRzG2qtrARhWbRhfvf0V1mprE0f2/0IvwQ/N4ck1cCoKffZA8Xqmjkpk0eOoBL7cehGAz98tSY3iZvKfCCHSKcP/DWndujX79u3D1dWVHj160KdPH8qWLWuQYBITEzlz5gzjx49PbrOwsKBZs2b4+/u/8rjp06fj5uZG3759ZYauELlAaEwog/cP5tqza9iobfjqna9o5dXK1GH9z+0j8HtXSIgEtwrw6SZwLmrqqEQWKYrC+C0XeBarobyHEyOalTF1SEJkWIYTOysrKzZt2sT777+PWq02aDBPnjxBq9Xi7p6yary7uzuBgYFpHnP06FF+/PFHzp8/n64+EhISSEhISN6OjIwEQKPRoNFoMhf4G7w4r7HOLzJOron5eXEtAsIC+OLYFzyJf0JB24IsbLiQyq6VzeZaqa78iXrbIFTaRHSeddF2WAt2LmAm8RlSXvs52XQ2mH1XH2GlVvH1JxVRKVo0Gq2pw0ohr12TnCA7rklGzp3hxG7btm0ZPcRooqKi6N69O6tWrcLVNX0V3WfPns20adNSte/duxd7e+NWrPfz8zPq+UXGyTUxL5cTLzNt/zQ0aHC3cKebdTfun7zPfe6bOjQASjzaS6XgdahQeOhSizMF+qE7eNzUYRldXvg5CU+AOQFqQEWrokncOnuEW6YO6jXywjXJaYx5TWJjY9O9r1mNCHV1dUWtVhMWFpaiPSwsjMKFC6fa/+bNm9y5c4e2bf83WFmn0wFgaWlJUFAQJUuWTHHM+PHj8fX1Td6OjIzE09OTFi1a4OTkZMi3k0yj0eDn50fz5s2xspI6SOZArol5URSFHy7+wG+XfgPgbY+3mf3ObByszGSJQkWHxcEZqIP14/20NfpSqMUsWlkY9qmFuckrPyc6nUKPn0+ToH1G9WIuzOtbC7WFeZaqySvXJCfJjmvy4uliephVYmdtbU2NGjXYv39/cskSnU7H/v37GTJkSKr9y5Urx8WLF1O0TZw4kaioKJYsWYKnp2eqY2xsbLCxSb3On5WVldF/SLKjD5Exck1MT6PVMN1/On/d/AuAzmU6M7bOWCwtzOTXU1Ii/D0ULmzQbzedjPodX9R5qEZdbv85WX30Nv/efoadlZqFHatia2MmE3ReI7dfk5zImNckI+c1k9+c/+Pr60vPnj2pWbMmtWvXZvHixcTExNC7d28AevToQdGiRZk9eza2trZUqlQpxfEuLi4AqdqFEObnefxzRh4ayemw01ioLGhj24YxNceYT1KXEAUbe8DNA6BSwwffQrVPTR2VMKAbj6KZu1s/hvvL98rj5SrLv4mczUx+e/5Pp06dePz4MZMnTyY0NJSqVauye/fu5AkV9+7dw8LCDNaEFEJkyZ2IOww5MIS7kXfJZ5WPOW/PIeJ8hKnD+p/oR7CuPYQEgJU9dPwFSjc3dVTCgDRaHb4bz5OQpKNhmUJ0q1PM1CEJkWVml9gBDBkyJM1HrwCHDh167bE///yz4QMSQhjUqdBTjDg4gsjESIrkK8LSpkvxcvBi5/mdpg5N7+lNWPsJPLsD9q7w6UYoWsPUUQkDW37wJhceROBka8nX7aqgykOP10XuZZaJnRAi99p6fSvT/aeTpCRRxbUKS5oswdXO1XzKNwSfgXUdIfYJuBSH7luhYMk3HydylIsPIvj2wHUAZnxUicLOtiaOSAjDkMROCJEtdIqOJWeXsPqSfhWZll4t+ertr7C1NKM/qNf3wcbuoIkFDx994WEHN1NHJQwsXqPFd+N5knQKbSoX5gOfIqYOSQiDkcROCGF0cUlxfHnkS/bd2wfAgCoDGFx1MBYqMxove349bBsKuiQo0Rg6/Qo2jqaOShjBgr1BXH8UjauDDV99VFkewYpcRRI7IYRRPYp9xNADQ7ny9ApWFlZMqz+NtiXbvvnA7KIocHQh7J+u367cET5cBpbmX/JCZNyJW0/54ehtAOa2q0yBfHKdRe4iiZ0QwmiCwoMYvH8wYbFhuNi4sKTxEqq7Vzd1WP+j08LucXDye/12/WHQbBrIzPtcKTohidF/BKAo0KmmJ03Lu7/5ICFyGEnshBBGcej+Icb8M4a4pDi8nb1Z1mQZnk6pi4abjCYetg6AK38BKmg1G+oONHVUwoi+2n6FB8/iKOpix8T3y5s6HCGMQhI7IYRBKYrCr1d+Zf7p+Sgo1PGow4J3F+Bs42zq0P4n7jn83hXuHgO1NXy8Eiq1M3VUwogOBIbx+6n7qFSwoKMPjrayaoPInSSxE0IYjEanYc6/c9h4bSMA7Uq3Y0LdCVhZmNEf0YhgfeHhR1fAxgk6rwPvhqaOShjRs5hExm7WLz/Z521v6pYoaOKIhDAeSeyEEAYRmRjJ6EOj8Q/xR4WKUTVH0aNCD/OacfgoENa2g8gH4FAYum2CwpVNHZUwIkVRmPjnJR5HJVDKzYEvWpY1dUhCGJUkdkKILLsfdZ8h+4dwK+IWdpZ2zGkwhybFmpg6rJTu+sNvnSH+ORQsDd23gIssIZXbbQt4yI6LIagtVCzs6IOtldrUIQlhVJLYCSGy5Pyj8ww7MIxnCc9ws3Pj26bfUqFgBVOHldLV7bC5LyTFw1u1oOtGsC9g6qiEkYVGxDP5r8sADG1SiipvuZg2ICGygSR2QohM23FrB5OPTSZRl0j5AuX5tsm3uOczoxIS90/BieVw5U9QdFCmNbRfDdb2po5MGJmiKIzdfIGIOA2VizozuHEpU4ckRLaQxE4IkWGKorAiYAUrAlYA0MSzCbMbzMbeygwSJq0Grm4D/+UQfPp/7TV6Q5v5oJZfe3nB+pP3OHztMdaWFizq5IOVWmoTirxBfsMJITIkQZvApGOT2HV7FwC9K/ZmRI0Rpl8eLDYczq6Bk6sgMljfpraGyh2gzufgUcW08Ylsc/dpDDN3XAVgTMuylHKTpeFE3iGJnRAi3Z7GPWXEwRGcf3weS5UlE+tOpF0ZE9d/e3IdTqyAgN9AE6tvy1cIavWDmn3Awc208YlspdUpjNoYQGyiljreBejztrepQxIiW0liJ4RIl5vPbzJ4/2CCo4NxtHZkYaOF1PWoa5pgFAVuHdQndNf3/q/dvRLUHQSV24OljWliEya16sgtTt99hoONJfM7+GBhYUbldoTIBpLYCSHe6HjwcUYdHkW0JhpPR0+WNl1KCecS2R+IJg4ubIATK+Hx1f9vVEHZ1vqEzusdMKe6eSJbBYZGsnDvNQAmv18BzwJmMOZTiGwmiZ0Q4rU2Bm1k1r+z0CpaqrtVZ3HjxeS3zZ+9QUSGwKkf4PRqiAvXt1k7QLVuUHsAFCyZvfEIs5OYpGPkhgAStTqalnOjQ823TB2SECYhiZ0QIk1anZb5p+ez9upaANqWaMvU+lOxVltnXxAPz+kft17aAjqNvs25GNT5TJ/U2blkXyzCrH2z/zpXQyLJb2/F7HaVzWvFEyGykSR2QohUYjQxjP1nLIcfHAZgaLWh9K/cP3v+WOq0cGWXvv7cPf//tRerB3UHQtn3pGSJSOHsvWcsP3QDgFkfV8bN0dbEEQlhOvLbUQiRQmhMKIP3D+bas2vYqG346p2vaOXVyvgdx0dS8tEuLJdPhIh7+jYLS6j4iT6hK1rd+DGIHCcuUcuojQHoFPioahFaV/YwdUhCmJQkdkKIZJeeXGLogaE8iXtCAdsCfNvkW6oUMnL9t6c34eT3WJ77lUqJMfo2uwL6UiW1+oGT/KEWrzZn11VuP4mhsJMt0z6oZOpwhDA5SeyEEAD43fXjyyNfEq+Np5RLKZY1XUYRhyLG6UxR4M5R/ePWoF2AggqItC2KfZNRWFbrClZ2xulb5BpHrz9hjf9dAL5uXwVneysTRySE6UliJ0QepygKqy+tZvHZxQC8U/Qd5jWch4O1g+E7S0qAi5v0EyLCLv6vvVRzkmp9xsGrMbSp9h5YyR9o8XoRcRq+2BQAQPe6xWlYppCJIxLCPEhiJ0QedjbsLIvOLOL84/MAdCnXhTG1xmBpYeBfDdGP9KVKTv0AMY/1bZZ2ULWrfrmvQmVQNBoI3GnYfkWuNe3vy4RExONV0J7xbcqZOhwhzIYkdkLkQTef32Tx2cUcun8IAFu1Lb41felSrothOwq9qC8mfHEjaBP1bU5FoXZ/qN4T7AsYtj+RJ+y+FMqWs8FYqGBBRx/sreVPmRAvyE+DEHlIaEwoKwJW8OeNP9EpOtQqNR+X/piBPgNxszfQmqo6LVzbox8/d+fI/9qL1tCvDlHhQ1DLo1aROU+iE5iwVf8Y/7N3S1KjuPznQIiXSWInRB4QmRjJjxd/ZN3VdSRoEwBoWqwpw6oPM9zSYAlRcH69fvzcs9v6NpVan8jVHQSetQzTj8izFEVh/JaLPI1JpFxhR0Y0K23qkIQwO5LYCZGLJWgT+D3wd76/8D2RiZEAVHerzsgaI6nqVtUwnTy7Cye/h7O/QkKEvs3WGWr0glr9wcXTMP2IPG/z2WD8roRhpVaxqFNVbCzVpg5JCLMjiZ0QuZBWp2XH7R0sPbeUkJgQAEo6l2REjRG8+9a7WV9BQlHg3gn949bA7aDo9O0FS+knQ1TtCtb5svguhPif4OdxTNt2GYCRzctQ3sPJxBEJYZ4ksRMiF1EUhaPBR1l8djHXnl0DwM3ejSFVh/BByQ9QW2TxDkdSIlz5U5/QPTz3v/YSjfWPW0s1AwuLrPUhxH/odApf/BFAVEIS1Yu58FnDkqYOSQizJYmdELnEpSeXWHhmIadCTwHgaOVIvyr96FquK7aWWVw7M+YpnPlJX64kSn8HELUN+HSCOgPBvUIWoxfi1db43+H4zafYWalZ0LEqaotsWLNYiBxKEjshcri7kXf55uw37L27FwBrC2u6lu9Kv8r9cLZxztrJH13VT4a4sAGS4vVtDu76sXM1e0M+1yxGL8SrKYrC3xdCmLMrEIAv25TD21Ue8QvxOpLYCZFDPYl7wsqAlWy+tpkkJQkVKtqWbMvgqoOzthSYTgc39+sft9488L92Dx+oOxgqfgyW1ll/A0K8xuWHEUzbdoWTd8IBeLdMIbrVLW7iqIQwf5LYCZHDxGhiWHN5DT9f/pm4pDgAGhRtwPDqwylboGzmT5wYAwG/w78r4Yl+fB4qCyj3nn78XLF6kNVJF0K8QXhMIvP3BvH7yXvoFLC1smDgu6X47N0SWZ/0I0QeIImdEDmERqth0/VNrAxYSXi8/i5GZdfKjKwxklqFs1AjLj4Cji6C0z9B/HN9m7UjVO8BdQZAfq8sxy7Em2i0OtaeuMsiv2tExicB8H4VD8a3KU9RFzsTRydEziGJnRBmTqfo2HtnL9+c+4b7UfcBKO5UnGHVhtG8ePOs3cV4cBo29YHnd/Xb+b30kyGqdgVbKSchssfR60+Y9vdlrj+KBqC8hxNT21agTomCJo5MiJxHEjshzNi/If+y6MwiLj/V1+8qaFuQgT4D+aTMJ1hZZGFZLp0O/L+F/dNBlwQuxaDlbCjbGrJaEkWIdLofHstXO66w53IYAPntrRjdsiydaxWTma9CZJIkdkKYoaDwIBadXcSx4GMA2Fva06tSL3pW6Im9lX3WTh79GP78HG7s029X+AjaLgE7l6ydV4h0ik1MYvnBm3x/5BaJSTrUFiq61y3OyGZlcLaXdYSFyApJ7IQwI8HRwSw9t5Qdt3agoGCpsqRD2Q58VuUzCtoZ4LHUrUOwZQBEh4GlLbSao1/6Swali2ygKArbAh4ye2cgoZH68jlvlyrI5PcrUrawo4mjEyJ3kMROCDPwPP4531/8nt8Df0ej0wDQyqsVw6oNw9PJAGutapPg0Gw4sgBQoFA5aP+TFBYW2eZScARTt13m9N1nALyV346J71WgZUV3me0qhAFJYieECcUlxbHu6jp+vPgj0Rr9wPE6heswssZIKrpWNEwnz+/D5n5w/4R+u3pP/Z066yw+0hUiHZ5EJzB/TxAbTt9HUcDOSs3gxiXp16AEtlYynlMIQ5PETggTSNIl8deNv1h+fjmP4h4BUK5AOUZWH0m9IvUMdwfj6t/w1xB9GRMbJ2i7GCq1M8y5hXgNjVbHL/53WbzvGlH/X77kw6pFGNe6HB7OUr5ECGORxE6IbKQoCgfvH2TJ2SXcirgFQFGHogypNoQ23m2wUFkYpiNNPOydCKdW6beLVIf2q6GAt2HOL8Rr/HPtMdO3X+HG/5cvqVjEiakfVKSWVwETRyZE7ieJnRDZ5Nyjcyw6s4hzj84B4GLjwoAqA+hUthPWagMu0fXkOvzRG8Iu6rfrD4Umk2UZMGF0d5/GMGP7VfZd1ZcvKZDPmi9alqVjTU8pXyJENpHETggju/X8FovPLubg/YMA2Kpt6V6hO70r9cbR2oAzARUFAn6DHaNBEwP2BeHj76B0c8P1IUQaYhKSWHrwBj8euU2iVoelhYoe9bwY3qw0znZSvkSI7CSJnRBGEhYTxoqAFWy9sRWdosNCZcHHpT5mUNVBuNm7GbazhCjYMQoubNBvezeEj78HJw/D9iPESxRF4c/zwczeGcijqAQAGpR2ZUrbCpRyk/IlQpiCJHZCGFhkYiQ/XfqJtVfWEq/V1+pq4tmE4TWGU8K5hOE7fHgeNvWG8FugsoDGX8I7vrKChDCqCw+eM3XbZc7eew5AsQL2THyvPM0rSPkSIUxJEjshDCRRm8hvgb+x6uIqIhIiAKjmVg3fGr5Udatq+A4VBf5dCX6TQZsITm9Bux+geD3D9yXE/3sclcC8PYH8ceYBigL21moGNy5F33e8pXyJEGZAEjshskin6NhxawdLzy3lYcxDAEo4l2BE9RE08mxknLsXseHw5yC4tku/Xe59+OBbsJdZh8I4EpN0rDl+h2/2XycqQV++5ONqRRnbqhyFnW1NHJ0Q4gVJ7ITIJEVROPbwGIvPLCboWRAAbvZuDKk6hLYl22JpYaQfrzvH9AWHox6C2hpazITa/WVZMGE0h689Ztbua9x6HANA5aLOTP2gIjWK5zdxZEKI/5LETohMuPzkMgvPLORk6EkAHK0c6Vu5L13Ld8XO0kjFV3Va+Gc+HJ4Dig4KltIvC+ZRxTj9iTzvztMYvg+04LK/vkSPq4M1Y1qWo32Nt7CQ8iVCmCVJ7ITIgHuR9/jm3DfsubMHACsLK7qW60q/yv1wsXUxXseRD2Fzf7h7VL/t0xXazAMbB+P1KfKs6IQkvj1wndVHb6PRWmBpoaL3214MbVoaJ1spXyKEOZPEToh0eBr3lJUBK9l0bRNJShIqVLQt2ZbBVQdTxKGIcTu/tgf+HAixT8EqH7y/EHw6G7dPkSfpdApbzgUzd3cgj/+/fEl5Fx2LejSgXBEX0wYnhEgXSeyEeA1FUdh6YytzT84lNikWgHeKvsOI6iMoW6CscTtPSoT908B/qX67cBX9o1fXUsbtV+RJ5+/ry5ecv/8cAK+C9oxvXZa4G6coWSifaYMTQqSbJHZCvEKsJpaZ/85k281tAFQqWImRNUZS26O28Tt/ehM29YGQ8/rtOp9D8+lgaWP8vkWe8igqnq93B7HpzAMA8lmrGdq0NL3f9sJC0bHzpokDFEJkiCR2QqTh1vNb+B7y5WbETSxUFgytNpQ+lfpgobIwfucXN8HfIyAxCuzyw4fLoVwb4/cr8pTEJB0/HbvNtwduEP3/5Us+qV6Uca3K4eakL1+i0ehMGaIQIhMksRPiP7bf2s50/+nEJcVRyK4QcxvOpVbhWsbvODEGdo2Bc2v128Xq6wsOOxc1ft8iTzkQGMaM7Ve5/URfvsTnLX35kmrFpHyJEDmdJHZC/L8EbQJzTs5h07VNANTxqMOcBnNwtXM1fuehl/TLgj25Bqjg3THQcAyo5UdUGM7Nx9HM2H6FQ0GPAXB1sGFsq7K0qy7lS4TILbLhuVLGLVu2DC8vL2xtbalTpw4nT5585b6rVq2iQYMG5M+fn/z589OsWbPX7i9EWu5F3qPbzm5surYJFSoG+gzku2bfGT+pUxQ49QOsaqJP6hw9oOc2/XqvktQJA4mK1zBzxxVaLvqHQ0GPsVKr+KxhCQ6OfpcONT0lqRMiFzG7vxwbNmzA19eXlStXUqdOHRYvXkzLli0JCgrCzc0t1f6HDh2iS5cu1K9fH1tbW+bOnUuLFi24fPkyRYvKIyzxZn53/Zh8bDLRmmgK2BZgdoPZ1C9S3/gdxz2DbcPgqn5yBqVbwEcrIF823CEUeYJOp7DpzAO+3hPIk+hEAJqUc2Pie+UpUUhqIAqRG5ldYrdw4UL69+9P7969AVi5ciU7duxg9erVjBs3LtX+69atS7H9ww8/sHnzZvbv30+PHj2yJWaRMyUpScw7M4/fgn4DoLpbdb5u+DXu+dyN3/n9k7CpL0TcAwsraDYV6g4CC7O8iS5yoLP3njFt22UCHkQAUMI1H5Per0Djcqn/gyyEyD3MKrFLTEzkzJkzjB8/PrnNwsKCZs2a4e/vn65zxMbGotFoKFBAFkMXr/Yw5iE/RP/AgyB9iYfelXoztNpQrCyMXFVfp4Nji+HAV6BoIb8XtF8NRWsYt1+RZ4RFxjN3VyBbzgUD4GBjybCmpehV3xtrS/mPgxC5nVkldk+ePEGr1eLunvKOibu7O4GBgek6x9ixYylSpAjNmjVL8/WEhAQSEhKStyMjIwHQaDRoNJpMRv56L85rrPOLjPkn+B8mH59MpDYSJysnptWbxrtvvQta0GiNeI2iw1BvG4TF7cMA6Cp8jLbNQrBxBPnekJ+TLEpI0vHz8bssP3yL2EQtAO2qF2FUs9IUcrQBRYtGo83QOeWamB+5JuYnO65JRs5tVoldVs2ZM4fff/+dQ4cOYWtrm+Y+s2fPZtq0aana9+7di729vVHj8/PzM+r5xetpFS374vdxJOEIAEXVRels25mYCzHsvLDTqH0XirxI9bvfYZUUSZLKmoue3bln3RD2HzFqvzmR/Jxk3KVwFVvvWPAkQT8JwstB4RNvLcVt7nHqyL0sn1+uifmRa2J+jHlNYmNj072vWSV2rq6uqNVqwsLCUrSHhYVRuHDh1x47f/585syZw759+6hSpcor9xs/fjy+vr7J25GRkXh6etKiRQucnJyy9gZeQaPR4OfnR/PmzbGykgW0TeFx7GPGHRvHuYhzAHQs1ZEKjyvQukVr414TrQaLw7NRn/sGAMWtAsrHP1DJtQyVjNdrjiQ/JxkXr9EyfUcgfwTpH7u6OdrwRYvSfFDFwyAzXeWamB+5JuYnO67Ji6eL6WFWiZ21tTU1atRg//79fPTRRwDodDr279/PkCFDXnnc119/zcyZM9mzZw81a9Z8bR82NjbY2KRelsnKysroPyTZ0YdIzf+hP+OOjCM8Ppx8VvmYVn8aTYo2YefOnca9Js/uwua+8OCUfrtmX1QtZ2JlZWec/nIJ+TlJn3tPYxm47gyXH0aiUsGABiUY2rQ0DjaG/7Uu18T8yDUxP8a8Jhk5r1kldgC+vr707NmTmjVrUrt2bRYvXkxMTEzyLNkePXpQtGhRZs+eDcDcuXOZPHky69evx8vLi9DQUAAcHBxwcJDp/HmZVqfl+wvfsyJgBQoKZfOXZUGjBRR3Km788SlX/oK/hkJCBNg4w4ffQoUPjdunyDP2Xw1j5IbzRMYnUSCfNd90rsY7paVMjhDCDBO7Tp068fjxYyZPnkxoaChVq1Zl9+7dyRMq7t27h8VLJSFWrFhBYmIi7du3T3GeKVOmMHXq1OwMXZiRp3FPGXdkHCdCTgDQrnQ7xtUeh61l2mMvDUYTB3u+hNOr9dtv1YJ2P0L+4sbtV+QJWp3CQr8glh28CUC1Yi4s61qdIi5yF1gIoWd2iR3AkCFDXvno9dChQym279y5Y/yARI5yJuwMYw6P4VHcI+ws7ZhUdxJtS7Y1fsePAvXLgj26ot9+ZyQ0ngBqeVwisu5JdALDfz/HsRtPAehV34sv25SXEiZCiBTMMrETIjN0io6fLv3Et+e+RatoKeFcgoWNFlLSpaRxO1YUOLcWdn4BSXGQrxB8/B2UamrcfkWecebuMwavO0toZDx2VmrmtKvMh1VlZR0hRGqS2IlcISIhgglHJ3D4gb5G3Psl3mdS3UnYWxm3hA3xkbB9JFzapN8u0Vif1Dlmw+oVItdTFIU1x+/w1Y6rJOkUShTKx8puNSjj7mjq0IQQZkoSO5HjXXh8gdGHRxMSE4K1hTXj64ynXel2qFRGXtg8+Kz+0euzO6BSQ9NJUH+4LAsmDCImIYlxWy7yd8BDAN6r7MHc9lWMMutVCJF7yG8IkWMpisL6wPXMPz2fJF0SxRyLsaDRAsoVKGfcjnU6OLEc9k39v/buPD6q6u7j+GcmyUxCSEhC2AIhEBCQnYRFBAtVEKuidkGFimgRW5aigCgCyiqhoBZFCsWtPk+xuKFPVcoiLVhlUQgIyCaEBFQCBALZIDOZOc8fEwKRBEggmcnk+3698jJz5tx7f8Mx5Mu5954LbifUagy/eR1iu1bscaXa2H8shz/8fQv7j+UQaLXw9O3X87seTSr+HysiUuUp2EmVlO3IZsr6KaxO86z03TeuL9NunEaYrYJPUeVmwEfD4btVntfX3wV3zYeQiIo9rlQbn2z/kafe306uw0XdMDsLfptAlyZ69rWIXBkFO6ly9pzcw7i14ziUfYhAayBPdH6CQa0GVfxsxsHP4YNhkJMOAXa4LQk6/w40iyLXgNPlJmn5Ht748iAA3eNr8/LATp7nvIqIXCEFO6kyjDF88N0HJG1KwuF2EBMaw/O9nqddnXYVe+CCfPjvC7BuDmAguiUMeBPqtanY40q1kX76LKPeTmZzWiYAw3s3Y1zfFgQG6HpNESkbBTupEvKceczYOINPUj4BoFejXjzX8zlq2WtV3EFzjnsWGv76Ncg95mnrNBh+8SewhVbccaVaWb8/g9FLt5KR4yAsOJAXBnTg1jaXfja2iEhpFOzE5x04dYCxa8eScjqFAEsAoxNG81Cbh7BaKmg2I30HbFwEO94Fl8PTFtYAbp0J7X5z6W1FrpDbbVj0+QGeX7kXt4FW9cNY9EAiTaL1jwYRKT8FO/FpHx/4mBkbZ3Cm4Ax1Q+oyp9ccEuslXvsDuV2wb6XnbtfU/55vb5gIN4zwPOdVT5CQa+T0GSfj3v2Gz3YfBeDXCY2YeU9bQmwBXq5MRKo6BTvxSWcLzjL7q9l88N0HANzQ4AZm3zSb2iG1r+2B8rNhy7uwaRFkei5axxLgCXI3jIDYLtf2eFLtffvjaUYsSSbtRB62ACvT7m7D/V1itZSJiFwTCnbic9Ky0hi3dhx7M/diwcLwDsN5tP2jBFiv4WzGqTTafL+EwPkjPeEOIDgCEh+CrsOgVqNrdyyRQu9tPszkj3aSX+CmYUQICx9IoH2jCG+XJSJ+RMFOfMrK1JVMWT+FXGcuUcFRzL5pNt1jul+bnRsDaeth418I3Luc5sbtaa99HdwwHDrcr5sipEKcdbqY9vG3/OOrwwD0blmHefd1JKKGzcuViYi/UbATn+BwOXhh8wu8vedtABLqJjC311zq1qh79TsvyIedyzzXz6VvB8ACHA1rR+07JhPY4lY9BkwqzOGTeQxfsoWdP2RhscDYPi0Y+fPmWK069Soi156CnXjdDzk/8MTaJ9h5YicAQ9sOZVSnUQRar/J/z5KWKwkMgQ7340x8hI1fH+D2Zrco1EmF+c+eYzz+zjZOn3ESWSOIlwd24qbr6ni7LBHxYwp24lVrD69l0heTyHJkEW4LJ+mmJH7W6GdXt9MSlyuJ8Vw7l/gQ1IgCpxM4cJXVi5TM5Ta89Nk+Xv73fgA6xEbwl98m0DAixMuViYi/U7ATr3C6ncxPns+b374JQPvo9sztNZeYmjHl26GWKxEfcTLXwWNLt/Lf7zIAeLB7HJPuuB57oJYyEZGKp2Anle5o7lGe/PxJko8lA/DA9Q8wNnEsQeUJXmezYNuSwuVKUj1tWq5EvGTroUxGLknmx9NnCQkKIOlX7binU0NvlyUi1YiCnVSq9T+sZ8J/J5CZn0nNoJpM7zGdvnF9y76jkwfhq8WQ/L/g0HIl4l3GGP6+MY3pn+zC6TLER4ey8IFEWtYP83ZpIlLNKNhJpXC5XSzavoi/fvNXDIZWUa14odcLNA5vfOU7MQbSvoSNC2HPp4DxtEe3gG5/0HIl4hV5jgImLtvBR9t+BOAXbesz5zftCQvWqX8RqXwKdlLhMs5kMOG/E9h0ZBMAA1oM4KmuT2EPsF/ZDgryYecHhcuV7Djf3ryPZ/25+Jt1Z6t4xYHjOQz/+xb2Hc0hwGrh6V+0YmjPpnqKhIh4jYKdVKjN6Zt58vMnOX7mOCGBITzb/VnujL/zyjbOOVa4XMnrxZcr6TjQM0NXp2XFFS5yGf/acYTx728nJ7+AumF2XhmUQNemUd4uS0SqOQU7qRBu4+aNnW8wf+t83MZNs1rNeLH3i8RHxF9+4yPbPTdD7Hjv/HIl4Q09184lDPEsVyLiJU6Xmz/9aw+vfeF5tnC3plHMH9SJumHBXq5MRETBTirAqbOnmPjFRP77g2fZkf7x/Zl8w2RqBNUofSO3C/at8Fw/d+FyJY26eE63Xn+XlisRrzuadZZRbyfzdWomAL/vFc/4W1sSGKBLAUTENyjYyTX1zfFveGLdE6TnpmMPsDOx20R+2fyXpV9zVNpyJW3ugW7DtVyJ+IyNKScY9fZWMnLyCbMHMndAB25rW9/bZYmIFKNgJ9eEMYa/7/47L25+kQJTQFx4HC/0eoGWUaVcB1faciWdH4Yuw6CW1v4S32CMYfHnKcxZuReX29CqfhgLH0ikabTuwBYR36NgJ1ftdP5ppq6fymeHPgPg1rhbmXbjNGraahbveKnlSm4YDu3vB9slTteKVLKss06eePcbVu06CsCvEhry3D3tCLHpKRIi4psU7KTcjDGsTFvJ7E2zOXH2BIHWQMZ3Hs/AVgOLn3rVciVSBe0+ksXwv28h9UQetgArU+9qw8CusVrKRER8moKdlEt6bjozN85k3ffrAGhaqymzes6ibXTb852Klit5DXKPe9oCQ6DjoMLlSlp4oXKRy1uW/D0TP9zBWaebhhEhLHwggfaNIrxdlojIZSnYSZm43C6W7l3Ky8kvk1eQR6A1kGHthvFIu0ewBdg8nUpdruRRSHhQy5WIz8ovcDH9410s2XQIgF4t6jDvvo5Ehtq8XJmIyJVRsJMrti9zH9PWT2N7xnYAOtbpyNQbp9IsoplnuZI9n5awXEnXwuVK+mu5EvFp32fmMWJJMtu/P43FAo/f0oI/3twcq1WnXkWk6lCwk8vKd+Xz12/+yps736TAFBAaFMqYhDEMaDkAqzGw7W1Y96fzy5VYA6H1PZ5A16izN0sXuSJr9x7j8Xe2cSrPSUSNIF66vxO9WtTxdlkiImWmYCeX9HX610zfMJ3UrFQAbo69mYndJlIvtB4c+A+sfub8DREhkZD4MHR5RMuVSJXgchteXvMdL//7O4yBDo1qseC3CTSK1N3ZIlI1KdhJiU7nn+bPW/7MB999AECdkDpM7DaRPnF94Ogu+HAk7F/t6WyvBT8b51l/TsuVSBVxMtfB4+9s4/N9nht7HrihMc/c2Rp7oJYyEZGqS8FOijHGsCptFUmbkjhx9gQAA1oM4PHExwnPz4N/joat/wvG7Tnl2mUY9HpSN0RIlfLN4VOMWJLMD6fOEBxkZdYv2/GrhEbeLktE5Kop2EmR9Nx0ntv4HGu/Xwt4ljCZ0n0KiZGtYP0r8OVL4Mz1dL7+LugzFWo381q9ImVljGHJpkNM/3gXDpebptGhLHwggVb1w71dmojINaFgJ7jcLt7Z+w4vJb9UtITJI+0eYVib32Hb8R787yDISfd0btgZ+j0HjW/wbtEiZXTG4WLShztYtvUHAPq1qcfcAR0ID9bd2iLiPxTsqrnvMr9j6oapbD/uWcKkQ50OTO0+leYnUuHVW+DYt56OEXHQd5rnbletvC9VzMGMXIb/fQt70rMJsFp46raWDLspXk+REBG/o2BXTeW78lm8fTFv7HyDArdnCZPHEx7n3lqtsX4yHg7829MxOMJzDV2XRyDQ7tWaRS6nwOXmcOYZUo7ncDAjlwPHc0k5nsP2709zxukiuqadVwZ14ob42t4uVUSkQijYVUOb0zczbcO0oiVMfh77cya2GUr9jYth6x8AAwE2z5MibhqnGyPEpxhjOJHrIOV4Lgczckg5XhjgMnI4dCKPArcpcbuuTaJ4ZVAn6oYHV3LFIiKVR8GuGslyZPHi5heLljCJDolmYsIY+qRtx/JqPyg44+nY5ldwy7MQ1dSL1Up1d9bp4mBGbvEAl5HLweM5ZJ0tKHW74CArTaNrEh8dSnwdz1ezOjVpG1NLT5EQEb+nYFcNGGNYnbaapK+SyDiTAcBvmv+aMYH1CP9wHOQe83SMvQFunQmxXbxYrVQnbrfhx9NnSDmey/6jWfznoJV3/7aF1BN5/Hj6DKbkyTcsFmgYEULTaE9oi68TSnx0TZrWCaVBeLACnIhUWwp2fi49N53nNj3H2sNrAWgSHseU2NvpvOktOL7H0ykqHvpM8zzPVReTSwU4fcZZdN1bSuFpU89MXC75Be4LelqBE0WvaoUEEV8n9HyAiw6laZ1QmtQOJThICwmLiPyUgp2fcht30RImuc5cAi2B/K7pHTyashX7J097OoVEQe8JnseABdq8W7BUeY4CN4dO5hWGt5yiAHcwI5eMHEep2wUFWIirHUqTqBBM1lFu6dqO6+qHEx8dSlSoTXeuioiUgYKdH9qfuZ+pG6byzfFvAGgf2YqpjmCuW/MKnhsj7HDDH6DnWAiJ8GqtUrUYYzienU/KuZm34zmkZHhm3g6dzMNVyo0LAPXC7TSNDiW+cOatWZ2aNI0OpVFkCIEBVpxOJ8uXL+f2xIYEBWltORGR8lCw8yMOl4PF2xfz+s7XKXAXUCMwhMdCW3Lf9lUEFJz1dGo3AG5+BiLjvFus+LQ8R8H506YXzLwdPJ5Ldn7pNy7UsAUUC28XXvtW066/bkREKpr+pvUTW45uYer6qUVLmPSu2ZRJB3dRP+efng5xPTw3RjRM8F6R4nOcLjff/pjFtkOZ7L/gGrgjp8+Wuo3VArFRNTwBLvrcjQueMFcv3K5TpyIiXqRgV8VlObL485Y/8/6+9wGoHVSTp0+f5daD67AA1L4O+k6Hlr/QjRFC1lknWw+dYnPqSTanZrLt8CnOOF0l9o0KtRWGt8IZuMIA17h2DeyBunFBRMQXKdhVYZ+lfcasTbM4fuY4AL82oYzZv5tabgM1akPvpyHxIQjQ9UrV1Q+nzhSFuM1pmexJz7poCZGIGkEkNI6kVf0w4guve2tWJ5SIGrqhRkSkqlGwq4KO5h5l1qZZ/Puw57FfTSzBPPtjGl3O5kNgMNw4Ano+DsG1vFuoVCqX27AnPYstaZl8nZrJltST/FjCKdW42jVIjIukS5MoOsdF0qxOTa37JiLiJxTsqhC3cfPe3veYlzyPHGcOgVh4+HQ2v888hN1YoMNAuHky1Grk7VKlEuQ5Cth2+BSbUzP5OvUkWw+dIucnNzYEWC20jQknMS6KLk0iSYyL1CO1RET8mIJdFXHg1AGmbZjG1mNbAWjvcDHl2DFaOJ3Q9GfQdwbEdPRukVKhjmWfZUtq4Wxc2kl2/ph10fIiNe2BdGocUTQb17FxBDVs+jEXEaku9De+j3O4HLy24zVe3fGqZwkTA6NPnuT+rBwC6rTyBLrr+urGCD/jdhsOHM9hc5pnNm5LWiZpJ/Iu6tegVjCdm5yfjWtVP5wAnVYVEam2FOx8WPLRZKZtmEbK6RQAeuWdYXLGSeoH14Y7Z0KnwRCgIfQHZ50udvxw2nOTQ+pJthzK5FSes1gfiwVa1gvzzMY1iaRzkygaRoR4qWIREfFFSgU+KNuRzbwt83h337sA1C5wMeFkJv3yDZYe46DHaLCHeblKuRqZuQ7PTQ5pJ9mSmsn270/jcLmL9QkOstIx1nNaNTEukoS4SMKDdYeziIiUTsHOx6xJW8OsjTM5djYDgF9l5zD25ClqdRgEP58E4TFerlDKyhhD2ok8Nqd5ZuM2p2Wy/1jORf2ia9rpHBdZNBvXJiacoACrFyoWEZGqSsHORxzLO8asjTNZc/g/AMQ5nUzJOEmXmBvhNzOgfjsvVyhX6tzTHC5cPy4jJ/+ifs3qhBbNxnVpEkVc7Rp6aoOIiFwVBTsvcxs37+99jz9vnkuOK59AY3j4dBaPBsUQ/JtXoHkfb5col3ElT3OwBVhp16iWZzYuzhPmokK1ALCIiFxbCnZelHIqhWlrnyD59HcAtDubz5Q8Ky17zYSOvwWrHtvki67kaQ61QoIKT6t6bnRo17AWwUEaTxERqVg+GewWLFjA3LlzSU9Pp0OHDsyfP5+uXbuW2v+9997jmWeeITU1leuuu44//elP3H777ZVYcdk4XA5e/2our+57ByeGELebx7LOcH/7YQT0GA22UG+XWOUYY3Abz2lQl9tQ4DYUFPveUOD2vHa6DPkOJ6nZsDktEywBnna3G5ersH9h33Pb5eS7+OawZ1aupKc5NI6qUTQb16WJnuYgIiLe4XPB7p133mHs2LEsWrSIbt26MW/ePPr168fevXupW7fuRf3Xr1/PwIEDSUpK4s477+Ttt9/mnnvuITk5mbZt23rhE1za1kPrmPr5BFJcnovnf5Z3hskNbqbBb6ZDWH2v1maMweFyk1/gJt/pJr/ARX6BG0fBuTbP6/NtrqJ2h8uN02UKw5CbArcpClEut/uCcOV57XSbUkNUadu63MXD2bnX5/ZbdoGw8+sybxVgtdAmJpzOcYXLjuhpDiIi4iN8Lti9+OKLDBs2jIcffhiARYsW8emnn/LGG28wYcKEi/q/9NJL3HbbbYwfPx6AGTNmsHr1al555RUWLVpUqbVfisOVRdIng3gvaw8AUS4XTwfF0u9Xf8ZSrzXGGJwXhqULw5OzMFgVuM6HrAvaHT/Z7lzQunC7ovfOvX/h6wsCnL+xWiDQaiUwwEKA1UKg1UJggJUACzjyzxJeM5TAAGthu4UAa+H3F7wOsloICrByfYNwujSJpENsBKF2n/vRERER8a1g53A42LJlC08//XRRm9VqpU+fPmzYsKHEbTZs2MDYsWOLtfXr14+PPvqoxP75+fnk55+/QzErKwsAp9OJ0+kscZurteD9p/kobwUnAj2n5m7JseA8PZhn3J15cuFh8gvScLjcF12n5W22QCv2n3zZAqzYgqzYAwOKXtsDrdgCPeEpsDAYBVgtBBWGqQCrhSCr9fz3Pw1ZVgtB1gv6FradD1fF93tuu6LXAZYL3iver7TToU6nk9WrV9O3bzeCgsq6NpypsP9XqrNzf6b6s/UdGhPfozHxPZUxJmXZt08Fu4yMDFwuF/Xq1SvWXq9ePfbs2VPiNunp6SX2T09PL7F/UlIS06ZNu6h91apV1KhRo5yVX9rOUxs4UcNCjNNNzJHu/DP3btxYAUep2wRaDIFWCLRCkAWCCr8PLPreeP5rKexzQd/AK33/J++d23eQFQIs1+ApZe7CrzIwXOpP5dpbvXp1JR5NroTGxPdoTHyPxsT3VOSY5OVd/EjJ0vhUsKsMTz/9dLEZvqysLGJjY7n11lsJDw+vkGNG72pA5Ppn6Zkwh7AedXikaKbLM+tlD7IWm/0KCrDqwvsKdn7Grm85ZuykImhMfI/GxPdoTHxPZYzJubOLV8Kngl10dDQBAQEcPXq0WPvRo0epX7/kGwvq169fpv52ux273X5Re1BQUIUNSNfWnchIHc7tCdfrB9HHVOS4S/loTHyPxsT3aEx8T0WOSVn261PPK7LZbCQmJrJmzZqiNrfbzZo1a+jevXuJ23Tv3r1Yf/BMh5bWX0RERMRf+dSMHcDYsWMZMmQInTt3pmvXrsybN4/c3Nyiu2QffPBBGjZsSFJSEgCPPfYYvXr14oUXXuCOO+5g6dKlbN68mcWLF3vzY4iIiIhUOp8Ldvfddx/Hjx/n2WefJT09nY4dO7JixYqiGyQOHTqE1Xp+ovHGG2/k7bffZvLkyUycOJHrrruOjz76yCfXsBMRERGpSD4X7ABGjRrFqFGjSnxv7dq1F7UNGDCAAQMGVHBVIiIiIr7Np66xExEREZHyU7ATERER8RMKdiIiIiJ+QsFORERExE8o2ImIiIj4CQU7ERERET+hYCciIiLiJxTsRERERPyEgp2IiIiIn1CwExEREfETPvlIscpkjAEgKyurwo7hdDrJy8sjKyuLoKCgCjuOXDmNie/RmPgejYnv0Zj4nsoYk3MZ5VxmuZRqH+yys7MBiI2N9XIlIiIiIqXLzs6mVq1al+xjMVcS//yY2+3mxx9/JCwsDIvFUiHHyMrKIjY2lsOHDxMeHl4hx5Cy0Zj4Ho2J79GY+B6Nie+pjDExxpCdnU1MTAxW66Wvoqv2M3ZWq5VGjRpVyrHCw8P1g+hjNCa+R2PiezQmvkdj4nsqekwuN1N3jm6eEBEREfETCnYiIiIifkLBrhLY7XamTJmC3W73dilSSGPiezQmvkdj4ns0Jr7H18ak2t88ISIiIuIvNGMnIiIi4icU7ERERET8hIKdiIiIiJ9QsLtGFixYQJMmTQgODqZbt2589dVXl+z/3nvv0apVK4KDg2nXrh3Lly+vpEqrj7KMyauvvspNN91EZGQkkZGR9OnT57JjKGVX1p+Tc5YuXYrFYuGee+6p2AKrobKOyalTpxg5ciQNGjTAbrfTokUL/f11jZV1TObNm0fLli0JCQkhNjaWMWPGcPbs2Uqq1r99/vnn9O/fn5iYGCwWCx999NFlt1m7di0JCQnY7XaaN2/O3/72twqvsxgjV23p0qXGZrOZN954w3z77bdm2LBhJiIiwhw9erTE/l9++aUJCAgwc+bMMbt27TKTJ082QUFBZseOHZVcuf8q65gMGjTILFiwwGzdutXs3r3bPPTQQ6ZWrVrm+++/r+TK/VdZx+ScgwcPmoYNG5qbbrrJ3H333ZVTbDVR1jHJz883nTt3Nrfffrv54osvzMGDB83atWvNtm3bKrly/1XWMVmyZImx2+1myZIl5uDBg2blypWmQYMGZsyYMZVcuX9avny5mTRpklm2bJkBzIcffnjJ/ikpKaZGjRpm7NixZteuXWb+/PkmICDArFixonIKNsYo2F0DXbt2NSNHjix67XK5TExMjElKSiqx/7333mvuuOOOYm3dunUzv//97yu0zuqkrGPyUwUFBSYsLMy89dZbFVVitVOeMSkoKDA33nijee2118yQIUMU7K6xso7JwoULTXx8vHE4HJVVYrVT1jEZOXKkufnmm4u1jR071vTo0aNC66yOriTYPfnkk6ZNmzbF2u677z7Tr1+/CqysOJ2KvUoOh4MtW7bQp0+fojar1UqfPn3YsGFDidts2LChWH+Afv36ldpfyqY8Y/JTeXl5OJ1OoqKiKqrMaqW8YzJ9+nTq1q3L0KFDK6PMaqU8Y/LPf/6T7t27M3LkSOrVq0fbtm2ZNWsWLperssr2a+UZkxtvvJEtW7YUna5NSUlh+fLl3H777ZVSsxTnC7/fq/2zYq9WRkYGLpeLevXqFWuvV68ee/bsKXGb9PT0Evunp6dXWJ3VSXnG5KeeeuopYmJiLvoBlfIpz5h88cUXvP7662zbtq0SKqx+yjMmKSkp/Pvf/+a3v/0ty5cvZ//+/YwYMQKn08mUKVMqo2y/Vp4xGTRoEBkZGfTs2RNjDAUFBfzhD39g4sSJlVGy/ERpv9+zsrI4c+YMISEhFV6DZuxEfmL27NksXbqUDz/8kODgYG+XUy1lZ2czePBgXn31VaKjo71djhRyu93UrVuXxYsXk5iYyH333cekSZNYtGiRt0urttauXcusWbP4y1/+QnJyMsuWLePTTz9lxowZ3i5NvEQzdlcpOjqagIAAjh49Wqz96NGj1K9fv8Rt6tevX6b+UjblGZNznn/+eWbPns1nn31G+/btK7LMaqWsY3LgwAFSU1Pp379/UZvb7QYgMDCQvXv30qxZs4ot2s+V5+ekQYMGBAUFERAQUNR2/fXXk56ejsPhwGazVWjN/q48Y/LMM88wePBgHnnkEQDatWtHbm4ujz76KJMmTcJq1fxNZSrt93t4eHilzNaBZuyums1mIzExkTVr1hS1ud1u1qxZQ/fu3Uvcpnv37sX6A6xevbrU/lI25RkTgDlz5jBjxgxWrFhB586dK6PUaqOsY9KqVSt27NjBtm3bir7uuusufv7zn7Nt2zZiY2Mrs3y/VJ6fkx49erB///6ikA2wb98+GjRooFB3DZRnTPLy8i4Kb+eCt9ETQyudT/x+r7TbNPzY0qVLjd1uN3/729/Mrl27zKOPPmoiIiJMenq6McaYwYMHmwkTJhT1//LLL01gYKB5/vnnze7du82UKVO03Mk1VtYxmT17trHZbOb99983R44cKfrKzs721kfwO2Udk5/SXbHXXlnH5NChQyYsLMyMGjXK7N2713zyySembt26ZubMmd76CH6nrGMyZcoUExYWZv7xj3+YlJQUs2rVKtOsWTNz7733eusj+JXs7GyzdetWs3XrVgOYF1980WzdutWkpaUZY4yZMGGCGTx4cFH/c8udjB8/3uzevdssWLBAy51UVfPnzzeNGzc2NpvNdO3a1WzcuLHovV69epkhQ4YU6//uu++aFi1aGJvNZtq0aWM+/fTTSq7Y/5VlTOLi4gxw0deUKVMqv3A/Vtafkwsp2FWMso7J+vXrTbdu3Yzdbjfx8fHmueeeMwUFBZVctX8ry5g4nU4zdepU06xZMxMcHGxiY2PNiBEjTGZmZuUX7of+85//lPi74dwYDBkyxPTq1euibTp27GhsNpuJj483b775ZqXWbDFGc7UiIiIi/kDX2ImIiIj4CQU7ERERET+hYCciIiLiJxTsRERERPyEgp2IiIiIn1CwExEREfETCnYiIiIifkLBTkRERMRPKNiJiIiI+AkFOxGRcurduzePP/54qa9FRCqbgp2IVBnp6en88Y9/JD4+HrvdTmxsLP3792fNmjXeLg2AZcuWMWPGjGu6T4VFESmLQG8XICJyJVJTU+nRowcRERHMnTuXdu3a4XQ6WblyJSNHjmTPnj0VclyHw4HNZruivlFRURVSg4jIldKMnYhUCSNGjMBisfDVV1/x61//mhYtWtCmTRvGjh3Lxo0bAcjPz2f06NHUrVuX4OBgevbsyddff11sP5fr07t3b0aNGsXjjz9OdHQ0/fr1AyA3N5cHH3yQmjVr0qBBA1544YWLaizp1Ozo0aN58skniYqKon79+kydOrXo/RUrVtCzZ08iIiKoXbs2d955JwcOHCh6/6GHHmLdunW89NJLWCwWLBYLqampuN1ukpKSaNq0KSEhIXTo0IH333//kn9+//jHPwgJCeHIkSNFbQ8//DDt27fn9OnTlx8AEakSFOxExOedPHmSFStWMHLkSEJDQy96PyIiAoAnn3ySDz74gLfeeovk5GSaN29Ov379OHnyZFHfK+nz1ltvYbPZ+PLLL1m0aBEA48ePZ926dfzf//0fq1atYu3atSQnJ1+29rfeeovQ0FA2bdrEnDlzmD59OqtXrwY8YXHs2LFs3ryZNWvWYLVa+eUvf4nb7QbgpZdeonv37gwbNowjR45w5MgRYmNjSUpK4n/+539YtGgR3377LWPGjOGBBx5g3bp1pdZx//3306JFC2bNmgXAlClT+Oyzz/jXv/5FrVq1Lvs5RKSKMCIiPm7Tpk0GMMuWLSu1T05OjgkKCjJLliwpanM4HCYmJsbMmTPnivv06tXLdOrUqdi+s7Ozjc1mM++++25R24kTJ0xISIh57LHHitp69ep10euePXsW21eXLl3MU089VeJnOH78uAHMjh07St3n2bNnTY0aNcz69euLbTt06FAzcODAEvd7zscff2zsdruZOXOmiYyMNDt37rxkfxGpenSNnYj4PGPMZfscOHAAp9NJjx49itqCgoLo2rUru3fvvuI+AImJiRft2+Fw0K1bt6K2qKgoWrZsedm62rdvX+x1gwYNOHbsGADfffcdzz77LJs2bSIjI6Nopu7QoUO0bdu2xP3t37+fvLw8+vbtW6zd4XDQqVOnS9Zy55130rp1a6ZPn86qVato06bNZesXkapFwU5EfN51112HxWKpsBskfqqk073lFRQUVOy1xWIpCnD9+/cnLi6OV199lZiYGNxuN23btsXhcJS6v5ycHAA+/fRTGjZsWOw9u91+yVpWrFjBnj17cLlc1KtXrzwfR0R8nK6xExGfFxUVRb9+/ViwYAG5ubkXvX/q1CmaNWtWdF3cOU6nk6+//prWrVsDXFGfkjRr1oygoCA2bdpU1JaZmcm+ffvK/ZlOnDjB3r17mTx5MrfccgvXX389mZmZF/Wz2Wy4XK6i161bt8Zut3Po0CGaN29e7Cs2NrbU4yUnJ3Pvvffy+uuvc8stt/DMM8+Uu3YR8V2asRORKmHBggX06NGDrl27Mn36dNq3b09BQQGrV69m4cKF7N69m+HDhzN+/HiioqJo3Lgxc+bMIS8vj6FDhwKembjL9SlJzZo1GTp0KOPHj6d27drUrVuXSZMmYbWW/9/GkZGR1K5dm8WLF9OgQQMOHTrEhAkTLurXpEkTNm3aRGpqKjVr1iQqKoonnniCMWPG4Ha76dmzJ6dPn+bLL78kPDycIUOGXLSP1NRU7rjjDiZOnMjAgQOJj4+ne/fuJCcnk5CQUO7PICK+R8FORKqE+Ph4kpOTee655xg3bhxHjhyhTp06JCYmsnDhQgBmz56N2+1m8ODBZGdn07lzZ1auXElkZGTRfq6kT0nmzp1LTk4O/fv3JywsjHHjxl3VMiFWq5WlS5cyevRo2rZtS8uWLXn55Zfp3bt3sX5PPPEEQ4YMoXXr1pw5c4aDBw8yY8YM6tSpQ1JSEikpKURERJCQkMDEiRMvOs7Jkye57bbbuPvuu4uCY7du3fjFL37BxIkTWbFiRbk/g4j4Hou5kquSRURERMTn6Ro7ERERET+hYCciIiLiJxTsRERERPyEgp2IiIiIn1CwExEREfETCnYiIiIifkLBTkRERMRPKNiJiIiI+AkFOxERERE/oWAnIiIi4icU7ERERET8hIKdiIiIiJ/4f1LfFlvpP+QNAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ntimestep = 64\n", "t = np.linspace(0.0, 0.4, ntimestep)\n", "delta_t = t[1]-t[0]\n", "#\n", "nx = 10\n", "x = np.flip(np.linspace(0.0,1.0,nx))\n", "delta_x = x[0]-x[1]\n", "#\n", "u = FTCS(u_top,u_bot,u_init,nx,ntimestep,delta_x,delta_t)\n", "#\n", "make_plot(u,x,t)" ] }, { "attachments": { "image-2.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "**Dufort-Frankel scheme**\n", "\n", "Starting from the same PDE, we want to establish another numerical scheme proposed by Dufort and Frankel. This scheme is based on centered finite differences for both the time and space where the time one is written as:\n", "\n", "$$ \\frac{\\partial u}{\\partial t} \\bigg |_{j}^n \\approx \\frac{u_j^{n+1}-u_{j}^{n-1}}{2 \\Delta t} $$\n", "\n", "The resuling numerical scheme is then defined as:\n", "\n", "$$ u_{j}^{n+1} = u_{j}^{n-1}+2D \\left(u_{j-1}^{n}- 2 u_{j}^{n} +u_{j+1}^{n} \\right)$$\n", "\n", "this scheme, known as the Richardson scheme, while more accurate turns out to be unconditionally unstable and therefore of limited use. Dufort and Frankel proposed to replace $u_{j}^{n}$ by $\\frac{1}{2} \\left(u_{j}^{n+1}+u_{j}^{n-1}\\right) $ to stabilise it. The Dufort-Frankel scheme therefore reads:\n", "\n", "$$ u_{j}^{n+1} = \\frac{1}{1+2D} \\left[ \\left(1-2D\\right) u_{j}^{n-1}+ 2D \\left(u_{j+1}^{n}+u_{j-1}^{n}\\right)\\right]$$\n", "\n", "The numerical stencil of this method is shown below, the scheme is explicit and has three levels $n+1$, $n$ and $n-1$.\n", "\n", "![image-2.png](attachment:image-2.png)\n", "\n", "If we carry out a von Neumann stability analysis we write the *error scheme* as:\n", "\n", "$$ E_{j}^{n+1} = \\frac{1}{1+2D} \\left[ \\left(1-2D\\right) E_{j}^{n-1}+ 2D \\left(E_{j+1}^{n}+E_{j-1}^{n}\\right)\\right]$$\n", "\n", "we replace the errors by their definitions (e.g. $E_j^n = G^n e^{i \\beta x_j}$):\n", "\n", "$$ G^{n+1} e^{i \\beta x_j} = \\frac{1}{1+2D} \\left[ \\left(1-2D\\right) G^{n-1} e^{i \\beta x_j} + 2D \\left(G^{n} e^{i \\beta x_{j+1}})+ G^{n} e^{i \\beta x_{j-1}})\\right)\\right]$$\n", "\n", "We can simplify this expression by dividing each side of the equation by $G^{n-1} e^{i \\beta x_j}$ and a second-order polynomial for the amplification factor $G$ is obtained:\n", "\n", "$$ G^{2} = \\frac{1}{1+2D} \\left[ \\left(1-2D\\right) + 2D .G. \\left(e^{i \\beta \\Delta x}+ e^{-i \\beta \\Delta x})\\right)\\right]$$\n", "\n", "Such polynomial has two roots $G_{1,2}$ equal to:\n", "\n", "$$ G_{1,2} = \\frac{2D\\cos{\\delta} \\pm \\sqrt{1-D^2 \\sin^2 \\delta}}{1+2D} $$\n", "\n", "where $\\delta = \\beta \\Delta x$.\n", "\n", "For the real roots ($1-4D^2 \\sin^2 \\delta \\ge 0$), we obtain the von Neumann condition as:\n", "\n", "$$ |G_{1,2}| = \\frac{2D | \\cos{\\delta}| + \\sqrt{1-4 D^2 \\sin^2 \\delta}}{1+2D} \\le \\frac{1+2D}{1+2D}\\le 1$$\n", "\n", "For complex roots ($1-4D^2 \\sin^2 \\delta < 0$), we obtain the von Neumann condition as:\n", "\n", "$$ |G_{1,2}|^2 = \\frac{ \\left(2D | \\cos{\\delta}| \\right)^2 - 1 + 4 D^2 \\sin^2 \\delta}{1+2D} \\le \\frac{2D-1}{2D+1}\\le 1$$\n", "\n", "Such a numerical scheme is said to be unconditionally stable even though it is an explicit method. While it sounds appealing to use such a numerical scheme, to involve three levels (in time) makes it difficult to implement." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Accuracy of numerical schemes**\n", "\n", "In addition to the stability of a numerical scheme, its accuracy is also of concern. Indeed, when we derive a numerical scheme, based on finite differences to solve a PDE, we introduce an approximation to the partial derivatives into the equation. These approximations usually lead to inaccuracies which should always be in keep mind. One technique which can be used to determine the accuracy of a method is to determine the so-called local truncation error." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Local truncation error**\n", "\n", "For a given PDE and a finite difference scheme, we can establish the numerical operator $F(u)$ where $u$ is the numerical solution. For example in the FTCS scheme, the numerical operator is taking the form:\n", "\n", "$$ F(u) = u_j^{n+1} - D \\left(u_{j+1}^n+u_{j-1}^n\\right) - (1+2D) u_j^n$$\n", "\n", "The exact solution $U$, which is not known, can be approximated using a Taylor serie expansion. If we insert these definition into the numerical operator $F$ we can then obtain the local truncation error $T$.\n", "\n", "$$ T_j^n = F\\left( U_j^n\\right)$$\n", "\n", "where $U_j^n$ is not the numerical solution $u$ but the approximation of the exact solution $U$ via a Taylor serie expansion.\n", "\n", "The Taylor serie expansion for the various terms are given as:\n", "\n", "$$ U_{j\\pm1}^n \\equiv U\\left(x_j\\pm\\Delta x,t_n\\right) = U_{j}^n \\pm \\Delta x \\frac{\\partial U}{\\partial x}\\bigg |_j^n + \\frac{\\left(\\Delta x\\right)^2}{2} \\frac{\\partial^2 U}{\\partial x^2}\\bigg |_j^n \\pm \\frac{\\left(\\Delta x\\right)^3}{6} \\frac{\\partial^3 U}{\\partial x^3}\\bigg |_j^n + ...$$\n", "\n", "$$ U_{j}^{n\\pm1} \\equiv U\\left(x_j,t_n\\pm\\Delta t\\right) = U_{j}^n \\pm \\Delta t \\frac{\\partial U}{\\partial t}\\bigg |_j^n + \\frac{\\left(\\Delta t\\right)^2}{2} \\frac{\\partial^2 U}{\\partial t^2}\\bigg |_j^n \\pm \\frac{\\left(\\Delta t\\right)^3}{6} \\frac{\\partial^3 U}{\\partial t^3}\\bigg |_j^n + ...$$\n", "\n", "Once we replace the $U_{j\\pm1}^n$ and $U_{j}^{n\\pm1}$ terms into the local truncation error $T_j^n$ we can determine the leading terms (in terms of partial derivatives) which we will drive the accuracy of the chosen method.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Application to the FTCS scheme**\n", "\n", "\n", "If we apply the local truncation error to the FTCS scheme we have:\n", "\n", "$$ T_j^n = \\frac{U_j^{n+1}- U_j^{n}}{\\Delta t} - \\frac{U_{j-1}^{n} - 2 U_j^{n} + U_{j+1}^{n}}{\\left(\\Delta x\\right)^2}$$\n", "\n", "The time derivative $\\frac{U_j^{n+1}- U_j^{n}}{\\Delta t}$ reduces to:\n", "\n", "$$\\frac{U_j^{n+1}- U_j^{n}}{\\Delta t} = \\frac{\\partial U}{\\partial t}\\bigg |_j^n + \\frac{\\Delta t}{2} \\frac{\\partial^2 U}{\\partial t^2}\\bigg |_j^n $$\n", "\n", "the spatial derivative $\\frac{U_{j-1}^{n} - 2 U_j^{n} + U_{j+1}^{n}}{\\left(\\Delta x\\right)^2}$ reduces to:\n", "\n", "$$ \\frac{U_{j-1}^{n} - 2 U_j^{n} + U_{j+1}^{n}}{\\left(\\Delta x\\right)^2} = \\frac{\\partial^2 U}{\\partial x^2}\\bigg |_j^n + \\frac{\\left(\\Delta x \\right)^2}{12}\\frac{\\partial^4 U}{\\partial x^4}\\bigg |_j^n $$\n", "\n", "Combining these two expressions we can write the local truncation error $T_j^n$ as:\n", "\n", "$$ T_j^n = \\left(\\frac{\\partial U}{\\partial t}-\\frac{\\partial^2 U}{\\partial x^2} \\right)\\bigg |_{j}^n + \\left(\\frac{\\Delta t}{2} \\frac{\\partial^2 U}{\\partial t^2}-\\frac{\\left(\\Delta x \\right)^2}{12}\\frac{\\partial^4 U}{\\partial x^4} \\right)\\bigg |_{j}^n $$\n", "\n", "To simplify this expression we make use of the PDE $\\frac{\\partial u}{\\partial t} = \\frac{\\partial^2 u}{\\partial x^2}$ and write the final value for the local truncation error:\n", "\n", "$$ T_j^n = \\frac{\\Delta t}{2} \\frac{\\partial^2 U}{\\partial t^2}\\bigg |_{j}^n-\\frac{\\left(\\Delta x \\right)^2}{12}\\frac{\\partial^4 U}{\\partial x^4}\\bigg |_{j}^n $$\n", "\n", "In the local truncation error of the FTCS scheme we have one term linked to time $\\frac{\\partial^2 U}{\\partial t^2}$ which scales with the timestep $\\Delta t$ and one term linked to space $\\frac{\\partial^4 U}{\\partial x^4}$ which scales with $\\Delta x^2$. We, thus, have a scheme whose local truncation is of first order in time and second order in space. This result is in line with the order of the finite difference, forward in time and centered in space. While this result seems obvious for the FTCS scheme, these evaluation can be more difficult for other schemes like the Dufort-Frankel one, for example." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.4" } }, "nbformat": 4, "nbformat_minor": 2 }