From 68c3bec2de8c04731c1e1ee3d5a1312fe96c88e5 Mon Sep 17 00:00:00 2001 From: hayden outlaw Date: Mon, 11 Dec 2023 15:38:00 -0600 Subject: [PATCH] plotting significances --- notebooks/.DS_Store | Bin 6148 -> 6148 bytes notebooks/model_playground.ipynb | 4087 ++++++++++++++++++------------ 2 files changed, 2491 insertions(+), 1596 deletions(-) diff --git a/notebooks/.DS_Store b/notebooks/.DS_Store index f5b0d59148da226c7c03ce663460ae7272cf97c2..a15a5c055483de0516dff4226a056cea12c5dc52 100644 GIT binary patch delta 64 zcmZoMXffE}$jJPL>G$LYMy<(tj6BQ??k6YLGFn1uZT^A`!{Frn+yVw5V0@FXnURT& NZDIr8W_FIh`~Z^-6IB2J delta 64 zcmZoMXffE}$jJQqn#be@My<(tj6BQ@>%=G5GFn1uZT^A`!{Frn+yVw5V0`1SnURT& NZDIr8W_FIh`~a(H6Tbie diff --git a/notebooks/model_playground.ipynb b/notebooks/model_playground.ipynb index cff3527..06310bf 100644 --- a/notebooks/model_playground.ipynb +++ b/notebooks/model_playground.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 88, + "execution_count": 427, "id": "120606bc-4ac4-44aa-a4ba-6e96446d13ab", "metadata": { "tags": [] @@ -129,7 +129,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 428, "id": "15135b8b-de86-4169-af48-6063c4687df8", "metadata": { "tags": [] @@ -158,7 +158,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 429, "id": "0f199426-fb7d-4b92-9892-b9d7de96aa1d", "metadata": { "tags": [] @@ -395,7 +395,7 @@ "4 70126.0 7 POINT (-90.02090137 30.00973449) NaN NaN " ] }, - "execution_count": 90, + "execution_count": 429, "metadata": {}, "output_type": "execute_result" } @@ -406,7 +406,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 430, "id": "837c9e44-0f13-4ecd-a2a6-8ea95b1fa185", "metadata": {}, "outputs": [], @@ -416,7 +416,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 431, "id": "06e156a4-7928-49f1-af79-9d702c8ef27c", "metadata": { "tags": [] @@ -461,7 +461,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 432, "id": "a326a529-5835-4bfc-b9d9-24620a74b91c", "metadata": { "tags": [] @@ -717,7 +717,7 @@ "4 NaN -90.020901 30.009734 " ] }, - "execution_count": 93, + "execution_count": 432, "metadata": {}, "output_type": "execute_result" } @@ -728,7 +728,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 433, "id": "018440ff-6c0e-4326-bd15-7c9b40302f08", "metadata": { "tags": [] @@ -740,7 +740,7 @@ "(5109233, 26)" ] }, - "execution_count": 94, + "execution_count": 433, "metadata": {}, "output_type": "execute_result" } @@ -760,7 +760,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 434, "id": "91c2bf79-90bc-46e1-ab4a-9b1eea6137af", "metadata": { "tags": [] @@ -791,7 +791,7 @@ " dtype=object)" ] }, - "execution_count": 95, + "execution_count": 434, "metadata": {}, "output_type": "execute_result" } @@ -821,7 +821,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 435, "id": "3ea8a04a", "metadata": {}, "outputs": [ @@ -857,7 +857,7 @@ "dtype: object" ] }, - "execution_count": 96, + "execution_count": 435, "metadata": {}, "output_type": "execute_result" } @@ -877,7 +877,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 436, "id": "0526fadf", "metadata": {}, "outputs": [], @@ -888,7 +888,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 437, "id": "a776872d", "metadata": {}, "outputs": [], @@ -902,7 +902,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 438, "id": "f2431a13", "metadata": {}, "outputs": [], @@ -929,7 +929,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 439, "id": "28d9eb66", "metadata": {}, "outputs": [ @@ -1170,7 +1170,7 @@ "4 POINT (-90.02090137 30.00973449) NaN NaN -90.020901 30.009734 " ] }, - "execution_count": 100, + "execution_count": 439, "metadata": {}, "output_type": "execute_result" } @@ -1197,7 +1197,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 440, "id": "c5b0d86c", "metadata": {}, "outputs": [ @@ -1234,7 +1234,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 101, + "execution_count": 440, "metadata": {}, "output_type": "execute_result" } @@ -1245,7 +1245,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 441, "id": "c6656835", "metadata": {}, "outputs": [ @@ -1289,7 +1289,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 102, + "execution_count": 441, "metadata": {}, "output_type": "execute_result" } @@ -1308,7 +1308,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 442, "id": "6da53960", "metadata": {}, "outputs": [], @@ -1327,7 +1327,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 443, "id": "dcd84f39", "metadata": {}, "outputs": [ @@ -1356,7 +1356,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 104, + "execution_count": 443, "metadata": {}, "output_type": "execute_result" } @@ -1383,7 +1383,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 444, "id": "ac9b6083", "metadata": {}, "outputs": [ @@ -1393,7 +1393,7 @@ "430" ] }, - "execution_count": 105, + "execution_count": 444, "metadata": {}, "output_type": "execute_result" } @@ -1404,7 +1404,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 445, "id": "5bebcb69-77c4-4daa-ab6a-cf1c31d6701f", "metadata": { "tags": [] @@ -1426,7 +1426,7 @@ "Name: TypeText, dtype: object" ] }, - "execution_count": 106, + "execution_count": 445, "metadata": {}, "output_type": "execute_result" } @@ -1472,7 +1472,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 446, "id": "ba104776", "metadata": {}, "outputs": [], @@ -1492,7 +1492,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 447, "id": "4c7858c6", "metadata": {}, "outputs": [], @@ -1505,7 +1505,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 448, "id": "bc760579-9122-4ce6-b9ac-7a7eaf6928a0", "metadata": { "tags": [] @@ -1748,7 +1748,7 @@ "5 POINT (-90.11613127 29.95092657) NaN NaN -90.116131 29.950927 " ] }, - "execution_count": 109, + "execution_count": 448, "metadata": {}, "output_type": "execute_result" } @@ -1759,14 +1759,14 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 449, "id": "07ffb75f", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "504e1fc2c9ca4084a02a8d6b8ec89e7b", + "model_id": "194487ab399647398c403d88bdff5e13", "version_major": 2, "version_minor": 0 }, @@ -1818,7 +1818,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 450, "id": "a0964168-b38d-4f60-a426-ac38d92ad9d0", "metadata": {}, "outputs": [], @@ -1837,7 +1837,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 451, "id": "7f949543-26b6-428d-80b3-fc87532938f5", "metadata": { "tags": [] @@ -2368,7 +2368,7 @@ "4 NaN " ] }, - "execution_count": 112, + "execution_count": 451, "metadata": {}, "output_type": "execute_result" } @@ -2379,7 +2379,7 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": 452, "id": "76c7d3fb-e5f6-4e55-89cb-c50e01eabc89", "metadata": { "tags": [] @@ -2393,7 +2393,7 @@ " 'USW00012930', 'US1LAOR0009', 'US1LAOR0019'], dtype=object)" ] }, - "execution_count": 113, + "execution_count": 452, "metadata": {}, "output_type": "execute_result" } @@ -2405,7 +2405,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 453, "id": "01bd6683-3f9b-4351-8f6b-b54bf43ce6ae", "metadata": { "tags": [] @@ -2430,7 +2430,7 @@ " dtype='object')" ] }, - "execution_count": 114, + "execution_count": 453, "metadata": {}, "output_type": "execute_result" } @@ -2441,7 +2441,7 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 454, "id": "5b127a35-0858-4bc5-b5e5-7780439210c6", "metadata": { "tags": [] @@ -2466,7 +2466,7 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 455, "id": "55f6d39b-1d11-4869-bed5-6712c9e1f9d3", "metadata": { "tags": [] @@ -2636,7 +2636,7 @@ "2716 True False False " ] }, - "execution_count": 116, + "execution_count": 455, "metadata": {}, "output_type": "execute_result" } @@ -2647,7 +2647,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 456, "id": "cb8e6a84-5953-4704-96fd-99119543f04d", "metadata": { "tags": [] @@ -2659,7 +2659,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 457, "id": "eb6910c1-bada-4b68-8c88-c71a985521bc", "metadata": { "tags": [] @@ -2975,7 +2975,7 @@ "4 False False False False " ] }, - "execution_count": 118, + "execution_count": 457, "metadata": {}, "output_type": "execute_result" } @@ -3004,7 +3004,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 458, "id": "917d6ad6-3025-4162-8fba-cb399d2be0b2", "metadata": { "tags": [] @@ -3380,7 +3380,7 @@ "2023-09-28 USW00053917 False False False False False " ] }, - "execution_count": 119, + "execution_count": 458, "metadata": {}, "output_type": "execute_result" } @@ -3412,7 +3412,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 459, "id": "39e5e7ee", "metadata": {}, "outputs": [], @@ -3423,7 +3423,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 460, "id": "c6d87976", "metadata": {}, "outputs": [ @@ -3438,7 +3438,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 121, + "execution_count": 460, "metadata": {}, "output_type": "execute_result" } @@ -3458,7 +3458,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 461, "id": "56e782c4-7566-43f9-9230-689fce9a8266", "metadata": { "tags": [] @@ -3534,7 +3534,7 @@ "4494 FIREWORKS 2020-04-20 20:22:27 04-20" ] }, - "execution_count": 122, + "execution_count": 461, "metadata": {}, "output_type": "execute_result" } @@ -3555,7 +3555,7 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 462, "id": "5a22038d-5435-4383-9ee7-2d4da1cdbe77", "metadata": { "tags": [] @@ -3629,7 +3629,7 @@ "01-03 FIREWORKS 25" ] }, - "execution_count": 123, + "execution_count": 462, "metadata": {}, "output_type": "execute_result" } @@ -3651,7 +3651,7 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 463, "id": "e658e90c-ff01-48b6-a34d-4096fafb5932", "metadata": { "tags": [] @@ -3681,7 +3681,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 464, "id": "4a33ac0c-e6c2-4222-a6a6-9585eb378018", "metadata": { "tags": [] @@ -3726,7 +3726,7 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 465, "id": "96baab72-ef65-469c-8e4c-22ff0bdc5b89", "metadata": { "tags": [] @@ -3743,7 +3743,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 126, + "execution_count": 465, "metadata": {}, "output_type": "execute_result" } @@ -3764,7 +3764,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 466, "id": "fd1343a2-dc96-423c-a75f-fabfcc842d84", "metadata": { "tags": [] @@ -3840,7 +3840,7 @@ "35747 FLOOD EVENT 2020-05-15 01:12:54 05-15" ] }, - "execution_count": 127, + "execution_count": 466, "metadata": {}, "output_type": "execute_result" } @@ -3861,7 +3861,7 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 467, "id": "1bca308f-377c-44c3-9ee9-a4ca59e4113e", "metadata": { "tags": [] @@ -3937,7 +3937,7 @@ "01-23 FLOODED STREET 1" ] }, - "execution_count": 128, + "execution_count": 467, "metadata": {}, "output_type": "execute_result" } @@ -3951,7 +3951,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 468, "id": "9194d975-a548-45ff-8d73-cb1ed24874c8", "metadata": { "tags": [] @@ -4002,7 +4002,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 469, "id": "2281422a-3ae6-412b-83b1-122174d1af45", "metadata": { "tags": [] @@ -4048,7 +4048,7 @@ "dtype: float64" ] }, - "execution_count": 130, + "execution_count": 469, "metadata": {}, "output_type": "execute_result" } @@ -4060,7 +4060,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 470, "id": "e4e27a88-8493-4e88-a304-04b8cbe0af4d", "metadata": { "tags": [] @@ -4093,7 +4093,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 471, "id": "f4593e0a-d9b5-4e0c-a569-f171355d9375", "metadata": { "tags": [] @@ -4128,7 +4128,7 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 472, "id": "9d358d22-e708-42e5-9ce7-1cf94109dab7", "metadata": { "tags": [] @@ -4396,7 +4396,7 @@ "4 Accidents/Traffic Safety 2020-01-27 US1LAOR0014 " ] }, - "execution_count": 133, + "execution_count": 472, "metadata": {}, "output_type": "execute_result" } @@ -4415,7 +4415,7 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": 473, "id": "05282fee-e500-4bfa-8388-24c6b9229b87", "metadata": { "tags": [] @@ -4427,7 +4427,7 @@ }, { "cell_type": "code", - "execution_count": 135, + "execution_count": 474, "id": "55b4952b-d5c0-445b-8c18-71224b73b8b4", "metadata": { "tags": [] @@ -4948,7 +4948,7 @@ "4 False False False False " ] }, - "execution_count": 135, + "execution_count": 474, "metadata": {}, "output_type": "execute_result" } @@ -4969,7 +4969,7 @@ }, { "cell_type": "code", - "execution_count": 136, + "execution_count": 475, "id": "6e87340b-7cf0-48c0-bca9-498d114f67c4", "metadata": { "tags": [] @@ -4982,7 +4982,7 @@ }, { "cell_type": "code", - "execution_count": 137, + "execution_count": 476, "id": "3a099e87-1c9e-4a1d-a2ad-5ef54792d3ac", "metadata": { "tags": [] @@ -5114,7 +5114,7 @@ "4 0.01 " ] }, - "execution_count": 137, + "execution_count": 476, "metadata": {}, "output_type": "execute_result" } @@ -5127,732 +5127,72 @@ }, { "cell_type": "code", - "execution_count": 138, - "id": "ff5fc08d-a5f0-4f2d-9dae-fa61bc97db27", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
NOPD_ItemTypeTypeTextPriorityInitialTypeInitialTypeTextInitialPriorityMapXMapYTimeCreateTimeDispatchTimeArriveTimeClosedDispositionDispositionTextSelfInitiatedBeatBLOCK_ADDRESSZipPoliceDistrictLocationType_TimeArrivalLongitude_xLatitude_xSimpleTypeDateCreatePairedStationNameLatitude_yLongitude_yElevationAverageDailyWindNumDaysPrecipAvgFastestWindTimeMultidayPrecipTotalPeakGustTimePrecipitationSnowfallMinSoilTempTimeAvgTempTimeMaxTempTimeMinTempTempAtObs2MinMaxWindDirection5MinMaxWindDirection2MinMaxWindSpeed5MinMaxWindSpeedFogHeavy FogThunderIce PelletsHailRimeSmokeTornadoHigh WindMistDrizzleRainSnowGround Fog
0A347222022AAREA CHECK1K22AAREA CHECK1K3688756.0528696.02020-01-28 01:37:202020-01-28 01:37:202020-01-28 01:37:282020-01-28 02:25:50NATNecessary Action TakenN4G04Atlantic Ave & Slidell St70114.04POINT (-90.04525645 29.94750953)NaNNaN-90.04525629.947510Status2020-01-28US1LAOR0006NEW ORLEANS 2.1 ENE, LA US29.961679-90.0388032.4NaNNaNNaNNaNNaN0.01NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
1A360532018TRAFFIC INCIDENT1J18TRAFFIC INCIDENT1J3677293.0536895.02020-01-28 23:40:432020-01-28 23:40:432020-01-28 23:40:432020-01-29 00:01:34NATNecessary Action TakenY1J03026XX Saint Ann St70119.01POINT (-90.08116628 29.97040355)NaNNaN-90.08116629.970404Accidents/Traffic Safety2020-01-28US1LAOR0006NEW ORLEANS 2.1 ENE, LA US29.961679-90.0388032.4NaNNaNNaNNaNNaN0.01NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
2A355712058RETURN FOR ADDITIONAL INFO0A58RETURN FOR ADDITIONAL INFO1I3679778.0526277.02020-01-28 16:28:002020-01-28 21:33:432020-01-28 21:33:482020-01-28 23:01:01NATNecessary Action TakenN6E04012XX Saint Charles Ave70130.06POINT (-90.07368951 29.94113385)NaNNaN-90.07369029.941134Status2020-01-28US1LAOR0006NEW ORLEANS 2.1 ENE, LA US29.961679-90.0388032.4NaNNaNNaNNaNNaN0.01NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
3A360022058RETURN FOR ADDITIONAL INFO1I58RETURN FOR ADDITIONAL INFO1I3692978.0529591.02020-01-28 22:23:242020-01-28 22:23:242020-01-28 22:23:242020-01-28 22:52:46NATNecessary Action TakenY4H02024XX Sanctuary Dr70114.04POINT (-90.03189416 29.94983828)NaNNaN-90.03189429.949838Status2020-01-28US1LAOR0006NEW ORLEANS 2.1 ENE, LA US29.961679-90.0388032.4NaNNaNNaNNaNNaN0.01NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
4A3583520TSTRAFFIC STOP1JTSTRAFFIC STOP1J3705091.0512746.02020-01-28 19:33:372020-01-28 19:33:372020-01-28 19:33:372020-01-28 19:45:08NATNecessary Action TakenY4D05057XX Tullis Dr70131.04POINT (-89.99426931 29.90313678)NaNNaN-89.99426929.903137Accidents/Traffic Safety2020-01-28US1LAOR0006NEW ORLEANS 2.1 ENE, LA US29.961679-90.0388032.4NaNNaNNaNNaNNaN0.01NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalse
\n", - "
" - ], - "text/plain": [ - " NOPD_Item Type TypeText Priority InitialType \\\n", - "0 A3472220 22A AREA CHECK 1K 22A \n", - "1 A3605320 18 TRAFFIC INCIDENT 1J 18 \n", - "2 A3557120 58 RETURN FOR ADDITIONAL INFO 0A 58 \n", - "3 A3600220 58 RETURN FOR ADDITIONAL INFO 1I 58 \n", - "4 A3583520 TS TRAFFIC STOP 1J TS \n", - "\n", - " InitialTypeText InitialPriority MapX MapY \\\n", - "0 AREA CHECK 1K 3688756.0 528696.0 \n", - "1 TRAFFIC INCIDENT 1J 3677293.0 536895.0 \n", - "2 RETURN FOR ADDITIONAL INFO 1I 3679778.0 526277.0 \n", - "3 RETURN FOR ADDITIONAL INFO 1I 3692978.0 529591.0 \n", - "4 TRAFFIC STOP 1J 3705091.0 512746.0 \n", - "\n", - " TimeCreate TimeDispatch TimeArrive \\\n", - "0 2020-01-28 01:37:20 2020-01-28 01:37:20 2020-01-28 01:37:28 \n", - "1 2020-01-28 23:40:43 2020-01-28 23:40:43 2020-01-28 23:40:43 \n", - "2 2020-01-28 16:28:00 2020-01-28 21:33:43 2020-01-28 21:33:48 \n", - "3 2020-01-28 22:23:24 2020-01-28 22:23:24 2020-01-28 22:23:24 \n", - "4 2020-01-28 19:33:37 2020-01-28 19:33:37 2020-01-28 19:33:37 \n", - "\n", - " TimeClosed Disposition DispositionText SelfInitiated Beat \\\n", - "0 2020-01-28 02:25:50 NAT Necessary Action Taken N 4G04 \n", - "1 2020-01-29 00:01:34 NAT Necessary Action Taken Y 1J03 \n", - "2 2020-01-28 23:01:01 NAT Necessary Action Taken N 6E04 \n", - "3 2020-01-28 22:52:46 NAT Necessary Action Taken Y 4H02 \n", - "4 2020-01-28 19:45:08 NAT Necessary Action Taken Y 4D05 \n", - "\n", - " BLOCK_ADDRESS Zip PoliceDistrict \\\n", - "0 Atlantic Ave & Slidell St 70114.0 4 \n", - "1 026XX Saint Ann St 70119.0 1 \n", - "2 012XX Saint Charles Ave 70130.0 6 \n", - "3 024XX Sanctuary Dr 70114.0 4 \n", - "4 057XX Tullis Dr 70131.0 4 \n", - "\n", - " Location Type_ TimeArrival Longitude_x \\\n", - "0 POINT (-90.04525645 29.94750953) NaN NaN -90.045256 \n", - "1 POINT (-90.08116628 29.97040355) NaN NaN -90.081166 \n", - "2 POINT (-90.07368951 29.94113385) NaN NaN -90.073690 \n", - "3 POINT (-90.03189416 29.94983828) NaN NaN -90.031894 \n", - "4 POINT (-89.99426931 29.90313678) NaN NaN -89.994269 \n", - "\n", - " Latitude_x SimpleType DateCreate PairedStation \\\n", - "0 29.947510 Status 2020-01-28 US1LAOR0006 \n", - "1 29.970404 Accidents/Traffic Safety 2020-01-28 US1LAOR0006 \n", - "2 29.941134 Status 2020-01-28 US1LAOR0006 \n", - "3 29.949838 Status 2020-01-28 US1LAOR0006 \n", - "4 29.903137 Accidents/Traffic Safety 2020-01-28 US1LAOR0006 \n", - "\n", - " Name Latitude_y Longitude_y Elevation \\\n", - "0 NEW ORLEANS 2.1 ENE, LA US 29.961679 -90.038803 2.4 \n", - "1 NEW ORLEANS 2.1 ENE, LA US 29.961679 -90.038803 2.4 \n", - "2 NEW ORLEANS 2.1 ENE, LA US 29.961679 -90.038803 2.4 \n", - "3 NEW ORLEANS 2.1 ENE, LA US 29.961679 -90.038803 2.4 \n", - "4 NEW ORLEANS 2.1 ENE, LA US 29.961679 -90.038803 2.4 \n", - "\n", - " AverageDailyWind NumDaysPrecipAvg FastestWindTime MultidayPrecipTotal \\\n", - "0 NaN NaN NaN NaN \n", - "1 NaN NaN NaN NaN \n", - "2 NaN NaN NaN NaN \n", - "3 NaN NaN NaN NaN \n", - "4 NaN NaN NaN NaN \n", - "\n", - " PeakGustTime Precipitation Snowfall MinSoilTemp TimeAvgTemp \\\n", - "0 NaN 0.01 NaN NaN NaN \n", - "1 NaN 0.01 NaN NaN NaN \n", - "2 NaN 0.01 NaN NaN NaN \n", - "3 NaN 0.01 NaN NaN NaN \n", - "4 NaN 0.01 NaN NaN NaN \n", - "\n", - " TimeMaxTemp TimeMinTemp TempAtObs 2MinMaxWindDirection \\\n", - "0 NaN NaN NaN NaN \n", - "1 NaN NaN NaN NaN \n", - "2 NaN NaN NaN NaN \n", - "3 NaN NaN NaN NaN \n", - "4 NaN NaN NaN NaN \n", - "\n", - " 5MinMaxWindDirection 2MinMaxWindSpeed 5MinMaxWindSpeed Fog Heavy Fog \\\n", - "0 NaN NaN NaN False False \n", - "1 NaN NaN NaN False False \n", - "2 NaN NaN NaN False False \n", - "3 NaN NaN NaN False False \n", - "4 NaN NaN NaN False False \n", - "\n", - " Thunder Ice Pellets Hail Rime Smoke Tornado High Wind Mist \\\n", - "0 False False False False False False False False \n", - "1 False False False False False False False False \n", - "2 False False False False False False False False \n", - "3 False False False False False False False False \n", - "4 False False False False False False False False \n", - "\n", - " Drizzle Rain Snow Ground Fog \n", - "0 False False False False \n", - "1 False False False False \n", - "2 False False False False \n", - "3 False False False False \n", - "4 False False False False " + "execution_count": 477, + "id": "2ee278a9-ac2d-4681-80c4-7e62dfa1dc2c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" ] }, - "execution_count": 138, + "execution_count": 477, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/png": "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ERERETWEWoehb7/91uX2U6dOYfbs2RgxYkRtiyYiIiJqMLWeZ6gqHTt2RHJyMlatWlXXRRMRERHVuToPQwDg4+OD8+fP10fRRERERHWq1o/JLly44LTNbDYjLy8PK1asQGho6A1dGBEREVFDqHUYGjRokMt1yQRBgFKpxMqVK2/owoiIiIgaQq3D0CuvvOIUhkQiEXx8fNCrVy/4+Pjc8MURERER1bdah6FevXpBrVZDJpM57TMYDPjtt98QHx9/QxdHREREVN9q3YH69ttvR0ZGhst96enpmDRpUq0vioiIiKihXFfL0GuvvYaSkhIA1r5Ba9asQWBgoNNxGRkZ8PX1rZMLJCIiIqpP1xWGQkNDsWbNGgDW/kG///475HK5wzESiQS+vr41Wq6DiIiIqLFdVxgaM2YMxowZA8A6mmz16tXo0qVLvVwYERERUUOo8+U4iIiIiNzJdYWhiRMn4vnnn0doaCgmTpxY7bEikQjvvffeDV0cERERUX27rjAkCILLr691LBEREVFTdV1h6IMPPnD5NREREZG7qvU8QxMnTsTJkydd7jtx4gSGDRtW64siIiIiaijX1TKUmppqf/x15MgR/PLLLygqKnI67rvvvsNff/1VN1dIREREVI+uKwxt374dO3fuhEgkgkgkwuLFi52OsYWle++9t26ukIiIiKgeXVcYWrhwIUaNGgVBEPDQQw9h0aJF6NSpk8MxYrEYfn5+CAsLq9MLJSIiIqoP1xWGfH190aNHDwDA+++/j8jISHh7e9fLhRERERE1hFpPutijRw/k5eXhhx9+gMFgsG+3WCzQarVITU3Fm2++WScXSURERFRfah2G9uzZgzlz5sBkMkEkEgGw9heyfd2xY8e6uUIiIiKielTrofXr169H165dsWPHDowaNQpJSUn48ssvMWfOHEilUixYsKAur5OIiIioXtS6Zej06dNYtmwZunbtit69e2PTpk0IDQ1FaGgoCgsLsW7dOvTt27cur5WIiIioztW6ZUgsFiMgIAAA0L59e5w6dQoWiwUA0L9/f+Tk5NTJBRIRERHVp1qHoY4dO+LXX38FYA1DRqMRGRkZAICysjKHTtVERERETVWtH5Pdd999eP7556HRaPDUU0+hZ8+eWLBgAcaMGYMtW7YgMjKyLq+TiIiIqF7UumVo7NixWLhwIYxGIwDgpZdegl6v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EhEReYxGDUOnT5/GK6+8giFDhmDatGkoLCxEQUEBCgoKUF5ejkmTJuHHH3/EihUrcPbsWRw8eBDPPvssBgwYYH+UVF5ejqKiImtlxGLccccd2LRpk70j9tatW7Fp06Za9xeqaz4qGWLD1C73xYap4estd7mPiIiI6kejNkN88803MBqN2Lt3L/bu3euwb+TIkViyZAnWr1+P1atX47333kNgYCCGDBniEGxSUlJw5MgRfPvttwCAp59+Gn5+fnjjjTeQl5eHtm3bYuHChRg3blyD1q0qKjkwa2wsVn2S7jSabNbYWAT7Nb9nxURERE1Zo4ah6dOnY/r06dUeM2DAAKfh91dasmSJw2upVIoZM2ZgxowZdXKN9aFVsDeefCAO5ZUGVGpN8FZK4estZxAiIiJqBOyg0kiC/ZQMP0RERE1Ao3egJiIiImpMDENERETk0RiGiIiIyKMxDBEREZFHYxgiIiIij8YwRERERB6NYYiIiIg8GsMQEREReTSGISIiIvJoDENERETk0RiGiIiIyKMxDBEREZFHYxgiIiIij8YwRERERB6NYYiIiIg8GsMQEREReTSGISIiIvJoDENERETk0RiGiIiIyKMxDBEREZFHYxgiIiIij8YwRERERB6NYYiIiIg8GsMQEREReTSGISIiIvJoDENERETk0RiGiIiIyKMxDBEREZFHYxgiIiIijyZt7AsgIiIiz3SpSAONzohKrRE+ShmUChlCglQNfh0MQ0RERNTgLl6uwOrtx5CeXWDfFhumRvKYGLRu4dOg18LHZERERNSgLhVpnIIQAKRnF2D19mO4VKRp0OthGCIiIqIGpdEZnYKQTXp2ATQ6Y4NeD8MQERERNahKbfVhp1JraqArsWIYIiIiogblrZRdY3/DdmlmGCIiIqIGpVLIEBumdrkvNkwNlaL6sFTXGIaIiIioQYUEqZA8JsYpENlGkzX08HoOrSciIqIG17qFD2aP6/b3PEMmeCulUHGeISIiIvIkjRF8XOFjMiIiIvJoDENERETk0RiGiIiIyKMxDBEREZFHYxgiIiIij8YwRERERB6NYYiIiIg8GsMQEREReTSGISIiIvJoDENERETk0USCIAiNfRFN3W+//QZBECCXy2tdhiAIMBqNkMlkEIlEdXh1TQPr595YP/fX3OvI+rm3xqqfwWCASCRCfHx8tcdxbbIa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lhAZGSksXbpUyMnJETZv3ix07drVYZ6a4uJiobi42P569uzZQmJiorB//37h9OnTwvr164UuXboI+/fvFwRBEHQ6nTB48GBh8uTJQkZGhn1+hZUrVzb5+pWUlAgJCQnC2LFjhby8PIf5I2zH/P7770JUVJSwePFi4dSpU8KRI0eEESNGCPfdd59gsViadP0EQRC2bt0qxMTECDt27LDPcdKzZ0/7HCcN9flVVlYKQ4cOFcaPHy8cPXpUyMnJERYsWCB069ZNOHv2rCAI/8zHsnfvXuGvv/4SVq9eLURGRgqpqalV1k8QBOGzzz4ToqKiXH4eDfX51Wcdm8o9WB/1a0r3YH19fu50D27dulXo2rWr8N577wlnz54V9u7dK/Tt21d44YUXqqyfILjXPVibOjbmPcgwVAsnT54UJk2aJHTr1k3o27ev8PLLLwsajcbhmB9++EG49957haioKOHOO+8UvvzyS4f9EyZMECZMmGB/XVlZKSxZskQYMGCAEBUVJQwfPlzYu3evwzlnzpwRJk2aJERHRwv9+vUTVqxY4TDHRFOt365du4Tw8HCX/678Hhw6dEi47777hG7dugk9evQQ5s+fL5SUlDT5+tls2rRJSExMFGJiYoQHHnhA+PPPPx32N9Tnl5eXJzz11FNC3759hYSEBGHSpElCRkaGwzEbNmwQbrvtNiE2NlYYP36804SSruq3YcMGoW/fvlW+b0N9foJQP3VsSvdgXdevqd2D9fUz6k734GeffSYkJSUJsbGxwtChQ4XVq1cLBoOh2vq52z14vXVszHtQJAjVzI1NRERE1MyxzxARERF5NIYhIiIi8mgMQ0REROTRGIaIiIjIozEMERERkUdjGCIiIiKPxjBEREREHo1hiIg8DqdXI6IrMQwRUZ168MEH8eCDDzb2ZdgNGjQIzz77rP312rVrsXnz5jop+9lnn8WgQYPqpCwiajwMQ0TUrK1atQozZ860v16xYgW0Wm0jXhERNTXSxr4AIqL61LVr18a+BCJq4tgyREQN7sCBA3jggQdw6623omfPnnj66adx8eJF+/4dO3aga9euSE9Px/jx4xEdHY2BAwdi48aNDuXk5+fjySefRI8ePdC9e3csWrQIb775psOjqysfk0VERACwthbZvl65cqX96ytFRERg5cqV9telpaWYP38+evbsie7du2Pp0qWwWCxO5+3btw+jRo1CdHQ0+vbti5dffhkajea6vj+vvvoqIiIicOjQIfu2zz//HBEREfj000+vqywiujaGISJqUJ9//jkeeeQRhISEYPny5Zg/fz7S0tIwfvx4FBYW2o+zWCx44okncPfdd2PDhg249dZbsWzZMvz4448AAIPBgIceegi//fYbFixYgFdffRUnTpzAO++8U+V7b926FQAwZswY+9c1YbFYMGXKFHz//fd45pln8NprryEtLQ1fffWVw3G7d+9GcnIyOnbsiNWrV2PWrFnYtWsXZs6ceV2dtp966il06NABzz//PAwGAy5duoSXX34ZQ4cOxejRo2tcDhHVDB+TEVGDsVgsWLp0Kfr06YM333zTvj0+Ph5333033nnnHcyZMweAdcTXzJkzMXbsWADArbfeir179+L7779H//79sWvXLpw6dQqffvopoqKiAAC9evXC4MGDq3z/bt26AQBatWpl/7om9u/fj2PHjmH9+vUYOHCg/b2ubIESBAHLli1D//79sWzZMvv29u3b4+GHH8YPP/xgP/davLy88Nprr+H+++/Hhg0bkJ6eDoVCgRdffLHG10xENceWISJqMKdPn0ZBQQGGDRvmsP2WW25BXFwcDh8+7LA9Li7O/rVcLkdQUJD9kdOhQ4dw880324MQAPj4+OC2226r8+tOTU2FTCZDYmKifZtKpcKAAQPsr0+dOoW8vDwMGjQIJpPJ/q979+7w8fHBgQMHrus9Y2NjMXnyZKxevRo//vgjlixZgsDAwDqrExH9g2GIiBpMSUkJAKBFixZO+1q0aIHy8nKHbQqFwuG1WCy2P24qLi5GcHCwy3LqWmlpKQICAiAWO/7KVKvV9q9tdVu8eDEiIyMd/lVUVCA/P/+633fEiBGwWCwIDAxEbGzsDdWBiKrGx2RE1GACAgIAAJcvX3baV1BQcF0tHyEhIcjNzXXafmW/o5oQiUQAALPZDIlEAgCorKx0OCYwMBDFxcUOxwD/BCAA8PPzAwDMnTsXPXr0cHoff3//67ouQRDw/PPP4+abb0ZxcTFee+01vPTSS9dVBhHVDFuGiKjBdOjQAWq1Grt373bY/tdff+Ho0aOIj4+vcVk9evTAX3/9hYyMDPs2vV6P/fv3V3ve1a07Pj4+AOAwmu23335zOKZ3794wmUzYt2+ffZvBYHB49NWxY0cEBwfj3LlziI6Otv9r1aoV3njjDfz55581rhsAvPfee0hNTUVKSgqefPJJbNu27Zp1I6LaYcsQEdW5vLw8/Oc//3Ha3qlTJzz11FOYP38+nnzySYwYMQLFxcVYtWoV/P39MWnSpBq/x7333osNGzYgOTkZjz/+OPz8/PDOO++gsLAQbdq0qfI8Pz8/pKWl4ZdffkFCQgIGDBiAV199Fc899xymTp2KvLw8rFq1Ct7e3vZzevfujX79+uHf//43CgsLcdNNN+H9999HUVGR/VGdRCLBk08+iUWLFkEikeC2225DWVkZ1qxZg0uXLiEyMrLGdTt9+jTefPNNjB071j6Uf9euXfj3v/+NL774wt4KRUR1g2GIiOrc2bNn8eqrrzptHzlyJJYsWQJvb2+sX78eycnJ8PHxQf/+/fHUU0859MG5FqlUis2bNyMlJQUvvPACpFIpkpKSEBgYiNOnT1d53vTp07FmzRpMnToVX331FTp06IDXXnsNa9euxaOPPorQ0FC89NJLTo+kVq1ahWXLluHtt9+GXq/H3XffjXHjxuF///uf/ZixY8fC29sbmzZtwtatW6FSqRAfH49ly5bh5ptvrlG9LBYL5s+fD19fX8ydOxeAtTXrpZdewqhRo5CSkoLXXnutxt8nIro2kcAVC4nIDWVnZ+PUqVMYOnSovd8PAIwePRqtW7fGqlWrGvHqiMidsGWIiNySRqPB448/jgceeABDhgyB2WzGF198gT/++MM+V1FTYzabrzn5okgkcuikTUT1jy1DROS2vv76a2zevBknT56EIAjo2rUrZsyYgX79+jX2pbk0aNAgnD9/vtpjbrrpJnz77bcNdEVEBDAMERE1mMzMTBgMhmqPkcvlLtdKI6L6wzBEREREHo3zDBEREZFHYxgiIiIij8YwRERERB6NYYiIiIg8GsMQEREReTSGISIiIvJoDENERETk0f4f4cyOWOgRZFEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "calls_weather_master.head()" - ] - }, - { - "cell_type": "markdown", - "id": "ce632756-fc50-496e-b170-fed76d835e10", - "metadata": {}, - "source": [ - "## Precipitation vs Drug Incidents" + "sns.scatterplot(cfs_ml, x = \"Longitude_x\", y = \"Latitude_x\")" ] }, { "cell_type": "code", - "execution_count": null, - "id": "6b7cd677-546d-4718-b0c4-4d5652a817cf", + "execution_count": 478, + "id": "0277b14b-42a1-4b7e-a711-a63ca2e7576b", "metadata": {}, "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 139, - "id": "ec4ccb48-78de-4cfd-ac1b-8378160a04e9", - "metadata": { - "tags": [] - }, - "outputs": [], "source": [ - "#cfs_ml = cfs_ml[cfs_ml[\"SimpleType\"] == 'Drugs']" + "cfs_ml = cfs_ml[(cfs_ml[\"Longitude_x\"] < -89.5) & (cfs_ml[\"Latitude_x\"] > 29.5)]" ] }, { "cell_type": "code", - "execution_count": 140, - "id": "6156b51b-3d9a-4213-9692-1b500365d7f9", + "execution_count": 479, + "id": "c1399ee0-2f39-4c05-a7d4-64ff8c3549e0", "metadata": { "tags": [] }, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
NOPD_ItemTimeCreateZipLongitude_xLatitude_xSimpleTypeTimeMaxTempPairedStationDateCreatePrecipitationLong_binLat_bin
0A34722202020-01-28 01:37:2070114.0-90.04525629.947510StatusNaNUS1LAOR00062020-01-280.01725
1A36053202020-01-28 23:40:4370119.0-90.08116629.970404Accidents/Traffic SafetyNaNUS1LAOR00062020-01-280.01625
2A35571202020-01-28 16:28:0070130.0-90.07369029.941134StatusNaNUS1LAOR00062020-01-280.01625
3A36002202020-01-28 22:23:2470114.0-90.03189429.949838StatusNaNUS1LAOR00062020-01-280.01725
4A35835202020-01-28 19:33:3770131.0-89.99426929.903137Accidents/Traffic SafetyNaNUS1LAOR00062020-01-280.01824
\n", - "
" - ], "text/plain": [ - " NOPD_Item TimeCreate Zip Longitude_x Latitude_x \\\n", - "0 A3472220 2020-01-28 01:37:20 70114.0 -90.045256 29.947510 \n", - "1 A3605320 2020-01-28 23:40:43 70119.0 -90.081166 29.970404 \n", - "2 A3557120 2020-01-28 16:28:00 70130.0 -90.073690 29.941134 \n", - "3 A3600220 2020-01-28 22:23:24 70114.0 -90.031894 29.949838 \n", - "4 A3583520 2020-01-28 19:33:37 70131.0 -89.994269 29.903137 \n", - "\n", - " SimpleType TimeMaxTemp PairedStation DateCreate \\\n", - "0 Status NaN US1LAOR0006 2020-01-28 \n", - "1 Accidents/Traffic Safety NaN US1LAOR0006 2020-01-28 \n", - "2 Status NaN US1LAOR0006 2020-01-28 \n", - "3 Status NaN US1LAOR0006 2020-01-28 \n", - "4 Accidents/Traffic Safety NaN US1LAOR0006 2020-01-28 \n", - "\n", - " Precipitation Long_bin Lat_bin \n", - "0 0.01 7 25 \n", - "1 0.01 6 25 \n", - "2 0.01 6 25 \n", - "3 0.01 7 25 \n", - "4 0.01 8 24 " + "-89.67325" ] }, - "execution_count": 140, + "execution_count": 479, "metadata": {}, "output_type": "execute_result" - } - ], - "source": [ - "n = 30\n", - "\n", - "long_bins = np.linspace(cfs_ml[\"Longitude_x\"].min(), cfs_ml[\"Longitude_x\"].max(), n + 1)\n", - "lat_bins = np.linspace(cfs_ml[\"Latitude_x\"].min(), cfs_ml[\"Latitude_x\"].max(), n + 1)\n", - "\n", - "\n", - "cfs_ml[\"Long_bin\"] = np.digitize(cfs_ml[\"Longitude_x\"], long_bins)\n", - "cfs_ml[\"Lat_bin\"] = np.digitize(cfs_ml[\"Latitude_x\"], lat_bins)\n", - "\n", - "cfs_ml.head()" + } + ], + "source": [ + "max(cfs_ml[\"Longitude_x\"])" ] }, { "cell_type": "code", - "execution_count": 141, - "id": "29c062b1-5046-4d3a-9a3a-2cdb971b9a6d", + "execution_count": 480, + "id": "6156b51b-3d9a-4213-9692-1b500365d7f9", "metadata": { "tags": [] }, @@ -5890,9 +5230,6 @@ " Precipitation\n", " Long_bin\n", " Lat_bin\n", - " YearCreate\n", - " MonthCreate\n", - " DayCreate\n", " \n", " \n", " \n", @@ -5908,11 +5245,8 @@ " US1LAOR0006\n", " 2020-01-28\n", " 0.01\n", - " 7\n", - " 25\n", - " 2020\n", - " 1\n", - " 28\n", + " 16\n", + " 14\n", " \n", " \n", " 1\n", @@ -5926,11 +5260,8 @@ " US1LAOR0006\n", " 2020-01-28\n", " 0.01\n", - " 6\n", - " 25\n", - " 2020\n", - " 1\n", - " 28\n", + " 15\n", + " 15\n", " \n", " \n", " 2\n", @@ -5944,11 +5275,8 @@ " US1LAOR0006\n", " 2020-01-28\n", " 0.01\n", - " 6\n", - " 25\n", - " 2020\n", - " 1\n", - " 28\n", + " 15\n", + " 14\n", " \n", " \n", " 3\n", @@ -5962,11 +5290,8 @@ " US1LAOR0006\n", " 2020-01-28\n", " 0.01\n", - " 7\n", - " 25\n", - " 2020\n", - " 1\n", - " 28\n", + " 17\n", + " 14\n", " \n", " \n", " 4\n", @@ -5980,11 +5305,83 @@ " US1LAOR0006\n", " 2020-01-28\n", " 0.01\n", - " 8\n", - " 24\n", - " 2020\n", - " 1\n", - " 28\n", + " 18\n", + " 12\n", + " \n", + " \n", + " 5\n", + " A3605820\n", + " 2020-01-28 23:44:40\n", + " 70114.0\n", + " -90.046683\n", + " 29.955012\n", + " Status\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 16\n", + " 14\n", + " \n", + " \n", + " 6\n", + " A3510520\n", + " 2020-01-28 09:49:13\n", + " nan\n", + " -90.065470\n", + " 29.957227\n", + " Accidents/Traffic Safety\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 16\n", + " 15\n", + " \n", + " \n", + " 7\n", + " A3562020\n", + " 2020-01-28 17:02:29\n", + " 70114.0\n", + " -90.017871\n", + " 29.911057\n", + " Complaints/Environment\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 17\n", + " 13\n", + " \n", + " \n", + " 8\n", + " A3524320\n", + " 2020-01-28 11:46:29\n", + " 70119.0\n", + " -90.060630\n", + " 29.979627\n", + " Complaints/Environment\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 16\n", + " 15\n", + " \n", + " \n", + " 9\n", + " A3485920\n", + " 2020-01-28 05:33:13\n", + " 70131.0\n", + " -89.992822\n", + " 29.917877\n", + " Status\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 18\n", + " 13\n", " \n", " \n", "\n", @@ -5997,6 +5394,11 @@ "2 A3557120 2020-01-28 16:28:00 70130.0 -90.073690 29.941134 \n", "3 A3600220 2020-01-28 22:23:24 70114.0 -90.031894 29.949838 \n", "4 A3583520 2020-01-28 19:33:37 70131.0 -89.994269 29.903137 \n", + "5 A3605820 2020-01-28 23:44:40 70114.0 -90.046683 29.955012 \n", + "6 A3510520 2020-01-28 09:49:13 nan -90.065470 29.957227 \n", + "7 A3562020 2020-01-28 17:02:29 70114.0 -90.017871 29.911057 \n", + "8 A3524320 2020-01-28 11:46:29 70119.0 -90.060630 29.979627 \n", + "9 A3485920 2020-01-28 05:33:13 70131.0 -89.992822 29.917877 \n", "\n", " SimpleType TimeMaxTemp PairedStation DateCreate \\\n", "0 Status NaN US1LAOR0006 2020-01-28 \n", @@ -6004,36 +5406,107 @@ "2 Status NaN US1LAOR0006 2020-01-28 \n", "3 Status NaN US1LAOR0006 2020-01-28 \n", "4 Accidents/Traffic Safety NaN US1LAOR0006 2020-01-28 \n", + "5 Status NaN US1LAOR0006 2020-01-28 \n", + "6 Accidents/Traffic Safety NaN US1LAOR0006 2020-01-28 \n", + "7 Complaints/Environment NaN US1LAOR0006 2020-01-28 \n", + "8 Complaints/Environment NaN US1LAOR0006 2020-01-28 \n", + "9 Status NaN US1LAOR0006 2020-01-28 \n", "\n", - " Precipitation Long_bin Lat_bin YearCreate MonthCreate DayCreate \n", - "0 0.01 7 25 2020 1 28 \n", - "1 0.01 6 25 2020 1 28 \n", - "2 0.01 6 25 2020 1 28 \n", - "3 0.01 7 25 2020 1 28 \n", - "4 0.01 8 24 2020 1 28 " + " Precipitation Long_bin Lat_bin \n", + "0 0.01 16 14 \n", + "1 0.01 15 15 \n", + "2 0.01 15 14 \n", + "3 0.01 17 14 \n", + "4 0.01 18 12 \n", + "5 0.01 16 14 \n", + "6 0.01 16 15 \n", + "7 0.01 17 13 \n", + "8 0.01 16 15 \n", + "9 0.01 18 13 " ] }, - "execution_count": 141, + "execution_count": 480, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "cfs_ml.dtypes\n", + "# creating geospatial bins, nxn\n", + "n = 30\n", "\n", + "long_bins = np.linspace(cfs_ml[\"Longitude_x\"].min() - 0.1, cfs_ml[\"Longitude_x\"].max(), n + 1)\n", + "lat_bins = np.linspace(cfs_ml[\"Latitude_x\"].min() - 0.1, cfs_ml[\"Latitude_x\"].max(), n + 1)\n", "\n", - "cfs_ml[\"YearCreate\"] = cfs_ml[\"DateCreate\"].apply(lambda x: x.year)\n", - "cfs_ml[\"MonthCreate\"] = cfs_ml[\"DateCreate\"].apply(lambda x: x.month)\n", - "cfs_ml[\"DayCreate\"] = cfs_ml[\"DateCreate\"].apply(lambda x: x.day)\n", "\n", + "cfs_ml[\"Long_bin\"] = np.digitize(cfs_ml[\"Longitude_x\"], long_bins)\n", + "cfs_ml[\"Lat_bin\"] = np.digitize(cfs_ml[\"Latitude_x\"], lat_bins)\n", "\n", - "cfs_ml.head()" + "cfs_ml.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 481, + "id": "5c22d526-2f3a-46b7-90d1-c142fc78e330", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-90.46556692, -90.43915636, -90.41274579, -90.38633523,\n", + " -90.35992466, -90.3335141 , -90.30710354, -90.28069297,\n", + " -90.25428241, -90.22787184, -90.20146128, -90.17505072,\n", + " -90.14864015, -90.12222959, -90.09581902, -90.06940846,\n", + " -90.0429979 , -90.01658733, -89.99017677, -89.9637662 ,\n", + " -89.93735564, -89.91094508, -89.88453451, -89.85812395,\n", + " -89.83171338, -89.80530282, -89.77889226, -89.75248169,\n", + " -89.72607113, -89.69966056, -89.67325 ])" + ] + }, + "execution_count": 481, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "long_bins" + ] + }, + { + "cell_type": "code", + "execution_count": 482, + "id": "28e08a82-21e8-4ad4-badb-7a5ef1fa37e7", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([29.60109195, 29.62645109, 29.65181023, 29.67716937, 29.70252851,\n", + " 29.72788765, 29.75324679, 29.77860593, 29.80396507, 29.82932421,\n", + " 29.85468335, 29.88004249, 29.90540163, 29.93076077, 29.95611991,\n", + " 29.98147906, 30.0068382 , 30.03219734, 30.05755648, 30.08291562,\n", + " 30.10827476, 30.1336339 , 30.15899304, 30.18435218, 30.20971132,\n", + " 30.23507046, 30.2604296 , 30.28578874, 30.31114788, 30.33650702,\n", + " 30.36186616])" + ] + }, + "execution_count": 482, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lat_bins" ] }, { "cell_type": "code", - "execution_count": 142, - "id": "9ace366a-c7a3-4710-8e4b-e162f0e1222b", + "execution_count": 483, + "id": "29c062b1-5046-4d3a-9a3a-2cdb971b9a6d", "metadata": { "tags": [] }, @@ -6059,418 +5532,213 @@ " \n", " \n", " \n", - " Long_bin\n", - " Lat_bin\n", - " Count\n", + " NOPD_Item\n", + " TimeCreate\n", + " Zip\n", + " Longitude_x\n", + " Latitude_x\n", + " SimpleType\n", + " TimeMaxTemp\n", + " PairedStation\n", + " DateCreate\n", " Precipitation\n", - " YearCreate\n", - " MonthCreate\n", - " DayCreate\n", - " \n", - " \n", - " \n", - " \n", - " 0\n", - " 6\n", - " 24\n", - " 46\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 1\n", - " 6\n", - " 25\n", - " 295\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 2\n", - " 6\n", - " 26\n", - " 44\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 3\n", - " 7\n", - " 24\n", - " 44\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 4\n", - " 7\n", - " 25\n", - " 321\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 5\n", - " 7\n", - " 26\n", - " 26\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 6\n", - " 8\n", - " 24\n", - " 27\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 7\n", - " 8\n", - " 26\n", - " 61\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 8\n", - " 9\n", - " 26\n", - " 15\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 9\n", - " 10\n", - " 28\n", - " 1\n", - " 0.10\n", - " 2020\n", - " 1\n", - " 1\n", - " \n", - " \n", - " 10\n", - " 6\n", - " 24\n", - " 48\n", - " 0.44\n", - " 2020\n", - " 1\n", - " 2\n", - " \n", - " \n", - " 11\n", - " 6\n", - " 25\n", - " 328\n", - " 0.44\n", - " 2020\n", - " 1\n", - " 2\n", - " \n", - " \n", - " 12\n", - " 6\n", - " 26\n", - " 28\n", - " 0.44\n", - " 2020\n", - " 1\n", - " 2\n", - " \n", - " \n", - " 13\n", - " 7\n", - " 24\n", - " 50\n", - " 0.44\n", - " 2020\n", - " 1\n", - " 2\n", - " \n", - " \n", - " 14\n", - " 7\n", - " 25\n", - " 236\n", - " 0.44\n", - " 2020\n", - " 1\n", - " 2\n", + " Long_bin\n", + " Lat_bin\n", + " YearCreate\n", + " MonthCreate\n", + " DayCreate\n", " \n", + " \n", + " \n", " \n", - " 15\n", - " 7\n", - " 26\n", - " 46\n", - " 0.44\n", + " 0\n", + " A3472220\n", + " 2020-01-28 01:37:20\n", + " 70114.0\n", + " -90.045256\n", + " 29.947510\n", + " Status\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 16\n", + " 14\n", " 2020\n", " 1\n", - " 2\n", + " 28\n", " \n", " \n", - " 16\n", - " 8\n", - " 24\n", - " 12\n", - " 0.44\n", + " 1\n", + " A3605320\n", + " 2020-01-28 23:40:43\n", + " 70119.0\n", + " -90.081166\n", + " 29.970404\n", + " Accidents/Traffic Safety\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 15\n", + " 15\n", " 2020\n", " 1\n", - " 2\n", + " 28\n", " \n", " \n", - " 17\n", - " 8\n", - " 25\n", - " 1\n", - " 0.44\n", + " 2\n", + " A3557120\n", + " 2020-01-28 16:28:00\n", + " 70130.0\n", + " -90.073690\n", + " 29.941134\n", + " Status\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 15\n", + " 14\n", " 2020\n", " 1\n", - " 2\n", + " 28\n", " \n", " \n", - " 18\n", - " 8\n", - " 26\n", - " 83\n", - " 0.44\n", + " 3\n", + " A3600220\n", + " 2020-01-28 22:23:24\n", + " 70114.0\n", + " -90.031894\n", + " 29.949838\n", + " Status\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 17\n", + " 14\n", " 2020\n", " 1\n", - " 2\n", + " 28\n", " \n", " \n", - " 19\n", - " 9\n", - " 26\n", - " 5\n", - " 0.44\n", + " 4\n", + " A3583520\n", + " 2020-01-28 19:33:37\n", + " 70131.0\n", + " -89.994269\n", + " 29.903137\n", + " Accidents/Traffic Safety\n", + " NaN\n", + " US1LAOR0006\n", + " 2020-01-28\n", + " 0.01\n", + " 18\n", + " 12\n", " 2020\n", " 1\n", - " 2\n", + " 28\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Long_bin Lat_bin Count Precipitation YearCreate MonthCreate \\\n", - "0 6 24 46 0.10 2020 1 \n", - "1 6 25 295 0.10 2020 1 \n", - "2 6 26 44 0.10 2020 1 \n", - "3 7 24 44 0.10 2020 1 \n", - "4 7 25 321 0.10 2020 1 \n", - "5 7 26 26 0.10 2020 1 \n", - "6 8 24 27 0.10 2020 1 \n", - "7 8 26 61 0.10 2020 1 \n", - "8 9 26 15 0.10 2020 1 \n", - "9 10 28 1 0.10 2020 1 \n", - "10 6 24 48 0.44 2020 1 \n", - "11 6 25 328 0.44 2020 1 \n", - "12 6 26 28 0.44 2020 1 \n", - "13 7 24 50 0.44 2020 1 \n", - "14 7 25 236 0.44 2020 1 \n", - "15 7 26 46 0.44 2020 1 \n", - "16 8 24 12 0.44 2020 1 \n", - "17 8 25 1 0.44 2020 1 \n", - "18 8 26 83 0.44 2020 1 \n", - "19 9 26 5 0.44 2020 1 \n", - "\n", - " DayCreate \n", - "0 1 \n", - "1 1 \n", - "2 1 \n", - "3 1 \n", - "4 1 \n", - "5 1 \n", - "6 1 \n", - "7 1 \n", - "8 1 \n", - "9 1 \n", - "10 2 \n", - "11 2 \n", - "12 2 \n", - "13 2 \n", - "14 2 \n", - "15 2 \n", - "16 2 \n", - "17 2 \n", - "18 2 \n", - "19 2 " + " NOPD_Item TimeCreate Zip Longitude_x Latitude_x \\\n", + "0 A3472220 2020-01-28 01:37:20 70114.0 -90.045256 29.947510 \n", + "1 A3605320 2020-01-28 23:40:43 70119.0 -90.081166 29.970404 \n", + "2 A3557120 2020-01-28 16:28:00 70130.0 -90.073690 29.941134 \n", + "3 A3600220 2020-01-28 22:23:24 70114.0 -90.031894 29.949838 \n", + "4 A3583520 2020-01-28 19:33:37 70131.0 -89.994269 29.903137 \n", + "\n", + " SimpleType TimeMaxTemp PairedStation DateCreate \\\n", + "0 Status NaN US1LAOR0006 2020-01-28 \n", + "1 Accidents/Traffic Safety NaN US1LAOR0006 2020-01-28 \n", + "2 Status NaN US1LAOR0006 2020-01-28 \n", + "3 Status NaN US1LAOR0006 2020-01-28 \n", + "4 Accidents/Traffic Safety NaN US1LAOR0006 2020-01-28 \n", + "\n", + " Precipitation Long_bin Lat_bin YearCreate MonthCreate DayCreate \n", + "0 0.01 16 14 2020 1 28 \n", + "1 0.01 15 15 2020 1 28 \n", + "2 0.01 15 14 2020 1 28 \n", + "3 0.01 17 14 2020 1 28 \n", + "4 0.01 18 12 2020 1 28 " ] }, - "execution_count": 142, + "execution_count": 483, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "cfs_ml_counts = cfs_ml[[\"DateCreate\", \"Long_bin\", \"Lat_bin\", \"NOPD_Item\"]].groupby(by = [\"DateCreate\", \"Long_bin\", \"Lat_bin\"]).count().reset_index()\n", + "# extracting date attributes\n", "\n", + "cfs_ml[\"YearCreate\"] = cfs_ml[\"DateCreate\"].apply(lambda x: x.year)\n", + "cfs_ml[\"MonthCreate\"] = cfs_ml[\"DateCreate\"].apply(lambda x: x.month)\n", + "cfs_ml[\"DayCreate\"] = cfs_ml[\"DateCreate\"].apply(lambda x: x.day)\n", "\n", - "cfs_ml_counts = cfs_ml_counts.merge(cfs_ml[[\"DateCreate\", \"Precipitation\", \"YearCreate\", \"MonthCreate\", \"DayCreate\"]].groupby(by = \"DateCreate\").max(), how = 'left', on = \"DateCreate\", \n", - " indicator = False, validate = \"many_to_many\").drop([\"DateCreate\"], axis = 1)\n", "\n", - "cfs_ml_counts.columns = ['Long_bin', 'Lat_bin', 'Count', 'Precipitation', 'YearCreate', 'MonthCreate', 'DayCreate']\n", - "cfs_ml_counts.head(20)" - ] - }, - { - "cell_type": "code", - "execution_count": 143, - "id": "9bd58da4-b4d0-448f-96ee-85a550267512", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "p_cfs_ml_counts = cfs_ml_counts[cfs_ml_counts[\"Precipitation\"] > 0]\n", - "no_p_cfs_ml_counts = cfs_ml_counts[cfs_ml_counts[\"Precipitation\"] == 0]" + "cfs_ml.head()" ] }, { "cell_type": "code", - "execution_count": 144, - "id": "c30f2684-1463-49bf-89f1-faa2dfab49e9", + "execution_count": 484, + "id": "58304518-2ad8-4847-bd4c-316eec702823", "metadata": { "tags": [] }, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "100% (160 of 160) |######################| Elapsed Time: 0:00:09 Time: 0:00:09\n" - ] + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 484, + "metadata": {}, + "output_type": "execute_result" }, { "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAG1CAYAAAD6GvACAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAADhHElEQVR4nOydeXiU5fm2z9m37MkQNgUSkpAEEmJBQBY33FlkEWmrgIIoW9VaqNWqYF1o/bQqCiJgq1IXREW0tbX+2ooLLrQh7EkAiQvbZJ/JLO9s3x+TGWYyWwKBhPCcx+EhmXeZ531mea+5n+u+b5nX6/UiEAgEAoFAcI4i7+gBCAQCgUAgEHQkQgwJBAKBQCA4pxFiSCAQCAQCwTmNEEMCgUAgEAjOaYQYEggEAoFAcE4jxJBAIBAIBIJzGiGGBAKBQCAQnNMoO3oAZwOlpaV4vV5UKlVHD0UgEAgEAkErcTqdyGQySkpKYu4nIkOtwOv1Bv47V/F6vUiSJOZAzIGYAzEHgJgHEHMAnX8OWnvvFpGhVqBSqZAkif79+6PX6zt6OB2C1Wpl7969Yg7EHIg5EHMAiHkAMQfQ+edg586drdpPRIYEAoFAIBCc0wgxJBAIBAKB4JxGiCGBQCAQCATnNEIMCQQCgUAgOKcRYkggEAgEAsE5jRBDAoFAIBAIzmmEGBIIBAKBQHBOI8SQQCAQCASCcxohhgQCgUAgEJzTCDEkEAgEAoHgnEaIIYFAIBAIBOc0ojeZQCAQCASdFLNVosHioMnmxKBTkZygIVGv7uhhdTmEGBIIBAKBoBNiqrexYkMppeWmwGMleUYWTSvBmKLrwJF1PcQymUAgEAgEnQyzVQoTQgCl5SZWbCjFbJU6aGRdEyGGBAKBQCDoZDRYHGFCyE9puYkGi+MMj6hrI8SQQCAQCASdjCab85S2C9qGEEMCgUAgEHQyDDrVKW0XtA0hhgQCgUAg6GQkJ2goyTNG3FaSZyQ5QXOGR9S1EWJIIBAIBIJORqJezaJpJWGCqCTPyC+mlYj0+nZGpNYLBAKBQNAJMaboWHzTEFFn6AwgxJBAIBAIBJ2URL1aiJ8zgFgmEwgEAoFAcE4jxJBAIBAIBIJzGiGGBAKBQCAQnNMIMSQQCAQCgeCcRhioBQKBQNDlMVslLFYJm8ONXXKRoFOTmiQyswQ+hBgSCAQCQZfFbJWobbBjtkp4PF7K9lezecsB7JJbdIAXBBBiSCAQCARdElO9Lazze3GOkcU3DeGJ9dsCHeAX3zRERIjOcYQYEggEAkGXw2yVwoQQQFml7+9Jl/bH7fYyoE8q3x8zk2RQi4KG5zBCDAkEAoGgy9FgcYQJIT9llSZmXVfAn/+6hw0fVwQeF8tm5y4im0wgEAgEXY4mmzPm9tpGeyBK5Me/bGa2SqdzaIJOiBBDAoFAIOhyGHSqmNtlssiPl5abaLA4TsOIBJ0ZIYYEAoFA0OVITtCEdXz3U5JrZF9VXdRj40WVBF0PIYYEAoFAcFZgtkr8cNxMeVUtPxw3x1zOStSrWTStJEwQleQZuX1yEZu3HIh6bLyokqDrIQzUAoFAIOj0REqTj2d4NqboWHzTEBosDppsTgw6FckJGgDy+6VFNFiX5BkD+wjOHURkSCAQCASdmmhp8q0xPCfq1fTulkhenzR6d0skUa+OGTX6xbQSkV5/DiIiQwKBQCDo1MRKk/cbntsqYKJFjc52IVTTaMMpuXF7vEguD1a7C51GiUYlR6tVkp4Uu2xATaMNc5NEk82FQack0aCOe0xXQIghgUAgEHRq4hmaT9bw7I8SdRWO1zQhuT3Umx28+XEF2ytCK2/fODYXl9NDZroh4vFHa5p47q2ykJIDxTlGFt5QTPcox3QVhBgSCAQCQacmnqG5qxqezVap1ZGrmkYbx+qt/Hi8ic93HA4RQnCi8vao4p4MLZSHRXtqGm1hQsh/3HNvlXH3z0q6dIRIiCGBQCAQdGr8afLnkuG5rYZxc5OETqMiPVkbJoT8lFWamDgmC3OTFCZszE1SmBAKPi7SMV0JYaAWCAQCQVRqGm0cOtLA7oM1HDrSQE2j7YyP4VwzPJ+MYbzJ5sJqdyE5PTHPLTk9NNlcEY+PRbztZzsiMiQQCASCiMTykCTpopRwPk2crYbntix1+TkZw7hBp8Tl9uKQYosWtUqOQRd+64/0WFu2n+10eGSopqaGxYsXM3z4cEpKSpg7dy779+8PbN+7dy833XQTgwcP5pJLLmHdunUxz+d2u3n22We59NJLKSoqYvLkyfzrX/863ZchEAgEXYp4HpKOaN8VKU2+M2Oqt/HE+m3M+/2/+NWznzLv9//iifXbMNXHjq6djGE80aDG5nBS02BncG7kytvFOUZqGuwkGsLnLdGgpjgn+nGRjulKdLgYmjdvHt9//z1r1qxh48aNaLVaZs2ahc1mo66ujltuuYW+ffvy9ttvs2jRIp555hnefvvtqOf74x//yBtvvMGyZcv461//yhVXXMHChQvZuXPnGbwqgUAgOLuJ5yGxWLtey4qaRhuHDjew60A1hw43cLSm6aSbtp5KbaSTMYynJ+nITNEzMDudG8fmUtJCEPmzyUpyjRG9P+lJOhbeUBwmiPyRwK7sF4IOXiarq6ujd+/ezJs3j5ycHADmz5/PxIkTqaysZOvWrajVapYuXYpSqSQ7O5uqqirWrFnDlClTIp7T5XJx//33M2bMGMAntl566SW++uorBg0adMauTSAQCM5m4npI7F3LQxJtSfD2SYOwS+6oVa6j4V/qOj8zgV/PHIrb7aXJ5iRBp0KukNHUFL020skaxrulG6hptKGUy7h90iAklweb3YVWo0CjUoTVGYq0hHf3z0pEnaEzTWpqKk899VTg7+rqatatW0f37t3p378/K1asYOjQoSiVJ4Y5fPhwVq9eTU1NDenp6WHnvPfeewP/ttlsvPnmm9hsNoYNG3Z6L0YgEAi6EHE9JFol9jM0ltNNrCXB1e/uZPoVOYAXY4q+VeczWyUkp4eH5gynl9HA8xt3hImsBVOLoh7vN4xHyiaLZxhvrXCJla3Wt0dyq87Rleg0jqgHHniADRs2oFarWbVqFXq9nqNHj5KbmxuyX7du3QA4fPhwRDHkZ/PmzSxZsgSv18uiRYvaJSpks535LIrOgv/axRyIOQj+/7nIuTIHCToVxTnGiEtlxTlG9BoFNXSNeTBbnDGXBGeNK+CwqQmXy0Oy/oS7JNJ7wWL38tzGMkrLTTx115gwIeQ/5/Mbd7Bo2mAStZHHZFDD3dMHY7b6ssT0WiWJeiUapRer1XpK1+twwYoN26Mu4d09fTCaVqqDzv558Hq9yGTxzf6dRgzNnDmTG2+8kddff50FCxbw2muvYbfbUatDFbBG4wsPOhyOmOcbOnQomzZtYuvWrfy///f/SEtL42c/+9kpjfHQoUOndHxXQMyBmAMQcwBdfw6USiXzpwxi5ds7w6Ia86cM4sgPvq7vXWEeNCl9Ym632V1YrE7e+r9K7piYx7HDh0K2++cgJa0bf/7o+0CdH6VCHlNkWe1Ofvh2f8TtLWkCIp+p7aQY+8TMVqutt1JvqmrTOTvz+6CljohEpxFD/fv3B+B3v/sd27dvZ/369Wi1WiQp1GTmF0F6fexwZY8ePejRowcDBgzg0KFDrFu37pTFUN++fdHpuv7aaSRsNhuHDh0ScyDmQMzBOTYHd00fjMXqpMnuwqBVkqBXoVeDpnfvLjMPx+tjm8F1WiV2yUVZpQmnt5D8/Hwg/L1Q3ehie8X/AsfFzwpzkZWTHzUKY7aD1e4MeI20GiUalazVUZtofHc8dhTH6ZEHrjEenf3zEJydHosOFUM1NTVs3bqVa665BoVCAYBcLic7O5vjx4/TvXt3jh8/HnKM/+/MzMyw8zmdTj755BMKCwvp0aNH4PHc3NyYGWitRafTxRVhXR0xB2IOQMwBnDtzoNdDRkr07V1hHhJdtphLgjaHk31VdQBYbS70PUM9Nf45sB6vDXk8flaYkj++sT1iVekj1ZaoXiOXR9FmQ3cwCXp3nO2qNr+mnfV90JolMujg1Prjx49zzz338PXXXwceczqd7Nmzh+zsbIYOHcp///tf3O4TL9zWrVvp169fRL+QQqHg/vvvZ8OGDSGPl5WVBSJPAoFAIBAEEyut/PZJg3A6vWze4lsW1EcxlpvqbTicoSJDo1LErN2j0ygjptofq7XG9Bq53R6+O9pIeVUtPxw3tzn935+tFomu2t4kHh0aGRowYACjRo1i2bJlPPLIIyQlJfHCCy/Q2NjIrFmz0Gg0rF27lvvvv585c+awY8cOXn75ZZYtWxY4h9lsxul0kpaWhlwu59Zbb+WFF16gf//+FBYW8tFHH/H+++/z3HPPdeCVCgQCgaAz0z3dwN0/K6HRIvlSzbUqlEoZX+46zIaPK7FL7oCAaYnPkFxKznmpIRGmL3cfZv6UIla+HR7hmT+liGPVVlIS1Nx4WQ6NFglTnRWbw41Bp2Th1GKefuN/7P42NNpUVmnC5nDxiyf/E3gsVs+ySJxKtlpXpUPFkEwm4+mnn+bJJ5/krrvuwmw2M2TIEP7yl7/Qs2dPANauXcujjz7KpEmTMBqNLFmyhEmTJgXO8eijj/L1118HqkzfdtttaDQannnmGY4cOUJWVhYrVqzg8ssv75BrFAgEAsHZQXqSDrVSgVIhZ/W74cbx2ycNirj0Zba6KC03sffbWhbfNATwiZbX/1FBVo9UZk8oBAjU8wHw4uHF93bw+IJR1DU6WPVOqGAqyTNy5/QSnnmjNEwQtfQi+aNLi28aElfI+GsLWe1O5k0uwunyYHO4zpr2JqeLDjdQJyYmsnTpUpYuXRpxe1FREW+++WbU45cvXx7yt1wuZ9asWcyaNasdRykQCASCc4FEvRq75Gb6FTnMGleAze7yGagdTnQaZUSxYLX7xIldcvPE+m1MGJPNxDFZSE4PXq8XnUaJzeHC6wW3x0tNg53nNpSycFoJuw/W8On2w2FLYqXlJla9vYO7pl/AbY9/HLItkiCL1rMsmFi1hU7Fg9QV6HAxJBAIBAJBZ8KYokOrVtBgceB2e9CqFWSm6UOEhtkqUdfoQp3cG61GybSxuWzecgC75GbDxxUh51v168vISNHxpw92hwiR9GQtchlR0+9LK0zYWjReLc4xolEpIu4fK3stXnuQ1kSVujJCDAkEAoFA0IJEvTqqOIgUYSnOMbL4piE8sX4bdumEkdpvSE7Uq5l7/SBe3LQzcJzV7kJyemKOI1jg+LPJnnh1W8R9Y2Wv+duDRKI1UaWujhBDAoFAIBC0kmgRFn90Z8KY7EBkqKUhWSaD2yYO4mhNE5LTQ6JehUOK3ePNoFPx+PyRGHQqdBolmz6ppPKHhrD94mWBxa951PUa77YFIYYEAoFAIGglsSIsZZUm5kws5MKCzIiG5CSDhqojDby35SBllSZ+e+sw6s32qDWOSnJ92WuHTU14PF5sdolJl+RwuNra5iyw+DWPYm/307K5q0GrQC7v0Co97YIQQwKBQCAQtJJ4ERSH5CavT1rEbYl6NZnpCdw+aRCr393JcxtKeXzBKHpmJACEZZPNm1zEyo3bKa2oDjy2aFoJi28aEtZtPt4Sl7+2UCQh19raQqZ6G6vfKaNPj2QG9Emlut5OokFFZq/suMd2doQYEggEAoGglZxqhEWrVmC1O/nZVXnoNUo8Hi+ZqVrmTS7C4XQF6gzp1EqeDxJCEGp27t0tsU3jPtXaQmarxOp3yrhyWF82f3owxCRenGNk4Q3FdMIC1K1GiCGBQCAQCFrJqURYTPU2VrxZSmlFqPH6xrG5dM8w0KubL0L0w3Ezcx77OOI5TsXsbEzRnVRUCXzLg316JLP504MRK2OvfLvsrM5IO/sX+gQCgUAgOEP4Iywt21nEi7AEjNcV4ULirf+r4FiNJdBW43SanRP1anp3SySvTxq9uyW2Wrw02ZwM6JMavQxAs0g7WxGRIYFAIBAI2oA/wlLXaKfBYiM5QUdqkjYgLFqajJMTNLFT2ytMzBxXwPfHzCQZ1CQZ1GjVipAU/WBaa3ZuTww6FdX19pj7nM0ZaUIMCQQCgUDQRhL1ahS4MP34Axk989E3C6FoVZ5/ekVezPM1WiQefHFrYP8HZw/n4XVfhgmieEtxNY02zE0STTYXBp2SRIOa9KRTry6dnKAhQR9bDHWESGsvhBgSCAQCgaAdiFXleea1BTGPTTScWK7yHz9n4kCee6ss8Hi8pbijNU0891ZZWE+1hTcU0z3d0ObrCRmfXk2PDEP0MgBnebd7IYYEAoFAIGgHYi2FudzeqEKiOMeI2+0Neay03MScCQNZ9evLWmV2rmm0hQkh8HmSnnurjLt/VnLKEaJuqXoWTSvm+Y1loZGvXCMLpxafteZpEGJIIBAIBIJ2IZpnRqtW4PV6mDA6CyAscjNhdBaWZvN0MBabk/MyE1uVRm9ukqKam8sqTZibpHZZLstMM4RkpOk0Spy2BhK0slM+d0cixJBAIBAIBO1AJM+MVq1g8U1DOHTEzNe7j5LXJzXQ0V6tkrOvqo6/bz1Ev17JYcc22Zw8sX5bq7rKN9lit/WIt70tBPdts1qt7P3xOD0y09vt/B2BEEMCgUAgELQDkWoQTRiTzeZPD1JeVcvim4aEFSwsyTUyblQWT6wPbb5anGNkX1Vdq7vKG3Sxb+fxtscjUobc2bws1hIhhgQCgUAgaAf8nelfeGdnYMlqQJ/UgPh5Yv02JozJDokM9cww8KcPdodkjfmXzvwCqTWFFhMN6piepGCDdluJliG3aFoJp3DaToUQQwKBQCAQtBMyGSFLYVr1idusXXKHRIUAfr9wFPOmFvOzqySOVDcFls6eWL8tRCDFq+GTnqRj4Q3FUbPJTtYvFCtDbsWGUu6ePvikztvZEGJIIBAIBIJ2IsmgofL7uoDoeXD2sDj7++oA2ewulr/yTdT9WlPDp3u6gbt/VtKudYZiFossN2G2tp8XqSMR7TgEAoFAIGgnWrbr2FdVR3GOMeK+wbV5/H6jePvFIz1JR98eyRRmpdO3R/IpZ5DFi0hZ7UIMCQQCgUAgaIG/XceqX1/GsMJM5k8pitvL7GR7np1u4kWk9NquscDUNa5CIBAIBIJORHD6OdCqbvGn0lX+dBEpQ85PSZ6RRL2SyItoZxdCDAkEAoFAcJppKY5Odb8zhT9iFSmb7BfTStAovTGOPnsQYkggEAgEAkFUYkWsrFZrRw+vXRBiSCAQCAQCQUw6W8SqvREGaoFAIBAIBOc0QgwJBAKBQCA4pxFiSCAQCAQCwTmN8AwJBAKBQNDOdPXGpl0NIYYEAoFAIGhHYjU2NaacWkVowelBLJMJBAKBQNBOxGtsarZKHTQyQSyEGBIIBAKBoJ2I19i0weI4wyMStAYhhgQCgUAgaCfiNTaNt13QMQgxJBAIBAJBOxGvsWm87YKOQYghgUAgEAjaCX9j00iU5BlJTtCc4REJWoMQQwKBQCAQtBP+xqYtBZG/salIr++ciNR6gUAgEAjakViNTQWdEyGGBAKBQCBoZyI1Nj1Wa8Vqd9Jkc5KgU6HTqshM03fQCAXBCDEkEAgEAsFp5ki1hec37qCs8kTafXGOkQVTi+iRkdCBIxOA8AwJBAKBQHBaOVZrDRNCAGWVJp7fuINjtdYOGpnAT4eLoZqaGhYvXszw4cMpKSlh7ty57N+/P7B979693HTTTQwePJhLLrmEdevWxTyfx+Nh7dq1XHXVVQwePJjrrruOt95663RfhkAgEAgEEbHanWFCyE9ZpQmrXdQe6mg6XAzNmzeP77//njVr1rBx40a0Wi2zZs3CZrNRV1fHLbfcQt++fXn77bdZtGgRzzzzDG+//XbU861evZoXX3yRu+66i82bNzNz5kyWLVvGu+++ewavSiAQCAQCH/ELMbrO0EgE0ehQz1BdXR29e/dm3rx55OTkADB//nwmTpxIZWUlW7duRa1Ws3TpUpRKJdnZ2VRVVbFmzRqmTJkS8ZxvvPEGt956K9dccw0A559/PmVlZWzcuJFJkyadsWsTCAQCgQBaU4hR2Hc7mg59BVJTU3nqqacCf1dXV7Nu3Tq6d+9O//79WbFiBUOHDkWpPDHM4cOHs3r1ampqakhPTw85n8fjYfny5fTr1y/suRoaGk55vDab7ZTPcbbiv3YxB2IOgv9/LiLmwIeYh9bPgV6rojjHGHGprDjHiF6rwmo9O31Dnf194PV6kclkcffrNHL0gQceYMOGDajValatWoVer+fo0aPk5uaG7NetWzcADh8+HCaG5HI5I0aMCHnshx9+4K9//SvTp08/5TEeOnTolM9xtiPmQMwBiDkAMQd+xDzEn4OkpCQWTC2Kmk3WWPMjPzQ2nuZRnl468/tArY5f36nTiKGZM2dy44038vrrr7NgwQJee+017HZ72EVoNL5S5g5H/M6/JpOJuXPnkp6ezrx58055jH379kWn053yec5GbDYbhw4dEnMg5kDMgZgDQMwDtH0OFk0b3FxnyIVBp0SvVZGohWR9L3r16nUGRtz+dPb3QXBCViw6jRjq378/AL/73e/Yvn0769evR6vVIklSyH5+EaTXxy5UdfDgQebOnYvT6eTVV18lOTn5lMeo0+niPm9XR8yBmAMQcwBiDvyIeWj9HHTlaeqs74PWLJFBB2eT1dTU8MEHH+B2uwOPyeVysrOzOX78ON27d+f48eMhx/j/zszMjHre//73v0yfPh2NRsMbb7zB+eeff3ouQCAQCAQCwVlPh4qh48ePc8899/D1118HHnM6nezZs4fs7GyGDh3Kf//73xCxtHXrVvr16xfmF/KzY8cO5syZQ05ODq+99ho9evQ47dchEAgEAoHg7KVDxdCAAQMYNWoUy5YtY9u2bVRUVPDrX/+axsZGZs2axZQpU7BYLNx///3s37+fd955h5dffpnbb789cA6z2UxtbS0ALpeLX/3qV6Snp7N8+XIkScJkMmEymQL7CAQCgUAgEATToZ4hmUzG008/zZNPPsldd92F2WxmyJAh/OUvf6Fnz54ArF27lkcffZRJkyZhNBpZsmRJSL2gRx99lK+//pp//etf7Nixg6qqKgDGjh0b8ly9evXiX//615m7OIFAIBAIBGcFHW6gTkxMZOnSpSxdujTi9qKiIt58882oxy9fvjzw7wsuuIDy8vL2HqJAIBAIughmq0SDxUGTzYlBpyI5QRPWXV5w7tHhYkggEAgEgtON2SphbpJ44Z0dlFacqPVTkmdk0bQSjCmdLy1ccObo8N5kAoFAIBCcTkz1Nr7YcZiVb4cKIYDSchMrNpRitkpRjhacC4jIkEAgEAi6JMdqrVjtTixWJ7nnp5KSqKXqSAP1llDhU1puosHiEMtl5zAiMiQQCASCLsfRmqbmas9OEvQqnG4Pn23/gUfmjSQlIVz0xOssL+jaiMiQQCAQCLoMZquExSpF7AM2b0oRb3y0j4XTSnjkpa9CjovXWV7QtRFiSCAQCARdAlO9DZfLHSaEAMoqTax6ewczrstH3qJFQ0mekeQEzZkc6mnHVG/F5fJgl9y+6JhOhU6rIjOt87XM6AyIZTKBQCAQnPWYrRIrNpRil9xhQshPWaUJlUKOze4KPFaSZ+QX00q6lF/oeLUFp9PD8Tobh01N2BwuPi07zOp3dnCk2tLRw+uUiMiQQCAQCM5a/HWDJKeH0nIT0y6P7f3xe4gemD2MzFQ9acnariWEappwuL2sfndn2DLhhNFZrNm0i9snF4kIUQuEGBIIBALBWYc/U8y/BKTXKinslxbX+2PQqdCqleT3TetSIgjAVGvF6fayZtPOiMuEAHl9UrHahVm8JUIMCQQCgeCs4ki1JaJB+s7pJYF/R1oqK84xotMo6Z5uOGNjPZO4PR7sTldYLSU/ZZUmJo7Josnmiri9I+gsFcGFGBIIBALBWcPRmqaoBunnN+7gzqnFLJhaFFEsLZha1GWFEIDb48XucMfcR3J6yEjpHLd+U72NFRtKKS3v+IrgnWNGBAKBQCCIQvCSmEGnimmQtkguVrxZyq9uGoLD6Q4coz8HMqnsTjd6TezbeoLeNxcdjd/wHiyE4ERF8MU3DTmjESKRTSYQCASCTsuRaguHfqxBp1Fi0KlosjlZcc8lrLlvLCW5GWH7N9lc/PSqAdRbHKiUcvr0SKJfz+QuL4QA7A43TreHklxjxO3FOUYy0/SdYi4aLI4wIeTHXxH8TCLEkEAgEAg6JaZaK3KZjG7pSVTX2wBQqxU88qeveO6tMuZNKQ4TRAadkvc/O8h5mYn07pbY5UzSsTDoVJibJMaPzmJwC0FUkmdk7vUDkVydwy8Ur+L3ma4ILpbJBAKBQNDpMNXbcHu9HKu1YrE6UavklFaY+PbHBpbNvYiHXvyC5zfuYOENg7ntsY+BEwbprlY3qLXo1QrKG2x8tesoueenMmF0FpLTg1olZ19VHa/8bQ83X1OA2Sp1+Py0JuvvTCLEkEAgEAg6FaZaKy6Ph1Utusz7a+Wse28XS2YM5Z6nt2BzuALbFkwtwqBTdfiNvqPwAkX9M+iZkcCbH1ew4eOKwLaSXCPTxuaiUMg6RVPa5AQNJXnGiEtlHVERXIghgUAgEHQajlVbcHth5duRM8bAVytHpfC5PJpsTp695xJ0GiUKhazDb/JnElO9L2rmKySpZl9VLZkpevZ9V8vM6/KBAuwOF0qFjNJKE8vWfskfFo5GcsXOODsTJOrVLJpWEjGbrCMie0IMCQQCgaBTcKymieMNNjweYmaM+Wrl+DwlBp2K8qo6BudkYEzpumnzLYlWa2nOxIG88+/9vPaP8ojH1VscGFPPbNp6NIwpOhbfNKRT1BkSBmqBQCAQdDhHa5qwOlzoNCos1tjmWcnpwaBTBTxCJblGumcknKGRdjzHaq1Ray29tHkXE8ZkRz1WoZB1qqa0iXo1vbslktcnrUMN70IMCQQCgaBDMVslXv5gN002J1a7C7Uq9q0pQe8z1y6YWoRKJSezCxdSDMZslThS3YTV7owaOSutMFHUP7zkAMDgHCPd0w3n1FJiaxFiSCAQCAQditXmZNoVeQAk6VV4vDA0PzPiviV5vlo5CRolPTISSE/qHEs+pxOzVeJYtYXGJonnN5Zx2NQUc3+5TEZxTnhq/cJpg+mW2vE1hjojwjMkEAgEgg7BbJWwWKWwJZ/BOUbmXD8QgG/2Hgs8XpxjZN7kIhReL8ZzZFnsWPPyoc3hwuXykNcnFa1aEfMYu+Qir08qE8dk4fVCtzQ96claERGKgRBDAoFAIDjjHKttwuslovdle6WJtZt2MW50Ftdc1BfJ6SFB72unoQCM58iyWDST9LDC7gzNzwwRisHb91XVseHjikC5gR7niHA8FYQYEggEAsEZ5XidlRUbypg9oTCq92V7pYlbJxRitbnISFGi1yiRn0MRoVgNaV/5G8y8Lh/J5QnZXpJr5PbJRTSY7Ywq7nlO9GNrL4QYEggEAsEZw28CLqs0taolQ2qiBoVCjttjR67q+v4g8M2RzeGKWV6g3pwVWAqTnB56Gg1YbBLlh2rJ75dGgl4tlsXagBBDAoFAIDhjNFok5DIZ0LqWDIerm9BpVGQkazCmnBtRjtpGe1yhKDk9gQrTxTlGpl+RQ0qClm4p+nMmu649EdlkAoFAIDjtmGqtHKm2ILncyGSw4p5L0GuUYVlPfopzjGhUiuaaQspzqo6QxeqMKxT95Qf8vqD0JB16nVIIoZNERIYEAoFAcFo5Vm1BcntZ/e7OkKWfa0b0YcHUoogm4QVTi3ji1W3MGl+IXntmm3Z2NCkJahRyOcU5xohLZSV5RjJSdDx998UYdCqfqTxDiKBTQYghgUAgEJw2jtY0YWqw8eY/K8Nu7B9urQJg4Q3F2ByuQEsGjUrBE69uQ69T0y1Vf06ZgI/WNPHCuzs5Um1h2dyLWNWiR1tJnpG51w+iwWwnPUWPQibDeA7Nz+lCiCGBQCAQnBaO1VqxNbfYiGYG/nBrFddc1I91m3eHRYcmjM7C4XSdqeF2ODWNNp57qywwDw+9+AVLZgxFpSgMCEWtWonT7cKLDIVCds74qE43QgwJBAKBIC5mqxTSUNOgVSCXR7admq0StQ0+E7DH68XjjX3uJpszJDNKrZKzr6qOJ9ZvY9ncEafhajon5iYpRBAeq7Vxz9NbAn8/csdFVNfb+PCLQ9x2/UAhhNoRIYYEAoFAEJNjtU08/1YZpRWhyzVzxuWF7Wuqt3GsxoJWo8Ll8ZKoV+GOo4YMOlUgM6oles2ZvU21FH1nsot6ky12FMxidfKPrw6x8AbRVqO9EWJIIBAIBFHxF0hsucxVWm5irRfu/ulg/Ldls1XC7fZg0KlpsjlJ0qvQapTUNFijmoGLc4zIojx3cY4R7RkUQ6Z6Gys2lFJaHir6Fk0rwZhy+mscGXSxr1WtklNabsLmOHeWDs8UIrVeIBAIBBEJLpAYidIKE2ar78ZsqrVisUo891YZv3jyP/xm5ecsevI/PP9WGWlJOu6YPCgsjd6fNWa2SBG3+TxD7tNzcS0wW6UwIQQ+0bdiQylmq3Tax5BoUMcsNbCvqg4gbg0iQdsRkSGBQCAQRKTB4sBijX3jdXtdHKm24JDcrG1hggZfW42VG3ew8IZiFkwtwi65sdpc6HVK9FoVTXY7D//pKyaMyY7oGXpoznDMVum0L1U1WBxhQshPabmJBovjtI8hPUnHwhuKWfl2WchY/MLwifXbANCd4aXDcwExowKBQCCISJPNGSjuF4nMNB06tYbn3orfZ8zqcNFkc/GblZ+x4leX0rdHEgA/HHdjl9xRPUNujxfLGRBDrWkNcibonm5g3uQijtfZsEtuembocbo8WGwuli8YhdXhRBvjNRGcHEIMCQQCgSAiBp2Kr/cci+j30aoVLLttBMdqra3uM2bQqSjOMYZ4Y5ITNJTkGSNGZYpzjOzYX83Iop7tc0ExaE1rkDNFvcWB2+2lZ4YhrFBlcY6R+VOKzki07FxCyMsOoqbRxqEjDew+WMOhIw3UNNo6ekgCgUAQQnKChqojDUwYnRXmZZk9YSDVDfbAMlprxIRaKWfB1KKQlPBEvZq5EyP7iSaMzmLzlgPYpdNvGPaLskiU5BlJTtCc9jGA796gUSlwezxhQgh8TVpXvr1D+IbamQ6PDNXU1LB8+XI+/fRTHA4HQ4cOZcmSJfTv3x+AvXv38uijj7Jr1y5SUlK4+eabmT17dqvO/c033zBjxgz27t17Oi+hzRytaQoprAW+D/7CG4rpLvrKCASCTkKiXs3tk4tZ/U5ZoA5QX6MKt1wbqBjdy2jg+SWX4nJ5Y2aM6TTKqEUCvXij1hmyS24SzkBUJlGvZtG0kojZZL+YVnLGojDmJgmNSklakjZm13qRUda+dLgYmjdvHnK5nDVr1qDX63nmmWeYNWsW//znP7Hb7dxyyy2MHTuWZcuWsX37dpYtW0ZKSgpTpkyJed6vvvqKhQsX4vF4ztCVtI6WFUb9lFWaeO6tMu7+WQnpSac/hVMgEAhagzFFx53TL6CxyYFaBi5kPB/px9zUIuZPLWJllD5jsX7opSRqqfy+LqJvqCTPSGqStn0vKgrGFB2LbxrSYXWGwFdrqFuykro4YscapyaRoG10qBiqq6ujd+/ezJs3j5ycHADmz5/PxIkTqaysZOvWrajVapYuXYpSqSQ7O5uqqirWrFkTVQy5XC6WL1/O66+/Tl5eHrt37z6TlxSXlhVGgymrNGFukoQYEgjOUjqyYN/pJFGvRnK5cTo9YUIImn/MbdzBvMkDmXFdfkj7CL2mdZ3UZ48fyLFRVmTAvqo6Nm85QH6/tDMalQHftXbka2bQKTlWb0Wnibfs2OGxjC5Fh85mamoqTz31VODv6upq1q1bR/fu3enfvz8rVqxg6NChKJUnhjl8+HBWr15NTU0N6enpYee0Wq3s2rWLl156iR9//JHf/OY3Z+RaWku8CqPxtgsEgs5JRxfsO50cq7Vitfs8KrF+zEkuL6ZaGwl6FenJWnRaZdwfd9Hm7ZlfXkKioWOFSUeg06jwen2G82d+eTGmejvPbSil3nKizlFxjpHEhHNrXk43nUZaPvDAA2zYsAG1Ws2qVavQ6/UcPXqU3NzckP26desGwOHDhyOKoaSkJN544w0A3nnnnXYdo8126iZngzb2lBu0SqxW6yk/T3vjv/b2mIOzFTEHYg4g8hw4XLBiw/aoBfvunj6Ys7U0TIPVw/PNS1+Pzx8Zc98mm5MEvYokgxqNUo5O6Y35fRZr3l54dwd3Tx+M1dp5fyC25+fBYgen28Pqd3aEtD0pzjHyyLyR/HbV59Q3F6ecP6Uo7tyeKTr7d4LX60Umi1bj/AQn/fF87rnnmD9/fsRGfT/++CP33XcfL7/8cqvPN3PmTG688UZef/11FixYwGuvvYbdbketDlW/Go3P0e9wOE526CfNoUOHTvkcmT37xjQZKmUu9u7df8rPc7pojzk42xFzIOYAQucgxdgnZsG+2nor9aaqMzSy9iEzMxOlLhW75Gb6FbnMnlCIWilHq1ZglyJXhfZnlKnlLn6oOhjXs9lV5u1UPg9arZa0zD6UVVbzWdnhiEuQazbtYvmCUdgkNzUNdpwuF3v3HjjFUbcvnfk7oaWOiMRJi6GVK1fy2Wef8cQTT3DeeecFHt+wYQPLly9HpWqb+9+fPfa73/2O7du3s379erRaLZIUWgLdL4L0+jPfpK5v377odKce7l4wtSjwS8uP34CYpJeTlpx/ys/R3thsNg4dOtRuc3A2IuZAzAFEnoPvjsf+Vez0yMnP73yf61j4IkJlbG/RnPXB2cN5eN2XYYKoOMeIXqNEJoMErYrUpPAmri052+etLZ8Hi8MXOWuyOUnQqdColbg9blQKBSveKmPimKzY2WOSm7v/+AnFOUbumj4YYyeZl87+nbB/f+uCCycthl5++WXuvfdeJk6cyP3338+oUaO47777+Pzzz7nqqqt44IEH4p6jpqaGrVu3cs0116BQKACQy+VkZ2dz/PhxunfvzvHjx0OO8f+dmZl5skM/aXQ6XbuIML0e7v5ZCeYmiSabC4NOSaJBfVYYp9trDs5mxByIOYDQOUjQx+6flaBXnVXzdbzWyqq3d4QIISAQxZk9YSDPbywLPO7PGNPrVG3y+HSVeYv1eTBbJcxWKWKW3bwpRdgkF2WVJq4Z0Tfmc9jsrkAJlowI5Qk6ms76ndCaJTI4BTE0dOhQ3n//ff7whz/wwAMPoFAoMBqNvPDCC1xyySWtOsfx48e55557SE9PZ8SIEQA4nU727NnDZZddRkZGBm+88QZutzsglrZu3Uq/fv0i+oXOJtKTdGeF+BEIBPGJVUX5TBbsaw9M9VasDleIbyWY0nITt44fyLP3XBL4MafTKE+qRlpXmreWmK0StQ123B4vf/4gvGdbWaWJVW/vYM7EgQAx256ATxiK0iunj1OqQC1JEg6HA6/Xi0KhwGq10tDQ0OrjBwwYwKhRo1i2bBnbtm2joqKCX//61zQ2NjJr1iymTJmCxWLh/vvvZ//+/bzzzju8/PLL3H777YFzmM1mamtrT+UyBAKB4JTwF+xrWcH4TBfsO1WOVFt45o3trWqtsW7zbtKTNScthKDrzFswNY02jlRbeOLVbSz8f/+mpsEWVViWVZrwer2Ar5xArI71Bp1KCKHTyElHhjZt2sTvf/97JEli2bJlXH311fzud7/j17/+Ne+//z4PP/wwPXvG7icjk8l4+umnefLJJ7nrrrswm80MGTKEv/zlL4Fj165dy6OPPsqkSZMwGo0sWbKESZMmBc7x6KOP8vXXX/Ovf/3rZC9FIBAITpnOULDvZDFbJWoa7ByvtTJxTBY6jSLm/jqNggVTi1B4PSToTy1NLnjerHYniXo1TpeHmgYbdsl11swhwPGaJlweLyvfPrEkJjljm8j9y1+btxxg8U1DgNDyBSV5RuZNLqJbaudbgupKnPS7+N577+XCCy/kscceo3fv3gA88cQTXHXVVTz00EOMGzeO//3vf3HPk5iYyNKlS1m6dGnE7UVFRbz55ptRj1++fHnUbZMnT2by5MlxxyAQCATtQUcX7DsZjtY0BVprdEvVoVYpkBG7tYZGpSBZL2fv3vJ2MTj75+1srtVU02jjWL0VjydUzMRb/tJpldw+aRCr393JE+u3MWFMNhPHZOH1Qrc0PXq1gm6iTdNp56TF0P3338/NN98c9vjYsWO54IILePjhh09pYAKBQCBoG/7iiP6MJZ1WRWaaPuL2jCQVXpkiYmbrgqlF/PwqX423lttuHJuLShk7cnQymK1SmBCCE7WaFt80pFMLTXOTE51GxbGa0No//uWvaMLS7fbgkJxMvyIHrUaFze5Cp1VidzjRq+RCCJ0hTloMRRJCftLS0nj66acBcLvdDBw4kI0bN1JYWHiyTycQCASCKNQ02pAkd1Rh0yMjgSPVFla97Svot2BKIRkpPThea+WaEX2ZOCYr0AKjrNLE8xt38Isbihk9uGdI89TaRjvGFC3d0vTtXvCvweKIWnNo77e1NFokquttgcKOaqUCp8uNxws2hwu9VolOEyr+zgRyuRyL3cvxOitatTIsEhRt+ctfPPGNj/Zx9Yi+GFP0WB0uZDIZCrkMY6qBbmf4Ws5lzkhNVL9BTCAQCATth6nWitvrxeZwYbE6uWVcAdUNJ9o3+IXNommDA0Loton5DM7rwbFaKxarM9Ah/tsfG1h80xCeWL+NskoTTQ6fl8W/hGbQqTi/e9JpExt+03Zmmo4lM4aiUsgDz6tRKXj1b3v4bMcRALRqBQ/OHs6G/6sISf8fnGNk/tQi8HpJMJwZr1FKeialFSaye6fgkNwk6NUsmFrMus27sEtu7JI7sPx1w+U5KBVyn3BTK3F63Ey9PBeFQoZep2pVDzfB6eEsLRAvEAgE5y6mOit4vLi8XtZs2kW/XskM6JNKY5NEol7F8oWjeejFLzhWa6Os0oTV7qS0wkRhvzSGFvTkuQhd5yeMzuLvWw8xYUw2Gz6uwGpzUV1v470tBwPRpdOJQaciM03HsrkXsert8AjXbdcPZNfBGuotEhPGZPPmxxVhS0/bm8XfjOvyWfXuztPuNXK4QK1L4tPtO3jurRN1l0pyQ4tT2iU35VV1jB16Hglnoa/sXECIIYFAIDiLMNU04QFskotGi8SM6/Ipr6rjD69uC1SFHpxjZOltI/jN859Rb/EVd83pncxdP72AlRsjd50HyOuTyoA+qQDodUqSE9Qsmjb4jCw9JSdo+O0tw8KEkH98azbtYuG0Eh556SsG9Ellw8cVEc9TVmlCrRzILeMKOVbTRJNVCvNOtcRslWiyOQNRsEh+q2BqGm00WiRkwEvvh9cQKq0w4QUemz+S482NazPT9CddgkBw+hFiSCAQCM4CjtVakVxOlPJQ07NWrWDOxIH8YdFoLFYnSqWc0orj/PmD3Tw4Zzj3rfycBL2SJTcP5VitNWbNG78/qDjHiFatQCGXnzHfSqJeTXW9LWZLilnjCoD46erH66y8/MFufj1zKG63F1OdFZvdGVHgmOptuFzhfquSPCNzrx+EDHC6vVj9S3ZqBWs37eSrPcd4cPawqPO5vcI33p5GA/o4YkzQ8QgxJBAIBJ0Yvy/oWK0VlVKOUuFh5nX5VNf3Q6WUk5yg5vV/lIct04wfnYXd4WLOxIGUV9WRe34qFmvsYoqS00OCXsW8KUUoZTKMZ/gGHq/Yo83u62AfL11dpZBz/63DIrbAWDC1CKXXCyoFTTYnMmS8/a8KZl6Xj1JReKJ3mEoBeDleb8didaLXKFGq5LjcHq6/pD8/vWoAQMzGtTUNdvL7pollsbMAIYYEAoGgk2KqacLl9UbMEpswOovfv/INeX3SmDA6i50HqgM3Zf8yzU1X55PXJ43Fz27hoTnDW9XyITNNj9zrxetxnc5LC8NslQJd76Oh0/puWfHS1TPT9GFCCE4st912/UCef2M7ZZUmHpl7EdOvHBBSKDElQc2SGUNI0KmRy2R0T9ej1ypZs2kX3+w9FjhfSZ4xYDqPJIi6peqFEDpLEGJIIBAIOhnHaq3YHE5Axkubd0X1+PjNzgCTL+2Py+1lQJ/UQCq8XqvE3CTxh0WjUSvl7DhQHVdEKIAfa210Tz+zUSGrVUKnUcYcX02DHfClqz84ezhyGSHLVCV5RsaNzEJyuaMut/XrlRziSzKm6cKE0CPzRrJm066IAjREdJab8HhCX4fAWHKNGHTiFnu2IF4pgUAg6CSYaq1Ibg9vfrSPcWOyUSnkcT0+AOVVtcy9fiAvbtoVclMuyTUyZ+JA7nlmC0Pyu3HzNflcPLg3qzftCKvyPG9yEQe+r+b8Hml0T9PFjdK0N27g5fd3c9v1AyMKkQVTi3C63SyfPwqDXolaqWD2hIF4mksL6DRKVEo5d//xEx6aMzzq87Q0XzucocJp4bSSsOeHyALU//gNl+eEPObvSG/shN3lBZE57WJIJpMxdOhQDAbhohcIBIJI+H1BVrsLyenkp1cNYNXbO7hqeN+Yx2nVSh6cPQyPF9a8F34DL60wsea9XdxweQ7DBvZg5ds7Ka+qZcKYbMaPam75kKpDp1Hi8rgwpifh9njQKpVndHnHVG8NLGvt+baGhdNKmDWuAJvdV0zRoFOh8HpJSNRxfmbkcdU02rDbXeT1SYsp5Fqar1v6lNKTtTFN3H4BGoxSIeeROy5CIZeRoFdh0KmEEDrLOCUxJEkSGzdu5IsvvsBkMvHYY4/x9ddfU1hYSFFREeCrzvnqq6+2y2AFAoGgK3G81orb7cEL7NhfjTFFR48MQ8AjNH50+I03GLvk4uF1X/HIHReFFB8MZnuFiZnXFrBm066AEApeSiv/ro6SHCNOpwyFTIZOrcR4BlLAW7YOyeuTSnlVLfUWiUde+ipk32d/eQkqlQxjDIGWnqTD5LZy49hc1Ep51OW2BH2oUGopnKz22F6pSJlsWrUCvVbDkWorNruLvj2SY55D0Pk4aTFUW1vLzJkzOXjwIFlZWezfvx+73c4nn3zC8uXL+fOf/0xJSUl7jlUgEAjOeky1Vmiuyu8FPF6wO12cl5mIQavE7fFSXlULxDcK76uqA4ibJeZwuimvqmXxTUPY/OnBsCWdgdkZyORe7DY32b1T2udCY3C02sLK5orYfgbnGlly85CQekl+LDYnfVOT4p7XmKrH6/VS8V0dC6YWRTSeZ6bpGZxjZHvz4063J2SO9drYt8WWJvTiHCMGnYrSiqO8tHkvT/xidNxxCjofJy2G/vCHP9DU1MTf/vY3evXqxcCBAwF45plnmD17Ns8++yx/+tOf2m2gAoFAcDZzrNaKw+lEp/R97bq9Xkz19rBKysEZSrH6Wk0YncUT67cB8VPNtRoFE8Zks/nTgxG9MKvf2cHtk4rQn8bG8H5TuFwmY+17u8K8UNsrTMiASZf25/V/lIdsS9CrWr1s1y3NgE6roqHJzsKpxdikE+1E1Eo55iYb84OE0h9e+YaH514UMFHXNNhbJUD9fy+YWsTLH+zisx1HKc4xkmgQ2WNnIycthv79739z33330adPH9zuEypeo9Fw6623cu+997bLAAUCgeBsxi8CZPgiQdWNdlIStdgcbjb8X3hLiZYZSv6+VhPHZKHTKLE5XOyrqgtJ544XQVIrFTGrNpdWmJBcbnSa9reR1jTacEluTA02tBoVSoUsqim8tMLET6/MCxFDxTnGsKWteCQ2t7wwWyXsTjdymQxPczQuyaBD7vFw5/TBNNmcNNlcuL0eFt5QjM3hwu5wMX9qUVhqvr/vmcPpbs4UU6HXKHl+43ZKK3xZegtvKCY96TQqSsFp46Tf+Q6Hg5SUlIjbFAoFTmfssK1AIBCcbZitEnWNLtTJvalpdOFGihixMNVacXu82CQXVpuTlEQtq9/dwd5DvqWq1z4qZ8LorIg+H61aQV6fVEYM6kFWz+RAI9U/vLqN5QtG8ZuVn4cd448gyeWEZIn5I0hHa63Ea5dttblA1j5Ntc1WiSarhMvjRS4Dtwfe+GclZZUmli8YFfNYl/vEGPyRl5M1IyfG6QNmTPH9v6bRhqVJQoaMBIMSpUzGgqlF2CU3FqsTg86XqfbdMQtatcJXgkAmwyY5mTY2j1vHDyQxQS2E0FnMSYuhQYMG8dprr3HxxReHbXv//fcDy2YCgUDQFTDV21ixoTQsJT24Gaip1orL48EuuQPG4IwUHdubzdA/vzqf9X/fy/YKE1dHyBTTqhVRfT0Pzh6OQiGLGAGyS27+vvUQt00ciNsDTVYnep0ShUxGk8OJ1+1Br9fEvD69TonNduqFFo/VNGEN6vGl1Sj55L/fnWgfolHEPN6gU/L4/FEYdEoS9GcmKys9SRdVyPiN3g0WJ91SdSGtNaxWK6Yf95PVIx/96VxjFJx2TloM3XnnncyaNYuJEydy8cUXI5PJ+OCDD1ixYgWfffYZa9eubc9xCs4RzFaJBosjsMafnKARFVwFHY7ZKoUJIYCfXtYfr9uDyWTGI5djc7g4XmdDJvMtXX305SEenT+KT7cfpqzSxIOzhwWiQZF8PrF8PTIZzLqugAnNGWYtPURXj+iL0+1Bo1Igl8MvnvwPv711GO83n+/hucMpyTVGXKIqzjGiUMjQn2JtoSPVloim5QVTi/juWCOf7TiKVqWIuaSnUSnI6pVySuNoT0RPsXODkxZDQ4YM4U9/+hNPPvkka9euxev18uc//5mCggJWr17N8OHRi14JBJFozS9vgeBkMVslLFYJm8ONXXKRoFOTmtQ6sd1gcVBabuLSC3py09UFuDwevF5webxIbg9KuYyyShNpSVqcLl/KujFFx9K5w9nzbQ0Tx2RxzYi+pCZqmTY2l81bDkT0+cTy9WyvMCFd6YsA5fVJDTRV9S+jffTlIW4ZX4jL7cXjhT/edTE6jYLJF2cza1w+MpmMOyYXhVRbhhNiBa8XhVKOqdaKMU1PTaMNc5Ov471BpyTREL4MpFQqsUpQbW5ArVSGCSHwibbnN+5g4Q3FfLbjKFbJxY1jcwPbgsdx49hcVMrYkSOB4HRwSm65oUOH8sYbb2C322loaCAhIUEUVxSEcLzO2mxS9IXM9ToV3VLDf2lF++VdWm5ixYZSFt80RESIBCeNqd5Gda2vz5dOo8Ll9uJ0uak60kBmekJcse10O3npvrG4AYvdieRyk2LQNG/z4PbI+KzscIgHaGh+JoNzjPTMMGBucqJWydm66whVhxu4d8ZQVr1TxgOzh4dUO47Xjb3O7ODqEX3DltFKco3cMaWIV/+6h892HAk87hcYDoebpWu/JDlBzZIZQ1E1NyT119g5VmNj86cHmHRJf7qnaDle09R8XT7/jgwZbqcHU01ToAaRxQ7J3fpxrNaGTqNEIfNQmJVGeVVtWGp8WaUJm8O3BPf7l33ZW6OKe4YIupoGO8YULd1EJEbQAbRL6oBWq0Wr1bbHqQRdiFgh8x4ZCSH7+n95R6K03ESDxSHEkOCkMFsldu030f+8VFa/uzPs/Xj7pEGYrT4jtN8fYrM7SU7Q4nR7sNp9HctdXnjlr7vp1yuZCwu743B5WPveLnLPT6W8qi7kvFq1gqtH9OW5jWURU+I/3Pot8yYX8fIHe0KiPJlx+oGplHL+8Kovu2zWuAIckhur3Ulto53dB2tChBD4RIhaKefma/P5/cJRvqiYw8VXldVs3nIAu+RmaH4mN1+bz41X5uJxe7G7PYCMFzftDBF3/pYdpmoLbmDl2z5DuL+Io9cLwwp7MKq4J8vWfsmxWlvIWPyVno/V2njwxS+aRZk8EHk6v3uSWJISdBhtEkMDBgxAJpO1ev+9e/e2eUCCrsHxOmvMkPkvbhwcEiFqWRK/JfG2CwTRaLA46H9eSpgQAqg60oBXJmGzybE2SXjwolX7lmlqG+2+RqdWJ4//+Wtyzktl5rgC1r63C4fTExBAE0ZnseHjCrRqRUAYJBk0rP/73jCBlNcnFY1awbUjs0hL1NCvVzKbtxxgQ3MkZdrY3Lg1buySm/KqOrql6qhptLPv29pA/7GWpCSomX5lHn96f3eIcMk7P5XHF4zif/uOkdUrhZc272Z7pQmtWsFj80fy8l/3Rkz5X/XODuZPKWbtpp2BzLhIUaplt43g3uc/o94iBR4PrvR8rNbGK3/dy4KpRfTrKao1CzqeNomhBQsWBMSQw+HgT3/6E3379uWqq67CaDRSV1fHv//9byoqKpg3b95pGbDg7KDJ5ozZ38dilZCc7oBBOl5TyDPdNFLQ+ahptOGR3LhlMmwOXw+v5AQddslFk83XqFOjUqBWy0MykJpsTtRKBQP7pQZqyTTZnCQnqNAofRWf7ZIbj9eL1eHC5fJQtj80crJ84WjsDhdr39vF9ooTAgh8S1sts8CCjdIQO0vMX2DRLrlbVWRxcK6RaZfnkpasweX2olXJ+dHUFLY0lZKg5rH5I6ltdHDNRf2YM3Ega94Lb+Sa3zedfc0VryeMycZqd0X97JaWm2iyOblyeF+yzkuJaPYurTCxetNOFk4rCbTVKM4xotMoeeaXl/j6jemUIVlZAkFH0yYxtGjRosC/77vvPi655BJWrFgREi2aN28eixcvZvfu3e03SsFZR7xIzpFqK8tf+SZgkE5O0FCSZ4y4VFaSZyQ5IXZasODspGV/Kq3G15QzUa/meJ0Vq92Fy+0kQacNiJgEnYoEjRKXWsHKjWVhLR1uHJuLy+lBqZRjTNWTYlAjl3m59Cfn43L7PDkKuQy5TIHN6UIhk7N2866YkZN17+1i2tgccs9PZcLoLDTNDVL3VdUFIkLBwqCl9ydWlph/+4aPK7BL7kCRxVvGFXCs1kpqogalUk6DReIPi0ajVspRyGVYHS5qGuwU5XTD6/VFtPyCSKtWBPxIpRUmpo3N5a+ffxtRuHi8J55/QJ/UuK09rHYXmz89yM+vygurFB04b7mJGdcWACeWxuUeBwaNmqxeJyJB53r26Ll+/Z2Jk/YMffjhhzz77LMRl80mTpwYIpwE5x7xIjn+tOJgg/SiaSURs8l+Ma0k5hdEW79QxBfQmcVslahttNNk83lvVEo5Lo8HvDJkcg86je+9YrE5QQYyoKbBhrnJSVKCEoNWw3NvnfDeaNUK/rBoNOs27w67uW+v8KWgz5tcRKNV4nidjUS9Co1Kgcvr5U/v76YgK40L8jKptzgwaJXs/q6Gbw83RF7yyTNS0C+dcaOy0GlVlFfVhUVWLhtyHilJmpDHW6bNx8oSa9kJ3b8Mlnt+KiqlnNpGRyBjbPOWAzw0ZzgbPq4IEYElub46RA+v+xK75GbCmGxe/XBvIDpV2C+tVc/vNzPHQqdVUlZpCmSERcPucPPsPZf4zNVeL6i0dAuK2Jnqbax+p4w+PZIZ0CeV6no7iQY7mWl6MtO6fiKOyJ7tXJy0GDIYDBw6dIjRo8Ob0u3Zs4fkZLEOfC5j0Kla3d/Hb5Du3S2RxTcNaZNQaesXivgC8mGqt2KxRo7ItBazVcLe5MDdXF/Hfy5d0PKHqd7Ge/+pZOLobDQqBTaHizqzw7efRoHcK2fTlgOMH52NrFkIudwePB4vcrkMvHJ2H6gJNC4FXxTD3CTFXMoxW53c88wWtGoF984YikYtRwbcMr6Q1e/u5E8fnPAzFucYeXDO8Ig+mb3f1vKDyULOeSkcq7UycUwWeX1SA0topRUmVr29g1vGFYQc1zJtPl6WmNN1YntJrpFxo7JC2m0E4/Z4w2oF+f+eM3Egz71VFiK+MtN0aOO02fCPzy+6on12S/KM1DTYAeKe06BTolUpAu8rs1Xih+NmmmxOdBoVFd/VctXwvry3JXzpMFKSRVdCZM92Pk5aDF133XU89dRTKJVKLrvsMtLS0qipqeHvf/87zz//PLfddlt7jlNwltEtVR+1a3Rwg0k//mW1eOXzgzFbJVa/U0bOeamMHxVac2X1O2XcOf2CkHOJLyAfpmoLbpkMhQLSk32em+p6G/ZmQeP2OKk3u32CRe1bSsLr66vVZHOR2r0/jTYvTrcNpdy3VLUvOKsI37l0GiXf7PmRiaOzcXm9Ed8LC6cWMW50Fi9u2sm1I/uhUSkiNi59+peXUNdoD/TOstpjV0p2uTz87Ko8FAoZapWCd/+zn59eNYDV7+4MExJllSas9pywm3+wz+f5t8pCxh3s8ymrNPmEWxAtvT/Roi3+JbYeGQYenz8yIEz/9c13gM9QPaBPauC9XdtoZ8+3NRHPVVph4pbxhTx7zyUhy9RLZgzFFme+/OPbV1XHtz82RC3sePukIu597lPAt9QYTTQNzjHSZJPQa/Qk6tURf4QsmFocdenQb9Tunt41I0Qie7bzcdJi6J577uHIkSMsW7aMhx9+OPC41+tl2rRpLFiwoF0GKDh76ZGRwC9u9DVDtNpdWO3OsAaTfk7GIN3Y5ODKYeE1V/yCq7Ep9AtFfAH5IkJuYO+hWvr1TOb7anOgWvLmLQfI65PGgqlFaDUePt95mIM/1DN7wkA2/l8FKUk6BvRJpd7sIFGvwpiq5/V/7KWgXxq3tTDnatUK5kwcSGF2JlbJzbrNuyLe9LZXVvPFjsPknJ9Kdb2N0vLjjB+dxaxxBVjtLgxaJdUNdl792x56dUtkw8cVPHXXmEDTzWioVQpSE7UUZqXzp/d3c9WIvshl0RuEBvtk/AJl+MDuvPK38GhRS58P+MRZsDAI9v7ccHlORE9cNFO1vyHoiKKemOp86ekHDzewecsB8vulMX5UVog/KBib3YXN4SI9+USpE5VCzlf7q2NGe2obfdEev4hrWdjR1xZDx4MvfkG9RaI4x4jdITFvShGr390Rcl2Dc4zMuX4gv131Ob+7Y2TUHyHpydqIvdnghFG7ptHWJft9iezZzsdJiyG1Ws2zzz5LZWUl27Zto7GxkdTUVIYPH87555/fnmMUnMV0S9VDqi8q88T6bRHFSHGOEbWq7VVn3W5vTFPq3OtD++OJLyDwur1UN9j597bvearif4HHLyzI5PEFI/F6fdEfh9PLkAGZDCvozp8/2MMt4wr50we72bzlQCACdKS6iZ9elY/ZKnG0xsqE0Vnknp/KR18eYtG0EjZ/epDn3irjwdnD2HuoNizKUflDPX17JrJucy0zrytApZQxOMfIsTorx2qsqFVyyipNfPtjAzPHFVDf4GADFchkMnbEubl78ZKerEVyubl6RF/e/+xgxF5gfvyRkWCBMqBPatSbdUufj1atCIum+L0/eeenUtdg5/ZJRawKqv4czVS9vbn8RF7QUldwNCq4o31LlEo5SSo1+747sdTVZHPGzFKbO3EQjU0Oli8YiUwmw+32NItHAkJIr1Xy6+c+DQihG8fmIrk8PPTiF9x2fREzri3A7nCh1SipabDz21WfU2+RaLI5fV3qI3zu4y0dWu0uFApZlxRDInu283HKRRdzcnLIyclpj7EIujCJejXzJhfzfJQidC++uyNsWSseHq83Zvp+y+iB/wsmuB5M8NJagr7rfQG19AaplHLe/LgiLO37mov6YbO7Iy5R3Xx1PqZ6K1dceD6XDz2fzZ8eZPOWAzw6b2TE1/OB2cN546Nyyqt8AigtScv/+8UY1m3eFWZOHl3ck3tnDOX1f+zj5usKQooUatUKZk8YyIiBPThea6Vbqp6n7hqDQ3JR0DeNYYXdefVDQq5lcK6R2yYO4mitlZRELQq5PCA4JozOivra7/+hnpJcIznnpwb2v2ZE35hz67+ZF+f4IisffRm9TUbWeSloNYqwAoutNVW3jEYFbwuez28PN5CWpGXde7sC4segU4VEqlqOz+XxoNeqcHu81JkdJCeoUSrk1DVHAFOTNDRYHPxm1oVo1QrUKgX/3XeU9R+WY5fcgfT5e2cM5TcrPw8Zk06jiPojozVG7aZ2aBzbGRHZs52PkxZDv/nNb+Lu8/jjj5/s6QVdDLNVorreGvFm4V82a+syld0RvkwQa3tygoZhhZlRl9auHHZ6I5r+LDar3UmCTo3k8jQbxSP3fTpZglugGHQqnG4PT7/xP47V2nj2nkvY1yJKk5muw+ZwsaGFEAICX9a3Xz8IhVyOxe4gr08qRTnprP8w8hLS+g9hQvNS15r3dqFQyNj7bW1YlKW03MSeb2v5vMy3TLbuvV0hQijg19kY6teZMDqLFRtKmXldAbdPGoTd4cbmcKFUyPjhuAWFXMbHX1Xxxc4jPHvPJYFz7v+hngdnD+fNjyvCXvvpV+RycUkvTPX2wLZ4N2u1Sh4Yz6EjDUy8uH/Ec984NpcEvQqv1xuy7d4ZQ2Oev2XkJFggtVwlHJxr5IbLcnl43ZfcNf2CEPGjVSsDUaKW4qs4x8gVF54f6KsmOT3Umx3UNtoZlJ2B5HL73qd2NwlauPOpz2LOR8tza1SKqFHfWEbtwTk+o3ZmWteLCoHvx+HJZs8KTg8nLYa++uqrsMesViv19fWkpKQwaNCgUxqYoGvRYHHQ2OQMfBmnJKhZOK2EEYN6UJxjxKBVIsNnQm0ZzTDoVSFF9PzEi+S03J6oVzN3UhHPvrk9SmXssqgmarNVoq7RhTq5NzWNLtxIbTJ61zbYOVZnRSGTkWhQR2yWufCGcMNoyzIAOq0Su8OFxRo52y5aC5Rlcy/ioRe/wO5wseTmEz4VrVrBk3eOocnmiunfOFzdxHtbDjJ/ahHDCruRqNPw1seVkfevMDGzWQjtO1TLnAkDyemdwtXD+4akiNslNxnJOnLOT2XEoB4hN+p4dXn82V/PvLk95DonjM7ipfd30adHMuw8EmK09gIb/i9c8JVVmpDLYOLFWSgVJ27cMbOqco10TzcwenBPnli/jSU3D+HhdV9GjLw8vO5Lltw8JOx8rRFbLfELpES9imfvuYTDpibUKjkpiRruW/k5dskdOM4uudnwcQVf7jzM/bcOY2WU1jj1jTY+3X44bFvPjATSkjU0mSUy0/Q0WaWYS5PBGaLBTVd1WmXEKMjmLQd4cPZw5HIieo5e+/s+5k7uuvcRY4quzdmzgtPHSYuhf/3rXxEfP3jwIIsWLeL6668/2VMLuiBNNmfgSzolQc0j80aGNKgE35fgoqlFtIz3uFweTNUWjC1SbU8m1Cw53TFTsiNFp04lHb/lsdPG5ob1sQLfDfm5t8q4+2clgQhRpOcNzsazS+6QccRqgbLq7R0smTEUg0bJax+VB4TPDZfnsPa9XVwVw08DvptwWaWJlRt3MP2KHDw6+M2MoTz+yjdRjbz7mts1rNu8K8S47Pe/rNhQSnqKjvKqOrJatGSIV5cnUvaXX9RcNyqLbqlaBucY0WtPfMXl9E6JXiSwwsSM6wqoazYSQ3hGWPD4x43K4r6Vn/HAnOH89tZhyGSygPiINn8tzxdLbLUsP+HHH43atu84g3OMLH/lGwB+M3No4HVoed7vjll49KWv+PXMobjd3sCNV6GQYZOcrP9HZIEIcMfkQRi0SlxuD0vXfhl1Pm6fVITFKpHVMzmQ9RbcdDVSFCS/Xxo9MgwsmFKMpTnJQqf1eY5e+/s+bhlf2CX9QsG0JXtWcHppl0atwWRlZbFgwQJWrFjBdddd196nF5ylGHQqvt5zjOIcI+NHZ4UJIYBDRxpwuL0Rm2kumFqEqd4aEiFK1KtZeMNgjlQ3YbE6A7/Eq440cMfk4ohfMm01UZ9KOn6kY+Pd5M1NEulJuqjP29I7EjyOeC1QVIpCnG5vQAhp1QqG5Hfn1Q/3MX50uAclGL+QLas0MWtcAS+8s4NRxT1DUsyD0aiVMaM7aqWcB+YMp8Hi4JoRfcMalMYz10arklxaYeKGy3NQK5XYJTtqlSIgmFue0x+dTE/W+sy6chnJiRouGtSDL3YeCfPZePH9mne5PWzbewy75OZ3a7/kkXkjqTc74s5fy/PpNUouLunFmuYWH36ilZ8obl468m8bMahHYFtq4gnhH0nEfXfMwovv7goR0gBP3XVxzPeM5PTtZ7W7YvqO6hvt6JsjG5GarsaLgigbbSgUMppsLjLTdMydPKjLCyFB56LdxRBAQkICP/744+k4teAsJTlBQ9URX/2S9GRtxC/ghdNKIjbT9Dd3XXhDccjjpnobz721PSxis2BqMRlRIjZtzeI4lXT8SMfGu8k32VyUV9WiUSuiPm9Lc21pua/XWzyhJ7lcuIL8qBPGZFPd4EvdbhlNCDYae4GMFB3/7xdjsFgllAo5Bf3SyEjW8e4nB8Iym4pzjMhkXoYP7M6APqlcM6JviJn42pH9GFnUk7XvnWiBkZak4YFbh6FQ+JYR1cq2LyH5x51o0LDqHV+EzO898nhCj4kWnSzOMTJ/ShHDCruz6p0dgWiPX6AsWfEpdskdkt3121Wf88Cc4VGjlMFRnuDo0b0zhrJ0rW9pbcLoE+Kid7dE1m3eGSIwS3KNzJk4kM93HGbd5l3k9UkLFD8EXxaZ//ULE3Fe6Jam49Pth8OEq90R26Bsc7iRQSDCFi36NWJQD2wOFwOz06OeK1YUJD1JJ8SPoEM5aTF0+PDhsMfcbjdHjx7l6aefJjs7+5QGJuhaJOrVzBpXyEubdzPp0v4R94kmksAnAGxBX9yxIjaxvD9tXVo7lXT8SNviFd/Ta5RYmhuL/vSqPN799/6Iy1AtRZXN4Y4p9LRqBWkGLY32E2Ma0Cc18O/gaEJ5VeRu5H5BsP5ve5h4cX9Sk3wCN1iYleQZuW3iQLxeGWvf2xm2PPbIvJFUVNXx4qZdVB1p4NF5I3n1w71hzzPj2nyG5mfyzd5jYddSkht5CQl8Ai+4plGwMEhP1gVe+4XTSiJGJ8sqTax827cU+PTdl9BgsaNR+2odrdhQGngtWkbo7l/5eWD+oi1rtsQfLWopLpbPH8mMawv46ZUDkJzuQKVnl9tDVq8ULsjrxqxxBfz5gz2BY6rr7SGp/S1FnOT0UN7c8T4YpSK8nVIweo0SmVyG2eqIuaTnMzuHRvdE2xvB2cRJi6HLLrssYl8yr9eLTqdjxYoVpzQwQddDJoN+vZJJiHLTjldVODjN9mQjNm3N4jiVeiCRtkXyiUQrvuevvHy4uoln3/gf9RYpsK2lqLJLLlITtRFvWFq1ggdnD8cLaFWKwD6S08PBww2Bv/2iYeZ1+TGLDeb1SeXNjysYPbgnd95YgkatZPmCURi0Ssq/q+PTssPsOVgb8fg1m3Yx87p8Xty0k8fmj4zYAqOs0sQrf4OZ1+UjuTxhkZubrsnnjY8ie3+K+meEiQu/MNi85QBP330xqzftjCu8Z40rYNU7J2r9FOf4vFnBkZWyShOTLs4OZOYB3DKukNnjZVisEjqtisrvIxcZjeYJAtDrVPz5gz3cdv1A/vL3fSGC0B+5+seXh7hlfCHTr8wLiI0lKz6NuIT1xPpt3DtjaMSq0j8ct8T8cWB1OOmeYUCvVjBvSmidJP94brt+IG98tI9bJ5yo62Wqt/G/fccCGWqNTRK7D9ZwwYDMc6rtjeDs4aTF0GOPPRYmhmQyGQkJCQwfPpyEhK7bV0ZwciQZNFR+X8fFF/SKeNMONrtGwqA7sf1UIjatyeLw/6q1WJ08Ou8iyiqr+ejLQ1w5vG8gJT3R4MvuikakKFQkP0c0b01puYkX3tnByKKePDJvZKCQXfCNtLBfGnf99ALskosGi535U4v4ZvdhLhrYCzeE9Axzur00WhyBBptqlTxsPP7O5fGKDfpr3WSk+PxNyQkaVr+7k+0VJh6cPSyqUbms0oRSXshvZl2IXCaLKUjqzVkhpRh6Gg18VnaY3637kkXTSnC5PWGRJ3mEH2h+7JKbH0xN3DGpKFBxORo2uytkOTJS1WmtWhEwgEeKoC1/5RsWTSshr09aWO0mfxp8S4pzjKgUcqZflceaTbvCImP+yNX8KUUs+n//DoisaWNzyesTuRlrSZ6RPYdqAwUzg8XS/h/qmTtxEKs37Qx5zUvyfMUY1Up5YPmqptHGwhuKAxXl/WbnNz7ax8xrCwJ+PrNV4mh1U9QMNa1aISJEgk7HSYuh4cOHYzQaUanCf/1KksT//vc/LrjgglManKBr4Y/KvPHR3kDfsvKqEz2tNCp5zFC8XnvivXaqFVxb+heCm0hqNUr2Hapl7Xu7Ajebwc1LPC9/sCcsehMtqyxSFMouufnoq0MsmlqMy+PF4XRhc7gZ0Cc1pAGon+0VvmKBazbtYuG0Et7/9GBg2aWwXxp3Ti9h5caygCiYckkW147oh9PjDUvff+aXF2OTPHRP1zOquCcpiRry+6aFmWK16thfC0qFHK1agdPlwVRv47zMRGwOZ+BmGs8Xdbi6ieWvfNOqOjvBc/3YvJGBv59Yv41f3TSEKZflYJfc9MzQ43R5iN2kg4BZOt77Q6dVMm1sLimJWu6dMTQQZSnomxbYZ8KYbF6K0mYE4MrhfUPm1qD1iWedWoHXS5hI8kdZfrPyMx66bUTEJUL/+R2SO+R98tGXh6J6oOZNLuL1j/ZFXJIryTNy+U/O445JRYH3oq/BqhKVWh7i4zmR5WhFLveZnbul6rhl/EBfpflmLFYprHhn8LwsmFokxJCg03HSYujyyy/nzTffpKioKGxbWVkZc+bMoaysLMKRodTU1LB8+XI+/fRTHA4HQ4cOZcmSJfTv7/OV7N27l0cffZRdu3aRkpLCzTffzOzZs2Oe88MPP2TFihV8//339O3bl8WLFzNmzJiTu1BBu2JM0TFr3EDqLTZmjstHr1Gx+p0dbPi4IqapdcHUohBPwqlUcG3pZVCrFLz47g6+2h26HBGcKbW9eYmnMCuNfr2SQyoY/2/fMS4q6hnxCz5aFMouuVkdIW0+UnaWP6199oRC7v5ZCXaHi0fuuIjkBA3PbywL+UV/9UVZWB0u1m7eHXYzUsjlvPOf/Uy5pD+pSVrkchm3XT+INe/tDLlJPnLHRVHnDkAul7H4piGkp/j6X/miTy4enD2MfVV1ra6f09Y6OzqtMsTY7XR5SEnUoVQoAss308bmxizkt3XnEbJ6JnNeZkJM4a1RySNGfC4u6RXoCxZpSc5PIILWLEBKco0M6JfG/u/qmX5lHm//q5IZ1+WjkBWERFn80b94jVWb7KGRzyuH9+XlD/ZELGq6ZtMu5k4aRL1FipBsMDiQ/t5ajCl6jCm+unJ79+4lMz8/ZLvNEb18hc/7F7tYqkDQEbRJDP3+97+nvr4e8HmDVq5cSWpqath+e/fuJTExsVXnnDdvHnK5nDVr1qDX63nmmWeYNWsW//znP7Hb7dxyyy2MHTuWZcuWsX37dpYtW0ZKSgpTpkyJeL4vv/ySxYsXc++99zJixAg2btzIggUL2LRpkzB1dwDBwiNB7+vIbbO7aLS4SND5hJA/qlFvkfjtqs9ZOK2EW8YVYHe40euU6LWqMHPmyVZwjVW7p6yyOqpBFnzG4rnXhzYkBV/130H9M6I+Z6QoVGvS5v34RYHV7qJfUD2ebw83hFWT9pvMI92M/O1L8vqkBmodPfPLi33tK2qaAjdQf7ZUNKGwY3815VV1TL/C14bnNyu/CNk+fGD3iL6oCWOyKeqfgdvj5cHZw/B4iWmSrvyhPuS8dWZHmLeqZd2mWLWB5lw/kF89s4UlNw+hpt7ObdcPjBpJeeVveyJGNtZu3sWEMdmUV9XFXJKDExGykjwj40dl8feth5g1roDqejszri3A5fEgl8l4+W97Qt/Duca4BUUNOhUlucbAZ8dfsiFaNOnma/O5dVwh3nG+Wlun09Bsl2ILuXjbBYKOoE1iKDs7m5UrVwI+f9CuXbtQq0M/TAqFgsTExFa166irq6N3797Mmzcv0N9s/vz5TJw4kcrKSrZu3YparWbp0qUolUqys7OpqqpizZo1UcXQmjVruOKKK7jpppsA+PWvf01paSkvv/wyDz/8cFsuV3CKBAuPYJNwoIrw7GFhXcTrLVKg19GqX19G727RRXVbK7i2VYS0TGGfdGl/1raoCQO+pawX3tkRs+ZQMLHM3y2fc3BQ5lSwZwrAZneGiYPH54+M+rz+aEOwYJDJZNSbHTy87kRFef9rJZcR5skJrlMTqT9WWaWJ1/8hDxEa0Qzi/mUhIOQmXpLnK+LXYLYzYmAPrHYnKYkavtp1hNKK6hCR0rJuU8u0cq1aiV1ysa+qDq/Hy5Kbh+DxwrE6K3//8hATx2Qxe3whFpszEJ05Xmvli51HIs5habmJW8YVNj9X7Jt6tzQ9D84eRo8MAy63h5uvKcDj9dI9Xc9r/9jHJ6U/BkTilEtzkMtkKJUyqo6aqa63xRSktQ02Zk88McfxSzb4Ph9JCe3X9iUa0RIkWrtdIOgI2iSGpk6dytSpUwFfNtnzzz9PfosQaVtITU3lqaeeCvxdXV3NunXr6N69O/3792fFihUMHToUpfLEMIcPH87q1aupqakhPT20poXH4+F///sf9957b8jjw4YN45///OdJj1PQdloKj0gm4Xhf4I0WiV3mahJ0voiSQiELa8vRlgqubREh4BMFSQYND84eFjDwut1exo8OXYbYvOUApeUm6hrtMYVYXaMdi80Z1leqJYGIQq6vQOUfXt1GcY6RREPouZMTNLz2Uag3w9cDK/J5DXplIIrkcnuZeV0+VrsLlbJlZppPUDxyx8iwaw1ewmv5+gUvYVltTmZel4/LlYdGpeDPf40caVmzaRfjR2fx86sH4HC60WuU7Kuq466n/hN4nuIcI/OmFHHBgEz+9MHeiHMVjeDgTZPNycPrvmJofiazxhfQy5jAmx9XhPjWDFplxCzZYGwOF5Xf1wXGFk2wfLnrCOVVdSy8oZgNH5czcUw2yGQcrm5i4sXZXDeyHw1NEt3TDZRX+TxqAEtuHsK/tn0XNXI1f0qzv8fuZMHUYuySC2+cN5VBp0KnUZ6RWj6pSdqYS9ipSdrTPgaBoK20ezuOk+WBBx5gw4YNqNVqVq1ahV6v5+jRo+Tm5obs161bN8BX56ilGGpsbMRqtdK9e/ewY44cifxLry3YbLZTPsfZiv/aWzsHdY2uuJWX43lGmuzOQMQiUIW62oJBH/u4aFisUsztwTdWfzRj/d/3sr3CF9144hdjIvpI/D4fi82J1WoNOafDBTaHhxeClgMfnD0s5ji6Z+j5w8JRlFaa+MOr28jrk8bCqUXolN6Q8zvd3pAbZUqCGo1KEXGZKyVBjUqhCBv/il9djFqpDNvfLrlpbAqNGLUk+PWLWh4g18itEwaGRQD9lFX6Kka7vV7cHk9Er5O/ncj0K3LDjm/5HtKqFSG91wLjyDMyduh53DI+n9f/UcGf39/DNSP7MfO6fBRyGVa7iwS9Cp1aybE6a8unCUGvVXHbxEH86f3dEdPV/RG0v289xIKpRfznv99xw+V5uD0e9GolWpUCh9ONC8hM06NUQEmOkSd+MQarzYlep2TmtQVILjfzJhchudxYbS70OiVqpQKn241OoyJBq8aghWS9CrM9tjDTaZQk6WRh789TIdp3ggJYOLWY5zaWhS1hL5xajAIXVmvXWCpr6/diV6Szz4HX6437AwfaKIZmzJjBQw89RHZ2NjNmzIi5r0wm4+WXX271uWfOnMmNN97I66+/zoIFC3jttdew2+1hy3Aajc8Y63CEl7+3233pspGOibR/Wzl06NApn+Nsp7VzoE7uHfJ3pF/wbenNFFyFusHi4vD3lW0bOJBi7BN7zEE31paRrJbF/ILH5d+uUSvYu9cXuZDL5aRnns+e78x81iLFOF4DUL1Kjhwoys5gRGF3VHI3x348wI+u0BuINuW8kL8XTith5cYdHKmx8PDci0KyyRZOKwlUZQ65ZqWSte/tinhTr2mwx6yqXNNox1RnizhffkorTJjiiAu5TIZCLkOnUcU03s6eUBj2eMu5nHRpf97/9GDYUqavGKcvJb1v9xQef/lrrrmoLy//dS/Tr8ghOUGLWinH7XFhTNHHfH3KKo4ztKAbt10/EIfTzZwJA/Hixe5wodU0NxyWeZk7aRByj5vLfnI+bo8Tp72JH48ex+M58VmINDMaWTdWbv4+ooAsyTUy88rzqP7xeOAxpVJJz95ZgQzNSMkHCo+VvXu/izi3p0qk7wS5XM7MK85j5tW5WCU3erUC3DZ+rKoIuf6ugrg3dO45aKkJItEmMRQcio0Xlo23vSX+7LHf/e53bN++nfXr16PVapGk0F/zflGj14dnQPiFUqRjdLpTDw/37du3Xc5zNmKz2Th06FCr56C6MfTGHSkKFMvsGqlqb3AVakN6XwxaFQl6JZpWvosdLlrVMgHCi/fF6yl2y7gCHJKbbr1ySND7BvTHN7YzflRW2E012nX7fzknaGX4bNInPsBpyTlhz9tyjtOTtWz3+7Fe/IJfzxiKUlEY8IsE9yTzLwvVmR1cc1FfKn+opzArLSQTCZmM2ycVsfrdHWEG31njCnFITtY1L+1Emx+tWkFqYuxlEbvkipsS76elSGk5lyW5xpg1jkz1NlQqGZMu7Y/X60vzxuv1+YhqrGzacoAJo7O5fZIvy65lZOOOSb5ITb3ZGchuO1Zt5cnX/xtSFLM4x8jowT25sKBb8/tTTbJBTXdjeMJJJBbekBY1spKgldEj80RUvMnmRXJ7cXlc3DZxIB6vF1tzhppeq8I3/YZTsjREoq3fCaAPGXdXoO1z0PXo7HOwf//+Vu3XJjH06quvRvz3yVJTU8PWrVu55pprUCgUgO8XRXZ2NsePH6d79+4cP3485Bj/35mZmWHnS0lJQa/XRzym5dLZyaDT6SKKsHOJ1s5BKlKI8IgUDfF7U2ZPGMjPr8qjttFB9ww9X+w4ErFqL/h8Hw0WKdCtuzXd4/0ZbVa7kzsmFfFCy5t7c4qxy+3mwoJMDDpVWCPQeN6UozXWkDHdMamIvd/WctWwvmH7Bpt8Z15XgOR0k5ygjmr+jtbWoOUcB1fwPlZr45dPbwn87TdWxzIzT2j2JwG+fbYcoOpIAw/OGc6US3NCmuG+9o+9zLyukOKcDL7afSzq/EwYk83+H+qjR1ryfJ3ltRplXC+Vx+sNi2DZJTd/33qImdflU2/Owhsn6GCxOslM13NhfndUKjkHfqjnmTe3Y5fcaNUK5kwcSHKiGsnl4vbrB+FwupuzGlXo1Qre+U8FBr2W8qo6yqtqWXLzEN7/9GCYELpxbC49MgykNnt02tqaQq+nVckBpuomHB4PNQ32sGbFsycMRKmUodef3huU+F4UcwCddw5as0QGp+AZCl4ya8m+fftYvHgx77//fsxzHD9+nHvuuYf09HRGjBgBgNPpZM+ePVx22WVkZGTwxhtv4Ha7A2Jp69at9OvXL8wvBL6LvuCCC/j666+54YYbAo9/9dVX/OQnPznZSxWcBC1T36NFQ/L6pJGWpOXBF7dil9w8e88lUSMw4DOCBvcoi9c9vmUqvf+GN3v8QOySK+pN5ofj5pC/21ITp7TcxAvv7mDCmOyox/kL4A3ok0qPDEPUrLlIpQCCBWDwHMeq4O0vMhirk7x/OxDYZ9rY3JCWGVq1gkmX9mfKpTk0WBz87Kp8Zl1XCDIC9XeCGdAnlT+8uo0lN0fOTrvhslzw+tqEuNweFkwtZt3mXWHnKc4xYrU7AyLy51flYbY6kcl8Qvu+lZ/73j+/vCTqHEBzPzCHC6vdxfmZiXx7xMySm4eg16jQ604scRk0arweF1m9UjhSbQlZfvK3N3nrXxX84dVtTLq0Pz+9Mg+3x4teq0KnUZAQZOyP9xpGI15yQE2jDcnr5YV3dkaMrK57bxdzrh8Ucz4EAoGPNomhbdu2BZa/vv76a7755htqa2vD9vv3v//N999/H/d8AwYMYNSoUSxbtoxHHnmEpKQkXnjhBRobG5k1axYajYa1a9dy//33M2fOHHbs2MHLL7/MsmXLAucwm804nU7S0nyVYW+55Rbmzp1LQUEBY8aM4e233w4UbhScWVqmvifoVdz9sxKarE6O1lqRQViGkk4Tbub14zeC7quqC1nqkZweahpOmPf8z6fTqNh7qIa93554j9olN8+9VUZJnjFmKnzLoo5t8TeBTxCNH5UV97jaRjsDgqoaBxOrGa1fAALcOq4Q0ygbamX0Ct5ata8nWbzlPn9GnX+f4P2DzcnBS1H+SMiy24bz0JovwwpG2iU3+3+o56LinmHZaQ+v+5K8PmmMKu6Jqd5G5fd1PDh7OA+v+zIkm2zu9QOpqbeT3zct0Gds8U1DeG9LqLCTyWIvhaYkalAp5dgcLuxON5u3HGCD5ObB2cO4d+VnIfsumjYYgB4ZCdw5fTAWq5MmmwuDTolereC2iQNxe7zYHW4S9JFFdWtew5Ot9eOUPKyO4AML7iFni9OVXiAQ+GiTGNq4cSObNm1CJpMhk8lCRIkfv1gaN25c3PPJZDKefvppnnzySe666y7MZjNDhgzhL3/5Cz179gRg7dq1PProo0yaNAmj0ciSJUuYNGlS4ByPPvooX3/9dSC7bdSoUTz22GOsXLmSP/7xj/Tv358XXnhBFFzsICL9uk1P0qHTqiL+WlYq5DGNoGaLlY++PBS1sam/51OgjUaukSfvHMOPpiaUClkgFX7vt7VYYixdtDayFc3flJKgpnu6nrQkLRfkdWPa2BzKKqsD7TYG5xqZdrlvKSXazTBeM9q6RjtrN+/ilnGFPLzuK1IS1Dw6byRr39sVFoFRAvOnFvHjcUvU1wp84kUulwVS8DVqZaCytFIhY3MLc7JWrSCvTyoerxePGx6bP5Ivdx0NXKe/eGD/3ilRM9P8Iiw9WRt4PZ+++2LqzRJ6nRKVQs7Xe480lwMo4NYJMmTI8OINeGSsdhdatQKlUs7t1xeFmcX9r9Pr/yhnzsSB7KuqQy6XMWFMNpXf14WI2UgVz/1Vl+FE5eX8/Py4ywIn21C4Ndid7phZehPHZIU0NxYIBNFpkxi6//77mTx5Ml6vl5kzZ/Lggw8GjM9+5HI5SUlJgSKK8UhMTGTp0qUsXbo04vaioiLefPPNqMcvX7487LHrr7+e66+/vlXPL+gY4hVMXDRtMFb7iV/iOo2SAz/U8PQbO2I2NvV4Qosnbq8w8eKmXSHdx++dMZQkg5pVb+8IuZm0XLpoOUa9VskdE/PwyAZic7jQqBV8uv1wmL/J31Zk9bu7wgzST911MR6vB7UydCklEvGa0VpsTkrLTcyfciKadv+qz7l35lBunTAQq92J0+Vhz7c1SF4w1drIiNMxvEeGHo1KyV8//zZEaA4rzGTOhEEMze/OtMtdKJVydu43kdUrhU2fHAgTpU/eOQar3RmolBzJU6RVK5h8aX8uGtQDtcpXHPHx+SNJ0KlQKuQkJylptLjwqpUMK+hJg8VGo0UiNVnLK3/bw1XD+4a9DwbnGrl1fEHEthT+1+nma/PZvOUAowf3YvTgnr6KzzoVV1x4Pgq8HKuzYbHFLsPQWk6loXAsjtVaOR4nS09yeshIOWknhEBwTtGmT0piYiIXXnghAK+88gqFhYUYDIbTMjBB1yeWJ6Jl+w2zVeIfX/2AXXK3eqkn0mNllSZGD+7Jpi0HIqZft1y6CB6jLyJQ2RwRSMJslaj8vi7M37JwWklYsTz/+Ve/u5O7f1bSquJ38ZqJ+huq/ni8PiSadu/zn1OSm8GiqYNxA0l6Navf2cHN1+ZTHmfZrq7RHrb0pFUruHJYX57bWBYm7gr6pVNeFbpUXlrua1sxsqgna9/bxeKbhqBRK0LOd8PYHEYO6onZJiGXy3m+xbn90RmN2k2TzYnH6yUpQYtM5qXBInHL+EJ2H6xh4pgsrhnRN6QApqneHtN3Vm92kN83jX2HajHV2wLd3AfnZJBk0GDQq7E5XBw60oBWrUQhk2FsY/8uP6faUDgaVruTeLbQBL0qpLmxQCCIzkn/bLjwwgs5evQon3zySUgqu8fjwWazsW3bNv74xz+2yyAFZydtzaAx1Vtxu73NjT+dJOhU6Jr7kvmXrVa/U4ZCEdvMHCkKEfxYWpI2TAj5acvShX9M/9t3jLQkbSAKkZGii1kvx9zciLPlvLScL51WGbOSr07jExhL125j6ZwhLLyhODB3Bp0Ktxe+PVxLT2MypRUmfnplHus274q43Dc418gdk4uQnK6wpZdJl/bn/c8iR+K83vA2Jv5tP70yDzjRYb4kz8jeb2u5d8ZQqhts7DxQQ+9uBla/uzOi78VfF+iup/4POOFNUsh9y/GfBtVv0qoVzJ4wkMfnj4r9ogEKhYybrsn3RdFmDCXv/FT+vvUQeeen8ubH4dG8eZOLMNU0gdeL3e1GpVSSmHE+NY0u3Egx3yttbSjc2s9Mk80Z14+WmaYP+1EhEAgic9Ji6MMPP2Tx4sW4XK5A6lpwpcesrPC+RYJzh7Zm0ByvtuDyElIoEE5ECHpkJGBM0XHb9YM4WhN7eSBSBlfwY63p49QWPt9xOOQ6H4hTYdpsdbK90sSAPqlU19tJMjgwpupY+95Ovtp9okfXsMJM5k8pZuXb4fVmfjGtBI1aERAYew414vEqAoLsR5OFC/K68dcvvudnV/luiHVmR1jvLv/+3x5uQAZhHcW1agUX5nePWrtne4UpkO4e6ToX3zSEFRtKOfhjPbdPKmLvwRre23KA8c3HaOMUWnQ43Tw2byQJehVymYzqehuJBjX1FkcgIhVcLuD5jWUhnetbGu0TDSq6per53bovAZrnfRc556ey+dODVB1p4Le3DiM9WYvV7sKgVVLTYCM9SUudRUKrViKXeUjQ62hocuB0e2m0SKhVcoyp4cKjLQ2F2/KZMehU0etV5fral1hsdkBE7gWC1nDSYmj16tUUFBSwdOlS/vKXv+ByuZg7dy6ffPIJf/zjH7nvvvvac5yCs4i2ZtCY6q00SW7WRWnF8PzGHSyaNhi9VsnzG8vIOS+1TZldJXmhj8VLk2/t0kW064y7fKFTRWzrMWF0FmWV1YFlN78wunN6ScRIEsCiaSWYmyT+9MHuMN/OBQMyWTi1CFvz+VRKeZg48C8vFfZNY/fBGvqflxIy1gljsqlttMe8HqcrsriUAR9uPcRj80dS2+jgeK2V/uencKTWSkqiFltzinssmmy+gowejxeLQ0Imk3H/qs/J75sWaIPS0kPmFwlqpZyrR/SNaLT/9YwLkVwu6swOSitMjB+dxUdfHuKReSOj9gN7/M9fU2+RAo1k9VoVtQ12jtVaOa9bAm63h+4ZCWHX0JqGwm39zPiM62kRhW1tox05oJALv5BA0FpOrskT8O2333LbbbdRUFDAiBEjKC8vJzs7m1tvvZUZM2bwwgsvtOc4BWcRrcmgCcZf4DBWhMBqdwbOu3nLASaMzqI4xxiyX0mubxll85YDgceKc4zcNnFQyGM1jXYG54YeGzhHhKWLaES7Tv/yRSSKc4xY7FJE0bf504OBOj9+vtp9DJvdRe9uieT1SaN3t8SQm6LX6+Wl93dH9T8pAL1ayZ3TBtMjXc8TvxjNyKKepCRqSTKoSdCrOb9bAt0zDHy6/UdkzWP0M6BPKvFqlqUmnpgvrVrBzdcO4PnFl5KerGXq5TnUmR3s2F/NU6/9F5BRXlXHL5/+BIfkilkbCcCgU/K7dV9y1x8/4c1/VtItTce9M4f4IksyeOIXo7n0J71DfEtatQK5DGZcmw8ymDgmi2ljc9E2+5Z8nqadzYUWfdlyGrWSR+7wZeJFem1Wvr2DhdNKAsevensHe7+txeny8PXuo3i8sOtgTVRTc6JeHfU1hLZ/ZpRyObdPGkReH1+pgYfXfcXyV77hvS0HKejnq8Em/EICQes56Z8OcrmclJQUwNem4uDBg3g8HuRyOaNHj+add95przEKzjLamkHTmmWpJpsLldJ3V2651GPQqmiyO6n8oZ5dB6tZcvOQkKiH2+MJqVlznjGB2yYO5MUIEYAFUwe3OtU52rj9kYlIRQYXTC1iyYpPIx4Xyfwd63nMVokj1U1RRWRpuQmPTEZd843U6fLSZHfi9UKSQYVBq8EmuenTMznQSNZLaJVnyenh4OGGqJG4YQWZJBrUPDL3IjJStUguDza7i3qLI6SUQHGOkQfnDOeloP5u+6rqKMnNiBnla7JJ/OqmIfy/9dsor6qlrtHBe58cDMsC9EeJtGpF1OiOfx+75Ka03MSt4wfSYHE0L5u6kDQK9h0Kr5vmn4tZ4wpC/p44Jov3thwkr08qb35cwczr8n2vVes6boTQ1s+MMU3PsWoLN16Rw6xxBYH2GzaHE7VChrx5H4FA0DpOWgxlZWXx3//+l6FDh9K3b1+cTid79+6lsLCQxsbGsP5ggnOHtmbQtGZZyqBTolKeCGT6KzgDPL/kUl77qDzqDfWKoedz74yhAXG0dO2XDMrOYPzorMDyQoJeRY8MA90i+D5aex3BY3ti/TaevvtiJJcHq90XAWmySXx3zBLSuqElLf1MWrWCJIOaH46bw5ZYGiyOsLYhLXF7PDidHj7Z/iPPbNgeeLwkz1fnaOeBaoYWdA+Ii+p6Ox99dSiQmp6SqOXpN/4X0ZsyND+TWycM5I2P9jHtijxWtaiEXNJc4+nzHYd559/7sdpDzdmbtxyguH8G86cURfSK3Xb9QH676nN+ddMQFt80hP0/1vPmxxURjdx44ZE7RqLTKKJGdyDU7H28zsrvgmofDSvI5LH5I6k3O0LEtF/Q2R2uQM2lzVsOIDk9AVHkO2fBSdf1OZmss8yMBJDLfZllzc1ujSl65KeQ/SYQnKuctBiaPn06Dz30EFarlV/+8pcMGzaM++67j6lTp7J+/XoKCwvbc5yCs4i2ZtBo1QoczdGDaIJGr1Whj5Jd9fuXv+G3tw6LWqjxdy99yXfHQosNfrP3GDOuy8chuVuV6dbW68zvl0ZSUJbYE+u3UVpu4sE45upgP5O/7cOqd8J7qS2aVoLV7ozpf9KqFXi9xBQQFxX15FiQIf3ZN0tZvnA0q9/dwYaPK5g2Npf8vpG9KVqNgnWbd3HL+MKIGWGlzTWeRhX3ZPFNQ8L8QXbJze9e+oqHZg9j/OiskAhHTYOd3676nHqLhMXq5MOth/j5VXlRjdx+349Cro1biNBP8OpfSoKaaVfk8erf9oZF8/wRJYNWxe9f+YY+PZJZfNMQFHLfGfwCVnK6SdApMVtjZ5hFoq2fGT8iW0wgaB9OWgzdcMMNSJLEDz/8APi6zd922208+uij9O7dm/vvv7/dBik4u2hLBg2AUikHrzdqhCC4GnCk86Ym6TDV2rh90kBcbu+J1HS1MqIQ8uOQ3OT1idwKw1RvbW6/4EvxN+hVGFrc31p7ncF+kHjp0N8eaeDRuRfRLUOPzeHCYnUy89oCrhtp57kNpdRbpIAf6PbrB+H1yijJNUYUAPf8/AIcTnf0ZbQKEz+9Kg+V8kQNoHqLxEMvfsFDc4Zjc7hxOt1cPuQ8Vr69I8zwPeu6Agqz03C5vWyvCM/c8kdWjCk63v3kALeMKwhUtg7ebpPcPPJS5OrU4BOIZZUmbhybG3Uf8Hlkas2xzd5+4RJstNeqFTw4Z3hIDzY//r9nTxiIxS7xyLyR/HbV52z+9CBTLs0OjA9ALoNFT/6nVX3HWtLWz4xAIGhfTind4Oc//3ng3+eddx4ffvghdXV17N27lz//+c88/vjjpzxAwdlJazJoTuzr8z/UN9mDauU094DSKMlMN8Q8r1Ih58V3d/LN3hNp6cU5RuZMHBhVCMGJooUtadmY03++BVOLUKtDx9+a6wz2e0RNh84zMn9yETLA7YXn3govQui/EfsF0eHqJv7w6jYW3zQEjzf0fKOKe9C3RzLV9Sd6tkXC7fZSWnE0RKD5O95PurQ/Iwb2oMFsZ8HUYo7XWUM6o9eZ7YwY2JPvj1tC0ttbiqbRg3tRXlWLTCYLy6K7aFAPLh9yHo/ccVHIuYO9RgHRoon9daVRK7DaYy8bqlVySnKNjBt1ooXKhDHZWO2umAb+ORMKeWD1F/TpkczCaSU88tJXzJ5QGBhfSZ6R0ubj/WL1zumtK67pJ9p7CYi4TCoQCNqPds29lMlkpKWlsX//fjZt2iTE0DlOvK7bwWRmJCBXykOaYSboVRhTItduaXne2ycXcXNQ+45Yy2rgu0nvPVSLVqMgM+2E2DLVW8OEEJxI8V84tYjqRhc2U23IjallmnTwzUsXdBOPVOenVzcDBp2KYzVWEnQq1kYpMbBm067AjRhONEH1n++Gy3NQyGUkGdSoVQoam6TAUk403B4vKoWMmdflY7XnYLE60aoVuDxedBoFcpmM1z+uYO+3tdxweQ5D8rtT3WBjQJ9UEnQqHE43MojaIqWs0sRLm3cxYUw21fW2kCKJ08bmMLKoV8Ro4OKbhvD3rYe4ekTfgGhRyGUxX0+32xsz8laSZ6RnRgI3X5sf6HIPvow5v/cqWnSroUmi3iJRH2SkttldTBidxUdfHWLGtfn85vnPA89VWm7ih2MWPB5aHSGKVHDRLrlZ8WZpzLYxAoHg1BGFKASdhuBmmP4bQ3lVbat+DUfzTtwxyde0c3sLH4i/uWp+v7SQGi4Wq5PyqtqIyzmbtxygye7irj9+EjhXyxtTpMJ5C28oDrmJB5u//ZlQNQ02tBolXmKXGAjOaPIvz/jPV/ldLYumFONtbmOaZFDjdntiCog939YwsqhnILPOH+F5v1nY+P/2eODVD/fx1v9VMmFMNsX9M9BpVYFKyEX9M6K2wPD7efz4z6nTKsKEkP865XJ8VaKbRUtJnhGVSsb1F2fj8URulmuxSjEb6t4+qYjD1Q3sO9RIXp+0wPaABypGdOuyn5yHVq3ALrmxNXufNBoFWq2CWdcV8puVn4W1ZbFYnYEaQZLLjblJCoj1RIM6JGoU6X1z909L+M9/fwhbAm2PjvcCgSAUIYYEnY62Vq+OhcUmMePafCaMjty0s2X7DZvdGfWGuPimIdgdoSbg4BsTELFw3tr3dvHg7OGB/YOvye8H+e6oGbfHS5xATuBGHKm45KKpg8HrxQtYJQ+mOiuJejXzJhez7r2dfLXHt4zob13Rv3cKbo83JPuqZYSnZeRJpZTTZHNStr+aj748xLK5I9i85QCDo9RV8uMFypvH63+OWeMKYpYFmHFtQWCpbNzILH75xy2B428ZX8DRamvI6zlhTHbMQoRKmZc/vFIKECKY1Co5lT/UM2fiwKjRrdWbdgQy0XRaX2NcrUqBTXLxm9WfRcwQVKvkfPtjAxarFHHZdeENxXRPN0QtuHh+ZlJUM3hpuYnaBnunFUNtbcUjEHQ0QgwJOhVtrcQbD71WRdURM8tf+SbqPsGenuQEDa99FJ595f/79kmDwo4PLornH3fL5RaH0838KcW4PR7MTU60zUtQDqcLs1XCoFPicnvjLmv5b8T+yJafzDSfSHQBq94uC11WyTUy49p8rrmoH16gR7qBF97dwfMby3hw9rCQfSM1wfVHnjZ8XMHTv7yYXz/3WWCbRuWrhKxUxh53t1Q9T7y6LeQ5WgrLljgc7kAqu1+8Amz4uIJRxT3DXlN/VGhz8z5+/H6v+1d/EThHsGBKMmjolqKjX69knnurLOJYSstNjB/lK/Rpczi5cWwuKoWcP31UHlEIleT6xOrCaSVRl12fe6uMu3/mqy4eKXLncLrDHgvGYnNiqreF/EDoDCKkPX/MCARnCiGGBJ2K1lTibcuXe3KChgR97Ayj4BouTrc3dq8sKfINKlhQRVtuKckzMn9KMRv/VRHSg6wkzxgwKGck62Jmmxm0KkYP7hkiDgAev30EHmDH/mrGj87iquGhndxf+XAvA7PScTg9bPrkQOD8LVtpxOvb5mjRu+x4nZUbx+aiUSmjjntwrhGlQkZxTgZ9eiSTkqjlNzOHxq2to9cpuXflZ2GPF+cYsdiksCw6fxRrzsSBzJlQiNnqRK9VolbJ2brrMN3TEzhWawvs639thuZnMuO6Ag6bopvtAbxemD+liH2Hainol4YMmqNXnrCoz60TBrL42S08vmBUzPeTxSohQ8aDs4eFLclqNYqIx/nRahQhPxA6gwhp7x8zAsGZok1iaMaMGa3a7+jRoyc1GIGgrZV4AWoabVH9GIl6NT0yDDFNtf6MHbNVwhSlnYIfU33k7f5Gog/OHkaSQcP6v4enaZeW+6IBeX1SQ8RQabmJNZt2ctuEQTFLDMyfUoRSISO/X3qI5wXAI5PjdHtCOrn7j/PXyZl5bQG1jfaACNCqFWFFJuP1bdNqQkXPU6/9L1CoMLhydfDzjx+VhanWxoxrC3hx067A8wc3VG1JSa4RtVIRtt0fFfvDK9tYcvNQvBDiB8vvl8bA7AxkeElPViGXK7E5XOSel8YFuZmolHIe+/PXgSzD4hwjt4wvpMHiCCnqGYluaXqcbjf5/dLweD3IvA7uX7WNK4f3DVmS83gBvDwwe3hU8Qz+tiFy1mzaGbG2kUYVfv3B+6iVipCoZGcQIe39Y0YgOFO0SQx5vd5W7ZeZmUlmZuZJDUhwbtPWSrxHa5oipqH7/RjgW6JZNK2Y5zdG7v4eXA8oHkpF+A1zWGEmSoU8cP4HZw8L6xXmJ1rLja92H+OW8YVoNUpkkps5EwrxQmC5QwaoVQoyUnTUNNoYPbhnyA3Y5fbwYoTCh8FeIIfkJsmgCRiBJ4zJZv8P9SE33Hh1kLZXHGP+lCJ27K8mPVmL5PRQW+8gOUnNw+s+DfPq+Je4Hps/kjUtKkPHMjvfMbkIp9vNvMlFHK1pwi65Q84HsOtgNXOvHxSoDp2gU7F19xHueuo/jCruybSxuRHfG7+9dRhmqwOlQgHIcLndaNRKSitMMUWz2+3xzVf/DBwuLy+9X0m9RQoRl8HmcyBmkc0JY7LDhFDwXMwcVxCordTyGm4cm8vRWp8w9/9A6Awi5GR+zAgEnYE2iaFXX331dI1DIADaVom3ptEWdrODUD+GP0KUmWZoVT2geKnZLTu4l+QZmTupiOfe2h4Yc7ylpmjbLVYnvYyJwAnvh0opR6WUh4w1PUnHBQMyQyIBz95zSdzKy3qtkjf/WR6IFA3okxqoU+TfL5ZAmTA6ixUbShnQJ50vdhymtOJEttm+Q3WBpqEtKc4xIkMWJhCDzdmzxhVwrMYaVIjRhUGrwmx1snTtl8AJH9aSm4egVSvxer38538/8NGXh7hyeF9+kmdk5KCejBjYA5vDhanORl6fVMqragNLiv4SCQumFmO1O1EpZVisTlQqBd/+2BA1ujVvchGS02fm3rzlABPHZDP3+kG8+O4JMROpvECs91OsDLyyShM2u5OMZB2jikOFb02DnZRENVt3HWHpnOFo1Uokpzuk5Yy/TpOfMyVCTqatiEDQGRCeIUGnoi2VeM1N4d3f/ZRVmjA3SSHpy7HqHpmtEhq1Im5qtmRr5PnFl2JzuAKCquXSQLylpmjbg28U8Wo0GVN03Dm9BHOThMXqCmt10dLAnZqkxWKTmHJ5Dq/9vZwJY7LD6hT5b7gKuYzxo7O4dXwB1fV2FHIZiuZ+Vw/ffhFNNiezxhUyvsHGt4cb2PzpQcqraiM2p/UXOLQ1m6VTEtQsnFZCerIWq92FQaukusFOTYM9xBD9k7xu6NWKgKE8mg9raH4mj8wbycsf7CHv/NQw83vLBq3ge13tkq9Egl/ofLHzRyZd0p93/7M/0JfN37MuyaDG7fGATIbX42L86Cwkj53aOg83X5vPrRMKcUhu1CpFmLiJ9X6Ktyzndnt58MUveHD2cJwuDzaHr1VJaqIGyekhq2cKxlQda97bFVY6ouU1nykRcrJtRQSCjkaIIUGno7XVq+M1xWxt00y/8TTnvNSYqdl6jRyvS4PL48Xl9uJye5BcbmyO0F/d8ZaaWqbEQ9tvFC3Nss/88mLAJxpuuDyHofndabI7fREUvHyz5yiV39Uza3whOeenUNAvHak5WynYTBzMs7+8hB4ZelRyOU6Pl1XvhPuY5kwcyKsf7gPgxU07TrTxcHlwuT3otUruW/k5j80fRUqCOmpH+flTikhJUAcys/Q6JU6PF4PGVzgz57zUiGnv/Xols2bTLgqy0nj/s8hp8RDaoBV8JRSeumsMLpeHw9UWinO6IZfLGDGoBynNYkOtknOkuon0ZC17v62lqH8GcuDt/1QwtKAnbo+Xoz82cVFRTxL1anYfrAmbw2Cxeev4AmwOd8DXZrPHfn+63B6O1do4Vmvl4XVfMTQ/k+lX5vHqh3vZXmFi2thcNn1SF/ea47232jMDTbQVEZytCDEk6JS0pnq1QRf77RtvO4Rmv+z9tjZqavad0wZjlzy88F55+I18auiNPGbLjSnFrH1vZ8gY2nqjiJSxo1EpuLAgk6tH9OX9Tw8GBIp/jDeOzSXnvFRe+WA3N16Zh8XqpHu6IWpfs+IcI1/uPsLwgT2ot9h485+VEW+6x5t9KykJah6cPZyXP9jD1Rf1Iz1Zyy+e/A/TxuY293/zsmTGkDAh5D/Pyrd3BKprl+QZsTlcJOpVVDdYuWNSEdUNtoiCbUCfVDZvOcCs6wqiNnFt6dPSqhUk6NWBQpN+BucYufnafMxNvtdRrVJQ1D+DRoudQdnpyIEnX/8fapWCpAQ1Oo2SrF7Jgdct2vvNLzZHD+5JYVZ64HGzUopZENMvqv3iuV+vZNY3CyH/tcdaZps4Jivue+t0ZKC1pRWPQNBZEGJIcNaSaFDHjMAktuysGoGWS1z7f6zn51flcePYXHQaJRq1gs/KfsTt9UatF7Ny4w6WzBjCfSu/AMILFWpUChL0J24Id06/4JRuFJEydtweL7MnDAyrtu0fI8Co4p706ZmMDBkut4fPyn7khst9Bt2W2UwTRmdx6GgDXi8k6NRcM8KXMdXSjyJrLi+0cFpJYLmmbH81991yIXBCGB463Ej/81LiVtcuyTUyd+IgZHLweL0olHJcbhdKhTxiq4wkg4bJl/YP83K1JNinNXvCwDAzN8D2ShOyv8Mt4woBn2hyuj1otSr2fVdHznkpzJtShEat5LW/76G+ycmiaSWB49v6fowWRfHP/9+3HgqpJ9VS/MTzphl0qphZZGarxLEaCzOuLWDqZSeWLJ/bUHrKGWhtacUjEHQGhBgSnLWkJ+lYeENx1Gyy1jTJ9BtLgz0pwRGGYM9LrBv57PGFITdCu+SmvKqOy4eeR8+MhJD9T/VGEckM68WLXXLFzWJLT9bicLqpabDzzr/3k3NeKjdfm+/zwTg9gb5kKoWcEQN78vIHu+nTMzkgQIr7ZzB8YHceXvsl9RYp0KQ0PVkbeG675MbVXL/ILwwnX9qfHhmGmNflcLi5Y1IRX+45zK79tVxY2J3iHCPgxe2OXBl8WEEmcyYOwia5eHTeyJAbenAxRL9PqzjHSP/eKTy/MVZxRRtpyVrskhutWoFb5qFP9yTqzRI6jRKX28P0K/NRyWVUVB1Hq+5Bol59Uu9HfxTFYpWwOdzYHC70GiUer5ec81NCfD8txU88b1qCThXzfWaxSrzRIuIX3BBYpMELziWEGBKc1XRPN3D3z0pi9n2Khd9YGq3RaGmFCY8Xpl+RG/M8FpszxHjrz+qxWMOrE58qkcywHrcXmyN2xWL/zTQjRUlGio68Pmn8/pVveHjuCB5e91VIanhen1S+/ayBq0f0jdia5IHZw7l/1eds3nKAp+++JCwyE+jkXm7CLrl57R/lPPPL7jHHp9cp+bHaQpPNzc4D1VxzUV+O11lJMqixOtwhKevgE7BXX9SP7ZWmQJq/Q3JR12jn0fkjuX/l59RbfEtRxhRdoJr18Ti1pCSnh6PVVv70wS7uv8WXGt9kc5KgUyFXyHj335VcNyqbBslJdq907DZnQDSczPvRLrlZ9c6OiNGhYBL0oa97PG9aJIO23x9ktjpxOt0Rs+38DYFFGrzgXEKIIcFZT3qSrtXipyX+7Jd4/ovZEwpjnkenVUY8/tKf9I55XFvMq/59PR5vmNfk0T9/zW9vHR7zudQqOWqVrw3Ilv99z8zr8qk3O1Aq5WEmZb/HJlqvrvUf+gRkeVUdh2uaSE8KNehu3nKAJ+8cw9rNuwLjVCnlMW/eSoWMh9d9FciGcrm9SE4nCrkMuSy8ge3kS/ujU0eu0my2SNz1059gqrMyoG9aiCjVqGJXdlar5KgVCpbNvYhVkYpfTi3irY8rmDgmmz3f1pLXJ5Wj1RY8XjdyuRKDTkXfHsmB16u6zobN7or42kar2BzJBN0jwxDyuscrg2C2SvQIOmckf1C0bLtZ4wrQRplbgaArIsSQ4JzG79v49nBDzP3iVQOuaQj3rMTL4mmLeTV43+BO8v7xHKu1oVbJYhpyaxrsZPdOprHJwdSxudzz9JbAUtCDs4fj8XoDgk5yemIKxNIKE1Muy+Hikl7cv+pzfnFjSYgZ2y65eXjdlzxy+0gsdicOyY2lSeK26wdGzCa77fqB1Dc60KoVJ4oONos1g05FQ4T+X0MLMrHZ3XxWFl51e/oVufTK0PPeJ/tDlsQG5xoZXtidofmZfLP3WNg5S3KNZKToUCpkYUIITnjE5k4aSF2jg/7npVDdYCc9WUtjkwuDVobH48Vmc2K2Wrnr6S9ivraxKjaXVZq4dXwhl/6kd0BI+T1Ge7+tZcKYbGQyuOHyHGZPKERyerBYJfYcquWJ9dv4490XB87VWtHlx2Z3kZkWWp1cIOjKxF50FgjOAYwpOrrH/eL3smBqUbOH5QT+JqD/+e93IY/Hy+KJ18PJHBTJaLmv34eT1yeVJ+8cw+PzR/L0Ly8GL8y9fhAleeFjvHFsLtm9k9n4f5Vsr6wO1Bjyn+/hdV+iCqqurVbJ4xp0FXIZ96/yLUUdOtLA7ZOLQp77WK2N1/6xF6VCTr3ZgcXu4rerPmf86Cz+ePfFPDZvJH+8+2LGj87it6s+xwPNBRV9gsjr9S0FqRTysCUiAI1KyZsfR26q++bHFZTtrw7LlNteYeLVD/dyy3ifWbvlPN0+uYhDPzbgitOjzu32YrW7UCpkZCTrkJxuvF6fd0sul1FrtqFQqFl731hmXpMHRH5t4y1FOV1uendLDLyPtGoFYwb34sk7x1D5XR0Pr/uK377wBb948j+8+uFe3B4vm7ccIL9fWogQjye6BvRJDXksQR/bbyQQdDVEZEggAFKTtDGLxSUaNChwccfEPFzeQprsoX6Q+VMH8/Or81udIdaWHk6R9vWna2/ecoBnf3kJu7+toSgrHY9Mxtih53Pr+IFYrBIatRLwsm3vMSq/q+fqEX15Yv02SnKNAQ+Nv4KzTnvi62BfVR1F/TNizpleq+KXP/0JNslFj3QDj/3pKx64dTh2yUWT3YVOo+D/t3fnYVGV7R/Av7MyC+vAgFuJKCA7KGoh7ku5oZhLm5niri2uKRVlSpmamfver7J6s1zfXrPkVV/T1LTcckFQwDQRZJ1hZpjt/P4YZ2SYDZRlZO7PdXkJZ845c87Dcm6e537uR+jGRWZeCXw8BbiQfQ+BLbyweNspi3PFBEtxIfsert0sMfVSVGp0yPunDNf8xGgfKLHomVNrdTYDlnPXCi1ybkzte60QOj0wfkjE/evkgsthQaPT41aBHIf+vIXRDoLjCqUWrfzFKCqrtAjI4kINhRzz7ylQoFciPqIFusU9ATajxbRPfjX72ta2YnOZvBJ3ihQ48udtm/WFJgyNRMf2ARbV1e2pGvjGBEvh6U6BEHEt1DNECB4Ml1XvVanew3P3n1z4e/MQEeSLwOZeZgvCtvL3QGhridlf8rbUZg0ne/uq1DrIlGrEtfcHWCxUarVo5e+BCkUlzl4rRKlMhYJiJdq18kabll6m3BCBG9c0O2zJjG64dVeGghKlqedr39HrEAm4Fj1hpnYJkYIFwN9XhK8PXIFGp8dbr3TC2p3n8donRzB/7TEcv3AHm/f8BXcRH17ufOTcLsPEoZFWe2SSugVh39HrOHftQS+FG4+DAQltENLaB9/+fBUTh0WafX0cFS2017MlV6hN1/nGiiPYtOcv8LkcPOkvxui+IXAX8jCqb4jNvBmxkIvLOcVWe6au5BTjr+tFkHgJ4OMhgKxCjbIKNXQsLtbN6QU3lh5379dnMuasWW1jK8OsFUoN2rf2sdtrFRYogV+1YVZHQVfV2XY1nYlJSFNCPUOE3NeQxeJq0yPgaF+RgAc+l4NylRZf/HgFSd3aopmvCJl5JVZzfmKDpThx8Q52ZFyDgM9BSlIkRvcLhUKlwbjB4ci+VYote//CB1tO4t2Up7D9ACySbgcnBmHeml8R1dYPqeO64OL1ezh2zjx3x5hzdPH6PYzqG4yUpEjcKarA2EHhGNJNZbGYq3HYjssxJFqLBVzweWy4cdh4eUAYlGotxg+OBDOYgapSC4Gb/V9f9qaeG3rMHjifVYiNuy9icnIkFqw7bmqXj6YloqBEAR73wZpfoa0lELpxIfEUWAQlAj4Hb73SCW48jkUtI2OPUblSCwGPhZt3ysAAmP5cDIpLKzBv3Qmzfa0Ns4qFPNwrtV9Tybj0SVWOlsmQ+oiwek7PWs3EJKQpoWCIuJSicqXdac8NVSyuNms41WTfMnklKjU6nL5yFwMSArFpz0Wbi45OeS7asBYbj42glt7Y87/rZknGcSFSfPJGd5SUV6JSrcWkYVGQVaghU2jAYsFs5fhnng7Exl0XMKRbkEVgYOyZUal1+HL/VezIyMLSGd2gYxh8sNVyqMzIU8xHUrcglMvV8PYUQK9nUFCmQur64wAM1a5XvN4duvv3b6tdrCW1G4McLptlsbDp+axCaLWMWc2pqu0SEyxFWspT8PMSoLRcabXnKal7W9wrVVokdQOGgHL9rguYNjwG72w8jhZSd7wyMBzlJQpwOBysmdMTAj4XbL0eArF5EG78vgVYVvOnqrIWPDtaJsPPW2ia/ZZZUkxVo4nLoWCIuIz8ogqbBfGa+dovCFjXarOGU032/adQDq2OAWDIfzp95S4uXr+H5F7t8NKzodDrAIGAAz6XAzAMzmYW4PqtUoS38UVmXrHZtZ29VohN99f7Cm7ljZLySqjUWiyqkutjDBjc+BycvVaIZ54KtLjH6j0zKrUOBaVKSDzd7M7MYwFYtv0Mlr7WDVwWcLtICU/3Bw/4UrkauXdLEBjgg6nDoy1q9MSGSDEhKRKyCrXZ+xhnzX3/32sWQY5xenmFSoOk7m1x4ESu1bpRe49mI7yNBFHt/MHnWfbAGIf4bA1jnc0sxL0yJRZOfBrz1x7Dl/svo32gxFTo09h7pKpQokKpgbJSa6pxJHTjgq1XgetlP7+NBeDOPTk4LBZYDKADoFRroVRpMHlYFDQ6BpVqrVnAUx/LchDyOKFgiLiEonKlRSAEGB5aa74/j5kvxjX48EBthuVs7QsAtwpk0OkZU49A1RXsg1t545ufMy1WNTeuVbb7SLbFtGrgQcVqFosFsZCH8grzqe3GIpUDng4EYH1IylpRwDU7zmLxlASbvVZJ3YJQIqs0DEXxubhTpMC7m37Dh9MSzM71wdY/8MHETmjl54nxQyLADDbkEGl0elzIvocPtp5E2oSnkBjTwhTQ+EuE+HL/FavLlbBZwIfTukLkxkVkG1+EPuljtdhkUrcgcNgsAAyKylSWSd0aPdgOMjHZbBa+y8g0rcX2Qr9QUzBk6j16znol6+kjogG9EiN7h5j2r/r64K5BePPT/yG0tQSTk6PA57Cw/7dc7P7fddNyJtHt/MwKMjqa2WhrWY5KLeDt3xp5BUoI3TRggwWGxYDF3P8fLHA4LHiKqYeJOD8KhohLkFWo7SadyirUjZIrYW9YzlpBxlb+HqbXq/81v3FBH8SFSiG6PyvMGLDYW6ss8P5SG9ZwOWzsPJyNId2CLIZmjPlAxuKM1gIfa0UBS+VqZN8qw4mL/1jteTlwIhedI5ph2ohocMBg0eeG3qilX57Bh9MSsXH3RdO50jafRmJ0c7w6OAIqtQ5sNuDnIUTW3yW4W6zE2+uOY8aoOEg8BVBWGtY3s7VcydlrhRjSLQhf/XQFk4ZFYdu+SzZna40fHI5Tl/MRG+yHiKAobN5z0TSFn89jw8dDYPU9jDRaPQZ3awvO/YXdjD16pmvJLMTdYoXV91/7wwW8NjIGS786ipeeDcO4wREoLFGaDV+q1DpTDtTofsEY2LUNDv/xN14bFWcR4MWFSjE5ORphgRJcyXlQibrqtVhblsPwvXfO5ppqzz4diF9O5WLckEgUlymhUuuoh4k4NQqGiEuoUNqfeeTo9YbmaNjibrECa78/Z1ZHR6M1rO1VXG6YFVaTVc2Ny1hY4yHm43xWIfLulGHJjG5mwY7xGGMQZC3wUal1+PlkLlKSIsBiGXqshPeTntsHSrBx9wWrD2YumwU2w2DBxt9MD+dSuRqp647ho+mJ0Gj1kCs0EAq4KCpT4ei5W5B68tG+jRR/3SjC2IHhGDeYBWWlFhqtHr9dvIN9R68jLcV+hW61Ro+zmYXYtOci2gdKrBZlPJ9VCBabhV2Hs9EttgXKZJVIiG6BId2CoNHq0fz+cGvVApRVGUsIJMa0gFKlhYDPMbVJVXKF9RmE57MKoajUYmDXNlj7w3msmt3TbPiy+r6vDg6HslKLtAlP4Yv/XLGex7TzAhJjWlhUojaqPpvRUQHH0NaGXrXQ1j6mc0e384NMoaYeIuK0aGo9cQliof2439HrDcnesMXGXeeRX1QBuUJt8bDlczkoKVeCBWDaiGgw5h0OFtQavalXprqYYCl093ssSuVqvLfpN7Op7cZj9h29jqRuQQhtLTEVgkxL6YJ3U7rg0zd74KnI5nDjcaCq1ILNBvKLFGAYoFKjxeRhUVg9pyeWTE/EZ7N6YPKwaPDYLLAZLWat/hV3i5Vm11QqV6OwRIkTf93BdxnXMPPT/2HxtlMIbO6FT/51AXv+l4Wotn7gsFkQ8LnYfzwHfl4CZP1dYionYI/xns5mFqJzWDOb0+oVKq0hYGBY2Hk4G4WlhusUunGh0elRXlGJ8UmRVgt0GksIVCg10Oj0SEmKtLqGmL2ZcBVKDZ6ObI7183pDqbJfokGpMuQcKVT2Fxr29RJg3683kNS9rcXr1modOSrgWPV/Xy8B1u28QGudEafmPE8AQuqRh5hvN2nXQ+w8f7Haeth4u/Mxul8o7hYrwGKxTEUT9x29DpVah3OZBYgJ8ce6nRfAZjEYnxRl932Ma5XlF1WYbY8LkeLVwRFgsx5su1usxJzPjiKpe1sMSQyCp/jBDLdl288gqXvbKkNeHPh4GGa4tQ/0Qdqm3zD/lc5YsO4YwtpIMDk5GsVlSrBELLBYhmrHAh4HbIZBfpECqRt/gy1anR67D2eb9UIZe6n+89tN/Oe3mwhu5YUFr3TCS8+2x//9eBmDugZh3OAI8O6vwWZruZKreSWmz4vLVVZzqQCYgiSNTmd1IduVs3qgqFRpdRjQ2PMiFvJw7Pw/SIhuDo3OvCcmLtT8WqoTC3mYu/pXTBgaidAnffDh1K7gctk4e60Auw9nm/XsCAVc8LgssMDCZ7N6QKEyJE5zOSyc/OsOdmRkQaXWQa3Rm61JV/VarNU6ssf49aj6//msQqtT/glxFhQMEZfg6ynEjJHWk1KdrcictYeNgM/BuymWQx1VZ0Jt+/Ey3k/xwOTkKGzeexFCPsfhWmUxwVKotXqkpXQBwwDeHm5wF/Jw6UYRCsuUZgGkseo1AHQKC8CrgyIAXMLZzELT9rgQKcYnRaKwRInLucWmpSEYMHhnfBf4ewtRUamB1EcErV4HLosNDouFw3/+je8PZePDaV0tZoAl92qHuGApdHoGQjcuPpzWFWevFSAiSIKh3YMg8TLP0cm6VYZPvv0Ts5+PwysDw6DW6sECC7l3yjF+SAS23b/mqm2R1C3IVC4AAFgsWM2lig2Wgs9jY/4rncBisa0uZHuvVIVSmcpmnae4ECnceBzsO3odsSFSsyGxmGDDbLLNe/4y+9ondW+L9q19wNy/ttWze+G7jExs2fuX6bV2rbyxZHoiTl3Ox+7D2QhtLYFGo4FYIMTaHywXnJ2cHIW2LX3w0Re/m3qiqg6Z2qt1ZI/xXNX/d7ahaEKqomCIuIxmvmLMfDHObp0hZ2DtYZPUvS2++sky56P6Qpvvbz2FScOiMHFoFNh6jdWp58bZZL5eAry78TjuFitN29gsQKnWIDzIF5//+y+rs77iQqVIGRoJvV5/f6q2HkqVFm58Dq79XYq5q46aeifiQqWYNCwKOp0e7j4iqLUaCPk8cABo9ICa0UGnB746kIlRfUPw7c+ZpvfMzCvGvDGGej/G2VZVr79So8PHX562CKAA4FJOMd7fdgqpr3YGAChVGrRr6QWF2tAmikotispUYAEWRR+NvUSh1YKh2GApJgyLROo6w3psq2b3xPmsQrNgRa3Rg89hI6qtL1r4uVttu6nDo7F42ymo1DqoKrVo5ivCu+O7mJKgP/vXWbzxfBzUWj0y84pNNY+qz2ybPiIaPTq0wg+Hsi1yr1a82cOw1hwLNmdRGhOsU5IiTT1RLaRivDu+C7w93ODrLbD6s2Gv7pWx7ar/DzjXUDQh1TX6d2dpaSlWrFiBI0eOQC6XIzQ0FLNnz0Z8vKEb/MSJE1ixYgWys7Ph7++PMWPG4OWXX7Z5PoZhsH37dnzzzTe4c+cOQkND8cYbbyAhIaGhbok4MV9PodMFP9VZe9jUJBkaAMLaSBDZ1hdqrQ5qhgM+VJjxXAwUah0USg0Ebhy48TjgcdhQaXWY9UJH8PkcMIxh/bJdh7MRFijBC/1DMGFoFFRqLSYOjYSeYaBUaSEUcCF040Kt1UJeYfhcwOeCzQZYYCEqyA8fz0iEslIHsZALIZ+LsnIFZq8xH/qKC5Xi1UHhOHUpH9HtpGb3ePH6PSR1b4uxg8LwlY2p8IBhNtyEoZHI/afcatDm6y3E7cIKbNpzAW+90gk3/ilDcEtvVKi1+P1SPrrHtsL6XZY9JsZeomWvd8eGt3pDpdFBVamD0I2DU3/dgUqtg7c7H8pKrVmBxqpfn4So5kgZHIGpw6NRqdEa2kPAhUbP4N2Nv5kC0KIyFbw9DMNQe48+6GVa9tUZzB0TD70e2LD7gtVgZv3OC+ga08JqUvTG3ReRGNMCoQ6W7nh1cDjatfLG1n1/ISZYinulSizadgppKV3A53Gs/qzYqntVdTZZ1f+XbT+DmGCpw2KRhDSmRg+GZs2ahaKiIqxYsQISiQTffPMNUlJSsGvXLshkMowfPx6jRo3CkiVLkJeXh7S0NMhkMkydOtXq+TZv3oxVq1Zh/vz5SExMxK+//oopU6Zgy5Yt6Ny5cwPfHXmcVZ/aLhZwwHZURKYOWHvYOFpBXsDnYuXMHnAX8REgEaGwVAGVWgM9WwitTg83LhscMd9sarqAz8G056IR8qQElRotYtpJ8VRkc/B5HLDAQK9nIOBxwGKxoKjUQn8/I1umUOPjL0+jhdQd04ZH452NxzFleAzulSpNs9P4PDaEblzMWH7YYnYSYHhgjxkARLTxhbc7HwI+x6xi9Y6Ma2jf2sfqjCzgQQAo8RSgWFYJiacbUpIiAMAUpLBYLMxb/StUah1S1x1HUve24HE5eDLAA5duGApNVq1DVDWvJ7S1BHwuG+t3XTALxuJCpVg5qyd0Oj1KZJWm8gXVA47fLt6BslKLsDYStG3pbbGPsXdL6i3AN79cxYmL+dXyrti4kH0PIU/6OCwHYKt9xg4KB8MAo/qGmPLKqlOqtJAp1Ka6RIUlStPXoqBYATceG83v93BVJfUWYubzsSguU0CtY0PoxgEbLOjB4IVnQlEuV5vWwgttLcH0EdGQettf/JaQxtSowVBeXh6OHz+Ob7/9Fh06dAAAvP322zh69Ch+/PFHZGVlITIyEgsXLgQAtG3bFnK5HGlpaUhJSQGfb5n0umXLFrzyyium3qPAwEBkZmZi7dq1FAyRGrM1tX3C4NAGef/qRRbdbMxsMtIzhqKLIgEXtwpkqFBq4CHiQc8w9xNkdeDz2Zg6PBpqjQ4KlRYiIRd8LhtavQ4iAQ96Rg82iwW1RofyCjXUGp0pQTsm2M/UU6TW6JH6amfweRyUyCtxt1iJj788jaTubeFbJX+nVF5p9QFsVFCswJIvTyMu1LDMhVpjvq+jAFCtMSx4+um3f5oNU3mIeChUaCB045jev2q+07bUvpg2Ihpb9vyFZ58ONOuRAQyByisDw7Bt318WgYhxKvrYQWG4kH0P0e38bPbYGYOVAydyMXZQGEplQRALeHBz48CNywGPy4a8QoHn+7VHqUxtPtQVIsXk4dEoKbe/Dpm9NjK2b9W8supfD6GAC3cRD0O6BSF13TG0bu6FpO5t4S8Rgc0CzmfdA4fNhr/EMpBx4wKlBXkICwuDSPTg9cJSBbgcNuJC/JEY0wLuIh4FQsTpNWow5OPjg02bNiEyMtK0jcVigWEYlJWVIScnB927dzc7Jjw8HEqlEhcuXDANpRkVFxejrKwMnTp1MtseFhaGPXv2QKfTgcOx/1AhxN7U9i0MMPOFWDTEr/aqBRllCrXdPI0AiQgcDhvLtp/B2cxCeLvzsXhqV2zec9HmMJBKrTPluyREN4eqUg+ukIHYjQuxGxcypQaxwVIkxrSAWMiDRqu933NgqO9zNa8E4YESAObBhlFaShe791d1KjsAjOwTbJb7Y296ufF1NxvDVLHBUkwfGWO1zf6VcRXP922PVwaGQc8wph4luUIDtUaHy7nFqFRrceqyZZ0hwDgUF25IgA62vuK8kUjAQ2ALL6SuO46wNhLDQrNgwOOyodUr8Pn+LOQXyTHvlU4YNyTCrH7Se5t+w9vjataG9l6rnldmFBMshbJSg3PX7pm2l2YVYmSf4Pszza4hJliKqHZ+dq+hOqm3CFLvWh1CSKNr1GDI09MTPXr0MNv2008/4ebNm0hMTMSNGzdw584ds9dv374NACgqKrI4n5eXF/h8vtVjNBoNysvL4eNjvdpuTSiVSsc7NVHGe3eFNigp19qso3L2WiHKK9RwULKmznEAzBgRgzU/nLforZo6PBrKSg0qlFq80L892gdKEPyEDzbv+ctuwrWxUKKt5FxPIQ8ST77pXu9VAh9sNeSTfLD1FAR8DkKe9LFZYLCoTIXYEKnVYZ7qU9nPZhZi7MBwTH0uGht3GxK+r+aV2D2+uFyFuFB/rNlxzuI+z2UVYsvei5j2XAzW7TRvs8KySkCvhZDPQUGpCt9lXLNIcu7Y3t/al8FEVWmoNaRS258h5cbnYEfGNcSFSvFi//YQuXGQ8mEGgAezxIZ2D0KprBLNJCL4eQvMEt65HJbNkhBxIYY2sKZ6+1afNm+cTVZYosS+o9fNjuVy2AgPlJgWsv3r+j2I3NgW3/Ou9DvBFmoD528DhmHAYrEc7tfoOUNV/fHHH0hNTUWfPn3Qu3dvyOVyvPXWW9izZw8GDRqEf/75BytXrgSLxYJarbY4nsPhYOjQoVi/fj3Cw8MRHR2NU6dOYefOnQBg9ZjayM3NfaTjmwJXaAO+Vyu7r5dXVOLeP9ft7lMf2Gw2xvZ7AmOfDYFSrYO7WACGATbv+cusWnJciBQ9YltZLMBqZHow2sh3MS77MGNkDMqLilBaXAAA8Jb4Iy7E8JDtEh6A/k8F4ujZW0gZGomt+/6yCNKe8HdHUrcgMIz1NciqTmUHDAUZN+w6jxmj4vDKwHBotTr07NAKm/detDobTuotgFyusJlXdOrSXbzYr52pzRRqHUR8DlhMJbRg42LWXcSFNDNPcr6f9F3kYHjKGKRYW4ak6nUK+RysntMLFYpKeLvzUaF+UK7A2JtmDGi1ei1YYKNnh1YYPyQSBSUKlJZVYvqIaKtT46c+Fw29nrHo/bLVvmIBD0umJUIk5N6vM/SPqc5QVYxej8u5xaZhx+a+YqjUDMrLyqFleIZ2dOMAWiXYbLZL/E5whNrAudvAWkpNdU4TDGVkZGDOnDmIiYnBihUrAABJSUnIz8/HwoULkZqaCh8fH8ydOxfz58+Hh4eH1fPMnz8flZWVePHFFwEAwcHBmDhxIpYtW2bzmJoKDAyEUOjcM5Hqi1KpRG5urku0wb1y+3/te4rdIG0R1kBXY51CDZy5UoBj5/+xnE10rRAb91ywWTQQMOSaOJqhpqzUgif0QliYr2n7tOe8sWXvJYwbEomv9l/GC8+2xxc/XkbwEz4YkmhI/nUX8dBcIoKeYbBzz1+m4oMCPhcqtdZiKrsRn8dGqVyNxfeXlwhu5YV5Y+LRLaYlXugXCq2OgcCNCw6bBbGACw8hC6Vy+3/xqXVsPBngW22rYZCzQ1hzyBQaqNVaeHkI7g/RAxM+zMCoviF2g5yzWYVmM6aMbWYUGyzFtBHR4LJY4LG0EHiL8PfdEjSXeloGX248GJYzM/zCDguU4NtfruKF/u2x9ocLeCrKHzNGxphWsBcLeeBwWNiRcQ1dY1oiNtgP4wZHmFa5t9W+QgEXbBbAYrOwcbdlryFgqB/F53MtaiQZg6931vyKUrnhj0pjDp3YDU3+d4ItrvR70RZnb4Ps7Owa7ecUwdD27duRnp6Ofv36Yfny5WZR3KRJkzBhwgQUFhbCz88POTk5YBgGrVu3tnoud3d3LFu2DIsXL0Z5eTmkUim+/vprSKVSsyS/hyEUCh/5HI87V2gDH9jOz4kLkcJTzG/0NigoK4Ovl8DmtOmzmYUYkhhkWQPn/oypAF8RKu0kNwOGInk8LgsikWeVrQq82KcV1FodenV60jQUV30dr5hgKd4YFYvJw6OhUBmG8Hw8+Ni451qNKkADgEjIx9+FckQHS03n4HJYEAl4CLif0Osusn0PAj4HXu58FMt1ZovdGvOwRCLAz9v8mLvFCsSFWF9rzXidVXtdkrq3hdCNY1F+QOTGBRvAZzZWnvfycENQS+sPDpEIGDMwHBqNFjNGxkCh0kCr06NCqYZOD/xTWAE+jw2JlxAff3kaKrUOmXmleGVgOHZkXLC5JhqbxYK7mIdvDlzBtBHRWFettykuRIoXngm1uoaZoS7RBcx6sQPSNp0EUC2Hron/TnDEFX4vOuKsbVCTITLACYKhb775BosWLcKYMWOQmppqNnX566+/xrVr17Bw4UIEBAQAAA4cOIBWrVqhTZs2Vs/39ttvIyYmBqNGjYJUKjUd061bt/q/GdIk2KqjYvxLuKHzhaypUGodzrYCYDMnqEtEMwjc7E8mEAu5VtfNYhgGsgq13WDsfFYh5CoN2rTwMts+fUQM1lbPewqRYmSfEHyw9aTZNY7uG4LmfmL42Vnt3FYBQG93Pj6YnICCEiXkCg34PDZ+v3wXeXfKMHl4jM0V1AMkIkx9zlCosuoyIywWC37eQlzNLTbrdcnMK0Hokz7Y+7/L6PdUoGH4yNBIKJKpMKRbkGGxVJUWIgEXAj4HfL71+j1VGWdfyRRqsACoNIa11YR8HnYezrL4vnzx2fZQVmowODEIehvDkiyWoc7WiN4h+D7jGiYlR0KnY1Ch1MBdxINGq0eprNJugD1+SCQCJELTunFnrxVCptDCx9PqIYQ8Nhr113pOTg4+/PBD9OvXD5MnTzZLihYIBGjXrh3S09MRGRmJhIQEHDt2DBs2bMDSpUtN+8lkMmg0GkgkhlktzZs3x2effYYnnngCLVu2xOeff47Lly9j8eLFDX5/5PFVfWq7sc5Q7vVM+Hk3zPR6e8RCLhQOFumU+oiwZa/1JOqv9gNjB4XZXV1d5MYF19psJY4QaqXW4V9cFUoNCkuVZoFHgESMuS/Ho6RcBblSAwGfC6GbIUD45I3uZtvcq8yms8Va4Crgc7BwUgK27rtkNSjYuOs8po6wvQRLcz93TH8uBkq1FhVKLYT3C1XyOWzEhkjxzvgupgDral4JDpzIxbNPB+LAiVxMSo4CB8An3/6JycOjwVZqcbdIAT6PjduFcsSFSGtV9LPqjMKiciXkFWqMHxIJDDH0QgncuGAB0OsZuAv5+NfBTKtrov1yKhdvPG8oX+Iu4mNEnxAUliqhUGnRUirGF/+5jBf6t3cYYBcUKzDvlU6YvfKoaZtCRctskMdfowZDP//8MzQaDQ4ePIiDBw+avZacnIwlS5YgPT0dGzZswOLFi9G6dWssW7YMAwYMMO2Xnp6O33//HYcOHQIATJkyBQqFAnPnzkVFRQViY2Px1Vdf2RxWI8QWj2oPY4VCAb3ecW9MQ/AQ83E113bybmyIFDqd3uZf+eeyCpHCjcTIPiEWPQnGhF62XoHP/pWF10bFmQU0CrWh/lBCVHO71ygW8rB6x1nMfTnerB2rt6uRvSChegHMqsNd1QNXTzEf63dar9oMAKGtfXDrrhxarR5anR5yheU5A3zFkCnU4HIM5+TzOBAIeVApNfeH6BSQKzSm9ct+OZWLicMiwWaAj746DZGQD5GAB6kPTEu/BLXyeqTq59aqp8sUapTKVGCBhS/2X8LovqH46sAVi+U5pj0XY7o3DxEfKrUOHDYg9RFCVqHG+CERwP1Fc+1hsWBY5qMKsZBr9+tDyOOgUYOhKVOmYMqUKXb3SU5ORnJyss3XlyxZYvY5l8vFvHnzMG/evDq5RkKcka+nEHEhUrSUWl//akhiEApL7U91LShWWFlxno3ichU4LBbGf2RYQqN6QCPiGxYZ7df5SQczqbg4m1mIMnnlIz0YbRXAfG1UHAR8jtlDuIXUHWXySoeVq+UKDVb/9zxCqySRG89pDPysBW0eIj7ulSrQTCKC0t3Qc5QQ3RzdY1vi1/O38X1GlqnicoCVQoV1reo1vjooAiqNFuOHRIIZzEBZaRiaE/G58PcVmx0n9RZCwOegpFwFtYaFSo0eIjcOAnxEDtcdi6syTtwlPAA8LsdU38qoelsS4uycIPuBEGJUm7+wA3zF4PLYmDo8CpX3188SCXngcVjYuu8SRvYJtvteLJb1YokAsGp2T9PHFgGNTomwNhLsOXLN5rTv6SOisfJffwIwDJc9LHsFMFfvOIuu0S2w5vvzpu1xoVK80M/+MKZao0eArwihrX2QEG3o3dp39LrpnNV7sqoT8YErV64aKi8390JhqaGXKDzQD0tfa9ZoFZcDfMUoKldCVqGGQuV4IWJrwV5RuRKTk6MtetaqJo4nxrQAYGjr8UPCLeo4AahxWxLiLCgYIsRJ2OsBsfUXtq+nELifvCpTqLHsqzP4554cCycloFKts12wL9Ry9lZV1QMY4+eVWgBcIV7oFwqNTo8bt4stpn0L+Vys/NefuJRjqHMkFj78Ap1l8krbBTBtzJgTOMhwdxfxcOLiHWTmlaBbbEvk3C4zLVfxMD1ZzlRx+VEXIvb1FKKgqMLumm1CPhfr3+oNsYCD4jKF3a/Po/YKEtJQKBgixAk46gGpyV/YVYeH3tv0G2a/2NF6DZwQKSYnR+NmvgxpKV1M649VrUsjFvIg4D9Y20ss5N0P1s5ZVsBuKcHnP16yXoogVAovd7datoaBTKGGWqM3VUK2dp1aHWMxY85RjSCpt9B0nm37/kLwkz7Y9+sNU12mR+nJagr8fcWICWZs9vg18zMMuSkUCigqHZVncO22JI8PCoYIcQKOekBq8hd21QfP3WIl3PgcpG06YcoJ0mj18PcRIftWKd5cccQUVFRfyDMmWAqhG9e0LayNBEIBF5/9y3qwtnXfX9anzIdK8fqouIfqGbDWS2ZtwVE/b4FFXRxbNYLiQqR4eUAYVBqt6XjjYqo7Mq6Zlqt4lJ6spqK5nzteHx2LCqXGlAAuFvLg72M+/Ce6v4BwYnQzjB0caeohdBfyDAUynWTCASGOUDBEiBNw9Bd0Tf7CNvbmGIeMOGw2wtpIzHpM9v+Wa3e9ssy8EkwfEQ2OXoF9v97AhKGR6Ng+AKpK2+u1nbp0F+OGRFiUInjYGUW2esnOZxWCxQI+nNYVBcVKeIh4YIFlcT8qtc6UGP7q4HDT1PareSX41y+ZeObpQLP9jdPJ1Rr9I/VkNTX+PiLAwVKOLL0KLz0Tgh4dnsAaGwUmbaEZaMSZUDBEiBNw1BtRk94KL3c3pKU8he8yrmFHxjUI7q/ortcbAglHy2+kJEWgX+cnwdErMH6JYSbZpGGR8PMW2lznzEiu0KCl1KNOHmb2esnOXTMsg7Hky9MIbuWFuWPisWp2T9MDVaPTY+mXp3G3WIkdGdcQ1MILS748DcDwcJ44LBLvrD9udk7j6u7uIp7Dnqy7xQooVBq4ebdGQakGQpWiQWaNObOeHZ+0CISAB2vcvTYq1qKNHiY/jpD6RMEQIU7AViVloHZ5N9//98EK7FV7SEb2CQaHbb9I4j+FFabAwUhZaSioVxfBWk056gVTa/SmQMhaXsvCSQl4b9NvuFusRAupGB9NS4TQjYN7ZSq8s/64aW0t4/5X80oQFypFqwB3u8nHd+7JbebRNPdzf4Q7fnwxbAGUlVq7lcirFweti/w4QuqalfKyhJCGZqykHBcqNdtem7wba/V1jFPn39nwm8NZVnwr1aaNQY4xWLOmNsGaTKHGrQIZMvOKcatABplCbbGPo8CKz2Nj7suWgRBgePiu33kB817phLhQKTzd+fDx5MONz8F/jt+wCISSugUh704ZXh8VZzMQkinUuF0gxzobhRzX/nABd4sVNbr/pkah1tVgiNe8QnVN8uMIaWjUM0SIk7C2BEht8igcPZR0OsbuLKvqU+2rBjlVl724klNsyktigBoPE9V0aMReL1lMsBQ5/5TBz1totzeCx4nA9BGxUFVqTRWm33g+DqpKLWQVGgjcOGCzWOBwWHjj+Q4229h4zUMSg3DOTiFHR0ujNFUiPgdsrqNeQ/PHTF3kxxFS1ygYIsSJ2FqqoiYc9ajIFWqrU+3jQqV4vl8o3tt0wmxb9R4pqbcQM5+PhUKlw8bdF83yj7pEBGBScjTUGh0UKg08RHxotHooK7WG2kMCLjbuqllxPnsL5U5OjoZWq4NM4bg34usDV3Dq0l2z418bFYf2gR52jzWqOpzzTJdAh+/XVNQqsVmnhFAstBtkiwTm35cNOeRKSE1RMERIE+Eo78jXSwCVWouh3YMwtHsQGMawNtWN22WQegvx6cweNXoAbth90ayXRMDnoH+XQKz67hwy84ox9+V4fLn/qkXANbhrEM5n3TOrEwRYLx1QvZfMjc/F1dxivLniCOaNibe7kj1g6I2oGggZ36c2OSlVh3OsDSFWf7+moLaJzeWl9+DpJbFbibx6z2Fd5ccRUpeaxk8wIcRmj0pMsCEQmbv6V4S2lpiWVTDWFBrSLQhypQZtWng5fA+ZQmsxXJTUvS32/XoD57MKMapviOnjqs5mFkKvh6mwYXXWhkaMvWR3ixVYveOc6ZxqjR4and5ub4RGZ72+TW2qIle9pqt5thfFjQmWQsDnoLBU+VjPhCoqV2L1d2ct8s7sBZF6vR5iAQs68KpUIjfUJRIJeFaHUO31/D1sXSpCHhUFQ4Q0IcYeleJyFe4WK8ACTEspqNQ6s5pCOzIMM89eHRxe42Eea7kxVafsO5q+byxsWJ21oRGZQo2SchVkCg2Gdg9CaGsf7Dt6HXweG0u/PI2FkxKsrqE1fUQ03t34m817qGlOStVrMhZy5HPZaNPSy7T0h4fYUIhw3Q/nABbrsZ0JVViqxD+FcpsL3DoKIms7vPuo+XGE1DUKhghpYjxEfBSVqbBo6ymrr1cPSpQqLdxFNcvTqJ7/ATwoWlj9Y2usvW5taKSw1LKXwliBOvtWKZr5uuO9Tb9h3iudwONEmB6oLABsxlCB25aa5qRUHc5RqXVYveMs3k15Cl/9dMUs4IsNlmLCsCi8s/74Y7kWlzE3ynFeVN0mNj9KfhwhdY2CIUKamKJyJQqqTPXuEu6PCcOiLZZKSIxuhmMX8iEScGscDHmIuIgLkZoFKVXzaRzl1lR/H2tDIzKF2upwjbEHKDzIMNR34EQuTv2Vb+ql0esZ+EtEEAl5dZKTUn04p/9Tgfhy/xWLobJzWYXYvOcvzBgV91jOhDLmRg1JtN5rZ0SJzaQpo2CIkCZGVqEG6359xS7h/kgZGmVzqYQnAjwhFvIg9a7Z9Hg3LjBhSCi2/AhTsFE1n8Zebo2xsOH6t3rbHRopKVfZHK4x9mqt+s7QS7O9Wi+NMdm3rnJSqg7nqDU6u0OArw4Oh+D+Wl2PE2MA5+hrR4nNpCmjYIiQJqZCqTU92CYMi7a7VMKMkTFo5iuu1fmL7t7EzOdjUaEyFNxzF/HQv8uTWPvDeduLpN4PRHw9hYCn/fPLa1CB2lYvTdVk37rKSTEO51y6UWR3P6VK+1guzWHs8XH0taMhLdKUUTBESBMjFnKx7+h1LBjbGSq1/aUSjMtt1IZer4cbF/DxN6/XYww+FCoNpo+INqszZC0QsVXPRsC3/2upmZ8ILaRim700xmTfVv51s1aakaPp8+4iXo3fz5kWKa2aG2VcvmVo9yCoNXq4i3gOlykhpCmgYIiQJsZDzEeHUH/4eQscLhOhUGqRmVdcJw/k2iTE2qtnI3TjIDZEarXic0ywFNl/l6J1M/vdS/WRu+Mh5tudXu/p/uj33hhT86vnRhmDTLPePEKaOAqGCGlifD2FGDckAmu+P49XB4Xb3Vcs4uG15YcBNNwD2dFCnW88H4fRfUPAAixmk43uG4IAiQhqrQ721Eeyr6+nEDNGxljNv5oxMqZGQYOzLlJKU92Jq6NgiJAmyDg85sbn2O3N4HEerGTfUA9kRwt1KlVaBPiK0T2uJV7oHwqAgbeHAKr7i4IqVBoIBTwkxjTHsfN3LM5Rn8m+zXzFePP5WMgq1FBU6iAWcuEh5te496Qmi5Q2VgBCU92JK6NgiJAmyFhEsUxeaXU9MuOK7dVXCG+IB3JNFups5e+BLpHNUVFRCYbFsrnUAwCzgKghkn1FfCDv+nWEhYVBJKpdwjQtUkqIc6JgiJAmyJjsK3DjYuGWk2ZJsXwe21SVeulr3SyOrf5ArprsK3Ljwlvi/4jXVrOFOj1EfCgrtVj13Tmbs+FeGxWLl54Ne2yGdmiRUkKcEwVDhDRBxmTfojIVQltLrM68igmWglNlmMyo6gPZarJviBQzRkpQy04Rk9os1Fmh1NidDadQ1WxNNWdBi5QS4pzsl4slhDyWjMm+h0/fxMRhkYgJlpq9bhxm+viL02bbqz6QbSb7XivEmh/OQ6ZQP9S1GWcvxYWaX5O1IS7Hw0q1Lw3QmGpz74SQhkM9Q4Q0Uc18xZg4PAoVSjWmDo+GWquDQqmF6P6K4jsyruLmXblp/+oP5PpM9q3p7CXHw0r1+yvMWj2gR60xTTO3CHE+FAwR0oT5egptznR6dXAkknsG23wg13eyb01mL4mFPLuz4eozx8ZWPaAZI2LAZj9apzrN3CLEudAwGSEuykPERyt/D4S2llit1uwMyb7+PiJMHxFtc5jP36d+lr+wVw9ozQ/n4entVy/vSwhpHNQzREgTVlCiQIVSY1qtXiTk1TiAcJZk3+Z+7nh9dOz9+9BCLORCXIv7eBiOhgjHPhtSb+9NCGl4FAwR0kTduSe3WZ+nuZ+7w+OrL9NgFBdiGCpqyGEefx8R4NNgb+dwCFChtl8BmxDyeKFgiJAmqKBEYREIAQ/q87w+OrZGPSvVk32FblxolGVwF1hOyW9KHA0BiviPmkZNCHEmlDNESBPkqD5PbZKfq+YW+XlyUVpcUFeX6bSMQ4TWxIVKAZ2yga+IEFKfKBgipAmqy/o8MoUatwpkyMwrRlG59pErUD8O7NUDmjEiBuWl9xrpyggh9YGGyQhpguqqPk99VKB+XNiqB8SBFnq9vrEvjxBShygYIqSJKSpXgsVi4d3xXcBiAVfzSrDv6HWo7if91rQ+j6MK1PW9ur0zsFYPSKF4vKpeE0Ico2CIkCYkv6gCa74/bzGDbO7L8Vi2/QxCW0tqXJ+nPitQE0KIM6FgiJAmoqhcaREIAYaEaTYbWDmzB3g8To3r89R3BWpCCHEWlEBNSBMhq1DbnEF2NrMQGp2+VoUKnaECNSGENAQKhghpIhzNEKvtCu+Oppc3VAVqQgipb40eDJWWliItLQ3du3dHhw4d8MILL+DMmTOm10+cOIGRI0ciLi4OzzzzDLZv3+7wnP/+978xaNAgxMTEYODAgdi5c2d93gIhTsHRDLHarvBuc3p5I1SgJoSQ+tToOUOzZs1CUVERVqxYAYlEgm+++QYpKSnYtWsXZDIZxo8fj1GjRmHJkiXIy8tDWloaZDIZpk6davV8J06cwPz58/Huu++ia9euOHr0KN555x1IJBL06tWrge+OkIYjFvKweEoC5AoN+Dy22SyymGApPMS1D15ctQI1IcS1NGowlJeXh+PHj+Pbb79Fhw4dAABvv/02jh49ih9//BFZWVmIjIzEwoULAQBt27aFXC5HWloaUlJSwOdb/nI/dOgQQkND8fzzzwMAXnrpJfzwww84duwYBUOkyTLUAzpnNvvLOIvswIlcTEqOgq+n8KHOXXV6uUKhwJXbBWge4Fsn100IIc6gUYfJfHx8sGnTJkRGRpq2sVgsMAyDsrIy5OTkID4+3uyY8PBwKJVKXLhwweo5vb29kZ2djZMnT4JhGJw6dQrXr19HTExMvd4LIY3FVj2g81mF+PH4DUwdEY1mvuJGujpCCHF+jdoz5OnpiR49epht++mnn3Dz5k0kJibixo0buHPnjtnrt2/fBgAUFRVZPecrr7yCixcvYuzYseBwONDpdJg4cSKSkpIe+XqVStddj8h479QGztcGJeVau/WAlCotFApFnbyXs7ZBQ6I2MKB2oDYAnL8NGIYBi+V4WL/Rc4aq+uOPP5Camoo+ffqgd+/ekMvleOutt7Bnzx4MGjQI//zzD1auXAkWiwW1Wm31HHfu3DElZXfo0AEnT57Ep59+iqCgIAwfPvyRri83N/eRjm8KqA2crw34Xq3svl4mV6Lw9q06fU9na4PGQG1gQO1AbQA4dxtYS6mpzmmCoYyMDMyZMwcxMTFYsWIFACApKQn5+flYuHAhUlNT4ePjg7lz52L+/Pnw8PCwep7XX38dQ4YMwUsvvQQACAsLQ1lZGT7++GMMGzYMbPbDjwwGBgZCKHy4vIvHnVKpRG5uLrWBE7bBvXL7U+a93IXwaxFWJ+/lrG3QkKgNDKgdqA0A52+D7OzsGu3nFMHQ9u3bkZ6ejn79+mH58uVmUdykSZMwYcIEFBYWws/PDzk5OWAYBq1bt7Y4T3FxMXJychAVFWW2PTY2FuvXr0dpaSkkEslDX6dQKISoqa9O6QC1gfO1gQ/UiAuVWh0qiwuVwsdTAFEdT4N3tjZoDNQGBtQO1AaA87ZBTYbIACeoM/TNN99g0aJFeOmll7By5UqzQOjrr7/Ge++9BzabjYCAAHA4HBw4cACtWrVCmzZtLM7l7e0NoVCIzMxMs+3Xrl2Dp6fnIwVChDgrm/WAQqV4fVQc1QMihBAHGrVnKCcnBx9++CH69euHyZMnmyVFCwQCtGvXDunp6YiMjERCQgKOHTuGDRs2YOnSpab9ZDIZNBoNJBIJ2Gw2xo4di/Xr10MqlaJjx474448/sGHDBkybNq0xbpGQBlG9HpBYyIOXuxsFQoQQUgONGgz9/PPP0Gg0OHjwIA4ePGj2WnJyMpYsWYL09HRs2LABixcvRuvWrbFs2TIMGDDAtF96ejp+//13HDp0CIAhZ8jb2xsbN27EnTt30KpVK8ydO9dUd4iQpqpqPSBCCCE116jB0JQpUzBlyhS7+yQnJyM5Odnm60uWLDH7nMPhYNy4cRg3blydXCMhhBBCmrZGzxkihBBCCGlMFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVxG/sCiOuSKdQok1eiQqmBWMiDl7sbPET8xr4sQgghLqbRg6HS0lKsWLECR44cgVwuR2hoKGbPno34+HgAwIkTJ7BixQpkZ2fD398fY8aMwcsvv2zzfKGhoTZfO3z4MFq0aFHn90Bqr7BUidU7zuJsZqFpW1yoFK+NioPUW9iIV+b8CksVkCs0qFBq4C7kQSziQeotauzLIoSQx1ajB0OzZs1CUVERVqxYAYlEgm+++QYpKSnYtWsXZDIZxo8fj1GjRmHJkiXIy8tDWloaZDIZpk6davV8x44dM/tcqVRizJgx6NSpEwVCTkKmUFsEQgBwNrMQq3ecxdyX46mHyIY79+RY+8MFnM960HYxwVJMHxGN5n7ujXhlhBDy+GrUYCgvLw/Hjx/Ht99+iw4dOgAA3n77bRw9ehQ//vgjsrKyEBkZiYULFwIA2rZtC7lcjrS0NKSkpIDPt3xgSqVSs8/T0tLA5XKxaNGi+r8hUiNl8kqLQMjobGYhyuSVFAxZUViqsAiEAOB8ViHW/nABbzwfSz1EhBDyEBo1gdrHxwebNm1CZGSkaRuLxQLDMCgrK0NOTo5puMwoPDwcSqUSFy5ccHj+y5cv4/vvv0daWhqEQhp6cRYVSs0jve6q5AqNRSBkdD6rEHIFtRshhDyMRu0Z8vT0RI8ePcy2/fTTT7h58yYSExNx48YN3Llzx+z127dvAwCKioocnn/VqlXo2LGjxXs8LKVSWSfneRwZ770u2kDoZv/bTujGhUKheOT3qWt12QYPw3EQqa33dmvsNnAG1AYG1A7UBoDztwHDMGCxWA73a/Scoar++OMPpKamok+fPujduzfkcjneeust7NmzB4MGDcI///yDlStXgsViQa1W2z3XjRs3cOTIEWzevLnOri83N7fOzvW4qos28Jb4Iy5EirPXLHs54kKk0CjLcOV2wSO/T31prO8DSfN2dl8XC7m4cuVKg1wL/SxQGxhRO1AbAM7dBtZSaqpzmmAoIyMDc+bMQUxMDFasWAEASEpKQn5+PhYuXIjU1FT4+Phg7ty5mD9/Pjw8POyeb9++fWjRogUSExPr7BoDAwNddrhNqVQiNze3ztpgxkgJ1vxw3mI22YwRMXAXsNA8wPeR36Ou1XUb1Ja80pAsbW2oLCZYCrGQh4CwsHq9hsZuA2dAbWBA7UBtADh/G2RnZ9doP6cIhrZv34709HT069cPy5cvN4viJk2ahAkTJqCwsBB+fn7IyckBwzBo3bq13XP+97//xYABA2rUPVZTQqEQIpFrJ6jWVRuIRMDcl+MfyzpDjfV9IBIB00dE25xN5u/TcNdEPwvUBkbUDtQGgPO2QU1jgEYPhr755hssWrQIY8aMQWpqKtjsBzndX3/9Na5du4aFCxciICAAAHDgwAG0atUKbdq0sXlOmUyGrKwszJs3r96vnzw8DxH/sQh+nElzP3e88Xzs/TpDWoiFXLhTnSFCCHkkjRoM5eTk4MMPP0S/fv0wefJks6RogUCAdu3aIT09HZGRkUhISMCxY8ewYcMGLF261LSfTCaDRqOBRCIxbbt69SoYhkFISEiD3g8hDUHqLYLUu7GvghBCmo5GDYZ+/vlnaDQaHDx4EAcPHjR7LTk5GUuWLEF6ejo2bNiAxYsXo3Xr1li2bBkGDBhg2i89PR2///47Dh06ZNpWWGgYQvDx8WmYGyGEEELIY6tRg6EpU6ZgypQpdvdJTk5GcnKyzdeXLFlisW3gwIEYOHDgI18fIYQQQpo+WrWeEEIIIS6NgiFCCCGEuDQKhgghhBDi0igYIoQQQohLo2CIEEIIIS6NgiFCCCGEuDQKhgghhBDi0igYIoQQQohLYzEMwzT2RTi7P//8EwzDgMfj1enCr48ThmGg0WioDagNqA2oDQBQOwDUBoDzt4FarQaLxUKHDh3s7tfoC7U+DoxfYGf8QjcUFosFPt+1F1WlNqA2AKgNjKgdqA0A528DFotVo2c39QwRQgghxKVRzhAhhBBCXBoFQ4QQQghxaRQMEUIIIcSlUTBECCGEEJdGwRAhhBBCXBoFQ4QQQghxaRQMEUIIIcSlUTBECCGEEJdGwRAhhBBCXBoFQ4QQQghxaRQMEUIIIcSlUTBECCGEEJfm8sFQUVER5syZg4SEBHTp0gXz5s1DcXGx2T4nTpzA8OHDER0djf79+2PPnj01Pn9xcTESExOxevXqOr7yulUf7aBQKLBo0SIkJiYiJiYGL730Ev788896vItHUx9toFKp8Mknn6B3796Ii4vD8OHD8d///rce7+LR1PfPw969e9G7d+86vuq6VV9t8PXXX6NPnz6Ijo7G6NGjcfHixXq6g0cnl8vx/vvvIzExEfHx8ZgwYQKys7PN9tm/fz+SkpIQGxuLpKQk7N+/3+45NRoNVq1ahb59+yIuLg6vvvoqLl26VJ+38Ujqow0A4P/+7//Qr18/xMbGIjk5GYcPH66vW3hkdd0Gt27dQmhoqNV/7du3r+/bsY9xYWq1mhkyZAgzYMAA5uTJk0xmZiYzZcoUZtCgQUxlZSXDMAyTnZ3NREVFMStXrmSuX7/ObNmyhQkLC2N+++23Gr3HtGnTmJCQEGbVqlX1eSuPpL7a4c0332SeeeYZ5vTp00xubi6zcOFCJiYmhsnPz2+oW6ux+mqDt99+m+nZsydz9OhRJjc3l9mwYQPTvn175uTJkw11azVW3z8P//nPf5iIiAimV69e9X0rD62+2mDXrl1MTEwMs2/fPiYrK4uZO3cu07lzZ6aoqKihbq1W5s2bxzz77LPMH3/8wWRnZzOTJ09munfvzqhUKoZhDF9L4++1GzduMHv37mXi4uKYvXv32jxnWloa07FjR2bv3r3MjRs3mJUrVzKxsbHMjRs3Guq2aqU+2uCHH35gYmNjmZ9++om5efMms3LlSiY8PJy5fPlyQ91WrdR1G2i1WqagoMDs36VLl5i4uDhmxYoVDXlrFlw6GMrIyGBCQkKYrKws0za5XM7Ex8czu3fvZhiGYd59911m5MiRZsfNmjWLGT9+vMPz/+tf/2IGDBjAdO3a1amDofpoB41Gw8yfP9/sAVFeXs6EhIQw+/fvr/ubeET10QYKhYKJiIhg9u3bZ7Z97NixzNy5c+v2BupAff08yGQyZvbs2Ux4eDiTlJTk1MFQfbVB//79mWXLlpk+12g0TI8ePZiNGzfW7Q3UkY4dOzJffvml6fMrV64wISEhzMWLFxmGYZhhw4Yxr7/+utkx69atY/r06WP1fGVlZUxoaCizfft2s+2vvvoqs2DBgjq++rpR123AMAwzdepUZsaMGWbbOnXqxGzdurUOr7zu1EcbVDd+/Hhm9OjRjE6nq5uLfkguPUyWk5MDb29vtGvXzrRNLBajdevWOH36NADgzJkzeOqpp8yOe+qpp/DHH3+AYRi7516+fDmWLVsGPp9fPzdQR+qjHbhcLj766CM8/fTTAIDy8nKsW7cOYrEYsbGx9XczD6k+2oDFYmHDhg3o1q2bxWtlZWV1fAePrr5+Hm7duoWysjL88MMP6Nu3b/3dQB2ojzYoKipCbm6u2TFcLhfx8fGmczobb29v/PTTTygqKoJarcbOnTvh7e2N1q1bAzC0U6dOncyOCQ8Px99//438/HyL8+Xm5oJhGItjwsLCXKYNjOc8ffo0rl69CoZhsH//fshkMkRHR9f7/TyM+miDqjIyMnDixAm8//77YLMbNxxx6WBIKpVCLpdDLpebtul0OuTn56OoqAgAkJ+fj2bNmpkd5+/vD6VSiZKSEqvn1Wg0mD17NlJSUhAREVF/N1BH6qsdjDZs2IBOnTrh888/x9tvv43mzZvX/U08ovpoA4FAgMTERHh7e5u2nT9/HidPnkRiYmL93MgjqK/vg/bt22Pz5s0ICwurv4uvI/XRBsaHQvXve39/f9y5c6eub6FOpKen486dO0hISEBsbCx27dqFzZs3w8PDA4Chnapf+61btwAA9+7dszifv78/AFgcc/v2bav7O4O6bgMAeP311xEYGIihQ4ciIiICs2bNQlpaGuLj4+v3Zh5SfbRBVZ999hmGDBnS+PlCALiNfQH16datW+jTp4/N148ePQpPT0+kpqbi/fffh1AoxKpVq1BSUgK1Wg3AkABbvWfH+Llxn+pWrVoFNzc3TJw4sY7u5NE0VjsYDRgwAD169MCBAwfwzjvvQCKRoFevXo94V7XT2G0AADdu3MD06dMRGRmJ0aNHP8LdPBxnaIPG1hhtoFQqzfYxcnNzQ2Vl5SPdz8Nw1AbHjh3DtWvX8OSTTyI9PR0ikQibN2/Ga6+9hh07diAgIADDhw/Hpk2b0LlzZyQmJuLq1avYtm0bAOtt0KxZMyQkJGDp0qVo2bIlAgMD8csvv+Dw4cPQ6/X1dq+2NEYbAMDNmzfBMAyWLl2K4OBg/PLLL/jwww/x5JNPomvXrvVyr7Y0VhsYHT9+HFlZWVi5cmVd3tZDa9LBUEBAgN3Mdj8/P2zYsAELFizA008/DT6fj6SkJPTu3RssFguA4RdW9S+q8XOhUGhxzt9//x3ffvstdu/eDQ6HU4d38/Aaox2qMnaphoWF4dKlS/j8888bPBhq7Db4888/MW3aNEilUmzatKlRhk4buw2cQWO0gUAgMNvHqLKyslHazFEb3Lx5E+np6Th06BBatGgBAFi5ciUGDBiArVu3IjU1FRMmTEBpaSmmT58OvV6PFi1aYOLEiXjvvfdMvQbVLV26FKmpqRg8eDDYbDY6duyIcePG4bvvvquX+7SnMdqgoqICr732GhYsWIChQ4cCMAwp3b59G8uWLWvwYKixvg+M9uzZg/j4eLRt27ZO7+thNelgiMfjOWzomJgY7N+/H8XFxXBzc4NYLMaIESOQkJAAwNC1XVBQYHZMQUEBRCKR1S/27t27oVAokJSUZNqmVCqxceNGbNu2DWfPnq2DO6udxmgHuVyOY8eOISEhAZ6enqbtwcHBOHToUB3cVe00RhsYHTx4ELNnz0ZUVBTWr19v1h4NqTHbwFk0RhsYHyQFBQVm711QUGAx3NYQHLXBli1b4Ovra7pu4zHh4eHIzc01fb5gwQLMmTMHxcXF8Pf3x9GjR8HlctGyZUur55VKpdi8eTPkcjnUajUkEgmWLl2KwMDAury9GmmMNrh+/TpKS0sRFRVltj02NhYHDx6smxurhcb6PgAArVaLI0eOYObMmXV2P4/KpXOG8vLy8MILL6CgoAASiQRisRh///03Ll26ZEp6jY+Px++//2523IkTJ9ChQwerCV9z5szBTz/9hD179pj++fv74/nnn69VPZaGVB/toNVqMXPmTPzyyy9m2y9cuGCWnOos6qMNAODQoUN488030bNnT3z++eeNFgjVRH21weOkPtpAIpGgTZs2OHXqlGmbVqvFmTNnnDJXpHnz5igpKTEL+PR6PbKzs029vCtXrsSaNWvA4/EQEBAAFouFAwcOoGPHjhCJRBbnZBgGkydPxuHDh+Hu7g6JRAKtVouMjAynzJ+rjzYw5oxlZmaabc/MzDSd05nURxsYZWdno7y83GIiQqNqtHlsTkCr1TL9+vVjZsyYwVy/fp05d+4cM2DAAGbixImmfa5du8ZEREQwy5YtY7Kzs5mtW7cy4eHhZlPGS0pKmJKSEpvv06tXL6eeWl9f7fDuu+8yCQkJzJEjR5jr168z6enpTEREhGlapjOpjzYoLS1l4uPjmZEjRzL5+flmtTXsfb80lob4eVi1apVTT62vrzb47rvvmOjoaGbXrl2mOkNdunRxyjpDFRUVTP/+/ZnRo0cz586dY7Kzs5nU1FQmNjaWuXnzJsMwD+omHTx4kPn777+ZtWvXMhEREcyZM2dM56neBvPnz2eeffZZ0zlfe+01plu3bkxpaWlD36JD9dUGs2bNYrp27cpkZGQwN2/eZL744gsmPDzcKcuN1FcbMAzD7N69m4mMjGT0en1D3pJdLh0MMQzDXL9+nRk3bhwTGxvLdO3alVm8eDGjUCjM9vnf//7HDB48mImMjGSeffZZ5j//+Y/Z6y+//DLz8ssv23wPZw+GGKZ+2qGyspJZsWIF07NnTyYyMpIZPXo0c/r06Qa5n4dR122wb98+JiQkxOo/e98vjam+fx6cPRhimPprgy1btjDdu3dnoqOjmRdffNFpC+0xDMPk5+ebHtzx8fHMuHHjmCtXrpjts2nTJqZXr15MTEwMM3r0aIuik9XbQCaTMampqUyXLl2Y+Ph4Zvr06aaHqjOqjzZQKpXMihUrmL59+zKxsbFMcnIyc+DAgQa5n4dRH21gPKZr1671fv21wWIYO8VyCCGEEEKauMd/kJ8QQggh5BFQMEQIIYQQl0bBECGEEEJcGgVDhBBCCHFpFAwRQgghxKVRMEQIIYQQl0bBECGEEEJcGgVDhBCXQ+XVCCFVUTBECKlTY8aMwZgxYxr7Mkx69+6N+fPnmz5fv349tm7dWifnnj9/Pnr37l0n5yKENB4KhgghTdqaNWswbdo00+crV66EUqlsxCsihDgbbmNfACGE1Kfw8PDGvgRCiJOjniFCSIM7fvw4XnzxRXTs2BFdunTB7NmzcefOHdPru3btQnh4OM6fP4/Ro0cjKioKPXv2xObNm83OU1BQgJkzZ6Jz587o1KkT0tLS8Omnn5oNXVUdJgsNDQVg6C0yfrx69WrTx1WFhoZi9erVps/LysqwYMECdOnSBZ06dcKyZcug1+stjsvIyMDw4cMRFRWFrl27YvHixVAoFLVqn48++gihoaE4efKkadvevXsRGhqKnTt31upchBDHKBgihDSovXv3Yvz48QgICMCKFSuwYMECnD17FqNHj0ZRUZFpP71ejzfffBMDBw7Epk2b0LFjRyxfvhy//vorAECtVmPs2LH4888/kZqaio8++ghXr17Ftm3bbL73d999BwAYMWKE6eOa0Ov1mDBhAo4cOYI5c+bg448/xtmzZ7F//36z/f79739j+vTpCAoKwtq1azFjxgzs27cP06ZNq1XS9qxZs9CmTRu89957UKvVuHv3LhYvXoz+/fvjueeeq/F5CCE1Q8NkhJAGo9frsWzZMiQkJODTTz81be/QoQMGDhyIbdu2Ye7cuQAMM76mTZuGkSNHAgA6duyIgwcP4siRI+jWrRv27duHGzduYOfOnYiMjAQAPPXUU+jbt6/N94+NjQUANGvWzPRxTRw9ehQXLlzAxo0b0bNnT9N7Ve2BYhgGy5cvR7du3bB8+XLT9sDAQLz66qv43//+ZzrWETc3N3z88cd44YUXsGnTJpw/fx4CgQAffPBBja+ZEFJz1DNECGkwOTk5KCwsxJAhQ8y2P/nkk4iLi8OpU6fMtsfFxZk+5vP5kEgkpiGnkydP4oknnjAFQgDg7u6OXr161fl1nzlzBjweD927dzdtE4lE6NGjh+nzGzduID8/H71794ZWqzX969SpE9zd3XH8+PFavWdMTAxSUlKwdu1a/Prrr1iyZAl8fHzq7J4IIQ9QMEQIaTClpaUAAD8/P4vX/Pz8IJPJzLYJBAKzz9lstmm4qaSkBL6+vlbPU9fKysrg7e0NNtv8V6ZUKjV9bLy3hQsXIiIiwuyfXC5HQUFBrd932LBh0Ov18PHxQUxMzCPdAyHENhomI4Q0GG9vbwDAvXv3LF4rLCysVc9HQEAA8vLyLLZXzTuqCRaLBQDQ6XTgcDgAgIqKCrN9fHx8UFJSYrYP8CAAAgBPT08AwLx589C5c2eL9/Hy8qrVdTEMg/feew9PPPEESkpK8PHHH2PRokW1OgchpGaoZ4gQ0mDatGkDqVSKf//732bb//77b5w7dw4dOnSo8bk6d+6Mv//+G1euXDFtq6ysxNGjR+0eV713x93dHQDMZrP9+eefZvs8/fTT0Gq1yMjIMG1Tq9VmQ19BQUHw9fXFrVu3EBUVZfrXrFkzfPLJJ7h8+XKN7w0AvvjiC5w5cwbp6emYOXMmduzY4fDeCCEPh3qGCCF1Lj8/H//3f/9nsb1du3aYNWsWFixYgJkzZ2LYsGEoKSnBmjVr4OXlhXHjxtX4PQYPHoxNmzZh+vTpeOONN+Dp6Ylt27ahqKgILVq0sHmcp6cnzp49i9OnTyM+Ph49evTARx99hHfffRcTJ05Efn4+1qxZA7FYbDrm6aefRmJiIt555x0UFRWhZcuW+PLLL1FcXGwaquNwOJg5cybS0tLA4XDQq1cvlJeXY926dbh79y4iIiJqfG85OTn49NNPMXLkSNNU/n379uGdd97Bjz/+aOqFIoTUDQqGCCF17ubNm/joo48sticnJ2PJkiUQi8XYuHEjpk+fDnd3d3Tr1g2zZs0yy8FxhMvlYuvWrUhPT8f7778PLpeLpKQk+Pj4ICcnx+ZxU6ZMwbp16zBx4kTs378fbdq0wccff4z169dj0qRJaNu2LRYtWmQxJLVmzRosX74cq1atQmVlJQYOHIhRo0bhv//9r2mfkSNHQiwWY8uWLfjuu+8gEonQoUMHLF++HE888USN7kuv12PBggXw8PDAvHnzABh6sxYtWoThw4cjPT0dH3/8cY3biRDiGIuhFQsJIY+hrKws3LhxA/379zfl/QDAc889h+bNm2PNmjWNeHWEkMcJ9QwRQh5LCoUCb7zxBl588UX069cPOp0OP/74Iy5dumSqVeRsdDqdw+KLLBbLLEmbEFL/qGeIEPLYOnDgALZu3Yrr16+DYRiEh4dj6tSpSExMbOxLs6p37964ffu23X1atmyJQ4cONdAVEUIACoYIIaTBZGZmQq1W292Hz+dbXSuNEFJ/KBgihBBCiEujOkOEEEIIcWkUDBFCCCHEpVEwRAghhBCXRsEQIYQQQlwaBUOEEEIIcWkUDBFCCCHEpVEwRAghhBCX9v8XbgE4e1CmdAAAAABJRU5ErkJggg==", "text/plain": [ - "LinearGAM(callbacks=[Deviance(), Diffs()], fit_intercept=True, \n", - " max_iter=100, scale=None, \n", - " terms=s(0) + s(1) + s(2) + s(3) + s(4) + s(5) + intercept, \n", - " tol=0.0001, verbose=False)" + "
" ] }, - "execution_count": 144, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "p_temp_X = pd.get_dummies(p_cfs_ml_counts.drop([\"Count\"], axis = 1)).dropna(axis = 1)\n", - "p_temp_y = p_cfs_ml_counts[\"Count\"]\n", - "\n", - "\n", - "precipgam = LinearGAM()\n", - "\n", - "lam_grid = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0]\n", - "splines_grid = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", - "\n", - "precipgam.gridsearch(p_temp_X.values, p_temp_y.values, lam = lam_grid, n_splines = splines_grid)" + "sns.scatterplot(cfs_ml, x = \"Longitude_x\", y = \"Latitude_x\")" ] }, { - "cell_type": "code", - "execution_count": 145, - "id": "47a1e2b9-7674-4972-a057-de78d665e0e1", + "cell_type": "markdown", + "id": "2b3e2223-f449-47d4-a1c7-c2ae3695daac", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "LinearGAM \n", - "=============================================== ==========================================================\n", - "Distribution: NormalDist Effective DoF: 37.6725\n", - "Link Function: IdentityLink Log Likelihood: -84042.2028\n", - "Number of Samples: 8804 AIC: 168161.7506\n", - " AICc: 168162.1007\n", - " GCV: 5622.9562\n", - " Scale: 5579.6634\n", - " Pseudo R-Squared: 0.363\n", - "==========================================================================================================\n", - "Feature Function Lambda Rank EDoF P > x Sig. Code \n", - "================================= ==================== ============ ============ ============ ============\n", - "s(0) [0.1] 10 5.7 1.11e-16 *** \n", - "s(1) [0.1] 10 4.0 1.11e-16 *** \n", - "s(2) [0.1] 10 7.8 9.97e-01 \n", - "s(3) [0.1] 10 3.0 1.11e-16 *** \n", - "s(4) [0.1] 10 8.6 2.30e-01 \n", - "s(5) [0.1] 10 8.6 9.98e-01 \n", - "intercept 1 0.0 1.11e-16 *** \n", - "==========================================================================================================\n", - "Significance codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", - "\n", - "WARNING: Fitting splines and a linear function to a feature introduces a model identifiability problem\n", - " which can cause p-values to appear significant when they are not.\n", - "\n", - "WARNING: p-values calculated in this manner behave correctly for un-penalized models or models with\n", - " known smoothing parameters, but when smoothing parameters have been estimated, the p-values\n", - " are typically lower than they should be, meaning that the tests reject the null too readily.\n", - "None\n" - ] - } - ], "source": [ - "print(precipgam.summary())" + "## Temp vs Violence" ] }, { "cell_type": "code", - "execution_count": 146, - "id": "f8b5cacb-8c23-49c1-a5c8-bde5e3ce6e6a", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "defaultdict(, {'deviance': [116906316.87601498, 48913156.294635914], 'diffs': [1.000000000003095, 0.0]})\n" - ] - } - ], - "source": [ - "print(precipgam.logs_)" - ] - }, - { - "cell_type": "markdown", - "id": "2b3e2223-f449-47d4-a1c7-c2ae3695daac", + "execution_count": null, + "id": "b7a65a35-0553-43ba-8e0d-8e33e1dacce3", "metadata": { "tags": [] }, - "source": [ - "## Temp vs Violence" - ] + "outputs": [], + "source": [] }, { "cell_type": "code", - "execution_count": 250, + "execution_count": 485, "id": "9c4ab705-f939-4250-a9a4-61c3a2476f1d", "metadata": { "tags": [] @@ -6488,7 +5756,7 @@ " 41.])" ] }, - "execution_count": 250, + "execution_count": 485, "metadata": {}, "output_type": "execute_result" } @@ -6499,7 +5767,7 @@ }, { "cell_type": "code", - "execution_count": 251, + "execution_count": 486, "id": "30df3563-42fd-4a6b-bdae-15d823dbbc86", "metadata": { "tags": [] @@ -6539,8 +5807,8 @@ " \n", " \n", " 0\n", - " 6\n", - " 24\n", + " 14\n", + " 14\n", " Violent Crime\n", " 1\n", " 61.0\n", @@ -6550,10 +5818,10 @@ " \n", " \n", " 1\n", - " 6\n", - " 25\n", + " 14\n", + " 15\n", " Violent Crime\n", - " 10\n", + " 4\n", " 61.0\n", " 2020\n", " 1\n", @@ -6561,8 +5829,8 @@ " \n", " \n", " 2\n", - " 7\n", - " 24\n", + " 14\n", + " 16\n", " Violent Crime\n", " 1\n", " 61.0\n", @@ -6572,10 +5840,10 @@ " \n", " \n", " 3\n", - " 7\n", - " 25\n", + " 15\n", + " 14\n", " Violent Crime\n", - " 10\n", + " 3\n", " 61.0\n", " 2020\n", " 1\n", @@ -6583,10 +5851,10 @@ " \n", " \n", " 4\n", - " 7\n", - " 26\n", + " 15\n", + " 15\n", " Violent Crime\n", - " 3\n", + " 2\n", " 61.0\n", " 2020\n", " 1\n", @@ -6598,11 +5866,11 @@ ], "text/plain": [ " Long_bin Lat_bin SimpleType Count TimeMaxTemp YearCreate \\\n", - "0 6 24 Violent Crime 1 61.0 2020 \n", - "1 6 25 Violent Crime 10 61.0 2020 \n", - "2 7 24 Violent Crime 1 61.0 2020 \n", - "3 7 25 Violent Crime 10 61.0 2020 \n", - "4 7 26 Violent Crime 3 61.0 2020 \n", + "0 14 14 Violent Crime 1 61.0 2020 \n", + "1 14 15 Violent Crime 4 61.0 2020 \n", + "2 14 16 Violent Crime 1 61.0 2020 \n", + "3 15 14 Violent Crime 3 61.0 2020 \n", + "4 15 15 Violent Crime 2 61.0 2020 \n", "\n", " MonthCreate DayCreate \n", "0 1 1 \n", @@ -6612,7 +5880,7 @@ "4 1 1 " ] }, - "execution_count": 251, + "execution_count": 486, "metadata": {}, "output_type": "execute_result" } @@ -6636,31 +5904,20 @@ }, { "cell_type": "code", - "execution_count": 252, + "execution_count": 487, "id": "e4a7488f-2bd9-41e3-949c-9b8884831c60", "metadata": { "tags": [] }, "outputs": [], "source": [ - "from sklearn.preprocessing import LabelEncoder\n", - "\n", - "\"\"\"\n", - "le = LabelEncoder()\n", - "le.fit(v_cfs_ml_counts[\"SimpleType\"])\n", - "\n", - "v_cfs_ml_counts[\"SimpleType\"] = le.transform(v_cfs_ml_counts[\"SimpleType\"])\n", - "\n", - "v_cfs_ml_counts.head()\n", - "\"\"\"\n", - "\n", "v_cfs_ml_counts.drop(\"SimpleType\", inplace = True, axis = 1)\n", "v_cfs_ml_counts.dropna(inplace = True);" ] }, { "cell_type": "code", - "execution_count": 253, + "execution_count": 488, "id": "06f83946-e498-4918-997f-e6a8fb79fc27", "metadata": { "tags": [] @@ -6698,50 +5955,50 @@ " \n", " \n", " \n", - " 921\n", - " 6\n", - " 25\n", - " 4\n", + " 1950\n", + " 14\n", + " 15\n", + " 2\n", " 93.0\n", " 2020\n", " 5\n", " 21\n", " \n", " \n", - " 922\n", - " 7\n", - " 24\n", - " 1\n", + " 1951\n", + " 15\n", + " 14\n", + " 3\n", " 93.0\n", " 2020\n", " 5\n", " 21\n", " \n", " \n", - " 923\n", - " 7\n", - " 25\n", - " 8\n", + " 1952\n", + " 15\n", + " 15\n", + " 1\n", " 93.0\n", " 2020\n", " 5\n", " 21\n", " \n", " \n", - " 924\n", - " 7\n", - " 26\n", - " 4\n", + " 1953\n", + " 16\n", + " 15\n", + " 1\n", " 93.0\n", " 2020\n", " 5\n", " 21\n", " \n", " \n", - " 925\n", - " 8\n", - " 24\n", - " 1\n", + " 1954\n", + " 16\n", + " 16\n", + " 2\n", " 93.0\n", " 2020\n", " 5\n", @@ -6752,22 +6009,27 @@ "" ], "text/plain": [ - " Long_bin Lat_bin Count TimeMaxTemp YearCreate MonthCreate DayCreate\n", - "921 6 25 4 93.0 2020 5 21\n", - "922 7 24 1 93.0 2020 5 21\n", - "923 7 25 8 93.0 2020 5 21\n", - "924 7 26 4 93.0 2020 5 21\n", - "925 8 24 1 93.0 2020 5 21" + " Long_bin Lat_bin Count TimeMaxTemp YearCreate MonthCreate \\\n", + "1950 14 15 2 93.0 2020 5 \n", + "1951 15 14 3 93.0 2020 5 \n", + "1952 15 15 1 93.0 2020 5 \n", + "1953 16 15 1 93.0 2020 5 \n", + "1954 16 16 2 93.0 2020 5 \n", + "\n", + " DayCreate \n", + "1950 21 \n", + "1951 21 \n", + "1952 21 \n", + "1953 21 \n", + "1954 21 " ] }, - "execution_count": 253, + "execution_count": 488, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "\n", - "\n", "v_cfs_hot = v_cfs_ml_counts[v_cfs_ml_counts[\"TimeMaxTemp\"] > 90.0]\n", "v_cfs_cold = v_cfs_ml_counts[v_cfs_ml_counts[\"TimeMaxTemp\"] <= 90.0]\n", "\n", @@ -6776,7 +6038,30 @@ }, { "cell_type": "code", - "execution_count": 254, + "execution_count": 489, + "id": "0d85b7c9-d58a-4843-97c2-38723c1644f2", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([2020, 2021, 2022, 2023])" + ] + }, + "execution_count": 489, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v_cfs_cold[\"YearCreate\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 490, "id": "cdaece15-286e-4c28-897c-04053cc4d6c1", "metadata": { "tags": [] @@ -6795,7 +6080,7 @@ "dtype: object" ] }, - "execution_count": 254, + "execution_count": 490, "metadata": {}, "output_type": "execute_result" } @@ -6806,7 +6091,7 @@ }, { "cell_type": "code", - "execution_count": 290, + "execution_count": 491, "id": "874b1791-962f-4c53-a77f-bfd685da2e4d", "metadata": { "tags": [] @@ -6816,7 +6101,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100% (11 of 11) |########################| Elapsed Time: 0:00:02 Time: 0:00:02\n" + "100% (11 of 11) |########################| Elapsed Time: 0:00:04 Time: 0:00:04\n" ] }, { @@ -6828,16 +6113,14 @@ " tol=0.0001, verbose=False)" ] }, - "execution_count": 290, + "execution_count": 491, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "\n", - "X = v_cfs_ml_counts.drop([\"Count\"], axis = 1)\n", + "X = v_cfs_ml_counts.drop(\"Count\", axis = 1)\n", "y = v_cfs_ml_counts[\"Count\"]\n", - "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.30, random_state = 0)\n", "\n", "gam = LinearGAM()\n", @@ -6851,7 +6134,7 @@ }, { "cell_type": "code", - "execution_count": 291, + "execution_count": 492, "id": "7e1ac902-6380-4439-a6d3-a5b6e03ceca5", "metadata": { "tags": [] @@ -6863,23 +6146,23 @@ "text": [ "LinearGAM \n", "=============================================== ==========================================================\n", - "Distribution: NormalDist Effective DoF: 47.635\n", - "Link Function: IdentityLink Log Likelihood: -18887.8947\n", - "Number of Samples: 6160 AIC: 37873.0593\n", - " AICc: 37873.8494\n", - " GCV: 8.1633\n", - " Scale: 8.0498\n", - " Pseudo R-Squared: 0.5865\n", + "Distribution: NormalDist Effective DoF: 61.8726\n", + "Link Function: IdentityLink Log Likelihood: -24763.3117\n", + "Number of Samples: 14346 AIC: 49652.3688\n", + " AICc: 49652.9311\n", + " GCV: 1.6741\n", + " Scale: 1.6612\n", + " Pseudo R-Squared: 0.2621\n", "==========================================================================================================\n", "Feature Function Lambda Rank EDoF P > x Sig. Code \n", "================================= ==================== ============ ============ ============ ============\n", - "s(0) [3.9811] 20 5.4 1.11e-16 *** \n", - "s(1) [3.9811] 20 3.6 1.11e-16 *** \n", - "s(2) [3.9811] 20 12.1 2.38e-01 \n", + "s(0) [3.9811] 20 11.9 1.11e-16 *** \n", + "s(1) [3.9811] 20 7.9 1.11e-16 *** \n", + "s(2) [3.9811] 20 13.6 9.00e-02 . \n", "s(3) [3.9811] 20 3.0 1.11e-16 *** \n", - "s(4) [3.9811] 20 10.4 9.99e-16 *** \n", - "s(5) [3.9811] 20 13.1 5.85e-01 \n", - "intercept 1 0.0 1.05e-08 *** \n", + "s(4) [3.9811] 20 10.7 5.75e-08 *** \n", + "s(5) [3.9811] 20 14.7 1.49e-01 \n", + "intercept 1 0.0 1.02e-06 *** \n", "==========================================================================================================\n", "Significance codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", "\n", @@ -6898,7 +6181,7 @@ }, { "cell_type": "code", - "execution_count": 292, + "execution_count": 493, "id": "ef2ea99c-c8a6-478c-9d17-6ff913f98bf8", "metadata": { "tags": [] @@ -6934,52 +6217,52 @@ " DayCreate\n", " \n", " \n", - " \n", - " \n", - " 921\n", - " 6\n", - " 25\n", - " 4\n", + " \n", + " \n", + " 1950\n", + " 14\n", + " 15\n", + " 2\n", " 93.0\n", " 2020\n", " 5\n", " 21\n", " \n", " \n", - " 922\n", - " 7\n", - " 24\n", - " 1\n", + " 1951\n", + " 15\n", + " 14\n", + " 3\n", " 93.0\n", " 2020\n", " 5\n", " 21\n", " \n", " \n", - " 923\n", - " 7\n", - " 25\n", - " 8\n", + " 1952\n", + " 15\n", + " 15\n", + " 1\n", " 93.0\n", " 2020\n", " 5\n", " 21\n", " \n", " \n", - " 924\n", - " 7\n", - " 26\n", - " 4\n", + " 1953\n", + " 16\n", + " 15\n", + " 1\n", " 93.0\n", " 2020\n", " 5\n", " 21\n", " \n", " \n", - " 925\n", - " 8\n", - " 24\n", - " 1\n", + " 1954\n", + " 16\n", + " 16\n", + " 2\n", " 93.0\n", " 2020\n", " 5\n", @@ -6990,15 +6273,22 @@ "" ], "text/plain": [ - " Long_bin Lat_bin Count TimeMaxTemp YearCreate MonthCreate DayCreate\n", - "921 6 25 4 93.0 2020 5 21\n", - "922 7 24 1 93.0 2020 5 21\n", - "923 7 25 8 93.0 2020 5 21\n", - "924 7 26 4 93.0 2020 5 21\n", - "925 8 24 1 93.0 2020 5 21" + " Long_bin Lat_bin Count TimeMaxTemp YearCreate MonthCreate \\\n", + "1950 14 15 2 93.0 2020 5 \n", + "1951 15 14 3 93.0 2020 5 \n", + "1952 15 15 1 93.0 2020 5 \n", + "1953 16 15 1 93.0 2020 5 \n", + "1954 16 16 2 93.0 2020 5 \n", + "\n", + " DayCreate \n", + "1950 21 \n", + "1951 21 \n", + "1952 21 \n", + "1953 21 \n", + "1954 21 " ] }, - "execution_count": 292, + "execution_count": 493, "metadata": {}, "output_type": "execute_result" } @@ -7009,7 +6299,7 @@ }, { "cell_type": "code", - "execution_count": 293, + "execution_count": 494, "id": "958bedc1-dcf8-4b98-a9b8-1674a1e4192e", "metadata": { "tags": [] @@ -7019,7 +6309,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100% (110 of 110) |######################| Elapsed Time: 0:00:03 Time: 0:00:03\n" + "100% (110 of 110) |######################| Elapsed Time: 0:00:05 Time: 0:00:05\n" ] }, { @@ -7031,7 +6321,7 @@ " tol=0.0001, verbose=False)" ] }, - "execution_count": 293, + "execution_count": 494, "metadata": {}, "output_type": "execute_result" } @@ -7041,7 +6331,7 @@ "hot_X = pd.get_dummies(v_cfs_hot.drop([\"Count\"], axis = 1), dtype = 'int')\n", "hot_y = v_cfs_hot[\"Count\"]\n", "\n", - "hot_X_train, hot_X_test, hot_y_train, hot_y_test = train_test_split(hot_X, hot_y, test_size = 0.30, random_state = 0)\n", + "hot_X_train, hot_X_test, hot_y_train, hot_y_test = train_test_split(hot_X, hot_y, test_size = 0.20, random_state = 0)\n", "\n", "hotgam = PoissonGAM()\n", "\n", @@ -7054,7 +6344,7 @@ }, { "cell_type": "code", - "execution_count": 294, + "execution_count": 495, "id": "7041f126-a53b-438c-a1ad-4c20c1bc963c", "metadata": {}, "outputs": [ @@ -7064,23 +6354,23 @@ "text": [ "PoissonGAM \n", "=============================================== ==========================================================\n", - "Distribution: PoissonDist Effective DoF: 23.768\n", - "Link Function: LogLink Log Likelihood: -2913.855\n", - "Number of Samples: 1439 AIC: 5875.2459\n", - " AICc: 5876.1491\n", - " UBRE: 3.1143\n", + "Distribution: PoissonDist Effective DoF: 40.6907\n", + "Link Function: LogLink Log Likelihood: -5717.5536\n", + "Number of Samples: 3919 AIC: 11516.4887\n", + " AICc: 11517.407\n", + " UBRE: 2.5557\n", " Scale: 1.0\n", - " Pseudo R-Squared: 0.6966\n", + " Pseudo R-Squared: 0.3846\n", "==========================================================================================================\n", "Feature Function Lambda Rank EDoF P > x Sig. Code \n", "================================= ==================== ============ ============ ============ ============\n", - "s(0) [0.001] 5 5.0 0.00e+00 *** \n", - "s(1) [0.001] 5 3.8 0.00e+00 *** \n", - "s(2) [0.001] 5 4.0 8.98e-01 \n", - "s(3) [0.001] 5 3.0 0.00e+00 *** \n", - "s(4) [0.001] 5 4.0 1.81e-01 \n", - "s(5) [0.001] 5 4.0 9.13e-01 \n", - "intercept 1 0.0 3.04e-01 \n", + "s(0) [0] 9 9.0 0.00e+00 *** \n", + "s(1) [0] 9 7.7 0.00e+00 *** \n", + "s(2) [0] 9 8.0 8.66e-01 \n", + "s(3) [0] 9 3.0 0.00e+00 *** \n", + "s(4) [0] 9 5.0 9.64e-01 \n", + "s(5) [0] 9 8.0 7.95e-01 \n", + "intercept 1 0.0 1.59e-14 *** \n", "==========================================================================================================\n", "Significance codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", "\n", @@ -7100,28 +6390,37 @@ }, { "cell_type": "code", - "execution_count": 295, + "execution_count": 496, "id": "f342245a-54d7-4f19-8537-f43ead9862eb", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "7.012326602019632\n" - ] - } - ], + "outputs": [], "source": [ + "hot_X_test.loc[3243]\n", "y_pred = hotgam.predict(hot_X_test)\n", "\n", - "mse = mean_squared_error(y_pred, hot_y_test)\n", - "print(mse)" + "\n", + "\n", + "#print(mse)" + ] + }, + { + "cell_type": "code", + "execution_count": 497, + "id": "f94d0154-9e37-4cf3-a5d6-b030f25357c0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "y_pred = hotgam.predict(X_test)\n", + "\n", + "#mse = mean_squared_error(y_pred, y_test)\n", + "#print(mse)" ] }, { "cell_type": "code", - "execution_count": 296, + "execution_count": 498, "id": "c0767fb6-a432-4c97-8639-2a12e6904c47", "metadata": { "tags": [] @@ -7131,7 +6430,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100% (110 of 110) |######################| Elapsed Time: 0:00:06 Time: 0:00:06\n" + "100% (110 of 110) |######################| Elapsed Time: 0:00:11 Time: 0:00:11\n" ] }, { @@ -7143,7 +6442,7 @@ " tol=0.0001, verbose=False)" ] }, - "execution_count": 296, + "execution_count": 498, "metadata": {}, "output_type": "execute_result" } @@ -7166,7 +6465,7 @@ }, { "cell_type": "code", - "execution_count": 297, + "execution_count": 499, "id": "afa886db-20f4-4c74-a65e-84d506ff019e", "metadata": {}, "outputs": [ @@ -7176,23 +6475,23 @@ "text": [ "PoissonGAM \n", "=============================================== ==========================================================\n", - "Distribution: PoissonDist Effective DoF: 37.0\n", - "Link Function: LogLink Log Likelihood: -11110.9984\n", - "Number of Samples: 5395 AIC: 22295.9967\n", - " AICc: 22296.5501\n", - " UBRE: 3.1748\n", + "Distribution: PoissonDist Effective DoF: 48.2787\n", + "Link Function: LogLink Log Likelihood: -18514.3824\n", + "Number of Samples: 12476 AIC: 37125.3222\n", + " AICc: 37125.721\n", + " UBRE: 2.5924\n", " Scale: 1.0\n", - " Pseudo R-Squared: 0.6683\n", + " Pseudo R-Squared: 0.3079\n", "==========================================================================================================\n", "Feature Function Lambda Rank EDoF P > x Sig. Code \n", "================================= ==================== ============ ============ ============ ============\n", - "s(0) [0] 9 6.0 0.00e+00 *** \n", - "s(1) [0] 9 4.0 0.00e+00 *** \n", - "s(2) [0] 9 8.0 9.38e-03 ** \n", - "s(3) [0] 9 3.0 0.00e+00 *** \n", - "s(4) [0] 9 8.0 0.00e+00 *** \n", - "s(5) [0] 9 8.0 1.96e-02 * \n", - "intercept 1 0.0 1.42e-06 *** \n", + "s(0) [0.001] 10 9.8 0.00e+00 *** \n", + "s(1) [0.001] 10 8.5 0.00e+00 *** \n", + "s(2) [0.001] 10 9.0 1.34e-01 \n", + "s(3) [0.001] 10 3.0 0.00e+00 *** \n", + "s(4) [0.001] 10 9.0 1.43e-09 *** \n", + "s(5) [0.001] 10 9.0 4.05e-01 \n", + "intercept 1 0.0 8.30e-01 \n", "==========================================================================================================\n", "Significance codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", "\n", @@ -7211,7 +6510,7 @@ }, { "cell_type": "code", - "execution_count": 298, + "execution_count": 500, "id": "2fd6c6b5-4a57-448f-9cdf-5b3189cb2081", "metadata": { "tags": [] @@ -7221,7 +6520,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "6.797415352255242\n" + "1.7531797508519555\n" ] } ], @@ -7234,8 +6533,38 @@ }, { "cell_type": "code", - "execution_count": 299, - "id": "a9bb9822-95bb-49cd-88cf-d0a29d0ade0d", + "execution_count": 501, + "id": "e6b3e2f3-ebe2-4b85-83d1-9b6c015c28c7", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.6856651240323215\n" + ] + } + ], + "source": [ + "y_pred = coldgam.predict(X_test)\n", + "mse = mean_squared_error(y_pred, y_test)\n", + "print(mse)" + ] + }, + { + "cell_type": "markdown", + "id": "ef6d8bf5-b7a5-4c43-bf42-a40d9088722e", + "metadata": {}, + "source": [ + "## Checking Significance By Grid Location" + ] + }, + { + "cell_type": "code", + "execution_count": 502, + "id": "63bc0a6d-9a8e-4b39-8b94-a6401ad2c984", "metadata": { "tags": [] }, @@ -7267,92 +6596,332 @@ " YearCreate\n", " MonthCreate\n", " DayCreate\n", + " hot_pred_count\n", " \n", " \n", " \n", " \n", - " 3150\n", - " 9\n", - " 27\n", - " 80.0\n", - " 2021\n", - " 5\n", - " 1\n", + " 19900\n", + " 15\n", + " 16\n", + " 99.0\n", + " 2023\n", + " 7\n", + " 31\n", + " 2.242490\n", " \n", " \n", - " 7223\n", + " 7655\n", + " 17\n", + " 14\n", + " 93.0\n", + " 2021\n", " 6\n", - " 26\n", - " 63.0\n", - " 2023\n", - " 1\n", - " 21\n", + " 16\n", + " 1.839384\n", " \n", " \n", - " 5036\n", + " 20474\n", + " 15\n", + " 15\n", + " 94.0\n", + " 2023\n", " 8\n", - " 26\n", - " 61.0\n", - " 2022\n", - " 2\n", + " 31\n", + " 3.610887\n", + " \n", + " \n", + " 18952\n", + " 15\n", + " 15\n", + " 92.0\n", + " 2023\n", + " 6\n", + " 11\n", + " 3.705603\n", + " \n", + " \n", + " 13634\n", + " 20\n", " 18\n", + " 95.0\n", + " 2022\n", + " 8\n", + " 17\n", + " 1.145017\n", + " \n", + " \n", + "\n", + "" + ], + "text/plain": [ + " Long_bin Lat_bin TimeMaxTemp YearCreate MonthCreate DayCreate \\\n", + "19900 15 16 99.0 2023 7 31 \n", + "7655 17 14 93.0 2021 6 16 \n", + "20474 15 15 94.0 2023 8 31 \n", + "18952 15 15 92.0 2023 6 11 \n", + "13634 20 18 95.0 2022 8 17 \n", + "\n", + " hot_pred_count \n", + "19900 2.242490 \n", + "7655 1.839384 \n", + "20474 3.610887 \n", + "18952 3.705603 \n", + "13634 1.145017 " + ] + }, + "execution_count": 502, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "hot_X_test[\"hot_pred_count\"] = hotgam.predict(hot_X_test)\n", + "hot_X_test.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 503, + "id": "49271c00-b694-4d40-9d6c-e682846246e9", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
Long_binLat_binTimeMaxTempYearCreateMonthCreateDayCreatecold_pred_count
55813983141485.0202292687.02020326131.965659
292262484.06514151569.0202143302.380998
16070161768.020231102.059800
3605141486.020209161.733452
519191376.02020241.143561
\n", "
" ], "text/plain": [ - " Long_bin Lat_bin TimeMaxTemp YearCreate MonthCreate DayCreate\n", - "3150 9 27 80.0 2021 5 1\n", - "7223 6 26 63.0 2023 1 21\n", - "5036 8 26 61.0 2022 2 18\n", - "558 9 26 87.0 2020 3 26\n", - "2922 6 24 84.0 2021 3 30" + " Long_bin Lat_bin TimeMaxTemp YearCreate MonthCreate DayCreate \\\n", + "13983 14 14 85.0 2022 9 13 \n", + "6514 15 15 69.0 2021 4 3 \n", + "16070 16 17 68.0 2023 1 10 \n", + "3605 14 14 86.0 2020 9 16 \n", + "519 19 13 76.0 2020 2 4 \n", + "\n", + " cold_pred_count \n", + "13983 1.965659 \n", + "6514 2.380998 \n", + "16070 2.059800 \n", + "3605 1.733452 \n", + "519 1.143561 " ] }, - "execution_count": 299, + "execution_count": 503, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "cold_X_test[\"cold_pred_count\"] = coldgam.predict(cold_X_test)\n", "cold_X_test.head()" ] }, { - "cell_type": "markdown", - "id": "ef6d8bf5-b7a5-4c43-bf42-a40d9088722e", - "metadata": {}, + "cell_type": "code", + "execution_count": 504, + "id": "89dd82f2-0ce7-4c63-b02a-b2b2615eedd2", + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ - "## Checking Significance By Grid Location" + "hot_pred = hotgam.predict(X_test)\n", + "cold_pred = coldgam.predict(X_test)\n", + "\n", + "X_test[\"hot_pred_count\"] = hot_pred\n", + "X_test[\"cold_pred_count\"] = cold_pred\n" ] }, { "cell_type": "code", - "execution_count": 300, - "id": "63bc0a6d-9a8e-4b39-8b94-a6401ad2c984", + "execution_count": 505, + "id": "8ba726ea-4543-4e18-9385-5be2969f2918", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Long_binLat_bin
81632218
76921415
170172018
114831515
190091615
\n", + "
" + ], + "text/plain": [ + " Long_bin Lat_bin\n", + "8163 22 18\n", + "7692 14 15\n", + "17017 20 18\n", + "11483 15 15\n", + "19009 16 15" + ] + }, + "execution_count": 505, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pred_diffs_df = X_test[[\"Long_bin\", \"Lat_bin\"]].drop_duplicates()\n", + "\n", + "\n", + "#pd.merge(cold_X_test[[\"Long_bin\", \"Lat_bin\"]], hot_X_test[[\"Long_bin\", \"Lat_bin\"]], on = [\"Long_bin\", \"Lat_bin\"]).drop_duplicates()\n", + "pred_diffs_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 506, + "id": "98592e41-db5d-44df-9eb3-3c3d8d9ce854", "metadata": { "tags": [] }, "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "16123aac3d804078823e67758c7b7003", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/56 [00:00\n", " Long_bin\n", " Lat_bin\n", - " TimeMaxTemp\n", - " YearCreate\n", - " MonthCreate\n", - " DayCreate\n", - " hot_pred_count\n", + " UStat\n", + " PVal\n", " \n", " \n", " \n", " \n", - " 1152\n", - " 7\n", - " 25\n", - " 92.0\n", - " 2020\n", - " 6\n", - " 26\n", - " 8.356750\n", + " 8163\n", + " 22\n", + " 18\n", + " 1030.0\n", + " 7.002970e-04\n", " \n", " \n", - " 3979\n", - " 6\n", - " 25\n", - " 93.0\n", - " 2021\n", - " 9\n", - " 5\n", - " 8.008118\n", + " 7692\n", + " 14\n", + " 15\n", + " 47327.0\n", + " 9.078248e-05\n", " \n", " \n", - " 1402\n", - " 9\n", - " 26\n", - " 94.0\n", - " 2020\n", - " 8\n", - " 4\n", - " 1.075572\n", + " 17017\n", + " 20\n", + " 18\n", + " 9921.0\n", + " 6.869739e-02\n", " \n", " \n", - " 3515\n", - " 7\n", - " 26\n", - " 94.0\n", - " 2021\n", - " 6\n", - " 25\n", - " 2.693191\n", + " 11483\n", + " 15\n", + " 15\n", + " 85713.0\n", + " 1.415530e-19\n", " \n", " \n", - " 3504\n", - " 6\n", - " 24\n", - " 92.0\n", - " 2021\n", - " 6\n", - " 24\n", - " 1.701212\n", + " 19009\n", + " 16\n", + " 15\n", + " 83784.0\n", + " 1.466448e-14\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Long_bin Lat_bin TimeMaxTemp YearCreate MonthCreate DayCreate \\\n", - "1152 7 25 92.0 2020 6 26 \n", - "3979 6 25 93.0 2021 9 5 \n", - "1402 9 26 94.0 2020 8 4 \n", - "3515 7 26 94.0 2021 6 25 \n", - "3504 6 24 92.0 2021 6 24 \n", - "\n", - " hot_pred_count \n", - "1152 8.356750 \n", - "3979 8.008118 \n", - "1402 1.075572 \n", - "3515 2.693191 \n", - "3504 1.701212 " + " Long_bin Lat_bin UStat PVal\n", + "8163 22 18 1030.0 7.002970e-04\n", + "7692 14 15 47327.0 9.078248e-05\n", + "17017 20 18 9921.0 6.869739e-02\n", + "11483 15 15 85713.0 1.415530e-19\n", + "19009 16 15 83784.0 1.466448e-14" ] }, - "execution_count": 300, + "execution_count": 506, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "hot_X_test[\"hot_pred_count\"] = hotgam.predict(hot_X_test)\n", - "hot_X_test.head()" + "from scipy.stats import mannwhitneyu\n", + "#pred_diffs_df = X_test[[\"Long_bin\", \"Lat_bin\"]]\n", + "def mann_whitney_bin(row):\n", + " target_long, target_lat = row[\"Long_bin\"], row[\"Lat_bin\"]\n", + " #cold_preds = cold_X_test[(cold_X_test[\"Long_bin\"] == target_long) & (cold_X_test[\"Lat_bin\"] == target_lat)][\"cold_pred_count\"]\n", + " #hot_preds = hot_X_test[(hot_X_test[\"Long_bin\"] == target_long) & (hot_X_test[\"Lat_bin\"] == target_lat)][\"hot_pred_count\"]\n", + " target_rows = X_test[(X_test[\"Long_bin\"] == target_long) & (X_test[\"Lat_bin\"] == target_lat)]\n", + " hot_preds = target_rows[\"hot_pred_count\"]\n", + " cold_preds = target_rows[\"cold_pred_count\"]\n", + " \n", + " ustat, pval = mannwhitneyu(hot_preds, cold_preds, alternative = 'greater')\n", + " return ustat, pval\n", + "\n", + "\n", + "pred_diffs_df[[\"UStat\", \"PVal\"]] = pred_diffs_df.progress_apply(mann_whitney_bin, axis = 1, result_type = 'expand')\n", + "\n", + "pred_diffs_df.head()" ] }, { "cell_type": "code", - "execution_count": 301, - "id": "49271c00-b694-4d40-9d6c-e682846246e9", + "execution_count": 507, + "id": "2e019694-20df-4fba-8a25-b11b946f7b34", "metadata": { "tags": [] }, @@ -7495,136 +7054,151 @@ " \n", " Long_bin\n", " Lat_bin\n", - " TimeMaxTemp\n", - " YearCreate\n", - " MonthCreate\n", - " DayCreate\n", - " cold_pred_count\n", + " UStat\n", + " PVal\n", + " Significant\n", " \n", " \n", " \n", " \n", - " 3150\n", - " 9\n", - " 27\n", - " 80.0\n", - " 2021\n", - " 5\n", - " 1\n", - " 1.716971\n", + " 8163\n", + " 22\n", + " 18\n", + " 1030.0\n", + " 7.002970e-04\n", + " True\n", " \n", " \n", - " 7223\n", - " 6\n", - " 26\n", - " 63.0\n", - " 2023\n", - " 1\n", - " 21\n", - " 1.719687\n", + " 7692\n", + " 14\n", + " 15\n", + " 47327.0\n", + " 9.078248e-05\n", + " True\n", " \n", " \n", - " 5036\n", - " 8\n", - " 26\n", - " 61.0\n", - " 2022\n", - " 2\n", + " 17017\n", + " 20\n", " 18\n", - " 1.372774\n", + " 9921.0\n", + " 6.869739e-02\n", + " False\n", " \n", " \n", - " 558\n", - " 9\n", - " 26\n", - " 87.0\n", - " 2020\n", - " 3\n", - " 26\n", - " 0.616582\n", + " 11483\n", + " 15\n", + " 15\n", + " 85713.0\n", + " 1.415530e-19\n", + " True\n", " \n", " \n", - " 2922\n", - " 6\n", - " 24\n", - " 84.0\n", - " 2021\n", - " 3\n", - " 30\n", - " 0.979560\n", + " 19009\n", + " 16\n", + " 15\n", + " 83784.0\n", + " 1.466448e-14\n", + " True\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Long_bin Lat_bin TimeMaxTemp YearCreate MonthCreate DayCreate \\\n", - "3150 9 27 80.0 2021 5 1 \n", - "7223 6 26 63.0 2023 1 21 \n", - "5036 8 26 61.0 2022 2 18 \n", - "558 9 26 87.0 2020 3 26 \n", - "2922 6 24 84.0 2021 3 30 \n", - "\n", - " cold_pred_count \n", - "3150 1.716971 \n", - "7223 1.719687 \n", - "5036 1.372774 \n", - "558 0.616582 \n", - "2922 0.979560 " + " Long_bin Lat_bin UStat PVal Significant\n", + "8163 22 18 1030.0 7.002970e-04 True\n", + "7692 14 15 47327.0 9.078248e-05 True\n", + "17017 20 18 9921.0 6.869739e-02 False\n", + "11483 15 15 85713.0 1.415530e-19 True\n", + "19009 16 15 83784.0 1.466448e-14 True" ] }, - "execution_count": 301, + "execution_count": 507, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "cold_X_test[\"cold_pred_count\"] = hotgam.predict(cold_X_test)\n", - "cold_X_test.head()" + "pred_diffs_df[\"Significant\"] = (pred_diffs_df[\"PVal\"] < 0.05)\n", + "pred_diffs_df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "b2b87113-9e2a-48ce-88ec-319c7d28040b", + "metadata": { + "tags": [] + }, + "source": [ + "## Plotting Significance Grids" ] }, { "cell_type": "code", - "execution_count": 312, - "id": "98592e41-db5d-44df-9eb3-3c3d8d9ce854", + "execution_count": 508, + "id": "89b9f567-a1f9-4865-b7bc-4d7a1ae71c68", "metadata": { "tags": [] }, "outputs": [ { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8e429ae6df824441b6c8c8f8da92f883", - "version_major": 2, - "version_minor": 0 - }, "text/plain": [ - " 0%| | 0/12 [00:00Lat_bin\n", " UStat\n", " PVal\n", + " Significant\n", + " Long_1\n", + " Long_2\n", + " Lat_1\n", + " Lat_2\n", " \n", " \n", " \n", " \n", - " 0\n", - " 6\n", - " 26\n", - " 971.0\n", - " 6.073575e-06\n", - " \n", - " \n", - " 1176\n", - " 8\n", - " 26\n", - " 11119.0\n", - " 1.116304e-05\n", - " \n", - " \n", - " 18086\n", - " 9\n", - " 26\n", - " 2337.0\n", - " 3.659317e-04\n", - " \n", - " \n", - " 21479\n", - " 6\n", - " 24\n", - " 9816.0\n", - " 3.731732e-07\n", - " \n", - " \n", - " 35665\n", - " 6\n", - " 25\n", - " 15433.0\n", - " 3.780296e-09\n", - " \n", - " \n", - " 57665\n", - " 7\n", - " 25\n", - " 12932.0\n", - " 3.795214e-07\n", - " \n", - " \n", - " 76772\n", - " 7\n", - " 24\n", - " 8061.0\n", - " 3.528876e-07\n", - " \n", - " \n", - " 88242\n", - " 7\n", - " 26\n", - " 6362.0\n", - " 9.801382e-05\n", + " 8163\n", + " 22\n", + " 18\n", + " 1030.0\n", + " 7.002970e-04\n", + " True\n", + " -89.937356\n", + " -89.910945\n", + " 30.006838\n", + " 30.032197\n", " \n", " \n", - " 97890\n", - " 8\n", - " 24\n", - " 2308.0\n", - " 7.015656e-03\n", + " 7692\n", + " 14\n", + " 15\n", + " 47327.0\n", + " 9.078248e-05\n", + " True\n", + " -90.148640\n", + " -90.122230\n", + " 29.930761\n", + " 29.956120\n", " \n", " \n", - " 101494\n", - " 8\n", - " 25\n", - " 92.0\n", - " 2.003002e-02\n", + " 17017\n", + " 20\n", + " 18\n", + " 9921.0\n", + " 6.869739e-02\n", + " False\n", + " -89.990177\n", + " -89.963766\n", + " 30.006838\n", + " 30.032197\n", " \n", " \n", - " 101614\n", - " 10\n", - " 26\n", - " 1.0\n", - " 6.666667e-01\n", + " 11483\n", + " 15\n", + " 15\n", + " 85713.0\n", + " 1.415530e-19\n", + " True\n", + " -90.122230\n", + " -90.095819\n", + " 29.930761\n", + " 29.956120\n", " \n", " \n", - " 101616\n", - " 10\n", - " 27\n", - " 6.0\n", - " 1.000000e-01\n", + " 19009\n", + " 16\n", + " 15\n", + " 83784.0\n", + " 1.466448e-14\n", + " True\n", + " -90.095819\n", + " -90.069408\n", + " 29.930761\n", + " 29.956120\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Long_bin Lat_bin UStat PVal\n", - "0 6 26 971.0 6.073575e-06\n", - "1176 8 26 11119.0 1.116304e-05\n", - "18086 9 26 2337.0 3.659317e-04\n", - "21479 6 24 9816.0 3.731732e-07\n", - "35665 6 25 15433.0 3.780296e-09\n", - "57665 7 25 12932.0 3.795214e-07\n", - "76772 7 24 8061.0 3.528876e-07\n", - "88242 7 26 6362.0 9.801382e-05\n", - "97890 8 24 2308.0 7.015656e-03\n", - "101494 8 25 92.0 2.003002e-02\n", - "101614 10 26 1.0 6.666667e-01\n", - "101616 10 27 6.0 1.000000e-01" + " Long_bin Lat_bin UStat PVal Significant Long_1 \\\n", + "8163 22 18 1030.0 7.002970e-04 True -89.937356 \n", + "7692 14 15 47327.0 9.078248e-05 True -90.148640 \n", + "17017 20 18 9921.0 6.869739e-02 False -89.990177 \n", + "11483 15 15 85713.0 1.415530e-19 True -90.122230 \n", + "19009 16 15 83784.0 1.466448e-14 True -90.095819 \n", + "\n", + " Long_2 Lat_1 Lat_2 \n", + "8163 -89.910945 30.006838 30.032197 \n", + "7692 -90.122230 29.930761 29.956120 \n", + "17017 -89.963766 30.006838 30.032197 \n", + "11483 -90.095819 29.930761 29.956120 \n", + "19009 -90.069408 29.930761 29.956120 " + ] + }, + "execution_count": 511, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pred_diffs_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 512, + "id": "138e93e7-576f-49e2-975d-d5474d3bc9a3", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([7.11534808e-03, 3.26939882e-01, 6.85353091e-02, 5.92114398e-01,\n", + " 5.78788664e-01, 3.10864722e-03, 4.45158282e-02, 4.16835052e-01,\n", + " 4.24641210e-02, 9.40469406e-02, 1.60910488e-01, 6.66666667e-01,\n", + " 2.46667703e-01, 3.01538780e-02, 1.60945029e-01, 4.15294544e-01,\n", + " 1.48883478e-01, 2.58501287e-01, 1.48206483e-01, 3.74212044e-02,\n", + " 2.61057285e-02, 3.31589037e-03, 1.13569245e-02, 1.84860888e-01,\n", + " 1.34224479e-02, 4.39700879e-02, 2.41783673e-04, 1.62181580e-01,\n", + " 1.46797230e-01, 1.15600228e-01, 3.10864722e-04, 2.55558434e-01,\n", + " 6.81691795e-02, 1.87485968e-02, 8.29041673e-02, 9.92625598e-02,\n", + " 0.00000000e+00, 4.06818300e-02, 1.16746973e-03, 1.26418320e-03,\n", + " 8.40716370e-03, 1.77538297e-03, 1.76018514e-02, 4.14486296e-05,\n", + " 1.10529679e-04, 2.21059358e-04, 6.90810493e-06, 5.52648395e-05,\n", + " 1.38162099e-05, 2.07243148e-05])" + ] + }, + "execution_count": 512, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pred_diffs_df[\"hue\"] = (pred_diffs_df[\"UStat\"]-pred_diffs_df[\"UStat\"].min() * 1.5) / ((pred_diffs_df[\"UStat\"].max() * 1.5) - pred_diffs_df[\"UStat\"].min() * 1.5)\n", + "\n", + "\n", + "pred_diffs_df[\"hue\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 513, + "id": "bd0c429f-2d1c-4eb7-9143-fca6712a6804", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ], + "text/plain": [ + "" ] }, - "execution_count": 314, + "execution_count": 513, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "pred_diffs_df" + "significance_map = folium.Map(location=[30, -90], zoom_start=10.5)\n", + "\n", + "\n", + "\n", + "for i, row in pred_diffs_df.iterrows():\n", + "\n", + " folium.Rectangle(\n", + " bounds = [[row[\"Lat_1\"], row[\"Long_1\"]],[row[\"Lat_2\"], row[\"Long_2\"]]],\n", + " color = 'red',\n", + " fill_opacity = row['hue'],\n", + " fill = True,\n", + " weight = 0.5,\n", + " popup = f\"U: {row['UStat']}, p: {row['PVal']}\",\n", + " ).add_to(significance_map)\n", + "\n", + "\n", + "significance_map" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f2230054-4f74-47eb-9033-c3b01f158d12", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41500227-ee29-4990-8252-e5243c7750dc", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {