diff --git a/02_activities/assignments/a1_sampling_and_reproducibility.ipynb b/02_activities/assignments/a1_sampling_and_reproducibility.ipynb index 11852458..19e3531c 100644 --- a/02_activities/assignments/a1_sampling_and_reproducibility.ipynb +++ b/02_activities/assignments/a1_sampling_and_reproducibility.ipynb @@ -16,7 +16,28 @@ "cell_type": "markdown", "id": "4ea73db3", "metadata": {}, - "source": [] + "source": [ + "Stage 1: Random infection selection\n", + "- Function used: np.random.choice()\n", + "- Sampling procedure: Simple sampling without replacement\n", + "- Sample size: 10% \n", + "- Sampling frame: 1000 attendees \n", + "- Distribution: Uniform random distribution\n", + "\n", + "Stage 2: Primary contact tracing\n", + "- Function used: np.random.rand() comparing with TRACE_SUCCESS threshold\n", + "- Sampling procedure: Bernoulli sampling\n", + "- Sample size: 20% \n", + "- Sampling frame: only infected people\n", + "- Distribution: Bernoulli distribution\n", + "\n", + "Stage 3: Secondary contact tracing\n", + "- Function used: Conditional selection based on `event_trace_counts`: \"event_trace_counts = ppl[ppl['traced'] == True]['event'].value_counts()\"\n", + "- Sampling procedure: Threshold-based\n", + "- Sample size: All infected individuals \n", + "- Sampling frame: Both events, wedding and brunch, that reach the threshold\n", + "- Distribution: Based on primary contact tracing" + ] }, { "cell_type": "markdown", @@ -30,7 +51,11 @@ "cell_type": "markdown", "id": "4cf5d993", "metadata": {}, - "source": [] + "source": [ + "When the number of repetitions is few (for example 10), the reproducibility of the results is low because they are highly variable due to the estimates varying from the attack rate. The distribution is also more noisy and unstable\n", + "\n", + "When the number of repetitions is bigger (for example 100), the reproducibility of the results is high and the estimates concentrate closer to the true value, reducing variability, smoother sampling distribution, and more reliable results. " + ] }, { "cell_type": "markdown", @@ -44,7 +69,9 @@ "cell_type": "markdown", "id": "77613cc3", "metadata": {}, - "source": [] + "source": [ + "I added a random seed of an arbitrary number (e.g. 50), to ensure that each time the script runs, it uses the same sequence of random numbers to produce the same output regardless of how many times it runs. " + ] }, { "cell_type": "markdown", @@ -56,10 +83,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "ab8587a0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYpBJREFUeJzt3QeYVOXdN+CHIiAIoqggFjQWxK6YKNEYO5YYWxKTWNAYY4i9xOirsceCib0lRkWjiVGjJrFjTWIXO26wBwyCYqOs9Pmu//O+s9/suuACe9h239c1DDNz5swz58yZnd95WrtSqVRKAAAAQKNr3/irBAAAAIRuAAAAKJCabgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDFOwPf/hDWmuttdJiiy2WevbsaXu3UO3atUunnXZaUxeDOg444IC0yiqrtPjPRFO+j/rMmjUrHX/88WmllVZK7du3T7vvvvsie+133303b9vhw4cvstcEKJLQDSyw+EEUP4yee+65Fr8V77nnnkIC1b///e/8Y3q11VZLV199dfrd7373pc958cUX07777pt/7Hbu3DktvfTSabvttkvXXXddmj17dirKE088kbfBp59+mor0xz/+MV100UVfulyUJT5fX3bZaqutCi1vW/Hoo4/W2q5xkugrX/lK2n///dPbb7/d1MVrscoBsr7LZpttVvj+vO222xbo+ddee206//zz03e+8510/fXXp6OPPrrJvgsWtb///e/pm9/8ZlpuueVS165d83Hwve99L913331NXTSgherY1AUAaC6h+/LLL2/04B0/fOfMmZMuvvjitPrqq3/p8r///e/TT3/609S7d++03377pTXWWCNNnjw5PfTQQ+mggw5K77//fvqf//mfVFToPv300/NJgiJr5OOH9quvvpqOOuqoeS6355571tpmU6ZMSUOHDk177LFHfqwsttWi8Pnnn6eOHVv/n80jjjgiffWrX00zZ85Mzz//fD5RdPfdd6dXXnkl9e3bNzU3cTIrjrHm7gc/+EHaeeeda9237LLLpubq4YcfTiussEK68MILF/l3Qb9+/fLxFid+FrVf//rX6ec//3kO3SeeeGIO3W+++WZ68MEH080335x23HHHRV4moOVr/b8eAJrQBx98kK8bEmKfeuqpHLgH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2rUralsDAADQCsTM25MnT059+/bNs5HMi9CdUg7cRo8FAABgfowdOzatuOKK81xG6E4p13CXN1iPHj3mayMDAADQtkyaNClX3Jaz5LwI3TGE+/81KY/ALXQDAADQEA3pnmwgNQAAACiI0A0AAAAFEboBAACgIPp0AwBAMzV79uw0c+bMpi4GtDmLLbZY6tChQ6OsS+gGAIBmOAfw+PHj06efftrURYE2q2fPnqlPnz4NGixtXoRuAABoZsqBe7nllktdu3Zd6B/9wPyd9Kqurk4ffPBBvr388sunhSF0AwBAM2tSXg7cvXr1auriQJu0+OKL5+sI3nEsLkxTcwOpAQBAM1Luwx013EDTKR+DCzuugtANAADNkCbl0DqOQaEbAAAACqJPNwAAtBBjxoxJEydOXGSvt8wyy6SVV1658EHj9ttvv/TEE0/kaZqKGrF9+PDh6aijjmrSEeFjgK5DDjkk3XbbbemTTz5JL7zwQtpwww1TWzC8Adv/tNNOS3feeWd68cUX8+0DDjggLx/3tWRCNwAAtJDA3b//gDRtWvUie80uXbqm0aOrGhy8FyQkXXjhhen999/PQWvJJZdMjWGVVVbJAS8uZXvvvXfaeeedU1O67777cvh89NFH01e+8pV8UqMpnXDCCXlf/fvf/665L/4/YMCANGTIkFzWsvh/nDCI/VseZKxoF198cT5R0dIJ3QAA0AJEDXcE7gEDbkxduw4o/PWqq6tSVdW++XWLrO1+66230sCBA9Maa6yRihRBcVGFxXm915h+6utf//pcl5kxY0bq1KnTIinP1ltvnc4777zc2iDmow6PPPJIWmmllfKJgUpx/2abbbZIt+GSjXQSpqnp0w0AAC1IBO7u3Tcu/NIYwX6rrbZKRxxxRDr++OPT0ksvnYNdNCGurJH+y1/+km644YY8aFXUlIeoTf3xj3+cll122dSjR4+0zTbbpJdeeqnWuv/+97+nr371q6lLly65xniPPfaoec3//Oc/6eijj87rLA+GFTW1PXv2rLWOK6+8Mq222mo55Pbv3z/94Q9/qPV4PPf3v/99XneMZB0nBv72t7/VPB5NxPfZZ59czgij8fh1111X77aI93b44YfnFgux3njv5fIedthhuVY+3sfgwYPz/Y899lj62te+ljp37pyDetRKz5o1q9a2jfXF85ZaaqnUu3fvdPXVV6epU6emAw88MHXv3j2tvvrq6d57753r/tliiy1yk/7KgB3/P/TQQ9PHH3+c3n333Vr3R0gP06dPT8cdd1xaYYUVUrdu3dKmm276hZAe2ztO1nTt2jVvv48++ugLr3/uuefmckdZDzrooDRt2rQvbLPdd9+9wZ+nck19vK/4XKy99trpwQcfzNu73PoiTmrE9o5tGsv069cvnXPOOalIQjcAAFCY66+/Pgezp59+Og0bNiydccYZacSIEfmxZ599Nu24447pe9/7Xm5iHs2Jw3e/+908P3IExpEjR6aNN944bbvttjkIhrvvvjsHuWguHv2iH3rooRxQw+23355WXHHF/DqxzrjU54477khHHnlkOvbYY9Orr76am05HWI0a3Uqnn356Lt/LL7+cXy9Cdrkcv/zlL9Nrr72Wy1lVVZVD/NyajMd7izJF2aJM8d4rt1EE/8cffzxdddVV6b///W9+rTipECcbYr3XXHNNOuuss76wbeP1nnnmmRzAhw4dmrdd1KQ///zzaYcddsj95aur6++SEPslXqPyPUd4jm29+eab19z/9ttv55MF5dAdofXJJ59MN998c94u8ZqxH9944438eOzrCNGx3IsvvpifV7fst9xySw7MZ599dnruuedyCL7iiivqLWdDP08xx32E9Aj68fjvfve7dNJJJ9V6/iWXXJJPnMTrjx49Ot100001J0CKonk5AABQmPXXXz+deuqp+f9RE3zZZZflkLz99tvnGuKoyY1a4nLz5n/96185REbojsfCr3/961xTGQOQ/eQnP0m/+tWv0ve///0ciMs22GCDfB01oB06dMi1p+V11ifWGTWpP/vZz/LtY445Jj311FP5/nK4DLHMD37wg/z/CIgR2qJ8ETIjiG600UZpk002yY/PK7xFU+koU5Stbrliu0SALIugGE28Y1tFLe1aa62Vxo0bl37xi1+kU045JbVv377mPZ988sn5/yeeeGKuOY4QfvDBB+f7YtkI7BGMo2l4feK93nrrrfn/cQIhapvjPW255ZY5gMeJiLiOWuFYR7znqM2P6759++bnRa139FeP+2MbxQmG2D5RIx3WXHPNPFBeLFN20UUX5WAelxChPGql69Z2z8/nKcJ3NOGP8pa3cXxW4rGyKHc8L2rDY9tGTXfR1HQDAACFiZBUKWo0I1DPTdTsTpkyJfXq1SstscQSNZd33nknB6oQtadRG7swomY6anMrxe24f27ljxrWaO5eLn/ULEdtb4xAHgEzguWCiD7tdcs2aNCgWvNER9liu7z33nv1li3CfGyz9dZbr+a+aLod5rW9o8n266+/nmvfI6xGGI11ffOb36xpMh7XUXseJ0FeeeWVXKMcQbpy/0Rz+PL+ifJHk/NKgwYN+sJ7/LJl5vfzFDXXcbKi8qRGuQVE5UmU+PxEd4Joqv7AAw+koqnpBgAAChN9hitFkJwzZ85cl49gGUGqbh/hUO6TvSgH85pX+Xfaaafcf/yee+7JtaxxIiD6Q0dt+fyIMN9YZau8rxza57W9I8xH0/ZoSh6XCNshmp3HIHrRtDz2RTS/L++fCOXR7D+uK0X4bm6fp7qiq0KcwIkuAVGzHl0Htttuu9yKoihqugEAgGYjQlGMpt2xY8c8EFjlpdxfOmo7o0nx3ESIjNrYeYlpsaIPdaW4HYNvzY9oIh/Ta9144425yXT0I15YUbboM105XVaULZqnR5/wxhQnMMoDoUVtddR8l8NtNCePvuRjx46taXIfTc9j20btct39U65hjvJHn+pKTz311Bfe45ctM7+i9jrKOmHChJr7KvvOl0VrhZhCLgae+/Of/5wH8yv30y+Cmm4AAKDZiFrHaGYcA2JFP+doxhz9mcuDp0X/6ejTG7XKMfJ49O2OUb2jtjn6PJf7Vv/jH//Ij0WT6PoGN/v5z3+eazkjRMZrxmjoMQhb1H42VPSZjqbh66yzTh7R+6677sphcmFFP/MI8DE4WgxGFs2m4z1Hv/Nyf+7GFIE65ksvn/Qoi1rvqLUvD7gWYn/EYHL7779/+s1vfpO334cffphPgsTJkF122SU3244a9Hjubrvtlu6///5a/blDDGIXTb1jf8ayMaDZqFGj8vzlCyr6bsdnIk6CxGdn8uTJNX3ey7X+F1xwQW5JEeWObRn92eNkQd2R7RuT0A0AtGoxaE40kaR1i1BV5FzSzUnMn92aXqeuCEcRoGMwsRjEKwJdhKIY2KvcRzlqYyMsnXnmmXnwsKi5jMfLYkTraA4dASzCcGWNcVmE+hjwK4JhBMBVV101DwRWrultiKhRjwHMYmqtqDH+xje+kft4L6yYiiu2QZwYiMHSYnC4GHCsHCCLCN2xzWLws2hhUBm6I+zHNGaVzbpjO8XAZzHye4y0Hsdf1Ip/61vfyo/H/6MWOZ57yimn5JMaUfbYX2VR0xx9wKMvfAyettdee+U+8hHQF1Q0d48B92K6uThJEAH+/PPPT7vuumseCC5Ea4EI5DHSeiwfy8W2LuJkRlm7Un2fwDZm0qRJeTTBzz77LB+wAEDrCdz9+w9I06bVP10OrUeXLl3T6NFVrSJ4RwCJPqcRAstBoak+z61pu9I2Pf7443lwuDfffDOfhGmMY3F+M6SabgCg1Yoa7ggoAwbcmLp2XfgmnzRPUSNbVbVv3t+tORzGe4sAvChbbrSlFgS0DnfccUce0C2mBYugHa0Yovn6/AbuxiR0AwCtXgTu7t3/fz9FaKkiAAvBMHfRjzv69kfLkDhpFE3bo+95UxK6AQAAaBX233//fGlOTBkGAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACmLKMAAAaCFi7uGJEycusteLeY5b47zgW221Vdpwww3TRRddlFqLAw44IH366afpzjvvbPD7XmWVVdJRRx2VLxRH6AYAgBYSuAf075+qp01bZK/ZtUuXVDV6dIOCd7t27eb5+KmnnppOO+201BJEOSO8vvjiiwu1ns022yyH3Kuuuqrmvvj/0KFD03XXXZeDcln8/6233kr//Oc/06Ly7LPPpm7dui2y12urhG4AAGgBooY7AveNAwakAV27Fv56VdXVad+qqvy6DQnd77//fs3///znP6dTTjkljR49uua+JZZYoub/pVIpzZ49O3Xs2LrjyNZbb53uuOOOWvc98sgjaaWVVkqPPvpordAdt4cMGbJIy7fssssu0tdrq/TpBgCAFiQC98bduxd+md9g36dPn5rLkksumWu+y7f//e9/p+7du6d77703DRw4MHXu3Dn961//yjW7u+22W+rdu3cO5V/96lfTgw8+WGu906dPT7/4xS9yUI3nrb766umaa66pefzVV19NO+20U35+rGe//far1QR/6tSpaf/998+PL7/88uk3v/nNPN/H8OHD0+mnn55eeuml/B7iEveVWxtEeWNdPXr0SN/73vfShAkT5hm648TD+PHja+577LHH0gknnJBDdtk777yT/vOf/+Tlw9ixY/O6e/bsmZZeeun8mu+++27N8nHC4phjjsmP9+rVKx1//PH5REalhrzvaF5e2cQ+3uvvf//7tMcee6SuXbumNdZY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TKi1jhjFcZdddslD68cE8jEXXUwODwAALVnlfNVAyz0Gm7xP9zrrrJMefPDBmtsdO/7/Ih199NHp7rvvTrfeemsejj1GxYu56mKUvPIccBG4+/Tpk5544ok8V11MUB8Ty5999tlN8n4AAGBhdOrUKc+9PG7cuLTsssvm21E5BSwaMav2jBkz0ocffpiPxTgGW3TojpAdobmumO/smmuuSX/84x/TNttsk++LSekHDBiQnnrqqbTZZpulBx54IL322ms5tPfu3TttuOGG6cwzz8wTyUct+sJuHAAAWNTiR37MCxwVShG8gaYRraljhPY4Jlt06I4h5/v27ZsnGx80aFA655xz8hsbOXJkmjlzZtpuu+1qlo2m5/HYk08+mUN3XK+33no5cJcNHjw4DR06NI0aNSpttNFGTfSuAABgwUXlUfzujW6T0boTWLQ6dOiQK4gbo5VJk4buTTfdNA0fPjz1798/n8k7/fTT0ze+8Y306quvpvHjx+cvm549e9Z6TgTseCzEdWXgLj9efmxupk+fni9lkyZNauR3BgAACyd+7Ee3ybgALVeThu6ddtqp5v/rr79+DuH9+vVLt9xyS1p88cULe92oTY+ADwAAAG1myrCo1V5zzTXTm2++mft5R+f1Tz/9tNYyMXp5uQ94XNcdzbx8u75+4mUnnnhi7jNevowdO7aQ9wMAAEDb1qxC95QpU9Jbb72Vll9++TRw4MDclOahhx6qeXz06NF5irDo+x3i+pVXXkkffPBBzTIjRoxIPXr0SGuvvfZcX6dz5855mcoLAAAAtKrm5ccdd1zaddddc5PyGJnx1FNPzR3Wf/CDH+Qpwg466KB0zDHHpKWXXjoH48MPPzwH7RhELeywww45XO+3335p2LBhuR/3ySefnOf2jmANAAAAbTZ0v/feezlgf/TRR3kOwi222CJPBxb/DxdeeGEenn2vvfbKA5/FyORXXHFFzfMjoN911115tPII4926dUtDhgxJZ5xxRhO+KwAAAGgGofvmm2+e5+Mxjdjll1+eL3MTteT33HNPAaUDAACAVtSnGwAAAFoToRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKEjHolYMANDSTJs2Js2cObGpi8F8qq6uytdVVf97XdcyyyyTVl55ZdsVaBJCNwDA/wXu557pn2bNmWZ7tFD77rtvvfd37dIlVY0eLXgDTULoBgBIKddwR+A+q+uAtGr7rrZJCzJndnWa+nlVWnvAgNSta+19V1VdnfatqkoTJ04UuoG2HbrPPffcdOKJJ6YjjzwyXXTRRfm+adOmpWOPPTbdfPPNafr06Wnw4MHpiiuuSL1796553pgxY9LQoUPTI488kpZYYok0ZMiQdM4556SOHZvNWwMAWpAI3AM6dm/qYjAfZqeUJqeUNuzaNXXvbt8BzUuzGEjt2WefTb/97W/T+uuvX+v+o48+Ov39739Pt956a3rsscfSuHHj0p577lnz+OzZs9Muu+ySZsyYkZ544ol0/fXXp+HDh6dTTjmlCd4FAAAANLPQPWXKlLTPPvukq6++Oi211FI193/22WfpmmuuSRdccEHaZptt0sCBA9N1112Xw/VTTz2Vl3nggQfSa6+9lm688ca04YYbpp122imdeeaZ6fLLL89BHAAAANp06D700ENzbfV2221X6/6RI0emmTNn1rp/rbXWyn1xnnzyyXw7rtdbb71azc2jCfqkSZPSqFGjFuG7AAAAgC9q0o7P0Vf7+eefz83L6xo/fnzq1KlT6tmzZ637I2DHY+VlKgN3+fHyY3MT/cPjUhYhHQAAAFpNTffYsWPzoGk33XRT6tKlyyJ97Rhobckll6y5rLTSSov09QEAAGgbmix0R/PxDz74IG288cZ5pPG4xGBpl1xySf5/1FhHv+xPP/201vMmTJiQ+vTpk/8f13G77uPlx+YmRkmPPuPlS5wAAAAAgFYTurfddtv0yiuvpBdffLHmsskmm+RB1cr/X2yxxdJDDz1U85zRo0fnKcIGDRqUb8d1rCPCe9mIESNSjx490tprrz3X1+7cuXNepvICAAAAraZPd8yhuO6669a6r1u3bqlXr1419x900EHpmGOOSUsvvXQOxocffngO2ptttll+fIcddsjher/99kvDhg3L/bhPPvnkPDhbBGsAAABoswOpfZkLL7wwtW/fPu2111554LMYmfyKK66oebxDhw7prrvuSkOHDs1hPEL7kCFD0hlnnNGk5QYAAIBmF7offfTRWrdjgLWYczsuc9OvX790zz33LILSAQAAQAubpxsAAABaK6EbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAAAjdAAAA0LKo6QYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAgnQsasUA0FqNGTMmTZw4samLQQNUVVXl6+rq/72el4YsAwDzS+gGgPkM3AP690/V06bZbi1IVdW+DV62VJpRaFkAaFuEbgCYD1HDHYH7xgED0oCuXW27Zm5qdXV6raoqdVt8QGrfYd776/FZH6Urpr2bSnNmLbLyAdD6Cd0AsAAicG/cvbtt18xNTilFhO7eoWvq0HHe++ud2dWLrFwAtB0GUgMAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAAzSl0v/32241fEgAAAGhlFih0r7766mnrrbdON954Y5o2bVrjlwoAAADaauh+/vnn0/rrr5+OOeaY1KdPn3TIIYekZ555pvFLBwAAAG0tdG+44Ybp4osvTuPGjUvXXnttev/999MWW2yR1l133XTBBRekDz/8sPFLCgAAAG1pILWOHTumPffcM916663pvPPOS2+++WY67rjj0korrZT233//HMYBAACgrVqo0P3cc8+ln/3sZ2n55ZfPNdwRuN966600YsSIXAu+2267NV5JAQAAoIXpuCBPioB93XXXpdGjR6edd9453XDDDfm6ffv/zfCrrrpqGj58eFpllVUau7wAAADQukP3lVdemX70ox+lAw44INdy12e55ZZL11xzzcKWDwAAANpW6H7jjTe+dJlOnTqlIUOGLMjqAQAAoO326Y6m5TF4Wl1x3/XXX98Y5QIAAIC2GbrPOeectMwyy9TbpPzss89ujHIBAABA22xePmbMmDxYWl39+vXLjwFASxB/syZOnDhfz6mqqsrXU6ur0+SCykXjif0EAC0udEeN9ssvv/yF0clfeuml1KtXr/kakC0u7777br69zjrrpFNOOSXttNNO+fa0adPSsccem26++eY0ffr0NHjw4HTFFVek3r171/rBNHTo0PTII4+kJZZYIvcjj5r4mEMcAOYm/n707z8gTZu2YKHstaqqNMvmbTHmlEqpQ1MXAoA2aYGS6Q9+8IN0xBFHpO7du6ctt9wy3/fYY4+lI488Mn3/+99v8HpWXHHFdO6556Y11lgjlUql3B885vZ+4YUXcgA/+uij09133537ii+55JLpsMMOS3vuuWd6/PHH8/Nnz56ddtlll9SnT5/0xBNPpPfffz/tv//+abHFFtPMHYB5ihruCNwDBtyYunYd0OCtVV1dlaqq9k3dFh+Qunfoais3czNnfZymTXsn/84AgBYTus8888xcO73tttvW1CjPmTMnB9756dO966671rr9q1/9Ktd8P/XUUzmQx5Rjf/zjH9M222xTM4DbgAED8uObbbZZeuCBB9Jrr72WHnzwwVz7veGGG+ay/eIXv0innXZaHkEdAOYlAnf37hvP90Zq36Fr6tCxu43bzM2eo3k5AC1wILUIs3/+85/Tv//973TTTTel22+/Pb311lvp2muvXeCgG7XW0Yx86tSpadCgQWnkyJFp5syZabvttqtZZq211korr7xyevLJJ/PtuF5vvfVqNTePJuiTJk1Ko0aNmutrRVP1WKbyAgAAAI1toTo+r7nmmvmyMF555ZUcsqP/dvTJvuOOO9Laa6+dXnzxxRzge/bsWWv5CNjjx4/P/4/rysBdfrz82NxEn+/TTz99ocoNAAAAhYTuqJUePnx4euihh9IHH3yQm5ZXevjhhxu8rv79++eA/dlnn6XbbrstD4QW/cOLdOKJJ6Zjjjmm5nbUdK+00kqFviYAAABtzwKF7hgwLUJ3DGK27rrrpnbt2i1wAaI2e/XVV8//HzhwYHr22WfTxRdfnPbee+80Y8aM9Omnn9aq7Z4wYUIeOC3E9TPPPFNrffF4+bG56dy5c74AAABAswvd0ff6lltuSTvvvHOjFyhqzaPPdQTwGIU8atP32muv/Njo0aPzFC/RHD3EdQy+FrXtMY1ZGDFiROrRo0duog4AAAAtLnRX1k4vbDPvmJM7BkebPHlyHqn80UcfTffff3+eIuyggw7KzcCXXnrpHKQPP/zwHLRj5PKwww475HC93377pWHDhuV+3CeffHI69NBD1WQDAADQMkP3sccem5uAX3bZZQvVtDxqqGOasZhfO0L2+uuvnwP39ttvnx+/8MILU/v27XNNd9R+x8jkV1xxRc3zO3TokO666640dOjQHMa7deuW+4SfccYZC1wmAAAAaNLQ/a9//Ss98sgj6d57703rrLNObgZeKaYQa4iYh3teunTpki6//PJ8mZt+/fqle+65p4ElBwAAgGYeumNgsz322KPxSwMAAABtPXRfd911jV8SAAAAaGXaL+gTZ82alR588MH029/+Ng+CFsaNG5emTJnSmOUDAACAtlXT/Z///CftuOOOefquGOAsBj7r3r17Ou+88/Ltq666qvFLCgAAAG2hpvvII49Mm2yySfrkk0/S4osvXnN/9POOebUBAACABazp/uc//5meeOKJPF93pVVWWSX997//tV0BAABgQWu658yZk2bPnv2F+997773czBwAAABYwNC9ww47pIsuuqjmdrt27fIAaqeeemraeeedbVcAAABY0Oblv/nNb9LgwYPT2muvnaZNm5Z++MMfpjfeeCMts8wy6U9/+pMNCwAAAAsauldcccX00ksvpZtvvjm9/PLLuZb7oIMOSvvss0+tgdUAAACgLeu4wE/s2DHtu+++jVsaAAAAaOuh+4Ybbpjn4/vvv/+ClgcAAADaduiOeborzZw5M1VXV+cpxLp27Sp0AwAAwIKOXv7JJ5/UukSf7tGjR6ctttjCQGoAAACwMKG7PmussUY699xzv1ALDgAAAG1Vo4Xu8uBq48aNa8xVAgAAQNvq0/23v/2t1u1SqZTef//9dNlll6XNN9+8scoGAAAAbS9077777rVut2vXLi277LJpm222Sb/5zW8aq2wAAADQ9kL3nDlzGr8kAAAA0Mo0ap9uAAAAYCFruo855pgGL3vBBRcsyEsAAABA2wzdL7zwQr7MnDkz9e/fP9/3+uuvpw4dOqSNN964Vl9vAAAAaKsWKHTvuuuuqXv37un6669PSy21VL7vk08+SQceeGD6xje+kY499tjGLicAAAC0jT7dMUL5OeecUxO4Q/z/rLPOMno5AAAALEzonjRpUvrwww+/cH/cN3ny5AVZJQAAALQ6CxS699hjj9yU/Pbbb0/vvfdevvzlL39JBx10UNpzzz0bv5QAAADQVvp0X3XVVem4445LP/zhD/NganlFHTvm0H3++ec3dhkBAACg7YTurl27piuuuCIH7Lfeeivft9pqq6Vu3bo1dvkAAACgbTUvL3v//ffzZY011siBu1QqNV7JAAAAoC2G7o8++ihtu+22ac0110w777xzDt4hmpebLgwAAAAWInQfffTRabHFFktjxozJTc3L9t5773TfffctyCoBAACg1VmgPt0PPPBAuv/++9OKK65Y6/5oZv6f//ynscoGAAAAba+me+rUqbVquMs+/vjj1Llz58YoFwAAALTN0P2Nb3wj3XDDDTW327Vrl+bMmZOGDRuWtt5668YsHwAAALSt5uURrmMgteeeey7NmDEjHX/88WnUqFG5pvvxxx9v/FICAABAW6npXnfdddPrr7+etthii7Tbbrvl5uZ77rlneuGFF/J83QAAAMAC1HTPnDkz7bjjjumqq65KJ510km0IAAAAjVXTHVOFvfzyy/P7NAAAAGhzFqh5+b777puuueaaxi8NAAAAtPWB1GbNmpWuvfba9OCDD6aBAwembt261Xr8ggsuaKzyAQAAQNsI3W+//XZaZZVV0quvvpo23njjfF8MqFYppg8DAAAA5jN0r7HGGun9999PjzzySL699957p0suuST17t3btgQAAICF6dNdKpVq3b733nvzdGEAAABAIw2kNrcQDgAAACxg6I7+2nX7bOvDDQAAAI3Qpztqtg844IDUuXPnfHvatGnppz/96RdGL7/99tvnZ7UAAADQKs1X6B4yZMgX5usGAAAAGiF0X3fddfOzOAAAALRpCzWQGgAAADB3QjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAABojaH7nHPOSV/96ldT9+7d03LLLZd23333NHr06FrLTJs2LR166KGpV69eaYkllkh77bVXmjBhQq1lxowZk3bZZZfUtWvXvJ6f//znadasWYv43QAAAEAzCt2PPfZYDtRPPfVUGjFiRJo5c2baYYcd0tSpU2uWOfroo9Pf//73dOutt+blx40bl/bcc8+ax2fPnp0D94wZM9ITTzyRrr/++jR8+PB0yimnNNG7AgAAgP/VMTWh++67r9btCMtRUz1y5Mi05ZZbps8++yxdc8016Y9//GPaZptt8jLXXXddGjBgQA7qm222WXrggQfSa6+9lh588MHUu3fvtOGGG6Yzzzwz/eIXv0innXZa6tSpUxO9OwAAANq6ZtWnO0J2WHrppfN1hO+o/d5uu+1qlllrrbXSyiuvnJ588sl8O67XW2+9HLjLBg8enCZNmpRGjRpV7+tMnz49P155AQAAgFYbuufMmZOOOuqotPnmm6d111033zd+/PhcU92zZ89ay0bAjsfKy1QG7vLj5cfm1pd8ySWXrLmstNJKBb0rAAAA2rJmE7qjb/err76abr755sJf68QTT8y16uXL2LFjC39NAAAA2p4m7dNddthhh6W77ror/eMf/0grrrhizf19+vTJA6R9+umntWq7Y/TyeKy8zDPPPFNrfeXRzcvL1NW5c+d8AQAAgFZb010qlXLgvuOOO9LDDz+cVl111VqPDxw4MC222GLpoYceqrkvphSLKcIGDRqUb8f1K6+8kj744IOaZWIk9B49eqS11157Eb4bAAAAaEY13dGkPEYm/+tf/5rn6i73wY5+1osvvni+Puigg9IxxxyTB1eLIH344YfnoB0jl4eYYizC9X777ZeGDRuW13HyySfndavNBgAAoM2G7iuvvDJfb7XVVrXuj2nBDjjggPz/Cy+8MLVv3z7ttddeedTxGJn8iiuuqFm2Q4cOuWn60KFDcxjv1q1bGjJkSDrjjDMW8bsBAACAZhS6o3n5l+nSpUu6/PLL82Vu+vXrl+65555GLh0AAAC0ktHLAQAAoLURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAK0rGoFQMAwKI0tbp6rvdVVVXZGa3EMsssk1ZeeeWmLgY0mNANAECLNqc0Y67B+vX/u953330XcakoSpcuXdPo0VWCNy2G0A0AQItWKs3K11269E+LdVyi1mPdZlen9HlVGjDgxtS164AmKiGNpbq6KlVV7ZsmTpwodNNiCN0AALQK7dt3TR06dq99X5OVhiKVWzVoak5LIHQDANBqTZwzIwfvqB2l9Sh3F+japUuqGj1arTfNmtANAECrNbk0K81JKZ3ReZW02mK9mro4LKQ5s6vT1M+r0toDBqQxEb6rqjQ1p9kTugEAaPVWbb94GlCn6Tktz+w4kZJS2rBr19StqQsDDaSbCwAAALTG0P2Pf/wj7brrrqlv376pXbt26c4776z1eKlUSqecckpafvnl0+KLL56222679MYbb9Ra5uOPP0777LNP6tGjR+rZs2c66KCD0pQpUxbxOwEAAIBmFrqnTp2aNthgg3T55ZfX+/iwYcPSJZdckq666qr09NNPp27duqXBgwenadOm1SwTgXvUqFFpxIgR6a677spB/ic/+ckifBcAAADQDPt077TTTvlSn6jlvuiii9LJJ5+cdtttt3zfDTfckHr37p1rxL///e/nqQLuu+++9Oyzz6ZNNtkkL3PppZemnXfeOf3617/ONegAAADQVJptn+533nknjR8/PjcpL1tyySXTpptump588sl8O66jSXk5cIdYvn379rlmHAAAAJpSsx29PAJ3iJrtSnG7/FhcL7fccrUe79ixY1p66aVrlqnP9OnT86Vs0qRJjVx6AAAAaMY13UU655xzcq15+bLSSis1dZEAAABohZpt6O7Tp0++njBhQq3743b5sbj+4IMPaj0+a9asPKJ5eZn6nHjiiemzzz6ruYwdO7aQ9wAAAEDb1mxD96qrrpqD80MPPVSrGXj01R40aFC+HdeffvppGjlyZM0yDz/8cJozZ07u+z03nTt3zlOMVV4AAACgVfXpjvm033zzzVqDp7344ou5T/bKK6+cjjrqqHTWWWelNdZYI4fwX/7yl3lE8t133z0vP2DAgLTjjjumgw8+OE8rNnPmzHTYYYflkc2NXA4AAECbDt3PPfdc2nrrrWtuH3PMMfl6yJAhafjw4en444/Pc3nHvNtRo73FFlvkKcK6dOlS85ybbropB+1tt902j1q+11575bm9AQAAoE2H7q222irPxz037dq1S2eccUa+zE3Uiv/xj38sqIQAAADQCvt0AwAAQEsndAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIJ0LGrFNL4xY8akiRMn2rSt0DLLLJNWXnnlpi4GAADQyITuFhS4B/Tvn6qnTWvqolCArl26pKrRowVvAABoZYTuFiJquCNw3zhgQBrQtWtTF4dGVFVdnfatqsr7WG03AAC0LkJ3CxOBe+Pu3Zu6GAAAADSAgdQAAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABelY1IoB2roxY8akiRMnNnUxmIuqqqp8XV39v9cNNb/LAwBtm9ANUFDgHtC/f6qeNs32beaqqvZdoOeVSjMavSwAQOsjdAMUIGq4I3DfOGBAGtC1q23cDE2trk6vVVWlbosPSO07NHwfPT7ro3TFtHdTac6sQssHALQOQjdAgSJwb9y9u23cDE1OKUVs7t6ha+rQseH76J3Z1YWWCwBoXQykBgAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABelY1IoBWrIxY8akiRMnLvDzq6qq8vXU6uo0uRHLReOJfQMAUDShG6CewN2//4A0bdrCh7LXqqrSLFu4WZtTKqUOTV0IAKDVEroB6oga7gjcAwbcmLp2HbBA26e6uipVVe2bui0+IHXv0NU2boZmzvo4TZv2TiqVSk1dFACgFRO6AeYiAnf37hsv1PZp36Fr6tCxu23cDM2eo3k5AFA8A6kBAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAK0rGoFQMAABRhanV1mvp//7/nnntSVVWVDd3KfOUrX0mDBg1KrYHQDQAAtAhzSjPydYTsp/6v2e4vf/nLpi4WBWifUvrXE0+0iuAtdAMAAC1CqTQrX3fp0j/NLk1Pc6a/m07r1Det1mHJpi4ajeit2Z+l02aMS2+//bbQ3Zxcfvnl6fzzz0/jx49PG2ywQbr00kvT1772taYuFgAA0Mjat++a2pX+d3iqCNzrdO5tG7cm0+Ofcam1aBUDqf35z39OxxxzTDr11FPT888/n0P34MGD0wcffNDURQMAAKANaxXNyy+44IJ08MEHpwMPPDDfvuqqq9Ldd9+drr322nTCCSc0dfGgQQwA0vz2RXX1gg/KsjDPBQCg9WjxoXvGjBlp5MiR6cQTT6y5r3379mm77bZLTz75ZJOWDRri/RkzcpOTfffd1wZrZqqqFn6flP5vwBcAANqmFh+6J06cmGbPnp16967djyNu//vf/673OdOnT8+Xss8++yxfT5o0KTVXU6ZMydcjJ09OU2bPburi0Iie/OyzNCeldMRyy6XVu3e3bZuBaTNmpDFjx6ZOiy2X2rfrvEDrGDV7Srp39ifp1RkfpurZ///7huZj1uxJuctY55kTU8c55Ylnvtzbs/73b8aoWZ+kz0u+j1vTfrZvW+d+tl9b775++/9ObPs+bn3env2/uay6urrZZrRyuUql0pcu267UkKWasXHjxqUVVlghPVFnOPnjjz8+PfbYY+npp5/+wnNOO+20dPrppy/ikgIAANCajB07Nq244oqtu6Z7mWWWSR06dEgTJkyodX/c7tOnT73PiaboMfBa2Zw5c9LHH3+cevXqldq1a5ea65mUlVZaKe/UHj16NHVxKIj93DbYz22Hfd022M9tg/3cNtjPbcOkRshWUXc9efLk1Ldv3y9dtsWH7k6dOqWBAwemhx56KO2+++41ITpuH3bYYfU+p3PnzvlSqWfPnqkliA+F0N362c9tg/3cdtjXbYP93DbYz22D/dw29FjIbLXkkg2bH77Fh+4QtdZDhgxJm2yySZ6b+6KLLkpTp06tGc0cAAAAmkKrCN177713+vDDD9Mpp5ySxo8fnzbccMN03333fWFwNQAAAFiUWkXoDtGUfG7NyVuDaA5/6qmnfqFZPK2L/dw22M9th33dNtjPbYP93DbYz21D50WcrVr86OUAAADQXLVv6gIAAABAayV0AwAAQEGEbgAAACiI0N2ELr/88rTKKqukLl26pE033TQ988wz81z+1ltvTWuttVZefr311kv33HNPrceje36M4L788sunxRdfPG233XbpjTfeKPhdsKj38wEHHJDatWtX67LjjjvaES1oP48aNSrttddeefnYfzHN4cKuk5a5n0877bQvHM9x/NNy9vPVV1+dvvGNb6SllloqX+Jvb93l/X1uG/vZ3+fWsa9vv/32PA1xz549U7du3fKsSH/4wx9qLeOYbhv7+YDG/M0dA6mx6N18882lTp06la699trSqFGjSgcffHCpZ8+epQkTJtS7/OOPP17q0KFDadiwYaXXXnutdPLJJ5cWW2yx0iuvvFKzzLnnnltacsklS3feeWfppZdeKn37298urbrqqqXPP/98Eb4zit7PQ4YMKe24446l999/v+by8ccf2/AtaD8/88wzpeOOO670pz/9qdSnT5/ShRdeuNDrpGXu51NPPbW0zjrr1DqeP/zww0Xwbmis/fzDH/6wdPnll5deeOGFUlVVVemAAw7If4vfe++9mmX8fW4b+9nf59axrx955JHS7bffnn+Hvfnmm6WLLroo/za77777apZxTLeN/TykEX9zC91N5Gtf+1rp0EMPrbk9e/bsUt++fUvnnHNOvct/73vfK+2yyy617tt0001LhxxySP7/nDlz8o+6888/v+bxTz/9tNS5c+f8g4/WsZ/LXwC77bZbgaWm6P1cqV+/fvWGsYVZJy1nP0fo3mCDDRq9rCy4hT32Zs2aVerevXvp+uuvz7f9fW4b+zn4+9w8Ncbf04022ihXhATHdNvYz419TGte3gRmzJiRRo4cmZsmlbVv3z7ffvLJJ+t9TtxfuXwYPHhwzfLvvPNOGj9+fK1lllxyydy0Ym7rpOXt57JHH300Lbfccql///5p6NCh6aOPPiroXVDEfm6KdbJwitwn0Q2ob9++6Stf+UraZ5990pgxY+yuFryfq6ur08yZM9PSSy+db/v73Db2c5m/z61rX0cF5UMPPZRGjx6dttxyy3yfY7pt7OfGPqaF7iYwceLENHv27NS7d+9a98ftCM71ifvntXz5en7WScvbzyH6ktxwww35y+G8885Ljz32WNppp53ya9Ey9nNTrJOFU9Q+iROjw4cPT/fdd1+68sor84+56Dc6efJku6yF7udf/OIX+SRK+cefv89tYz8Hf59bz77+7LPP0hJLLJE6deqUdtlll3TppZem7bffPj/mmG4b+7mxj+mO8/0MoEl9//vfr/l/DLS2/vrrp9VWWy2fidt2222btGzA/Ik/3mVxLEcI79evX7rlllvSQQcdZHO2MOeee266+eab8/dxDORD29rP/j63Ht27d08vvvhimjJlSg5cxxxzTG6NtNVWWzV10ViE+7kxj2k13U1gmWWWSR06dEgTJkyodX/c7tOnT73PifvntXz5en7WScvbz/WJL4d4rTfffLORSk7R+7kp1snCWVT7JEZRXXPNNR3PLXA///rXv85h7IEHHsg/zMr8fW4b+7k+/j633H0dTZNXX331PKL1sccem77zne+kc845Jz/mmG4b+7mxj2mhuwlEE4aBAwfmMyplc+bMybcHDRpU73Pi/srlw4gRI2qWX3XVVfOHqnKZSZMmpaeffnqu66Tl7ef6vPfee7l/SUwVR8vYz02xThbOotoncbb9rbfecjy3sP08bNiwdOaZZ+ZuAjEFTSV/n9vGfq6Pv8+t57s7njN9+vT8f8d029jPjX5MN8pwbCzQsPYxsvjw4cPzUPU/+clP8rD248ePz4/vt99+pRNOOKHWVFIdO3Ys/frXv85TVcSIt/VNGRbr+Otf/1p6+eWX82h7pgxrXft58uTJeQqiJ598svTOO++UHnzwwdLGG29cWmONNUrTpk1rsvfZ1s3vfp4+fXqediYuyy+/fN6n8f833nijweukdeznY489tvToo4/m4zmO/+222660zDLLlD744AO7uIXs5/jbG9PU3HbbbbWmlYnv68pl/H1u3fvZ3+fWs6/PPvvs0gMPPFB666238vLxmyx+m1199dU1yzimW/9+ntzIv7mF7iZ06aWXllZeeeX8JR7D3D/11FM1j33zm9/Mw9RXuuWWW0prrrlmXj7mdb377rtrPR5TGPzyl78s9e7dO3/ott1229Lo0aMX2fuh+P1cXV1d2mGHHUrLLrtsDuMxDVHMQyiItaz9HF/ecc6z7iWWa+g6aR37ee+9986BPNa3wgor5NsxXygtZz/H93B9+zlOmpb5+9z697O/z61nX5900kml1VdfvdSlS5fSUkstVRo0aFAOdJUc061/P1c38m/udvHP/NePAwAAAF9Gn24AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgBoA9q1a5fuvPPOpi5GGj9+fNp+++1Tt27dUs+ePZu6OABQOKEbAObigAMOyGE1Lp06dUqrr756OuOMM9KsWbOa7TY77bTT0oYbbviF+99///200047paZ24YUX5rK8+OKL6fXXX2/q4gBA4ToW/xIA0HLtuOOO6brrrkvTp09P99xzTzr00EPTYostlk488cQvLDtjxowczptCqVRKs2fPnuvjffr0Sc3BW2+9lQYOHJjWWGONpi4KACwSaroBYB46d+6cA2u/fv3S0KFD03bbbZf+9re/1dSE77777ulXv/pV6tu3b+rfv3++/5VXXknbbLNNWnzxxVOvXr3ST37ykzRlypSadZafd/rpp6dll1029ejRI/30pz/Nob0sQv4RRxyRlltuudSlS5e0xRZbpGeffbbm8UcffTTXwN977705xEY5b7zxxrzOl156qaaGfvjw4fU2L29oGX/961+n5ZdfPi8TJxxmzpw5z8/LlVdemVZbbbV88iG2xx/+8Ieax1ZZZZX0l7/8Jd1www25PPEac3PttdemddZZJ7+veP3DDjus5rELLrggrbfeermJ+korrZR+9rOf1Sr7f/7zn7TrrrumpZZaKi8T64kTJmWvvvpqrvVfYoklUu/evdN+++2XJk6cWPP4bbfdltdf3jaxz6dOnTrP9w0AcyN0A8B8iCBWGY4feuihNHr06DRixIh011135XA2ePDgHPgiJN96663pwQcfrBUay8+rqqrK4flPf/pTuv3223NgLjv++ONzQL3++uvT888/n5u2x3o//vjjWus54YQT0rnnnpvXFX2ljz322Bwyowl3XPbee+8vvIeGlvGRRx7JNdNxHeWIAF8O8fW544470pFHHpnLEMH2kEMOSQceeGB+fojXipYD3/ve93LZLr744rkG9wj4cSIgTg7ESY54/2Xt27dPl1xySRo1alQu18MPP5y3V1k8N05a/OMf/8jPP++883LADp9++mk+2bDRRhul5557Lt13331pwoQJuUwhyvWDH/wg/ehHP6rZP3vuuWduSQAAC6QEANRryJAhpd122y3/f86cOaURI0aUOnfuXDruuONqHu/du3dp+vTpNc/53e9+V1pqqaVKU6ZMqbnv7rvvLrVv3740fvz4muctvfTSpalTp9Ysc+WVV5aWWGKJ0uzZs/NzF1tssdJNN91U8/iMGTNKffv2LQ0bNizffuSRRyIFlu68885aZT711FNLG2ywwRfeSyx7xx13zFcZ+/XrV5o1a1bNMt/97ndLe++991w/LV//+tdLBx98cK374jk777xzze3YnrHueYn3edJJJ5Ua6tZbby316tWr5vZ6661XOu200+pd9swzzyztsMMOte4bO3Zs3j6jR48ujRw5Mv//3XffbfDrA8C8qOkGgHmI2uuoJY0m3tEkOWqOY7CysmiGXNmPO2pHN9hgg9ysuWzzzTdPc+bMyTXiZbFM165da24PGjQoN5EeO3Zsrl2OZtzxvLLoR/61r30tr7/SJptsMt/7r6FljBrzDh061NyOZt4ffPDBPNdbWebyeuuWeV5i/ePGjUvbbrvtXJeJWvl4fIUVVkjdu3fPzcM/+uijVF1dnR+PZvlnnXVWfu1TTz01vfzyyzXPjab3UfMe+7R8WWuttfJjsd1ju8S6Y79+97vfTVdffXX65JNPGlx+AKhL6AaAedh6663zSNtvvPFG+vzzz3Nz5sqwWvn/plDk60fQrxT9sCOYF918f17efffd9K1vfSutv/76ufn9yJEj0+WXX54fKzf7//GPf5zefvvtHMajeXmcmLj00kvzY3FiI/p7xz6tvMT+3XLLLfNJhugqEH3l11577fy86Jv+zjvvFPq+AWi9hG4A+JJQG/2JV1555dSx45dP+jFgwIBcm1o58Nbjjz+e+yGXB1oLsUyE+LKnnnoq17rGwGDlgcjieWVR8x19oiMIzks8b16jmM9PGedXrLeyzOX1flmZK0XNdQy4Fn3e6xMhO4L/b37zm7TZZpulNddcM9eM1xXbMQani77y0cc8aqzDxhtvnPuCx2vEfq28lE9gxMmFqCWPPvYvvPBC3qbRXx0AFoTQDQCNaJ999slN0YcMGZIHE4umzIcffniudY2RssuiVvaggw5Kr732Wh5ZO5pBx0BmEXwj/MVI6T//+c/zQF+xzMEHH5ybT8dz5iXCZNTKRu1tjMgdA4otaBnnV5Q3BlqLgdCi5jhGGY/Qe9xxx83XeqL5foTqGCwt1hMDyZVrqiMcxwmIuB212TE6+lVXXVXr+UcddVS6//7783aI58b7ixMC5UHWYjC6GCwtTmJEk/JYNgZ8i5MVTz/9dDr77LPzIGtjxozJ5f/www9rng8A80voBoBGFP20I8RFsPvqV7+avvOd7+Q+wpdddlmt5eK+mKs6mjRHP/Fvf/vbtfqKx4jke+21Vw7CUTv75ptv5vXGiOPzEs+JEcKjWXxMRxYjoy9oGedXTDEWI5LHNGPRH/y3v/1tnuN8q622mq/1xMmAiy66KF1xxRV5PdGcPMJ3iD7XEeZjRPJ111033XTTTemcc86p9fwIzxGuIyjHtoja8FhXiKndovY9ltlhhx1y3+0I6T179swnPGL6thj1fOedd87PO/nkk/MJgOjPDwALol2MprZAzwQAFkjMTx1TV1XOmw0AtE5qugEAAKAgQjcAAAAURPNyAAAAKIiabgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAASMX4f0piH5XtcpxYAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Import necessary libraries\n", "import pandas as pd\n", @@ -80,6 +118,9 @@ "TRACE_SUCCESS = 0.20\n", "SECONDARY_TRACE_THRESHOLD = 2\n", "\n", + "# Set random seed for reproducibility\n", + "np.random.seed(50)\n", + "\n", "def simulate_event(m):\n", " \"\"\"\n", " Simulates the infection and tracing process for a series of events.\n", @@ -193,7 +234,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "lcr-env", "language": "python", "name": "python3" }, @@ -207,7 +248,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.0" + "version": "3.11.7" } }, "nbformat": 4,