Skip to content
Permalink
master
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
executable file 800 lines (800 sloc) 229 KB
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# CompMech04-Linear Algebra Project\n",
"# Practical Linear Algebra for Finite Element Analysis\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this project we will perform a linear-elastic finite element analysis (FEA) on a support structure made of 11 beams that are riveted in 7 locations to create a truss as shown in the image below. \n",
"\n",
"![Mesh image of truss](../images/mesh.png)\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The triangular truss shown above can be modeled using a [direct stiffness method [1]](https://en.wikipedia.org/wiki/Direct_stiffness_method), that is detailed in the [extra-FEA_material](./extra-FEA_material.ipynb) notebook. The end result of converting this structure to a FE model. Is that each joint, labeled $n~1-7$, short for _node 1-7_ can move in the x- and y-directions, but causes a force modeled with Hooke's law. Each beam labeled $el~1-11$, short for _element 1-11_, contributes to the stiffness of the structure. We have 14 equations where the sum of the components of forces = 0, represented by the equation\n",
"\n",
"$\\mathbf{F-Ku}=\\mathbf{0}$\n",
"\n",
"Where, $\\mathbf{F}$ are externally applied forces, $\\mathbf{u}$ are x- and y- displacements of nodes, and $\\mathbf{K}$ is the stiffness matrix given in `fea_arrays.npz` as `K`, shown below\n",
"\n",
"_note: the array shown is 1000x(`K`). You can use units of MPa (N/mm^2), N, and mm. The array `K` is in 1/mm_\n",
"\n",
"$\\mathbf{K}=EA*$\n",
"\n",
"$ \\left[ \\begin{array}{cccccccccccccc}\n",
" 4.2 & 1.4 & -0.8 & -1.4 & -3.3 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" 1.4 & 2.5 & -1.4 & -2.5 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" -0.8 & -1.4 & 5.0 & 0.0 & -0.8 & 1.4 & -3.3 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" -1.4 & -2.5 & 0.0 & 5.0 & 1.4 & -2.5 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" -3.3 & 0.0 & -0.8 & 1.4 & 8.3 & 0.0 & -0.8 & -1.4 & -3.3 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & 1.4 & -2.5 & 0.0 & 5.0 & -1.4 & -2.5 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & -3.3 & 0.0 & -0.8 & -1.4 & 8.3 & 0.0 & -0.8 & 1.4 & -3.3 & 0.0 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & -1.4 & -2.5 & 0.0 & 5.0 & 1.4 & -2.5 & 0.0 & 0.0 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & -3.3 & 0.0 & -0.8 & 1.4 & 8.3 & 0.0 & -0.8 & -1.4 & -3.3 & 0.0 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 1.4 & -2.5 & 0.0 & 5.0 & -1.4 & -2.5 & 0.0 & 0.0 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & -3.3 & 0.0 & -0.8 & -1.4 & 5.0 & 0.0 & -0.8 & 1.4 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & -1.4 & -2.5 & 0.0 & 5.0 & 1.4 & -2.5 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & -3.3 & 0.0 & -0.8 & 1.4 & 4.2 & -1.4 \\\\\n",
" 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 0.0 & 1.4 & -2.5 & -1.4 & 2.5 \\\\\n",
"\\end{array}\\right]~\\frac{1}{m}$"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.00416667, 0.00144338, -0.00083333, -0.00144338, -0.00333333,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [ 0.00144338, 0.0025 , -0.00144338, -0.0025 , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [-0.00083333, -0.00144338, 0.005 , 0. , -0.00083333,\n",
" 0.00144338, -0.00333333, 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [-0.00144338, -0.0025 , 0. , 0.005 , 0.00144338,\n",
" -0.0025 , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [-0.00333333, 0. , -0.00083333, 0.00144338, 0.00833333,\n",
" 0. , -0.00083333, -0.00144338, -0.00333333, 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [ 0. , 0. , 0.00144338, -0.0025 , 0. ,\n",
" 0.005 , -0.00144338, -0.0025 , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [ 0. , 0. , -0.00333333, 0. , -0.00083333,\n",
" -0.00144338, 0.00833333, 0. , -0.00083333, 0.00144338,\n",
" -0.00333333, 0. , 0. , 0. ],\n",
" [ 0. , 0. , 0. , 0. , -0.00144338,\n",
" -0.0025 , 0. , 0.005 , 0.00144338, -0.0025 ,\n",
" 0. , 0. , 0. , 0. ],\n",
" [ 0. , 0. , 0. , 0. , -0.00333333,\n",
" 0. , -0.00083333, 0.00144338, 0.00833333, 0. ,\n",
" -0.00083333, -0.00144338, -0.00333333, 0. ],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0.00144338, -0.0025 , 0. , 0.005 ,\n",
" -0.00144338, -0.0025 , 0. , 0. ],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , -0.00333333, 0. , -0.00083333, -0.00144338,\n",
" 0.005 , 0. , -0.00083333, 0.00144338],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , -0.00144338, -0.0025 ,\n",
" 0. , 0.005 , 0.00144338, -0.0025 ],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , -0.00333333, 0. ,\n",
" -0.00083333, 0.00144338, 0.00416667, -0.00144338],\n",
" [ 0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0.00144338, -0.0025 , -0.00144338, 0.0025 ]])"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"fea_arrays = np.load('./fea_arrays.npz')\n",
"K=fea_arrays['K']\n",
"K"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this project we are solving the problem, $\\mathbf{F}=\\mathbf{Ku}$, where $\\mathbf{F}$ is measured in Newtons, $\\mathbf{K}$ `=E*A*K` is the stiffness in N/mm, `E` is Young's modulus measured in MPa (N/mm^2), and `A` is the cross-sectional area of the beam measured in mm^2. \n",
"\n",
"There are three constraints on the motion of the joints:\n",
"\n",
"i. node 1 displacement in the x-direction is 0 = `u[0]`\n",
"\n",
"ii. node 1 displacement in the y-direction is 0 = `u[1]`\n",
"\n",
"iii. node 7 displacement in the y-direction is 0 = `u[13]`\n",
"\n",
"We can satisfy these constraints by leaving out the first, second, and last rows and columns from our linear algebra description. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. Calculate the condition of `K` and the condition of `K[2:13,2:13]`. \n",
"\n",
"a. What error would you expect when you solve for `u` in `K*u = F`? \n",
"\n",
"b. Why is the condition of `K` so large?\n",
"\n",
"c. What error would you expect when you solve for `u[2:13]` in `K[2:13,2:13]*u=F[2:13]`"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The condition is 3.521727e+17 Therefore...\n",
"Expected rounding error is 10\n",
"The condition of K is so large due to the the K[0,1,13] displacement values being set at 0, \n",
"when we exclude these values, the error drops substantially. This is due to the complexity of /nthe solution for the matrix at this point, which increases the error propogation.\n"
]
}
],
"source": [
"print('The condition is {:e}'.format(np.linalg.cond(K,'fro')),'Therefore...')\n",
"c_K = 17\n",
"t = 16\n",
"accuracy = 10**(c_K-t)\n",
"print('Expected rounding error is',accuracy)\n",
"print('The condition of K is so large due to the the K[0,1,13] displacement values being set at 0, \\n'\n",
" 'when we exclude these values, the error drops substantially. This is due to the complexity of /n'\n",
" 'the solution for the matrix at this point, which increases the error propogation.')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The condition is 1.053055e+02 Therefore...\n",
"Expected rounding error is 1e-14\n"
]
}
],
"source": [
"print('The condition is {:e}'.format(np.linalg.cond(K[2:13,2:13],'fro')),'Therefore...')\n",
"c_K2 = 2\n",
"accuracy = 10**(c_K2-t)\n",
"print('Expected rounding error is',accuracy)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. Apply a 100-N downward force to the central top node (n 4)\n",
"\n",
"a. Create the LU matrix for K[2:13,2:13]\n",
"\n",
"b. Use cross-sectional area of $0.1~mm^2$ and steel and almuminum moduli, $E=200~GPa~and~E=70~GPa,$ respectively. Solve the forward and backward substitution methods for \n",
"\n",
"* $\\mathbf{Ly}=\\mathbf{F}\\frac{1}{EA}$\n",
"\n",
"* $\\mathbf{Uu}=\\mathbf{y}$\n",
"\n",
"_your array `F` is zeros, except for `F[5]=-100`, to create a -100 N load at node 4._\n",
"\n",
"c. Plug in the values for $\\mathbf{u}$ into the full equation, $\\mathbf{Ku}=\\mathbf{F}$, to solve for the reaction forces\n",
"\n",
"d. Create a plot of the undeformed and deformed structure with the displacements and forces plotted as vectors (via `quiver`). Your result for aluminum should match the following result from [extra-FEA_material](./extra-FEA_material.ipynb). _note: The scale factor is applied to displacements $\\mathbf{u}$, not forces._\n",
"\n",
"![Deformed structure with loads applied](../images/deformed_truss.png)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def solveLU(L,U,b):\n",
" n=len(b)\n",
" x=np.zeros(n)\n",
" y=np.zeros(n)\n",
" for k in range(0,n):\n",
" y[k] = b[k] - L[k,0:k]@y[0:k]\n",
" for k in range(n-1,-1,-1):\n",
" x[k] = (y[k] - U[k,k+1:n]@x[k+1:n])/U[k,k]\n",
" return x\n",
"\n",
"def LUNaive(A):\n",
" [m,n] = np.shape(A)\n",
" if m!=n: error('Matrix A must be square')\n",
" nb = n+1\n",
" U = A.astype(float)\n",
" L = np.eye(n)\n",
" for k in range(0,n-1):\n",
" for i in range(k+1,n):\n",
" if U[k,k] != 0.0:\n",
" factor = U[i,k]/U[k,k]\n",
" L[i,k]=factor\n",
" U[i,:] = U[i,:] - factor*U[k,:]\n",
" return L,U"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"L,U = LUNaive(K[2:13,2:13])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Steel Displacements:\n",
"----------------\n",
"u_1x:1.95 mm\n",
"u_1y:-2.12 mm\n",
"u_2x:0.43 mm\n",
"u_2y:-4.00 mm\n",
"u_3x:1.08 mm\n",
"u_3y:-5.37 mm\n",
"u_4x:1.73 mm\n",
"u_4y:-4.00 mm\n",
"u_5x:0.22 mm\n",
"u_5y:-2.13 mm\n",
"u_6x:2.17 mm\n",
"\n",
"Steel Forces:\n",
"----------------\n",
"F_1x:0.00 N\n",
"F_1y:-0.00 N\n",
"F_2x:-0.00 N\n",
"F_2y:0.00 N\n",
"F_3x:-0.00 N\n",
"F_3y:-100.00 N\n",
"F_4x:0.00 N\n",
"F_4y:0.00 N\n",
"F_5x:-0.00 N\n",
"F_5y:-0.00 N\n",
"F_6x:0.00 N\n",
"\n",
"Alum Displacements:\n",
"----------------\n",
"u_1x:5.57 mm\n",
"u_1y:-6.07 mm\n",
"u_2x:1.24 mm\n",
"u_2y:-11.43 mm\n",
"u_3x:3.09 mm\n",
"u_3y:-15.36 mm\n",
"u_4x:4.95 mm\n",
"u_4y:-11.43 mm\n",
"u_5x:0.62 mm\n",
"u_5y:-6.07 mm\n",
"u_6x:6.19 mm\n",
"\n",
"Alum Forces:\n",
"----------------\n",
"F_1x:0.00 N\n",
"F_1y:-0.00 N\n",
"F_2x:0.00 N\n",
"F_2y:0.00 N\n",
"F_3x:0.00 N\n",
"F_3y:-100.00 N\n",
"F_4x:-0.00 N\n",
"F_4y:0.00 N\n",
"F_5x:0.00 N\n",
"F_5y:-0.00 N\n",
"F_6x:0.00 N\n"
]
}
],
"source": [
"F = np.zeros(11)\n",
"F[5] = -100 #N\n",
"A = 0.1 #mm^2\n",
"E_steel = 200 #GPa\n",
"E_alum = 70 #GPa\n",
"b_steel = F*(1/E_steel/A)\n",
"b_alum = F*(1/E_alum/A)\n",
"u_steel = solveLU(L,U,b_steel)*1e-3\n",
"u_alum = solveLU(L,U,b_alum)*1e-3\n",
"F_steel = E_steel*A*K[2:13,2:13]@u_steel*1e3\n",
"F_alum = E_alum*A*K[2:13,2:13]@u_alum*1e3\n",
"xy={0:'x',1:'y'}\n",
"print('Steel Displacements:\\n----------------')\n",
"for i in range(len(u_steel)):\n",
" print('u_{}{}:{:.2f} mm'.format(int(i/2)+1,xy[i%2],u_steel[i]))\n",
"print('\\nSteel Forces:\\n----------------')\n",
"for i in range(len(F_steel)):\n",
" print('F_{}{}:{:.2f} N'.format(int(i/2)+1,xy[i%2],F_steel[i]))\n",
"print()\n",
"print('Alum Displacements:\\n----------------')\n",
"for i in range(len(u_alum)):\n",
" print('u_{}{}:{:.2f} mm'.format(int(i/2)+1,xy[i%2],u_alum[i]))\n",
"print('\\nAlum Forces:\\n----------------')\n",
"for i in range(len(F_steel)):\n",
" print('F_{}{}:{:.2f} N'.format(int(i/2)+1,xy[i%2],F_alum[i]))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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GD9OnDhBlSpVLOEbv0SEKlWq5LslyJK+McYUU5bwTU5O5fdhSd8YY4wJEZb0jTGmJBAJ7JRHX331FSLC2rVrCxT+wIEDmTp1KgC33347q1evzvO6c+fOpXfv3n7LK1SoQFxcHHFxcVx88cUFirGg9uzZQ+/evWnZsiVNmjTh8ssvB2DLli1MmjSpQNuOjo4ORIiW9I0xxmRv8uTJdOzYkSlTpgRsm+PHj6dJkyYB2dZFF13EsmXLWLZsGbNmzcrzeikpKQHZf3pPP/00l1xyCX/++SerV6/mpZdeAgKT9APFkr4xxhi/jhw5wq+//sp7772XIenPnTuXTp068Y9//IMmTZpw11134fV6AadG+vDDD9O6dWu6d+/Ovn37smy3S5cu+IZHnzlzJh06dKB169b07duXI0eOADBjxgwaN25Mx44d+fLLL/MV99atW+nevTstWrSge/fubNu2DXBaGx566CG6du3KkCFDOHLkCLfccgvNmzenRYsWfPHFFznGNHToUJo0aUKLFi145JFHsux3165d1K5dO/V9ixYtUtebN28ecXFxjBw5Eo/Hw6OPPsp5551HixYteOedd1LXefnll1PLhw8fnq/PnReW9I0xxvg1bdo0Lr30Uho2bEjlypVZunRp6rzff/+dV199lRUrVrBx48bUxHz06FFat27N0qVL6dy5M88++2y224+Pj+f5559n1qxZLF26lLZt2/Laa69x4sQJ7rjjDr755hvmzZvH7t27s92GL5nGxcXxwgvOMC6DBw9mwIABLF++nBtuuIH77rsvdfl169Yxa9YsXn31VZ577jkqVKjAihUrWL58Od26dcs2pv379/PVV1+xatUqli9fzpNPPpkllnvuuYfbbruNrl278sILL7BzpzNS/EsvvZTaIvHggw/y3nvvUaFCBRYtWsSiRYt499132bx5MzNnzmT9+vX8/vvvLFu2jCVLlvC///0vf19aLuw+fWOMMX5NnjyZBx54AIDrr7+eyZMn07p1awDatWtHvXr1AOjXrx+//PIL1157LWFhYVx33XUA3HjjjfTp0yfb7S9YsIDVq1dz4YUXAnDy5Ek6dOjA2rVriY2NpUGDBqnbGTdunN9tXHTRRXz77bcZyn777bfUk5CbbrqJxx57LHVe3759CQ8PB2DWrFkZWjAqVarEt99+6zem8uXLExkZye23306vXr389jHo2bMnmzZtYsaMGfz3v/+lVatWrFy5MstyM2fOZPny5al9HA4dOsT69euZOXMmM2fOpFWrVoDT0rJ+/Xo6deqU7THML0v6xhhjskhISGDOnDmsXLkSEcHj8SAijBgxAsh6u1h2t4/ldFuZqnLJJZcwefLkDOXLli0L6O2K6bdVrly5DPvPvJ/sYgKndWP27NlMmTKFMWPGMGfOnCzLVK5cmf79+9O/f3969+7N//73P6pUqZJlH6NHj6Znz54Zyn/44QeGDRvGoEGDTulz5oU17xtjjMli6tSpDBgwgK1bt7Jlyxa2b99ObGwsv/zyC+AkwM2bN+P1evn000/p2LEjAF6vN7UGO2nSpNRyf9q3b8+vv/7Khg0bADh27Bjr1q2jcePGbN68mY0bNwL4TcA5ueCCC1Jr8J988km2MfTo0YMxY8akvj9w4EC2MR05coRDhw5x+eWXM2rUKJYtW5Zle3PmzOHYsWMAJCYmsnHjRs466yxiYmJITExMXa5nz56MHTuW5ORkwLnkcPToUXr27Mn777+f2ofg77//Zu/evVn2UxBW0zfGmJJAtUh3N3nyZIYOHZqh7JprrmHSpElcd911dOjQgaFDh7JixYrUTn3g1KRXrVpFmzZtqFChAp9++mm2+6hWrRoTJkygX79+JCUlAfD888/TsGFDxo0bR69evahatSodO3b020yenTfeeINbb72Vl19+mWrVqvHBBx/4Xe7JJ5/knnvuoVmzZoSHhzN8+HD69OnjN6aYmBiuuuoqTpw4gaoycuTILNtbsmQJgwcPJiIiAq/Xy+233855551HcnIyERERtGzZkoEDB3L//fezZcsWWrdujapSrVo1pk2bRo8ePVizZg0dOnQAnE6RH3/8MdWrV8/zZ8+NaBH/kIpa27Zt1ddL1BhjSoo1a9Zw7rnnBjsMv+bOncsrr7yS5Vo6OInKV1M1hc/f70RElqiqv4fZWfO+McYYEyqsed8YY0y+dOnShS5duvidZ7X84s1q+sYYY0yIsKRvjDHGhAhL+sYYY0yIsKRvjDHGhAhL+sYYUwIE48m64eHhxMXF0bRpU1q2bMlrr72W+mCdxYsXZxjTPj/q1q1LfHz8Ka1blE7l6Xjvv/9+6gN8mjVrxtdffw3AhAkTUsfiPxXPPPMMr7zyyimv72O9940xxvhVtmzZ1JHn9u7dS//+/Tl06BDPPvssbdu2pW1bv7eCnzZ8Sb9///55Wn7Hjh288MILLF26lAoVKnDkyJHUpwxOmDCBZs2aUbNmzcIMOVdW0zfGGJOr6tWrM27cOMaMGYOqMnfu3NSHzvz888+pT7pr1aoViYmJOT5+N72rr76aNm3a0LRp0wwP1ZkxYwatW7emZcuWdO/eHXCe4Hfrrbdy3nnn0apVqwy16KuvvporrriC2NhYxowZw2uvvUarVq1o3749+/fvB2Djxo1ceumltGnThosuuoi1a9cCziN377vvPi644ALq1auXOoxw5kfirlq1inbt2hEXF0eLFi1Yv359hs+yd+9eYmJiiI6OBpyBimJjY5k6dSqLFy/mhhtuIC4ujuPHj7NkyRI6d+5MmzZt6NmzJ7t27coxxoBR1dN6atOmjRpjTEmzevXqDO+dcXgDN+VFuXLlspRVrFhRd+/erT/99JP26tVLVVV79+6tv/zyi6qqJiYmanJysv70009apkwZ3bhxo6akpOjFF1+sn3/+uaqqnn322bpv3z5VVU1ISFBV1WPHjmnTpk01Pj5e9+7dq7Vr19ZNmzZlWGbYsGH60UcfqarqgQMHtEGDBnrkyBH94IMPtH79+nr48GHdu3evli9fXseOHauqqg888ICOHDlSVVW7deum69atU1XVBQsWaNeuXVVV9eabb9Zrr71WPR6Prlq1SuvXr6+qmuEzqqoOHjxYP/74Y1VVTUpK0mPHjmU4NikpKdqjRw+tU6eODhw4UKdPn546r3Pnzrpo0SJVVT158qR26NBB9+7dq6qqU6ZM0VtuuSXHGIcPH64vv/xylu8j8+9EVRVYrNnkRGveN8YYk2fqZ+j2Cy+8kIceeogbbriBPn36ULt2bSD7x++m98Ybb/DVV18BsH37dtavX8++ffvo1KkTsbGxgPPkOnAeSTt9+vTUa9snTpxg27ZtAHTt2pWYmBhiYmKoUKECV1xxBQDNmzdn+fLlHDlyhPnz59O3b9/UffvG1genxSEsLIwmTZqwZ88ev5+9Q4cOvPDCC+zYsYM+ffqkPvrXJzw8nBkzZrBo0SJmz57Ngw8+yJIlS3jmmWcyLPfXX3+xcuVKLrnkEgA8Hg81atTINcZAsKRvjDEmTzZt2kR4eDjVq1dnzZo1qeVDhw6lV69efP/997Rv355Zs2YBuT9+d+7cucyaNYvffvuNqKgounTpkvpAG3+P1lVVvvjiCxo1apShfOHChZQpUyb1fVhYWOr7sLAwUlJS8Hq9VKxY0e/T8YAM6/s7sQHo378/559/Pt999x09e/Zk/PjxdOvWLctnbNeuHe3ateOSSy7hlltuyZL0VZWmTZvy22+/ZSg/fPhwjjEGgl3TN8YYk6t9+/Zx1113MXjw4CwJeePGjTRv3pwhQ4bQtm3b1OvQ2T1+1+fQoUNUqlSJqKgo1q5dy4IFCwCnRv3zzz+zefNmgNRr8j179mT06NGpSfmPP/7Ic/zly5cnNjaWzz//HHAS759//pnjOpkfibtp0ybq1avHfffdx5VXXsny5cszLL9z506WLl2a+n7ZsmWcffbZWbbVqFEj9u3bl5r0k5OTWbVq1SnFmF+W9I0xpgQI9FX9vDh+/HjqLXsXX3wxPXr0YPjw4VmWGzVqFM2aNaNly5aULVuWyy67DCD18bvNmjUjNjY29fG7PpdeeikpKSm0aNGCp556ivbt2wPOI3fHjRtHnz59aNmyJddddx0ATz31FMnJyam3wz311FP5OoaffPIJ7733Hi1btqRp06apHQGz06JFi9RH4o4cOZJPP/2UZs2aERcXx9q1axkwYECG5ZOTk3nkkUdo3LgxcXFxfPrpp7z++uuA01nwrrvuIi4uDo/Hw9SpUxkyZAgtW7YkLi6O+fPnn1KM+WWP1jXGmGKoOD9aNy9yevyuCRx7tK4xxhhj/LKOfMYYYwIup8fvmuCxmr4xxhRTp/vlV1Mwp/L7sKRvjDHFUGRkJAkJCZb4jV+qSkJCApGRkflaz5r3jTGmGKpduzY7duxIHbvdmMwiIyNTB0LKK0v6xhhTDJUqVSp1RDpjAsWa940xxpgQYUnfGGOMCRGW9I0xxpgQYUnfGGOMCRGW9I0xxpgQYUnfGGOMCRGW9I0xxpgQYUnfGGOMCRFBTfoiskVEVojIMhFZ7JZVFpEfRWS9+7dSuuWHicgGEflLRHoGL3JjjDGm5CkONf2uqhqX7tm/Q4HZqtoAmO2+R0SaANcDTYFLgbdEJDwYARtjjDElUXFI+pldBUx0X08Erk5XPkVVk1R1M7ABaBeE+IwxxpgSKdhJX4GZIrJERO50y85Q1V0A7t/qbnktYHu6dXe4ZVmIyJ0islhEFtvDKowxxhhHsB+4c6Gq7hSR6sCPIrI2h2XFT5nfZ06q6jhgHEDbtm3tuZTGGGMMQa7pq+pO9+9e4Cuc5vo9IlIDwP271118B1An3eq1gZ1FF60xxhhTsgUt6YtIORGJ8b0GegArgenAze5iNwNfu6+nA9eLSBkRiQUaAL8XbdTGGGNMyRXM5v0zgK9ExBfHJFWdISKLgM9E5DZgG9AXQFVXichnwGogBbhHVT3BCd0YY4wpeYKW9FV1E9DST3kC0D2bdV4AXijk0IwxxpjTUrB77xtjjDGmiFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0KEJX1jjDEmRFjSN8YYY0JE0JO+iISLyB8i8q37vrKI/Cgi692/ldItO0xENojIXyLSM3hRG2OMMSVP0JM+cD+wJt37ocBsVW0AzHbfIyJNgOuBpsClwFsiEl7EsRpjjDElVlCTvojUBnoB49MVXwVMdF9PBK5OVz5FVZNUdTOwAWhXVLEaY4wxJV2wa/qjgMcAb7qyM1R1F4D7t7pbXgvYnm65HW5ZFiJyp4gsFpHF+/btC3zUxhhjTAkUtKQvIr2Bvaq6JK+r+ClTfwuq6jhVbauqbatVq3bKMRpjjDGnk4gg7vtC4EoRuRyIBMqLyMfAHhGpoaq7RKQGsNddfgdQJ936tYGdRRqxMcYYU4IFraavqsNUtbaq1sXpoDdHVW8EpgM3u4vdDHztvp4OXC8iZUQkFmgA/F7EYRtjjDElVjBr+tl5CfhMRG4DtgF9AVR1lYh8BqwGUoB7VNUTvDCNMcaYkkVU/V4WP220bdtWFy9eHOwwjDHGmCIhIktUta2/ecHuvW+MMcaYImJJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEBG0pC8ikSLyu4j8KSKrRORZt7yyiPwoIuvdv5XSrTNMRDaIyF8i0jNYsRtjjDElUTBr+klAN1VtCcQBl4pIe2AoMFtVGwCz3feISBPgeqApcCnwloiEByVyY4wxpgQKWtJXxxH3bSl3UuAqYKJbPhG42n19FTBFVZNUdTOwAWhXhCEbY4wxJVpQr+mLSLiILAP2Aj+q6kLgDFXdBeD+re4uXgvYnm71HW6Zv+3eKSKLRWTxvn37Cu8DGGOMMSVIUJO+qnpUNQ6oDbQTkWY5LC7+NpHNdsepaltVbVutWrVAhGqMMcaUeMWi976qHgTm4lyr3yMiNQDcv3vdxXYAddKtVhvYWYRhGmOMMSVaMHvvVxORiu7rssDFwFpgOnCzu9jNwNfu6+nA9SJSRkRigQbA70UbtTHGGFNyRQRx3zWAiW4P/DDgM1X9VkR+Az4TkduAbUBfAFVdJSKfAauBFOAeVfUEKXZjjDGmxBFVv5fFTxtt27bVxYsXBzsMY4wxpkiIyBJVbetvXrG4pm+MMcaYwmdJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xhjjAkRlvSNMcaYEGFJ3xRPvXuTEhPD8hH/DXYk5hSlpKQEOwRzKp59Flq0gJdeCnYkphBEBDsAY7KYMIFG333HOoAhA4l5PooqVdJm794NZ54ZrOBMbvTIEbbGxwMQVaYO1WuEBzkik2deL0nbtnGAMO4ftpAXB+wmrOaZvPUW3H13sIMzgWBJ3xQ/VauymSpAArCXxMQB1K/vVD7++gu2bIFzzoGaNYMcp/Hrww9XAk7SP5bUmk6dKgQ3IJOrX3+FRo2gaoVkPtwWDxzjP1Sh07IzufsCSEiwpH+6EFXNfSGRSkBN4DiwRVW9hR1YoLRt21YXL14c7DBMPixatIh27dq578oCR4AwPvgAHn8cdu2C6tVhz54gBmmyFS4N8LLBfXcDyckfE2HVi2KtSxf4+WeoUGEbhw6dDQhQDvgbKE+zZrBiRVBDNPkgIktUta2/edle0xeRCiLyuIisABYA7wCfAVtF5HMR6Vo44ZpQ9+abbxIdHcNyEwIAACAASURBVE2pUv/AOc8cD8AttzgJH2DvXqd2YoqXzZs3uwm/Ic4J2xeMHFli6ggh65VXnL+HDj3kljyGc7L9IQCtWwcjKlMYcurINxXYDlykqo1UtaOqtlXVOsBLwFUicluRRGlCxr59+5gyZQoDBgxgw4a33NIX/S573XVFF5fJm/vuu8999RxwHXCC118fE8SITF60bQs1aqQA03Fq+C8B7YAxgJcePYIZnQmkPDXvl2TWvF+y/Pvf/+bxxx9n1apVNGnShObNW7Fy5TJWUJ+TlGcUD5BAldTpy7lVaH5RRQizG1GC7eTJk5QrV46olBQO4wX2A9WAmqjuCHJ0xi+PBw4cgPh4HrllFOsWvEMVunAe5/I9kXzHSGAmhw5dQvnywQ7W5FVOzft5vabfAqhLuo5/qvploAIsTJb0S46UlBTq1atHgwYNqVdvFtOmQXz8j1SkBwdyWjEsDCpXhipV0qaqVTO+91deqlRRfbSQ8PTTT/Pcc8/xIPA6KXgJB84HfmfhwoXp+mmYQnHihNPjLv0UH59z2cGDkE0OiKcy1QlDwjrg8Uwv4g9jCiKnpJ9r9xoReR9oAawCfBfnFCgRSd+UHNOnT2f79u288cYbrFwJ+/cDXMI9RAHHAHic55nNxenq+gk8dWc8VUj3n9q2bbB0qfP6xInsdxgTk/0JQnZlUVEgUhSHo8R56623CAsL43mvl4kcYD9VgVeATjz44EP8+usvwQ6xZFCFxMS8Je3009Gj2W+zXLmMv+XY2AzvV+/Zw0MvvkhKhZbccyiWfzCNquznCq5luvcLNm/eTGxsbNEdA1Nocq3pi8hqVW1SRPEEnNX0S45u3bqxceNGNm3aRHh4OCdPQq+ux5g0vxprOUZHYDXn0ozVGdZr3BjWrMlmo8eO5f6fZebyQ4eyD7JMmbyfIPheVzz9Lz/88MMPXHrppXTr1o3Zc+ZwCTOYRU93bg1gD4cOHaR8qLURezzO2WtekravfP9+SE72vz0R5/eUl5as9FNkZI5hnnfeeSxevJjp03+n85XdKUMSf1OLvVTkAv7kkUcfZsSIEYVwgExhKFDzvoi8B7yqqqtzXLCYsqRfMqxcuZLmzZvz0ksvMWTIkLQZY8bAvffSkXAm4qUeSjX2kkC1DOvv2AG1agUomOTkrP9R51br2r/f+Q/en7AwqFQp//9Rly4doA9U+OLi4vjzzz9ZsWIFzZo3ZwaXcBkz3bn/AYYyaNAg3n777WCGWTDpm8/zWgM/kMOFqVKl8n9JqlIlCA/sYEfx8fFUr16dWrVqsX3sWLjiCr6hF9/Ti7Hcze3ndObLhOXs2LGDqKiogO7bFI6CJv1OwDfAbiAJ5wZOVdUWgQ60MFjSLxn+9a9/8cEHH7Bjxw6qVq3qFCYnO6Pw1KnDVVWqcNb06YwGxnEHgxiXYf24OPjjj6KPO5XXC4cP5y8pxMfn7fJDXlsUqlRxmnGL+PLDzp07qVWrFnXr1mXz5s2p+xe8OP9deIAoypUrxZEjR4o0Nr9UM35Xef3Ojh3LfpvlyuXvpK5qVYiOLhaXim6++WY+/PBD3njjDe6dOBFdsoSmrGQz9dhCXTTubGosW8T48eO57Ta7YaskKGjS3wA8BKwg7Zo+qro1kEEWFkv6xd/BgwepVasW1113He+//37ajI8+ggED4Jtv2Ny0KfXq1eMkkBRenhhP1ib4hASnP1+Jkv7yQ16TT06XH0qXzn8/hQJefujXrx9TpkxJSwpuIgsnGW9qt6G+wFTef/99brnlllPeVxYpKU5tOj+XbxISnPX8EXFq0/k92SpTJnCfqQh5vV7KlSsHwNE9ewirWBHOPJPyR3aSmAhPhP2b572P889zzmF9dDRLly5FisGJislZQZP+HFXtViiRFQFL+sXfqFGjePDBB1myZAmtfaOAeL3OuLsisHw5iHDuuefy2tq1XAZsGzeDdk/1zDAqX4cOMH9+UD5C0UpOTr3NKs+dvBIScr/8kJ9mZvfyg9frJSoqivDwcBITEwkLC0tN+lXYy/7UyzB/A7WpV68eGzdu9B/H8eN5T9q+soMHsz9Ovubz/J4ABbj5vDgbM2YM9957LzfddBMfnnkmvPwyPPMMd+8Zztix0KTWIVYlnsXGhg05Z/Fi5s2bR8eOHYMdtslFQZP+W0BFnCb+JF+53bJnAsHr9dKoUSOqVavG/PQZe/p0uOoq+PhjuOEGAL744guevfZa/gTk/PNhwQLGjIEHH0yruCUmOq2mJhNVp4UgPy0KCQlOIs5OdDSHSpVi/YEDlK1Vi6adOjnJc4wzGM9LPEYpUkgkmg00oG7MY5RO3MXg66+nstebdd85NZ9HR+f/+ncxaT4vzs466yx27NjB7t27qd6sWep3fvhEaSpWhB49YEbcUPTll2lTrhwNL7+cKVOmBDtsk4uCJv0P/BSrqt4aiOAKmyX94u2///0vl19+OZMmTaJfv35OoSpccIHzOL3160k/cHvFihVZc+gQZ4aFIYmJEBWFx+OcH3z3HXTrBrNnB+nDnI78XX5Id4Iwddw4oo4fp0ebNkQcPOicNORw+cELHClVivKZbhnLMZGX4Obz4mzx4sWcd955tGnThsVjx0K7dnDhhfCLc2tlhw7Quzc8cdtuqFuX3xo2pNOaNWzdupWa9rSrYi2npI+qntZTmzZt1BRfl19+uZ5xxhmalJSUVvjzz6qg+uabWZZ/6KGH9P+c0wLVYcMyzNu0SbVbt8KO2Pj88ssvCmiHDh0yzvB9P+mm+xmptSLjtWqlShoeHq7Hjx8PTtAm1UUXXaSAzp49W7V7d+e7+umn1Pnz5qmuXOm+uesu9ZYqpTVAn3766aDEa/IOWKzZ5MRckyYQC7yGMxjPdN+U23rFZbKkX3ytX79eRSTrfyKXXqparZrqsWNZ1jl69KhGgqaA6hlnFFGkxp/27dsroPPnz884I12yTyJCvaBraaCg+vjjjyugjzzySHCCNqqqeujQIRURrV69umpysmpEhGqlStmvsGGDaliYfl6vXtaTdFPs5JT089JldxqwBRgNvJpuMqZA3nrrLcLDwxk0aFBa4bJlMGMGPPAAlC2bZZ2oqCg6XnwxCwHds8cZec8Uuf3797Nw4UJq1qxJhw4dsl3uG65gJU1pyHqaspIhQ4YTHh7Ou+++W4TRmsyGDh2KqjoPSBo50ukU47u85k/9+vDPf3L1rl0k7dnD1KlTiy5YE1jZnQ34JmBhbssU58lq+sXTkSNHtEKFCnrddddlnHH99aoxMaoHDmS77sqVK7W7rzbZo0chR2r8ue222xTQV199NevMdDX965iklzBDFfQnOuszzziXdACdOnVq0QduVFU1OjpaS5UqpcnJyapnn60qkuO/OVVVXbZMFfTVKlWyXtIxxQoFbN7vDwwHOgCtfVNu6xWXyZJ+8fTOO+8ooL/88kta4fr1qmFhqo89luv6sbGxegDUGxGhmpJSiJGazDwej5YtW1bLlCmjHo8n6wLpkv7PEd0UVHdxhnoQ7dAoQdetW6eAnnvuuUUfvNGJEycqoH369HGa7UG1efO8rXzZZXo0OlrLgi5evLhwAzWnrKBJ/9/ADuBn4Cd3mpPbesVlsqRf/Hi9Xm3WrJnGxcWp1+tNmzFokGqZMqo7d+a6jffff1/H+pLLyJGFGK3JzHfC1q9fP/8LpO/EFxmpoHo/r6mCfhQ+QFVVGzZsqIBu3ry56AI3qqpav359BXTr1q2q11zjfE9TpuRtZbeT7YOlS+vAgQMLN1Bzygqa9NcCpXNbrrhOlvSLn7lz5yqg48ePTyvcuVO1dGkn8edRnbJl1QvqrVu3EKI02Tn77LMV0F27dmWduWVLlqQfHq4KHj1KWT1OGVWPRydNmqSAdux4VdF/gBC2evVqBbRp06aqHo9qZKRqVFTeN+D1ql5wgcZHR2u50qV13759hResOWU5Jf28dOT7E2dwHmMCYvTo0VSuXJn+/funFY4a5XQmeuSRPG/n8gEDWAWwZQtsLRGjQpd4y5cvZ+vWrbRq1Yozzzwz6wJ3352lyBkaOYwPGUAkSRwf/m/uu68fEMOCBd+Rkt2QuCbgHnzwQQBefPFF+OQT59kPV16Z9w2IwNChVDlyhKtPnmT8+PGFFKkpNNmdDfgmYC6wH/gBu2XPFNC2bds0PDxcH3300bTCAwecznuZO/Xl4sCBA3qDr0aZz3XNqenatasCOnPmzKwzjx5Vt1qvbVmotdimz4c/ob17O19RFImaQpjuo4rbEHCfAvrss88W/QcJQcePH9fw8HCt5Ls1r0kT54vZsiV/G/J4VJs21U3lyunZdeo4nQFNsUIBm/c7+5tyW6+4TJb0i5cnnnhCRUQ3bdqUVvjii85P8Y8/8r29C9q312OgKWXKBDBK48/Ro0c1LCxMq1at6n+BwYNTm/Unc62CN8s4PTPooQp6FV8qHNGwsDCtVq1a0X6QEPXYY48poI899pjqvn3OFxIbe2ob++gjVdBeoF999VVgAzUFdkpJH3eI3pymvCwT7MmSfvFx/PhxrVatml555ZVphceOqVav7gzIcwoWLFign/kyyuTJAYrU+HPffU7N/Jlnnsk60+Nxrg2XKpWa4aM5lCXp12O9O1hPQxVR7dKliwL6448/Fv0HCjEVK1ZMGw1x0CDnCxk16tQ2dvKkes8+WxeVLq3dunYNbKCmwE416c8F7gXOylReGugGTAQGZrd+cZks6RcfH374Ydam4TffdH6Gc+ee8nY7nHGGekGTmzQJQJQmO+XLl9eIiAj/zbm+7/H661Mz/Dw6+K3tr6CpekGbywpdtmyZAtqqVaui/0AhZNq0aQpoz549nYIKFZwTNH+3XObV6NGqoB1BV61aFZhATUCcatKPBO4GfgV2AquBTcBW4F0gLrt1i9NkSb/4aNeunTZq1CjtNr3kZNW6dVU7dHB6BZ+ikSNH6mZQL6gmJAQoWpPelClTFMjYSpNezZrOAC9792bI8NXYnSXp+wbr+Vk6q2oudwOYgGjatKkCunbtWtWZMzUgA1sdPaqeqlX1+7AwvfvuuwMTqAmIAl3Td9anFFADqJiX5fO4zTo49/yvAVYB97vllYEfgfXu30rp1hkGbAD+AnrmZT+W9IuHhQsXKqCjR49OK/z4Y+cn+PXXBdq2x+PRIW4HMs+//lXASI0/vvvqM/TF8Jk92/keL7jAeZ8uw6+PaJQl6acfrEcPHEi9779///5F+6FCxNatWxXQc845xylo3975EpYsKfjGn39eFfT8yEg9ePBgwbdnAqLASb8wJvckorX7OgZYBzQBRgBD3fKhwH/c101wbh8sg/MQoI1AeG77saRfPNx0000aHR2thw4dcgq8XtVmzZwexAVpYnTdeP31ehL0eNmyBd6WyWjDhg0KaOPGjf0v0LJlxiSS6T79+vWzJv0HeNV5cfPNuY/wZwrkH//4hwL60UcfqR4/7ox6GaiHVe3frylRUfoJ6Ouvvx6YbZoCK5ZJP0sg8DVwiVuLr6FpJwZ/aVotf1i65X8AOuS2XUv6wbdnzx4tXbq0Dh48OK3w22+dn9+HHwZsHz/6MsqcOQHZpnH06tVLIZux8n2D8dSrl1aWKekfOJA16YNHT4SVdUZg9Hj0lltuUUBH2uiKAZWcnKylSpXS6Ohop+Dxx50vINNjqQvk0Uc1BbRb3bp20lZMFPukD9QFtgHlgYOZ5h1w/44BbkxX/h5wbTbbuxNYDCw+66yzAn08TT49//zzCuiaNWvSCi+8UPWss1RPngzYfm5s1Ei9oIktWwZsm6EuKSlJIyIitEKFCv4X6NVLs9w5kSnpq6qed17WxD+/xZ3Oi+ef14SEBBURrVmzZhF8qtDx3HPPKZB2zf3MM52a/tGjgdvJ339rSkSEvgU6Y8aMwG3XnLICJX1gcPrr6oGegGhgCdDHfZ9d0n/TT9K/JrftW00/uJKTk7VWrVp68cUXpxXOm+f89N54I6D7mjVrlu4BTQHVEycCuu1Q9eSTTyqgDz30UNaZvsF4KlbMWO4n6ScnZ036332a6CSgKlVUVfX8889XQH/77bfC/lgho3r16hoWFqaJiYnOOBigev75Ad9Pyq236nHQG9P/OzdBk1PSz8swvGcCi0TkMxG5VEQkD+vkiYiUAr4APlHVL93iPSJSw51fA9jrlu/A6fznUxvnrgJTjE2bNo2///6be++9N63wpZegalW47baA7qt79+58VrYs4UDSs88GdNuhauzYsYSHh/PCCy9knTl0KHg8kP67zUZEBFx9dcaybldGQ/fukJAAX33FK6+8AsDDDz8ciNBD3pw5c9i7dy8dO3YkOjra+b4ACuHfRviwYZQWoemsWWzatCng2zcBlN3ZQPoJEKAnMAWn9/yLQP28rJvLNj8ERmUqf5mMHflGuK+bkrEj3yasI1+x17lzZ61bt66m+B5/++efTm3juecKZX8vPP64ekAP5OchIsav77//XoGMrTQ+6QfjyXzfvp+avo9I2ixVVV23znnTsKGqqp555pkqInogt2e7m1y1adNGAV2yZInzfZUq5dyfX0iOXnGFHgR9In3fHRMUBOKaPtASGIXz1L2xwB++hHwqE9ARUGA5sMydLgeqALNxbtmbDVROt84TOL32/wIuy8t+LOkHz/LlyxXQESNGpBX2768aHa26f3+h7DM5OVkX+e7ZX7GiUPYRKlq0aKGArly5MuvM9IPxZJZD0k83Um8a3xjwK1fqiBEjFNA77rgjsB8mxOzZs0dFROvUqeMUvP66c4wL87guWaIK+kxkpB4NZJ8Bk28FSvrAfTjX3H8A+gKl3PIwYGNu6wd7sqQfPHfeeadGRkZqfHy8U7Bxo3MN95FHCnW//+feh7w9Lq5Q93M6+/vvvxXQeul75afnG4xnz56s83JI+qpONwCRdAXff+8s26WLejweLV26tEZFRaUN4mTy7cYbb1RA33zzTaegXj3nGBfyo3D3n3ee7gJ9b8yYQt2PyVlBk/7/AWdnM+/c3NYP9mRJPzj279+vUVFReuutt6YV/utfqqVLq/79d6Hue8uWLXoINAkCMgZAKOrbt68C+v7772edOWeO81+HbzCezHJJ+iNGOD+DDKpXd84EDhzQf/7znwro+PHjC/5BQpDH49HIyEiNjIx0bqHz3VZZBMNUe93fxnO1atlJWxAFpHm/pE6W9IPjtddeU0CXLl3qFOze7dyTffvtRbL/LypWVAXd7e/hMCZHvtp2uXLl/C8QF6cZBuPJLJekr+ok/gxeeUV9g/X4WhliT/UJcCHujTfeUEBvvvlmp8D3PISJEwt/516v7omN1Y2g/7PxMoLGkr4pUh6PR+vXr68XXnhhWuGwYU5Nbt26Ionh2/feUy/oDuvQl2//+c9/FNBBgwZlnelvMJ7M8pD0s/B4nGXdwXpatmypgK6wfhn5VqtWLRUR3edryo+Kco5tEbV6nZgyRRV0VCHcGmjyxpK+KVLfffedAjrZN2DLwYOq5cur9u1bpHH8FRamXtAkf+PFm2z5etD7HUvdNxjPpEnZb+BUkr6q08kMVF98MfXOge7du+f/A4Sw33//XQFt27atU+AmYO3Tp+iC8Hh0d+XKugx0x/btRbdfk8qSvilSl156qdaoUUOTkpKcgpde0hybgwvJpz17qoIuadasSPdbks2bN08BvcDf9fpjx/wPxpPZqSb9xIyD9VSpUkXDwsKsJ3g+dOzYUQH9+eefnYIWLZzvYcOGIo1jz4gRqqAT/d3dYQpdTkk/L4PzGJNn69evZ8aMGQwaNIjSpUvDiRMwciT06AGtWxdpLFd++SUngIYrVxbpfksy38A4r732WtaZvsF4Bg8unJ1HR0O3bs5gPdOmcffdd+P1ennqqacKZ3+nmcOHD/Prr79yxhln0KlTJzh4EFasgLPOgvr1izSW6vffz77ISBp88QVJSUlFum+TM0v6JqDeeustIiIiuPPOO52CCRNgz5600cCKUGRUFEurVSMaWPTEE0W+/5Jm//79LFq0iFq1anH++ednnOn1wnvvQalSMHx44QXx5pvO3yFDePLJJ4mIiOC9994rvP2dRoYMGYKqcv/99zsFTz3ltLfcc0/RB1O6NPEDB9IhOZmfX3yx6PdvspddE8DpMlnzftFJTEzU8uXLa79+/ZyC5GSnw1e7ds6jdINg/XffqRd0dX6amUOU70l3o0aNyjrzrbecZuLrrst9Q6favO+TbrAe3xP+Pv/88/xvJ8SUK1dOS5curcm+ERIrVVKNiMg6YmIR8Rw+rPvDwnRebpeDTMBh1/RNURg7dqwC+uuvvzoFkyc7P7GvvgpqXH+Hh6sHdPuqVUGNozjL9Zn2OQ3Gk1lBk366wXo2bNiggDZu3Dj/2wkhEyZMUECvueYap2DuXOcYdusW1Lh+u+wyVdAVOXX8NAFnSd8UOq/Xq02bNtXWrVs7g3J4vaotW6o2bhz0AXKWXHONKuj0c84JahzF2dtvv62A3nDDDVln/vST819Fhw5521hBk75qhsF6GjVqpIBusrswslWvXj0FdLuvt3zHjs7xX7AgqHEd2rxZE0F/zekWTxNwlvRNoZszZ07GEdx8tbUPPghqXKqqmpSkyaD7IK3p02Rw1llnKaB7/NXkcxuMJ7NAJH3fYD0DB+qUKVMU0CuuuOLUtnWaW7VqlQLavHlzpyApybnLolq14AbmmtWypSaDxi9aFOxQQoYlfVPo+vTpo1WqVNFjx445BZ06qdap4/wHVAz8VaOGekEn3nlnsEMpdv744w8FtHXr1lln+gbjyc/oeIFI+pkG6ylfvrxGRESk3QZqUl1yySUK6DfffOMUPPusc+wL+RkXefXX7NmaBLq4fftghxIyckr61nvfFNi2bduYNm0at99+O2XLloX58+F//4OHH4bSpYMdHgA1J0wAoP4HHwQ3kGLogQceAGDEiBFZZ/puz3v++SKMCAgLg5tugqQk+M9/uPXWW0lJSeGFF14o2jiKuRMnTjBnzhwqV65M7969ncJ33gGRwr3LIh8aduvGrJo1abpwISk7dwY7HJPd2cDpMllNv/ANGzZMw8LCdPPmzU7BFVc4A6wcORLUuDI7GBGhyaBzZ84MdijFRmJiooaFhWk1f03Bx4/nbTCezAJR01dVPXw4dbCeo0ePalhYmFatWvXUt3caeuSRRxTQYcOGOQUrVzrHvZj9v/fjmDHqAV1TlCMDhjCspm8Ky4kTJ3j33Xe54oorqFu3LqxcCd98A/fdB+XKBTu8DI5fey0RwMqBA4MdSrHx+OOP4/V6GexvwJ0hQ5zBeIJxnzdATEzqYD1RP/5I586diY+P54cffghOPMXQ+PHjCQ8P55lnnnEKfONh+N4XE10GDWJG2bLUnj4dDh8OdjihLbuzgdNlspp+4fLdKjRr1iyn4MYbVcuVU42PD25g/hw6pB7QrZD2MJIQFxMTo6VKlcrawdHjcb7HUqXyf593oGr6qqpr1zrbadRI//zzTwU0Li6uYNs8TXz55ZcK6GWXXeYUeDzOM4ujo4MbWDYmDB6sCrrroYeCHcppD6vpm8KgqowePZpzzz2Xbt26wZYtMHky3HknVKkS7PCyKl+ehFq1qAOMuP32YEcTdJMmTSIxMZFevXoRERGRcea4cXD0KPTpA5nnFaVGjaBJE/jrL1qEh1O3bl2WLVvGrl27ghdTMfGEO8rk66+/7hS8+y6cPAnXXhvEqLLXa/hwZotQ9u23neG5TXBkdzZwukxW0y88CxYsUEDffPNNp2DwYKdmWIyfrOX5/HNV0GlhYf4HoQkhDRo0UEC3bNmSdWZ+BuPJLJA1fdW02z+7dtV3331XAb0+xB/ksmXLFgW0QYMGaYUNGjjHadeu4AWWixHuQ7COjhwZ7FBOa9gte6Yw3HDDDRoTE6OHDx92kkNkpOqttwY7rFwdj4jQ46Bvjh4d7FCCZt26dQpokyZNss70jeaW18F4Mgt00ldNHazHk5CgUVFR2Y8cGCKuuuoqBfTjjz92Cv7+2zneDRsGN7BcLFm8WBeCHqhaVTUlJdjhnLZySvrWvG9OyZ49e/jss88YOHAgMTEx8MYbzu1Vjz0W7NBypVddRSSw6emngx1K0PgeyvK8v1vx3Fv4eOONIowoF48+CqqEPfww/fr1IykpiZEjRwY7qqBISUnh+++/JyYmhhtuuMEpHDbM+fvII8ELLA9at2nDVw0bUjE+Hu9nnwU7nNCU3dnA6TJZTb9w/N///Z8CunbtWtVDh5zbunzjfhd327c7D+EBXRSCo4QlJSVpeHi4VvR3K97WrZrvwXgyK4yafrrBeg4kJKiIaI0aNQKz7RLm2WefVUDvvffetMLo6NSBjIq7SR9/rGtAD9WrF7QHcZ3usJq+CaTk5GTefvttevToQaNGjZzBQA4edG7xKglq1+Z4zZo0Bp6/995gR1PknnnmGTweD3fccUfWmb7b8557rmiDyk1YGNx4IyQlUXHcONq3b8+uXbuYP39+sCMrcmPGjCEsLIwXfY+s/fprOHIEevZ0jlMxd03fvrxdvjzlN22CmTODHU7oye5s4HSZrKYfeJ999pkCOn36dGcAlzPPVO3ePdhh5c+bb6qCvgeamJgY7GiKVOXKlTU8PFyPHz+ecYZvMJ4KFQq2g8Ko6as6LUphYapVq+qvv/6qgLYPsaFdZ82apYB27tw5rbB1a+dYr14dtLjy69knntDtoMfatQt2KKclrKZvAmn06NHExsZy+eWXw0cfwe7dadcUS4q77iIlPJxrgCElpYUiAL799lv2799P9+7diYyMzDhz6NDgDsaTm/LloWtXiI/ngn37qFGjBgsXLuTAgQPBjqzIPOb2mRk1apRTkJgIf/wBtWrBuecGMbL8uf3uuxkVFkbZ33+H334LdjihJbuzgdNlspp+YC1btkwBffnll53eYzAXKQAAIABJREFUt+eco9q2bYm8Nudxn/XdJ5C10WKuefPmCujqzLXCggzGk1lh1fRVMwzW88orryigt912W2D3UUzt2rVLAT3rrLPSCh96yDkezz0XvMBO0YA+fTRBRJN79w52KKcd7JY9Eyh33HGHli1bVhMSElQ//dT5CU2dGuywTs2KFeoFXQj64YcfBjuaQrd9+3YFtJ6/Z5u//bbzXf7znwXfUWEmfVXVc89VBfWsXKllypTRqKiokLh9r3///gro2LFj0wqrVHEuyZTApw/+8ssvOtz3O1m5MtjhnFYs6ZuASEhI0LJly+rtt9/u1OxbtVJt1KhE9BjOTnL16poC2txfIjzNXHvttQrohAkTss6sVevUB+PJrLCT/nffqW+wnuuvv14BHTduXOD3U4x4PB4tU6aMli1bNu0EZ/585zh06hTc4E6R1+vVzs2a6VER9Q4YEOxwTiuW9E1A+JpTly1bpjpjhvPzee+9YIdVMMOHq4K+5K/J+zSSnJyspUqV0nLlymWd6RuMJ1Cd4go76auqVqumKqK71q5VQM8+++zC2U8xMXLkSAV04MCBaYVdujjHeN684AVWQOPHj9fXQD3h4ar+RoY0p8SSvimwlJQUrVevnv5/e/cdH1WVPn78cyYJKYQACb1IAJGmiKEtSlFxQRQB2fW3IIsF0VUIi6CsIOgqy4pYVgURwS7Wr64KWFYQXRU7ICjSFpESOhEIhJA2z++PMzFtEgLMzJ3yvF+v+5qZe+7MfXKSzHPPveee07NnT7viwgtt6zAETyuWkpMjbmNkD0i/fv2cjsZvZsyYIYDcfPPN5Qs7drRfBb4asyAQSf/BB+3nX3+9dOzYUQBZs2aNf/YVBBo3bizGGHtZTcT2u4iKEklOdjaw03Ts2DE5u2ZNyTdGpOS4A+q0VJb0tfe+qpIPPviALVu22ClYv/4a/vtfuO02qFbN6dBOT1wcpnt36gG/LlnC8TCdCOTRRx/FGMPMmTNLF2zfDqtXQ2oqdO7sSGynZMIEiIuDV17hfs/96rcWjSQYZr755ht27txJly5dSE5OtisfesjeafHnPzsb3GmKj4+n/0038RLgfuop2L/f6ZDCX0VHA+GyaEvfN/r16yeNGjWSvLw8kUGDRGrXFgmX+9uXLRMBWQLyt7/9zelofO7TTz8VQHr06FG+8IorbIu5aAx3XwhES19E5IYb7D5mzJA6deqIy+WS7Oxs/+3PIeeff74A8nnJ0/hNm9o+GIcPOxeYj2zZskXaghSCyF13OR1OWEBP76vTscFz3XTatGkiP/1k/2zuvtvpsHzKXauW5IGknO7ANEGoS5cuAsi3335busBXg/GUFaikX2Kwnr///e8CyLhx4/y3PwccPHhQjDHSoEGD4pWbNtm6Pfdc5wLzsYEDB8q71aqJu1Ytkawsp8MJeZUlfT29r07oiSeeICYmxg7b+sADkJAAYTZ8rRk2jBjg2sOHWbRokdPh+MyBAwdYsWIFTZo0oUuXLqULJ08O7sF4TqTEYD1TOnQgOjqa5557zumofOqOO+5ARBg/fnzJlfZx6lRngvKD9PR07s3Lwxw6BPPnOx1OeKvoaCBcFm3pn56srCxJSkqSq6++2k7GEh0tEmatKRERycwUN8gWkPbt2zsdjc9ce+21AsisWbNKF7jdvhuMp6xAtfRFigfradNGrrjiCgHktdde8+8+A6h69epSrVq14tv0CgvtxDre7sIIYYWFhdK6dWv5NilJpFEjkePHnQ4ppKEtfXWqFixYQFZWFmPHjoWHH7YrJ0xwNih/SE7GnHMOqcDRn35i+/btTkd02txuN6+//jpxcXGMKduaf+opyM6GwYMhOtqZAH2hdWs7/OyGDczxnH26O0ymTH7uuefIzs5m0KBBuIom0nnhBTuF9aBBzgbnYy6Xi/T0dO7MyoJdu+Cll5wOKXxVdDQQLou29E+d2+2Wtm3bSqdOncS9b59IfLxIyfuEw80rr4iAvA5y5ZVXOh3NaZszZ44AMmLEiPKFvhyMp6xAtvRFRN59V4oG62nTpo0AsnnzZv/v18+aN28ugOzcubN4ZZs29mfdvt25wPzk8OHDkli9umxJThZp1coO861OCdqRT52KZcuWFY/gdtddEmozeZ2S+Hg5BhITHS35vj7tHWBNmzYVY4zs27evdMGnn4pPB+MpK9BJX+S3wXrefu45AeTyyy8PzH795McffxRAOnToULxy715bpy1bOheYn6Wnp8ufoqPtz/nGG06HE7IqS/p6el9VaPbs2aSkpPCnyy6Dxx+3p4JDaCavUzJwIPHAVQUF5e9pDyGrVq1ix44dpKWlUbdu3dKFRfezz54d+MD85fbbQYTBn31GzZo1+fDDD8nLy3M6qlNWNObAjBkzilfeeWdRoQMRBcaYMWN4o6CAzJQUuP9+e+iofKuio4FwWbSlf2q2bt0qLpdLJk2aJPLww/bI++uvnQ7L/7ZuFTfIjyD16tVzOppT1qtXLwHk448/Ll2wbZv9Xaam+m/nTrT0CwvtvmJjZcKttwogU6dODcy+fSw7O1tcLpcklx1tLynJdrwM4bkuquKSSy6R22vVsn8/S5Y4HU5IQlv66mTNnTsXgFtGjrQd+C66CLp1cziqAGjWDJOaSnsgf98+Pv74Y6cjOmlHjx5l+fLl1KtXj4suuqh0YXq6ffzHPwIfmD+5XDB8OOTmMiM5GZfL9dvfcKi56667cLvdjB49unjlBx9AVhZccon9WcPY2LFjmXXoEDm1a9vWvvKtio4GwmXRlv7JO3bsmKSkpNjObE8/bY+4P/zQ6bAC55FHRECeAAnFv5/Ro0cLINOnTy9d4K/BeMpyoqUvUjxYT9260qdPHwHk/fffD9z+faRmzZoSHR0tuSXnteja1dZnGM8vUKSgoECaNWsmc1q0sD/zN984HVLIQTvyqZPxnKcz1LIlS0TOOkskLc3e1x0pCgtFoqPlkDFijJG9/ujh7keJiYkSExNTviPirbfaf/nJk/0bgFNJX0Tk4otFQLbOnl2+I1wIeOONNwSQyy67rHhldra906LkqHxhbubMmZIIkp+UJBIGd9IEWmVJ39HzRMaYZ40x+4wxa0usSzbGLDXG/M/zWLtE2WRjzGZjzEZjTD9nog5vIsLs2bNp164dFx0+DJs2waRJYIzToQWOywUXXURNES4S4fbbb3c6oip76aWXOHr0KAMGDCC67P33Tz8NMTFwzz2OxBYQc+YA0GzOHJo3b84PP/zArl27HA6q6u666y4AZs2aVbxy2jR7CHXjjQ5FFXg33HADBXFx/OfMM+Htt2H9eqdDCh8VHQ0EYgF6AWnA2hLrHgAmeZ5PAmZ6nrcD1gCxQHPgZyDqRPvQlv7J+fLLLwWQJ+bMEenUKXLvl125UtwgXxkjcXFxxSOiBbkzzzxTANm2bVvpgnnzbMv7qqv8H4STLX2R3+5lf3P6dAHkqkD8zD6wZcsWAeSss84qXVCvnr1skZPjTGAOGTlypJwRHy/u+HiR6693OpyQQjCf3gdSyyT9jUBDz/OGwEbP88nA5BLbfQh0P9Hna9I/OVdffbUkJSXJsUWL7J/HU085HZJz6tWTQpBq3oaxDUJFEyN5HUa4SRN7inj3bv8H4nTSX7zY7vvii8sPYxvEBg4cWH4Y4e++sz9L9+7OBeaQVatWCSCrevSww3+H4YBE/lJZ0g/GbqD1RWQ3gOexnmd9Y2BHie0yPOvKMcbcZIxZYYxZsV/nZ66yPXv28MYbb3D99dcT/9hj0LAhjBjhdFjOGTkSFzAVeOCBB5yO5oSK7u2+zzO//G8+/xwyMqBrV2jQwIHIAmzAAKhbF/77X0b+4Q/k5eXx0EMPOR1VpQoKCnj//fdJSkriT3/6U3FB0b354Xa3RRWcd955XHDBBYzbvh0B+Ne/nA4pLARj0q+It4vKXkduEJH5ItJZRDqXG5hEVWj+/Pnk5+czvkcPWLbMjrEfG+t0WM656y5wubglOpqMjAy+++47pyOq0PHjx1m6dCm1a9dm4MCBpQvHjbOP4TQYz4ncfju43TzodmOM4ZFHHnE6okpNnz6dgoICrrvuuuKVBQXwySdQqxb06eNYbE5KT0/n8+3b2dm7t519LzPT6ZBCXjAm/b3GmIYAnsd9nvUZQNMS2zUBQqeHTpDLy8vjySef5NJLL6XZq6/aL5q//MXpsJyVkACdO5NSUMA5wIQgnmjonnvuobCwkJtuuql0wY4d8P33kJoKZafWDWe33w5xccS++Sbdu3Vjz549LF++3OmoKjRnzhxcLlfpEfhmzbKJf+hQ5wJz2JAhQ2jYsCHTc3Ph2LHIOnD1l4rO+wdqofw1/Qcp3ZHvAc/z9pTuyLcF7cjnM6+99poA8sncufbab4iOZuZz778vAvJRtWpijJHDhw87HZFXtWvXlqioKMkp29lr4EB7TXjBgsAF4/Q1/SIjR4qAbB0zRgDp1q2bc7FU4sMPPxRALrrootIFqam2DjMznQksSNxzzz0CyJE+fUSSk0WOHHE6pKBHsHbkA14FdgP52Jb8DUAKsAz4n+cxucT2U7C99jcC/auyD036VdOjRw9p0aKFFF53nZ1Nr+wkLZEsKUkKXC4B5Oabb3Y6mnIWLlwogPTr1690QaAG4ykrWJJ+icF6GjVqJMYYyQzCBNqxY0cBZE3JgXe2bLH1d/bZzgUWJHbt2iXR0dHyyJ/+ZOvkkUecDinoBW3SD8SiSf/Evv/+ewFk3tSpdmzvsWOdDim4jBolAjIuKkqqV6/udDTltG/fXgDZsGFD6YJADcZTVrAkfZHfBut5e9QoAeT6ILv1a/fu3QJIs2bNShdcdZWtv5deciSuYDNs2DBJSkqSgh497J0oJUcrVOVo0leVuuGGGyQhIUFybrnFtgy3bnU6pODimdJ0d/XqxVMNB4lt27YJIGeeeWb5wsREexAX6C/IYEr669eLgLjbtJHY2FiJj48Pqtv3hg4dag+4580rXRAfbxclIiJffPGFAPJuerr9u3r2WadDCmqa9FWFMjMzJS4uTsZfc41I9eoiI0Y4HVJwattW3CBNQFq0aOF0NL8ZMmSIALKg7DX7osF4/vjHwAcVTElf5LfBem67/HIB5Mknn3Q6IhERKSwslNjYWElISCh9IPLyyxKwgZRChNvtlrS0NGnfrp24O3YUad067GcbPB2VJf1g7L2vAuiZZ57h+PHj/K16dcjOhjvucDqk4HTHHRjgyZo12bJlC+uDYFjQgoICFi9eTGJiIn/+859LF/7jH3boZO3tDJ4xFv556BDgZRwDhzz66KPk5uYybNgwXCVnzivqwT9zpjOBBSFjDOnp6fy0bh3rrrgCNm6Ed95xOqzQVNHRQLgs2tKvWEFBgaSmpkrfCy6wvWIHDnQ6pODlma89PzZWAOnbt6/TEcl0zzCzo0ePLl3w+ee2pehUb/Vga+mLiNStK+JyyQXnnCOAfP/9905H5L1zYWamrbfUVOcCC1JFs3/+cfBgkZYtRbp0iayJwE4C2tJX3rz33nts3bqVma1awa+/2ol1lHcuF/TvT3RuLtdWr86yZcs4fvy4oyHNmjULl8vFzLItwkgcjOdEbrsN3G5eb9IEgPHjxzsazldffcWuXbvo1q0bycnJxQVTptjHsWOdCSyIxcfHM2rUKN5atIjMUaPgu+/s4EXq5FR0NBAui7b0K/b73/9eUhs1EneTJiK9ezsdTvDbtEkEZGe9egLIxIkTHQvl448/FkB69uxZumD7dttSLNsbPJCCsaVfWCgSGysSFyd1U1LE5XLJEQfv9+7evbsAsnz58tIFtWrZcebLTousRETkl19+EZfLJXdNnGinGr7kEqdDCkpoS1+VtWHDBpYuXcpj3bphMjK0lV8VrVpB06Y03L+f2sbw1FNPORbKxIkTAXtduJT0dPs4bVqAIwpyLhcMHw7Hj/NyWhput5s7i8a1D7BDhw7x9ddf07BhQy644ILigmXL4NAhuPBCKDstsgIgNTWVK664grnPPUd+ejp89BGsWOF0WCFFk36EmjNnDrExMVy2di107Aj9+jkdUmgYPRojwnNNm3Lo0CHefvvtgIewf/9+Vq1aRdOmTUlLSysuOH4c3nsPataEa64JeFxB75FHwOXiktWriY6O5vnnn3ckjIkTJyIi3HbbbaUL7r7bPpYcileVM3bsWA4cOMAbKSn2b107PJ6cik4BhMuip/fLO3z4sCQmJsojvXrZU7Alp/JUlcvPF4mKkoKaNQWQdu3aBTyEESNGCCCPP/546YIJE+zvc9KkgMdUSjCe3i9y0UUiINO6dRNAXn755YDuvrCwUBISEspP95uTY0cPrFcvoPGEIrfbLW3atJFOnTqJe/JkO2x42YGpIhx6el+VtGDBAo4ePcqozExo2RL+8AenQwod0dHQqxdRhw8zrHFj1q1bx7Zt2wK2e7fbzRtvvEFcXBy33HJL6cL58218994bsHhCzpw5ANxx4ABgJyoKpGeffZZjx45x5ZVXlr5N7777wO2G668PaDyhqOj2vZUrV7KqZ087E+iDDzodVuio6GggXBZt6ZdWdJR8S+vWtiUWJAOVhJQvvxQB2dO6tQAyePDggO161qxZAsg111xTumD+fHFsMJ6ygrmlL/LbYD2XtmghgGzatClgu05NTRVAdu/eXbqgQQPb0s/ODlgsoSwrK0tq1Kghw4cPFxkzxo48mZHhdFhBAx2RTxVZunSpALKzfXv7RVN2VjZVNXXqiERFSe3q1SUmJkbyA9TbukmTJmKMkf3795ctsKc5yyYTJwR70l+0yB60ee7Z79+/f0B2+8MPPwgg5557bumCNWtsXXXpEpA4wsXYsWMlJiZG9n3zjR0+fMIEp0MKGpUlfT29H2Eef/xx+tSqRaOffoLx4yEuzumQQtM110BhIS+efTb5+fkBGeVtxYoVZGRk0LlzZ+rUqVNcsHw5ZGRAly7QoIHf4wh5V1wBdepQ/6efaJKUxJIlS8jLy/P7bm+99VaA8uMqFN05o5dlTsqYMWPIz89n3pIlMHQozJtnxxtRlavoaCBcFm3pFyu6x/WHNm3sdKtBOjd8SDhyRMQYKWzYUFwul9StW9fvu+zRo4cA8t///rd0QVqabSl++63fY6iSYG/pi4jcf78IyNdnny2A3HnnnX7dXXZ2trhcLklJSSldUFhoT00nJfl1/+Gqb9++0qhRI8lbudL+vU2b5nRIQQFt6SuAuXPnchZw9saNMGYMJCU5HVLoSkyEtDRcu3czPC2N/fv3s2zZMr/tLisriy+++IL69evTu3fv4oKMDFi1Cpo1sy19VTUTJ0JsLF03bybKGJ588km/7m7KlCm43W5Gjx5dumDuXMjPh6uu8uv+w1V6ejq7du3inZ9/hgED4LHH7BwiqmIVHQ2Ey6ItfevYsWOSnJwsS1NTbetrzx6nQwp9CxeKgBzq1UsASUtL89uubr75ZgHkvvvuK10waJBt4bzwgt/2fdJCoaUvInL99SIg8848UwBZvHix33aVlJQk0dHRklt2muOWLW097d3rt32Hs4KCAmnevLkdmXL5cluXjz3mdFiOQzvyqWeeeUYagRRGR4uUnaBFnbrERJFq1eSMJk0EkL1++vKu7q3DYE6O7cAUbKeGQyXpHzok4nJJfu3aAsg555zjl928/vrrAsiAAQNKFxQNmdymjV/2GykefPBBAWT16tUiPXuKNG0qkpfndFiOqizp6+n9CCAizJ49m3+mpGBE4PbbnQ4pfAwZAnl5vNCrFwATJkzw+S5eeOEFsrOzGThwINElh2edMgUKC6HsKWNVNTVrQu/eRB88yMj69fnxxx/JyMjw+W7u9oy0V27I5MmT7ePf/ubzfUaSkSNHEh8fz5w5c2ynyB074NVXnQ4reFV0NBAui7b0RZYvXy61QXJjY0WGD3c6nPCyc6cIiLtVK4mPj5fY2NjSI635QMuWLQWQHTt2lC5ITLSTs5Q9Zey0UGnpi4isWycCcrBhQwHkjz4e52Dz5s0CSBtvrfnq1e0kQD7+e4lEo0aNkvj4eMk8cECkQweRtm0jul7Rln5ke/zxx7ktNpZqublwxx1OhxNeGjWCVq0w//sfN11xBbm5ucyaNctnH79+/Xp+/vlnzj77bJp4poUF4Kmn4OhRGDQIqlXz2f4iTtu20Lo1tXbv5tz4eBYuXEhBQYHPPr7oNr1//OMfpQv+/W/b4ax/fzsZkDot6enp5OTk8Nzzz9vW/vr1sHix02EFp4qOBsJlifSW/q5duyQpKkqOxMWJlL2mqHxj3jwRkJyhQ8UYI40bN/bZR/ft21cAeffdd0sXNGliW9LBMBjP7t32rMMbb9jX3lr6d94pkpzsXIyV8XTIXNe4sQAyY8YMn3xsbm6uREdHS82aNcsXduxo62fjRp/sS4n07NlTWrRoIQXHj4s0by7SrZuI2+10WI5AO/JFrr///e+SXvQFXHbubuUbhYUi1aqJJCZK165dBZCvv/76tD82JydHoqKiJLlssvz8c/v77Nr1tPfhM8bYmOLjSyd9Y2xnQwi+Docl1akjbpdLaoDUr1/fJx951113CSDjx48vXXD4sK2Xpk19sh9lFXWYXLx4scgTT9i/uU8+cTosR2jSj1C5ubnSpH592RsXJ9Kjh9PhhLcBA0RA1s6YIYCcf/75p/2REydOFEAmlZ01r1Mn+6/7zTenvQ+fKTrzUNly7bVOR1mx++4TAVlYv74A8umnn572R6akpIjL5ZLssuPp//Wvtj7K3n6pTkteXp40atRI+vXrZ+9sqV9fpF8/p8NyhCb9CPXKK6/IiKIv3Pfeczqc8LZ2ra3nTp2kQYMGYoyRgwcPntZH1qpVS6Kiokrf271jh91Ps2anF6+vzZ174qQfzPM8FBaKxMZKYbVqAkiX0xwH//333xdA+vTpU74wOdme/QjQfA2RZNq0aQLIxo0bRWbMsH93q1Y5HVbAVZb0tQdJGJszezZ3xcQg55xjOwwp/2nfHho3hlWrmHjLLYgIk4rGVD8F77zzDocOHaJv375UK9lRLz3dPk6bdpoB+9jNN1deHhMT3PM8uFxw9dW48vK4NymJFStWcMAz/e6pmOy5Ha/cbXrLl9vx4Xv2tNMgK5+68cYbiYmJsbfv3XKLHXX0/vudDiu4VHQ0EC5LpLb0V65cKQOLWlgvv+x0OJHh3ntFQArHj5dq1apJ9erVT/mj2rVrV37a1+PH7S16wXptvEaNilv5v/ud09Gd2MGDIsZIdmKiAHLtKV6O2LlzpwCSmppavrBXL1sfX355erGqCl199dWSlJQkWVlZIpMm2SmLAzh9cjBAW/qR5/HZs5niclHYrBn8v//ndDiRYdIkiIrCtWABgwYNIjs7m+eee+6kP2bbtm2sW7eOVq1a0apVq+KCKVOgoODErWqnDB5ccdnTTwcujlNVqxb07k3C0aMMjInh9ddfx+12n/THFA3QNHXq1NIFeXnwxReQkgLdu/siYuXF2LFjycrKYsGCBTBunD3L9NBDTocVPCo6GgiXJRJb+gcOHJBLYmJsi+KJJ5wOJ7L07CkCsnfxYgGkRYsWJ/0RgwcPFkBeeuml0gU1agTnYDxFcnK8t/KNcTqyqvvpJxGQHUlJAsicOXNO6u2FhYVSrVo1SUhIKD9I0/Tptj7K9uZXPuV2u6VTp07Stm1bcbvdIjffbO+u2bnT6dACBu3IF1lmzpwpH4DkJyeLHDvmdDiR5dNP7b/VRRdJhw4dBJC1a9dW+e35+fkSExMjNWrUKF3w1FP2c//wBx8H7GNFB5sll1C7Na11a3GDnAXS9CRjf+CBBwSQG2+8sXxh48b2AEintPa7559/XgBZtmyZyM8/21P8Eyc6HVbAaNKPIAUFBXJZw4b2V+ujQUbUSapdWyQ6Wt5buFAAueSSS6r81qLex+np6aULmjaVoBmMpzJdu5ZP+vPmOR3VyfEM1vN1jRoCyMqVK6v81oYNG3q/c8Mz3K+cd56Pg1Xe5OTkSEpKigwePNiuGDbMDiD166/OBhYgmvQjyDvvvCOvguQlJNhZxFTgjR1r/7VmzpTk5GRxuVxyrIpnXOrWrSsul0uOHDlSvLJoMJ7TvI0sINasKZ/0Q1GdOuI2RhJBevXqVaW3LF++XADp3r17+cKBA21dvP22jwNVFZk0aZK4XC7ZunWryOrVtv6nT3c6rIDQpB9BRnTvLgUghRF0KivoeHqByxlnyNSpUwWQCRMmnPBtH330kQDSu3fv0gVFg/H4YJS/gCganS/YR+GrjGewnhfj4sofhFWgW7du3kdj9IwBIImJfgpWebNt2zZxuVzFg1tddplI3boiZQdLCkOa9CPEunXr5EmQ/Ojo4D8NHO46dBAByV27tuLx18tIS0sTQFaVHEwkI0OCcjCeypQcne/6652O5tR4EnVedLQAMmbMmEo3z8zMFGOMNGrUqHxhUX+MESP8FKyqyJVXXikpKSn2TNtnn9nfw+OPOx2W31WW9PWWvTCy4IEHuA7IGz4cGjRwOpzI5rldq9rdd9O3b18OHz7Mv//97wo337dvH6tWreKMM87gvPPOKy4oGozn3nv9Ga1vTZlS/PyJJ5yL43S4XDBsGDEFBUx0uXjhhRcq3XzixImICLfddlv5wgcftI86SEzApaenk5mZyeuvvw49esD559vfR36+06E5p6KjgXBZIqWlf/jwYXkkJkYKjRHZvNnpcJSISEKCSFycbN60SaCCOdU9hg8fLoDMnTu3eGWwD8ZTGbA9+UOZ5zLNQc/QvAsWLPC6WWFhocTHx0tsbGz52/R277Z10apVAAJWZbndbmnXrp2kpaXZ2/cWL7a/jwp+l+ECbemHv9fmzuWG/HwO/v730LKl0+EosHPdHz9Oyy+/5KyzzmLDhg388ssv5TZzu928+eabxMfHc9NNNxWpEakUAAAVwklEQVQXBPtgPJVJTIROnZyO4vR4BuuplZfHpcC9FZxtefrpp8nJyWHIkCG4XGW+Uj3D8eIZsEcFljGG9PR0Vq1axddffw2XXQZnn23PupzCwEthoaKjgXBZIqGlX1hYKA+npNgj2NWrnQ5HFdm2zf5O2raV1157TQAZOHBguc0effRRAeS6664rXRDsg/FUJj3dTkIU6jwTKf3P09rfsGFDuU2aNWsmgOz21o+mRg07MEzZMwAqYI4cOSJJSUly9dVX2xULFtj/y0WLnA3Mj9COfOFt6cKFshcko0MHp0NRZbVoYf/N9u6VpKQkiY6Olvwys6s1btxYjDGSmZlZvPLpp+37hgwJcMCqnLPOEjdIK5BLL720VNHq1asFkPO83X9fdCr58ssDFKiqyLhx4yQmJsYemOXni6SminTvLuJ2Ox2aX1SW9PX0fhjYPGUK9YC6//qX06Gosm691T5OmcJ1111HQUEB06dP/634m2++YefOnXTp0oXk5OTi9xWdSp49O4DBKq8eeAADzIuOZunSpRw/fvy3ols9v9+ZM2eWf9899+Ap9H+MqlKjR48mPz+f+fPn29kNb78dvvrKznoYYYw9KAhfnTt3lhUrVjgdht/8smkTpnVrTJMmNNu+HYxxOiRVktttp5SNj+fY7t3UqFGD5ORk9u/fD0CPHj344osv+Pzzz+nRo4d9zxdf2J7GXbrAt986GLz6Td26uDMzqSlC+qRJzJgxg6NHj1KzZk1SUlLYt29f6e2PHrXTujZsCDt3OhOzKqV///6sWbOGbdu2EZOfD6mp0LkzvP++06H5nDFmpYh09lamLf0Q9/X48aQC1adN04QfjFwu6NMHsrJI+OwzevfuzYEDB1i6dCmHDx/myy+/pEGDBsUJH+zMYKCt/GAyYQIuER4G5s2bB8CUKVNwu92MGTOm/Pb33mtHKijZMVM5Kj09nd27d/PWW2/xyjsJLG1/K3zwAe7v1zgdWmBVdN4/XJZwvqaffeSIrHO5ZFtSknYUCmZFQ9N27Spr1qwRQDp27Ch/+ctfBJD777+/eNuiwXjOOMO5eFV5nsF6jrtcAsjChQsr7KMhInbkN5crNDthhqmCggJp0aKF9OjRQw4cEGmSeFAOU0P+HTdMRo60IyRXYeDFkEA4XdM3xlxqjNlojNlsjJnkdDxO+nzyZNq63RwbO9a2KFVw6tDBDpa0YgUdzjyTZs2asXr1al588UWqVavGxIkTi7ctGoyn6HqwCg6ewXpi3W4mAKNGjSIrK4vLL7+c6Ojo0tt++y3s328HgqlWzZFwVXlRUVGMGTOG5cuXs2PHaq4dV4snuZlBx1/nv8/+zJVXQp060L+/HVNq+3anI/aPkLqmb4yJAjYBvwcygO+AYSKyrqL3hOs1/aGNlzF1V39qUEit/Xsx+uUS1GKnTyf2wQfJnTCBJ5KSmOBJ6le0bs1LRdft8/Ko0aABJCRwJCPDuWCVd4cOUSM1lQMi1POsWrNmDampqaU2ix84kJhPP+Xou+/i7tkz4GGqih08eJDWLVvSotqFHK+5iJw9h9lKKs8yktHMLbd9hw5wxRV26dIldNpWlV3TD7Wk3x24R0T6eV5PBhCRGRW9JxyT/q5Ve3i805+5j2UAbAP2lln2eFl3yJFoFUA14BiwH2hYwTYzgb95HiP6FFYQ+xi4CLgU+NBLuQs4DhwBUgIYlyrNYOu/fpmlwW+PLupxLvXZS0N2k0ssCRzzvNO7+vXhj3+Eu++GevUq3CwoVJb0o72tDGKNgR0lXmcA3cpuZIy5CbgJ4IwzzghMZAHUKK0BX3ElR1jGS6TRq7OLekeOkHrkCAlHj5Jw9CguL6NNFURFkZOYSHaNGhzzLNk1anAsMbH4tef58YQE7RjoY3tnzaLhtm10c43lG/e3wHbgNh5+2NbzmDvvpDA/n9gZM3i47CljFRS27d6NPPQQD2P4kKuArtx3nyE21pZ3+vhjYt57j20XXMDDQ4Y4Gmu4MW438dnZJBw5QsKRI1Q/erT4uecxoWhddnaF34HH3G4ypD5baMT3nMde6vM951FRwm/YEAYMsK39Pn0gIcHPP6ifhVpL/yqgn4iM8rweAXQVkbEVvSccW/oAGd/tYv2y3bTv25hGaWUm13G7ITMT9u6tfNmzB/bts0O9lhUdbQ9nGzSwh7iVLSkpoXPey0lLl0LfvnwW15fex4vbiTk5EPfyMzBqFAwZApVMzKOc90tca1JzN3EWG9nMWZx/vr3LEoBmzWDHDvj1VzuMr6pcQYHt/3Ci76m9e+HAAe9D58bFVf79VPI7rGZNOHCADSuzefmzpkyfEeU1rLQ0m+QHDLDPQ+3rTU/vh2HS9xm3Gw4ePPE/XNHibXaqqCh7gHCig4MGDewBQpT3f7SIUKsWBVnZVJPjCLYe3nkHBo09wyaLnTuhUSOHg1SVObxgITWvGcwSLqEfSzHGk4s2b4ZWreyF4DURdhtYSfn5NpGX/e7wthw4YG9tLCs+vmoNjgYNoEaNkz4r6XbDeefBDz/Y13FxcMklNskPGACNG/ugHhwUTqf3vwNaGWOaAzuBocDVzoYU4lwum4hTUqBdu8q3FYFDh058YLB+vX3MzfW+v7p1q3ZUXqeOPeMQToYOJXrePP7KbB7Djua26fkvbcLv3FkTfgioOWIQmdem0Ec+JpEsjkoSd9wBM3/29MS4805nA/SHvDx7VtDb/3vZJTPT+2dUr178v92qlR2AqqLvgcREv15efOcde1xy443hc9q+qkKqpQ9gjLkMeBSIAp4VkX9Wtr229B0iAllZFR8YlF1ycsp/hjE28Vd2YFC01K0LMTGB/zlP1oEDSN26/EJzWrIFgHXVu9A2ewV8+SV07+5wgKoq1l9zH20XTGEeN3Iz84mJcpMXU90e1GZnOx1e1eTmnvgAvmg5eND7Z9SoUbX/z/r1bdIPEnv22JOToXbavqrC5vT+qdCkHwJE7LClVTkduGcPHDvm/XNSUk78xVO/vv1vd/AWR2l/Nqz7iVS2kkcMu2iMOeMM2LbNsZjUSXK7OR6VgBtDdbIZzsu8xDUwdCi8+qpzceXkVO0y3d69cPiw98+oWbNqZ+Lq17en4VXQCafT+yocGWNbDDVq2NN+J3L06IkPDr791j4ePer9M2rXPvHBQdFS1DXbVz/u5EkwYgQzuYMY8myfYR2MJ7S4XPzY9k90Wf8it/Ioo3gGAcz99/t+X9nZVevotncvHDni/TOK/t7r14eOHStO6PXq2QvcKmxpS1+Ft2PHqt5JMSvL+2fUqlW1DkX161ftC9Pt5liUPdUZQwE5xJMkFexbBa+DB3Enp5BJMnXIZAstqLn/Z+rUqcJ7T+bMVkWXC5KTq3bgWq+ezw9cVXDTlr6KXAkJ0Ly5XU4kJ6e4s1JFp0R/+ME+HqpgqKOkpCqdGl1q+jFIFgLwCDfzNx/+yCpAatfm+xq96HTkUwCeYhTre/2PhfOqkMy9XaIypvQlqm7dKk/kodCHRQUdbekrdSpyc6vem/nXXyv9qP3UoW79CL6NMYRJTg6mojNEYBO5t7tVKuqMGm53qyhHaEtfKV+LjYWmTe1yIiVvd/IsM2/dzcSsqRQSxb/5AzcNtD2Jc45D5gFo0sT/P4I6fUYE9/ynyCGev3Mve6lPWv8GjL/fJvKHnq/D7XfoAZ0KHtrSVypA3nwTBg+2jbnzz4evviou+/xzePFFeOopuP12ePBB5+JUJ2f5cig5r050tB2fZvZs+Otf7XNtwKtAqqylH6Z3KSoVfB54wF6GrV27/MjHF15oEz7AHXcEPDR1Gnr0KN1PrqAA/vlPm/ABPvnEmbiU8kaTvlIBsmSJfTx0CL77rnRZYWHx8yr1/lZBZfLk0q+nTi1+vmhRYGNRqjJ60kmpAKlVy95lVVm/Pu2QHToWLoRrr7V3aVY22NzKlYGLSakT0Za+UgH07LOVl2srP3QMGmQHk9y7F7ZsqXg7HWhRBRNN+koF0KBBlXfq+t3vAheLOn2ZmSeeNLKiIR2UcoImfaUCbMSIissmTAhcHOr0RUfDhg2Vb+NtskmlnKJJX6kAq+wUf48egYtD+caZZ8Ibb1RcXrKTplJO06SvlANaty6/Llyn+YwEf/wjjBvndBRKnZh+zSjlgP/8p/y6xMTAx6F859FHKz5Tk5ER2FiUqogmfaUckJpaPsm3aeNIKMqHPv/czoVT1ptvBj4WpbzRpK+UQx5+uPTrYcOciUP51s6d5cdb+PRTZ2JRqixN+ko55KabSl/Hv/lm52JRvhMdDdu32wn2iqxf71w8SpWkSV8pB112WfHzuDjn4lC+1aABfPRR8eu9e52LRamSNOkr5aC337aPmvDDz8UXw/Tp9nl2trOxKFVEk75SDoqOhqZNoVEjpyNR/jBlCgwYUH5WRaWcohPuKOWwd96BxYudjkL5y+LFMGSI01EoZWnSV8phaWl2UeHrrbecjkApS0/vK6WUUhFCk75SSikVITTpK6WUUhFCk75SSikVITTpK6WUUhFCk75SSikVITTpK6WUUhFCk75SSikVITTpK6WUUhFCk75SSikVITTpK6WUUhFCk75SSikVITTpK6WUUhFCk75SSikVITTpK6WUUhFCk75SSikVITTpK6WUUhFCk75SSikVIRxJ+saYq4wxPxlj3MaYzmXKJhtjNhtjNhpj+pVY38kY86OnbJYxxgQ+cqWUUip0OdXSXwsMAT4rudIY0w4YCrQHLgWeMMZEeYrnAjcBrTzLpQGLVimllAoDjiR9EVkvIhu9FA0CXhORXBH5BdgMdDXGNASSROQrERHgRWBwAENWSimlQl6wXdNvDOwo8TrDs66x53nZ9V4ZY24yxqwwxqzYv3+/XwJVSimlQk20vz7YGPMR0MBL0RQRWVjR27ysk0rWeyUi84H5AJ07d65wO6WUUiqS+C3pi8glp/C2DKBpiddNgF2e9U28rFdKKaVUFQXb6f1FwFBjTKwxpjm2w963IrIbOGKM+Z2n1/41QEVnC5RSSinlhVO37F1pjMkAugPvGWM+BBCRn4D/A9YB/wHGiEih5223AE9jO/f9DHwQ8MCVUkqpEGZsZ/jw1blzZ1mxYoXTYSillFIBYYxZKSKdvZUF2+l9pZRSSvmJJn2llFIqQmjSV0oppSKEJn2llFIqQmjSV0oppSKEJn2llFIqQmjSV0oppSKEJn2llFIqQmjSV0oppSKEJn2llFIqQmjSV0oppSKEJn2llFIqQmjSV0oppSKEJn2llFIqQmjSV0oppSKEJn2llFIqQmjSV0oppSKEJn2llFIqQmjSV0oppSKEJn2llFIqQhgRcToGvzLG7Ae2OR2HH9UBDjgdRAjQeqoaraeq07qqGq2nqvNVXTUTkbreCsI+6Yc7Y8wKEensdBzBTuuparSeqk7rqmq0nqouEHWlp/eVUkqpCKFJXymllIoQmvRD33ynAwgRWk9Vo/VUdVpXVaP1VHV+ryu9pq+UUkpFCG3pK6WUUhFCk75SSikVITTphyhjzKXGmI3GmM3GmElOx+MkY0xTY8wnxpj1xpifjDHjPOuTjTFLjTH/8zzWLvGeyZ6622iM6edc9IFnjIkyxnxvjHnX81rryQtjTC1jzJvGmA2ev63uWlflGWPGe/7v1hpjXjXGxGk9WcaYZ40x+4wxa0usO+m6McZ0Msb86CmbZYwxpxqTJv0QZIyJAuYA/YF2wDBjTDtno3JUAXCbiLQFfgeM8dTHJGCZiLQClnle4ykbCrQHLgWe8NRppBgHrC/xWuvJu8eA/4hIG+BcbJ1pXZVgjGkM/BXoLCJnA1HYetB6sp7H/pwlnUrdzAVuAlp5lrKfWWWa9ENTV2CziGwRkTzgNWCQwzE5RkR2i8gqz/Mj2C/nxtg6ecGz2QvAYM/zQcBrIpIrIr8Am7F1GvaMMU2Ay4GnS6zWeirDGJME9AKeARCRPBE5hNaVN9FAvDEmGkgAdqH1BICIfAb8Wmb1SdWNMaYhkCQiX4ntef9iifecNE36oakxsKPE6wzPuohnjEkFzgO+AeqLyG6wBwZAPc9mkVx/jwJ/A9wl1mk9ldcC2A8857kU8rQxpjpaV6WIyE7gIWA7sBs4LCJL0HqqzMnWTWPP87LrT4km/dDk7XpOxN97aYxJBP4N3CoiWZVt6mVd2NefMWYAsE9EVlb1LV7WhX09eUQDacBcETkPyMZzGrYCEVlXnuvRg4DmQCOgujHmz5W9xcu6sK+nKqqobnxaZ5r0Q1MG0LTE6ybYU2oRyxgTg034L4vIW57Vez2nxvA87vOsj9T6uwAYaIzZir0kdLEx5iW0nrzJADJE5BvP6zexBwFaV6VdAvwiIvtFJB94CzgfrafKnGzdZHiel11/SjTph6bvgFbGmObGmGrYzh+LHI7JMZ6erM8A60XkXyWKFgHXep5fCywssX6oMSbWGNMc2zHm20DF6xQRmSwiTUQkFfs387GI/Bmtp3JEZA+wwxjT2rOqD7AOrauytgO/M8YkeP4P+2D71Gg9Veyk6sZzCeCIMeZ3njq+psR7Tp6I6BKCC3AZsAn4GZjidDwO10UP7OmuH4DVnuUyIAXbO/Z/nsfkEu+Z4qm7jUB/p38GB+rsQuBdz3OtJ+911BFY4fm7egeorXXltZ7uBTYAa4EFQKzW028/66vYvg752Bb7DadSN0BnT/3+DDyOZzTdU1l0GF6llFIqQujpfaWUUipCaNJXSimlIoQmfaWUUipCaNJXSimlIoQmfaWUUipCaNJXSp0SY0y8MeZTf0yYYoz5qOTsY0op39Ckr5Q6VSOBt0Sk0A+fvQAY7YfPVSqiadJXSpVijOlijPnBMy96dc9c6Wd72XQ4npHBjDEXelr9/2eM2WSMud8YM9wY861nHvCWnu2eN8bMNcZ8YozZYozp7ZlzfL0x5vkSn70IGOb3H1apCBPtdABKqeAiIt8ZYxYB04F44CURWVtyG8/wzy1EZGuJ1ecCbbFTiW4BnhaRrsaYccBY4FbPdrWBi4GBwGLsnACjgO+MMR1FZLWIHPQMR5oiIpl++2GVijDa0ldKeTMN+D12+M8HvJTXAQ6VWfediOwWkVzscKFLPOt/BFJLbLdY7FCgPwJ7ReRHEXEDP5XZbh925jallI9o0ldKeZMMJAI1gDgv5Tle1ueWeO4u8dpN6bOKuV628bZdnGc/Sikf0aSvlPJmPnAX8DIws2yhiBwEoowx3g4ITptnNrEGwFZ/fL5SkUqTvlKqFGPMNUCBiLwC3A90McZc7GXTJdgZDv2hE/C1iBT46fOVikg6y55S6pQYY84DJojICD989mPAIhFZ5uvPViqSaUtfKXVKROR74BN/DM4DrNWEr5TvaUtfKaWUihDa0ldKKaUihCZ9pZRSKkJo0ldKKaUihCZ9pZRSKkJo0ldKKaUixP8Hflz8K6SzCXoAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 576x504 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"l=300 # mm\n",
"nodes = np.array([[1,0,0],[2,0.5,3**0.5/2],[3,1,0],[4,1.5,3**0.5/2],[5,2,0],[6,2.5,3**0.5/2],[7,3,0]])\n",
"nodes[:,1:3]*=l\n",
"elems = np.array([[1,1,2],[2,2,3],[3,1,3],[4,2,4],[5,3,4],[6,3,5],[7,4,5],[8,4,6],[9,5,6],[10,5,7],[11,6,7]])\n",
"\n",
"ix = 2*np.block([[np.arange(0,5)],[np.arange(1,6)],[np.arange(2,7)],[np.arange(0,5)]])\n",
"iy = ix+1\n",
"r = np.block([n[1:3] for n in nodes])\n",
"s = 5\n",
"\n",
"u_s = np.zeros(2*len(nodes))\n",
"u_a = np.zeros(2*len(nodes))\n",
"u_s[2:13] = u_steel\n",
"u_a[2:13] = u_alum\n",
"F_s = np.zeros(2*len(nodes))\n",
"F_a = np.zeros(2*len(nodes))\n",
"F_s[2:13] = F_steel\n",
"F_a[2:13] = F_alum\n",
"\n",
"plt.figure(figsize=(8,7))\n",
"plt.plot(r[ix],r[iy],'-',color=(0,0,0,1))\n",
"plt.plot(r[ix]+u_s[ix]*s,r[iy]+u_s[iy]*s,'-',color=(1,0,0,1))\n",
"plt.quiver(r[ix],r[iy],F_s[ix],F_s[iy],color=(1,0,0,1),label='Applied Forces Steel')\n",
"plt.quiver(r[ix],r[iy],u_s[ix],u_s[iy],color=(0,0,1,1),label='Displacements Steel')\n",
"plt.axis(l*np.array([-0.5,3.5,-0.5,2]))\n",
"plt.xlabel('x (mm)')\n",
"plt.ylabel('y (mm)')\n",
"plt.title('Steel: Deformation scale = {:.1f}x'.format(s))\n",
"plt.legend();"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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dOgQw4YNo2nTpjRt6vdR8HzDl/T79u2brvI7duzgmWee4ffff6dkyZIcOXIkYZbBSZMm0aBBAypVqpSdIafJrvSNMcakqXz58kyYMIFx48ahqsyfPz9h0pkffvghYaa7xo0bc/jw4VSn303s6quv5sILL6R+/fpJJtWZNWsWTZo0oVGjRnTs2BFwM/jdcsstNGvWjMaNGye5ir766qu54oorqFmzJuPGjePll1+mcePGtGjRgr///huAjRs3cumll3LhhRfSunVr1q5dC7gpdwcPHszFF19MrVq1EoYRTj4l7urVq2nevDlRUVE0bNiQ9evXJ3kt0dHRREZGUrx4ccANVFSzZk0+/vhjlixZwvXXX09UVBTHjx9n6dKltG3blgsvvJCuXbuye/fuVGMMGFXN18uFF16oxhiT16xZsybJ724c3sAt6VGsWLEz1pUqVUr37Nmj8+bN027duqmqavfu3XXBggWqqnr48GGNiYnRefPmaUREhG7cuFFjY2O1U6dO+tFHH6mqavXq1XXfvn2qqnrgwAFVVT127JjWr19f9+/fr9HR0VqlShXdtGlTkjJDhgzR999/X1VVDx48qLVr19YjR47oO++8o+ecc47++++/Gh0drSVKlNDx48erquq9996ro0aNUlXVDh066Lp161RVdeHChdq+fXtVVb355pv12muv1bi4OF29erWec845qqpJXqOq6qBBg3Ty5Mmqqnry5Ek9duxYkvcmNjZWu3TpolWrVtV+/frpzJkzE7a1bdtWFy9erKqqp06d0pYtW2p0dLSqqk6bNk379++faoxPPvmkjhw58ozPI/n3RFUVWKIp5ERr3jfGGJNu6mfo9ksuuYT777+f66+/nh49elClShUg5el3E3vllVeYMWMGANu3b2f9+vXs27ePNm3aULNmTcDNXAduStqZM2cm3Ns+ceIE27ZtA6B9+/ZERkYSGRlJyZIlueKKKwC44IILWLFiBUeOHOGXX36hV69eCcf2ja0PrsUhLCyMevXqsXfvXr+vvWXLljzzzDPs2LGDHj16JEz96xMeHs6sWbNYvHgxc+fO5b777mPp0qUMHTo0Sbm//vqLVatW0blzZwDi4uKoWLFimjEGgiV9Y4wx6bJp0ybCw8MpX748f/75Z8L6Rx55hG7duvH111/TokUL5syZA6Q9/e78+fOZM2cOv/76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cdrM2L1b44sX15nh4WmPGWACypK+yXbff/+9/xHcUvLvv6pnn63aokWOjLBWrEgRjQGNT08npxBUrVo1BXRvJoc+TiL58/glSvi/qrz8ck3o3JeKadOmKaBXXHFF1mPLh1avXq2AXnDBBWkXvukm955Pm5b9gam6CY9AuxQsqNHR0TlzTGNJ32S/Hj16aNmyZfVYepvpH33Uff2y0ks8AwYOHKhLfE38aV0NhZg//vhDAW3SpElgdpg86afUsWzXLne1X758mrssUaKEFihQQE+ePBmYGPORzp07K6BffPFF2oXLlnUTFOXUtMLHj+vJSpX0D9Dnhg/PmWMaS/ome23dulXDwsL04YcfTl+FLVvc40KBaEpOp0OHDukdviR01105dty8oG3btgronDlzArPD5Ek/tQTToYOm5xbPvffeq4A+8cQTgYkxn/A9llomHbdJdP16917ndMe66dNVQR8sXTrtToYmICzpm2w1ZMgQDQsL082bN6evQu/ebgjWbduyNa7k2lx8scaCnihbNkePm5sdPnxYw8LCtFwgn2xInPDDw1Mvu2WLK5fGY4JHjx7VsLAwPeusswIXZz7w4IMPKqBDhgxJu3D//u69fvfd7A8ssfh43V+3ru4G/dwe38sRqSV9G5HPZMmJEyd48803ueKKK6hRo0baFX75BaZPh//+F6pWzfb4Entx9GhWAYUOHIA9e3L02LnVo48+Snx8PIMGDcqeA4SHp769enW45BLYuRM+/zzFYkWLFqVt27bs37+fb7/9NsBB5l0TJ04kPDycoUOHpl34yy/d53HDDdkeVxIilHz7bc4GDj/6aM4e25wppbOB/LLYlX728j0qlK6m4bg41WbNVCtVUj1yJPuD8+PxkiVVQY/efntQjp/bREZGasGCBQPb7OpvRL7U/PWXK1u9eqrFli9froBGRUUFJs48zjep1GWXXZZ2YV+LShD/Hq5s3FiPg66dNStoMYQK7ErfZAdVZezYsZx//vl06NAh7QpTpsDixfDcc1CsWPYH6EeFJ58kDjg+eXJQjp+bTJkyhcOHD9OtWzcK+MbEz6rY2IzXqVMHmjWDrVvhu+9SLNawYUNq1KjBsmXL2L17dxaCzB/+97//ATBmzJi0Cz/3nPs5cGA2RpS6SpMmEQccvuuuoMVgsCt9k3kLFy5UQF999dW0Cx854u7bNm2acz2H/YiLi9NVIhoPGheIx9PysNq1ayugWwI5YNHDD2f8Sl9VdflyV7527VSLvfnmmwroddddF4Bg864tW7YooLXTeL8SnH22618R5I50M6KiVEH//frroMaR32FX+iY7jB07lsjISG688ca0C7/4ortvO2oUhAXvaxcWFsbyxo0RYPn11wctjmBbv34969evp169elSvXj0wO42Ph1deyVzdhg2hUSNYvx4WLEix2C233ELRokWZMWMG8fHxmQw077vnnnsAePLJJ9MuvGOH68NywQWnZzkMkhrjxrEDOHrHHe77YnKcJX2TKXv37uXDDz+kX79+REZGpl54xw43lWevXtCqVc4EmIpOM2YQD5w1b16wQwkaX9IYPnx44HY6fDgcP575+m++6X7ecUeKRcLCwujTpw8nT55k1KhRmT9WHhYbG8vXX39NZGQk16fnxNU3je5tzGM8IwAAIABJREFUt2VvYOkQdcklvHXuuZy9fTvx770X7HBCU0pNAPllseb97PHUU08poGvXrk278I03uufyc9EwqpsiIjQedOncucEOJcedPHlSw8PDtVSpUoHbaVycavHirgk5M837Puef7+otXpxikYMHD6qIaMWKFbMYdN40bNgwBfTuu+9OX4VKldxwyLnkGfkpkyfrb6DHy5YNWofe/A5r3jeBFBMTw+uvv06XLl0477zzUi+8aBG8/z7cdx/UrJkzAaZD/A03IMCqfv2CHUqOGzp0KHFxcdwWyCu/UaPgyBHXmpMVr7/ufqYSW6lSpWjRogW7d+/ml19+ydrx8qBx48YRFhbGs88+m3bhPXtg1y6oXz/oTfs+PXv14qnSpSl84ACMGBHscEJPSmcD+WWxK/3A+/DDDxXQmTNnpl4wPl714otVK1Rw06nmJkePahzoBtDDhw8HO5ocVaZMGQ0PD9fjx48HbqelSrmryYMHs3alr6p6zjmu7sqVKRb5+eefFdAWLVpkIei8Z86cOQpo27Zt01fhvvvU74RHQfbEE0/oVNC4woVzfJCuUICNyGcCqXXr1lqzZk2NjY1NveC0ae4r9uabORNYBh0oW1bjQe+79dZgh5JjvvjiCwW0S5cugdvpq6+6z/nqq93vWU36s2ZpeoaLrVixooqI/v3335kIOm9q0qSJAvrHH3+kr0LVqm5+g1w2Z8HOnTu1Vni4ngoPz9HhuEOF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\n",
"text/plain": [
"<Figure size 576x504 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(8,7))\n",
"plt.plot(r[ix],r[iy],'-',color=(0,0,0,1))\n",
"plt.plot(r[ix]+u_a[ix]*s,r[iy]+u_a[iy]*s,'-',color=(1,0,0,1))\n",
"plt.quiver(r[ix],r[iy],F_a[ix],F_a[iy],color=(1,0,0,1),label='Applied Forces Steel')\n",
"plt.quiver(r[ix],r[iy],u_a[ix],u_a[iy],color=(0,0,1,1),label='Displacements Steel')\n",
"plt.axis(l*np.array([-0.5,3.5,-0.5,2]))\n",
"plt.xlabel('x (mm)')\n",
"plt.ylabel('y (mm)')\n",
"plt.title('Steel: Deformation scale = {:.1f}x'.format(s))\n",
"plt.legend();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###### 3. Determine cross-sectional area\n",
"\n",
"a. Using aluminum, what is the minimum cross-sectional area to keep total y-deflections $<0.2~mm$?\n",
"\n",
"b. Using steel, what is the minimum cross-sectional area to keep total y-deflections $<0.2~mm$?\n",
"\n",
"c. What are the weights of the aluminum and steel trusses with the chosed cross-sectional areas?\n",
"\n",
"d. The current price (2020/03) of [aluminum](https://tradingeconomics.com/commodity/aluminum) is 1545 dollars/Tonne and [steel](https://tradingeconomics.com/commodity/steel) is 476 dollars/Tonne [2]. Which material is cheaper to create the truss?"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Steel cross-sectional area with less than 2mm deflection 2.6937 mm^2\n",
"Alum cross-sectional area with less than 2mm deflection 7.6847 mm^2\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"F = np.zeros(11)\n",
"F[5] = -100\n",
"A = np.linspace(0.1,1,1000)\n",
"E_steel = 200\n",
"E_alum = 70\n",
"b_steel = []\n",
"b_alum = []\n",
"u_steel = []\n",
"u_alum = []\n",
"u_steel_max = []\n",
"u_alum_max = []\n",
"for i in range(len(A)):\n",
" b_steel.append(F*(1/E_steel/A[i]))\n",
" b_alum.append(F*(1/E_alum/A[i]))\n",
" u_steel.append(solveLU(L,U,b_steel[i])*1e-3)\n",
" u_alum.append(solveLU(L,U,b_alum[i])*1e-3)\n",
" u_steel_max.append(np.max(np.abs(u_steel[i])))\n",
" u_alum_max.append(np.max(np.abs(u_alum[i])))\n",
"plt.hlines(2,0,10,linewidth=1)\n",
"plt.vlines(0.2694,-1,5,linewidth=1)\n",
"plt.vlines(0.7685,-1,5,linewidth=1)\n",
"plt.xlim(0,1)\n",
"plt.ylim(0,4)\n",
"plt.title('Max Deflection vs. Area')\n",
"plt.xlabel('Cross-sectional Area [mm^2]')\n",
"plt.ylabel('Max Deflection [mm]')\n",
"plt.plot(A,u_steel_max,label='Steel')\n",
"plt.plot(A,u_alum_max,label='Alum')\n",
"plt.legend();\n",
"print('Steel cross-sectional area with less than 2mm deflection',round(A[188]*1e1,4),'mm^2')\n",
"print('Alum cross-sectional area with less than 2mm deflection',round(A[742]*1e1,4),'mm^2')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mass of a steel truss bridge 0.684 kg\n",
"Mass of a alum truss bridge 0.687 kg\n",
"Cost of a steel bridge $ 0.326\n",
"Cost of a alum bridge $ 1.062\n",
"Steel is the cheaper material\n"
]
}
],
"source": [
"rho_steel = 7700 #kg/m3\n",
"rho_alum = 2710 #kg/m3\n",
"V_steel = A[188]*l*11*1e-7\n",
"V_alum = A[742]*l*11*1e-7\n",
"m_steel = rho_steel*V_steel/1000\n",
"m_alum = rho_alum*V_alum/1000\n",
"cost_steel = m_steel*476\n",
"cost_alum = m_alum*1545\n",
"print('Mass of a steel truss bridge',round(m_steel*1000,3),'kg')\n",
"print('Mass of a alum truss bridge',round(m_alum*1000,3),'kg')\n",
"print('Cost of a steel bridge $',round(cost_steel,3))\n",
"print('Cost of a alum bridge $',round(cost_alum,3))\n",
"print('Steel is the cheaper material')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4. Future Predictions using past data\n",
"\n",
"The data from the price of aluminum and steel are in the data files `../data/al_prices.csv` and `../data/steel_price.csv`. If you're going to produce these supports for 5 years, how would you use the price history of steel and aluminum to compare how much manufacturing will cost?\n",
"\n",
"a. Separate the aluminum and steel data points into training and testing data (70-30%-split)\n",
"\n",
"b. Fit the training data to polynomial functions of order n. _Choose the highest order._\n",
"\n",
"c. Plot the error between your model and the training data and the error between your model and you testing data as a function of the polynomial function order, n. [Create the training-testing curves](../notebooks/03_Linear-regression-algebra.ipynb)\n",
"\n",
"d. Choose a polynomial function to predict the price of aluminum and steel in the year 2025. \n",
"\n",
"e. Based upon your price model would you change your answer in __3.d__?"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"steel = pd.read_csv('../data/steel_price.csv')\n",
"alum = pd.read_csv('../data/al_price.csv')"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Steel\n",
"x_s = steel['Year'].values\n",
"y_s = steel['dollars/MT'].values\n",
"# randomize testing/training indices\n",
"np.random.seed(103)\n",
"i_rand=np.random.randint(0,len(x_s),size=len(x_s))\n",
"# choose the first half of data as training\n",
"train_per=0.7\n",
"x_train_s=x_s[i_rand[:int(len(x_s)*train_per)]]\n",
"y_train_s=y_s[i_rand[:int(len(x_s)*train_per)]]\n",
"# choose the second half of data as testing\n",
"x_test_s=x_s[i_rand[int(len(x_s)*train_per):]]\n",
"y_test_s=y_s[i_rand[int(len(x_s)*train_per):]]\n",
"\n",
"Z_train_s=np.block([[x_train_s**0]]).T\n",
"Z_test_s=np.block([[x_test_s**0]]).T\n",
"max_N=12\n",
"SSE_train_s=np.zeros(max_N)\n",
"SSE_test_s=np.zeros(max_N)\n",
"for i in range(1,max_N):\n",
" Z_train_s=np.hstack((Z_train_s,x_train_s.reshape(-1,1)**i))\n",
" Z_test_s=np.hstack((Z_test_s,x_test_s.reshape(-1,1)**i))\n",
" A_s = np.linalg.solve(Z_train_s.T@Z_train_s,Z_train_s.T@y_train_s)\n",
" SSE_train_s[i]=np.sum((y_train_s-Z_train_s@A_s)**2)/len(y_train_s)\n",
" SSE_test_s[i]=np.sum((y_test_s-Z_test_s@A_s)**2)/len(y_test_s)\n",
" #print('A constant for', i,':', A_s[i])\n",
" #print('Sum of Square Difference for', i,':', SSE_test_s[i])\n",
"\n",
"plt.figure(figsize=(5,5))\n",
"plt.semilogy(np.arange(2,max_N,1),SSE_train_s[2:],'o-',label='Training Data')\n",
"plt.semilogy(np.arange(2,max_N,1),SSE_test_s[2:],'s-',label='Testing Data')\n",
"plt.title('Steel Error in Testing-Training vs. the Order of the Polynomial')\n",
"plt.xlabel('Polynomial Order [m=2->10]')\n",
"plt.ylabel('Error')\n",
"plt.legend();"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Alum\n",
"x_a = alum['Year'].values\n",
"y_a = alum['dollars/MT'].values\n",
"# randomize testing/training indices\n",
"np.random.seed(103)\n",
"i_rand=np.random.randint(0,len(x_a),size=len(x_a))\n",
"# choose the first half of data as training\n",
"train_per=0.7\n",
"x_train_a=x_a[i_rand[:int(len(x_a)*train_per)]]\n",
"y_train_a=y_a[i_rand[:int(len(x_a)*train_per)]]\n",
"# choose the second half of data as testing\n",
"x_test_a=x_a[i_rand[int(len(x_a)*train_per):]]\n",
"y_test_a=y_a[i_rand[int(len(x_a)*train_per):]]\n",
"\n",
"Z_train_a=np.block([[x_train_a**0]]).T\n",
"Z_test_a=np.block([[x_test_a**0]]).T\n",
"max_N=15\n",
"SSE_train_a=np.zeros(max_N)\n",
"SSE_test_a=np.zeros(max_N)\n",
"for i in range(1,max_N):\n",
" Z_train_a=np.hstack((Z_train_a,x_train_a.reshape(-1,1)**i))\n",
" Z_test_a=np.hstack((Z_test_a,x_test_a.reshape(-1,1)**i))\n",
" A_a = np.linalg.solve(Z_train_a.T@Z_train_a,Z_train_a.T@y_train_a)\n",
" SSE_train_a[i]=np.sum((y_train_a-Z_train_a@A_a)**2)/len(y_train_a)\n",
" SSE_test_a[i]=np.sum((y_test_a-Z_test_a@A_a)**2)/len(y_test_a)\n",
" #print('A constant for', i,':', A_a[i])\n",
" #print('Sum of Square Difference for', i,':', SSE_test_a[i])\n",
"\n",
"plt.figure(figsize=(5,5))\n",
"plt.semilogy(np.arange(2,max_N,1),SSE_train_a[2:],'o-',label='Training Data')\n",
"plt.semilogy(np.arange(2,max_N,1),SSE_test_a[2:],'s-',label='Testing Data')\n",
"plt.title('Alum Error in Testing-Training vs. the Order of the Polynomial')\n",
"plt.xlabel('Polynomial Order [m=2->10]')\n",
"plt.ylabel('Error')\n",
"plt.legend();"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Z_s=np.block([[x_s**0],[x_s],[x_s**2],[x_s**3],[x_s**4],[x_s**5],[x_s**6],[x_s**7],[x_s**8],[x_s**9],[x_s**10]]).T\n",
"a_s = np.linalg.solve(Z_s[:189].T@Z_s[:189],Z_s[:189].T@y_s)\n",
"x_fcn_s = np.linspace(np.min(x_s),2025,len(y_s))\n",
"y_fcn_s = np.poly1d(np.flip(a_s))\n",
"plt.figure(figsize=(8,8))\n",
"plt.plot(x_s,y_s,'k',label='Steel data')\n",
"#plt.plot(x_s,Z_s@a_s,label='Steel quadratic fit')\n",
"plt.plot(x_fcn_s,y_fcn_s(x_fcn_s),label='Steel polynomial fit')\n",
"plt.xlabel('x')\n",
"plt.ylabel('y')\n",
"plt.legend();"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Z_a=np.block([[x_a**0],[x_a],[x_a**2],[x_a**3],[x_a**4],[x_a**5],[x_a**6],[x_a**7],[x_a**8],[x_a**9],[x_a**10],\n",
" [x_a**11],[x_a**12],[x_a**13],[x_a**14]]).T\n",
"a_a = np.linalg.solve(Z_a[:203].T@Z_a[:203],Z_a[:203].T@y_a)\n",
"x_fcn_a = np.linspace(np.min(x_a),2025,len(y_a))\n",
"y_fcn_a = np.poly1d(np.flip(a_a))\n",
"plt.figure(figsize=(8,8))\n",
"plt.plot(x_a,y_a,'k',label='Alum data')\n",
"plt.plot(x_fcn_a,y_fcn_a(x_fcn_a),label='Alum polynomial fit')\n",
"plt.xlabel('x')\n",
"plt.ylabel('y')\n",
"plt.legend();"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Based on this, aluminum would be the better choice, as it becomes exceedingly cheap over the next five years.\n"
]
}
],
"source": [
"print('Based on this, aluminum would be the better choice, as it becomes exceedingly cheap over the next five years.')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# References\n",
"\n",
"1. <https://en.wikipedia.org/wiki/Direct_stiffness_method>\n",
"\n",
"2. Aluminum and steel price history on <https://tradingeconomics.com>"
]
}
],
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}