{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" }, "colab": { "name": "Running_stimulations_with_python.ipynb", "provenance": [], "collapsed_sections": [], "include_colab_link": true } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "code", "metadata": { "id": "xSKnSFtCkmAk" }, "source": [ "import numpy as np\n", "\n", "import matplotlib.pyplot as plt" ], "execution_count": 1, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "VllOsQSMkmAl" }, "source": [ "# lets first of all create some Classes to make our lives a bit easier\n", "class Coin:\n", " def __init__(self):\n", " pass \n", " \n", " def toss(self):\n", " return np.random.choice(['H','T'])\n", "\n", "class Dice:\n", " def __init__(self):\n", " pass\n", "\n", " def roll(self):\n", " return np.random.choice([1,2,3,4,5,6]) " ], "execution_count": 35, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "pAhFA0mikmAm" }, "source": [ "# Problem 1: Two fair coins are tossed together, what is the probablity that they are show up on the same side?" ] }, { "cell_type": "markdown", "metadata": { "id": "RBkNhceIkmAm" }, "source": [ "We all have done this problem before. (I assume)
\n", "Its most likely that we have solved it using the following steps :-\n", " - Calculate sub space \n", " - Count number of total outcomes \n", " - Count number of favourable outcomes\n", " - calculate (number of fav outcomes / total number of outcomes)" ] }, { "cell_type": "markdown", "metadata": { "id": "FZ2sXTmhkmAm" }, "source": [ "### Lets try this out - " ] }, { "cell_type": "markdown", "metadata": { "id": "WYopm78wkmAn" }, "source": [ "sub_space = { (Head, Head), (Head, Tail), (Tail,Head), (Tail,Tail) }
\n", "total number of outcomes = 4
\n", "favourable number of outcomes = 2 ,ie, {(Head, Head), (Tail,Tail) }
\n", "prob = 2 / 4 = 0.5
\n", "\n", "### According to this Probability would be 0.5. \n" ] }, { "cell_type": "markdown", "metadata": { "id": "-nTtNkyikmAn" }, "source": [ "## Now using stimulations - " ] }, { "cell_type": "code", "metadata": { "id": "zCL4B7lKkmAn" }, "source": [ "def problem_1(n_itr):\n", " # select two coins\n", " coin1 = Coin()\n", " coin2 = Coin()\n", " \n", " num_fav = 0\n", " \n", " for itr in range(n_itr):\n", " result1 = coin1.toss() # toss the first coin\n", " result2= coin2.toss() # toss the second coin\n", " \n", " if result1 == result2: \n", " num_fav += 1 # the number of instance when both \n", " # coins showed the same output\n", " \n", " return (num_fav / n_itr) " ], "execution_count": 3, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "t_qSaqt2kmAn", "outputId": "7c4d350d-1dcd-432e-a9e1-8df2bb4fc813" }, "source": [ "iterations = 10**np.arange(1,7)\n", "iterations" ], "execution_count": 4, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([ 10, 100, 1000, 10000, 100000, 1000000])" ] }, "metadata": { "tags": [] }, "execution_count": 4 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "3Kl8jVWkkmAq", "outputId": "68258f96-b0cb-4377-f93f-6ae50d460b0b" }, "source": [ "from tqdm import tqdm\n", "score_dict = {}\n", "for curr_itr in tqdm(iterations):\n", " score_dict[curr_itr] = problem_1(curr_itr)\n", " " ], "execution_count": 10, "outputs": [ { "output_type": "stream", "text": [ "100%|██████████| 6/6 [00:13<00:00, 2.21s/it]" ], "name": "stderr" }, { "output_type": "stream", "text": [ "The probability would be 0.49909\n" ], "name": "stdout" }, { "output_type": "stream", "text": [ "\n" ], "name": "stderr" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "d0kapxlZltG2", "outputId": "67b50d12-4c27-435f-e774-20a46ea863fb" }, "source": [ "print('The probability would be ',list(score_dict.values())[-1]) \n", "# we get a very similar number as from direct caculation" ], "execution_count": 12, "outputs": [ { "output_type": "stream", "text": [ "The probability would be 0.49909\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 518 }, "id": "LZOyJCEgkmAq", "outputId": "eba15f8d-475d-4615-9644-4b4a9a120228" }, "source": [ "# lets see how this number varies as number of times the stimlation was ran \n", "plt.figure(figsize = (12,8))\n", "plt.plot(list(score_dict.keys()),list(score_dict.values()),label = 'Prob calculated')\n", "plt.axhline(y = 0.5,linestyle = '--',c = 'red',label = '0.5')\n", "plt.xscale('log')\n", "plt.legend()\n", "plt.xlabel('Number of Iterations')\n", "plt.ylabel('Probability')" ], "execution_count": 17, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(0, 0.5, 'Probability')" ] }, "metadata": { "tags": [] }, "execution_count": 17 }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt0AAAHkCAYAAADiqpMKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzde3jU5Z338fc35wQSIKcBATlDMspJ8VwUkUG0Ft1qq25rta21W2sPj92u2sd2d2u3tdt2a93ag9WWdteKXfto6VbURMXzCSxVScIZJQhJSCAHcs7czx8zCQMECJDJbw6f13XNlZn7d8h3MJd8cnPP/TXnHCIiIiIiEj0pXhcgIiIiIpLoFLpFRERERKJMoVtEREREJMoUukVEREREokyhW0REREQkyhS6RURERESiLM3rAoZCYWGhmzhxotdliIiIiEgCW7NmzW7nXFF/x5IidE+cOJHVq1d7XYaIiIiIJDAze+9wx7S8REREREQkyhS6RURERESiTKFbRERERCTKkmJNt4iIiEis6erqorq6mvb2dq9LkWOUlZXFuHHjSE9PH/A1Ct0iIiIiHqiuriY3N5eJEydiZl6XIwPknKO+vp7q6momTZo04Ou0vERERETEA+3t7RQUFChwxxkzo6Cg4Jj/hUKhW0RERMQjCtzx6Xj+uyl0i4iIiCSp1NRU5syZw6mnnsrHPvYxWltbB3ztsmXLuOWWWwa1nlWrVnHZZZcd17X/8i//wg9/+MMjnvP4449TUVFxzPcePnz4cdUUSaFbREREJEllZ2ezdu1a3n33XTIyMvjFL35xwPHu7m6PKouO4w3dg0GhW0RERESYP38+mzZtYtWqVcyfP5+lS5fi9/tpb2/n05/+NDNnzmTu3Lk899xzfdds376dBQsWMG3aNP71X/+13/s++eSTnHbaacyePZuLLroIgDfeeINzzjmHuXPncu6557J+/fpDrmtpaen7vrNmzeKPf/wjcOCs86OPPsoNN9xwyLW/+tWvOOOMM5g9ezZXXnklra2tvPLKK6xYsYKvf/3rzJkzh82bN7N582aWLFnC6aefzvz586mqqgJg69atnHPOOcycOZM777zzuP9MI2n3EhEREZEk193dzcqVK1myZAkAb731Fu+++y6TJk3iRz/6EWbGO++8Q1VVFYsXL2bDhg1AKDy/++675OTkcMYZZ/DhD3+YefPm9d23rq6Oz33uc7zwwgtMmjSJhoYGAEpKSnjxxRdJS0ujvLycb3zjG32hutddd93FiBEjeOeddwDYs2fPgN/PRz/6UT73uc8BcOedd/Lggw/ypS99iaVLl3LZZZdx1VVXAXDRRRfxi1/8gmnTpvH6669z88038+yzz/KVr3yFL3zhC3zqU5/ivvvuO84/1QMpdIuIiIh47F//vI6KD5oG9Z7+k/L454+ccsRz2tramDNnDhCa6f7sZz/LK6+8wplnntm3Hd5LL73El770JSAUlidMmNAXugOBAAUFBUAo6L700ksHhO7XXnuN888/v+9e+fn5ADQ2NnL99dezceNGzIyurq5DaisvL2f58uV9r0eNGjXg9/7uu+9y5513snfvXlpaWrj44osPOaelpYVXXnmFj33sY31jHR0dALz88st9vwRcd9113HbbbQP+3oej0C0iIiKSpHrXdB9s2LBhA7r+4F08Brqrxze/+U0uvPBCHnvsMbZt28aCBQsGdN3B3+Nw2/bdcMMNPP7448yePZtly5axatWqQ84JBoOMHDmy3/d/8PcZDArdIiIiIh472oy0l+bPn89DDz3EwoUL2bBhA++//z4zZszgrbfeoqysjIaGBrKzs3n88cf59a9/fcC1Z599NjfffDNbt27tW16Sn59PY2MjY8eOBUK7oPQnEAhw3333cc899wCh5SWjRo3C5/NRWVnJjBkzeOyxx8jNzT3k2ubmZsaMGUNXVxcPPfRQ3/fKzc2lubkZgLy8PCZNmsT//M//8LGPfQznHG+//TazZ8/mvPPOY/ny5Xzyk5/koYceGpQ/x6h+kNLMlpjZejPbZGa3H+acj5tZhZmtM7PfR4xfb2Ybw4/rI8ZPN7N3wve817TBpYiIiEjU3HzzzQSDQWbOnMnVV1/NsmXLyMzMBODMM8/kyiuvZNasWVx55ZUHLC0BKCoq4v777+ejH/0os2fP5uqrrwbgn/7pn7jjjjuYO3fuYXdIufPOO9mzZw+nnnoqs2fP7vsA5913381ll13Gueeey5gxY/q99q677uKss87ivPPOo6SkpG/8mmuu4Qc/+AFz585l8+bNPPTQQzz44IPMnj2bU045hT/96U8A/OQnP+G+++5j5syZ7Nix48T+AMPMOTcoNzrkxmapwAYgAFQDbwLXOucqIs6ZBvwBWOic22Nmxc65WjPLB1YD8wAHrAFOD5/zBvBl4HXgCeBe59zKI9Uyb948t3r16sF/kyIiIiLHqbKyktLSUq/LkOPU338/M1vjnJvX3/nRnOk+E9jknNvinOsElgOXH3TO54D7nHN7AJxzteHxi4Ey51xD+FgZsMTMxgB5zrnXXOi3hd8BV0TxPZyQYDA6v9CIiIiISHyJZugeC2yPeF0dHos0HZhuZi+b2WtmtuQo144NPz/SPWPCb17eyoIfrqJHwVtEREQk6XndHCcNmAYsAK4FfmVmIwfjxmZ2k5mtNrPVdXV1g3HLY1KUm8n7Da289f7A95QUERERkcQUzdC9Axgf8XpceCxSNbDCOdflnNtKaA34tCNcuyP8/Ej3BMA5d79zbp5zbl5RUdEJvZHjccH0ItJTjbKKmiH/3iIiIiISW6IZut8EppnZJDPLAK4BVhx0zuOEZrkxs0JCy022AE8Bi81slJmNAhYDTznndgJNZnZ2eNeSTwF/iuJ7OG65WemcPbmAsooaovVhVRERERGJD1EL3c65buAWQgG6EviDc26dmX3bzJaGT3sKqDezCuA54OvOuXrnXANwF6Hg/ibw7fAYwM3AA8AmYDNwxJ1LvLTY72Pr7n1srmvxuhQRERER8VBU13Q7555wzk13zk1xzv1beOxbzrkV4efOOXerc87vnJvpnFsece2vnXNTw4/fRIyvds6dGr7nLS6Gp5EX+X0APK0lJiIiIhKDnnzySWbMmMHUqVO5++67Dzm+bNkyioqKmDNnDnPmzOGBBx7woMrE4PUHKRPamBHZzBw7gnKFbhEREYkxPT09fPGLX2TlypVUVFTw8MMPU1FRcch5V199NWvXrmXt2rXceOONHlSaGBS6oyzg9/HX7Xupa+7wuhQRERGRPm+88QZTp05l8uTJZGRkcM011/R1ZJTBp9AdZYtKfTgHz1RqtltERERix44dOxg/fv9mcePGjeu35fkf//hHZs2axVVXXcX27dsPOS4Dk+Z1AYmudEwuY0dmU1ZRwzVnnux1OSIiIhKrFiw4dOzjH4ebb4bWVrj00kOP33BD6LF7N1x11YHHVq064ZI+8pGPcO2115KZmckvf/lLrr/+ep599tkTvm8y0kx3lJkZAb+PlzbtprWz2+tyRERERAAYO3bsATPX1dXVjB17YKPvgoICMjMzAbjxxhtZs2bNkNaYSDTTPQQW+30se2UbL2zYzZJTR3tdjoiIiMSiI81M5+Qc+Xhh4THPbJ9xxhls3LiRrVu3MnbsWJYvX87vf//7A87ZuXMnY8aMAWDFihWUlpYe0/eQ/RS6h8AZk/LJy0qjvLJGoVtERERiQlpaGj/96U+5+OKL6enp4TOf+QynnHIK3/rWt5g3bx5Lly7l3nvvZcWKFaSlpZGfn8+yZcu8LjtuWQxvcz1o5s2b51avXu1pDV9d/lde2LibN//vIlJTzNNaRERExHuVlZWaOY5j/f33M7M1zrl5/Z2vNd1DZJHfR8O+Tta8t8frUkRERERkiCl0D5ELpheRnmqUVezyuhQRERERGWIK3UMkNyudc6YUUlZRQzIs6RERERGR/RS6h1DA72NbfSubalu8LkVERERigCbi4tPx/HdT6B5CgVIfAGXqTikiIpL0srKyqK+vV/COM8456uvrycrKOqbrtGXgEBo9IotZ40ZQVlHDzQumel2OiIiIeGjcuHFUV1dTV1fndSlyjLKyshg3btwxXaPQPcQWlfr4cfkGapvbKc49tt+QREREJHGkp6czadIkr8uQIaLlJUMs4PfhHDxTWet1KSIiIiIyRBS6h1jJ6FzGjcqmrELrukVERESShUL3EDMzAn4fL23azb6Obq/LEREREZEhoNDtgYDfR2d3kBc37va6FBEREREZAgrdHjhjYj4jstO1xEREREQkSSh0eyA9NYULZxTxbFUN3T1Br8sRERERkShT6PZIwD+aPa1drHlvj9eliIiIiEiUKXR75IIZRWSkpmiJiYiIiEgSUOj2yPDMNM6ZUkBZZY3av4qIiIgkOIVuDwX8Pt6rb2VTbYvXpYiIiIhIFCl0e2hRqQ+Ap7XERERERCShKXR7aPSILGaNG6F13SIiIiIJTqHbY4FSH2u376W2qd3rUkREREQkShS6PRY4JbTEpLyy1uNKRERERCRaFLo9NsOXy/j8bMoqdnldioiIiIhEiUK3x8yMQOloXt5cz76Obq/LEREREZEoUOiOAQG/j87uIC9urPO6FBERERGJAoXuGHDGxFGMyE7X1oEiIiIiCUqhOwakpaawsKSYZ6tq6e4Jel2OiIiIiAwyhe4YEfD72Nvaxer39nhdioiIiIgMMoXuGHH+9CIyUlPUKEdEREQkASl0x4jhmWmcO7WA8soanHNelyMiIiIig0ihO4YE/D7eq29lY22L16WIiIiIyCBS6I4hi0pD3Sm1xEREREQksSh0xxBfXhazx43Q1oEiIiIiCSaqodvMlpjZejPbZGa393P8BjOrM7O14ceN4fELI8bWmlm7mV0RPrbMzLZGHJsTzfcw1AJ+H3/bvpeapnavSxERERGRQRK10G1mqcB9wCWAH7jWzPz9nPqIc25O+PEAgHPuud4xYCHQCjwdcc3XI65ZG6334IWAfzQA5ZWa7RYRERFJFNGc6T4T2OSc2+Kc6wSWA5cfx32uAlY651oHtboYNd03nJPzcyjXEhMRERGRhBHN0D0W2B7xujo8drArzextM3vUzMb3c/wa4OGDxv4tfM2PzSxzkOqNCWZGwO/j5c317Ovo9rocERERERkEXn+Q8s/AROfcLKAM+G3kQTMbA8wEnooYvgMoAc4A8oHb+ruxmd1kZqvNbHVdXV00ao+aRaU+OruDvLAhvuoWERERkf5FM3TvACJnrseFx/o45+qdcx3hlw8Apx90j48DjznnuiKu2elCOoDfEFrGcgjn3P3OuXnOuXlFRUUn+FaG1hkTRzEyJ11bB4qIiIgkiGiG7jeBaWY2ycwyCC0TWRF5Qngmu9dSoPKge1zLQUtLeq8xMwOuAN4d5Lo9l5aawsIZxTy7vpbunqDX5YiIiIjICYpa6HbOdQO3EFoaUgn8wTm3zsy+bWZLw6d92czWmdnfgC8DN/Reb2YTCc2UP3/QrR8ys3eAd4BC4DvReg9eCvh97G3t4s1te7wuRUREREROUFo0b+6cewJ44qCxb0U8v4PQGu3+rt1GPx+8dM4tHNwqY9P504vISEuhvLKGc6YUeF2OiIiIiJwArz9IKYcxLDON86YUUFZRg3PO63JERERE5AQodMewRX4f7ze0sqGmxetSREREROQEKHTHsEWlPgDKKnZ5XImIiIiInAiF7hjmy8ti9viR2jpQREREJM4pdMe4xX4ff6tupKap3etSREREROQ4KXTHuIA/tMSkvFKz3SIiIiLxSqE7xk0rHs6EghwtMRERERGJYwrdMc7MWFTq45VN9bR0dHtdjoiIiIgcB4XuOBDw++jsCfLChjqvSxERERGR46DQHQfmTRjFyJx0LTERERERiVMK3XEgLTWFhSXFPFtVS1dP0OtyREREROQYKXTHicV+H41tXazetsfrUkRERETkGCl0x4n504rISEvREhMRERGROKTQHSeGZaZx3pQCyip34ZzzuhwREREROQYK3XEk4B/N9oY21tc0e12KiIiIiBwDhe44sqi0GICydVpiIiIiIhJPFLrjSHFeFnPGj6RMLeFFRERE4opCd5wJ+H28Xd3IrsZ2r0sRERERkQFS6I4zi/0+AMo12y0iIiISNxS648zU4uFMKMjR1oEiIiIicUShO86YGYFSH69urqelo9vrckRERERkABS641DA76OzJ8jz6+u8LkVEREREBkChOw6dPmEUo3LSKavY5XUpIiIiIjIACt1xKC01hYUlPp6tqqWrJ+h1OSIiIiJyFArdcSrg99HU3s2b2xq8LkVEREREjkKhO07Nn1ZIRlqKdjERERERiQMK3XFqWGYaH5paSFlFDc45r8sRERERkSNQ6I5jAb+P6j1tVO1q9roUERERETkChe44dlFpMWZoiYmIiIhIjFPojmPFuVnMGT9SLeFFREREYpxCd5wL+H28Xd3IrsZ2r0sRERERkcNQ6I5zgVIfAGWa7RYRERGJWQrdcW5q8XAmFuRoXbeIiIhIDFPojnNmRsDv49XNu2lu7/K6HBERERHph0J3Agj4R9PV43h+Q53XpYiIiIhIPxS6E8DpE0aRPyyDci0xEREREYlJCt0JIDXFWFhSzLNVtXT1BL0uR0REREQOotCdIBaV+mhq7+bNrQ1elyIiIiIiB1HoThDnTy8kMy2Fp7XERERERCTmKHQniJyMND40tZCyihqcc16XIyIiIiIRFLoTSMDvY8feNip3NntdioiIiIhEiGroNrMlZrbezDaZ2e39HL/BzOrMbG34cWPEsZ6I8RUR45PM7PXwPR8xs4xovod4clGpDzMoV3dKERERkZgStdBtZqnAfcAlgB+41sz8/Zz6iHNuTvjxQMR4W8T40ojx7wM/ds5NBfYAn43We4g3RbmZzB0/Ut0pRURERGJMNGe6zwQ2Oee2OOc6geXA5SdyQzMzYCHwaHjot8AVJ1Rlglnk9/HOjkZ2NrZ5XYqIiIiIhEUzdI8Ftke8rg6PHexKM3vbzB41s/ER41lmttrMXjOz3mBdAOx1znUf5Z5Ja7HfB6BGOSIiIiIxxOsPUv4ZmOicmwWUEZq57jXBOTcP+HvgHjObciw3NrObwqF9dV1d8rRHn1I0nEmFw7R1oIiIiEgMiWbo3gFEzlyPC4/1cc7VO+c6wi8fAE6POLYj/HULsAqYC9QDI80s7XD3jLj+fufcPOfcvKKiohN/N3HCzAj4fby2pZ6m9i6vyxERERERohu63wSmhXcbyQCuAVZEnmBmYyJeLgUqw+OjzCwz/LwQOA+ocKENqJ8Drgpfcz3wpyi+h7gU8Pvo6nG8sCF5ZvhFREREYlnUQnd43fUtwFOEwvQfnHPrzOzbZta7G8mXzWydmf0N+DJwQ3i8FFgdHn8OuNs5VxE+dhtwq5ltIrTG+8FovYd4ddrJo8gflqFdTERERERiRNrRTzl+zrkngCcOGvtWxPM7gDv6ue4VYOZh7rmF0M4ochipKcbCkmKeXreLrp4g6aleL90XERERSW5KYwkq4PfR1N7NG1sbvC5FREREJOkpdCeo+dMKyUxL0RITERERkRig0J2gcjLSmD+tkLKKGkKfPxURERERryh0J7CA38eOvW1U7mz2uhQRERGRpKbQncAWlvgwQ0tMRERERDym0J3AinIzmTt+JGWVu7wuRURERCSpKXQnuIB/NO/uaOKDvW1elyIiIiKStBS6E1zA7wOgvFJLTERERES8otCd4KYWD2dy4TCt6xYRERHxkEJ3Egj4fby2pZ6m9i6vSxERERFJSgrdSSDg99HV43h+fZ3XpYiIiIgkJYXuJDD35FEUDMvQEhMRERERjyh0J4HUFGNhSTHPra+lqyfodTkiIiIiSUehO0kE/D6a27t5fUuD16WIiIiIJB2F7iQxf1oRWekplFWoUY6IiIjIUFPoThLZGal8aGoR5ZW1OOe8LkdEREQkqSh0J5HFfh879rZRsbPJ61JEREREkopCdxK5sKQYM7SLiYiIiMgQU+hOIkW5mZx28iiFbhEREZEhptCdZAJ+H+s+aGLH3javSxERERFJGgrdSSbg9wFQrtluERERkSGj0J1kphQNZ3LRMMorFbpFREREhopCdxIK+H28tqWepvYur0sRERERSQoK3UkoUOqjq8exan2d16WIiIiIJAWF7iQ09+RRFAzL0C4mIiIiIkNEoTsJpaYYF5UWs6qqls7uoNfliIiIiCQ8he4kFfCPprmjm9e31ntdioiIiEjCU+hOUh+aWkhWeoq2DhQREREZAgrdSSo7I5X504ooq6jBOed1OSIiIiIJTaE7iQVKfXzQ2M66D5q8LkVEREQkoSl0J7GFpcWYoV1MRERERKJMoTuJFQ7P5PSTRyl0i4iIiESZQneSC/h9VOxsonpPq9eliIiIiCQshe4kF/D7AHimstbjSkREREQSl0J3kptcNJwpRcO0xEREREQkihS6hUV+H69tqaexrcvrUkREREQSkkK3sNjvozvoWLVeS0xEREREokGhW5gzfhSFwzO0xEREREQkShS6hdQU46ISH8+vr6OzO+h1OSIiIiIJR6FbgNAuJs0d3by+td7rUkREREQSTlRDt5ktMbP1ZrbJzG7v5/gNZlZnZmvDjxvD43PM7FUzW2dmb5vZ1RHXLDOzrRHXzInme0gWH5pWSFZ6ipaYiIiIiERB1EK3maUC9wGXAH7gWjPz93PqI865OeHHA+GxVuBTzrlTgCXAPWY2MuKar0dcszZa7yGZZKWnMn9aEeUVNTjnvC5HREREJKFEc6b7TGCTc26Lc64TWA5cPpALnXMbnHMbw88/AGqBoqhVKkBoickHje2s+6DJ61JEREREEko0Q/dYYHvE6+rw2MGuDC8hedTMxh980MzOBDKAzRHD/xa+5sdmljmoVSexi0qKSTF4WktMRERERAaV1x+k/DMw0Tk3CygDfht50MzGAP8FfNo517utxh1ACXAGkA/c1t+NzewmM1ttZqvr6uqiVX9CKRieyekTRmldt4iIiMggi2bo3gFEzlyPC4/1cc7VO+c6wi8fAE7vPWZmecBfgP/rnHst4pqdLqQD+A2hZSyHcM7d75yb55ybV1SklSkDFfD7qNzZRPWeVq9LEREREUkY0QzdbwLTzGySmWUA1wArIk8Iz2T3WgpUhsczgMeA3znnHu3vGjMz4Arg3ai9gyQU8I8GoFyz3SIiIiKDJmqh2znXDdwCPEUoTP/BObfOzL5tZkvDp305vC3g34AvAzeExz8OnA/c0M/WgA+Z2TvAO0Ah8J1ovYdkNKlwGFOKhlFWqdAtIiIiMlgsGbaHmzdvnlu9erXXZcSNu1dW8cCLW1jzzQAjstO9LkdEREQkLpjZGufcvP6Oef1BSolBAb+P7qBj1fpar0sRERERSQgK3XKIueNHUjg8U1sHioiIiAwShW45REqKsai0mOfX19HZHTz6BSIiIiJyRArd0q+A30dLRzevban3uhQRERGRuKfQLf06b2oh2empapQjIiIiMggUuqVfWempzJ9WSHllDcmww42IiIhINCl0y2EF/D52Nrbz7o4mr0sRERERiWsK3XJYF5X6SDEoq9jldSkiIiIicU2hWw4rf1gG8ybkU1ap/bpFREREToRCtxxRwO+jcmcT2xtavS5FREREJG4pdMsRLfL7ACiv1C4mIiIiIsdLoVuOaFLhMKYWD9fWgSIiIiInQKFbjirg9/H61gYaW7u8LkVEREQkLil0y1EF/D56go7n1usDlSIiIiLHQ6FbjmrOuJEU5WZSpnXdIiIiIsdFoVuOKiXFWFRazPPr6+jo7vG6HBEREZG4o9AtA7Ko1EdLRzevbWnwuhQRERGRuKPQLQNy3tRCstNT1Z1SRERE5DikeV2AxIes9FTOn15IeUUtd13uMDOvSxIZEu1dPXz6N2/S1ROkZEwuJaPzKB2Ty4zReQzP1P9CRURkYPQ3hgxYwD+ap9bV8M6ORmaNG+l1OSJD4nevbuPVLfXMGT+SP639gP9uf7/v2Mn5OZSMzqVkTB6l4a8n5+eQmqJfSkVE5EADCt1m9hHgL865YJTrkRi2sKSYFIPyihqFbkkKe1s7+emzm1gwo4hlnz4T5xwfNLZTtbOJql3NVIa/llfWEHSha7LTU5k+OpfS0bmUjskLhfLReYzISff2zYiIiKcGOtN9NXCPmf0R+LVzriqKNUmMyh+WwbyJ+TxdUcOti2d4XY5I1P1s1WaaO7q5bUkJAGbG2JHZjB2ZzUWlvr7z2rt62FjTQuWuJqp2NlO1q4mn1u1i+Zvb+845aUQWJb0hfEwe/jG5TCwYRlqqPlojIpIMBhS6nXOfNLM84FpgmZk54DfAw8655mgWKLElUOrj356oZHtDK+Pzc7wuRyRqqve0suyVbVx52jhKx+Qd8dys9FRmjhvBzHEj+sacc9Q2d/TNhvfOjr+woY7u8LR4RloK033DKRkdCuO9M+MFwzOj+t5ERGToDXhNt3OuycweBbKBrwJ/B3zdzO51zv1ntAqU2BLwh0J3WUUNn/nQJK/LEYma/3h6AwbcGph+XNebGb68LHx5WSyYUdw33tkdZHNdS18Yr9zZxPMb6nh0TXXfOcW5mRHrxEPLU6YUDScjTbPiIiLxaqBrui8HbgCmAr8DznTO1ZpZDlABKHQniYmFw5hWPFyhWxLaug8aeWztDj5//hROGpk9qPfOSEuhdEzeIbPnu1s6WB8O4ZXhJSq/ebmezp7QR2nSUoypxcP3z4iHQ3lRbqZ2ExIRiQMDnen+KPBj59wLkYPOuVYz++zglyWxLOD38csXtrC3tZORORlelyMy6O5eWcWI7HS+sGDKkH3PwuGZFE7N5LyphX1j3T1Btu7eR2XE8pTXtzbw+NoP+s7JH5bR92HNkjG5+MfkMbV4OFnpqUNWu4iIHN1AQ/eugwO3mX3fOXebc+6ZKNQlMSzg9/GzVZtZtb6OK+aO9bockUH14sY6Xty4mzs/XMqIbG93HElLTWGaL5dpvlyWzj6pb3xva+cB68QrdzXz+/oQcV8AACAASURBVDfeo70rNCueYjC5aPgB68RLxuRx0ogszYqLiHhkoKE7ANx20Ngl/YxJEpg9biRFuZmUVdQodEtCCQYdd6+sYtyobK47Z4LX5RzWyJwMzp5cwNmTC/rGeoKO9+r39YXxyl3N/K16L//79s6+c/Ky0g7YU7xkdC4zRueSk6GWDSIi0XbE/9Oa2ReAm4EpZvZ2xKFc4OVoFiaxKyXFWFRazIq1H9DR3UNmmv4ZWxLDir99wLoPmvjJNXPi7uc6NcWYXDScyUXDuXTmmL7x5vYuNtQ0U7Fz/8z4o2uq2dfZA4AZTMjPCXfaDC1RKR2dx7hR2aSoyY+IyKA52vTG74GVwPeA2yPGm51zDVGrSmJewO/j4Te28+rm+gN2ZhCJV+1dPfzgqfWcOjaPj8w66egXxIncrHROn5DP6RPy+8aCQceOvW0H7KBStauZpyp24cJNfoZlpDIjottm6Zg8ZozOJTdLTX5ERI7H0UK3c85tM7MvHnzAzPIVvJPXuVMKyclIpayiRqFbEsJ/vfoeO/a28e9XzUr4Gd6UFGN8fg7j83NYfMrovvHWzm421LQc0HHzf//2Ab9/vbvvnHGjssOz4vs/vDmxYBipCf5nJiJyogYy030ZsAZwQOT/VR0wOUp1SYzLSk/l/GlFlFfWcNflpyZ8SJHE1tjaxU+f28T504sO2D0k2eRkpDFn/EjmjB/ZN+acY2djO1W7ercyDC1TeW59LT3hJj9Z6SnM8O0P4b2hXLsbiYjsd8TQ7Zy7LPxVGzLLIQJ+H0+u28W7HzQya9zIo18gEqN+tmoTTe1d3B5u9y77mRknjczmpJHZLCzx9Y23d/WwqXZ/k5+qXU2UVdbwyOrtfeeMzssKrREfs7/j5qTCYaSnqsmPiCSfo32Q8rQjHXfOvTW45Ug8WVhSTIpBWUWNQrfErR172/jNK9v4u7lj8Z905Hbvsl9Weiqnjh3BqWNH9I0556hr6aBqZ/MB68Vf3rSbrp7QrHhGakqoyU/4A5u9H94sHJ7p1VsRERkSR1te8qMjHHPAwkGsReLMqGEZzJuYT1lFDV9bPMPrckSOy4+eXg+gn+FBYGYU52ZRnJvF+dOL+sY7u4Ns2d0SCuO7mqja2cxLG3fz/97a0XdO4fDM8Drx/ctUphYPj7tdZEREDudoy0suHKpCJD4t9vv4zl8q2d7Qyvj8HK/LETkmFR808dhfd3DT+ZMZO8jt3mW/jLSUUJAenccV7N/bv76lg/Xh5j69H9787avv0dkdavKTlmJMKRret068d3bcl5epJj8iEneOtrxkoXPuWTP7aH/HnXP/LzplSbwIhEP30xU1fPZDWvov8eXuJ6vIy0rn5gumel1KUioYnsm5UzM5N+LDq909QbbV7wt/aDM0K7562x7+tPaDvnNG5aQfEMJLxuQy3ZdLVrpmxUUkdh1teckFwLPAR/o55gCF7iQ3oWAY033DKavYpdAtceWljbt5YUNdqN17jvaejhVpqSlMLc5lanEuH5m9f7/0xtauUAgPf2izcmczy9/YTltXqMlPisHEwmGhEB7+0GbJmFzGjszWrLiIxISjLS/55/DXTw9NORKPAn4fv3h+C3tbO7VFmMSFYNDxvZWVjB0Z2+3eZb8ROemcNbmAsyYX9I0Fg473G1qp2tXU13HznR2N/OWdnX3n5GamHbA8pSQcyodlHm3OSURkcA3o/zpmVgD8M/AhQjPcLwHfds7VR7E2iRMB/2jue24zz62v5e/mjvO6HJGj+vPboXbv91wdf+3eZb+UFGNi4TAmFg5jyalj+sZbOrpZv2v/8pTKnaG1+y2v7W/yM6Egp+9Dm72Nfk7Oz1HPARGJmoH+qr8ceAG4Mvz6E8AjwKJoFCXxZdbYERTnZlJWUaPQLTGvozvU7v2Uk/JYOjtx2r3LfsMz0zh9wihOnzCqb8w5R/Wetr7mPlW7QjupPF1RgwvtZkhmWgr5wzIYkZ1OXnZ66GtW6GvokdY33vvofa315CJyNAMN3WOcc3dFvP6OmV19tIvMbAnwEyAVeMA5d/dBx28AfgD07hv1U+fcA+Fj1wN39n4/59xvw+OnA8uAbOAJ4CvO9f4vU7yQkmJcVOpjxdoddHT3aOZQYtp/vfoe1XvauPujid/uXfYzM8bn5zA+P4eAf3+Tn7bOHjbUhGbFN9W2sLe1i8a20GN7QytNbV00tXfT0tF9hLuHdmgJhfS0fkN57/MDQnxO6PzhmWlady6SBAYaup82s2uAP4RfXwU8daQLzCwVuA8IANXAm2a2wjlXcdCpjzjnbjno2nxCy1nmEVrOsiZ87R7g58DngNcJhe4lwMoBvg+JksV+Hw+/8T6vbK7nwhnFXpcj0q/GtlC79/nTCvnQtORt9y77ZWekMnv8SGaPP3KDr+6eIE3t3TS2ddHUtj+YN7Z10dTedcB4U1s3u1s62Vy3r+/4kaaGUlOsL6znHRTWD5xpTycv+8BQn5uVTqp+eRSJC0fbMrCZUOg14KvAf4cPpQAtwD8e4fIzgU3OuS3hey0HLgcODt39uRgoc841hK8tA5aY2Sogzzn3Wnj8d8AVKHR77pwpBeRkpFJWUaPQLTHr56s209jWxe2XqN27HJu01NDSk/xhx/5h8WDQ0dLZTWPr/pAeGdyb2roPCfE79rb1ndPbzfNwcjPTIsL6QTPtWaEZ9X5n2rPTyUhLOd4/EhE5RkfbvST3BO49Ftge8boaOKuf8640s/OBDcD/cc5tP8y1Y8OP6n7Gj2z9eliw4MCxj38cbr4ZWlvh0ksPveaGG0KP3bvhqqsOPf6FL8DVV8P27XDddYce/9rX4CMfCX3vz3/+0ON33gmLFsHatfDVrx56/LvfhXPPhVdegW9849Dj99wDc+ZAeTl85zuHHv/lL2HGDPjzn+FH/TQW/a//gvHj4ZFH4Oc/P/T4o49CYSEsWxZ6HOyJJyAnB372M/jDH8gCHq9ppvm/u3E/GYWtWhU674c/hP/93wOvzc6GleHfk+66C5555sDjBQXwxz+Gnt9xB7z66oHHx42D/w7//vfVr4b+DCNNnw733x96ftNNsGHDgcfnzAn9+QF88pNQXX3g8XPOge99L/T8yiuh/qDPC190EXzzm6Hnl1wCbW0HHr/sMvjH8O+jB//cgX72Bvln7xCH+dnr6A5y7s5War/7AKecNEI/e/rZO/R4lH72UoC87GzyVq5kPBzTz54Dgs7ROfok3v/J/TS2dTH6W7eTXfEO3UFHd9DREwyy03cyD153O41tXVz+s39ldM37dPc4guEp9oriyXxl0U0A/PjPP2RM8+5QbWakphobJ53KHz/2RfKy0vnKz28nr7WJ1JQU0lKMtBSj8dzzabj1NvKy05h43VWkd3aQYkbfHLt+9mLyZw/Q37le/+xFGPCeSWY2CpgGZPWOOedeGOj1h/Fn4GHnXIeZfR74LYPUWt7MbgJuApiVmTkYt5SjGDUsg4Z9nezr6Ga418WIHGT7nlYAbl083eNKRAbOgFQzstNTmTE6PA9WkAO5B/69NnFyAedcf0boxVtjILMZgKCDnmCQEv845tx8Lo1tXUx9ZxTpO9voCTq6e0LBfWROBmkpKexsbKdhXxcdLR30BPfPsL+8dgf/+ctQGFu2uYGs7g7MjNRwKP/ry1tZlf8Gednp3Lp7X2g81UhLSSE1xWisa6F1RyMjXRejg47UlIjALkLoX4Rc0EHQ9f2y6Ry0t3VRX9dCd9AxpqMb6+jGOXCEjtfVtrC1ooauniBntnSEj0F6qjEqxrYxtoF8BtHMbgS+AowD1gJnA6865w4bkM3sHOBfnHMXh1/fAeCc+95hzk8FGpxzI8zsWmCBc+7z4WO/BFaFH88550rC4wecdzjz5s1zq1evPur7lBOzZ18n8/6tnC9cMIV/vHiG1+WI9Knc2cSl977I5+ZP5huXlnpdjkhc6Ak6mtv7X/5ywOuDv4bXvkeG9oOlGORmHWY5TD9r2/cfDy2lSU/VshgI7crTHf7lqSsYDP0S1ROkKxj+2uPoDgbp6j7y8e4eR1dPMHyviOt6xw9z/9D4offq7AmGjgddaLzvefge4XtH3usIPy7H5ZzJBTx809mDe9MBMLM1zrl5/R0b6Ez3V4AzgNeccxeaWQnw3aNc8yYwzcwmEdqd5Brg7w8qbIxzrreLwVKgMvz8KeC74dl1gMXAHc65BjNrMrOzCX2Q8lPAfw7wPUiUjRqWwbwJoyirqFHolphy98pQu/cvLlC7d5GBSk0xRuZkHFfTM+cc+zp7+v/g6UFjvSG9pqml73hHd/CI9x+Wkbp/nXo/oX1Edlp4d5hDt3jMSk8lGIwMkeGQeFD4PDQgHho8u7qDBwTIyJDZF0z7uVdfkD3c9zokCIeeHxKABzupHkaKhT7XkJ5ioa/hf8VISzXSU8PLkPrGQ2M5GWl9/9qRnmoR19sB90pLNdIj7pV+0DW99+v/Xoe5PjWF7BjcxnOgobvdOdduZphZpnOuysyOmKqcc91mdguhAJ0K/No5t87Mvg2sds6tAL5sZkuBbqABuCF8bYOZ3UUouEOoEU9D+PnN7N8ycCX6EGVMCfh9fOcvlbxf38rJBTlelyPCy5t28/yGOr5xaYnavYsMETNjeGZoO8SxI7OP+fr2rp6ImfOI0N66P6RHhvjtDa2sC7/e19lzlNo44m4ygyktHDIPDIW9AbKfMJmSQlb6/iDbezz9SEH3oMB7cCjOSE3pJ5weeq9+g234Gm2vOjgGurzkMeDThHYwWQjsAdKdc/2sSI89Wl4ydN6vb+X8HzzHnR8u5cb5k70uR5JcMOhYet9L7NnXxTNfu0ANTESSQOT2jv3NtLd39ZCacvyzqhkDnHVNSzHtv56ETnh5iXPu78JP/8XMngNGAE8OUn2SQE4uyGGGL5fyyhqFbvHcn9/+gHd3NPHjq2crcIskiRPZ3lEkmgb8SQQzO83MvgzMAqqdc53RK0viWcDv481te9jbqh8R8U5vu3f/mDwun330nUVFRESiaUCh28y+RWg7vwKgEPiNmd155KskWS3y++gJOp6tqvW6FEli//3a+1TvaeOOS0u0HlFERDw30JnuTwBnOOf+2Tn3z4S2DOxnh3ARmDV2BMW5mZRV1HhdiiSpxrYu/vPZjcyfVsj8aUVelyMiIjLg0P0BEU1xgExC2wCKHCIlxVjk9/H8hjrau478KXKRaPjF86F277ctUbt3ERGJDUcM3Wb2n2Z2L9AIrDOzZWb2G+BdYO9QFCjxKeD30drZw6ub649+ssgg+mBvG79+aStXzBnLqWNHeF2OiIgIcPTdS3r32VsDPBYxvioq1UjCOHdKAcMyUimrrOHCkmKvy5Ek8uOyDTgHX1O7dxERiSFHDN3Oud/2PjezDKD3b7H1zrmuaBYm8S0zLZULZhRRXlHDdy4/VR9kkyFRtauJR9+q5sYPTWLcKDVnEhGR2DHQ3UsWABuB+4CfARvM7Pwo1iUJYFGpj9rmDt7e0eh1KZIkvr+yitzMNL54odq9i4hIbBnoByl/BCx2zl3gnDsfuBj4cfTKkkSwsKSY1BSjrGKX16VIEnhl826eW1/HFy+cysgcNcUQEZHYMtDQne6cW9/7wjm3AUiPTkmSKEbmZHDGxFHaOlCiLhh03L2yirEjs7n+3IlelyMiInKIgYbuNWb2gJktCD9+xf4PWYocVsA/mg01LbxXv8/rUiSB/e87O3m7upFbA9PV7l1ERGLSQEP3PwAVwJfDjwrgC9EqShLHYr8PQLPdEjWhdu9VlI7J44q5avcuIiKx6WhbBmJmqcDfnHMlwH9EvyRJJOPzcygZnUtZRQ03zp/sdTmSgB567X22N7Tx28/MJFW75IiISIw66ky3c64HWG9mJw9BPZKAFpX6eHNbA3v2dXpdiiSYpvZQu/cPTS3k/GmFXpcjIiJyWANdXjKKUEfKZ8xsRe8jmoVJ4gj4fQQdPFtV63UpkmB+sWoze1q7uP2SEsw0yy0iIrHrqMtLwr4Z1Sokoc0cOwJfXiZlFTVcefo4r8uRBLGzsY0HX9rKFXNOUrt3ERGJeUcM3WaWRehDlFOBd4AHnXPdQ1GYJI6UFGNRqY/H/rqD9q4e7S4hg2J/u/cZXpciIiJyVEdbXvJbYB6hwH0JoSY5Iscs4PfR2tnDq5vrvS5FEsD6Xc08uqaaT50zgfH5avcuIiKx72jLS/zOuZkAZvYg8Eb0S5JEdM6UAoZlpPJ0RQ0XlhR7XY7Eue8/WcXwzDRuWah27yIiEh+ONtPd1ftEy0rkRGSmpXLBjCLKK2sIBp3X5Ugce3VzPc9W1XKz2r2LiEgcOVronm1mTeFHMzCr97mZNQ1FgZI4An4fdc0d/K16r9elSJwKBh3fW1nJSSOyuEHt3kVEJI4cMXQ751Kdc3nhR65zLi3ied5QFSmJ4cIZxaSmmLpTynH7S2+798Uz9IFcERGJKwPdp1vkhI3MyeDMifkK3XJcOruD/OCp9ZSMzuXv1O5dRETijEK3DKmA38fG2ha27d7ndSkSZx56/T3eb2jl9ktK1O5dRETijkK3DKmA3wdAeaVmu2XgQu3eN3He1AIumF7kdTkiIiLHTKFbhtT4/BxKRufytJaYyDH45fObadjXye1LStXuXURE4pJCtwy5gN/H6m0NNOzr9LoUiQO7Gtt58KWtXD7nJGaOU7t3ERGJTwrdMuQCfh9BB89W1XpdisSBH5dtIBiEf1S7dxERiWMK3TLkZo4dwei8LMoqdnldisS4DTXN/M+a7Vyndu8iIhLnFLplyJkZi/zFvLBhN+1dPV6XIzHs+yurGJaZxi0Xqt27iIjEN4Vu8UTAP5q2rh5e2bzb61IkRr22pZ5nqmq5ecFURg1Tu3cREYlvCt3iibMn5zM8M02NcqRfzjm+90QlY0Zk8enzJnpdjoiIyAlT6BZPZKalcsH0IsorawkGndflSIz5yzs7+Vt1I7cGpqvdu4iIJASFbvFMwO+jrrmDtdV7vS5FYkhku/ePnjbO63JEREQGhUK3eObCGcWkppiWmMgBfv/6e7xX38ptavcuIiIJRKFbPDMiJ52zJuVTrtAtYc3tXdz77CbOnVLAArV7FxGRBKLQLZ4K+H1srG1h2+59XpciMeCXz2+hYV8nd1yidu8iIpJYFLrFU4tKfQBaYiLUNLXzwEtbWDpb7d5FRCTxKHSLp8bn51AyOlehW/hx2QZ6go6vX6x27yIikniiGrrNbImZrTezTWZ2+xHOu9LMnJnNC7/+hJmtjXgEzWxO+Niq8D17jxVH8z1I9C32+1j9XgMN+zq9LkU8srGmmT+s3s51Z09Uu3cREUlIUQvdZpYK3AdcAviBa83M3895ucBXgNd7x5xzDznn5jjn5gDXAVudc2sjLvtE73HnXG203oMMjYB/NEEHz1RqtjtZff/JKoZlpHHLQrV7FxGRxBTNme4zgU3OuS3OuU5gOXB5P+fdBXwfaD/Mfa4NXysJ6tSxeYwZkUW5QndSen1LPeWVtXzhwinkq927iIgkqGiG7rHA9ojX1eGxPmZ2GjDeOfeXI9znauDhg8Z+E15a8k3TFgdxz8xYVOrjhQ27ae/q8bocGULOOb63sorReVl85rxJXpcjIiISNZ59kNLMUoD/AL52hHPOAlqdc+9GDH/COTcTmB9+XHeYa28ys9Vmtrqurm4QK5doWOT30dbVw8ubdntdigyhle/uYu32vdy6WO3eRUQksUUzdO8Axke8Hhce65ULnAqsMrNtwNnAit4PU4Zdw0Gz3M65HeGvzcDvCS1jOYRz7n7n3Dzn3LyiIjXZiHVnT85neGaadjFJIp3dQf79ySpm+HK5Uu3eRUQkwUUzdL8JTDOzSWaWQShAr+g96JxrdM4VOucmOucmAq8BS51zq6FvJvzjRKznNrM0MysMP08HLgMiZ8ElTmWmpXLBjCLKK2sJBp3X5cgQePiN99lW38rtavcuIiJJIGqh2znXDdwCPAVUAn9wzq0zs2+b2dIB3OJ8YLtzbkvEWCbwlJm9DawlNHP+q0EuXTyy2O9jd0sHf92+1+tSJMqa27u495mNnDO5gAUz9C9RIiKS+NKieXPn3BPAEweNfesw5y446PUqQktOIsf2AacPapESMxbMKCYtxSivrOH0CaO8Lkei6P4XtlC/r5M7Li1Ru3cREUkK6kgpMWNEdjpnTc7Xuu4EV9PUzgMvbuUjs09i1riRXpcjIiIyJBS6JaYsKvWxqbaFrbv3eV2KRMk95RvoDgb5+mK1excRkeSh0C0xJeD3AVBWscvjSiQaNtU288ib2/nk2RM4uUDt3kVEJHkodEtMGTcqh9IxeVpikqDuXrmeYRlpfGnhNK9LERERGVIK3RJzAn4fa97bQ31Lh9elyCB6Y2sD5ZU1/MMCtXsXEZHko9AtMWex30fQwbNVtV6XIoMk1O69Uu3eRUQkaSl0S8w55aQ8xozI0hKTBPLku7v46/t7uTUwnewMtXsXEZHko9AtMcfMWFTq48WNu2nv6vG6HDlBXT1B/v2p9Uz3DefK09XuXUREkpNCt8SkgN9HW1cPL23c7XUpcoKWv/E+W3fvU7t3ERFJagrdEpPOnlxAbmaalpjEuZaObu4p38hZk/K5cEax1+WIiIh4Jqpt4EWOV0ZaChfMKOKZqhp6gk4zpHGqt937g5eWqt27iIgkNc10S8wK+H3sbulk7fa9Xpcix6G2qZ1fvbCFD88aw5zxavcuIiLJTaFbYtaCGcWkpZiWmMSpe57ZSHcwyD9drHbvIiIiCt0Ss0Zkp3PW5Hy1hI9Dve3eP3HWBCYUDPO6HBEREc8pdEtMC5T62Fy3jy11LV6XIsfg+0+uJzs9lS8tnOp1KSIiIjFBoVti2iK/D0BLTOLIm9saKKuo4QsLplAwPNPrckRERGKCQrfEtHGjcvCPyVPojhPOOb77RCW+vEy1excREYmg0C0xL+D3seb9PdS3dHhdihzFU+vU7l1ERKQ/Ct0S8wJ+H87BM1W1XpciR9DVE+T7T65nWvFwrjxN7d5FREQiKXRLzDvlpDxOGpGlJSYxbvmb2/vavael6n8tIiIikfQ3o8Q8M2OR38eLG+to6+zxuhzpR0tHNz8p38CZk/JZWKJ27yIiIgdT6Ja4EPD7aO8K8tKm3V6XIv341Qtb2N3SyTfU7l1ERKRfCt0SF86aVEBuZpoa5cSg2uZ2fvXiFj48U+3eRUREDkehW+JCRloKC0qKeaaylp6g87ocifCT8o10dgf5utq9i4iIHJZCt8SNgN9H/b5O1m7f43UpEra5roXlb27nE2edzMRCtXsXERE5HIVuiRsXTC8iLcV4WruYxIx/f7Iq1O79omlelyIiIhLTFLolbozITufsyQXaOjBGrN7WwFPravj8+ZMpVLt3ERGRI1LolrgS8PvYUrePzXUtXpeS1JxzfG9lFcW5mXx2vtq9i4iIHI1Ct8SVRX4fgGa7PfbUuhrWvLeHWwPTyclI87ocERGRmKfQLXFl7MhsTjkpj3KFbs909QT59yermFo8nKtOV7t3ERGRgVDolrgT8PtY8/4edrd0eF1KUnrkze1s2b2P25eo3buIiMhA6W9MiTuLSn04B89W1npdStLZ19HNPeUbOXNiPheVqt27iIjIQCl0S9w55aQ8xo7M1taBHvjVi1vY3dLBHZeWqN27iIjIMVDolrhjZiwqLealTXW0dfZ4XU7SqG1u5/4XtnDpzNHMPXmU1+WIiIjEFYVuiUsB/2jau4K8uLHO61KSxr3P9LZ7L/G6FBERkbij0C1x6azJ+eRmpVFeqSUmQ2FzXQsPv7Gdvz/rZCap3buIiMgxU+iWuJSemsKFM4p5prKWnqDzupyE94Mn15OVlsKX1e5dRETkuCh0S9xa5PdRv6+Tv76/x+tSEtqa9xp4ct0uPn/BFLV7FxEROU4K3RK3FswoIj3V1J0yipxzfO+JKopyM7lR7d5FRESOm0K3xK28rHTOnlyg0B1FT1fUsPq9PfyfRWr3LiIiciKiGrrNbImZrTezTWZ2+xHOu9LMnJnNC7+eaGZtZrY2/PhFxLmnm9k74Xvea9osOKkF/D627N7HptoWr0tJON09Qb7/ZBVTiobx8Xlq9y4iInIioha6zSwVuA+4BPAD15qZv5/zcoGvAK8fdGizc25O+PEPEeM/Bz4HTAs/lkSjfokPi0p9ANrFJAoeWb2dLXX7uE3t3kVERE5YNP8mPRPY5Jzb4pzrBJYDl/dz3l3A94H2o93QzMYAec6515xzDvgdcMUg1ixx5qSR2Zw6Nk9LTAZZb7v3MyaOIuD3eV2OiIhI3Itm6B4LbI94XR0e62NmpwHjnXN/6ef6SWb2VzN73szmR9yz+kj3lOSzqNTHW+/voa65w+tSEsYDL26lrrmD2y8pVbt3ERGRQeDZvxmbWQrwH8DX+jm8EzjZOTcXuBX4vZn9//buPDqu8szz+O/R4n0RtqUyseV9kQoIBAsHEhZjXF4yaegOSTBNTzonGQjphiHpSQj06eHMkO4Aw8BMh5BOyIK7O8mkaUgH9wG3LTCOIayyMZst2bLxBtiyvC9YsqRn/qgrd7XQVlZd3VLV93OOj1V3eespv0eun67eus+oNMe/ycxqzKxm3z66FuayRDwmd2l1LVe7M2Hf0SY9snarlpw7XnMm0+4dAIBMCDN0vyepPOXxxGBbu5GSzpW0xsy2S7pY0nIzq3L3JnffL0nuvk7SVkmzgvMndjPmae7+iLtXuXtVaWlphl4SslH87FGaUDKUJSYZ8v1nt6ippU3fXjQ76lIAAMgZYYbu1yTNNLOpZjZI0lJJy9t3uvthdx/n7lPcfYqklyVd7e41ZlYafBBTZjZNyQ9MbnP3DyQdMbOLg7uWfEnSkyG+BgwAZqZEPKbntzTqRHNL1OUMaNv2HdOvXt2p1aYwqAAAGQZJREFU6+dO0rTSEVGXAwBAzggtdLt7i6RbJK2UtEnSY+7+jpndbWZX93D65ZLeNLMNkh6XdLO7Hwj2/Zmkn0qqV/IK+IpQXgAGlEQ8pqaWNr2wpTHqUga0+1fS7h0AgDCE2u3C3Z+W9HSHbXd1cey8lK+fkPREF8fVKLksBTht7tQxGjmkSNUb92rhOeOjLmdAWrfjoFa8vUffXDBLpSNp9w4AQCZx813khOLCAl05u0yraxvU2uZRlzPguLvuXbGJdu8AAISE0I2ckYjHtP94s9bvPBh1KQNO9ca9em37QX1jwUwNH0y7dwAAMo3QjZwxb3apiguNu5ikqb3d+7TS4bquqrznEwAAQNoI3cgZI4cU6+JpY1W9ca+SDUvRG4/V7NZW2r0DABAq3mGRUxbGY3q38bi27jsedSkDwonmFv2fZzaravJZWki7dwAAQkPoRk5ZEARHlpj0Tnu79zs/U0G7dwAAQkToRk45e/RQnTthlKo37om6lKzXeKxJP/7dVi0+Z7zmTB4TdTkAAOQ0QjdyTqJyvF7fdUj7jjZFXUpW+/6zW3SypU3fXky7dwAAwkboRs5JxGNyl57dxBKTrrzbeFy/emWnrp9brum0ewcAIHSEbuScyrNHakLJUNZ1d+P+lbUaVFSg266aFXUpAADkBUI3co6ZKRGP6YX6Rp1obom6nKzz+s6DevqtPbrp8mm0ewcAoJ8QupGTFsZjampp0/NbGqMuJau4u+55ulbjRgzWjZdNi7ocAADyBqEbOemiqWM0akgRS0w6eHZTg17dfoB27wAA9DNCN3JScWGBrqwo0+raBrW20Z1SSrZ7v7e93ftFtHsHAKA/EbqRsxLxmA4cb9a6HQejLiUr/PO63apvOKbbF1WomHbvAAD0K955kbOumFWq4kKjUY6Cdu/VmzVn8lladA7t3gEA6G+EbuSskUOKdcn0careuFfu+b3E5GfPv6uGo036S9q9AwAQCUI3cloiHtP2/Se0dd+xqEuJTOOxJv147TYtOidGu3cAACJC6EZOW1BZJklalcd3MXno2S368FSrbl9cEXUpAADkLUI3ctrZo4fqvAmj8/bWgdsbj+uXr+zU0oto9w4AQJQI3ch5iXhMG3YdUsPRk1GX0u/uX1mXbPe+YGbUpQAAkNcI3ch5iXhM7snGMPnk9Z0H9dRbH+jGy6apbOSQqMsBACCvEbqR8yrGj9TEs4bqmTxaYuLuumdFrcaNGKQbL6fdOwAAUSN0I+eZmRLxmF6ob9SJ5paoy+kXq2sb9Oq7B3TbglkaQbt3AAAiR+hGXkhUxtTU0qa1mxujLiV0La1tundFraaNG66ltHsHACArELqRFy6aOkajhhTlxV1Mnli/W1sajun2xbNp9w4AQJbgHRl5obiwQPMryrS6dq9aWtuiLic0Hza36sHqzbpwUokWnTM+6nIAAECA0I28kYiP18ETp7Rux8GoSwnNz3//rvYeadJffqaSdu8AAGQRQjfyxhWzSzWosEDPbMrNJSb7jzXp79Zs1cJ4TFVTaPcOAEA2IXQjb4wYXKRLpo9V9ca9cveoy8m4h1bX0+4dAIAsRehGXlkQj2n7/hOqbzgWdSkZtb3xuH7x8g5dd1G5ZpTR7h0AgGxD6EZeSVTGJEmrcuwuJvevqlNxYYG+cRXt3gEAyEaEbuSV8aOH6OMTR+fUrQM37Dqkp978QDdePk1lo2j3DgBANiJ0I+8kKmPasOuQGo6cjLqUPnN33fP0Jo0bMUg30e4dAICsRehG3kmck1xi8mxtQ8SV9N1zdQ165d0Duu2qmbR7BwAgixG6kXdmx0aqfMzQAb/EpLXNde+KWk0dN1xL506KuhwAANANQjfyjplpQWVML9Q36nhTS9TlnLEn1u3W5r3HdPsi2r0DAJDteKdGXkrEY2puadPzW/ZFXcoZ+bC5VQ9U1+kTk0q0+FzavQMAkO0I3chLc6eM0eihxQP21oHt7d7vXEK7dwAABgJCN/JSUWGB5leUaXVtg1pa26IuJy0HjjfrR2u2akFlTHOn0u4dAICBgNCNvJWIx3ToxCmt23Ew6lLS8tDqLTre3KI7lsyOuhQAANBLoYZuM1tsZnVmVm9md3Rz3LVm5mZWFTxOmNk6M3sr+Ht+yrFrgjE3BH/KwnwNyF2XzyrVoMKCAXUXk537TwTt3idpRtnIqMsBAAC9FFroNrNCSQ9LWiIpLul6M4t3ctxISbdJeiVlc6OkP3D38yT9qaR/7HDaDe5+QfBn4N9sGZEYMbhIl0wfq+pNe+XuUZfTK/evqlNRQYG+uYB27wAADCRhXumeK6ne3be5e7OkX0u6ppPjvivpPkmn2wO6++vu/n7w8B1JQ81scIi1Ik8l4jHt2H9CWxqORV1Kj97YdUj/+sb7uvGyqbR7BwBggAkzdE+QtCvl8e5g22lmdqGkcnd/qptxrpW03t2bUrY9Giwt+e/GrRvQB4l4sjtlti8xcXfds2KTxg4fpJuumB51OQAAIE2RfZDSzAokPSjpv3VzzDlKXgX/WsrmG4JlJ5cFf/5zF+feZGY1Zlazb9/AvBczwhcbNUTnTxyd9bcOXFO3Ty9vO6DbFtDuHQCAgSjM0P2epPKUxxODbe1GSjpX0hoz2y7pYknLUz5MOVHSv0j6krtvbT/J3d8L/j4q6VdKLmP5CHd/xN2r3L2qtLQ0Yy8KuScRj+mNXYfUcORkzwdHoL3d+5Sxw3Q97d4BABiQwgzdr0maaWZTzWyQpKWSlrfvdPfD7j7O3ae4+xRJL0u62t1rzKxE0lOS7nD337efY2ZFZjYu+LpY0mclvR3ia0AeSMSTHR2f2ZSdn8l9Yv1u1e09qtsXV9DuHQCAASq0d3B3b5F0i6SVkjZJeszd3zGzu83s6h5Ov0XSDEl3dbg14GBJK83sTUkblLxy/pOwXgPyw6zYCJWPGarqjXuiLuUjPmxu1YOrNuuC8hItod07AAADVqiLQ939aUlPd9h2VxfHzkv5+q8l/XUXw87JVH2AJJmZEpXj9YtXduh4U4uGZ9Ga6UdffFd7jpzU3y69gHbvAAAMYPyuGlByXXdzS5vWbs6eD90eON6sv3tuqxZUlumT08ZGXQ4AAOgDQjcg6aIpZ6lkWHFW3TrwB6vrdby5Rd9ZXBF1KQAAoI8I3YCkosICzZ9dptV1DWppbYu6HO3cf0L/+PJ2fbGqXDNjtHsHAGCgI3QDgUQ8pkMnTqlmx8GoS9H/XlWnwgLTNxOzoi4FAABkAKEbCFw2q1SDCgsiX2Ly5u5DWv7G+/ovl05TjHbvAADkBEI3EBgxuEifmjFW1Rv3yt0jqcHddc/TtRozfJC+dsW0SGoAAACZR+gGUiTiMe08cEKb9x6L5PnXbN6nl7bt121XzdTIIcWR1AAAADKP0A2kWFAZk6RIGuW0trnuW1GrybR7BwAg5xC6gRSxUUN0fnmJqiNoCf+b9btVu+eobl9UoUFFfGsCAJBLeGcHOlgYj+mNXYe098jJfnvOk6da9WD1Zp1fXqLPnEe7dwAAcg2hG+igfYnJM5v67y4mj/5+uz44fFJ3Lqmg3TsAADmI0A10MCs2QpPGDOu3WwcePN6sH66p11UVZbqYdu8AAOQkQjfQgZkpEY/pxfr9OtbUEvrz/eC5eh1vatF3ltDuHQCAXEXoBjqRiMfU3NqmtZv3hfo8uw6c0D+8tF1fmFOuWbR7BwAgZxG6gU5UTT5LJcOK9UzIS0xo9w4AQH4gdAOdKCos0PyKMq2ua1BLa1soz/HW7sN6csP7+uqlUzV+NO3eAQDIZYRuoAuJypgOnTil17YfzPjY7q57VmwK2r1Pz/j4AAAguxC6gS5cPqtUg4oKQrmLye8279OLW/fr1vkzNIp27wAA5DxCN9CF4YOL9OnpY1W9aY/cPWPjtra57l1Rq0ljhumGT07O2LgAACB7EbqBbiTi47XrwIeq23s0Y2P+y+vvqXbPUX170WzavQMAkCd4xwe6saCyTJIydheTk6da9eCqOp0/cbT+03lnZ2RMAACQ/QjdQDfKRg3RBeUlGVvXvezF7Xr/8EndsaRSBQW0ewcAIF8QuoEeJOIxvbH7sPYeOdmncQ4eb9bDz9VrfkWZLplOu3cAAPIJoRvoQSIek6Q+X+1+uL3d+2LavQMAkG8I3UAPZpaN0OSxw/oUupPt3nfo83MmavZ42r0DAJBvCN1AD8xMicqYXtq6X8eaWs5ojAdW1amgQLR7BwAgTxG6gV5IxGNqbm3T2s370j737fcO67cb3tdXPj1VZ48eGkJ1AAAg2xG6gV6YM/ksnTWs+IyWmNy7olZnDSvWzfNo9w4AQL4idAO9UFRYoCsryrS6tkGnWtt6fd7azfv0Qn2jbp0/k3bvAADkMUI30EsL4zEd/vCUXtt+oFfHt7a57gnavf/JxbR7BwAgnxG6gV66bGapBhUV9HqJyW9ff0+bPjiib9HuHQCAvEcSAHpp+OAiXTpjnKo37pW7d3vsyVOtemBVnT4+cbQ+S7t3AADyHqEbSEMiHtPugx+qbu/Rbo/7+9Pt3ito9w4AAAjdQDquqiyTJFW/0/USk0Mnku3er5xdqk9NH9dfpQEAgCxG6AbSUDZyiC4oL1H1pq5D98PP1etoU4u+s4R27wAAIInQDaQpEY/pzd2HtefwyY/s23XghP7+xR36/IUTVTF+VATVAQCAbEToBtK0MB6TpE6vdj9YvVlm0l8spN07AAD4d4RuIE0zykZoythhH7l1YLLd+3v6yqW0ewcAAP8RoRtIk5kpEY/ppa2NOnry1Ont9/1brUqGFuvrtHsHAAAdELqBM5CIj9epVtfazY2Sku3en9/SqFto9w4AADoRaug2s8VmVmdm9WZ2RzfHXWtmbmZVKdvuDM6rM7NF6Y4JhOnCSSU6a1ixqjfuUVub694VtSofM1R/cvGkqEsDAABZKLTQbWaFkh6WtERSXNL1Zhbv5LiRkm6T9ErKtrikpZLOkbRY0g/NrLC3YwJhKyos0PyKmFbXNujx9bu18YMj+tbC2RpcVBh1aQAAIAuFeaV7rqR6d9/m7s2Sfi3pmk6O+66k+ySl3n/tGkm/dvcmd39XUn0wXm/HBEKXiMd05GSL7nrybZ03YbT+4OMfi7okAACQpcIM3RMk7Up5vDvYdpqZXSip3N2f6uW5PY4J9JfLZ43T4KICnTzVpjtp9w4AALpRFNUTm1mBpAclfTmk8W+SdJMkTZrEOltk3rBBRbp2zkQdO9miT82g3TsAAOhamKH7PUnlKY8nBtvajZR0rqQ1ZiZJ4yUtN7Orezi3uzFPc/dHJD0iSVVVVX7GrwLoxvf+6LyoSwAAAANAmMtLXpM008ymmtkgJT8Yubx9p7sfdvdx7j7F3adIelnS1e5eExy31MwGm9lUSTMlvdrTmAAAAEA2Cu1Kt7u3mNktklZKKpT0c3d/x8zullTj7l2G5eC4xyRtlNQi6c/dvVWSOhszrNcAAAAAZIK55/7Ki6qqKq+pqYm6DAAAAOQwM1vn7lWd7aMjJQAAABAyQjcAAAAQMkI3AAAAEDJCNwAAABAyQjcAAAAQMkI3AAAAEDJCNwAAABAyQjcAAAAQMkI3AAAAEDJCNwAAABAyQjcAAAAQMkI3AAAAEDJCNwAAABAyQjcAAAAQMkI3AAAAEDJz96hrCJ2Z7ZO0I3g4WtLhbg7vbn+6+8ZJauxlmf2lp9cfxZjpnN/bY8OY5662M8+ZP5d57lkYc9zXccOY574ek848Z9scS8xzb/bz3hzOmLw3n5nJ7l7a6R53z6s/kh450/3p7pNUE/XrTff1RzFmOuf39tgw5rmb7cxzhs9lnqOZ42yc574ek848Z9scM899m+N8n2fem7NvnvNxecm/9mH/me7LJmHU2dcx0zm/t8eGMc8DZY6l7JvndM9lnnsWVp3ZNs99PYZ5zvy4Ucwz7839PybvzRmWF8tLomJmNe5eFXUdCBfznB+Y59zHHOcH5jk/ZOM85+OV7v70SNQFoF8wz/mBec59zHF+YJ7zQ9bNM1e6AQAAgJBxpRsAAAAIGaEbAAAACBmhGwAAAAgZobsfmdk0M/uZmT0edS0Ij5n9oZn9xMz+ycwWRl0PMs/MKs3sR2b2uJl9Pep6EB4zG25mNWb22ahrQTjMbJ6ZPR98T8+Luh6Ew8wKzOxvzOwhM/vTKGogdPeRmf3czBrM7O0O2xebWZ2Z1ZvZHZLk7tvc/avRVIq+SHOef+vuN0q6WdJ1UdSL9KU5x5vc/WZJX5T06SjqxZlJZ54D35H0WP9Wib5Kc55d0jFJQyTt7u9acebSnOdrJE2UdEoRzTOhu++WSVqcusHMCiU9LGmJpLik680s3v+lIYOWKf15/qtgPwaGZUpjjs3saklPSXq6f8tEHy1TL+fZzBKSNkpq6O8i0WfL1Pvv5+fdfYmSP2D9z36uE32zTL2f59mSXnT3v5AUyW8oCd195O5rJR3osHmupPrgynazpF8r+RMWBqh05tmS7pO0wt3X93etODPpfi+7+/LgjfqG/q0UfZHmPM+TdLGkP5Z0o5nxnjlApDPP7t4W7D8oaXA/lok+SvP7ebeScyxJrf1X5b8riuJJ88AESbtSHu+W9EkzGyvpbyR9wszudPd7IqkOmdLpPEu6VdICSaPNbIa7/yiK4pARXX0vz5P0OSXfoLnSPfB1Os/ufoskmdmXJTWmhDMMTF19P39O0iJJJZJ+EEVhyKiu3pv/VtJDZnaZpLVRFEbo7kfuvl/Jdb7IYe7+fUnfj7oOhMfd10haE3EZ6CfuvizqGhAed/+NpN9EXQfC5e4nJEX6uTp+VRaO9ySVpzyeGGxDbmGecx9znB+Y5/zAPOeHrJ1nQnc4XpM008ymmtkgSUslLY+4JmQe85z7mOP8wDznB+Y5P2TtPBO6+8jM/p+klyTNNrPdZvZVd2+RdIuklZI2SXrM3d+Jsk70DfOc+5jj/MA85wfmOT8MtHk2d4+6BgAAACCncaUbAAAACBmhGwAAAAgZoRsAAAAIGaEbAAAACBmhGwAAAAgZoRsAAAAIGaEbADLIzNzMHkh5/C0z+x8ZGnuZmX0+E2P18DxfMLNNZvZch+1TzOzt4OsLzOwzGXzOEjP7s5THHzOzxzM1PgBEjdANAJnVJOlzZjYu6kJSmVlRGod/VdKN7n5lN8dcICmt0N1DDSWSTodud3/f3UP/AQMA+guhGwAyq0XSI5K+2XFHxyvVZnYs+Huemf3OzJ40s21mdq+Z3WBmr5rZW2Y2PWWYBWZWY2abzeyzwfmFZna/mb1mZm+a2ddSxn3ezJZL2thJPdcH479tZvcF2+6SdKmkn5nZ/Z29wKC18t2SrjOzDWZ2nZkNN7OfBzW/bmbXBMd+2cyWm9lqSc+a2Qgze9bM1gfPfU0w7L2Spgfj3d/hqvoQM3s0OP51M7syZezfmNm/mdkWM/tfKf8ey4LX9ZaZfWQuAKC/pXPlAwDQOw9LerM9BPbS+ZIqJR2QtE3ST919rpndJulWSd8Ijpsiaa6k6ZKeM7MZkr4k6bC7X2RmgyX93sxWBcdfKOlcd3839cnM7GOS7pM0R9JBSavM7A/d/W4zmy/pW+5e01mh7t4chPMqd78lGO97kla7+1fMrETSq2b2TEoNH3f3A8HV7j9y9yPBbwNeDn4ouCOo84JgvCkpT/nnyaf188ysIqh1VrDvAkmfUPI3DHVm9pCkMkkT3P3cYKySHv7tASB0XOkGgAxz9yOS/kHSf03jtNfc/QN3b5K0VVJ7aH5LyaDd7jF3b3P3LUqG8wpJCyV9ycw2SHpF0lhJM4PjX+0YuAMXSVrj7vvcvUXSLyVdnka9HS2UdEdQwxpJQyRNCvZVu/uB4GuT9D0ze1PSM5ImSIr1MPalkn4hSe5eK2mHpPbQ/ay7H3b3k0pezZ+s5L/LNDN7yMwWSzrSh9cFABnBlW4ACMf/lbRe0qMp21oUXOwwswJJg1L2NaV83ZbyuE3/8f9q7/A8rmSQvdXdV6buMLN5ko6fWflpM0nXuntdhxo+2aGGGySVSprj7qfMbLuSAf1Mpf67tUoqcveDZna+pEWSbpb0RUlf6cNzAECfcaUbAEIQXNl9TMkPJbbbruRyDkm6WlLxGQz9BTMrCNZ5T5NUJ2mlpK+bWbEkmdksMxvewzivSrrCzMaZWaGk6yX9Lo06jkoamfJ4paRbzcyCGj7RxXmjJTUEgftKJa9MdzZequeVDOsKlpVMUvJ1dypYtlLg7k9I+isll7cAQKQI3QAQngckpd7F5CdKBt03JF2iM7sKvVPJwLxC0s3BsoqfKrm0Yn3w4cMfq4ffZLr7B0quo35O0huS1rn7k2nU8ZykePsHKSV9V8kfIt40s3eCx535paQqM3tLybXotUE9+5Vci/52Jx/g/KGkguCcf5L05WAZTlcmSFoTLHX5haQ703hdABAKc+/4m0oAAAAAmcSVbgAAACBkhG4AAAAgZIRuAAAAIGSEbgAAACBkhG4AAAAgZIRuAAAAIGSEbgAAACBkhG4AAAAgZP8f4T0yop2kXyQAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "markdown", "metadata": { "id": "c46BgmW7kmAq" }, "source": [ "We can see from the above graph that the prob of getting the same outcomes on both the coins merges to 0.5 (the desired output) as the number of stimulations is increased. " ] }, { "cell_type": "markdown", "metadata": { "id": "kSM4f7FVmYXC" }, "source": [ "# Problem 2: Find the probability of exactly Two Heads when three coins are tossed together. " ] }, { "cell_type": "markdown", "metadata": { "id": "ZB6E4C5a2I4r" }, "source": [ "In this case we would get a sample size of 8 instances, out of which we would have 2 desired outcomes. Hence the probability in this case would be 3/8 = 0.375" ] }, { "cell_type": "code", "metadata": { "id": "YDUd_3wFnLOo" }, "source": [ "def problem_2(n_itr):\n", " # select three coins\n", " coin1 = Coin()\n", " coin2 = Coin()\n", " coin3 = Coin()\n", "\n", " num_fav = 0\n", "\n", " for itr in range(n_itr):\n", " # toss the three coins, and save their outcomes in a list\n", " results = [coin1.toss(),coin2.toss(),coin3.toss()] \n", " if results.count('H') == 2: # checking if it has 2 Heads\n", " num_fav += 1 \n", "\n", " return num_fav / n_itr " ], "execution_count": 29, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "8Bl70Yrw2s6q", "outputId": "d135b041-624c-4a45-fddc-11788c991672" }, "source": [ "iterations = 10**np.arange(1,7)\n", "iterations" ], "execution_count": 30, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([ 10, 100, 1000, 10000, 100000, 1000000])" ] }, "metadata": { "tags": [] }, "execution_count": 30 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "peXnNzZI2s6v", "outputId": "609109a9-979e-47a5-873d-37af9e7236ae" }, "source": [ "score_dict = {}\n", "for curr_itr in tqdm(iterations):\n", " # run the stimulation for different number of iterations\n", " score_dict[curr_itr] = problem_2(curr_itr)\n", " " ], "execution_count": 31, "outputs": [ { "output_type": "stream", "text": [ "100%|██████████| 6/6 [00:20<00:00, 3.38s/it]\n" ], "name": "stderr" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "cm4higv02s6w", "outputId": "739680d8-a95d-4269-e4c6-c7a25f16bf1b" }, "source": [ "print('The probability would be ',list(score_dict.values())[-1]) \n", "# we get a very similar number as from direct caculation" ], "execution_count": 32, "outputs": [ { "output_type": "stream", "text": [ "The probability would be 0.374621\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 518 }, "id": "4y8YbxEg2s6y", "outputId": "c51e465e-3b9c-45dc-8fb5-62676492d090" }, "source": [ "# lets see how this number varies as number of times the stimlation was ran \n", "plt.figure(figsize = (12,8))\n", "plt.plot(list(score_dict.keys()),list(score_dict.values()),label = 'Prob calculated')\n", "plt.axhline(y = 0.375,linestyle = '--',c = 'red',label = '0.375')\n", "plt.xscale('log')\n", "plt.legend()\n", "plt.xlabel('Number of Iterations')\n", "plt.ylabel('Probability')" ], "execution_count": 34, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(0, 0.5, 'Probability')" ] }, "metadata": { "tags": [] }, "execution_count": 34 }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt0AAAHkCAYAAADiqpMKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXxcdb3/8fdnJvvWplkmpS3dm2ZoaUvDKoVSOoCK9V4BKbKI915QAa8+9OpVf8BV8V65evWqVxRxQ6FQcQGrgJACZZWlhUrbpOkObaFJuidNs818f39kkk66piWTM8vr+XjMY2bOlveUkL578j3fY845AQAAAIgfn9cBAAAAgFRH6QYAAADijNINAAAAxBmlGwAAAIgzSjcAAAAQZ5RuAAAAIM4yvA4wGEpLS92YMWO8jgEAAIAUtmzZsu3OubLDrUuL0j1mzBgtXbrU6xgAAABIYWb21pHWMbwEAAAAiDNKNwAAABBnlG4AAAAgztJiTDcAAEAi6ezs1JYtW9TW1uZ1FJyAnJwcjRw5UpmZmf3eh9INAAAwyLZs2aLCwkKNGTNGZuZ1HBwH55x27NihLVu2aOzYsf3ej+ElAAAAg6ytrU0lJSUU7iRkZiopKTnu31JQugEAADxA4U5eJ/LfjtINAACQhvx+v6ZPn64pU6boiiuuUGtra7/3vffee3XLLbcMaJ4lS5bo0ksvPaF9v/a1r+l//ud/jrrNI488otra2uM+dkFBwQllOhilGwAAIA3l5uZq+fLlWrlypbKysnT33Xf3Wd/V1eVRsvg40dI9UCjdAAAAaW7WrFlat26dlixZolmzZmnevHkKBoNqa2vTJz7xCU2dOlUzZszQM88807vP5s2bNXv2bE2cOFFf//rXD3vcv/71rzrttNM0bdo0XXjhhZKkV199VWeffbZmzJihc845R/X19Yfs19LS0vt1Tz31VP3hD3+Q1Pes8+9//3tdf/31h+z7s5/9TKeffrqmTZumyy67TK2trXrppZe0aNEiffGLX9T06dO1fv16rV+/XpdccolmzpypWbNmafXq1ZKkjRs36uyzz9bUqVN16623nvCf6cGYvQQAACCNdXV16fHHH9cll1wiSXr99de1cuVKjR07Vt/97ndlZlqxYoVWr16tiy66SGvWrJHUXZ5XrlypvLw8nX766frgBz+o6urq3uM2NTXphhtu0HPPPaexY8dq586dkqTJkyfr+eefV0ZGhhYvXqyvfvWrvaW6xx133KEhQ4ZoxYoVkqRdu3b1+/N85CMf0Q033CBJuvXWW/WLX/xCn/nMZzRv3jxdeumluvzyyyVJF154oe6++25NnDhRr7zyim666SY9/fTT+uxnP6tPf/rTuu6663TXXXed4J/qoSjdAAAAHvr6n1ep9p29A3rM4ElF+o8PnXLUbfbv36/p06dL6j7T/c///M966aWXdMYZZ/ROhffCCy/oM5/5jKTusjx69Oje0h0KhVRSUiKpu+i+8MILfUr3yy+/rPPOO6/3WMOGDZMk7dmzRx//+Me1du1amZk6OzsPybZ48WItXLiw931xcXG/P/vKlSt16623avfu3WppadHFF198yDYtLS166aWXdMUVV/Qua29vlyS9+OKLvf8IuPbaa/Xv//7v/f7aR0PpBgAASEM9Y7oPlp+f36/9D57Bo78zetx222264IIL9PDDD2vTpk2aPXt2v/Y7+Gscacq+66+/Xo888oimTZume++9V0uWLDlkm0gkoqFDhx728x/8dQYKpRsAAMBDxzoj7aVZs2ZpwYIFmjNnjtasWaO3335blZWVev3111VTU6OdO3cqNzdXjzzyiH75y1/22fess87STTfdpI0bN/YOLxk2bJj27NmjESNGSOqeBeVwQqGQ7rrrLn3/+9+X1D28pLi4WIFAQHV1daqsrNTDDz+swsLCQ/Ztbm7W8OHD1dnZqQULFvR+rcLCQjU3N0uSioqKNHbsWP3ud7/TFVdcIeec3nzzTU2bNk3ve9/7tHDhQl1zzTVasGDBQP1RxvdCSjO7xMzqzWydmX35MOuvN7MmM1seffxLzLqPm9na6OPjMctnmtmK6DF/aExyCQAAEBc33XSTIpGIpk6dqiuvvFL33nuvsrOzJUlnnHGGLrvsMp166qm67LLL+gwtkaSysjLdc889+shHPqJp06bpyiuvlCR96Utf0le+8hXNmDHjiDOk3Hrrrdq1a5emTJmiadOm9V7Aeeedd+rSSy/VOeeco+HDhx923zvuuENnnnmm3ve+92ny5Mm9y+fPn6/vfOc7mjFjhtavX68FCxboF7/4haZNm6ZTTjlFf/rTnyRJP/jBD3TXXXdp6tSp2rp163v7A4xhzrkBO1ifA5v5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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "markdown", "metadata": { "id": "1ZXnbxM_24lS" }, "source": [ "Again we observe the similar trend that as the number of iterations increases the probability we get merges with the desired probability." ] }, { "cell_type": "markdown", "metadata": { "id": "bJ87HxKa3TlO" }, "source": [ "# Problem 3: Find the probability of rolling doubles on two 6-sided dice numbered from 1 - 6" ] }, { "cell_type": "markdown", "metadata": { "id": "ZPlSiF_Y3k6z" }, "source": [ "In this case \n", "- Sub space (x,y) where both x and y are numbers from 1 to 6. \n", "- Total number of outcomes - 6 for x and 6 for y = 6*6 = 36 \n", "- Fav number of outcomes = (1,1), (2,2) .... (6,6) = 6 \n", "- Prob of rolling doubles = 6 / 36 = 1 / 6 = 0.1667" ] }, { "cell_type": "markdown", "metadata": { "id": "5hoxXsl74ZCe" }, "source": [ "## Now lets try stimulations" ] }, { "cell_type": "code", "metadata": { "id": "KX89YUiP4eJX" }, "source": [ "def problem_3(n_itr):\n", " # select the dice\n", " die1 = Dice()\n", " die2 = Dice()\n", "\n", " num_fav = 0\n", "\n", " for itr in range(n_itr):\n", " result1 = die1.roll() # roll \n", " result2 = die2.roll() # roll \n", " if result1 == result2:\n", " num_fav += 1 \n", "\n", " return num_fav / n_itr " ], "execution_count": 37, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "hivgnXO_54eg", "outputId": "bbca7451-3438-441d-eb93-85b92b51a3ab" }, "source": [ "score_dict = {}\n", "for curr_itr in tqdm(iterations):\n", " score_dict[curr_itr] = problem_3(curr_itr)\n", " " ], "execution_count": 40, "outputs": [ { "output_type": "stream", "text": [ "100%|██████████| 6/6 [00:13<00:00, 2.18s/it]\n" ], "name": "stderr" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "YaHNdv6L54ej", "outputId": "571012ec-2bf3-46d9-eb89-90238c2d89f7" }, "source": [ "print('The probability would be ',list(score_dict.values())[-1]) \n", "# we get a very similar number as from direct caculation" ], "execution_count": 41, "outputs": [ { "output_type": "stream", "text": [ "The probability would be 0.167223\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 518 }, "id": "9OJfpKAY54ek", "outputId": "9ac4909f-c054-4fce-f69f-afb6b11b2a46" }, "source": [ "# lets see how this number varies as number of times the stimlation was ran \n", "plt.figure(figsize = (12,8))\n", "plt.plot(list(score_dict.keys()),list(score_dict.values()),label = 'Prob calculated')\n", "plt.axhline(y = 0.1667,linestyle = '--',c = 'red',label = '0.1667')\n", "plt.xscale('log')\n", "plt.legend()\n", "plt.xlabel('Number of Iterations')\n", "plt.ylabel('Probability')" ], "execution_count": 42, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(0, 0.5, 'Probability')" ] }, "metadata": { "tags": [] }, "execution_count": 42 }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "code", "metadata": { "id": "enZ9Urs76Bs3" }, "source": [ "" ], "execution_count": null, "outputs": [] } ] }