{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# On the computation of $\\pi$" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false}, "source": [ "## Asking the maths library\n", "My computer tells me that $\\pi$ is *approximatively*" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {"hideCode": false, "hidePrompt": false, "scrolled": true}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.141592653589793\n" ] } ], "source": [ "from math import *\n", "print(pi)" ] }, { "cell_type": "markdown", "metadata": {"hidePrompt": false}, "source": [ "## Buffon's needle\n", "Applying the method of [Buffon's needle](https://en.wikipedia.org/wiki/Buffon%27s_needle_problem), we get the __approximation__" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {"hideCode": false, "hidePrompt": false}, "outputs": [ { "data": { "text/plain": [ "3.1289111389236548" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "np.random.seed(seed=42)\n", "N = 10000\n", "x = np.random.uniform(size=N, low=0, high=1)\n", "theta = np.random.uniform(size=N, low=0, high=pi/2)\n", "2/(sum((x+np.sin(theta))>1)/N)" ] }, { "cell_type": "markdown", "metadata": {"hideCode": false}, "source": [ "## Using a surface fraction argument\n", "A method that is easier to understand and does not make use of the $\\sin$ function is based on the fact that if $X\\sim U(0,1)$ and $Y\\sim U(0,1)$, then $P[X^2+Y^2\\leq 1] = \\pi/4$ (see [\"Monte Carlo method\" on Wikipedia](https://en.wikipedia.org/wiki/Monte_Carlo_method)). The following code uses this approach:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz AAALEgAACxIB0t1+/AAAIABJREFUeJzsvVlwXNeZJvhdZGJNJDKR2ImNAJiQSIIUJYICJduivEmW 7ZJdbneX3YqemqqIdjjKVc/91vMwLzUdEzFd0+Xpake3p1weRzm6NhVdXijJtijbkkCC2ggSJJIA sZEAsSSQWDKxJHDn4ePvc/Li3ps3gQRFWPgjEAByuffcc/59NUzTxAEcwAF89KDgw17AARzAAXw4 cED8B3AAH1E4IP4DOICPKBwQ/wEcwEcUDoj/AA7gIwoHxH8AB/ARhQPiP4AD+IjCAfEfwAF8ROGA +A/gAD6i4P+wblxdXW0ePnz4w7r9ARzA7yxcuXJl1jTNmmyf+9CI//Dhw+jr6/uwbn8AB/A7C4Zh jHr53IHafwAH8BGFA+I/gAP4iMIB8R/AAXxE4YD4D+AAPqJwQPwHcAAfUTgg/gM4gI8oHBD/ARzA RxSyEr9hGN81DGPaMIx+h/cNwzD+b8MwbhmG8YFhGE/kf5kHcAAHkG/wkuTz1wD+EsDfOLz/AoDo /Z8eAP/1/u8DeBggHgdiMWBhAQiHgWgUiEQ+7FUdgMCHeD5Zid80zTcMwzjs8pEvAfgbk51A3zYM I2wYRoNpmpN5WqNn8LyPXj74u0A08TjQ2wsEAkBVFZBM8v+engf/LHb7CXz4e7xX52y9bnU1MDu7 /fk/xPPJR3pvI4Bx7f+J+689UOLPhudyFivjcRwa70VDNIBQvcOG54NoHgSyZ0PcWIzPEAjwf/kd i/FZHhTY7edrrwGmCTQ0AH4/8OtfA9/9LtDaCpw5A5w+nX1vdku4+WSO+loMA5if57NVVQFTU8CF C8ATTwD19eo+Pp86n0QCGB8HZmaAyUngy1/ecwbwQHP7DcP4BoBvAEBLS0ter33lCjA6CqTTQDAI NDdzT2Mx4oScccNyDKv+APqHA2jZBBYWAkjOAIHJGA59uYf7vVuisUOqV18FlpeBjQ3+FBYCIyPA Zz+7s0N2QtzOTiVhbtwAuroyv1dWBszN5X6/3YDdfsbj/LumBrh8Gbh7lwc3PQ388z8Dv/wl8Oyz QHe3/f7kg3DzxRxlLZub3PsrV4CtLZ5tIMD9rqzk74YGdZ933wU+9jESfn8/UFoK1NZyDx6ABpAP b/8dAM3a/033X9sGpml+xzTNbtM0u2tqshYdZYDs74UL/C24o79XUACEQsD6OvdyY4M0oJ+xb3kB xeEybG0Bb1wENtaBYG0ZzPiCuu7CAolEh7Iyvu5lgS+/TEQIBCgFAgFgYgJ45x1y+3CYv0dHiSg7 Af2h5B6bm8D588DaGgmiuJjXTyTU95JJ3v9Bgt1+ChMcH+f6KiqoAUxMkAhMExge3n7YAnbPL9x+ N+vKds52EItx74eH+UwlJXyGX/2Kz7a0RMRcWsq8D8DzGB/n50tLeXY1Nbk/yw4gH8R/HsD/ct/r fxZAIt/2vtCV4PTamsKJeJy0du8eBenKitrHWIx4rp/xZjCMgtUkFhbInEtLAd9aEqslYYyOAt// PtB/J4zEVDJzEW5EY11gPA4MDSmiSySAvj7gzh3+rKwQWeJx4B/+wRnB3cAOcWdnM5lOZydfHxwk Ma2s8EdMkAcF4TD3T4fCQv4sLVFdKyriIQaD/Emn+eNEBE4M5e237SWE13XthDkuLHDvBfHKy8l4 NzdJ2MEgcSAYzLxPUxOZ869+RaY3OwukUlRbd8KEcoSsar9hGH8L4FkA1YZhTAD43wAUAoBpmn8F 4CcAPg/gFoAkgD/K9yKdtLO+PkVDR49Syx0YAB59lIJ1bAxob+fr6TQZctFyFG3TvZiNA9UtZShI JZGaXcE76EJBFbWHxdooBt/pRecTQKi+jAe1srJdhXZaYE0NsLjIgweohqyvk/un0/wf4IICAcXN 3NQ83aYsKABu3uQ1a2qILKEQkae6Wn0nFKLt3N9PlTMc5jPsVJXcqY0tdhdApE4m+T3TJNKPjdHW vXeParEQSmurs5kihCt7nkiQkCoqnM0g65rt1uV2zk4QDgNXrwJ1dTTtVlZ4PqEQ7feuLmp5bW18 5mSSrxsG1xCPU9VfWgKeeYbfW1nZcw3Ni7f/61neNwF8K28rsoGFBZ6nDmVlNJkef5z4v74OHDvG PR4aIg6VlZG+WlqAH/2IwuXkyQiGzR7MDsVwuH4OW0VhDFR0oaCICFFRAayWRXAz0IOhn8fw2OE5 HDoWRqjHhWisC2xuJjLMzPCwDYOIkU7z/eVl/h2JAI88kt3WHBqiOr+5yQeam+N1i4rIZK5eBTo6 yPF04gcoXc+e3b2DT7ex/X5u/iuv8LodHc4EBvDvnh4+nzCh06eB994DLl3i634/13/vHhG/vJzE MDXFA7aClXAHB/l3Z6cyAxYXuW+nT9v7BezWtRPmGI0Cb75JrW52lvdvblamyxNPAC+9xPfkPpWV ivl/8pNk0IbBPYxEdsaEcoR9keHnpJ0BPPfmZmpLPh81gPp6CsdTpxQOnDzJ/R4eBoobImj7gx68 V/s8Ztp6MLsVgWnyGuHwfX9BMIKZ9h7MPP483kz3IA4XhLAuMBQiQUQiRIhgEHjuOaohm5tE6o0N cqijR9WD2Kl58TgR2O8nA7lzRyFQRQV/NjYoOV58kZuwsrJzNd/JuSLaTToNXLvG+9TVkfH84Adk dFabTAchtOef53quXCHhmyb3pbiY++T3U3VuaCADEI+tFSIREvqtW1zrzZv8XCikPmM1g+z8Avq6 hEE6OZecIBLh3k9NKW3kyBEy9k9+ktrNrVv87JkzvI9pKrMlFCKhB4M83+LiBxLu+9A6+eQCTtrZ sWP8W/ZufJw0EIlwH+vr+Z2lJeJlVRW1w64u7n1hIfd5a4s/co3SUn6vosKjA9hugT4fwzWxGAki EOAFx8eVY6KnRyGrk60pzqTqaiLw5iYfbmGBr8nDiEfZ56NUBrhBuYYnnTzoCwskzIsXyU0rK+mZ npykem71ZLttWF8fHTRra9ReiorIPNragEOHuEdLS3zO8nJnb//gIIns5EleMxbjfsqeWs0gOR+n aMduIgiyHxMTytnU2srnLCzkGqemqCE0N3MPRQAAXHN7O4XBAwrD7gvJL8y5uJjnJozx9Gkl3Coq iDvHj5PmWlqUMA4GgdVV/ojvRfxvAPDFL/Kc/H6eiWgBzfdjGFl9L04LjETIGKyL/NjHuHi/P7uE FiJfXeX/QlwLC8qBlEySMfT2UpX82MdoD4mZ4RXcPOgFBZTWQvgbG3SmpFL2nmy3DRsYUKpvYSHv FQySkfj9PLzjx/nMd+7YS2DrWu2cm3ZmkJtDb6cRBGEaxcW856FDZO5379IOLS3lvg0P8/mWl8ko 3nmHz/whOWP3heQHFH1Zwclk04WxOFUBvt7XRxyorqaj1eejn2VujueTTlNjE/DkAHZaoJ1d+dnP 8j3LwuOIINZrMZ3DYRLa8DC/U1sLvP8+Fzk1xYdZXwcOHwZOnMgtZm114I2NkTnpIJLSMNT/6+v8 X1RXCdXltGGg2TAzozzliQT/rqnh62VlZJJ2DlGrn8XOufnii2QGKyveHHrWayYS3BOREk4OTmEa JSXcl+Ji7s34OM8LUCplSQmve+IEfQHT02SAu3XG7gD2DfE7gReaS6UoCE2TQsfn4/mk0xRY09M0 Gc+cAT79afrXTDPTj7Yb30scEcTQgwUAYbAIIhJBxsKdNM6znVFUxuNUCWdniTiRCB9qcJDIVVtL pBdiFLXXScWNx8kNe3vJAaNREpjE2EUVBRQhLyyQuAYGVBJLeTkz2Xw+Mg1Jqpid5bPF4/bIfOwY TZPKSkr4wUHaxEeO8L3lZR5QSQnvFwxyU3RGZvX2A/bOzcpK7w49/ZqSeGMYQGOje0RGmIZpUm2f nuYz+P08N9NUsf65Oe7LW29x/4JB+hs+BNj3xO8GdozBNKlpLSwQ10tK6Bt4/33i41e+QqY8MECc GRkBXnhh52vwakY6hTMHZyPoES5WWEjkWlwkh/L56AO4fZsLHR4mMb7wAhHNTgLLgkZHyTQMgw68 ri4ygVhMORFjMUrgnh6q/YWFJM6lJa4hmSQCd3aSON59l1L7qaf4WSdiOX2a65ifV2rW2bMq2/Hv /o4qc1ERD2h1lc+bSqkDzVeYTgf9mmNjSrtpaXHWpOJxagZXr3JPIhFKjFSK2pj4d0pK+LmREcai QyEi4fy8M5PcY/idJn4ryDm99RYFVyhEAbO2Rvzx+Uj0AJl+KETaKSnZebal1wxSp3Dm3By2c7EL F0icpkm1f3SUDzQ/z/BZJEIOZqey6F77UEip8+Pjys4WKVddDTz9NBH5vfdIYJub5JbV1Xy9q4sS 7tYt4Ny5TEm8uMgMrMbGzBBgJEJCd8oZWFoisxHPa2kp16X7FbyE6XJ14OnXvHOH625pcdak5Pq1 tVxbWRkRqK2Na+7o4D0rK/mcU1NkCFVVfB7TVAz3QdZa3IePDPHr51ReTmG5tkbcLyhQfqH+fuJR JELTdnqadLK5aY/H2cCNqHWT+86dTOcv4GI6h8OUrDdukPDF0eTzkQkMDdGetisOkQWJF1S3Q5NJ 5eV85hml/g4PK0548yZ/urr4EwopderkSX43kSARXL3Kdba2blebnew1gJrH0hKZi0j+ra1MvwLg fg1gZ7n7+jUlSiNgPRD9+mVlZKBra1z7kSPUgnREMQyaA5LE1NHBZxoZUWfzAKsbPzLEr5/Ts8+S CS8vE7e6uohnQ0M8C8k2FY1vYICvbWwQv6UorbKSOOl2XnamaTJJhqMLpY0NOn/1wi9HLTYaVdlM W1u82OoqF9DUpOxUqxSMxcgwiovJZUbvz3YwTUpvueHly4pjWR1V3d2U6MFgZpiyoYG/JYNxcpJc trBQmRWBgMrCc0P05maVzCSE0tBgn+zjBq7qVBbwYlbo15cQ4/HjvL6dHd/cvJ2hTE4qx+ADLuvd F6G+fICeCt7UBPzBH9AXAxAHT5wgbol/ZmuLzLuqilpCQQHfNwzi98gIac8trwXIjPTpER3TzIwq NTQo5681WrgNIhHgM59RhL62hlSkAROlHYhNluLu2AYSBZqE0msPurpIvDdvkrNtbjKrrr1d3VBP WlpaUtJXyiW3tlT2ojzQuXP8PTjIz6dS/H5rK5nH+Dg5nFORhnXTxIl49ix/+3y5h8F2k7vvFr7d 6fXtkEGSmHZToLRD+MhIfqsEbm4GPvUpEltDA9//5CeJt8eOUXj5fMTh9XXiu2jE4+P8vES83LRJ J9P08uXtdSn19RSUnpy/kQi9k7/5DZJ345hYDKJoEwiuzyFZ2Yzr81E8IX4kq/rb3U0iHR0lcVml ry71ysvJOU2TaqpkLwqX0m3tykpet6CA0j0S4fdNkxI8FqN9lU0Nz2fa7W6cgtnMCqfrNzbydat2 Y/dcTU0qG03gAZVd7zviz2dtiSTh2fXwOH5cRa2OHKFgFC13aYlmgV6k5XZedjjkZA7kVMtx32t+ Lz6BksRdFKXXka5rwspzX0NRJKJoyi4m3t3NBWeLkwYCdCRGoyRoSZ758pf52ViMnEwO4+xZSnRR /1MpZVbMzNCBCKjmFYuL5KxO9QC7gXwxkVyu39hIBujkZLR7rl0jws7AYF3Og4fu7m4z10GdOnHq jNZOPd5pIx2n7+n37esjznZ3K4awsqI0w3w/S7YLvf39GCIFC9isCGOtOYrNUOS3Gb/PPw+lausI lsuCvWyKPEBnp0J+CRdK3N80qVoJY5C6/a0tmgcfRnuxbM+Z63pkr9NplaYs8f7nnrO/Z14QQYFh GFdM0+zO+rn9RPxWHE4kiGdra5naq9f9zOWsnbo07ea88tU+Litt7wGCud5UwlfWB9NzDAoKuJF6 uDAX7pkvkEMYH+dPNJrpcc11jy5c4LNcu6YcpakU/Srf+pZznUIe27t5Jf59pfbr2qskYJWUEI/0 SJKXCM9OQ8ACcl5etEmns5U0ZHlPfD95N213o/46Ld7Ok76xwUQf+eyZM/aqvO4XED+CqCoPEnQk mJoi8Q8Ocm+OHlWONzeGZN0fw+D/0tgD4Gs1Nc7XyoeJswPYV8Sv28kDA4ySSFWfHoufnMyen7Hb 9m1ez8uNyQCZ7+lFX83N3hmBJ9reCYK5Ld5rMw0rN41ElF/gQdq5dkzMWqYciZBgJyaITMePq6iF 0zWt+zM/z+zAw4fJ0FZXeY3jx/e8M0+usK+IXyTc4iJ9TMvLNCfDYZ5XYyOJvbGRplZ/v8pDseLW TkLAO9HOrPglJqDPx3UJA5JcGin68tLcZ8/BjUN6aaYhn7Uynb1IzXUDJya2vMww4rVrSmoXFfF1 6QP3+OPO17XbH+nM1N/Pa7W1KbOmvNx9jQ+4jfm+In4RXj/4AaXk2hoJvbiYsfh795jW3tKiajKk lZcVt3L1tnttDS5dtkyTPzducD2SKxMKURD09jLFW4ro5H3xhUldiM9HP5EbbuSyNs94FY+zH56o 59IqTDikHMaVK1T1Bwa8dwp2UlUAFSKTTVxcVElFLS3ZF+8m4a1MTFTHpSVee2hIaSSmyeiEW26B XRXg0JBK+Cko4IFKaKmry915Kt1/r16lCvjiizSL9gj2FfEDPPetLRLO1BRtfikJX1zk71CIZ3nl CvewvZ3hOr0pTCLB/ZYMzMJCe+EjZ/X222QydoJNbw3u96vy4dOn+Z3XXuNnxAScmaGgfOcdXu/p p4l/Ph+ZhRTmCZPo6HCPHnkR0Dn1p9Dr01MpJgS9/TY3p7U1M9MunaZ0lJp+N3XLepBWJ4p1E5NJ rkFaepWW8nNOi88m4XUoK1OhS7+fhFpZqaIQqdR2n4UVrBJkfJzXaW0ls5Q+/NPTKjRqtz4p0Boe 5r0DAdZK/Kf/BHz1q95mGOwA9h3xC5gmz3NujnsoUlXyScbGuIf19fxZXOQ5jI6qWRFPP00Ceest 4pNdNEDOqqCAP/39ZCyJBAXHvXukhUiEhDwxQRwC+HdnJ02UqSme99gY51OInyuRYJv6zk7iiKSz X72qelFcvEjm5eSfcDNhduTbkC81NAA//SmlrvRAm5tjPzr9c4EACeGDD/gAUgmYrRbaWtxQW8tr 9ffzfvPzzKSSPm1zczx0p8Vnk/BWNU8cK34/5wRMT7MmQrLvEgn3ijur+TIzQykiWpLuyIxEFDJZ 1/fuu/xsaSmZwNCQCokODfH3Hth/+zK99+hR7lE6zQSplhaq/1VVPEepxpyeJhMuLCSRvv46BcrE hMLXM2dYwyIJaTrouFRRwWtubQFvvEG8vHtXmRapFHFWtJGSElXC/fjjxDXRCo8cUROcTp0ino+O qr6cfr/SRNbW+B239vJuWaY7ak0vX1pYoIpVXk5PvmEwB3l2NvNzwm1bWlRrr1iMHM0tBOLU7lxS iqWgAlAb6rZ4p4cVCW/X21AqDE+f5j0AHsiRIzwQt7kK1hRgKefV+wjq2o/T+gDuaUmJQiDD4Drc 2pfvEvYl8Xd3EweTSe758jKJMhikoLh1i3/X1fFchoa4l4ZB52ssljnHQscnvX/l228r3BPhMzWl 0uGle1RlJRlNaSlxSm8ZBtDx29bGoiDpU7m6So2kvBx47DEyse5uvrexQV/RsWOZnbp00HHKqX4g Gt1hert8SZofdnQAnZ1YOnwCV2frcfk1DjhJFIQzh05UV/NBPvEJEpMwCTuwtsyqqaFqJX3uV1cV FwTUhrot3ulhm5uz5+lPTPCAurtJ+NXVvN716/b3EkS5fJn/nzlD1d6tgarT+o4d4/cWFtR319b4 +WBwz3r470vij0S4z1/6Egk8laI28MUvUpJWVfHs6uspkIqLlZ1eVqaqLwUEn6zCSB94I01Ck0ni 5MaGEootLSr9vayMWsH8POlAsmFffFE1p1lbI36J8zeRUM1q5dy3tlQl65Ej24l7aoqmzIULpKPa WtXI9tYtJXTdGIMjyJf8fm5uKoXpsRR+dr0Z/ZeSmFoNY2YGuDwfxeLkCtVd8Q94HTphlYJ6wVBT EzdQOOX8PDe+qsp98W4PK1JauvTuRoV2miIDZHYU1g/CbX2nTxNB0ml16I2NZIbNzXsWBt23Nn8k Qi94KLQ9ZCwO3miUeCNE1tSkwrZSlKZHmawmY2cnU3kHBykQ/H5K8GiUAmR9nZ/z+/l9mQB07JhK QgL4f2UlBWh1NaMVGxv8fCLBNT79NM2JujrilszkePxxMrbubuUclwYzxcWkn6kpVQ4sJcdXrtBE 39ri+iTc7Cm/RwjF7wd6e7FUWo2Ls8dhFPlRU7iCu1VdWBgG2tsjGCzqQffKJFWfmhr+iKNLQg12 IQfD2G6Hp9O0/QsLuVnBYKa331of77RuPYoQCKjkj4YGVh/aedCPHmXDEsNQVYwLC5QmVnDyLcgU GekonEwSeSornQt75DAiEeAP/5DXkEas4o/YozDovkrvtYMLF8h8pSENQMIYGSHTfO011V2pvl4x 0unp7Y057K61sEAifvRRZacPDiq/TEEBCUx6/fX0kJhlxkZ1NX/kvUiE37t4MRMfZ2dJL/39auSb NK554QXg939f4bw1s7a/n89YUUEcke7EFRVkGrvK5o3H0f9yDANvLSBwKIzlhijWyyNIpUijDQ3A 82fiKlRltyl6vr/E9WViTX09H1YPkYjDY7cSemiInLayUnlX5+fpsLQygHicyBKPq0GqUjptXYMT 0v3mN+TWO62h0Neyi5j/72R6rx0UFBDR9em8fr8y8/RQl1M1n0CuPSFXV7cLJUDN2JCO28PDDDeK k7qjYzvu3bpFOrh+nWfu8/E+BQXK7yRNf63efXEsLi7y/1xKjrPiWSSCO409WPkYsLChwpUlJfR7 HD0KJdFefpmEo48QW1mxD1c0NJCDFRfT211RQSahO8t2297q4kVuooRf5PfFi9sPQAjdC9E5JYkA 9g49advU16f6xB075hzCe0Dpvvua+KUH5OIiz2Ntjfvb2qoIJZe0dq+JZ3JNu/MRASgzNoRYZmeV 78oOBJ+mp7kO8Q34/Xzv0iXVAOfOHT77+rrqPry8rFqAeS059lrfYO0eXlKiGNRvze9IhKrUyZOZ ErGsLLPFl/66NOQUbmb9nt7rbGyMDyYJR16k4eSkasIgEAplOnx08Ep02abIWCvP4nE6BtNp9vQH yPDicapmbqPO9hD2NfHHYqqXpFRPVlQoE0vA65nmo/xbn7FhKyXvg1Xiijmxvk7CXVvjNcTZNzqq /Evz88C//Au1CcPgs09OMh9EQoULC8QrATufkdccAJklKd3D791TTkzdnDdvhBEsTqKpM6AEuN7i yy6dUu9+q2sMeq+zzU3GVQsKVBjQLdlHQIZ+isQHlHfVKzipRm4ZikCmKVNRwRTUdFqFeAxDjfGS Pm6FhTxoO1NjD2BfE78uMATZdlsclkvBjh1OuEnJ6mrihlSPNjSQwCWh55lnSOzvv0/vvZjMQ0OZ 8zzX1pQZUVenEsqk+Wh7OxmEDARy0mCy1TfozyipxjJe0K58OtgVxdaVXgz0AUdPlyFUmFQtviT3 XzyUsRgX++abqoWRdeioz8cL377N70nmXbZkH4HHHgP+23/jdWpr+f31deDzn89+wLIBbqqR3b2F KeimzPXrZFzl5eSc5eVEjHfe4XokuWl1lc6qvj772v88w74mfifTSyZXOeXB76Shh1PmnxUnnKTk M88on5cU7rz+Oh2JdXW81xtvUJrW1yu/k2EQh3Sn89KSGvwr0t00eS/xdXgpOXarb7B7RjsfnK49 bCGCze4eFA3GcLd/DqGz2o3FUXL7NiVeNMoNkg4/ra2Uyno6rPQ6E6cGoBqJeqnCmp5mr7Zr16hd lJcD/+7fec+X3033X10yyQBSgJsIkNClTZTeolwmyzwsxG8YxucA/AUAH4D/bprmn1veDwH4/wC0 3L/m/2ma5v+br0U6EaNueknTmLEx4sWpU6ong7WE1q1+wosdnA0nrDM2JPQo8zUuXSLDFzyWfJJ7 97iu06fpk5LZl+IAFwgGic91deq11VVeR0LrXjQYNx+H0zNam++OjzOJSWAzFIHZ3YOxOeCofn99 QXV1vODICC+yupo5QVWy5YQ76W3GvST76IdUW6scE5OTVKukFDRbe6fddP/VOWtzs5rbV1nJ1yXP QcZ5fQiQlfgNw/AB+DaAzwKYAHDZMIzzpmnqqU/fAnDdNM3fMwyjBsBNwzB+YJrm+m4X6EXzktBo TQ39KTIWXZ9cJdmR1vqJWIz1E//qX6lYejZmnw0n7AhvfJzCR85bGpGsrfH9+Xni9PXrZFp6qHhq SoUFy8roE5icVLM7w2FqldKI1Cu4+TicenX09lKLkbMYH+dzeJo3AJA7r6xQ/ZGhCDI+2fpl4U5V VbR9JAGmocE99m1XkQjwGnr/9VdfVeFGO+QyDPtQklvpp127p4oKtofe3OSaZH5cR4eaRJROc2+m pym5hob23BHoRfI/CeCWaZrDAGAYxg8BfAmATvwmgKBhGAaAcgBxADmOiLWHbMQYiZDAZVjMW28p YTI+nlmFCqiZkDoTkL83N4lTuiQDtjN7O3V5aornduGC/VktLqohNPX19PMkEvxOOEycCgQomGpq Mp+3vp7PU1xMYTk1xWzG69f5/URC1dHYJb+5mTFOGoJdCDUWo3ah9ybY2uKaKyo8lObH41T5hYDS aZYxHj7Mh5SMN/myzp1SKeXRdUv20SsSCwqoYvX3q8os6b8eCJA4AaX2Wcsh7UJJhw/TIed0X11K 3W+rjlSK9/2TP9luP6bTaqx3WRnXUlPD/AR9iMMeNHfwQvyNAPTYyAQAK7r8JYDzAO4CCAL4A9M0 t/KxQC+al/4Z0RBFpQYyhcnVq9Q6h4eJH0Bm/YRTAZjO7PWmIrOz1Obu3GHrbydTIRhUQ2gCAZoD Fy6oLD2J6VdW8pq6JNWjYoDyD7W3q2S6ZJJmotW3YdeaLhseOYVQ5+eBJ59UVa9Sdjw76zGD8D5R rVwdxuTb3WbqAAAgAElEQVTkKpIbVajwHUbtyBTKjhzhZli/7BZXtQOxr4RDhcPcsFiM6pQe+tvY ILPp7+fhBIMqDTQWU4NCrKEkYLtTyU5K1de7J/hIUdHLL6sJP1IKXFmp7D5PpZi5Q74cfs8DeA/A pwB0AHjVMIxfmaa5qH/IMIxvAPgGALS0tHi6sJemG1bzqr+fyGgY9BlJ89j2dlU/sbxM9Xl9nYg8 PU0JtrREv1B9vbMkk/JdyeJLp3ntmRkyFt3UkLNqaeF9ZAhNUxNTegsLeeYiXcfGttfDWAvDrENi dDMZyBRC0hTEzgyy60moV9d2d2fivYQsre3pWlt53ax4ubCARGk9bqAMFeY4QkggWVGPG8YRHP7U V7l+WfxO1V3dvjp5kv/fvMmFWivuFhZ46E1NShO5d49qtzWUJJWLr79OBLNyUy8qoxMsLSlJJP/r WVu5XCsH8EL8dwDomRJN91/T4Y8A/LnJXOFbhmHcBvAogEv6h0zT/A6A7wBM7/WyQKtTSqJEwsCj 0czPVFSQEGWuZEuLGho7OEh79Y03KM18PuW0evRR7n9hYWbrNSdJJo45MTVCIWdTQ9YZjzNCJUwl HufrupSvrqaEdRop74UZ6kJoedndDAK2a6xXrxL/TpxQ95WU6YEBVfKec3u6cBgT7yZRWB0CmkNI AihIrQCbxWRGUQ/e1myhGN2+Aph4Mz/PBft8VO1mZ0nIYiMGAio+K7a+5BoEApnjugsKyE2vXlXN Ifz+zJCd08FYYWiIEmR4mBJnc5P38vn4W59NuAfFPV6q+i4DiBqG0WYYRhGAr4Eqvg5jAD4NAIZh 1AF4BMBwPhYoUvbWLeCf/onp1/X1ZLJ6MZVesVlTw/8/9zlWWsr5BgJk7n/4h8Dv/R73e3FRxdBX V3mvhgaevVsBmF6Uppsako9vPSu99Pv2bT5POEw8npxURV56BaBd9Wm2Kj3xdb3/viosyrY2t+pa Ab0yVgqSiorIHAoLPeJlNIrUzArKTC6+ILUCI7UCIxol87AuRP4Wb61TNZ0+7kvsq2vXuAninGho 4OHGYiR+mYoaiai+AYEAua8MEZHN1cd1l5eT2KemaKtLu67JSb7mVHppXWc8rvLAjx3j52/fJgNY XSXDqqrKoRQzd8gq+U3TTBuG8acALoChvu+apnnNMIxv3n//rwD87wD+2jCMqwAMAP/BNE2XYm7v EI9TYh85ohK8nNRrXe28cEH1mRDVtbyc59vTo/o3fP/7vG5RUfYu0k5TdXVTIxjc7rcSkPBkPM71 65rM6iqvI1qGUyjazUMfj9OBffcurxcIkJmUlfHZndZm9as0N1Ow2VU+AsRPvVbCc9HZ/cUnh2Mo T8xhMxjGWkcXlvwRhMttFgJkqinZvL/xOInw+nU+uNh1m5vcgOHhTHVNau/lPisrNBGkDLezkzHX N97gppw+TYS6cSOzwYnYPpWVimtbSy/teq/peeDHjlGTmJiguvrSS2RSezFp6D54svlN0/wJgJ9Y Xvsr7e+7APYkK0Hvfiual2SbnT3rbAqFwyQs8eiHQiTYqSm+L70gvXaRFg1Nzqu0NHOqrmTclZfb +62szyP3k0hQLoVfTh76K1eIPw0NxKGNDeXbEIem3dqspoTbOD4ge+9NN1O9vTuC3s0eLNsxj1gW mybbvPPeXj50JELCu3OH9QaGoeKUTz3F7wWD3JSZGUqHEydU19X5eR64SJ1kklL5wgXabdKTLRBQ PQyOH1fttgDglVd4nZkZ5dDR57zfuKFKh0tLiTjHjtHncPasffVXnuGhz/CT1NJr14jEUvvR16fs Tr1sXCAaZQKP36+mPY+M0FyQ9li9varaFHCWZLqGJnn7i4u8x/S0cto9/XR25rybvJFscP066aSs TDnn1te5fqdhMYC3OYY6WJlPLgNQ3DSX+eoo7p3vRWITKKsuQ0t1EiFfFoeHxFhl9Hg6zVDKO+9Q pVtYYPLH0BCJ8L33OKO9uVmFg8JhHnpBAVXCykpViZhOU20U7jk/r7zGNTVKZZSqrAsXiKSvv05k E2dQby8RtqhItXSamuLv6mqHaqm9hYee+MNhpkmXlqruyqkUz2p4mNpWbe12ZItEeL7Ly6oP46OP qnwSwR+JBLilwlo1NPElSetw61RdN59Uri3DreC11Lu8nD8NDdwvN6a024KmXLNg7TSXeBzoHYwg FO1B5WwM6dk5XJsP4+iLXajUHR5W76+oX0K89+6RoCoredi3btGGr6lRyPTII0pdu3aNElfsN7H7 pBLx2jUefGWlYjRHj5Kgn3pKrePXv+Y9Vlaods3NETGlJmFpiQgjVY+dnZQgPp9qMqlXSz0AeOiJ PxqlHSuOVJl+LHHxEydU2bgV2ZqblUqve+Sl1NXagt4JxsbIMKQzr2SnWiv1gOxScDfzKrJd264Z zd27qlGJG7PYTQl5PrQZYSDFgQiSDVxIegUYnAV6RPu1cqnpaRJ+Q4NqrSRDEiQjqqREtWv2+Vjs o6trX/0qP2vlxlKJKGE3wyDytbVRxb99W9n3t2+TwCUeeusWkfPmTV63pESpmxKmCoXoQ+jv314t 9YDgoSd+OW9p7FpZqTreFhc7j+MCMgnNOmYe8CZxJSlNzLvlZeJDdbWaSamDl4zEnUrZbNeWuPzg IIWKzDPo7s6hZ79HcHJ+CuQamfLMQHQuJR11AOV1LSsjURcWMuxx8qSqEkyliDzptFLXhKPKDYUb SyWi9DGUoaKi4re0qHXcuMGHF5WwspL3Tyap5icSZAD6/DjAvlPMA4SHnvgBMkgxuSTbzUu9uk5o 5eXbx8y7DekQtVps++Fh5oIsLFBwTE0Bf/Zn24nICxI72czZVPls156fVxmKZWXK91VWlr2jTy4g 65UCqYkJalaf/rTyj8neejVTdmQO6V+SDquDgyTCs2dpE87OEnm2tiiN330300nkVpvv9/Nzo6NU 00+d8tZTT1oypdPKMSWzD5wSOA7GddmDfj4jI9Tu5ud5zvq0HTEJ7PoueClztVOrf/ELXlf8DIEA U1xNk3gl8Xq9nj8XJM7FWZatBPf8edJAayvx7Z13yOgkuQfIj3NRfCASSWlro4B7+20K2JaWzAhA IECaefddOsFFS7E6aHM2h6xf8vv58LJ51dXclKUlIoXU9FudRFZurId2Dh1SHv54XD2cvnirveXz qd4Bs7OqkePKCiXHnfs5cseO8XeuI6PzBPumdbfYy4EAGbDUVrz5pkrOGRx0zv8YGmKU5bXXuPfV 1dv3VVerpa9Efz/vIcVhpaVU9xcW7O+Va6vsbHktOrhdWwhSGuPKOt99l2t7+23+vP66agO2U1hY UAVSpaXKHJYBKnooW8K0166RJqSuwprzoidBObXWB5A5WEEGg9h9SRJEolGqQKurJLzDh1W+vN0m 66Gdujp+V2b26Q+nQ3c3r7u5yc29dYvMIhqlT+LECXXP8XGVUPL++8D3vsdpQV6RII+wb4gfyCSU cJjZe+fOcR9nZ533T5q4rqyQgFdW+P/QUOb19QE0/f1UZ48coZ1/4waRWBqFCCOy3sszElvuqYNT y3u3a+vtwwDlm7h1i06/X/6SDunhYeLf9763/fm9QjisBswIWPsJ6M8mMz3kx2kIjTyfY2alXYaf ELj1S4IsMhChtpaqvwxicNpkOy5aWqrKa+0gEqE0am8ns2hrozYQDBKRJKQ4O0upIu2Z6+rIZF55 RU2HEdijQR067Au1XyCbzev03rVr3pq4SmLQpUs8I0kVPnqU5uLQEDU+KfxxWkcunvNczQSna1vb hw0PU2DV1qo05nv3yCjb27mX588z1dmLZmmdQixt7aVuIJXa3k9Ank1vxCPm747Mj1xiioIsiYQK o8n8v/5+boI+cFT/npcmjFaw1pb396uqMcmTfucdMoDDh6lFSMZaPE61tLs7s4ehW0uqPMC+Iv5s hOL0Xl+ftyau1dXUJmdnSTRi0587x/8TCeLM1pb7OnLx3eRrVL21fZgkkPX0EG+lom9lhTglnYPc nH9641zpvCWFbA0NdC6urXHfJJKmmzfybE4O85zrVHJpOighiLk5EtrEhKpyMgx+7umnt99D56Ir K8rDW1TEB/W6vlAI+NWvVN3A7dtqppxhqKSjq1f5/sQEbaeFBbVBpslD3CM/wL5S+91sXrv3JidJ sLOz9McsL6tr2TVxnZ2liSaVdY2N/MzsLH/Gx6ktVFTw2nbr8FJ7okM2M0E3cb1cp6aGa+7oYA6K 5CQsLak2coC9mq6D/hwyuWt4mBpEIMBn7enhWD4pe7fipaxJUoU3NxkiF4d5zolswv11sDYdlI2v raWkHRjgYS4vkyEIATY32xORIFIiwcO+epWH3NOj2nBnW5+U/8rYspkZ/pw9y82TeoOLF7me9nY6 KmdmVIeXykrlJ9gjP8C+kvzZYuT6ewUFyvn6zDPAj35EBnDyJPd9fn57E1fpMCWlsA0NPJN33yXe PPYYnY2FhTQPpEmLvg6nKcxeej5aIVcnsH4diWqlUqSDa9e4L48+qtLR3dp+eSkL1huMuJ2ZFFGJ UN7cJAO4fDlHbTaXpoMNDfz8yy/z4nV1fPiCAnI9O5VfwDD40C0tasqv2OduBynrGx1Vk3Zlkysr +eDPPEONQDST1lauqbNTZfs1NJApOA0AyRPsK+IH3AlFb59244YizuZmZk2+9RZHyD/5JAlft/eH hjhtaW2NxFJVRWYgjWCeeipTU7Br0mLXOs6pft6LWbCT5rECp0+rjjzpNB3Oku8g+OWWRp5LdyQ7 sHtGCbdaJyh51mZtuP98YxcGYxEUvLaAksaqzDyatTWqGuEwbW/Jn3dS+YeGgO9+l/ZQMqmqtlIp cr3jx9VB2s1c6+hQGoIgQUcHv7u2RvWrqwv4whdYn15QoHL7pRx4dZXXknCTdZZBHmv698Wsvlxa acushJs3VdfbVIp7XlHBs7PLxf/e93g+s7OqGlOy+Jqb6aOxjmbTryU+m1/+UnW+aW1lay+/XzEK O+R3GkvnNjuwsVGNCpMKRev37QaDeO0Jqc8D1HtZBIPUUt1G6bk9Yyy2vYpyJ+PsrPepGe7F2tIa VswAurruM4Bf/pIPLSm/el33v/7XmReTkNDt2+SK4pF/7jkefiKhCnJk2qrTDEDrMEW74YlXrpCx jIyQgQSD/I44HCUN2W4YZBYu+Tszqy/XVtr9/TwTadsWDvNcxsbIoKV3pI74Et2RwZ337vE7s7P8 zJ07/FsfJWdlwr/4BUNp4TAZw/o6w7hFRTxvceDlIs2tDs5Egjjj83FN0t+gtNR+gI2dluS1StSu O5KXkuVsz5jPqkb9PmstUZT19wIGMDZWhhPtSTUpRfqdAYrTWOHiRR7WxgaRoaWFjOD119kttbRU mRgvv+wePrJLPjp8WPXlk9HbAwO08wsKVGFSZ6dKEDpxQjVplFkGHyVvf66ttJeWeObLy1TBOzt5 /tevk0B+7/eUE84uRi7VcEtLZNaiHl++TC3sM59RY+J1j/xvfqOiPeXljK3fu8ekorNn1edyQX4r DknpcXExf3IdYOMEThrC1BSjHYZB4tfnG7iB2zNKOHVuTvXMrKpyN8Gd1pxpYkWArh4Uj8WwfGcO OBpWPdtu3Mgcl2wXSpmcJMHV1ZHQfD6qbkND/P5Xv6oGa2abAWjnnJIRXCLNamvJDF5+mYh34gRD idev84EWF52bNOYJHnpvv5ckGKsT+MYNIlhlJc/xjTdo7p08qbzVuuNUEF4cYaap3ltfJ6F1d/P3 z37Gs7JK2VSKgkNga4uaRFUVvyeeejeHtRWskYC1NeIfwOcRB3ZvL7XUsbHc9hbY7iSfmaFGK579 +noSZm1tdme3gNszVlfTCS8jxRcX+X+2KJrdmoUJSnfuOCKYae/B1meeV80WolHFzSQj0I6IGhr4 8KEQUxV9Pi66s5Mey89+Vn1PZgDqYA0fOWUsWTPVurvpSygv572DQV5Ln7K6B/37gH0g+b0kwegS ElCtu9rbSSQyE+HuXSU9pUOzfN86YmtlReGJ5Ho8/rhKlLHiz/HjqvRbpPjqKq+payu5xvV11V3C 0yMjfJ50WqWqT01t71K0k0rBuTkyzYEBlc6cq3aRzSn/xBO8njCAtjbue65TtDo7VRvxkhKebWur dAXSHkyIcmXF+UbnztEjLBJWevOdO7ddyp87Rw4JZNr8djMArWqVdcSRtWdaVRWjBdXVfH12VtX5 5xkeesnvJVdel5Ay/qq1VTVWbWzkGdy9Sym2vk7bWRxp1hj5Jz7BCT4+X/YUVoHPf14xqrk51evx 4x/n+7q2IkUuv/mNvRZhF9vXe+k3NvJZxsZ4v8JCMgSZe5Ett0AHq2Yl2Xh6+m46TTx8/32q2tmu my0Nub6eBPrUU/xdX59bJqusWQr5ZKrx2pq2l7nkTQNkCN/8ppqeW1JCIhcHkfWzL72kcvUDAeXs 08FOrfr1r4Ef/1il/UrPtEhEpZR+4Qvk5FIUFI16V7tygIde8nutf9cl5K9+pSYhmSb9NokEGaoM vEwmGREwzcxQFMA97uvjft+9y/fW1lTob2tre9uwjg7g3/97+nySSZ7pU08poaFnawYCwMc+piSi Dk4OTr8/c4aEDHo1Ta7NrkuRTNixi0iJQJLuV+LMFK1Tb1d26ZLKRK2p8Raak0IsEXqi9ey2kxGw vZJXMheLi5VZffdOGCtXkyirCaDlfqQs641On1bqTbaQiJcee7r2kUjQlqqvp/ponUisO/NeeUUV QRiGcho+pEM79hRyyZWX3n0yCv3SJUqzaJQSYmiI51tcrBiyHkEAFPG98ALw859TQgeDSpuYnwe+ /e3tpamVlVT/pYzWOiJbRnK5OS+dHJzvvkuGoY8jX1ujFgPYdym6elUNf5GWdT/4AQXL9DSv3dVF Laivj7gvWufRo9QmLl2i9tvayueQ5LRseOjExLL1THQKn1vP2MmskPuGaqOoXupFchHov1qGrg5L P0DrYveill73fEp1U2WlGr1s58WXB5D21Kur1BKOH1d2ap5gXxC/Ezid2YsvsmhldJSI09hIhD12 jEx2fJwSrKJie5MLQBFfIAB85StUv5NJFQWoqCCRyXw/K9M4fJhSORbjeUkJuEyc1sFt9Jj+GSBT YjY305Ep/gzTpO3/5JPqs7dukQFaI1L/+I/0Q8m1urtJkP39jExI1+jbt1VlayjE3z4f39OnBtuB lYml0zyPwUGeg91QFAm1W5nVSy+pCd9y1p2dao1yJrGYcugWByJIlvWgeDwG38wcxqfDCH3ZRmXc y1p6XUURe2p1Vdk9dl78WEzNE9QbRsZidDrlEfYt8budWUcHq9WkJ7/Ew30+SvzJSX5H9+O4VQeK c216WjkATVOp2FamAdi35Pai8jqFwo4ezWwxn0wSj2prVV3I6mqmX0TXEgRCIUp6nQmFQmQAc3Nq rR0dqvHtxgafeXmZ97l7l5EpSYayE5Y6E5MkoZISldSmJwnJWf7wh3y/tlbNLQRoIksJdVUV9+fN N3nfhYXtk7OkO/dmKIJkqOe3NNZlR8u7SaPMBvpQx3v3GMYTXwJgb4bIA127xv/FtpudffBDOx4m sJsn53RmkUhmT36JAExP83vWsW121YHj45SuIyOU+qLCS7MWa2mqzjSktkOatljHijl5+qWyUE8e Gxgg8U9MEAdktt/HP64c2YlEpvTu6lKFTUJE8rnGRm92t7XATWYB+Hw8i/feo6lgzZuQ7woTu3qV JpeEtuW+V65wT2W8eiKhJhgfOaKiX2++SV+NbjpLoVFtbeYcwupq4sCZM+7P9lvYy17qkYga6lhY SMSprSVC+Xz2OQfhMDe0q4sImEjwYfegq89D7+0XsDpO43HV1FPA6szVIwUSUjp+HPjjP1bDWpyq AycnSfibmySwkhLa+qkUiVpqBgSx9Ni2SLqlJRKa01gxu0YfUlkoMfCC+yd0+bLqLeD3c32iEQJK ej/6qLrmuXNc8/w8nZTy91e+4q3bUDTKfWpvJ+FLIxDJkpSQ4O3bFFQvv6wc0no83zDoK7hxQxGh zNAYHlbmRCJBwr1zh4xB2q6XlipNRUzncFg5gPWS+WiUprTbODM9kpIoyCHxYicgEru1lQ+aTKoy YTuCFgT0+4msJ0/yu5LgkUfYN8RvbXelz5MTYrO2qHIKOUn9hR0Rynemp4m4lZVUcaVD9N27JGpr aarTaLeWFvtOP07daiQU1txM6X77Nu+5sUECkHHe4nTTwYqzThGp06e9dRuStRYVcT8k38XvJzNI JEj0MqNSCCsez2RiMqvi0UcVc5ZIhOQqyEStqSkygqUlahZ37lDDEfpcWlJtySUioc8hLCx0fja7 cuvL81EsTubQd80ryM1+9CN6jScmKDEWF1X1mVtpptdWULuAfaP2O82TGxlR3WUKC7P3ZhRwiyBE IpTYH/+4sncBEo04o9JpIqtdSbFMiZIp5P39PHOZ/+h2jqIuSxh4ZESFe5eXVYivslJJOLdkIaeI lFMozo4BhEIsgpO+lJWVXMvVq/QJSCJQTY1icgsLat9qasg8TJP7sLLCtT/9tJpvIUwkEuHerq8r beaTn7Rvwf7EE2S01hmJTrRia97XRzC42oPu4piasbejemMou/T6dSZFSGHI1hYXeviwiue///72 eLG+6Q+gnfe+IX6rs0xyI956iwSqVz7aDfDIFQoKeEbSnbelhUhZUeFtjNXampovKM00t7YyGZNd tEKGlExMqJr5eJzXun6d3vzVVX6+vV0JiFyn7OTi5Lb6oGprec+pKX4+lSKDqqggTm9tMYNyaIiM 4tAhrjMWI1MUYVZYyPN66y2aI+XlZDDl5ZywLC3wfvELaj/Ly2qc3qlT1JAk/O1UcKTv8Y0b25lj WRkwl4p4qzd2CwlKx9+lJR5UKEROJ7PNIxFVhVVYqMIT2erT97CN974hfqd5co8/vr3cNld/jV1h y/w8VdHOTjpq+/roM/j617Ofg7WnA0CCbWnJDHfNzxOBrcRXUMDvjY4Sh/x+fvbdd7mGjQ0+s7X9 td2z5KNXgNUHtbZGM9TvVw5QgKq9aZL4BwbIsMTZGAjwO6dOZdLZ1BSnZ6VSfMZHH1WDRuWMpYIx EFAdrvRx7DIj0e4cBwcVgysupi+hu9uhOtNtU+RQ7bgloDr+bm0RcURSCYcTp8uhQ+SMEqrItmgJ bUhr5Dwygn1D/E6ZfrHY7mffWc/0/HnusUzAKSwksbW3e8s/l7XqPR1qaqj5SbhraIiCQeb/6XgW CFBAHD1KhE0mKTwmJniNF15wJvxcpLnXdngFBYpRHT+uTIwvf5nPODqqrrW6ynNZXuazysCaYFAN X7Hukd9P77w+CenyZWpycg1rjYFdIxWnc5TW4ZOT/B2LMWFqW5Gf26a4MQZADXOUrCoZ71RSQrUk meTmyRCI4mKmmF66ROSQNFJZtDW0oedt58kH4In4DcP4HIC/AOAD8N9N0/xzm888C+A/AygEMGua 5rldr84CdqbQbhtg2p2pTKKROYCAysfIZa16qFHUf4DMYGlJ1XlYB2ocO8aOQ/X1vK/PR/w4dYpr GxhQ4T+dCeQizQ2D2kwioVqXSWdfO0KSwTPiCA0GVY8Da+MaCbnNzqqYO8D7lJc775EejvX7ySwG BpRmIZ2E7DQ7p3McGaHQ3dri/evrqUmMjZGhZczFdEvEkHHREsYJBjOrw8T7KDcWe+34cTKD999X jqnycrXgujoexrVrRFpBvoYGFdqQB89nDgI8EL9hGD4A3wbwWQATAC4bhnHeNM3r2mfCAP4fAJ8z TXPMMIzaXa/MI3jN/XcCO2YviAuoOPuNGzz7ggJV1p0NdMa0uEhmv7q6vbOTgOCZfC8ep+PL7ydB zc0RgR97jJ9/7z2uX0rFvYaspUjo3j0+pwwhSaWIp1euEAcle04SjQDinwyfTSZJ+EePEj91mhHT KZtD0to0pK2N1z95knQiLcRKS5Vjzyk3xu4c33mHTPzOHa6xpESlam+rJnSTJH193BhJwFhd5f+n TvF/SYgIhbhpMi9NEkL+43+kCiJJKk88Qc4kU08AIoWOfHpWoHW6bB7Ai+R/EsAt0zSHAcAwjB8C +BKA69pn/i2AfzRNcwwATNOczsvqPMJunKN2zF4Qd3KSEnhsjKpnSwvt7ng8s7w727piMUoeCVNd vszznZykFnj0qBo5Jozr619XE6OkTPj2beKnxLwNQ6nnPT3ei2ZiMdWVeHVVhdmkBfevf618XoJ7 Q0Nc38c/vl2zkA6/QCbNNDdzvwBqM07hxM7O7fn8lZWkw6oq3nt1lXvY0LCdicTjpCdry7vqaq5N InhFRWSm7e2KPjPoyE2S6E4lHQxje014IkFCP3uWD2610y9cIEefnua9KitVnLOigteanNz5dFmP 4IX4GwHoHe4nAFhJrRNAoWEYrwMIAvgL0zT/xnohwzC+AeAbANAicbAPGZwciS++qBAyEiHhl5cr x5RXzUvwSdq+yfSndJrnX15Ob3dPTyZxSIqy2N2JBN+bn6fnu6yMGqMIE6dnsZO2IiVNk7gpOQmi Us/MUNCImVJaqjL1gsHtzUmli6+1c3JtLX0ldtWLAjJV68gRSnvRJmQ/YjFVXRgMKvPYWgdTW0uC thbLPfecKpUXGvL51P5soyMnSbK1RZVPEhx0J4bONAoL6dQzDH7HDgyDWkMkomrAr1zhpjY3qxhs OMzrZ5suu0PIl8PPD+A0gE8DKAXwlmEYb5umOah/yDTN7wD4DsAGnnm6tydw8oLLuf3iF6zeS6Vo pnV2UiqvrKg5D4BqAJvrJCVJerl0SXnB29rUbylH1cHayOP8eRJiMEgJNjBA9VUQ2KsJJBqCrlLP zXGPXn+deyBaSkmJ0joknCadc7q6VLafvlbpsuPF95DNTyE/TqB/X0aD6cVysh4JPW5sUBuw0yBc QbyZA3YAACAASURBVEIezc2qGeh776kKJ0Gq+XkV8tvY4Aa9+WZmDzRBJglfvP22atUtjiaJiQoj 2IlNmwW8EP8dAHork6b7r+kwAWDONM0VACuGYbwB4DEAg3gIIJsXfH6eodn2dpVP/4MfUCoWFmZO blpd5Wu5al6SuVdby/O0SttsZpxhUHuIx1W7sPV1rseusYkbiIYgKrUQd1sbny0aJe6urxPf43G+ pzOLbZ1zLM/qNV1+t6n11iE5di3vvGgQWUESMEZHVdHDtWtUCf1+btRrr6nwheQ1myaJWJ+NpmsR a2tq4snW1nbv7x4m/Hgh/ssAooZhtIFE/zXQxtfhnwH8pWEYfgBFoFnwf+VzobuBbNLl4kX7ZqyT k1StR0Z4hgCRrbU19+xPq7Td3CQeiXBob3f//tYWOwzduEFCBUh0dXW5CwJdQ0ilKMBkOpFUOvb1 UT3u7qY2UFhI34T03JuZIQOw833k0rBjt809vHxfntcrDdlriRE1609mxJ88yRtPTKhmAvfuKQKX aakLC2QSunNGEicAIoX0NNvJJuwQshK/aZppwzD+FMAFMNT3XdM0rxmG8c377/+VaZoDhmH8DMAH ALbAcGB/vha524SnbNLFrRnrSy+REAYG+Prjj9t7++Nxmm3X77tBrWE4XdrqTkQZ/S4DXMXksyOo tTX6kM6eVVV8d++qqcG57IlOEBUV2+cDnD5N1V6ET+39+I1MoWpqIn4PDpIm9HvnEn7dbag2X7MO BVy1RNPkoRoGHTUipaW6bGODhyoDOIqLlQNP+sf39GxftHRQaWvL7P6SJ9veCR76oR25DLlwAusM BSBzUMR3v8v/9dLX+Xl+/o//OPv14/FMjRAgwzl8WIXh5HOxGOs8xIEnDUICAfeBGHaDSZJJFV4W J6XXJpi57I/ce3RUOfNkEIo+kMS6J14Z9m6Zez6yYeUab7+d2dbMl4hjazCG0rUFHA3eryNvaFBT eAESvHRrWVmhtJBGBysr5JInTvC7glBuE1WkkcfW1o4e6HdmaEc+ei1kkw65NGPVQUeYu3eJE05h OEBJW8kXmZigZ1oyQJeXnZ9PD4ldukR8C4eJqKFQ7iO3c9kfu4xFSeZxSn7KxVR1+6wXwt6tWawz Vmn+0t8PnGqJo36sF1slAcwXVAG1G7R5nniCqs+VK7zA6dPcMDENpqepNs7O8qCOH6ejRFfr7RYt zRV3PM8sN3joid+qsts1ycgl3m7nNJXS14sXeWYNDdtn+VnBijCrq6rpq1TeSVTAisDLy6roxTD4 /Rs3lB/BKTFHQmIrK3x+6bSTbeR2NgLS92dkRDnF9Eo/azaewF6apqJRzc9T25EuxV5yLLxe3yrt Kyoo0EtLgcV3YqhrDiCJAMorQMR44gkSd2MjbUDTVCWen/kMLywpk+k0f0sBh5fJJHvZWcgCDz3x 6w4dfWac3iTDC1PMJh300ldBCqnos2Mw+hlVVJBg02mae0eOqKiA3rFXbEi96CUQUKXkYnM7Jebo 95Px7vfuEe+c2opbbVi9BZZpqpi9VBTG45kZfPr+5tu+zgZXrtDUkH1aXeX/V66QAewGnKR9S4uq wUjPLGClqQqpVU0Q1NfzYK0DH3X48pftbVXdS+zEkfeys5AFHnri1xHu+nUevtRICGPdCVO0TvUV E8swKGkaGjKJRc+/sJ5RczPV/rt3KTWkWYtUG1oZucTPpWBlcZG+Hsk/d0vMkft98IHq3us2ctuu e/TaGr8vmW4lJdyPbN2Fd5tK7fU8hBauX1edegDVR/AnP9mxOWy7LyLtt7ao1QcC1KwKEUZ0K4mO roBq+ZZMklP09npTpew2ys2rmI/e5h7hoSd+2ce+Ptq6jY2UrFJjsZOOxlJ6vblJxJ+dJXOVGfKL i9TQFhdVUdXycqamYe0d39PDVFZp2HLqFB3Ddh179aKXri7luV9bcx6Cab3fJz5BlVhqRZxGbtt1 j47HKfWl+Ewq5aQ9uA5WoZPvsHM8zmG6r7xCZvjII2Sa8TiZoN6qbHmZYU4ZbJPNHHYzd6zMtLeX zFsah66sABMlUTw21wskAVTcl+CTk+ToxcXui3DbKC+lw8Ceq1cPPfED3EdrNxmBXDsax+Oq9Lq6 mir48jKRY2KC2oRU2wHORVV2g1iPHQP+6I8yccCtdkCKXvx+5g64mS/W+0UinENZWWnfQdduKIfU iQgxAJmVcsADEzq/XeOrr3LISjDIdQ4Ocp3SHfiDD1QW4cKCGl5rLYO283M4zQ2Ynd0+rETa6K+t 8eyPHAHKyiJ4f6kHq7EYulJzqGgJc8P1KqZsNrkdB3JT7fdSvbLAviB+IH8djWMxVSxjGCofvK+P 5pyMUZNqO6eiKjmjK1dU8crRo9vv51Y7MDvr/XztcMLJ8aUjvj6UQxqcFhQogtYr5ezag++lTR+L kQn6/WqGgmHwPEZGVH3/2ho/NzzMikZ9n53MYTvhurhIxn/69PZhJamUalAi5phpAon1CNInezAg 4cwLF7IPXxBw4kAyBNSJy+5hVp8O+4L4pWorHifRr6+r+XWhkHP/OTvQx3FvbhKpAP5dVESEW1sj IxCPvVtR1fw8JYhUdOoltoA7I881Ju8VJ6yIL0M54nEi9ZNP0lE4P0+tp6iI0q6nR0nGPRY6ALhX Gxu8j0xDljO4eVPVWEgqvfQuBFRZvd9vv492UaLeXjIVyeEQR2l/v0pkGhnJ7L5kbc+ek03upN7P zFCKiRSydhU5aONF0Ku2pqZol4lzqqmJCJuL11/vRT85yeuOjnLvpTHn5qYaWjE/71xU1ddHZNG9 0SMjfP2559Q9HxAj/y1YEV8fynHmDPHK5+PzLy6q9lqFhaqizuqb2otknXBY1UlI6FbagK2v8/uS rw9Q4r/2Gvc3HCajkDOy9sK0ixLduaP6bEgrMBnk+qlPqZmIqZRKZJK2Yb+l7Vxscjv1fmODtuap U+Sys7OZXUX2coKQBR564hfmmU6raS+plJq+k832s4Jeej06SmSQacyvvsprdnSoFF5BaClV9flU Y9e+PjJt3RttmjxbnfgfNLgJJz2t1y6zD1D7mAse7gRno1Eyy9FR5iuMjtIZKyXU773H8wgGyZjF sSl1+cEgmZrdDEudRqWVeirFtVVU8LknJ4lXIyO8fmcnz1eGiOjt2X9L27nY5HYHIT3LGxrsR4cf xPkVCPO8do2/m5pUHzhpmSZ15V5CofrZSUdeqZevqyNSLCyQEYhN7dTYdXQ0c6DEwwJW4TQ1xedt alLvewkp54KHO8HZSIR7fOUKGWoqBTz7LBnz++/zzE+c4Jn09dEfc+jQ9oatdlmG+jlLK/XOTtUK L52m06+1lddcW1NaT3e30mCs7dkzLp4N7LQE6Vmug77pB3F+BcI8xVMNUAKYpvJUA7l5pSVhZXER +Pu/57Xr65XD6ciR7Q077JC7s5OSqrycyDQ2xuSvjg4yj4UFNUTSqWDHCXZj9lkz9sbH+f3SUjon X32V7xuGu/n6IEpzhQGINA4EqKI3NnId8bjqdF1Zyd/JJPdbfAFOdr9Oo2trKodjclJl5m5scI0S VfD7uZ68CFk7LUF6luugb/pBnF+BME/dFhPP+8JC5rAGr15pXYpLfHt0lETf0cHXrQ077JD71Cme 6eIiz7esjFJkfZ2JQdKDTk+k8WK65cPs0xG/tjZzhkBtbWZ6cX29vfn6IEtz9f0VRl9SwnN/6im+ L0zh3XepzZSXc93SCMVpBoZeUXnnjgptHjrE/+vrqe5L7o7XHo2ewKolyOEC9pt+EOdXIHvn93NP qqvprU6lSHDWYQ1eJKYuxRsaVMu10lLVqsvasMMOuQsLqaZOTJBx1NQo7/nwsOrVryfSSGTCbY35 NPt0s6m0NHPCcEODSiyyM1/d8NCp3bzdZ3WQ742PqxqClhYSnuyv9DwA+HciQUkt0v/ePV6noECF LoPBzLRf6/okigHcr9bz8axEI7p3j4xFBn3KPufd8Z7NZ3AQ588EUQ0lA29hQQ1rAPja5ctKrQsE eNBXr27voARsz+6anKQE0FNzrQ07nAihp4fEdPKkKvMuKVF+CSAzkWZkhAjlJtXdVGi7vgEdHaoa 1IqgdmaTHsKS/ntO+26XyzA/T0KXLtNXr5KYnnmGz+2EsyL0NjfVIA4ZYiPtwRsathfMCVORsF95 uWKwlZVkXuPjfBaZZ2nVnMSel71dXAT+7u94NoWFSms4flxpfDvSwPJRhngQ598OThqUHE5fH9XB 4mJy8Lo6+1JXa6rsk09mpubaNexwY8j69URq+bWd1RNpFhfdR4tb1ycgKeXWvgFvvsn+gx//eOaM emsxTtYQlguk09wTYXrnz/N5BgZIyOEwieiNN9xLikWjuX2b17IO4lhdVdGcU6e41nSa2snp0zyr 69dJ+P39ZBahEJn28DAZeSym9tVuj2VvATKRW7d4n6Ym1Z9AZgt40cB0Wq9dGkLnzfMIFN+P329s eLf1PgTYV8RvZaqSciuHIoiyvq4689iVunpNzbWCE0PWrydSSySKjMeWhpEicXWwOsactAyfj9er rFThxfV15bRqaHAuxskawnIAp0y53l7VwXd9Xc3qczNNROrqWoiuFTlpIdLFCOD+bWzws3JWGxu8 jswfAJw1pzNnFAMVL78MCJXsS9kTL1ONRPjU+uMI/vI8Rjb9aHmsGsGNVXKk9vY9CdPlA/bNiG67 8cq9vTx4AZGu+mt2pa5CELlMQZb7y1z3eNz+euk0pdbTT6upS42NqkdjS4uSPAJ2Etjnozbym9/w WcW8EEQX2NhQ6rOApPHq63vuOeBb36IET6e9T35eWNjOrNJp2svBoKpxMQyuxa2rsbWPIeA+iENA H3/e1KTGnJWXk3GYZuYAU126C+h5DhI1KCykKXHihBpDru+J23WATMZYMhFDsX8TBVVhTE0bysEi 9thDCPtG8ttJoJoavn7mDF9rbmbln8x3Hxvjvh85QgIEtmsPZ85kJwC9CtBJm7PTCvR7CWRz5urS 5GMfy+x5LxlxejfhwkIyB4mAAPyO9BGwmp5OAmhoaPvgjI4OZ0enRDGkjbhpZu9qbO0a7DaIQwfd 5BKTYGGB2Z7hsMrXkBb3gPse6634BKwdf72cla4Z+JYWkA5XoyS9iqWV+4dTUkK1067o4yGAfUP8 dipYNEoHm14dd/o0Eauvj8yhs5PEOj9PdfyNN+yJGLD3QldXZ1YBrnrU5tycRW7O3GzVnpIRJ60X i4pIQDKEI5mk30PyILw4qoaG2MasspIMVFqXv/RSJgFsbHAdExNMtNFz82XApluRlU7EubbR1hnX mTPKcSgZslIsJddw22M7hjY1Rcl/4cJ2ZunlOpvBMIw088bLygGY9wtD7OqsHxJ46Bt4Cjg1mVxb owqnS7i+PhJoOq1SQ5NJ5oWLNFtdpRSRGfeS0z80RDV6a0tlWy4t0SElkkJCgQ0Nzg1denuZzDU3 lznvTtR/J7hwYXsnXRnx3txMbWZqSjX9FG//0JDqMFxQwPVK9qjslV2jTSB7A1OJMEiota6O+yIN ROfm+PnHHrOfTrUbcOpzaWXSuSZQ6dmaU1OqNZ84TSWSAzg77/XrmHNxLP+8F4mFTXTVz6I9OIvy il10Vd0F/M408BRwC7VZD91OrRsbU3X7hqHUZhmt9vjj9l7ozU1KN13V9qLNjY2psVr6vDu30Brg LJXGxxklaGsj8U1Oqlr+oSESn3jkX3+dr8m9Zc+csu3cWpcD3N+KCobyZF2hkKoUrKigxiWE8+qr zn0GcgGruTU/T+b4xBOZY8B22rZcJPr0NK8pzFKe8coV1S3K78/MjpRokIRCe69F0NjWg+PFMRir hfjAdxRHX4yisuPh8/IL7BuHnxcnnXDiGzfU+GkBmXosjiZAdfFZWaGm0NtLlVbGqks9uRRi9fUx NHTnTnZtbmmJEliGsJaWbnfM2YHu3JIBk6LyBwIq/DU6yjVXVfH36ChfNwxqFwUFingBd4eaJDrp IElAAlbHn1QKBgIkhIYG+7WJY1Z3kHqBoSHgv/wXPvvyMu8vXYvn5jLbo0l4LxcQfHr+efqD6usz 3y8rY1hRisquXeOZS3akPJPOGE8+G4HvqR6sf/J5pE/3YHD24SV8YB9JfsDdYeXUwOL0aaroPh9D XNP35wdLrb5McV1a4sGurJDAm5oovQTZOjootaenyQy++U13aWMYJADpNSeptHr3Zrdn1O3MpqZM 5BwfVzXwQnDSfSgUohS/elUNqMyWIeqldbloJNac+uXlTKZgXZtI0b6+zC5C2UqDz59XfRU2Nshw k0k1R1BAT37aaSaeU16FXN8uO1KYjp44pMMe1eLkFfYV8TvB0BDt1ulp1V1ZGlj099MObW6m9C4r o1RMJIhcBQVErtu3ldNsY0Pl+sdirPVeXyfStbfzc3oGnxXicSJEXR01jYUFEkl393b12g7smJyO nEtLZEri4Q8G+Sx696GODu6HlwxRL63Lo1H6TEZGMmvpTZNmiQzJ7O1VcyYFNjb4+rlz3hyQ0m0p GOT9NjfJvNNpMjR9tJke2dAzDu0yO53AyaQ8enR7dqQwmvffJ2OPRh9oLU5eYd8Tv3iq5+fVVN2f /Qz43OdIbLdvE2lqayl9YzEiyNGjRJaxMX4vHuffwSAPdWuL6nMqlensA5wHVQiImi6qrzQGmZpy 7/jsBHZJSQsLfD6ADKWvj1qFSHqfjx2kvUo/vXW5HUh8fHxcpdsePsx7v/UWmankyyeTXEsiQaJ5 7z2+/sEHygG7uQm8/LKq3rM21xTNLJXiM5smfRNAZmRjZYX7sbnJ/S4tdc7sdHs2O68+kJkdmUzS pHz0UZqdW1uqL6CXuoaHDfY98f/4x6p0NpWimhgM0nsbifD1ujrFlc+cUar9kSP8ztoabftAQM3P 0z3juXJ1mcgr0jCRUOWzly9T25B58W4qqq7K+nxc5717ak7k4CC/W1hIQqys3NtakESChPDIIyRO 6Vw0NEQiLihQfQIMQ/W/f+01euRLS8mI797l9QoLWRNh1QQko0/GkS8u8nnDYbZIq6nJfM7Ll8nQ RTUH7DM73cDJpNSzI5eX+eyBQOa4stnZB1aLk1fY18Qfj1PiNTXxZ2SEkr61lVJiZUUN1NChrIzv nzxJKdTfz8/Oz6tegS++yM/mWmEp/QavXiWS6lNvq6qILHrRilMLMrs8AekafeoU/RfvvQf8z//J 5z1zJs+lqDawuKicmAB/z8xQ6kouPqB6AN66RYJpbydBpNPcG3FMPvaYfScmmYZ9+DAZjpgAzzzD e1qJNBzmftfVqdfsMjt34heQ7MjubuD73+fzFxVtH1f2oFu15QP2HfHrB3jnjurJV1FBZJGuNUeP Km5sJ7kbGvg7FKJUeuMNNfgiGs2cPuuVq+v9BqUr8NWryj8gVWkST5fJzsB2CWWX7CPNRjs6SBSF hfy+tL3eo1ZvvwXJ6kullORPJsnk9FCo+ESkxDoQoHYghCLm0DPP8DkkZi82tOz50BCfsa2NTFSG glohGqWNL0QtORz6EJPd9kiIRNS4snSa/qPbt/l/Z6e3TNGHDTwRv2EYnwPwF+CI7v9umuafO3zu DIC3AHzNNM2/z9sq74P1AK9ezYxHl5fz9c1NJqfoVW1ApuQ+d44EvrhISSzI292t0k2txTHWdVgl iE6wovLPzJBJffGLqirNOtnZzjPs1PtRQAZwWGcKSN37XjR+FdV9bo73DAZVuFMGp5RoiW3BoHKo NjTQFJMuyYcOqaQkyQ4UG1ri6BJjz6ZxRSLU1M6fp6ovLfL0cGw+eiREo8A//RN9HDMzqpmIzB/o 7nYurX4YISvxG4bhA/BtAJ8FMAHgsmEY503TvG7zuf8DwCt7sVAgs5nntWuU8ltblPhbWzz4YBD4 0peU8yqb5D5/ntc5dIgSeXSU1zBNJnVYD9JNgugEK11nTZPFOdK5ydqoArD3ITjl1AuIB1qfKSBe 9WeeUUkpr7yi+tLtFBH1BhwSDTBNNeSioYHazuwsz0CfSzAzQ0k/O8tzkgq65mZGI6T8WhqfjI6S KZ89m1sb8Y4OOve8TOgR2Ek4bnKS51JaSiYmU5InJujLOH16h92XHlC7bh28SP4nAdwyTXMYAAzD +CGALwG4bvncnwH4BwBn8rpCDWS0tcRdOzooTWIxFsGcPEkC/uQnM7/nJLnffpvXeewxHqJk9g0M KH+B9SDdJIhTyOfYMVWcYzfZ2U6i2WkskiuwskKpY50pII1hhTmK53t4mBJ3JyaBzuwOHyaD+cUv 6OBrbeX9VlZICA0NNLcEbysrMzslp9NkDM8/T4YlztqiIpoO4iAsKMhsqGlds1MRkpvdbRj0u+gp 3zIJyO6Z7egwFuP6GhtVRaMMFFleziypzkmzeIDtunXwkuHXCEDLFcPE/dd+C4ZhNAL4fQD/NX9L 2w7hMDdTvLoy3joYpIThWtyvoZcGy3TWpSVKmFSKTODmTX62s3N7JpldiauU0Npl562skMj1kt/H H6eDzK201i6j8bOfpbe7uFg1DW1vVzMFZma4BjEJ5EcfaJor6MzOMNS4rMOH+Vs6UIdCJGq7Ssea Gkr1o0dp/jQ18fPRKBmvzCuUM62ocM7ek9DuygoJeGWF/w8NuZ/5/DxNvKIi1Q14amp7lqZT6bjk blRXk2msr/Pzku+wvs73dLCWVtve6MIFxjw3N1WzhNu3yb1ffjn31MgcIF8Ov/8M4D+YprlluFCf YRjfAPANAGhpacn5JtEo1di6OhLX2BgJ4dQp7p2E8dy4rY7MMp21upq/pabb51OdYwRERfTSE9/J xMiHN1juIe3E5V6GwfVKc0vRBmynzuQAVnVZzI3FRfWa27VlvXpHIYnR65rM4iLPclUbh2133YsX +T1xmsrvixed8xRiMTKokhJqXbOz3BPRFqyfddPsNjbU8BhJrkqneX0r8TuGhO2cV0tLqgW0dFmd nt5TDcAL8d8BoOelNd1/TYduAD+8T/jVAD5vGEbaNM2X9Q+ZpvkdAN8BWNWX62IFkYaHKSnW1ylN /H4ljbMhubV/X38/kWJri17l2lqaD2Jfizd6Zob3P3LEPaEjXyEfHT+c7He5l3y2vZ0ScGuLpkt7 OzWbXFp2WcHK7KShpp6m7OXadoxRmm3GYiqxqqtLMV3rdeNx5vcHg7xGfT01IN3pawdiLo6Oqhbq Yt5ZO/66+QbOnOHnu7p4X5ms/NxzFECDg6q83DUkbOUwMhJanENiHzU1ZeYR5xm8EP9lAFHDMNpA ov8agH+rf8A0zTb52zCMvwbwL1bC3ylILF88w01NPCw5eKnDlhivlM06gbV/X1cXD21rS3UBBkhM i4uqxLewkIxhcPDBzLOzOjfd7HdrlMHvpy9kcpKI6bVllx1YfQ9VVSSitjZvdQM66IzRald/8Yvc W10zsGtyEgrx+dNplagl0QQnCIfJPPUkIMPY3qlXPutFsyssJDPQ/XKSQZoVL6wcprmZDqgPPlDF KBIrlp5lewBZid80zbRhGH8K4AIY6vuuaZrXDMP45v33/2pPVgYeuJ5PDpAYq6r4v5SzdnSoyrTR UeapO4HkqMfj3NfCQh6QPlwT4CG//DI/I8k6oZCarLTXCR16y+2tLYYLxZfQ1JSJtNYow9mzdEpd vEicEqcY4H3unoBVYtfUcH93w/zs/FvZmKowuKefBn76UxJvURFfl/HtTs9mNRclD0Dv1CuQLanL TbPTNTHpKG27z1YOEwpR8tTWKnvo2DFK/1gstxn0OYAnm980zZ8A+InlNVuiN03zf939sgixGDdS b1gpveIklCapnouLVEXb2tTYM+fncf8f4GE1NqqW3AL5rtZy8iwLfkxN0eQoKSGyC8NbXXXu9ptI kJgeeYQmQjJJ7UkGdOTqULZD+N30p3Cyq92YqjC4QAB44QXa7rIvX/gCtT+rs1yYycICcWVpSc34 6+jI7NRrfdadpup6ctzbcZhUCvjKVzITOFIp5cXdA3ioM/ykTZRpUsWT+GppqeLY9fWZKp+16MZK XIuL/PyRI+ozTk7Cva7WckMUwQ/d2bu+TqTd2Mh0uFlxSe9zL9EKPTsQ2FmSS75gJzF3/SwknVu6 E0k0w9ph+Px5FXdvb6cp9Mgjmd16rANIvNZdOIGnZCI7DiOhHXFgSCHFHob7Hmril7rwWIxSvbyc 3HtujmW7oZBzf/veXpWUEo2qA5cYNaDivRUV9oi315OTsiFKTw9t1bExmift7arAR2/YacUlvc89 QDySNOfSUmXC7FaLcctLcXtvJ0zV7iympqgVXrrEM21pUc88O6uiZ4Aq9Z6eVo1Gdf+OOFa91F24 gVNm5vaEMYs6ZW1bdPgwD1tKN/cAHupOPtEo1VvpDru2pirwDMM+rj45SSm3tsbEC7+fTrLFRUqI xUX+L/3m+/uJRHaI56V7kBu4tfsG3HMG5P6f/jSdYY8+qlJjOzqI6HZrff552vx6tEIGXAgz7e/n 67vRYtzi4W7vAdvPTQZnSj8Au9C29SxWV/nd4mIS/tKSei6AxG8NvdXX87N6PoLOgCcmVNz+pz9l uH1z03t+RDxOret73wP+9m/pb5mY4LMVF7t0NpIvRqOqSWEsRtVtD5N8HmrJH4nw+UMhOv0Aqm2P PqoKR6zaU2UlzaVAQPXsW11VoaAjR+hUHRggR97cJEP4kz9xXsNO1GIvtp8uAa0hRQlBRaP8u60t U/twMwPtZtPrEZCSEuJaa+vOtRg3rUX+d9Jo9HO7fZsEomtnTtJWP4veXnXOLS0kfCkjFg3JS9x9 bIz7ubxMnJC4vcxclPqFbDgg+f06Ud+8SYnf1KR6StqaAfpmig0rnuU9bP75UBM/wIOtq+OkVgFJ bwW2E+eFC0qaSh69PsobUO2YAHJkSb3NJ3ix/YRI7UKKOgF0dmamsz72mHsauE5cMpv++HG+yV5M YQAAIABJREFUp1fQ7cactKq3iQQJScyLujqu1cnE0M9NioVGRlSX42y+CGuEo6uL979zh3UaLS1q BJv0PLCabPE435c037k57o+EkwsKGD3SzRMniMWocR46xGe/d4//JxLMAbBLGHPcTNsP5R8eeuLP 1e7Wpakk8UiW2+oqO7F0diqpkEop1S6fji8v5ykE4BRSlI5Ag4PUWE6epIny4x9ntpm2k5Q6cekt z+XaMtZ6p2DVWvr7ldPaMEiEwnSl6YWdiZGvLsehECV+YyMltwxyjcVYhSc+FP2Z9Y5Lq6v8XkGB mh0IkGksL9uvQfdr3LjBNTc28vnLyylgfL7MprGAjQbyIfUBe+iJP9fQi84spB+fqLiPPKKae2SL 9+4WvKj08nxuIUWrBjE3pzr22M3mc9uPfDkt43E1r08KiQyDzrSWFjLTX/2Kfe4KC4Gf/5zjtL72 te3X0rscA/y9uuqty7HTPEN9vyTl247Z6R2Xrl/nnsrMhpUVPptkSdrtgZ4vcveuavWeTqv2YuEw 1+Sa+bfXnmUHeKgdfgK6M0u3+dzm5q2ussFDIAD8m3/DKbZlZfTibm2RIIuKuL/ZxkztBMSpNTnJ 1O3FRaXSv/oqk05k/dLiSwdh/FanoOTWu83m02G3TksriC+juFiZYpcu8Rnq6vj67dskiKUl7vX0 NCXj//gffG79vCoq+JlUigw5leL/XrscW5/LNN2dqDoIgwZ4z8ceo7Z26JCKum1s2M9n6OujmeLz 8TqSZHbxoupsHI8TB555Jsv+5/uQPMJDL/mt4MWRFonw4M6d226vSR2AU5OIfJVVO6n0AKXM/LxK wJmfVwk41jVZOxHtJLfeLa12t3FsmZMIcP03b3LtW1uqek/Gh5nm9vTk5maaB3qDkIYG9xRtu+cS yEWDllFsw8NU02tq1L5sbJBxnz5tH20bGODnRGOprqYGJ9V+Uv3Y2kpNIKtJma+ikBxgX0h+Hawl pk6ln05hNHF0WZksQKn07W/TUeT373zghICo9M8+qwpWpK+9qMri4K2stGf81dUMFf3yl9QgiorI LKSDrYTMvCSBZQvBeQG7fY1GadJUVfFaS0vUvCR/oq5OzRewlhdHo5SebW0MUba17W68nVNZtV3p rkTXiorIIGRuo1R7rq/n1hfRNOmb+frX+XP2LBniQzqkd/9Jfi8z069cYfvudJphwaNHVUKQXqAh IEQxOqoQ9fJlSqFU6v9v79ti68rKNL/lc3yL78d2bFdiJ7bLqbKTVFUqLoqCAFVQV5CKpuGBokT3 oG4hEIzmpSVG89Az0mgk5q271dAIIYSmpQaJnm6akWBKlYEGWtQlNqlL4lwc2/ElsWPH9/t1zcPn v9ba+6y9zz72sXPcOb8UxT7eZ++111r/+u/fTwmQDgy2TX5JNDZmMhftJCOXg8veoHZDynPnqHK+ +67J248ytkxAWQU172hvN3X7i4sG2180lOlpvnNxsbdWZbfptH6Kej97Lh55hIwuqM4PP0ytZWvL i+VoU0cHhYRSBs9wczM5/yJtv90+IvocOOavrCQDuRpgSqx1cJCLMDBAaTk7ywWOxdw+FLuCTrzh t2/zs/b23ZVV+7vcDg/zOY8+ahJuWlrcaq4r/Ds6SqY/e9bAXgdtUD9lIqIkOHYXL3I+JQ29qop/ E+Tdq1d5WC0smIYo1dUcY3c3w19CmdZ4o9zPVdp9544BW11ZMVEK1+F49qwBCZmZoT/nzBnux0hl vS7aZ0SfA8f88TjwL//Cya6t5eaSSj6JtUohUHExQ0mjo1S/gqS31HuPj/PkX1zkIm5uUjWurd15 WbUtiS5epFq7tsbnicTo7WVYyjUuP7P601bTkd5RIxCpaGyMUj0WM5LPnp/nnuO93n7bhPxKSkzc XLItBc1nj/1aHhLBevUqzStJIhP/SkGBG5rbT4kE39MvpIFdaDGZUM3SoAPF/FNThNhubTVtsObn GUaS6q31dTNnpaWU3DMztL2DFiEvj9IokTAOuNlZen2Xl/m83eRcyAEgzDw3R8a7fZuH19aWiTnb Y3Q5r1xpq1HHFjWpKIx6e8k0Z854W5bfvWtSioUxnnsO+OlP+Z35eb7rrVtkKsHp2weoug8oVT/H lhbOkV0oFqa2B2kYO+bTfU72OVAOv95eSr0jR+hY6ewkc8tBILnrPT1M4b1xg/OWKpQn2X4lJYbR FxYMLr7tL9gNCTNLM01Ba2prczvfXM6rqGmrQHJtAWCQkG7coBSOxUz0I0oOu+DYubodu8YgcXyB 9C4p4c9yqO0UW3AnZAvWykrun/JyqvyFhUQclph8us7UjJBsEMmaeuMNnk6uRIMM0IFi/lQbr6aG auz0tOkg+957VOPCFlBrnv4FBSYM9bGP0fkn4JiZ2AQ2M0vOvdb0T7gYwRX+jbpBgzz7otWcPm1Q iy9dosYUxSst87y8bGLzgtPvmh+laPMvLPBa6dojWkMoyGWGKajN+MMPc55bW+9JuN1QWxtt1K4u LlhBgelVtgdAnlmv9tuY8RcvkjnX1yk5q6u9G6+3l57wwUFuOIDZe42N4QsoveFsx8zoaPQut1HJ lXNvl6G6NDyXahkEF+XvZnT4cLL5+Jvf0IehFP9JnDoqYIwUGrW0eHH6P/5xt5Naa/o5Vlb4vHic 5pRoW2Ea1U4c37stJQ5zFmbCER96j0SCizs9bVBHOjuDvY67pKxmfpFem5v0aM/MkKml1VZ9PSXz yy9z3iRds6GBMVYgdUddwJ1dmW6X26gkm0vs7p6e1DjyQfewKQgQVnLm5d1GRzk3ly/zs6IiztHd u9E0G/sAy8+n2VVTw/VxOanLyzmO6mpqUlev8u937zJ3QRp8+Gknju9U39lNFm0mHPEuUNbXX+c9 Psgn0NqUAApF2cQ7oKxW+8VGGxw0wA1Szru2xt//9E9N1aOdrimUSrK89RZj+vE4pdN+qHtBOPKj ozs3LfzJT7W1NBVtVFvpUSi+jIICmgDpVvj5063v3g1OvCov53pdu8bDrrKSzxPfhRQu+bXaqMlc 6XxnN1m0UcaTCr/BD8oai1E76+uzrk93E++Cslryi/NzYMA0oywoIKNKe2174dI52V0n+eLizpk+ HZWwt5caSk2NSZQpL48Wqw8iFyDs++/TB2Kj4UqPwpISmkTS/Vdrblp/yCoVtNXUFEEr8vL4DnYJ 782b1NrESTs+TiitujqClEi6swtGTd5HQpLz84zelJSkxvmzKayUeDfzK/cWnImhodS4BDYoq4Si tTa9Fnt7gSf3scgnq5nfdQiurQXXV6eTLbbTkKqLyYH0VELZBNJoA9i9ZucqcW1tdfstbJ9BXp6J 1ctee/11U2sQBm0l711YyPtI0pIkx8zN8ZAuLGSV3+Ymn1FaSmYpLw+GE5Nkrv5+MklFBedNfF/+ eXW1Rs9UlMY1vwDHNzxM6S1VfP39XlPL3k9yDynOAhxNVTKd8hhCWc38cgg2NFD1Fzgv6bvuclCJ bScM6oqfAzsLqQbZff4y0o0Nb8PJKPH73W7SVH6LIM1EmNc+BG2wz0uXgluKy/UNDXQkbm2Z9N2O DrOpBwYMDJkkZR06xAPjqafc7y5tt+1kKK3N2rrSs/2t0Vtbg7M6MzG/srdcqFGuQ83uWiS4B5JH 4pmDfSryyWqbX+bg9GlKi7w8Mn5REaulzp5N/k7U4pWdmFZBdt+VKyaEJCFa6QMYNX4fFq4LsiFd c2XbsydOcMw//Slx5aT4xt9/zl+os75u2oHPz3O+i4pMGbGE5ySpStKpZU4Fg7+pyUi6jQ3atqLu ipYwOup+d6n4kypGKb92FcrIujQ0cK+Ul3Nc4+PRzLgo8+ya36NHOR7Aixol8xQUSWhpYZRkc5Om lzRV+WAO0ln4XVBWS36AE/b883SARrGpu7tNR1jxortSc/0n+dgYrxE7NKq2sL5Ou0/KdufnTfhM Gk4C3udH0ex24l32l+7K94NU0q4ut6pstwJP1VLc7oQj8f/NTRM9EEk3OMjri4p4aEvy1fh4cFSl sdGLQgSYoqFU61JYmBoQxD9PqebZJZCDUKOCui+79nNpqbX+dojr7l0uzu9/z5BIhvH8sp75haJo Qrb6J5BQly7xdPV3PLIZMCqIpL+iTWy++npu5Lk5OnMeeojqZljDyaBwXao4fdRwr62luIBMe3po h9fVcdwlJaa7T14e/5c25efP87tnzlBS26p0WCccecdYjPtX8hricc7Xpz5lgFhdFNX3Za/LpUs8 iAoLaYbY6+gyfXaTTm+Pr7ycEr23l8wsrd+iHNRJC7e5aZwddXUc8M9/ztBWBm3/A8P8Ubzp3d2m 3XZVFeetuDg4gcVegLq64A1gJxpdu2a6ss7MmJ6Kx4+b6q6xMYbBXA0ng94japw+qlPQloa2Snr7 NtXoa9dMf8JYjIeNOFOffppjnpigdhCP8zrJtXjlFTP3ki4sQBz+Tjgi6QBet7HB9wjqmONan1S+ L2HCwUG+I5BclSfX+CX8woLB6xOKOs+JRDK46q4F9MwMN7DdWLCyknZChhN9DgTzR9GE5Jr6em7k hQUyz5Ej/Dksfh7WaMFu/HH8ODdYfz832fo6U2Tjcd7j1CnagefPk1GkF2BVFYtcwlRMvwSSxq1X rphmJfF49I0VBGS6sGCSfY4fp8SSw/KBB6hmi9R/5x1+3tJinG63bhFA9KGH+IzWVlNlGCadOzuD rws7EKOYenJIXL9uQo7+qrwgCT86unPnq+AtCLhqWHl15FBwZSU3uHSeBTjx4uXOIGW1w0/I1oTW 1zkv8Tg1IfGFdHWRQQRXLS/P9FJP5fTxO/9mZ02jBX/jj8JCMnx9PZ1L4o0W+3J5OTkUKcla/iSP 997jYdLdnex4a2zks//wB2+a99CQF/8vyBdkOxVFJd3YoLQXqCwRLIKwY5OAWgpUlVJcA2EkcRyK cy9V4kxQgg3gdtBK4ktU1KFEgpGVRx91t/kOQnayazdmZpjw9dvfcq6DniWH+N//vfEvhSUi2U5o yez77neTcf4/WLhYjIMRUMPlZTJ/hhN9DoTkT6UJiUonUn9ri/N2/DgZKFXHo7Bed8IAYi+XlXER 5+cZzvI7eXp7CVRhl4XK5+InuHyZ92xqMq3FPvSh5Dh9QQHXXNK8T5wwGoXg/7l8EyJlBEC0rIzP Eijr1VX+7do1btpYzDSqEA1JWnvZdOcOmRbwNqBwNdgMknT+60QT8mMM/Nu/MQyYji0e5iPwYyHK OzY28ntdXfxubS2fm58fPLcyZonoSG5DUM6C/9CXas6+PoPv58nvf/llSrY7d7gBGhp2h20WQAdC 8ldWcoOJPQd4NaHeXi5aaSlVsNJSTmoUqQ8kSyW7150/hNPYaMA/bIlaUsLvNzbyELKrMvv7eYgM D/PnRIJr2dfHDSjtx2y031//2uQJPPUUN9fsbDL+X1CK6eoqDz+ZD2E+0QiOHTPOTcCg8bS3G0l4 7hzfVar3pN7EtpFdVXnpYAWKRJb5WlsjY4yPc37sZiupKgDD0nfDwquyP2prObcjI8lYg0K2+VBe boqjxJHqMhnkHaUBr/wLegZaW+nc+9jHDJrpHuSbR5L8SqkXAfw1gBiAH2itv+37+6sAvgVAAZgH 8HWt9buZGqQkfIgUEa9yQ4NR6drazKna0sK/j49H73NoSyWp8gOSQzjxOBlHsPOlOYS9Lq7MtL4+ MvL16/xccvqHhthiemODkt3u1agUN4a0I5+fNy2khPz4hT/7Gf+3Q3eAkZi2E62tjQeD4AOUlpLB GxuNzb65afIBBM9+YYFzElSMlI4HXUwumzFkbaU2weU4lfeNol3Y6xtUDfnWWzQnU0WJ7PZeStE8 EICW0VHe/+hRXivjkXccG+P9JAHr6NEQ5+I+JPqkZH6lVAzAdwA8B2AEwAWl1M+11j3WZQMAPqG1 nlZKvQTg+wAyNvIwTaimhkw/NUXptbZmbKudHpZBIRyR7gJTFfRdV2ZaVZXxQI+McPOUlHCz5+eT 8e7epcYhzDI7S3X0+nVT2Tkz4z3QhCFkA09NUXKurhp11N+FWPaV7QH39wGU93v2WWOyCPxWVZUp Rjp+nNfYlE72pIxhYoLjFhP38cdpT/trE2yI9d3kQdgkmqNoX9Jq69YthiOF/O29pEx5fp7zIQeq P1zc1kYn8NCQCUNKJuLYWAhM+R6DeUaR/B8CcENr3Q8ASqmfAPgsgA+YX2v9e+v6NwEczdgIt0k0 IXsupJRU0jq1pqSStE5XBmAUkk3S1UXnDMBNFwXGOZEwvePt8NfQEJn78cc5RinqEGl66hSdTTbT VFTwmZcukXFaWw1QiZ8h5HCqreVGFHt9eJhqustXFEVC2wxz+LAXtTeoGCmd9GW5v+An1NYaT73g KrrCfJmEuxPN8cIFhkIlLVkOAaklEOaW9l6CTbixwf4F/jRpezwSNblxg9pbezu/F4TfuB9gnlGY /wgAqzAUIwiX6n8G4JeuPyilvgrgqwDQ5Mc4jkD+k9t2FolNNTERnjWWDm1uMj9gfZ2L9OabfH5n Z/i9m5qSM9NqagzjnjzJ+01MeO/nZ5rZWWMPugAi8/J4yF24wDr5U6eMmQJwM46PG3vertoT/IOo EjqdYqR0C9MSCa6XrYUIZFkY6KqMXRyF0oA0XQEpZl5ZGZ+/vs51OnOGGqYwsN3ea3jYHO6lpXyu +C78VYhtbfT5FBRw7SVyIt91jnUfwDwz6u1XSj0DMv8519+11t8HTQJ0dnbqdO7t0oD8nVrtuO5u Gd/loa2r46k/M0Nm2tpya2NBRTYvv0zpv7zMjeVP8LFzCoqLg6vpJPHIZpbCQl7f2UkmGx4m4xcW JlftvfUW/QvpVMGlkub+9Tlxgu8atTAt3WK2qFl9UUjWa3mZEnl1lT93dHgPQ6WoDUrqeEeHSYAC 3L6ekRHuSal8lGIeSUCS7ybRPoB5RmH+WwAard+Pbn/mIaXUIwB+AOAlrXVGYUeCNKB4fO+amwbV Xt++bWLAQeE22cjd3cZsaG/ngeFP0rHf7fhxMuk775Ax8/OZTOPq6+4XDCdOeP0Dzc1U02Mxo54C /H9uDvjxj/lON25Q5b51y9vbwM/MYmLNzXkbiLz8snt9rl9PjboT1VnnoihZfVHvFWZ6SC2BDcAi moLf5+Hy9RQX87snTphDanOTWlhZmTnIZW1lPh7Oq0TFXm3ubYoS6rsAoE0p1ayUKgDwRQA/ty9Q SjUB+CcAX9ZaX8/Y6LYpqJrODtlkGm3Vrr22N5dshlSJHQCvOXMG+OhHeY8wdBd5t0OHDGBJZyd/ vnSJ6qQd6pKKOgknisawupq6ceXNm6xnKC83IJ59fZRaQYk34lvp7TXw4YLC09XlXp8g1J1MtA0T hl1dNUlQdqw9VTKcC9n4j/6IanlzczJwa28vTYDOTs7X2prX5xFUhVhQwHWS3gBra8yvWFpiCLew kM7A11/3zseF6TbMje7R5t6mlJJfa72hlPomgNfAUN8PtdaXlVJf2/779wD8JYBqAN9VTGfb0FpH DLKlpiANSFpcRVUVbWkThk4DJNdeLy3RaSdMd9RyaYYldqQy2fzvJr38xsfDHXdKUbOoqjLhKUkw klx6wK2uX7tGRpZ7d3RQggkyku1LsccunYL8VXYXL/KAsylMQ3XNzdwcw5Tl5fxZEpPC7HfJ6vP7 V8KgzCVyIYel3zMftJ+i+DykClGcoj09VPsPH+bfKypo4588yfe0TSaAORkfzHd9AtdXnkRnYcTN vQOKZPNrrX8B4Be+z75n/fznAP48Y6PyUZi9mUpVdC14mD3tV93jcSbczM1RFZRGmeXlPOGD7OSo Jpv/3SSW39xsYsziuDt82DjNbHxHm/yfu/wPkkgTREFjHx2laeD/HEjP/PLff3aWmoeovHl5pjT6 5k0ecPYhDXgP8aEhg0Fg11LYZJsmdsq2jD8MfAWIFsGQVmWDg/y8oIDvMDFhukZNTHCMjZYhLdgJ /nmdXN7bWP+BSO/dCazZ1JQ3ZXNjwyx4LBaMTmPPdSJhNpGkYopjTKCoWlrcY/E7h4ISYvzv5o/l i+NODiPZlFtbPLhGRozX+ezZ5Bx9lyPt+ef5PsvLxj61kZGCNrqgJvs/7+jgHERdH//9h4fJxALz JYk+g4O8j93O/Px5HgQNDTxABIehtpbMJnPvp6AS5ytX+NyiovAuQlH2YCKRjLz98Y/z2vFxMn0i YUrOhWz8BHte9wCz00MHgvn9G1jw3y9ccKvsrq67775LqRWPU+199FFeK+mjIpVdjqitLS+a8uws Gf/WLTryXEAcqZxDQe/W0mJCgocOGcedC1tgdZWHioSWenv5/aD5E2pr4yFhN5m0kZEkKWVqykjT RMKAf8p82aCngMFGkByAIAg1PyOJNCwpMf6VoiKu04kTZCTxJfhV5MlJVm6WlxtG9AOC+kFGlTJx +mvX6FQFgsFXXOsUpIXPzfG+CwvmM8F7eOEFszftZp6JhDHr9xiz00MHgvkBM/n+EJfL226H6Soq uNiVlWSS9nZe40KnUSpaVKGigkzW3h6cMSbjE2ZpaAhG5/UzpxxAqWrYz5+nWiwqZhjApf95riaT 9ne0LxArWYphDCANPerqgtfGfl+5j0jDyUmuS3GxtyuTnc4sKrLE00WzW1oyzOJPefaDjM7N8W+l pcbvs7ISDr5ijzuIpqY4JjsD0NWFWSr7AO4hEQhRfVeZogPD/EJRHGm2c6anh2odQAnT0EAJLCCV Z88aR2o87r63ePmBaCfz8DC1gkOHqGGsrPA7dpFKGEUJeYmKOTW1s+YuYc8Qz7ZIV8ArTcO+FzUv RYptenvJjL29Bp9vZYXalgCm2OnM+fkci4TNDh/mWs7Pu30wMiY71FZdbXAFq6v5LFcZcLrkygC0 uzDbguujHzX7SOZjHzA7PXTgmD8KnrvAPs/NcYJLS6kix2L8ngBRSO84wVC7cMFd851uVGF0lCaH HCZ1dZQ6InEyRX5zBMhMc5ed5pe4HHlDQ5y3y5e9HnzAMEJzs0FcknUpK+PP/nTmRILjKCggc8la Hz/Ogz4eNyXGUpAkgkCSn+bmeN2Xv2zG4UqZDqKgHIWgDEA5BFMVXe03HTjml8UOw3OX4prSUkJG SyVWezvtfr8n2L63y6GVl0eb/coVftbRETy+qSky//q6Qant6eGmEKTX3ZAf52993Wy2ILSfdOtD oubm+++bl2e+JyW6S0u8TsKlbW3Gg2/X8U9OUkPT2pvS6zeBnn2Wz1lY4PeqqoAXX6Tj8+23KWHt evxYzIxJskAlmUd8RulkI4al3Mu8yXNmZ2n23b7N8c3P85AKK7raT8p65ndlmqXCc5fimjt36NUG GFuVYoogcnl0BVp6aIiLJtlrQ0PA5z6XvEl6eyndVla4+IuLphowSjmDHZr0x7sB78ZbXyfoRXEx VWSX3b+T+pAonm3XfaenjSdeuhAPD3u9+Hfv8ve+PkYd5JAQFX583Ds+lzrsQvUdGyPjP/GE91oB LpF3GRsjOtLjj0fPRrQpzLSx52193YSTy8tNZx6pPh0d5Rw9+GDGQXkjU1aDebgywa5f5yGQCs+9 ooIbLT+fm/DWLaLVBsXHATcYhIRupqYM89+5A/zyl8CvfpV8D6kQy8sjJt7p01RrRepFed+JCY53 cZFSY2KCn3d3ezPpBOdBYveFhTQD6utNdl1QdmRQ9l3QPPiZw3Xf+nrOV2Ehxy+OutpaflZYSMav rOQ7+ev4V1d5barx1dRwLn79a9YmjI66G40eOmT6EMq7jI+T8Rsaos+HvT5vvsnIkWRdynNstGJp e15ebvwVlZU8tK5fpwYpyFAXLhjYsv2mrJb8Qaes1jwt/Zlmtlo6P8+Ttbqa6v/CApn29OnwZ/ol zWuvkQHjcW7YggLec3KSWHqf/KQ7BCf25exsdGwBed+BAW+8e3KSB4grk66ggFrOU0+Zz2y7f6f2 eyoHVKqsS8Cot0J2q7XaWq6Zv46/tTV8fAKa2dZmagymp6nV+ePlrkSw117b2Xy4ogZ2azLZe/Is 29cgaFDyu1IMMWrNeZiaAn7yE+DrX997D79NWS35g0AX7aYIQWnPIyOm08/iIv8/fZqfp0OVlVzo qSkyWkGBcRIWFiZLDIGLktLdRx5hDD0KopC8r11PIPBhdiadTfn5ZiO+8Qb/Hxszm9EPTir32G0C Sar7yjw0NBjgipUVzst77/GaWIzzOT7uzc0PG58ckNKd55lnGLFx7YnRUR6+Ntipa9xjY9RUwkBR 7aiBhCGLingQyd6z6wVu3eJ9AUr85WWur6xrPE7fkaRZ9/fTr7SflNWSP8jxJDZwKu97SYk3vrq0 lAzLlIok/7u/3yDkLC1RpXvoIWoXgNeZ5o8MHDkSzeEm7yuSQuLdki24uEh1185Jz883Gok4mQYH gVdfNeNPNztSKMxRmOq+dnq0OPMKCqhFCSRdfr5JwhIveVCnG6GodR4LC/y5qIhmwvq6qa6zE5Vc PgC/T8SfJNTUxHkW/AC7GMr2x8h96+sNGlR1Nas2H3zQW6dx+DDNAanL2GMQHwBZLvmj9rRzUUeH F3xSTt6OjvR74H3xizy95+YoZevrqYZXV1OT8FenAdwQTzxhymcvXiQjhFWwyfvaDrSJCf6bmzOQ UJJJJ4Ch586Zgpjycm64u3fN+MUOvXmTJbzCGGHvnaryLopfQJKJ/uIvgD/+YzLh6dNMea2sNBJc /ARh0N9CQRqH4B1Kvv+VKzwM6+rIiP39pu9DOj4AW92Xar6hIc77o4+yFkBQfvz+mMcfN0hEtbVE ovra1wwMmhT/DAx4BVwmqh6jkNL+VK59os7OTt0VQc+xT0CxlwQkwZaAkmZqn9avv04Gsgs+OjtN f3p/imrYydrX5wXXrKkxHl4/THdhobfePAjEwWVT+739Y2Mc14kTJi4sz3jySWPDumJ66vzeAAAT u0lEQVT9L7zgva8Lry/ovWXz+f0qQeOOQlHHGkau9xgbM1GGQ4eoJV24wLUWp+PyMvdAQ4P3WTKm uTlv3khpKfCFL5h5sEFDBH7t2DEzf+m8249+BPzjP5o8heJizu1nPgN8/vPct1JLYteFRJ17pVR3 lKrarFb7AXdab5Re6EEprH6EHomNx+PB8X/AYAh2d/O0np3lhvJj24vzyJViDHCDnTwZ7GCS9/U7 qOxNZTuoosbku7qCG5jKvAShJLmeuxPyFztVVJBxV1ejq7auHHvRHGQONjaoRg8Nca4BMtqdOya9 W8ifNxKLMYKwsGBySJqbk5OERN2X8aaDW3jkCA8mOVTicc51eXl6/SZ3S1nP/EJBVVlBvdABt8d6 aIiboLubCyjFHIODBqAzzN4SgA6RMAKd5eoQU13ttd+LinhoRHG4yRiuXjXttl3pp+nE5EtL+fwb N+h0O3eO7zM1lZwHsLhIdTRVVWJU8hc7TU2xx11TE+Hpg6rpXOSKyNiO4bIyMs/166ZycWbG3ffC Rlve2KC5oBSTw6TyUfIoJHlncZFrKoIAYMRlc9P4LsJ8K1tbfGdJ/Ckr4/cF0FNg26UnAMDPXf0m d0MHhvmDGk9KrDUqQ42McPMvLZmkGIAL0t3NA8B23IyNcXMcPcqFsjvn+qGz/Gi6S0teQE2tTS/2 MIebbWIUFZlU5bNnTW6737EW5vzs7eWGFPSeRILvcv48nZaPPZYMrHHtGp+VqioxbK79NriE+tbX 6Q2XpC173XaS6uqXuo2NPOAffJDvcOeOgRzzHyySECb1AqWlPJAk81C0ovJyr5kxP2/mW9asupq/ Ly+HZwra4WDAZAJKr4imJtMEpKiI+2ZiIuMNew4O89sLHLUXup9Exf3d78iECwvc6BMTlII9PUYT kMXv7zcMOzxMlVBSdRsbvdDa9oLbmPhBaL0umpoi48fjZIyVFdNJ99IlOpj8m8ql4djMd/VqMmBE QQGvkcaddq3EnTtkmqeeSg3T7Rq/jaNQX8+Nfe2aObyWl/m3hgZvvUNUsyIIX1DuIWr04iIPmYYG liMHZdIJ2rKo+uKfKSvj+GUNbDNjaor/i2RWysB1pTq8gjIBz57le/X2UrDMzqaXJ5IuHRjm300v dNks58/T3pIQTyzGe62vUw0W1VEOEck+s1tbb21xY6ytcTyCt+c3D2yJLHHshx/2gji4qLfX27Gn uJg/i7MqilT0p94WFvL9pBWXINmcOUPm+81vqA1VVpIR7NZoMhepCoZspp+YoLSfnOS9T52ixjQy YoA/rl2jqVVTE46IFPSM2lqDWSjNQiU/Py+PjNvWZqR1UPdcIBmyTZi/tdVob34zY33da9+LaRGl ka69Ny5e5B4Us060ybExrzYZtfNUOnRgmN+v3rraZLnIZoQjRyjFxI47fJin+p073DBNTV4I7Pl5 43RZXOTfR0a4wHV13MDSCPTiRW7mZ5/1jml2lipvbS0/T2XbzswYiS9SJchZFUQuZN9Ll3iAnTlj 2p1JdaSEmkQ9V4rvF9YqyzXHg4M8jLu6OGbpY3jxIr/b02Mq7woLeaAdOkRtShqtBGlvLoCWy5d5 fUmJt1mohOailBYDZm/FYuZgOXnSaHxHjvBzu4ApP9+7RisrxkyKQq5MQCC5Ucte1vZndZzfTzJh UrwhedFh8U+bEZqaKMHKy02vvNu3Td51bS0ZBaCkKC01uQIiRY8e5felYq26mpsjFmMcXaKXsln7 +7lZYzHTVmxwkO2dXWMXNVbSXbU2Ne5zc9FyE/yZkRUVbDslrajy88mYY2OMVTc28l3X1/n/sWMG ey5KfoUd2ZidNX6Dd9/l4TgwQJv42DE+Y2SE73buHLWZ9XVqR2Gqrf0Mu9nl8HAyWm9QZmiqJp/P Pw984xs8IDc2DA7DP/yDN09jeppzOD3Nv0tOhph7UUj2x9Wr3DM21kN+Ps27F17YG3Vf6EAxP5B+ AoS9EQQ+WRoktrQwjHPqlMkZkJN3ddV0+21pIQOL8+rpp7nxmppYvCPqeWWlKft1bdatLfobpLWz a+zSnr2lxTirZmfJJIWF0d7ZlQhTXc24td349ehR4784coSpyO3tHHdrq6mdD0q8kbU4f56HHMCU 2o0N8291lfO2tETmLy/n/01NBkTj6af5/LBNLusozl7ApD77tZLdpDTbAmZzkwegfXhvbBh/z5kz 5pB+7LFkrS+I7D186hQPyq4uvuMeIHQH0oFR+4XSQYsBkj3B4pBJJMjk/f2mz58gqsrJK/kFvb1c 4OlpLkp5ufHM2mg3NrlCfdPT3FBKBePF2eZNfj4Pl2vX+N2BAS8IRHc37+MPSQaF/1wMHBSRCGuV BbjNqYUFU0l5+LApaRaP/tYWD9SyMt5/ft6MIRVjyjpGiZ7sJqVZKFWexvIyNYWw3JBU95b1l8Sz IIfuXlHWM78/462vj4vb1GSYIMxLXFOTnJlnt86SttTC1FIQ4u9tZx8Ek5OmkGNlherzzAw3yjPP 8LmuzTozYyr1Wlu9QKCAYV5/YtPqKt/x6lXmmJ88SYa7fJmpsq6c9CjIQ+lGJPxAIhL2bGoyYTJp JS7trtbWaFpVVVGzWFgwsXGApps8Mwx70B5rYyPnQZxiJ06EYwTuxG7ebZ6Gf778iD/+hqydnRzr fiL6ZDXzy+bf3ORmE6QYiXunqgKbmjLJPAKtVVcHvPIKma+1NZmpJRXX39vOZiqAauE//zNtwVjM 9MuTfvYuxlpZIaOcOkUGee01qvWFhXzezZve9t8iIYqLyfgSo799m783NwdrQFFxAIVJ/P0D7TmU w9dudPH++6baUMypoSH6Uj78YYNge/euiRRMTPCeotpOTvJA+MhHDPJOkI0rY+3q4kHT3EzJm5/v 9uTvFhMvHU3DRVEQf6JkA+4lZTXzu+rbjx3jJmtuNrj5Y2PuLrRdXQYySqCurl4FvvMdxrDtjjDp eooTCW6M9fXkLDgb6NJmrOee40ZdWiIYyO3bfKf6eh5MCwsmLRkwEkJro3ZK05Dl5eQmjztJvw1i krC+B4cO8TPJh5fMt5YWmimbmwatp6mJz9jYYDUbQIYvLDTIua5ehEFjrahgzN5uFS7p2RInz0Ql nOvwlohClFbtURF/JOzc22vMzr2o4HNRVjO/bH4JuQHG4VVWRm3ggQdMF1S/pO7q4neHh7mZKyrI rDdvGo/21JSRNv7STbGvg5hK63AATRdjVVURyFEKfgATd+/ro4ZSXs4NYDuuHn6YHnHpFvTgg154 a2D30kOk/NAQPfJbW96+B62tfDc5fOfnuRY28KW8789+xrmWsFlFBVV8gFrTG2+kTtF2qc0zM5wr aaBaUcGD8Fe/4tzU12emnX0UrSiMwmoj7HsPDCQXqe1m3OlQVjN/UH27lNRK3NvfhRaguj84yO+u rpLRBgYMmqosRHOz9zQWpJbpaW74ujpusNpab6zXZs501LdEgsxbXOytVRDYq9pa482X2vN43MCC VVVR5Vxa4rgXF8lktmRKhdvvIlfhVE8PpXRZGefl7bf53kqZBpRlZW67WqIH9sFoZxmmStEOUptj Mb6rRFAAPmNri9+RLL4omkTQPETRHlJdJ3vDr6FIUxVbMNTVRXdgZ5KyOtTnqm+X2LqEQ4Jiuj09 ZJ71dWObrq3xHg884EXImZnxIrVMTvKgyMvj38bGjGPKDrXV1OwMb2BuzsS319f5HaX4f0uLORSE mVta6BvY3DTJJ+K0XFlh7QFgur7upPbbVThVVWXASgoL+d42FFdxMWsDXPFoV7gtP99AbdnoNoK2 ZM9dEPagUib/QHAalpc5Vn8Kc5RuvTZFDSNHua6tjfumq8t0EZ6bM3iQQjvJScgUZTXzy+lYW0tJ UlJCqTk+bppIKOWO6QKMvdbXc5NISG9hwWT2lZV5q/DEeSVFHJKvLc+XVmF+5owKRCFUVmZaTG1t mQYidXVGm7FBIf3JJ/Ic6SH/iU9QlRaAjKiAlDbZm1CkcmMjN/Dlyww3FhVx3ouLuZnPnk3u7CPk AmIRp9zioknRnp2l70OSaIBwoEwppd3a8gK4VlYGY/hFpahgp/Z1c3MUFJcvG1x+gO9ZVcX3nJ6m aq81f5ZcfmDvYNaiUCS1Xyn1IoC/Blt0/0Br/W3f39X23z8NYAnAf9Ba/yETA7Tr26emTA858d5P TnJSjx3jhpOqNwF0bG+n2rW8zIWQssmmJqql/iq8khLer6ODDFBQYHwOriKUnXiVm5qMvTowQMlQ VcWxBqXTBj0n3br7IHXVNmEqK5mTPz1NBisuJjPU1DAx6IknTGlraan7Oa5wmzgy5bOCAq8G1NdH TUPqNYKAMtvaqAXZgB5VVUZ72mlsP+pc2o1jwmDHt7Y41suX+XtREffhW28Zp2EmchJ2Siklv1Iq BuA7AF4C0AHgFaWUv23FSwDatv99FcDfZXicAIz3PhbjRhgaMqCMAJ1Iq6smTr24SMn12GOMvx87 xp8rKgxyqiyULanstN7GRgMTbveM283pLFl8p08TIuxLX6LUP348fbiydCRHmLoq7z86yjkWRF1B mvn856niS3fiKGOUA8A2C+zPlCJjxWJ8TixG3LuRkXCgTBeE2HPPMcMuXS1sJ3Mp16WCHa+s9Pon pEZfUKDsOdrNuHdKUST/hwDc0Fr3A4BS6icAPgvAStXAZwH8L01MsDeVUpVKqQat9WgmB3vlitmM fX1kxtJS2oDPPmtgpmTinnySmyYvzySZCOP7EypsSVVS4k38qa6mltHcHL2lUxi5ipRefTV61xib 0pEcqbIjn3zSeOkF0+6BB8iEm5smlh/UnThd6ukx6wnw/3icZsDTT4cj5wRpQrtxkkWdS7kuFex4 Wxvh3evqTDPQ5WX6bWybfrc5CTulKMx/BMCw9fsIAP9QXdccAZBR5rdJJLSk2QLJKloiwYQTPxZd kGT0mxiZYM4gci34Tjq3pJPNlkqtTSSSvfS2Rz5Vd+JMkCD4Al7kHPtQ3yuKOpdynbT9qq01/he7 f4Rc199vNMfWVh5wQebSftK+hvqUUl8FzQI0Reld5aOODjqGlDL49mtrRvV0MfVObapMMed+UFTJ ESU0mQnQlKjU3s7EH8moFNAMCTfutw0MRJ/LRIK1DzaYqGt+OjuT/RP7+T5hFMXbfwtAo/X70e3P 0r0GWuvva607tdadtTagfkQ6e5Z2u8BbSYhHQCpcNui9tKmyjaJAodvXiEfeblKSybnr7KSfY3OT WsnmJg/4V145GOsVZW9l8/5LCd2tlIoDuA7gUyBDXwDwJa31ZeuazwD4JujtfxLA32itPxR236jQ 3X7yY8NJvHevGhv8e6MoSSz70TDiXjzrfqGo0N2RcPuVUp8G8FdgqO+HWuv/oZT6GgBorb+3Her7 WwAvgqG+r2itQzl7p8yfoxzlKJwyituvtf4FgF/4Pvue9bMG8I10B5mjHOXo3lFWZ/jlKEc52jvK MX+OcnSfUo75c5Sj+5RyzJ+jHN2nlGP+HOXoPqUc8+coR/cp5Zg/Rzm6TylSks+ePFipCQCDES+v AXB3D4ezU8rWcQHZO7ZsHRfw72dsx7TWKfPn7xnzp0NKqa4oGUv7Tdk6LiB7x5at4wLuv7Hl1P4c 5eg+pRzz5yhH9ykdFOb//r0eQABl67iA7B1bto4LuM/GdiBs/hzlKEeZp4Mi+XOUoxxlmLKG+ZVS Lyqlrimlbiil/rPj70op9Tfbf39PKfV4Fo3t1e0xva+U+r1S6tFsGZt13RNKqQ2l1BeyZVxKqaeV Uu8opS4rpX6zH+OKMjalVIVS6v8opd7dHttX9mlcP1RKjSulLgX8PbM8oLW+5/9AkJA+AC0ACgC8 C6DDd82nAfwSgALwYQBvZdHYPgKgavvnl7JpbNZ1vwIxGb6QDeMCUAkiQDdt/344W+YMwH8B8D+3 f64FMAWgYB/G9nEAjwO4FPD3jPJAtkj+D+DBtdZrAAQe3KYP4MG11m8CqFRKNWTD2LTWv9dab/fd wZsghuF+UJR5A4D/COB/AxjPonF9CcA/aa2HAEBrnU1j0wDKthGqSkHm39jrgWmtf7v9rCDKKA9k C/MHQX+ne81eULrP/TPwdN4PSjk2pdQRAJ/DHjVS2em4AJwAUKWU+lelVLdS6k+yaGx/C6AdwG0A 7wP4T1rrrf0ZXihllAeyukvvQSOl1DMg85+712Ox6K8AfEtrvaXslrn3nuIAzoLAsMUA3lBKvam1 vn5vhwUAeAHAOwA+CaAVwOtKqd9prefCv3awKFuYP2Pw4HtAkZ6rlHoEwA8AvKS1DuiUd0/G1gng J9uMXwPg00qpDa31z+7xuEYATGqtFwEsKqV+C+BRECl6LynK2L4C4NuahvYNpdQAgIcBvL3HY0tF meWB/XCyRHB0xAH0A2iGccKc9F3zGXidHW9n0diaANwA8JFsmzff9T/C/jj8osxZO4D/t33tIQCX AJzKkrH9HYD/tv1z3TaD1ezTmh5HsMMvozyQFZJfa72hlPomgNdg4MEv2/DgoKf60yCTLYGnc7aM 7S8BVAP47raE3dD7UCAScWz7TlHGpbW+opT6vwDeA7AFdn92hrj2e2wA/juAHyml3gcZ7Vta6z2v 9lNK/RjA0wBqlFIjAP4rgHxrXBnlgVyGX45ydJ9Stnj7c5SjHO0z5Zg/Rzm6TynH/DnK0X1KOebP UY7uU8oxf45ydJ9SjvlzlKP7lHLMn6Mc3aeUY/4c5eg+pf8P6RI5Apphp+QAAAAASUVORK5CYII= gKdReDKTNcEaEcFZEAFwF0AHjSNntueZlJDvt/i6HxrYPdATFcm3ePNe/ic1x2oWZs08C+P7qz/WgqlqXI2P7FYA/W/151ypTqU1a0x3wd9p9GslOu99lfP/NeImQL/opEP/+CoCvr373TVBiAjxlfwrgMoDfAejMobG9DuA2gPdW/x3OlbF5rt0Uhg85ZwrAfwN7FJ4G8FKuzBnomf/t6mHwHoDnNmlcPwIwDGAJlOZfAvAVAF+x5uyV1XGfXsta5lNr85SnB4hyxYbPU57ytAmUZ/g85ekBojzD5ylPDxDlGT5PeXqAKM/wecrTA0R5hs9Tnh4gyjN8nvL0ANH/B42zVs3aX877AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "np.random.seed(seed=42)\n", "N = 1000\n", "x = np.random.uniform(size=N, low=0, high=1)\n", "y = np.random.uniform(size=N, low=0, high=1)\n", "\n", "accept = (x*x+y*y) <= 1\n", "reject = np.logical_not(accept)\n", "\n", "fig, ax = plt.subplots(1)\n", "ax.scatter(x[accept], y[accept], c='b', alpha=0.2, edgecolor=None)\n", "ax.scatter(x[reject], y[reject], c='r', alpha=0.2, edgecolor=None)\n", "ax.set_aspect('equal')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is then straightforward to obtain a (not really good) approximation to $\\pi$ by counting how many times, on average, $X^2 + Y^2$ is smaller than 1:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3.1120000000000001" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "4*np.mean(accept)" ] } ], "metadata": { "celltoolbar": "Hide code", "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.6.2" } }, "nbformat": 4, "nbformat_minor": 4 }