Created
September 24, 2024 16:55
-
-
Save calvinmccarter/07afe42774e3b793b8589e1884d8d323 to your computer and use it in GitHub Desktop.
m5 replication
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import sys\n", | |
"sys.path.append(\"../src\")\n", | |
"# autoreload\n", | |
"import lightgbm as lgb\n", | |
"\n", | |
"#from testbed.models.quantile_regression import QuantileRegression\n", | |
"from testbed.models.treeffuser import Treeffuser\n", | |
"import pandas as pd\n", | |
"import numpy as np\n", | |
"\n", | |
"from pathlib import Path\n", | |
"from tqdm import tqdm\n", | |
"import pickle as pkl\n", | |
"\n", | |
"\n", | |
"\n", | |
"#from testbed.models.ngboost import NGBoostGaussian, NGBoostMixtureGaussian, NGBoostPoisson\n", | |
"from testbed.models.base_model import BayesOptProbabilisticModel\n", | |
"\n", | |
"\n", | |
"from functools import partial\n", | |
"\n", | |
"from jaxtyping import Float, Array\n", | |
"from typing import List, Callable\n", | |
"\n", | |
"import seaborn as sns\n", | |
"import matplotlib.pyplot as plt\n", | |
"from testbed.metrics.log_likelihood import LogLikelihoodFromSamplesMetric\n", | |
"from testbed.metrics.crps import CRPS\n", | |
"\n", | |
"\n", | |
"path = \"../src/testbed/data/m5\"\n", | |
"\n", | |
"# load autoreload extension\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# These are config variables\n", | |
"\n", | |
"PROCESS_FROM_SCRATCH = True\n", | |
"USE_SUBSET = True\n", | |
"CONTEXT_LENGTH = 20\n", | |
"RUN_DEPRECATED = False" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"\n", | |
"columns of sell_prices_df:\n", | |
"store_id\n", | |
"item_id\n", | |
"wm_yr_wk\n", | |
"sell_price\n", | |
"\n", | |
"columns of sales_train_validation_df:\n", | |
"id\n", | |
"item_id\n", | |
"dept_id\n", | |
"cat_id\n", | |
"store_id\n", | |
"state_id\n", | |
"\n", | |
"columns of calendar_df:\n", | |
"date\n", | |
"wm_yr_wk\n", | |
"weekday\n", | |
"wday\n", | |
"month\n", | |
"year\n", | |
"d\n", | |
"event_name_1\n", | |
"event_type_1\n", | |
"event_name_2\n", | |
"event_type_2\n", | |
"snap_CA\n", | |
"snap_TX\n", | |
"snap_WI\n", | |
"number of zeros in sales_train_validation_df: 39777094\n" | |
] | |
} | |
], | |
"source": [ | |
"# READ IN DATA\n", | |
"\n", | |
"sell_prices_df = pd.read_csv(Path(path) / \"sell_prices.csv\")\n", | |
"sales_train_validation_df = pd.read_csv(Path(path) / \"sales_train_validation.csv\")\n", | |
"calendar_df = pd.read_csv(Path(path) / \"calendar.csv\")\n", | |
"\n", | |
"print(\"\\ncolumns of sell_prices_df:\")\n", | |
"[print(col) for col in sell_prices_df.columns]\n", | |
"print(\"\\ncolumns of sales_train_validation_df:\")\n", | |
"[print(col) for col in sales_train_validation_df.columns if not col.startswith(\"d_\")]\n", | |
"print(\"\\ncolumns of calendar_df:\") # ommit d_1, d_2, ..., d_1913\n", | |
"[print(col) for col in calendar_df.columns if not col.startswith(\"d_\")]\n", | |
"\n", | |
"\"\"\n", | |
"\n", | |
"# print number of zeros\n", | |
"print(\"number of zeros in sales_train_validation_df: \", (sales_train_validation_df == 0).sum().sum())" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"number of zeros in sales_train_validation_df: 39777094 out of 58327370 entries\n", | |
"percentage of zeros in sales_train_validation_df: 68.20%\n" | |
] | |
} | |
], | |
"source": [ | |
"#num_zeros = sales_train_validation_df.isin([0]).sum().sum()\n", | |
"#total_entries = sales_train_validation_df.\n", | |
"\n", | |
"items_sold_cols = sales_train_validation_df.columns[sales_train_validation_df.columns.str.startswith(\"d_\")]\n", | |
"num_zeros = (sales_train_validation_df[items_sold_cols] == 0).sum().sum()\n", | |
"total_entries = sales_train_validation_df[items_sold_cols].shape[0] * sales_train_validation_df[items_sold_cols].shape[1]\n", | |
"\n", | |
"print(f\"number of zeros in sales_train_validation_df: {num_zeros} out of {total_entries} entries\")\n", | |
"print(f\"percentage of zeros in sales_train_validation_df: {num_zeros / total_entries * 100:.2f}%\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# add explicit columns for the day, month, year for ease of processing\n", | |
"calendar_df[\"date\"] = pd.to_datetime(calendar_df[\"date\"])\n", | |
"calendar_df[\"day\"] = calendar_df[\"date\"].dt.day\n", | |
"calendar_df[\"month\"] = calendar_df[\"date\"].dt.month\n", | |
"calendar_df[\"year\"] = calendar_df[\"date\"].dt.year\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Brief snapshots of the dataset" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>date</th>\n", | |
" <th>wm_yr_wk</th>\n", | |
" <th>weekday</th>\n", | |
" <th>wday</th>\n", | |
" <th>month</th>\n", | |
" <th>year</th>\n", | |
" <th>d</th>\n", | |
" <th>event_name_1</th>\n", | |
" <th>event_type_1</th>\n", | |
" <th>event_name_2</th>\n", | |
" <th>event_type_2</th>\n", | |
" <th>snap_CA</th>\n", | |
" <th>snap_TX</th>\n", | |
" <th>snap_WI</th>\n", | |
" <th>day</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2011-01-29</td>\n", | |
" <td>11101</td>\n", | |
" <td>Saturday</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>2011</td>\n", | |
" <td>d_1</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>29</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2011-01-30</td>\n", | |
" <td>11101</td>\n", | |
" <td>Sunday</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>2011</td>\n", | |
" <td>d_2</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>2011-01-31</td>\n", | |
" <td>11101</td>\n", | |
" <td>Monday</td>\n", | |
" <td>3</td>\n", | |
" <td>1</td>\n", | |
" <td>2011</td>\n", | |
" <td>d_3</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>31</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2011-02-01</td>\n", | |
" <td>11101</td>\n", | |
" <td>Tuesday</td>\n", | |
" <td>4</td>\n", | |
" <td>2</td>\n", | |
" <td>2011</td>\n", | |
" <td>d_4</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2011-02-02</td>\n", | |
" <td>11101</td>\n", | |
" <td>Wednesday</td>\n", | |
" <td>5</td>\n", | |
" <td>2</td>\n", | |
" <td>2011</td>\n", | |
" <td>d_5</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" date wm_yr_wk weekday wday month year d event_name_1 \\\n", | |
"0 2011-01-29 11101 Saturday 1 1 2011 d_1 NaN \n", | |
"1 2011-01-30 11101 Sunday 2 1 2011 d_2 NaN \n", | |
"2 2011-01-31 11101 Monday 3 1 2011 d_3 NaN \n", | |
"3 2011-02-01 11101 Tuesday 4 2 2011 d_4 NaN \n", | |
"4 2011-02-02 11101 Wednesday 5 2 2011 d_5 NaN \n", | |
"\n", | |
" event_type_1 event_name_2 event_type_2 snap_CA snap_TX snap_WI day \n", | |
"0 NaN NaN NaN 0 0 0 29 \n", | |
"1 NaN NaN NaN 0 0 0 30 \n", | |
"2 NaN NaN NaN 0 0 0 31 \n", | |
"3 NaN NaN NaN 1 1 0 1 \n", | |
"4 NaN NaN NaN 1 0 1 2 " | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"calendar_df.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>id</th>\n", | |
" <th>item_id</th>\n", | |
" <th>dept_id</th>\n", | |
" <th>cat_id</th>\n", | |
" <th>store_id</th>\n", | |
" <th>state_id</th>\n", | |
" <th>d_1</th>\n", | |
" <th>d_2</th>\n", | |
" <th>d_3</th>\n", | |
" <th>d_4</th>\n", | |
" <th>...</th>\n", | |
" <th>d_1904</th>\n", | |
" <th>d_1905</th>\n", | |
" <th>d_1906</th>\n", | |
" <th>d_1907</th>\n", | |
" <th>d_1908</th>\n", | |
" <th>d_1909</th>\n", | |
" <th>d_1910</th>\n", | |
" <th>d_1911</th>\n", | |
" <th>d_1912</th>\n", | |
" <th>d_1913</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>HOBBIES_1_001_CA_1_validation</td>\n", | |
" <td>HOBBIES_1_001</td>\n", | |
" <td>HOBBIES_1</td>\n", | |
" <td>HOBBIES</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>CA</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>HOBBIES_1_002_CA_1_validation</td>\n", | |
" <td>HOBBIES_1_002</td>\n", | |
" <td>HOBBIES_1</td>\n", | |
" <td>HOBBIES</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>CA</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>HOBBIES_1_003_CA_1_validation</td>\n", | |
" <td>HOBBIES_1_003</td>\n", | |
" <td>HOBBIES_1</td>\n", | |
" <td>HOBBIES</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>CA</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>HOBBIES_1_004_CA_1_validation</td>\n", | |
" <td>HOBBIES_1_004</td>\n", | |
" <td>HOBBIES_1</td>\n", | |
" <td>HOBBIES</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>CA</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>4</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>7</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>HOBBIES_1_005_CA_1_validation</td>\n", | |
" <td>HOBBIES_1_005</td>\n", | |
" <td>HOBBIES_1</td>\n", | |
" <td>HOBBIES</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>CA</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>4</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>5 rows × 1919 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" id item_id dept_id cat_id store_id \\\n", | |
"0 HOBBIES_1_001_CA_1_validation HOBBIES_1_001 HOBBIES_1 HOBBIES CA_1 \n", | |
"1 HOBBIES_1_002_CA_1_validation HOBBIES_1_002 HOBBIES_1 HOBBIES CA_1 \n", | |
"2 HOBBIES_1_003_CA_1_validation HOBBIES_1_003 HOBBIES_1 HOBBIES CA_1 \n", | |
"3 HOBBIES_1_004_CA_1_validation HOBBIES_1_004 HOBBIES_1 HOBBIES CA_1 \n", | |
"4 HOBBIES_1_005_CA_1_validation HOBBIES_1_005 HOBBIES_1 HOBBIES CA_1 \n", | |
"\n", | |
" state_id d_1 d_2 d_3 d_4 ... d_1904 d_1905 d_1906 d_1907 d_1908 \\\n", | |
"0 CA 0 0 0 0 ... 1 3 0 1 1 \n", | |
"1 CA 0 0 0 0 ... 0 0 0 0 0 \n", | |
"2 CA 0 0 0 0 ... 2 1 2 1 1 \n", | |
"3 CA 0 0 0 0 ... 1 0 5 4 1 \n", | |
"4 CA 0 0 0 0 ... 2 1 1 0 1 \n", | |
"\n", | |
" d_1909 d_1910 d_1911 d_1912 d_1913 \n", | |
"0 1 3 0 1 1 \n", | |
"1 1 0 0 0 0 \n", | |
"2 1 0 1 1 1 \n", | |
"3 0 1 3 7 2 \n", | |
"4 1 2 2 2 4 \n", | |
"\n", | |
"[5 rows x 1919 columns]" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sales_train_validation_df.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>store_id</th>\n", | |
" <th>item_id</th>\n", | |
" <th>wm_yr_wk</th>\n", | |
" <th>sell_price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>CA_1</td>\n", | |
" <td>HOBBIES_1_001</td>\n", | |
" <td>11325</td>\n", | |
" <td>9.58</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>CA_1</td>\n", | |
" <td>HOBBIES_1_001</td>\n", | |
" <td>11326</td>\n", | |
" <td>9.58</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>CA_1</td>\n", | |
" <td>HOBBIES_1_001</td>\n", | |
" <td>11327</td>\n", | |
" <td>8.26</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>CA_1</td>\n", | |
" <td>HOBBIES_1_001</td>\n", | |
" <td>11328</td>\n", | |
" <td>8.26</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>CA_1</td>\n", | |
" <td>HOBBIES_1_001</td>\n", | |
" <td>11329</td>\n", | |
" <td>8.26</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" store_id item_id wm_yr_wk sell_price\n", | |
"0 CA_1 HOBBIES_1_001 11325 9.58\n", | |
"1 CA_1 HOBBIES_1_001 11326 9.58\n", | |
"2 CA_1 HOBBIES_1_001 11327 8.26\n", | |
"3 CA_1 HOBBIES_1_001 11328 8.26\n", | |
"4 CA_1 HOBBIES_1_001 11329 8.26" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sell_prices_df.head()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Process the data" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"TOTAL_ITEMS = 5000\n", | |
"# select a random subset of items\n", | |
"if USE_SUBSET:\n", | |
" np.random.seed(0)\n", | |
" unique_ids = sales_train_validation_df[\"id\"].unique()\n", | |
" ids = np.random.choice(sales_train_validation_df[\"id\"].unique(), TOTAL_ITEMS, replace=False)\n", | |
" sales_train_validation_df_sub = sales_train_validation_df[sales_train_validation_df[\"id\"].isin(ids)]\n", | |
" item_ids = sales_train_validation_df_sub[\"item_id\"].unique()\n", | |
" sell_prices_df_sub = sell_prices_df[sell_prices_df[\"item_id\"].isin(item_ids)]\n", | |
" calendar_df_sub = calendar_df\n", | |
"\n", | |
"\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"columns_sales_train_validation.head)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The strategy for processing the data is going to be the following. 1) We are going to have X and y where y is the next days sales for a given product. 3) X is made up of 10 previous prices, day of the week, + event types, cat_id, store_id, state_id" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def proc_train_test(sales_train_validation_df: pd.DataFrame, calendar_df: pd.DataFrame, sell_prices_df: pd.DataFrame, context_length: int, test_percentage: float, percentage_omittied: int = 0): #type annotation too long\n", | |
" \"\"\"\n", | |
" This function processes the data and returns the training and test data in two ways:\n", | |
" - undifferentiated: a list of all training and test data (X_train, y_train, X_test, y_test)\n", | |
" - differentiated: a list of training and test data for each product (X_train_prod, y_train_prod, X_test_prod, y_test_prod)\n", | |
" where X_train_prod[i] contains a list of all X_train values for the product i with similar grouping for y_train_prod and test\n", | |
"\n", | |
" This assumes from the dataframes that\n", | |
" - sales_train_validation_df:\n", | |
" - has columns with the format d_1, d_2, ...\n", | |
" - has columns item_id and store_id\n", | |
" - calendar_df:\n", | |
" - wday, month, event_name_1, event_name_2\n", | |
" - sell_prices_df:\n", | |
" - item_id, store_id, sell_price\n", | |
"\n", | |
" - percentage_omittied: percentage of the data to be omitted from the training data and the test data\n", | |
" (randomly selected)\n", | |
"\n", | |
" Returns:\n", | |
" - undifferentiated: Tuple of X_train, y_train, X_test, y_test\n", | |
" - differentiated: Tuple of X_train_prod, y_train_prod, X_test_prod, y_test_prod\n", | |
" \"\"\"\n", | |
" np.random.seed(0)\n", | |
" # First we need to get the training data\n", | |
" # We will use the first 1913 days as training data and the next\n", | |
"\n", | |
" X_train = []\n", | |
" y_train = []\n", | |
"\n", | |
" X_test = []\n", | |
" y_test = []\n", | |
"\n", | |
" # We will also return a second grouping of lists where X_train_prod[i] contains a\n", | |
" # a list of all X_train values for the product i with similar grouping for y_train_prod and test\n", | |
" X_train_prod = []\n", | |
" y_train_prod = []\n", | |
" X_test_prod = []\n", | |
" y_test_prod = []\n", | |
"\n", | |
"\n", | |
" # get all days that start with d_ and look for the maximum\n", | |
" total_days = max([int(x.split(\"_\")[1]) for x in sales_train_validation_df.columns if \"d_\" in x])\n", | |
" train_days = int(total_days * (1 - test_percentage))\n", | |
" print(\"train days\", train_days)\n", | |
" print(\"test days\", total_days - train_days)\n", | |
" print(\"total days\", total_days)\n", | |
"\n", | |
" # Precompute the required data\n", | |
" calendar_df_dict = calendar_df.set_index(\"d\").to_dict(orient=\"index\")\n", | |
" sell_prices_dict = sell_prices_df.groupby([\"item_id\", \"store_id\"])[\"sell_price\"].first().to_dict()\n", | |
"\n", | |
" pbar = tqdm(total=len(sales_train_validation_df))\n", | |
" for _, row in sales_train_validation_df.iterrows():\n", | |
" item_id = row[\"item_id\"]\n", | |
" store_id = row[\"store_id\"]\n", | |
"\n", | |
" X_train_prod.append([])\n", | |
" y_train_prod.append([])\n", | |
" X_test_prod.append([])\n", | |
" y_test_prod.append([])\n", | |
"\n", | |
" pbar.update(1)\n", | |
"\n", | |
" valid_size = int((train_days - context_length) * (1 - percentage_omittied))\n", | |
" valid_js = np.random.choice(range(1, train_days - context_length), valid_size, replace=False)\n", | |
"\n", | |
" valid_js = list(valid_js) + list(range(train_days, total_days - context_length))\n", | |
"\n", | |
" for j in valid_js:\n", | |
" x = []\n", | |
"\n", | |
" # Add sales values for the previous context_length days\n", | |
" x.extend(row[f\"d_{j+k}\"] for k in range(context_length))\n", | |
"\n", | |
" # Add additional features\n", | |
" current_day = f\"d_{j+context_length}\"\n", | |
" calendar_data = calendar_df_dict[current_day]\n", | |
" x.extend([\n", | |
" calendar_data[\"wday\"],\n", | |
" calendar_data[\"month\"],\n", | |
" store_id,\n", | |
" calendar_data[\"event_name_1\"],\n", | |
" calendar_data[\"event_name_2\"],\n", | |
" sell_prices_dict[(item_id, store_id)],\n", | |
" item_id\n", | |
" ])\n", | |
"\n", | |
" if j < train_days:\n", | |
" X_train.append(x)\n", | |
" y_train.append(row[current_day])\n", | |
" X_train_prod[-1].append(x)\n", | |
" y_train_prod[-1].append(row[current_day])\n", | |
"\n", | |
" else:\n", | |
" X_test.append(x)\n", | |
" y_test.append(row[current_day])\n", | |
" X_train_prod[-1].append(x)\n", | |
" y_train_prod[-1].append(row[current_day])\n", | |
"\n", | |
" undifferentiated = (X_train, y_train, X_test, y_test)\n", | |
" differentiated = (X_train_prod, y_train_prod, X_test_prod, y_test_prod)\n", | |
" return undifferentiated, differentiated" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"train days 1874\n", | |
"test days 39\n", | |
"total days 1913\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 5000/5000 [00:14<00:00, 355.28it/s]\n" | |
] | |
} | |
], | |
"source": [ | |
"if PROCESS_FROM_SCRATCH:\n", | |
" undifferentiated, differentiated = proc_train_test(sales_train_validation_df_sub, calendar_df, sell_prices_df_sub, CONTEXT_LENGTH, 0.02, 0.99)\n", | |
" X_train, y_train, X_test, y_test = undifferentiated\n", | |
" X_train_prod, y_train_prod, X_test_prod, y_test_prod = differentiated\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(90000, 90000, 95000, 95000)" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"len(X_train), len(y_train), len(X_test), len(y_test)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"COL_NAMES = [\n", | |
" f\"day_{i}\" for i in range(1, CONTEXT_LENGTH+1)\n", | |
"] + [\"wday\", \"month\", \"store_id\", \"event_name_1\", \"event_name_2\", \"sell_price\", \"item_id\"]\n", | |
"\n", | |
"CAT_COLS = [\"store_id\", \"event_name_1\", \"event_name_2\", \"item_id\", \"wday\", \"month\"]\n", | |
"CAT_COLS_IDX = [COL_NAMES.index(col) for col in CAT_COLS]\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"X_train_df = pd.DataFrame(X_train)\n", | |
"X_test_df = pd.DataFrame(X_test)\n", | |
"y_test_df = pd.DataFrame(y_test)\n", | |
"y_train_df = pd.DataFrame(y_train)\n", | |
"\n", | |
"X_train_df.columns = COL_NAMES\n", | |
"X_test_df.columns = COL_NAMES" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>day_1</th>\n", | |
" <th>day_2</th>\n", | |
" <th>day_3</th>\n", | |
" <th>day_4</th>\n", | |
" <th>day_5</th>\n", | |
" <th>day_6</th>\n", | |
" <th>day_7</th>\n", | |
" <th>day_8</th>\n", | |
" <th>day_9</th>\n", | |
" <th>day_10</th>\n", | |
" <th>...</th>\n", | |
" <th>day_18</th>\n", | |
" <th>day_19</th>\n", | |
" <th>day_20</th>\n", | |
" <th>wday</th>\n", | |
" <th>month</th>\n", | |
" <th>store_id</th>\n", | |
" <th>event_name_1</th>\n", | |
" <th>event_name_2</th>\n", | |
" <th>sell_price</th>\n", | |
" <th>item_id</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>6</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>2.98</td>\n", | |
" <td>HOBBIES_1_005</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>3</td>\n", | |
" <td>3</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>3</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>4</td>\n", | |
" <td>10</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>EidAlAdha</td>\n", | |
" <td>NaN</td>\n", | |
" <td>2.98</td>\n", | |
" <td>HOBBIES_1_005</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>...</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>SuperBowl</td>\n", | |
" <td>NaN</td>\n", | |
" <td>2.98</td>\n", | |
" <td>HOBBIES_1_005</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>...</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>2.98</td>\n", | |
" <td>HOBBIES_1_005</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>3</td>\n", | |
" <td>CA_1</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>2.98</td>\n", | |
" <td>HOBBIES_1_005</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>89995</th>\n", | |
" <td>5</td>\n", | |
" <td>5</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>3</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>4</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>1</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>5</td>\n", | |
" <td>WI_3</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>1.00</td>\n", | |
" <td>FOODS_3_827</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>89996</th>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>WI_3</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>1.00</td>\n", | |
" <td>FOODS_3_827</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>89997</th>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>1</td>\n", | |
" <td>WI_3</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>1.00</td>\n", | |
" <td>FOODS_3_827</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>89998</th>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>8</td>\n", | |
" <td>WI_3</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>1.00</td>\n", | |
" <td>FOODS_3_827</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>89999</th>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>11</td>\n", | |
" <td>WI_3</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>1.00</td>\n", | |
" <td>FOODS_3_827</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>90000 rows × 27 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" day_1 day_2 day_3 day_4 day_5 day_6 day_7 day_8 day_9 day_10 \\\n", | |
"0 2 0 0 4 1 0 6 0 0 0 \n", | |
"1 3 3 1 1 1 0 0 3 0 0 \n", | |
"2 0 0 1 2 1 1 1 1 1 1 \n", | |
"3 0 2 0 1 3 2 1 1 2 2 \n", | |
"4 0 0 0 0 0 0 0 0 0 0 \n", | |
"... ... ... ... ... ... ... ... ... ... ... \n", | |
"89995 5 5 0 2 3 0 1 4 2 0 \n", | |
"89996 0 0 0 0 0 0 0 0 0 0 \n", | |
"89997 0 0 0 0 0 0 0 0 0 0 \n", | |
"89998 0 0 0 0 0 0 0 0 0 0 \n", | |
"89999 0 0 0 0 0 0 0 0 0 0 \n", | |
"\n", | |
" ... day_18 day_19 day_20 wday month store_id event_name_1 \\\n", | |
"0 ... 1 2 0 2 2 CA_1 NaN \n", | |
"1 ... 3 0 1 4 10 CA_1 EidAlAdha \n", | |
"2 ... 0 4 1 2 2 CA_1 SuperBowl \n", | |
"3 ... 2 0 2 4 4 CA_1 NaN \n", | |
"4 ... 0 0 0 4 3 CA_1 NaN \n", | |
"... ... ... ... ... ... ... ... ... \n", | |
"89995 ... 1 9 0 2 5 WI_3 NaN \n", | |
"89996 ... 0 0 0 1 3 WI_3 NaN \n", | |
"89997 ... 0 0 0 4 1 WI_3 NaN \n", | |
"89998 ... 0 0 0 2 8 WI_3 NaN \n", | |
"89999 ... 0 0 0 2 11 WI_3 NaN \n", | |
"\n", | |
" event_name_2 sell_price item_id \n", | |
"0 NaN 2.98 HOBBIES_1_005 \n", | |
"1 NaN 2.98 HOBBIES_1_005 \n", | |
"2 NaN 2.98 HOBBIES_1_005 \n", | |
"3 NaN 2.98 HOBBIES_1_005 \n", | |
"4 NaN 2.98 HOBBIES_1_005 \n", | |
"... ... ... ... \n", | |
"89995 NaN 1.00 FOODS_3_827 \n", | |
"89996 NaN 1.00 FOODS_3_827 \n", | |
"89997 NaN 1.00 FOODS_3_827 \n", | |
"89998 NaN 1.00 FOODS_3_827 \n", | |
"89999 NaN 1.00 FOODS_3_827 \n", | |
"\n", | |
"[90000 rows x 27 columns]" | |
] | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"\n", | |
"X_train_df" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>day_1</th>\n", | |
" <th>day_2</th>\n", | |
" <th>day_3</th>\n", | |
" <th>day_4</th>\n", | |
" <th>day_5</th>\n", | |
" <th>day_6</th>\n", | |
" <th>day_7</th>\n", | |
" <th>day_8</th>\n", | |
" <th>day_9</th>\n", | |
" <th>day_10</th>\n", | |
" <th>...</th>\n", | |
" <th>day_18</th>\n", | |
" <th>day_19</th>\n", | |
" <th>day_20</th>\n", | |
" <th>wday</th>\n", | |
" <th>month</th>\n", | |
" <th>store_id</th>\n", | |
" <th>event_name_1</th>\n", | |
" <th>event_name_2</th>\n", | |
" <th>sell_price</th>\n", | |
" <th>item_id</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>6</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>30</td>\n", | |
" <td>4</td>\n", | |
" <td>2.98</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>3</td>\n", | |
" <td>3</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>3</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>6</td>\n", | |
" <td>4</td>\n", | |
" <td>2.98</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>...</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>26</td>\n", | |
" <td>4</td>\n", | |
" <td>2.98</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>...</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>3</td>\n", | |
" <td>3</td>\n", | |
" <td>0</td>\n", | |
" <td>30</td>\n", | |
" <td>4</td>\n", | |
" <td>2.98</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>...</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>30</td>\n", | |
" <td>4</td>\n", | |
" <td>2.98</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>5 rows × 27 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" day_1 day_2 day_3 day_4 day_5 day_6 day_7 day_8 day_9 day_10 ... \\\n", | |
"0 2 0 0 4 1 0 6 0 0 0 ... \n", | |
"1 3 3 1 1 1 0 0 3 0 0 ... \n", | |
"2 0 0 1 2 1 1 1 1 1 1 ... \n", | |
"3 0 2 0 1 3 2 1 1 2 2 ... \n", | |
"4 0 0 0 0 0 0 0 0 0 0 ... \n", | |
"\n", | |
" day_18 day_19 day_20 wday month store_id event_name_1 event_name_2 \\\n", | |
"0 1 2 0 1 1 0 30 4 \n", | |
"1 3 0 1 3 9 0 6 4 \n", | |
"2 0 4 1 1 1 0 26 4 \n", | |
"3 2 0 2 3 3 0 30 4 \n", | |
"4 0 0 0 3 2 0 30 4 \n", | |
"\n", | |
" sell_price item_id \n", | |
"0 2.98 0 \n", | |
"1 2.98 0 \n", | |
"2 2.98 0 \n", | |
"3 2.98 0 \n", | |
"4 2.98 0 \n", | |
"\n", | |
"[5 rows x 27 columns]" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Encode the categorical columns as numbers\n", | |
"from sklearn.preprocessing import LabelEncoder\n", | |
"# Get only label of item_id\n", | |
"X_train_df[\"item_id\"] = X_train_df[\"item_id\"].apply(lambda x: x.split(\"_\")[1])\n", | |
"X_test_df[\"item_id\"] = X_test_df[\"item_id\"].apply(lambda x: x.split(\"_\")[1])\n", | |
"\n", | |
"\n", | |
"label_encoders = {}\n", | |
"for col in CAT_COLS:\n", | |
" le = LabelEncoder()\n", | |
" X_train_df[col] = le.fit_transform(X_train_df[col])\n", | |
" X_test_df[col] = le.transform(X_test_df[col])\n", | |
" label_encoders[col] = le\n", | |
"\n", | |
"\n", | |
"X_train_prod_processed = []\n", | |
"X_test_prod_processed = []\n", | |
"for i in range(len(X_train_prod)):\n", | |
" X_train_prod_processed.append(pd.DataFrame(X_train_prod[i], columns=COL_NAMES))\n", | |
" X_test_prod_processed.append(pd.DataFrame(X_test_prod[i], columns=COL_NAMES))\n", | |
" X_train_prod_processed[-1][\"item_id\"] = X_train_prod_processed[-1][\"item_id\"].apply(lambda x: x.split(\"_\")[1])\n", | |
" X_test_prod_processed[-1][\"item_id\"] = X_test_prod_processed[-1][\"item_id\"].apply(lambda x: x.split(\"_\")[1])\n", | |
" for col in CAT_COLS:\n", | |
" X_train_prod_processed[-1][col] = label_encoders[col].transform(X_train_prod_processed[-1][col])\n", | |
" X_test_prod_processed[-1][col] = label_encoders[col].transform(X_test_prod_processed[-1][col])\n", | |
"\n", | |
"X_train_df.head()\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# PPC" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### \"Standard PPCs\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"\n", | |
"def max_ppc(y_true: Float[Array, \"batch y_dim\"], y_samples: Float[Array, \"samples batch y_dim\"], number=0, name=\"\") -> None:\n", | |
" # rpeat y_true to match the shape of y_samples\n", | |
" max_ppc = np.max(y_samples, axis=1)\n", | |
" true_max = np.max(y_true)\n", | |
"\n", | |
" return max_ppc.flatten(), true_max.flatten(), \"max_ppc\"\n", | |
"\n", | |
"def quantile_ppc(y_true: Float[Array, \"batch y_dim\"], y_samples: Float[Array, \"samples batch y_dim\"], quantile=0.5, number=0, name=\"\") -> None:\n", | |
" # rpeat y_true to match the shape of y_samples\n", | |
" q = np.quantile(y_samples, quantile, axis=1)\n", | |
" true_q = np.quantile(y_true, quantile)\n", | |
" return q.flatten(), true_q.flatten(), f\"quantile_ppc_{quantile}\"\n", | |
"\n", | |
"def zeros(y_true: Float[Array, \"batch y_dim\"], y_samples: Float[Array, \"samples batch y_dim\"], number=0, name=\"\") -> None:\n", | |
" \"Count the number of zeros in the samples\"\n", | |
" zeros = np.sum(y_samples < 0.1, axis=1)\n", | |
" true_zeros = np.sum(y_true < 0.1)\n", | |
"\n", | |
" return zeros.flatten(), true_zeros.flatten(), \"zeros\"\n", | |
"\n", | |
"def percentage_zeros(y_true: Float[Array, \"batch y_dim\"], y_samples: Float[Array, \"samples batch y_dim\"], number=0, name=\"\") -> None:\n", | |
" \"Count the number of zeros in the samples\"\n", | |
" zeros = np.mean(y_samples < 0.1, axis=1)\n", | |
" true_zeros = np.mean(y_true < 0.1)\n", | |
"\n", | |
" return zeros.flatten(), true_zeros.flatten(), \"percentage_zeros\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def plot_ppcs(y_true: Float[Array, \"batch y_dim\"], y_samples: Float[Array, \"samples batch y_dim\"], ppcs: List[Callable],\n", | |
" number=0, name=\"\") -> None:\n", | |
" # plot the distribution of\n", | |
"\n", | |
" for ppc in ppcs:\n", | |
" ppc(y_true, y_samples, number=number, name=name)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### \"Complex PPCs\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"\n", | |
"def plot_model_comparisons(data, y_true, figsize=(12, 8), model_names=None):\n", | |
" \"\"\"\n", | |
" Plots model predictions against true values for each day.\n", | |
"\n", | |
" :param data: numpy array of shape [models, samples, days] containing model predictions\n", | |
" :param y_true: array of shape [days] containing the true values\n", | |
" :param figsize: tuple indicating the size of the figure\n", | |
" \"\"\"\n", | |
" sns.set(style=\"whitegrid\")\n", | |
" models, samples, days = data.shape\n", | |
"\n", | |
" # Create a figure and axis object\n", | |
" fig, ax = plt.subplots(figsize=figsize)\n", | |
"\n", | |
" # We will transform the data to a format suitable for seaborn\n", | |
" # Create a DataFrame with model, day, and sample values\n", | |
" plot_data = []\n", | |
" if model_names is None:\n", | |
" model_names = [f\"Model {i}\" for i in range(models)]\n", | |
"\n", | |
" for model_idx in range(models):\n", | |
" for day_idx in range(days):\n", | |
" for sample_idx in range(samples):\n", | |
" plot_data.append({\n", | |
" \"Day\": day_idx,\n", | |
" \"Value\": data[model_idx, sample_idx, day_idx],\n", | |
" \"Model\": model_names[model_idx]\n", | |
" })\n", | |
"\n", | |
" import pandas as pd\n", | |
" plot_data = pd.DataFrame(plot_data)\n", | |
"\n", | |
" # Use seaborn to plot the boxplots\n", | |
" sns.boxplot(x=\"Day\", y=\"Value\", hue=\"Model\", data=plot_data, ax=ax, width=0.6)\n", | |
"\n", | |
" # Plot true values\n", | |
" plt.plot(y_true, 'o', color='red', label='True Values')\n", | |
"\n", | |
" # Setting labels and title\n", | |
" plt.xticks(ticks=np.arange(days), labels=[f\"Day {i+1}\" for i in range(days)])\n", | |
" plt.xlabel('Days')\n", | |
" plt.ylabel('Values')\n", | |
" plt.title('Model Predictions vs. True Values')\n", | |
" plt.legend()\n", | |
"\n", | |
" # Show the plot\n", | |
" plt.show()\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Model Evaluation" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def save_results_to_pkl(results: dict, dir_name, name):\n", | |
" if not Path(dir_name).exists():\n", | |
" Path(dir_name).mkdir(parents=True)\n", | |
"\n", | |
" path = Path(dir_name) / f\"{name}.pkl\"\n", | |
" with open(path, \"wb\") as f:\n", | |
" pkl.dump(results, f)\n", | |
"\n", | |
"\n", | |
"def load_results_from_pkl(dir_name, name):\n", | |
" path = Path(dir_name) / f\"{name}.pkl\"\n", | |
" with open(path, \"rb\") as f:\n", | |
" results = pkl.load(f)\n", | |
" return results\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Simple helper function to train a model and plot ppcs\n", | |
"\n", | |
"def get_ppcs(y_samples, X_test, y_test, ppcs, number=0, name=\"\") -> None:\n", | |
" \"\"\"\n", | |
" Returns a dictionary with the samples and the true values for each ppc\n", | |
" the dictionary a\n", | |
" \"\"\"\n", | |
" y_samples = np.array(y_samples)\n", | |
" #y_samples = np.maximum(y_samples, 0)\n", | |
" #y_samples = np.round(y_samples, 0)\n", | |
"\n", | |
" ppc_results = {}\n", | |
" for ppc in ppcs:\n", | |
" samples, true, name = ppc(y_test, y_samples, number=number, name=name)\n", | |
" ppc_results[name] = {\"samples\": samples, \"true\": true}\n", | |
"\n", | |
" return ppc_results\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
" day_1 day_2 day_3 day_4 day_5 day_6 day_7 day_8 day_9 day_10 ... \\\n", | |
"0 2 0 0 4 1 0 6 0 0 0 ... \n", | |
"1 3 3 1 1 1 0 0 3 0 0 ... \n", | |
"2 0 0 1 2 1 1 1 1 1 1 ... \n", | |
"3 0 2 0 1 3 2 1 1 2 2 ... \n", | |
"4 0 0 0 0 0 0 0 0 0 0 ... \n", | |
"\n", | |
" day_18 day_19 day_20 wday month store_id event_name_1 event_name_2 \\\n", | |
"0 1 2 0 1 1 0 30 4 \n", | |
"1 3 0 1 3 9 0 6 4 \n", | |
"2 0 4 1 1 1 0 26 4 \n", | |
"3 2 0 2 3 3 0 30 4 \n", | |
"4 0 0 0 3 2 0 30 4 \n", | |
"\n", | |
" sell_price item_id \n", | |
"0 2.98 0 \n", | |
"1 2.98 0 \n", | |
"2 2.98 0 \n", | |
"3 2.98 0 \n", | |
"4 2.98 0 \n", | |
"\n", | |
"[5 rows x 27 columns]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(X_train_df.head())" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"EVAL_VALUES = 10_000 #len(X_test_df)\n", | |
"np.random.seed(0)\n", | |
"\n", | |
"eval_idx = np.random.choice(len(X_test_df), EVAL_VALUES, replace=False)\n", | |
"\n", | |
"X_train_np = X_train_df.values\n", | |
"X_test_np = X_test_df.values[eval_idx]\n", | |
"\n", | |
"y_train_np = y_train_df.values + np.random.normal(0, 0.01, y_train_df.shape)\n", | |
"y_test_np = y_test_df.values[eval_idx]\n", | |
"\n", | |
"# change to float to prevent errors\n", | |
"y_train_np = y_train_np.astype(np.float32)\n", | |
"y_test_np = y_test_np.astype(np.float32)\n", | |
"\n", | |
"dataset = {\n", | |
" \"X_train\": X_train_np,\n", | |
" \"X_test\": X_test_np,\n", | |
" \"y_train\": y_train_np,\n", | |
" \"y_test\": y_test_np,\n", | |
" \"col_names\": COL_NAMES,\n", | |
" \"cat_cols\": CAT_COLS,\n", | |
"}\n", | |
"\n", | |
"with open(\"dataset.pkl\", \"wb\") as f:\n", | |
" pkl.dump(dataset, f)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 1 started. Evaluating function at random point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 1 ended. Evaluation done at random point.\n", | |
"Time taken: 60.5465\n", | |
"Function value obtained: 0.5163\n", | |
"Current minimum: 0.5163\n", | |
"Iteration No: 2 started. Evaluating function at random point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 2 ended. Evaluation done at random point.\n", | |
"Time taken: 208.9847\n", | |
"Function value obtained: 0.5094\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 3 started. Evaluating function at random point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 3 ended. Evaluation done at random point.\n", | |
"Time taken: 32.5392\n", | |
"Function value obtained: 0.5211\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 4 started. Evaluating function at random point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 4 ended. Evaluation done at random point.\n", | |
"Time taken: 97.7318\n", | |
"Function value obtained: 0.5569\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 5 started. Evaluating function at random point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 5 ended. Evaluation done at random point.\n", | |
"Time taken: 106.7900\n", | |
"Function value obtained: 0.5512\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 6 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 6 ended. Search finished for the next optimal point.\n", | |
"Time taken: 497.2484\n", | |
"Function value obtained: 0.5337\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 7 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 7 ended. Search finished for the next optimal point.\n", | |
"Time taken: 469.7641\n", | |
"Function value obtained: 0.5615\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 8 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 8 ended. Search finished for the next optimal point.\n", | |
"Time taken: 657.2299\n", | |
"Function value obtained: 0.5154\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 9 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 9 ended. Search finished for the next optimal point.\n", | |
"Time taken: 570.9859\n", | |
"Function value obtained: 0.5293\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 10 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 10 ended. Search finished for the next optimal point.\n", | |
"Time taken: 560.4699\n", | |
"Function value obtained: 0.5511\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 11 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 11 ended. Search finished for the next optimal point.\n", | |
"Time taken: 582.5229\n", | |
"Function value obtained: 0.5504\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 12 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 12 ended. Search finished for the next optimal point.\n", | |
"Time taken: 628.3455\n", | |
"Function value obtained: 0.5275\n", | |
"Current minimum: 0.5094\n", | |
"Iteration No: 13 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 13 ended. Search finished for the next optimal point.\n", | |
"Time taken: 1070.3474\n", | |
"Function value obtained: 0.5044\n", | |
"Current minimum: 0.5044\n", | |
"Iteration No: 14 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 14 ended. Search finished for the next optimal point.\n", | |
"Time taken: 677.8123\n", | |
"Function value obtained: 0.5075\n", | |
"Current minimum: 0.5044\n", | |
"Iteration No: 15 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 15 ended. Search finished for the next optimal point.\n", | |
"Time taken: 492.3243\n", | |
"Function value obtained: 0.5117\n", | |
"Current minimum: 0.5044\n", | |
"Iteration No: 16 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 16 ended. Search finished for the next optimal point.\n", | |
"Time taken: 667.1462\n", | |
"Function value obtained: 0.5150\n", | |
"Current minimum: 0.5044\n", | |
"Iteration No: 17 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 17 ended. Search finished for the next optimal point.\n", | |
"Time taken: 730.5144\n", | |
"Function value obtained: 0.5215\n", | |
"Current minimum: 0.5044\n", | |
"Iteration No: 18 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 18 ended. Search finished for the next optimal point.\n", | |
"Time taken: 638.5987\n", | |
"Function value obtained: 0.5257\n", | |
"Current minimum: 0.5044\n", | |
"Iteration No: 19 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 19 ended. Search finished for the next optimal point.\n", | |
"Time taken: 539.1419\n", | |
"Function value obtained: 0.5108\n", | |
"Current minimum: 0.5044\n", | |
"Iteration No: 20 started. Searching for the next optimal point.\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Iteration No: 20 ended. Search finished for the next optimal point.\n", | |
"Time taken: 567.4410\n", | |
"Function value obtained: 0.5126\n", | |
"Current minimum: 0.5044\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
} | |
], | |
"source": [ | |
"MODEL_CLASSES = [Treeffuser]\n", | |
"NAMES = [\"Treeffuser\"]\n", | |
"\n", | |
"#MODEL_CLASSES = MODEL_CLASSES[-1:]\n", | |
"#NAMES = NAMES[-1:]\n", | |
"\n", | |
"NUM_SAMPLES = 100\n", | |
"HYPERS = [\n", | |
" {\"subsample\": 0.20, \"subsample_freq\": 1, \"verbose\": 0, \"num_leaves\":129, \"learning_rate\":0.5,\n", | |
" \"sde_manual_hyperparams\": {\"hyperparam_max\": 10}},\n", | |
" {},\n", | |
" {}\n", | |
"]\n", | |
"\n", | |
"results = []\n", | |
"for i in range(len(MODEL_CLASSES)):\n", | |
" model_cls = MODEL_CLASSES[i]\n", | |
" model = BayesOptProbabilisticModel(model_cls, n_iter_bayes_opt=20, frac_validation=0.01)\n", | |
" #model = model_cls(**HYPERS[i])\n", | |
"\n", | |
"\n", | |
" if False and model_cls == NGBoostPoisson:\n", | |
" # shuffle the data\n", | |
" np.random.seed(0)\n", | |
" idx = np.random.permutation(len(X_train_np))\n", | |
" X_train_np_ngb = X_train_np[idx]\n", | |
" y_train_np_ngb = y_train_np[idx].astype(np.int32)\n", | |
" model.fit(X_train_np_ngb, y_train_np_ngb)\n", | |
"\n", | |
" elif False and model_cls == NGBoostGaussian:\n", | |
" y_train_np_ngb = y_train_np + np.random.normal(0, 3, y_train_np.shape)\n", | |
" # rescale\n", | |
" #y_train_np_ngb = (y_train_np_ngb - np.mean(y_train_np_ngb)) / np.std(y_train_np_ngb)\n", | |
" model.fit(X_train_np, y_train_np_ngb)\n", | |
"\n", | |
" else:\n", | |
" model.fit(X_train_np, y_train_np)\n", | |
"\n", | |
" results.append({\n", | |
" \"model\": model,\n", | |
" \"model_name\": NAMES[i]\n", | |
" })\n", | |
"\n", | |
" save_results_to_pkl(results, \"m5\", \"results.pkl\")\n", | |
"\n", | |
"\n", | |
"results = load_results_from_pkl(\"m5\", \"results.pkl\")\n", | |
"\n", | |
"\n", | |
"# Save the results\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Model: Treeffuser\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
} | |
], | |
"source": [ | |
"\n", | |
"for i, result in enumerate(results):\n", | |
" model = result[\"model\"]\n", | |
" model_name = result[\"model_name\"]\n", | |
" print(f\"Model: {model_name}\")\n", | |
" y_samples = model.sample(X_test_np, NUM_SAMPLES)\n", | |
" results[i][\"y_samples\"] = y_samples" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"results_no_model = []\n", | |
"for result in results:\n", | |
" results_no_model.append({k: v for k, v in result.items() if k != \"model\"})\n", | |
"\n", | |
"# Don't uncomment or will overwrite the results\n", | |
"#save_results_to_pkl(results, \"m5\", \"results_final.pkl\")\n", | |
"#save_results_to_pkl(results_no_model, \"m5\", \"results_no_model_final.pkl\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 39, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"try:\n", | |
" results_no_model = load_results_from_pkl(\"m5\", \"results_final.pkl\")\n", | |
"except:\n", | |
" results_no_model = results" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Now we can actually fit some of the models" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 40, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0\n" | |
] | |
} | |
], | |
"source": [ | |
"ppcs = [max_ppc, zeros, percentage_zeros] + [partial(quantile_ppc, quantile=q) for q in [0.1, 0.5, 0.9, 0.99, 0.999]]\n", | |
"\n", | |
"for i, model_cls in enumerate(MODEL_CLASSES):\n", | |
" print(i)\n", | |
" ppc_results = get_ppcs(\n", | |
" y_samples=results_no_model[i][\"y_samples\"],\n", | |
" X_test=X_test_np,\n", | |
" y_test=y_test_np,\n", | |
" ppcs=ppcs,\n", | |
" number=i,\n", | |
" name=model_cls.__name__\n", | |
" )\n", | |
" results[i][\"ppc_results\"] = ppc_results\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Plot the PPCs" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 41, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Titles for plots\n", | |
"ppc_tiles = {\n", | |
" \"max_ppc\": \"$\\max$\",\n", | |
" \"zeros\": r\"$\\text{zeros}$\",\n", | |
" \"quantile_ppc_0.99\": \"$q_{0.99}$\",\n", | |
" }" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def set_plot_style():\n", | |
" \"\"\"\n", | |
" Sets a common plotting style for all of the figures that will be\n", | |
" used in the final paper.\n", | |
" \"\"\"\n", | |
"\n", | |
" # no grid but white with pretty ticks\n", | |
"\n", | |
"\n", | |
" # use latex font by default\n", | |
" plt.rc(\"text\", usetex=False)\n", | |
" plt.rc(\"font\", family=\"serif\")\n", | |
" sns.set_style(\"white\")\n", | |
"\n", | |
" # make it ready for a presentation\n", | |
" sns.set_context(\"talk\")\n", | |
"set_plot_style()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 43, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"samples [105. 108. 108. 122. 132. 172. 84. 94. 88. 182. 86. 95. 94. 168.\n", | |
" 115. 96. 112. 101. 111. 109. 100. 85. 92. 106. 92. 164. 94. 136.\n", | |
" 138. 173. 99. 97. 86. 112. 94. 108. 154. 93. 90. 120. 88. 105.\n", | |
" 82. 101. 137. 90. 117. 168. 88. 109. 92. 144. 99. 144. 94. 96.\n", | |
" 109. 97. 77. 94. 145. 106. 132. 153. 117. 167. 92. 98. 100. 91.\n", | |
" 98. 88. 120. 147. 92. 135. 131. 98. 97. 110. 118. 168. 101. 183.\n", | |
" 124. 92. 91. 163. 162. 94. 92. 107. 116. 154. 97. 140. 107. 130.\n", | |
" 118. 137.]\n", | |
"title max_ppc\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmsAAAHFCAYAAACtsr7nAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABwdUlEQVR4nO3de3zO9f/H8ce1g83M2eawyWE2yvmcQzFJUb6YkogQkiiKFFKtaColoSFFVJrDr0hlDhs5xJzPxpI5bjM7MePadv3+2Pe6vmanazZc7Hm/3brF5338vHfNXnt/3u/3x2AymUyIiIiIiE2yu9sdEBEREZGcKVgTERERsWEK1kRERERsmII1ERERERumYE1ERETEhilYExEREbFhCtZEREREbJiCNREREREbpmBNRERExIYpWBMRERGxYQrWRERERGyYgjURERERG6ZgTURERMSGKVgTEblF/fr1o3bt2nz11VekpqayYMECunfvTuPGjWnVqhXDhw/n6NGjlvxXr15l9uzZPP300zRq1IiWLVsyatQoIiMjs60/ISGBpUuX8vrrr9O1a1datGhB/fr18fX15c0332Tv3r3Zlps7dy61a9emXr167N+/P9s8GzdupE6dOtSuXZuVK1cWeCxE5PYxmEwm093uhIjIvahfv37s2LGDYcOGsW/fPrZt24ajoyOOjo4kJycD4OLiwvfff4+npyeDBg3i8OHDODk5YTAYSElJAaB8+fIsW7aMKlWqZKr/q6++YubMmQDY29vj6urK1atXuX79OgAGg4Hx48fTv3//TOVMJhODBg1i69atVK1alV9++QVXV1dLenR0NN26dePSpUt0796dqVOn3rYxEpGCU7AmInKLzMFaqVKlsLOz44MPPuCxxx7DwcGBAwcO8MYbb3D69GkaN25MhQoVOHz4MP7+/rRu3RqA7du388Ybb3Dp0iW6du3KZ599lqn+n3/+mejoaHx9ffHx8aFYsWKYTCbOnDnD999/z6JFi7Czs2PZsmU89NBDmcrGxMTQrVs3YmNjM9V9YyBXrVo1/u///o8SJUrcmQETkVuiYE1E5BaZgzWAH374gWbNmmVK37ZtGwMGDADA2dmZlStXUq1atUx5li1bxoQJE3B2dmbnzp04Ojpa3b6/vz8//PADzzzzDJMnT86SvnHjRl5++WVMJhMBAQH06NGDuXPn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ry/29vYsXryY7t27c/78+Sxl1q9fT+/evQkNDaV69eq0bduW6OhoPvvsM4YMGYLRaMxSZsGCBfTt25cNGzZQvXp1HnnkEa5fv84PP/xA7969SUhIyPc4iIiISNFT4GDtxRdfpEqVKqxbt45nn32Wb7/91vIi940bN/LNN9/QtWtXtm7dSoUKFejXr1++6jcajYwaNYrk5GQCAgIICgpixowZrFu3jg4dOhAeHs60adOsrm/cuHHExMQwcuRIVq1axYwZM1izZg29e/cmKiqKSZMmZcofHx/P2LFjMRgMzJ8/n0WLFjFr1iyCg4Np2LAh27ZtY8GCBZnK7N27l6lTp+Lq6srChQv56aef+PrrrwkODqZdu3acOnUqX30WERGRoqvAwZqrqyvz5s2jatWqHDx4kE8//ZTIyEgAhg0bxrRp0zh16hRubm58/fXXlC5dOl/1r169mrNnz9KmTZtM7yF1dnZmypQpuLi4sGzZMhITE/OsKywsjN27d1OzZk2GDx9uuW5vb8/EiROpUqUKmzZtyvS2hcWLF3PlyhV69OhB69atLdfLlCljeYn9woULSU9Pt6TNnj2b9PR03nnnHVq2bGm5XqJECSZMmECFChX4559/8jUOIiIiUjQVyuumvLy8+PXXX3nnnXdo1qwZpUuXxt7eHldXV+rXr8/rr7/O6tWrqVevXr7rDgkJAaBTp05Z0sqWLUvLli0xGo1s3rzZ6ro6duyInV3mW3d0dOSxxx4DYMOGDZbroaGhObbv5eWFj48PMTExHDhwAIDExES2bNlChQoV8PPzy1KmWrVqbNmyhcWLF+fZXxEREZFCed0UQPHixXnxxRd58cUXC6tKAMsbD2rXrp1ture3NyEhIRw7dowuXboUqK5atWoBcOzYMcu148eP59l+eHg4x44do2HDhhw5coTU1FTq16+PnZ0dR44cYe3atURFReHm5sYTTzzBgw8+mGs/RURERMwKFKxdv36dnTt3sn37ds6fP098fDwGg4FSpUrh5eVF06ZNadasmeU9obciKioKgIoVK2abbt6BGh0dXWh1mc+Ci4+PJyUlBTs7O9zd3a1q/9SpUwC4u7szefJkFi1alGnjRWBgIEOGDOHNN9/Ms78iIiIitxSsGY1Gvv/+e+bNm5dpV6PJZMoSmLm7uzN06FCef/75LI8erXH16lUgY41adszX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q1evTOeYGY1GIiIiiIiIyPTezsaNG9OgQQPCw8OZPn26JWBLS0tj8uTJnD9/Hl9fX3x8fCxl/Pz8cHV1JSgoyHKoLmQc6zF+/HgABg8ejIODzU9SioiIyD3I5iMMZ2dnpk6dyuDBg3nvvfcICgrC09OTPXv2EB0dTb169Rg9enSmMlFRUXTp0gXIeAm7p6enJS0gIIC+ffsSGBhIcHAw3t7eHDlyhMjISDw9PfH3989Ul5ubG/7+/owZM4ZXXnmFJk2aUK5cOcLCwoiPj8fX15d+/frd/oEQERGRIsnmZ9YAmjdvztKlS3niiSc4d+4coaGhlCxZkhEjRrBw4ULLrk1reHl5sXz5cvz8/EhKSiIkJASDwUD//v0JCgrKdqPCU089xaJFi3jkkUc4fvw4W7ZsoWLFirzzzjvMmDFDs2oiIiJy29wzUYaPjw8zZsywKq957VhOPDw8LC9ht1azZs1o1qxZvsrcqFSpUla9EktERETkRvfEzJqIiIhIUaVgTURERMSGKVgTERERsWEK1kRERERsmII1ERERERumYE1ERETEhilYExEREbFhCtZEREREbJiCNREREREbpmBNRERExIYpWBMRERGxYQrWRERERGyYgjURERERG6ZgTURERMSGKVgTERERsWEK1kRERERsmII1ERERERumYE1ERETEhilYExEREbFhCtZEREREbJiCNREREREbpmBNRERExIYpWBMRERGxYQrWRERERGyYgjURERERG6ZgTURERMSGKVgTERERsWEK1kRERERsmII1ERERERumYE1ERETEhilYExEREbFhCtZEREREbJiCNREREREbpmBNRERExIYpWBMRERGxYQ53uwPWOnnyJLNmzWLXrl3ExsZSqVIlOnfuzNChQylRokS+6oqKimL27Nls3bqVCxcuUKFCBTp06MCrr75KuXLlsi1z4MABZs+ezcGDB0lMTKRq1ap069aNAQMG4OjomCX/pUuX+OabbwgJCeHs2bPY2dlRrVo1nnrqKV588UWcnJxuaRxERESkaLknZtb279+Pn58fq1atws3Njfbt25OcnExgYCC9e/cmKSnJ6roiIyPp2bMnS5YswdnZGV9fX+zt7Vm8eDHdu3fn/PnzWcqsX7+e3r17ExoaSvXq1Wnbti3R0dF89tlnDBkyBKPRmCn/6dOn6d69O/PnzychIYGHH36YRo0aERkZybRp0+jTpw+XL18u8LiIiIjI/c/mgzWj0cioUaNITk4mICCAoKAgZsyYwbp16+jQoQPh4eFMmzbN6vrGjRtHTEwMI0eOZNWqVcyYMYM1a9bQu3dvoqKimDRpUqb88fHxjB07FoPBwPz581m0aBGzZs0iODiYhg0bsm3bNhYsWJCpzLvvvktUVBRPPfUU69atY+7cuSxYsIA///yTunXrcvDgQb744ovCGB4RERG5z9l8sLZ69WrOnj1LmzZt6NGjh+W6s7MzU6ZMwcXFhWXLlpGYmJhnXWFhYezevZuaNWsyfPhwy3V7e3smTpxIlSpV2LRpEydOnLCkLV68mCtXrtCjRw9at25tuV6mTBk+/vhjABYuXEh6ejoAZ86cYdu2bZQsWRJ/f39cXFwsZSpWrMj7778PwKpVq25tQERERKRIsflgLSQkBIBOnTplSStbtiwtW7bEaDSyefNmq+vq2LEjdnaZb93R0ZHHHnsMgA0bNliuh4aG5ti+l5cXPj4+xMTEcODAAQBiY2Np3Lgxbdq0wdXVNUuZmjVrApCQkEBKSkqefRYREZGizeaDtfDwcABq166dbbq3tzcAx44dK3BdtWrVylLX8ePH89V+w4YNWbJkCV9++WW2+ffv3w9kzMw5Ozvn2WcREREp2mw+WIuKigIyHiFmx83NDYDo6OhCqysmJgbIWK+WkpKCnZ0d7u7uBW4/LS3Nslatc+fOeeYXERERsflg7erVqwA5zkKZrycnJxd6XXnlz0/7JpOJDz74gP3791OuXLlMa+ZEREREcmLzwZq9vb1V+UwmU6HVZd4scPO6tlttPzU1lfHjx/Pzzz/j7OzMjBkzcpypExEREbmRzQdr5gNvr127lm26eZH+jbsuC1qXOV9e+a1pPzExkZdffpkVK1ZQokQJ5syZQ/PmzfPsq4iIiAjcA8GaeQbKvI7sZua1YtbMVJnz5LS+7Oa6XF1dcXV1JS0tjdjY2Hy3f+rUKXr16sXmzZtxd3dn8eLFPPzww3n2U0RERMTM5oM18y5M867Mm5nPRMtpt2Z2dd14jlpedfn4+NxS+/v376dXr16cPHmSBx98kKVLl/LQQw/l2UcRERGRG9l8sNa+fXsAgoODs6TFxcWxfft2nJycaNWqldV1rV27NssaM6PRyPr16zPly6v9iIgIwsPDqVChAvXq1bNcP3bsGC+99BLx8fG0a9eOH3/8kUqVKuXZPxEREZGb2Xyw1rFjRzw8PAgNDWXJkiWW6ykpKUyYMIHk5GR69eqV6QXsRqORiIgIIiIiMr23s3HjxjRo0IDw8HCmT59uCdjS0tKYPHky58+fx9fX1zKbBuDn54erqytBQUGWQ3Uh41iP8ePHAzB48GAcHBwAuH79OqNGjSIxMZG2bdsye/Zsq9bTiYiIiGTH4W53IC/Ozs5MnTqVwYMH89577xEUFISnpyd79uwhOjqaevXqMXr06ExloqKi6NKlC5DxEnZPT09LWkBAAH379iUwMJDg4GC8vb05cuQIkZGReHp64u/vn6kuNzc3/P39GTNmDK+88gpNmjShXLlyhIWFER8fj6+vL/369bPk/+WXX/jnn3+AjN2kb7/9do739uGHH1K8ePECj5GIiIjcv2w+WANo3rw5S5cuZebMmezYsYMTJ07g6elJr169GDhwoGXXpjW8vLxYvnw5M2fO5K+//iIkJITKlSvTv39/hg0bRvny5bOUeeqpp6hYsSJz5sxh7969pKamUrVqVV555RX69OljmVUDMs2+bdq0Kde+TJo0ScGaiIiI5OqeCNYgY6H/jBkzrMrr6emZ6+unPDw8LC9ht1azZs1o1qxZnvm+/vrrfNUrIiIikhubX7MmIiIiUpQpWBMRERGxYQrWRERERGyYgjURERERG6ZgTURERMSGKVgTERERsWEK1kRERERsmII1ERERERumYE1ERETEhilYExEREbFhCtZEREREbJiCNREREREbpmBNRERExIYpWBMRERGxYQrWRERERGyYgjURERERG6ZgTURERMSGKVgTERERsWEK1kRERERsmII1ERERERumYE1ERETEhilYExEREbFhCtZEREREbJiCNREREREbpmBNRERExIYpWBMRERGxYQrWRERERGyYgjURERERG6ZgTURERMSGKVgTERERsWEK1kRERERsmII1ERERERumYE1ERETEhilYExEREbFhCtZEREREbJjD3e6AtU6ePMmsWbPYtWsXsbGxVKpUic6dOzN06FBKlCiRr7qioqKYPXs2W7du5cKFC1SoUIEOHTrw6quvUq5cuWzLHDhwgNmzZ3Pw4EESExOpWrUq3bp1Y8CAATg6OmZb5vfff+f777/nn3/+IS0tjTp16tC/f3+e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SqJu3bqaWbtJfsetWrVq1KhRg3PnznHgwIEsZf78808AfH19b1+nbVxUVBT9+/fn7Nmz1K9fn6VLl+YYqEHGRhpXV1f27t2b7flMRX1Mjx07luN/5h2169ev59ixY/j5+QH6nObF1dWVZs2aAbBy5cos6TExMRw+fBgHBweaNm0KaEzz4uXlBcDevXsts5E3SkpKYt++fQA8+OCDgG2PqYI1yZOdnR3PP/88AP7+/pazaCBjtmfmzJls3bqV0qVL06NHDwD69OmDg4MDX3/9Nfv377fkP3fuHB9++CEAw4YNu4N3cW+4lXHr378/kHHidmxsrOX6tm3b+P777ylWrBgDBgy4/Z23UWPHjuX8+fP4+PiwcOHCTGtXsuPk5ETv3r0xGo288847mXYsr1y5kj///JPy5cvzzDPP3O6u31f0Oc2d+ZzKOXPmsHnzZsv1y5cvM378eJKTk3n66aepUKGCJU1jmrM6derQtGlTrl+/zujRoy1vKIGMWbe33nqL+Ph4mjVrRr169SxptjqmegwqVnn11Vc5evQoISEhdOvWjSZNmlC6dGmOHj3K2bNncXFx4csvv7S8zqdOnTqMHj2aTz/9lOeff54WLVrg5OTE9u3bSU5Opnfv3tme0l/U3cq49e7dm02bNhESEkKnTp1o2bIlSUlJ7Ny5E5PJxKeffmpZi1HUbNmyhe3btwMZr5d67733csz7xhtvWM5NGjFiBNu3b2fLli08/vjjNGvWjAsXLrBv3z6cnJz44osvMr2GSvKmz2nu2rVrx8iRI/nqq6946aWXaNiwIeXKlWPfvn1cunSJOnXqWA4gN9OY5u7zzz+nf//+/P3337Rv357mzZuTlpbGwYMHiY+Pp3r16nz++eeZytjqmCpYE6s4Ojry9ddfs2LFClasWMHRo0e5du0a7u7u9OrViyFDhvDAAw9kKjN48GBq1KjBggUL2LdvHwaDAS8vL/r27Uu3bt3u0p3YvvyOm52dHV999RWLFy9mxYoVbN68GVdXV9q0acOwYcMsj1eKohtfC5PdKfA3eumllyzBWvHixfn++++ZN28ev//+OyEhIZQtW5YnnniC4cOHZ3pvq1hHn9O8jRgxgqZNm7JgwQL27t3L0aNH8fDwoG/fvgwaNCjLDkSNae4qVarEihUrWLBgAWvWrLH84vbAAw/wwgsvMHDgQFxdXTOVsdUxNZh00JWIiIiIzdKaNREREREbpmBNRERExIYpWBMRERGxYQrWRERERGyYgjURERERG6ZgTURERMSGKVgTERERsWEK1kRERERsmII1ERERERumYE1ERETEhilYExEREbFhCtZEREREbJiCNREREREb9v8Jx68UcW/WGwAAAABJRU5ErkJggg==", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"samples [5647 5653 5697 5691 5594 5655 5665 5672 5601 5693 5679 5631 5663 5693\n", | |
" 5706 5631 5714 5695 5645 5590 5666 5672 5649 5628 5677 5646 5708 5707\n", | |
" 5658 5636 5666 5666 5699 5701 5631 5680 5709 5683 5630 5665 5738 5601\n", | |
" 5609 5644 5652 5706 5573 5603 5675 5634 5578 5671 5671 5681 5662 5737\n", | |
" 5669 5690 5704 5627 5643 5694 5683 5665 5603 5660 5639 5721 5645 5646\n", | |
" 5625 5648 5614 5630 5686 5627 5594 5621 5677 5680 5605 5593 5697 5707\n", | |
" 5705 5641 5747 5701 5630 5719 5657 5610 5671 5704 5636 5730 5662 5667\n", | |
" 5672 5760]\n", | |
"title zeros\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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n3Hffffl2n/lypVCtWkJu5ZH5je6cfmP23W9bgeNWRMREcNr2LAhAQEBZGZmMn78+HzXHYOcAevvvvsukHNXrGLFinnK2FoKIzk5mR07dgD/G6v2+eef07FjR+urkSyaNm3KW2+9BfzvcZq7uzvu7u7ExsZy6NAhm3375z//SWBgIOvXry/olHMJDAwEYPPmzaxbty7XNotbad8yRi8sLMzmZ7p169Yi9fN6lnFpP/30EzExMezduzfXxAKL/fv3AzBo0KA8QS05OZmIiAig4MegLv//FxrL4+/rnT17Nk/wvJ3Xq6QprImISKnw9ttv06hRI8LDwxkwYIB1xub19uzZQ58+fTh16hQtWrRgzJgxNutasmQJP//8s/XP165d44033iApKQl/f3/rpAEPDw8uXLhAUFBQnhBgeTR3/Xinl19+GYCxY8fm6d+SJUtYt24dkZGRPPzww0U693r16tGqVSv27t3L+vXrcXFxybW22q22/9BDD+Hj48OFCxeYOHFirsD2448/Fvgmgpt54IEH8Pb2Jjw8nKVLl2I2m3NNLLCoUqUKACEhIbkC2aVLl3j99ddJTEwEKPBdr02bNgXg8OHDuRa+TUpK4u2337Z5zO26XiVNj0FFRKRUcHV1JTg4mPHjx7Nlyxa6d+9OkyZNaNCgAVlZWURGRnL69Gkg567TO++8k+/sUW9vb1599VUefvhhatSowf79+4mLi6NJkyZ88MEH1nLPPfcc69atY/v27fztb3+jVatWuLq6cuLECaKionB1dbXeYQPo168fhw4d4rvvvqNnz548+OCD1KpVi+PHj3Py5Ens7OyYNm3aTd+bmR/LmmtxcXEEBgZa7yRd71banzp1KoMGDeK7775j165dtGjRgvPnz3Pw4EFatWplvfN1K/r06cM777zD119/Tfny5XO9scDipZdeYv/+/QQHB7N3716aNGlCYmIiERERpKen06RJE44fP25dviU/999/P08//TQbNmxg8ODB+Pj44OTkxN69e3F2dqZ9+/bWCSLF+bzuBt1ZExGRUsPV1ZVZs2Yxb948nnnmGVJSUggNDWXPnj24uLjw97//ndWrVzN16lSbYcbi3XffZfTo0cTFxbF161acnJx49dVXWbZsGVWrVrWWs7e3JygoiDFjxlC/fn3279/P1q1bSUtLo2/fvqxZsybXBAaTycS0adP47LPP8PHx4dSpU4SFhZGZmckzzzzDypUreeaZZ27p3C1rrkHutdWudyvtu7u7ExwczEsvvYSjo6N1UsD48eP55z//eUt9tejWrRsVKlQgIyODLl262Hwk7e/vz8KFC2nbti2XL19m69at/Pnnn7Rv356FCxfy8ccfA7Bly5Y8kwRu9PHHHzN69Gjuv/9+wsPDOXToEJ07d2b16tU2A9ftvF4lyWQu6bmwckcFBgZy+PBhHnroIeuq0CKlWmJizoKqFgkJkM+SBhYvzt9NWmbpWtrCwQQveDngXqU8rjXux3TDTEA7EzSo7nqXeiciRZWdnc2xY8eAnLXm8pvda1GUv791Z01ERETEwBTWRERERAxMYU1ERETEwBTWRERERAxMYU1ERETEwBTWRERERAxMYU1ERETEwBTWRERERAxMYU1ERETEwBTWRERERAxMYU1ERETEwBTWRERERAxMYU1ERETEwBTWRERERAxMYU1ERETEwBTWRERE5K748ccf+fzzzzl9+vTd7oqhOdztDoiIiEjZExkZyfjx48nMzOTgwYN89dVXd7tLhqU7ayIiInLHvf/++1SpUoVRo0axbds2Nm3adLe7ZFi6syYiIiJ31HfffcfevXv54osv6NixI/v27WPKlCm0a9cOFxeXu909w9GdNREREbljrly5wscff0yvXr3w9fXFZDIxdepUrl69SlBQ0N3uniHpzpqIiIjcMZUqVWLnzp25ttWqVYvw8PC71CPjU1gTERHD+/zzz4t812XkyJGMGjXqNvWo6GJiYpgyZQq//vorV69epWrVqixfvhw7Ozub22vXrn23uywGobAmIlIKDF0UTlpm9t3uRqE4Odjx5cBHS7ROLy8vnn322Vzbrl27xpYtWwDy7LMcYyTjxo1j9+7duLm50alTJ7KysqhZsyaDBg2yuV3EQmFNRKQUSMvMLjVh7Xbo3LkznTt3zrXtzJkz1rD2ySef3I1uFUlERAQAX3/9NU2bNi1wu4iFwpqIiMgdkJ6eDkCdOnUKtf1eExgYyOHDh1m0aBHx8fGsWLGCP/74g6tXr1K7dm169erFkCFDsLPT3McbKayJiMg9yzLWbdq0aURGRrJixQqysrJo06YNc+bMsZbbt28f//3vf9m/fz9XrlzBzc2N9u3bM2zYsHxDVGGPGTBgAHv27LH++dFHcx4Ru7u7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xMfHU7lyZVq1akVKSgoHDx4kJSWFFi1aMH/+fFxdXYv92QQGBnL48GEeeughVq9eXez6RO66xESoUuV/f05IgAJWP39x/m7SMkvfcjj1K5rwretIjUpOlK9YBYfyFTCZcn6HtjNB/erF/xlRWvx1MZlsw/9tVDRl7RqWRdnZ2aSmppKQkEBycjIA9evXtzlm/UZF+fvb8Et3ADz66KOsWLGCoKAg9uzZw4kTJ/Dw8KB3794MHjw4V1ArSKNGjVi1ahVBQUFs376d0NBQateuzcCBAxk2bBjVqlXLc0y3bt2oWbMmX3zxBQcOHCAzM5O6desyfPhw+vXrlyuoATRt2pQ1a9Ywb948tm7dyo4dO7C3t6dhw4Y8++yz9O/fn3LlyhX7cxGR0u2vJDPHEjKxM0HFjHicHRO4/unJsfjCLTd0L0jLzLrbXbgtytI1FHB3dy9UUCuqUnFnTfKnO2tyzylDd9Yg5+5Lo/tMeFaxo4qTCUtWM5lMNKhe+F9ES7uTF68War3M0qSsXcOyysHBgYoVK3LfffcVKajdc3fWRETuVdlmOJ5o5nhiFibA/v+nNVdnB2Y/UfAs93vFx7+Gk15KA3d+yjnY8XUZuoZlkclkKvHJBLYorImIGIQZyPz/N5eyzEV7i0ppl2X+37nfK+zL2DWU20dhTUTE4IYuCi+1j3lvpqKzA0H9Hrnb3RAxPIU1ERGDS8vMvifDWrl78JxEbgfdnxURERExMIU1EREREQNTWBMRERExMIU1EREREQNTWBMRERExMIU1EREREQNTWBMRERExMIU1EREREQNTWBMRERExMIU1EREREQNTWBMRERExMIU1EREREQNTWBMRERExMIe73QERuf2GLgonLTP7bnejUFxSkphz3Z+HL9lLikvFPOUqOjsQ1O+RO9cxEZG7RGFNpAxIy8wuNWHN/oZ+5tf3cqXkfEREikuPQUVEREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU1kREREQMTGFNRERExMAU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WprN/ampqUDOoruFqQsosC5LuYLK22p/1qxZREREMH78eJo2bVpgn0RERERupsiPQe+0GjVqkJiYSFxcHLVr186z3zJWLL8xZTfWdfjw4XzHt91Yl6urK66uriQnJxMfH0+1atVueszFixf54osvcHBw4PDhw4wdO9ZaLjMz0/rflu3Dhw+nUaNGBfZbREREyi7DhzUvLy8iIyM5fvw4zZs3z7PfsiZafrM1b6wrNDQ01zpqBdXl6enJ/v37OX78uM2wdv0xqampZGVlAfDjjz/m2w/Ly+x79eqlsCYiIiI3Zfh11nx9fQHYtGlTnn0JCQns3r0bJycn2rZtW+i6Nm/enGeMW0ZGhnVMnqVcQe1HRUURGRlJ9erV8fb2xsPDg2PHjtn85/rlTizbfHx8CuyziIiIlG2GD2v+/v64u7sTFhbGsmXLrNtTU1OZMGECKSkp9O7dO9c6ZhkZGURFRREVFZXrvZ0tW7akefPmREZGMmPGDGtgy8rKYvLkyZw/fx4/Pz88PT2txwQGBuLq6kpwcLB1UV3IWdbjrbfeAmDIkCE4OBj+JqWIiIiUQoZPGM7Oznz00UcMGTKEd999l+DgYDw8PIiIiCA2NhZvb2/GjBmT65iYmBjrArkhISF4eHhY902bNo3+/fszd+5cNm3aRJMmTThy5AjR0dF4eHgwadKkXHW5ubkxadIkxo4dy/Dhw2nVqhVVq1YlPDycxMRE/Pz8GDBgwO3/IERERKRMMvydNYBHH32UFStW8NRTT3Hu3DnCwsKoWLEiI0eOZOHChdZZm4XRqFEjVq1aRWBgIElJSYSGhmIymRg4cCDBwcE2Jyp069aNxYsX0759e44fP84vv/xCzZo1efPNN5k5c6buqomIiMhtU2pShqenJzNnzixUWcvYsfy4u7tbX8JeWK1bt6Z169ZFOuZ6lSpVummfRERERGwpFXfWRERERMoqhTURERERA1NYExERETEwhTURERERA1NYExERETEwhTURERERA1NYExERETEwhTURERERA1NYExERETEwhTURERERA1NYExERETEwhTURERERAys1L3IXuV2GLgonLTP7bnejxFV0diCo3yN3uxsiIlJMCmtS5qVlZt+TYa3cPXhOIiJlkR6DioiIiBiYwpqIiIiIgSmsiYiIiBiYwpqIiIiIgSmsiYiIiBiYwpqIiIiI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UBB79uzhxIkTeHh40Lt3bwYPHmydtVkYjRo1YtWqVQQFBbF9+3ZCQ0OpXbs2AwcOZNiwYVSrVi3PMd26daNmzZp88cUXHDhwgMzMTOrWrcvw4cPp16+f9a4akOvu27Zt227al4kTJyqsiYiIyE2VirAGOQP9Z86cWaiyHh4eN339lLu7u/Ul7IXVunVrWrduXWC5OXPmFKleERERkZsx/Jg1ERGR0qicg/6KlZKh/5NEREREDKzUPAYVEREprYYuCictM/tud6NEVXR2IKjfI8C9eX4ATg52fDnw7r91SGFNRETkNkvLzL7nwky5687nXjw/I9FjUBEREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDU1gTERERMTCFNREREREDc7jbHSiskydPMmvWLPbt20d8fDy1atWiS5cuDB06lAoVKhSprpiYGGbPns3OnTu5cOEC1atXp1OnTrz22mtUrVrV5jGHDh1i9uzZ/P7771y5coW6devSvXt3Bg0ahKOjo81j1q9fz6JFi/jzzz/JysqiadOmDBw4kKeeeqrI5y8iIiJlU6m4s3bw4EECAwNZu3Ytbm5u+Pr6kpKSwty5c+nbty9JSUmFris6OpqePXuybNkynJ2d8fPzw97eniVLltCjRw/Onz+f55iQkBD69u1LWFgY9evXp127dsTGxvLJJ5/wyiuvkJGRkeeY//u//2PMmDEcO3aMVq1a0aJFC3777Tf+8Y9/8NlnnxXr8xAR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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"samples [1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.\n", | |
" 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.\n", | |
" 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.\n", | |
" 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.\n", | |
" 1. 1. 1. 1.]\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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NwCbNm1KURYeHs7evXtxdHSkYcOGaWpvxIgRrF69mjx58jBt2jR69OiRld0VERERSZNsH8JatGhByZIl2b59O0uWLLFsj46OZvjw4URGRtKpUycKFixoKYuLiyMwMJDAwEDi4uIs29esWcPKlSuxt7dnxowZNGvW7LGei4iIiIhZtn92pJOTExMmTKBv376MGjWKZcuW4eHhweHDhwkJCaFatWoMGTIk2T7BwcG0adMGgK1bt+Lh4UFCQgKTJk0CoHDhwqxcuZKVK1daPWaTJk1o167dIz0vERERebpl+xAGUK9ePZYvX87UqVPZt28fZ8+excPDg06dOtG7d2/LHZQPcubMGa5duwYkhbR169alWtfNzU0hTERERB6pHBHCAIxGI5MnT05TXQ8PjxSPMapSpUqaHm0kIiIi8jhk+zlhIiIiIk8ihTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbEBhTARERERG1AIExEREbGBXLbuQFqdP3+eadOmcfDgQcLCwihWrBitW7emX79+5M2bN11tBQcHM336dHbv3s3169cpXLgwzZs357333qNgwYKP6AxERERE/idHjIT5+fnh4+PDunXrcHd3x9vbm8jISGbOnEmXLl2IiIhIc1uXLl3itddeY8mSJTg5OdGsWTPs7e1ZuHAh7du359q1a4/wTERERESSZPsQFhcXx+DBg4mMjGT8+PEsW7aMyZMns2XLFpo3b46/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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"samples [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", | |
" 0. 0. 0. 0.]\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAHFCAYAAAC6kC4uAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABcIUlEQVR4nO3de3yO9ePH8de9g82cGsbYchqbnGrCSDJaig6YnPJFSpIo+ioV1S/l9JW+5VxRkb6YQzIqwpCIOc55s5wP2zA2drDD/ftj3XfWht27N9fG+/l4eDzs+nyuz/W5drnnvc/1uT6XyWw2mxERERGR28rB6A6IiIiI3I0UwkREREQMoBAmIiIiYgCFMBEREREDKISJiIiIGEAhTERERMQACmEiIiIiBlAIExERETGAQpiIiIiIARTCRMRmiYmJzJkzh+eff56HHnqI+vXr4+/vT8eOHRk7dixRUVFGd7HApKenc/To0Wzbtm7dip+fH35+fqSnp1u3v/322/j5+TF8+PDb3c1cLVu2jO7du+Pv74+/vz/BwcF8//33ZGZmFkj7CxYswM/Pj0WLFhVIeyJ3G4UwEbHJunXrePTRRxk7dixbtmzBwcGBunXr4u7uTlRUFHPmzOHpp5/m448/Ji0tzeju2mXTpk089dRTLFu2zOiu2Oyjjz5ixIgR7N69G09PT7y8vNi/fz+jR4/mpZdesvvaRERE8J///KeAeityd3IyugMiUnzMnj2biRMnYjabCQoKYsiQIdStW9dafvHiRebNm8eXX37Jd999x759+/j6669xc3MzsNf598UXX+QYBQNo1KgRP/30EwBOTkXvx+jSpUuZN28eZcqUYebMmTRp0gSAffv2MXDgQDZt2sS0adMYOnRovtrfunUrQ4YM4erVqwXYa5G7j0bCRCRPduzYwaRJkzCbzQwePJhp06ZlC2AA5cuX57XXXuObb76hVKlS7Nq1i/HjxxvU48JTsmRJfHx88PHxMborOWRkZDBjxgwAhg8fbg1gAA0aNGDixIkAzJkzh8TERJvaTk1NZcqUKfTr14/Lly8XXKdF7lIKYSJyS5mZmbz77rtkZGTQpk0bhgwZctP6TZs25d///jcACxcuZNu2bbejmwJs376dEydO4OzsTMeOHXOUt2jRgurVq5OUlMTatWvz3O7x48d5/PHHmTp1KgBDhw7Fy8urwPotcjdSCBORW9q0aRPHjh0DYNCgQXnap2fPnlSpUgWAefPmZStr27btTSd0Wya4v/322znKYmNj+e9//8uzzz5Ls2bNqF+/Ps2aNaNHjx58/fXXpKSkZKt/6tQp/Pz8aNmyJWazmUWLFtG1a1frZPXu3buzZMkSzGazdZ+lS5fi5+dnDY8zZ87M1p8bTcy/mYyMDH744Qf69OlDs2bNaNCgAW3btuW9996zfm8Lwu7duwGoV68eJUuWzLVO48aNAWwKx+fOnePs2bM88MADhISE8Morr9jdV5G7XdGbzCAiRc769esBqFChAo0aNcrTPg4ODjz66KPMmzePTZs2kZmZiYODfb/37d69m5deeomEhARcXFyoVq0aTk5OnDp1il27drFr1y7Wrl3L3LlzcXR0zLav2WxmxIgR/Pjjj5QtW5aaNWty8uRJdu/eze7duzl69Kj1qcYKFSrQuHFjIiMjuXLlClWqVKFKlSrUqFEjX/2+evUqgwcPZvPmzQBUrlwZb29vjh07RkhICMuXL2fixIm0a9fOru8PZI1YAdx77703rGMZwbIl/Hl6evLll1/SunVru/onIn/TSJiI3NKhQ4cAcswBu5X77rsPyAohp06dsqsPGRkZvPnmmyQkJBAUFMRvv/3GihUrWLZsGVu2bLHe/ty+fTu//fZbjv0vXLjAihUrGDlyJH/88QdLly5l06ZNPPPMMwB88803XLx4EYDWrVszf/586tWrB0DHjh2ZP38+AwcOzFff33vvPTZv3kydOnVYtGgRGzduZOnSpWzZsoWBAweSkpLC8OHDiYyMzFf717OcQ/ny5W9Y55577gEgPj4+z+1Wr15dAUykgCmEicgtXbhwAYBy5crZtF/FihWtf7eEg/w6dOgQly5dokSJEnz88cfZ+uLs7MyAAQOsoz83CjPPPfccffr0sY6Subi48O6772IymUhPTyciIsKuPt6o3ytXrqRkyZLMnj0720iii4sLw4YNo3379qSmpjJ9+nS7j5ecnGxt+0ZcXV0Bcty6FZHbSyFMRAqNyWSy/t3eW5H169cnPDyc8PBw3N3dc5Rfu3bNGswsQeSf2rRpk2Obu7u7ddQoISHBrj7m5tdffwWgWbNmVK5cOdc6lgn0GzduJCMjw67j/fM27M1cf31E5PbTnDARuaXy5ctz7NgxLl26ZNN+19/uutntMVu4urry559/cuDAAU6cOMHJkyc5cuQIhw8fJjU1FeCGK8LfKARZRobsDUC5sbw9YN++ffTs2TPXOpZ+X716lZiYGKpWrZrv41nWZLO0mRvLCJjlvEXEGAphInJLdevWZefOnda5YXl14MABAEqXLo2np6fd/dizZw//93//Z23Xwt3dndatW3PgwIGbzj1zdna+afvXPyFZUCxrcV24cMF6W/dmEhIS7AphllHCmwVmSziuUKFCvo8jIvZTCBORW2rdujX/+9//uHjxIjt37rQucXAzmZmZbNiwAYDmzZvnurL8jUJPUlJSjm3R0dH06dOHlJQUateuTZcuXahbty4+Pj7WEa4ePXrY/QBAQbMsE/HCCy8wYsSIQj+eZQHZ06dP37COpSy/T3uKSMFQCBORW2rVqhU1atTg2LFjTJs2jdmzZ+eoM2DAAOrXr0+PHj2oXLkyoaGh1iUQevXqla2uZd7StWvXcj1ebGxsjm1z5swhJSWFWrVqsXjx4lzXwIqJibH11ApdzZo1AW76UvP4+Hj+/PNP61IY9szVskz8P3DgANeuXaNEiRI56uzatQsAf3//fB9HROynifkickuOjo6MHTsWR0dHNm3axOeff56t/Pz584SHhzN9+nSefPJJpk2bxocffghAYGAgDz30ULb6lltmf/75Z45jnTt3jn379uXYbhm98fHxyTWA/f7775w5cwYouLldBTFx3fIwwJYtW4iOjs61zqRJk3juuefo3bu33bdE/f398fT0JDk5mR9//DFH+ebNmzl+/DilS5fmscces+tYImIfhTARyZMHH3yQN998E5PJxPTp03n11Vc5fPgwkLUUxR9//MHAgQNJTExk8uTJXL16lZo1a/LJJ5/k2hbADz/8wI4dO6zbjx07xqBBg0hLS8uxj2VE6ffff2f79u3W7enp6axYsYJhw4ZZtxXU0guWSe43u7V3K02aNOHhhx8mPT2dl156iZ07d1rLrl27xvTp061vDnjppZfsforUZDLx6quvAjBu3Dg2bdpkLdu/f7/1lmjv3r0pU6ZMtn1jY2OJjo7mxIkTdvVBRPJGtyNFJM/69etH9erVefvtt1mzZg1r1qyhUqVKVK5cmatXr1pXa7c4deoUs2bNYsCAAZQqVcq6vW/fvixfvpzz58/z3HPPUbt2bSBrZKxs2bI8//zzfPvtt9naeuGFF1ixYgXx8fH06tWLGjVqUKpUKU6dOsXly5dxc3PD39+fXbt2ce7cuQI533r16hEWFkZoaCiHDx+mSZMmfPDBBza388knn/Dyyy+zZ88eevbsibe3N+XKlePkyZPWZTGef/55evToUSD97tq1K9u2bSM0NJQXX3yRGjVqUKJECaKiojCbzTzyyCMMHjw4x36ffvopP/zwA15eXqxbt65A+iIiN6aRMBGxSdu2bVm7di3vvPMOAQEBpKWlcfDgQRISEqhbty59+/Zl0aJFfPbZZ9xzzz3MnDmTNm3asGbNGmsbnp6eLFmyhB49elClShWOHz9OYmIizz77LMuXL7eGsutVrVqV5cuX07NnT2rUqMHZs2c5evQoFStWpHfv3ixfvpyhQ4cCWe92zG1yv61eeuklunbtyj333MOxY8esI3+2cnd35/vvv2f06NE0a9aMxMREDh8+jJOTE61bt2b69Om88847dvfXwmQyMXHiRMaNG4e/vz+xsbEcO3aMOnXq8OabbzJ9+vRcH5QQkdvLZC6MZ7JFRIArV67w/fffs3DhQmbPnm29pSgiIgphInIbmM1mrc4uIvIPuh0pIoVOAUxEJCeFMBEREREDKISJiIiIGEAhTERERMQACmEiIiIiBtBCMYWoTZs2XLx4ERcXF7y9vY3ujoiIiOTBqVOnSE1NpXz58oSFhRXacRTCCtHFixdJSUkhJSWFy5cvG90dERERscHFixcLtX2FsELk4uJCSkoKrq6u+Pj4GN0dESko6emwZ8/fX99/P2gFepE7RnR0NCkpKbi4uBTqcfRToxB5e3tz+fJlfHx8WLp0qdHdEZGCcukSuLv//fWePXDPPUb1RkQKWHBwMPv37y/0qUSamC8iIiJiAIUwEREREQMohImIiIgYQCFMRERExAAKYSIiIiIGUAgTERERMYCWqBARyQOz2YzZbM76IjMTrl8/KDMz64+IFBkmkwmTyWR0N26qWIawY8eO0alTJ7p27crIkSNt2jcmJobp06ezefNmzp07R8WKFWnbti2vvvoq5cuXL6Qei0hxlJyczOXLl0lMTCQ9Pf3vgowM+Oqrv78+cwZiYm5/B0XkplxcXHB3d6dcuXI4OBS9m39Fr0e3cP78eQYNGkRycrLN+544cYIuXbqwYMECXF1dadOmDY6OjsybN49OnTpx9uzZQuixiBRH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HhbKyPy7TO48jua/37giUpCKfAgDaNq0KYsWLWLq1Kls27aNI0eO4O3tTbdu3ejXr59NTzyMHj2aRx55hPnz57Nv3z4OHjyIu7s7Tz31FP379+e+++4rxDMRERERyVIsQhiAr68vkydPzlNdb2/vm77GKCgoiKCgoILqmoiIiIjNNL4qIiIiYgCFMBEREREDKISJiIiIGEAhTERERMQACmEiIiIiBlAIExERETGAQpiIiIiIARTCRERERAygECYiIiJiAIUwEREREQMohImIiIgYQCFMRERExAAKYSIiIiIGUAgTERERMYBCmIiIiIgBFMJEREREDKAQJiIiImIAhTARERERAyiEiYiIiBhAIUxERETEAAphIiIiIgZQCBMRERExgEKYiIiIiAEUwkREREQMoBAmIiIiYgCFMBEREREDKISJiIiIGEAhTERERMQACmEiIiIiBlAIExERETGAQpiIiIiIARTCRERERAygECYiIiJiAIUwEREREQMohImIiIgYQCFMRERExAAKYSIiIiIGUAgTERERMYBCmIiIiIgBFMJEREREDKAQJiIiImIAhTARERERAyiEiYiIiBhAIUxERETEAAphIiIiIgZQCBMRERExgEKYiIiIiAEUwkREREQMoBAmIiIiYgC7Q1hcXFxB9ENERETkrmJ3CGvTpg0DBw5k9erVpKWlFUSfRERERO54TvY2kJGRwfr169mwYQPlypXj6aefJjg4mPvuu68g+iciIiJyR7J7JCwsLIyhQ4dSvXp1Ll26xHfffUdwcDCdO3fmu+++Iz4+viD6KSIiInJHsTuEeXp6MnDgQH755RcWLlxI9+7dKVu2LAcPHmTs2LE88sgjvPbaa6xfv57MzMyC6LOIiIhIsWf37cjr3X///dx///2MHDmSdevW8eOPP7J582ZWr17Nr7/+SoUKFejUqROdO3fGx8fHpraPHj3KtGnT2LFjBxcuXMDT05P27dszYMAASpUqZVNbV69e5ZtvvuGXX37h5MmTODg4UK9ePfr27Uu7du1saktEREQkPwpliYoSJUrwxBNPMGPGDP744w/efvttSpYsyYULF5g9ezZPPfUUvXr1Ys2aNXlqLyIiguDgYEJDQ/Hw8CAwMJCkpCRmzpxJjx49SExMzHPfYmNj6dq1K1OmTCE+Pp6HH34YPz8/tm/fzpAhQ/juu+/y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BgKwevXqHGXx8fFs3boVFxcXWrRokaf2Ro0axQ8//EDJkiWZNm0affr0KcjuioiIiORJkQ9hQUFBeHl5sX79ehYsWGDdnpKSwsiRI0lKSqJbt26UL1/eWpaWlkZ0dDTR0dGkpaVZty9btowlS5bg6OjIjBkzaNOmzW09FxERERGLIv/uSFdXVyZMmED//v354IMPCAkJwdvbm127dhEbG0uDBg0YNmxYtn1iYmLo0KEDAGvXrsXb25uMjAw+++wzACpWrMiSJUtYsmRJrsds1aoVHTt2LNTzEhERkbtbkQ9hAE2bNmXRokVMnTqVbdu2ceTIEby9venWrRv9+vWzPkF5M4cPH+bs2bNAVkgLDQ29YV13d3eFMBERESlUxSKEAfj6+jJ58uQ81fX29s7xGqN69erl6dVGIiIiIrdDkZ8TJiIiInInUggTERERMYBCmIiIiIgBFMJEREREDKAQJiIiImIAhTARERERAyiEiYiIiBhAIUxERETEAAphIiIiIgZQCBMRERExgEKYiIiIiAEUwkREREQMoBAmIiIiYgCFMBEREREDKISJiIiIGEAhTERERMQACmEiIiIiBlAIExERETGAQpiIiIiIARTCRERERAygECYiIiJiAIUwEREREQMohImIiIgYQCFMRERExAAKYSIiIiIGUAgTERERMYBCmIiIiIgBFMJEREREDKAQJiIiImIAhTARERERAyiEiYiIiBhAIUxERETEAAphIiIiIgZQCBMRERExgEKYiIiIiAEUwkREREQMoBAmIiIiYgCFMBEREREDKISJiIiIGEAhTERERMQACmEiIiIiBlAIExERETGAQpiIiIiIARTCRERERAygECYiIiJiAIUwEREREQMohImIiIgYQCFMRERExAAKYSIiIiIGUAgTERERMYBCmIiIiIgBFMJEREREDKAQJiIiImIAJ6M7kFdHjx5l2rRp7NixgwsXLuDp6Un79u0ZMGAApUqVsqmtmJgYpk+fzubNmzl37hwVK1akbdu2vPrqq5QvX76QzkBERETkb8ViJCwiIoLg4GBCQ0Px8PAgMDCQpKQkZs6cSY8ePUhMTMxzWydOnKBLly4sWLAAV1dX2rRpg6OjI/PmzaNTp06cPXu2EM9EREREJEuRD2FpaWkMHTqUpKQkxo8fT0hICJMnT2bNmjW0bduWyMhIJk2alOf2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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"samples [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", | |
" 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", | |
" 0. 0. 0. 0.]\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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GcpNa43VqlUrdzovIgXWmTgjP59KxrNECo8Us8Pljp+WdqmpVDkXav764iNepNrl+9kdkkMGg4GqZfLfrSzJmpOTE66urpQoUSLfzQeDAhDCWrduTcWKFdm6dStLliwxLyGRmJjImDFjiI+Pp3fv3pQqVcq8T1JSEmfPngWgUqVKODo6AvDyyy8zduxYvvrqKx599FEaNWpk3mfZsmWsWLECR0dHXn755ft4hiKSX11JNHIl0cieyFQMgP3fP8MLJ8Tx9Xuvm+t98d+1JBTOf79lS+4o5GDH3GZZ322R/MVgMOTL4HWnfB/CnJ2dmTx5MgMGDODjjz/G398fDw8P9u/fT1RUFLVr12b48OHp9omMjKR9+/YAbN68GQ8PDwC6du3KoUOHWLp0Ka+88gp16tShXLlynDx5klOnTuHo6Mj48ePx9PS87+cpIvmbEUj+e45+SirY3fGwUErqP2Xy4LE3/vPGFZHclO9DGECjRo1YtmwZM2bMYM+ePZw8eRIPDw+6detGv379LHriYdy4cTz99NMsXryYw4cPc+zYMVxdXXnhhRcYMGAAjz76aB6eiYiIiEiaAhHCALy8vJg2bVq26np4eNzzNUatW7emdevWudU1EREREYtpfFVERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBhTCRERERGxAIUxERETEBqwOYdHR0bnRDxEREZGHitUhrGXLlgwaNIiNGzeSlJSUG30SEREReeA5WNtASkoKW7duZdu2bZQoUYIOHTrg5+fHo48+mhv9ExEREXkgWT0SFhgYyLBhw6hcuTLXrl3jhx9+wM/Pj86dO/PDDz8QExOTG/0UEREReaBYHcLKlSvHoEGD+PXXX1m6dCndu3enePHiHDt2jAkTJvD000/z9ttvs3XrVlJTU3OjzyIiIiIFntW3I+9Ur1496tWrx5gxY9iyZQtr1qxh586dbNy4kd9++43SpUvTqVMnOnfujKenp0Vtnzp1ipkzZ7J3716uXLlCuXLlaNeuHQMHDqRIkSIWtXXz5k3mz5/Pr7/+yrlz57Czs6NWrVr07duXNm3aWNSWiIiISE7kyRIVhQoV4rnnnmP27Nn8+eefjB49msKFC3PlyhXmzZvHCy+8QK9evdi0aVO22gsJCcHPz4+AgADc3Nzw9fUlPj6eOXPm0KNHD+Li4rLdt6ioKLp27cr06dOJiYnhqaeewtvbm+DgYIYOHcoPP/yQ09MWERERybZcHQm70/nz51m3bh0bN27k2LFjGI1GAGrWrMnly5fZu3cv+/bt46mnnuKrr77CxcUl03aSkpIYNmwY8fHxTJo0ic6dOwOQmJjI8OHD2bJlC1OnTuX//u//stWvsWPHEh4eTrt27Zg8eTJOTk4A7Nixg0GDBjFp0iSeffZZypUrZ/03QUREROQucnUk7MaNG/j7+9OrVy+effZZvvrqK44ePUrx4sV55ZVXWL16NatXr2bbtm1MmzaN0qVLs2PHDsaPH3/XNtevX09ERATNmjUzBzAAZ2dnJkyYgIuLC8uXLyc2NjbL/oWEhLBt2zYqV67Mf//7X3MAA3jqqafo3Lkz7u7uHDx40LpvhIiIiEgWcmWJim3btrFmzRq2bt3K7du3MRqN2NnZ0bRpU7p06ULr1q0pVKiQeR97e3vatGmDi4sLAwYMYNOmTXcNYoGBgQCZztVydXXFx8eHwMBAduzYQfv27e/Z119++QWAvn37puuPyaeffprt8xYRERGxhtUh7KmnnuLatWvm242PPPIInTt3xs/PL8tbetWqVQMgOTn5rnVCQ0MB8Pb2zrS8Ro0aBAYGcuLEiSxD2OHDhwF4/PHHiY+PZ8OGDRw6dIiUlBTq1KlDhw4d0o2OiYiIiOQVq0NYTEwMzs7OtGnThi5duuDj45PtfW/dukW3bt2oXbv2XetERkYCULZs2UzL3dzcgLQJ91k5ffo0AFeuXGHo0KFERESYy5YsWcKcOXP4+uuvLX5yU0RERMRSVoewTz75hOeff56iRYtavG/VqlUZN27cPeskJCQAaXPAMmPaHh8fn+Xxbty4AcB//vMfPDw8mDx5Mo8++ijnz5/n888/5/fff+f1119n7dq1OTofERERkezKlRd4b9y4MVt1Z8+ezciRIy1q397ePlv1TLdD7+XWrVtAWnBbuHAhjRo1omjRotSsWZM5c+bg5eVFREQEy5cvt6iPIiIiIpayOoTNmDGDFStWZKvuxo0bs702mIlpIVZTgPq3xMREgLsucXGnwoULA+Dn50exYsXSlTk4ONCjRw8Adu3aZVEfRURERCxl0e3IiIiITAPK5cuX7zl6ZDQauXDhAmFhYdkKS3dyd3fn2rVrREdHU758+Qzlprlg7u7uWbZVunRpbty4gYeHR6blpu1Xr161qI8iIiIilrIohJUuXZrp06enmwRvMBg4e/YsH374YZb7G41GmjZtalEHvb29CQ0NJSwsjLp162YoP3nypLledto6c+aMebL/v0VHRwNp5ykiIiKSlyy6Hens7MyIESMoX768+Y/RaMTR0THdtn//qVixIjVq1KBTp058/PHHFnXQ19cXINN5ZzExMezevRsnJ6dshTtTW+vXr890WYzt27cD0LhxY4v6KCIiImIpi5+O7NChAx06dDB/XbNmTerUqcOPP/6Yqx0zad26NRUrVmTr1q0sWbLEPG8rMTGRMWPGEB8fT+/evSlVqpR5n6SkJM6ePQtApUqVcHR0BKB9+/bMmjWLv/76i08//ZQPP/wQB4e0b8GyZcvYsGEDJUuWpFOnTnlyLiIiIiImVi9RMWTIkEznauUWZ2dnJk+ezIABA/j444/x9/fHw8OD/fv3ExUVRe3atRk+fHi6fSIjI80Lt27evNk816tw4cJ89dVXDBgwgCVLlhAYGEjdunU5c+YMoaGh5mPdGehERERE8oLVT0cOGTKELl265EZf7qpRo0YsW7aMtm3bcuHCBbZu3UqxYsUYMmQICxYsMD9BmR21a9cmICCA3r17U6hQIbZu3UpMTAwvvPAC/v7+5luWIiIiInnJopEw05ORDRo0ML/eJyfLOVg6OR/Ay8uLadOmZauuh4cHJ06cuGu5m5sbY8eOZezYsRb3Q0RERCQ3WBTC+vXrh52dHevXr6dq1armbQaDIdttGAwG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4eEkJSXZotsiIiIi95Tvb0c6OzszefJkBgwYwMcff4y/vz8eHh7s37+fqKgoateuzfDhw9PtExkZaV49f/PmzVqKQkRERPKdfD8SBtCoUSOWLVtG27ZtuXDhAlu3bqVYsWIMGTKEBQsWmJ+gFBERESko8v1ImImXlxfTpk3LVl0PDw+LXmM0ZswYxowZk9OuiYiIiFisQIyEiYiIiDxoFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbEAhTERERMQGFMJEREREbMDB1h3IrlOnTjFz5kz27t3LlStXKFeuHO3atWPgwIEUKVLEora2bt3KokWLOHz4MDdu3KBEiRI88cQTDBgwgLp16+bRGYiIiIj8o0CMhIWEhODn50dAQABubm74+voSHx/PnDlz6NGjB3Fxcdlu64svvuCNN95gx44dVKxYkRYtWlC8eHE2bNhAz549Wb16dd6diIiIiMjf8v1IWFJSEsOGDSM+Pp5JkybRuXNnABITExk+fDhbtmxh6tSp/N///V+WbQUHB/P111/j4uLCt99+S8OGDc1lS5Ys4eOPP+ajjz6iSZMmlCtXLq9OSURERCT/j4StX7+eiIgImjVrZg5gAM7OzkyYMAEXFxeWL19ObGxslm0tX74cgAEDBqQLYAA9evSgRYsW3Lp1iw0bNuTuSYiIiIj8S74PYYGBgQC0adMmQ5mrqys+Pj4kJSWxY8eOLNtydnbG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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"samples [3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 4. 3. 3. 3. 3. 4. 3. 4. 3. 4. 3. 4. 3. 3.\n", | |
" 3. 3. 3. 3. 3. 3. 3. 3. 3. 4. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3.\n", | |
" 3. 3. 3. 3. 3. 4. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 4. 4. 3. 3. 4. 3.\n", | |
" 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 4. 3.\n", | |
" 3. 4. 3. 3.]\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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/URCQgLBwcHWAeVwewLVvn37EhkZiaurK/7+/rRs2RIfHx8aN25sHV9lq4w//TFi6/m6VxSiRESMcne3axgprrp06cLs2bP5+eefiYqKomrVqnddf9euXZw5cwY3Nzc6duyYpTw6OjrL+BvAeuvozxNFli1blm7dutGtWzfg9mDoqVOnsnnzZiZPnkxgYKB1DJabmxtTpkwxdJzZcXBwsB7/+vXradCgAWfPniUgICDT52Bk/5YeqJzGG1l6qvKrRIkSdO7cme+//56ffvqJnj17smLFCiDr3FCffPIJkZGRtGzZks8//5wyZcpkKr9x40ae9mkJoZZbv3/252kSCup82ZvGRImIiE1q165N165dSUtLY9SoUTnOmwS3Byq///77wO1epFKlSmVZJ7spA27evMmOHTuA/42FmjZtGm3btrW+osSibt26vPPOO8D/bgtVrVqVqlWrEhMTw2+//ZZt2/71r38RHBzMjz/+mNshZxIcHAzAxo0bWbt2baZlFkb2bxkDtnXr1mw/0y1btuSrnXeyjHv66aefiI6OZt++fZkGlFscOHAAgBdeeCFLgLp58yYHDx4Ecr+d5/7/f2xYbuPeKSoqKksgLMjzZU8KUSIiYrMxY8bg4+PD3r176du3r/UJujvt2bOHnj17cvbsWR599FGGDx+ebV0LFixg27Zt1p8TExN58803iY+PJygoyDpY3Nvbm8uXLzN9+vQsX86WW0x3jqd56aWXABgxYkSW9i1YsIC1a9cSHh5Oo0aN8nXsNWrUoEmTJuzbt48ff/wRd3f3THNDGd1//fr1CQgI4PLly7z33nuZgtSaNWtynXn8bh555BH8/f3Zu3cv33//PWazOdOAcgtPT08ANm/enCkoxcXF8frrr3Pt2jWAXN+FWLduXQCOHTuWaULN+Ph4xowZk+02BXW+7Em380RExGYeHh4sWbKEUaNGsWnTJrp06UKdOnWoVasW6enphIeHc/78eeB2L827776b49N8/v7+vPLKKzRq1IgKFSpw4MABYmNjqVOnDuPGjbOu98wzz7B27Vp+/vln/vrXv9KkSRM8PDw4deoUkZGReHh4WHukAJ5//nl+++03VqxYQbdu3ahXrx6VKlUiIiKC06dP4+DgwKRJk+76XrmcWOaMio2NJTg42Nrzcicj+584cSIvvPACK1asYNeuXTz66KNc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Hl8cuSfEM3f4k9afX/x0PQnupQqxRXInJxP09nOiqmcJPCpUx5TNQFtHE9R8yKMQWidiPwcPHqRXr140aNCAkJCQwm5OgcnIyCAsLAwAPz+/PE1Amtfv7+L3Z4mIiIjYzHJr0DIbueSfQpSISD6p+17uB5bxUApRxilEiYiIPIDUE2U7hSgREZEHTEZGBhEREYBClC30dJ6IiMgDxsHBgUOHDhV2M4o99USJiIiIGKAQJSIiImKAQpSIiIiIAQpRIiIiIgYoRImIiIgYoBAlIiIiYoBClIjIHdL/fzpysxnMmptcpNi78xXBJpPJrnUrRImI3MEMJKRBWoaZjNSUwm6OiNgoOTkZAEdHR4UoEZGCdj4+g8SUdFIT4jP9FSsixU98fDwAJUuWtHvdmrFcRORPIq+b8SuXhtutmwA4u3vg4OyKidt/xZpNt1+bISJFV3p6Ojdu3CAuLg6AUqVK2X0fClEiIn9yJcnM9gtpPO4NpVJvUOLWLZwcTdx5JyDsimPhNVBE8qVs2bIKUSIi98rZeDM/nk7Dp0w61Uo54H7Hb0uTyUSth+x/a0BE7MvV1RVPT0/KlClj9/FQoBAlIpKjK0lmriSZ2ROdgQlw/P/fwS5ODnzdSm++FynKTCZTgQSnOylEiYjkgRlI+/8x5o5mcHDQczkiDzr9FhARERExQCFKRERExACFKBEREREDFKJEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDnAq7AXl1+vRpZsyYwf79+7ly5QqVKlWiY8eODBo0iJIlS+arrlu3bvHNN9+wbt06zp8/j4ODA/Xq1aN///506NChgI5ARERE7ifFoifqyJEjBAcHs3r1ary8vAgMDCQhIYHZs2fTq1cv4uPj81xXTEwM3bt3Z9q0aVy9epXWrVvj5+fHvn37GDp0KN99910BHomIiIjcL4p8iEpNTWXYsGEkJCQwadIklixZwtSpU9m0aRPt27cnPDycjz/+OM/1jRkzhsjI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j2fv3r2GdhYfH29oOxEREZGiJt8hKiIiwvqaFBEREZEHVb5DlNlstmmHf35BsYiIiEhxlK8QtXnz5oJqh4iIiEixkq8QVbVq1YJqh4iIiEixoqfzRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDHAq7Abk1enTp5kxYwb79+/nypUrVKpUiY4dOzJo0CBKliyZr7q2bt3KggULOHr0KDdv3qRMmTI89thjDBw4kIYNGxbQEYiIiMj9pFj0RB05coTg4GBWr16Nl5cXgYGBJCQkMHv2bHr16kV8fHye6/rkk0945ZVX2LFjB1WrVqVt27aULl2a9evX07t3b3744YeCOxARERG5bxT5nqjU1FSGDRtGQkICkyZNomvXrgAkJSUxfPhwtmzZwscff8y///3vXOvat28fX3zxBe7u7nz11Vc0bdrUWrZo0SLef/993nvvPVq0aEGlSpUK6pBERETkPlDke6LWrl1LVFQUrVq1sgYoADc3NyZMmIC7uzshISHcuHEj17pCQkIAGDhwYKYABdCrVy/atm1LcnIy69evt+9BiIiIyH2nyIeo0NBQADp06JClzNPTk4CAAFJTU9mxY0eudbm5ueHr60tAQEC25bVr1wYgJibGhhaLiIjIg6DIh6jw8HAA/Pz8si2vU6cOAGFhYbnW9e9//5vVq1dn6YWyOHz4MACVK1c20lQRERF5gBT5EBUdHQ1AxYoVsy338vICbO892rJlCwcOHMDZ2ZmgoCCb6hIREZH7X5EPUYmJicDtW3HZsSxPSEgwvI+wsDDefvtt4PZ4KQ0qFxERkdwU+RDl6OiYp/XMZrOh+o8cOUL//v25du0a7dq1Y+jQoYbqERERkQdLkQ9Rlok0k5OTsy1PSkoCwN3dPd91r1u3jn79+nH16lU6dOjA1KlT8xzaRERE5MFW5ENUhQoVAIiNjc223DIWyrJeXs2YMYNhw4aRmJjI3//+dz7//HNcXFxsa6yIiIg8MIp8iLI8lRcREZFt+alTpzKtl5uMjAzeeustpk6dioODA6NHj+bdd9/FwaHIfxQiIiJShBT55BAYGAjAhg0bspRdvXqV3bt34+rqSsuWLfNU35gxY1ixYgUlSpRgxowZ9OvXz57NFRERkQdEkQ9RQUFBVK1ala1bt7Jo0SLr8qSkJEaPHk1CQgI9evSgXLly1rLU1FQiIyOJjIwkNTXVuvyHH35g2bJlODo6MmvWLNq1a3dPj0VERETuH0X+3Xlubm5MnjyZgQMH8v7777NkyRK8vb05ePAgMTEx+Pv7M3z48EzbREdH06lTJwA2b96Mt7c36enpfPbZZwA89NBDLFu2jGXLlmW7zzZt2tClS5cCPS4REREp3op8iAJo1qwZS5cuZfr06ezZs4dTp07h7e1Njx49GDBggPUJvrsJCwvj0qVLwO2QtXr16hzX9fT0VIgSERGRuyoWIQrA19eXqVOn5mldb2/vLK+BqVevXp5eDSMiIiKSF0V+TJSIiIhIUaQQJSIiImKAQpSIiIiIAQpRIiIiIgYoRImIiIgYoBAlIiIiYoBClIiIiIgBClEiIiIiBihEiYiIiBigECUiIiJigEKUiIiIiAEKUSIiIiIGKESJiIiIGKAQJSIiImKAQpSIiIiIAQpRIiIiIgYoRImIiIgYoBAlIiIiYoBClIiIiIgBClEiIiIiBihEiYiIiBigECUiIiJigEKUiEg+uTjpV6eIKESJiIiIGOJU2A0QESnOBs3fS3JaRmE3Q+SB4urkwJf9mhV2MxSiRERskZyWoRAl8oDS7TwRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERA5wKuwF5dfr0aWbMmMH+/fu5cuUKlSpVomPHjgwaNIiSJUvmq67o6GhmzpzJzp07uXz5Mg899BDt27fntddeo1y5cgV0BCIiInI/KRY9UUeOHCE4OJjVq1fj5eVFYGAgCQkJzJ49m169ehEfH5/nus6dO0e3bt1YtGgRbm5utGvXDkdHRxYsWMCzzz7LpUuXCvBIRERE5H5R5ENUamoqw4YNIyEhgUmTJrFkyRKmTp3Kpk2baN++PeHh4Xz88cd5rm/UqFHExsYydOhQVq9ezdSpU1m/fj29evUiOjqa9957rwCPRkRERO4XRT5ErV27lqioKFq1akXXrl2ty93c3JgwYQLu7u6EhIRw48aNXOvau3cvBw4coHbt2rz66qvW5Y6OjowZM4YqVaqwfft2Tp06VSDHIiIiIvePIh+iQkNDAejQoUOWMk9PTwICAkhNTWXHjh15risoKAgHh8yH7uzszBNPPAHAli1bbG22iIiI3OeKfIgKDw8HwM/PL9vyOnXqABAWFmZzXQ8//HCe6xIREZEHW5F/Oi86OhqAihUrZlvu5eUFQExMjN3qio2NzXc7C4OrU5HPwJKNP583VycH0nUui5U7z6GuQ5F7r6hcd0U+RCUmJgK3x0Blx7I8ISHhntaVFxcuXAAgMjKS4OBgu9QpxV98WhrB1av/b8GGqeBU5C9FuUM8EBxS2K0QeXDFA8E/FFz9kZGRwP++x3NS5H9zOzo6kpGRket6ZrM5T3XlRV72lxfJyckAJCUlcezYMbvUKfeJO4O8bh+LiBRJlu/xnBT5EFWyZEmuXbuW44EkJSUB4O7unqe6IOcPxVJXfifvzEm5cuWIi4vD1dUVb29vu9QpIiIiBevChQskJyfnOgF3kQ9RFSpU4Nq1a8TGxlK5cuUs5ZaxUBUqVMhTXceOHctx/FR+6soLy9OAIiIicv8pGiOz7sLyJF1ERES25ZY5nXJ64i67unKaByo/dYmIiMiDrciHqMDAQAA2bNiQpezq1avs3r0bV1dXWrZsmee6Nm7cmGUMVWpqKps3b860noiIiEhOinyICgoKomrVqmzdupVFixZZlyclJTF69GgSEhLo0aNHpvuWqampREZGEhkZSWpqqnV548aNadiwIeHh4Xz22WfWIJWens748eO5dOkS7dq1w9fX994doIiIiBRLJnNeHmsrZHv37mXgwIEkJSVRv359vL29OXjwIDExMfj7+zN//vxMg8EvXLhgnX188+bNmQZ1R0ZG0qdPH65evUrt2rWpU6cOJ06c4Ny5c3h7e/P999/bbUyUiIiI3L+KfE8UQLNmzVi6dClPPvkkFy9eZOvWrZQqVYohQ4Ywb968fD1N5+Pjw7JlywgODiY+Pp7Q0FBMJhP9+vVjyZIlClAiIiKSJ8WiJ0pERESkqCkWPVEiIiIiRY1ClIiIiIgBClEiIiIiBihEiYiIiBigECUiIiJigEKUiIiIiAEKUSIiIiIGKESJiIiIGOBU2A2Q21auXElISAgnT54kMTGR8uXL07JlSwYNGkTt2rXzVMevv/5K//79cyx3d3fn4MGD9mqy3CEjI4PFixcTEhJCZGQkJpMJHx8fnn32WXr16oWTU94vtdOnTzNjxgz279/PlStXqFSpEh07dmTQoEH5mp1f8sde51DXYdHxz3/+k/Xr1zNx4kSCg4PzvF10dDQzZ85k586dXL58mYceeoj27dvz2muvZXpPqxQ8I+fw/PnzBAUF3XWdXbt22eVcKkQVMrPZzIgRI1izZg3Ozs74+/tTrlw5Tp48yYoVK1i3bh2zZs2iZcuWudZ17NgxABo0aEDNmjWzlLu6utq7+fL/3nrrLVauXImbmxtNmjTB2dmZAwcOMG7cONavX8+cOXNwcXHJtZ4jR47Qv39/EhISePTRR2nQoAEHDhxg9uzZbNmyhf/+97+UKlXqHhzRg8de51DXYdGwdOlS1q9fn+/tzp07x/PPP09sbCy+vr60a9eO48ePs2DBAjZu3MjixYupXLlyAbRY/szoObRcgw8//DCPPPJItuvY7To0S6H64YcfzL6+vubWrVubw8LCrMvT0tLMn3zyidnX19f8l7/8xXzr1q1c6xo+fLjZ19fXvH379oJssvyJ5Ry2a9fOHBUVZV0eFxdn7tKli9nX19f81Vdf5VpPSkqKuV27dmZfX1/z8uXLrcsTExPNgwcPNvv6+prff//9gjiEB569zqHZrOuwKPj999/NjRo1Mvv6+pp9fX3Ny5Yty/O2vXr1Mvv6+pqnTZtmXZaWlmZ+7733zL6+vuaBAwcWRJPlT2w5h1OmTDH7+vqav//++wJs4W0aE1XIQkJCAHjjjTfw9fW1Lnd0dGTYsGHUqVOHP/74g507d+ZalyV9+/v7F0xjJVsrVqwAYPjw4VSpUsW63NPTk0GDBgGwffv2XOtZu3YtUVFRtGrViq5du1qXu7m5MWHCBNzd3QkJCeHGjRt2PgKx1zkEXYeFLSUlhTfeeAMHBwfq1auXr2337t3LgQMHqF27Nq+++qp1uaOjI2PGjKFKlSps376dU6dO2bvZcgdbziHA8ePHgXtzDSpEFbLSpUvj4+PDY489lqXMZDJRq1YtAGJiYu5az82bNzl79ixVq1bF09OzQNoq2fvyyy9ZvXp1tvfgMzIyAHB2ds61ntDQUAA6dOiQpczT05OAgABSU1PZsWOHjS2WP7PXOdR1WPg+/fRTjh07xnvvvZfv226WazAoKAgHh8xfj87OzjzxxBMAbNmyxT6NlWzZcg7h9h8yzs7OmTomCopCVCGbMWMGP/74I9WqVctSlp6ebv2rNrf/kU6cOIHZbKZGjRrMnDmTzp078+ijj9KqVStGjhzJ6dOnC6T9Ai4uLvj6+lKiRIlMyyMjI5k2bRpAngZEhoeHA+Dn55dteZ06dQAICwuzpbmSDXudQ12HhWvnzp188803PPXUU3Tp0iXf2+d2DT788MOArsGCZOs5vHjxIlevXqVmzZosXryY4OBgGjduTEBAAK+99hq//fabXdurEFWE/fe//yUqKgpPT09atGhx13UtYWvnzp3Mnj2bChUqEBAQAMCqVasIDg5m9+7dBd5mgVGjRvHcc8/x1FNPERMTw9tvv81TTz2V63bR0dEAVKxYMdtyLy8vIPdeSbGd0XOo67DwxMXF8eabb1KpUiX+/e9/G6ojr9dgbGysofrl7uxxDi3XYEREBBMnTqRkyZK0aNECd3d3Nm3aRO/evVm7dq3d2qyn84qoXbt28Z///Ae4PV7qz38h/5nlf5wmTZowdepU68WekpLCpEmTWLhwIcOGDWPjxo14eHgUbOMfYDdv3uSHH36w/mwymTh37hy3bt3KdXqCxMRE4PYYqOxYlickJNinsZItW86hrsPC884773DlyhXmzZtH6dKlDdWha7Bw2eMcWq7B2rVrM2vWLOsTshkZGXz55Zd8+umnvP322zRs2DDbO0D5pZ6oIig0NJTBgweTkpLC888/T/fu3XPdZvz48axbt46vvvrK+osbbt+mGD16NI888ghxcXGsWrWqIJv+wHNxcWHHjh0cOHCAefPmUb16dRYuXMigQYMwm8133dbR0TFP+8itHrGNLedQ12HhWLhwIaGhobz00ks0b97ccD15vQYt4+TEfux1DocMGcKmTZtYuHBhpilGHBwcGDx4MO3atSM5OZlFixbZodUKUUXOd999x2uvvUZSUhJ9+/blvffey9N2Li4u1KpVK9u/bh0dHQkMDASw+/1gyczFxQUvLy9rF/I333yDl5cX+/btY9u2bXfd1tLLkZycnG15UlIScHuyRik4tpxDXYf3XkREBJMnT6Z+/fq8/vrrNtWV12tQk97alz3PoZOTE9WqVctxIk3LwwH2ugZ1O6+ISEtLY+zYsSxevBiTycQbb7xhfbTaHiwD0y3d1XJveHp60rZtW0JCQjh69Kj1SzQ7FSpU4Nq1a8TGxmb7IIFlLFSFChUKqrmSjfycw9zoOrS/KVOmkJycjJubG2+//XamMsutnSVLlrBz506aNWtGz549c6yrQoUKHDt2LMdxh7oGC4Y9z2Fu7H0NKkQVAUlJSbz22mvs2LEDNzc3Jk+ezN/+9rc8b5+SksKHH37IlStXGDt2LOXLl8+yzqVLl4Dcn/KT/ElJSWHKlClcvnyZjz76KNtZcC2zXKelpd21Lj8/P8LDw4mIiKBhw4ZZyi1z0+T05JAYY69zqOuwcFjGJ+3fv5/9+/dnu87Bgwc5ePAgTk5Od/0C9vPzIzQ0NMd5oHQNFgx7nsPJkydz4cIFhgwZku15svc1qNt5hSw9Pd0aoMqVK8d3332XrwAF/xvDsWnTJjZv3pylPCUlhR9//BGAxx9/3C7tlttcXFxYt24d69evt84xc6eUlBTrRKkNGjS4a12WHo4NGzZkKbt69Sq7d+/G1dU1T68Akryz1znUdVg4vvvuO8LCwrL9Z7l1M3HiRMLCwpg0adJd67Jcgxs3bswy/i01NdV6Xm3pjZSs7HkOjx49yoYNG6zX2p9ZxiPa6xpUiCpks2bNYseOHbi7uzN//vxseyDulJiYSGRkJJGRkZmWP//88wB8/PHHnDx50ro8KSmJd955h7Nnz9K8eXN9ARcAy2c/YcIEzp49a12ekJDAmDFjOHPmDL6+vtZfvDmdw6CgIKpWrcrWrVszDXpMSkpi9OjRJCQk0KNHD70AtQDY6xzqOiweUlNTrecvNTXVurxx48Y0bNiQ8PBwPvvsM2uQSk9PZ/z48Vy6dIl27drdk0kc5e5yOoeWa3Du3Lns2rXLujw9PZ3//Oc/7Nmzh5o1a/LMM8/YpR0msx71KTTXr18nMDCQhIQEatasede/crt06UKbNm3YvXs3/fr1AzJP+JaWlsbrr7/Opk2bcHJyonHjxnh6enLgwAH++OMPateuzfz58zM9MST2kZqaytChQwkNDcXZ2ZnHHnsMV1dXfvvtN+Li4qhWrRrffPON9XHanM4h3H7txMCBA0lKSqJ+/fp4e3tz8OBBYmJi8Pf3Z/78+RrUWgDsdQ51HRYtr776Kps3b2bixImZJku9cOGCtYdj8+bNeHt7W8siIyPp06cPV69epXbt2tSpU4cTJ05w7tw5vL29+f777zUm6h4ycg7HjRvHggULMJlMPProo1SsWJGjR48SFRWFl5cX8+bNw8fHxy7t05ioQrRnzx7rveAzZ85w5syZHNf19/enTZs2OZY7OTkxffp0QkJCCAkJ4dixY6Snp1OtWjV69+7Niy++qKe6CoizszMzZ85kyZIlLFu2jMOHD5ORkUH16tXp3bs3AwYMoFSpUnmqq1mzZixdupTp06ezZ88eTp06hbe3Nz169GDAgAEKUAXEXudQ12Hx5+Pjw7Jly5g+fTo///wzoaGhVK5cmX79+jF48OBsx7pJ0fLuu+/SvHlzFi5cyPHjxzl27BiVK1dmwIABDBo0yK69+eqJEhERETFAY6JEREREDFCIEhERETFAIUpERETEAIUoEREREQMUokREREQMUIgSERERMUAhSkRERMQAhSgRERERAxSiRERERAxQiBIRERExQCFKRERExACFKBEREREDFKJEREREDPg/6xPWitr06SgAAAAASUVORK5CYII=", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"samples [13. 14. 15. 14. 15. 15. 14. 14. 13. 15. 15. 15. 13. 14. 14. 14. 15. 15.\n", | |
" 14. 14. 15. 15. 15. 14. 15. 16. 14. 15. 14. 15. 14. 14. 15. 14. 14. 15.\n", | |
" 14. 14. 14. 14. 14. 14. 14. 14. 15. 15. 15. 15. 15. 15. 14. 13. 14. 14.\n", | |
" 14. 15. 15. 14. 14. 15. 16. 14. 16. 14. 15. 14. 14. 14. 15. 15. 14. 14.\n", | |
" 15. 14. 14. 15. 14. 14. 14. 14. 14. 14. 15. 15. 15. 14. 14. 15. 14. 14.\n", | |
" 15. 15. 15. 14. 15. 14. 14. 14. 15. 15.]\n", | |
"title quantile_ppc_0.99\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHDCAYAAAAEOk8LAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABNj0lEQVR4nO3deVhVVf/+8fswi4hKzmCmppjimIamFRpp2mBgzo+aaTY8WtpTWVlZllPpzzG1UkvTcio10xIHsCwHnDKHAEnNEUg00QPIcH5/+D0nEVDOZjrg+3VdXVfsvfban80puFl77bVNFovFIgAAANjFqbgLAAAAKIkIUQAAAAYQogAAAAwgRAEAABhAiAIAADCAEAUAAGAAIQoAAMAAQhQAAIABhCgAAAADCFEAAAAGEKIAAAAMIEQBKPV27dqll156SW3btlXjxo314IMPauLEiTKbzfrqq6/k7++vzp07F3eZAEoYl+IuAAAKi8Vi0Ycffqj58+fbtnl5eenkyZOaP3++Dhw4oPr160uSGjZsWFxlAiihCFEASq0ZM2Zo/vz5cnd319ChQ9WjRw9VqFBBiYmJmjBhglavXq1Dhw5JIkQBsJ/JYrFYirsIACho27dv11NPPSVnZ2d99tlnuvfee7PsT09P1yOPPKJjx45Jkr744gu1adOmGCoFUFIxJwpAqTR58mRZLBb16dMnW4CSJBcXF9133322r++6666iLA9AKUCIAlDq7N27V/v375ezs7MGDRqUa7tKlSpJknx9fVWhQgXb9oyMDH366ad66KGHFBAQoODgYM2aNUvp6el5ruHMmTMaOXKk7r33XgUEBKhLly5auHChchr8t6ctAMfBnCgApU5ERIQkqUmTJqpWrVqu7ZKSkiRlH4V6//339fXXXyskJER333239u3bp2nTpunkyZMaN27cTc8fHx+v7t276+LFi+rbt69uv/12RUZGauzYsbbAZKQtAMdCiAJQ6hw8eFCS1KhRoxu2++OPPyRlDVFRUVFasmSJ+vTpo9GjR0uSunfvrnLlyunzzz9X79691bhx4xv2++mnnyohIUHTp09Xp06dJEm9e/eWj4+PvvjiCz355JOqW7eu3W0BOBZu5wEodc6dOydJ8vb2zrXN+fPnFRkZKSlr2Fq3bp0sFosGDBiQpb3163Xr1t30/Dt37pSHh4c6duyYZfvjjz+uzMxMff/994baAnAshCgApY51LpE1TOXk008/VWpqqqSsyxscOHBAFSpU0B133JGlffXq1VWlShUdOHDgpue/cuWKPDw8ZDKZsmz39PSUJP3++++G2gJwLIQoAKVOrVq1JEm//PJLjpPBw8PDtWDBAkmSj4+PqlatatsXHx+f5etrVa1aVXFxcTc9f506dXThwgVFR0dn2b5jxw5JytKHPW0BOBZCFIBSx3pr7OTJkxo1apQSExMlXb2FN3PmTA0bNkxly5aVlH2RzeTkZLm5ueXYr7u7u1JSUm56/n79+slkMmnEiBHatm2bTp06pVWrVmnq1KlycXHJ0oc9bQE4FkIUgFKnc+fOtoUzV61apTZt2qhly5Zq3bq1Zs6cqYEDB6pBgwaSsoeoMmXK6MqVKzn2m5qaKg8Pj5uev02bNho/frz+/vtvPfXUU+rQoYNGjx6t4cOHy9vb2xbg7G0LwLHwdB6AUsfJyUlz5szRrFmz9P333ys+Pl4eHh6699571b9/f7Vs2VItW7aUlH15gxvNe4qLi8s2Vyo3ISEheuSRRxQVFaW0tDTVr19fzs7O+uCDDxQYGGi4LQDHQYgCUCp5eHjo5Zdf1ssvv5xt34kTJ2xrRF0/EtWoUSNt3bpVx44dyxKYzpw5o/j4eD3yyCN5rsHNzS3LcgibNm1SZmZmlpXSjbQF4Bi4nQfglnP48GFJUtmyZW2T0K26dOkik8lkm3huZf26S5cuWbanpaUpNjZW8fHxNzznpUuXNHXqVNWoUSNbH/lpC6D4MBIF4JZz6NAhSVdv5V2/tECDBg3Uo0cPffXVV0pOTratWL5ixQqFhISoSZMmWdrHxcWpS5cuCgkJ0YQJEyRJly9fVs+ePfXQQw+pRo0a+vvvv7VixQolJiZq/vz5KlOmjO14e9oCcCyEKAC3nJxWKr/WO++8I19fXy1fvlzff/+9qlSpomHDhunZZ5/NU/+urq668847tXLlSv3999/y9vZWmzZtNHToUNWuXdtwWwCOxWThDZcAbjH333+/4uLiNH78eIWGhhZ3OQBKKEIUAACAAUwsBwAAMIA5UYWoffv2SkxMlLu7u/z8/Iq7HAAAkAcnT55UamqqfHx8FB4enms7QlQhSkxMVEpKilJSUvTPP/8UdzkAAMAO1ldG5YYQVYis79ny8PBQ3bp1i7scoGikp0u//fbv102bSi78qAFQcsTGxiolJUXu7u43bMdPtkLk5+enf/75R3Xr1tW3335b3OUARePCBalixX+//u03qUKF4qoGAOwWGhqqgwcP3nQqDhPLAQAADCBEAQAAGECIAgAAMIAQBQAAYAAhCgAAwABCFAAAgAEscQAAeWCxWMSrRoGSw2QyyWQyFeo5CFEAkIvk5GT9888/SkpKUnp6enGXA8BO7u7uqlixosqXLy8np4K/+UaIAoAcXLx4UadOnSruMgDkQ2pqqs6ePauUlBRVq1atwEemCFEAcJ3k5GRbgPLy8lLFihXl4eFRKH/JAigcGRkZunjxouLj43XhwgWVLVtW3t7eBXoOQhQAXMf6wnAvLy/5+fkV+rwKAAXPyclJt912m9LT05WYmKikpKQCD1H8WQUA10lKSpIkVaxYkQAFlHDlypWTJF2+fLnA+yZEAcA1LBaLbRK5h4dHMVcDIL/c3d0lXb29V9BP2BKiAOAa1/6QZQ4UUPJdO5pMiAIAAHAAhCgAAAADeDoPKEZDFkYqNT2zuMsoUJ7mJM2+5uvnF+2S2bNcsdVjL2eT9OSdzqpRwUPH/r4kUw639Ewy6Y5KZYuhOgCOhBAFFKPU9MxSF6Kcr7ueknaNLibJYrkanDItkimHKRROOW0EcMvhdh4AoEBt2bJFr776qh588EE1a9ZMTZo0UadOnTRq1Cjt27cv1+P69esnf39/bdy4seiKLcG+/fZb+fv764UXXrhhuytXrigwMFD+/v5asWJFnvr+4IMP5O/vr9dff93uumbMmCF/f3+NHTvW7mNLGkIUAKBAnDt3TgMGDNCQIUP03Xffyd3dXe3atVNgYKDS0tK0YsUK9ezZU2+99ZZSU1OLu9xbhpubmx5//HFJ0urVq2/a/sqVK1qzZo0kqUePHoVaW0nH7TwAQL5duHBBvXv31vHjx9WsWTONHj1aDRs2zNLml19+0dtvv63ly5frzz//1MKFC+Xiwq+hotCzZ08tXLhQkZGROn36tGrUqJFr282bN+vChQuqX7++WrRoUYRVljyMRAEA8u2tt97S8ePH1aZNGy1atChbgJKktm3basWKFfLz89Pu3bs1c+bMYqj01nTnnXeqRYsWslgs+u67727Y9ptvvpHEKFReEKIAAPly+PBhbdiwQS4uLho/frxcXV1zbevj46N33nlHkvT555/r0qVL2dpYLBYtWrRIXbp0UePGjRUUFKQxY8YoPj4+W9tLly5pypQp6tq1q1q0aKHmzZvriSee0MyZM3PsW5LCw8M1aNAgBQYGqnHjxurYsaMmTpyo8+fPZ2vboUMHNWzYUCdOnFDfvn0VEBCgdu3aaebMmfL399c999yjK1eu5Hie5557Tv7+/tluodlzfkk6c+aM3nnnHbVv315NmjTR448/bgs69ujZs6ekG9/Si4uL0y+//CIPDw917drVtn3Lli0aOnSo7r//fgUEBKh58+Z65JFH9NFHH9neNXkjN5u/1bVrV/n7+2vHjh3Z9tn7/SpKhCgAQL6sX79ektS6dWtVr179pu3vv/9+Va1aVSkpKfrxxx+z7Z86daref/99eXh4qH379pKkxYsXKzQ0VMePH7e1S01N1X/+8x/NmTNHiYmJCgwMVGBgoE6fPq0ZM2aoX79+SktLy9L3uHHj9Nxzz2nHjh2qXbu22rdvr7S0NM2fP1/dunXTX3/9la0ei8WiwYMH68SJEwoKCpKrq6s6deqkFi1a6J9//tFPP/2U7ZjExERt3bpVXl5e6tixo+Hzx8TE6Mknn9TSpUvl5uam9u3by2Qy6c0339T8+fNv+r2+1sMPPyxvb2/9+eef2r9/f45tVq1apYyMDHXu3Nn2st5JkyZpyJAhCg8PV61atfTggw/qrrvu0tGjRzV37twcv88FxcjnVZS4GQ0ARpnNUi6jEA7NzU3y9Cyw7n777TdJUpMmTfLU3mQyqVWrVvr+++918OBBPfnkk1n2HzlyRB988IG6d+8u6epE51GjRum7777Tm2++qcWLF0u6Gt4OHz6se+65R/Pnz7eNgP3zzz/q06ePDh06pA0bNqhLly6Sro7ALFiwQH5+fpo9e7bq168v6eo71SZNmqT58+drxIgRWrFiRZZXhWRmXl2iY926dfLy8lJmZqacnJwUGhqqPXv2aM2aNQoODs5yDT/88IPS0tLUtWtXlSlTxtD5LRaLRo0apb///ltPP/20Xn31VduriBYvXqwxY8bk6ftt5eHhoccff1yLFi3S6tWrc/y8vv32W0n/jlr98ccfmjt3rry9vbVkyRLVrVvX1jY2NlY9evRQVFSUfv31Vz3wwAN21XMzRj+vosRIFAAYMXy4VK6cVLFiyfunXLmr9ReQv//+W5JUqVKlPB9TuXJlSdLZs2ez7evQoYMtQElXny57//33VbFiRe3atUt//PGHpKu3niSpWrVqWW4hli9fXu+9957Gjh2bZW7Wp59+KkkaM2aM7ReyJDk7O+vVV19V/fr1deDAAW3bti1bTU8++aS8vLwk/ftOxc6dO6tMmTIKDw/PduvQOu8oJCTE8Pl///13/fbbb6pVq5ZeeeWVLO9y7Nu3r22Uzh7WeU5r167NNnq0a9cuHTt2TPXr11fz5s0lXX1goFOnTvrvf/+bJUBJUt26ddW6dWtJ0qlTp+yu5Wby83kVFUIUABgxc6aUWXIWEc0iM/Nq/QUkIyNDkm44F+p6N3oq74knnsi2zcPDQ23btpUk7dy5U5IUGBgo6WpgGTx4sJYuXWr7Zd6yZUs9+eSTuuOOOyRJCQkJOnLkiFxcXNSqVats/Ts5Oem+++6TJG3fvj3b/pwmynt5eSk4OFipqanasGGDbfvx48e1b98+3X777WrZsqXh81vDwX333SdnZ+dsx3Tq1Cnbtpvx9/dXs2bNdP78+Wy3Ia3zrKyjUNLVW7TTpk3TU089ZduWkZGhv/76Sz/++KNOnjwpSQV+Oy+/n1dRKTG3844ePaqPP/5Yu3fv1rlz51StWjV17txZQ4YMUdmyeX/9wokTJ7INu15v27Zt8vHxyW/JAEqzoUOlGTNKZpBydr5afwGpXr26YmNjlZiYmOdjEhISJF0dRbpezZo1czzG+li+dQSqSZMmeuedd/Thhx/q559/1s8//yxJuuOOOxQcHKxevXrZ+jpz5owkKT09XY0bN75hbadPn862rUKFCjm2DQ0N1Zo1a7RmzRrbqJN1FOraMGjk/NeOtOUkt+/TzXTv3l379u3T6tWr9eCDD0qSzGazfvzxR9stv2tduXJFa9eu1fr16xUbG6vTp08rPT1dkmy30SyWgl3FP7+fV1EpESFq//79GjBggMxms5o2barGjRtrz549mjNnjjZv3qyvvvpK5crl7d1cBw8elHT1cc+77rorxzbu7u4FVjuAUmrqVGncOOZESQoICNDWrVtvuBr59axtc/o5nNvPYOsv6mtHsfr27atHHnlEmzZt0s8//6zIyEgdO3ZMc+fO1YIFCzRz5kwFBQXZ5jV5e3vfdO5OQEBAtm1OObxDUfp3Mv327duVkJCgypUra82aNTKZTFlCVH7On1tAyWl0Ki8eeeQRjR8/XuHh4bp48aK8vb31ww8/yGw2KzQ01DahXLq6gGq/fv0UGxsrd3d3BQQEqE2bNqpbt66aN29um1+VX5nX/TGS38+rqDh8iEpLS9Pw4cNlNps1YcIEW9JPSUnRiBEjtHnzZk2ePFnvvvtunvqzhqh+/fqpV69ehVU2gFuBp2eBhpGSqmvXrpozZ45+/vlnnTp1Sr6+vjdsv23bNh07dkweHh7q3Llztv1xcXHZ5t9Ist06un6hyAoVKqhbt27q1q2bpKuToadPn65NmzZp4sSJCgoKss3B8vDw0KRJkwxdZ06cnJxs179+/Xo1btxYx48fV2BgYJbvg5HzW0egcptvZB2psleZMmX02GOP6euvv9YPP/ygnj17auXKlZKyrw31//7f/1NsbKzatGmjadOmqXz58ln2X7x4MU/ntIZQ663f612/TEJhfV4FzeHnRK1du1anTp1S27Zts0zQ8/Dw0Lhx4+Tp6akVK1bk+YM8dOiQpOJNrgBQmtSpU0chISFKT0/XyJEjc103Sbo6UXn06NGSro4i5XQXIaclAy5duqStW7dK+ncu1IwZM/TAAw/YXlFi1aBBA7355puS/r0t5OvrK19fX8XHx+v333/PsbaXX35ZoaGhWrdu3c0uOYvQ0FBJ0oYNG7R27dos26yMnN86BywiIiLH7+nmzZvtqvNa1nlPP/zwg+Li4rRr164sE8qt9uzZI0l66qmnsgWoS5cuae/evZJufjvP8//+2LDexr3WqVOnsgXCwvy8CpLDh6jw8HBJyrLOhlXFihVt72Sy/s91MwcPHpSrq2uWmf4AgPx56623VLduXUVGRqpfv362J+iutXPnTvXs2VPHjx9X06ZNNWLEiBz7WrRokbZs2WL7Ojk5Wa+99pqSkpIUHBxsmyzu5+ens2fPaubMmdl+OVtvMV07n2bQoEGSpFdeeSVbfYsWLdLatWsVHR2tZs2a2XXttWrVUosWLbRr1y6tW7dOnp6eOf7Osvf8jRo1UmBgoM6ePat33nknS5D6/vvvb7ry+I3cddddCggIUGRkpL7++mtZLJYsE8qtKlasKEnatGlTlqCUmJiol156SRcuXJCkm74LsUGDBpKu/g6+dkHNpKQkvfXWWzkeU1ifV0Fy+Nt50dHRkq4+UZCTevXqKTw8XFFRUba1QHJz+vRpnT9/XvXq1dPSpUu1cuVKHT16VG5ubmrZsqWee+65m05gAwBk5+XlpWXLlmnkyJHauHGjunbtqnr16ql27drKyMhQdHS0Tpw4IenqKM3bb7+d69N8AQEBevbZZ9WsWTNVqVJFe/bsUUJCgurVq6f333/f1u7xxx/X2rVr9fPPP+uhhx5SixYt5OXlpSNHjig2NlZeXl62ESlJ6tOnj37//XetXLlS3bp1U8OGDVWtWjXFxMTo6NGjcnJy0oQJE274XrncWNeMSkhIUGhoqG3k5VpGzj9+/Hg99dRTWrlypbZt26amTZvqzJkz2r9/v1q0aGEbKTKiZ8+eevvttzV37lyVKVMmywrlVk8//bT27NmjZcuWadeuXapXr54uXLigvXv36sqVK6pXr55iYmJsy1zk5vbbb9fDDz+sH3/8UQMHDlRgYKDc3d21a9cueXh46L777rM9GJCf71dRc/iRKOsQX9WqVXPcb71vmtPrAK5nnQ8VExOj8ePHq2zZsmrdurU8PT21ceNG9e7d2zYUCwCwj5eXlz7++GPNmzdPjz76qMxms8LDw7Vz5055enrqP//5j7799luNHz8+x5BhNXr0aA0fPlwJCQnavHmz3N3d9eyzz2rJkiVZnpx2dnbWzJkzNWLECN1xxx3as2ePNm/erNTUVPXq1UvfffddlonrJpNJEyZM0LRp0xQYGKjjx48rIiJC6enpevTRR7VixQo9+uijhq7dumaUlHVtqGsZOb+vr6+WLVump59+Wq6urrbJ4CNHjtTLL79sqFarRx55RGXLllVaWpo6d+6c463V4OBgLViwQG3atNE///yjzZs3688//9R9992nBQsW6KOPPpIkbdy4Mdvk8Ot99NFHGj58uG6//XZFRkbq999/V8eOHfXtt9/mGIQK8/MqKCZLQT+XWMDuuusuZWZm5rrswLJly/T222/r4Ycf1rRp027Y19SpUzV79mzVqVNHs2fPtg0JZ2Zm6tNPP9WUKVPk7u6utWvXGn509FqhoaE6ePCgGjVqZFsFFrjWgPk7lJpeAh+RvwFPc5Lmj/h3/Zqnp6yX2TNvT886AheT1NvfRb4Vy8iryu0y5fBUlpNJql3JqxiqA2CvzMxMRUVFSbp6Vyu3Jy2vldff3w4/EpXXRzjzkgWHDh2qjRs3avHixbYAJV19auC5555T+/btlZqaqiVLlhgtFwAA3CIcPkRZF9LMbdJaSkqKJN1waNjKxcVFNWvWzHUhTeuiY7k9CQAAAGDl8CGqSpUqknJ+LFL6dy6UtV1+WN8+npycnO++AABA6ebwIcr6VF5MTEyO+48cOZKl3Y1MnDhRw4YNs90bvZ51PRFrmAIAAMiNw4eooKAgSVJYWFi2fefPn9eOHTvk7u6uNm3a3LSvAwcOKCwsLNeFuaxrbtx///3GCwYAALcEhw9RwcHB8vX1VURERJYJ3ykpKRo1apTMZrN69OiRZZ5TWlqaYmNjFRsbm+XN0n369JEkzZ8/3/Z2bOnqMvQffvihdu7cqTvuuCPbyxcBAACu5/CLbXp4eGjixIkaPHiwRo8erWXLlsnPz0979+5VfHy8AgICsq16GxcXZ1t4c9OmTfLz85N0dR2PXbt2adGiRRo4cKCaNm2qqlWr6sCBAzp16pQqV66sWbNmyc3NrcivEwAAlCwOPxIlSa1atdLy5cvVqVMnnT59WhERESpXrpyGDh2qBQsW2J7gy4u3335b06dP1z333KPY2Fht3rxZzs7OGjhwoL777rscX3oJAABwPYcfibKqX7++pk+fnqe2fn5+uU4el6ROnTqpU6dOue4HAAC4mRIxEgUAAOBoCFEAAAAGEKIAAAAMIEQBAAAYQIgCAAAwgBAFAABgACEKAABk8/3332vGjBk6ceJEcZfisErMOlEAAKBoREdHa+TIkUpPT9f+/fv12WefFXdJDomRKAAAkMV7772nihUratiwYfrpp58UFhZW3CU5JEaiAACAzcqVK7Vr1y598skneuCBB7R7926NGzdO7dq1k6enZ3GX51AYiQIAAJKkixcv6qOPPlL37t0VFBQkk8mk8ePH6/Lly5o5c2Zxl+dwGIkCADuZirsAoJB4e3vr119/zbKtWrVqioyMLKaKHBshCgCQLzNmzLB7lGLo0KEaNmxYIVVkv7i4OI0bN07bt2/X5cuX5ePjo6VLl8rJySnH7dWrVy/ukuEACFEAkA9DFkYqNT2zuMvIE3cXJ33av1WB9+vv76/HHnssy7bk5GRt3LhRkrLtsx7jSF599VXt2LFDlStXVocOHZSRkaGqVavqqaeeynE7IBGiACBfUtMzS0yIKiwdO3ZUx44ds2w7efKkLURNmjSpOMqyy969eyVJc+fOVYMGDW66HZAIUQAA6MqVK5KkGjVq5Gl7aRMaGqqDBw9q4cKFOnfunJYvX65Dhw7p8uXLql69urp3767BgwfLyYnn0a5FiAIAFAvrXKoJEyYoOjpay5cvV0ZGhlq3bq3Zs2fb2u3evVuff/659uzZo4sXL6py5cq677779Nxzz+UabvJ6TL9+/bRz507b161aXb3d6evrq1OnTmXbPn78eJ06dUozZ85U//79NWrUqGznbtmypZKSkrRp0yb5+fnZtm/btk1ffPGFoqOjlZCQoAoVKqhZs2bq37+/7rnnHsPXYM/3Mifp6ek6cuSIJGnJkiVat26dypUrp5o1a+rUqVP666+/NHnyZCUkJOR4vbcyIiUAoFh98skn+vLLL3X33XfL399ftWvXtu374osv1LdvX23cuFHVq1dXhw4d5OHhoaVLlyokJET79+/P1p89x9x7771Z5mx17txZjz32mEJDQ3Pcfvvttxu6xu+//14DBw7UTz/9ZKupatWq2rBhg/r3769169YZvoa8fi9z8+effyo1NVWStH79ev3vf//TL7/8opUrV+rXX39Vnz59JEmLFy/W2bNnDV1/acVIFACgWB09elRz587VfffdJ0nKzLw6xywyMlITJkyQt7e3Zs2apZYtW9qOWbBggcaNG6dhw4Zp/fr18vDwMHTM888/L0las2aNJGnMmDHy9va2HZPT9m3bttl9jdOnT5fFYtHcuXPVrl072/alS5fqnXfe0YwZM9SlSxfD132z7+WNHD582Pbvo0aNUt++fW1fu7i46PXXX9f69et17tw57dy5U48//rjd119aMRIFAChWdevWtf3Sl2Sbd/PZZ5/JYrHolVdeyRIkJGnAgAG6//77dfbsWVvQMXpMUYiLi5OkbCNZ3bt315tvvqkRI0bIYrFIyt815Pa9vJE//vhDktSoUSPbqNO13N3dbU9Tnjt37qb93UoIUQCAYnXXXXdl25aRkWGbq9SmTZscjwsKCpIkbd++3fAxRSUwMFCS1Lt3b02cOFHbtm3TlStX5OTkpAEDBqhjx44ymUz5voacvpc3Yw1RvXv3lsmU81Ky1hGvsmXL2t1/acbtPABAsapYsWK2bRcuXFBycrIkKTg4+IbHnz592vAxReX999/Xiy++qH379mn+/PmaP3++ypQpo9atW+vRRx9Vly5d5OTklO9ryOl7eTPWENW6detc25w4cULS1dXL8S9CFACgWOU0+mGdy+Pi4qLO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2rWqXbu2bZvJZMpzHyaTSYcOHcpz++joaEmSv79/jvvr1aun8PBwRUVF3TREubi42N7Xd62zZ89q4sSJklSoo2oAAKD0sHvYJTMzM9s268uH88KetpIUFxcnSapatWqO+ytXrixJWZZdyKsPP/xQ+/bt0759+2QymTR48GA988wzdvcDAABuPXaFqD/++CNP2wpScnKypKtzoHJi3W42m+3u+5tvvtGFCxckSW5uboqPj9e5c+duuFwDAACAVAATywubs7NzntrZO8IlSatWrdJvv/2m5cuXq0WLFvruu+/Ut29fpaSk2N0XAAC4tRRqiEpJSdHmzZu1ceNG24iPvawLaaampuZ6DkmGXidTvXp1eXh4qEmTJvrss89Uv359HTt2LM/vAgQAALeuAnkULS4uTrNnz1aNGjU0ZMgQSVJsbKwGDhyohIQESVKZMmX0wQcf3HTy9/WqVKmiCxcuKCEhIcf1qKxzoapUqZKva3Bzc1Pnzp0VHR2tAwcO5KsvAABQ+uV7JCoxMVE9evTQ0qVLtXfvXtv2d955xxZwypYtK7PZrNdee02xsbF29W99Ki8mJibH/UeOHMnS7kamTZumF198UWfPns1xv5ubmyQpPT3drhoBAMCtJ98hasGCBYqLi9Ptt9+unj17SpKOHz+u3bt3y9nZWV9//bV27dqlIUOGKD09XV988YVd/QcFBUmSwsLCsu07f/68duzYIXd39zytPbV9+3atX79ea9euzXH/li1bJEmNGze2q0YAAHDryXeI+umnn+Ti4qJ58+bZAk9ERISkq4tyNmvWTJI0bNgweXt7a/v27Xb1HxwcLF9fX0VERGjJkiW27SkpKRo1apTMZrN69OghHx8f2760tDTFxsYqNjZWaWlptu19+vSRJM2cOVP79+/P0n7SpEnauXOnKleurNDQULtqBAAAt558z4k6ceKE7rjjDvn5+dm2/frrrzKZTLr33ntt21xdXeXn52f37TwPDw9NnDhRgwcP1ujRo7Vs2TL5+flp7969io+PV0BAgEaMGJHlmLi4ONvcq02bNtlqe+yxxxQZGamlS5eqZ8+eat68uby9vXX48GGdPXtWPj4+mjVrlry8vIx+OwAAwC0i3yEqJSXFNpdIujqfKDIyUpJ0zz33ZGmbnJxs1+rmVq1atdLy5cs1c+ZM7dy5U0eOHJGfn5969Oih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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"samples [33. 36. 40. 35. 37. 42. 35. 32. 38. 39. 40. 40. 37. 37. 43. 35. 40. 36.\n", | |
" 35. 42. 41. 46. 41. 39. 40. 40. 36. 40. 41. 36. 43. 37. 44. 33. 42. 29.\n", | |
" 34. 39. 45. 34. 36. 36. 39. 41. 35. 38. 40. 47. 41. 34. 31. 32. 40. 33.\n", | |
" 39. 35. 41. 40. 44. 33. 35. 37. 34. 34. 41. 39. 31. 37. 38. 38. 37. 40.\n", | |
" 33. 40. 38. 37. 35. 38. 33. 40. 40. 44. 37. 41. 38. 38. 40. 43. 40. 35.\n", | |
" 37. 40. 36. 38. 35. 39. 41. 37. 37. 40.]\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmsAAAHFCAYAAACtsr7nAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3mklEQVR4nO3deXhN1+LG8W/mQYw1J2ZCCUppKC1R1aqrKqaWCkpTV2m5tLRUlZpu6ZgqNRSlNZcabk2JqikSMU8h5inSRAiZk/P7I79zKnIiJxIc8n6ex9Nm77XWXucckTdrr7W2jcFgMCAiIiIiVsn2YXdARERERLKnsCYiIiJixRTWRERERKyYwpqIiIiIFVNYExEREbFiCmsiIiIiVkxhTURERMSKKayJiIiIWDGFNRERERErZv+wOyAij7e4uDhWrFhBUFAQ4eHhXL9+HUdHRypWrIi3tzddunShRo0aD7ub+SI1NZXz589TpUoV07Hg4GD8/PwAOHz4MPb2Gf/sjhgxgt9++4327dszZcqUh9Lf261cuZJff/2V8PBwAKpUqUKnTp144403sLXN/e/1Fy9eZMaMGWzbto2oqChKlSpFgwYNeOutt6hTp0629Y4fP87MmTMJDg4mNjaWcuXK4e3tzVtvvZXpfb1TaGgoP/30E2FhYdy6dQt3d3datmxJ7969KVOmTK77L2JNNLImIvdNYGAgL7zwAhMmTGDnzp3Y2tpSq1YtihcvzokTJ5g3bx7t27fn888/JyUl5WF3N0+2bdvGv/71L1auXPmwu5Jr48aNY/jw4ezbt4+yZcvi7u7O4cOHGTt2LG+//XauP5sdO3bQvn17Fi9ezJUrV6hWrRr29vasWbOGTp06MXfuXLP1Vq1aRadOnVi9ejWxsbHUqFGD5ORklixZwquvvsq6devM1vvxxx9588032bRpE4mJidSoUYMbN24wZ84c/vWvfxEcHJzbt0TEuhhERO6DWbNmGWrWrGnw9PQ0DBgwwHD06NFM56Ojow3ffPONoU6dOgZPT09Dt27dDLdu3XpIvc27N9980+Dp6Wn48ssvMx2Pj483nDx50nDy5MlMx4cPH27w9PQ0DB069EF2M4vly5cbPD09DU8//bQhJCTEdPzgwYOGZs2aGTw9PQ1fffWVxe1dvnzZ8PTTTxs8PT0NXbt2NVy4cMF0btu2baZza9asyVTv0KFDpr8L77zzjiE6Otp0buXKlYY6deoYatasadizZ0+meps3bzZ4enoaPD09DaNGjTL9HUpLSzPMmjXL4OnpaahXr57h3LlzuXlbRKyKRtZEJN/t2bOHqVOnYjAYGDhwIN9//z21atXKVKZEiRK89957/PTTTxQqVIi9e/cyadKkh9Tj+8fFxYVq1apRrVq1h92VLNLS0vjhhx8AGDZsGI0aNTKd8/Ly4osvvgBg3rx5xMXFWdTmTz/9RFxcHKVKlWLGjBm4u7ubzjVr1oxhw4YBMHHiRJKSkkznfvjhB1JSUvD09OTbb7+lRIkSpnMdOnSgT58+GAwGxo4dm+l63333HQDNmzdn3LhxuLq6AmBra0vfvn1p164diYmJj+XfLSk4FNZEJF+lp6fz8ccfk5aWho+PD4MGDbpr+caNGzN06FAAFi9ezO7dux9EN4WMeV7nzp3DwcGBDh06ZDnftGlTKlWqRHx8PJs3b7aozT///BOAzp07U6xYsSznu3TpgqurK1FRUWzbtg3ICI3bt28HwM/PD0dHxyz1evXqBcDRo0c5duwYAFFRURw5cgSAfv36me2PsV5QUBCxsbEWvQYRa6OwJiL5atu2bZw5cwaAAQMGWFTnjTfeoFy5cgAsWLAg07lWrVpRs2ZNli5darbuiBEjqFmzJiNGjMhy7urVq3z11Vd07tyZZ555hjp16vDMM8/w+uuvM2fOHBITEzOVv3DhAjVr1qRZs2YYDAaWLl1Kly5daNCgAQ0aNKBbt24sX74cg8FgqrNixQpq1qxpCpnTp0/P1J/g4GBq1qxJzZo1SU1Ntej9SEtL47fffsPPz49nnnkGLy8vWrVqxSeffGJ6b/PDvn37AKhduzYuLi5myzRs2BDA4hB96dIlIGNkzhw7OzsqVqwIwP79+wG4du0a8fHxd61XsmRJChcunKme8VpAtosWjIsS0tLSOHTokEWvQcTaaDWoiOSrLVu2APDEE09Qr149i+rY2trywgsvsGDBArZt20Z6evo9rUC83b59+3j77be5ceMGTk5OVKxYEXt7ey5cuMDevXvZu3cvmzdvZv78+djZ2WWqazAYGD58OKtWraJIkSJUqVKF8+fPs2/fPvbt28fp06dNt/OeeOIJGjZsSHh4ODdv3qRcuXKUK1eOypUr31O/b926xcCBA9mxYwcAZcqUwcPDgzNnzrBkyRJ+//13vvjiC9q0aZOn9wfg7NmzAFSoUCHbMsbbmJaGRBsbGwDTqldzjKH14sWLmerkVC8tLS3X9W4PyMZ6Io8ajayJSL4y3qK6c45aTp588kkgI6xcuHAhT31IS0vjgw8+4MaNG7Ru3Zq//vqLNWvWsHLlSnbu3Gm67RoaGspff/2VpX50dDRr1qxh5MiR7Nq1ixUrVrBt2zZeffVVIGNeVkxMDAAtWrTg119/pXbt2kDG/Kpff/2V/v3731PfP/nkE3bs2EGNGjVYunQpW7duZcWKFezcuZP+/fuTmJjIsGHDTFts5IXxNdw+P+xOxluZ165ds6hNY/A7evSo2fNJSUmcP38egOvXrwNQvHhx3Nzc7lrvwoULptE3Yz0PDw/T+ezqnThxwvT/xnoijxqFNRHJV9HR0QAULVo0V/VKlixp+n9jiLhXx44dIzY2FkdHRz7//PNMfXFwcMDf398UKrILPd27d8fPz8806ubk5MTHH3+MjY0NqampHDhwIE99zK7fa9euxcXFhdmzZ2camXRycmLIkCG0bduWpKQkpk2blufrJSQkmNrOjrOzM0CWW8bZadWqFQC//PKL2YA3Z84c08IC45Ygtra2tGzZEoBZs2aRnJycpd706dNN/2+sV6JECRo0aABkLFC4/fb03eqJPGoU1kTEKtx+Syuvt0Dr1KlDSEgIISEhFC9ePMv55ORkU4AzBpY7+fj4ZDlWvHhx0yjUjRs38tRHczZu3AjAM888k+1GrsaFAFu3bjXdFrxXd97+vZvbP5+76d27N6VKleLq1av07NmTnTt3kpycTHR0ND/++CMBAQGmz+T2W5cDBgzAxcWF48eP07t3b/bv309ycjKXL19m8uTJLF261Gy9IUOGYGtry19//cW7775LeHg4KSkpnDlzhg8//JBdu3aZPmsHBweLX6+INdGcNRHJVyVKlODMmTO5Xnl3+yjM3W7L5YazszOnTp3iyJEjnDt3jvPnz3Py5EmOHz9uGt1JT083Wze7sGQcacprUDLHeMvu0KFDvPHGG2bLGPt969YtIiMjKV++/D1fz7jNxe1baNzJOKJmfN05KVGiBDNmzKB///6cOHGC3r17Zzr/+uuvU6hQIWbPnm269QlQrVo1AgICeP/999mzZw9du3Y1nbOzs+P999/nxIkTrFu3LlM9b29vJkyYwCeffMLmzZszrVp1cnJi3LhxLFmyhP3791OoUCGLXoOItVFYE5F8VatWLcLCwkxz1yxl3ILBzc2NsmXL5rkf+/fvZ8yYMaZ2jYoXL06LFi04cuTIXefG5TQKY+6WW14Z9zKLjo423U6+mxs3buQprBlHqu4WrI0h+oknnrC43Tp16vC///2PpUuXsnv3bhITE6lUqRIdOnSgQYMGfPTRR0DWQNy8eXPWr1/PokWLOHjwIKmpqVSvXp1OnTrh6elJz549zdbr2LEjjRo1YsmSJRw5cgQ7OzuefPJJOnfuTIUKFUy3jPXYKXlUKayJSL5q0aIFv/zyCzExMYSFhZm2frib9PR00/5cTZo0MbuyL7twZJx0fruIiAj8/PxITEw0/bCvVasW1apVM/3Afv311/O8kCG/GbfPeOuttxg+fPh9v55xo967rZI0nsvt6lY3Nzf69OlDnz59spwzbqHh6emZ5VzJkiUZOHBgluPp6emmXwDM1atQoYJp4cjtrl27ZnoNNWvWzNVrELEWCmsikq+ee+45KleuzJkzZ/j++++ZPXt2ljL+/v7UqVOH119/nTJlyrB69WrT1hA9evTIVNY4r8rcpHPI2EvtTvPmzSMxMZGqVauybNkys3uIRUZG5val3XfGPcFuX8F4p2vXrnHq1CnTFiGWziUzx7iA4ciRIyQnJ5vdjHbv3r0Apon8OQkNDeXgwYPUrFmTZ599Nsv58+fPmxZ1NG3a1HT8zz//5MSJE3h7e1O3bt0s9Xbv3s2NGzdwcXHJ1Jd169Zx4cIFXnrpJSpVqpSlXmBgIJCxcvRuW5SIWDMtMBCRfGVnZ8eECROws7Nj27ZtfPPNN5nO//3334SEhDBt2jTatWvH999/z2effQZAy5Yts/yAN96qO3XqVJZrXblyxexGp8aRlGrVqpkNatu3bzdtqJpfc8/yEpqMjIsadu7cSUREhNkyU6dOpXv37vTs2TPPt2IbNGhA2bJlSUhIYNWqVVnO79ixg7Nnz+Lm5saLL75oUZvBwcFMmjSJb7/91ux54y3JF154IdOjqNavX88XX3xh9iHvBoPBtKqzS5cumebPLV68mKlTp7J8+fIs9ZKTk02/LBhvoYo8ihTWRCTfPf3003zwwQfY2Ngwbdo03n33XY4fPw5k3ObatWsX/fv3Jy4ujm+//ZZbt25RpUoVpkyZYrYtgN9++409e/aYjp85c4YBAwaY3Y7BOEK1fft2QkNDTcdTU1NZs2YNQ4YMMR2zdEuKnBgn6+dl49VGjRrRvHlzUlNTefvttwkLCzOdS05OZtq0aaYnObz99tt5XjVrY2PDu+++C2Q8q9P4+CeAw4cPm27F9uzZ0/T0AKOrV68SERHBuXPnMh1/9dVXcXBwYO/evcyYMcO0gCMpKYmvv/6aFStW4OjoyODBgzPV8/X1BWDt2rWsXLnSdPzmzZuMHDmSnTt3UqxYsSz71xnrzZ0717SRMGT8UjBo0CAiIiKoWLEi3bt3z+3bI2I1dBtURO6LPn36UKlSJUaMGMGmTZvYtGkTpUuXpkyZMty6dcu0e77RhQsXmDVrFv7+/plW7fXq1Yvff/+dv//+m+7du1O9enUgY6StSJEi9O7dO8tozFtvvcWaNWu4du0aPXr0oHLlyhQqVIgLFy5w/fp1XF1dadCgAXv37uXKlSv58npr165NUFAQq1ev5vjx4zRq1IhPP/001+1MmTKFd955h/379/PGG2/g4eFB0aJFOX/+vGm7kN69e/P666/nS7+7dOnC7t27Wb16NX379qVy5co4Ojpy4sQJDAYDzz//vNk5ZF9++SW//fYb7u7upluNkDF3bMSIEYwbN44vv/yS+fPnU6ZMGc6dO0dcXBxOTk4EBARkmXfWqFEj3nrrLebMmcPw4cP5+uuvKVGiBKdOnSIhIYFixYoxZ86cLAsdXn31VQIDA/njjz/o06cPFStWxNXVlYiICFJSUnB3d+enn34ye4tX5FGhsCYi902rVq3YvHkzy5cvJzAwkPDwcI4ePUqxYsWoVasWjRo14l//+hcXL15k/PjxTJ8+nV9//ZUJEybQunVrAMqWLcvy5cv54Ycf+PPPPzl79iwlSpSgc+fODBw4kK1bt2a5bvny5fn999+ZNm0aO3fu5PLly9jZ2VGuXDleffVVevXqxcWLF+nVqxfBwcHEx8ebRsbu1dtvv83Vq1fZuHEjZ86cyTISZanixYuzcOFCVqxYwZo1azh+/DhXrlyhSJEitGjRgm7duvHCCy/kqa+3s7Gx4YsvvuDZZ59lyZIlHD9+nNTUVGrUqEGHDh3o1avXXR8BZc6bb75JtWrVmDNnDvv37+f48eOULFmSF198kbfffpuqVauarTd8+HDq16/PwoULOXLkCH///Tdly5alZcuWvP3222ZXc9rY2PDVV1/x7LPPsmzZMk6cOEFqaioVK1bkxRdf5K233sr1Bs0i1sbGcD/Wn4uI5NLNmzdZuHAhixcvZvbs2aZbmSIiBZ3CmohYFYPBkC+T9UVEHhdaYCAiVkVBTUQkM4U1ERERESumsCYiIiJixRTWRERERKyYwpqIiIiIFdM+a484Hx8fYmJicHJywsPD42F3R0RERCxw4cIFkpKSKFGiBEFBQXctq7D2iIuJiSExMZHExESuX7/+sLsjIiIiuRATE5NjGYW1R5yTkxOJiYk4OztTrVq1h90dEckvqamwf/8/X9evD7l8koCIWK+IiAgSExNxcnLKsay+8x9xHh4eXL9+nWrVqrFixYqH3R0RyS+xsVC8+D9f798PxYo9rN6ISD7z9fXl8OHDFk1h0gIDERERESumsCYiIiJixRTWRERERKyYwpqIiIiIFVNYExEREbFiCmsiIiIiVkxbdxRwBoMBg8HwsLshIndKT4fb919KT4f0dGxsbLCxsXl4/RKRB05hrQBKT0/n+vXrXLt2jaSkpIfdHRExJy0NZs785+tLlyAyEgB7e3sKFy5M0aJFcXFxeUgdFJEHRWGtgDEYDFy5ckWPphKxdra28OSTmb/+f6mpqVy7do1r167h7u5OkSJFHkIHReRBUVgrYOLi4kxBrXTp0hQpUgQ7O7uH3CsRySI1FQ4c+Ofr6tXB3p709HQSExO5du0aN2/e5OLFizg4OGiETeQxprBWwNy4cQOAEiVK8MQTTzzk3ohItmxts35ta4utrS1ubm4UKlSICxcucPPmTa5fv66wJvIY02rQAiY+Ph6AwoULP+SeiEhe2NjYUPz/nx0aFxf3kHsjIveTwloBYjAYSEtLA8Dp9lVmIvJIcnZ2BjLmsGlVt8jjS2GtALn9H3Mt/Rd59NnedqtUYU3k8aWwJiIiImLFFNZERERErJhWg4qISK74zw8hKTU9X9t0srflR7/G+dqmyOPikQlrp0+f5vvvv2fPnj1ER0dTtmxZ2rZti7+/P4UKFbrndq9du0b79u2pV68e06ZNy3K+Zs2aFrXTsWNHJk2aZPp6+PDhrFy5MtvyPXr0YPTo0bnur4jIw5aUmp7vYU1EsvdIhLUDBw7Qq1cv4uPjqV+/PnXr1iUsLIzp06cTGBjIL7/8ck9bUcTHxzNo0CCioqKyLdO+fftszyUkJLBp0yYAvLy8Mp07fPgwAO3atcs0CdioXr16ue6vPFx//vkna9asISwsjOjoaNLT0ylXrhyNGjWiS5cuPPXUU2br9ezZk927d/P999/TunXrB9vpR9CKFSv46KOPeOGFF8z+AmWUnJzMc889R2xsLOPHj6dz5845tv3555/z888/Z/nlyhLfffcdAQEB+Pn5MXLkyFzVFRHJC6sPaykpKQwePJj4+HgmTZpEx44dAUhMTGTIkCEEBgYydepUxowZk6t2z58/z5AhQzh48OBdy02ZMiXbc8OGDQMyRtXefPNN0/GEhAROnTpFqVKl+PLLL3PVL7E+0dHR/Oc//2HXrl0AVKtWjebNm5OUlERERATLli1j2bJldOnShU8++UTbojwgjo6OvPrqq8yfP59Vq1blGNaSk5NZvXo1AF27dn0QXRQRyRdWv8Bg7dq1XLx4kWbNmpmCGmTsLzRhwgRcXV1ZtmyZaWf+nCQmJvLjjz/y2muvcfDgQSpUqHBP/Vq6dCmrV6+matWqWYLisWPHSEtLyzLaJo+e2NhY3njjDXbt2sVTTz3Fb7/9xrp16wgICGDmzJkEBgYyZ84c3N3dWbp0KX369CE1NfVhd7vA6NatGwAhISFcunTprmUDAwOJjY3F09OThg0bPojuiYjkC6sPa0FBQQC0adMmy7nixYvj7e1NSkoK27Zts6i9devWMXXqVOzt7Rk/fjwDBgzIdZ9iYmL44osvsLGxYeLEiaaNKY2Mt0AV1h59o0aN4uzZszRt2pQFCxZQu3btLGWaNWvGsmXL8PDwYM+ePQQEBDyEnhZM1atXp2HDhhgMBn7//fe7ll2+fDmgUTURefRYfVgLDw8Hsp/oX6NGDQCOHz9uUXvFihVjwIABbNy40aI5LuZ8+eWXXL9+nc6dO5udp2QMa3Z2dgwdOhQfHx/q1atHu3btmDFjBklJSfd0XXmwjh49ysaNG7G3t2fixIk4ODhkW7ZEiRKmBSM//fQTN2/ezFLGYDCwYMECXnnlFerWrUvLli0ZO3YsV69ezVL25s2bfPXVV3To0IGGDRvSoEEDXnvtNQICAsy2DRm/2PTt2xdvb2/q1q1LmzZtmDx5MteuXctStlWrVtSuXZvz58/To0cPvLy8aN68OQEBAdSsWZNnnnmG5ORks9fp378/NWvWZNWqVfd8fYDLly8zevRo0/fHq6++agpUuWEcXbuzP7eLjIxk+/btODs706FDB9PxP//8k4EDB/L888/j5eVFgwYNaNeuHV988QXXr1/P8dorVqygZs2a2f7S16FDB2rWrElwcHCWc7l9v0Sk4LL6sBYZGQlAmTJlzJ4vVaoUgNkfeOa0atWK999/nyJFitxTf86dO8fy5ctxdHRk0KBBZssYw9rXX39NWFgYderUoXbt2pw7d44vv/wSPz8/0zM6xXqtX78egCZNmlCuXLkcyz///POUKVOGxMRE/vjjjyznv/76a8aNG4ezszM+Pj4ALFy4EF9fX86ePWsql5SUxJtvvsn06dOJiYnB29sbb29vLl26xHfffUfPnj1JSUnJ1PaECRPo378/wcHBVKlSBR8fH1JSUpgzZw6dOnXi3LlzWfpjMBjo168f58+fp2XLljg4OPDSSy/RsGFDrl+/ztatW7PUiYmJYdu2bbi5uWUa7c7t9U+cOEHnzp1ZvHgxjo6O+Pj4YGNjw8cff8ycOXNyfK9v9/LLL1OkSBFOnTrFgQMHzJZZuXIlaWlptG3b1vS9P2XKFPz9/QkKCqJSpUq88MILPPnkk5w+fZpZs2aZfZ/zy718XiJScFn9AoOEhASALLcajYzHH1T4mT17Nunp6XTp0sVsgDROOgcYMmQI/v7+ptWgp06dYtCgQezbt49JkyYxduzYB9LnexIfD9mMrFg1R0dwdc2Xpvbv3w9YvnLXxsaGxo0bs2bNGg4fPpxl5PbkyZN8/vnndOnSBciY8D5y5Eh+//13Pv74YxYuXAhkhMSjR4/yzDPPMGfOHNOI3vXr1+nevTtHjhxh48aNvPLKK0DGiNK8efPw8PDghx9+wNPTE4C0tDSmTJnCnDlzGDJkCMuWLcv0mLH09IytF9atW4ebmxvp6enY2tri6+tLWFgYq1evzrJ69X//+x8pKSl06NABFxeXe7q+wWBg5MiR/P3337z11lt88MEHpu+RhQsX5vr7wtnZmVdffZUFCxawatUqs5/XihUrgH9G4Y4dO8asWbMoUqQIixYtolq1aqayERERdO3alePHj7Njxw5atGiRq/7kxOL3a9Ei9FA4EYFHYGTNzs7OonIP4rl4sbGxrFy5Ent7e/z9/c2WcXJyYufOnaxdu5b+/ftn2rajatWqTJ48GciYP5Pd7ayHbvBgKFwYihd/9P4ULpzR/3zw999/A1CyZEmL6xhHeq9cuZLlXKtWrUxBDTJWM44bN47ixYsTGhrKsWPHgH9Gk8uWLZvp1mvRokX57LPPGD9+fKa5cz/++CMAY8eONf3gh4zvnQ8++ABPT08OHTrEzp07s/Spc+fOuLm5Af88Z7Jt27a4uLgQFBSU5e+ocV7Y7Yt9cnv9gwcPsn//fipVqsSwYcMyfY/06NHDNOqYG8Z5aGvXrs0yGhYaGsqZM2fw9PSkQYMGQMb38ksvvcS7776bKahBxmrfJk2aAHDx4sVc9yUnFr9f/7/6WETE6sOaccPb7OZ5JSYmAuCaT6Mpd7Nx40YSExNp1qwZZcuWzbZckSJFqF69utlzXl5elC1bltTUVI4ePXq/upo3AQGQ/ohueJmentH/fJCWlgZw17lqd7K3z36w+rXXXstyzNnZmWbNmgGwe/duALy9vYGMYNSvXz8WL15sCg2NGjWic+fOVK5cGYCoqChOnjyJvb09jRtn3f3d1taW5557DsC09cjtzC2YcHNzo3Xr1iQlJbFx40bT8bNnz7Jv3z4qVqxIo0aN7vn6xtD23HPPmf1l7KWXXspyLCc1a9bkqaee4tq1a1lu3xrnwRlH1SDj1vY333xD7969TcfS0tI4d+4cf/zxBxcuXADI99uguXq/zMxzE5GCyepvg5YuXZrY2FiioqLMzhsyzlUrXbr0fe+LcQ7Tq6++mqd2ypUrx5UrV6x33trAgfDdd49mYLOzy+h/PihXrhwRERHExMRYXMe4wbK5MJ/dNjHly5cH/hlRq1evHqNHj+a///0vf/31F3/99RcAlStXpnXr1rz++uumti5fvgxAamoqdevWvWvfzG1tUaxYMbNlfX19Wb16NatXrzaNohlH1W4Pnfdy/dtHDs251+10unTpwr59+1i1ahUvvPACkDE94o8//jDdKr1dcnIya9euZf369URERHDp0iXTtivG28X5PWKfq/fr/8uKiFh9WKtZsybh4eGcOHHC7FyUkydPmsrdT0lJSezatQtHR0fTDwJzQkNDWbp0KaVLl2bo0KFmyxj/wbZk0vpD8fXXMGFCgZ+z5uXlxbZt29i3b5/FdYxln3zyySznstss1xgIbh+V69GjB+3atWPz5s389ddfhISEcObMGWbNmsW8efMICAigZcuWpnlnRYoUyXFulbmtZMw9XQP+WVSxa9cuoqKiKFWqFKtXr8bGxiZTWMvL9bMLQpZOfbhTu3btmDhxIkFBQdy4cYMiRYrwv//9j/j4eHx9fTMtKoqOjqZnz55ERETg5OSEl5cXTZs2pVq1ajRo0MA0/y2v0u/4hSdX75eZUU8RKZisPqy1bNmS1atXs2HDBjp16pTp3LVr1wgODsbJyYmmTZve134cPnyYlJQUGjRoYJpYbU56ejorV67ExcUFf3//LI/B2rVrF1euXKF8+fKmbUeskqtrvoWeR1WHDh2YPn06f/31FxcvXsTd3f2u5Xfu3MmZM2dwdnambdu2Wc5HRkZmmR8FmG65GUfYjIoVK0anTp1Mf++PHTvGt99+y+bNm5k8eTItW7Y0zZFzdna+69M2csvW1tb0+tevX0/dunU5e/Ys3t7emd6He7m+cUQtu/lgxpG33HJxcaF9+/b8+uuv/O9//6Nbt2789ttvQNa91b788ksiIiJo2rQp33zzDUWLFs103tJNto1h13jL/E53bv+Rq/crNRVy8YuCiDy+rH7OWuvWrXF3d2fLli0sWrTIdDwxMZGRI0cSHx9P165dKVGihOlcSkoKERERRERE5NucE+NjqXLa6LZRo0Z4enqSkJDARx99lOlW54kTJxgxYgQAAwcOzLQyT6xP1apV6dixI6mpqQwfPjzbfccgY8L6p59+CmSMipl7Vq25rTBu3rxp2tDZOFftu+++o0WLFqZHIxnVqlWLjz/+GPhndNbd3R13d3euXr2a7aPT/vOf/+Dr68u6detyesmZ+Pr6AhlzNdeuXZvpmNG9XN84R2/Lli1m39PAwMBc9fN2xnlp//vf/4iMjCQ0NDTTwgKjsLAwAHr37p0lqN28eZO9e/cCOd8GNc6VNfd84YsXL2YJnrl6v8xs/yIiBZPVhzVnZ2cmT56Ms7Mzn376Kb6+vrz33nu8+OKLbN68GS8vL4YMGZKpTmRkJK+88gqvvPLKPf+Wfifj6EdOc+NsbW356quveOKJJ9i4cSOtW7fm3//+N71796Zjx45cvnwZPz+/LKOEYp1GjRpFtWrVCAkJoWfPnqYVm7fbvXs33bp14+zZs9SvXz/L30ejBQsW8Oeff5q+TkhI4MMPPyQuLo7WrVubFg14eHhw5coVAgICsoQA46252+c79e3bF8h4Vu2d/VuwYAFr164lPDw82wfNZ6dSpUo0bNiQ0NBQ1q1bh6urq9knieT2+nXq1MHb25srV64wevToTIFtzZo1OT6J4G6efPJJvLy8CAkJ4ddff8VgMGRaWGBUvHhxADZv3pwpkMXExPD+++8TGxsLZL+wyahWrVpAxsj77RvfxsXFMWrUKLN1LH6/LNwyRkQef1Z/GxSgcePGLF26lICAAHbv3s3Jkyfx8PCga9eu9OnTx7Ri9H4yTjI3N2Jyp+rVq7Nq1SpmzJjBli1b+Ouvv3BxcaFx48a8+eabd53zJtbFzc2NJUuWMHz4cDZt2kSHDh2oUaMGVapUIS0tjfDwcM6fPw9kjDp98skn2a4e9fLy4p133uGpp56idOnShIWFERUVRY0aNRg3bpyp3KuvvsratWv566+/ePHFF2nYsCFubm6cPHmSiIgI3NzcTCNsAN27d+fgwYP89ttvdOrUidq1a1O2bFlOnDjB6dOnsbW1ZdKkSVlus1rCuOdaVFQUvr6+Zldd38v1J06cSO/evfntt9/YuXMn9evX5/Llyxw4cICGDRuaRr7uRbdu3fjkk0+YNWsWLi4umZ5YYPTWW28RFhbGkiVLCA0NpUaNGsTGxrJ3716Sk5OpUaMGJ06cMG3fkp2KFSvy8ssv88cff9CnTx+8vb1xcnIiNDQUZ2dnnnvuOdMCkXt6vyzc7FtEHm82hgexQZncN76+vhw+fJg6deqYNv7MTnp6uumxXDVr1sx2crmYt23bNn777Tf27t3L1atXcXZ2pnz58jRu3BhfX1/q1Kljtl7Pnj3ZvXs3K1eu5M8//2Tp0qVERkZSpkwZ2rVrh7+/v2mvM6PExETmzp3LH3/8wZkzZ0hNTaVMmTI0b94cf39/s/Pn/vjjD5YsWcKhQ4dISEigTJky1K9fn7feeitL31q1asXFixdZuXKl2cUQRjdv3qR58+YkJCTw888/88wzz2RbNjfXh4w5pz/++CMbN24kMjKS8uXL061bN+rWrWv6pWbatGnZXi87t27d4rnnnuPWrVv4+voyceJEs+WCg4P54YcfCA8P58aNGxQrVox69erh5+dH0aJFee211yhXrhyBgYHY2try3XffERAQgJ+fHyNHjjS1k5yczOzZs1m1ahUXLlygaNGitGjRgsGDBxMQEMDixYuZP3++6Ta3xe/XnXPWnnoK7tga5mF9T/eaE0xSav6uFneyt2XeW945FxR5TOTm57fC2iNOYU3kMaWwJvJYy83Pb/20FhEREbFiCmsiIiIiVkxhTURERMSKKayJiIiIWDGFNRERERErprAmIiIiYsUU1kRERESsmMKaiIiIiBVTWBMRERGxYgprIiIiIlZMYU1ERETEiimsiYiIiFgxhTURERERK6awJiIiImLFFNZERERErJjCmogUKGvWrOG7777j/PnzD7srIiIWsX/YHRAReVDCw8MZPnw4qampHDhwgJkzZz7sLomI5EgjayJSYHz22WcUL16cQYMGsXXrVjZs2PCwuyQikiONrIlIgfDbb78RGhrKjBkzaNGiBXv27GHChAk0b94cV1fXh909EZFsaWRNRB57N27c4IsvvqBLly60bNkSGxsbJk6cyK1btwgICHjY3RMRuSuNrInIY69IkSLs2LEj07GyZcsSEhLykHokImI5hTWRbHz33Xe5HnUZOHAggwYNuk89yr3IyEgmTJjArl27uHXrFiVKlGDx4sXY2tqaPV6uXLmH3WUREbmDwppky39+CEmp6Q+7GxZxsrflR7/G+dpmzZo1ad++faZjCQkJbNq0CSDLOWMda/LBBx8QHBxMqVKlaNWqFWlpaZQpU4bevXubPS4iItZHYU2ylZSa/siEtfuhTZs2tGnTJtOxCxcumMLalClTHka3cmXv3r0AzJo1i1q1auV4XERErI/CmshjLDk5GYDy5ctbdPxx4+vry+HDh5k/fz7R0dEsXbqUI0eOcOvWLcqVK0eXLl3o168ftrZaayUi1kthTSSfGee6TZo0ifDwcJYuXUpaWhpNmjThhx9+MJXbs2cPP/30E2FhYdy4cYNSpUrx3HPP0b9//2xDlKV1evbsye7du01fN26ccYvY3d2dixcvZjk+ceJELl68SEBAAH5+fowcOTLLtRs1akRcXBybN2/Gw8PDdHznzp3MnTuX8PBwoqKiKFasGE899RR+fn4888wz9/wacvNempOamsrJkycBWLRoEevWraNw4cJUqFCBixcvcu7cOaZOnUpUVJTZ1ysiYi3066TIfTJjxgx+/vlnnn76aWrWrEmVKlVM5+bOnUuPHj3YtGkT5cqVo1WrVjg7O7N48WI6duzIgQMHsrSXmzrPPvtspjl1bdu2pX379vj6+po9XrFixXt6jWvWrKFPnz5s3brV1KcyZcqwceNG/Pz8WLdu3T2/Bkvf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vS/Xv3XrFn369OHIkSNUrFiRxYsX07hx42zLx8XFsXr1aubPn09KSkqW82vWrCElJYWGDRvi5uZ2X/osIiIijw+rD2utW7fG3d2dLVu2sGjRItPxxMRERo4cSXx8PF27djXdWoSMR1RFREQQERFhNjDlxueff86xY8coXbo0CxcuzHYumtGLL75IyZIluXjxIhMnTsx0/dDQUCZOnIiNjQ0DBw7MU79ERESkYLD6rTucnZ1N88M+/fRTlixZgoeHB3v37uXq1at4eXkxZMiQTHUiIyN55ZVXANi8ebPpKQO5derUKVauXAlk7Of23//+N9uyvXv3xsvLCzc3N7788kv69+/PwoULCQoKonbt2sTExLB3714ARowYcd9GAkVEROTxYvVhDaBx48YsXbqUgIAAdu/ezcmTJ/Hw8KBr16706dPHtGI0v23dutX0tIHDhw+bnkxgzssvv2x6vJS3tzcrV65kxowZbN++nT///BM3Nzd8fHzo27cvjRo1ui/9FRERkcePjUGbfT3SfH19OXz4MHXq1GHFihUPuzsikl9iY6F48X++vnYNihV7WL3JpNecYJJS8/exeU72tsx7yztf2xSxZrn5+W31c9ZERERECjKFNREREREr9kjMWRMRedD854fk660+J3tbfvTLftsfEZHsKKyJiJiRlJqe7/OyRETuhW6DioiIiFgxhTURERERK6awJiIiImLFFNZERERErJjCmoiIiIgVU1gTERERsWIKayIiIiJWTGFNRERExIrlOaxFRUXlRz9ERERExIw8hzUfHx/69+/Phg0bSElJyY8+iYiIiMj/y/PjptLS0tiyZQt//vknRYsWpX379vj6+vLkk0/mR/9ERERECrQ8j6wFBQUxePBgKlWqRGxsLD///DO+vr507NiRn3/+mWvXruVHP0VEREQKpDyHtbJly9K/f3/++OMPFi9eTLdu3ShSpAhHjx5lwoQJPP/887z33nts2bKF9HQ9FFlEREQkN/J8G/R29evXp379+owcOZLAwEBWrVrFjh072LBhAxs3buSJJ57gtddeo2PHjlSrVi0/Ly0iIiLyWLovW3c4Ojry8ssv88MPP7Br1y5GjBiBi4sL0dHRzJ49m3/961/06NGDTZs23Y/Li4iIiDw28nVk7XYXLlxgzZo1bNiwgaNHj2IwGACoVasWf//9N3v27CEsLIzmzZvzzTff4Orqer+6IiIiIvLIytewdvPmTdatW8eqVasICwsDwGAwmFaJdu7cmVq1apGWlsbmzZsZO3Ys27ZtY/z48YwfPz4/uyIiIiLyWMiXrTv+/PNPVq1axZYtW0hOTsZgMGBra0vTpk3p1KkTrVu3xtHR0VTHzs6ONm3a4OrqSr9+/di0aZPCmoiIiIgZeQ5rzZs3JzY21nSbs0KFCnTs2BFfX1/Kli1717pVq1YFIDU1Na/dEBEREXks5TmsXbt2DWdnZ9q0aUOnTp3w9va2uG5SUhJdu3bFy8srr90QEREReSzlOax99tlntGvXDjc3t1zXrVKlCmPHjs1rF0REREQeW/nyIPcNGzZYVPaHH37ggw8+yOslRURERAqMPIe1gIAAli9fblHZDRs2aG81ERERkVzI1W3QixcvsnPnzizH//77b5YtW5ZtPYPBwKVLlzhx4oT2UxMRERHJhVyFtSeeeILvvvuOq1evmo7Z2Nhw7tw5PvnkkxzrGwwGmjZtmvteioiIiBRQuQprzs7ODBs2jK+++sp07NKlSzg6OlKyZMls69na2uLq6krt2rX58MMP7723IiIiIgVMrleDtm/fnvbt25u+rlWrFnXr1mXhwoX52jERERERyYetOwYOHEi5cuXyoy8iIiIicod8CWsPwunTp/n+++/Zs2cP0dHRlC1blrZt2+Lv70+hQoXuud1r167Rvn176tWrx7Rp07Itd/DgQaZNm8ahQ4e4ceMGFSpUoEOHDvTu3RsHBwezddatW8f8+fM5deoUaWlp1KpVCz8/P1566aV77q+IiIgULLkKa8aVoA0bNsTJySnTsdzI7SKDAwcO0KtXL+Lj46lfvz5169YlLCyM6dOnExgYyC+//ELhwoVz3Y/4+HgGDRpEVFTUXctt3ryZ9957j/T0dBo1akSRIkUICQlhypQpbN++nZkzZ2YJbP/973+ZPXs2rq6ueHt7k5yczO7du3nvvfcYMGAA77//fq77KyIiIgVPrsJanz59sLW1Ze3atVSpUsV0zMbGxuI2bGxsOHLkiMXlU1JSGDx4MPHx8UyaNImOHTsCkJiYyJAhQwgMDGTq1KmMGTMmNy+F8+fPM2TIEA4ePHjXcrGxsXzwwQfY2Ngwe/Zsnn32WdNxf39/du7cydy5c3n77bdNdXbs2MHs2bNxd3dnwYIFlC9fHoBjx47Ru3dvpk2bRsuWLalfv36u+iwiIiIFT643xU1PT89yzGAwWPzHXP27Wbt2LRcvXqRZs2amoAYZK1MnTJiAq6sry5Yt48aNGxa1l5iYyI8//shrr73GwYMHqVChwl3LL1iwgFu3btGxY0dTUAMoVqwYEydOBGDevHmZXtf06dMBGDJkiCmoQcZijMGDBwMwZ84ci/orIiIiBVuuRtaOHTtm0bH8FBQUBECbNm2ynCtevDje3t4EBQWxbds2XnnllRzbW7duHVOnTqVYsWKMHz8eW1tbPvroo2zLb9myJdvrV6tWDU9PT8LDwzl48CD169fn5s2bhIaG4uDgQKtWrbLUadOmDWPGjGHr1q2kp6dja5vnh0iIiIjIY8zqk0J4eDgANWvWNHu+Ro0aABw/ftyi9ooVK8aAAQPYuHEjnTt3zrH8iRMncnX9iIgI0tLScHd3N7vwoUSJEpQsWZL4+HjOnTtnUZ9FRESk4MrzatC7SUxMZMeOHaaJ+cWKFct1G5GRkQCUKVPG7PlSpUoBZHqqwt20atXK7IiXObGxsSQmJmJra0vp0qUtun5O/TXWiYqKIioqisqVK1vUFxERESmY8iWsRUZG8sMPP1C+fHn8/f2BjBGmPn36mFZauri48Pnnn1t0q/J2CQkJQMYcNXOMx+Pj4++1+/d8bXPXN/7XxcUl2zrGlbT3o88iIiLyeMlzWIuJiaFr165cvXqVli1bmo6PHj2aq1evYmNjQ6FChbh58yYffvghNWvWpFq1aha3b2dnZ9GiBIPBcC/dv6vczCczXt/Ozs7iOrldbCEiIiIFT57D2rx584iMjKRSpUp069YNgLNnz7Jnzx7s7OxYuHAhTz31FF9++SU//vgjc+fOZdy4cRa3X6hQIWJjY0lKSjJ7PjExEQBXV9e8vhSz1wayvba56xvrGI+bY2zvfvRZxFr4zw8hKTV/fyFxsrflR7/G+dqmiIi1y/MCg61bt2Jvb8/s2bNNI2vGFZQNGzbkqaeeAmDQoEEUKVKEXbt25ap941yx7DauNc4Vy25OWV64ubnh5uZGWloa0dHRFl3fOFftbhvt3s8+i1iLpNT0+/JHRKSgyXNYO3/+PJUrV8bDw8N0bMeOHdjY2GTal8zBwQEPDw+LFwIYGVdhGldl3unkyZOZyuU3T0/PXF2/evXq2Nvbc/78ebMjcjExMURHR+Pi4kLFihXvS59FRETk8ZHnsJaYmIijo6Pp69TUVEJCQgB45plnMpVNSEjI1dMOANNo3YYNG7Kcu3btGsHBwTg5OeX6EVb5cf2IiAjCw8MpWbIkXl5eQMbigSZNmpCcnGzaI+5269evx2Aw8Pzzz+dqfpuIiIgUTHkOa6VLl+bixYukpKQAEBISQnx8PIUKFTLdAoWMFaPnz5+nXLlyuWq/devWuLu7s2XLFhYtWmQ6npiYyMiRI4mPj6dr166UKFHCdC4lJYWIiAgiIiJM/bpXvr6+uLm5sWTJkkzhKzY2lo8//hiAfv36YW//z/Q/Pz8/ACZNmsTZs2dNx48dO8Y333wDYFo1KyIiInI3eV5g4O3tzcqVK5kyZQodO3bk66+/xsbGhhYtWphGjqKjo/nggw9IS0vL9QiYs7MzkydPpl+/fnz66acsWbIEDw8P9u7dy9WrV/Hy8mLIkCGZ6kRGRpq2CNm8eXOmW7S5VapUKcaOHcuwYcP497//TcOGDSlRogQhISHExsbi4+NDz549M9Vp0aIF3bt355dffqF9+/Y0adKEtLQ0goODSUlJYejQoaaROBEREZG7yXNYe/vtt/njjz+YP38+8+fPx2AwYG9vb3qweWhoKL179yYtLY3ChQvz1ltv5foajRs3ZunSpQQEBLB7925OnjyJh4cHXbt2pU+fPmafFJCf2rVrR5kyZZgxYwb79u0jNTWVChUq8O9//5vu3btnGlUzGj16NF5eXvz666/s3r0bJycnnnrqKfr06cMLL7xwX/srIiIij488h7WqVasyZ84cJk6cyPHjx6lUqRIffPABtWrVAjJuk6ampuLp6clXX311z6Ncnp6efPvttxaV9fDwsPjxU76+vvj6+uZYrlGjRjRq1MiiNgFsbGzo1KkTnTp1sriOiIiIyJ3y5QkGDRo0YMmSJWbPeXh4sHLlSlN4ExERERHL3fcHudva2iqoiYiIiNyjfH2Qe0JCAnFxcaSlpd318U/ly5fPz8uKiIiIPLbyJaz9+eeffP311xw7dizHsjY2Nhw5ciQ/LisiIiLy2MtzWAsNDWXAgAGkp6db9DD1+/HAdREREZHHVZ7D2qxZs0hLS6NmzZoMHDiQqlWr4uzsnB99ExERESnw8hzW9u7di5OTE7Nnz6ZkyZL50ScRERER+X95Xg2akJBAtWrVFNRERERE7oM8h7Xy5csTHR2dH30RERERkTvkOay9/PLLXL16lZ07d+ZHf0RERETkNnkOa++88w7Vq1fnww8/ZNOmTSQnJ+dHv0REHiuO9vd9D/JHmt4fkezleYHBqFGjKFu2LCdOnGDQoEHY2dlRtGhRHBwczJa3sbEhKCgor5cVERERKRDyHNbWrl1r+n+DwUBqaupd57DZ2Njk9ZIiIo80//khJKWm37WMa3wcP9z29b8XhBLvWjjb8k72tvzo1zifevhwWfL+5Mbj9N5IwZTnsDZx4sT86IeISIGRlJqeYxixu+O8JXUeFwXptYpYIs9hrWPHjvnRDxERERExQzM6RURERKxYvoW15ORkFi1axDvvvMOLL75IkyZNAIiJieGjjz7i5MmT+XUpERERkQIjz7dBAU6fPs2///1vzp49a3pQu3EhwaVLl/jtt99Yt24dU6dOpXXr1vlxSREREZECIc8ja3FxcfTt25czZ85Qrlw5+vTpQ8WKFU3nCxcuTNWqVUlKSmLw4MGEh4fn9ZIiIiIiBUaew9rcuXO5dOkSLVu25H//+x/Dhw/P9JzQSpUqsXr1alq3bk1qaio//fRTXi8pIiIiUmDkOaxt2LABe3t7xo8fj5OTk9kydnZ2jB07FkdHR4KDg/N6SREREZECI89h7cKFC9SoUYMnnnjiruVKlChBlSpViIqKyuslRURERAqMPIc1GxsbEhMTLSqbnp6Oo6NjXi8pIiIiUmDkOaxVqlSJ8+fP5zhidvnyZSIiIqhUqVJeLykiIiJSYOQ5rBkXDowdO9a0bcedkpOTGTlyJAaDgVatWuX1kiIiIiIFRp73WevVqxfLly9n06ZNdOnShVdeecX0IPc///yTEydOsHTpUs6ePUupUqXo2bNnnjstIiIiUlDkOay5ubkxc+ZM/v3vf3Po0CEOHz5sOte/f38ADAYDpUqV4ocffqBo0aJ5vaSIiIhIgZEvTzCoVq0aq1atYsmSJWzatIkTJ05w8+ZNXFxcqFKlCj4+PvTo0YMiRYrkx+VERERECox8CWsALi4u9OrVi169euVXkyIiIiIFXp7CWnJyMqGhoQQHB3P58mViY2OxsbGhSJEiVKtWjaeffppGjRqZnhMqIiIiIrlzT2EtJSWF+fPnM3PmTK5fv246bjAYsgSz0qVL4+/vzxtvvIGtbZ4Xn4qIiIgUKLkOazdv3mTAgAGEhISYtupwc3PD3d2dQoUKkZKSQlxcHBcuXCA1NZXIyEg+//xzAgMD+e6773B1dc33FyEiIiLyuMp1WHv//ffZvXs3dnZ2dOvWjW7dulGzZs0s5ZKTkzlw4ABLly5l9erV7Nixgw8//JCAgIB76ujp06f5/vvv2bNnD9HR0ZQtW5a2bdvi7+9PoUKFctVWZGQk06ZNY8eOHVy5coWSJUvSqlUr3n33XUqUKJGprLnXZk7Hjh2ZNGmS6evhw4ezcuXKbMv36NGD0aNH56rfIiIiUvDkKqwFBQWxfft23NzcmD59Oo0aNcq2rKOjI40aNaJRo0Z06tSJ/v37s3nzZnbt2kWTJk1y1ckDBw7Qq1cv4uPjqV+/PnXr1iUsLIzp06cTGBjIL7/8QuHChS1q69y5c3Tv3p2oqCg8PT3x8fHhyJEjLFiwgI0bN7J48WLKlStnKt++ffts20pISGDTpk0AeHl5ZTpn3MKkXbt2Zm//1qtXz6L+ioiISMGWq7D2+++/Y2Njw0cffXTXoHanZ555hqFDhzJu3DhWr16dq7CWkpLC4MGDiY+PZ9KkSXTs2BGAxMREhgwZQmBgIFOnTmXMmDEWtTd8+HCioqIYNGgQAwcOBCAtLY2xY8eyaNEiRo8ezcyZM03lp0yZkm1bw4YNAzJG1d58803T8YSEBE6dOkWpUqX48ssvLX6tIiIiInfK1Yz/I0eO4OjoyKuvvprrC3Xs2BE7OzsOHDiQq3pr167l4sWLNGvWzBTUAJydnZkwYQKurq4sW7aMGzdu5NhWSEgIYWFhVK1alQEDBpiO29nZMWrUKMqXL8/WrVs5efJkjm0Zb+9WrVo1S1A8duwYaWlpWUbbRERERHIrV2EtKiqKChUq4ODgkOsLubq64uHhweXLl3NVLygoCIA2bdpkOVe8eHG8vb1JSUlh27ZtFrfVunXrLLcmHRwceOGFFwAIDAy8azsxMTF88cUX2NjYMHHiRJydnTOdN94CVVgTERGRvMpVWEtKSsLNze2eL1a0aFESEhJyVSc8PBzIfqJ/jRo1ADh+/Hie26pevbpFbX355Zdcv36dzp0789RTT2U5bwxrdnZ2DB06FB8fH+rVq0e7du2YMWMGSUlJOfZVREREBHIZ1tLS0rCzs7vni9nb25Oenp6rOpGRkQCUKVPG7PlSpUoBcPXq1XxrKyoqKts2zp07x/Lly3F0dGTQoEFmyxjD2tdff01YWBh16tShdu3anDt3ji+//BI/Pz/i4+Nz7K+IiIhIvj1u6n4xjsTdeavRyHjckvCTH23Nnj2b9PR0unTpYjb0JSUlERERAcCQIUPw9/c33XI9deoUgwYNYt++fUyaNImxY8fm2GcREREp2Kz+kQKWjuQZN+jNj7ayG/2LjY1l5cqV2Nvb4+/vb7aMk5MTO3fuZO3atfTv3z/T3LiqVasyefJkAJYvX87Nmzct6o+IiIgUXLkeWYuLiyMkJOSeLhYXF5frOoUKFSI2NjbbeV6JiYkAFj0Zwbh5bk5tZbfJ7saNG0lMTKRFixaULVs22+sUKVKEIkWKmD3n5eVF2bJluXLlCkePHqVx48Y59ltEREQKrlyHtRMnTuDn53c/+mJW6dKliY2NJSoqKtNmtUbGuWqlS5e2qK3Dhw9nO78tp7bWr18PcE9bl9yuXLlyXLlyRfPWREREJEe5vg1qMBjy9Ce3jCs3T5w4Yfa8cU80Sx4LZSyT3T5qd2srKSmJXbt24ejoaNriw5zQ0FCGDx/O1KlTsy1j3L7EXPgUERERuV2uRtY2b958v/qRrZYtW7J69Wo2bNhAp06dMp27du0awcHBODk50bRpU4vamj59Ohs3bmTQoEHY2NiYzqWkpJheX8uWLbPUPXz4MCkpKTRo0AAXF5dsr5Gens7KlStxcXHB398/y2Owdu3axZUrVyhfvrxp2xERERGR7OQqrLm7u9+vfmSrdevWuLu7s2XLFhYtWsTrr78OZMwvGzlyJPHx8fTs2TPTA9hTUlI4d+4cABUrVjRt4tugQQPq1avHgQMH+Prrrxk8eDA2NjakpaUxfvx4Ll++jI+PD56enln6cfDgQSDnjW4bNWqEp6cn4eHhfPTRR/z3v/81zac7ceIEI0aMAGDgwIGZwqKIiIiIOVa/dYezszOTJ0+mX79+fPrppyxZsgQPDw/27t3L1atX8fLyYsiQIZnqREZG8sorrwAZo4EeHh6mc5MmTaJHjx5Mnz6dDRs2UKNGDY4ePcq5c+fw8PDIdjuNCxcuADnPjbO1teWrr77Cz8+PjRs30rp1a+rXr09CQgKhoaGkpKTg5+eXZZRQRERExByr37oDoHHjxixdupSXXnqJS5cusWXLFgoXLszAgQOZN29etqs3zalWrRrLly/H19eXuLg4goKCsLGxwc/PjyVLlmQbxmJiYgCy3NY0p3r16qxatYqePXvi6urKX3/9xeHDh2ncuDHTpk1j5MiRFvdXRERECjarH1kz8vT05Ntvv7WorIeHx10fGeXu7s7EiRNzdf2pU6feddHAnUqVKsWoUaMYNWpUrq4jIiIicrtHYmRNRATA0V7/ZGVH743I40vf3SIiIiJW7JG5DSoicjv/+SEkpZp/NNy9KuxsT0D3p/O1zYdB743I40VhTUQeSUmp6fkeSBzzub2HRe+NyONFt0FFRERErJjCmoiIiIgVU1gTERERsWIKayIiIiJWTGFNRERExIoprImIiIhYMYU1ERERESumsCYiIiJixRTWRERERKyYwpqIiIiIFVNYExEREbFiCmsiIiIiVkxhTURERMSKKayJiIiIWDGFNRERERErprAmIiIiYsUU1kRERESsmP3D7oCIZM9/fghJqen51p6TvS0/+jXOt/ZEROT+U1gTsWJJqen5GtZEROTRo9ugIiIiIlZMYU1ERETEiimsiYiIiFgxhTURERERK6awJiIiImLFFNZERERErJjCmoiIiIgVU1gTERERsWIKayIiIiJW7JF5gsHp06f5/vvv2bNnD9HR0ZQtW5a2bdvi7+9PoUKFctVWZGQk06ZNY8eOHVy5coWSJUvSqlUr3n33XUqUKJGl/PLly/n444+zba9GjRqsWbMm07HU1FSWL1/O4sWLOXPmDPb29tStW5e3336bJk2a5Kq/IiIiUnA9EmHtwIED9OrVi/j4eOrXr0/dunUJCwtj+vTpBAYG8ssvv1C4cGGL2jp37hzdu3cnKioKT09PfHx8OHLkCAsWLGDjxo0sXryYcuXKZapz+PBhALy9vSldunSWNu8sn56ezocffsjatWspWrQozz77LLGxsezYsYPt27czbtw4unTpco/vhoiIiBQkVh/WUlJSGDx4MPHx8UyaNImOHTsCkJiYyJAhQwgMDGTq1KmMGTPGovaGDx9OVFQUgwYNYuDAgQCkpaUxduxYFi1axOjRo5k5c2amOsawNmbMGKpWrZrjNZYvX87atWupU6cOP/30E0WLFgVg586dvPPOO4wbN45mzZpRvnx5S98GERERKaCsfs7a2rVruXjxIs2aNTMFNQBnZ2cmTJiAq6sry5Yt48aNGzm2FRISQlhYGFWrVmXAgAGm43Z2dowaNYry5cuzdetWTp48aTqXlpbG8ePHcXNzo0qVKhb1ecaMGQCMGjXKFNQAmjZtSq9evUhKSmLBggUWtSUiIiIFm9WHtaCgIADatGmT5Vzx4sXx9vYmJSWFbdu2WdxW69atsbXN/NIdHBx44YUXAAgMDDQdj4iIICEhgdq1a2NjY5PjNU6ePMn58+cpVaoUDRs2zHL+5ZdfztQXERERkbux+rAWHh4OQM2aNc2er1GjBgDHjx/Pc1vVq1fP0taRI0cAKFOmDJMnT+bll1+mXr16tGjRgjFjxnD16tVcX8PGxoazZ8+SlJSUY59FRESkYLP6sBYZGQlkhCVzSpUqBZAlNOWlraioKNOxQ4cOAbB69WqWLFlC5cqVefrpp0lISODXX3+lY8eOmW6bGq9hbiECgJOTE0WKFCEtLY3o6Ogc+ywiIiIFm9UvMEhISAAy5qiZYzweHx9/X9oyjqy9+OKLTJo0CTc3NwDi4uIYOXIk69ev5/333+f333/Hzs7OVNfFxSXbfjg5OVncZ5H85Ghv9b+fiYjIHaw+rNnZ2ZGenp5jOYPBYFFblrj9enPmzOHChQtUrFgRR0dH0/HChQszYcIE9u7dy8mTJ9m2bRstWrSw+Bp3XkdERETEHKsPa4UKFSI2Njbb+V2JiYkAuLq6WtQWkGNbt2+y6+zsbJrLdic3NzeaNGnC77//zsGDB2nRooWprrEtc4zXt6TPIveL//wQklLz9xeGws72BHR/Ol/bFBEp6Kz+nohx7tft88huZ5yrlt0cMXNtZTe/LTdtGRk3xDXeYjXOh8uuv4mJiVy/fh1bW1vTHDmRhyEpNf2+/BERkfxl9WHNuKryxIkTZs8bJ/dnt/rSXFu3Lwi4W1tRUVGMGjWKQYMGkZqaarbO5cuXgX9Cm6XXqFSpkmnumoiIiEh2rD6stWzZEoANGzZkOXft2jWCg4NxcnKiadOmFre1cePGLHPcUlJS2Lx5c6ZyhQsXZvXq1WzYsIHg4OAs7V2/fp0tW7ZgY2PDc889B2SEsCpVqnDp0iUOHjyYpc4ff/wBgI+PT479FREREbH6sNa6dWvc3d3ZsmULixYtMh1PTExk5MiRxMfH07Vr10wPYE9JSSEiIoKIiAhSUlJMxxs0aEC9evUIDw/n66+/NgW2tLQ0xo8fz+XLl/Hx8cHT0xPImK/m6+sLwNixY7l48aKprevXr/Pee+9x48YNOnToQKVKlUzn/Pz8gIwnGNy+PcfOnTuZP38+jo6O9O7dOx/fJREREXlcWf0CA2dnZyZPnky/fv349NNPWbJkCR4eHuzdu5erV6/i5eXFkCFDMtWJjIzklVdeAWDz5s14eHiYzk2aNIkePXowffp0NmzYQI0aNTh69Cjnzp3Dw8ODsWPHZmpr6NChHDlyhH379vHKK6/QsGFDnJ2dCQkJIS4ujqeffprRo0dnqvP666+zdetWgoKCaNOmDd7e3sTFxREaGorBYOCLL77Idq83ERERkdtZ/cgaQOPGjVm6dCkvvfQSly5dYsuWLRQuXJiBAwcyb968TKs3c1KtWjWWL1+Or68vcXFxBAUFYWNjg5+fH0uWLMmyuMDNzY2ff/6ZDz/8kCpVqhAWFsauXbuoWLEiH330kdnr29ra8t133zFixAjKly/Ptm3biIiIoFmzZixYsID27dvny/siIiIijz+rH1kz8vT05Ntvv7WorIeHx10fP+Xu7s7EiRMtvrajoyN9+/alb9++FtdxcHCgT58+9OnTx+I6IiIiInd6JEbWRERERAoqhTURERERK6awJiIiImLFFNZERERErJjCmoiIiIgVU1gTERERsWIKayIiIiJWTGFNRERExIoprImIiIhYMYU1ERERESumsCYiIiJixRTWRERERKyYwpqIiIiIFVNYExEREbFiCmsiIiIiVkxhTURERMSKKayJiIiIWDGFNRERERErprAmIiIiYsUU1kRERESsmMKaiIiIiBVTWBMRERGxYgprIiIiIlZMYU1ERETEiimsiYiIiFgxhTURERERK6awJiIiImLFFNZERERErJjCmoiIiIgVU1gTEZHHmqO9ftTJo01/g0VERESsmP3D7oCIiMiD4j8/hKTU9Hxts7CzPQHdn35k23eyt+VHv8b52qbkr0cmrJ0+fZrvv/+ePXv2EB0dTdmyZWnbti3+/v4UKlQoV21FRkYybdo0duzYwZUrVyhZsiStWrXi3XffpUSJElnKp6amsmjRIlatWkVERATJycmULVuWFi1a4O/vT5kyZbLUefPNNwkJCcm2Dx9++CF9+/bNVb9FRCRvklLT8z3sON7W3qPYvli/RyKsHThwgF69ehEfH0/9+vWpW7cuYWFhTJ8+ncDAQH755RcKFy5sUVvnzp2j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06cPbm5umcreLawBXLx4kYCAAP766y+uX79OuXLlaNGiBf379ze7iAAgNDSUGTNmsG/fPlJTU6lQoQK+vr50794dR0fHLOUNBgMrVqzg119/5eTJkzg5OVGjRg369Olj6puIiIhITh6ZsCYiIiJSEFn9nDURERGRgkxhTURERMSKKayJiIiIWDGFNRERERErprAmIiIiYsUU1kRERESsmMKaiIiIiBVTWBMRERGxYvY5FxG5/9LT01m8eDHLli0jIiICGxsbqlWrxmuvvcbrr7+e5XFeAOvWrWP+/PmcOnWKtLQ0atWqhZ+fHy+99NJDeAViTm4/1+HDh7Ny5cps2+vRowejR4++z72We/Hee++xfv16Jk6ciK+vb5bzO3bsYObMmRw7dozExESqVq3K66+/TufOnbGxsXkIPRZL3e2z/fbbb/n++++zrduyZUtmzJhxv7v42FNYE6swYsQIVq1ahbOzMw0bNsTBwYGwsDDGjRvH+vXrmT17dqbHev33v/9l9uzZuLq64u3tTXJyMrt37+a9995jwIABvP/++w/x1YhRbj/Xw4cPA9CuXTtsbbMO/NerV++B9V0st3TpUtavX5/t+YULFzJ27FgcHBzw9vbGwcGBXbt2MWrUKEJDQ5k8efID7K3kRk6frfF71sfHJ8ujHwFq16593/pWoBhEHrKVK1caPD09DT4+PoaLFy+ajsfExBg6dOhg8PT0NMycOdN0fPv27WbLHz161ODt7W3w9PQ07Nu374G+Bskqt59rfHy84cknnzQ0a9bsYXRX7tGpU6cMTz31lMHT09Pg6elpWL58eabzERERhlq1ahkaNWpkOHr0qOn4xYsXDa1btzZ4enoa1q5d+6C7LRbI6bM1GAyGZs2aGZ588klDfHz8Q+hhwaE5a/LQ/fbbbwAMGTKE8uXLm44XL14cf39/ALZu3Wo6Pn36dLPla9WqxeDBgwGYM2fO/e625CC3n+uxY8dIS0vDy8vrwXZU7llycjJDhw7F1tY22xGUmTNnkp6eTt++falVq5bpePny5U23tPX9an0s+WyvXr1KVFQU1apVw8XF5QH3sGBRWJOH7scff2T16tW0bt06y7n09HQAHBwcALh58yahoaE4ODjQqlWrLOXbtGmDjY0NW7duNdWVhyM3nyv8cztFYe3R8dVXX3H48GFGjx5NuXLlzJbZsmUL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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"def proc_title(title):\n", | |
" if title in ppc_tiles:\n", | |
" print(\"title\", title)\n", | |
" return ppc_tiles[title]\n", | |
"\n", | |
" x = title.replace(\"_\", \" \").capitalize()\n", | |
" x = x.replace(\"ppc\", \"\")\n", | |
" return x\n", | |
"\n", | |
"ppc_number = len(ppcs)\n", | |
"ppc_names = results[0][\"ppc_results\"].keys()\n", | |
"\n", | |
"for ppc_name in ppc_names:\n", | |
" fig, ax = plt.subplots()\n", | |
" for i, res in enumerate(results):\n", | |
" model_name = res[\"model_name\"]\n", | |
" samples = res[\"ppc_results\"][ppc_name][\"samples\"]\n", | |
" # make int\n", | |
" samples = np.maximum(samples, 0)\n", | |
" samples = np.round(samples)\n", | |
" true = res[\"ppc_results\"][ppc_name][\"true\"]\n", | |
" n_unique_samples = len(np.unique(samples))\n", | |
" discrete = n_unique_samples < 20\n", | |
"\n", | |
" print(\"samples\", samples)\n", | |
"\n", | |
" # plot a histogram of the samples but with integers (use nice binning)\n", | |
" if ppc_name == \"max_ppc\":\n", | |
" binwidth = 70\n", | |
" else:\n", | |
" binwidth = None\n", | |
" sns.histplot(samples, ax=ax, label=f\"{model_name}\" + r\" $\\hat{p}$\", discrete=discrete, stat=\"density\", binwidth=binwidth)\n", | |
" if i == 0:\n", | |
" ax.axvline(true, color=\"red\", label=\"Observed Value\")\n", | |
" ax.set_title(proc_title(f\"{ppc_name}\"))\n", | |
" ax.legend()\n", | |
"\n", | |
" if n_unique_samples < 2:\n", | |
" min_val = np.min(samples) - 1\n", | |
" max_val = np.max(samples) + 1\n", | |
"\n", | |
" ax.set_xlim(min_val, max_val)\n", | |
"\n", | |
"\n", | |
"\n", | |
" # save the figure\n", | |
" fig.savefig(f\"m5/{ppc_name}.png\", dpi=100)\n", | |
" # save as pdf\n", | |
" fig.savefig(f\"m5/{ppc_name}.pdf\")\n", | |
"\n", | |
" #max_x = true * 5\n", | |
" #max_samples = np.max(samples)\n", | |
" #if max_samples > max_x:\n", | |
" # ax.set_xlim(0, max_x)\n", | |
"\n", | |
"\n", | |
" plt.show()\n", | |
"\n", | |
"\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 44, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7faceab84160>" | |
] | |
}, | |
"execution_count": 44, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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AABQXOy+LLm6umrXrl3atm2btm/fnmd9WlqaNm7cKEl68MEHSzseAAAo5+y+LEmyDdqeNWuWYmJibMtTUlL08ssv6+zZs2rVqpVCQ0PNiggAAMqpMjHAe/DgwTp06JC2bdumXr16qVmzZvL29tbBgwd15coV1a9fX++8847ZMQEAQDlUJsqSi4uL5s6dq9WrV2v16tWKjo5WZmam7r33XvXv319PP/20PDw8zI4JAADKoTJRlqTs22J79+6t3r17mx0FAAA4kDIxZgkAAMAslCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADlCUAAAADZbYsPf/88woKCtKaNWvMjgIAAMqxMlmWVq1apS+//NLsGAAAwAGUubJ0+vRpTZs2zewYAADAQZSpspSWlqbx48fLyclJjRo1MjsOAABwAGWqLL377ruKjo7WlClTVKtWLbPjAAAAB1BmylJUVJQWL16sxx57TD169DA7DgAAcBBloiwlJCRo4sSJ8vX11euvv252HAAA4EBczA5wN15++WVdvXpVS5YskZeXl9lxAACAA7H7M0vLly9XZGSkhg4dqlatWpkdBwAAOBi7LksnTpzQm2++qcaNG+uFF14wOw4AAHBAdn0ZbubMmUpNTZW7u7smT56ca110dLQkaeXKlYqKilLLli3Vt29fM2ICAIByzK7LUlJSkiTpwIEDOnDgQL7bHDp0SIcOHZKLiwtlCQAAFDu7LkvLli2747qRI0dq+/btmj59usLCwkoxFQAAcCR2PWYJAADAbJQlAAAAA5QlAAAAA0Ues3T58mXVqFGjOLIUyHvvvVfqxwQAAI6nyGeWOnbsqBEjRmjLli1KT08vjkwAAAB2o8hnljIzM7Vjxw7t3LlTVapUUbdu3RQWFqY//elPxZEPAADAVEU+sxQZGamxY8eqbt26un79upYtW6awsDD17NlTy5Yt07Vr14ojJwAAgCmKXJZ8fX01YsQIbd68WZ988on69u0rLy8vHTt2TNOmTdODDz6o559/Xjt27FBWVlZxZAYAACg1xTop5X333af77rtPr7zyir766iutW7dOUVFR2rJli7Zu3arq1avriSeeUM+ePRUQEFCchwYAACgRJTJ1gKurq7p27aqIiAh99913mjRpkipWrKirV69q4cKFevzxxzVw4EBt27atJA4PAABQbErscSfnz5/XF198oS1btujYsWOyWq2SpIYNG+rKlSs6cOCADh48qLZt2+rf//63PDw8SioKAABAoRVrWbp586Y2btyodevW6eDBg5Ikq9Vqu0vuySefVMOGDZWZmant27crPDxcu3bt0tSpUzV16tTijAIAAFAsimXqgJ07d2rdunXasWOH0tLSZLVa5eTkpNDQUPXq1UudOnWSq6urbR9nZ2d16dJFHh4eGjZsmLZt20ZZAgAAdqnIZalt27a6fv267TLbvffeq549eyosLEy+vr6G+9avX1+SlJGRUdQYAAAAJaLIZenatWtyd3dXly5d1KtXL7Vu3fqu901NTVWfPn0UHBxc1BgAAAAloshl6R//+Icee+wxVapUqcD71qtXT+Hh4UWNAAAAUGKKPHXA5cuXtWXLlrvaNiIiQi+++GJRDwkAAFBqilyW5s6dq08//fSutt2yZQtzKwEAgDKlQJfh4uLitHv37jzLr1y5otWrV99xP6vVqgsXLujEiRPMpwQAAMqUApWl6tWra86cOYqPj7cts1gs+umnn/T3v//9d/e3Wq0KDQ0teEoAAACTFKgsubu7a8KECXr33Xdtyy5cuCBXV1fdc889d9zPyclJHh4eatSokSZOnFj4tAAAAKWswHfDdevWTd26dbN93bBhQzVp0kTLly8v1mAAAAD2oMhTB4wePVq1atUqjiwAAAB2p1jKEgAAQHlVoLKUcyfc/fffLzc3t1zLCoJB3gAAoKwoUFkaMmSInJyctGHDBtWrV8+2zGKx3PVrWCwWHT16tGApAQAATFLgy3BZWVl5luU8RPduFGRbAAAAsxWoLMXExNzVMgAAgPKiyI87AQAAKM+KfDeckZSUFEVFRSkrK0stWrRQ1apVS/JwAAAAxa5YytKlS5cUERGh2rVra/jw4ZKkU6dOaciQIbp8+bIkqWLFinrjjTf06KOPFschAQAASkWRy1JCQoL69Omj+Ph4dejQwbZ8ypQpio+Pl8Vikaenp27evKmJEycqKChIAQEBRT0sAABAqSjymKUlS5bo0qVLqlOnjvr27StJOnv2rA4cOCBnZ2d9/PHH2r9/v4YPH66MjAx98MEHRT0kAABAqSlyWfr666/l4uKihQsX2s4s7dixQ1L25JUhISGSpDFjxsjLy0vfffddUQ8JAABQaopcls6dO6c//OEP8vf3ty2LioqSxWLRAw88YFtWoUIF+fv7Kz4+vqiHBAAAKDVFLkspKSlydXW1fZ2RkaF9+/ZJklq1apVr2+Tk5ALN9g0AAGC2IpclHx8fxcXFKT09XZK0b98+JSUlydPT03YJTsq+Y+7cuXOqVatWUQ8JAABQaopcllq3bq1ffvlFM2fOVExMjP71r3/JYrGoffv2cnZ2liRdvXpVL774ojIzM3mILgAAKFOKXJaeeeYZubu7a+nSperZs6d++OEHOTs765lnnpEk7d+/X+3bt9e+fftUuXJlPf3000UODQAAUFqKXJbq16+vRYsWqUmTJnJ1dVVgYKAiIiLUsGFDSdmX6TIyMtSgQQN9/PHHuQaCAwAA2LtimcG7WbNmWrlyZb7r/P399dlnn9nKEwAAQFlS4g/SdXJyoigBAIAyq1gfpJucnKzExERlZmbKarXecbvatWsX52EBAABKTLGUpZ07d+pf//qXYmJifndbi8Wio0ePFsdhAQAASlyRy9L+/fs1cuRIZWVlGZ5NynE32wAAANiLIpelBQsWKDMzU0FBQRo9erTq168vd3f34siWS1ZWlj755BOtXr1ap06dksViUUBAgJ544gn169dPLi7FekURAABAUjGUpUOHDsnNzU0LFy7UPffcUxyZ8jVp0iStW7dO7u7uuv/++1WhQgUdPHhQ//znP/Xll19q4cKFuR67AgAAUByKXJaSk5P1xz/+sUSL0rp167Ru3Tr5+fnpww8/tA0Qv3btmoYMGaK9e/dq6dKlGjZsWIllAAAAjqnIUwfUrl1bV69eLY4sd7R27VpJ0rhx43LdSeft7a3hw4dLkr7++usSzQAAABxTkctS165dFR8fr927dxdHnnzNnz9fn3/+uTp16pRnXVZWliSpQoUKJXZ8AADguIpclp599ln98Y9/1MSJE7Vt2zalpaUVR65cch6jUrFixVzLT506pTlz5kiSwsLCiv24AAAARR6z9Oqrr8rX11cnTpzQmDFj5OzsrCpVqtzxTI/FYlFkZGSRjvnSSy/p1KlTOnLkiCpWrKjJkyfrscceK9JrAgAA5KfIZWnDhg2231utVmVkZBiOYbJYLEU63s2bN/XZZ5/ler2ffvpJt27dkqenZ5FeGwAA4LeKXJamT59eHDnumqurq3bt2iUPDw8dPnxYM2bM0PLlyxUbG6sPP/ywyGUMAADgdkUuSz179iyOHHfN1dVVNWrUkCS1adNGixcvVrdu3bR//37t3LlTHTp0KNU8AACgfCvyAG+zeXt7q3379pKkI0eOmJwGAACUN8VWltLS0rRixQo9++yz6ty5s9q0aSNJSkhI0OTJk3Xy5MlCv+60adP0/PPPKzU1Nd9tcmbuzsjIKFx4AACAOyiWB6qdPn1azz33nM6ePWt7UG7O2KELFy5o7dq12rhxo2bNmpXvXElGXF1dtXnzZl26dEmPPvqounbtmmt9WlqaoqKiJElNmjQphncDAADwqyKfWUpMTNTQoUN15swZ1apVS0OGDFGdOnVs6ytXrqz69esrNTVVY8eO1fHjxwt8jAEDBkiSpk2bprNnz9qWJyUl6dVXX9WZM2cUGBjIeCUAAFDsilyWPvjgA124cEEdOnTQpk2b9NJLL+V6TlzdunVts29nZGRo8eLFBT7G0KFD1bFjR126dEmPPfaYBg0apOHDh+vhhx/WunXrdO+99+q9996Ts7NzUd8OAABALkW+DLdlyxa5uLho6tSpcnNzy3cbZ2dnhYeH6+uvv9aePXsKfIwKFSrovffe08qVK/Xpp5/qhx9+UFZWlurUqaP+/ftryJAhqly5clHfCgAAQB5FLkvnz59XgwYNVL16dcPtqlWrpnr16ul///tfoY7j5OSkfv36qV+/foXaHwAAoDCKfBnOYrEoJSXlrrbNysqy3bkGAABQFhS5LNWtW1fnzp3T5cuXDbe7ePGiTp06pbp16xb1kAAAAKWmyGUpZ+B2eHi4bdqA30pLS9Mrr7wiq9Wqhx56qKiHBAAAKDVFHrM0aNAgffrpp9q2bZt69+6tRx991PYg3Z07d+rEiRNatWqVzp49qxo1auipp54qcmgAAIDSUuSyVKlSJb3//vt67rnndOTIEUVHR9vWjRgxQpJktVpVo0YNRUREqEqVKkU9JAAAQKkplhm8AwICtG7dOq1cuVLbtm3TiRMndPPmTVWsWFH16tVTx44dNXDgQHl5eRXH4QAAAEpNsZQlSapYsaIGDRqkQYMGFddLAgAAmK5IZSktLU379+/Xnj17dPHiRV2/fl0Wi0VeXl4KCAhQ8+bN1aJFC9tz4gAAAMqaQpWl9PR0LV26VO+//75u3LhhW261WvMUIx8fHw0fPlz9+/eXk1ORb74DAAAoVQUuSzdv3tTIkSO1b98+21QBlSpVkp+fnzw9PZWenq7ExESdP39eGRkZunTpkt544w199dVXmjNnjjw8PIr9TQAAAJSUApelF154QXv37pWzs7P69u2rvn37KigoKM92aWlp+vHHH7Vq1Sp9/vnnioqK0sSJEzV37txiCQ4AAFAaClSWIiMj9e2336pSpUqaN2+eWrRoccdtXV1d1aJFC7Vo0UK9evXSiBEjtH37dn333Xdq06ZNkYMDAACUhgINIlq/fr0sFosmT55sWJR+q1WrVho/frysVqs+//zzAocEAAAwS4HK0tGjR+Xq6qru3bsX+EA9e/aUs7OzfvzxxwLvCwAAYJYClaXLly/r3nvvVYUKFQp8IA8PD/n7++vixYsF3hcAAMAsBSpLqampqlSpUqEPVqVKFSUnJxd6fwAAgNJWoLKUmZkpZ2fnQh/MxcVFWVlZhd4fAACgtDFLJAAAgAHKEgAAgIECT0qZmJioffv2FepgiYmJhdoPAADALAUuSydOnNBf//rXksgCAABgdwpclnKeB1dYv33QLgAAgD0rUFnavn17SeUAAACwSwUqS35+fiWVAwAAwC5xNxwAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIAByhIAAIABF7MD3K1169Zp9erViomJUXJysqpXr67Q0FANHz5c9evXNzseAAAop+y+LFmtVk2YMEFffPGFKlSooODgYFWrVk0xMTFau3atNm/erIiICIWGhpod1XydO0tZWdm/d3KStm793V3+unCPMrOstq+dnSxaOrR1SSUEAKDMsfuytH79en3xxRfy8fHRwoULFRgYKEnKzMzU7NmzNW/ePE2YMEFbt26Vh4eHyWlNlpX1a1m6S5lZVmVafy1LKtjuAACUe3Y/Zmn16tWSpPHjx9uKkiQ5Oztr7NixatCgga5cuaKoqCizIgIAgHLM7suSl5eXAgIC1Lx58zzrLBaL6tWrJ0mKj48v7WgAAMAB2P1luP/85z93XJeZmano6GhJUq1atUorEgAAcCB2f2bJyEcffaS4uDh5e3urTZs2ZscBAADlUJktS7t379Zbb70lKXs8U8WKFU1OBAAAyqMyWZYiIyM1YsQIpaWlacCAAerdu7fZkQAAQDlV5srSsmXLNGrUKKWkpOipp57SlClTzI4EAADKMbsf4J0jIyND4eHh+uSTT2SxWDR+/HgNHz7c7FgAAKCcKxNlKSUlRaNGjdKuXbvk7u6uN998U127djU7FgAAcAB2X5YyMzNtRalatWr673//q6ZNm5odCwAAOAi7L0sRERHatWuXPDw8tHTpUjVo0MDsSAAAwIHYdVm6ceOGFi5cKEny8fHRf//73ztu26NHD7Vr1660ogEAAAdh12Vp7969SkpKkiSdOXNGZ86cueO2wcHBlCUAAFDs7Losde7cWbGxsWbHAAAADqzMzbMEAABQmihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABihLAAAABspkWTpz5oxCQkI0depUs6MAAIByrsyVpStXrmjkyJFKTk42OwoAAHAAZaosHTt2TAMGDNCpU6fMjgIAAByEi9kB7saNGzc0f/58LV26VGlpafL399f58+fNjgUAABxAmTiztHTpUi1YsEDVqlVTRESEnnjiCbMjAQAAB1Emziz5+vrqpZde0oABA+Tu7q7o6GizI6Ekde4sZWX9+rWTk7R1q3l5AAAOrUyUpd69e5sdAaUpKyt3WbpLf124R5lZVkmSs5NFS4e2Lu5kAAAHVCbKEnA3MrOsyrRmlyUV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RtO7u7vnuz5neVJSUqllQl67d+/WW2+9JSl7PFPFihVNTuQYXn75ZV29elVvvfWWvLy8zI7jsG7evClJysrK0ujRo9WwYUN9+umnOnjwoFasWKEmTZooOjpaI0eOVFZWlslpHUPz5s3VsWNHubi4qFmzZurYsaN8fHx07do1vf/++zp37pzZER1Szme60WeEm5ubJBV4aiCHPrPk7Ox8V/+4WAs5LwOKLjIyUmPHjlVaWpoGDBhw1z9hoGiWL1+uyMhIPfPMM2rVqpXZcRxaWlqaJCk9PV0BAQFasGCBXFyy/+lu1qyZFi9erK5du+rw4cPavn27OnfubGbccu/IkSN6+umnVbFiRa1atcp200N6erreeecdLVq0SIMGDdKGDRv4wa6U5YwnuxsF/Vx36DNLnp6ekqTU1NR816ekpEiSPDw8Si0TfrVs2TKNGjVKKSkpeuqpp2x3MqBknThxQm+++aYaN26sF154wew4Du/2D9yBAwfailKOypUrq3v37pLEPGSl4I033tCNGzc0ZcqUXHeHVqhQQRMnTlTz5s0VFxfHxK0myPlMz/nszk/O531BP9cd+sySj4+Prl+/rsuXL+c7aDhnrBLjAEpXRkaGwsPD9cknn8hisWj8+PEaPny42bEcxsyZM5Wamip3d3dNnjw517qcQfYrV65UVFSUWrZsqb59+5oR02FUqlRJrq6uSktLu+Mt0znLc+7GQslISUnR999/L2dnZ7Vt2zbPeovFovbt2+vAgQO2QfkoPTnjj43udCvs57pDl6WgoCAdP35cJ06cUNOmTfOsP3nypG07lI6UlBSNGjVKu3btkru7u95880117drV7FgOJWeM3oEDB3TgwIF8tzl06JAOHTokFxcXylIJc3Z2VoMGDRQdHW0bwPpbOR8O1atXL81oDicxMVFWq1UWiyXXXFe3y1menp5emtGg7CkbatasqUuXLuncuXN57qzOzMy0PTbr9rn87oZDX4br0KGDJGnLli151l27dk179uyRm5ubQkNDSzmZY8rMzLQVpWrVqmnZsmUUJRMsW7ZMsbGx+f56+OGHJUnTp09XbGysZsyYYXJax5Dzb9X69evzrLNarfr6668lifFlJax69eqqWrWqMjIytHPnzny3+fbbbyWJCVxNYvS5/u233yoxMVGNGzcu8Jklhy5LnTp1kp+fn3bs2KEVK1bYlqekpOiVV15RUlKS+vTpo2rVqpmY0nFERERo165d8vDw0NKlS/M92wc4on79+snLy0tRUVGaN2+ebXCq1WrV7NmzdeTIEdWtW1cdO3Y0OWn55uTkpP79+0uSwsPDbXP1Sdk/7M2dO1dRUVGqUqVKrqdCoPQMGDBALi4uioiI0I8//mhbfuHCBf3zn/+UJI0YMaLAr+vQl+FyLvMMGzZMr732mlauXCl/f38dOnRI8fHxCg4Otk1fj5J148YNLVy4UFL2teT//ve/d9y2R48eateuXWlFA0zn4+OjWbNmacyYMXr33Xe1Zs0aBQYG6vjx4zp79qyqVq2qmTNnytXV1eyo5d6oUaMUExOjyMhI9ejRQ/fff7+qVKmimJgYxcXFycPDQ//+97/l7e1tdlSH1LBhQ40bN05vv/22+vfvr1atWsnNzU179uxRUlKS+vXrV6h5sBy6LElSy5YttWrVKs2dO1d79+7VyZMn5e/vrz59+mjIkCG20fUoWXv37rWNlTlz5ozOnDlzx22Dg4MpS3A4Dz74oNavX6958+YpKipKO3bs0D333KM+ffro2WefNXxeFopPhQoVFBERoTVr1mjNmjWKiYlRamqqfHx81KdPHz3zzDOqU6eO2TEd2rBhw1SvXj198MEH+uGHH2SxWBQQEKCBAwcW+kkEFiuTCAEAANyRQ49ZAgAA+D2UJQAAAAOUJQAAAAOUJQAAAAOUJQAAAAOUJQAAAAOUJQAAAAOUJQAAAAOUJQAAAAOUJQAAAAOUJQAAAAOUJQAAAAP/H1v2fDzku6BoAAAAAElFTkSuQmCC", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"for i, result in enumerate(results):\n", | |
" samples = result[\"y_samples\"][0]\n", | |
" samples = np.round(samples) + (i+1)/4\n", | |
" sns.histplot(samples.flatten(), stat=\"density\", label=result[\"model_name\"])\n", | |
"\n", | |
"sns.histplot(y_test_np.flatten(), stat=\"density\", color=\"red\", label=\"true\")\n", | |
"plt.xlim(0, 10)\n", | |
"plt.legend()\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 49, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n", | |
"/Users/calvinm/miniconda3/envs/maskingtrees/lib/python3.9/site-packages/treeffuser/_base_tabular_diffusion.py:110: CastFloat32Warning: Input array is not float32; it has been recast to float32.\n", | |
" X = _check_array(X)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"mean shape (10,)\n", | |
"lower shape (10,)\n", | |
"upper shape (10,)\n", | |
"y_true shape (10,)\n", | |
"samples shape (1, 100, 10)\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAALACAYAAAAAK1gLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAACJUElEQVR4nOzdeVxUZf//8ffMICkqKiZIbriUiqJZIWWZRiuVudKmVkBlpalZlt5o2x3FfeOaS1puuZWS5JLb3fK9W6R0vG8r75BMM9xQSlJUVGRmfn/wY3IEFJBhDszr+Xj0SM65OOczF4fDvOdc5zomh8PhEAAAAAAA8CizpwsAAAAAAAAEdAAAAAAADIGADgAAAACAARDQAQAAAAAwAAI6AAAAAAAGQEAHAAAAAMAACOgAAAAAABgAAR0AAAAAAAMgoAMAUA04HA5PlwAAAC4RAR0AUG6DBw9W27Zt9eCDD5bY5rnnnlPbtm01ZsyYS97f5s2b1bZtW23evLlCv6fwdZz7X8eOHdWzZ0+99tprOnbs2CXXXpKUlBS1bdtW+/fvlyRNmzZNbdu2LfX3Hzp0SE8++aQOHDjgXBYZGVkh/V1VREZGFvn5nf/ftGnTKr2umJgYde3aVXl5eSW26dWrlwYOHFiq7XnbzxUAvJGPpwsAAFRtZrNZ33//vQ4dOqTGjRu7rMvNzdX//d//eaiysgkNDdUrr7zi/Prs2bP66aefNGnSJO3YsUMffPCBTCaT2+uIjo5W9+7dS90+NTVVX375pcuy6dOnq06dOhVdmmFNnz7dJQQPGzZMoaGheuaZZ5zLzj82K0P//v2Vmpqqr776SrfddluR9T/99JN27typf/zjH5VeGwDAmAjoAIBLEhoaql27dmnDhg167LHHXNb93//9n2rVqiV/f3/PFFcGderU0dVXX+2yLDw8XCdPntTbb7+tH374och6d2jcuPElh8nQ0NAKqqZqOP/1+vr6KiAgoFJ+Xhdy++23q169elq9enWxAf3jjz9WnTp1dOedd3qgOgCAETHEHQBwSfz8/NSjRw9t2LChyLp169bpzjvvlI+P6+fBZ86c0YwZM3TXXXcpLCxMd9xxh959913Z7XaXdh9++KHuvPNOderUSYMGDdLBgweL7OPgwYMaNWqUunbtqs6dO+vRRx9VWlpahb2+jh07OvcjFQyHf+GFFzR8+HBdffXViomJcb6mf/7zn+rRo4c6duyoXr16ad26dS7bstvtmjlzpnr27KnOnTvrmWeeKTJ8vrgh7itXrlTfvn3VuXNn9ezZUxMnTlReXp5SUlI0duxYSdKtt97qHP58/lDo48eP66233tJtt92msLAw3Xvvvfroo49c9hEZGam3335b//jHP9StWzd16tRJcXFx+u2335xtsrOz9fzzz+vGG29UWFiYevfurZUrV5bYd7NmzVLHjh2LvMYFCxaoQ4cOOnLkiOx2uyZPnqzIyEh17NhRkZGRmjhxos6ePVvidstrzJgxevTRR/XKK6/ommuu0d133629e/eqbdu2SklJKdI2MjLSZdlnn32mfv36KSwsTDfeeKPeeOMN5ebmlri/yy67TPfee6/+/e9/68SJEy7rzp49q7Vr1+qee+5RrVq1lJ2drddee0233HKLOnbsqK5du2ro0KHOWx/OV9KtG4MHD9bgwYNdliUnJ+uee+5x3rYxbdo02Ww25/qy/lwBAO5DQAcAXLK7777bOcy90IkTJ/TVV1/p3nvvdWnrcDj01FNPac6cOYqOjtasWbN01113acqUKS5DzBcvXqxXXnlFPXr00MyZM9W5c2eNHz/eZVvZ2dl68MEH9dNPP2n8+PGaOHGi7Ha7Bg4cqN27d1fIa9uzZ48kqVmzZs5l69evV+3atfXOO+/o8ccfl8Ph0NChQ/Xhhx8qJiZG77zzjrp06aLnnnvOJegkJSVpxowZGjBggKZPn6769etr4sSJF9z/kiVL9NJLL6lDhw6aPn26nnzySS1atEhvvPGGevbsqaefflpSwTDvc4d0Fzp9+rQefvhhrVmzRo8//rhmzpypa6+9VvHx8Zo1a5ZL24ULF+rXX3/VW2+9pTfeeEP/+9//9NJLLznXjx49Wrt379Zrr72m9957T6GhoXrppZf03XffFVt7r169lJ+fr3/9618uy9euXaubbrpJDRs21HvvvacPPvhAQ4cO1bx58/TQQw9p7ty5eueddy7YL+W1detWZWZmasaMGXr++edlNpfurdCaNWs0dOhQtWrVSjNmzNCwYcO0evVqPfPMMxecoK9///46c+aMNm7c6LL8q6++UnZ2tqKjo+VwODRkyBBt2rRJL7zwgubOnathw4bp22+/dfmdKI/Zs2dr/PjxuuGGGzRr1iwNHDhQ7733nsvvUll/rgAA92GIOwDgkvXs2VO1atVyGeb+6aefqmHDhrr22mtd2n711VdKTU3VpEmTdM8990iSbrzxRtWsWVNTp07VI488ojZt2mjmzJm6++679be//U2SdNNNN+nEiRP68MMPndt6//33dfToUX3wwQdq0qSJJOnmm2/W3XffralTp+rtt98u9WtwOBzKz893fn3s2DFt2bLFGbYLr6RLUo0aNfTaa6/J19dXkrRp0yZ9/fXXmjx5su6++25JUvfu3XXq1ClNmDBB9957r3Jzc7Vo0SLFxMRo2LBhzjZZWVn6+uuvi63JbrdrxowZuu222/TGG284l586dUpr165V3bp11bx5c0lS+/bt1bRp0yLbSElJ0c6dO/Xhhx+qS5cuzv3m5+dr5syZevDBB1W/fn1Jkr+/v2bOnCmLxSJJ2rt3r6ZNm6Y///xTDRo00JYtWzR06FDncO2uXbuqfv36zn44X5MmTRQeHq5PPvlE0dHRzm3++OOPmjx5siRpy5Yt6tixo/r37+/cZq1atVS3bt3if1CXKD8/X6+//rrzNoKSrlCfy+FwaMKECerevbsmTJjgXB4SEqLHHntMX375pXr27Fns93bo0EHt27fXmjVrnK9RKhgV0bZtW4WFhenw4cOqVauWXnrpJV133XWSpIiICO3du1fLli0r92s9fvy4Zs6cqQceeEDjxo2TVPB7VL9+fY0bN04xMTG68sory/xzBQC4D1fQAQCXrGbNmoqMjHQZ5r527VpFRUUVmVhty5Yt8vHx0V133eWy/L777nOu//XXX3XkyBHdcsstLm2ioqJcvv7222/Vvn17BQUFKT8/X/n5+TKbzbr55puVmppaptdgtVrVoUMH53/dunXTqFGj1LFjR02cONHldbRq1colvHz77bcymUzq0aOHs478/HxFRkbq999/1y+//KLvv/9eZ8+evehrOteePXt05MgR3X777S7L4+LilJKSoho1alz0dW3ZskVNmjRxhvNC9913n86cOaMffvjBuSwsLMwZzqW/JlY7deqUpILQOG3aNA0fPlzJycn6448/9NJLL+maa64pcf/33XefrFarfv/9d0kFx0WdOnWcw8cjIiK0adMmPfzww5ozZ4527dqlQYMGqXfv3hd9beVRv379Mt/j/+uvv+rQoUOKjIx0+fmGh4erTp062rRp0wW/v3///tq8ebMOHz4sSTp69Kj+7//+TwMGDJAkBQUFaeHChbr22mu1f/9+bdq0SYsWLdJ///vfC84AfzHbtm3T6dOni9Rd2PeFdZfn5woAcA+uoAMAKkRUVJSGDRumQ4cO6bLLLtO3336rkSNHFml37NgxNWjQwCUISlKjRo0kFVz1K7xnuUGDBsW2KXT06FFlZGSoQ4cOxdZUGCxLo0OHDnrttdckSSaTSZdddpmCg4OLnQ29du3aRepwOBwlBpqsrCzl5ORIuvhrOn+7ktSwYcNSv47zHTt2rNh9XH755ZLkrEuSatWq5dKmcPh34dwAkydP1qxZs7R+/Xpt3LhRZrNZ3bp10+uvv+4cwXC+u+66S3//+9+1fv16PfLII1q7dq3uvPNO1axZU5L0+OOPq3bt2lqxYoUmTJigpKQkXXnllRo3bpyuv/76cr/ukpz/syuNwp/Da6+95jxGzpWVlXXB7+/Vq5f++c9/at26dYqJidHatWtlMpmcH0pJ0urVqzVp0iRlZmaqfv36at++vbOPyquw7ieffLLY9YV1l+fnCgBwDwI6AKBC3Hzzzapdu7Y2bNggPz8/NW3a1GVYeKF69erpzz//lM1mcwnphWGhQYMGzhB75MgRl+8tDByF6tatq65du+rFF18stqayDNGtXbu2wsLCSt3+/Dr8/Py0cOHCYte3aNFCP/74o6SC19SqVSvnuvNf07kKZ7/Pzs52Wf7nn38qLS2tyFXx4tSrV08ZGRlFlhde0T7/A4MLqVu3rkaPHq3Ro0fr119/1eeff66ZM2fqtdde07vvvlvi90RGRmr9+vW6/vrr9csvv7jc/2w2mzVw4EANHDhQR44c0ZdffqlZs2bp2Wef1aZNm9w+zLpwZMS5k6ZJcpn8rfDn8OKLL6pr165FtlGvXr0L7qN+/fq67bbbtGbNGsXExGjVqlW6/fbbnbcWbN26VS+99JIGDx6suLg4BQUFSZL++c9/6j//+c8F6z5/YsWTJ086P4QorHvChAkKCQkpso3CD2nK83MFALgHQ9wBABXC19dXt912mzZu3Kj169c77y8/X9euXZWfn19k1vfVq1dLkq699lqFhIQoODi4SJvzn6netWtX7dmzRy1btlRYWJjzv1WrVumjjz4qcpXeXbp27arc3Fw5HA6XOnbu3KkZM2YoPz9fXbp0Uc2aNS/6ms7VqlUrNWjQoEibVatW6cknn9TZs2cvOslZeHi4Dhw4oG3btrksX716tWrUqKFOnTqV6jUeOHDAZbb+Vq1a6YknnlC3bt2KnV3/XL1799b333+vDz74QFdccYVLyH3wwQed99c3bNhQ/fr108CBA5WTk1Nk5nN3KBwhUTj8XCqYYb3wAxWp4LU2bNhQ+/fvd/n5BgUFaeLEiaV6akD//v31008/acuWLfrhhx+cw9ulgqHodrtdzz77rDOc22w2520a54fwc+s+d2LGY8eOuUyO2LlzZ9WoUUOHDx92qdvHx0eTJk3S/v37L+nnCgCoeFxBBwBUmLvvvltDhgyR2Wx2Tkp1vptvvlkREREaN26cDh8+rHbt2mnLli1677331LdvX7Vp00aS9MILL+j555/XuHHjdNdddzkD3rkee+wxrVq1So899phiY2PVoEEDrVu3TsuXL3c+fqwy9OjRQ+Hh4XrmmWf0zDPPqHXr1vrxxx/19ttvq3v37goICJAkPfPMM5oyZYpq1aql66+/Xl9++eUFA7rFYtGzzz6r119/XQ0bNlRkZKT27Nmjt99+WwMHDlS9evWcV0k//fRT3XzzzWrdurXLNvr166elS5dq6NChGj58uJo2baovvvhCK1as0LBhw0r9jPomTZqocePGeuONN3TixAk1b95c//vf//Tll19qyJAhF/ze7t27q379+lq2bJkef/xxl/v5w8PDNW/ePF1++eXq0qWLDh8+rPnz56tr167Oftu1a5fy8vLc8nz3evXqqUuXLlq0aJFatGihevXqaeHChTp9+rT8/PwkFfwcnnvuOb388suyWCy65ZZblJOTo5kzZ+rw4cMl3mJxrm7duumKK67Q+PHj1bRpU91www3OdYUfkrz++uvq37+/jh07piVLlig9PV1SwdX882+1aNu2rYKDgzVjxgzVqVNHJpNJs2fPdrlNoUGDBnr88cc1depUnThxQhERETp8+LCmTp0qk8mkdu3aqW7duuX+uQIAKh4BHQBQYbp16yZ/f38FBwcXCYqFCoPE22+/rQULFig7O1tNmzbVqFGjnM8Ul6R7771XZrNZM2fO1KpVq3TVVVfp9ddf16hRo5xtgoKC9OGHH2rixIl69dVXdebMGYWEhCghIcHlCqW7mc1mvfvuu5o6dapmz56tI0eOKCgoSDExMRo6dKiz3ZAhQ+Tn56f3339f77//vrp06aKXXnpJr776aonbHjhwoPz8/DR37lwtW7ZMjRs31hNPPKEnnnhCUsEEX926ddPEiRP17bffFhmSXKtWLS1atEgTJ050BrVWrVqVq4+mT5+uSZMmaerUqfrzzz8VHBysYcOGlXiPcyEfHx/dc889WrRokct915I0YsQI+fr6asWKFZoxY4ZzSPzzzz/vbPPaa6/pwIED+uKLL8pUb2klJibq73//u8aNG6c6depowIABuvbaa5WcnOxsEx0drdq1a2vOnDlatmyZ/Pz8dM0112jChAkuj+AridlsVt++fTVjxgwNHz7c5UOKiIgIvfzyy5o/f742bNigyy+/XBEREZo+fbqGDh2q//znP+rRo4fL9iwWi95++229+eabGjVqlC6//HI9+uij+vXXX52PBpSkkSNHqlGjRlq6dKnmzJmjevXq6YYbbtCoUaOcM+WX9+cKAKh4JseFHt4JAAAAAAAqBfegAwAAAABgAAR0AAAAAAAMgIAOAAAAAIABENABAAAAADAAAjoAAAAAAAZAQAcAAAAAwAC87jno27Ztk8PhUI0aNTxdCgAAAADAC5w9e1Ymk0ldunS5YDuvC+gOh0M8+h0AAAAAUFlKm0G9LqAXXjkPCwvzcCUAAAAAAG+wffv2UrXjHnQAAAAAAAyAgA4AAAAAgAEQ0AEAAAAAMAACOgAAAAAABkBABwAAAADAALxuFvfSstlsOnv2rKfLAHAJfHx8ZLFYZDKZPF0KAAAAcFEE9PM4HA4dOnRIR48e9XQpACqAxWJRYGCg6tWrR1AHAACAoRHQz1MYzgMDA+Xn58cbeqCKcjgcys/PV05OjjIzM3Xq1CkFBwd7uiwAAACgRAT0c9hsNmc4b9iwoafLAVAB6tatq8suu0x//PGHAgMDZbFYPF0SAAAAUCwmiTtH4T3nfn5+Hq4EQEWqXbu2HA4H80oAAADA0AjoxWBYO1C98DsNAACAqoAh7mWQlZWlnJycSt+vv7+/AgMDK32/AAAAAIDKQ0AvpaysLD319NM6m5dX6fuu4eurWe+8U6aQHhkZqQMHDvy1jRo11KRJE0VHR+vxxx93R5nldvjwYc2aNUtffvmlsrKyFBAQoOuuu05xcXHq0KFDmbZ18OBBbdu2Tffcc48kafDgwdqyZYtzvclkUq1atdS6dWsNGTJEt99+e7nr3r9/v2699VYtXLhQERERbtvGmDFjdODAAS1atEibN2/WI488os8//1xNmzbV4MGD1aRJEyUmJl50X2fPntWSJUv02GOPSZKmTZumjz/+WF988cVFvzclJUVjx45V/fr1tWnTJvn4uJ46Dh8+rJ49e8put+vnn3+++Au/yH5Ku42ytgcAAACMjIBeSjk5OTqbl6eaV1wvs69/pe3Xnpej0we/U05OTpmvosfGxio2NlaSdPr0af34448aN26catWqpYEDB7qj3DLbsWOHYmJi1Lp1a7322mtq1aqVDh8+rCVLluiBBx7QW2+9pV69epV6ey+99JKaNGniDOiSFBUVpfj4eEkFM3ufPHlSc+bM0fDhw7Vs2TJ16tSpwl9XRYqPj5fNZit23bRp00o96dknn3yit956yxnQY2Njy3wcnDx5Ut99951uuukml+UbNmyQw+Eo07YAAAAAuCKgl5HZ11+WWgGeLqNU/Pz81KhRI+fXzZo10+bNm7VixQpDBPT8/HyNGDFCYWFhmjVrljNoNmnSRNdcc40CAwM1fvx4XX311WrWrFm591OzZk2XfpCkV155RevWrdMnn3xi+IBet27dEtfVr1+/1Ns5P0DXrl1btWvXLlMtN9xwgzZs2FAkoK9fv17XXXedrFZrmbYHAAAA4C9MEudlatas6fz3sWPHNG7cOHXv3l0dOnTQDTfcoHHjxunUqVOSpD59+mjs2LEu3//1118rLCxMR48elSStWLFCUVFR6tSpk6KiovT+++/Lbrc7269cuVL33HOPwsLC1L17dyUkJCjv/98m8OWXXyojI0MjR44s9irwiBEjZDKZtGzZMkkFV4sfeughzZgxQxEREbruuus0duxYnThxQtJfw9k//vhjRUZGXrAfCodo+/r6Or93/Pjxio6O1nXXXafVq1c767/vvvvUqVMnRUZGaubMmUWuZm/btk29evVSx44d1a9fP3333XfOdXl5efrHP/6hyMhIdezYUV27dtWIESOUnZ1d6m2MGTNGgwcPLvZ1DB48WGPGjJFU8JjApKQk9ejRQx07dtRdd92lDz74QNJfQ8ElqW3bttq8ebOmTZvm0k9//PGHXnzxRUVEROjaa6/VkCFDlJGR4bK/qKgoffrpp8rPz3cuO3jwoNLS0nTbbbe5tD19+rSmTJmiW2+9VWFhYerdu7c2btzo0ubTTz9Vr169FBYWpocfflgHDx50WZ+Xl6ekpCR1795dXbp00f33369vvvmm2L4AAAAAqjoCuhf58ccf9cknnyg6OlpSQfBLS0vT9OnTtXHjRo0dO1YrV650BuJ+/fpp48aNOn36tHMbK1euVGRkpOrXr69ly5bpn//8p4YNG6a1a9dq5MiReu+99zRhwgRJUnp6usaNG6dnn31WGzdu1JtvvqlVq1Zpzpw5kgpCqZ+fn0JDQ4utt2bNmrrmmmv0n//8x7ls+/bt+uabbzRv3jzNmDFDVqtVI0eOlFQQ4Lt06aKoqCh99NFHJfbDn3/+qTfffFOnT5/WHXfc4VyenJysRx55REuXLlX37t21YMECjR8/Xg888IBWr16tESNGaO7cuUXu9547d66efvpprVq1SqGhoRoyZIgOHz4sSfrnP/+pf/3rX0pMTNTGjRuVmJio7777Tu+8806pt1FaS5cu1YYNGzR58mRt3LhRgwYN0quvvqqtW7fq7rvv1t/+9jdJ0jfffKMuXbq4fG9+fr5iY2O1a9cuzZw5U8uXL5fdbtfjjz/u8oHEbbfdppMnT2rz5s3OZevWrdONN94of3/XWz9GjRqllStXavz48Vq9erVuu+02jRgxQp999pkk6b///a+effZZ3XnnnVq9erX69u2rd99912UbY8eO1aZNmzRhwgR9/PHHioqK0lNPPaV///vfZeobAAAAoCpgiHs1Nnv2bM2bN09SwQRhZ8+eVefOnZ33dN94440KDw9X27ZtJUlNmzbV4sWLtXPnTklSr1699M9//lOfffaZ7r33Xp04cUKfffaZ3n77bUnSzJkz9fTTTzvv927WrJlOnDih1157TSNGjND+/ftlMpnUpEkTXXHFFbriiis0d+5c1alTR1LBFXx/f/8LPgKrfv362r9/v/Nrk8mkKVOmKCgoSJL08ssv64knntCvv/6qVq1aqUaNGqpZs6YCAv66DWHNmjXOK7c2m01nzpxRkyZN9Oabb7oMb2/fvr2zbxwOh9577z0NGjTIeTtASEiIjh49qqSkJA0fPtz5fc8++6zuvvtuSdKrr76q1NRULV26VM8995zCwsJ011136brrrpNUMHy/W7duzj4uzTZKa+/evfLz81PTpk0VGBioQYMGqVWrVmrZsqVq1qzpHCp//nB/Sfr222/1888/a8OGDWrZsqUk6Y033tCCBQt07NgxZzt/f3/ddNNN2rBhg2688UZJBQE9NjbWOTJCknbv3q3PP/9cs2bNUs+ePZ2vMT09XbNmzdJtt92mxYsX65prrtGwYcMkSS1bttTOnTu1cOFCSVJGRoY++eQTrVy5Uu3bt5ckxcTEKD09XXPnznVuFwAAAKguCOjV2IMPPugcGp2fn6+MjAxNnjxZAwcOVHJysh5++GF98cUX+vjjj/Xbb79p165d2r9/v1q1aiVJatCggW699VatXLlS9957r9avX6+6devqpptuUnZ2tg4dOqRJkyZp6tSpzn3a7XadOXNG+/fvdw5LHjBggJo2baobb7xRt956qzp27OjcfuHw9JLk5OS4hO2QkBBnOJeka665RpK0c+dOZ93ni4yM1AsvvCBJMpvNqlOnjho0aFCkXYsWLZz/zs7O1h9//KFrr73WpU3Xrl119uxZ/frrr2rYsKEkubTx8fFRaGiofvnlF0lS7969lZqaqgkTJui3337Tr7/+qj179jgDe6ELbaO0Bg4cqM8++0w9evRQ+/btdeONN+qee+5x1nkhO3fuVL169ZzhXJKCgoL00ksvFWl711136R//+IdeffVVHThwQHv27FFkZKQ2bNjgbFM4q/r5/RceHq5JkyY591kY8gt16dLFGdDT0tIkSQ8//LBLm7Nnzxa5Wg8AAABUBwT0aqxevXouobN169aqV6+eHn74YaWmpmrJkiX65ZdfdO+99+ruu+9Whw4dNH78eJdt9O/fX0899ZSOHDmi1atXq3fv3rJYLM77zMeOHatu3boV2XdwcLB8fX21cOFCpaWl6ZtvvtE333yjp556Sn369NFbb72la6+9VrNnz9aOHTucV0jPdebMGf3www/OIflSwePizlU4/PpCM5nXrl3bpR9Kcu79+SXNSF74us99zNj5+7bZbLrsssskFVzh37hxo/r06aPIyEgNHTpUc+fOLTJ8/ULbKK2QkBD961//0pYtW7Rp0yb9+9//1nvvvae33npLffv2veD3nv/YtAu57bbbNH78eG3ZskU//PCDevbsKT8/v1J9r8PhcO7LZDK5zFcguf58C38GS5YsKTKZndnM3TkAAACofniX62UKQ8///vc/ffXVV5o6dapeeOEF3XfffWrevLn27t3rEk5vuukmNWrUSMuXL9fWrVvVr18/SVLDhg0VEBCgffv2qUWLFs7/fvrpJ02ZMkVSwSRw06dPV2hoqJ588kktXLhQw4cP17p165zbvuqqqzRhwoRiHyM2e/ZsnTlzRvfff79z2Z49e3T8+HHn19u2bZOkEu9jL6/LL79cl19+ucv975K0detW1ahRQ82bN3cu+9///uf8d15env73v//pyiuv1J9//qlly5bplVde0dixY9WvXz+1b99ev/76a5EPAEraRlksXLhQ//rXv3TjjTfqxRdf1Jo1a3TDDTc4+/tCtxK0adNGx44dc5kULjs7WxEREfr+++9d2tapU0fdu3fXhg0btH79epdH2hUqvG2iuP5r06aNJKldu3bOn1+hc/uh8PX//vvvLsdYSkqKUlJSLtYdAAAAQJVDQK/GcnNz9fvvv+v3339XVlaWtm7dqjfffFOBgYGKjo6Wj4+P1q9fr3379mn79u0aOXKkfv/9d5d7ic1ms/r06aNZs2YpLCxMrVu3llQQ9p544gktWrRIixcv1t69e/Xpp5/q1VdfVc2aNeXr66saNWpoxowZWrBggfbt26f//e9/+ve//+2coMxisWjKlCnatWuXHn30UX3zzTfKzMx0Pq/93Xff1euvv+5y9Ts3N1cvvviidu7cqdTUVL3++uu6++671aRJE0kFV8sPHDigQ4cOXXL/xcXFafHixVq6dKkyMjK0Zs0aTZ8+XQ888IDLo88mTpyozz77TLt27dKYMWOUl5engQMHqk6dOqpbt64+//xzZWRk6Oeff9b48eP1008/ufTxhbZRFtnZ2Xr99df1+eef68CBA/r666+1Y8cOZ38XXuX+3//+5zLxn1Tw+LSOHTvqpZde0o8//qhffvlFL730kgICAtShQ4ci+4qKitInn3yiAwcO6Oabby6yvnXr1rrlllv02muv6d///rf27Nmj6dOn6/PPP1dsbKykguewp6en6x//+If27Nmj1atXa/Hixc5tXHnllbrlllv0yiuv6IsvvtC+ffv03nvvafbs2S4fkAAAAJSFzWbT9u3b9eWXX2r79u3FXigCPIUh7mVkz8upMvubN2+ec5I4s9ms+vXr67rrrtOECRMUFBSkxMRETZs2TUuWLFGjRo3Us2dPPfbYY/riiy9cttOvXz/NmjXLefW8UGxsrC677DItWrRIiYmJuvzyy3X//fc7J1Dr1q2bEhISNG/ePE2ePFk1a9ZUjx49nI8FkwqC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UT179tTtt99erv0BAAAAwKUioLtD9+5S06YFE8IVdx+6yVSwvnv3yq/tPCUF6kLnXlEuDLhTpkxRq1atirT19fUtcTv33XefJkyYoE2bNqlRo0b65ZdfNH36dEkFw90feOABBQQEKDIyUjfddJPCwsLUo0ePUr+O/Px8l6/tdrsef/xx9e3bt0jbwknyJk6cqKFDh+qrr75SamqqRo8erWuvvVbvv/9+qfcLAAAAABWFgO4OFos0dWrBbO0mk2tIN5kK/j9litufh15WNWrUkCSdOHHCuey3335z/rtVq1by8fHRwYMHdcsttziXL1y4ULt27dLrr79e4rYLw/e6det0+eWXKzw8XC1atJAkffLJJzp69Kg2btzorKHwOe2O4j7g+P+1nltnRkaGy/orr7xSe/bsce5DKhjCv3DhQr366qv65ZdftHbtWv3tb39Tq1at9Nhjj2n16tUaPXq0jhw5ooYNG16wrwAAAACgojFJnLv06yd99JHUpInr8qZNC5b36+eZui7gqquukp+fn959913t3btXX3/9tebPn+9cX7duXT344IOaOnWqVq1apX379umjjz5SUlKSAgMDL7r9AQMG6P/+7/+0ceNGl2efN27cWKdOndKGDRt08OBBffPNNxo1apQkucy6fq6rr75aycnJ2rFjh9LS0vTqq6+6XMF/4okntHHjRk2fPl179uzRt99+q7Fjx+r48eNq1KiR6tSpo6VLlyopKUkZGRnauXOn1q1bp5CQEDVo0KC8XQgAAAAA5cYVdHfq10/q3btgtvbMzIJ7zrt3N9yV80J16tRRUlKSJkyYoLvvvlvt2rXTSy+9pKFDhzrbjB07Vg0aNNDUqVOVlZWl4OBgDR8+XI8//vhFt3/TTTfJz89PR48e1Z133ulcftddd+mnn35SYmKiTpw4oSZNmig6Olqff/65tm/froceeqjItl599VW9+uqruv/++xUYGKgRI0bo0KFDLtucPHmyZs+erVmzZql+/fqKjIzUCy+8IElq3bq1pk2bpunTp2vp0qUym826/vrr9d5777ncXw8AAAAAlcXkKGkMcTW1fft2SVJYWFiRdadPn9aePXvUsmXLi96bDaDq4HcbAAAAnnShHHouLhUCAAAAAGAABHQAAAAAAAyAgA4AAAAAgAEQ0AEAAAAAMAACOgAAAAAABkBAL4aXTWwP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nDhRu3fv1uWXX66HHnpIcXFxbt1nZfJ0/65atUpz5szRvn37dOWVV2rkyJG68cYb3bpPd/J0fxYqKU+cOXNGiYmJ2rBhg06fPq3IyEjFx8dXWl0e4UCVdcsttzgSExMdWVlZjqysLMfevXsdn332mePOO+90REVFOXJyctxew65duxyRkZGOq666yrFv3z63768yebJ/V61a5ejQoYPjww8/dGRkZDjWrl3ruOaaaxzTpk1z2z4rmyf798MPP3R06tTJsXr1asfevXsdy5Ytc7Rv397x6aefum2flc0I5weHw+GYP3++46qrrnIMGjSoUvZXWTzdvzfccINj6dKlzv1nZWU5/vzzT7fuszJ5sn+zs7Md3bp1czz99NOOX375xbFp0ybHTTfd5HjllVfcts/K5sn+PXLkiMtxu3//fscdd9zheOSRRxxnz551234rkyf7d/fu3Y6OHTs6pk2b5ti7d69j7dq1jk6dOjkWL17stn1WNk/275o1axxt27Z1zJw50/Hrr786Fi9e7AgLC3N89913btunu3n675nDceE8MWbMGMdtt93msFqtjh9++MHRp08fx8CBA91ekycxxL2K8/PzU6NGjdSoUSM1a9ZMt956q+bNm6fMzEzNmTPHrfuePXu2BgwYoHr16rl1P57kqf794IMP1KdPHz3wwANq3ry57r77bsXGxuqjjz5y2z49wVP9e/z4cT3//PPq1auXmjVrpvvvv19XXXWVNm3a5LZ9eoInzw+S9PPPP2vGjBm6+uqr3b4vT/BU/x45ckRHjhxR586dnftv1KiR6tev77Z9eoKn+nfx4sXy8fHR5MmT1aZNG3Xr1k3Dhw/Xjz/+KIfD4bb9VjZP9W9AQIDLcbt48WLl5ORo8uTJ8vGpPgM7PdW/X331lfz8/DRs2DA1a9ZMd999t7p3766vv/7abfv0BE/173vvvaeoqCg9/fTTatmypQYOHKj77rtP06dPd9s+K4NR88Thw4e1cuVKjRs3Ttddd506deqkSZMmyWq1atu2bW6ty5MI6NXQFVdcodtvv11r1651Ltu5c6eGDBmi8PBwdezY0fmLJ0nZ2dnq2LGjVq5c6bKdiRMnXnDI72effaa33npLL730klteh1FVRv++8MILRYajmc1mHTt2rGJfjAFVRv8+/vjjeuSRRyRJZ8+e1bp167R79+4qPUSt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", | |
"text/plain": [ | |
"<Figure size 1200x800 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"mean shape (10,)\n", | |
"lower shape (10,)\n", | |
"upper shape (10,)\n", | |
"y_true shape (10,)\n", | |
"samples shape (1, 100, 10)\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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d3dXpUqVtHLlyjjhL2fOnCpevLjat28vR0dHNW7c2HZ9txR93fugQYPUpEkT7d2795n616lTJ6VLl05fffWVxo8frxw5cujdd99V586dY833/vvva/Lkybp06ZJKly6txYsX257PPWPGDE2cOFGNGzdWpkyZVKlSJfXv31/z5s2zPe7tactIqF69eik8PFxjx47VjRs3lD17drVt21bdunWTJL3yyisqU6aM3nzzTU2aNCnWex0cHDRnzhxNmDBBfn5+slgseuWVV7RgwYI4w/6l6Ovqhw8frvr169se5faoqVOnaurUqRo2bJiCg4NVpEgRzZw5U3Xr1pUUfdO7+fPna9KkSVq2bJkKFy6s9957z3YXfUmaNm2apk2bppEjRyooKEh58+bVuHHjnjqk3ggW6+MuTDCB1WpV7dq19frrr8e6ML9z586qWLGi7YecUEeOHJEk+fj4JGudAAAkxJ49ezRx4kRVqFBBrVu3Vr58+XT+/Hl99913OnDggAYPHkyIQYrF/pt8Hjx4oHPnztnuGh0jICBA73XvrvBHzlqawTldOs39/HN5enqavu4Y+/btU7du3bRr165YZ37NNnPmTK1ZsybOFwTAkzzu37WUuBxq1zPg586d0+XLl2236Y+xcOFCO1UEAEDSREZGauHChapQoYKGDRtmu7FLsWLFNGzYMNvZm0qVKj3xJj+APbD/msPT01NzP/9cwcHmngGXoh/7ZK/wfebMGZ08eVJz585V8+bN7Rq+AXuzewCXoq/B6Ny5s44dO6Y8efKoe/fu8vX1TdIyrVarQkJCkrNMAACe6ujRowoICND7778f55o4Kfo5uCNGjNAff/wR73VwgD2x/yav0NBQRUVFKTIyMs419FmzZk3Q45yMYK/r+c+dO6chQ4aodOnS6t27t93vKxAVFSWr1Wr3OpC6REZGKioqSvfv349z13Wr1frEm9M9zK4BPOZ5fYMGDVKvXr00YMAAbd26VT169NDixYtVuXLlRC8zPDxcx48fT+5SAQB4oqNHj0qK/lI5vt9DoaGhtvns8dgT4EnYf5Ofk5OTrW/Pu8qVK2v37t22v8f3JY+ZunTpoi5duti9DqQuoaGhioiI0NmzZ+N9/XHXsD/KrgE85kL8zp072y6AL168uI4dO5bkAO7s7Gy7JT0AAGaJiorSqlWr5ObmpiJFisR5/eTJk5KkkiVLxvucWsCe2H+TV2hoqK5cuaIXXnghzrWiAFIvJycn5c2bN86z1U+fPp3wZSR3UYnh5eUlSXEO9IUKFdLPP/+cpGVaLJYEP8AdAIDkUq5cOXl6esrf3z/WNbRSdLjx9/eXl5eXypUrxzW0SHHYf5OXg4ODHBwc5OjoSL+ANMLR0VEODg5ydXWN88VaQoefS3Z+DnjJkiWVPn16/fXXX7Gmnzx50i7PZAMAIKkcHR3VuXNnHThwQOPGjdOJEycUEhKiEydOaNy4cTpw4IA6derEh3GkSOy/AGAOu54Bd3FxUZcuXTR79mx5eXmpdOnS2rhxo3bv3q0vv/zSnqUBAJBoVapU0eDBg7Vw4UINHDjQNt3Ly4tHOCHFY/8FAOPZNYBLUo8ePeTq6qpp06bp+vXrKliwoGbOnKlKlSrZuzQAABKtSpUqqlSpko4dO6bAwEBlyZJFJUqU4MwhUgX2XwAwlt0DuCT5+fnJz8/P3mUAAJAsHB0d5ePjY+8ygCRh/wUA4/AcCQAAAAAATJAizoADAAAAeIzISGnXLunqVSlnTql6dcmEywIGDx6sNWvWPHGef/75x/A6JKljx466d++eVq9eHe/rw4cP14EDB7R169YnLmfmzJlas2aNfvzxRyPKBJ6KM+AAAABASrV6teTtLb36qtSuXfR/vb2jpxts2LBh+vXXX21/JGno0KFxppmhVatWOnr0qM6cORPntdDQUG3ZskWtWrUyrR4gqQjgAAAAQEq0erXUqpV06VLs6ZcvR083OIRnzJhR2bNnt/153DQzvP7668qYMaP8/f3jvLZ9+3bdv39fzZo1M60eIKkI4AAAAEBKExkp9ekjWa1xX4uZ1rdv9Hx2tHr1atWtW1djx45V+fLl1aNHD+3bt09FixbVpYe+OHh0mtVq1fz581W7dm2VKVNGTZs21fr16x+7HhcXFzVs2FAbNmyI89qaNWtUs2ZNZc+eXSdPnlS3bt1UoUIFlSpVSrVr19aiRYseu9yiRYvGGdb+6LSffvpJLVq0UOnSpVW3bl1Nnz5dYWFhttd37typFi1aqEyZMqpcubIGDx6soKCgpzcPzyUCOAAAAJDS7NoV98z3w6xW6eLF6Pns7MKFCwoICNDatWvVr1+/BL1n2rRp+vrrrzVixAj5+/vrrbfe0ujRo7V8+fLHvqdly5a6ePGiDh06ZJt248YN7dmzR61bt9b9+/fVqVMneXh46JtvvtGGDRtUr149ffLJJzp+/HiStu2XX35R37599cYbb2jDhg0aNWqUNm/erIEDB0qSAgMD1atXL7Vs2VKbNm3SrFmzdODAAX366adJWh/SPm7CBgAAAKQ0V68m73wG69Gjh1588UVJ0We7nyQkJERffvmlpk6dqlq1akmS8ubNq8uXL2vhwoVq3759vO8rXbq0ihQpIn9/f5UtW1aStH79emXNmlU1atRQUFCQ3nrrLbVv317p06eXJPXu3VsLFizQP//8o+LFiyd6u+bOnas33nhDb775pq3Ojz76SG+//bYuXbqkO3fuKCwsTLly5VLu3LmVO3duzZ07V5F2HpmAlIsADgAAAKQ0OXMm73wG8/b2TvC8p0+fVmhoqD744AM5OPw3IDciIkJhYWF68OCBXFxc4n1vy5YtNW/ePA0dOlROTk5au3atmjdvLkdHR2XJkkXt2rXThg0bdOzYMV24cEEnTpyQJEVFRSVpu44dO6bDhw/r+++/t02z/v8lAGfOnFHNmjXVqFEjvffee8qePbuqVq2qWrVqqW7duklaH9I+AjgAAACQ0lSvLuXJE33DtfiuA7dYol+vXt382uLxuMAc4+EzwjEBdvr06SpQoECcedOlS/fY5TRp0kSTJ0/W7t27lT17dp06dUqzZs2SFD0cvU2bNsqSJYt8fX1VrVo1+fj4qGbNmgnejoiIiFh/j4qKUpcuXdS8efM488bchG7KlCnq2bOnfvnlF+3Zs0cDBw5U+fLl9dVXXyV4vXh+EMABAACAlMbRUZoxI/pu5xZL7BBusUT/d/p0U54HnljOzs6SpLt379qm/e9//7P9f4ECBeTk5KQrV67o1VdftU1fsmSJTp8+rTFjxjx22THhetOmTcqWLZsqVKigfPnySZI2bNig27dva+vWrbYaYp5Tbo3vS4z/r/XhOs+fPx/r9cKFC+vcuXO2dUjRQ+yXLFmi0aNH69SpU9q4caOGDh2qAgUK6J133tH69es1cOBA3bx5U1mzZn1ir/D84SZsAAAAQErUooX0/fdS7tyxp+fJEz29RQv71PUURYoUkZubm7744gtduHBBu3bt0uLFi22vZ8yYUW+++aZmzJihdevW6eLFi/r+++81adIkeXp6PnX5rVq10k8//aStW7fGevZ3jhw5dP/+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6kRwSSKOD8ZjH0ZqxjEi+dj9LuiP4i7oAGCs+J7h6ejoqKZNm/IMT6R48T1D2cvLS506deIZysmA44Px2IeRmnGMiF9icmiKC+DPggAOAAkTFhamzZs36+rVq8qZM6fq16/Pt9ZINSIjI3Xs2DEFBgYqS5YsKlGiBGcNkxHHB+OxDyM14xgRFwGcAA4AAAAAMEGquQYcAAAAAIDnBQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMkKYDv379ff/75pyTpypUreu+999S4cWPNnj07OWsDAAAAACDNSHQAX7t2rd5++21t27ZNkjRy5Ejt27dP+fLl09y5c/XFF18ke5EAAAAAAKR2iQ7gX375pZo3b66BAwfqxo0b2rNnj3r16qVZs2apX79+WrVqlRF1AgAAAACQqiU6gJ89e1bNmjWTJO3cuVNWq1W1a9eWJPn4+Ojq1avJWiAAAAAAAGlBogO4u7u77t69K0natWuXcuXKJW9vb0nShQsXlDlz5mQtEAAAAACA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AAAAMFOquQYcAAAAAIDnBQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATEMABAAAAADABARwAAAAAABMQwAEAAAAAMAEBHAAAAAAAExDAAQAAAAAwAQEcAAAAAAATONm7gOQUHh4uq9WqI0eO2LsUAAAAAMBzICwsTBaLJUHzpqkAntCNBgAAAAAgOVgslgRnUYvVarUaXA8AAAAAAM89rgEHAAAAAMAEBHAAAAAAAExAAAcAAAAAwAQEcAAAAAAATEAABwAAAADABARwAAAAAABMQAAHAAAAAMAEBHAAAAAAAExAAAcAAAAAwAQEcAAAAAAATEAABwAAAADABARwAAAAAABM4GTvAhA/X19fXb582fZ3Z2dnZcuWTTVr1lSfPn2UJUsWU+o4f/68mjZtqg0bNihPnjymrNMM9u7vqlWr9OWXX+rixYvy9PRUq1at1LlzZzk6Ohq6XrPYu79Lly7V0qVLdfXqVeXNm1edOnVSy5YtDV2nmezd3xhWq1VdunRRWFiYli5daso6zWDv/vr5+WnPnj2xplWsWDHN9Nje/T137pwmTJigAwcOyM3NTa+//roGDhwoV1dXQ9drFnv299F1P2zZsmWqUKGCYes2k7334T179mjKlCk6c+aMsmXLprZt26pz586GrtNM9u7vunXrtGDBAl28eFGFCxdW3759VbVqVUPXaRR79zLG4/JEaGioJk6cqC1btujBgwfy9fXVsGHDTKvLbqxIkV599VXrxIkTrQEBAdaAgADrhQsXrNu3b7e+/vrr1vr161uDg4MNr+H06dNWX19fa5EiRawXL140fH1msmd/161bZy1ZsqT1m2++sZ4/f966ceNGa7ly5awzZ840bJ1ms2d/v/nmG2vp0qWt69evt164cMG6cuVKa/Hixa3btm0zbJ1mSwnHB6vVal28eLG1SJEi1g4dOpiyPrPYu7+VK1e2rlixwrb+gIAA661btwxdp5ns2d/AwEBrlSpVrN27d7eeOnXKunv3bmu1atWso0aNMmydZrNnf2/evBlrv7106ZL1tddes7711lvW8PBww9ZrNnv2+MyZM9ZSpUpZZ86c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LVSnTh3VrFlTjRs3lsViMX/jAABIJbgGHACA58D169fl4uIiDw8P7dq1S/Xr11eNGjXUo0cPrV+/XunSpZP0X1DPly+fKlasqLVr10qKHn5epUoVeXl5SZIaNGigKVOmyM3NTXPmzFGrVq1Uu3Ztbdq0yS7bBwBAakAABwAgjYuIiNC+fftUrlw5Xb58WT179lTx4sW1bds2/f7771qxYoVeffXVOO9r2bKl9u/frzNnzmjv3r1q2bJlrNcbNWqkFStWaN++fZo+fbo8PDw0cOBAXb9+3axNAwAgVSGAAwCQxq1cuVI3btxQ27Zt9ffffys0NFRdu3ZV3rx5bUPGd+3aJem/M+CS9Prrr8vV1VWjR49W+vTpVadOHdtrffv2Vc+ePSVJGTNmVP369dWjRw9FREQoICDAxK0DACD14BpwAADSiLt37+rPP/+UJEVFRenWrVv69ddftXLlSjVp0kSvvfaazp8/LycnJ02aNEmdOnVSWFiYVq9erZ9//lmSFBISYlueq6urGjZsqJUrV6pt27a2YepS9DXgo0aN0ieffKIaNWooODhYs2bNkre3t4oVK2bmZgMAkGpYrA9/1Q0AAFKljh07av/+/ba/WywWpU+fXkWKFFHz5s3VunVr29nuLVu2aNasWbpw4YIyZcqkl156SW+99ZY6duyoESNGqH379rbl/Pjjj+revbu+++47lS5dOtY6ly5dqm+++UaXLl2Si4uLKleurIEDByp37tzmbDQAAKkMARwAADzWqFGj9Ndff9luxgYAAJKOIegAACCOJUuW6OzZs/r22281adIke5cDAECaQAAHAABxHDx4ULt27dLbb7+tRo0a2bscAADSBIagAwAAAABgAh5DBgAAAACACQjgAAAAAACYgAAOAAAAAIAJCOAAAAAAAJiAAA4AAAAAgAkI4AAAAAAAmIAADgAAAACACQjgAAAAAACYgAAOAAAAAIAJ/g/m+5qbZToLWQAAAABJRU5ErkJggg==", | |
"text/plain": [ | |
"<Figure size 1200x800 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"mean shape (10,)\n", | |
"lower shape (10,)\n", | |
"upper shape (10,)\n", | |
"y_true shape (10,)\n", | |
"samples shape (1, 100, 10)\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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LKgPP/xQlStXjveq/o9r2rSp/vvf/+rbb79V7ty5rYLve++9ZzlfP1u2bGrRooXat2+ve/fuxbniui3EzqSInbouxVzZPfZDFilmX7Nly6arV69a/Xxz5sypadOmJehuBS1bttTx48d16NAh/fXXX5ap8VLMNPbo6Gj16dPHEtijoqIsp3g8Gcwfr/vxiz8GBwdbXYCxdOnScnJyUkBAgFXdadKkka+vr65evfpCP1cAQPLjSDsAwKYaNGigHj16yMHBwXLhqydVr15dFStW1PDhwxUQEKCiRYvq0KFDWrhwoZo3b67ChQtLkj777DMNGDBAw4cPV7169Syh73GdOnXSxo0b1alTJ3Xp0kVZsmTR1q1b9f3331tuhZYSatSoIW9vb/Xs2VM9e/ZUoUKFdOzYMX311VeqVq2asmbNKknq2bOnZsyYoXTp0umtt97Srl27nhnaHR0d1adPH40dO1bZsmWTj4+PLl68qK+++krt27dX5syZLUdTf/75Z1WvXl2FChWyWkeLFi20evVq9erVS3379lXevHn166+/au3aterdu7fl+c+TJ08e5cqVS+PGjVNISIjy5cunv//+W7t27VKPHj2e+dxq1arJzc1Na9asUbdu3ayuD+Dt7a0lS5Yoe/bsKlOmjAICArR06VJVqFDB0rdz584pIiLCJvefz5w5s8qUKaMVK1bo9ddfV+bMmbV8+XKFhYXJ1dVVUszPoV+/fho5cqQcHR319ttv6969e5o7d64CAgKeenrG4ypXrqzcuXNrxIgRyps3rypVqmR5LPaDk7Fjx6ply5YKDg7WqlWrdOrUKUkxR/2fPE3D09NTHh4emjNnjjJkyCCTyaQFCxZYneKQJUsWdevWTTNnzlRISIgqVqyogIAAzZw5UyaTSUWLFlXGjBmT/HMFACQ/QjsAwKYqV66sTJkyycPDI054jBUbLr766istW7ZMQUFByps3r/r372+557kkNWrUSA4ODpo7d642btyoIkWKaOzYserfv79lTM6cOfXdd99p2rRpGj16tMLDw5U/f36NHz/e6kimrTk4OOjrr7/WzJkztWDBAt2+fVs5c+ZU586d1atXL8u4Hj16yNXVVd98842++eYblSlTRoMHD9bo0aOfuu727dvL1dVVixcv1po1a5QrVy59+OGH+vDDDyXFXESscuXKmjZtmg4cOBBn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bNigYsWKSZI6d+6sU6dOafHixZb1piRCOwAAAIBk895771mmVT969EiXLl3S9OnT1b59e/3www9q166dfv31V61fv17//POPzp07p6tXr6pgwYKSpCxZsqhWrVrasGGDGjVqpG3btiljxoyqWrWqgoKCdPPmTfn6+mrmzJmWbUZHRys8PFxXr161TGlu1aqV8ubNqypVqqhWrVoqWbKkZf2xU9uf5t69e1YBPH/+/JbALklly5aVJJ05c8ZS95N8fHz02WefSZIcHByUIUMGZcmSJc64119/3fLvoKAg/fvvvypXrpzVmAoVKigyMlIXLlxQtmzZJMlqTJo0aVS8eHGdPXtWktS0aVPt379fU6dO1T///KMLFy7o4sWLlhAf61nrSKj27dtr586dqlGjhooVK6YqVaqoYcOGljqf5cyZM8qcObMlsEtSzpw5NXjw4Dhj69Wrp8mTJ2v06NG6du2aLl68KB8fH23fvt0yJvZq7k/2z9vbW76+vpZtxgb/WGXKlLGE9hMnTkiS2rVrZzUmMjIyzlH9lEJoBwAAAJBsMmfObBVECxUqpMyZM6tdu3bav3+/Vq1apbNnz6pRo0Zq0KCBSpQooREjRlito2XLlvroo490+/Ztbdq0SU2bNpWjo6PlvPWhQ4eqcuXKcbbt4eEhZ2dnLV++XCdOnNDevXu1d+9effTRR2rWrJkmTpyocuXKacGCBTp58qTlSOrjwsPD9ddff1mm80sxt657XOzU7WddQT19+vRWfXiax8/3f9qV0GP3+/Fbnj257aioKKVNm1ZSzEyAHTt2qFmzZvLx8VGvXr20ePHiOFPfn7WOhMqfP79++uknHTp0SPv27dNvv/2mhQsXauLEiWrevPkzn/vkLdyepXbt2hoxYoQOHTqkv/76SzVr1pSrq2uCnms2my3bMplMVtc/kKx/vrE/g1WrVsW5YJ6Dg33OLuecdgAAAAA2FRuE/v77b+3evVszZ87UZ599piZNmihfvny6fPmyVWCtWrWqcuTIoe+//15HjhxRixYtJEnZsmVT1qxZdeXKFb3++uuWr+PHj2vGjBmSYi40N3v2bBUvXlzdu3fX8uXL1bdvX23dutWy7iJFimjq1Knx3tJswYIFCg8PV5s2bSzLLl68qPv371u+//PPPyXpqefFJ1X27NmVPXt2q/PpJenIkSNycnJSvnz5LMv+/vtvy78jIiL0999/64033tCdO3e0Zs0ajRo1SkOHDlWLFi1UrFgxXbhwIc6HAk9bR2IsX75cP/30k6pUqaJBgwbJz89PlSpVsvT7WachFC5cWMHBwVYXngsKClLFihX13//+12pshgwZVK1aNW3fvl3btm2zur1erNhTLuLrX+HChSVJRYsWtfz8Yj3eh9j9v3XrltXv2Lp167Ru3brntcMmDBXaL168qDJlyjyzGXfu3NGAAQPk7e2tChUqaMyYMZYrTeLFRUVFyd/fX7t27ZK/v/9T780IAAAAxCc0NFS3bt3SrVu3FBgYqCNHjmjChAlyd3dX69atlSZNGm3btk1XrlyRv7+/Pv30U926dcvq3GQHBwc1a9ZM8+fPl5eXlwoVKiQpJgB++OGHWrFihVauXKnLly/r559/1ujRo+Xi4iJnZ2c5OTlpzpw5WrZsma5cuaK///5bv/32m+UiaI6OjpoxY4bOnTunDz74QHv37tWNGzcs95P/+uuvNXbsWKuj5KGhoRo0aJDOnDmj/fv3a+zYsWrQoIHy5MkjKeao+rVr13Tz5s0X7l/Xrl21cuVKrV69WpcuXZKfn59mz56td9991+o2bNOmTdPOnTt17tw5DRkyRBEREWrfvr0yZMigjBkz6pdfftGlS5d0+vRpjRgxQsePH7fq8bPWkRhBQUEaO3asfvnlF127dk179uzRyZMnLf2OPRr+999/W11cUIq5lVvJkiU1ePBgHTt2TGfPntXgwYOVNWtWlShRIs626tevr82bN+vatWuqXr16nMcLFSqkt99+W2PGjNFvv/2mixcvavbs2frll1/UpUsXSTH3iT916pQmT56sixcvatOmTVq5cqVlHW+88YbefvttjRo1Sr/++quuXLmihQsXasGCBVYfmqQkw0yPj4yM1GeffabQ0NBnjuvbt68ePnyoZcuW6d69exo2bJhCQ0M1efLkFKo09dq/f78WL16swMBAyzJ3d3d17do13ulHAAAAsL3oiHsv1TaXLFliuRCdg4OD3NzcVL58eU2dOlU5c+bUpEmTNGvWLK1atUo5cuRQzZo11alTJ/36669W62nRooXmz59vOcoeq0uXLkqbNq1WrFihSZMmKXv27GrTpo3lIm2VK1fW+PHjtWTJEk2fPl0uLi6qUaOG5RZlUky4W79+vRYtWqQvvvhCN27c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", | |
"text/plain": [ | |
"<Figure size 1200x800 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"np.random.seed(0)\n", | |
"\n", | |
"NUM_PRODS_TO_PLOT = 3\n", | |
"DAYS_TO_PLOT = 10\n", | |
"QUATILE = 0.9\n", | |
"NUM_SAMPLES = 100\n", | |
"\n", | |
"prods_to_plot = np.random.choice(range(len(X_train_prod_processed)), NUM_PRODS_TO_PLOT)\n", | |
"\n", | |
"means_to_plot = []\n", | |
"lower_q_s = []\n", | |
"upper_q_s = []\n", | |
"\n", | |
"prod_dict = {}\n", | |
"\n", | |
"for res in results:\n", | |
" model = res[\"model\"]\n", | |
"\n", | |
" for i in prods_to_plot:\n", | |
" if i not in prod_dict:\n", | |
" prod_dict[i] = {\n", | |
" \"means_to_plot\": [],\n", | |
" \"lower_q_s\": [],\n", | |
" \"upper_q_s\": [],\n", | |
" \"samples\": []\n", | |
" }\n", | |
"\n", | |
" X_prod_proc_i = X_train_prod_processed[i][-DAYS_TO_PLOT:]\n", | |
" y_prod_proc_i = y_train_prod[i][-DAYS_TO_PLOT:]\n", | |
"\n", | |
" samples = model.sample(X_prod_proc_i.values, NUM_SAMPLES)\n", | |
" samples = samples.astype(int)\n", | |
" samples = np.maximum(samples, 0)\n", | |
"\n", | |
" means = np.mean(samples, axis=0)\n", | |
" lower_q = np.quantile(samples, 1-QUATILE, axis=0)\n", | |
" upper_q = np.quantile(samples, QUATILE, axis=0)\n", | |
"\n", | |
" prod_dict[i][\"means_to_plot\"].append(means)\n", | |
" prod_dict[i][\"lower_q_s\"].append(lower_q)\n", | |
" prod_dict[i][\"upper_q_s\"].append(upper_q)\n", | |
" prod_dict[i][\"samples\"].append(samples)\n", | |
"\n", | |
"for i in prod_dict:\n", | |
" means_to_plot = np.array(prod_dict[i][\"means_to_plot\"]).squeeze()\n", | |
" lower_q_s = np.array(prod_dict[i][\"lower_q_s\"]).squeeze()\n", | |
" upper_q_s = np.array(prod_dict[i][\"upper_q_s\"]).squeeze()\n", | |
" samples = np.array(prod_dict[i][\"samples\"]).squeeze(-1)\n", | |
" y_true = np.array(y_train_prod[i][-DAYS_TO_PLOT:])\n", | |
"\n", | |
" model_names = [res[\"model\"].__class__.__name__ for res in results]\n", | |
"\n", | |
" print(\"mean shape\", means_to_plot.shape)\n", | |
" print(\"lower shape\", lower_q_s.shape)\n", | |
" print(\"upper shape\", upper_q_s.shape)\n", | |
" print(\"y_true shape\", y_true.shape)\n", | |
" print(\"samples shape\", samples.shape)\n", | |
"\n", | |
" #plot_predictions(y_true, means_to_plot, upper_q_s, lower_q_s, [res[\"model\"].__class__.__name__ for res in results])\n", | |
" plot_model_comparisons(samples, y_true, model_names=model_names)\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Log-likelihood" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 50, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Model Treeffuser has a NLL of {'nll_samples': 1.2198445752273326}\n", | |
"Model Treeffuser has a CRPS of {'crps_100': 0.6448642942915247}\n" | |
] | |
} | |
], | |
"source": [ | |
"for res in results:\n", | |
" model = res[\"model\"]\n", | |
" name = res[\"model_name\"]\n", | |
" nll = LogLikelihoodFromSamplesMetric(n_samples=100).compute(model=model, X_test=X_test_np, y_test=y_test_np, samples=res[\"y_samples\"])\n", | |
" crps = CRPS().compute(model=model, X_test=X_test_np, y_test=y_test_np, samples=res[\"y_samples\"])\n", | |
" print(f\"Model {name} has a NLL of {nll}\")\n", | |
" print(f\"Model {name} has a CRPS of {crps}\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Plot calibration plot" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 51, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def calibration_plot(y_samples: Float[np.ndarray, \"n_samples batch y_dim\"], y_test: Float[np.ndarray, \"batch y_dim\"]) -> None:\n", | |
" \"\"\"\n", | |
" We will plot the calibration plot for the model. Essentially, we will plot the\n", | |
" \"\"\"\n", | |
" assert y_test.shape[1] == 1, \"Only works for univariate outputs\"\n", | |
" n_samples = y_samples.shape[0]\n", | |
" y_samples = np.maximum(y_samples, 0.0)\n", | |
" y_samples = np.round(y_samples).astype(int)\n", | |
" y_test = y_test.astype(int)\n", | |
"\n", | |
" # Filter out the zeros\n", | |
" #non_zero_idx = y_test > 0\n", | |
" #y_test = y_test[non_zero_idx]\n", | |
" #y_samples = y_samples[:, non_zero_idx]\n", | |
"\n", | |
" y_test_expanded = y_test[np.newaxis, :].repeat(n_samples, axis=0)\n", | |
" prob_of_event = np.mean(y_samples <= y_test_expanded, axis=0)\n", | |
" prob_of_event_sorted = np.sort(prob_of_event.flatten())\n", | |
" return np.linspace(0, 1, len(prob_of_event)), prob_of_event_sorted\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 52, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAG1CAYAAAAfhDVuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB1pUlEQVR4nO3dd1zU9R8H8Ndx3GCKCAiKe4BoCiqu3Kll5qzc5gi3aeZOc1VucyGuHJk7NTXLbZk/TUVzpWAOVJSlTIHj7rj7/v4grhBUDrn7csfr+Xj4CL73vbvXfbi4N9/PkgiCIICIiIjIStmIHYCIiIjIlFjsEBERkVVjsUNERERWjcUOERERWTUWO0RERGTVWOwQERGRVWOxQ0RERFaNxQ4RERFZNVuxA4jt8uXLEAQBMplM7ChERESUT1qtFhKJBAEBAa88t9hf2REEAaZaRFoQBGg0GpM9PmVhO5sH29k82M7mwXY2H1O1tTGf38X+yk72FZ033nij0B87PT0dYWFhqFq1Kuzt7Qv98SkL29k82M7mwXY2D7az+Ziqra9fv57vc4v9lR0iIiKybix2iIiIyKqx2CEiIiKrxmKHiIiIrFqxH6BsDJ1OB61Wm+/z1Wq14b82NqwrTaWw2lkmk0EqlRZWLCIiKiJY7OSDIAiIiYlBUlKSUffT6/WwtbVFVFQUix0TKsx2dnFxgaenJyQSSSGlIyIisbHYyYfsQsfDwwP29vb5/iDU6XRQq9VQKBS8YmBChdHOgiAgPT0dcXFxAAAvL6/CjEhERCJisfMKOp3OUOiUKlXK6PsCgFKpZLFjQoXVznZ2dgCAuLg4eHh48GdGRGQl2LfyCtljdLjoVPGQ/XM2ZmwWEREVbUWq2FmzZg369ev30nMSExMxbtw4BAYGokGDBpg1axZUKpXJs3EMR/HAnzMRkfUpMt1YW7duxdKlS1G/fv2Xnjd69GioVCps2rQJKSkpmDp1KtLT0zF//nwzJSUiIiJLInqxExsbixkzZuD8+fOoWLHiS8+9fPkyLly4gF9++QVVqlQBAMyePRtBQUH47LPPULp0aTMkJiIiIksiejfWjRs3IJPJcODAAdSpU+el5168eBHu7u6GQgcAGjRoAIlEgkuXLpk6qkWbPHkyfHx8XvrPVPbs2YOmTZuidu3aOHbsWK7viYiITEn0KzutW7dG69at83VubGxsrinBcrkcLi4uiI6OLnCG7GnHeVGr1dDr9dDpdIZZP8Y8bvZ/jb1vYZs8eTI+/fRTw/ctWrTAlClT8M477xiOmSrjvHnz0Lp1a4wcORKurq5o1apVju9f93kLs511Oh30ej1UKhX0ev1rPZa1yR4bZ44xcsUZ29k82M6F5+Slx7hy++kLb5dAwBveElQs5LYWBCHf4yxFL3aMoVKpIJfLcx1XKBSGVXQLQqvVIiws7IW329ravtbjv859C4tMJoNMJstxTKFQwMnJyfB9RkaGSZ47JSUFderUMUzdf/77wnrewmhntVqNzMxM3Lt3rxASWaf79++LHaFYYDubB9v59ej0Atbtfwy98PLzMtUOKFvqfqE/f141QV4sqthRKpXQaDS5jqvV6teaGi6TyVC1atU8b1Or1YiKioJCoYBSqTQcFwQBau3LryIIggC1WgOFQl7os3wUMulrP6ZMJjO8ph9//BGrV69GixYtsG/fPjRo0ADBwcG4e/cuFixYgIsXL8LBwQENGzbExIkT4e7uDiDrNW7YsAE7d+7E06dPUaFCBQwaNAgdO3bE48eP0bZtWwDArFmzsG7dOkRFReX4/vjx4/Dz88PXX3+Nrl27GrL995hKpcKcOXPw22+/4dmzZ6hcuTKGDx9ueGy9Xo+1a9di7969uTIAwIULF/Dxxx9jzJgxWL9+Pby9vbFz584XrrZsa2uL8uXLQ6FQvFb7WhuVSoX79++jYsWKhjWJqPCxnc2D7Vw4VOpM6IXHAIAB7/rAxkYCjUaN71YvgF/t+nizZXsI+ky4KdMKva3v3LmT73Mtqtjx9PTE8ePHcxzTaDSGRf8KSiKRvLBYsrGxgY2NDaRSqWGROUEQMCn4fwi7n1Dg53xdNSq6Yv6opq9V8GS/ruyvIyMj8eTJE+zbtw8ZGRl4+vQp+vXrh44dO2LKlClQqVRYsWIFevfujYMHD8Le3h7ffPMNDh48iOnTp6Ny5coIDQ3F7NmzkZaWhp49e+J///sfmjZtis8//xwdOnSAIAiG7zt27Jjj+Z9fxC/7WHBwMP7++2+sW7cOzs7O+OGHHzBu3DgcOXIE3t7eWLJkCX7++Wd88cUXqFq1ao4Mffr0gY2NDXQ6HX7//Xfs2rULKpUq11WubFKpFDY2NrCzs8tR3NK/7OzsuO6UGbCdzYPt/GKxCemIiEp+6TnpGVlrkkkkQLfWPrh79y66dx+Ay5cv4+yvBzFt7ADI5XKEhYUVelsb8/lnUcVOYGAgFi1ahAcPHqBChQoAsv5qB4B69eqJGc1qjBgxAuXKlQMALF26FJ6enpg2bZrh9qVLl6JRo0Y4fPgw3nnnHWzatAnffPMNWrZsCQAoX748Hj9+jPXr16NPnz6GK0BOTk5wc3MzPI6TkxNcXV3zlenhw4dwcHBAuXLl4OzsjDFjxiAwMBAlSpRAeno6Nm/ejDlz5qBFixaQSqW5MmQbNGjQK2f8ERERoM3UYcw3vyFNlb8FVpVyW+zcuRNDhgzBs2fP4Obmhu+//x4uLi4vHBNrTkW62NHpdEhISICTkxOUSiXq1KmDunXrYuzYsZg5cybS09Mxffp0dOnSxazTziUSCeaPagq15uXdWDq9DhkZaiiVCkhtCnfrAYX89bux8vLfYuDmzZu4ffs2AgICcpyjVqtx9+5d3LlzB2q1GuPGjcvRJZSZmQmNRoOMjIxCuToyePBgDBs2DI0bN0bt2rXx5ptvomPHjnBycsK1a9egVqsxdepUTJs2zdAm/82Q12sjIqIXe5auNRQ6vhVKvvRcrUaN8N83oNfcHQCA5s2bY9u2bShbtqzJc+ZXkS52oqOj8dZbb2Hu3Lno1q0bJBIJgoODMWvWLPTv3x8KhQLvvPMOpkyZYvZsEokESsXLm0+nkwD6TCjlthazz9J/ixO9Xo9GjRphxowZuc5zcnJCZGQkgKyrPZUrV851Tn4Hjj0vMzMzx/cBAQE4deoUzpw5gz/++AP79u3DqlWr8O233xouic6bNw8+Pj652vm/GTgGh4gof7L/mLdTSLFwdPMXnqdSqdCoUSNcu3YNEokEU6dOxYwZM2BrW7TKiyKVZt68eTm+9/b2xq1bt3IcK1WqFJYvX27OWMVWtWrV8Msvv8DLy8tQNCQlJWHSpEkYOHAgatasCVtbW0RFRaFVq1aG+23evBl37tzB7Nmz8/U8MpkMqamphu8fPHiQ4/bly5ejXr16eOutt/DWW29hypQp6NChA44cOYJx48bB1tYWMTExaNeunaHYMTYDEVFxsOngDfxy9j6Al0+f0v2z8oZC9vIywc7ODq1bt0ZsbCy2bNmCNm3aFE7QQib6ooJUdPXu3RvPnj3D+PHjER4ejvDwcIwdOxbXr19H9erV4eTkhJ49e2LZsmXYv38/IiMjsXv3bixcuNCoAeP+/v744YcfEBYWhps3b2LmzJk5rshERkZixowZ+OOPP/D48WMcOXIEUVFRCAgIgJOTE7p3746QkBAcOHCgwBmIiIqDkxcjoVJnQqXWvfSf5p/ZxtXL5+7CSktLQ2xsrOH7+fPn4+rVq0W20AGK2JUdKlrKlSuHLVu2YPHixejVqxekUinq1q2LzZs3GwYXT5kyBSVLlsSyZcsQFxcHLy8vjB49GkFBQfl+npkzZ2LmzJno3r07PDw8MGbMGMTExBhunzFjBubPn48JEyYgKSkJZcuWxfjx49G5c2cAWQsmOjs7Y8WKFQXOQERUHGQvmfL18CbwKPnqmVHPn3Pjxg10794drq6u+PXXX2Frawu5XF7kt2uSCNnLzxZT169fBwC88cYbed6ekZGBiIgIVKpUyejBtjqdzjBI11LG7Fiiwmzn1/l5W7v09HSEhYWhRo0anKprQmxn87Dkdk7P0GLvr3eQkpZ73blXOXLuPvQCsGl6O5Qqkf81bwRBwKZNmzBy5EioVCp4eXnh1KlTqFat2qvzmqitX/X5/V+8skNERGRBzl6Lxs7jfxf4/rZSGzgo815rLC+pqakYPnw4tmzZAgBo164dvv/+e4saKsBih4iIyII8S8+6olOpjDMav1HG6Pv7VCj5ytnE2a5du4bu3bvj1q1bkEql+PLLLzFp0qQXrkBfVLHYISIiEoEgCHgQ88ywCnF+PYrLmr3qU8EVvdr5mCIagKx8QUFBuHXrFsqWLYsdO3agadOmJns+U2KxQ0REJIJjFx5ixa4rBb6/QmbasaASiQSbN2/G9OnTERISkmMVfEvDYiefivk47mKDP2ciMpfI2GcAAAc7GZwdjFuE1U5hi+YBhb9C8eXLlxEaGoohQ4YAAHx9fbFr165Cfx5zY7HzCtkbRqanp3Nn3GIgew+XF20USkRUWLJXKe7crDJ6ve0rahZBEBASEoLPPvsMmZmZ8PPzs9guq7yw2HkFqVQKFxcXxMXFAQDs7e3zvSeVTqeDWq02PA6ZRmG0syAISE9PR1xcHFxcXPjzIqJ8S8/Q4ssN5xGXqDLqfimpWb+3FHJxP4qTkpIQFBSEPXv2AAA6d+6MmjVripqpsLHYyQdPT08AMBQ8+aXX65GZmQlbW1uLG7luSQqznV1cXAw/byKi/LgZkYC/7sYX+P7lPZ0KMY1xQkND0aNHD0REREAmk2HhwoUYPXq0STaaFhOLnXyQSCTw8vKCh4cHtNr8j5pXqVS4d+8eypcvzy4wEyqsdpbJZLyiQ0RGy9BkbV5cuUwJjPigtlH3dXKQo4yboylivdLKlSsxduxYaLVaVKpUCTt37kRgYKAoWUyNxY4RpFKpUR+Gen3WTmoKhYKr8ZoQ25mICktyqhpHzz8wjKfJj/vRKQAAF2cFfCq4mipaoZNIJNBqtfjggw/w7bffokSJEmJHMhkWO0RERP/48bc72PPrnQLd19neuBlVYlCr1VAoFACA4cOHo1KlSnjnnXesrtvqeSx2iIiI/pH0z6DhGhVdUaVs/q902NraoH3jiiZK9fr0ej0WL16Mb7/9FufPn4eLiwskEgnat28vdjSzYLFDRERWS68XEBOfhudX0FKpVHiaokXU0zTY2ekNx5OeZRU7zfzLomOzymZMajpPnz5F//798csvvwAANm/ejNGjR4ucyrxY7BARkdVasOUizlyNeskZsXkeVcitY7LC6dOn0atXLzx+/BhKpRLLly9HUFCQ2LHMjsUOERFZrduRSQAAO4U059IUggCdTpc16eS58SoujgrUrmq5WyMAWd1W8+bNw/Tp06HT6eDj44Ndu3ahdm3jZotZCxY7RERktTT/zKpa8ElzVPRyNhxPT09HWFgYatSoAXt7e7HimcyXX36JmTNnAgD69euHkJAQODqKM8W9KGCxQ0REFiMxJQPLd11B8j8DiV8lJe2fVYpNvGlmUTNy5Ehs27YNkydPxoABA6x+ttWrsNghIiKLceFmDC6G5T3O5kXsFFK4OClMlKho0Ol0+Omnn9ClSxcAgJubG27cuAFbW37MAyx2iIjIgqjUWd1Sb1RxQ9eWVfJ1n3KlnWCnsN6Pu+joaPTt2xcnT57Epk2b0L9/fwBgofMfbAkiIhJVcqoaZ69HQ5v56lWLr915AgDwcnNAoB/3sTt27Bj69u2LuLg4ODg4GBYMpJxY7BARkai2HA7H4T/uG3UfBzuZacJYiMzMTMycORNz5syBIAioXbs2du3aBR8fH7GjFUksdoiISFTxySoAQPXyLvB0dXjl+UqFLd5tUtHEqYquR48eoXfv3jh9+jQAYNiwYfjmm2+44fRLsNghIiKTSc/QQqd/fv3i58/J2jW8c/MqaB7gbY5YFi0sLAz/+9//4OTkhHXr1qFHjx5iRyryWOwQEZFJHP7jPkL2XIXw8lrHoLhNDy+otm3bYtWqVXjrrbdQtWpVseNYBJtXn0JERGS863ee5rvQcXVWolr5kqYNZKEePnyId999F3fv3jUcGzp0KAsdI/DKDhERmYRamzW7asQHddCuYYWXnmsjQbFf+C4vBw4cwIABA5CYmIihQ4fi+PHjYkeySCx2iIjIKDuP3ULY/YRXnvf3wyQAgJ3CFlIbFjLG0Gg0mDx5MpYsWQIACAwMxLp160ROZblY7BARUb4lPVNjy+Fwo+7j7sJZQsaIiIhAz549ceHCBQDA2LFjMW/ePMjlcpGTWS4WO0RElG/pai0AQG5rg+Hv13nl+aVKKOFXydXUsazGlStX0LJlSyQnJ6NkyZLYtGkTOnXqJHYsi8dih4iIDMLvJyAmIf2Ftz9NyloTx95OhjYNypsrVrHh5+eHatWqQSaTYceOHShfnm1cGFjsEBERACAy9hkmrDidr3Otea8pc7t//z68vb1ha2sLuVyOgwcPwtXVFTJZ8V4lujDx3UpERACAuMSsKzp2CltUL+/ywvMkkLxydhXlz44dOzBkyBB88skn+PrrrwEApUuXFjmV9WGxQ0REAAC1JmuqeEUvZ3w17E2R01g3lUqFTz/9FGvXrgUAnDlzBpmZmdyp3ETYqkRExcTWw+H44cTfEF6w0l/2rg4KOVcyNqVbt26he/fuuHbtGiQSCaZOnYoZM2aw0DEhtiwRUTFx5trjV+5TBQC1KpcyQ5riacuWLRg2bBjS0tLg4eGBLVu2oG3btmLHsnosdoiIionsbqoZQY1QpWyJPM+RSm3g7MD1XEwhOjoaQ4cORXp6Olq1aoWtW7fCy8tL7FjFAosdIiILdzsyEYfO3n/lVZukZ2oAWYv8lXRWmiMa/YeXlxdWrVqFiIgITJs2DVIpuwvNhcUOEZGF23o4HJfC4/J1ro0EKOGoMHEiAgBBELBp0yZUrVoVzZo1AwB89NFHIqcqnljsEBFZuNT0rFWN2wSWR7nSTi89t2IZZ7g4sdgxtdTUVIwYMQLff/89ypYti2vXrsHVlStJi4XFDhFREabTC/j7QSIyNJkvPCcpNat7qkXdsvCv7mGuaPQC165dQ48ePRAeHg4bGxuMGDECLi4uYscq1ljsEBEVYftP3cXGgzfyda5Szl/pYhIEAevWrcOYMWOQkZGBsmXLYvv27YYuLBIP/88gIirCop6mAgBKOile2v1Uxs0RVcu5mCkVPU+tVmPgwIHYvn07AKB9+/bYvHkz3NzcRE5GAIsdIqIiLUOdNV28W6tq6NKiishp6EXkcjm0Wi1sbW0xZ84cjBs3DjY2NmLHon+w2CEiEpFOp8fMb8/hflQKgKyukExdJmylcZBIJEhVZQ0+VnJV4yJHEASo1WoolUpIJBJ8++23GD9+PBo2bCh2NHoOix0iIhE9epKKK38/yeMWjeEriSRrFhUVHUlJSQgKCoJEIsGuXbsgkUhQokQJFjpFFIsdIiIRZa9q7OqswOwhTaDKyMC9e/dQuXJl2CmzFv5zcpDDlYsAFhmhoaHo0aMHIiIiIJPJcP36ddSuXVvsWPQSLHaIiEzoxr14nPsr+oW3xydnAADslTJU8HJGerot0hJkKF/aEfb29uaKSfkgCAKWLVuGiRMnQqvVomLFiti1axcLHQvAYoeIyISW7biM6Pi0V57HVY2LtoSEBAwaNAj79+8HAHTr1g3r16/n+jkWgsUOEZEJJadlLfj3dqMKcLST5XmOjY0EzQO8zRmLjCAIAjp27IizZ89CLpfjm2++wYgRIyCRSMSORvnEYoeIqID0egEPY59Bp9O/8JyMf8bk9Grng1Il7MwVjQqRRCLBvHnzMHjwYGzbtg1169YVOxIZicUOEVEBrd13HT+ficjXuQoZp45bkqdPn+LKlSto06YNAKBZs2b466+/YGvLj01LxJ8aEVEB3XucDABwtJNB/pJipk41Nzjay80Vi17T6dOn0atXLyQmJuLSpUvw9fUFABY6Fow/OSKiAlJrs7qoxveth3q+pUVOQ69Lr9dj3rx5mD59OnQ6HXx8fJCZ+eINWMlyiF7s6PV6BAcH44cffsCzZ88QGBiI6dOno1y5cnmeHx8fjzlz5uDMmTMQBAFNmjTB5MmTUbo0f9EQUeHSZuoxf3PoC2dTRT3JOs4uKssXGxuLfv364dixYwCAfv36ISQkBI6OjiIno8Ig+sYdISEh2LZtG7788kvs2LEDer0eQUFB0Gg0eZ7/6aefIioqChs3bsTGjRsRFRWFkSNHmjk1ERUHtyMTcf5GDB7GPMvzX6ZODxsbCbzcHMSOSq/h119/hb+/P44dOwY7Ozts2LAB3333HQsdKyLqlR2NRoMNGzZg/PjxaNmyJQBgyZIlaNasGY4ePYr33nsvx/kpKSm4cOECVq1ahRo1agAAhgwZghEjRiApKYnrHRBRocrehNPLzQGjPqyT5zmlXR04y8rCHTt2DDExMfDz88OuXbtQs2ZNsSNRIRO12AkPD0daWhoaN25sOObs7Aw/Pz+EhobmKnaUSiUcHBywb98+NGjQAACwf/9+VKpUCc7O3DeGiIz3Z3gc7j5OyvO2yNhnAAAXRwVqV3U3Yyoyp9mzZ8PZ2RmffPIJHBx4lc4aiVrsxMTEAAC8vLxyHPfw8DDc9l9yudwweKx+/fqQSCTw8PDAli1bYGNT8B45QRCQnp5e4Pu/iEqlyvFfMg22s3lYYzs/S9dg1vpz0OuFl55nJ7cxye+IvFhjOxc1J06cwIoVKzB79mxDO48ePRoAzPZzLk5M9Z4WBCHfCzuKWuxkv3C5POeUTIVCgeTk5FznC4KAsLAwBAQEICgoCDqdDkuWLMGIESOwffv2AvevarVahIWFFei++XH//n2TPTb9i+1sHtbUzk9TtNDrBUhtgNoV896HysZGgvqVbUz6OyIv1tTORUVmZibWrl2LjRs3QhAE+Pj4YMCAAWLHKjZM8Z5+vn54EVGLHeU/O/pqNBrD1wCgVqthZ5e7D/zQoUPYsmULfv31V0Nhs3r1arRq1Qq7d+8u8JtWJpOhatWqBbrvy6hUKty/fx8VK1bM8/VQ4WA7m4clt3OmTo/k1NyTHtS2qQBi4eygwOSBb5o/WB4suZ2LssePH2PgwIE4c+YMAKB///7o2bMn29kMTPWevnPnTr7PFbXYye6+iouLQ/ny5Q3H4+Li4OPjk+v8ixcvolKlSjmu4JQoUQKVKlXCgwcPCpxDIpGYdHdhOzs77l5sBmxn87C0dtbpBYxfdBKRsakvPEepsC1yr8nS2rkoO3ToEPr164f4+Hg4OTlh7dq16NSpE8LCwtjOZlTYbW3M3mSiTj339fWFo6Mjzp8/bziWkpKCmzdvIjAwMNf5np6eePDgAdRqteFYeno6Hj16hIoVK5ojMhFZmNR0jaHQsZXa5Pont7VBc/+yIqckU1m1ahXeffddxMfHIyAgAJcuXULPnj3FjkVmJuqVHblcjr59+2LRokVwdXVF2bJlsXDhQnh6eqJdu3bQ6XRISEiAk5MTlEolunTpgvXr1+PTTz/FmDFjAABLly6FQqFAt27dxHwpRFREZW/EKZdJsWfee684m6xNu3bt4OzsjI8++ggLFy7MMWSCig/RV1AePXo0MjMzMW3aNGRkZCAwMBDr16+HTCbDo0eP8NZbb2Hu3Lno1q0bPDw8sG3bNixcuBD9+/eHjY0N6tevj23btsHJyUnsl0JEIjl6/gF+vRSZ523qf4odrnJcfPz999+oXr06AKBKlSoIDw/PNeuXihfRix2pVIoJEyZgwoQJuW7z9vbGrVu3chyrUqUKVq9eba54RGQBthwKQ+Iz9UvPKV2K4zKsnUajwZQpU7B06VIcPnwYbdu2BZB7eRMqfkQvdoiIXle6OmuzxmFd30AJJ0Wu2yWQwK+yq7ljkRlFRESgZ8+euHDhAgDgjz/+MBQ7RCx2iMgiXL/71LDx5vOyu6qa1CmDkk4ck1Hc7N27F4MGDUJycjJKliyJTZs2oVOnTmLHoiKExQ4RFXnRT9PweciZl54jkQB2cv5KK07UajXGjx+P4OBgAECjRo2wY8cOVKhQQeRkVNTwNwMRFXlPk7NWW7dTSPFGlbz3qKpTzQ1KBX+lFSc///yzodCZOHEivvrqK8hkMpFTUVHE3wxEVGTo9AJ0On2u42kqLQCgrLsjvvi4obljURHVtWtXjBkzBu3atcO7774rdhwqwljsEFGREJ+swqffnEJS6otnVSnYTVWsqVQqzJ49G+PGjYObmxskEgmWLl0qdiyyAPzNQURFwt8Pk15a6ABAQPW8u7DI+t26dQvdu3fHtWvXcOPGDRw4cEDsSGRBWOwQUZGg1mbNqKpVpRS+GJS7q8pGIuGYnGJqy5YtGDZsGNLS0uDu7o5Ro0aJHYksDH9zEJFZnf8rGr/++QgQch6PTciaVu6glMFeyUGmlLX34SeffIINGzYAAFq2bImtW7eiTJkyIicjS8Nih4jMav2BG4iOz3u9HABwLcF1cgi4d+8eOnXqhBs3bkAikWD69On44osvIJVy2w8yHosdIjKr1H9mVvVoWz3XAoAyWxs0foNL+xPg6uqKtLQ0eHp6YuvWrWjdurXYkciCsdghokKlzdTh+p14aDJ1ed6u+mdrh7YNKqC0K/eron+pVCoolUpIJBK4uLjgwIED8PDwQOnSpcWORhaOxQ4RFaptR25h98nbrzzPjoON6T+uXbuGHj16YMyYMRg2bBgA4I033hA5FVkL/rYhokKVPR6ntKs9SuaxKScA1KxcCs4OcnPGoiJKEASsW7cOY8aMQUZGBhYtWoRBgwZBLuf7gwoPix0iKlTZm3L2aFMdbRtyjyJ6sZSUFAwdOhQ7duwAALzzzjvYvHkzCx0qdCx2iMhoqSotJgefRlxieq7bsosdhZyzZujFLl++jO7du+POnTuQSqWYM2cOxo8fDxsbG7GjkRVisUNERvv7QSIexDx74e22UhtUKlPCjInIksTFxaFp06ZIT09HuXLlsGPHDjRp0kTsWGTFWOwQkdHU2qwZVVW9S2DSR4G5bne0l8PRjgsDUt48PDwwZcoUXLhwARs3bkSpUqXEjkRWjsUOEeVJEAQcOH0Pj+NSAQCZmZlITEzEmdthiEvKAJBV1HiWchAzJlmI0NBQODs7w8fHBwDw+eefQyKRQCKRiJyMigMWO0SUpwcxz/Dt/r/yuOXf1Y9dXjDbiiibIAhYvnw5JkyYgBo1auDcuXOws7Pj2BwyKxY7RJSnZ2kaAEAJRzk6vFkZWq0GT548hbu7G2QyOWylErSsW07klFSUJSQkYNCgQdi/fz8AoGrVqtBqtbCzsxM5GRU3LHaICE8SVXiSlHNm1Z1HSQAAdxc79Grng/T0dISFaVCjRhXY23PlY3q5c+fOoUePHnj48CHkcjkWL16MkSNHstuKRMFih6iYi4lPw9C5x6EX8r5dIeevCco/vV6PxYsX4/PPP0dmZiaqVKmCXbt2oW7dumJHo2KMv8WIirmoJ2nQC1nTxd1L5uxekNpI0L5xRXGCkUXS6/XYt28fMjMz0aNHD6xduxbOzs5ix6JijsUOUTGXPY28WjkXLPikmchpyNLZ2tpix44dOHLkCD7++GN2W1GRwGKHqJi4E5mEZTsvI/2fXcezZfzzPVc8poLQ6/WYP38+kpKSMH/+fABAuXLlEBQUJHIyon+x2CEqJs5ci8L96JQX3l7e08mMacgaxMXFoV+/fjh69CgAoHv37qhXr57IqYhyY7FDVExkaLKu4LQJLI93GufcoJPbO5CxfvvtN/Tu3RvR0dGws7NDcHAwByFTkcVih8gKPU1S4UToQ2gz9YZjNyMSAABebg7wqeAqVjSycDqdDl9//TVmzZoFvV6PGjVqYNeuXahVq5bY0YheiMUOkRXadiQcxy48zPM2Zwe5mdOQNfnwww/x448/AgAGDBiA4OBgODhwyxAq2ljsEFmhpFQ1AKB2VTeUL/3vWBwnBzmaB5QVKxZZgZ49e+Lo0aMICQnBRx99JHYconxhsUNk4XQ6PWIScq5+nPLPVg/tGlZAi7reYsQiK5GZmYmIiAhUq1YNQNYg5BYtWqB06dIiJyPKPxY7RBZu2pqz+OtufJ63cTo5vY7Hjx+jd+/euHXrFq5cuQJPT08AYKFDFofFDpGF+/thEgDAXmmbYwE3txJK1KjIgchUMIcPH0a/fv3w9OlTODo64saNG4Zih8jSsNghsmB6vQCNVgcAWDO5DVycFCInIkun1WrxxRdfGBYI9Pf3x65duwzdWESWiMUOkYW4FB6Lncf+Rqbu3+nkgvDv7p3ssqLX9fDhQ/Tq1Qtnz54FAIwcORKLFi2CUqkUORnR62GxQ2Qhfjp9D2H3E/K8zdVZAYWMxQ69nnnz5uHs2bNwdnbG+vXr8cEHH4gdiahQGF3sfPzxx3j//ffRpk0byOVcr4PIXDI0Wd1VH75VLddYnMplS8DGhhsu0utZsGABkpKS8NVXX6Fy5cpixyEqNEYXOzqdDuPHj4ejoyPeffdddOvWDbVr1zZFNqJiKzlVjbPXo6HN1BmOxSVmTS/3q1QK9WtwNgy9vvv372PNmjWYM2cOJBIJHB0dsW3bNrFjERU6o4udTZs2ISYmBvv27cO+ffuwY8cOVKlSBV27dkXnzp3h7u5uipxExcr3h8Jw5NyDPG9zUMrMnIas0Y8//oiBAwciOTkZXl5eGD16tNiRiEymQGN2PD09MWzYMAwbNgyXL1/G4cOHsXPnTixduhRNmzZFjx490KpVq8LOSlRsxCdnAACql3eBp+u/S/GXLmWP6hVKihWLrIBarcaECROwYsUKAECjRo3QuXNnkVMRmdZrD1AWBAF6vR6ZmZkQBAFxcXEYNWoUKleujMWLF6N69eqFkZPIqqm1OsMUcgBIz9ACADo3r4LmAVwBmQrH3bt30aNHD1y6dAkAMH78eMyZMwcyGa8WknUrULETGRmJ/fv348CBA4iMjES5cuXQo0cPdO3aFaVLl0ZsbCwGDx6McePG4aeffirszERW5ca9eExfcxaa/+xQnk0p54RJKhwHDx5Enz59kJKSglKlSuG7775Dhw4dxI5FZBZG/ybt2bMnrl69CoVCgXbt2uGrr75CgwYNcpxTunRptGvXDps2bSqsnERW62ZEfJ6FjquzEtXKuZg/EFkld3d3pKeno2nTpti+fTu8vXnFkIoPo4udzMxMzJgxA++99x4cHR1feF6bNm3QrFmz1wpHVByo/5lS/m6TihjS9d+ZjTYS5Nj+gchY6enpsLe3BwA0bNgQv/76Kxo1agRbW14xpOLF6Hd837590aJFizwLnSdPnmDfvn0YPHgwfH19CyUgkTX57VIkfvvzUY5jj+JSAQB2CltIuVYOFZKtW7di7NixOH78uGF5kKZNm4qcikgcNsbeYcqUKYiMjMzztrCwMCxfvvy1QxFZq40Hb+JSeFyOf7EJWevnuLvYiZyOrEF6ejqCgoLQt29fPHnyhL+TiZDPKztDhgzB3bt3AWTNvho5cmSeqyfHx8ejfPnyhZuQyIpkz7Ia+J4fnB3+3bTTwc4W9WtwR2l6PTdv3kT37t1x48YNSCQSfPHFF5g+fbrYsYhEl69iZ9iwYfjhhx8AZC1E5efnB1fXnMvV29jYwNnZGd26dSv8lEQWKD5Zhet343McU/8zvbxVvXIo6czNFanwbNq0CSNHjkR6ejpKly6NrVu34q233hI7FlGRkK9ip27duqhbt67h+xEjRqBcuXImC0VkDWauO4f70Sl53qZUcIAoFZ59+/Zh4MCBAIC33noLW7ZsgacnrxQSZTP6N+7cuXNNkYPI6mTvZVWjoivksn+Hx9Wp5g47FjtUiDp27Ih27dqhWbNmmDJlCqRSqdiRiIqUfP3GrVGjBnbu3InatWvD19f3pdNhJRIJbt68WWgBiSxV9pTySR/VR6kSHHxMhUcQBOzatQudOnWCnZ0dpFIpDh06BBsbo+ecEBUL+Sp2Ro4cidKlSxu+5tofRP/64cTf2HYkHHq9kON49rcKroJMhejZs2cYOnQotm/fjmHDhmHVqlUAwEKH6CXy9Vt41KhRhq8/+eQTk4UhskRnr0cjUyfkeVulMs6wZ5cVFZIrV66ge/fuuH37NqRSKSpWrAhBEPgHKNEr5Ou3cGhoqFEPGhgYWKAwRJYou7tqcv9A+FXMOUvR2VEBGy4USK9JEASsWrUKn332GdRqNcqVK4cdO3agSZMmYkcjsgj5Knb69etn+MtBEPL+C1YikRj+wggLC8t3AL1ej+DgYPzwww949uwZAgMDMX369BfO9tJqtVi+fDn27duHZ8+eoVatWpg6dSpq1KiR7+ckKog0lRY7jt1CSpomx/GnSVkDkd1KKDmdnApdcnIygoKCsHv3bgBZg5E3btyIUqVKiZyMyHLkq9jZvHmzyQKEhIRg27ZtmDdvHjw9PbFw4UIEBQXhp59+ynPhwpkzZ+K3337DvHnzUKZMGSxbtgyDBw/GoUOH4OTkZLKcRGeuRWHfqbsvvL2kEwsdKnzJyck4ceIEbG1tMX/+fIwdO5bdVkRGylex8/yu5oVFo9Fgw4YNGD9+PFq2bAkAWLJkCZo1a4ajR4/ivffey3F+ZGQk9uzZg9WrVxs2Gf3qq6/QpUsX/PXXX2jcuLFJchIBQGp61urHVb1LoJl/zh2jy5V2hIervRixyMqVL18e27dvh4uLCxo2bCh2HCKLlK9iZ8qUKYaFBKdMmfLScyUSCebMmZOvJw8PD0daWlqOIsXZ2Rl+fn4IDQ3NVeycOXMGTk5OaN68eY7zT548ma/nI8ovQRBw51GSocABgAcxWQsEVi1XEt1aVRUrGlm5xMRETJgwASNGjMAHH3wAAHj77bdFTkVk2fJV7Jw/fx79+/c3fP0yxlxejYmJAQB4eXnlOO7h4WG47b8iIiJQrlw5HD16FGvXrkVsbCz8/PwwefJkVKlSJd/P+zxBEJCenl7g+7+ISqXK8V8yDVO089nrMVi263qet0klepO8X4o6vp9NLzQ0FP369UNkZCRu3ryJ1q1bQ6lk96gp8P1sPqZqa2NmIuar2PnvlZPCvIqS/cKfH5ujUCiQnJyc6/zU1FQ8ePAAISEhmDhxIpydnbFq1Sr07t0bv/zyS4EH7Gm1WqMGVRvr/v37Jnts+ldhtvO1sKyrOHYKGzjb/bsarUImgXeJDJO+X4o6vp8Ln16vx7Zt27BixQrodDqULVsW8+bNQ0REhNjRrB7fz+ZjirbOa2xvXgq8AEhKSgquXLmClJQUlCpVCrVr14aDg4NRj5H9F4tGo8nx14tarYadXe4VZ21tbZGamoolS5YYruQsWbIELVq0wI8//oigoKACvRaZTIaqVQu/W0KlUuH+/fuoWLFinq+HCocp2vly5G0AKWhV1xv93/UplMe0dHw/m0Z8fDyGDBmCw4cPAwA6d+6MsWPHolatWmxnE+L72XxM1dZ37tzJ97lGFzt6vR4LFizAtm3boNH8OwXXzs4Ow4cPx5AhQ/L9WNndV3FxcShfvrzheFxcHHx8cn/AeHp6wtbWNkeXlVKpRLly5fDo0SNjX4qBRCKBvb3pBpfa2dmZ9PEpS0HbWafTY+a353A/6t9NO9PVmQAARwclf3bP4fu58CQkJKBJkyZ49OgRFAoFli5din79+iE8PJztbCZsZ/Mp7LY2ZtiM0cXOypUr8f3336Nv375o27YtSpUqhadPn+LgwYNYunQpHBwc0KdPn3w9lq+vLxwdHXH+/HlDsZOSkoKbN2+ib9++uc4PDAxEZmYmrl+/jjfeeAMAkJGRgcjISHTo0MHYl0IEAHj8JBVX/n6S522Vy5QwcxoqTlxdXfHuu+/i119/xa5du+Dv718sx4MRmZrRxc6ePXswfPjwHFtIVKpUCYGBgXB0dMTGjRvzXezI5XL07dsXixYtgqurK8qWLYuFCxfC09MT7dq1g06nQ0JCApycnKBUKlG/fn00adIEkyZNwuzZs+Hi4oLly5dDKpWic+fOxr4UIgBAxj8rILs6KzB7yL8r0topbeFRkn/xUeF68uQJBEGAh4cHAGDp0qXIzMzkOmFEJmR0sZOYmIiAgIA8b2vWrBm2bNli1OONHj0amZmZmDZtGjIyMhAYGIj169dDJpPh0aNHeOuttzB37lx069YNALBixQosWrQIo0aNQkZGBurWrYvNmzfD1dX1Fc9ElCXqSSqOnn8A3T87dcYnZwAA7JUyVPByFjMaWblTp06hd+/e8PPzw5EjR2BjY8PxIkRmYHSx07hxYxw6dAhvvvlmrtvOnj2LunXrGvV4UqkUEyZMwIQJE3Ld5u3tjVu3buU45ujoiJkzZ2LmzJlGPQ9Rts2HwnDmalSu4yUcFSKkoeJAp9Nhzpw5mDlzJvR6PUqUKIG4uDh4enqKHY2oWMhXsbNv3z7D1/7+/ggODkZ8fDzat28Pd3d3JCUl4dSpUzhy5AimTp1qqqxEhSIlNWtgfcOanvD2cASQNdCteUBZMWORlYqJiUHfvn1x4sQJAMCAAQMQHBxs9OxVIiq4fBU7kydPznXs119/xa+//prr+BdffGFY9ZOoKMjU6fEw5plhE9uUNDUAoF3DCmhQk39Zk+mcOHECffr0QWxsLOzt7bFq1Sp89NFHYsciKnbyVexk/0VCZInmbgrFhZu5V+RWyKR5nE1UODIzMzFq1CjExsaiVq1a2LVrF2rUqCF2LKJiKV/FTtmy+b+8n/3XM1FRERGdtRq3s4MctlIbAIBnKXv4VCgpZiyycra2ttixYwfWrFmDRYsWcS0XIhEVaAXlX375BRcuXIBGozEUN9n7S125cgW///57oYYkeh0Z6qyp5XNHvInynpxtRaZz+PBhREZGYvDgwQCAOnXqICQkRORURGR0sRMcHIzg4GA4OTkhMzMTMpkMtra2SEhIgI2NDT788ENT5CR6pcxMPb7eeB5RT9NyHE9VZQ1IVsgLvDsK0UtlZmbiiy++wLx58yCTyVC/fv0XLtFBROZnY+wdfvzxR3Tp0gUXLlzAgAED0KpVK5w9exa7d++Gi4sLqlWrZoqcRK90NyoF5/6KwcOYZzn+CQLgoLRFCcf8bRhHZIzIyEi0bNkS8+bNAwAMHjyYY3OIihij/9SNjY1Fx44dIZFIUKNGDfz8888AgFq1amHYsGH44Ycf8tzqgcjU1P+shOxVygGjutfJcZu3hxOUvLJDhezgwYPo378/EhIS4OzsjG+//ZZXt4mKIKN/+9vb2xs236pQoQIePXqEjIwMKJVK1KhR47U25CQyVkx8Gn679AAxMSnQSrKKnRKOctSu6i5yMrJ2n3/+OebOnQsAqFevHnbu3Jljk2IiKjqM7sZ64403DIsMVqpUCVKpFH/88QcA4O7du5DL2VVA5rNqzzVsPXIbJ66m4Pcr0QAAR3u+B8n0SpUqBQAYM2YMzpw5w0KHqAgz+srOsGHDMHDgQKSkpGD16tXo1KkTJk2ahIYNG+J///sf2rRpY4qcRHlKSMna16qqlwLlvEpBLpehfeOK4oYiq5WWlmZY+Xjs2LFo2LAhmjZtKnIqInoVo4udwMBA7N6927Bn1fTp02FjY4M///wT77zzTp6rLRMVBkEQkPhMDb3+37Wc0tWZAIDmtZzxdvOaXMuETEKtVmPixIk4duwYLly4AEdHR9jY2LDQIbIQBRqx6evrC19fXwCAQqHAl19+WaihiPKy9sfrOHgmIs/bZLYSM6eh4uLu3bvo0aMHLl26BAD4+eef0aNHD5FTEZExClTsxMTEYPPmzbh48SKSk5NRqlQpNGrUCP369UPJklyVlkzjRkQ8AEBqIzEMkgeAcqUd4O4sEysWWbEffvgBQUFBSElJgaurK7777ju89957YsciIiMZXeyEhYXho48+glarhb+/P8qVK4cnT55g3bp12LNnD7Zs2YJy5cqZIisVc9lTy78e/iZqVi5lOJ6eno6wsDCxYpEVysjIwGeffYZVq1YBAN58801s376dv9uILJTRxc78+fPh7e2NdevWwc3NzXA8OjoaQUFBmDt3LpdHp9eWptIiZPdVJDzLMBx7kqQCACjk3MCTTGvcuHGGQmfKlCmYNWsWZDJePSSyVEYXO5cvX8Y333yTo9ABAC8vL4wePZoDlKlQ/Bkeh9+vPM51XGojgVsJOxESUXEybdo0/P7771i0aBHefvttseMQ0WsyuthxdXVFWlpanrdJpVLDtEyi15E9y6pqORe836qq4XhZd0e4OCnEikVWSqVS4ccff0Tv3r0BZP3xdvXqVdjYGL0UGREVQUYXO8OHD8fixYtRpUoV1KxZ03A8MjISy5Ytw5AhQwo1IBUf6RlanL8RA41Wj2t3ngDI2vqhaZ2yIicjaxYWFobu3bvjr7/+gq2tLbp37w4ALHSIrEi+ip3WrVvnmP3y9OlTfPDBByhXrhzc3NyQnJyMiIgIyOVyHDlyBB999JHJApP12n70FvadupvjmL2S+1mR6WzevBnDhw9Heno6SpcubVgVmYisS74+SRo0aJCj2MlL7dq1CyUQFV9PErMGIFf0coZHSXvIZTbo2LSyyKnIGqWlpWHUqFHYtGkTgKw/6LZu3QpPT09xgxGRSeSr2Jk3b56pc1AxpdPpoftnRWTVP+N0OjevgjYNyosZi6zYX3/9he7duyMsLAw2NjaYOXMmPv/8c0ilnOVHZK0K3Efw+++/48KFC0hJSUHJkiVRv359NGvWrDCzkZW7cS8eM9f9gYx/1s/JxqnlZEr37t1DWFgYypQpg23btqFFixZiRyIiEzO62NFoNBgxYgT+97//QSqVomTJkkhMTMTatWvRqFEjrFmzhjufU75cv/s0V6HjaCdDtXIu4gQiqyUIgqErvlOnTli3bh06d+4Md3d3kZMRkTkYXeysWLECly5dwoIFC9ChQwdIpVJkZmbi4MGDmDVrFlatWoUxY8aYIitZmewVkds3qYgBHfwAAHKZFLZSzoKhwnPlyhWMHDkSO3fuhLe3NwAgKChI5FREZE5GFzsHDx7EqFGj0KlTp38fxNYWXbp0QXx8PLZv385ih/IUl5CO7UdvGcbmREQlA8i6mmOv5Oq0VLgEQcDq1asxduxYqNVqjBs3Djt37hQ7FhGJwOhiJyEhAX5+fnne5ufnh9jY2NcORdbp6PkHOB76MNdxNxeuiEyFKzk5GUOGDMGuXbsAAB06dOA2NkTFmNHFTvny5XHp0iU0btw4122hoaHw8vIqlGBkfdIytACAur4eaOCXNcXXwU6GJm/wPUOF59KlS+jevTvu3bsHW1tbzJs3D2PHjuUigUTFmNHFTs+ePTFv3jwolUp06NABbm5uePr0KQ4ePIh169Zh1KhRpshJFkoQBITdT0BKmgaP4lIBADUrlUKHNyuJnIys0cmTJ9G+fXtoNBpUqFABO3bsQKNGjcSORUQiM7rY6dWrF27evIlFixZh8eLFhuOCIKBr167cLoJyuHAjBl9tvJDjmJ2CqyKTaTRq1AjVq1dH1apVsWHDBpQsWVLsSERUBBj9qZOWloavv/4agwYNwoULF5CcnIwSJUqgQYMGqFKliikykgWLjk8HADg7yFHGzQFODnI0qc1uKyo8f/31F/z8/GBjYwN7e3v89ttvcHV1feWq70RUfBhd7Lz77ruYMmUK3n33XRY39EpqTdbMq8ZveGHUh/7ihiGrIggClixZgkmTJmHWrFn4/PPPAYD7WxFRLgVaVJCXhullTv35CGt+vI5MnQ7aTD0AQCHjqshUeOLj4zFgwAAcPHgQAHD9+vUcCwcSEf2X0dMTPvroIyxduhSXL1+GSqUyRSaycGeuReFZugYqtQ6Zuqx9r6qVZ4FMhePMmTMICAjAwYMHoVAoEBISgm3btrHQIaIXMvrKzv79+xEVFYXevXvnebtEIsHNmzdfOxhZLrU2a2Xkge/VRJPaXlDIpSjppBQ5FVk6vV6PBQsWYNq0adDpdKhWrRp27doFf39/saMRURFndLHz35WTibLdeZSE4xceQq8XcD8qBQDg4WoHz1IOIicja3Hnzh3MnDkTOp0OvXv3xurVq+Hk5CR2LCKyAEYXO1xHh/Ky8acbuHbnaY5jLo4KkdKQNapevTpWrFgBiUSCjz/+mN1WRJRv+S524uPjsXfvXkRFRaFChQro2LEjZz2QwbN0DQCgdf1y8CzlALcSSvhV4vuDCk6n02HevHlo164dAgMDAQCDBw8WORURWaJ8FTt37txBnz59kJycbDgWEhKClStXGn4JUfGTnKrG4ydZqyI/S8/aCuLtRhVY5NBri42NRZ8+fXDixAmsX78ef/31F+zt7cWORUQWKl/FztKlS+Ho6IiVK1fijTfewL179zB16lR8+eWXOHDggKkzUhGUocnE0HknkKbS5jjOKeb0uk6cOIE+ffogNjYW9vb2mDFjBgsdInot+Zp6fvHiRXz22WeoX78+FAoFatSogc8//xy3b99GQkKCqTNSEZSYokaaSguJBPByc4CXmwMa1vRERS9nsaORhdLpdJgxYwbatm2L2NhY1KxZE6Ghoejfv7/Y0YjIwuXrys6zZ89QpkyZHMd8fX0hCAKePn0KV1dXk4Sjoit7enkJBwXWTmkjchqydCkpKejcuTN+++03AEBQUBCWLVvGKzpEVCjyVezodDpIpTm7J+zs7AAAWq02r7uQlTp9+TG2HA5Dxj/bQMjl7Lai1+fo6Ah7e3s4OjpizZo1L1zHi4ioILj9NBnlyPn7iHqaZvi+gifXOaGCyczMhFarhZ2dHWxsbPDdd98hISEB1atXFzsaEVmZ1y52uNZF8ZKhyV4d2Q+1qrihUpkSIiciS/To0SP06tULVapUwaZNmwAAbm5ucHNzEzcYEVmlfBc7PXr0yPP4+++/n+N7bhdhnf64Ho27j5IQm5AOAKhUpgSqc78rKoCff/4Z/fv3R3x8PK5evYpZs2ahQoUKYsciIiuWr2KHqyYXb8mpasz77gL0wr/HnBzk4gUii6TVavH5559j0aJFAIB69eph586dLHSIyORY7NArPUvXQC8AMlsbvN2wArzcHFClLLuvKP8ePHiAHj164Pz58wCATz75BAsXLoRCwS1FiMj0OECZXihDnYn4lAw8istaJdnJXo6h3WqLnIosjU6nw9tvv41bt27BxcUFGzZsQNeuXcWORUTFCIsdylOGJhOD5xxHUqracEzJaeZUAFKpFMuXL8eMGTOwfft2VKxYUexIRFTM5GsFZSp+niSqDIWOg50MTvYytK5fTuRUZCnu3buHY8eOGb5v164dzpw5w0KHiETBKzuUJ/U/U8zdSiixcfrbIqchS7J79258/PHHAIDLly+jcuXKAAAbG/5tRUTiYLFDOUQ9TcWqPdfwNEkFAFCw64ryKSMjA+PGjUNISAgAoHHjxpDJZCKnIiIqYLGTkJCA9evX4+zZs3jy5Am+/fZbHD9+HL6+vmjThvskWbLTlx/jyt9PDN97uTmKmIYsxe3bt9G9e3dcuXIFADBp0iR8+eWXLHaIqEgwutiJjIxEr169oFarUa9ePYSHh0On0yEiIgIhISEICQlBy5YtTRCVzEGlztrzqlEtT7zdqCL8KnGTV3q5HTt2YPDgwUhNTYWbmxu+//57vPPOO2LHIiIyMLoTff78+ShVqhROnDiB4OBgCELWSnOLFy9G69atsXr1aqMeT6/XY/ny5WjWrBn8/f0xePBgREZG5uu+Bw4cgI+PDx49emTsy6DnREQl48Dpu7j1MBEAUN7TGfVrlIa9kn+Z08udO3cOqampaN68Oa5cucJCh4iKHKOLnT/++AMjRoyAs7Nzrn2xevTogdu3bxv1eCEhIdi2bRu+/PJL7NixA3q9HkFBQdBoNC+93+PHjzF79mxj49MLzPr2HNbt+wt/3Y0HADiwyKGXyP4jB8j6Ayg4OBgnTpxA2bJlRUxFRJS3Ak2PsLXNu/dLo9EYtTGoRqPBhg0bMHr0aLRs2RK+vr5YsmQJYmJicPTo0RfeT6/XY8KECahZs6bR2Sk3QRAQn5wBAGj8hhfaN66IVvW9RU5FRdXWrVvRoUMHZGZmdXkqFAqMHDnyhb8XiIjEZnSxU79+faxZswbp6emGYxKJBHq9Htu3b0fdunXz/Vjh4eFIS0tD48aNDcecnZ3h5+eH0NDQF95v9erV0Gq1GDp0qLHx6TnpGVokpGQYvv+0ZwBGfFAHJZ2UIqaioigtLQ2zZs3CkCFDcOjQIcNu5URERZ3Rf4qNGzcOvXr1Qrt27dCwYUNIJBKsX78ed+/exYMHD7Bt27Z8P1ZMTAwAwMvLK8dxDw8Pw23Pu3btGjZs2IDdu3cjNjbW2Ph5EgQhR/FWWFQqVY7/FjWH/niI7w7dwn96JKDTqpGu14oXqgCKejtbg5s3b6Jv3764desWbGxsMHXqVPTo0cMk/98Ud3w/mwfb2XxM1daCIOS7N8noYqd69erYs2cPVqxYgfPnz0MqleLs2bMIDAzE/Pnz4ePjk+/Hyn7hcnnOHbQVCgWSk5NznZ+eno7x48dj/PjxqFixYqEVO1qtFmFhYYXyWHm5f/++yR77dfxx7WmOQqd6WSX+/vuWeIFeU1FtZ0smCAL279+PhQsXQq1Ww83NDV999RXq16+Pv//+W+x4Vo3vZ/NgO5uPKdr6+frhRQrUyV6xYkUsXry4IHfNQanM6irRaDSGrwFArVbDzs4u1/lfffUVKlWqhJ49e772c/+XTCZD1apVC/Uxgaxi7v79+6hYsWKer0dsivOXAGRgRLeaaFbHCzY2+R9vVZQU9Xa2ZF999RXmzp0LAGjVqhWmTJmCunXrsp1NiO9n82A7m4+p2vrOnTv5PtfoYicqKuqV55QpUyZfj5XdfRUXF4fy5csbjsfFxeV5hWjPnj2Qy+UICAgAkLWbMgC89957GDZsGIYNG5av532eRCKBvb19ge6bH3Z2diZ9fGPo9AK+3Xcd0fFpuBf1DADg4mwPR0cHkZO9vqLUztaib9++WLlyJSZPnoxPPvkEt27dYjubCdvZPNjO5lPYbW3MhCiji53WrVu/8gny2yXk6+sLR0dHnD9/3lDspKSkGMYHPO/5GVpXr17FhAkTsHbtWlSvXj2fr6B4+/tBIg6eichxzN2F/6NTFkEQcPXqVfj7+wMA/Pz8EBERAVdXV47PISKLZXSxM2fOnFzFTnp6Oi5evIjz589jzpw5+X4suVyOvn37YtGiRXB1dUXZsmWxcOFCeHp6ol27dtDpdEhISICTkxOUSiUqVKiQ4/7Zg5jLlCkDFxcXY19KsZSWkTX42KOkHXq184W7ix2qlnMRNxQVCSkpKRg8eDD27NmD3377DU2bNgUAuLpyFW0ismxGFzvdunXL83ifPn0wd+5c/PTTT0ZtFzF69GhkZmZi2rRpyMjIQGBgINavXw+ZTIZHjx7hrbfewty5c1/4vJQ/GZpM/BkehxsRWYsGurnYoU2D8q+4FxUXf/75J7p37467d+/C1tYW4eHhhmKHiMjSFeoqYK1bt8aIESOMuo9UKsWECRMwYcKEXLd5e3vj1q0Xzw5q2LDhS2+nf+04egt7fv13MJedggvAUVa3VXBwMMaPHw+NRoMKFSpgx44daNSokdjRiIgKTaF+4l29epWrqBZRsQlZ4y3KujugdCkHvN+qmsiJSGxJSUn4+OOPsXfvXgBAly5dsGHDBpQsWVLkZEREhcvoymTKlCm5jun1esTExCA0NBQffPBBoQSjwqXWZs1c69aqGto1rPCKs6k42Lt3L/bu3QuZTIZFixbhk08+MWp2AxGRpTC62Dl//nyuYxKJBI6Ojhg8eHCBp3+TaZy8+BArd1+D5p9iRyGTipyIioqBAwfi+vXr6N27NwIDA8WOQ0RkMkYXO+vWrUOVKlVMkYVM4NxfMYZCRymXcuZVMZaQkIBp06Zh7ty5KFGiBCQSCZYsWSJ2LCIikzN6I9DevXtj3759JohCppDdfTW4cy18P+sdlHV3FDkRieHs2bPw9/fHqlWrMHLkSLHjEBGZldHFjkwm4wBGCxD9NA0hu6/i3uOsPcZcSyihlHPweHGj1+uxYMECNG/eHJGRkahWrRrGjx8vdiwiIrMy+tNvzJgxWLBgAZ49ewZfX988l37O73YRZDoHTt/FoT/uG74v6aR88clklZ48eYL+/fvj0KFDAIBevXphzZo1cHJyEjkZEZF5GV3szJw5EzqdLs91cbKZcgdxyp9UVdZKyQ38PNGibln4VeIquMXJ5cuX8d577yEqKgpKpRLLly9HUFAQZ1sRUbFkdLHz1VdfmSIHFaIniSqc/ysaAFCvhgeaB3iLnIjMzds762fu4+ODXbt2oXbt2iInIiIST76KnY8++ggzZsxAlSpV0LVrV1NnoteQnqHF8AUnoNZkz8DiOJ3iIiUlBc7OzgAAd3d3HDlyBBUrVoSjIwelE1Hxlq8ByhcuXEBaWpqps1AhiE/OMBQ6dX08UM/XQ+REZA4nT56Ej48PNm/ebDhWq1YtFjpERCjAbCwq2rKnmruVUGLWkMYo4agQORGZkk6nw8yZM9GmTRvExMQgJCQEer1e7FhEREUK+zisyNlrUZj7XSgAQCHnSsnWLioqCn369MFvv/0GAAgKCsKyZctgY8O/YYiI/ivfxc7IkSMhl8tfeZ5EIsHx48dfKxQVzG9/PjJ8Xbmsi3hByOSOHj2Kvn374smTJ3B0dMSaNWvQu3dvsWMRERVJ+S52/Pz84OrK6ctFWXYX1vutqqLfu34ipyFTuXv3Ltq3bw+9Xo86depg165dqF69utixiIiKLKOu7HD6atEUl5COw+fu42F0CgCgWrmSkNpwPRVrVaVKFUyaNAmJiYlYsmQJlEouGElE9DIcs2MFdp34G0fOPTB87+z46u5Gsiy//PILfH19UblyZQDA119/zQUCiYjyiSMZrUByqhpA1lTzoV3fQM1KpURORIVFq9Vi4sSJ6NChA3r27AmNRgMALHSIiIyQrys7Xbt25eafRZAgCHgUl4qkZ1nFTou63mhdv5zIqaiwPHjwAD179sS5c+cAAI0aNYIgCCKnIiKyPPkqdubOnWvqHFQAu0/exuZf/t2HTMnp5lZj//79GDhwIBITE+Hi4oINGzZw9XIiogJiN5YFi4jKGpBsr7RF9fIuqFXFTeRE9Lo0Gg3Gjh2LLl26IDExEQ0aNMDly5dZ6BARvQYOULZg2dtCDOpYC283qiByGioMgiDg9OnTAIBx48Zhzpw5+VrfioiIXozFjgVKz9Bi/uaLuBkRD4CrJVsDQRAgkUigUCiwc+dO3Lx5Ex07dhQ7FhGRVWCxY4Gu33mKP2/FGb73dudmj5YqIyMD48ePh6urK2bPng0gax2dKlWqiJyMiMh6sNixQBn/dF9V8S6B8X3qwdvDSeREVBC3b99Gjx49cPnyZdjY2KB///4scoiITIADlC1Ipk6P4xce4Oz1KABAKWc7FjoWaseOHahXrx4uX74MNzc3/Pzzzyx0iIhMhFd2LMjFsFgs23nF8L2jvUy8MFQgKpUKn376KdauXQsAaN68ObZt24ayZcuKnIyIyHqx2LEgCSkZAAAPV3vU8/VAx6aVRU5ExtDr9WjdujXOnTsHiUSCqVOnYsaMGbC15f+GRESmxN+yFiQ+OavY8avkihHv1xE5DRnLxsYGQ4YMwb1797B161a0adNG7EhERMUCx+xYiAs3YrDr+N8AAIWMU80tRXp6OsLC/l3lesCAAbh16xYLHSIiM2KxYyHCHyQYvm5Q01PEJJRfN27cQGBgINq1a4f4+Kw1kSQSCVxcXMQNRkRUzLDYsRDZqyV/+FY1NPBjsVOUCYKAjRs3IjAwEDdv3oROp8ODBw/EjkVEVGyx2LEAoTdjcOD0PQBcLbmoS01NRf/+/TFo0CCoVCq0a9cOV65cQd26dcWORkRUbLHYsQB7fr1j+Lq0q4OISehlrl27hvr16+P777+HVCrFnDlzcOjQIXh4eIgdjYioWONsLAuQnqEFAHRrWRXN/LkeS1E1f/583Lp1C2XLlsWOHTvQtGlTsSMRERFY7BR5UU9TERGVAiBrYLLURiJyInqRlStXwsHBAXPmzIGbm5vYcYiI6B/sxiriZq07Z/jawY4rJhclf/75JyZOnAhBEAAALi4uWLt2LQsdIqIihld2irgnSSoAQPOAsqjgyX2wigJBELBy5UqMGzcOGo0Gfn5+GDBggNixiIjoBVjsFGE6nR7aTD0AYEiXNyCRsAtLbElJSQgKCsKePXsAAJ07d0anTp1ETkVERC/DbqwiSqPVIWjOccP3SgXrUrGFhoaibt262LNnD2QyGZYuXYoff/wRrq6uYkcjIqKX4CdoERX9NA1P/+nCqlm5FOS2rEvFtGHDBgwbNgxarRaVKlXCzp07ERgYKHYsIiLKB36CFlEZmkwAgKOdDHNHvMkuLJFVrVoVOp0O77//Pv78808WOkREFoRXdoqoI+eythco6axkoSOSpKQkwz5WzZs3x4ULF1C3bl3+PIiILAyv7BRRxy48BADYc6yO2en1eixcuBCVKlVCeHi44Xi9evVY6BARWSAWO0WQTi8Yvh7xQR0RkxQ/T58+RceOHTFx4kQkJSVh69atYkciIqLXxMsGRYwgCLj69xPD92U9HEVMU7ycPn0avXr1wuPHj6FUKrF8+XIEBQWJHYuIiF4Tr+wUMaE3YzFj3R8AABsbCWdhmYFer8fXX3+Nli1b4vHjx/Dx8cH58+cxePBgdlsREVkBfpIWMdHxaYav+7WvwQ9bM9iwYQOmTZsGvV6Pfv364eLFi6hdu7bYsYiIqJCw2Clisqect21QHh+0riZymuKhf//+aNu2LTZu3IjNmzfD0ZFdh0RE1oRjdoqQR3HPsOVQ1uwfrphsOjqdDt9++y0GDhwIuVwOmUyGI0eO8CoaEZGV4pWdIuTq7aeGr6uXcxEviBWLjo5G27ZtMWzYMEyZMsVwnIUOEZH1YrFThKj/6cKq6+OBlvXKiZzG+hw7dgz+/v749ddf4eDggICAALEjERGRGbDYKSISUzKw8eBNAEBpV3uR01iXzMxMTJs2DW+//Tbi4uJQu3ZtXLp0CX379hU7GhERmQEHhhQRh/+4b/jaxUkhXhAr8/jxY/Tq1QunT58GAAwbNgzffPMN7OzsRE5GRETmwmKniEhJ1wAA5DIpOjWrLHIa66FSqXDlyhU4OTlh3bp16NGjh9iRiIjIzIpEN5Zer8fy5cvRrFkz+Pv7Y/DgwYiMjHzh+bdv38aQIUPQsGFDNG7cGKNHj0ZUVJQZExe+p0kqAECPNtXhaC8XOY1lE4R/t9uoWrUqdu3ahT///JOFDhFRMVUkip2QkBBs27YNX375JXbs2AG9Xo+goCBoNJpc5yYmJmLgwIFQKpX4/vvvsW7dOiQkJCAoKAhqtVqE9K9Pm6nHub9iAAAKuVTkNJbt4cOHaN68OU6cOGE49s4776Bq1aoipiIiIjGJXuxoNBps2LABo0ePRsuWLeHr64slS5YgJiYGR48ezXX+8ePHkZ6ejgULFqB69eqoVasWFi5ciLt37+LPP/8U4RW8vtT0f4u6Bn6eIiaxbD///DP8/f3xv//9DyNHjoROpxM7EhERFQGiFzvh4eFIS0tD48aNDcecnZ3h5+eH0NDQXOc3btwYISEhUCqVhmM2NlkvIyUlxfSBTSBDk/WhrJRL4eXmIHIay6PRaPDNN9+ge/fuSExMRGBgIA4dOgSplFfJiIioCAxQjonJ6r7x8vLKcdzDw8Nw2395e3vD29s7x7G1a9dCqVQiMDCwQBkEQUB6enqB7vsyKpUqx3/zEpOQjvErsjb+VMikJslhze7fv49+/foZruqNGjUKX375JeRyOduykOXn/Uyvj+1sHmxn8zFVWwuCkO8FYUUvdrJfvFyec1CuQqFAcnLyK+///fffY8uWLZg2bRpcXV0LlEGr1SIsLKxA982P+/fvv/C2c+HPoM3UAwBcHSUmzWFtoqOj0atXL6SmpsLZ2RkzZsxAixYtcPfuXbGjWbWXvZ+p8LCdzYPtbD6maOvna4cXEb3Yye6O0mg0Obqm1Gr1S9dCEQQBy5Ytw6pVqzB8+HD069evwBlkMplJBrCqVCrcv38fFStWfOFrCY+LAJCMch6O+HJYQ8hsRe9ZtBi+vr7o0KED7t27hxkzZqBRo0ZcP8eE8vN+ptfHdjYPtrP5mKqt79y5k+9zRS92sruv4uLiUL58ecPxuLg4+Pj45HkfrVaLKVOm4ODBg5gyZQoGDBjwWhkkEgns7U23arGdnV2ej5+m0mLPb/cAAHWqu6OEM3fbfpW7d+/CxcUFpUqVAgBs2LABWq0Wd+7ceWE7U+FiO5sH29k82M7mU9htbcyehqJfRvD19YWjoyPOnz9vOJaSkoKbN2++cAzOxIkTcfjwYSxevPi1Cx0xHTn3wNCF5cy1dV5p165dCAgIwMCBAw1r6djb20Mmk4mcjIiIijLRr+zI5XL07dsXixYtgqurK8qWLYuFCxfC09MT7dq1g06nQ0JCApycnKBUKrF371788ssvmDhxIho0aIAnT54YHiv7HEuRlPrvukDtm1QSMUnRplKpMHbsWKxZswYAkJSUhJSUFJQoUULkZEREZAlEv7IDAKNHj8YHH3yAadOmoVevXpBKpVi/fj1kMhmio6PRtGlT/PLLLwCAgwcPAgAWLFiApk2b5viXfY6lSEjOAAD0bOvD/bBe4NatW2jUqBHWrFkDiUSCqVOn4uTJkyx0iIgo30S/sgMAUqkUEyZMwIQJE3Ld5u3tjVu3bhm+37BhgzmjmUxcQjpOXX4EgKsmv8jWrVsxdOhQpKWlwcPDA1u2bEHbtm3FjkVERBamSBQ7xdGDmH8XQKzn6yFikqIpPT0d06ZNQ1paGlq1aoWtW7fmWouJiIgoP1jsiCR71eRaVUqhUhl2yTzP3t4eO3bswJEjRzB16lSuhkxERAXGYkckmw7eAJC1ajJlrZu0adMmCIKAQYMGAQAaNmyIhg0bipyMiIgsHYsdEWSoMxGXmLVytHtJru+QmpqK4cOHY8uWLVAoFGjatCmqV68udiwiIrISLHZEkN2FBQBBnWuJmER8165dQ/fu3XHr1i3Y2Nhg+vTpJlnNmoiIii8WOyJIVWkAAHKZtNh2YwmCgHXr1mHMmDHIyMhA2bJlsX37djRr1kzsaEREZGVY7Igg9GYsAMCIla6tiiAI+Oijj7BlyxYAQPv27bF582a4ubmJnIyIiKxRkVhUsLjJ3iLCya54bnMgkUhQrVo1SKVSLFiwAAcPHmShQ0REJsMrOyJIU2kBAI1rlxE5ifkIgoDExES4uroCAKZOnYrOnTujTp06IicjIiJrxys7Zpaq0mLvb1nb0heX8TpJSUn48MMP0apVK6hUWbPQpFIpCx0iIjILFjtm9vA/Kyf7V3MXMYl5hIaGom7dutizZw/CwsJw9uxZsSMREVExw2LHzNT/TDuv4OmEOtWtt9gRBAFLly7Fm2++iYiICFSqVAlnzpzBW2+9JXY0IiIqZjhmx8xu3IsHACgV1tv0CQkJGDRoEPbv3w8AeP/99/Htt9/CxcVF3GBERFQs8cqOmd2PzurGUqkzRU5iOsOHD8f+/fshl8sRHByMH374gYUOERGJxnovLxRROr0AAHirfnmRk5jOwoULcf/+faxatQp169YVOw4RERVzvLJjZrcjEwEA7i52IicpPE+fPsWmTZsM35cvXx7nzp1joUNEREUCr+yYUXqGFsmpWVtF2Cmto+lPnz6NXr164fHjx3Bzc8N7770HIGvhQCIioqKAV3bMKOmZ2vD1G1Ute8VgvV6POXPmoFWrVnj8+DF8fHxQvrz1ds0REZHlso7LCxZCrc2adl7SSWHRCwrGxcWhX79+OHr0KACgX79+CAkJgaOjo8jJiIiIcmOxY0anrzwGACjkllvonDp1Cr169UJ0dDTs7OywcuVKDBgwgN1WRERUZLHYMaP45AwA/+6NZYmioqIQHR0NPz8/7Nq1CzVr1hQ7EhER0Uux2DGj7G6sXu18RU5iHEEQDFduevXqhczMTLz//vuwt7cXORkREdGrcYCyGV27/RQAoLSgbqxjx47B398fsbGxhmP9+vVjoUNERBaDxY4IpNKiP74lMzMT06ZNw9tvv41r165h9uzZYkciIiIqEHZjmVH2GN7KZV1EzfEqjx8/Ru/evfH7778DAIYOHYpFixaJnIqIiKhgWOyYUUraPwsKFuFNQA8fPox+/frh6dOncHJywtq1a9GzZ0+xYxERERVY0f3UtTJ/P0w0fF1Ux+zs2rULPXr0AAAEBARg586dqFatmsipiIiIXg+LHTN5/CTV8HUJR4WISV6sffv2qF69Otq2bYtFixZBqVSKHYmIiOi1sdgxE7Uma9p5w5qeIifJ6Y8//kCjRo0gkUjg5OSEixcvwsnJSexYREREhYazscxk48EbAIrO6skajQafffYZmjRpgmXLlhmOs9AhIiJrwys7ZpJ9ZcethJ3ISYCIiAj07NkTFy5cAJC1KjIREZG1YrFjBpk6PXR6AQDwfmtxB/zu3bsXgwYNQnJyMlxcXLBp0yZ07txZ1ExERESmxG4sM0hO1Ri+FmsmllqtxieffIL3338fycnJaNSoEa5cucJCh4iIrB6LHTM4+1eM4WuZrThNfuPGDaxevRoAMHHiRPz++++oUKGCKFmIiIjMid1YZpChzhqvU9bdwbChprnVrVsXy5cvR4UKFfDuu++KkoGIiEgMvLJjBip1JgAg0M98085VKhU++eQTXL9+3XBs+PDhLHSIiKjY4ZUdM/j57EMAgFxmnvE6t27dQvfu3XHt2jWcPHkSV69eha0tf9RERFQ88cqOGZRyzlox2dPV3uTPtWXLFtSrVw/Xrl2Du7s7lixZwkKHiIiKNRY7ZqDW6gEAvhVdTfYc6enp+Pjjj9GvXz+kpaWhZcuWuHr1Ktq1a2ey5yQiIrIE/JPfxFQaPVJVWgCmWz05JiYGbdq0wY0bNyCRSDB9+nR88cUXkEqLxmrNREREYmKxY2IRsWrD16baANTd3R0eHh6Ij4/H1q1b0bp1a5M8DxERkSVisWNi2sysLqyKXs5QFOIA5dTUVNja2kKpVEIqlWLbtm2QSCQoXbp0oT0HERGRNeCYHRNLeJY17dzLzaHQHvPatWsIDAzEuHHjDMc8PT1Z6BAREeWBxY6JPYjL2ipC/8/eWK9DEASsXbsWDRs2RHh4OPbv34+EhITXflwiIiJrxmLHxGylWSsml/d0eq3HSUlJQe/evTF06FBkZGSgffv2uHz5MlxdTTfDi4iIyBqw2DExlSZrzE6lMiUK/BiXL19GvXr1sGPHDkilUsyfPx8HDx6Eu7t7YcUkIiKyWhygbEIqdSYex2d1YxV02nlGRgbeffddxMTEoFy5ctixYweaNGlSmDGJiIisGq/smFBMfLrha5/yJQv0GEqlEqtWrUKnTp1w5coVFjpERERG4pUdE8peOdnT1c6oNXZCQ0ORnJyMNm3aAAC6dOmCzp07i7ZjOhERkSXjlR0Tio5PA5D/LixBELBs2TK8+eab6NmzJx49emS4jYUOERFRwfDKjgmlpGaN10n6578vk5CQgEGDBmH//v0AgBYtWsDBofDW5iEiIiqueGXHhDJ1WWvr+FV8+Xidc+fOISAgAPv374dcLseKFSuwe/dulCxZsHE+RERE9C8WOyYU9TSrG6ukU97jdQRBwKJFi9CsWTM8fPgQVapUwdmzZzFq1Ch2WxERERUSFjsmdOnWEwCAjU3ehYtEIsGtW7eQmZmJ7t27488//0S9evXMGZGIiMjqccyOCTkoZVCpdajmnXNBQb1eDxubrDpz+fLlaNWqFXr16sWrOURERCYg+pUdvV6P5cuXo1mzZvD398fgwYMRGRn5wvMTExMxbtw4BAYGokGDBpg1axZUKpUZE+efWqsDAJR1zxporNfrMXfuXLz33nvQ67OmpdvZ2aF3794sdIiIiExE9GInJCQE27Ztw5dffokdO3ZAr9cjKCgIGk3eM5hGjx6NBw8eYNOmTVi2bBlOnTqFmTNnmjd0Puj1Ap6lawFkTT2Pi4tD+/bt8fnnn+PQoUM4cOCAyAmJiIiKB1GLHY1Ggw0bNmD06NFo2bIlfH19sWTJEsTExODo0aO5zr98+TIuXLiA+fPno2bNmmjcuDFmz56N/fv3IzY2VoRX8GLJaWrD1zeuXIC/vz+OHj0KOzs7rF+/Hp07dxYxHRERUfEharETHh6OtLQ0NG7c2HDM2dkZfn5+CA0NzXX+xYsX4e7ujipVqhiONWjQABKJBJcuXTJL5vxSa3QQ9DrcObcDnTq9h+joaNSoUQOhoaEYNGgQu62IiIjMRNQByjExMQAALy+vHMc9PDwMt/1XbGxsrnPlcjlcXFwQHR1d4ByCICA9Pf3VJxrhacIzXDu+GpF/HQMA9OvXD4sXL4aDg0OhP1dxlz1mq6iO3bIWbGfzYDubB9vZfEzV1oIg5PvCgajFTvYLl8vlOY4rFAokJyfnef7z52afr1arcx3PL61Wi7CwsALfPy8Pn6hR0b894u6ew+eTx6NDhw54+PBhoT4H5XT//n2xIxQLbGfzYDubB9vZfEzR1nnVBHkRtdhRKpUAssbuZH8NAGq1GnZ2dnmen9fAZbVaDXt7+wLnkMlkqFq1aoHvnxdfXwHOJd2R1tsfbzaonefrocKhUqlw//59VKxYke1sQmxn82A7mwfb2XxM1dZ37tzJ97miFjvZXVJxcXEoX7684XhcXBx8fHxyne/p6Ynjx4/nOKbRaJCUlAQPD48C55BIJK9VLL1I4zfKIiwsBXZ2diZ5fMqJ7WwebGfzYDubB9vZfAq7rY0Z+yrqAGVfX184Ojri/PnzhmMpKSm4efMmAgMDc50fGBiImJgYPHjwwHDswoULAMCVh4mIiChPol7Zkcvl6Nu3LxYtWgRXV1eULVsWCxcuhKenJ9q1awedToeEhAQ4OTlBqVSiTp06qFu3LsaOHYuZM2ciPT0d06dPR5cuXVC6dGkxXwoREREVUaIvKjh69Gh88MEHmDZtGnr16gWpVIr169dDJpMhOjoaTZs2xS+//AIg65JVcHAwvL290b9/f3z66ado3rx5kVxUkIiIiIoG0ffGkkqlmDBhAiZMmJDrNm9vb9y6dSvHsVKlSmH58uXmikdEREQWTvQrO0RERESmxGKHiIiIrBqLHSIiIrJqLHaIiIjIqrHYISIiIqvGYoeIiIisGosdIiIismosdoiIiMiqsdghIiIiqyYRBEEQO4SY/vzzTwiCALlcXuiPLQgCtFotZDKZUbuzknHYzubBdjYPtrN5sJ3Nx1RtrdFoIJFIULdu3VeeK/p2EWIz5ZtcIpGYpIiinNjO5sF2Ng+2s3mwnc3HVG0tkUjy/Rle7K/sEBERkXXjmB0iIiKyaix2iIiIyKqx2CEiIiKrxmKHiIiIrBqLHSIiIrJqLHaIiIjIqrHYISIiIqvGYoeIiIisGosdIiIismosdoiIiMiqsdghIiIiq8Zih4iIiKwai53XoNfrsXz5cjRr1gz+/v4YPHgwIiMjX3h+YmIixo0bh8DAQDRo0ACzZs2CSqUyY2LLZGw73759G0OGDEHDhg3RuHFjjB49GlFRUWZMbJmMbef/OnDgAHx8fPDo0SMTp7R8xrazVqvF4sWLDef37dsXYWFhZkxsmYxt5/j4eIwbNw6NGjVCw4YNMXbsWMTGxpoxsXVYs2YN+vXr99JzxPgsZLHzGkJCQrBt2zZ8+eWX2LFjB/R6PYKCgqDRaPI8f/To0Xjw4AE2bdqEZcuW4dSpU5g5c6Z5Q1sgY9o5MTERAwcOhFKpxPfff49169YhISEBQUFBUKvVIqS3HMa+n7M9fvwYs2fPNlNKy2dsO8+cORN79+7FnDlzsGfPHri6umLw4MF49uyZmZNbFmPb+dNPP0VUVBQ2btyIjRs3IioqCiNHjjRzasu2detWLF269JXnifJZKFCBqNVqISAgQNi6davhWHJyslC7dm3hp59+ynX+n3/+KVSvXl24c+eO4djp06cFHx8fISYmxiyZLZGx7bxr1y4hICBAUKlUhmNRUVFC9erVhbNnz5olsyUytp2z6XQ6oVevXsJHH30kVK9eXYiMjDRHXItlbDs/fPhQ8PHxEX799dcc57dq1Yrv55cwtp2Tk5OF6tWrCydOnDAcO378uFC9enUhMTHRHJEtWkxMjDB06FDB399feOedd4S+ffu+8FyxPgt5ZaeAwsPDkZaWhsaNGxuOOTs7w8/PD6GhobnOv3jxItzd3VGlShXDsQYNGkAikeDSpUtmyWyJjG3nxo0bIyQkBEql0nDMxibrbZ6SkmL6wBbK2HbOtnr1ami1WgwdOtQcMS2ese185swZODk5oXnz5jnOP3nyZI7HoJyMbWelUgkHBwfs27cPqampSE1Nxf79+1GpUiU4OzubM7pFunHjBmQyGQ4cOIA6deq89FyxPgttTfbIVi4mJgYA4OXlleO4h4eH4bb/io2NzXWuXC6Hi4sLoqOjTRfUwhnbzt7e3vD29s5xbO3atVAqlQgMDDRdUAtnbDsDwLVr17Bhwwbs3r2bYxvyydh2joiIQLly5XD06FGsXbsWsbGx8PPzw+TJk3N8WFBOxrazXC7HvHnzMH36dNSvXx8SiQQeHh7YsmWL4Y8lerHWrVujdevW+TpXrM9C/hQLKHswlVwuz3FcoVDkOTZEpVLlOvdl51MWY9v5ed9//z22bNmC8ePHw9XV1SQZrYGx7Zyeno7x48dj/PjxqFixojkiWgVj2zk1NRUPHjxASEgIPvvsM6xatQq2trbo3bs34uPjzZLZEhnbzoIgICwsDAEBAdi6dSu+++47lClTBiNGjEBqaqpZMhcXYn0WstgpoOxukucHu6nVatjZ2eV5fl4D49RqNezt7U0T0goY287ZBEHA0qVL8dVXX2H48OGvnB1Q3Bnbzl999RUqVaqEnj17miWftTC2nW1tbZGamoolS5agadOmqF27NpYsWQIA+PHHH00f2EIZ286HDh3Cli1bsHDhQtSrVw8NGjTA6tWr8fjxY+zevdssmYsLsT4LWewUUPZluLi4uBzH4+LiULp06Vzne3p65jpXo9EgKSkJHh4epgtq4YxtZyBrqu6ECROwevVqTJkyBZ9++qmpY1o8Y9t5z549OHv2LAICAhAQEIDBgwcDAN577z2sXr3a9IEtVEF+b9ja2uboslIqlShXrhyn+b+Ese188eJFVKpUCY6OjoZjJUqUQKVKlfDgwQPThi1mxPosZLFTQL6+vnB0dMT58+cNx1JSUnDz5s08x4YEBgYiJiYmx/84Fy5cAADUq1fP9IEtlLHtDAATJ07E4cOHsXjxYgwYMMBMSS2bse189OhRHDx4EPv27cO+ffvw1VdfAcgaH8WrPS9WkN8bmZmZuH79uuFYRkYGIiMjUaFCBbNktkTGtrOnpycePHiQoxslPT0djx49YjdtIRPrs5ADlAtILpejb9++WLRoEVxdXVG2bFksXLgQnp6eaNeuHXQ6HRISEuDk5ASlUok6deqgbt26GDt2LGbOnIn09HRMnz4dXbp0eeEVCjK+nffu3YtffvkFEydORIMGDfDkyRPDY2WfQ7kZ287Pf9BmD/osU6YMXFxcRHgFlsHYdq5fvz6aNGmCSZMmYfbs2XBxccHy5cshlUrRuXNnsV9OkWVsO3fp0gXr16/Hp59+ijFjxgAAli5dCoVCgW7duon8aixbkfksNNmk9mIgMzNTWLBggdCoUSPB399fGDx4sGGdkcjISKF69erCnj17DOc/ffpU+OSTTwR/f3+hYcOGwowZM4SMjAyx4lsMY9p54MCBQvXq1fP899+fBeVm7Pv5v86dO8d1dvLJ2HZ+9uyZMGPGDKFhw4ZCnTp1hIEDBwq3b98WK77FMLad79y5IwwdOlRo0KCB0KhRI2HUqFF8PxfApEmTcqyzU1Q+CyWCIAimK6WIiIiIxMUxO0RERGTVWOwQERGRVWOxQ0RERFaNxQ4RERFZNRY7REREZNVY7BAREZFVY7FDRKLgqhfmxfam4ozFDpEF6tevH3x8fHL8q1WrFlq2bIlZs2YhOTnZZM+9d+9e+Pj4GPZmWrFiBXx8fPJ9/5iYGAwZMgSPHz9+7SyPHj2Cj48P9u7d+8JzsvP995+fnx8aNmyIkSNH4vbt26+dAwAmT56M1q1bv/bj5Oc1AUDr1q0xefJkAMD58+fh4+Nj2B7h+Z/JpUuXMGTIkNfORmSpuF0EkYXy8/PDjBkzDN9rtVrcuHED33zzDcLCwrB9+3ZIJBKT5/jwww/RrFmzfJ9/9uxZnDp1yoSJ8rZz507D1zqdDlFRUViyZAn69OmDn3/+Ge7u7mbP9DqCg4NzbFz5X8//TH744QfcvXvXXNGIihwWO0QWytHREf7+/jmOBQYGIi0tDcuXL8fVq1dz3W4Knp6e8PT0NPnzvK7n26JevXrw8vJCnz598OOPP1rclQ8/P78X3mYpPxMic2E3FpGVqVWrFgAgKioKQFaX1/jx4zF69Gj4+/tj4MCBAAC1Wo0FCxagRYsWqFWrFjp27Ihffvklx2Pp9XqEhISgZcuWqFOnDkaMGJGriyyvbqx9+/aha9euqFOnDlq2bInFixdDo9Fg7969mDJlCgDgrbfeMnTDAFlXHzp06GDojluxYgV0Ol2Oxz169Cg6deqE2rVro2vXrggPDy+UtsruUluxYgXatm2L4OBgNGjQAE2bNkVycjJ0Oh22bt2Kjh07onbt2mjZsiUWLVqUY5fsbDt37kTLli1Ru3Zt9O/fHzdv3sxxe2hoKD7++GMEBgaiVq1aaN26NVasWAG9Xp/jvNjYWAwdOhS1a9dGixYtsHz58hzt8d9urOf992cyefJk/Pjjj3j8+LGhe+z999/Pc3f6AQMGGN4fRNaEV3aIrExERAQAoFy5coZjhw4dQqdOnbBq1Sro9XoIgoCRI0fizz//xOjRo1GlShUcO3YMY8eOhUajQZcuXQAACxcuxObNmzF8+HDUqVMHhw4dwuLFi1/6/Fu3bsXs2bPx4Ycf4rPPPkNkZCQWLFiA5ORkfPrppxg+fDhWrVqF4OBgwwfymjVrsGTJEvTt2xdTpkxBWFgYVqxYgejoaMyZMwcAcPLkSYwePRodO3bEhAkTEBYWhgkTJhRKW5UvX95wLCoqCqdOncKSJUuQlJSEEiVKYOrUqdi/fz8GDx6M+vXr4+bNm1i5ciXCwsLw7bffGroLY2JiEBwcjHHjxsHR0RHBwcHo168ffvrpJ5QpUwbh4eEYMGAA3nnnHSxZsgSCIOCnn35CcHAwKleujA4dOhhyrFixAl26dMHKlStx+fJlrF69Gqmpqfj888+Neo0jRoxAQkICbt68ieDgYJQvXx5qtRozZ87EgwcPDDvYR0dH4/z581iwYMFrtSlRUcRih8hCCYKAzMxMw/fJycm4cOECVq1ahYCAAMNVCwCQyWSYNWsW5HI5AODMmTM4ffo0lixZgnfffRcA0KxZM6hUKixatAjvvfce0tPT8f3332PgwIEYNWqU4Zy4uDicPn06z0x6vR4rV65EmzZt8NVXXxmOq1Qq/Pzzz3BycjIUFjVq1IC3tzeePXuGkJAQ9OjRA9OmTQMANG3aFC4uLpg2bRoGDhyIatWqYeXKlahduzYWLlxoyALglcVXtv+2VUZGBsLDwzFnzhw4OTmhU6dOOc6bNGkS6tevDwC4c+cOdu/ejXHjxhm6ut588014eHhg4sSJ+P3339GiRQsAWWOBsnMCQJ06ddCmTRt8//33mDRpEsLDw9GkSRMsXLgQNjY2hsc6efIkzp8/n6PYadasmaHQa9asGVJTU7Ft2zaMGDECLi4u+XrNQFYh5+rqCrlcbujKe++99zBv3jzs378fo0ePBgDs378fDg4OaNu2bb4fm8hSsBuLyEKFhoaiZs2ahn9NmjTBZ599hlq1amHx4sU5BidXrlzZUOgAwB9//AGJRIIWLVogMzPT8K9169Z48uQJbt++jStXrkCr1aJVq1Y5nrd9+/YvzBQREYH4+PhcH5gff/wx9u7dC5lMlus+ly9fRkZGBlq3bp0rC5BVmGVkZODGjRtGZXnef9uqXr166NOnDzQaDYKDg3MNTq5Ro4bh6wsXLgBAjkIk+3upVGqYAQVkXU3LLnQAwN3dHf7+/ggNDQUAdOnSBevWrYNWq0V4eDiOHDli6J7SarUvfW3t2rWDVqvF1atX8/2aX8TJyQnt2rXDgQMHDMd+/PFHvPvuu1Aqla/9+ERFDa/sEFmomjVrYtasWQAAiUQChUIBLy+vPGfoODg45Pg+KSkJgiCgbt26eT52XFwcUlJSAAAlS5bMcdvLZi0lJSUBAEqVKpXv15F9nxcNEI6Li0NycjIEQciVxcPDI9/Ps3v3bsPXMpkM7u7uL8z53/bKHqP0/Ou2tbVFyZIl8ezZM8MxNze3XI9VqlQpREdHA8i6ovTll19i//79yMzMhLe3NwICAmBra5trHZznn8/V1TVHntf1wQcf4MCBA7h48SKkUinu37+P+fPnF8pjExU1LHaILJSDgwPeeOONAt3XyckJ9vb22Lx5c563V6hQAdeuXQMAxMfHo3LlyobbsouTvDg7OwMAEhISchxPTEzEzZs3ERAQ8ML7LFq0CBUrVsx1u5ubG1xcXGBjY4OnT5/muO1lWZ5X0LYqUaIEAODJkycoW7as4bhWq0ViYmKOAiyvQuTJkyeGQuXrr7/GkSNHsHTpUjRp0gT29vYAgMaNG+e63/OPlf3ajSkkX6ZBgwYoX748Dh8+DBsbG1SuXNkss/eIxMBuLKJiqEGDBkhPT4cgCHjjjTcM//7++2+sXLkSmZmZCAgIgFKpxOHDh3Pc99dff33h41auXBklS5bMdc7+/fsxZMgQaLVaw1iVbHXq1IFMJkNsbGyOLLa2tvjmm2/w6NEjKBQKBAQE4OjRozmugJw8ebIQWuPlGjRoAAD4+eefcxz/+eefodPpUK9ePcOxiIgIPHz40PB9dHQ0Ll++jIYNGwLIWtyvYcOGaNOmjaHQ+euvv5CQkJBrNtZvv/2W6/ns7OxQp04do1/D820OZF0N7NatG44fP46TJ0+ia9euRj8ukaXglR2iYqhFixYIDAzEiBEjMGLECFSpUgXXrl3D8uXL0axZM8OViBEjRmDp0qWws7NDo0aNcOrUqZcWO1KpFJ988glmz56NUqVKoXXr1oiIiMDy5cvRp08flChRwnAl59ixY2jevDmqVKmCoKAgLFu2DKmpqWjYsCFiY2OxbNkySCQS+Pr6AgA+++wz9O/fH6NGjUKPHj0QERGB1atXm7ytqlatiq5du2L58uVQqVQIDAxEWFgYgoOD0bBhwxyL9ykUCgwfPhxjx46FTqfDsmXL4OLigv79+wMAateujUOHDmH79u2oUqUKwsPDsWrVKkgkEqhUqhzPe/ToUZQuXRpNmjTB//73P+zcuRNjxox54UKCL+Ps7IynT5/i1KlTqFGjhqH7r1u3blixYgUAoHPnzgVtIqIij8UOUTFkY2ODtWvXYtmyZVizZg3i4+NRunRpDBw4ECNHjjScN3ToUNjb2+O7777Dd999h4CAAEyaNAkzZ8584WP36dMH9vb2WL9+PXbu3AlPT08MHjwYgwcPBgA0bNgQTZo0weLFi/HHH39g7dq1+PTTT+Hu7o5t27bh22+/RYkSJdC4cWN89tlncHJyAgDUr18f69atwzfffINRo0bB29sbc+bMwbBhw0zaVkBW91OFChWwZ88erFu3Dh4eHvjoo48wYsSIHFdN/Pz88Pbbb2PmzJl49uwZGjdujM8//9xQPE6ePBlarRZLly6FRqOBt7c3hg8fjjt37uDkyZM51tGZOnUqfv75Z2zatAnu7u74/PPP8dFHHxUof7du3XDq1CmMHDkSo0ePNoyPKl26NHx9feHm5obSpUu/RgsRFW0SgbvDEREVS7GxsWjVqhWWL1+ONm3aiB2HyGRY7BARFTNhYWE4ceIEjhw5Ap1Oh4MHD+Y5rofIWvDdTURUzKjVamzcuBE6nQ7ffPMNCx2yeryyQ0RERFaN5TwRERFZNRY7REREZNVY7BAREZFVY7FDREREVo3FDhEREVk1FjtERERk1VjsEBERkVVjsUNERERWjcUOERERWbX/A34Ho+E5PpzqAAAAAElFTkSuQmCC", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"<Axes: ylabel='Count'>" | |
] | |
}, | |
"execution_count": 52, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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r1TxkVOW1evcseEnWODsWhSOzK9SqxcVFaWUlBRNmTJF48aNO+fGAAAAWkOLwtELL7xgdR8AAABh4ZzuOXr//fe1Z88enTx5UvHx8Ro8eLBGjBhhVW9+NTU1evrpp7Vjxw4dP35cqampmjlzpgYOHCip7j2VFixYoP/7v/9TfHy8brrppoBLfz6fT0899ZS2bt2qb775Runp6Xr44Yd16aWXWt4rAACIbC16tZrX61V2drZuueUWrV+/Xu+9956effZZ3XLLLZo4caK8Xq+lTT7zzDPaunWr5s+frx07dig5OVnZ2dkqKytTeXm5Jk6cqB49emjbtm264447lJOTo23btvmPX7FihTZt2qT58+dr8+bN8vl8ys7OtrxPAAAQ+VoUjpYvX659+/Zp8eLF2r9/vz744AN98skneuyxx/S3v/1NzzzzjKVNvvPOO7rqqqt0+eWXq2fPnrr//vv1zTff6G9/+5tefvll2e12PfLII+rVq5fGjRunm266SatXr5ZUF+TWrVunadOmadSoUerbt6+WLl2qkpIS7dy509I+AQBA5GtROHrjjTc0depUXX311YqOjpYkxcTE6Oc//7mmTp2q119/3dImO3XqpD/96U/66quvVFtbqy1btig2NlZ9+/ZVbm6uhg4dqpiY764QDh8+XEVFRTpy5IgKCgp06tQpZWRk+Pe3b99eqampTfqMOAAAcGFp0T1Hx44dU2pqaqP7UlNTVVpaek5Nfd9DDz2ku+66Sz/+8Y8VHR2tqKgoLV++XD169FBJSYlSUlIC1nfp0kWSdOjQIZWUlEiSunbt2mBN/b6WMAxDlZXWvReFJFVVVQX8ieBh1qHBnEODOYeG1+uVy+WSUetTra/W0tq18kmSfIa1tYNVN5i1jdq6uh6Pp9FXx59TbcNo8FmwjWlROOrRo4f27dsXcDam3t69exsEkXNVWFiodu3a6emnn1ZCQoK2bt2qGTNm6MUXX5Tb7VZsbGzAeofDIalusPU/LBpbc+LEiRb3VF1dHbQP1y0qKgpKXTTErEODOYcGc/6O3W4PuKJgBafTqY4dO8rj9arylLW/HHvddffAejweS2sHq24wa3va1v29FRcXByXwfz8PNKZF3zm//OUvtWjRIjmdTl155ZW6+OKLdeTIEb3xxht69tlnNXXq1JaUbdShQ4d07733asOGDRoyZIgk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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"y_ex = None\n", | |
"for res in results:\n", | |
" samples = res[\"y_samples\"]\n", | |
" model = res[\"model\"]\n", | |
" x,y = calibration_plot(samples, y_test_np)\n", | |
" plt.plot(x, y, label=res[\"model_name\"])\n", | |
" y_ex = y\n", | |
"\n", | |
"\n", | |
"plt.plot([0, 1], [0, 1], linestyle=\"--\", color=\"black\")\n", | |
"\n", | |
"plt.xlabel(\"Predicted Probability\")\n", | |
"plt.ylabel(\"True Probability\")\n", | |
"plt.legend()\n", | |
"\n", | |
"plt.show()\n", | |
"\n", | |
"# plot the distribution of y\n", | |
"\n", | |
"sns.histplot(y_ex, bins=20)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 53, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Quantile prediction plot for the model\n", | |
"def make_quantile_plot(results):\n", | |
" quantiles = np.linspace(0.9, 0.999, 10)\n", | |
"\n", | |
" means = []\n", | |
" stds = []\n", | |
"\n", | |
" for res in results:\n", | |
" samples = res[\"y_samples\"] # shape [n_samples, batch, y_dim]\n", | |
" samples = np.maximum(samples, 0)\n", | |
" samples = np.round(samples)\n", | |
"\n", | |
" m, s = [], []\n", | |
"\n", | |
" for q in quantiles:\n", | |
" quantile_samples = np.quantile(samples, q, axis=1)\n", | |
" mean = np.mean(quantile_samples, axis=0)\n", | |
" std = np.std(quantile_samples, axis=0)\n", | |
" m.append(mean)\n", | |
" s.append(std)\n", | |
"\n", | |
" m = np.array(m).squeeze()\n", | |
" s = np.array(s).squeeze()\n", | |
" plt.plot(quantiles, m, label=res[\"model_name\"])\n", | |
" plt.fill_between(quantiles, m - s, m + s, alpha=0.3)\n", | |
"\n", | |
" means.append(m)\n", | |
" stds.append(s)\n", | |
"\n", | |
"\n", | |
" true_quantiles = []\n", | |
" for q in quantiles:\n", | |
" true_quantiles.append(np.quantile(y_test_np, q))\n", | |
"\n", | |
" plt.plot(quantiles, true_quantiles, label=\"True\")\n", | |
"\n", | |
" # set log scale on y axis\n", | |
"\n", | |
"\n", | |
" # set log scale on x axis\n", | |
" plt.xscale(\"log\")\n", | |
" plt.legend()\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 54, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGpCAYAAACwK12sAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABS7klEQVR4nO3deXxU9d33/9eZfSaZ7CtLCBAWbQFxxWpRcbfa3uivi0Vbt1arvaxW616h1q0uiNVWRb20dbmqFbRqvUvt3dZaL1yoraIgEEjYQhISss8+c35/DAkZCZplwkwm7+fjkUeYc87M+c53kHl7zud8jmGapomIiIhIClhSPQAREREZvRREREREJGUURERERCRlFEREREQkZRREREREJGUURERERCRlFEREREQkZWypHsBn+fe//41pmtjt9lQPRURERPopHA5jGAazZ8/+3G3T+oiIaZqo35qIiMj+YZomoVBoyN+9A/n+TusjIt1HQmbMmJHikYiIiGQ+n8/H2rVrqaqqwuPxDPp1Vq9e3e9t0/qIiIiIiGQ2BRERERFJGQURERERSRkFEREREUkZBRERERFJmbS+amYgotEo4XA41cOQYWK327FarakehoiIJNmIDyKmaVJfX09ra2uqhyLDLC8vj7KyMgzDSPVQREQkSUZ8EOkOISUlJXg8Hn1JZSDTNPH5fDQ2NgJQXl6e4hGJiEiyjOggEo1Ge0JIYWFhqocjw8jtdgPQ2NhISUmJTtOIiGSIEV2s2l0TMpTubzJydH/OqgUSEckcIzqIdNPpmNFBn7OISObJiCAiIiIiI5OCiIiIiKTMiC5WzRTXXXcdL7744mdus27dumHZ97Jly7jvvvtob2/n3nvvpb29PeHxiSeeOCz7FRERAQWRtHDjjTdy1VVX9Tw++uijueGGGzjttNOGfd+/+MUvOP744/nhD39IQUEBxxxzTMJjERGR4aQgkga8Xi9er3evZcXFxcO+77a2Ng499FDGjh3b52MREclssZiJxZK6iwEyskbENE0CwUjKfkzTTOr7Wb58OSeeeCK33norhxxyCJdeeikAGzdu5Hvf+x6zZ8/m6KOP5qqrrmLnzp0J8/Doo49y/PHHM2vWLL72ta/x8ssvA7Bt2zamTZsGwA033MC8efP2egwwbdo0li9fnjCe3sv8fj833ngjRx11FDNmzOD//J//w5///Od+jQHgnXfe4cADD2Tp0qUcccQRnHnmmcRisaTOn4iI9C0ajRGJpPbf3Iw7ImKaJtc++E/W1u5K2RgOqCzgFz88OqmXm27ZsoXGxkZeeuklAoEADQ0NfPvb3+aMM87guuuuw+/388ADD/DNb36TV199FY/Hw3333cerr77KzTffzKRJk3jvvfdYtGgRHR0dfOtb3+Kf//xnz2mgr3zlK5im2fP4jDPO6Ne47r//ftatW8fSpUvJycnh97//PVdeeSUrVqxg3LhxnzmGBQsWAPHGdG+88QbPPfccfr8fiyUj87GISNoJhqPYUvxvbsYFkUx26aWXMn78eACWLFlCWVkZN910U8/6JUuWMGfOHP70pz9xyimn8OSTT7J48WKOPfZYACoqKti+fTuPP/44CxYs6Dn14/V6KSoq6nkdr9fb7/qQLVu2kJWVxfjx48nJyeFHP/oRhx12GLm5ufh8vs8dQ7cLLriAysrKIcyOiIgMVDAUxeZSEEkqwzD4xQ+PJhiKpmwMTod1WJpv9f6iXrNmDRs2bGD27NkJ2wSDQTZu3Eh1dTXBYJCrrroq4QhDJBIhFAoRCARwuVxDHtP3vvc9LrnkEo488khmzpzJUUcdxRlnnIHX6+XDDz/83DH09d5ERGT/CIajZLnsKR1DxgURiIcRlzPz3lrv4BCLxZgzZw4LFy7cazuv18vWrVuB+FGSSZMm7bWNw+EY1BgikUjC49mzZ/PGG2/w1ltvsXLlSl566SUeeughHnvssZ6W7P0Zg9PpHNR4RERk8ALBKHg/f7vhpJPxI9SUKVPYuHEj5eXlTJgwgQkTJpCbm8vtt9/O+vXrmTRpEjabjbq6up71EyZM4I033uDxxx/vdx2G3W6ns7Oz5/HmzZsT1v/yl7/kX//6F8cffzw33XQTK1asYPz48axYsSJpYxARkeSLxkxCkdSdPeimb4IR6tvf/jYdHR1cffXVfPLJJ3zyySdceeWVrF69mqlTp+L1evnWt77F/fffzx/+8Ae2bt3KCy+8wN13301JSUm/93PQQQfx+9//nrVr17JmzRoWLVqUcCRj69atLFy4kJUrV7J9+3ZWrFhBXV0ds2fPTtoYREQk+UKhCCT3Is9BGfT5i5qaGs4880x++tOfcuaZZwKwdu1abrvtNj766CMKCgo477zz+M53vpO0wcoe48eP5+mnn+bee+/l7LPPxmq1cvDBB/Pb3/62p9D0+uuvJz8/n/vvv5/GxkbKy8u5/PLLueiii/q9n0WLFrFo0SK+8Y1vUFJSwo9+9CPq6+t71i9cuJBf/OIX/OQnP6G1tZWxY8dy9dVX87WvfS1pYxARkeQLhGNEY6lPIoY5iKYX4XCYb33rW3z00UfccccdnHnmmbS0tHDqqacyb948LrzwQv7zn//ws5/9jIULF3LWWWcNanCrV68GYMaMGX2uDwQC1NTUMHHixKQUXkp60+ctIpI89c1dNLX6mTo+H4fDCoDP52Pt2rUccMABPXV+g/F539+9DeqIyAMPPEB2dnbCsueffx673c4tt9yCzWZj8uTJbN68maVLlw46iIiIiMjwCAQjxJLcgHMwBlwj8t577/Hcc89x5513JixftWoVhx9+ODbbnmwzZ84camtraWpqGvpIRUREJCliMRNfMPL5G+4HAzoi0t7ezjXXXMNNN91EeXl5wrr6+nqmTp2asKy7IHHHjh0JDbMGwjRNfD5fn+uCwSCxWIxoNEo0mvrKXxle0WiUWCyG3+9XG3gRkSEIR0x8vgCGYRAIBenuzOD3+xN+D5Zpmv3upzWgILJo0SJmz57dZ/vvQCCwV2+K7t4QwWBwILtJEA6HWbt27T7X22y2Ib2+jBzBYJBIJMKmTZtSPRQRkRHLMAysjiy2bGvF4bDhMtoJ+LoStqmtrR3yfvrbr6rfQeSll15i1apVvPLKK32ud7lchEKhhGXdAWEoBS92u52qqqo+1wWDQerq6nA6nSpeHCVsNhsVFRVqgCYiMgTN7UE6w25cThvjx+dh212o4ff7qa2tpbKyErfbPejXr66u7ve2/Q4iy5Yto7m5ueeeId0WLlzIa6+9RllZGY2NjQnruh+Xlpb2e0CfZhjGPoOMxWLBYrFgtVqxWq2D3oeMDFarFYvFgtvtVvAUERmCxrYIdocDu8OKy+HsuWqmm9vtHtJBhIHc5qTfQeSee+5JuDcIwEknncTll1/OV7/6Vf7whz/wu9/9jmg02hMK3n77bSZOnEhhYWG/ByQiIiLDxzRNfIFwqofRo99XzZSWlia06Z4wYQIAhYWFlJaWctZZZ9HZ2cmNN95IdXU1y5cv58knn+Tiiy8etsGLiIjIwATDUSKR9Cn4T1qL98LCQh577DFqamqYP38+Dz74INdccw3z589P1i5ERERkiIKhaFp0VO02pFvUrlu3LuHxzJkzee6554Y0oNHouuuu48UXX/zMbT491yIiIoMRDEWJRjMkiEhy3HjjjVx11VU9j48++mhuuOEGTjvttBSOSkREMpE/lB4dVbspiKQBr9eL1+vda1lxcXGKRiQiIpkoXqiaHh1VuyWtRiSdmKZJLBRI2c8g7iP4mZYvX86JJ57IrbfeyiGHHMKll17KO++8w7Rp09i2bVvPdp9eZpomjz76KMcffzyzZs3ia1/7Gi+//HJSxyYiIiNHKBxLq0JVyMAjIqZpUvfbGwluS11NhXPcdMZ859YBXUf9ebZs2UJjYyMvvfQSgUCAXbt2fe5z7rvvPl599VVuvvlmJk2axHvvvceiRYvo6OhgwYIFSRubiIiMDMFwhEhUQWQ/SF4ASCeXXnop48ePB+JHPz6Lz+fjySefZPHixT1N6CoqKti+fTuPP/64goiIyCgUSLMrZiADg4hhGIz5zq2Y4dTdf8awO5N6NKRbZWVlv7etrq4mGAxy1VVXYbHsOQMXiUQIhUIEAgF1JxURGWUCwSgxBZHhZxgGhiPzvmQ/Lzj0vgNxd53KkiVLmDRp0l7b9vdmRCIikjl8wfTpqNotI4tVRwO73Q5AZ2dnz7Led0ucNGkSNpuNurq6hG64b7zxBo8//njCURIREcl8oVCUcDi96kNAQWTEmjp1Kh6Ph6VLl7JlyxbefPNNnnjiiZ71Xq+Xb33rW9x///384Q9/YOvWrbzwwgvcfffdlJSUpHDkIiKSCoFwhOinC1Vj0b433o8y8tTMaJCdnc3dd9/NPffcw2mnncb06dO59tprueyyy3q2uf7668nPz+f++++nsbGR8vJyLr/8ci666KIUjlxERFIhGIoS6VUf0rVtPXmrHuDDqadz6Ne/m7JxKYikoU+3cz/zzDM588wz99ruhBNO4IQTTtjnc202Gz/84Q/54Q9/ODwDFRGRESMQTixUDax7Gxsx2nZs+4xnDT+dmhERERkFfP7EjqrZXVsBsJdVpWI4PRREREREMlwoEiUU7nVlZTRCcbQBgJJpX0zVsAAFERERkYwXCkWJxvYUqnZu34TDiOIzHVRM0RERERERGUb+YIRotFd9SN16ABqtZdhsqS0XVRARERHJcMFwYmt3R0stAD5vRYpGtEdGBJFk3+1W0pM+ZxGRwfEFEgtV8wPbAbCUTUnFcBKM6CDS3V3U5/OleCSyP3R/zt2fu4iIfL5wJEowtKdQNdTRSoHRDkD+xGmpGlaPEd1HxGq1kpeXR2NjIwAej2dYbjYnqWWaJj6fj8bGRvLy8rBarakekojIiBH81B13O7d8AkCjmUdWbl6KRrXHiA4iAGVlZQA9YUQyV15eXs/nLSIi/RMMRxNau8caNwKwyzkWT6oG1cuIDyKGYVBeXk5JSQnhcPrdVVCSw26360iIiMggBIKJR0SyOrYAEM6rTNGIEo34INLNarXqi0pERORT/ME9/5NuxqKUROvBAOfY1BeqwggvVhUREZF9i0RiBHoVqnbuqMVpRAiYdnLHTkzhyPZQEBEREclQwXCUSO9GZtvijcwaLKVYU9zIrJuCiIiISIYKhCIJrd3tu2oA6Mwan6oh7UVBREREJEMFQ9GE1u55uxuZmcWTUzWkvSiIiIiIZKjeHVVDvg6KjFYAvBNS38ism4KIiIhIBopEYwRCe4JIR228kVlzLIesvIJUDWsvCiIiIiIZ6NOnZczGagCanWNTNaQ+KYiIiIhkoPgdd/cUqrp3NzIL5U1I1ZD6pCAiIiKSgQKhSM8RETMWpSRSD4C9PD0amXUb8EXEzc3N3Hnnnbz55psEg0EOO+wwrr32WiZPjlfg3nTTTfz+979PeM7YsWP561//mpwRi4iIyOfyByJ0n5jpathGsREiZFrJHZ8+V8zAIILIZZddRiwWY+nSpWRlZXH//fdz3nnn8ec//xm32826deu45JJLOOecc3qeo9brIiIi+080GsMf3FOo6t+2DoAGoxS33Z6qYfVpQKdm2traGDt2LLfeeiszZ85k8uTJXHrppTQ2NrJhwwZM06S6upovfvGLFBcX9/wUFKRPda6IiEimi9eH7ClUtTXHG5l1ZI1L1ZD2aUBHRHJzc7n33nt7Hu/atYsnn3ySsrIyqqqq2LJlCz6fj0mTJiV9oCIiItI/8Stm9hSq5ga2AenVyKzboBvN//SnP+X555/H4XDw0EMP4fF4WL8+3sP+qaee4h//+AcWi4W5c+dy5ZVX4vV6B7Uf0zTx+XyDHaaIiMioYhgG7Z0BfP4ApgnhQBcV5i4wwFE6kWAw2LOt1bATCAWJ7D6L4/f7E34PlmmaGIbRr20HHUS++93v8s1vfpNnnnmGyy67jGeffZb169djsVgoKSnh4YcfZsuWLdx1111s2LCB3/zmN1gsA79IJxwOs3bt2sEOU0REZFRxuVw0d5psq28FIFa/iUoDWmJZNHf5ae7a2rNtjteNy2gn4OtKeI3a2tohj8PhcPRrO8M0TfPzN9u3WCzG6aefzqxZs7jttttoa2sjPz+/Z/0HH3zAN77xDZ5//nlmzZo1oNdevXo1pmlSVVU1lCGKiIiMIgbrtrbS2RUCoPV/X+QLbW+y3jqFrJN+kLClx2VnSkUett3HCfx+P7W1tVRWVuJ2uwc9gurqagzDYMaMGZ+77YCOiOzatYuVK1dy8sknY9t9+2CLxUJVVRWNjY1YLJaEEAIwZUr8euX6+voBBxGIH2LyeDwDfp6IiMho5A+EsVpsOJ3xUyOeznh9SChvIgVOZ8K2docVl8OJw5F4davb7R7Sd29/T8vAAK+aaWpq4sc//jErV67sWRYOh1mzZg2TJ0/mmmuu4bzzzkt4zurVqwF0VENERGQ/CIRjRHoamcUoiewAwF6ent/DAwoiU6dOZe7cudx666289957rF+/nuuuu4729nbOO+88Tj75ZFauXMmDDz7Ili1beOONN7jhhhs4/fTTexqeiYiIyPAJhiI9rd27dtaRZQQImxZyKvbuqGpgQP8PXgyLARerLl68mHvvvZcrr7ySjo4ODj30UJ555hnGjBnDmDFjWLJkCUuXLuXRRx/F6/VyxhlncMUVVwzD0EVEROTT/MEI3dWf/q3xRmaNRjHOPopH7XYLdltq7/Yy4CDi9XpZtGgRixYt6nP9qaeeyqmnnjrUcYmIiMgAxWIm/sCejqqWXZsAaPeMo7iP7b1ux4DqOYaDbnonIiKSIULhKJHejcx88ULVWNHe5RE2qwWPa9BdPJJGQURERCRDBEJ7WruHgwGKzWYAssZP22tbm9XArSAiIiIiyRIIRXqOiHRsXofVMGk3PWQVluy1rdNhw+VQEBEREZEkCYSiPYWqkfpqAHbaxmD00dk8250ed+FVEBEREckApmniC4R7HrvaNwMQyJ2w17bpUh8CCiIiIiIZIRiOEonET8uYsRjF4ToArGV7NzKz2dKjPgQURERERDJCsFehqq+5Aa/hJ2oa5E7Yu5GZy54e9SGgICIiIpIRgqEo0d2Fql09jcyKsDsTb15nANme9KgPAQURERGRjOAPRdh9QARLU7yRWZt73F7bWa0W3C4FEREREUmSeKHqno6qObsbmUULJ+21rd1mwe207rU8VRRERERERrhgOEo4EgUgEgpSYu4EwNNHIzOnw5o29SGgICIiIjLihUJRotH4eZn2rRuwGTE6TRfZxeUJ2xmkT/+QbgoiIiIiI1wg3Ku1+454I7NGW/lejcxsNgueNKoPAQURERGRES8QjBLbHUScrbUA+HP6bmTmdqbPaRlQEBERERnxendULdrdyMxWuvcdd10OK05H+hSqgoKIiIjIiBYKRQnv7qja1dxIntFFzDTImTA9YTvDgKw06h/STUFERERkBAuE99xxt7uR2U6jALvbk7Bd/P4yCiIiIiKSRL1buxs7NwLQ6tq7kZnNasGTRpftdlMQERERGcEC4T2Fqt6ueCOzSOHEvbZzOaw40qw+BBRERERERrQuf7xQNRoOU2o2AuAeNzVhG8NIr/vL9KYgIiIiMkKFwlHC4Xh9SPvWjdiNKD7Tgbc08dSMLc3uL9ObgoiIiMgIFQxHicbiQSS0YwMAjdZyDEviKRib1YInzfqHdFMQERERGaECwUhPa3fH7kZmvpyKvbZzO6047OlXHwIKIiIiIiNWsFdr98LQdgAsJVUJ28TrQxz7fWz9pSAiIiIyQvkCkfjvlmYKjA5iJuRMSLzjbjq2de9NQURERGQECkeiBENRADp3NzJrJh9Hljdhu3ihqoKIiIiIJFG8kVm8UJXGeCOzFtfYvbbzOG04bOlZHwIKIiIiIiNSMBztKVTN7toKQKQgsZFZut5fpjcFERERkREoEIwXqkajEUpjDQC4xiY2Mkvny3a7KYiIiIiMQL5AvKNq+9YanEaEgGnHO2ZCwjbpXh8CCiIiIiIjTiQSJRiOF6oG69YD0Ggt26uRmcdlw57G9SGgICIiIjLiBEIxIp9qZNaVPT5hG8OALHd614fAIIJIc3MzP/nJT5gzZw6zZ8/m+9//Phs3buxZv3btWs455xwOOugg5s2bx29/+9ukDlhERGS0C4YjPVfMFAS7G5lNTtjGZrXgSfPTMjCIIHLZZZexefNmli5dygsvvIDL5eK8887D7/fT0tLC+eefT0VFBcuWLeOyyy7jnnvuYdmyZcMxdhERkVEpGIpfMeNva6XIaAMge8IBCdvYbendyKzbgEbY1tbG2LFjufjii5k6NV6Ze+mll/K1r32NDRs2sHLlSux2O7fccgs2m43Jkyf3hJazzjprWN6AiIjIaNPdUbVjy+5GZmYuTm9uwjZuZ/rXh8AAj4jk5uZy77339oSQXbt28eSTT1JWVkZVVRWrVq3i8MMPx2bbk2/mzJlDbW0tTU1NyR25iIjIKBSJxgiE4kHE7G5k5kxsZGYZIfUhMMAjIr399Kc/5fnnn8fhcPDQQw/h8Xior6/vCSndSkpKANixYwdFRUUD3o9pmvh8vsEOU0REJKMEwjH8/iDBUISszi3xZbkVBIPBnm0cdis2S2zA359+vz/h92CZpolhGP3adtBB5Lvf/S7f/OY3eeaZZ7jssst49tlnCQQCOByJd/hzOp0ACRM0EOFwmLVr1w52mCIiIhnDYrGAzcPmrS0EgiFmx+rBgDZ7Hp1bt/Zsl5+bhdfWid/XNaj91NbWDnmsn84D+zLoIFJVFb/N8G233cYHH3zA008/jcvlIhQKJWzXHUA8Hs+g9mO323v2JSIiMpoZhkFjS4CusIu27ZtxG2FCpo2KLxyMpVdZRHG+hwll2ZimOaDX9/v91NbWUllZidvtHvQ4q6ur+73tgILIrl27WLlyJSeffHJPHYjFYqGqqorGxkbKyspobGxMeE7349LS0oHsqodhGIMOMSIiIpkm0hzE4XQSbdwEQKOlBHdWVs96ixE/IjKUIOF2u4f03dvf0zIwwGLVpqYmfvzjH7Ny5cqeZeFwmDVr1jB58mQOO+ww/vWvfxGNRnvWv/3220ycOJHCwsKB7EpEREQ+JRqN4Q/GC1XtLTUAdGZXJGxjs1lwO9P/apluAwoiU6dOZe7cudx666289957rF+/nuuuu4729nbOO+88zjrrLDo7O7nxxhuprq5m+fLlPPnkk1x88cXDNX4REZFRIxiO3+gOIC8Qb2RGX43MnCPjihkYREOzxYsXc+SRR3LllVfy9a9/ndbWVp555hnGjBlDYWEhjz32GDU1NcyfP58HH3yQa665hvnz5w/H2EVEREaVeCOzGP7ODoppASC7YlrCNlkuOzbbyLmDy4CLVb1eL4sWLWLRokV9rp85cybPPffcUMclIiIinxIIRYjGTDo2r8NiQIvpxZW7p/TBYhgjpn9It5ETmUREREY5fzCKaUJsdyOzXc4xCettNgP3CLi/TG8KIiIiIiNANGbiD4YB8HRsBiCUV5mwjc1qwe1QEBEREZEkC4YiRKImsWiM0kg9AI4xUxK2yXKPrPoQUBAREREZEbrvuNtev5UsS5CwacE7bk/DT4tl5NWHgIKIiIjIiBC/dDeGf/t6IN7IzGLbEzxsVgOPc2SdlgEFERERkRHBH4xgmmBr3t3ILGt8wnqbzYJLQURERESSLRYz8QfiHVXzAtsAMIsTG5llu+zYrCPva33kjVhERGSUCYajRKIxgl1dlLALgOyK6T3rLRYDzwisDwEFERERkbQXDMVbu7dtWY/VMGk3s3DlF/est1ktuEfgaRlQEBEREUl7gVCESDRGtKEagCZHecJ6u81QEBEREZHhEQjFO6p62rcAEMytTFif5XaMyPoQUBARERFJa7GYiS8QxozFKInsAMAxZmrPeovFIGuEtXXvTUFEREQkjYUiUSKRGG0NO/Ba/ERNg+zxe66YideHjMxCVVAQERERSWuB3YWq/m3rAGi0FGO1u3rWx+tDrKka3pApiIiIiKSxeGv3GNbmTQB0eBIbmWW7HVhHaH0IKIiIiIiktUAwQsyEXP92AMyiiT3rLBYDzwiuDwEFERERkbRlmia+YISg308pTQB4xu9pZGa3WvC4Rm59CCiIiIiIpK1gOEo4EqVt8wZsRoxO04W7sKxnvd1mjMj7y/SmICIiIpKmQqEo0ai5p5GZfQwYRs/6LLcDq8XY19NHBAURERGRNBUIx4OIq31z/HGvRmbWDKgPAQURERGRtBUIRonGYhSH443MbOVVPetsGVAfAgoiIiIiacsXCNPeWE+epYuYaZAzfk9HVbvNMuLrQ0BBREREJC2FQlHCkRhd29YDsNMoxOJ096zP9thHfH0IKIiIiIikpUA4fsdda1O8kVm7Z1zPukypDwEFERERkbQU3N3aPce/DYBY4Z5GZjbbyL6/TG8KIiIiImkoEIoS8AcoNXcCn2pkZrPgzoD6EFAQERERSUtdgTCtW6pxGFF8phN38dieddluB5YMqA8BBREREZG0EwpHCYdjRHZsAKDJXt7TyMxqMchyZ8bREFAQERERSTvBcLx/iLNtCwD+nAk962wZdFoGFERERETSTiAYIRyJURyO33HXWrankZndZsHlUBARERGRYRIIR2nduZMCSycxE7zjp/Ws83oypz4EYMCRqrW1lcWLF/P3v/+dzs5Opk2bxlVXXcWhhx4KwPnnn8///u//Jjzn8MMP56mnnkrOiEVERDKcLxCha+s6AJqNfKzuLACs1szpH9JtwO/mxz/+MTt37mTx4sUUFhby1FNPceGFF/Liiy8yadIk1q1bx6JFizjhhBN6nmO3Z8a1ziIiIsMtHIkSCkWx7Iw3MmtzjyNv9zqbNbPqQ2CAQWTz5s289dZbPPvssxxyyCEA/PSnP+XNN9/klVde4ZxzzqG5uZlZs2ZRXFw8LAMWERHJZPFGZjG8vq0ARAsm9axz2K0ZVR8CA6wRyc/PZ+nSpcyYMaNnmWEYGIZBe3s769atwzAMJk6c+BmvIiIiIvsSCEXw+4OUmY0AuHvVh2R77BlVHwIDPCKSk5PDMccck7BsxYoVbN68mRtuuIH169fj9Xq55ZZbeOutt/B4PJxyyilceumlOByOQQ3QNE18Pt+gnisiIjKSGIZBR1eAho3rKDUiBEw7ltxigsEgNqsFmxEb1u9Ev9+f8HuwTNPEMPoXmIZ0fOf999/n+uuv56STTuLYY4/lhhtuIBgMMnPmTM4//3zWrl3LXXfdRV1dHXfdddeg9hEOh1m7du1QhikiIjIiuN1uGlqjdNR8BEC9UUz99joAvFkuvA4fdVs6h30ctbW1Q36N/h6AMEzTNAezg7/85S9cffXVHHzwwTz00EM4nU4ikQhdXV3k5ub2bPfaa69x5ZVX8tZbb1FUVDSgfaxevRrTNKmqqvr8jUVEREa4mAnrt7Sy4w+/4oDoJ6zN/RI5X/r/AMjNdjJlfC6D/NruF7/fT21tLZWVlbjd7kG/TnV1NYZhJJRy7Mugjog8/fTT3HbbbZxyyin84he/6Ek9NpstIYQATJkyBYD6+voBBxGIH6byeDyDGaaIiMiI0ukLY1hsFIV3gAXsZVNxOp0A5OdlDSkcDITb7R7Sd29/T8vAIBqaPfvss/z85z9nwYIFLF68OOHQy7nnnsv111+fsP3q1aux2+1UVlYOdFciIiKjSjAcoaWpiWJLGwDZE+J33LVlYP+QbgN6VzU1Ndx+++2ceOKJXHzxxTQ1NfWsc7lcnHzyydx+++3MnDmTo48+mtWrV3PXXXdx4YUXkp2dnfTBi4iIZJJAMEp77e5GZuRi83iBeP8QT4ZdttttQO9qxYoVhMNhXn/9dV5//fWEdfPnz+fOO+/EMAyeeuopbr/9doqLiznvvPP4/ve/n9RBi4iIZCJ/MIyxcyMAra5xdBc72O1WXBnWyKzbgN7VJZdcwiWXXPKZ2yxYsIAFCxYMaVAiIiKjTSQaIxCKkt0Vb2QWKdjTk8vrsQ+o7mIk0U3vRERE0kAwFCUQCFNmNgDgGjsV6K4PydxbpSiIiIiIpIFAOMLOzRtxG2GCpg1P2QQgM+8v05uCiIiISBoIBqP4t60HYKetDMMaDx8OhxWXw5rKoQ0rBREREZE04A9GcLZuBsCXXdGz3OvO3PoQUBARERFJuWg0hj8YoSC4DQBLyWQg8+tDQEFEREQk5YLhKLuaWyg2WgHInhC/426m14eAgoiIiEjKBUNRWjd9gsWAFrzYsvOBeH2IM4PrQ0BBREREJOX8oQixhmoAWp1je5Z73Y6Mrg8BBREREZGUCwQjZHVtASC8u5GZzWrJ2PvL9KYgIiIikkLRmElHV5CyaLyRmXPMnkZmbgURERERGU7BUISG2lqyLEHCphXPmPgREafDhitDb3TXm4KIiIhICgVDUbq2xu+4u9NagmGNX67r9WT2ZbvdFERERERSKBiOYttVA0DX7kZmo+Gy3W4KIiIiIinkD0YoCGwHwCiZBIDNNjrqQ0BBREREJGViMZP6hl2UGrsAyJpwAAAu++ioDwEFERERkZQJhqM0b/wEi2HSbmZh9xZiANmjpD4EFERERERSJhiKEtmxAYBduxuZ2WwW3Bl+f5neFERERERSJBCK4O6INzIL5VcCuxuZjZJCVVAQERERSZnOriCl0R3AnkZmzlFwf5neFERERERSIBYz2bKxhhxLgIhpwTN2crw+xD16TsuAgoiIiEhKBMNROmo/AaDJUoxhc2CzWfCMovoQUBARERFJiWA4iqU53sisM3s8MPrqQ0BBREREJCWCoSi5/m3xB8XxRmYuhxXHKKoPAQURERGRlGhsbKXcaAIgq2I6hgFZo6h/SDcFERERkf3MNE22rVuD1TDpNN3Yc0vip2VGWX0IKIiIiIjsd8FwlOD2+B13m51jwDDiQWSUtHXvTUFERERkPwuForjaNsf/nFcJjM76EFAQERER2e+6AmFKIvFGZvbyKRjG6Lq/TG8KIiIiIvtZbXUteRYfUdMga9wUbNbRdX+Z3hRERERE9rOdGz4GoNlShGF3jcr+Id0URERERPajYCgKOzcC0JE1DgC304rDPvrqQ0BBREREZL8KhiPk+OKNzMyiybvrQxwpHlXqDDiItLa2cvPNNzN37lwOPvhgzj77bFatWtWzfuXKlZx55pnMmjWLU045hT/+8Y9JHbCIiMhI1tTcQTk7AciqmBavDxmlp2VgEEHkxz/+Mf/+979ZvHgxy5Yt44ADDuDCCy9k06ZNbNy4kYsvvpgvf/nLLF++nK9//etcc801rFy5cjjGLiIiMuLUfvwxdiOGz3Rizy/fXag6eoPIgN755s2beeutt3j22Wc55JBDAPjpT3/Km2++ySuvvEJzczPTpk3jyiuvBGDy5MmsWbOGxx57jCOPPDL5oxcRERlhOjbH77jb7BiD2zDwOG04bKOzPgQGGETy8/NZunQpM2bM6FlmGAaGYdDe3s6qVas44YQTEp4zZ84cbrvtNkzTxDCMAQ/QNE18Pt+AnyciIpJuojGwt8TvuOvzjscaCmK3OfH7/ZimmeLRgd/vT/g9WAP5zh9QEMnJyeGYY45JWLZixQo2b97MDTfcwIsvvkhZWVnC+pKSEvx+Py0tLRQUFAxkdwCEw2HWrl074OeJiIikG6sjm+LIDrBAmz2fQGMDXkeAph1daRFEutXW1g75NRyO/hXgDumk1Pvvv8/111/PSSedxLHHHksgENhrx92PQ6HQoPZht9upqqoayjBFRETSwkcf11Jk6SRmwpgvHk52bg6Tx+dhSZNrWP1+P7W1tVRWVuJ2uwf9OtXV1f3edtBB5C9/+QtXX301Bx98MPfccw8ATqdzr8DR/Xiwb8gwDDwez2CHKSIikjZ2bfqEImCXpQCXN49cr4vs7PT7jnO73UP67h1IKcagMtjTTz/Nf/3Xf3Hcccfx8MMP43Q6ASgvL6exsTFh28bGRjweD16vdzC7EhERyRihuviRgnbPeAwDstyjs617bwMOIs8++yw///nPWbBgAYsXL044FXPooYfy7rvvJmz/9ttvc/DBB2NJl+NOIiIiKRCKRMnu2gJArHBivK37KL5st9uAZqCmpobbb7+dE088kYsvvpimpqaedS6Xi3PPPZf58+dzzz33MH/+fN544w3+9Kc/8dhjjyV94CIiIiNJ867OnkZmnorp2G2ju5FZtwHNwIoVKwiHw7z++uu8/vrrCevmz5/PnXfeya9//WvuvvtufvOb3zBu3Djuvvtu9RAREZFRb+NHaxhjRAiYdhyFY/G4bNhHcf+QbgMKIpdccgmXXHLJZ24zd+5c5s6dO6RBiYiIZJrWTWsYAzTZx+CxWPC4VB8CuumdiIjIfmFp3gRAIHeC6kN6URAREREZZqFQhMJQHQDWsipsNgse1YcACiIiIiLDbuOm7RRb2gHIHj8Nj8uOTfUhgIKIiIjIsNu25kMAdpGH1e1V/5BeFERERESGWWDbegDaPOOw2QzVh/SiICIiIjLMPB2bgT2NzNwOBZFuCiIiIiLDqLXNT7kZv/2Ja9x0slx2bDZ9/XbTTIiIiAyj9R+twWWECZo23CUVqg/5FAURERGRYdS84aP4b3sZNodN9SGfoiAiIiIyjMyd8UZmvpx4IzOX+ockUBAREREZJrGYSV5gGwC20iqy3HZsVn319qbZEBERGSabt9ZTYrQCkD1huupD+qAgIiIiMkw2f/ghFgNaycHhzVdb9z4oiIiIiAyTzi2fANDqjjcyU33I3hREREREhomrrRaAaMFEsl2qD+mLZkRERGQYdPlDlEbrAfCMn6b6kH1QEBERERkG1R+vI8sSImxayRo7Sadl9kFBREREZBjUfxK/426TrRS7w65C1X1QEBERERkG0YaNAPi8FWS5HVhVH9InzYqIiEiSmaZJjm8rANayKrLU1n2fFERERESSrG5HM2VGCwC5Ew/E7VSh6r4oiIiIiCRZzeoPsRgm7WTjyivE7bSmekhpS0FEREQkydpr1gDQ4hpLtupDPpNmRkREJMlsu2qBeCMzj+pDPpOCiIiISBL5A2FKozsAyKqYjsel+pDPoiAiIiKSRBvXbcRrCRAxLeRWVKmR2edQEBEREUmi+rXxRmbN1mKyvFlYLUaKR5TeFERERESSKFS3AQCfd4K6qfaDgoiIiEiSmKZJdle8kZmtrEr1If2gICIiIpIk9Y2tlBtNAORPPlD1If2gICIiIpIkNR+txmqYdOIht2yM6kP6YUhB5JFHHuHcc89NWHbTTTcxbdq0hJ958+YNaZAiIiIjQdum3Y3MnGPJcuu0TH8M+pjRM888w5IlSzj00EMTlq9bt45LLrmEc845p2eZ1arWtiIikvmsTZsAiBZO1P1l+mnAQaShoYGFCxfyzjvvUFlZmbDONE2qq6v5/ve/T3FxcbLGKCIikvaC4ShFkR1ggewJ03GrPqRfBnxq5uOPP8Zut/Pyyy8za9ashHVbtmzB5/MxadKkpA1QRERkJKheV0OexUfUNCipOhCL6kP6ZcBxbd68efus+Vi/fj0ATz31FP/4xz+wWCzMnTuXK6+8Eq/XO6gBmqaJz+cb1HNFRET2l+0fvU8VsMtaxHi3Y0R+d/n9/oTfg2WaJobRvyCW1ONG69evx2KxUFJSwsMPP8yWLVu466672LBhA7/5zW+wWAZeGxsOh1m7dm0yhykiIpJ0vq2fANDiKCNrZz07tnSmeESDV1tbO+TXcDgc/douqUHkBz/4Ad/+9rfJz88HYOrUqRQXF/ONb3yD1atX73Uqpz/sdjtVVVXJHKaIiEhSmaZJx2uPgQVc46czqbICMFM9rAHz+/3U1tZSWVmJ2+0e9OtUV1f3e9ukBhGLxdITQrpNmTIFgPr6+kEFEcMw8Hg8SRmfiIjIcGhoau9pZDb+i7PxeAb/JZ4O3G73kL57+3taBpLc0Oyaa67hvPPOS1i2evVqAB3VEBGRjFWz+iPsRgwfLnLHjE/1cEaUpAaRk08+mZUrV/Lggw+yZcsW3njjDW644QZOP/10Jk+enMxdiYiIpI2Wmo/jv51jdH+ZAUrqqZnjjz+eJUuWsHTpUh599FG8Xi9nnHEGV1xxRTJ3IyIiklYsO7sbmU3C5VD/kIEY0mzdeeedey079dRTOfXUU4fysiIiIiNGKBylIFQHFiiYrP4hA6Wb3omIiAzBpuotFFo6iZlQPv2LqR7OiKMgIiIiMgR1az8EoMVaSHZOTopHM/IoiIiIiAyBf1u8q7jPOwGX7i8zYAoiIiIiQ+Bu3wyAa9zUAfXPkDgFERERkUHauauTcnYCMOYLM1I8mpFJQURERGSQNn30MU4jQgAHheN15/nBUBAREREZpF0b9zQyczvVyGwwFEREREQGq3EjAGbRJNWHDJKCiIiIyCB0dAYpCNYBUDRF/UMGS0FERERkgOqbu3j4mb9TbG0HYPyBM1M8opFLFzyLiIj0UzQa49/rGlmx/FVON/8GFuhwlTMxLy/VQxuxFERERET6wR8Ms/wvnxB653nOdq4BA3zuMgpO/y/VhwyBgoiIiMjn2NHUxdO/+38c0fwy45wtALRXfBnzkK+TXVaY4tGNbAoiIiIi+xCLmbz78Q7effE5zrCsxGGLErR4CBz2HawTDqKkwENOtjPVwxzRFERERET6EAxG+N0f3yfvg2c53bEVgPa8KUS/dAHZBUWMKc7G63GkeJQjn4KIiIjIp2zf2cnvn36ZuZ2vkefwE8VC+/SvYv3iiZTkZVFW6MFus6Z6mBlBQURERGQ30zT557+3sPGV33C69QMsFuh0FBL+0kW4yydRVpRNQY4r1cPMKAoiIiIiQCAU4bllb1Kx/n+Ya2sGYFfZEViO+BYF+bmUF2fhcuhrM9k0oyIiMuptqW/ntd8+w9zQ33HZIgQNJ12zF+CccgQlBR6K8txYLbpEdzgoiIiIyKj295XraPnzo5xkqwEDWjyVGHMvIqe4jPKiLBWkDjMFERERGZX8gQi//91rHLDlBSpsXcQwaJ54Cq5DzqAo30NpgQebClKHnYKIiIiMOjXbdvHPpx7lS9H3sFhNOqy5hI68iJyK6ZQVZZHvVW+Q/UVBRERERpXX//ovLP98nKOsDWBAY/4snHO/S1FBHmOKsnE6dBRkf1IQERGRUcHnD/Hib37HrJ2v4bGGCWKn9QvfIPuLcykr9FCY68aigtT9TkFEREQy3oZNO/jofx7gSNaBBZocY7AcczFF5WMZU5RNltue6iGOWgoiIiKSsUzT5M9/fIO893/DLGs7MdNgx9hjyfnS/0dxQTYlBR5sVkuqhzmqKYiIiEhG6ugKsOKxR5jV8SZWq0kH2XQdcT5FU2ZSXpRFnm5WlxYUREREJOOs+aiaHS/dz8FGHRiw3TOdrOMvYmxxIeWFWThUkJo2FERERCRjmKbJn3//EuXrfs9ES5CQaaO+6msUHXYiZYVZFOa6MQwVpKYTBREREckIrS1tvPX4/RwQ/AAssNNSTGzu9xlfMYny4iw8LhWkpiMFERERGfE+fPd9fCt+xQGWVgBq8o+k6LizKSnOpSTfg1UFqWlLQUREREasSDTG3556goptfyLbEqPDdLNr5jmMnXU4Y4qyyMlSQWq6G1JEfOSRRzj33HMTlq1du5ZzzjmHgw46iHnz5vHb3/52SAMUERHpy84d9bx590+YvP017EaMLfZJBE+9mcmHH8WksbkKISPEoIPIM888w5IlSxKWtbS0cP7551NRUcGyZcu47LLLuOeee1i2bNlQxykiItLj/b/+P+oev5oJ0VrCpoX15adRfNY1TK4az/jSbBy6Wd2IMeBTMw0NDSxcuJB33nmHysrKhHXPP/88drudW265BZvNxuTJk9m8eTNLly7lrLPOStaYRURklAoFgrz1xC+ZsOvt+H1iKCAw5wKmHHAAY4qycTtVcTDSDPgT+/jjj7Hb7bz88sv86le/Yvv27T3rVq1axeGHH47Ntudl58yZwyOPPEJTUxNFRUUDHqBpmvh8vgE/T0REMktDzSYa/vAAE8wmANa6DqJw3gImleVTlOvEjIbw+UIpHuXI5vf7E34Plmma/b5MesBBZN68ecybN6/PdfX19UydOjVhWUlJCQA7duwYVBAJh8OsXbt2wM8TEZHMYAAtH7/P2C2vU2JE6Yw5+bDoBMbMPAyPI0xb0zZ21imAJFNtbe2QX8PhcPRru6QewwoEAnvt2OmMFwsFg8FBvabdbqeqqmrIYxMRkZEn0NHGmmcfYKJvHRhQwziYex5HTq6gNM+NRVflJpXf76e2tpbKykrcbvegX6e6urrf2yY1iLhcLkKhxFTaHUA8Hs+gXtMwjEE/V0RERq7af79L22sPMoYuIqaFj/KOYcpJX2dcWS75Oa5UDy+jud3uIX33DqR7bVKDSFlZGY2NjQnLuh+XlpYmc1ciIpKhYpEw7//uUfJq/x9eA3bGctk581xmH3ow5cVZuBwqSM0kSf00DzvsMH73u98RjUaxWuOXTr399ttMnDiRwsLCZO5KREQyUHv9VtY99QsKQzvAgI+sB1J86gUcXllKUZ4bi0X3ick0ST27dtZZZ9HZ2cmNN95IdXU1y5cv58knn+Tiiy9O5m5ERCTDmKZJ9d9fY/vjP6EwtANfzMF7pWcy9ewrmTF9HCUFHoWQDJXUIyKFhYU89thj3HbbbcyfP5/i4mKuueYa5s+fn8zdiIhIBon6O/nPU/eRv/M/OIHaWBmhI87n6IOmUVqQhc2mitRMNqQgcuedd+61bObMmTz33HNDeVkRERklmjd8xPYX7iU/1k7UNFjlnMPUryxg8vgC8rxq0T4aqOJHRET2KzMaoXntKratfJ3shg/INkyao9lUT/oGc447ijHFXpwOtWgfLRRERERk2JmmSXvNx2x+68/Ytr6Py/STA2DA6lgVnuPP44QDJ1CYq4LU0UZBREREho2/YTMb/7ECc+PbZEXbyN69vCPm4hNLFYFxh3PI0UcwaWwuHpc9pWOV1FAQERGRpAq1NbHpn6/jX/tPcoP1dLfFCpg21pmVdJQdwpgZh3F4RQE5WQ5ys53YrCpIHa0UREREZMii/k5q3/4brR++QV5HDQ4DHEDUNFgfG8euooMomnEksyeXkZPtJNtlx6E6EEFBREREBsmMhNn2/ls0rPorOS2fYCNKPsTvCRMtoSF3Bt4vHMXML0yMhw+3DbtN4UMSKYiIiEi/mWaMxjX/ZuvK18lq+AAnIQp2r6uP5rIl64u4pn+Jg2ZP59AcN1luu067yGdSEBERkc9kmiatmzew6c0VOLauIsvs7AkfrTEPm5zTsUw+klmHz+aLBR6yXHasCh/STwoiIiLSp87GOja88SfMTW+TF2mOn3YBfDE7G21VRCuP4ItHfomTS7xkuey67FYGRUFERER6BDvbWPfGnwms/SdFwW3k7l4eMS1sNCbgH3sY048+hhPGFuJx2QZ0u3eRviiIiIiMcpFggA3/+zfaPvgHhZ0byDZMsoGYCZvNMXSUzabyyHkcWzUWt3p9SJIpiIiIjEKxaISaVW/T8K+/kb/rY5xGmBIAA+piBTQXHsSYw+fxpRlVuJ0KHzJ8FEREREYJ0zTZvnY1W/73dbwN/yYLP2UABuyKZbMj54sUzj6OQw6bhdut8CH7h4KIiEiG27mlluo3/oRz63vkma3x8AF0xZxs9Uwn+4tzOfjLR3KoR3e7lf1PQUREJAO172xk7d/j93gpidZTunt5yLSy2VGFY9qXOPjY45iRm5XScYooiIiIZAhfZwdr/v4XAp+8RWmglmLDBOJt1rdax8OkOcw87iSml+R/ziuJ7D8KIiIiI1g4FGLNP/9B64dvUNq5jgIjGl9hQB0lBMcfxgHHnsK8ijGpHajIPiiIiIiMIEG/n23r19O0uRr/lnUUtn6E1wjiBTCg2cylvWw2k446maMPmJrq4Yp8LgUREZE0FI1Gqa/dTMPG9XTW1WDu2obHX0+e2YbVMCnu3tCADtPNroKZjDnieA6ZPRuLRe3VZeRQEBERSbGWxp1sX/8JbVs3EW7agrNzB3nRZpxGhDwgr/fGBvhMB622YiI5Yyj4why+8KWjsNl1ua2MTAoiIiL7ia+ri+3r19NcW02gYTPW9u3khHbiNfx4AE/vjQ0ImxZaLIUEssqwFo4nZ9xExkyZRmV5uY56SMZQEBERSbJIJMKOmloaN66nq64Gs2UbWYGG3adViHcw7WbEW6m3GTl0ukohfyxZ5RMpmTSFikmTdKRDMp6CiIjIIMViMVoaGqnbsI62bRuJNG3F2VVPfrQZhxElH0i4UNaATtNFuz1+WsVZOoHCyirGTZlGlTc7Re9CJLUURERE+qGro5Pt6z+huXYjwcbN2NrryA3vJMsIkAUktAUz4o3DWqyFBLPKsRWNJ3f8JMZMnc6k0tJ97EFkdFIQERHpJRIOU7dxE42b1tO1oxZatpEdbCSfdmxAQowwIGYatBo5dLlLMfLHkTVmIqWTp1JRWYnNpn9iRT6P/isRkVEpFovRvGMHdRvW0b5tE9Hmrbi66smP7cJuxCgACj71nA7TTbujhGjuGFyllRRVVjFu6jSqPO5UvAWRjKAgIiIZr72lle3rP6Fly0ZCjVuwdewgL7ITjxHCC/FmYN0MCJo2WqxFhLLLsRWPJ3/8ZMZMncak4uJ97EFEBktBREQyRk/X0d2XxxptdXiDjeQaXTih566zABjxe7C0Gnn43KUYBePIHjuJsqqpTKiowGq1puhdiIwuCiIiMuIkXB67I355rMffSL7ZhqV311EAI/6rzcymw1mCmTsGd3klRROqqJhSxRS3TquIpJKCiIikrXgdRx11G9bTvq3mU3UcfV8e6zOdtNqLiXjLcZRMoKBiMmOnTmNSXm6K3oWIfBYFERFJC+27drF9/XpatlQT2rkVe0cdeZEm3Puo40i8PHYcueMmUz5lKpWlpeo6KjKCJD2INDQ0MHfu3L2W33HHHZx55pnJ3p2IjDABn59tG9bRXBOv47C01eENNZJj+PpXxzFmIiWTp1AxYYIujxXJAEn/r/iTTz7B6XTyl7/8BcMwepZ7vd7PeJaIZJpIOEzdpk3s3FRN544aaNm+u815+z7rOFrNbDqdJZh5Y3GXTaBo4hQmVFUxxeVKxVsQkf0g6UFk/fr1VFZWUlJS8vkbi8iIF4vF2LmtjvqN62jfVkOseStO355+HH3VcXSZTtq625wXV1AwoYqxU6cyKVd1HCKjTdKDyLp165g8eXKyX1ZEUsg0TQKhKB0tu9hZU03blo3xOo7OHZ9Tx2HbXcdRtqfNedU0KktLVMchIsAwHRHJz89nwYIF1NTUMGHCBH7wgx/0WTfSH6Zp4vP5kjxKkeHVfVoyHDUJh2MEw1FiMRPD2LPOMMDAAKP7z7vPUBjGnnXd2+0+ddGzfc9+dm+/+7HFSNy/ZfcC0zQJhaP4AhE6/WF8gQhdgTBd/sjeywIRQr4uXP5GsoM7yYs0UWTuoszaSq7FjxtIuOB1dx1Hi5GPz12y++6xEyieWMW4sWOp6CNwBAKBJMyyiCSb3+9P+D1YpmkmlGd8FsM0TXNIe+slEolw0EEHUVVVxXXXXUd2djZ//OMfeeKJJ3jiiSc48sgjB/R6q1evJhQKJWt4IkllsViwWq1YLBYsVisx00I0Fg8foXAMXyBMMBQlHIkSDkeImeaeoAG7A4WxJ2T0+o92T1jZE0ZiMZNQxCQcMQlGdgecSIxQxCQY7vV7908wsvv37p9obO/3YCVKqbWNcmtrwk+htXOf77vVzKbNVkgoqxRLfhme0nKyCouJYZLEf05EZIRzOBzMmDHjc7dLahAB6Orqwmq14upVXHbRRRcB8Nhjjw3otVavXo1pmlRVVSVziCKD0h0KYqbZ8wUfCkcJBCP4ghEikRiRqEk0FiMW2/s/q1gsflQiEI4SCEUJ7v7Z63EoSrDXsu7H4UgfSaKfLMQosnRQbm1lvKONcnsbZZYWCmjDQt//BEQcXszcMVgLx+IoHo+7tAJ36XgsDjUAE8lUfr+f2tpaKisrcQ+h2V91dTWGYfQriCT91ExWVtZey6ZMmcI///nPQb2eYRh4PJ6hDktkUEKRKKFewcAfiBAIRYjGTKLR2O7fJl2BMB2+EO1dITq6QnT4wvE/++I/nb4wwXA0KWNy2C24HTacDhsupxWXw4rLYYv/2C3kWzspiDWTH2nCG27C42/A6WvEiEX6fD3DmYWjeDyOkgocxd0/47F6cpIyXhEZedxu95C+e/t7WgaSHEQ2bNjAN7/5TR566CGOOOKInuUfffSRjmpIWjNNk2A4MXT4AhG6/GFaOwO0tAdp6wwmBIzu352+MLEBHFi0WS24ndZ4kOgOEc7uMLGPxw4rLqcNp90ar/swTYxgO/b2Hdg667C112Ft34GlqQ4jEuxzv4bdiaNoPPbiChwl43tChzU7f0D/aIiIJFNSg8jkyZOZNGkSt9xyCz/72c/Iz8/n+eef5z//+Q/Lli1L5q5EBi0aMwkEw7R0hGho7qKxxUdji4+WjiBtHUHauvaEDF+g76MIn2YYkO224/U48GY5yPE49vw5y06224HbacPpsGKzDuxqESPkw965HXvLDqwddVjbdmBpr8MI7qOOw2LDUTQmHjh6HeGw5ZVgGLpSRUTSS1KDiMVi4eGHH+bee+/liiuuoL29nQMPPJAnnniCqVOnJnNXIvsUjZm0dgRobguws8VHfbOPna1+mlr97GoP0NIRoK0z1O+aC5vVwOtxkJPlSAwaPb/jQaP7CpXBssRCODrrsXbswNa+A2t7HZa2OvC17OMZBvaCst2BY88RDntBOYZVHUdFZGRI+r9WRUVF3HHHHcl+WREAQuEozW0Bmtv8NLUF2LX7d3Obn6aW+J9bO4L9PlXiclg/I2A48HrsuJ22pJ26sBgGFqLYuhqxtddh66jD1r4DWrdDRxPso3DUllOEvVfYcBRXYC8ai8XuTMq4RERSRf/bNMJ1dvrZsWkjLVtrCLU1pXo4SRUOx+gKhvH5u/tcxC+H7YsDGLP7BwdggNNuxenYU8zptFt7ai+6l1stFvZkjF6Xz4aBtt0/n16bcJlt4jiMPi7JNQwwIsH40Y2W7cTa6iHW9/uwZuXudYTDUTQOi2vvInARkUygIDICBIIR6hpbaaytoaOulkjzNmwd9eSEd1JAO1bDpCjVg9wf7Lt/BsIEgrt/Uqz3iSDD6UkMG7v/bM1Si3MRGV0URNJEKBxlR3MXdfWttGyrwd+wFVq34/I1UmDuosjSQYlhknAHn93/1x0w7bTaCgk78zHJnGJEqxUcdmv8yIY9fhQjXuxpYDDCrvKw2nEUjY2HjpIKrN5CXakiIoKCyH4VicZo2OWjbmcnOxpaad2+mUjTVmyd9eSGmyi1tlJs6aTU6FUn0CtXBHHQ4SginF2Os3gceeMnUTqpiuyiUn2piYjIiKQgkmShSIyG5i62NXZQt7OL+sZWgju3YrTVkRXYSam1lTJrGwdaOrF0Bw6DeF3DbkHDic9VgplbjqukgqLKyRRVVqnfg4iIZBwFkX6IxUwisRjRaLybZigSo6nVT11TF/VNnexo9tHc3IbZWofb10iJpYUyaxvjra3MsnTGb0Rm8Kk7hUHQ4ibgKcGSP5bs8kpyx1WSVTYBV54O24uIyOgwqoNIJBIlvDtcRLpbdkdNItEY4UiMXR0BdjR10bhrTx+K9rYOHJ0NFNJCubWVMmsrR1vb4jcJM4A+Lm4IWd2EssqwFo4jq6wCZ0kFntIKXLkFOB2j+iMQEZFRblR/C9Y1dVG3s3N3yAjQ1Oqnuc1Pc3uArvYOCmK7KLO2UWpt5YDdvwutXZDd9+uFbVlEc8qx5I/FWjAOR8k4XMXjKc4vxOmw4rBZ9+8bFBERSXOjMoh0+cPc88y/WFPTTCzoo9TSRpm1lXJrGwfsvg16vte3z+dHHF5iOeWQNyZ+d9KCcbhLx+HNycfttOFQ6BAREemXURlEmnbu4sAtv+d0ZyP5nn0Hjqgzh2hOObGccszcMZA3BnvRODy5eTjtVoUOERGRIRqVQaTM6ecQZ23P46grl6i3nKi3nFhu/EgHuWNwenPIdu25A6rTYcWu0CEiIpI0ozKIOEsrGXPeHTQ0ddBiLcTqysbpsOJ1dbf+VugQERHZH0ZlEAFwjZ1Kfm6QQouh0CEiIpIiozaIAORk686lIiIiqZQ5NyYRERGREUdBRERERFJGQURERERSRkFEREREUkZBRERERFJGQURERERSRkFEREREUkZBRERERFJGQURERERSRkFEREREUkZBRERERFJGQURERERSRkFEREREUkZBRERERFLGluoBfJZwOIxpmqxevTrVQxEREcl4pmkCUF1djWEYg36dUCjU7+endRAZyiSIiIjIwBiGgcPhSMrr9Pc73DC744+IiIjIfqYaEREREUkZBRERERFJGQURERERSRkFEREREUkZBRERERFJGQURERERSRkFEREREUkZBRERERFJGQURERERSRkFkWHQ0NDAiSeemOphyKfoc9n/NOf7j+Z6+GmOh4eCSJKtXLmS7373uzQ1NaV6KNKLPpf9T3O+/2iuh5/mePgoiCTZsmXLWLJkSaqHIZ+iz2X/05zvP5rr4ac5Hj666d0wmT17Nv/+979TPQz5FH0u+5/mfP/RXA+/0T7HL774Io8++ijRaJSf/OQnnHDCCUN+TVsSxjXqvPrqq9x1110Jy0499VSuv/76FI1IQJ9LKmjO9x/N9fDTHH+2hoYGHnnkEV544QVCoRBnn302c+bMITs7e0ivqyMiw2S0p+Z0pc9l/9Oc7z+a6+E3muf4xRdf5OOPP+amm24C4MYbb+Too4/m1FNPHdLrqkZEREREPldjYyMlJSU9j4uKiti5c+eQX1dBRERERD5XXydQLJahx4i0DSKdnZ0sXLiQo48+msMPP5yrr76a5ubmpO/nkUce4dxzz01YFovF+OUvf8mXv/xlDjroIL73ve+xdevWAb3uSDh0N9A5bm1t5eabb2bu3LkcfPDBnH322axatWpYxpapn8tQ/l7X1NQwe/Zsli9fPixjy7Q5H8xcv/TSS5x22mnMmDGDr3zlK/zf//t/h2VsmTLXA53jSCTC/fffz3HHHcfs2bNZsGAB//nPf4ZlbJkyx+mkpKQk4fLl5ubmhCMkg2amqQsuuMA85phjzL///e/m+vXrzUsvvdQ87bTTzGAwmLR9PP300+b06dPNc845J2H5Aw88YB5xxBHm3/72N3Pt2rXmBRdcYJ500klJ3Xc6GOgcn3/++ebpp59uvvfee+amTZvMn/3sZ+bMmTPNjRs3JnVcmfy5DPbvdSgUMs8880xz6tSp5rJly5I+rkyc84HO9UsvvWQeeOCB5tNPP21u3rzZ/PWvf21Onz7dfP/995M6rkya64HO8S9/+UvzqKOOMt98802ztrbWvPHGG81DDjnEbGhoSOq4MmmO00ldXZ15yimnmO3t7WZLS4t54oknms3NzUN+3bQMImvWrDGnTp1qvvHGGz3LOjs7zUMPPdRcvnz5Xts3NjaaH374YcKy9957z+zs7Ozz9evr682LL77YPOigg8xTTjkl4S9rMBg0Z8+ebT7zzDM9y9ra2syZM2ear7zyylDfWtoY6BzX1taaU6dONVetWtWzLBaLmSeccIK5ZMmSPvehzyXRQOe8t3vvvdf8zne+87lBRHMeN9C5jsVi5nHHHWfeeeedCcsvuOAC8+GHH+5zH6N9rgfz9/mrX/2qeccdd/Q87ujoMKdOnWquWLGiz+1H+xynoxdeeME87bTTzJNOOsn8wx/+kJTXTMtTM7W1tQAceuihPcuysrKYMGEC77777l7bP/XUU5x33nk9h8z+/ve/c/755/Pqq6/2+foff/wxdrudl19+mVmzZiWs++STT+jq6uLII4/sWZaTk8OBBx7Ie++9N9S3ljYGOsf5+fksXbqUGTNm9CwzDAPDMGhvb+9zH/pcEg10zru99957PPfcc9x5552fuw/NedxA57qmpobt27dzxhlnJCx//PHHufjii/vcx2if68H8fS4sLORvf/sb27ZtIxqN8txzz+FwOJg+fXqf24/2OR5Ogz11ddZZZ/HHP/6RFStW8NWvfjUpY0nLPiLd55x27NjB5MmTAYhGo9TX11NYWLjX9ldccQUNDQ1ceOGFfO973+NXv/oVF154Id/85jf7fP158+Yxb968PtfV19cDUF5evteYutdlgoHOcU5ODsccc0zCshUrVrB582ZuuOGGPvehzyXRQOccoL29nWuuuYabbrppr/feF8153EDnuqamBgCfz8eFF17ImjVrGDduHD/4wQ/2OT+jfa4H8/f5xhtv5Ec/+hHHH388VqsVi8XCAw88QEVFRZ/bj/Y5Hi7PPPMMS5YsSQiRAL/+9a959tlnufPOOykrK+Puu+/moosu4pVXXsHhcAzbeNLyiMiMGTOYNGkSCxcupKGhgUAgwL333ktLSwvhcHiv7S0WC3fccQcHHXQQS5Ys4bTTTuPKK68c1L79fj/AXpPudDoJBoODes10NNA5/rT333+f66+/npNOOoljjz22z230uSQazJwvWrSI2bNn7/V/6vuiOY8b6Fx3dnYCcO2113L66afz3//93xx11FFceumlrFy5ss99jPa5Hszf5+rqarxeL7/61a947rnnOPPMM7n66qtZu3Ztn9uP9jlOtoaGBi655BLuueceKisrE9aFQiH++7//m8svv5xjjz2W6dOnc99991FfX8+f//znYR1XWgYRh8PBgw8+iN/vZ+7cuRx66KG0tLRw3HHH7bOD21//+lfeffddDjzwQF5//fXPPNT9WVwuFxD/UHoLBoO43e5BvWY6Gswcd/vLX/7CBRdcwEEHHcQ999zzmdvqc9ljoHP+0ksvsWrVKhYuXDig/WjOBz7XdrsdgAsvvJD58+dzwAEHcMUVVzB37lyeeOKJfe5nNM/1QOd4x44dXHXVVVx11VWccMIJzJgxg1tuuYVp06bxwAMP7HM/o3mOky1dT12lZRABmDx5MsuWLeOdd97h7bff5o477qC+vr7PQ3grVqzgiiuu4JJLLmH58uWcccYZfP/73+ftt98e8H67D9s1NjYmLG9sbKS0tHRwbyZNDWSOuz399NP813/9F8cddxwPP/wwTqdzn9vqc9nbQOZ82bJlNDc3c+yxxzJ79mxmz54NwMKFC7nooov6fH3N+R4Dmevu9zN16tSE5VVVVWzbtq3P19dcD2yOP/jgA8LhcEKdGcCsWbPYvHlzn6+vOU6uefPm8cADDzB+/Pi91qXy1FVaBpHOzk7OOeccPvnkE/Ly8sjOzmbbtm2sWbOGo446aq/tbTYbl19+OT/84Q8xDIOf/exnnH322YNKudOnTyc7O5t33nmnZ1l7eztr1qzhsMMOG9L7SicDnWOAZ599lp///OcsWLCAxYsXf+45Q30uiQY65/fccw+vvfYaL730Us8PwOWXX85tt93W5z4053EDnesvfOELZGVl8cEHHyQsX79+/T6D+Wif64HOcVlZGQDr1q1LWL5+/fq9ThN0G+1zvD+l8tRVWharZmdnY5omt912GzfffDOBQIAbbriBOXPmJBw26nb88cdz/PHH9zw2DINrr712UPt2OBycc8453HPPPRQUFDB27FjuvvtuysrKOOmkkwb9ntJNf+a4o6ODcDhMQUEBNTU13H777Zx44olcfPHFCU1tXC4XXq93r33oc0k00Dnf1/+lFRYW7nOd5jxuoHPtcrm46KKL+NWvfkVpaSkzZ87kj3/8I2+99RZPPvlkn/sY7XM90DmeOXMmhxxyCNdeey0LFy6krKyMl156iZUrV/I///M/fe5jtM/x/tT71FX3n2H/nLpKyyACsHjxYn7+859z9tln43A4OOmkk/jJT36yX/Z9+eWXE4lEuOmmmwgEAhx22GE8/vjjPeeRM8XnzfFtt93Gu+++y1//+ldWrFhBOBzm9ddf5/XXX094nfnz5/fr0tKhyoTPZSBzng5G8pwPdK4vvfRS3G439913Hw0NDUyePJkHHniAI444Yr+MdyTO9UDm2GKx8NBDD7FkyRKuv/562tramDp1Kk8++eRe9QrDZSTO8f7S+9RV76OAjY2NTJs2bVj3rbvvioiIjDLXXXcd27dv56mnngLiR0KOPPJIrrvuOr7+9a8D8VNXX/7yl7n99tv5yle+MmxjSdsjIiIiIrJ/pPLUlYKIiIiIpOzUlU7NiIiISMqk5eW7IiIiMjooiIiIiEjKKIiIiIhIyiiIiIiISMooiIiIiEjKKIiIiIhIyiiIiIiISMooiIiIiEjKKIiIiIhIyiiIiIiISMooiIiIiEjKKIiIiIhIyvz/7dOVgbgpFRsAAAAASUVORK5CYII=", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"make_quantile_plot(results)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3 (ipykernel)", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.9.19" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment