Skip to content
Permalink
dea46aef4e
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
193 lines (193 sloc) 48.5 KB
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "9bdc387a-fc3e-496e-8fc9-c026d78754a2",
"metadata": {},
"outputs": [],
"source": [
"## ME 3275 Lab in Class 10/03/2023\n",
"## A list of physical parameters % L, k, q, TA, TB\n",
"## A list of numerical paramters % N, dx, cell center location x(N)\n",
"## Setting up A matrix: first interior points, then boundary points\n",
"## Setting up b vector: first interior points, then boundary points\n",
"## Solve for T\n",
"## Plot T as a function of x "
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "e8a6ff94-6ac8-47d2-b25c-d1dff5737ba4",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "68fc61b4-8273-4a9b-ac24-46d28924e7a2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 1.66677766 5.00033002 8.33387348 11.66740213 15.00091004 18.33439128\n",
" 21.66783993 25.00125005 28.33461573 31.66793104 35.00119004 38.33438683\n",
" 41.66751546 45.00057002 48.33354457]\n"
]
}
],
"source": [
"L = 0.02; # m\n",
"k = 0.5; # W/mK\n",
"#q = 1000000; # W/m3\n",
"TA = 100; #Celsius\n",
"TB = 200; #Celsius \n",
"## Numerical Paramteres\n",
"N = 15; \n",
"dx = L/N; \n",
"Xc = np.zeros(N);\n",
"for i in range(0, N):\n",
" Xc[i] = i*dx + 0.5*dx\n",
"# To facilitate method of manufectured Solution\n",
"q=np.zeros(N);\n",
"\n",
"for i in range(0,N):\n",
" #q[i] = 1000000; # uncomment for the original diffusion problem W/m3\n",
" q[i] = k*(TB-TA)/np.sin(L)*np.sin(Xc[i])\n",
"print(q)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "0c05d61c-71b2-4de8-ae5f-b187e66d6648",
"metadata": {},
"outputs": [],
"source": [
"## Set up the A matrix\n",
"A = np.zeros((N,N));\n",
"for i in range(1,N-1):\n",
" A[i,i] = -2*k/dx;\n",
" A[i,i+1] = k/dx;\n",
" A[i,i-1] = k/dx;\n",
"# for left boundary\n",
"A[0,0] = -3*k/dx;\n",
"A[0,1] = k/dx;\n",
"# for right boundary\n",
"A[N-1,N-1] = -3*k/dx;\n",
"A[N-1,N-2] = k/dx;\n",
"#print(A)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e538d840-41f7-4d23-942f-cabec42f6a64",
"metadata": {},
"outputs": [],
"source": [
"## Set up b vector\n",
"b=np.zeros(N);\n",
"for i in range(1,N-1):\n",
" b[i] = -q[i]*dx;\n",
"#left boundary\n",
" b[0] = -q[0]*dx - 2*k*TA/dx;\n",
"#right boundary\n",
" b[N-1] = -q[N-1]*dx -2*k*TB/dx;\n",
"#print(b)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "f8fa2f24-5c8f-4d35-91a9-092221ce3786",
"metadata": {},
"outputs": [],
"source": [
"# solve for Temperature\n",
"T = np.linalg.solve(A,b)\n",
"#print(T)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "e36641e2-0345-47f4-a577-e357c3b42cd7",
"metadata": {},
"outputs": [],
"source": [
"# analytical solution for the original problem\n",
"def analytical_solution(x,q,L,k,TA,TB):\n",
" return -q/2/k*x*x + (TB-TA+q*L*L/2/k)*x/L+TA"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "7f03305f-1578-48f6-83eb-e3cb32ef3661",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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2rVri4oVK4qPP/5YLF++XPz1119CCCG8vLzE0KFDxcKFC8V3330nunTpIgCIxYsX656/bds2Ua1aNeHh4aHry549e/Reh2flnAexsbEF1pGamiqaNGkiKlWqJD755BOxfPlyERAQICRJEu+++24BZ8L/97xy5crik08+EYsXLxYtWrQQkiSJs2fP6sYZW+vLvI5nz54Vtra2okGDBmLu3Lli8eLFom3btkKSJLF169Zc+27QoIFo166d+O6778SXX36Zb12hoaFCkiTRqFEjMXv2bLFkyRIRHBwshgwZohszfvx48eqrr4ovvvhCfP/99yIoKEiYmJiIN954Q++48+vH0w4fPiwAiJ9++klveWpqqrCyshJjx44VQggRHx8vKlasKOrWrSvmz58vVqxYIT799FNRv379525fCCH69OkjBgwYIObPny+WLVsm+vfvLwCIDz74QG9cu3bthIuLi3B1dRXvvvuuWLp0qejYsaMAIHbt2qUbd//+fVGlShUxadIksWzZMjFv3jxRr149YWZmpntvy/H0e5xWqxWurq6iX79+uWp89dVXRa1atYQQBb9XPPu+efv2beHi4iIsLS3FxIkTxfLly8XUqVNF/fr1de+Jx44dE7Vq1RIff/yx+P7778XMmTNF1apVha2trbh9+7ZuW7GxsQKACA0NLbCvVDYwHFOJkJSUJACI1157zaDxUVFRAoAIDg7WW/7BBx8IAOLAgQO6ZdWrVxcAxJEjR3TL/vzzTwFAWFhYiOvXr+uWf//99wKALsQI8f8hfPz48bplWq1W9OjRQyiVSnH//n3d8rS0NL161Gq1aNSokejYsaPecgBCoVCIc+fO5Tq2Z9/kbW1tdX8Z5kWtVgsnJyfRqFEjkZ6erlu+c+dOAUBMmzYt17HMnDlTbxvNmzcXnp6e+e5DCCHu3bsnlEql6NKli14gWbx4sQAgVq1apVuWEwCe7k1+xo4dm2dY+PvvvwUAsWHDBr3lu3fvzrW8uF7jF6lp9+7duY7t2fNECCG6du2a6x+HDRs2FO3atcs11tjAmVcds2bNElZWVuLSpUt6yz/++GNhYmIibty4kWv7T8vZ7uHDh3XL7t27J1QqlXj//fdfqtYXfR07deokGjduLDIyMnTLtFqtaNWqlahTp06ufbdu3VpkZWU9t67ExERRoUIF4ePjo/fzlbPtHHm9pnPmzBGSJOnVbUg41mq1omrVqrkC408//aTX823btgkA4tixY8/dXl7yqnfUqFHC0tJSr3/t2rUTAMTatWt1yzIzM4Wzs7NefVlZWSIzM1Nve48ePRKVK1cWw4cP11v+7HvclClThEqlEomJibpl9+7dE6ampnrj8nuvyGubAQEBQqFQ5NmbnNctIyND771MiCdBWKVS6b1HMhyXP5xWQSVCcnIyAKBChQoGjd+1axcAYNKkSXrL33//fQDINTe5QYMG8PPz0z328fEBAHTs2BFubm65ll+9ejXXPseNG6f7/5xpEWq1Gvv27dMtf3oe56NHj5CUlIQ2bdrkmgIBAO3atUODBg0KONIn83bDw8Nx586dPNdHRkbi3r17GDNmjN68ux49esDDwyPPedqjR4/We9ymTZs8j/lp+/btg1qtxsSJE6FQ/P9bx4gRI2BjY1Po88G3bNkCW1tbdO7cGQ8ePND98fT0hLW1da5f1xbHa2xsTTVq1EDXrl1z7efp8yQpKQkPHjxAu3btcPXqVSQlJRncI0PlVceWLVvQpk0bVKxYUe9Y/P39kZ2djcOHDxe43QYNGqBNmza6x46OjqhXr16B51JB23yR1zEhIQEHDhzAgAED8PjxY93xPHz4EF27dsXly5dzTTMaMWJEgfOL9+7di8ePH+Pjjz/ONa/16V/rP/2apqam4sGDB2jVqhWEEHlO/3geSZLQv39/7Nq1CykpKbrlP/74I6pWrYrWrVsD+P85/Tt37oRGozFqH0/Xm9OvNm3aIC0tDRcvXtQba21tjbffflv3WKlUwtvbW+91NjExgVKpBPBk6lFCQgKysrLQsmXLPN//nhYQEIDMzEy9KWg//vgjsrKy9PZrKK1Wi+3bt6NXr15o2bJlrvU5r5tKpdK9l2VnZ+Phw4ewtrZGvXr1CqyZyjaGYyoRbGxsADx5kzbE9evXoVAoct0JwdnZGXZ2drh+/bre8qf/UgUAW1tbAICrq2uey5+dP6pQKFCzZk29ZXXr1gUAvbmJO3fuhK+vL8zNzWFvbw9HR0csW7Ysz8BTo0aNgg4TwJO52GfPnoWrqyu8vb0xffp0vb+Uco61Xr16uZ7r4eGRqxfm5uZwdHTUW1axYsVcx/ys/PajVCpRs2bNXPt5WZcvX0ZSUhKcnJzg6Oio9yclJUX3ob8cxfEaG1tTfq/xv//+C39/f1hZWcHOzg6Ojo745JNPAKDIwvGzLl++jN27d+c6Dn9/fwDIdSx5ebbngGHnkjHbNPR1vHLlCoQQmDp1aq5jypkDb+jr87SYmBgAQKNGjZ477saNGxg6dCjs7e11c/nbtWsH4MVe0zfffBPp6em6+dIpKSnYtWsX+vfvrwt37dq1Q79+/TBjxgw4ODjgtddeQ2hoaK7PXeTl3Llz6Nu3L2xtbWFjYwNHR0ddEH223mrVquWaN57X67xmzRo0adIE5ubmqFSpEhwdHfH7778XePweHh7w8vLChg0bdMs2bNgAX1/fAu92k5f79+8jOTm5wNdMq9Vi4cKFqFOnDlQqFRwcHODo6IjTp08Xyc8hlR68WwWVCDY2NnBxccHZs2eNep6hN9PP7+pQfsvFMx/CMsTff/+N3r17o23btli6dCmqVKkCMzMzhIaG6n1wJ4ehdwsYMGAA2rRpg23btmHPnj2YP38+5s6di61bt6J79+5G11laPomv1Wrh5OSk9xfm054N+MXxGhtbU16vcUxMDDp16gQPDw98/fXXcHV1hVKpxK5du7Bw4UKDPgyX33mf34cq86pDq9Wic+fO+Oijj/J8Ts4/DJ7HkN4aW+uLvo45ffvggw/yvFoPIFfQKqw7dmRnZ6Nz585ISEjA5MmT4eHhASsrK9y+fRtDhw416DV9lq+vL9zd3fHTTz/hrbfewm+//Yb09HS8+eabujGSJOHnn3/G0aNH8dtvv+HPP//E8OHD8dVXX+Ho0aOwtrbOc9uJiYlo164dbGxsMHPmTNSqVQvm5uY4ceIEJk+enKteQ17n9evXY+jQoejTpw8+/PBDODk5wcTEBHPmzNH9A+N5AgIC8O677+LWrVvIzMzE0aNHsXjxYkNa9cK++OILTJ06FcOHD8esWbNgb28PhUKBiRMnvtBrRmUHwzGVGD179sQPP/yAsLAwvV+r5qV69erQarW4fPky6tevr1seHx+PxMREVK9evVBr02q1uHr1ql5guHTpEoAnn7AHgF9++QXm5ub4888/9e6RGhoa+tL7r1KlCsaMGYMxY8bg3r17aNGiBWbPno3u3bvrjjU6OhodO3bUe150dHSh9eLp/Tx9hVWtViM2NlZ3xdFY+YWnWrVqYd++fXjllVeK5bZjhrzGhVHTb7/9hszMTOzYsUPvKmlen+rPrzcVK1YE8CTkPH27PGOu3teqVQspKSkv/LoZqjBqNUTOOWlmZlaox1SrVi0AwNmzZ/O9innmzBlcunQJa9asQUBAgG753r17X2rfAwYMwKJFi5CcnIwff/wR7u7u8PX1zTXO19cXvr6+mD17NjZu3IjBgwdj8+bNCA4OznO7Bw8exMOHD7F161a0bdtWtzw2NvaFa/35559Rs2ZNbN26Ve+8zblqX5CBAwdi0qRJ2LRpE9LT02FmZqb3DwHA8Ishjo6OsLGxKfBiy88//4wOHTogJCREb3liYiIcHBwM2heVTZxWQSXGRx99BCsrKwQHByM+Pj7X+piYGCxatAgA8OqrrwIAvvnmG70xX3/9NYAn820L29NXMYQQWLx4MczMzNCpUycAT66uSJKkd0Xs2rVr2L59+wvvMzs7O9ev95ycnODi4qL71WnLli3h5OSE5cuX6/069Y8//sCFCxcKrRf+/v5QKpX49ttv9a4YhYSEICkp6YX3Y2VlBQB6t4MDngSD7OxszJo1K9dzsrKyco0vDAW9xoVRU85VuKd7mJSUlOc/oqysrPLcZk5ge3pecGpqKtasWVPg/nMMGDAAYWFh+PPPP3OtS0xMRFZWlsHbep7CqNUQTk5OaN++Pb7//nvcvXs31/r79++/0Ha7dOmCChUqYM6cOcjIyNBbl/Ma5vWaCiF071cv6s0330RmZibWrFmD3bt3Y8CAAXrrHz16lOs3IM2aNQOA506tyKtetVqNpUuXvnCteW0zPDwcYWFhBj3fwcEB3bt3x/r167FhwwZ069YtV0DN773iWQqFAn369MFvv/2GyMjIXOufft2e7d+WLVtyzU2n8odXjqnEqFWrFjZu3Ig333wT9evX1/uGvCNHjmDLli26bwpr2rQpAgMD8cMPP+h+RRgREYE1a9agT58+6NChQ6HWZm5ujt27dyMwMBA+Pj74448/8Pvvv+OTTz7R/Sq9R48e+Prrr9GtWze89dZbuHfvHpYsWYLatWvj9OnTL7Tfx48fo1q1anjjjTfQtGlTWFtbY9++fTh27Bi++uorAE+ulM2dOxfDhg1Du3btMGjQIMTHx2PRokVwd3fHe++9Vyg9cHR0xJQpUzBjxgx069YNvXv3RnR0NJYuXQovL68X+uAMAHh6egIAJkyYgK5du8LExAQDBw5Eu3btMGrUKMyZMwdRUVHo0qULzMzMcPnyZWzZsgWLFi3CG2+8USjHBhj2GhdGTV26dIFSqUSvXr0watQopKSkYMWKFXBycsoV6jw9PbFs2TL873//Q+3ateHk5ISOHTuiS5cucHNzQ1BQED788EOYmJhg1apVcHR0xI0bNww63g8//BA7duxAz549MXToUHh6eiI1NRVnzpzBzz//jGvXrhXK1bPCqNVQS5YsQevWrdG4cWOMGDECNWvWRHx8PMLCwnDr1q0Xun+tjY0NFi5ciODgYHh5eeGtt95CxYoVcerUKaSlpWHNmjXw8PBArVq18MEHH+D27duwsbHBL7/88lJzrwGgRYsWqF27Nj799FNkZmbmupK6Zs0aLF26FH379kWtWrXw+PFjrFixAjY2NroLCHlp1aoVKlasiMDAQEyYMAGSJGHdunUvNNUoR8+ePbF161b07dsXPXr0QGxsLJYvX44GDRrofajweQICAnQ/P3n9AzS/94q8fPHFF9izZw/atWuHkSNHon79+rh79y62bNmCf/75B3Z2dujZsydmzpyJYcOGoVWrVjhz5gw2bNiQ67MHVA4V780xiAp26dIlMWLECOHu7i6USqWoUKGCeOWVV8R3332nd4shjUYjZsyYIWrUqCHMzMyEq6urmDJlit4YIZ7cHqpHjx659gMg1y3Scm7ZM3/+fN2ywMBAYWVlJWJiYkSXLl2EpaWlqFy5svj8889z3QYoJCRE1KlTR6hUKuHh4SFCQ0PzvHVTXvt+el3OLYkyMzPFhx9+KJo2bSoqVKggrKysRNOmTfO8J/GPP/4omjdvLlQqlbC3txeDBw8Wt27d0huTcyzPMuT2UjkWL14sPDw8hJmZmahcubJ455139O6l/PT2DLmVW1ZWlhg/frxwdHQUkiTlquOHH34Qnp6ewsLCQlSoUEE0btxYfPTRR+LOnTu6McX5Gr9sTUIIsWPHDtGkSRNhbm4u3N3dxdy5c8WqVaty3dosLi5O9OjRQ1SoUEEA0Lut2/Hjx4WPj49QKpXCzc1NfP311/neHi2/Oh4/fiymTJkiateuLZRKpXBwcBCtWrUSCxYs0Ltnc17y2267du1y3X7uZWs19HUUQoiYmBgREBAgnJ2dhZmZmahataro2bOn+Pnnn3Vjcvad122+8qpLiCevWatWrYSFhYWwsbER3t7eYtOmTbr158+fF/7+/sLa2lo4ODiIESNGiFOnTuW6BZgxP2tCCPHpp58KAKJ27dq51p04cUIMGjRIuLm5CZVKJZycnETPnj1FZGRkgdv9999/ha+vr7CwsBAuLi7io48+0t027+nb47Vr1040bNgw1/MDAwNF9erVdY+1Wq344osvRPXq1YVKpRLNmzcXO3fuzDVOiNy3XcuRmZkpKlasKGxtbXPdNk+I579X5LXN69evi4CAAOHo6ChUKpWoWbOmGDt2rO6WcxkZGeL9998XVapUERYWFuKVV14RYWFhuc5h3sqt/JGEeIl/KhKVA0OHDsXPP/9s8NUPKn34GhPJLysrCy4uLujVq1euecBExYlzjomIiEh227dvx/379/U+1EgkB845JiIiItmEh4fj9OnTmDVrFpo3b667PzSRXHjlmIiIiGSzbNkyvPPOO3BycsLatWvlLocInHNMRERERPQfXjkmIiIiIvoPwzERERER0X/4gTw8+drYO3fuoEKFCgZ/PSURERERFR8hBB4/fgwXFxcoFEV3fZfhGMCdO3fg6uoqdxlEREREVICbN2+iWrVqRbZ9hmMAFSpUAPCk2TY2NrnWazQa7NmzR/dVsZQ/9so47Jfh2CvjsF+GY6+Mw34Zjr0yTkH9Sk5Ohqurqy63FRVZw/GcOXOwdetWXLx4ERYWFmjVqhXmzp2LevXq6cZkZGTg/fffx+bNm5GZmYmuXbti6dKlqFy5sm7MjRs38M477+Cvv/6CtbU1AgMDMWfOHJiaGnZ4OVMpbGxs8g3HlpaWsLGx4cldAPbKOOyX4dgr47BfhmOvjMN+GY69Mo6h/SrqKbCyfiDv0KFDGDt2LI4ePYq9e/dCo9GgS5cuSE1N1Y1577338Ntvv2HLli04dOgQ7ty5g9dff123Pjs7Gz169IBarcaRI0ewZs0arF69GtOmTZPjkIiIiIioFJP1yvHu3bv1Hq9evRpOTk44fvw42rZti6SkJISEhGDjxo3o2LEjACA0NBT169fH0aNH4evriz179uD8+fPYt28fKleujGbNmmHWrFmYPHkypk+fDqVSKcehEREREVEpVKLmHCclJQEA7O3tAQDHjx+HRqOBv7+/boyHhwfc3NwQFhYGX19fhIWFoXHjxnrTLLp27Yp33nkH586dQ/PmzXPtJzMzE5mZmbrHycnJAJ5cztdoNLnG5yzLax3pY6+Mw34Zjr0yDvtlOPbKOOyX4dgr4xTUr+LqY4kJx1qtFhMnTsQrr7yCRo0aAQDi4uKgVCphZ2enN7Zy5cqIi4vTjXk6GOesz1mXlzlz5mDGjBm5lu/ZsweWlpb51rh///4ivXVIWWFqaoq//vpL7jIKhVarhVarLfL97N27t8j3UVawV8ZhvwzHXhmH/TIce2Wc/PqVlpZWLPsvMeF47NixOHv2LP75558i39eUKVMwadIk3eOcTz926dIlzw/kpaWl4fTp07C3t+d9kAsghEBGRgbMzc3LTK8sLCxQuXLlIvkwhUajwd69e9G5c2d+WKMA7JVx2C/DsVfGYb8Mx14Zp6B+5fymv6iViHA8btw47Ny5E4cPH9a7b52zszPUajUSExP1rh7Hx8fD2dlZNyYiIkJve/Hx8bp1eVGpVFCpVLmWm5mZ5XoxtFot7t69i4oVK6Jq1apQqVRlJvQVBa1Wi5SUFFhbW5f6q+xCCKjVaty/fx83b95EnTp1iuyY8jr3KG/slXHYL8OxV8ZhvwzHXhknv34VVw9lDcdCCIwfPx7btm3DwYMHUaNGDb31np6eMDMzw/79+9GvXz8AQHR0NG7cuAE/Pz8AgJ+fH2bPno179+7ByckJwJPL8TY2NmjQoMFL16hWq6HVauHo6AgbG5tSH/iKmlarhVqthrm5eZnolYWFBczMzHD9+nXdcREREVHZJWs4Hjt2LDZu3Ihff/0VFSpU0M0RtrW1hYWFBWxtbREUFIRJkybB3t4eNjY2GD9+PPz8/ODr6wsA6NKlCxo0aIAhQ4Zg3rx5iIuLw2effYaxY8fmeXX4RfFqcflVFkI+ERERGUbWcLxs2TIAQPv27fWWh4aGYujQoQCAhQsXQqFQoF+/fnpfApLDxMQEO3fuxDvvvAM/Pz9YWVkhMDAQM2fOLK7DICIiIqIyQvZpFQUxNzfHkiVLsGTJknzHVK9eHbt27SrM0oiIiIioHOLvi6nMkSQJ27dvl7sMIiIiKoUYjsuwuLg4jB8/HjVr1oRKpYKrqyt69eqF/fv368a4u7tDkiS9P0/fMeTp9RYWFnB3d8eAAQNw4MABOQ7JaNeuXYMkSYiKipK7FCIiIioFGI7LqGvXrsHT0xMHDhzA/PnzcebMGezevRsdOnTA2LFj9cbOnDkTd+/e1f05efJknuujo6Oxdu1a2NnZwd/fH7NnzzaqJrVa/dLHRURERFSUGI6NJIRAmjpLlj+GzNHOMWbMGEiShIiICPTr1w9169ZFw4YNMWnSJBw9elRvbIUKFeDs7Kz74+jomOd6Nzc3tG3bFj/88AOmTp2KadOmITo6Ot8a3N3dMWvWLAQEBMDGxgYjR44EAPzzzz9o06YNLCws4OrqigkTJiA1NVX3vKVLl6JOnTowNzdH5cqV8cYbb+ht85tvvtHbT7NmzTB9+vQ8a8i5PWDz5s0hSZLuw58HDx6Et7c3rKysYGdnh1deeQXXr19/bk+JiIio7CsRXwJSmqRrstFg2p+y7Pv8zK6wVBb8kiUkJGD37t2YPXs2rKyscq1/9uu4X8S7776LWbNm4ddff8VHH32U77gFCxZg2rRp+PzzzwEAMTEx6NatG/73v/9h1apVuH//PsaNG4dx48YhNDQUkZGRmDBhAtatW4dWrVohISEBf//99wvXGRERAW9vb+zbtw8NGzaEUqlEVlYW+vTpgxEjRmDTpk1Qq9WIiIjg7fqIiIiI4bgsunLlCoQQ8PDwMGj85MmT8dlnn+kef/HFF5gwYcJzn2Nvbw8nJydcu3btueM6duyI999/X/c4ODgYgwcPxsSJEwEAderUwbfffot27dph2bJluHHjBqysrNCzZ09UqFAB1atXR/PmzQ06jrzkXAWvVKmS7hsTExISkJSUhJ49e6JWrVoAgPr167/wPoiIiKjsYDg2koWZCc7P7Crbvg1hzPQLAPjwww9195UGAAcHB4P3U9DV1pYtW+o9PnXqFE6fPo0NGzbobUer1SI2NhadO3dG9erVUbNmTXTr1g3dunVD3759YWlpafgBFcDe3h5Dhw5F165d0blzZ/j7+2PAgAGoUqVKoe2DiIioLMvSqHFs4wzU7fYOKlWuVvATShGGYyNJkmTQ1AY51alTB5Ik4eLFiwaNd3BwQO3atY3ax8OHD3H//v1cX/n9rGendaSkpGDUqFF5Xpl2c3ODUqnEiRMncPDgQezZswfTpk3D9OnTcezYMdjZ2UGhUOQK/xqNxqjagSdfNDNhwgTs3r0bP/74Iz777DPs3btX982LRERElLf7d67h/uq34ac+g9OhYbD/aB+kMvRtsmXnSEjH3t4eXbt2xZIlS/Q+6JYjMTHxpfexaNEiKBQK9OnTx6jntWjRAufPn0ft2rVz/VEqlQAAU1NT+Pv7Y968eTh9+jSuXbumu3Wco6Mj7t69q9tecnIyYmNj891fzjazs7NzrWvevDmmTJmCI0eOoFGjRti4caNRx0JERFTenP7rZ5j+0AYN1GeQKsyhbjSwTAVjgFeOy6wlS5bglVdegbe3N2bOnIkmTZogKysLe/fuxbJly3DhwgWDt/X48WPExcVBo9EgNjYW69evx8qVKzFnzhyjrzhPnjwZvr6+GDduHIKDg2FlZYXz589j7969WLx4MXbu3ImrV6+ibdu2qFixInbt2gWtVot69eoBeDKHefXq1ejVqxfs7Owwbdo0mJjkP93EyckJFhYW2L17N6pVqwZzc3MkJCTghx9+QO/eveHi4oLo6GhcvnwZAQEBRh0LERFReaFRZyJy9Qfwu7MWABBjUhPKQWvRsnZjmSsrfAzHZVTNmjVx4sQJzJ49G++//z7u3r0LR0dHeHp6YtmyZUZta9q0aZg2bRqUSiWcnZ3h6+uL/fv3o0OHDkbX1aRJExw6dAiffvop2rRpAyEEatWqhTfffBPAkztpbN26FdOnT0dGRgbq1KmDTZs2oWHDhgCAKVOmIDY2Fj179oStrS1mzZr13CvHpqam+PbbbzFz5kxMmzYNbdq0wY8//oiLFy9izZo1ePjwIapUqYKxY8di1KhRRh8PERFRWRd38woS1w6Bn+Y8ACDc4XU0DVoMc4vcd8QqCxiOy7AqVapg8eLFWLx4cb5jCrrbREHrX+S5Xl5e2LNnT57rWrdujYMHD+a7TRsbG2zevFlvWWBgoN7jZ+ckBwcHIzg4WG/Ztm3b8t0HERERPRG1fzPc/34fHkjBY2GBy75z4NN9mNxlFSmGYyIiIiLSo87MwIlVE+EbvwkAcNm0DizfWocWNcv+rU8ZjomIiIhI5861aDxePwS+WU++Bfeo05toPvwbqMwL77aqJRnDMREREREBAE78uQ61wybDBalIhhViWs2Db5e35S6rWDEcExEREZVzmRlpiAoZD5/7PwMAok09YDNkLZpXrydzZcWP4ZiIiIioHLt99RzSNgTAJ/sKAOCo82B4Dl8IM6VK5srkwXBMREREVE4d3xWKuuFTUFVKxyNUwI22C+DbcaDcZcmK4ZiIiIionMlIT8WplWPg83A7IAEXzBrCPnAdmlarJXdpsmM4JiIiIipHbl4+BfXmQPhkP/kSrTCXQHgNWwBTM6XMlZUMDMdERERE5UTkjuVocHwaLKVMJMAGt9p/A7/2/eQuq0RRyF0AlW7u7u745ptvXmobBw8ehCRJSExMLJSarl27BkmSEBUVVSjbIyIiKu3SUx8jYtFbaHliMiylTJxTNkH2yL/RhME4F4bjMi4sLAwmJibo0aOH3KUAANq3b4+JEyfqLWvVqhXu3r0LW1tbeYoiIiIqw65fPIG4r16B96PfoRUSwlxHwOOjv+Do4i53aSUSw3EZFxISgvHjx+Pw4cO4c+eO3OXkSalUwtnZGZIkyV0KERFRmXJs+2I4buqGGtrreAA7nO+8Fn5BC2Biypm1+WE4NpYQgDpVnj9CGFVqSkoKfvzxR7zzzjvo0aMHVq9erVuXM5Vh//79aNmyJSwtLdGqVStER0frxsTExOC1115D5cqVYW1tDS8vL+zbty/f/Q0fPhy9evXSW6bRaODk5ISQkBAMHToUhw4dwqJFiyBJEiRJwrVr1/KcVvHvv/+iffv2sLS0RMWKFdG1a1c8evQIALB79260bt0adnZ2qFSpEnr27ImYmBijekNERFSWpT5OxLGFA+AV9SkspUycUTUHRv+DRq17y11aicd/NhhLkwZ84SLPvj+5AyitDB7+008/wcPDA/Xq1cPbb7+NiRMnYsqUKXpXaD/99FN89dVXcHR0xOjRozF8+HD8+++/AJ6E61dffRWzZ8+GSqXC2rVr0atXL0RHR8PNzS3X/oKDg9G2bVvExcXBxsYGALBz506kpaXhzTffxBtvvIFLly6hUaNGmDlzJgDA0dER165d09tOVFQUOnXqhOHDh2PRokUwNTXFX3/9hezsbABAamoqJk2ahCZNmiAlJQXTpk1D3759ERUVBYWC/94jIqLyLfZcOBS/DIeX9hayhYSIGqPh/fb/eLXYQOxSGRYSEoK3337yfejdunVDUlISDh06hPbt2+vGzJ49G+3atQMAfPzxx+jRowcyMjJgbm6Opk2bomnTprqxs2bNwrZt27Bjxw6MGzcu1/5atWqFevXq4ccff8TUqVMBAKGhoejfvz+sra0BPJlCYWlpCWdn53zrnjdvHlq2bImlS5fqljVs2FD3//366X94YNWqVXB0dMT58+fRqFEjQ9tDRERUpgitFse2LUKT07NhLmlwD/Z40G0p/Py6y11aqcJwbCwzyydXcOXat4Gio6MRERGBbdu2AQBMTU3x5ptvIiQkRC8cN2nSRPf/VapUAQDcu3cPbm5uSElJwfTp0/H777/j7t27yMrKQnp6Om7cuJHvfoOCgvD9999j6tSpiI+Pxx9//IEDBw4YdZhRUVHo379/vusvX76MadOmITw8HA8ePIBWqwUA3Lhxg+GYiIjKpZTkR7i4Igjej/cDEnDa3AvVhq9BA6eqcpdW6jAcG0uSjJraIJeQkBBkZWXBxeX/p4AIIaBSqbB48WLdMjMzM93/50y3yAmbH3zwAfbu3YsFCxagdu3asLCwwBtvvAG1Wp3vfocMGYIpU6YgLCwMR48eRY0aNdCmTRujarewsHju+l69eqF69epYsWIFXFxcoNVq0ahRo+fWRUREVFbFnD4C5bYgtBR3kCUUiKw1Dt6Dp0NhYiJ3aaUSw3EZlJWVhbVr1+Krr75Cly5d9Nb16dMHmzZtgoeHR4Hb+ffffzF06FD07dsXwJM5yM/OD35WpUqVdB/+O3r0KIYNG6a3XqlU6uYO56dJkybYv38/ZsyYkWvdw4cPER0djRUrVuhC9z///FPgsRAREZU1QqtFxJb5aHZ+PlSSBnFwQGKP5fD17ix3aaUaw3EZtHPnTjx69AhBQUG57h3cr18/hISEYP78+QVup06dOti6dSt69eoFSZIwdepU3VXl5xkyZAgGDhyI7OxsBAYG6q1zd3dHeHg4rl27Bmtra9jb2+d6/pQpU9C4cWOMGTMGo0ePhlKpxF9//YX+/fvD3t4elSpVwg8//IAqVargxo0b+PjjjwusiYiIqCxJTnyIKyuHwiflMCABUZZ+cB++Gh4O+X+mhwzDj/aXQSEhIfD398/zSzX69euHyMhInD59usDtfP3116hYsSJatWqFXr16oWvXrmjRokWBz2vfvj2qVKmCrl276k3rAJ5M1TAxMUGDBg3g6OiY5/zlunXrYs+ePTh16hS8vb3h5+eHX3/9FaamplAoFNi8eTOOHz+ORo0a4b333jMo6BMREZUVl08exuNFfmiRchgaYYKjdd5H0w92wY7BuFDwynEZ9Ntvv+W7ztvbG+K/+yVPmDBBb12zZs1064AnV3mf/TDd2LFj9R7nNc0iNTVVd+X6WXXr1kVYWJjeMnd3d739AkC7du10t5R7lr+/P86fP6+37Nm6n90eERFRaSe0WoRv/gItor+GUsrGHckJKb1XwLdFe7lLK1MYjqnQaLVa3Lt3D/Pnz4ednR169+aNxomIiApDUsJ9XF0ZCN+0fwEJOGHVBrWCV8OlooPcpZU5DMdUaG7cuIEaNWrAxcUFq1evhilvNk5ERPTSLkbuh+3OUWiO+1ALU5ys/wG8B0yGxC++KhJML1Ro3N3dkZ2djeTkZN035BEREdGL0WZnI2LTTHhe/g5mUjZuSc5I77MSPs2Mu0UqGYfhmIiIiKiESXwQh+shAfBNDwck4Lh1e9QdEYpqtrnv8kSFi+HYQPyAV/nF156IiIrThfA/Yf/HO2iKh8gUZohq9DG8+03iNIpiwnBcgJxvkOO3r5VfaWlpAPS/TZCIiKiwabOzEb5+KryuLoOppMVNyQXqfqHwaewrd2nlCsNxAUxMTGBjY4P79+/D3Nwc1tbWuq9Zpty0Wi3UajUyMjKgKOX/whVCIC0tDffu3YOdnR1M+DWcRERURB7G38Lt0ED4ZUQCEhBp4w+P4JWwtqkod2nlDsOxAZycnHDp0iWoVCo8ePBA7nJKNCEE0tPTYWFhUWb+EWFnZwdnZ95YnYiIisa5I7vgtGcMmuAR0oUSZ5t+hpZ9xnMahUwYjg0gSRIeP36MVq1ayV1KiafRaHD48GG0bdu2TExDMDMz4xVjIiIqEtlZWYhY+wm8r/8AE0ngusIVov9qeNVvKXdp5RrDsRFMTEzKROArSiYmJsjKyoK5uTl7RURElI8HcTcQFzoEfplRgARE2L2KRsHLYWltK3dp5R7DMREREVExOnP4V1Q5MAGNkIg0ocK5FtPh/doYucui/zAcExERERWDLI0ax9ZMhs/NUCgkgViFOxRvroFXvWZyl0ZPYTgmIiIiKmL3bsfiwZoh8FOfASQg3L43mgYvg7mltdyl0TMYjomIiIiK0NnD2+D+9/togGSkCnNc8P4ffHqMkLssygfDMREREVER0KgzYXZhC5pn/AYAiDGpCeWgtWhZu7HMldHzMBwTERERFbK4m1eQuPZtvKq5AAAId3gdTYMWw9zCSubKqCAMx0RERESFKGrfJrj/8wE8kILHwgIXvWfDp0eQ3GWRgRiOiYiIiAqBOjMDJ1ZNhG/8JgDAZZM6OOk+Cn27BMhcGRmD30tIRERE9JLuXIvGtfltdMH4qNObqDLxAFQ2TjJXRsbilWMiIiKil3Diz3WoHTYZLkhFMqwQ02oefLu8DY1GI3dp9AIYjomIiIheQGZGGqJCxsPn/s8AgGhTD9gMWYvm1evJXBm9DIZjIiIiIiPdvnoOaRsC4JN9BQBw1HkwPIcvhJlSJXNl9LIYjomIiIiMcHxXCOqFf4qqUjoeoQJutF0A344D5S6LCgnDMREREZEBMtJTcWrlGPg83A5IwAWzhrAPXIem1WrJXRoVIoZjIiIiogLcvHwK6s2B8MmOBQCEuQTCa9gCmJopZa6MChvDMREREdFzRO5YjgbHp8FSykQCbHCr/Tfwa99P7rKoiDAcExEREeUhPfUxzqwcBe9HvwMScE7ZBE5D16GJi7vcpVERYjgmIiIiesb1iyeg/WkovLXXoRUSwt2C4R34JUxMGZ3KOr7CRERERE85tn0xGp6cCUspEw9gh7jO38GvdW+5y6JiwnBMREREBCAtJQnnVoyAV9KfgAScUTVHlWHr0MjZVe7SqBgxHBMREVG5F3suHIpfhsNLewvZQkJEjdHwfvt/nEZRDvEVJyIionJLaLU4tm0RmpyeDXNJg3uwx4NuS+Hn113u0kgmDMdERERULqUkP8LFFUHwfrwfkIDT5l6oNnwNGjhVlbs0khHDMREREZU7MaePQLktCC3FHWQJBSJrjYP34OlQmJjIXRrJjOGYiIiIyg2h1SLi5wVodm4eVJIGcXBAYo/l8PXuLHdpVEIwHBMREVG5kJz4EFdWDoNPyiFAAqIs/eA+fDU8HJzlLo1KEIZjIiIiKvMunzwMyx3BaCHioREmOF53InwGfQZJoZC7NCphGI6JiIiozBJaLcJ/nIMWF7+CUsrGHckJKb1XwLdFe7lLoxKK4ZiIiIjKpKSE+7i6MhC+af8CEnDCqg1qBa+GS0UHuUujEozhmIiIiMqc6MgDsNk5Es1xH2phipP1P4D3gMmcRkEFYjgmIiKiMkObnY2ITbPgeflbmEnZuCU5I73PSvg0ayN3aVRKMBwTERFRmZD4IA7XQwLgmx4OSMBx6/aoOyIU1Wzt5S6NShGGYyIiIir1LobvQcU/RqMpHiJTmCGq0cfw7jeJ0yjIaAzHREREVGpps7MRvn4qvK4ug6mkxU3JBep+ofBp7Ct3aVRKMRwTERFRqfQw/hZuhwbCLyMSkIBIG394BK+EtU1FuUujUozhmIiIiEqdc0d2wWnPGDTBI6QLJc42/Qwt+4znNAp6abKeQYcPH0avXr3g4uICSZKwfft2vfUpKSkYN24cqlWrBgsLCzRo0ADLly/XG5ORkYGxY8eiUqVKsLa2Rr9+/RAfH1+MR0FERETFJTsrC2GrPoLHn2/BEY9wXeGK+IF/wOv1dxmMqVDIehalpqaiadOmWLJkSZ7rJ02ahN27d2P9+vW4cOECJk6ciHHjxmHHjh26Me+99x5+++03bNmyBYcOHcKdO3fw+uuvF9chEBERUTF5EHcDF+Z3gt+N72EiCUTYvQrHSf/CvX5LuUujMkTWaRXdu3dH9+7d811/5MgRBAYGon379gCAkSNH4vvvv0dERAR69+6NpKQkhISEYOPGjejYsSMAIDQ0FPXr18fRo0fh68vJ+ERERGXB2b9/hfP+CWiERKQJFc61mA7v18bIXRaVQSV6znGrVq2wY8cODB8+HC4uLjh48CAuXbqEhQsXAgCOHz8OjUYDf39/3XM8PDzg5uaGsLCwfMNxZmYmMjMzdY+Tk5MBABqNBhqNJtf4nGV5rSN97JVx2C/DsVfGYb8Mx14Zp7j7laVR4+SGz+B7KxQKSeCqojrwxio0q9O0xL9mPLeMU1C/iquPkhBCFMueCiBJErZt24Y+ffrolmVmZmLkyJFYu3YtTE1NoVAosGLFCgQEBAAANm7ciGHDhukFXQDw9vZGhw4dMHfu3Dz3NX36dMyYMSPX8o0bN8LS0rLwDoqIiIhemDolAXWvLEdTcREAsN+sAxLrDYapmVLmykgOaWlpeOutt5CUlAQbG5si20+JvnL83Xff4ejRo9ixYweqV6+Ow4cPY+zYsXBxcdG7WmysKVOmYNKkSbrHycnJcHV1RZcuXfJstkajwd69e9G5c2eYmZm98H7LA/bKOOyX4dgr47BfhmOvjFNc/Tp7eBvcT05FRTxGqjDHOc8ZaNs9qMj2VxR4bhmnoH7l/Ka/qJXYcJyeno5PPvkE27ZtQ48ePQAATZo0QVRUFBYsWAB/f384OztDrVYjMTERdnZ2uufGx8fD2dk5322rVCqoVKpcy83MzJ578ha0nv4fe2Uc9stw7JVx2C/DsVfGKap+adSZiFz9AfzurAUAxJjUhHLQWnjXblzo+youPLeMk1+/iquHJfaeJznzfxXP3JbFxMQEWq0WAODp6QkzMzPs379ftz46Oho3btyAn59fsdZLRERELyfu5hXEzG+vC8bhDq+j6gf/wLUUB2MqfWS9cpySkoIrV67oHsfGxiIqKgr29vZwc3NDu3bt8OGHH8LCwgLVq1fHoUOHsHbtWnz99dcAAFtbWwQFBWHSpEmwt7eHjY0Nxo8fDz8/P96pgoiIqBSJ2r8Z7n+/Dw+k4LGwwGXfOfDpPkzusqgckjUcR0ZGokOHDrrHOfOAAwMDsXr1amzevBlTpkzB4MGDkZCQgOrVq2P27NkYPXq07jkLFy6EQqFAv379kJmZia5du2Lp0qXFfixERERkPHVmBk6smgjf+E0AgMumdWD51jq0qFlf5sqovJI1HLdv3x7Pu1mGs7MzQkNDn7sNc3NzLFmyJN8vEiEiIqKS6c61aDxePwS+WdEAgKNOb6L58G+gMuedo0g+JfYDeURERFR2nfhzHWqHTYYLUpEMK8S0mgffLm/LXRYRwzEREREVn8yMNESFjIfP/Z8BANGmHrAZshbNq9eTuTKiJxiOiYiIqFjcvnoOaRsC4JP95MP4R50Hw3P4Qpgpc99elUguDMdERERU5I7vCkXd8CmoKqXjESrgRtsF8O04UO6yiHJhOCYiIqIik5GeilMrx8Dn4XZAAi6YNYR94Do0rVZL7tKI8sRwTEREREXi5uVTUG8OhE92LAAgzCUQXsMWwNRMKXNlRPljOCYiIqJCF/nb96gfOQ1WUgYSYINb7b+BX/t+cpdFVCCGYyIiIio06amPcWblKHg/+h2QgHPKJnAaug5NXNzlLo3IIAzHREREVCiuXzwB7U9D4a29Dq2QEO4WBO/AuTAxZdyg0oNnKxEREb20Y9sXo+HJmbCUMvEAdojr/B38WveWuywiozEcExER0QtLS0nCuRUj4JX0JyABZ1TNUWXYOjRydpW7NKIXwnBMRERELyT2XDgUvwyHl/YWsoWEiBqj4f32/ziNgko1nr1ERERkFKEVOL79WzQ7Owfmkgb3YI8H3ZbCz6+73KURvTSGYyIiIjJYyuNE2J9dDt/sMEACTpt7odrwNWjgVFXu0ogKBcMxERERGSTm9BEotwWhrbiDLKHAsVrj4DN4OhQmJnKXRlRoGI6JiIjouYRWi4ifF6DZuXlQSRrcFZWQ0G0Z/Py6yl0aUaFjOCYiIqJ8JSc+xJWVw+CTcgiQgJMWvoipPgSvtewod2lERUIhdwFERERUMl0+eRiPF/mhRcohaIQJjtaZhIYTd8DMooLcpREVGV45JiIiIj1Cq0X4j3PQ4uJXUErZuCM5IaX3Cvi2aA+NRiN3eURFiuGYiIiIdJIS7uPqykD4pv37ZBqFVWvUDF4Dl4oOcpdGVCwYjomIiAgAEB15ADY7R6I57kMtTHGy/gfwHjAZkoKzMKn8YDgmIiIq57TZ2YjYNAuel7+FmZSNW5Iz0vushE+zNnKXRlTsGI6JiIjKscQHcbgeEgDf9HBAAo5bt0ed4FWoZldJ7tKIZMFwTEREVE5dDN+Din+MRlM8RKYwQ1Sjj+HdbxKnUVC5xnBMRERUzmizsxG+fhq8ri6FqaTFTckF6n6h8GnsK3dpRLJjOCYiIipHHsbfwu3QQPhlRAISEGnjD4/glbC2qSh3aUQlAsMxERFROXHuyC447RmDJniEdKHE2aafoWWf8ZxGQfQUhmMiIqIyLjsrCxHrPoX3te9hIglcV7hC+0YovBp4yV0aUYnDcExERFSGPYi7gbjQIfDLjAIk4JhddzQM/h6W1rZyl0ZUIjEcExERlVFn//4VzvsnoBESkSZUONf8c3j1GSt3WUQlGsMxERFRGZOlUSNyzcfwvrkKCkkgVuEOxZtr4FWvmdylEZV4DMdERERlyP0713B/9dvwVZ8BJCDCvheaBC+HuaW13KURlQoMx0RERGXE6b9+huuh99AAyUgV5rjgNQvePUfKXRZRqcJwTEREVMpladQ4Fvo+/O6sBQDEmNSEctBatKzdWObKiEofhmMiIqJSLO7mFTxaOwR+mvMAgHCH19E0aDHMLaxkroyodGI4JiIiKqWi9m+G+9/voz5S8FhY4LLvHPh0HyZ3WUSlGsMxERFRKaPOzMCJVRPhG78JAHDZtA4s31qHFjXry1wZUenHcExERFSK3LkWjcfrh8A3KxoAcNTpTTQf/g1U5pYyV0ZUNjAcExERlRIn96xHrSMfwQWpSIYVYlrNg2+Xt+Uui6hMYTgmIiIq4TIz0nAyZAJ8728BAESbesBmyFo0r15P5sqIyh6GYyIiohLs9tVzSNsQAN/sKwCAo86D4Tl8IcyUKpkrIyqbGI6JiIhKqOO7QlE3fAqqSul4hAq40XYBfDsOlLssojKN4ZiIiKiEyUhPxamVY+DzcDsgARfMGsA+cD2aVqsld2lEZR7DMRERUQly8/IpqDcHwic7FgAQ5hIIr2ELYGqmlLkyovKB4ZiIiKiEiPzte9SPnAYrKQMJsMGt9t/Ar30/ucsiKlcYjomIiGSWnvoYZ1aOhvejnYAEnFM2gdPQdWji4i53aUTlDsMxERGRjK5fPAHtT0Phrb0OrZAQ7hYE78C5MDHlX9FEcuBPHhERkUyObV+MhidnwlLKxAPYIa7zd/Br3VvusojKNYZjIiKiYpaWkoRzK0bCK2k3IAFnVM1RZdg6NHJ2lbs0onKP4ZiIiKgYxZ4/BsXPw+ClvYlsISHCfRS8h8zmNAqiEoI/iURERMVAaLU4tm0RmpyeDXNJg3uwx/2uS+DX6lW5SyOipzAcExERFbGU5Ee4uDIY3sn7AAk4be6FasPXoKFTVblLI6JnMBwTEREVoZjTR6DcFoSW4g6yhALHao2Dz+DpUJiYyF0aEeWB4ZiIiKgICK0WET8vQLNz86CSNIiDAxJ7LIefd2e5SyOi52A4JiIiKmTJiQ9xeeVw+KQcBCQgytIP7sNXw8PBWe7SiKgADMdERESF6HLU37D8NQieIh4aYYLjdd+Fz6CpkBQKuUsjIgMwHBMRERUCodUi/Mcv0eLiV1BKWbgLRyT3+gG+LTvKXRoRGYHhmIiI6CUlJdzH1ZCh8E39B5CAk1atUTNoNarYO8pdGhEZieGYiIjoJURHHkCF30ehubgHtTDFyfofwHvAZE6jICqlGI6JiIhegNBqEb5pFjwvLYKZlI1bkjPS+6yET7M2cpdGRC+B4ZiIiMhIiQ/icC0kEL7pRwEJOG7dHnWCV6GaXSW5SyOil8RwTEREZISLEXtht2s0muEBMoUZohpOhvcb73MaBVEZwXBMRERkAG12NsI3TIdXzGKYSlrclFyg7hcKn8a+cpdGRIWI4ZiIiKgACfdu49aqQPhlHAMkINLGHx7BK2FtU1Hu0oiokDEcExERPcf5sD/g8OcYNEEC0oUSZ5p8Cq++EziNgqiMYjgmIiLKQ3ZWFiLWfQrva9/DRBK4rnCF9o1QeDfwkrs0IipCDMdERETPeBB3E3Ghb8MvMwqQgGN23dEw+HtYWtvKXRoRFTGGYyIioqec/ftXOO+fgEZIRJpQ4Vzzz+HVZ6zcZRFRMWE4JiIiwpNpFJFrP4bPjRAoJIFYRXUoBqyGl0cLuUsjomLEcExEROWeOvURYhZ2gZ/6NCABEfa90CR4OcwtreUujYiKGcMxERGVa+f+3oaO0VNRSUpGqjDHBa9Z8O45Uu6yiEgmDMdERFQuZWnUOBb6AfzurAEkIMakJpQDV6NlnaZyl0ZEMmI4JiKicifu5hU8WjsEfprzAIC9Sn/4jQuBtY2dvIURkewYjomIqFw5dWAzqh9+H/WRgsfCAhe9/oe0bEeoLKzkLo2ISgB+vQ8REZULGnUmji4fg6aHR8EOKbhsUhvJgfvRrGug3KURUQnCK8dERFTm3bkWjcfrh8A3KxoAcNRpAJoPXwSVuSU0Go3M1RFRScJwTEREZdrJPetR68hHcEEqkmGFmFbz4NvlbbnLIqISiuGYiIjKpMzMdJwMmQDfez8BAKJN66HC2+vQ3L2ezJURUUnGcExERGXO7asXkLZhCHyzLwMAjlYehBbDv4FSZS5zZURU0sn6gbzDhw+jV69ecHFxgSRJ2L59e64xFy5cQO/evWFrawsrKyt4eXnhxo0buvUZGRkYO3YsKlWqBGtra/Tr1w/x8fHFeBRERFSSnPgjFDZrOqBO9mUkwhpRbb6H7zvLGYyJyCCyhuPU1FQ0bdoUS5YsyXN9TEwMWrduDQ8PDxw8eBCnT5/G1KlTYW7+/29w7733Hn777Tds2bIFhw4dwp07d/D6668X1yEQEVEJkZGeiqOLh6JF+ERUkNJxwawBMoIOoVmngXKXRkSliKzTKrp3747u3bvnu/7TTz/Fq6++innz5umW1apVS/f/SUlJCAkJwcaNG9GxY0cAQGhoKOrXr4+jR4/C19e36IonIqIS4+aVM1BvCoBv9lUAQJhLILyGLYCpmVLmyoiotCmxc461Wi1+//13fPTRR+jatStOnjyJGjVqYMqUKejTpw8A4Pjx49BoNPD399c9z8PDA25ubggLC8s3HGdmZiIzM1P3ODk5GQCg0WjyvKVPzjLe7qdg7JVx2C/DsVfGKU/9OvlHCBoe/xxWUgYSYIMbbb9CyzZ9IWDY8ZenXhUG9stw7JVxCupXcfVREkKIYtlTASRJwrZt23TBNy4uDlWqVIGlpSX+97//oUOHDti9ezc++eQT/PXXX2jXrh02btyIYcOG6QVdAPD29kaHDh0wd+7cPPc1ffp0zJgxI9fyjRs3wtLSstCPjYiICl+WRg276A3opPkLAHBKqo9LdUZDaVVR5sqIqCikpaXhrbfeQlJSEmxsbIpsPyX6yjEAvPbaa3jvvfcAAM2aNcORI0ewfPlytGvX7oW3PWXKFEyaNEn3ODk5Ga6urujSpUuezdZoNNi7dy86d+4MMzOzF95vecBeGYf9Mhx7ZZyy3q8bl6Kg+CUINbTXoRUSjlYbjuaDZ6HBC0yjKOu9Kmzsl+HYK+MU1K+c3/QXtRIbjh0cHGBqaooGDRroLa9fvz7++ecfAICzszPUajUSExNhZ2enGxMfHw9nZ+d8t61SqaBSqXItNzMze+7JW9B6+n/slXHYL8OxV8Ypi/2K2L4EjU7OgKWUiQewQ5z/t2jV5rWX3m5Z7FVRYr8Mx14ZJ79+FVcPZb1bxfMolUp4eXkhOjpab/mlS5dQvXp1AICnpyfMzMywf/9+3fro6GjcuHEDfn5+xVovEREVrbSUJEQsHAjvqE9gKWXirKoZMPpvNCqEYExElEPWK8cpKSm4cuWK7nFsbCyioqJgb28PNzc3fPjhh3jzzTfRtm1b3Zzj3377DQcPHgQA2NraIigoCJMmTYK9vT1sbGwwfvx4+Pn58U4VRERlSOz5SEg/D4W39iayhYQI91HwHjIbJqYl9hegRFRKyfquEhkZiQ4dOuge58wDDgwMxOrVq9G3b18sX74cc+bMwYQJE1CvXj388ssvaN26te45CxcuhEKhQL9+/ZCZmYmuXbti6dKlxX4sRERU+IRWi2PbvkXj07NhIalxD/a433UJ/Fq9KndpRFRGyRqO27dvj4JuljF8+HAMHz483/Xm5uZYsmRJvl8kQkREpVNK8iNcXBkM7+R9gAScNm+JasPXoqFTVblLI6IyjL+PIiKiEufKmTCotg5HS3EHWUKBYzXHwOftmVCYmMhdGhGVcQzHRERUYgitFuE/f4Xm5+ZCJWkQj0p49Opy+Pl0kbs0IionGI6JiKhESE5KwOUVw+CbchCQgCgLX7gHrYGHQ/635iQiKmwMx0REJLvLUX/D4tdgeIo4aIQJjteZAJ+3pkFSlNg7jhJRGcVwTEREshFaLcJ//BItLn4FpZSFu3BEUq/v4duyk9ylEVE5xXBMRESySEq4j6shQ+Gb+g8gASctX0HN4DWoYu8od2lEVI4xHBMRUbGLPv4XKuwciebiHtTCBCc83ofPm1M4jYKIZMdwTERExUZotQjfOAuelxfBTMrGbaky0l5bCd/mbeUujYgIAMMxEREVk8QH8bgWEgjf9DBAAk5Yt0Xt4NWoaldJ7tKIiHQYjomIqMhdiNiLirtGoxkeIFOYIarhR/B+4wNOoyCiEofhmIiIiow2OxvhGz6HV8wSmEpa3JRcoH49BD5NWsldGhFRnhiOiYioSCTcu42bqwLhl3EMkIBIG394BK+EtU1FuUsjIsoXwzERERW682F/wOHPMWiKBGQIM5xu8im8+r7LaRREVOIxHBMRUaHJzspCxLpP4X3te5hIAtcV1aDttwreDX3kLo2IyCAMx0REVCgexN3E3dAh8Ms8CUjAMdtuaDjiB1ha28pdGhGRwRiOiYjopZ39Zwec941HYyQiTahwrvk0ePUZJ3dZRERGYzgmIqIXlp2VhYg1k+FzIwQKSSBWUR2K/qHwqu8pd2lERC+E4ZiIiF7I/TvXcG/1EPipTwMSEFGxJxoHL4eFVQW5SyMiemEMx0REZLTTh7ai2l/voiGSkSrMcaHlTHj3GiV3WUREL43hmIiIDJalUeNY6Ifwub0GCkkgxqQGlAPXoGWdpnKXRkRUKBiOiYjIIPG3YpCwZgj8NOcACQiv1AdNg5fC3MJK7tKIiAoNwzERERXo1IEf4Xb4fdTHYzwWFrjkMxs+rwbJXRYRUaFjOCYionxp1JmIXPUe/OI2AAAum9SG5eC18KzZUObKiIiKBsMxERHl6e71aCSvC4Bf1kUAwFHH/mge9C1U5pYyV0ZEVHQYjomIKJeTe9aj5pGPUAWpSIYVrvjNhW/XIXKXRURU5BiOiYhIR52ZgRMh4+F77ycAwCXTurB+ez1auNeTuTIiouLBcExERACA21cvIG3jEPhmXQYAHK08CC2GfwOlylzmyoiIig/DMRER4cTu1agT9jGqSulIhDWutV4AX/9BcpdFRFTsGI6JiMqxjPRURIWMg++DrYAEXDBrgIoB69DMtbbcpRERyYLhmIionLp55QwyNwXCNzsGABDmEoCWQxfATKmSuTIiIvkwHBMRlUORv6+AR8RUWEvpeAQb3Gy3EH4d3pC7LCIi2TEcExGVIxlpKTi18h34JOwAJOC8sjEcAtehSdUacpdGRFQiMBwTEZUT16OjoP0xED7aa9AKCRGuw9Ey8EuYminlLo2IqMRgOCYiKgeO/boUDU9Mh6WUiQeww91O38K37Wtyl0VEVOIwHBMRlWFpKUmIXjMe3om7AAk4q2oG52Hr0NjZTe7SiIhKJIWhA2fOnIm0tLSirIWIiApRxqNbePRde3gn7kK2kBBWfTTqf7gfDgzGRET5Mjgcz5gxAykpKUVZCxERFQKh1eL4r4vRO3Y63LU3cR8VcbHLBvgNmwsTU/7CkIjoeQx+lxRCFGUdRERUCFIfJ+LCimD4Ju8FJOC0yhNVh69Fw8rV5C6NiKhUMOoSgiRJRVUHERG9pKtnw2H2y1C0FHeQJRTYZd0PXccvhsrcXO7SiIhKDaPCcd26dQsMyAkJCS9VEBERGUdotYj45Ws0O/slVJIG8aiE+10XQ9zXQGFiInd5RESlilHheMaMGbC1tS2qWoiIyEiPkxJwaeVw+Dz+C5CAUxY+qB60FvVsKyFm1y65yyMiKnWMCscDBw6Ek5NTUdVCRERGuHLqH5hvD4anuAuNMMHxOhPgPWgqFCYm0Gg0cpdHRFQqGRyOOd+YiKhkEFotIn6ai+YXFkApZeEuHJHU63v4tuwkd2lERKUe71ZBRFSKJD16gJiVQ+GT+jcgASctX0HN4DWoYu8od2lERGWCweFYq9UWZR1ERFSASycOwvq3EWgh7kEtTHDC4334vDkFksLgW9YTEVEBeDd4IqISTmi1CN/0P7S49A2UUjZuS5WR9tpK+DZvK3dpRERlDsMxEVEJlvQwHldDhsI37QggASes26J28GpUtaskd2lERGUSwzERUQl18dg+2P0+Cs3xAJnCDFENP4L3Gx9wGgURURFiOCYiKmG02dmI2DAdLWMWw1TS4qbkAvXrIfBp0kru0oiIyjyGYyKiEuTR/bu4ETIEvhnHAAmIrNAJHiNCYG1TUe7SiIjKBYZjIqIS4vzR3XDY/Q6aIgEZwgynm3wKr77vchoFEVExYjgmIpKZNjsb4es+hXfscphIAtcV1aDttwreDX3kLo2IqNxhOCYiktGDuJu4GxoAv8wTgAQcs+2KBsE/wKqCndylERGVSwzHREQyOfvPDjjvG4/GSESaUOFss6nw7jte7rKIiMo1hmMiomKWnZWFiDUfw+fGSigkgWsKN0j9V8O7vqfcpRERlXsMx0RExejBneuIXz0EfupTgAREVOyBxsHfw8KqgtylERERGI6JiIrNmcPb4HLgXTREEtKECuc9Z8K792i5yyIioqcwHBMRFbEsjRrHVn8En1uroZAEYkxqQDlwDVrWaSp3aURE9AyGYyKiIhR/KwYP1wTAT3MWkIDwSn3QNGgJzC2t5S6NiIjywHBMRFRETh34CW6HJ6EBHiNFWCDaZzZ8Xg2SuywiInoOhmMiokKmUWfi+Kr34Bu3AQBwxaQWzAethWftRjJXRkREBWE4JiIqRHE3LiNx7RD4Zl0AAIQ7voFmQd9BZW4pc2VERGQIhmMiokIStXcjavz7AZyRimRYIsbvS/h0DZS7LCIiMgLDMRHRS1JnZuBEyAT43vsRAHDJtC6sB69D8xoeMldGRETGYjgmInoJd2IvImXDEPhmXQIAHK08CC2GfwOlylzmyoiI6EUwHBMRvaATu1ej9tEpcEEakmCF2NZfwdd/kNxlERHRS2A4JiIyUmZGGqJWjoXPg60AgItmDWA3ZC2audWRuTIiInpZDMdEREa4deUsMjYFwCc7BgAQViUALYctgJlSJXNlRERUGBiOiYgMFPn7CnhETIW1lI5HsMGNdl/Dr0N/ucsiIqJCxHBMRFSAjLQUnFr5DnwSdgAScN6sERyGrkfTqjXkLo2IiAoZwzER0XPcuBSFrM2B8NFeg1ZICHcdBq/AuTA1U8pdGhERFQGGYyKifETuWIYGxz+HpZSJh7DFnU6L4Ne2r9xlERFREWI4JiJ6RnrqY5xZMRLeibsACTinbIrKQ9ehsUt1uUsjIqIixnBMRPSUaxcigS1D4a29iWwhIaL6SHgHfAETU75dEhGVB3y3JyICILRaHPt1MRpHzYKFpMYD2CG+y1L4vdJD7tKIiKgYMRwTUbmX+jgR51eOgHfSHkACTpt7ouqwtWhYuZrcpRERUTFjOCaicu3q2XCYbh0GL+1tZAsJx2qMgfeQWVCYmMhdGhERyYDhmIjKJaHVIuKXhWh6dg7MJQ3uwR4Pui+Dr283uUsjIiIZMRwTUbnzOCkBl1YGwefxAUACTll4w234WjRwrCJ3aUREJDOFnDs/fPgwevXqBRcXF0iShO3bt+c7dvTo0ZAkCd98843e8oSEBAwePBg2Njaws7NDUFAQUlJSirZwIiq1rpz6F0nftILn4wPQCBMcrfUuGn+wGxUZjImICDKH49TUVDRt2hRLlix57rht27bh6NGjcHFxybVu8ODBOHfuHPbu3YudO3fi8OHDGDlyZFGVTESllNBqEf7jl3Db2hvVxF3EwRExPX+C75CZnF9MREQ6sk6r6N69O7p37/7cMbdv38b48ePx559/okcP/VsqXbhwAbt378axY8fQsmVLAMB3332HV199FQsWLMgzTBNR+ZP06AFiVg6DT+phQAJOWrZCzaDVcK5UWe7SiIiohCnRc461Wi2GDBmCDz/8EA0bNsy1PiwsDHZ2drpgDAD+/v5QKBQIDw9H3755f81rZmYmMjMzdY+Tk5MBABqNBhqNJtf4nGV5rSN97JVx2C/DvWivrkT9Ddtdo9FCxEMtTBBZZyJa9p8MSaEo033nuWU49so47Jfh2CvjFNSv4upjiQ7Hc+fOhampKSZMmJDn+ri4ODg5OektMzU1hb29PeLi4vLd7pw5czBjxoxcy/fs2QNLS8t8n7d3714DKyf2yjjsl+EM7ZXQCoire9AjeTOUUjZuCUf84zYWFhVq4o/du4u4ypKD55bh2CvjsF+GY6+Mk1+/0tLSimX/JTYcHz9+HIsWLcKJEycgSVKhbnvKlCmYNGmS7nFycjJcXV3RpUsX2NjY5Bqv0Wiwd+9edO7cGWZmZoVaS1nDXhmH/TKcMb1KSriHm6uD0Dw9DJCA41ZtUCNwBfpVdCimauXHc8tw7JVx2C/DsVfGKahfOb/pL2olNhz//fffuHfvHtzc3HTLsrOz8f777+Obb77BtWvX4OzsjHv37uk9LysrCwkJCXB2ds532yqVCiqVKtdyMzOz5568Ba2n/8deGYf9MlxBvbp4bB/sfh+N5rgPtTDFyQYfwrv/R5AUsn7+WDY8twzHXhmH/TIce2Wc/PpVXD0sseF4yJAh8Pf311vWtWtXDBkyBMOGDQMA+Pn5ITExEcePH4enpycA4MCBA9BqtfDx8Sn2molIPtrsbERsnAHPK4thJmXjllQFGX1D4NP0FblLIyKiUkTWcJySkoIrV67oHsfGxiIqKgr29vZwc3NDpUqV9MabmZnB2dkZ9erVAwDUr18f3bp1w4gRI7B8+XJoNBqMGzcOAwcO5J0qiMqRR/fv4saqAPimRzyZRlGhI+oGh6Carb3cpRERUSkjaziOjIxEhw4ddI9z5gEHBgZi9erVBm1jw4YNGDduHDp16gSFQoF+/frh22+/LYpyiagEOn90Nxx2v4OmSECGMMOpRlPg3e+9cjuNgoiIXo6s4bh9+/YQQhg8/tq1a7mW2dvbY+PGjYVYFRGVBtrsbESsm4qWsctgKmlxQ1EVWa+HwqcRp1QREdGLK7FzjomI8vMw/hZuhwbAN+M4IAHHbLugQfAKWFWwk7s0IiIq5RiOiahUuXj0Dzjvn4AmeIR0ocSZZlPh9do4TqMgIqJCwXBMRKVCdlYWFNHb0CB1O0wkgWsKV6D/anjXb1nwk4mIiAzEcExEJd6DuBuIWzUEvdRRgARE2L2KxiN+gIVVBblLIyKiMobhmIhKtDOHf4XLgfFohCSkChXONpsGn77j5C6LiIjKKIZjIiqRsjRqHFv9EXxurYZCEriqqI5j1d/B6z2D5S6NiIjKMH6ChYhKnHu3Y3FpXgf43Q6FQhIIr/QaHN89BHM7frkPEREVLV45JqIS5dRfW+B2aBIaIBkpwgIXvWfBp8cIaDQauUsjIqJygOGYiEoEjToTkaGT4Hd3PQDgikktqAatQcvajWWujIiIyhOGYyKSXdyNy0hcFwA/zXkAQLjD62gatBjmFlYyV0ZEROUNwzERySpq3ybU+Od9OCMVybDEFd858Ok2VO6yiIionGI4JiJZqDMzcGLVRPjGbwIAXDKtC6u31qJFzfoyV0ZEROUZwzERFbs7sReRsmEIfLMuAQCOOr2JFkHfQqkyl7kyIiIq7xiOiahYnfxzDWqFfQwXpCEZVohpNQ++Xd6WuywiIiIADMdEVEwyM9IQtXIcfB78AgCINvWAzZC1aF69nsyVERER/T+GYyIqcreunEXGpgD4ZMcAAMKqvI2Ww76GmVIlc2VERET6GI6JqEgd3xWCeuGfwlpKxyNUwI22X8Ov4wC5yyIiIsoTwzERFYmMtBScChkDn4e/AhJwwawh7APXoWm1WnKXRkRElC+GYyIqdDcuRSFrcyB8tNegFRLCqwXCa+h8mJop5S6NiIjouRiOiahQRe5YjgbHp8FSykQCbHC74yL4tXtd7rKIiIgMwnBMRIUiPfUxzqwcBe9HvwMScE7ZBJWHrkdjl+pyl0ZERGQwhmMiemnXLxyH2DIU3tobT6ZRuAXDO/BLmJjyLYaIiEoX/s1FRC8lYtt3aBw1ExaSGg9gh7jO38GvdW+5yyIiInohDMdE9EJSHyfi/MqR8E76E5CAM6rmqDJsHRo5u8pdGhER0QtjOCYio8WeC4fil+Hw0t5CtpAQUWM0fIbMhsLERO7SiIiIXgrDMREZTGi1OLb1GzQ58wXMJQ3uwR4Pui2Fn193uUsjIiIqFAzHRGSQx0kJuLQyCN6PDwAScNrcC9WGr0EDp6pyl0ZERFRoGI6JqEBXTv0L8+1B8BR3kSUUiKw1Dt6Dp3MaBRERlTkMx0SUL6HVImLLfDQ/Pw9KKQtxcEBij+Xw9e4sd2lERERFguGYiPKUnPgQV1YOhU/KYUACoiz94D58NTwcnOUujYiIqMgwHBNRLpdOHIL1byPQQsRDLUxwou5E+Az6DJJCIXdpRERERYrhmIh0hFaL8M1foEX011BK2bgjOSGl9wr4tmgvd2lERETFguGYiAAASQ/jcTVkKHzTjgAScMKqDWoFr4ZLRQe5SyMiIio2DMdEhIuR+2G3cxSa4z7UwhQn638A7wGTOY2CiIjKHYZjonJMm52NiE0z4Xn5O5hJ2bglOSO9z0r4NGsjd2lERESyYDgmKqce3b+LG6sC4ZseDkjAcev2qDsiFNVs7eUujYiISDYMx0Tl0IXwP1Hpj9FoigRkCjNENfoY3v0mcRoFERGVewzHROWINjsb4eunwuvqMphKWtyUXKDuFwqfxr5yl0ZERFQiMBwTlRMP42/hdmgA/DKOAxIQaeMPj+CVsLapKHdpREREJQbDMVE5cO7f3+G0dyya4BHShRJnm36Gln3GcxoFERHRMxiOicqw7KwsRKz9BN7Xf4CJJHBd4QrtG6HwauAld2lEREQlEsMxURn1IO4G4kKHwC8zCpCACLtX0Sh4OSytbeUujYiIqMRiOCYqg84c/hUuB8ajEZKQJlQ412I6vF8bI3dZREREJR7DMVEZkqVR49iayfC5GQqFJBCrcIfizTXwqtdM7tKIiIhKBYZjojLi3u1YPFgzBH7qM0+mUdj3QpPg5TC3tJa7NCIiolKD4ZioDDj9189wPfQeGiAZqcIcF7xmwbvnSLnLIiIiKnUYjolKMY06E5GrP4DfnbUAgBiTmlAOWouWtRvLXBkREVHpxHBMVErF3byCxLVD4Kc5DwAId3gdTYMWw9zCSubKiIiISi+GY6JSKGr/Zrj//T48kILHwgKXfefAp/swucsiIiIq9RiOiUoRdWYGTqyaCN/4TQCAy6Z1YPnWOrSoWV/myoiIiMoGhmOiUuLOtWg8Xj8EvlnRAICjTm+i+fBvoDK3lLkyIiKisoPhmKgUOLlnPWod+QguSEUyrBDTah58u7wtd1lERERlDsMxUQmWmZGGkyET4Ht/CwAg2tQDNkPWonn1ejJXRkREVDYxHBOVULevnkPahgD4Zl8BABx1HgzP4QthplTJXBkREVHZxXBMVAId3xWKuuFTUFVKxyNUwI22C+DbcaDcZREREZV5DMdEJUhGeipOrRwDn4fbAQm4YNYA9oHr0bRaLblLIyIiKhcYjolKiJuXT0G9ORA+2bEAgDCXQHgNWwBTM6XMlREREZUfDMdEJcDJXSvR8MR0WEkZSIANbrX/Bn7t+8ldFhERUbnDcEwko/TUx6hwdhW8NQcBCTinbAKnoevQxMVd7tKIiIjKJYZjIplcv3gC2p+GoqP2OrRCQrhbELwD58LElD+WREREcuHfwkQyOLZ9MRqenAlLKRMPhC3udFwEv3Z95S6LiIio3GM4JipGaSlJOLdiJLySdgMScEbVHBfdh6NPq55yl0ZEREQAFHIXQFRexJ4/hvtfvwKvpN3IFhLCqo9GnYl/QGlpK3dpRERE9B9eOSYqYkKrxbFt36LJ6f/BXNLgHuxxv+sS+LV6FRqNRu7yiIiI6CkMx0RFKCX5ES6uDIZ38j5AAk6be6Ha8DVo6FRV7tKIiIgoDwzHREUk5sxRKLcOQ0txB1lCgWO1xsFn8HQoTEzkLo2IiIjywXBMVMiEVouIn79Cs3NzoZI0iIMDEnssh593Z7lLIyIiogIwHBMVouTEh7i8cjh8Ug4CEhBl6Qf34avh4eAsd2lERERkAIZjokJyOepvWPwaDE8RB40wwfG678Jn0FRICt4UhoiIqLRgOCZ6SUKrRfiPX6LFxa+glLJwF45I7vUDfFt2lLs0IiIiMhLDMdFLSEq4j6shQ+Gb+g8gASetWqNm0GpUsXeUuzQiIiJ6AQzHRC8oOvIAKvw+Cs3FPaiFKU54vA+fNz/mNAoiIqJSjOGYyEhCq0X4plnwvLQIZlI2bkuVkdYnBL7N2shdGhEREb0khmMiIyQ+iMO1kED4ph8FJOC4dXvUCV6FqnaV5C6NiIiICgHDMZGBLkbshd2u0WiGB8gUZohqOBneb7zPaRRERERlCMMxUQG02dkI3zAdXjGLYSppcVNygfr1EPg0aSV3aURERFTIGI6JniPh3m3cWhUIv4xjgARE2vjDI3glrG0qyl0aERERFQGGY6J8nA/7Aw5/jkETJCBDmOF0k8/g1XcCp1EQERGVYQzHRM/IzspCxLpP4X3te5hIAtcVrtC+EQrvBl5yl0ZERERFTNZLYIcPH0avXr3g4uICSZKwfft23TqNRoPJkyejcePGsLKygouLCwICAnDnzh29bSQkJGDw4MGwsbGBnZ0dgoKCkJKSUsxHQmXFg7ibuDC/E/yuL4eJJHDMthscJ/2LGgzGRERE5YKs4Tg1NRVNmzbFkiVLcq1LS0vDiRMnMHXqVJw4cQJbt25FdHQ0evfurTdu8ODBOHfuHPbu3YudO3fi8OHDGDlyZHEdApUhZ//+FVjeGo0yo5AmVDjWbDa83vsRlta2cpdGRERExUTWaRXdu3dH9+7d81xna2uLvXv36i1bvHgxvL29cePGDbi5ueHChQvYvXs3jh07hpYtWwIAvvvuO7z66qtYsGABXFxcivwYqPTLzspCxJrJ8LkRAoUkEKuoDsWA1fDyaCF3aURERFTMStWc46SkJEiSBDs7OwBAWFgY7OzsdMEYAPz9/aFQKBAeHo6+ffvmuZ3MzExkZmbqHicnJwN4MpVDo9HkGp+zLK91pK+09er+nWt4tGE4/NSnAQkIt+uB+kMXw8KqQrEcQ2nrl5zYK+OwX4Zjr4zDfhmOvTJOQf0qrj6WmnCckZGByZMnY9CgQbCxsQEAxMXFwcnJSW+cqakp7O3tERcXl++25syZgxkzZuRavmfPHlhaWub7vGevZFP+SkOvMu6cgX/c92goJSNVmGNXpWFQVvdD3KG/i72W0tCvkoK9Mg77ZTj2yjjsl+HYK+Pk16+0tLRi2X+pCMcajQYDBgyAEALLli176e1NmTIFkyZN0j1OTk6Gq6srunTpogvez+5/79696Ny5M8zMzF56/2VZaehVlkaNk+s+Rqv4tYAExChqQNF/FfrUblzstZSGfpUU7JVx2C/DsVfGYb8Mx14Zp6B+5fymv6iV+HCcE4yvX7+OAwcO6IVXZ2dn3Lt3T298VlYWEhIS4OzsnO82VSoVVCpVruVmZmbPPXkLWk//r6T2Ku7mFTxaOwStNOcBAOGV+qBp8FKYW1jJWldJ7VdJxF4Zh/0yHHtlHPbLcOyVcfLrV3H1sER/m0FOML58+TL27duHSpUq6a338/NDYmIijh8/rlt24MABaLVa+Pj4FHe5VMKdOrAZ5iHtUF9zHo+FBY57fw2f8WtkD8ZERERUcsh65TglJQVXrlzRPY6NjUVUVBTs7e1RpUoVvPHGGzhx4gR27tyJ7Oxs3Txie3t7KJVK1K9fH926dcOIESOwfPlyaDQajBs3DgMHDuSdKkhHo87E8VXvwTduAwDgskltWA5eC8+aDWWujIiIiEoaWcNxZGQkOnTooHucMw84MDAQ06dPx44dOwAAzZo103veX3/9hfbt2wMANmzYgHHjxqFTp05QKBTo168fvv3222Kpn0q+u9ejkbxuCHyzogEARx37o3nQt1CZ5//BSyIiIiq/ZA3H7du3hxAi3/XPW5fD3t4eGzduLMyyqIw4uWc9ah35CFWQimRY4YrfXPh2HSJ3WURERFSClfgP5BEZS52ZgRMh4+F77ycAwCXTurB+ez1auNeTuTIiIiIq6RiOqUy5ffUC0jYOgW/WZQDA0cqD0GL4N1CqzGWujIiIiEoDhmMqM078EYo6R6egqpSORFjjWusF8PUfJHdZREREVIowHFOpl5GeilMh4+DzYCsgARfNGsAuYB2audaWuzQiIiIqZRiOqVS7eeUM1JsC4JN9FQAQ5hKAlkMXwEyZ+0teiIiIiArCcEylVuTOH1D/2FRYSRl4BBvcbLcQfh3ekLssIiIiKsUYjqnUyUhLwemVo+Gd8BsgAeeVjeEQuA5NqtaQuzQiIiIq5RiOqVS5Hh0F7Y8B8NZeh1ZICHcdBq/AuTA1U8pdGhEREZUBDMdUahzbvgQNT86ApZSJh7DFnU6L4Ne2r9xlERERURnCcEwlXlpKEs6tHAWvxD8ACTiragbnwLVo7FJd7tKIiIiojGE4phLt2oVIYMtQeGlvIltIiKg+Et4BX8DElKcuERERFT4mDCqRhFaLY9u+RePTs2EhqXEfFXGvyxL4vdJD7tKIiIioDGM4phInJfkRLq4MhnfyPkACTpt7ouqwtWhYuZrcpREREVEZx3BMJUrMmaNQbh2GluIOsoQCx2q+A5+3Z0FhYiJ3aURERFQOMBxTiSC0WkT88jWanf0SKkmDe7DHw1eXw8+nq9ylERERUTnCcEyye5yUgEsrhsEn5SAgAacsfOA2fA3qO1aRuzQiIiIqZxiOSVZXTv0D8+1B8BRx0AgTHK8zHt6DpnEaBREREcmC4ZhkIbRaRPw0F80vLIBSysJdOCKp1/fwbdlJ7tKIiIioHGM4pmKX9OgBYlYOhU/q34AEnLRshZrBa1HF3lHu0oiIiKicYzimYnXpxEFY/zYCLcQ9qIUJTtSbBJ+Bn0BSKOQujYiIiIjhmIqH0GoRvul/aHHpGyilbNyRKiOl9wr4tmgnd2lEREREOgzHVOSSHsYjNiQQvmlhgAScsG6L2sGr4WJXSe7SiIiIiPQwHFORuhixF3a7RqMZHkAtTHGywUfw7v8hp1EQERFRicRwTEVCm52No5tmomXMYphKWtySqiCjbwh8mr4id2lERERE+WI4pkKnSU/GxW96wjfjGCABkRU6wWNECKxtKspdGhEREdFzMRxToboYsQdtL0yFk/QIGcIMpxt/Aq/XJ3IaBREREZUKDMdUKLTZ2Qhf9ym8Y5fDRBK4LlWDtv8qeDf0kbs0IiIiIoMxHNNLexB3E3dDA+CXeQKQgIOmrdFszBrY2TvIXRoRERGRURiO6aWc/WcHnPeNR2MkIk2ocKbJp0gydYdVBVu5SyMiIiIyGieC0gvJzspCWMgHaLA3AA5IxDWFG+4P/AMteo+RuzQiIiKiF8Yrx2S0B3euI371EPipTwESEFGxBxoHfw8LqwrQaDRyl0dERET0whiOyShnDm+Dy4F30RBJSBMqnPecCe/eo+Uui4iIiKhQMByTQbI0ahxb/RF8bq2GQhKIMakB5cA1aFmnqdylERERERUahmMqUPytGDxcEwA/zVlAAsIr9UHToCUwt7SWuzQiIiKiQsVwTM916q8tcDv0HhrgMVKEBaJ9ZsPn1SC5yyIiIiIqEgzHlCeNOhORoZPgd3c9AOCKSS2YD1oLz9qNZK6MiIiIqOgwHFMucTcuI3HtEPhlXQAAhDu+gWZB30FlbilzZURERERFi+GY9ETt3Yga/34AZ6QiGZaI8fsSPl0D5S6LiIiIqFgwHBMAQJ2ZgROr3oVv/GYAwCXTurAevA7Na3jIXBkRERFR8WE4JtyJvYiUDUPgm3UJAHC08iC0GP4NlCpzmSsjIiIiKl4Mx+XcyT/XoFbYx3BBGpJghdjWX8HXf5DcZRERERHJguG4nMrMSEPUynHwefALAOCiaX3YBaxDM7c6MldGREREJB+G43Lo1pWzyNgUAJ/sGABAWJUAtBy2AGZKlcyVEREREcmL4bicOf77StSL+AzWUjoewQY32n0Nvw795S6LiIiIqERgOC4nMtJScCpkDHwe/gpIwHmzRnAYuh5Nq9aQuzQiIiKiEoPhuBy4cSkKWZsD4aO9Bq2QEO46DF6Bc2FqppS7NCIiIqISheG4jIvcsQwNjn8OSykTD2GLO50Wwa9tX7nLIiIiIiqRGI7LqPTUxzizYiS8E3cBEnBO2RSVh65DY5fqcpdGREREVGIxHJdB1y8ch9gSCG/tTWQLCRHVR8I74AuYmPLlJiIiInoepqUyRGi1OPbrYjSOmgULSY0HsEN8l6Xwe6WH3KURERERlQoMx2VE6uNEnF85At5JewAJOG3uiarD1qJh5Wpyl0ZERERUajAclwFXz4bDdOsweGlvI1tIOFZjDLyHzILCxETu0oiIiIhKFYbjUkxotYj4ZSGanp0Dc0mDe7DHg+7L4OvbTe7SiIiIiEolhuNS6nFSAi6tDILP4wOABJyy8Ibb8LVo4FhF7tKIiIiISi2G41Loyql/Yb49CJ7iLjTCBMdrj4P3W59zGgURERHRS2I4LkWEVouILfPQ/Px8KKUsxMERiT2Xw9fLX+7SiIiIiMoEhuNSIunRA8SsHAaf1MOABJy0bIWaQavhXKmy3KURERERlRkMx6XApROHYP3bCLQQ8VALE5yo9x58Bn4KSaGQuzQiIiKiMoXhuAQTWi3CN89Gi+iFUErZuCNVRkrvFfBt0U7u0oiIiIjKJIbjEirpYTyuhgyFb9oRQAJOWLVFreBQuFR0kLs0IiIiojKL4bgEunhsH+x+H43muA+1MMXJBh/Cu/9HnEZBREREVMQYjksQbXY2IjbOgOeVxTCTsnFLckZG3xD4NG0td2lERERE5QLDcQnx6P5d3FgVAN/0CEACjlfogLrBq1DN1l7u0oiIiIjKDYbjEuD80d1w2P0OmiIBmcIMUY2mwLvfe5xGQURERFTMGI5lpM3ORsS6qWgZuwymkhY3FFWR9XoofBr5yF0aERERUbnEcCyTh/G3cGfVEPhmngAkINKmM+qPWAmrCnZyl0ZERERUbjEcy+Dsv7/Bee84NEYi0oUSZ5pNhddr4ziNgoiIiEhmDMfF7Oy/v6H+niEwkQSuKVyB/qvhXb+l3GURERERERiOi52Hd1dcPNQIqZauaBS8HJbWtnKXRERERET/YTguZqZmStSauBvmltZyl0JEREREz+AkVxkwGBMRERGVTAzHRERERET/YTgmIiIiIvoPwzERERER0X8YjomIiIiI/sNwTERERET0H4ZjIiIiIqL/MBwTEREREf2H4ZiIiIiI6D+yhuPDhw+jV69ecHFxgSRJ2L59u956IQSmTZuGKlWqwMLCAv7+/rh8+bLemISEBAwePBg2Njaws7NDUFAQUlJSivEoiIiIiKiskDUcp6amomnTpliyZEme6+fNm4dvv/0Wy5cvR3h4OKysrNC1a1dkZGToxgwePBjnzp3D3r17sXPnThw+fBgjR44srkMgIiIiojLEVM6dd+/eHd27d89znRAC33zzDT777DO89tprAIC1a9eicuXK2L59OwYOHIgLFy5g9+7dOHbsGFq2bAkA+O677/Dqq69iwYIFcHFxKbZjISIiIqLST9Zw/DyxsbGIi4uDv7+/bpmtrS18fHwQFhaGgQMHIiwsDHZ2drpgDAD+/v5QKBQIDw9H375989x2ZmYmMjMzdY+Tk5MBABqNBhqNJtf4nGV5rSN97JVx2C/DsVfGYb8Mx14Zh/0yHHtlnIL6VVx9LLHhOC4uDgBQuXJlveWVK1fWrYuLi4OTk5PeelNTU9jb2+vG5GXOnDmYMWNGruV79uyBpaVlvs/bu3evwfWXd+yVcdgvw7FXxmG/DMdeGYf9Mhx7ZZz8+pWWllYs+y+x4bgoTZkyBZMmTdI9Tk5OhqurK7p06QIbG5tc4zUaDfbu3YvOnTvDzMysOEstddgr47BfhmOvjMN+GY69Mg77ZTj2yjgF9SvnN/1FrcSGY2dnZwBAfHw8qlSpolseHx+PZs2a6cbcu3dP73lZWVlISEjQPT8vKpUKKpUq13IzM7PnnrwFraf/x14Zh/0yHHtlHPbLcOyVcdgvw7FXxsmvX8XVwxJ7n+MaNWrA2dkZ+/fv1y1LTk5GeHg4/Pz8AAB+fn5ITEzE8ePHdWMOHDgArVYLHx+fYq+ZiIiIiEo3Wa8cp6Sk4MqVK7rHsbGxiIqKgr29Pdzc3DBx4kT873//Q506dVCjRg1MnToVLi4u6NOnDwCgfv366NatG0aMGIHly5dDo9Fg3LhxGDhwIO9UQURERERGkzUcR0ZGokOHDrrHOfOAAwMDsXr1anz00UdITU3FyJEjkZiYiNatW2P37t0wNzfXPWfDhg0YN24cOnXqBIVCgX79+uHbb781qg4hBID857JoNBqkpaUhOTmZvxYpAHtlHPbLcOyVcdgvw7FXxmG/DMdeGaegfuXktJzcVlQkUdR7KAVu3boFV1dXucsgIiIiogLcvHkT1apVK7LtMxwD0Gq1uHPnDipUqABJknKtz7mbxc2bN/O8mwX9P/bKOOyX4dgr47BfhmOvjMN+GY69Mk5B/RJC4PHjx3BxcYFCUXQfmyuxd6soTgqFwqB/gdjY2PDkNhB7ZRz2y3DslXHYL8OxV8ZhvwzHXhnnef2ytbUt8v2X2LtVEBEREREVN4ZjIiIiIqL/MBwbQKVS4fPPP8/zi0NIH3tlHPbLcOyVcdgvw7FXxmG/DMdeGaek9IsfyCMiIiIi+g+vHBMRERER/YfhmIiIiIjoPwzHRERERET/YTgmIiIiIvpPmQzHS5Ysgbu7O8zNzeHj44OIiIjnjt+yZQs8PDxgbm6Oxo0bY9euXXrrhRCYNm0aqlSpAgsLC/j7++Py5ct6YxISEjB48GDY2NjAzs4OQUFBSElJ0Rtz+vRptGnTBubm5nB1dcW8efMK54BfQnH36tq1awgKCkKNGjVgYWGBWrVq4fPPP4dardYbI0lSrj9Hjx4t3IN/AXKcW+7u7rl68eWXX+qN4bkFHDx4MM/zRpIkHDt2DED5Ore2bt2KLl26oFKlSpAkCVFRUbm2kZGRgbFjx6JSpUqwtrZGv379EB8frzfmxo0b6NGjBywtLeHk5IQPP/wQWVlZL328L6O4e5WQkIDx48ejXr16sLCwgJubGyZMmICkpCS9cXmdW5s3by6UY34Zcpxb7du3z9WL0aNH643huZX/e5IkSdiyZYtuXHk4tzQaDSZPnozGjRvDysoKLi4uCAgIwJ07d/S2USx5S5QxmzdvFkqlUqxatUqcO3dOjBgxQtjZ2Yn4+Pg8x//777/CxMREzJs3T5w/f1589tlnwszMTJw5c0Y35ssvvxS2trZi+/bt4tSpU6J3796iRo0aIj09XTemW7duomnTpuLo0aPi77//FrVr1xaDBg3SrU9KShKVK1cWgwcPFmfPnhWbNm0SFhYW4vvvvy+6ZhRAjl798ccfYujQoeLPP/8UMTEx4tdffxVOTk7i/fff120jNjZWABD79u0Td+/e1f1Rq9VF25ACyHVuVa9eXcycOVOvFykpKbr1PLee9CozM1OvR3fv3hXBwcGiRo0aQqvVCiHK17m1du1aMWPGDLFixQoBQJw8eTLXdkaPHi1cXV3F/v37RWRkpPD19RWtWrXSrc/KyhKNGjUS/v7+4uTJk2LXrl3CwcFBTJkypdB7YCg5enXmzBnx+uuvix07dogrV66I/fv3izp16oh+/frpjQMgQkND9c6tp3+W5SDXudWuXTsxYsQIvV4kJSXp1vPceiIrKyvX+9aMGTOEtbW1ePz4sW5ceTi3EhMThb+/v/jxxx/FxYsXRVhYmPD29haenp562ymOvFXmwrG3t7cYO3as7nF2drZwcXERc+bMyXP8gAEDRI8ePfSW+fj4iFGjRgkhhNBqtcLZ2VnMnz9ftz4xMVGoVCqxadMmIYQQ58+fFwDEsWPHdGP++OMPIUmSuH37thBCiKVLl4qKFSuKzMxM3ZjJkyeLevXqveQRvzg5epWXefPmiRo1auge5wSYvN5w5SRXv6pXry4WLlyYb108t/I+t9RqtXB0dBQzZ87ULSsv59bT8jvmxMREYWZmJrZs2aJbduHCBQFAhIWFCSGE2LVrl1AoFCIuLk43ZtmyZcLGxkbvfCtOcvQqLz/99JNQKpVCo9HolgEQ27ZtM+xAiolc/WrXrp149913862L51b+mjVrJoYPH663rLydWzkiIiIEAHH9+nUhRPHlrTI1rUKtVuP48ePw9/fXLVMoFPD390dYWFiezwkLC9MbDwBdu3bVjY+NjUVcXJzeGFtbW/j4+OjGhIWFwc7ODi1bttSN8ff3h0KhQHh4uG5M27ZtoVQq9fYTHR2NR48eveSRG0+uXuUlKSkJ9vb2uZb37t0bTk5OaN26NXbs2GHU8RU2ufv15ZdfolKlSmjevDnmz5+v96tHnlt5b3PHjh14+PAhhg0blmtdWT+3DHH8+HFoNBq97Xh4eMDNzU3vva1x48aoXLmy3n6Sk5Nx7tw5g/dVWOTqVV6SkpJgY2MDU1NTveVjx46Fg4MDvL29sWrVKggZv0pA7n5t2LABDg4OaNSoEaZMmYK0tDS9/fDcyu348eOIiopCUFBQrnXl8dxKSkqCJEmws7PTbaM48pZpwUNKjwcPHiA7O1vvhw0AKleujIsXL+b5nLi4uDzHx8XF6dbnLHveGCcnJ731pqamsLe31xtTo0aNXNvIWVexYkWDj7MwyNWrZ125cgXfffcdFixYoFtmbW2Nr776Cq+88goUCgV++eUX9OnTB9u3b0fv3r2NO9BCIme/JkyYgBYtWsDe3h5HjhzBlClTcPfuXXz99de67fDcyi0kJARdu3ZFtWrVdMvKy7lliLi4OCiVSt1fOnltJ7/95KwrbnL1Kq86Zs2ahZEjR+otnzlzJjp27AhLS0vs2bMHY8aMQUpKCiZMmPDC+3oZcvbrrbfeQvXq1eHi4oLTp09j8uTJiI6OxtatW5+7n5x1xa2knFshISGoX78+WrVqpbe8PJ5bGRkZmDx5MgYNGgQbGxvdNoojb5WpcEyly+3bt9GtWzf0798fI0aM0C13cHDApEmTdI+9vLxw584dzJ8/X7YAI6ene9GkSRMolUqMGjUKc+bMkf0rNkuqW7du4c8//8RPP/2kt5znFr2s5ORk9OjRAw0aNMD06dP11k2dOlX3/82bN0dqairmz58vW4CR09P/cGjcuDGqVKmCTp06ISYmBrVq1ZKxspIrPT0dGzdu1DuPcpS3c0uj0WDAgAEQQmDZsmXFvv8yNa3CwcEBJiYmuT5tHR8fD2dn5zyf4+zs/NzxOf8taMy9e/f01mdlZSEhIUFvTF7beHofxUmuXuW4c+cOOnTogFatWuGHH34osF4fHx9cuXKlwHFFRe5+Pc3HxwdZWVm4du3ac/fz9D6KU0noVWhoKCpVqmRQ4C2L55YhnJ2doVarkZiYmO92ysO5ZYzHjx+jW7duqFChArZt2wYzM7Pnjvfx8cGtW7eQmZlp9L4Kg9z9epqPjw8A6H7WeG7l9vPPPyMtLQ0BAQEFji3L51ZOML5+/Tr27t2ru2qcs43iyFtlKhwrlUp4enpi//79umVarRb79++Hn59fns/x8/PTGw8Ae/fu1Y2vUaMGnJ2d9cYkJycjPDxcN8bPzw+JiYk4fvy4bsyBAweg1Wp1bwh+fn44fPgwNBqN3n7q1atX7L/2BuTrFfDkinH79u3h6emJ0NBQKBQFn4ZRUVGoUqWKUcdYmOTs17OioqKgUCh0v1riuaW/TSEEQkNDERAQUGB4AcrmuWUIT09PmJmZ6W0nOjoaN27c0HtvO3PmjN5fRjl/WTVo0MDgfRUWuXoFPDnfunTpAqVSiR07dsDc3LzA50RFRaFixYqy/YZHzn49K+cWZjk/azy3cgsJCUHv3r3h6OhY4Niyem7lBOPLly9j3759qFSpUq5tFEveMvije6XE5s2bhUqlEqtXrxbnz58XI0eOFHZ2drpPxA4ZMkR8/PHHuvH//vuvMDU1FQsWLBAXLlwQn3/+eZ63kLKzsxO//vqrOH36tHjttdfyvJVb8+bNRXh4uPjnn39EnTp19G4tkpiYKCpXriyGDBkizp49KzZv3iwsLS1lv91Wcffq1q1bonbt2qJTp07i1q1berelybF69WqxceNGceHCBXHhwgUxe/ZsoVAoxKpVq4qpM3mTo19HjhwRCxcuFFFRUSImJkasX79eODo6ioCAAN02eG7p385o3759AoC4cOFCrrrK07n18OFDcfLkSfH7778LAGLz5s3i5MmTej9ro0ePFm5ubuLAgQMiMjJS+Pn5CT8/P936nNttdenSRURFRYndu3cLR0dH2W+3Vdy9SkpKEj4+PqJx48biypUreu9bWVlZQgghduzYIVasWCHOnDkjLl++LJYuXSosLS3FtGnTirE7ucnRrytXroiZM2eKyMhIERsbK3799VdRs2ZN0bZtW902eG7d1dv35cuXhSRJ4o8//shVV3k5t9Rqtejdu7eoVq2aiIqK0vs5e/rOE8WRt8pcOBZCiO+++064ubkJpVIpvL29xdGjR3Xr2rVrJwIDA/XG//TTT6Ju3bpCqVSKhg0bit9//11vvVarFVOnThWVK1cWKpVKdOrUSURHR+uNefjwoRg0aJCwtrYWNjY2YtiwYXr3KBRCiFOnTv1fO3fM0lgWBmD4jIXRGBIUEUHshCAoppDYiNZWaulf0FJSWNkFK0k3dgppLcVKiSCkkRSSWgwKNv6AiKBnir3jjqwDy+6s2WSeB9KEEL4cTpKXy+XExcXFmEql4sTERNzb2/u1H/wf+Oy1Ojw8jCGEDx/fHR0dxenp6ZhOp2M2m43FYvHdcVOd9Nnr1Wg04sLCQszlcnFgYCBOT0/Hcrkcn56e3r2PvfWnjY2Nd2f1/uh32ls/+67t7u6+vabdbsfNzc04PDwc0+l0XF9f/8ufdqvViisrK3FwcDCOjo7G7e3td8eXdcJnr1WtVvvp79bt7W2M8Y/jpAqFQsxkMnFoaCjOzc3Fg4OD+PLy8l8uxd/y2et1d3cXl5aW4sjISEylUnFqaiqWSqV35xzHaG/9aGdnJ05OTn64X36XvfX9uLuPHrVa7e11n9FbX2Ls4FkgAADwP9JT9xwDAMC/IY4BACAhjgEAICGOAQAgIY4BACAhjgEAICGOAQAgIY4BACAhjgEAICGOAQAgIY4BACAhjgF6xOPjYxgfHw/lcvntuXq9Hvr7+8P5+XkHJwPoHl9ijLHTQwDwa5yenoa1tbVQr9dDPp8PhUIhrK6uhv39/U6PBtAVxDFAj9na2gpnZ2dhfn4+NJvNcHV1FVKpVKfHAugK4higx7Tb7TAzMxPu7+9Do9EIs7OznR4JoGu45xigx9zc3ISHh4fw+voaWq1Wp8cB6CquHAP0kOfn51AsFkOhUAj5fD5UKpXQbDbD2NhYp0cD6AriGKCHlEqlcHx8HK6vr0MmkwnLy8shl8uFk5OTTo8G0BXcVgHQIy4uLkKlUgnVajVks9nQ19cXqtVquLy8DF+/fu30eABdwZVjAABIuHIMAAAJcQwAAAlxDAAACXEMAAAJcQwAAAlxDAAACXEMAAAJcQwAAAlxDAAACXEMAAAJcQwAAIlv1Ro2+e6kha8AAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plot the results \n",
"#analytical_results = analytical_solution(Xc,q,L,k,TA,TB) #uncomment for the original problem\n",
"plt.figure(figsize=(8, 6))\n",
"plt.plot(Xc, T, label='CFD results')\n",
"#plt.plot(Xc, analytical_results, label='Analytical') #uncomment for the original problem\n",
"plt.plot(Xc, (TB-TA)/np.sin(L)*np.sin(Xc)+ TA, label='Analytical')\n",
"plt.xlabel('x')\n",
"plt.ylabel('T')\n",
"plt.title('Comparison of temperature numerical vs analytical')\n",
"plt.legend()\n",
"plt.grid()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "025bc292-bbb0-403c-b40b-1fcdf926ed75",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}