Skip to content

Instantly share code, notes, and snippets.

@mrtzh
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrtzh/4dc77fb84c3ba8b8b220 to your computer and use it in GitHub Desktop.
Save mrtzh/4dc77fb84c3ba8b8b220 to your computer and use it in GitHub Desktop.
Noise tolerance of accelerated gradient descent
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "Noise tolerance of gradient descent"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": "Noise tolerance of accelerated gradient descent "
},
{
"cell_type": "markdown",
"metadata": {},
"source": "Here we compare the noise tolerance of basic gradient descent with that of accelerated gradient descent for smooth convex optimization. We will see that errors in the gradient accumulate for accelerated gradient descent, while they do not accumulate for basic gradient descent. This illustrates that for noisy convex optimization basic gradient descent is preferable to accelerated gradient descent despite the slower convergence rate in the noise free setting."
},
{
"cell_type": "code",
"collapsed": false,
"input": "import matplotlib.pyplot as plt\nimport numpy as np\n\ndef gd(x0,gradient,smoothness=1,n_iterations=100):\n \"\"\" Gradient descent for smooth convex function \"\"\"\n x = x0\n xs = [x0]\n for t in range(0,n_iterations):\n x = x - (1.0/smoothness)*gradient(x)\n xs.append(x)\n return xs\n\ndef accgd(x0,gradient,smoothness=1,n_iterations=100):\n \"\"\" Accelerated gradient descent for smooth convex function \n See: http://blogs.princeton.edu/imabandit/2013/04/01/acceleratedgradientdescent/\n \"\"\"\n x = x0\n y = x0\n xs = [x0]\n a = 0\n for t in range(0,n_iterations):\n a = 0.5 * (1.0 + np.sqrt(1+4.0*a**2))\n a2 = 0.5 * (1.0 + np.sqrt(1+4.0*a**2))\n gamma = (1.0-a)/a2\n y2 = x - (1.0/smoothness) * gradient(x)\n x = (1.0-gamma)*y2 + gamma*y\n y = y2\n xs.append(x)\n return xs",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": "Laplacian of a cycle"
},
{
"cell_type": "markdown",
"metadata": {},
"source": "Below the matrix P defines the Laplacian of a cycle graph and we solve a linear system defined by the Laplacian. This example is typically shown as a tight example for accelerated gradient descent."
},
{
"cell_type": "code",
"collapsed": false,
"input": "n = 100\nA = np.zeros((n,n))\nfor i in range(1,n-1):\n A[i,i+1] = 1\n A[i,i-1] = 1\nA[0,1] = 1\nA[n-1,n-2] = 1\nP = 2.0*np.eye(n) - A\nb = np.zeros(n)\nb[0] = 1\nopt = np.dot(np.linalg.pinv(P),b)\n\ndef path(x):\n return 0.5*np.dot(x,np.dot(P,x)) - np.dot(x,b)\n \ndef pathgrad(x):\n return np.dot(P,x) - b\n\nits = 5000\n\nxs3 = gd(np.zeros(n),pathgrad,4,its)\nys3 = [ abs(path(xs3[i])-path(opt)) for i in range(0,its) ]\nxs3acc = accgd(np.zeros(n),pathgrad,4,its)\nys3acc = [ abs(path(xs3acc[i])-path(opt)) for i in range(0,its) ]\n\nplt.yscale('log')\nplt.ylim(0,0.1)\nplt.plot(range(0,its),ys3,range(0,its),ys3acc)",
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 2,
"text": "[<matplotlib.lines.Line2D at 0x1ba16950>,\n <matplotlib.lines.Line2D at 0x1ad2f450>]"
},
{
"output_type": "display_data",
"png": "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\n"
}
],
"prompt_number": 2
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": "Noisy cycle"
},
{
"cell_type": "markdown",
"metadata": {},
"source": "We repeat the same example, but now we had gaussian noise to the gradient. The plot illustrates that accelerated gradient descent diverges, while basic gradient descent converges essentially to the best possible answer given the noise in the gradient."
},
{
"cell_type": "code",
"collapsed": false,
"input": "def noisygrad(x):\n return np.dot(P,x) - b + np.random.normal(0,0.1,(n))\n\nits = 500\n\nxs3 = gd(np.zeros(n),noisygrad,4,its)\nys3 = [ abs(path(xs3[i])-path(opt)) for i in range(0,its) ]\nxs3acc = accgd(np.zeros(n),noisygrad,4,its)\nys3acc = [ abs(path(xs3acc[i])-path(opt)) for i in range(0,its) ]\n\nplt.yscale('linear')\nplt.plot(range(0,its),ys3,range(0,its),ys3acc)",
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 3,
"text": "[<matplotlib.lines.Line2D at 0x1accd550>,\n <matplotlib.lines.Line2D at 0x1a38cb50>]"
},
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAD9CAYAAAC2l2x5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8VGXa93/Te8ukF5JAgNBBEbCgQVFAV+wCllWwsK4F\n17Lu+q4r+LiWXR+ffVdf26qoi6I+NlBZLLjBShEpUoQkEEgmgUwymZKZM33ePw73nTmZkklmUgj3\n9/PhQ2bOmTP3tN+5zu++7usSRSKRCBgMBoMx5BAP9AAYDAaD0TcwgWcwGIwhChN4BoPBGKIwgWcw\nGIwhChN4BoPBGKIwgWcwGIwhSlKBX7JkCfLy8jBhwoSE+1RXV2PKlCkYP348qqqqMj0+BoPBYPQS\nUbI8+G+++QZarRa//vWv8fPPP8dst9vtOPPMM/HZZ5+huLgYra2tyM7O7tMBMxgMBiM1kkbwM2fO\nhMlkSrj9rbfewhVXXIHi4mIAYOLOYDAYgwhpOg+uqalBIBDArFmz4HK5sGzZMlx//fUx+4lEonSe\nhsFgME5a0ik2kNYkayAQwE8//YR169bhs88+w3/913+hpqYm7r6RSIT9i0Tw8MMPD/gYBss/9l6w\n94K9F8n/pUtaEXxJSQmys7OhUqmgUqlw9tlnY+fOnRg5cmTaA2MwGAxGeqQVwV9yySX49ttvEQqF\n4PF4sHnzZowdOzZTY2MwGAxGGiSN4BctWoSNGzeitbUVJSUlWLFiBQKBAABg6dKlqKysxNy5czFx\n4kSIxWLccsstTOC7gaWSdsLei07Ye9EJey8yR9I0yYw9iUiUET+JwWAwTibS1U62kpXBYDCGKEzg\nGQwGY4jCBJ7BYDCGKEzgGQwGY4jCBJ7BYDAGmNs+vQ11trqMH5cJPIPBYAwwXx/+GjW2+FUA0oEJ\nPIPBYAwwTp8T7Vx7xo/LBJ7BYDAGGIfXgXYvE3gGg8EYUoQjYbj8Lti99owfmwk8g8FgDCAd/g4A\noBE8F+Dg8Doycmwm8AwGgzGAEDEnHvwr21/Bio0rMnJsJvAMBoMxgDh9TgCgFk071w53wJ2RYzOB\nZzAYjAHE4TsewR+3aDoCHfAFfRk5NhN4BoPBGECcPifMKjO1aNx+N/whf0aOzQSewWAwBhCH14FS\nY2lnBO/vYALPYDAYQwGnz4kiXRHNpnEH3PCFMmPRpNWTlcFgMBjp4fK7kKvJBRfgAPARfDgSzsix\nmcAzGAzGAOINemFSmcAFOUQiEbj9bkjEkowcm1k0DAaDMYD4Qj5oZBpIRBL4Q/7+8+CXLFmCvLw8\nTJgwIelBtm7dCqlUig8++CAjg2IwGIyTBX/ID7lEDpVMBS7I8R58f6RJLl68GOvXr096gFAohAce\neABz585ljbUZDAajh/iCPigkCqikKnABrv8i+JkzZ8JkMiU9wDPPPIMrr7wSOTk5GRkQg8FgnEz4\nQj4opAqoZWos37gcTa6mjAl8WpOsFosFa9aswVdffYWtW7dCJBIl3Hf58uX076qqKlRVVaXz1AwG\ngzEkiLZoXnr/JaAeOKY8huWty9M+dloCf/fdd+OJJ56ASCRCJBJJatFECzyDwWAweIhFo5apgTIA\nZYBap8bye5ZjxYr0io6lJfDbtm3DwoULAQCtra3497//DZlMhvnz56c1KAaDwThZIBaNSqqi9w0K\ni+bgwYP078WLF+Piiy9m4s5gMBg9INqiAYBl05dh5Y6VGTl2UoFftGgRNm7ciNbWVpSUlGDFihUI\nBAIAgKVLl2ZkAAwGg3EyE23RqGVqPH7e43jhxxdQXV+d9rGTCvzq1atTPtDKlZk54zAYDMbJRLRF\nY1AYIJfI4Q/58VPzT2kfm61kZTAYjAHEH/LTCN6gNEAilkAsEtPiY+nABJ7BYDAGEF/QRz14o9II\nAJBL5LQRSDowgWcwGIx+5v4v7kejsxFArEUDHBf4DDTeZgLPYDAY/cxT3z+Fd3a/A0A4yWpQdgo8\n6dWaDkzgGQwGYwAgFgxNk4yK4BVSRUYsGlYPnsFgMAYAu9cOoNOiOX/E+TiVOxVA5iwaJvAMBoMx\nADh9Tty89mY0uZqgkChwSsEpdFumJlmZwDMYDEY/Qmp2OXwObLFsAcALejQKiQJWjzXt52IePIPB\nYPQjpM6MxWlBs6sZAO+5R8MsGgaDwTgBcQfcAICtTVvpfTERvFRB90sHFsEzGAxGP+IJeJCvzRfc\nJxYJpZhk06QLE3gGg8HoRzwBD7RybdJ9slRZGXkuJvAMBoPRj7j9bmhkGjxS9QiKdEVx9zGrzRl5\nLibwDAaD0Y94Ah6oZWo8dM5DeHn+y3H3yVKyCJ7BYDBOONwBNzRyDQDgjJIzcMe0O2L2YRYNg8Fg\nnICQCB4A9Ao9npn3TMw+TOAZDAbjBMQT8EAj0yTdh5QNThcm8AwGg5EGXx78EhvrN6a8v9vvphF8\nIrrbnipM4BkMBiMNPqv7DF/Vf0Vvr6tZh3U16xLuH23RJKLfBH7JkiXIy8vDhAkT4m5/8803MWnS\nJEycOBFnnnkmdu3alZGBMRgMxomAN+iFN+ilt9fuX4u1+9cm3D96kjURUwqmYNVlq9IeW7cCv3jx\nYqxfvz7h9uHDh+Prr7/Grl278NBDD+HWW29Ne1AMBoNxouANerHVshWiFSIAQL29HofshxLu7wl4\noJYmj9ClYimunXht2mPrthbNzJkzUV9fn3D76aefTv+ePn06Ghsb4+63fPly+ndVVRWqqqpSHiSD\nwWAMVrgAhxpbDb192HEY4Ug44f7ugDthlkx1dTWqq6szNraMFht75ZVXcOGFF8bdFi3wDAaDMVTw\nBr20lozL58IRxxGEwiGEI+GYGjNAcg++a/C7YsWKtMaWMYH/z3/+g1dffRXfffddpg7JYDAYgx4u\nyNHuTE/98BQ8AQ/yNHk42nEUhbrCmP1TSZPMFBnJotm1axduueUWrF27FiaTKROHZDAYjEHHhoMb\n4A16EY6E8cbON3Cg7QC8QS9tkP3Ixkdwx7Q7UKQvQpOrKe4xUkmTzBRpC/yRI0dw+eWXY9WqVaio\nqMjEmBgMBmPQEYlEMPtfs3H/F/ejur4aN3x0A57+4WlwAU6w3zPznoFZZUabpy3ucVJJk8wU3Vo0\nixYtwsaNG9Ha2oqSkhKsWLECgUAAALB06VI88sgjaG9vx2233QYAkMlk2LJlS9+OmsFgMPoRT8CD\n747w9vOqXauQo87BqQWn4ruG7yATy+h+d067EwBfaqCNiy/wqaRJZopuBX716tVJt7/88st4+eX4\nFdEYDAbjRMcf8uOydy7D53Wf47TC0zAudxwern4Yfzv/b3hk4yNUrG8/7Xb8Y94/APDlfgdDBM9W\nsjIYDEYSHv36UfhDfhiVRlRkVeDmKTcDAMbljEOZsQxHO44CAFQyFX2MWWVOHMEfrwffH7CerAwG\ng5GEJlcTrhl/DQp1hRhuGo4zSs6AXqHHxLyJgqJgKqlQ4GvbawXHaXQ2wh/yDy4PnsFgME5mnD4n\n9Ao9njjvCSikCohEIjj+4AAAmFSdWYMCgVebsdmyWXCc6z+8HtX11TCrzP3mwTOLhsFgMJLg8rug\nU+hQYihBriZXsE0QwXdj0YzMGgkAaOPamAfPYDAYgwGXzwW9Qh93m0mZOILvOsmqkCro30qpMsOj\njA8TeAaDwUiC0+eETq6Lu00g8F0ieBtnE+zrCXjo3/FKGPQFTOAZDAYjCS5/4gjeqDRS8Y+J4LtY\nNJ6AB5PyJvXdQOPABJ7BYDCS4PQ5oVMkiOBVJmjkGsglckEEb1AY4Al4EAgF6H1uvxtnl57d5+ON\nhgk8g8FgJMHlcyW0aIxKI5RSJZRSpSCCF4lEMClNApvGE/Dg4lEXw3KPpc/HTGACz2AwGAnwBX0Q\niUSCCdJoTEoTVFIVFBJFTGZMtE3z2o7XcLTjKNQyddwKk30FE3gGg8FIQLIJVgAYnT0al4+5nI/g\noywagJ9ovXntzbA4LXji2yewx7qn3/LfCUzgGQwGIwHJJlgBIFeTi0fPfRRlxjLkqHME2/QKPX5o\n/AHv7nkXHf4OAJlrpp0qbCUrg8FgxMHitKDeXp9wgjWarxd/HXOf1WMFAKzZv4YJPIPBYAwmZv9r\nNn5p/QWXVV7Wq8cfth8GANS111GB768iYwRm0TAY/cxWy9aBHgIjBYYZhgEAfnvab3v1+JcufgnP\nX/Q8WtwtCEVCAPo/gmcCz2D0I26/G2e8esZAD4ORAlKxFC/96iXMHj67V4+/tPJS3HrqrTQXXiwS\nQy6RZ3KI3cIEnsHoRzr8HQiGg4IFMIzBid1rx5icMWkdQywS00latUwNkUiUiaGl/vz9+mwMxkmO\nO+AGAHiD3gEeCaM77F67oFpkbzEoDQD6338HuhH4JUuWIC8vDxMmTEi4z1133YWRI0di0qRJ2L59\ne8YHyGAMJchkGxfkutmTMdBkTOAVBmSpsjJyrJ6SVOAXL16M9evXJ9y+bt061NbWoqamBi+99BJt\nvM1gMOLj9vMRPBdgAj/YyWQEPzl/Mr5d8m0GRtUzkgr8zJkzYTKZEm5fu3YtbrjhBgDA9OnTYbfb\ncezYscyOkMEYQpwIFs0PDT8gHAkP9DAGlEAoAF/QlxFbxaAwQCvXIludnYGR9Yy08uAtFgtKSkro\n7eLiYjQ2NiIvLy9m3+XLl9O/q6qqUFVVlc5TMxgDwg8NP2By/uSYZempQiP4QWzRXPvBtfj0mk/T\nnmA8kXH4HDAqjRmZFCUefCpUV1ejuro67eckpL3QKRKJCG4nekOiBZ7BOFG55/N78Ph5j6OqrKpX\njycR/GC2aDwBz6C+wuhLrv3gWjx34XOwe+09EuZkGBQGmgffHV2D3xUrVqT13GkJfFFRERoaGujt\nxsZGFBUVpTUgBmMw4w16BZ15egqJ4AezgJ6sAt/OteOtn9/CBcMvwI1rboRCEr+CZE8xKo3whXwZ\nOVZPSStNcv78+XjjjTcAAJs2bYLRaIxrzzAYQwVv0JtW9E0j+EFs0XBB7qQU+N0tuwEASz9Zirtn\n3I2PF32ckePOq5iHCysuzMixekrSCH7RokXYuHEjWltbUVJSghUrViAQ4BdoLF26FBdeeCHWrVuH\niooKaDQarFy5sl8GzWAMFL6gLyMRfLyTRKunFQfbD2Ja0bReHz9dAqEAguHgSSPw4UgYdq8dXIDD\nrNdnQSKSwBfy4f4z7s9Y3faZpTMzcpzekFTgV69e3e0Bnn322YwNhsEY7KRt0STJoln6yVJ8sO8D\nRB6OxGzrL8iVxcki8Cu3r8TNH9+Mjxd9jFAkhIXjF+Kw/XC/NuXoS1g1SQajB/hCaUbwSSwaq9va\n6+NmCnJlcbIIvMPnAMC/7ivHXonVV6weUimirFQBg9EDvEFvWv652++GQqKIa9HYvfZ0hpYRyMlr\nqAv8rz/8NbxBL0xKfp2P0+eEVq4FwNePGSoMnVfCYPQDaXvwATey1dlxBXQwCPzJYNFEIhGs3r0a\n7Vw7jdbrHfVU4IcSTOAZjBQJhoMIRUJpCbzL50K2OltwFRAMB+HyuahdMJCcDBG8P+RHMByEJ+Ch\nn8Mvrb8wgWcwTmZ8QT6XOR2LprmjGcNNwwUC+sCXD0D/hB5OnzPtMabLyeDBu/wuAPznSE5o+1v3\nQytjAs9gDEkWvrcQ9fb6pPuQxSo9ieAjkYhgtXejsxEVWRWCk8SuY7vo3zp59/0/+xIawYeGsMD7\neIH3BDz09R5oO8AieAZjqLL96PZuBZ5EtT0RePEjYry47UUAvDXQzrWj1FAqmGSNPl5/d/zpysng\nwZMIngi8QqKAL+RjAs9gDFW4AAcbZ0u6D7FoeurBf3PkGwBAs6sZedo8aOQaWhe+6/EGWlhPBg+e\nvPdE4MtN5QDABJ7BIPiCPmw4uGFQ5G5nAi7IoZ1rT7oPEb2eliogx210NqJYX4xzSs/B+tr1aHI1\nAegUVZPSBC7IxRTw609OCg/+uEXDBXgPvtzIBJ7BoHABDuX/txyz/zUb939x/0APJyNwAQ7t3uQC\n3xsPHgA9rsVlQZGuCOWmcpw57Ex83/A9fW4A0Cl0EIvECIaDPR1+xvAEPNDJdUNb4LtYNCyCZzCi\n6PB3oLmjGQAGReZHukQiET6C70bgvUEvFBJFjwV+U+MmXPP+NTSCB/j+nF0tH7VMDaVUSQVoIOCC\nHEwq05AW+BiLhkXwDEYn0QI3FAQ+EA4gHAl3a9H4gj6YVKZepUmu3r2aRvAAoJQqY64IVFIVZGIZ\nzH81D1gU7wl4YFIObYHvmkXDBJ7BiCJa4IaCwBOLJJUIPkuVRStC9gSzygyL04IiPS/wCqmi09M/\n/n6qZCpaqyZ6Era/2Na0DU6fEzmanCEr8JFIJCYPPl+bD4VEwQSewQCEk4wDaSckos5Wh0ZnY8r7\nE4HtNoIP+ZCnyetRSQHS03NE1giBRaOUKuEL+gSFrdQyNfwhP4DOKDMdrv3g2h6djKb+cypW7VqF\nYYZhJ7TAf7z/YxxoOxB3m/gRMera66CUKmkEr5ap8fqlryNfm9/PI+17mMAzesxgt2gqnqnA7Ddm\np7w/eT3dTrIGfchSZSEQDlD/vCvhSBirdq2it+USOb64/gv4gj6BRaOQ8BF8h78DapkaAG/REDIR\nwX+470M6V5IqVo8VJfqSE1rgX9v5Gr478l3M/YEQ38tiU+Mm5GpyBQK/YPwCSMSS/h5qn8MEntFj\nTgSLJoLUUw25AAeJSJJSmqRSqoRJaUp4MmhyNeHWj2+lt30hH3LUOXD6nGhyNdE648SDd/lcMCqN\nkEvkgkbe6V4ZBcNBcEEODm/i+jb/3PZPesUQTZmxLCNXEAOFy+eKe4IitX72WvdibM5YgcAPVZjA\nM3pMdATvD/kHZbRnUKTeMJkLcijQFaSUJqmQKpClykp4MmjztIELcnD5XPjTV3+CL+iDWW1Go7MR\napmaijiJ4J0+J/QKPZRSpSCCT1dgyeMPtB2Ie6xIJIJbP7kVO4/ujNk2OX8yzdEfDBztOBr3RJQI\nlz++wJPPTCfX4dLRl4ILcujwd0Aj12RsrIMNJvCMHkM8eLVMjRJ9CQ7bDw/wiGIxKHsg8AEOBdoC\n2L32pIuMaASvMsVd9XrEcQSf130OAHj0m0fxl2/+gnAkDJPShEA4gBx1Dt2XRPBE4FVSlSCSTNei\nIVcA13xwDRa8tyBmu9XDL1ATiUQAIMjaGWUeBX/Ij2ZXz+ydTOIP+enVYcF/F+Cxbx5L+bGJIni7\n145cTS6envM0TCoT7F473AE3jEpjxsY92GACz+gxxKJRy9QoN5XjkP3QAI8olu5+tNFXIVyQg0Fp\ngEKiSCqsbr8bapk6xqJp87Sh3l6PD/d9iD/9508AgE8PfAqAz5ZRy9QQQYQcTafAkywap88JnVzH\nR/AZtGiirTMy1v/d879UyA+1HxLsR07aGpkGapkaxfpiFD5diB1Hd6Q1jt6y+ufVWLZ+Gb39wo8v\nIO+pvJQe6/K7YoqlvbP7Hdg4GybmTcTNp9wMtUyNI44jMKvMQ6rBR1e6fWXr169HZWUlRo4ciSef\nfDJme2trK+bOnYvJkydj/PjxeO211/pinIxBBBFHjUyDcmM5FYvBALmU785X1Tymwcs/vQyAFzeV\nVAWTKrG3DvBCmaXMirFoVu5YiUe/fhR2r50+/9GOowD4SVaRSAStXBsTwe84ugMvb3+Zj+BlKqik\nKmxfuh1Xjb0qbYsmWuCJXXXbp7fhl9ZfAICelKnAHz9pk5MQyfYZKPutydWEFncLvR0MB9HibsFP\nzT91+1iXzyXI9GrztGHh+wtxsP0g7eBkVBpRa6tFriY384MfRCQV+FAohDvuuAPr16/H3r17sXr1\nauzbt0+wz7PPPospU6Zgx44dqK6uxr333otgcOCWWjP6nmiLpsxYNqgieFIbJxXPlpRZ4IIcVDIV\nH5knmWi1cTaYVKaYE0GjsxFOn1MY1XNtAHivHeDLEERH8EqpEpsaN+HdPe8KPPjJ+ZNRaixN36KJ\nOkGQqxl3wE0rZpL/o+uyqKQq3HLKLQBA8/UHIh8f4C2k6HRU4pPXtNUkfRzJcycnJl/Qhzd2vgGA\nLxVhUvECX2YsQ4e/Q/CZDEWSCvyWLVtQUVGBsrIyyGQyLFy4EGvWrBHsU1BQAKeTjwKcTifMZjOk\nUtbLeygTbdGUGctw2DF4PHgS9SVKYyRkq7Ph9ruxp2VPzyJ4VRZMSqEH3+BsgNPnjMmP18l1UEh5\ngdfKtchWZ9NtRPgBUIEnVx06uS6jFo1eoUcoHII36KXC3rXUBBfkMMwwDA/OfBAAUGGqAMCfAA61\nH8KMl2ekNZ6eYvVY0c6106tFcsLubhWxL+RDMBykAv/27rdxz+f3AOBPxORkV6grhFwiH/IRfFIl\ntlgsKCkpobeLi4uxefNmwT633HILzj33XBQWFsLlcuHdd9+Ne6zly5fTv6uqqlBVVdX7UTMGFE/A\nA6lYCo1cgwJtAbUjBgNEsJJZC26/G96gFzdOvhHv7HkH+dr81CN4pQlmlRk1ts5IstHZCIlIAqVU\nKdg/X5tPFzLp5LoYi4agU+igkqqoB6+Va9HgbOjBq47F5XdBKpYiGA5CJBLRFbJE4J0+J03fBI5H\n8FFzAH86+0/Y37YfLr8LLe6Wfs+qsbr5CJ5ckZGTZ3eVPMkVCfn8SWqkCCI0OhtRmV0JgG+sXWoo\nHXQCX11djerq6owdL6nAkxn2ZDz22GOYPHkyqqurUVdXh/PPPx87d+6ETifsTBMt8IwTGy7Iwawy\nQy1TI1+bP6gE3h1wQyaW0TovXVlXsw4XvXURJCIJFk9ejBs+ugG3nnprahE8x0fwldmVWLO/80q2\n0dkIk9IEmUQGmVgGgK9vk6fNQ5uHt2p0CqHAk8geAPRyYZqkTq5LyRqxe+3YdWwXzi49O2ab0+dE\nsb4Y9fZ6uqAKEAp8sb5YsGw/Ok1TIpbAoDSgw98Bd8BNTxD9hdVjRbu3Ha2eVgCIKeuQCPJ6yP7N\nHc14dNaj+KzuM0EEDwDlpnLBZzIY6Br8rlixIq3jJbVoioqK0NDQGUk0NDSguLhYsM/333+Pq666\nCgAwYsQIlJeXY//+/WkNijG44QIcstXZUMvUKNAVDGg6XVfcfjeyVFkJI/gNhzYA4IOXGcUz4A/5\nsa15GzRyPnvkprU3JZzIs3E2ZKmyMCl/EnYc3YFIJIJAKIBmVzO1aN6/+n1cOPJCaOVagUUzq2wW\nJuVPoseKjuD1Cj319gH+ZNDdJOu/dv4L131wHc557Zy4250+J8bnjgfAf16kZEG9vR4PfPkAml3N\nKNIXwelzYsPBDXhl+yuCCB44bhX5XHD73b2qv5MOVrcV3qBXUHJCKVUmjOAPtR/Cu3vejYngm13N\nyNfmQyPX0BMx4aySs+h7NFRJKvBTp05FTU0N6uvr4ff78c4772D+/PmCfSorK/Hll18CAI4dO4b9\n+/dj+PDhfTdixoDjCXhQrC9GlioLBoUB/pC/3wUgEe6AG2a1OcaDP9pxFLevux27W3YD4OcPRCIR\nKrIqsK1pG3LVuTSFcFPjprjHbve2w6QyIV+bD5lEhpe2vcQ3zFboqcBPyJsAvUIPnVwHjVxDvfY/\nn/NnTMybSI/V1YN/6Vcv4aKRFwHgSxZ0F6mu2b+GvpZ4uPwunD3sbKxZuIZG8AXaAtS11+HpH57G\nzy0/o0jHC/zsf83Gq9tfFUTwQOdcQIe/A76QD6FwKOmYMkUkEoHVY4VGphH0q81SZSV8X75v+B6v\n73w9bgRfoCuAVq6NyXl/6JyHcGnlpX34SgaepAIvlUrx7LPPYs6cORg7diwWLFiAMWPG4MUXX8SL\nL/J9Jh988EH8+OOPmDRpEmbPno2//vWvyMrK6pfBMwYGLsjhhkk34Jl5z0AkEqFAN3h8eE/AEzeC\nJ4uQSEonEbM8bR5qbbXI0+bhH3P/gb/P+XvcCD4QCsDtd0Ov0AMAJuVNwlM/PIX/t/X/YWrhVLj8\nLurRa+Qa6BQ6aOVagRUTDYngF41fhNOKToNGrqG1UBRSRbeTxDbORicg4y26il4hywU5uANulJvK\n4Qvyk5Ad/g4U6YoEk7kxEbyCF3hiz+y17u2XblNExIv0RXh95+s4p5S/SiEdr+JBTkQun0twgmx2\nNaNAW0CLvpGrpJOFbtNd5s2bh3nz5gnuW7p0Kf07OzsbH3/8ceZHxhi0eAIeaOVaKlLEhx+RNWKA\nR9Zp0XQ94XABjq85c1xEScZKvjYfEUT4krFSBWYUz8BrO1+jj2t0NqJQVwi71w6D0kAXxUzKn4Qv\nDn4BABiXOw7fHvkWHf4O6BQ6qGVqPoKXaRI20Sbv3V3T78Io8yjBNtIEOhk2zkZXo9bZ6pBVJAyq\nnD4ndAp+ARWJ4LVyLcqMZdjXyqc6F+uL8eWhLyEWiRGOhGPEWyvXUosGAM557RxU31gtuBLpC8jJ\nyeVzobmjGb+b8TtsPLyRj+ATWDROn5O3kgJuZKuzYyJ4kmY5lFetxmPoLuFi9BlcgBMsJMrV5OKY\n+9gAjqgTd8ANs8ocE8F7Ah5a/xvojFbzNHmC/0dkjRCUXrj8ncux1bIVTp9TUN9mUh7vp4tFYlSa\nK6kgi0ViaGRREbwkfgRPIvt4NXPkEnm3EXz0ZHBde13MdpfPRUsgeINeuP1uaGQalBnL6D7F+mI0\nOBroVQnJOCEQi4ZE8O3e9m4bk2eCDn8HdHId3AE3FoxbQDNdklk0Tp8THf4OeAIemNX85x+JRGDj\nbDCrzLTWe7QHfzLABD5F/vTVn+KWID0ZIQuDCAaFYdBUH3QH+Ai+q0B6Ah4axZMMIAC0Bnielhf4\nLFUW7zkHfdhr3Ys2rg0OnwPugFvQEGJS3iTIJXJcPOpiTC2cCgC0M5BGpqERfHcWDRHXaBRSRbcL\ntYjQyiVyerWyxbIFV7x7BQAISiBwAY5G8BVZFfS5y03lOOI4Qk8yXStPksne6IyeZNUpM4XL54JO\noUPTPU1YfcVqOt5krQTJiSjaouOCHGRiGWQSGbVoWATPiMuuY7sG1YrN/mDt/rU0TS0aT8AjmJAj\nk4yJeOEwxZatAAAgAElEQVTHF+gS+b7G7Y8fwXNBjv7L0eQIBF4hUVCRE4vEyNXkYl3NOox7bhwc\nXgfcfndM1cHxuePxxfVf4KOFH+G0otMA8FUYAd7+0SmEk6xdIffHK4rWnUUTCAWo6JYby6nYH2o/\nRCdeXX4XLYHgDXrhDrihkWvw2HmP4Y9n/REamQb52nyEIiE6hngRPEmTJPSk2UlvIScjjVwDkUhE\nBb47i4ZE8ETgiWUG8CddjUwDmUTW5+MfTDCBTxFfyNftZfNQ4/FvH8fG+o0x93e1aJIJfKunFbd9\nehs+2PdBn40zGhrBh2IjeACQiqUwKAz0BFWgLUCBrkCw5iNPm0ctJ4fPgQ5/BxUdgkgkEuSf3zj5\nRvzhrD8AAKYVTcO8inn883SZuCSoZCoa5Xel6yTrrR/fKshgibZnhpuG07IIrZ5WWJwWRCKRmElW\nMn6tXIsiXRH0Cj00Mg1UUhU9uXX9DHUKHfW2CQ6fAxanhdbxyTQOrwO7W3ZDJ+9cR0MFXslbNJ/X\nfR6z8IrMFRCBb3Q24sEND9LPTCvXnnQTrAAT+JTxh/zdTnwNFeavno8dR3fAxtnitr7ratHoFXo4\n/fEFfl3NOgD919DY7XfDpDLBH/IjHAnD6rbizn/fSSM/lVQFrVxLT1Djc8dj/bXrBceIXrxFMk66\nCnxXVl6yEtOKpgEAphdPx3UTr8OiCYvw+HmPx91fLpHj8N2H4y4mjI7g/SE//vnTPwXZLjbOBqmY\nz48oN3VG8K2eVrgDbjh9zphJVnfATU8mZrUZeoUeIpEIuZpcGJVGfLjgQ6y6bJVgHGaVGW1cmyCC\nd3gdOPeNc3HLx7ckfC/S4ZaPb8Fv1/1W8F53jeDnrJqDv2/6u+BxTp8TgXAAdq8dWSp+wvmV7a/Q\nE4VGrjnp7BmACXzK+IInRwTPBTh8fOBjbLVs5QXeFSvw8SwaG2eLmwtPJgD7q/MT8coVEt7H3t2y\nG89ueZbWXlHJVHxpgOMnKJFIhNHZowXHyNfm0xWf5Jhuv7vHJym1TJ10KXyiiDJ6kpW8b9Hvn42z\n0cnSaIuGRPJNrqaYSVa7104FvkBbQEUwR5MDg9KASysvxXnDzxOMI0eTA6vbyttTxx/r8DlwrKPv\nJtTJJCqxVoDOCfEsVRatNTTcxK+1+b7he/xr57/o+2P1WJGl7MwoIp+ZRqY56SZYASbwKeML+QZl\n56JM882RbwDwC0XauXZYnJaYfeJZNKt2rcKStUti9j3YfhCV2ZX91pybZIuQeuskQialBdQytSCC\nj0dXgU8lgs8kCmlnBE8mNaMnsetsdRiTPQYAL3TRETzAlwIOR8JQSBRQSBXwBDx46+e3MG8kn+48\nrWga1i5aC4DPgErU/UopVUIpVcLitNATVVefHuA/4+jm4elAIu54EbxJZcL+Nn6VfCgcQiQSwZmv\nnolff/Rr+v1qcbcI5jXIieKUglOwePLijIzxRIIJfIr4gj74Qj5EIhFc+valGftCDza2WrYCAGrb\naxGKhGIsmkgkAm/QG2PReINe2hxir3UvjagOth/EpLxJ/ZZlQyYTFRLexybWDJnk7WrRxCNLmSXw\neF/b8Rr+8s1f+k/gJZ1ZNOR9jD5Brt69GgvGLUCpoRQVWRVo87Rhf+t+7LXuhQgiXPTWRQiEAxCJ\nRNTKmT18Nl2WLxKJaGXLHHVO0u5XuZpc1NvrkavJhUamgcProP1uSd78Fe9ekVKd9lQgghzXg1d1\nRuaegIdG86PNo+H0OaGSqmB1W6GWqandRD6zUmMpFk9hAs9IAPHg3QE31uxfM2Sj+YP2gzil4BTs\nte6FWCSOEXhv0Au5RC7ogkNS/WpttfAGvXhww4NYX8v72nW2OkzOn9x/Fs3xCJ54z13zpskipK7L\n8qPRyDXU7gCAw47DsLgscSdE+4LoSVYSMZMTZCAUwH/q/4NLKy/FoWWHUKIvgY2zofL/VWLnsZ1Y\ndfkqiBDr608tmBr3uSbkTsDIrJEJx5KryUW7tx25mlyUm8rh8Dno2HwhH9o8bbBxtozVjSeCnEzg\nczW54IIc6u31qMiqQJOrCU6fEwW6Alg9vMBfM+EaSEQSwXFORpjApwjJoiHlZIeswLcfxOnFp2Of\ndR9Gm0ejydWEQChAt3edYAU6BT4cCWN/636ac+4L+mDjbBhtHt1vFo3Lz+dQm9VmtLhbwAU4WuER\n4P3cqYVTMSV/SsJjaGSauGWD+yuCl4qliCCCUDgUE8EfbD+IIl0RTSEkFR9J2uWM4hmYWzE35phn\nDjsz7nPde8a9uHHyjQnHQq50/nDWH3DrKbeinWuHP+SHQWHAql2rkP23bDi8DkELxHQg2ULR77VK\nqoIIIjpJemrBqfAEPDhkP4TJ+ZPh8rvg9DmRr82nEbxIxO8f7eWfjDCBTxFf0Ecnq4Du61KfqBxs\nP4gzSs6AxWVBga4AJYYS1Npq6fauE6xAp8AX64txoO0AzTe3eqy8x6s09FsE3861w6Q0oSKrAnXt\ndeCCHEoMnT0NVFIVrh53NRaMj21ETVDL1NSGiLYF+kvggeMTrSFfjAf/S+svgklhsUiMHE0OxCIx\nTEoTCrQFmFIgPHlZ7rFgRnHvGnaQuYgzSs7AecPPQ3NHM1QyFTRyDc1kcfqcGRP4eJOsapkaz130\nHI3kpxZOBRfkcKj9EF1cZlAYoFfowQU754dMKlO/fmaDESbwKUIsGpKD3F21vxMRX9CHox1HcVoh\nv3BHJ9dhbM5Y7LXupft0nWAFOgX+lIJT0OpppStGW9wtyNXk0rKz/TH+YDgItUyNEaYRqLPVgQvw\nnYoAXgy769UKdLaHE4vEtEEE0L8CT+YQumbR7G/bj9FmYdbPuJxx4IIcmu5tgkqmwp/P/jN2/aaz\nCmOhrrDX4xhmGEZrzxgUBhztOAq1TA21TE3nNSKIZEzgyZVx1zUHv5n6G6ikKvzvVf+LYn0xPAEP\n6h31VOBLjaX0MeQzzlJlMYtmoAdwokAsmqEawYcjYTz9w9OYOWwmhpuGoyKrAiaVCWNzxtLiVEB8\ni8agMMCkNGFczjhYPVYawR/rOIZcTS5fOCqDFk2zqznuikpSzpeUAa5tr4Un4EGJno/gTUpTwoVH\n0RCv/Z7T78Hfzv8bvV8ikmToFXQPyaShHvzx9y+uwOeOQ7Y6m0a4CqkCE/ImZGQc665dh803813c\nDEoDPYGqpCqEIp2Lr3oj8P6QP6bAGRfgcPW4q+NecYhEIlw59kqoZWp4Ah5sa9qGCXkTUJFVgWsn\nXEtPZDSCV7IIngl8ipAsGuLNDrUI/ukfnsZrO1/Dcxc9B4lYgpo7a7DykpUoN5YLeq7Gs2gUUgUa\nfteAPE1eZwQfjIrgj6+IzBQPVz+MV7e/KrjPH/Jjfe16mutckVWBWlstuCCHYj3fpMakMiWdXCUQ\ngVBKlQKB6K95BKAzk4bUlKEC37pfcFUB8BE8eY2ZhqRKAvyJTyKS0AgeAM3H703Ao3hUgTd/flNw\nnzfoFYh1PNQyNRqdjTjQdgDTiqah5s4a/P7M36PSXEm3A3we/8m4uCka1h07BULhEEKRkMCDH2qT\nrG/+/CZe+tVLMaVryUIZQjyLBuBtjRxNDjZZNvERfIYsmjZPG8xqs+C+BmcDcjTCVmvfN3yPxWsW\n08gvX5vPT7IGOSr6PbVolBIldHIdstXZaPW0Js02yTRksZPD5+Bb6yXw4AHgghEXCCbC+wqRSAS9\nQk8FXilVolBXiHp7fa8tmq7dwLggF9PbtisqqQpfH/4ac0bMEZRjJu8L+YyfvuBpFsEP9ABOBEhO\nsi8Y5cEHuIz5jgPNsY5jOGw/jLOGnRWzjaQbEuJZNIRsdTasbmtnBO/hBV4j18Ab9NKOST0h+2/Z\nqLMJy+FanJaYLBfSnJmIuUFhgMPr4JtJH4/ay4xlPbJolFIlyoxlWHfNOkQejmBW+awej7+3EIvG\n7rWjWF+MNq4NVreV7/V6vLQxocxYhtun3d4v4zIoDVTgjUojnYT2BHv3W+gaYUd/XokgAk5WsxKI\ndRUdwafyeQ9lmMCnAFlVSH5wALC7ZTc0j2n6JXLqa5o7mlFiKKHNMKLpKvDxLBoCiXS5IAdv0Esj\neJLp0dMl7uS9jc7iAQCLyxJTl5wseiHL/41KI+xeOz0hRR6OYOawmSktV4+2aEQiEa0W2Z+QSVaL\n04KxOWPx9u638efqP2O0eXTc+jX9BSnUppapYVKaYFbxV1c9DXbI/qSccqunFQfaDsQsoosH2U5K\nPRMKdYWYkj8lpau0kwVm0aQAXdgRFcE/+s2jAPhl7Cd6lToixPHoWtkwkUUD8Ksij7mPwR/ygwtw\nsLgsKDWUAuB/fE2uJhToCmhHqO4g7/Uvrb9gTsUc+vw2ziaoqAiAdjciAq6UKhFBBO1cOz0h/f7M\n33f7nECURdONVdCXkAi+wdmAF371AmycDWv3r8V55ed1/+A+hETwKpmKRvAiiHos8ORkT4KHGz+6\nEZ/WfIqxOWO7fd/J96/rlYxIJMJPSzOzonaowCL4FCARvDfoRZunDSaliUby0ZX2TlSSCXzXCL7J\n1USbY3QlW51Nf7hckMOBtgPU0y/SFaHJ1YR1Netw40c3pjQuEqVHZ/GQEgIxFg0R+OMnW5FIBIPC\nQPO2Ad7XTtRCLxqFRAGxSDygl/cKCV9Lp8nVhOGm4bhgxAVocjXFZND0NwZFp0VDGpAX6gp7PMlK\nqnWS7xaxQVOxaMj2rhE8I5ZuBX79+vWorKzEyJEj8eSTT8bdp7q6GlOmTMH48eNRVVWV0QHW2+vT\nbvT75cEv8cKPL/T68dSDD/lg9VhRaiyl2+JVUOwJpHvQQPGHL/+A6z+8PmWB32Pdg3E54+Luq5Kp\naHTV4m6By+ei2RCFukJYXBY0u5pjou94bGvahtlvzAYgtGiaO5phVpljI3i3FZdVXoaZw2bS+4xK\nI5pdzT2+ZBeJRHQScaCQS+RodDbSmu4jTHy/264TrP1NVw/+zml34i/n/gWegAd/+fovMZOmiSDV\nPcmJgXxGqVg0NIJPEGgwOkkq8KFQCHfccQfWr1+PvXv3YvXq1di3b59gH7vdjttvvx0ff/wxdu/e\njffeey+jA7zk7Utol5re8vsvfo/bPr2t14/3BX3UE21xt1DbQSvXph3BF/53Ia778Lq0jpEO3x75\nFgCQq05g0XTpLrTHugdjc8YmPB4pYrXz6E5UZFVQv5hYNDbO1u3l/BbLFryw7QVYXBYYlUbBe+zy\nuVBmLIvx4K0eK+6YdgcuGHEBvc+g5BfmpJIa2RVSz2agUEgVqGuvozn8ZEJxoCN4o9IoEHiVTIVs\ndTZqbbX4c/WfUV1fndJxyG+aBA9EtFPJounabpGRmKQCv2XLFlRUVKCsrAwymQwLFy7EmjVrBPu8\n9dZbuOKKK1BczOfhZmdnZ3SApEtLVyKRCPZZ98V5RCzp/lB9IR90Ch18oeMCfzyCL9YXp11kyeV3\nCUrTJsLqtuL9ve9j6kvxi0b1liJ9EQDEpB0SoiP4UDiEX1p/SSrw5DjugBsjzZ1phcSiafe2d3vV\nM/3l6bRjUKGuUHAF0eHvQLG+GA6vA+FIGG/vfhuBUAAt7hbkqIWvwag0Js36SYZGPsACL1Gg1lZL\n89tzNbmYM2KO4D0dCEiXqgm5E2gBM7VMjZ3HdkIsEmPnsZ3dHiMYDuKfP/0TV4+7mq4nEUTw3Vk0\nXRqmMxKTdJLVYrGgpKSzjkdxcTE2b94s2KempgaBQACzZs2Cy+XCsmXLcP3118cca/ny5fTvqqqq\nlK0cb9AbN+e8rr0Os16fhaP3He32GIkaH6eKP+SHXqGHxWmBWCSmDQWK9cVpWzQAUlpOvWz9Mqze\nvTrt5+oKWZ2ZqMkzqasO8DXVJ+ROiNsompCtzoZYJEY4EqYlAoBOi0YqlvZoQq5QVyioaNnh76BR\n5PcN3+PaD67FT6f/BC7AxaTNkRS83kTwA23RGJVGbLZsppaTSCTC+uvWd/OovueGSTcgFAkJFlsR\ncb58zOW0ZHQyrG4r/CE/Ti8+nQY3pFeqN+jt9n2XS+TYeOPGIZkCWV1djerq6owdL6nAp5KOFQgE\n8NNPP2HDhg3weDw4/fTTMWPGDIwcKYw0ogW+J/hCvrit8qxuK83Y6G7iLPoLc9unt2HZ9GUxqwGT\njiHog16hx8HQQQwzDIM/zIuhXqHPyCRrKhXvzGozphZOjckJTxcbZ0OpoRTnDz8/7nalVEnnCF7b\n8RrunHZn0uPlqPnVgzbOhmJd5+pKYtHo5Lqk71nx08IVmYW6QoEHT+q93zX9Lsx6fRbCkTCe2/oc\nXrr4JUFTbKBT2JPVO0/E3dPvpk01BoJSQyle3f4qrhl/zYCNIR7xriCIwC89dSmu+6B7u5F03Yq+\nOowO4lLRneh+uEOJrsHvihUr0jpeUoumqKgIDQ0N9HZDQwO1YgglJSW44IILoFKpYDabcfbZZ2Pn\nzu4v01IlUQRP6nWnMqlDBN7uteOFH19IqTnBVf97FT6r/QwAf5IhUWuuJpdODGlkmn6L4LkAh+sm\nXJfWCtpGZyN+++lv4Ql4cLD9IAD+fXz3qncTXvpH/wjbve2CqDwe2epsuvgluoojEfh2b3vSCN7i\nEnaQKtYXx1g0WrkWj577KO4/436UG8vhDrjj2kYNTv67S5bT94SbTrlpQNNfS42liCDSZyUIMgn5\nfVWVVcHutXe7apnU7FdJVdSiIb+peLXsGb0nqcBPnToVNTU1qK+vh9/vxzvvvIP58+cL9rnkkkvw\n7bffIhQKwePxYPPmzRg7NrFH21MS9UJt8/AC31UQ4kFqZX9y4BMA3Xvy4UgYXx78klbL8wV9NG+7\nwdFAv5RdJ1nbPG1YuX1lQgHb3rw95rUBqVlIXJBDlioLvpCvVytCAeDRrx/F8z8+j/HPjcfE5yfi\nwQ0PYk/LHkFJ3K5ET7K6/e5uM1Jy1Dn0eNHilK3ORoe/AxanBW6/O25mFFnYRFaSPjn7Sdx6yq1U\n4CORiKA/6GPnPYa7Z9wNEUQxJRYA4K3L38LRe7u38AYjZCL/RBD4keaRcP7BCbFIjJHmkTjQdiDp\n/uQqLDp4IL+pi0Zd1OfjPZlIKvBSqRTPPvss5syZg7Fjx2LBggUYM2YMXnzxRbz44osAgMrKSsyd\nOxcTJ07E9OnTccstt2RM4MORMALhQNIIPrq1WiKIoJP+ot1Fwb+0/gK7144jziMAeH9aIVGg+d5m\nfH79550RvFwYwX9y4BMsWbsET//wdNzjnrXyLLriEujM3U4lKicLjHRyXa8ndr9r+A5jssdALpHj\n0spL8fi3j9MTRyLIQqdIhC8J253AR0fw0eIkEolQoC3A/rb9CEVCCIRjVwBzQQ5auRZf3fAVAKAy\nuxI5mhx4g15ssWzBhW9dSC/vCcNNw1FqLI07rgJdwQmbShc9kX8iQGzG0ebRtG9qIkigoJQq6W+J\nC3D441l/xOuXvt7nYz2Z6HYl67x58zBv3jzBfUuXLhXcvu+++3DfffdldmSAoDVYV4jAx2sK3RUy\ngdPi4cU1maBa3VZsbtwMlVSFzY2bMePlGZhePB0qmQr52nzka/Nxx7Q76GV/R6BTbGvba3F26dn4\n6JeP8Kez/yQ4rifggSfggdPnpDnnROxTWSRC0sdIZcYWdwuGGYb1aCLQ4XXgr+f/FRqZBjOKZyBX\nk4v/2fQ/CZsuA3yBLqlYCn/In5LAXzDiApQYSrC+dn1MGluuJheHHYchEUng9rshVwnnTshJjJwg\njEojXfBzxHEEh+2HUawvFgj82aVn4+kL4p9QT2SKdEUwq8wnjMATRmd3L/CegIe3aGSdhew8AQ/m\nVcxLGmwwes6gXskabwIG4G2SzY2b+dS7ju4jeJIhcth+GGKROKnA5z6ViyVrl2Ba0TR81/AdNls2\n47sj3wlEcGrhVCyvWh7jwde01WDJ5CXY17ovpjwusZSi729wNEAsEsctPfzCjy9g2P8Mo/neZAGI\nTq7DxvqNGP3saDz1/VPdvvZo7F475lXMw8WjL0aOJgfzKvgTd7waNNEopUr4Qj7+hylP3pe01FiK\nuRVzEXk4Qhs+EyKIoMxYhlxNblwbi5xASH0To9IIiVgCmViGYx3HYPVYBRYNwE90XzbmspRe/4mE\nTCKD5R7LCZcpUqwr7nZeLNqioR58L9NZGckZ1AJPi3x18eCv//B6bDi0AcMMw1KKfonA19vrY/Kq\nE3F6yekA+P6PDc6GuJkYGrlG4MHX2mpRmV2JPE2ewIoBOq84oiegamw1mJg3MeY11NpqsbtlNxqc\nDahpqwHQuYRbr9Djx+YfAaRmTxFC4RDcAbcgY+e84efhy+u/7PaxxCtNJYJPRvUN1ai9sxYauSap\nwBuUBohFYprmqJQq0dTBL5Jy+pwnTQnYdNN7BwKz2ixoWA4gZr4lepKVevAplChg9JxBLfCJInji\nT5JJx0QQYe8q8KmUBjit8DRcMeYKzKmYgxZ3S1wbo2sEX2urRUVWBXI0ObR8LaHV0wpA2DSCCnyX\nCP7slWejrp1PhyQ54CTC0Sl02Hl0J0oNpdTDT0Y4Esbt627H1H9OhVauhVjU+ZGLRWKcN7z74lUK\nqQKegCelHOVkaOQaSMR8w4h4qZKkUqVYJMatp95KF7IopUo0u5oRjoTR4Gg4aQT+RIRUFCV8ffhr\niB8RY1vTNnqfOxDHg2cRfJ8wqAU+kQcvE/Oe+sS8iQnFutnVjLK/lyEcCdN92rg2PoIPxUbwwXBQ\nEGmUGkrx3tXv0UVN8QRep9DRomNOnxOBcABZqizkqHNixDeeRVPTVoMJuRMEEXwkEkGrpxU2zgad\nXIe397yNHUd3gAsc9+DlOuw8thMzimcIfkiJWLl9Jb45/A12HN3R6+42SqkSdq8dSqlScILoLRoZ\nH8G/vfttrNy+kt4ffYXw/EXP0whWKVXSq5V6e323NhFj4DCrzPS7DvACDwBHHEfofcTqi/bgWQTf\nNwxqgU8UwTt8Drx9xdsYnzs+YQS/x7oHzR3NePTrR9HkaqJlZBNZNNrHtHjyu85iamQJPxHFeKs3\nTys8Dd83fI9fWn/BQ/95CMX6YohEIhrBh8IhWjUvnkVTa6vlBT4qgncH3AiEA7B77ajIqsB7e9/D\nwvcW0iXceoUedq8d04umx1wlxGNr01b8ZupvYFAYkk6mJkMpVaLN05axOttqmRpuvxt/+/5vWLJ2\nCT6r/QyNzsaEFpBSqqTFqVx+F4vgBzFmtVkQeJA5pOj73AE3rfVDvvvp2n+M+AxqgY9utBGNw+uA\nQWmgBcDisb+Vn8l/uPphbD+6HTNL+SXfhdpCvLnrTfxxwx9jnuvFbS9SW4BkuhDvPZ4HX2IoQZG+\nCH/f9Hf8Y/M/UKQ7XtfleAT/7p53sfC9hQA6v+DREXyLuwVlxjJBBE9+EA6vgy69H24aTi9hycnp\nnLJz4lo0K7evxPNbn6e3a221GGEagUJdYa9WdJJxzv7X7IxFzsSDJ69l2fpl+OTAJ+CC8WvNkwie\nbGMCP3gxq8ywcTZ6NWzjbLRXL4F48Myi6XsGtcAni+ANCgNtihCP/W37MT53PL19WiHflcesNsPi\nstDFGLW2WniDXmjlWtTb6yERS3Dk7iPUiiARfKLod3rRdGw4tAFAZ9Sfrc6G1WPFhkMbUGPjJ0nb\nuDYYlUbqwXMBDhFEkKXKErw+Uufc4XPQ55ZL5PQSttxUjksrL8WE3AlocbfgiW+fEIynxlaDXS27\n6O269jpUZFWgSF/Ua4uGTBiHwqFePb4rGpkGHf4OHHEcwSkFp2B/2344vI6kEXyrp5Vmz7AiU4MX\nhVQBhVRBv+c2zoZR5lFo5XiBj0QicPqcUMvU1KoLhoMIR8LUemVkjkEt8CQ6jxH4FCL4A20H8Ph5\nj+PXk34NADin9BwsmbKEThKSSPk3n/wGXx78ktaz6bpakwh7oug3ulaKIIJ3W1FdX41mVzNtQD3C\nNIJ+8du97TApTVDJVAKLJjotcsG4BXj+oudxzH2M5sE/ft7j+HDBhzS3v+uViCfgoR6oL+hDk6sJ\nwwzD+Ai+lxYNweFzpPV4QrY6GwdsByARSWj5W4cvucADwPtXvw/r/VYW6Q1yzKpOm4YKvKcVa/ev\nxR83/BErd6ykaZL+kB8d/g6opKoBbUU4VBnUAk+EvauIpxLBWz1W5GnyaJ0Xo9KIV+a/EiPwrZ5W\ntHPtcHgdUEgUcPgcgkyR7iL4Am0B/ZsIfL42HzW2GjR3NGNE1ggcbD+IZlczRplHwelz4rD9MJ74\n9gmYVCa+HkeAE1zSEjRyDc4rPw9NriaIIKKinuh9AniBb/W0ggtw2GvdixJ9CWQSGQp1hb2O4Jvv\n5f3vdEsjEwq0BdjcuBnDDMNQoOPfP6fPyWfRxBFvMtk6KX8SrTfPGLyQ5utv7HwDB9oOYGTWSFjd\nViz9ZCmd59LINLSxytGOoykV3GP0nH4T+LteervHj/GFfHEXJqUSwbt8LugVevrFic7IADqzWmyc\nDRaXhTYwiN4XSO7BA6ACtWz6Mvxq1K8AAGNzxmJT4yaMMo/CyKyRqGuvw9GOoxhlHgWXz4X/89X/\nwTNbnkGWKgsSsYSuFCXjISilSuRqcnHEcSSu8IX+HEK5sVxQTpcLcmj1tOKp75/CtR9ci4qsCgDA\nVWOvwoJxC+K+hu7I1+anVBAtVQp0BdhsOS7wx0+QySJ48p4kK1PMGDyUGEpwxHEE931+H6weK0aZ\nR2FT4yaEI2HcNOUmAJ2fqUauQbOrudfBByM5/Sbwe4/Wdr9TF7xBLwwKgyBKD4QC8If80Mg0SSN4\np88JvUIPrYyfkCMWTNcIvo1rQ729HlmqLGjlWkjFUsEKTKPSCI1Mk1DgSEu6ReMXodxUDgAYZhgG\no9KIyuxKDDcNx6H2Q1TgnT4ndh3jPXKS2RNt00QLvEKioKIWrziXWCTGMMOwmBS0Nq4NNbYa7Gvd\nh4p8F2AAACAASURBVBFZfKu3UwpOoRPNvSGTP8ACbQHsXjvG5IzpFHivg59klcYKfIOjIeY+xuCl\n3FiO/9T/hyYBjDSPRLu3HReMuAAvz38Zn1/3Oa4ceyUAPpK3uCxp24eM+PSbwLt8PS+rS+qwR0fw\nDp8DeoUeIpEoaQRPBV4eX+C5IAe71w5PwIPDjsMwqUxxu/jIJXIcvvtwwuX8RKCiOyKJRCJMzJuI\nMdljMMwwDAdsB8AFOb5BSMBNBZmUo1XL1HRlZ3SvUYVUQX3JRDXU4wl8q6cVh+yHAAAVpoq4j+sp\nvc3AiQe56hmbPRazymfhrul3JY3grR5rRvLvGf1DmbEMq3evpr+50ebR+Ovsv+K/L/hvAMD5I86n\n3yeNXIMmV1NGv1+MTvrtV+PuhX/rDXphUBoEIt7qaaUFiRJF8MFwEL6Qj6++SCya4yWDyf8AaPOM\n6Ag+3mILs9qccIx52jzIJfKYptW3n3Y75o+ej2GGYdhi2YJ8bT5fXtjvhjvgRrmxnEbweoWepk/a\nOBsdIznZTCualvD5y03l+PjAx7jgXxcgHAnDE/DAH/Jjd8tuiCCiEXy6/O38v+Gvs/+akWORk+LY\nnLEo1BXihkk3UA8+US70pLxJGXluRt9TZiyD3WvHfWfcB4PCAJlEhvvPvD9uY3e1TI0mVxOzaPqI\nfhN4T7AXEXzIB4PCIIjgfz72M01/VEgUqLfXQ7RCOPvu8rmgk+sgEokSRvASkYSmMB62H4ZJaepV\no2WpWIoDdxyIyc2+etzVmJw/GSX6EvzY9CPytflQy9Swe+2IRCIYkTWCRvB6hR5rflmDnUd3wsbZ\nqO1DhP6S0ZckfP65I+big30f4IuDX+CLui/olYDda8fvTv8dphZmpofr3Iq5uP/M+zNyLLPajFxN\nLsbk8B2TDAoDHF4HdhzdEbc5x8G7DuLz6z/PyHMz+h7SFObOaXfC/gd70n01suMRPLNo+oRuywVn\nCm+49xF8dPGi7Ue3Y0r+FADCyVAu0LlQgtgzQGe3pK6TrCWGks5CXkEOuZpchCPhXtVaIbVx4kG+\n7FPyp0Aj08DqsUIj16DMWIZsFZ8RYlAY8NyPz4ELclTgD9kP0TH//szf0wncrkwvno6KrAqcNews\nvLL9FXABDuNyxuFA2wF6STzYEIvEaPxdI80KMigNaHA2wBv04vwRsa0DydwG48RgfO54vH/1+zHl\nouNBLJpkvyFG7+lHge95BO/wOVCiLxG02Nt+dDtum3obAKHd8sXBL3DJ25cg8nBEIPAksiaLKIiA\nT8ybiB+bf6T+d5mxDC6/K+ONlonffOXYK6GWqdHh70CBtgCPn/c4tYP0Cj0anY2wuCxo97ZjZNZI\nwVilYikm5k2Me3yxSIy9v90Ll9+F8v9bDplYhi23bEGJviTu/oOF6JRPvUKPYDiIGybfEFNimHHi\nIRVLcfmYy1PaVyPTYE/LHhgVzKLpC/rNovEjeQTv9rvxxs43BPcd6ziGyfmTYXVbaTu3ens9Rph4\nXzk6gn97N5+GGQqH4PK7qPeuU+ggE8voZKVSqoQIIswomoGN9RtpGmGZsYw2As4kUrEUHy34CLPK\nZtGl/hq5BtnqbHrboDQgHAnD4rTAxtnoSSHVlX0yiQxZqixUZleijeNrxiTKmR+MyCVyZKmysHjy\n4oEeCqOf0ciPZ9GwSdY+od8EPoDkEfwvrb9gefVywX3H3MdQpCtCnjaP9l5t59qpdx0tgO/vex8A\nn3HRNYKPPhFo5VqUGEowMW8iHD4H9bfLjGW98uBT4ZLKSyARS6CQKCAWiWMmEslYLS5e4Au1hfyJ\nqIcr+8jk5YlYtOnQskNx+6oyhjYamQb+kJ958H1Evwl8UJw8gvcEPIIccICP4PO0eRhmGEZzoe1e\nO80+IQKokCjoQqEmV5NA4I1KoyCHXafQofbOWozPHQ8RRDQft68i+GjIyr3ojkRAp8DX2+vhDXqR\nrc4W2E+pQjzPE7HsKlvEdHJCghEWwfcN3Qr8+vXrUVlZiZEjR+LJJ59MuN/WrVshlUrxwQcfxN0e\nliYXeC7IweFzIBgO0vuOuY8hT5OHEn0JGpwNtPJc11WdN0y+AfXL6jFnxBw0u5rpKlaAXza98zc7\nBfvLJDKUGkvx09KfqN2To87pswg+Go1ME1OVkUQvpAiTSqbqVTcfsoz/RLJnGCc3JNghNYkYmSWp\nwIdCIdxxxx1Yv3499u7di9WrV2Pfvn1x93vggQcwd+7cuCsuAQAyN3xJGikR8SYNNKpeq0KTqwm5\nmlwMMwzDZ3WfwcbZqD0TjVKqRKmxFEX6IjS5mgS58oBwEVI0k/MnQyPXIPJwhKZU9nUhq0QRvEKi\ngEKigNPnhFKq7NWJhkXBjBMNYr0ye65vSCrwW7ZsQUVFBcrKyiCTybBw4UKsWbMmZr9nnnkGV155\nJXJy4gspAEDeAacz8eauS/U3Ht4IgJ9IvfXUW/HVoa/wed3n1J6Jhohhoa4QzR3NqGuvw3Dj8GQv\nLS7lpnI66dpXaOTxI/gsVRaev+h5lOhLoJQqe2XRMB+TcaJRbizHmOwxrJJkH5E0J81isaCkpDPd\nrri4GJs3b47ZZ82aNfjqq6+wdevWxB/UxjCWtz+EHLMEVVVVqKqqEmwmEbyNs9G64yRlriKrAuNz\nx6PGVpMwggeA4cbh+OLgFzjmPka99Z4wt2Iu5lbM7fHjeoJapo47yZqlysLiKYuxeMpifHXoq15F\n8MzHZJxoPHDWA3jgrAcGehiDhurqalRXV2fseEkFPpWz6t13340nnngCIpEIkUgkoUUjOcuAK371\nO5x7elbc7dERfBvXxteU/n1nFxizyoxaW23cCJ5Eu2cNOwsP/echSMVS6q0PNjQyTYxFM9I8EueW\nnyvYpzeZMJdWXop3r3w37TEyGIyBoWvwu2LFirSOl1Tgi4qK0NDQWcmvoaEBxcXFgn22bduGhQuP\nt6VrbcW///1vyGQyzJ8/X/hEYS2O2lwA4gs8WWJv42w0eyYas9qMbw5/g3G542IeS6LdiqwKeAIe\ntHvbB+3KuHgWTUVWBf4x7x/09tTCqXjz8jd7fGylVImrxl2V9hgZDMbQIKnAT506FTU1Naivr0dh\nYSHeeecdrF69WrDPwYMH6d+LFy/GxRdfHCPuAKAK56Cx3QpAKLykEQCJ4O/9/F68+KsXY9qykQj+\nrGFnCe5fddkqXDTqIgD8FcfL81/GzmM7B+2KyHiTrF2RiCUZKxLGYDBOXpKqoFQqxbPPPos5c+Yg\nFArhpptuwpgxY/Diiy8CAJYuXZryE2lFebDYj8Xcv8e6Bx/+8iEAoNRQisOOw1izf01sBK8yw+V3\nxdS3uHbitYLbl4+5POVl0gNBb+0XBoPB6Cndhrnz5s3DvHnzBPclEvaVK1cmPI5BkofmjqMx91vd\nVvr3XdPvwiH7IazdvxaXVV4m2I+U7B2bM7a7IQ9qrplwjaDNH4PBYPQV/baS1STPg9UTG8FbPdbO\nzkZSFcbljMMRxxGMyR4j2M+s4gV+XE6sB38iMXv47LjzCAwGg5Fp+k3gs1V5sPnjCLzbitHZ/Co2\nlUxFKykuHL9QsB9NhTT1PL+dwWAwTkb6TeALtPlwBDsFvsnVhEXvL0KLp4WuYlNJVTin7BxsumlT\nTE73xLyJWDZ9WcLWeQwGg8EQ0m8CX2jIQ5t0F1o9fG77rmO78Pbut7F2/1pah0IlU0EqlmJ68fSY\nxxuUBvx97t/7a7gMBoNxwtNvAj+98HR0WEpw37vPAuisOdPobOwU+BOwCiKDwWAMVvpN4M+crsIw\n9xXYVtMIgPfeF41fBIBveSeCqM8LfTEYDMbJRL8JvFoNLLqoGFbfcYH3WDHKPAqbbtqEUwpOgUll\nYhE8g8FgZJB+E3gAmFBaDJtsF1756RVYPVbkqHMwvXg6xCIxCrQFcQuJMRgMBqN39KvAnzqyGAFl\nM+7/4n60uFuQq8ml2zbdvImlQDIYDEYG6VeBH1XCR+jt3nZ83/C9oBGHVv7/2zvzsKqq9Y9/UXDI\nAayEEEi8gEcgOpAomd3C1ItikKUVWmZeM6/dBsu62u3Jn5TiUDll5mwO5dDgUFcpzDBzwpLiJt4k\nBUUEp0RBkOGc9/fHt83mCIdBD6Cc9XkeHs7ee5211n73Wt/3XWvts3fr+qyKQqFQNHrqVeCbNHFA\n65ORMN58D3LycywieIVCoVDYlnp/5GLEuf8guPU+vNDz1wqPI1AoFAqF7ajXCB4A/P2B4vQwjLxr\npHpNl0KhUNQh9S7wAQFAJe/tVigUCoWNaZAIPjW1vktVKBQK+8NBrL1E1ZaF/Pm+VgAoLATatQPy\n8gAnp7ouWaFQKG5cymvn1VDvEXzLloCHB3DkSH2XrFAoFPZFvQs8AHTowKmarKyGKF2hUCjsgwYR\n+Hv/fG92fHxDlK5QKBT2QbUCHx8fjy5dusDPzw/Tp0+vcPzjjz+G0WjEnXfeiZ49eyIlJaXaQqdO\nBZYsAb79FjCbgcOHgaNHr+4EFAqFQlE5VS6ymkwmGAwGbNu2DR4eHujWrRvWrFkDf3/9B0p79uxB\nQEAAnJ2dER8fj0mTJmHv3r2WhVSyUJCdDQQFAc2a8UmTDzwALFpk47NTKBSKG5g6XWRNSkqCr68v\nvL294eTkhJiYGGzatMkiTY8ePeDszNfrhYWF4cSJEzUq2N0dmDULCAtj9L5nz1WegUKhUCgqpcpH\nFWRlZcHLy6ts29PTE/v27bOafunSpYiMjKz02KRJk8o+h4eHIzw8HMOGATExQEoKcP/9QG4u4OJS\nyzNQKBSKRkJiYiISExNtll+VAl+bRwl89913WLZsGXbt2lXp8fICXx4nJ6BrV+DOOyn0991X4yIV\nCoWiUaEFvxqxsbHXlF+VUzQeHh7IzMws287MzISnp2eFdCkpKRg1ahQ2b96Mdu2u7qUdgYHAwYPA\nvHnAH38Aly8DGzdeVVYKhUKhQDURfGhoKNLS0pCRkYEOHTpg3bp1WLNmjUWa48eP45FHHsHq1avh\n6+t71RUJDATmzAF++w04dgwIDweefJLTNo71/sxLhUKhuPGpUjodHR0xb948REREwGQyYeTIkfD3\n98fChQsBAKNHj8Zbb72F8+fPY8yYMQAAJycnJCUl1boigYEU91WrgLFjue/SJeCXX3iXTW4usHs3\nMGIEH3WgHkSpUCgUVVPvz6KxxuXLQEICEBUF+Pnxzho/P8DHh8Kem8t0BgPw7rtAXBxQUgJ88AGQ\nlEThb9Wqrs9EoVAo6o8b7lk01mjRguIOAF5e/AHU1q1AcDDw9dfA3Xfz2G+/AbNnU9Tvvx8YPhx4\n4QU6g8RE4McfgX79+FCz8+cBESA5mXnYkg0bgLQ02+Zpb2zcqJ4sqlDUJddNBF+eM2f4v73+ylaI\nANHRjOxzcjilM20a0LOnnmbKFAqvNm9/9CgwYAD3aXkcOMBn0rdoYb38oiLmMWECsHQp0KQJHUbz\n5vwM8P79IUP06SRF7RkwAOjTB3j55YauiUJxfdJoIvjytG9vKe4A59zvuIO3UcbF8f75gAAeGzkS\neP11YOdO3omzaxcwcyZw6hSF2suL0zfPPQeEhgJjxgArV1rmv3EjcPIkP69YweflfPQRsGkTkJ/P\n8las4PHiYq4N/P579ediNl+TKRo1x48DNfxdXL2Qn9/QNVAobIzUA7Yq5tw5kdOnLfd16CDy+eci\nR4+KACK+vtbqwLRr1/JzmzYiEyeKpKeLPPywiI+PyMKFTDtmDNNofxMnirRrJxIRIWI2iwwaxP23\n3ioyZ471+q5fz3QZGSILFvD/Bx/ox2NjRXJzLb/zww8iv/5avS02bhT58svq09WWzz4T+de/+Lmg\nQGTsWNuXodG2rcijj1ru27ev8rQ//STy+ON1V5f9+3mtrJVvjTFjRP73v7qpU00xm0WKimr/veJi\n2rUxsHevyKRJlvuuxibXG9eqnTeUwFfGkiUiZ8/yc2SkyGOPVZ4uNlYkKUmktJQin55OUb/9dpEW\nLdi5X3yRae+9V3cIbm787OQk4u4u8tJL3H71Vd0BWGPGDB4fP17Ez0/kvfd0B5SZyWMzZnB79mzd\n+XTtWv15jxwp8vTTNTKRiIiYTCIDB4r897/c/v57kQ0buN9s1tMNGMA6pKTo9f/jj5qXY43SUp7/\noUPcTkxk3j166Gmys7nv2LGK31+8WMTbu3Zl5uTobaM63nxTxNFR5JlnrKcxmy1tdeEC6zt3bu3q\nVR3nz4skJ1efThP27dtF+vevfTlbtoh07lx9uoMHef2uZ6ZNE+nWTd+ePFkkPLz+yu/alUGmrbF7\ngb+S8h2wOtauFfn730X+7/8Y0ffqJXL5soizs8iQISIJCSInTog8/7zIc8/RQTRtSlEqKtIF/uJF\nkTVrGOkPHKjXQRsJtGol0qSJSJ8+/F9YKLJyJUVf62D33ivy178y/cCB1de9Tx+R0FCKYk6Ovr+k\nhJHZlXz6qYiDg8iECSL/+IdI794iDz4o8tZbPN9Tp+j0evUSadZM5Kab9PPbsUPPJydHZN06lq1F\nSPPmVT7qiI+nWBcVicycybwmT+bIQ8vbw0MkP582mzyZ+xISLPPZvJmjLEfH2gnN009bjkBGjOC1\nvpLjx+no335bpGdP6/nNm8dr+sor/PvwQ9b33/+uWX0uXqSNNay11QULLB2fNeLjRfr1E5k/Xw8c\nzGZe3+zs6r8fF8fApSqbmkwcva5bZz1Nbi7bUU0pLWWAoZGfLzJ0aOXttqYMHy7Svj1HYK+8ItK6\ntYiLC/vvsWN0mrXBbBbJy6tZ2oIC9q2tWyseKy6u2J5rgxJ4G3DhgsjOneyst90m0rFj5ekKCynw\nw4dzu6CAjerNN0UMBpFHHhEJCOD0iQhFdNQoy+keNzdGx/37iyxaxPJ++olOQEvTuze/b22IOXgw\nRx0tW9L5aCL2zjvc1qZYRCiOgMhdd1HgunRhhwVEPD15Llq5t9zCaadDhyga7dtzGmXSJJFvvuF0\n1NChTNu0KaPw1FQK70MPVaxnSAgdmL+/iKsr6/nkkxRRg4GdAhDx8uJ0VocOIkYjp7FKSzly2LXL\n0n4nTlQsp6iIeZw6pe8rKKBoh4Zy+4MP+P3777f87jff0LFOmkRRvPlm68I7YgTP9c47RaKjaYPH\nHuP1mDxZ5PDhyr+n8c47IlFR/HzyJO1y8WLFdC+8INK8eUXBO3CAbc1kol0mTuR5T5jA9AaD3o5H\njKi6LiKse2UjpthYfdR24ACvkzZCSEzkdFZ51q9nW6wquNqzh+1dhCM5gP1ORK/zhg3V11mE39Oc\nkhZYdO/OPLQR9t130wYzZrDuPXqw/1bHjh10fDNnivzlLzULKJKTWeaCBZyu69mTNlq8mAFk8+Yi\nR46I9O1LG50+zVHfmTMMyP7zH+t5K4G3EWazyCef8EI9+aT1dAEBIlOm6Nv33kshXL6c2ytXskGN\nHcu89u7VxSkoiJHoCy9weqioiI0QYGR/6JDIL78wso+P56hi927W7dgxDqnDw/X8bruNIqY1HGdn\nik63biK//876DB7MSEarS9u2+vdbtaIAz5nDSK5ZM56L1lETEjj0bdWKwtekCb+3ZInI66+LvPYa\nhW3MGNbl229157Z7t56+Rw927n37WN+2bSnAeXm6OAwezA7x7rsiYWE8p8BAdoT77mM+LVuy7LFj\n6bhKSliWJt4bN7Jjbtumn+NNN7HTubiI/O1vHPmIiPz2G50JwPxLSnjeLi6WjuL0aZEffxRZtYqi\nAdAm2dm8dtrcvaMjO3N5jh2zHP0MHMjrLkJxBjiK1NCi7l69KKr791M8NLGdOZNt4/33eZ01+z78\nsH6+kZF0Ps7OuoP4+msK1ezZtNUDD+hTj66unOLRMJkYPHzxhV7msGG0y7ffWgYgGs8+y/0//2xd\n5LV1q0WL2MY8PXVhmzWLdvHxoY3HjaMtUlJEPvqIEbnGjh3MZ/VqTr8BnEJq04b5tm9Pu4wbxxF3\nx448FhHBAMyayJvNdBZa0OHiwr6xeTODAG29Kzm54jlqujF6NM/T11fkiSfYVx0deWzIEP5//XXW\nx9+faX74gW3UZKq8XkrgbYzRqC+2VsYbbzCK0dDmqTMyuH3pEi+ghwcvoMnE6ZszZzj9M3cuG2Bc\nHNOXljKKS0vj9sWLzM/dXeSpp9jgQkLY+MtHsgCPa2sF2vx1+T+zmR35/fcp4JcvU+ACA1m3/v2Z\nLieH9WjdmiOO8pSWslPs2KE7o+PH6UBuvZVRzvr1tEPLlroIa+sWQ4fqnSovT693ebTRS04OHRtA\nMerYkdHQrFkUz/792TFuvpl5JyRwtOLrS0cbGEgn1bQpO93hw3TWXl78/qFDFEgROuTKFuUfeYRr\nJv36UbB8fHQHCVA4tGstwnN79lk6gdatdaezcSMj6nbtGF326qU7gvx81umll7jIfOECz10bzQAc\niWlrQNOmMc9Ro9geOncWmTqV6Zo1o5hrwqQ5uq5dOa0yZw7t8fLLulOPimJ7O3yYI7hXXtFHYNrN\nCq++yu2oKDqhZ55hXQYPZtssL3JBQczX0ZFpP/uMUzDnzzP955+LxMTw+kRF0fnHxtLG27bxGi1Z\nwimvtWvZfxwdef7NmtHhizAAePZZXvv+/Tltqt3s8M9/cnQKsG/t2cPvuLtzX0EBnd/Eidz/0ksi\nH3+sj7q2btXPOyCA7W7+fLbfnj31qThHR9b/0iU6yyZNeG6dOjFNr14ckbRrx7oDPObgIBIcTDFf\nv55twGDQg4z09IqjU67xKIG3KQcP0vg1xWzWFy41tIizsgW+3Fw2Ok3QKwNghyoqYmPq3p3DPIBR\nweOPM1pYvZqdG+Bxb292oEcf5b5hwyhgly7pw+OJE9kxRBiZaI5AhN/74Qfr9bp8mQKnpZ81S3du\nJhPLeeIJdoKFCyvaRYRD/iuHvf7+XNzV7Kk5hDffZP7x8dyePdvSgfXtyw7WqRMjTkdHduy9e/W8\nz5+nyJ09y/q1aCGyYgVHEs2aVZzKOH2aU1XlHSigO4Sq8PPjdVu1inl89BGv4cSJPL+ZM+kE3Nwo\nimfOUBibN+f8f3Q0bTZ/Pu2wejWde1QURV4b6RkMtPfYsbrjCApiNN6uHct84w09Stf+PD11MdGY\nM4dOGaDznzuXAhsSQmfl4kLnk5PDqazUVAYvM2fSzmYzz6FfPylbU/H2ZtlDhlCcb7mFjmvXLr3c\nCxdYx1tu4YiuvNP85BOOMlq3Zp7OziL33KOfx9NP659vv53tp6iIzuLK6aPDh5mfCB28qyv3lXem\nsbEcXY0bR7uOH8/1lpMnef4Gg8imTXT2Dg6calu+nPu1EbF208W5c7SJNrJq2lQP6j79lG1Q48cf\n9fNo357ir60VmEyaE1cCf90xbhwbkjW0KM8a+/dbzr9qQ+AjR9iAtEZw4QKjGm0U4e+vfycqSl88\nLU9+vuWtmTWZl7RGQQEXLctHc5s2WS4014TCwsrTZ2VZjo5MJpGlSzmM16Kqp56iHS5fZuRUHa6u\nesdevtxS7DQWL9anFCIjOW0kUv0iYEyMHlFeOY2h8eGHdIyaEEVFcaTSrBkdw5WcOEEB1Rx5ZKTl\nrblffUXHN2sWI1JtKkGb127VimLZrRsjzjZtLG195AjTtW1LB+nszCm3rl05Kqrsjq4NG3SHkJND\npzJhAqPqadNY5z17KI5ffUWnB1Awr2TGDDqCK0lNZTlJSazbXXcxMgc4tXPPPRyVff997QKyrl05\nEho8mKPe8s6i/HSZhtbO8vPZl7SbBQBer2XLeO3OnuXIRSMjg4HMXXdx6ufttyve4i3CNhgcrDuE\n55/nVJirK0eqSuCvQz77zHoHvxrmzuWwtCrHsH8/IwKN2bPZ6W50KhPg8eM5Qjh6tPJOUxUff0zH\nkZxsfd5ThJ1z1arKF3Wt8e67jNTz8hid14TSUors0qXW67NgAUdyR46wDVRVb42SEjqyX36hIzaZ\nKDRPPFEx7XPPUZB37+aIJiWF4rd8OQOKykhP1yP/4GCuaVx5a2dBAf9rC/3WnH5159O1K0dB2npH\n+Wi/tmiR9vz53N67l3eTOTlVvkj+3nscJWhkZ3PkNGMGr/OpU/p0a2XU5Fp98YXI9Om0aWSkvobA\n27evTTuvy0cV3OiYzcDFi7Z7O1ViIn99e+hQzb+jmVs9dbP+KCzk3803N3RNiEjdXX8RoGNHIDMT\n8PCo+hfJJhOwbRsQEXF1ZS1fzl+We3nx0SRJSUDTpleXV2IiMHQokJHB90FrHD4MdO5cMf3p08CX\nX/LX8vWB2cy6GAxAVhbg5XVt2qkE/gbAbOYz8jt1auiaKBQ6WVnAqFH8vGVLw9alsXKt2qkEXqFQ\nXDXas5aaXJdPtbrxuVbtVO9KUigUV40S9usbdXkUCoWikaIEXqFQKBopSuDrmcTExIauwnWDsoWO\nsoWOsoXtqFbg4+Pj0aVLF/j5+WH69OmVpnnxxRfh5+cHo9GI5ORkm1eyMaEar46yhY6yhY6yhe2o\nUuBNJhOef/55xMfHIzU1FWvWrMGhK27G3rJlC37//XekpaVh0aJFGDNmTJ1WWKFQKBQ1o0qBT0pK\ngq+vL7y9veHk5ISYmBhs2rTJIs3mzZsxfPhwAEBYWBhyc3Nx6tSpuquxQqFQKGpElbdJZmVlwcvL\nq2zb09MT+/btqzbNiRMn4ObmZpHOQf2ksozY2NiGrsJ1g7KFjrKFjrKFbahS4GsqylfeiH/l99SP\nnBQKhaL+qXKKxsPDA5mZmWXbmZmZ8PT0rDLNiRMn4OHhYeNqKhQKhaK2VCnwoaGhSEtLQ0ZGBoqL\ni7Fu3TpER0dbpImOjsbKlSsBAHv37oWLi0uF6RmFQqFQ1D9VTtE4Ojpi3rx5iIiIgMlkwsiRI+Hv\n74+FCxcCAEaPHo3IyEhs2bIFvr6+aNWqFZYvX14vFVcoFApFNVzTw4ZrwNatW8VgMIivr69MJ7AT\nbwAABBNJREFU09491ogZMWKEuLq6yh133FG279y5c9KnTx/x8/OTvn37yvlyr3iPi4sTX19fMRgM\n8vXXXzdEleuM48ePS3h4uAQEBEhgYKDM+fNNFfZoj8LCQunevbsYjUbx9/eXCX8+rN8ebSEiUlpa\nKsHBwfLggw+KiP3aoWPHjhIUFCTBwcHSrVs3EbGtLepU4EtLS8XHx0fS09OluLhYjEajpKam1mWR\nDc73338vBw4csBD41157TaZPny4iItOmTZPx48eLiMjBgwfFaDRKcXGxpKeni4+Pj5hq8oaAG4Ts\n7GxJ/vMtEHl5edK5c2dJTU21W3tc+vN9bSUlJRIWFiY7d+60W1u89957MnToUImKihIR++0j3t7e\ncu6Kt6rY0hZ1KvC7d++WiIiIsu2pU6fK1KlT67LI64L09HQLgTcYDJKTkyMiFD2DwSAi9MblRzUR\nERGyR3tbcCPkoYcekoSEBLu3x6VLlyQ0NFR+/fVXu7RFZmam9O7dW7Zv314WwdujHUQo8GeveHmz\nLW1Rp8+iqewe+aysrLos8rrk1KlTZQvPbm5uZT8EO3nypMVdSY3ZPhkZGUhOTkZYWJjd2sNsNiM4\nOBhubm7o1asXAgMD7dIWL7/8Mt555x00KfesYXu0A8Bbyvv06YPQ0FAsXrwYgG1tUafPg1c/bqqI\ng4NDlXZpjDbLz8/HoEGDMGfOHLRp08bimD3Zo0mTJvj5559x4cIFRERE4LvvvrM4bg+2+Oqrr+Dq\n6oqQkBCrz5yxBzto7Nq1C+7u7jhz5gz69u2LLl26WBy/VlvUaQRfk/vo7QE3Nzfk5OQAALKzs+Hq\n6grAPn5DUFJSgkGDBmHYsGEYOHAgAPu2BwA4OztjwIAB+Omnn+zOFrt378bmzZvRqVMnDBkyBNu3\nb8ewYcPszg4a7u7uAID27dvj4YcfRlJSkk1tUacCX5P76O2B6OhorFixAgCwYsWKMqGLjo7G2rVr\nUVxcjPT0dKSlpaF79+4NWVWbIiIYOXIkAgICMHbs2LL99miPs2fPIjc3FwBQWFiIhIQEhISE2J0t\n4uLikJmZifT0dKxduxYPPPAAVq1aZXd2AICCggLk5eUBAC5duoRvvvkGQUFBtrWFbZcMKrJlyxbp\n3Lmz+Pj4SFxcXF0X1+DExMSIu7u7ODk5iaenpyxbtkzOnTsnvXv3rvS2pylTpoiPj48YDAaJj49v\nwJrbnp07d4qDg4MYjUYJDg6W4OBg2bp1q13aIyUlRUJCQsRoNEpQUJDMmDFDRMQubaGRmJhYdheN\nPdrh6NGjYjQaxWg0SmBgYJk+2tIW9fLSbYVCoVDUP+qNTgqFQtFIUQKvUCgUjRQl8AqFQtFIUQKv\nUCgUjRQl8AqFQtFIUQKvUCgUjZT/B6kWrrmXtwCCAAAAAElFTkSuQmCC\n"
}
],
"prompt_number": 3
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment