From 6c9c6c7c479d4406052ef0efa2c7d0e9565f7f6f Mon Sep 17 00:00:00 2001 From: adavaria Date: Wed, 13 Dec 2023 19:28:23 -0600 Subject: [PATCH 1/8] data collection --- adavaria/ML-Band-Gaps.md | 31 ++++ .../README.md | 0 adavaria/data.ipynb | 172 ++++++++++++++++++ adavaria/mlband/data.py | 0 4 files changed, 203 insertions(+) create mode 100644 adavaria/ML-Band-Gaps.md rename {example-github-username => adavaria}/README.md (100%) create mode 100644 adavaria/data.ipynb create mode 100644 adavaria/mlband/data.py diff --git a/adavaria/ML-Band-Gaps.md b/adavaria/ML-Band-Gaps.md new file mode 100644 index 00000000..2ccb5adc --- /dev/null +++ b/adavaria/ML-Band-Gaps.md @@ -0,0 +1,31 @@ +# ML Band Gaps (Materials) + +> Ideal candidate: skilled ML data scientist with solid knowledge of materials science. + +# Overview + +The aim of this task is to create a python package that implements automatic prediction of electronic band gaps for a set of materials based on training data. + +# User story + +As a user of this software I can predict the value of an electronic band gap after passing training data and structural information about the target material. + +# Requirements + +- suggest the bandgap values for a set of materials designated by their crystallographic and stoichiometric properties +- the code shall be written in a way that can facilitate easy addition of other characteristics extracted from simulations (forces, pressures, phonon frequencies etc) + +# Expectations + +- the code shall be able to suggest realistic values for slightly modified geometry sets - eg. trained on Si and Ge it should suggest the value of bandgap for Si49Ge51 to be between those of Si and Ge +- modular and object-oriented implementation +- commit early and often - at least once per 24 hours + +# Timeline + +We leave exact timing to the candidate. Must fit Within 5 days total. + +# Notes + +- use a designated github repository for version control +- suggested source of training data: materialsproject.org diff --git a/example-github-username/README.md b/adavaria/README.md similarity index 100% rename from example-github-username/README.md rename to adavaria/README.md diff --git a/adavaria/data.ipynb b/adavaria/data.ipynb new file mode 100644 index 00000000..eb089512 --- /dev/null +++ b/adavaria/data.ipynb @@ -0,0 +1,172 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "import jarvis\n", + "import mp_api\n", + "import jarvis.db.figshare as fs\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['dft_2d',\n", + " 'dft_3d',\n", + " 'dft_2d_2021',\n", + " 'dft_3d_2021',\n", + " 'cfid_3d',\n", + " 'jff',\n", + " 'alignn_ff_db',\n", + " 'mp_3d_2020',\n", + " 'megnet',\n", + " 'megnet2',\n", + " 'edos_pdos',\n", + " 'mp_3d',\n", + " 'oqmd_3d',\n", + " 'oqmd_3d_no_cfid',\n", + " 'twod_matpd',\n", + " 'polymer_genome',\n", + " 'qm9_std_jctc',\n", + " 'qm9_dgl',\n", + " 'cod',\n", + " 'qm9',\n", + " 'qe_tb',\n", + " 'omdb',\n", + " 'qmof',\n", + " 'hmof',\n", + " 'c2db',\n", + " 'hopv',\n", + " 'pdbbind_core',\n", + " 'pdbbind',\n", + " 'snumat',\n", + " 'aflow2',\n", + " 'arXiv',\n", + " 'cord19',\n", + " 'ssub',\n", + " 'mlearn',\n", + " 'foundry_ml_exp_bandgaps',\n", + " 'ocp10k',\n", + " 'arxiv_summary',\n", + " 'supercon_chem',\n", + " 'mag2d_chem',\n", + " 'vacancydb',\n", + " 'ocp100k',\n", + " 'ocp_all',\n", + " 'tinnet_N',\n", + " 'tinnet_O',\n", + " 'tinnet_OH',\n", + " 'AGRA_O',\n", + " 'AGRA_OH',\n", + " 'AGRA_CO',\n", + " 'AGRA_CHO',\n", + " 'AGRA_COOH',\n", + " 'supercon_3d',\n", + " 'supercon_2d',\n", + " 'raw_files']" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(fs.get_db_info().keys())" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Obtaining Materials Project-3D CFID dataset 127k...\n", + "Reference:https://doi.org/10.1063/1.4812323\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 1%| | 7.75M/1.06G [02:25<8:32:45, 34.1kiB/s] " + ] + } + ], + "source": [ + "data = fs.data('mp_3d_2020')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "'type' object is not subscriptable", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[2], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmp_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mclient\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MPRester\n\u001b[1;32m 2\u001b[0m api_key \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpJmFwIk6qWCnMwEuGvzwLBT1qfdPpElH\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 3\u001b[0m mpr \u001b[38;5;241m=\u001b[39m MPRester(api_key)\n", + "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/mp_api/client/__init__.py:7\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mimportlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmetadata\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m PackageNotFoundError, version\n\u001b[0;32m----> 7\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MPRestError\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmprester\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MPRester\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n", + "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/mp_api/client/core/__init__.py:3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m__future__\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m annotations\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mclient\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m BaseRester, MPRestError\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msettings\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MAPIClientSettings\n", + "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/mp_api/client/core/client.py:22\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01murllib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mparse\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m quote, urljoin\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mrequests\u001b[39;00m\n\u001b[0;32m---> 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01memmet\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m jsanitize\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmonty\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mjson\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MontyDecoder\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpydantic\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m BaseModel, create_model\n", + "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/emmet/core/utils.py:24\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpymatgen\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mstructure\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Molecule, Structure\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpymatgen\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgraph_hashing\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m weisfeiler_lehman_graph_hash\n\u001b[0;32m---> 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01memmet\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmpid\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MPculeID\n\u001b[1;32m 25\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01memmet\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msettings\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m EmmetSettings\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n", + "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/emmet/core/mpid.py:16\u001b[0m\n\u001b[1;32m 10\u001b[0m mpid_regex \u001b[38;5;241m=\u001b[39m re\u001b[38;5;241m.\u001b[39mcompile(\u001b[38;5;124mr\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m^([A-Za-z]*-)?(\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124md+)(-[A-Za-z0-9]+)*$\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 11\u001b[0m mpculeid_regex \u001b[38;5;241m=\u001b[39m re\u001b[38;5;241m.\u001b[39mcompile(\n\u001b[1;32m 12\u001b[0m \u001b[38;5;124mr\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m^([A-Za-z]+-)?([A-Fa-f0-9]+)-([A-Za-z0-9]+)-(m?[0-9]+)-([0-9]+)$\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 13\u001b[0m )\n\u001b[0;32m---> 16\u001b[0m \u001b[38;5;28;01mclass\u001b[39;00m \u001b[38;5;21;01mMPID\u001b[39;00m(\u001b[38;5;28mstr\u001b[39m):\n\u001b[1;32m 17\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;124;03m A Materials Project type ID with a prefix and an integer\u001b[39;00m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;124;03m This class enables seemlessly mixing MPIDs and regular integer IDs\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[38;5;124;03m Numbers stored as strings are coerced to ints\u001b[39;00m\n\u001b[1;32m 30\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, val: Union[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMPID\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mint\u001b[39m, \u001b[38;5;28mstr\u001b[39m]):\n", + "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/emmet/core/mpid.py:89\u001b[0m, in \u001b[0;36mMPID\u001b[0;34m()\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__hash__\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 85\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mhash\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstring)\n\u001b[1;32m 87\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 88\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__get_pydantic_core_schema__\u001b[39m(\n\u001b[0;32m---> 89\u001b[0m \u001b[38;5;28mcls\u001b[39m, source: \u001b[38;5;28;43mtype\u001b[39;49m\u001b[43m[\u001b[49m\u001b[43mAny\u001b[49m\u001b[43m]\u001b[49m, handler: Callable[[Any], core_schema\u001b[38;5;241m.\u001b[39mCoreSchema]\n\u001b[1;32m 90\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m core_schema\u001b[38;5;241m.\u001b[39mCoreSchema:\n\u001b[1;32m 91\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m core_schema\u001b[38;5;241m.\u001b[39mwith_info_plain_validator_function(\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mvalidate)\n\u001b[1;32m 93\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__get_pydantic_json_schema__\u001b[39m(\n\u001b[1;32m 95\u001b[0m \u001b[38;5;28mcls\u001b[39m, core_schema: CoreSchema, handler: GetJsonSchemaHandler\n\u001b[1;32m 96\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m JsonSchemaValue:\n", + "\u001b[0;31mTypeError\u001b[0m: 'type' object is not subscriptable" + ] + } + ], + "source": [ + "\n", + "from mp_api.client import MPRester\n", + "api_key = 'pJmFwIk6qWCnMwEuGvzwLBT1qfdPpElH'\n", + "mpr = MPRester(api_key)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "py38", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.18" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/adavaria/mlband/data.py b/adavaria/mlband/data.py new file mode 100644 index 00000000..e69de29b From 6018c817af2937cb4f3b0c2a76b9f4742015a532 Mon Sep 17 00:00:00 2001 From: adavaria Date: Fri, 15 Dec 2023 00:19:40 -0600 Subject: [PATCH 2/8] Updates Data collection completed Making the model and preparing for training --- .gitignore | 2 + adavaria/data.ipynb | 819 ++++++++++++++++++++++++++---- adavaria/mlband/args.py | 70 +++ adavaria/mlband/data.py | 52 ++ adavaria/mlband/imports.py | 9 + adavaria/mlband/model.py | 24 + adavaria/mlband/mp.py | 22 + adavaria/mlband/plot_formatter.py | 62 +++ adavaria/mlband/training.py | 0 adavaria/training.ipynb | 195 +++++++ packages.txt | 259 ++++++++++ 11 files changed, 1427 insertions(+), 87 deletions(-) create mode 100644 adavaria/mlband/args.py create mode 100644 adavaria/mlband/imports.py create mode 100644 adavaria/mlband/model.py create mode 100644 adavaria/mlband/mp.py create mode 100644 adavaria/mlband/plot_formatter.py create mode 100644 adavaria/mlband/training.py create mode 100644 adavaria/training.ipynb create mode 100644 packages.txt diff --git a/.gitignore b/.gitignore index 2d4daa40..f193a60b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .idea* +adavaria/mlband/__pycache__* +adavaria/data* diff --git a/adavaria/data.ipynb b/adavaria/data.ipynb index eb089512..d9eb98a2 100644 --- a/adavaria/data.ipynb +++ b/adavaria/data.ipynb @@ -2,149 +2,794 @@ "cells": [ { "cell_type": "code", - "execution_count": 7, + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], + "source": [ + "import mlband.mp as MP\n", + "from mlband.imports import *\n", + "from mlband import plot_formatter\n", + "import mlband.data" + ] + }, + { + "cell_type": "code", + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ - "import jarvis\n", - "import mp_api\n", - "import jarvis.db.figshare as fs\n" + "from mp_api.client import MPRester" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['dft_2d',\n", - " 'dft_3d',\n", - " 'dft_2d_2021',\n", - " 'dft_3d_2021',\n", - " 'cfid_3d',\n", - " 'jff',\n", - " 'alignn_ff_db',\n", - " 'mp_3d_2020',\n", - " 'megnet',\n", - " 'megnet2',\n", - " 'edos_pdos',\n", - " 'mp_3d',\n", - " 'oqmd_3d',\n", - " 'oqmd_3d_no_cfid',\n", - " 'twod_matpd',\n", - " 'polymer_genome',\n", - " 'qm9_std_jctc',\n", - " 'qm9_dgl',\n", - " 'cod',\n", - " 'qm9',\n", - " 'qe_tb',\n", - " 'omdb',\n", - " 'qmof',\n", - " 'hmof',\n", - " 'c2db',\n", - " 'hopv',\n", - " 'pdbbind_core',\n", - " 'pdbbind',\n", - " 'snumat',\n", - " 'aflow2',\n", - " 'arXiv',\n", - " 'cord19',\n", - " 'ssub',\n", - " 'mlearn',\n", - " 'foundry_ml_exp_bandgaps',\n", - " 'ocp10k',\n", - " 'arxiv_summary',\n", - " 'supercon_chem',\n", - " 'mag2d_chem',\n", - " 'vacancydb',\n", - " 'ocp100k',\n", - " 'ocp_all',\n", - " 'tinnet_N',\n", - " 'tinnet_O',\n", - " 'tinnet_OH',\n", - " 'AGRA_O',\n", - " 'AGRA_OH',\n", - " 'AGRA_CO',\n", - " 'AGRA_CHO',\n", - " 'AGRA_COOH',\n", - " 'supercon_3d',\n", - " 'supercon_2d',\n", - " 'raw_files']" + "" ] }, - "execution_count": 9, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "list(fs.get_db_info().keys())" + "importlib.reload(MP)\n", + "importlib.reload(mlband.data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Getting the list of materials" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 49, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Retrieving SummaryDoc documents: 100%|██████████| 1000/1000 [00:00<00:00, 32263876.92it/s]" + ] + }, { "name": "stdout", "output_type": "stream", "text": [ - "Obtaining Materials Project-3D CFID dataset 127k...\n", - "Reference:https://doi.org/10.1063/1.4812323\n" + "Number of missing values: 0\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - " 1%| | 7.75M/1.06G [02:25<8:32:45, 34.1kiB/s] " + "\n" ] } ], "source": [ - "data = fs.data('mp_3d_2020')" + "df, data = mlband.data.get_list_of_materials()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
material_idband_gap
0mp-7572205.3849
1mp-5733693.7419
2mp-289670.7792
3mp-5592952.6721
4mp-12931790.0000
.........
995mp-10266450.0000
996mp-10174570.0000
997mp-5571764.5127
998mp-9782620.0000
999mp-12050442.0209
\n", + "

1000 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " material_id band_gap\n", + "0 mp-757220 5.3849\n", + "1 mp-573369 3.7419\n", + "2 mp-28967 0.7792\n", + "3 mp-559295 2.6721\n", + "4 mp-1293179 0.0000\n", + ".. ... ...\n", + "995 mp-1026645 0.0000\n", + "996 mp-1017457 0.0000\n", + "997 mp-557176 4.5127\n", + "998 mp-978262 0.0000\n", + "999 mp-1205044 2.0209\n", + "\n", + "[1000 rows x 2 columns]" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "data" + "df" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 51, "metadata": {}, "outputs": [ { - "ename": "TypeError", - "evalue": "'type' object is not subscriptable", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[2], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmp_api\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mclient\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MPRester\n\u001b[1;32m 2\u001b[0m api_key \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpJmFwIk6qWCnMwEuGvzwLBT1qfdPpElH\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 3\u001b[0m mpr \u001b[38;5;241m=\u001b[39m MPRester(api_key)\n", - "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/mp_api/client/__init__.py:7\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mos\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mimportlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmetadata\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m PackageNotFoundError, version\n\u001b[0;32m----> 7\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MPRestError\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmprester\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MPRester\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n", - "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/mp_api/client/core/__init__.py:3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m__future__\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m annotations\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mclient\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m BaseRester, MPRestError\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msettings\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MAPIClientSettings\n", - "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/mp_api/client/core/client.py:22\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01murllib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mparse\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m quote, urljoin\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mrequests\u001b[39;00m\n\u001b[0;32m---> 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01memmet\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m jsanitize\n\u001b[1;32m 23\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mmonty\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mjson\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MontyDecoder\n\u001b[1;32m 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpydantic\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m BaseModel, create_model\n", - "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/emmet/core/utils.py:24\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpymatgen\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mstructure\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Molecule, Structure\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpymatgen\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutil\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgraph_hashing\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m weisfeiler_lehman_graph_hash\n\u001b[0;32m---> 24\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01memmet\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmpid\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m MPculeID\n\u001b[1;32m 25\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01memmet\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msettings\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m EmmetSettings\n\u001b[1;32m 27\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n", - "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/emmet/core/mpid.py:16\u001b[0m\n\u001b[1;32m 10\u001b[0m mpid_regex \u001b[38;5;241m=\u001b[39m re\u001b[38;5;241m.\u001b[39mcompile(\u001b[38;5;124mr\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m^([A-Za-z]*-)?(\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124md+)(-[A-Za-z0-9]+)*$\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 11\u001b[0m mpculeid_regex \u001b[38;5;241m=\u001b[39m re\u001b[38;5;241m.\u001b[39mcompile(\n\u001b[1;32m 12\u001b[0m \u001b[38;5;124mr\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m^([A-Za-z]+-)?([A-Fa-f0-9]+)-([A-Za-z0-9]+)-(m?[0-9]+)-([0-9]+)$\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 13\u001b[0m )\n\u001b[0;32m---> 16\u001b[0m \u001b[38;5;28;01mclass\u001b[39;00m \u001b[38;5;21;01mMPID\u001b[39;00m(\u001b[38;5;28mstr\u001b[39m):\n\u001b[1;32m 17\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 18\u001b[0m \u001b[38;5;124;03m A Materials Project type ID with a prefix and an integer\u001b[39;00m\n\u001b[1;32m 19\u001b[0m \u001b[38;5;124;03m This class enables seemlessly mixing MPIDs and regular integer IDs\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[38;5;124;03m Numbers stored as strings are coerced to ints\u001b[39;00m\n\u001b[1;32m 30\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m 32\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, val: Union[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMPID\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mint\u001b[39m, \u001b[38;5;28mstr\u001b[39m]):\n", - "File \u001b[0;32m~/mambaforge/envs/py38/lib/python3.8/site-packages/emmet/core/mpid.py:89\u001b[0m, in \u001b[0;36mMPID\u001b[0;34m()\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__hash__\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 85\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mhash\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstring)\n\u001b[1;32m 87\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 88\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__get_pydantic_core_schema__\u001b[39m(\n\u001b[0;32m---> 89\u001b[0m \u001b[38;5;28mcls\u001b[39m, source: \u001b[38;5;28;43mtype\u001b[39;49m\u001b[43m[\u001b[49m\u001b[43mAny\u001b[49m\u001b[43m]\u001b[49m, handler: Callable[[Any], core_schema\u001b[38;5;241m.\u001b[39mCoreSchema]\n\u001b[1;32m 90\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m core_schema\u001b[38;5;241m.\u001b[39mCoreSchema:\n\u001b[1;32m 91\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m core_schema\u001b[38;5;241m.\u001b[39mwith_info_plain_validator_function(\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mvalidate)\n\u001b[1;32m 93\u001b[0m \u001b[38;5;129m@classmethod\u001b[39m\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__get_pydantic_json_schema__\u001b[39m(\n\u001b[1;32m 95\u001b[0m \u001b[38;5;28mcls\u001b[39m, core_schema: CoreSchema, handler: GetJsonSchemaHandler\n\u001b[1;32m 96\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m JsonSchemaValue:\n", - "\u001b[0;31mTypeError\u001b[0m: 'type' object is not subscriptable" + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = df['band_gap'].hist()\n", + "ax.set_xlabel('Band gap (eV)')\n", + "ax.set_ylabel('Count')\n", + "ax.set_title('Band gap distribution in MP')\n", + "pass" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Retrieving SummaryDoc documents: 100%|██████████| 1000/1000 [00:00<00:00, 35848752.14it/s]\n" ] } ], "source": [ + "data = MP.mpr.materials.summary.search(\n", + " # chemsys=\"Si-O\", \n", + " fields=['material_id', 'composition', 'band_gap', 'structure'],\n", + " chunk_size=1000,\n", + " num_chunks=1,\n", + ")\n", "\n", - "from mp_api.client import MPRester\n", - "api_key = 'pJmFwIk6qWCnMwEuGvzwLBT1qfdPpElH'\n", - "mpr = MPRester(api_key)" + "df = MP.mp_summary_to_df(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of missing values: 0\n" + ] + } + ], + "source": [ + "# Checking the missing values\n", + "ind = ~(df['band_gap'] >= 0)\n", + "print('Number of missing values: ', ind.sum())\n", + "# Drop the missing values\n", + "df = df.loc[~ind, :]\n", + "# Reset the index\n", + "df.reset_index(drop=True, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "df.to_pickle('data/mp.pkl')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
builder_metansiteselementsnelementscompositioncomposition_reducedformula_prettyformula_anonymouschemsysvolume...weighted_surface_energy_EV_PER_ANG2weighted_surface_energyweighted_work_functionsurface_anisotropyshape_factorhas_reconstructedpossible_specieshas_propstheoreticaldatabase_IDs
0NoneNoneNoneNone{'Lu': 2.0, 'H': 12.0, 'Cl': 6.0, 'O': 30.0}NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
1NoneNoneNoneNone{'Cs': 12.0, 'Nd': 4.0, 'Mo': 12.0, 'O': 48.0}NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
2NoneNoneNoneNone{'Ba': 2.0, 'Pd': 4.0, 'S': 8.0}NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
3NoneNoneNoneNone{'Fe': 8.0, 'P': 8.0, 'O': 32.0}NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
4NoneNoneNoneNone{'Li': 8.0, 'Co': 6.0, 'Ni': 2.0, 'O': 16.0}NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
..................................................................
9995NoneNoneNoneNone{'K': 4.0, 'U': 5.0, 'Te': 2.0, 'O': 21.0}NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
9996NoneNoneNoneNone{'Mg': 1.0, 'V': 4.0, 'Cu': 3.0, 'O': 12.0}NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
9997NoneNoneNoneNone{'Li': 8.0, 'Fe': 10.0, 'Ni': 4.0, 'O': 24.0}NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
9998NoneNoneNoneNone{'Sr': 2.0, 'Li': 1.0, 'Cu': 1.0, 'Br': 1.0, '...NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
9999NoneNoneNoneNone{'Ir': 8.0, 'S': 12.0}NoneNoneNoneNoneNone...NoneNoneNoneNoneNoneNoneNoneNoneNoneNone
\n", + "

10000 rows × 69 columns

\n", + "
" + ], + "text/plain": [ + " builder_meta nsites elements nelements \\\n", + "0 None None None None \n", + "1 None None None None \n", + "2 None None None None \n", + "3 None None None None \n", + "4 None None None None \n", + "... ... ... ... ... \n", + "9995 None None None None \n", + "9996 None None None None \n", + "9997 None None None None \n", + "9998 None None None None \n", + "9999 None None None None \n", + "\n", + " composition composition_reduced \\\n", + "0 {'Lu': 2.0, 'H': 12.0, 'Cl': 6.0, 'O': 30.0} None \n", + "1 {'Cs': 12.0, 'Nd': 4.0, 'Mo': 12.0, 'O': 48.0} None \n", + "2 {'Ba': 2.0, 'Pd': 4.0, 'S': 8.0} None \n", + "3 {'Fe': 8.0, 'P': 8.0, 'O': 32.0} None \n", + "4 {'Li': 8.0, 'Co': 6.0, 'Ni': 2.0, 'O': 16.0} None \n", + "... ... ... \n", + "9995 {'K': 4.0, 'U': 5.0, 'Te': 2.0, 'O': 21.0} None \n", + "9996 {'Mg': 1.0, 'V': 4.0, 'Cu': 3.0, 'O': 12.0} None \n", + "9997 {'Li': 8.0, 'Fe': 10.0, 'Ni': 4.0, 'O': 24.0} None \n", + "9998 {'Sr': 2.0, 'Li': 1.0, 'Cu': 1.0, 'Br': 1.0, '... None \n", + "9999 {'Ir': 8.0, 'S': 12.0} None \n", + "\n", + " formula_pretty formula_anonymous chemsys volume ... \\\n", + "0 None None None None ... \n", + "1 None None None None ... \n", + "2 None None None None ... \n", + "3 None None None None ... \n", + "4 None None None None ... \n", + "... ... ... ... ... ... \n", + "9995 None None None None ... \n", + "9996 None None None None ... \n", + "9997 None None None None ... \n", + "9998 None None None None ... \n", + "9999 None None None None ... \n", + "\n", + " weighted_surface_energy_EV_PER_ANG2 weighted_surface_energy \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "... ... ... \n", + "9995 None None \n", + "9996 None None \n", + "9997 None None \n", + "9998 None None \n", + "9999 None None \n", + "\n", + " weighted_work_function surface_anisotropy shape_factor has_reconstructed \\\n", + "0 None None None None \n", + "1 None None None None \n", + "2 None None None None \n", + "3 None None None None \n", + "4 None None None None \n", + "... ... ... ... ... \n", + "9995 None None None None \n", + "9996 None None None None \n", + "9997 None None None None \n", + "9998 None None None None \n", + "9999 None None None None \n", + "\n", + " possible_species has_props theoretical database_IDs \n", + "0 None None None None \n", + "1 None None None None \n", + "2 None None None None \n", + "3 None None None None \n", + "4 None None None None \n", + "... ... ... ... ... \n", + "9995 None None None None \n", + "9996 None None None None \n", + "9997 None None None None \n", + "9998 None None None None \n", + "9999 None None None None \n", + "\n", + "[10000 rows x 69 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [], + "source": [ + "from mlband.cgcnn.cgcnn.data import AtomCustomJSONInitializer, CIFData" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "j = AtomCustomJSONInitializer(elem_embedding_file='mlband/cgcnn/data/sample-regression/atom_init.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_pickle('data/mp.pkl')" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['atom_types', '_embedding'])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "j.__dict__.keys()\n", + "# j.atom_types\n", + "# j._embedding" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "dataset = CIFData('mlband/cgcnn/data/sample-regression')" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [], + "source": [ + "mlband.data.create_dataset(df=df, path='data/mp')" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [], + "source": [ + "dataset = CIFData('data/mp')" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['root_dir', 'max_num_nbr', 'radius', 'id_prop_data', 'ari', 'gdf'])" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.__dict__.keys()" ] } ], @@ -164,7 +809,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.18" + "version": "3.11.6" } }, "nbformat": 4, diff --git a/adavaria/mlband/args.py b/adavaria/mlband/args.py new file mode 100644 index 00000000..9aa0ae59 --- /dev/null +++ b/adavaria/mlband/args.py @@ -0,0 +1,70 @@ +import torch + +class Config: + def __init__(self, data_options=None, task='regression', disable_cuda=False, workers=0, + epochs=30, start_epoch=0, batch_size=64, learning_rate=0.01, + lr_milestones=[100], momentum=0.9, weight_decay=0, print_freq=10, + resume='', train_ratio=None, train_size=None, val_ratio=0.1, + val_size=None, test_ratio=0.1, test_size=None, optim='SGD', + atom_fea_len=64, h_fea_len=128, n_conv=3, n_h=1, orig_atom_fea_len=92, + nbr_fea_len=76): + """ + data_options: list of paths to data + task: 'regression' or 'classification' + disable_cuda: bool (disable cuda) + workers: int (number of workers for data loader) + epochs: int (number of epochs to train) + start_epoch: int (epoch to start training. useful on resume) + batch_size: int (batch size for training and prediction) + learning_rate: float (initial learning rate) + lr_milestones: list of int (epochs to decrease learning rate) + momentum: float (SGD momentum) + weight_decay: float (weight decay) + print_freq: int (frequency of printing training status) + resume: str (path to checkpoint) + train_ratio: float (ratio of training set) + train_size: int (size of training set) + val_ratio: float (ratio of validation set) + val_size: int (size of validation set) + test_ratio: float (ratio of test set) + test_size: int (size of test set) + optim: str (optimizer) + atom_fea_len: int (length of atom feature vector) + h_fea_len: int (length of hidden vector) + n_conv: int (number of convolutional layers) + n_h: int (number of hidden layers) + orig_atom_fea_len: int (length of original atom feature vector) + nbr_fea_len: int (length of neighbor feature vector) + """ + self.data_options = data_options if data_options is not None else [] + self.task = task + self.disable_cuda = disable_cuda + self.workers = workers + self.epochs = epochs + self.start_epoch = start_epoch + self.batch_size = batch_size + self.learning_rate = learning_rate + self.lr_milestones = lr_milestones + self.momentum = momentum + self.weight_decay = weight_decay + self.print_freq = print_freq + self.resume = resume + self.train_ratio = train_ratio if train_ratio is not None else 1 - val_ratio - test_ratio + self.train_size = train_size + self.val_ratio = val_ratio + self.val_size = val_size + self.test_ratio = test_ratio + self.test_size = test_size + self.optim = optim + self.atom_fea_len = atom_fea_len + self.h_fea_len = h_fea_len + self.n_conv = n_conv + self.n_h = n_h + self.orig_atom_fea_len = orig_atom_fea_len + self.nbr_fea_len = nbr_fea_len + + self.cuda = not self.disable_cuda and torch.cuda.is_available() + + +args = Config() + diff --git a/adavaria/mlband/data.py b/adavaria/mlband/data.py index e69de29b..a2cb741e 100644 --- a/adavaria/mlband/data.py +++ b/adavaria/mlband/data.py @@ -0,0 +1,52 @@ +import mlband.mp as MP +from .cgcnn.cgcnn.data import CIFData, DataLoader, collate_pool, get_train_val_test_loader +from pathlib import Path +import pandas as pd + + +elem_embedding_file='mlband/cgcnn/data/sample-regression/atom_init.json' + +def get_list_of_materials(filter=True, num_chunks=1): + fields=['material_id', 'composition', 'band_gap', 'structure'] + data = MP.mpr.materials.summary.search( + # chemsys="Si-O", + fields=fields, + chunk_size=1000, + num_chunks=num_chunks, + ) + + df = pd.DataFrame({ + 'material_id': [doc.material_id.__str__() for doc in data], + 'band_gap': [doc.band_gap for doc in data], + 'structure': [doc.structure for doc in data], + }) + # df = df[fields] + + if filter: + # Checking the missing values + ind = ~(df['band_gap'] >= 0) + print('Number of missing values: ', ind.sum()) + # Drop the missing values + df = df.loc[~ind, :] + # Reset the index + df.reset_index(drop=True, inplace=True) + + return df, data + +def create_dataset(df, path='data/cif_files'): + path = Path(path) + path.mkdir(parents=True, exist_ok=True) + for _, row in df.iterrows(): + structure = row['structure'] + material_id = row['material_id'] + # composition = row['composition'] + # band_gap = row['band_gap'] + filename = path / f'{material_id}.cif' + writer = MP.CifWriter(structure) + writer.write_file(filename) + # print(f'Crystal structure {i+1} of {len(df)} written to {filename}.') + + df[['material_id', 'band_gap']].to_csv(path / 'id_prop.csv', index=False) + import shutil + shutil.copy(elem_embedding_file, path / 'atom_init.json') + diff --git a/adavaria/mlband/imports.py b/adavaria/mlband/imports.py new file mode 100644 index 00000000..4eab1da5 --- /dev/null +++ b/adavaria/mlband/imports.py @@ -0,0 +1,9 @@ +import pandas as pd +import warnings +import numpy as np +from . import plot_formatter +import importlib +from pathlib import Path +import random + +pd.options.plotting.backend = 'matplotlib' diff --git a/adavaria/mlband/model.py b/adavaria/mlband/model.py new file mode 100644 index 00000000..18e915f5 --- /dev/null +++ b/adavaria/mlband/model.py @@ -0,0 +1,24 @@ +from .cgcnn.cgcnn.model import CrystalGraphConvNet +import torch + + +class Normalizer(object): + """Normalize a Tensor and restore it later. """ + def __init__(self, tensor): + """tensor is taken as a sample to calculate the mean and std""" + self.mean = torch.mean(tensor) + self.std = torch.std(tensor) + + def norm(self, tensor): + return (tensor - self.mean) / self.std + + def denorm(self, normed_tensor): + return normed_tensor * self.std + self.mean + + def state_dict(self): + return {'mean': self.mean, + 'std': self.std} + + def load_state_dict(self, state_dict): + self.mean = state_dict['mean'] + self.std = state_dict['std'] \ No newline at end of file diff --git a/adavaria/mlband/mp.py b/adavaria/mlband/mp.py new file mode 100644 index 00000000..37b90602 --- /dev/null +++ b/adavaria/mlband/mp.py @@ -0,0 +1,22 @@ +import pandas as pd +import warnings +from pymatgen.io.cif import CifWriter + + +def get_mp_api_connector(): + from mp_api.client import MPRester + api_key = 'pJmFwIk6qWCnMwEuGvzwLBT1qfdPpElH' + return MPRester(api_key) + +mpr = None +try: + mpr = get_mp_api_connector() +except: + warnings.warn('Could not connect to MP API.') + pass + +def mp_summary_to_df(data, drop_fields_not_requested=True): + df = pd.DataFrame([doc.dict() for doc in data]) + if drop_fields_not_requested: + df.drop(columns=['fields_not_requested'], inplace=True) + return df \ No newline at end of file diff --git a/adavaria/mlband/plot_formatter.py b/adavaria/mlband/plot_formatter.py new file mode 100644 index 00000000..f2973f5c --- /dev/null +++ b/adavaria/mlband/plot_formatter.py @@ -0,0 +1,62 @@ +# plot_formatting.py +import matplotlib.pyplot as plt +import matplotlib +# import seaborn as sns +import pandas as pd + + +# Defining all the parameters for the plots +font_size = 9 +golden_ratio = (5 ** .5 - 1) / 2 +mm_to_inch = 0.0393701 +one_column = 90 * mm_to_inch +two_column = 190 * mm_to_inch + +figsize = { + 'one_column': (one_column, one_column * golden_ratio), + 'two_column': (two_column, two_column * golden_ratio), + 'one_column_square': (one_column, one_column), + 'two_column_square': (two_column, two_column), + 'one_column_wide': (one_column, one_column * golden_ratio * 2), + 'two_column_wide': (two_column, two_column * golden_ratio * 2), +} +figsize['default'] = figsize['one_column'] + +# Assigning the parameters to the matplotlib and seaborn +params = { + "legend.fontsize": font_size, + "xtick.labelsize": font_size, + "ytick.labelsize": font_size, + 'font.size': font_size, + 'axes.labelsize': font_size, + 'axes.titlesize': font_size + 1, + 'grid.color': 'silver', + 'grid.linestyle': '--', + 'grid.linewidth': 1, + 'grid.alpha': 0.45, + 'axes.grid': False, + 'xtick.bottom': True, + 'ytick.left': True, +} +matplotlib.rcParams.update(params) + +plt.rcParams['xtick.bottom'] = True # Show x-axis ticks at the bottom +plt.rcParams['ytick.left'] = True # Show y-axis ticks on the left + +matplotlib.rc('font', family='sans-serif') +matplotlib.rc('font', serif='Helvetica') +matplotlib.rc('text', usetex='false') +matplotlib.rcParams['svg.fonttype'] = 'none' +matplotlib.rcParams['pdf.fonttype'] = 42 +matplotlib.rcParams['ps.fonttype'] = 42 +matplotlib.rcParams['lines.linewidth'] = 2 +matplotlib.rcParams['axes.titlesize'] = font_size + 1 + +# # Update the parameters for tick labels format to be comma separated +# plt.rcParams['axes.formatter.use_locale'] = True +# plt.rcParams['axes.formatter.use_mathtext'] = True + +plt.rcParams['figure.figsize'] = figsize['default'] +plt.rcParams['figure.dpi'] = 100 +plt.rcParams['savefig.dpi'] = 600 +plt.rcParams['savefig.bbox'] = 'tight' diff --git a/adavaria/mlband/training.py b/adavaria/mlband/training.py new file mode 100644 index 00000000..e69de29b diff --git a/adavaria/training.ipynb b/adavaria/training.ipynb new file mode 100644 index 00000000..7df35527 --- /dev/null +++ b/adavaria/training.ipynb @@ -0,0 +1,195 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from mlband.imports import *\n", + "from mlband.data import *\n", + "from mlband.model import *\n", + "from mlband.args import *\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "cifpath = Path('data/mp/')\n", + "dataset = CIFData(cifpath, radius=15)\n", + "train_loader, val_loader, test_loader = get_train_val_test_loader(\n", + " dataset=dataset,\n", + " collate_fn=collate_pool,\n", + " batch_size=args.batch_size,\n", + " train_ratio=args.train_ratio,\n", + " num_workers=args.workers,\n", + " val_ratio=args.val_ratio,\n", + " test_ratio=args.test_ratio,\n", + " pin_memory=args.cuda,\n", + " train_size=args.train_size,\n", + " val_size=args.val_size,\n", + " test_size=args.test_size,\n", + " return_test=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 20 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 28 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 4 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 12 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 8 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 1 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 2 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 24 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 18 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 7 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 6 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 3 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n" + ] + } + ], + "source": [ + "sample_data_list = [dataset[i] for i in\n", + " random.sample(range(len(dataset)), min(500, len(dataset)))]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from mlband.model import Normalizer" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "_, sample_target, _ = collate_pool(sample_data_list)\n", + "normalizer = Normalizer(sample_target)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(92, 76)" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "orig_atom_fea_len, nbr_fea_len" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "structures, _, _ = dataset[0]\n", + "orig_atom_fea_len = structures[0].shape[-1]\n", + "nbr_fea_len = structures[1].shape[-1]\n", + "model = CrystalGraphConvNet(orig_atom_fea_len, nbr_fea_len,\n", + " atom_fea_len=args.atom_fea_len,\n", + " n_conv=args.n_conv,\n", + " h_fea_len=args.h_fea_len,\n", + " n_h=args.n_h,\n", + " classification=True if args.task ==\n", + " 'classification' else False)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "CrystalGraphConvNet(\n", + " (embedding): Linear(in_features=92, out_features=64, bias=True)\n", + " (convs): ModuleList(\n", + " (0-2): 3 x ConvLayer(\n", + " (fc_full): Linear(in_features=204, out_features=128, bias=True)\n", + " (sigmoid): Sigmoid()\n", + " (softplus1): Softplus(beta=1, threshold=20)\n", + " (bn1): BatchNorm1d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (bn2): BatchNorm1d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (softplus2): Softplus(beta=1, threshold=20)\n", + " )\n", + " )\n", + " (conv_to_fc): Linear(in_features=64, out_features=128, bias=True)\n", + " (conv_to_fc_softplus): Softplus(beta=1, threshold=20)\n", + " (fc_out): Linear(in_features=128, out_features=1, bias=True)\n", + ")" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cgcnn", + "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.11.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/packages.txt b/packages.txt new file mode 100644 index 00000000..c33ad1db --- /dev/null +++ b/packages.txt @@ -0,0 +1,259 @@ +Package Version +--------------------------------- ----------- +absl-py 1.4.0 +aflow-ml 2.0 +anyio 3.6.2 +appnope 0.1.3 +argon2-cffi 21.3.0 +argon2-cffi-bindings 21.2.0 +arrow 1.2.3 +ase 3.22.1 +asttokens 2.2.1 +astunparse 1.6.3 +attrs 22.2.0 +autopep8 2.0.2 +Babel 2.12.1 +backcall 0.2.0 +backports.functools-lru-cache 1.6.4 +beautifulsoup4 4.12.2 +black 23.3.0 +bleach 6.0.0 +bokeh 3.1.0 +boltons 23.0.0 +bravado 11.0.3 +bravado-core 5.17.1 +brotlipy 0.7.0 +cached-property 1.5.2 +cachetools 5.3.0 +certifi 2023.7.22 +cffi 1.15.1 +charset-normalizer 3.1.0 +cif2cell 2.0.0a3 +click 8.1.3 +colorama 0.4.6 +comm 0.1.3 +contourpy 1.0.7 +cryptography 40.0.2 +cssselect 1.2.0 +cycler 0.11.0 +Cython 0.29.34 +debugpy 1.6.7 +decorator 5.1.1 +defusedxml 0.7.1 +dgl 1.1.2 +dnspython 2.3.0 +emmet-core 0.58.1 +entrypoints 0.4 +executing 1.2.0 +fastjsonschema 2.16.3 +filetype 1.2.0 +flatbuffers 23.3.3 +flatten-dict 0.4.2 +flit_core 3.8.0 +fonttools 4.39.3 +fqdn 1.5.1 +frozendict 2.3.8 +future 0.18.3 +gast 0.4.0 +ghp-import 2.1.0 +gmpy2 2.1.2 +google-auth 2.17.3 +google-auth-oauthlib 1.0.0 +google-pasta 0.2.0 +grpcio 1.46.3 +h5py 3.6.0 +idna 3.4 +importlib-metadata 6.5.0 +importlib-resources 5.12.0 +ipykernel 6.22.0 +ipynbname 2023.2.0.0 +ipython 8.12.0 +ipython-genutils 0.2.0 +ipywidgets 8.0.6 +isoduration 20.11.0 +isort 5.12.0 +itables 1.5.3 +jarvis-tools 2023.8.10 +jax 0.4.8 +jedi 0.18.2 +Jinja2 3.1.2 +joblib 1.2.0 +json2html 1.3.0 +json5 0.9.5 +jsonpointer 2.3 +jsonref 1.1.0 +jsonschema 4.17.3 +jupyter 1.0.0 +jupyter_client 8.2.0 +jupyter-console 6.6.3 +jupyter-contrib-core 0.4.0 +jupyter-contrib-nbextensions 0.7.0 +jupyter_core 5.3.0 +jupyter-events 0.6.3 +jupyter-highlight-selected-word 0.2.0 +jupyter-latex-envs 1.4.6 +jupyter-nbextensions-configurator 0.6.1 +jupyter_server 2.5.0 +jupyter_server_terminals 0.4.4 +jupyterlab 3.5.3 +jupyterlab-code-formatter 1.6.1 +jupyterlab-pygments 0.2.2 +jupyterlab_server 2.22.1 +jupyterlab-widgets 3.0.7 +kaleido 0.2.1 +keras 2.12.0 +kiwisolver 1.4.4 +latexcodec 2.0.1 +libclang 16.0.0 +llvmlite 0.40.0rc1 +lxml 4.9.2 +Markdown 3.4.3 +markdown2 2.4.10 +MarkupSafe 2.1.2 +matador-db 0.10.1 +matminer 0.9.0 +matplotlib 3.5.3 +matplotlib-inline 0.1.6 +mergedeep 1.3.4 +mistune 2.0.5 +mkdocs 1.5.2 +mkdocs-material 9.2.5 +mkdocs-material-extensions 1.1.1 +ml-dtypes 0.1.0 +monotonic 1.6 +monty 2023.4.10 +mp-api 0.33.3 +mpcontribs-client 5.1.1 +mpmath 1.3.0 +msgpack 1.0.5 +munkres 1.1.4 +mypy-extensions 1.0.0 +nb-conda 2.2.1 +nb-conda-kernels 2.3.1 +nbclassic 0.5.5 +nbclient 0.7.3 +nbconvert 7.3.1 +nbformat 5.8.0 +nest-asyncio 1.5.6 +networkx 3.1 +notebook 6.5.4 +notebook_shim 0.2.2 +numba 0.57.0rc1 +numpy 1.23.2 +oauthlib 3.2.2 +opt-einsum 3.3.0 +packaging 23.1 +paginate 0.5.6 +palettable 3.3.2 +pandas 1.5.3 +pandocfilters 1.5.0 +parso 0.8.3 +pathspec 0.11.1 +pexpect 4.8.0 +pickleshare 0.7.5 +Pillow 9.4.0 +Pint 0.19.2 +pip 23.2.1 +pkgutil_resolve_name 1.3.10 +platformdirs 3.2.0 +plotly 5.16.1 +ply 3.11 +pooch 1.7.0 +prometheus-client 0.16.0 +prompt-toolkit 3.0.38 +protobuf 3.19.6 +psutil 5.9.5 +ptyprocess 0.7.0 +pure-eval 0.2.2 +pyasn1 0.4.8 +pyasn1-modules 0.2.8 +pybtex 0.24.0 +PyCifRW 4.4.5 +pycodestyle 2.10.0 +pycparser 2.21 +pydantic 1.10.7 +Pygments 2.15.1 +pyIsEmail 2.0.1 +pymatgen 2023.6.28 +pymdown-extensions 10.2 +pymongo 3.13.0 +pyOpenSSL 23.1.1 +pyparsing 3.0.9 +PyQt5-sip 12.11.0 +pyquery 2.0.0 +pyrsistent 0.19.3 +PySocks 1.7.1 +python-dateutil 2.8.2 +python-json-logger 2.0.7 +python-ternary 1.0.8 +pytz 2023.3 +PyYAML 6.0 +pyyaml_env_tag 0.1 +pyzmq 25.0.2 +qtconsole 5.4.2 +QtPy 2.3.1 +readtime 3.0.0 +regex 2023.8.8 +requests 2.28.2 +requests-futures 1.0.0 +requests-oauthlib 1.3.1 +rfc3339-validator 0.1.4 +rfc3986-validator 0.1.1 +rfc3987 1.3.8 +rsa 4.9 +ruamel.yaml 0.17.21 +ruamel.yaml.clib 0.2.7 +scikit-learn 1.2.2 +scipy 1.10.1 +seaborn 0.12.2 +seekpath 2.0.1 +semantic-version 2.10.0 +Send2Trash 1.8.0 +setuptools 68.1.2 +simplejson 3.19.1 +sip 6.7.8 +six 1.16.0 +sniffio 1.3.0 +soupsieve 2.3.2.post1 +spglib 2.0.2 +stack-data 0.6.2 +swagger-spec-validator 3.0.3 +sympy 1.11.1 +tabulate 0.9.0 +tenacity 8.2.2 +tensorboard 2.12.2 +tensorboard-data-server 0.7.0 +tensorboard-plugin-wit 1.8.1 +tensorflow-estimator 2.12.0 +tensorflow-macos 2.12.0 +tensorflow-metal 0.8.0 +termcolor 2.2.0 +terminado 0.17.1 +testpath 0.6.0 +threadpoolctl 3.1.0 +tinycss2 1.2.1 +toml 0.10.2 +tomli 2.0.1 +toolz 0.12.0 +tornado 6.3 +tqdm 4.65.0 +traitlets 5.9.0 +typing_extensions 4.5.0 +tzdata 2023.3 +ujson 5.7.0 +uncertainties 3.1.7 +unicodedata2 15.0.0 +uri-template 1.2.0 +urllib3 1.26.15 +watchdog 3.0.0 +wcwidth 0.2.6 +webcolors 1.13 +webencodings 0.5.1 +websocket-client 1.5.1 +Werkzeug 2.2.3 +wheel 0.41.2 +widgetsnbextension 4.0.7 +wrapt 1.14.1 +xmltodict 0.13.0 +xyzservices 2023.2.0 +zipp 3.15.0 From 0aaf18856a12a45ece5ecad127ad30714e1f3c61 Mon Sep 17 00:00:00 2001 From: adavaria Date: Fri, 15 Dec 2023 22:39:11 -0600 Subject: [PATCH 3/8] Updates --- adavaria/data.ipynb | 139 ++-- adavaria/mlband/args.py | 6 +- adavaria/mlband/data.py | 2 +- adavaria/mlband/imports.py | 2 + adavaria/training.ipynb | 1370 ++++++++++++++++++++++++++++++++++-- 5 files changed, 1414 insertions(+), 105 deletions(-) diff --git a/adavaria/data.ipynb b/adavaria/data.ipynb index d9eb98a2..a812a836 100644 --- a/adavaria/data.ipynb +++ b/adavaria/data.ipynb @@ -2,18 +2,9 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 70, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", - " from .autonotebook import tqdm as notebook_tqdm\n" - ] - } - ], + "outputs": [], "source": [ "import mlband.mp as MP\n", "from mlband.imports import *\n", @@ -23,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 71, "metadata": {}, "outputs": [], "source": [ @@ -32,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 72, "metadata": {}, "outputs": [ { @@ -41,7 +32,7 @@ "" ] }, - "execution_count": 61, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -60,21 +51,21 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 76, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "Retrieving SummaryDoc documents: 100%|██████████| 1000/1000 [00:00<00:00, 32263876.92it/s]" + "Retrieving SummaryDoc documents: 100%|██████████| 20000/20000 [00:19<00:00, 1049.67it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Number of missing values: 0\n" + "Number of missing values: 2\n" ] }, { @@ -86,12 +77,12 @@ } ], "source": [ - "df, data = mlband.data.get_list_of_materials()" + "df, data = mlband.data.get_list_of_materials(num_chunks=20)" ] }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 77, "metadata": {}, "outputs": [ { @@ -117,6 +108,7 @@ " \n", " material_id\n", " band_gap\n", + " structure\n", " \n", " \n", " \n", @@ -124,80 +116,91 @@ " 0\n", " mp-757220\n", " 5.3849\n", + " [[6.53586997 0.39866238 2.62533396] Lu, [6.928...\n", " \n", " \n", " 1\n", " mp-573369\n", " 3.7419\n", + " [[ 1.63145925 0.23570193 10.77716588] Cs, [1....\n", " \n", " \n", " 2\n", " mp-28967\n", " 0.7792\n", + " [[4.55529863 5.11963834 2.01471426] Ba, [1.801...\n", " \n", " \n", " 3\n", " mp-559295\n", " 2.6721\n", + " [[0.57211092 2.00312375 5.90744327] Fe, [3.888...\n", " \n", " \n", " 4\n", " mp-1293179\n", " 0.0000\n", + " [[-8.73143724 -5.0599669 -7.23635549] Li, [-2...\n", " \n", " \n", " ...\n", " ...\n", " ...\n", + " ...\n", " \n", " \n", - " 995\n", - " mp-1026645\n", - " 0.0000\n", + " 19993\n", + " mp-2715949\n", + " 1.5098\n", + " [[-2.79248853 4.83813866 5.78084703] Na, [6....\n", " \n", " \n", - " 996\n", - " mp-1017457\n", + " 19994\n", + " mp-1207979\n", " 0.0000\n", + " [[ 1.99364737 -7.0085493 0. ] U, [1.9...\n", " \n", " \n", - " 997\n", - " mp-557176\n", - " 4.5127\n", + " 19995\n", + " mp-1218689\n", + " 0.7712\n", + " [[2.982158 1.68966376 0. ] Sr, [ 2.98...\n", " \n", " \n", - " 998\n", - " mp-978262\n", + " 19996\n", + " mp-2222762\n", " 0.0000\n", + " [[3.11575461 3.11575461 3.11575461] Sm, [1.341...\n", " \n", " \n", - " 999\n", - " mp-1205044\n", - " 2.0209\n", + " 19997\n", + " mp-1247060\n", + " 0.0535\n", + " [[4.52454226 3.10094945 7.83685747] Dy, [4.524...\n", " \n", " \n", "\n", - "

1000 rows × 2 columns

\n", + "

19998 rows × 3 columns

\n", "" ], "text/plain": [ - " material_id band_gap\n", - "0 mp-757220 5.3849\n", - "1 mp-573369 3.7419\n", - "2 mp-28967 0.7792\n", - "3 mp-559295 2.6721\n", - "4 mp-1293179 0.0000\n", - ".. ... ...\n", - "995 mp-1026645 0.0000\n", - "996 mp-1017457 0.0000\n", - "997 mp-557176 4.5127\n", - "998 mp-978262 0.0000\n", - "999 mp-1205044 2.0209\n", + " material_id band_gap structure\n", + "0 mp-757220 5.3849 [[6.53586997 0.39866238 2.62533396] Lu, [6.928...\n", + "1 mp-573369 3.7419 [[ 1.63145925 0.23570193 10.77716588] Cs, [1....\n", + "2 mp-28967 0.7792 [[4.55529863 5.11963834 2.01471426] Ba, [1.801...\n", + "3 mp-559295 2.6721 [[0.57211092 2.00312375 5.90744327] Fe, [3.888...\n", + "4 mp-1293179 0.0000 [[-8.73143724 -5.0599669 -7.23635549] Li, [-2...\n", + "... ... ... ...\n", + "19993 mp-2715949 1.5098 [[-2.79248853 4.83813866 5.78084703] Na, [6....\n", + "19994 mp-1207979 0.0000 [[ 1.99364737 -7.0085493 0. ] U, [1.9...\n", + "19995 mp-1218689 0.7712 [[2.982158 1.68966376 0. ] Sr, [ 2.98...\n", + "19996 mp-2222762 0.0000 [[3.11575461 3.11575461 3.11575461] Sm, [1.341...\n", + "19997 mp-1247060 0.0535 [[4.52454226 3.10094945 7.83685747] Dy, [4.524...\n", "\n", - "[1000 rows x 2 columns]" + "[19998 rows x 3 columns]" ] }, - "execution_count": 50, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } @@ -208,12 +211,50 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "importlib.reload(mlband.data)" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/core/periodic_table.py:120: UserWarning: No Pauling electronegativity for Ar. Setting to NaN. This has no physical meaning, and is mainly done to avoid errors caused by the code expecting a float.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "mlband.data.create_dataset(df=df, path='data/mp/')" + ] + }, + { + "cell_type": "code", + "execution_count": 79, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] diff --git a/adavaria/mlband/args.py b/adavaria/mlband/args.py index 9aa0ae59..02aca359 100644 --- a/adavaria/mlband/args.py +++ b/adavaria/mlband/args.py @@ -7,7 +7,7 @@ def __init__(self, data_options=None, task='regression', disable_cuda=False, wor resume='', train_ratio=None, train_size=None, val_ratio=0.1, val_size=None, test_ratio=0.1, test_size=None, optim='SGD', atom_fea_len=64, h_fea_len=128, n_conv=3, n_h=1, orig_atom_fea_len=92, - nbr_fea_len=76): + nbr_fea_len=76, lr=0.01): """ data_options: list of paths to data task: 'regression' or 'classification' @@ -20,7 +20,7 @@ def __init__(self, data_options=None, task='regression', disable_cuda=False, wor lr_milestones: list of int (epochs to decrease learning rate) momentum: float (SGD momentum) weight_decay: float (weight decay) - print_freq: int (frequency of printing training status) + print_freq: int (frequency of printing training status per batch) resume: str (path to checkpoint) train_ratio: float (ratio of training set) train_size: int (size of training set) @@ -35,6 +35,7 @@ def __init__(self, data_options=None, task='regression', disable_cuda=False, wor n_h: int (number of hidden layers) orig_atom_fea_len: int (length of original atom feature vector) nbr_fea_len: int (length of neighbor feature vector) + lr: float (learning rate) """ self.data_options = data_options if data_options is not None else [] self.task = task @@ -62,6 +63,7 @@ def __init__(self, data_options=None, task='regression', disable_cuda=False, wor self.n_h = n_h self.orig_atom_fea_len = orig_atom_fea_len self.nbr_fea_len = nbr_fea_len + self.lr = lr self.cuda = not self.disable_cuda and torch.cuda.is_available() diff --git a/adavaria/mlband/data.py b/adavaria/mlband/data.py index a2cb741e..b9681565 100644 --- a/adavaria/mlband/data.py +++ b/adavaria/mlband/data.py @@ -46,7 +46,7 @@ def create_dataset(df, path='data/cif_files'): writer.write_file(filename) # print(f'Crystal structure {i+1} of {len(df)} written to {filename}.') - df[['material_id', 'band_gap']].to_csv(path / 'id_prop.csv', index=False) + df[['material_id', 'band_gap']].to_csv(path / 'id_prop.csv', index=False, header=False) import shutil shutil.copy(elem_embedding_file, path / 'atom_init.json') diff --git a/adavaria/mlband/imports.py b/adavaria/mlband/imports.py index 4eab1da5..c55280cf 100644 --- a/adavaria/mlband/imports.py +++ b/adavaria/mlband/imports.py @@ -5,5 +5,7 @@ import importlib from pathlib import Path import random +import sys +import os pd.options.plotting.backend = 'matplotlib' diff --git a/adavaria/training.ipynb b/adavaria/training.ipynb index 7df35527..f077e00f 100644 --- a/adavaria/training.ipynb +++ b/adavaria/training.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -37,39 +37,15 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", - " warnings.warn(\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 20 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 28 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 4 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 12 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 8 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 1 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 2 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 24 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 18 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 7 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 6 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", - "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 3 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", - " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n" + "/Users/ali/GitHub/rewotes/adavaria/mlband/cgcnn/cgcnn/data.py:335: UserWarning: mp-1207373 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" ] } ], @@ -80,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -89,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -99,7 +75,25 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "structures, _, _ = dataset[0]\n", + "orig_atom_fea_len = structures[0].shape[-1]\n", + "nbr_fea_len = structures[1].shape[-1]\n", + "model = CrystalGraphConvNet(orig_atom_fea_len, nbr_fea_len,\n", + " atom_fea_len=args.atom_fea_len,\n", + " n_conv=args.n_conv,\n", + " h_fea_len=args.h_fea_len,\n", + " n_h=args.n_h,\n", + " classification=True if args.task ==\n", + " 'classification' else False)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -108,7 +102,7 @@ "(92, 76)" ] }, - "execution_count": 21, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -119,25 +113,7 @@ }, { "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "structures, _, _ = dataset[0]\n", - "orig_atom_fea_len = structures[0].shape[-1]\n", - "nbr_fea_len = structures[1].shape[-1]\n", - "model = CrystalGraphConvNet(orig_atom_fea_len, nbr_fea_len,\n", - " atom_fea_len=args.atom_fea_len,\n", - " n_conv=args.n_conv,\n", - " h_fea_len=args.h_fea_len,\n", - " n_h=args.n_h,\n", - " classification=True if args.task ==\n", - " 'classification' else False)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -161,7 +137,7 @@ ")" ] }, - "execution_count": 11, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -169,6 +145,1294 @@ "source": [ "model" ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "import torch.nn as nn\n", + "import torch.optim as optim\n", + "from sklearn import metrics\n", + "from torch.autograd import Variable\n", + "from torch.optim.lr_scheduler import MultiStepLR\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "criterion = nn.MSELoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "optimizer = optim.Adam(model.parameters(), args.lr,\n", + " weight_decay=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "scheduler = MultiStepLR(optimizer, milestones=args.lr_milestones,\n", + " gamma=0.1)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "from mlband.cgcnn.main import train, validate" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "args.task = 'regression'" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# global args" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [0][0/250]\tTime 6.359 (6.359)\tData 6.115 (6.115)\tLoss 3.1516 (3.1516)\tMAE 2.004 (2.004)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/GitHub/rewotes/adavaria/mlband/cgcnn/cgcnn/data.py:335: UserWarning: mp-1247813 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/mlband/cgcnn/cgcnn/data.py:335: UserWarning: mp-1206865 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [0][10/250]\tTime 6.211 (6.001)\tData 5.732 (5.720)\tLoss 1.6259 (3.4618)\tMAE 1.316 (1.915)\n", + "Epoch: [0][20/250]\tTime 5.056 (6.125)\tData 4.883 (5.799)\tLoss 0.8806 (2.2400)\tMAE 1.144 (1.538)\n", + "Epoch: [0][30/250]\tTime 8.300 (6.272)\tData 8.024 (5.964)\tLoss 1.1584 (1.8443)\tMAE 1.317 (1.436)\n", + "Epoch: [0][40/250]\tTime 6.556 (6.397)\tData 6.300 (6.055)\tLoss 0.7089 (1.6246)\tMAE 1.106 (1.384)\n", + "Epoch: [0][50/250]\tTime 5.762 (6.270)\tData 5.427 (5.924)\tLoss 0.7325 (1.4633)\tMAE 1.068 (1.335)\n", + "Epoch: [0][60/250]\tTime 6.793 (6.313)\tData 6.447 (5.948)\tLoss 0.8536 (1.3487)\tMAE 0.986 (1.285)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/GitHub/rewotes/adavaria/mlband/cgcnn/cgcnn/data.py:335: UserWarning: mp-1207373 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [0][70/250]\tTime 7.508 (6.379)\tData 7.227 (6.032)\tLoss 0.6361 (1.2551)\tMAE 0.882 (1.235)\n", + "Epoch: [0][80/250]\tTime 6.962 (6.409)\tData 6.654 (6.063)\tLoss 0.6583 (1.1780)\tMAE 0.910 (1.190)\n", + "Epoch: [0][90/250]\tTime 7.339 (6.433)\tData 6.754 (6.088)\tLoss 0.8484 (1.1151)\tMAE 0.872 (1.147)\n", + "Epoch: [0][100/250]\tTime 6.425 (6.466)\tData 6.105 (6.116)\tLoss 0.7974 (1.0631)\tMAE 0.932 (1.115)\n", + "Epoch: [0][110/250]\tTime 6.270 (6.444)\tData 6.094 (6.106)\tLoss 0.6904 (1.0264)\tMAE 0.855 (1.091)\n", + "Epoch: [0][120/250]\tTime 5.526 (6.404)\tData 5.337 (6.077)\tLoss 0.6540 (0.9979)\tMAE 0.793 (1.071)\n", + "Epoch: [0][130/250]\tTime 5.649 (6.442)\tData 5.486 (6.123)\tLoss 0.4467 (0.9667)\tMAE 0.676 (1.051)\n", + "Epoch: [0][140/250]\tTime 7.240 (6.444)\tData 6.991 (6.131)\tLoss 0.4482 (0.9436)\tMAE 0.712 (1.034)\n", + "Epoch: [0][150/250]\tTime 6.191 (6.475)\tData 6.030 (6.165)\tLoss 0.3092 (0.9156)\tMAE 0.616 (1.016)\n", + "Epoch: [0][160/250]\tTime 6.811 (6.465)\tData 6.630 (6.162)\tLoss 0.5103 (0.8961)\tMAE 0.710 (1.003)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/GitHub/rewotes/adavaria/mlband/cgcnn/cgcnn/data.py:335: UserWarning: mp-1206872 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [0][170/250]\tTime 8.615 (6.461)\tData 8.315 (6.162)\tLoss 0.4953 (0.8796)\tMAE 0.798 (0.992)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/GitHub/rewotes/adavaria/mlband/cgcnn/cgcnn/data.py:335: UserWarning: mp-1206385 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [0][180/250]\tTime 5.112 (6.449)\tData 4.852 (6.156)\tLoss 0.8834 (0.8642)\tMAE 0.930 (0.982)\n", + "Epoch: [0][190/250]\tTime 4.985 (6.419)\tData 4.833 (6.132)\tLoss 0.3332 (0.8476)\tMAE 0.588 (0.970)\n", + "Epoch: [0][200/250]\tTime 5.713 (6.421)\tData 5.551 (6.137)\tLoss 0.5945 (0.8381)\tMAE 0.842 (0.965)\n", + "Epoch: [0][210/250]\tTime 6.145 (6.444)\tData 5.952 (6.160)\tLoss 0.6661 (0.8306)\tMAE 0.858 (0.960)\n", + "Epoch: [0][220/250]\tTime 7.210 (6.457)\tData 6.692 (6.162)\tLoss 0.3711 (0.8165)\tMAE 0.644 (0.951)\n", + "Epoch: [0][230/250]\tTime 8.025 (6.473)\tData 7.815 (6.180)\tLoss 0.4904 (0.8079)\tMAE 0.759 (0.943)\n", + "Epoch: [0][240/250]\tTime 7.946 (6.477)\tData 7.696 (6.182)\tLoss 0.4545 (0.8002)\tMAE 0.771 (0.938)\n", + "Test: [0/32]\tTime 6.001 (6.001)\tLoss 0.6435 (0.6435)\tMAE 0.792 (0.792)\n", + "Test: [10/32]\tTime 6.117 (6.588)\tLoss 0.5250 (0.6395)\tMAE 0.740 (0.807)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/GitHub/rewotes/adavaria/mlband/cgcnn/cgcnn/data.py:335: UserWarning: mp-1172894 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test: [20/32]\tTime 7.227 (6.437)\tLoss 0.8762 (0.6320)\tMAE 0.889 (0.796)\n", + "Test: [30/32]\tTime 5.374 (6.314)\tLoss 0.8253 (0.6205)\tMAE 0.901 (0.788)\n", + " * MAE 0.788\n", + "Epoch: [1][0/250]\tTime 0.505 (0.505)\tData 0.266 (0.266)\tLoss 0.7756 (0.7756)\tMAE 0.922 (0.922)\n", + "Epoch: [1][10/250]\tTime 0.165 (0.211)\tData 0.004 (0.027)\tLoss 0.5871 (0.7055)\tMAE 0.801 (0.841)\n", + "Epoch: [1][20/250]\tTime 0.153 (0.192)\tData 0.003 (0.016)\tLoss 0.3808 (0.6305)\tMAE 0.648 (0.824)\n", + "Epoch: [1][30/250]\tTime 0.170 (0.204)\tData 0.003 (0.012)\tLoss 0.6757 (0.6190)\tMAE 0.824 (0.814)\n", + "Epoch: [1][40/250]\tTime 0.195 (0.200)\tData 0.009 (0.010)\tLoss 0.7015 (0.6060)\tMAE 0.803 (0.799)\n", + "Epoch: [1][50/250]\tTime 0.215 (0.205)\tData 0.003 (0.009)\tLoss 0.8812 (0.5921)\tMAE 0.876 (0.788)\n", + "Epoch: [1][60/250]\tTime 0.142 (0.205)\tData 0.003 (0.008)\tLoss 0.4088 (0.5879)\tMAE 0.646 (0.784)\n", + "Epoch: [1][70/250]\tTime 0.128 (0.204)\tData 0.003 (0.007)\tLoss 0.4678 (0.5761)\tMAE 0.741 (0.776)\n", + "Epoch: [1][80/250]\tTime 0.153 (0.204)\tData 0.003 (0.007)\tLoss 0.4863 (0.5671)\tMAE 0.708 (0.767)\n", + "Epoch: [1][90/250]\tTime 0.175 (0.202)\tData 0.004 (0.006)\tLoss 0.5689 (0.5669)\tMAE 0.791 (0.766)\n", + "Epoch: [1][100/250]\tTime 0.144 (0.200)\tData 0.003 (0.006)\tLoss 0.6620 (0.5690)\tMAE 0.833 (0.768)\n", + "Epoch: [1][110/250]\tTime 0.164 (0.198)\tData 0.003 (0.006)\tLoss 0.6254 (0.5750)\tMAE 0.866 (0.774)\n", + "Epoch: [1][120/250]\tTime 0.163 (0.196)\tData 0.003 (0.006)\tLoss 0.4933 (0.5666)\tMAE 0.732 (0.769)\n", + "Epoch: [1][130/250]\tTime 0.315 (0.195)\tData 0.008 (0.006)\tLoss 0.7029 (0.5698)\tMAE 0.772 (0.772)\n", + "Epoch: [1][140/250]\tTime 0.148 (0.194)\tData 0.003 (0.005)\tLoss 0.6222 (0.5706)\tMAE 0.806 (0.771)\n", + "Epoch: [1][150/250]\tTime 0.179 (0.193)\tData 0.004 (0.005)\tLoss 0.5763 (0.5663)\tMAE 0.832 (0.769)\n", + "Epoch: [1][160/250]\tTime 0.216 (0.193)\tData 0.003 (0.005)\tLoss 0.4707 (0.5663)\tMAE 0.737 (0.769)\n", + "Epoch: [1][170/250]\tTime 0.230 (0.193)\tData 0.003 (0.005)\tLoss 0.6356 (0.5667)\tMAE 0.781 (0.770)\n", + "Epoch: [1][180/250]\tTime 0.348 (0.196)\tData 0.004 (0.005)\tLoss 0.4306 (0.5636)\tMAE 0.701 (0.768)\n", + "Epoch: [1][190/250]\tTime 0.499 (0.211)\tData 0.004 (0.005)\tLoss 0.5446 (0.5623)\tMAE 0.785 (0.768)\n", + "Epoch: [1][200/250]\tTime 0.401 (0.224)\tData 0.003 (0.005)\tLoss 0.8038 (0.5630)\tMAE 0.931 (0.769)\n", + "Epoch: [1][210/250]\tTime 0.806 (0.278)\tData 0.006 (0.005)\tLoss 0.6396 (0.5614)\tMAE 0.905 (0.770)\n", + "Epoch: [1][220/250]\tTime 0.948 (0.322)\tData 0.004 (0.005)\tLoss 0.4893 (0.5598)\tMAE 0.775 (0.769)\n", + "Epoch: [1][230/250]\tTime 0.416 (0.344)\tData 0.004 (0.005)\tLoss 0.4760 (0.5590)\tMAE 0.802 (0.769)\n", + "Epoch: [1][240/250]\tTime 0.861 (0.352)\tData 0.005 (0.005)\tLoss 0.7397 (0.5569)\tMAE 0.860 (0.768)\n", + "Test: [0/32]\tTime 0.060 (0.060)\tLoss 1.2358 (1.2358)\tMAE 1.095 (1.095)\n", + "Test: [10/32]\tTime 0.075 (0.089)\tLoss 1.1273 (0.9270)\tMAE 0.980 (0.942)\n", + "Test: [20/32]\tTime 0.136 (0.090)\tLoss 0.7539 (0.9084)\tMAE 0.826 (0.916)\n", + "Test: [30/32]\tTime 0.088 (0.092)\tLoss 0.8119 (0.8869)\tMAE 0.867 (0.907)\n", + " * MAE 0.909\n", + "Epoch: [2][0/250]\tTime 0.347 (0.347)\tData 0.014 (0.014)\tLoss 0.3545 (0.3545)\tMAE 0.672 (0.672)\n", + "Epoch: [2][10/250]\tTime 0.368 (0.461)\tData 0.004 (0.005)\tLoss 0.5101 (0.4852)\tMAE 0.695 (0.736)\n", + "Epoch: [2][20/250]\tTime 0.590 (0.456)\tData 0.004 (0.004)\tLoss 0.4892 (0.5223)\tMAE 0.681 (0.740)\n", + "Epoch: [2][30/250]\tTime 0.752 (0.440)\tData 0.004 (0.004)\tLoss 0.5478 (0.5327)\tMAE 0.819 (0.763)\n", + "Epoch: [2][40/250]\tTime 0.410 (0.481)\tData 0.003 (0.004)\tLoss 0.3678 (0.5225)\tMAE 0.581 (0.748)\n", + "Epoch: [2][50/250]\tTime 0.242 (0.467)\tData 0.003 (0.004)\tLoss 0.4375 (0.5267)\tMAE 0.724 (0.754)\n", + "Epoch: [2][60/250]\tTime 0.242 (0.439)\tData 0.004 (0.004)\tLoss 0.3853 (0.5228)\tMAE 0.642 (0.745)\n", + "Epoch: [2][70/250]\tTime 0.458 (0.417)\tData 0.004 (0.004)\tLoss 0.6685 (0.5159)\tMAE 0.904 (0.742)\n", + "Epoch: [2][80/250]\tTime 1.026 (0.424)\tData 0.009 (0.005)\tLoss 0.2767 (0.5123)\tMAE 0.568 (0.739)\n", + "Epoch: [2][90/250]\tTime 0.154 (0.405)\tData 0.003 (0.005)\tLoss 0.6594 (0.5118)\tMAE 0.837 (0.738)\n", + "Epoch: [2][100/250]\tTime 0.191 (0.386)\tData 0.003 (0.005)\tLoss 0.4944 (0.5152)\tMAE 0.732 (0.740)\n", + "Epoch: [2][110/250]\tTime 0.176 (0.372)\tData 0.004 (0.005)\tLoss 0.5704 (0.5183)\tMAE 0.808 (0.742)\n", + "Epoch: [2][120/250]\tTime 0.229 (0.358)\tData 0.004 (0.005)\tLoss 0.5287 (0.5154)\tMAE 0.740 (0.740)\n", + "Epoch: [2][130/250]\tTime 0.205 (0.374)\tData 0.003 (0.005)\tLoss 0.6003 (0.5144)\tMAE 0.771 (0.740)\n", + "Epoch: [2][140/250]\tTime 0.172 (0.363)\tData 0.003 (0.004)\tLoss 0.5335 (0.5157)\tMAE 0.712 (0.739)\n", + "Epoch: [2][150/250]\tTime 0.186 (0.353)\tData 0.003 (0.004)\tLoss 0.4804 (0.5150)\tMAE 0.755 (0.739)\n", + "Epoch: [2][160/250]\tTime 0.314 (0.345)\tData 0.003 (0.004)\tLoss 0.3306 (0.5134)\tMAE 0.570 (0.736)\n", + "Epoch: [2][170/250]\tTime 0.187 (0.336)\tData 0.003 (0.004)\tLoss 0.3743 (0.5129)\tMAE 0.638 (0.736)\n", + "Epoch: [2][180/250]\tTime 0.330 (0.331)\tData 0.004 (0.004)\tLoss 0.5661 (0.5122)\tMAE 0.705 (0.734)\n", + "Epoch: [2][190/250]\tTime 0.181 (0.325)\tData 0.003 (0.004)\tLoss 0.5472 (0.5140)\tMAE 0.766 (0.735)\n", + "Epoch: [2][200/250]\tTime 0.192 (0.318)\tData 0.003 (0.004)\tLoss 0.4241 (0.5115)\tMAE 0.642 (0.733)\n", + "Epoch: [2][210/250]\tTime 0.183 (0.313)\tData 0.004 (0.004)\tLoss 0.3802 (0.5099)\tMAE 0.650 (0.730)\n", + "Epoch: [2][220/250]\tTime 0.240 (0.306)\tData 0.003 (0.004)\tLoss 0.5905 (0.5133)\tMAE 0.782 (0.733)\n", + "Epoch: [2][230/250]\tTime 0.186 (0.301)\tData 0.003 (0.004)\tLoss 0.5749 (0.5124)\tMAE 0.787 (0.733)\n", + "Epoch: [2][240/250]\tTime 0.271 (0.297)\tData 0.003 (0.004)\tLoss 0.5185 (0.5138)\tMAE 0.744 (0.734)\n", + "Test: [0/32]\tTime 0.078 (0.078)\tLoss 0.6548 (0.6548)\tMAE 0.853 (0.853)\n", + "Test: [10/32]\tTime 0.051 (0.068)\tLoss 0.3199 (0.4449)\tMAE 0.619 (0.704)\n", + "Test: [20/32]\tTime 0.059 (0.069)\tLoss 0.5435 (0.4400)\tMAE 0.732 (0.680)\n", + "Test: [30/32]\tTime 0.062 (0.068)\tLoss 0.4900 (0.4637)\tMAE 0.753 (0.698)\n", + " * MAE 0.698\n", + "Epoch: [3][0/250]\tTime 0.168 (0.168)\tData 0.015 (0.015)\tLoss 0.4290 (0.4290)\tMAE 0.675 (0.675)\n", + "Epoch: [3][10/250]\tTime 0.179 (0.172)\tData 0.003 (0.004)\tLoss 0.5441 (0.5150)\tMAE 0.781 (0.744)\n", + "Epoch: [3][20/250]\tTime 0.219 (0.181)\tData 0.004 (0.004)\tLoss 0.8043 (0.5204)\tMAE 0.938 (0.732)\n", + "Epoch: [3][30/250]\tTime 0.168 (0.197)\tData 0.003 (0.004)\tLoss 0.5185 (0.5104)\tMAE 0.690 (0.721)\n", + "Epoch: [3][40/250]\tTime 0.169 (0.192)\tData 0.003 (0.003)\tLoss 0.4740 (0.5035)\tMAE 0.689 (0.719)\n", + "Epoch: [3][50/250]\tTime 0.249 (0.191)\tData 0.004 (0.003)\tLoss 0.5324 (0.5111)\tMAE 0.725 (0.722)\n", + "Epoch: [3][60/250]\tTime 0.167 (0.195)\tData 0.003 (0.003)\tLoss 0.3441 (0.5091)\tMAE 0.647 (0.723)\n", + "Epoch: [3][70/250]\tTime 0.227 (0.198)\tData 0.003 (0.003)\tLoss 0.3909 (0.5095)\tMAE 0.573 (0.722)\n", + "Epoch: [3][80/250]\tTime 0.169 (0.197)\tData 0.004 (0.003)\tLoss 0.4035 (0.5054)\tMAE 0.670 (0.719)\n", + "Epoch: [3][90/250]\tTime 0.162 (0.195)\tData 0.003 (0.003)\tLoss 0.5405 (0.4961)\tMAE 0.749 (0.711)\n", + "Epoch: [3][100/250]\tTime 0.168 (0.195)\tData 0.003 (0.003)\tLoss 0.5593 (0.4958)\tMAE 0.791 (0.712)\n", + "Epoch: [3][110/250]\tTime 0.182 (0.196)\tData 0.004 (0.003)\tLoss 0.4961 (0.4944)\tMAE 0.697 (0.714)\n", + "Epoch: [3][120/250]\tTime 0.142 (0.195)\tData 0.003 (0.003)\tLoss 0.5892 (0.4938)\tMAE 0.714 (0.714)\n", + "Epoch: [3][130/250]\tTime 0.211 (0.195)\tData 0.004 (0.003)\tLoss 0.5161 (0.4932)\tMAE 0.725 (0.713)\n", + "Epoch: [3][140/250]\tTime 0.185 (0.194)\tData 0.004 (0.003)\tLoss 0.5894 (0.4962)\tMAE 0.861 (0.715)\n", + "Epoch: [3][150/250]\tTime 0.171 (0.195)\tData 0.004 (0.003)\tLoss 0.7119 (0.4975)\tMAE 0.884 (0.717)\n", + "Epoch: [3][160/250]\tTime 0.193 (0.196)\tData 0.003 (0.003)\tLoss 0.4159 (0.4949)\tMAE 0.626 (0.716)\n", + "Epoch: [3][170/250]\tTime 0.139 (0.197)\tData 0.003 (0.003)\tLoss 0.4774 (0.4960)\tMAE 0.760 (0.718)\n", + "Epoch: [3][180/250]\tTime 0.225 (0.197)\tData 0.004 (0.003)\tLoss 0.7108 (0.5036)\tMAE 0.745 (0.724)\n", + "Epoch: [3][190/250]\tTime 0.141 (0.195)\tData 0.003 (0.003)\tLoss 0.4620 (0.5024)\tMAE 0.659 (0.722)\n", + "Epoch: [3][200/250]\tTime 0.146 (0.194)\tData 0.003 (0.003)\tLoss 0.3848 (0.5004)\tMAE 0.641 (0.721)\n", + "Epoch: [3][210/250]\tTime 0.183 (0.194)\tData 0.004 (0.003)\tLoss 0.4891 (0.4978)\tMAE 0.760 (0.721)\n", + "Epoch: [3][220/250]\tTime 0.147 (0.193)\tData 0.003 (0.003)\tLoss 0.3408 (0.4946)\tMAE 0.515 (0.717)\n", + "Epoch: [3][230/250]\tTime 0.175 (0.192)\tData 0.004 (0.003)\tLoss 0.4721 (0.4958)\tMAE 0.689 (0.717)\n", + "Epoch: [3][240/250]\tTime 0.197 (0.191)\tData 0.004 (0.003)\tLoss 0.5213 (0.4964)\tMAE 0.774 (0.718)\n", + "Test: [0/32]\tTime 0.053 (0.053)\tLoss 0.5439 (0.5439)\tMAE 0.775 (0.775)\n", + "Test: [10/32]\tTime 0.055 (0.063)\tLoss 0.4582 (0.5561)\tMAE 0.729 (0.766)\n", + "Test: [20/32]\tTime 0.066 (0.064)\tLoss 0.5271 (0.5379)\tMAE 0.709 (0.749)\n", + "Test: [30/32]\tTime 0.067 (0.066)\tLoss 0.4637 (0.5457)\tMAE 0.707 (0.757)\n", + " * MAE 0.757\n", + "Epoch: [4][0/250]\tTime 0.192 (0.192)\tData 0.015 (0.015)\tLoss 0.4504 (0.4504)\tMAE 0.676 (0.676)\n", + "Epoch: [4][10/250]\tTime 0.154 (0.181)\tData 0.002 (0.004)\tLoss 0.3413 (0.4985)\tMAE 0.569 (0.707)\n", + "Epoch: [4][20/250]\tTime 0.277 (0.185)\tData 0.003 (0.004)\tLoss 0.5198 (0.4900)\tMAE 0.784 (0.705)\n", + "Epoch: [4][30/250]\tTime 0.206 (0.179)\tData 0.003 (0.003)\tLoss 0.3814 (0.4747)\tMAE 0.640 (0.700)\n", + "Epoch: [4][40/250]\tTime 0.151 (0.189)\tData 0.003 (0.003)\tLoss 0.3408 (0.4769)\tMAE 0.581 (0.697)\n", + "Epoch: [4][50/250]\tTime 0.209 (0.202)\tData 0.004 (0.003)\tLoss 0.6546 (0.4769)\tMAE 0.819 (0.699)\n", + "Epoch: [4][60/250]\tTime 0.166 (0.201)\tData 0.004 (0.003)\tLoss 0.6815 (0.4722)\tMAE 0.883 (0.695)\n", + "Epoch: [4][70/250]\tTime 0.176 (0.201)\tData 0.004 (0.003)\tLoss 0.5240 (0.4629)\tMAE 0.734 (0.689)\n", + "Epoch: [4][80/250]\tTime 0.327 (0.197)\tData 0.003 (0.003)\tLoss 0.4400 (0.4608)\tMAE 0.668 (0.687)\n", + "Epoch: [4][90/250]\tTime 0.213 (0.198)\tData 0.004 (0.003)\tLoss 0.6515 (0.4631)\tMAE 0.832 (0.686)\n", + "Epoch: [4][100/250]\tTime 0.165 (0.206)\tData 0.003 (0.003)\tLoss 0.6329 (0.4620)\tMAE 0.815 (0.684)\n", + "Epoch: [4][110/250]\tTime 0.146 (0.205)\tData 0.003 (0.003)\tLoss 0.4574 (0.4677)\tMAE 0.716 (0.689)\n", + "Epoch: [4][120/250]\tTime 0.181 (0.207)\tData 0.004 (0.003)\tLoss 0.7344 (0.4712)\tMAE 0.813 (0.692)\n", + "Epoch: [4][130/250]\tTime 0.178 (0.211)\tData 0.004 (0.003)\tLoss 0.6141 (0.4755)\tMAE 0.799 (0.697)\n", + "Epoch: [4][140/250]\tTime 0.218 (0.209)\tData 0.003 (0.004)\tLoss 0.5240 (0.4760)\tMAE 0.712 (0.699)\n", + "Epoch: [4][150/250]\tTime 0.216 (0.211)\tData 0.003 (0.004)\tLoss 0.5097 (0.4739)\tMAE 0.748 (0.699)\n", + "Epoch: [4][160/250]\tTime 0.200 (0.211)\tData 0.003 (0.004)\tLoss 0.3984 (0.4734)\tMAE 0.594 (0.697)\n", + "Epoch: [4][170/250]\tTime 0.220 (0.213)\tData 0.004 (0.004)\tLoss 0.6343 (0.4744)\tMAE 0.863 (0.699)\n", + "Epoch: [4][180/250]\tTime 0.193 (0.212)\tData 0.004 (0.004)\tLoss 0.2898 (0.4735)\tMAE 0.557 (0.697)\n", + "Epoch: [4][190/250]\tTime 0.202 (0.212)\tData 0.004 (0.004)\tLoss 0.6086 (0.4766)\tMAE 0.849 (0.699)\n", + "Epoch: [4][200/250]\tTime 0.187 (0.212)\tData 0.004 (0.004)\tLoss 0.5415 (0.4819)\tMAE 0.826 (0.703)\n", + "Epoch: [4][210/250]\tTime 0.174 (0.211)\tData 0.003 (0.004)\tLoss 0.3822 (0.4822)\tMAE 0.617 (0.702)\n", + "Epoch: [4][220/250]\tTime 0.195 (0.212)\tData 0.004 (0.004)\tLoss 0.6423 (0.4838)\tMAE 0.842 (0.704)\n", + "Epoch: [4][230/250]\tTime 0.220 (0.212)\tData 0.005 (0.004)\tLoss 0.4711 (0.4838)\tMAE 0.740 (0.704)\n", + "Epoch: [4][240/250]\tTime 0.199 (0.212)\tData 0.003 (0.004)\tLoss 0.5688 (0.4816)\tMAE 0.803 (0.703)\n", + "Test: [0/32]\tTime 0.088 (0.088)\tLoss 0.3832 (0.3832)\tMAE 0.625 (0.625)\n", + "Test: [10/32]\tTime 0.083 (0.070)\tLoss 0.6258 (0.4464)\tMAE 0.773 (0.669)\n", + "Test: [20/32]\tTime 0.051 (0.069)\tLoss 0.4861 (0.4763)\tMAE 0.679 (0.686)\n", + "Test: [30/32]\tTime 0.059 (0.067)\tLoss 0.4739 (0.4639)\tMAE 0.676 (0.679)\n", + " * MAE 0.679\n", + "Epoch: [5][0/250]\tTime 0.189 (0.189)\tData 0.014 (0.014)\tLoss 0.4046 (0.4046)\tMAE 0.626 (0.626)\n", + "Epoch: [5][10/250]\tTime 0.163 (0.187)\tData 0.003 (0.004)\tLoss 0.4088 (0.4343)\tMAE 0.598 (0.647)\n", + "Epoch: [5][20/250]\tTime 0.174 (0.186)\tData 0.003 (0.004)\tLoss 0.7232 (0.4584)\tMAE 0.887 (0.679)\n", + "Epoch: [5][30/250]\tTime 0.175 (0.191)\tData 0.003 (0.004)\tLoss 0.3075 (0.4627)\tMAE 0.576 (0.683)\n", + "Epoch: [5][40/250]\tTime 0.247 (0.201)\tData 0.003 (0.004)\tLoss 0.6008 (0.4628)\tMAE 0.791 (0.683)\n", + "Epoch: [5][50/250]\tTime 0.176 (0.199)\tData 0.003 (0.004)\tLoss 0.3724 (0.4651)\tMAE 0.667 (0.686)\n", + "Epoch: [5][60/250]\tTime 0.160 (0.200)\tData 0.003 (0.004)\tLoss 0.3689 (0.4652)\tMAE 0.608 (0.683)\n", + "Epoch: [5][70/250]\tTime 0.284 (0.202)\tData 0.003 (0.004)\tLoss 0.3300 (0.4704)\tMAE 0.673 (0.688)\n", + "Epoch: [5][80/250]\tTime 0.208 (0.204)\tData 0.004 (0.004)\tLoss 0.3259 (0.4646)\tMAE 0.603 (0.685)\n", + "Epoch: [5][90/250]\tTime 0.227 (0.205)\tData 0.004 (0.004)\tLoss 0.3303 (0.4653)\tMAE 0.618 (0.690)\n", + "Epoch: [5][100/250]\tTime 0.218 (0.206)\tData 0.004 (0.004)\tLoss 0.2996 (0.4612)\tMAE 0.589 (0.685)\n", + "Epoch: [5][110/250]\tTime 0.152 (0.204)\tData 0.003 (0.004)\tLoss 0.5162 (0.4624)\tMAE 0.646 (0.685)\n", + "Epoch: [5][120/250]\tTime 0.127 (0.201)\tData 0.003 (0.004)\tLoss 0.4320 (0.4595)\tMAE 0.689 (0.683)\n", + "Epoch: [5][130/250]\tTime 0.228 (0.202)\tData 0.003 (0.004)\tLoss 0.2841 (0.4551)\tMAE 0.533 (0.680)\n", + "Epoch: [5][140/250]\tTime 0.203 (0.202)\tData 0.004 (0.004)\tLoss 0.4619 (0.4591)\tMAE 0.722 (0.682)\n", + "Epoch: [5][150/250]\tTime 0.179 (0.203)\tData 0.003 (0.004)\tLoss 0.3183 (0.4632)\tMAE 0.592 (0.686)\n", + "Epoch: [5][160/250]\tTime 0.172 (0.201)\tData 0.004 (0.004)\tLoss 0.4188 (0.4633)\tMAE 0.630 (0.686)\n", + "Epoch: [5][170/250]\tTime 0.155 (0.200)\tData 0.003 (0.004)\tLoss 0.4002 (0.4595)\tMAE 0.617 (0.682)\n", + "Epoch: [5][180/250]\tTime 0.136 (0.200)\tData 0.003 (0.004)\tLoss 0.3724 (0.4562)\tMAE 0.649 (0.679)\n", + "Epoch: [5][190/250]\tTime 0.161 (0.198)\tData 0.003 (0.004)\tLoss 0.4620 (0.4555)\tMAE 0.584 (0.678)\n", + "Epoch: [5][200/250]\tTime 0.163 (0.198)\tData 0.003 (0.004)\tLoss 0.2910 (0.4545)\tMAE 0.624 (0.677)\n", + "Epoch: [5][210/250]\tTime 0.151 (0.198)\tData 0.003 (0.004)\tLoss 0.5253 (0.4544)\tMAE 0.724 (0.677)\n", + "Epoch: [5][220/250]\tTime 0.150 (0.197)\tData 0.003 (0.004)\tLoss 0.2497 (0.4513)\tMAE 0.536 (0.675)\n", + "Epoch: [5][230/250]\tTime 0.188 (0.197)\tData 0.004 (0.004)\tLoss 0.5784 (0.4536)\tMAE 0.775 (0.676)\n", + "Epoch: [5][240/250]\tTime 0.156 (0.196)\tData 0.003 (0.004)\tLoss 0.7529 (0.4552)\tMAE 0.785 (0.679)\n", + "Test: [0/32]\tTime 0.060 (0.060)\tLoss 0.6050 (0.6050)\tMAE 0.868 (0.868)\n", + "Test: [10/32]\tTime 0.048 (0.068)\tLoss 0.5479 (0.5903)\tMAE 0.764 (0.772)\n", + "Test: [20/32]\tTime 0.054 (0.063)\tLoss 0.8260 (0.5812)\tMAE 0.942 (0.778)\n", + "Test: [30/32]\tTime 0.061 (0.061)\tLoss 0.5247 (0.5719)\tMAE 0.790 (0.772)\n", + " * MAE 0.771\n", + "Epoch: [6][0/250]\tTime 0.158 (0.158)\tData 0.015 (0.015)\tLoss 0.4052 (0.4052)\tMAE 0.662 (0.662)\n", + "Epoch: [6][10/250]\tTime 0.256 (0.207)\tData 0.004 (0.004)\tLoss 0.4207 (0.4344)\tMAE 0.666 (0.661)\n", + "Epoch: [6][20/250]\tTime 0.230 (0.202)\tData 0.004 (0.004)\tLoss 0.4554 (0.4309)\tMAE 0.727 (0.668)\n", + "Epoch: [6][30/250]\tTime 0.217 (0.190)\tData 0.003 (0.004)\tLoss 0.4149 (0.4522)\tMAE 0.663 (0.680)\n", + "Epoch: [6][40/250]\tTime 0.196 (0.190)\tData 0.003 (0.003)\tLoss 0.6001 (0.4567)\tMAE 0.733 (0.683)\n", + "Epoch: [6][50/250]\tTime 0.170 (0.190)\tData 0.004 (0.003)\tLoss 0.4623 (0.4519)\tMAE 0.712 (0.681)\n", + "Epoch: [6][60/250]\tTime 0.147 (0.191)\tData 0.003 (0.003)\tLoss 0.2705 (0.4542)\tMAE 0.555 (0.682)\n", + "Epoch: [6][70/250]\tTime 0.222 (0.192)\tData 0.003 (0.003)\tLoss 0.1660 (0.4477)\tMAE 0.396 (0.673)\n", + "Epoch: [6][80/250]\tTime 0.287 (0.195)\tData 0.005 (0.004)\tLoss 0.4838 (0.4403)\tMAE 0.667 (0.666)\n", + "Epoch: [6][90/250]\tTime 0.180 (0.195)\tData 0.003 (0.004)\tLoss 0.3943 (0.4380)\tMAE 0.678 (0.665)\n", + "Epoch: [6][100/250]\tTime 0.199 (0.195)\tData 0.003 (0.004)\tLoss 0.4436 (0.4381)\tMAE 0.656 (0.665)\n", + "Epoch: [6][110/250]\tTime 0.189 (0.194)\tData 0.003 (0.004)\tLoss 0.3198 (0.4348)\tMAE 0.565 (0.664)\n", + "Epoch: [6][120/250]\tTime 0.144 (0.194)\tData 0.003 (0.004)\tLoss 0.3789 (0.4393)\tMAE 0.649 (0.668)\n", + "Epoch: [6][130/250]\tTime 0.177 (0.194)\tData 0.004 (0.004)\tLoss 0.4900 (0.4374)\tMAE 0.742 (0.666)\n", + "Epoch: [6][140/250]\tTime 0.139 (0.194)\tData 0.003 (0.004)\tLoss 0.5072 (0.4403)\tMAE 0.746 (0.670)\n", + "Epoch: [6][150/250]\tTime 0.197 (0.195)\tData 0.004 (0.004)\tLoss 0.3821 (0.4398)\tMAE 0.598 (0.669)\n", + "Epoch: [6][160/250]\tTime 0.157 (0.193)\tData 0.003 (0.004)\tLoss 0.4107 (0.4434)\tMAE 0.589 (0.673)\n", + "Epoch: [6][170/250]\tTime 0.157 (0.192)\tData 0.003 (0.004)\tLoss 0.4667 (0.4420)\tMAE 0.699 (0.674)\n", + "Epoch: [6][180/250]\tTime 0.205 (0.191)\tData 0.004 (0.004)\tLoss 0.2434 (0.4383)\tMAE 0.514 (0.670)\n", + "Epoch: [6][190/250]\tTime 0.151 (0.191)\tData 0.003 (0.004)\tLoss 0.6319 (0.4441)\tMAE 0.790 (0.674)\n", + "Epoch: [6][200/250]\tTime 0.183 (0.190)\tData 0.004 (0.004)\tLoss 0.3573 (0.4413)\tMAE 0.587 (0.671)\n", + "Epoch: [6][210/250]\tTime 0.183 (0.189)\tData 0.003 (0.004)\tLoss 0.3538 (0.4410)\tMAE 0.614 (0.669)\n", + "Epoch: [6][220/250]\tTime 0.149 (0.188)\tData 0.003 (0.004)\tLoss 0.4324 (0.4430)\tMAE 0.686 (0.671)\n", + "Epoch: [6][230/250]\tTime 0.147 (0.187)\tData 0.003 (0.004)\tLoss 0.5962 (0.4450)\tMAE 0.722 (0.672)\n", + "Epoch: [6][240/250]\tTime 0.213 (0.186)\tData 0.011 (0.004)\tLoss 0.4629 (0.4422)\tMAE 0.663 (0.670)\n", + "Test: [0/32]\tTime 0.047 (0.047)\tLoss 0.4929 (0.4929)\tMAE 0.732 (0.732)\n", + "Test: [10/32]\tTime 0.053 (0.062)\tLoss 0.4957 (0.3709)\tMAE 0.669 (0.611)\n", + "Test: [20/32]\tTime 0.051 (0.065)\tLoss 0.3116 (0.3861)\tMAE 0.565 (0.629)\n", + "Test: [30/32]\tTime 0.048 (0.063)\tLoss 0.4118 (0.4213)\tMAE 0.698 (0.653)\n", + " * MAE 0.653\n", + "Epoch: [7][0/250]\tTime 0.210 (0.210)\tData 0.014 (0.014)\tLoss 0.5134 (0.5134)\tMAE 0.781 (0.781)\n", + "Epoch: [7][10/250]\tTime 0.178 (0.190)\tData 0.003 (0.004)\tLoss 0.4031 (0.4279)\tMAE 0.638 (0.651)\n", + "Epoch: [7][20/250]\tTime 0.167 (0.194)\tData 0.003 (0.004)\tLoss 0.5980 (0.4245)\tMAE 0.761 (0.664)\n", + "Epoch: [7][30/250]\tTime 0.203 (0.193)\tData 0.003 (0.004)\tLoss 0.4706 (0.4438)\tMAE 0.738 (0.683)\n", + "Epoch: [7][40/250]\tTime 0.163 (0.187)\tData 0.003 (0.003)\tLoss 0.3890 (0.4351)\tMAE 0.654 (0.681)\n", + "Epoch: [7][50/250]\tTime 0.158 (0.189)\tData 0.003 (0.003)\tLoss 0.4489 (0.4417)\tMAE 0.735 (0.689)\n", + "Epoch: [7][60/250]\tTime 0.203 (0.189)\tData 0.004 (0.003)\tLoss 0.4360 (0.4388)\tMAE 0.691 (0.682)\n", + "Epoch: [7][70/250]\tTime 0.146 (0.188)\tData 0.003 (0.003)\tLoss 0.5519 (0.4369)\tMAE 0.806 (0.676)\n", + "Epoch: [7][80/250]\tTime 0.238 (0.187)\tData 0.004 (0.003)\tLoss 0.1942 (0.4335)\tMAE 0.450 (0.669)\n", + "Epoch: [7][90/250]\tTime 0.196 (0.190)\tData 0.004 (0.003)\tLoss 0.2205 (0.4415)\tMAE 0.538 (0.672)\n", + "Epoch: [7][100/250]\tTime 0.291 (0.191)\tData 0.004 (0.003)\tLoss 0.3924 (0.4462)\tMAE 0.660 (0.674)\n", + "Epoch: [7][110/250]\tTime 0.210 (0.189)\tData 0.003 (0.003)\tLoss 0.3481 (0.4385)\tMAE 0.607 (0.668)\n", + "Epoch: [7][120/250]\tTime 0.184 (0.188)\tData 0.003 (0.003)\tLoss 0.3559 (0.4425)\tMAE 0.607 (0.669)\n", + "Epoch: [7][130/250]\tTime 0.162 (0.188)\tData 0.004 (0.003)\tLoss 0.3885 (0.4450)\tMAE 0.619 (0.670)\n", + "Epoch: [7][140/250]\tTime 0.200 (0.190)\tData 0.004 (0.003)\tLoss 0.5344 (0.4434)\tMAE 0.723 (0.668)\n", + "Epoch: [7][150/250]\tTime 0.160 (0.190)\tData 0.004 (0.003)\tLoss 0.4153 (0.4431)\tMAE 0.657 (0.670)\n", + "Epoch: [7][160/250]\tTime 0.150 (0.191)\tData 0.003 (0.003)\tLoss 0.3998 (0.4424)\tMAE 0.692 (0.668)\n", + "Epoch: [7][170/250]\tTime 0.200 (0.191)\tData 0.004 (0.003)\tLoss 0.5172 (0.4435)\tMAE 0.795 (0.670)\n", + "Epoch: [7][180/250]\tTime 0.154 (0.191)\tData 0.003 (0.003)\tLoss 0.3627 (0.4444)\tMAE 0.654 (0.671)\n", + "Epoch: [7][190/250]\tTime 0.176 (0.191)\tData 0.003 (0.003)\tLoss 0.2927 (0.4402)\tMAE 0.497 (0.669)\n", + "Epoch: [7][200/250]\tTime 0.187 (0.197)\tData 0.004 (0.003)\tLoss 0.3177 (0.4392)\tMAE 0.584 (0.668)\n", + "Epoch: [7][210/250]\tTime 0.173 (0.197)\tData 0.003 (0.003)\tLoss 0.2959 (0.4361)\tMAE 0.537 (0.665)\n", + "Epoch: [7][220/250]\tTime 0.161 (0.198)\tData 0.003 (0.003)\tLoss 0.6737 (0.4369)\tMAE 0.882 (0.664)\n", + "Epoch: [7][230/250]\tTime 0.193 (0.198)\tData 0.004 (0.004)\tLoss 0.3661 (0.4363)\tMAE 0.668 (0.663)\n", + "Epoch: [7][240/250]\tTime 0.214 (0.198)\tData 0.003 (0.004)\tLoss 0.3224 (0.4345)\tMAE 0.540 (0.661)\n", + "Test: [0/32]\tTime 0.065 (0.065)\tLoss 0.4765 (0.4765)\tMAE 0.703 (0.703)\n", + "Test: [10/32]\tTime 0.052 (0.058)\tLoss 0.3260 (0.4179)\tMAE 0.571 (0.647)\n", + "Test: [20/32]\tTime 0.051 (0.058)\tLoss 0.5158 (0.4349)\tMAE 0.737 (0.663)\n", + "Test: [30/32]\tTime 0.084 (0.060)\tLoss 0.4214 (0.4307)\tMAE 0.661 (0.654)\n", + " * MAE 0.656\n", + "Epoch: [8][0/250]\tTime 0.257 (0.257)\tData 0.015 (0.015)\tLoss 0.3441 (0.3441)\tMAE 0.623 (0.623)\n", + "Epoch: [8][10/250]\tTime 0.157 (0.186)\tData 0.003 (0.004)\tLoss 0.2224 (0.3962)\tMAE 0.487 (0.611)\n", + "Epoch: [8][20/250]\tTime 0.161 (0.186)\tData 0.003 (0.004)\tLoss 0.3835 (0.4031)\tMAE 0.539 (0.622)\n", + "Epoch: [8][30/250]\tTime 0.182 (0.182)\tData 0.004 (0.004)\tLoss 0.5317 (0.4097)\tMAE 0.692 (0.627)\n", + "Epoch: [8][40/250]\tTime 0.254 (0.184)\tData 0.003 (0.004)\tLoss 0.4745 (0.4194)\tMAE 0.706 (0.637)\n", + "Epoch: [8][50/250]\tTime 0.142 (0.179)\tData 0.002 (0.004)\tLoss 0.4044 (0.4168)\tMAE 0.614 (0.634)\n", + "Epoch: [8][60/250]\tTime 0.173 (0.183)\tData 0.003 (0.004)\tLoss 0.2424 (0.4215)\tMAE 0.485 (0.641)\n", + "Epoch: [8][70/250]\tTime 0.152 (0.182)\tData 0.003 (0.004)\tLoss 0.5476 (0.4312)\tMAE 0.794 (0.648)\n", + "Epoch: [8][80/250]\tTime 0.134 (0.181)\tData 0.003 (0.004)\tLoss 0.3603 (0.4309)\tMAE 0.662 (0.654)\n", + "Epoch: [8][90/250]\tTime 0.191 (0.180)\tData 0.004 (0.004)\tLoss 0.5557 (0.4358)\tMAE 0.883 (0.665)\n", + "Epoch: [8][100/250]\tTime 0.223 (0.182)\tData 0.004 (0.004)\tLoss 0.3707 (0.4370)\tMAE 0.633 (0.668)\n", + "Epoch: [8][110/250]\tTime 0.219 (0.181)\tData 0.004 (0.004)\tLoss 0.3026 (0.4326)\tMAE 0.617 (0.667)\n", + "Epoch: [8][120/250]\tTime 0.239 (0.182)\tData 0.004 (0.004)\tLoss 0.4028 (0.4314)\tMAE 0.713 (0.668)\n", + "Epoch: [8][130/250]\tTime 0.185 (0.184)\tData 0.004 (0.004)\tLoss 0.3833 (0.4335)\tMAE 0.655 (0.671)\n", + "Epoch: [8][140/250]\tTime 0.147 (0.182)\tData 0.003 (0.004)\tLoss 0.3214 (0.4382)\tMAE 0.634 (0.675)\n", + "Epoch: [8][150/250]\tTime 0.170 (0.181)\tData 0.003 (0.004)\tLoss 0.5922 (0.4427)\tMAE 0.743 (0.676)\n", + "Epoch: [8][160/250]\tTime 0.177 (0.183)\tData 0.003 (0.003)\tLoss 0.2860 (0.4394)\tMAE 0.531 (0.673)\n", + "Epoch: [8][170/250]\tTime 0.281 (0.184)\tData 0.004 (0.003)\tLoss 0.4215 (0.4416)\tMAE 0.661 (0.672)\n", + "Epoch: [8][180/250]\tTime 0.177 (0.184)\tData 0.004 (0.003)\tLoss 0.3003 (0.4382)\tMAE 0.534 (0.670)\n", + "Epoch: [8][190/250]\tTime 0.179 (0.185)\tData 0.003 (0.003)\tLoss 0.4251 (0.4374)\tMAE 0.674 (0.669)\n", + "Epoch: [8][200/250]\tTime 0.153 (0.185)\tData 0.004 (0.004)\tLoss 0.3510 (0.4365)\tMAE 0.552 (0.669)\n", + "Epoch: [8][210/250]\tTime 0.197 (0.185)\tData 0.004 (0.004)\tLoss 0.3864 (0.4341)\tMAE 0.641 (0.667)\n", + "Epoch: [8][220/250]\tTime 0.225 (0.185)\tData 0.004 (0.004)\tLoss 0.2485 (0.4330)\tMAE 0.481 (0.665)\n", + "Epoch: [8][230/250]\tTime 0.386 (0.185)\tData 0.003 (0.004)\tLoss 0.2470 (0.4300)\tMAE 0.499 (0.664)\n", + "Epoch: [8][240/250]\tTime 0.152 (0.186)\tData 0.003 (0.003)\tLoss 0.3223 (0.4331)\tMAE 0.622 (0.665)\n", + "Test: [0/32]\tTime 0.051 (0.051)\tLoss 0.5894 (0.5894)\tMAE 0.794 (0.794)\n", + "Test: [10/32]\tTime 0.089 (0.063)\tLoss 0.4716 (0.4506)\tMAE 0.751 (0.676)\n", + "Test: [20/32]\tTime 0.059 (0.064)\tLoss 0.3390 (0.4373)\tMAE 0.580 (0.654)\n", + "Test: [30/32]\tTime 0.063 (0.063)\tLoss 0.4479 (0.4116)\tMAE 0.634 (0.636)\n", + " * MAE 0.636\n", + "Epoch: [9][0/250]\tTime 0.183 (0.183)\tData 0.015 (0.015)\tLoss 0.2382 (0.2382)\tMAE 0.528 (0.528)\n", + "Epoch: [9][10/250]\tTime 0.167 (0.163)\tData 0.003 (0.004)\tLoss 0.2643 (0.3478)\tMAE 0.584 (0.610)\n", + "Epoch: [9][20/250]\tTime 0.161 (0.175)\tData 0.003 (0.004)\tLoss 0.3804 (0.3840)\tMAE 0.633 (0.645)\n", + "Epoch: [9][30/250]\tTime 0.129 (0.172)\tData 0.003 (0.004)\tLoss 0.3620 (0.4079)\tMAE 0.581 (0.648)\n", + "Epoch: [9][40/250]\tTime 0.176 (0.172)\tData 0.003 (0.003)\tLoss 0.3037 (0.4033)\tMAE 0.572 (0.647)\n", + "Epoch: [9][50/250]\tTime 0.214 (0.178)\tData 0.004 (0.003)\tLoss 0.3264 (0.3931)\tMAE 0.529 (0.634)\n", + "Epoch: [9][60/250]\tTime 0.190 (0.177)\tData 0.004 (0.004)\tLoss 0.4920 (0.3896)\tMAE 0.654 (0.628)\n", + "Epoch: [9][70/250]\tTime 0.157 (0.178)\tData 0.003 (0.004)\tLoss 0.4391 (0.3959)\tMAE 0.708 (0.633)\n", + "Epoch: [9][80/250]\tTime 0.155 (0.176)\tData 0.003 (0.003)\tLoss 0.5942 (0.4010)\tMAE 0.799 (0.639)\n", + "Epoch: [9][90/250]\tTime 0.172 (0.176)\tData 0.003 (0.003)\tLoss 0.5642 (0.4063)\tMAE 0.764 (0.646)\n", + "Epoch: [9][100/250]\tTime 0.211 (0.175)\tData 0.004 (0.003)\tLoss 0.5426 (0.4101)\tMAE 0.809 (0.648)\n", + "Epoch: [9][110/250]\tTime 0.178 (0.175)\tData 0.003 (0.003)\tLoss 0.2940 (0.4110)\tMAE 0.536 (0.649)\n", + "Epoch: [9][120/250]\tTime 0.183 (0.175)\tData 0.004 (0.003)\tLoss 0.4455 (0.4155)\tMAE 0.651 (0.649)\n", + "Epoch: [9][130/250]\tTime 0.163 (0.175)\tData 0.003 (0.003)\tLoss 0.4501 (0.4167)\tMAE 0.702 (0.647)\n", + "Epoch: [9][140/250]\tTime 0.149 (0.176)\tData 0.003 (0.004)\tLoss 0.2181 (0.4135)\tMAE 0.428 (0.643)\n", + "Epoch: [9][150/250]\tTime 0.141 (0.177)\tData 0.003 (0.004)\tLoss 0.3266 (0.4116)\tMAE 0.582 (0.641)\n", + "Epoch: [9][160/250]\tTime 0.140 (0.177)\tData 0.003 (0.004)\tLoss 0.5260 (0.4124)\tMAE 0.704 (0.641)\n", + "Epoch: [9][170/250]\tTime 0.169 (0.177)\tData 0.004 (0.004)\tLoss 0.4416 (0.4151)\tMAE 0.669 (0.642)\n", + "Epoch: [9][180/250]\tTime 0.179 (0.177)\tData 0.004 (0.004)\tLoss 0.4096 (0.4153)\tMAE 0.669 (0.643)\n", + "Epoch: [9][190/250]\tTime 0.148 (0.177)\tData 0.003 (0.004)\tLoss 0.1531 (0.4139)\tMAE 0.387 (0.641)\n", + "Epoch: [9][200/250]\tTime 0.179 (0.178)\tData 0.003 (0.004)\tLoss 0.2778 (0.4160)\tMAE 0.565 (0.643)\n", + "Epoch: [9][210/250]\tTime 0.158 (0.178)\tData 0.003 (0.004)\tLoss 0.4696 (0.4163)\tMAE 0.676 (0.643)\n", + "Epoch: [9][220/250]\tTime 0.151 (0.178)\tData 0.003 (0.004)\tLoss 0.4407 (0.4153)\tMAE 0.711 (0.642)\n", + "Epoch: [9][230/250]\tTime 0.163 (0.177)\tData 0.003 (0.004)\tLoss 0.7489 (0.4190)\tMAE 0.763 (0.644)\n", + "Epoch: [9][240/250]\tTime 0.161 (0.177)\tData 0.003 (0.003)\tLoss 0.3640 (0.4166)\tMAE 0.637 (0.643)\n", + "Test: [0/32]\tTime 0.054 (0.054)\tLoss 0.2620 (0.2620)\tMAE 0.533 (0.533)\n", + "Test: [10/32]\tTime 0.054 (0.065)\tLoss 0.2912 (0.3280)\tMAE 0.573 (0.568)\n", + "Test: [20/32]\tTime 0.049 (0.069)\tLoss 0.2054 (0.3621)\tMAE 0.462 (0.590)\n", + "Test: [30/32]\tTime 0.080 (0.068)\tLoss 0.4165 (0.3906)\tMAE 0.591 (0.612)\n", + " * MAE 0.611\n", + "Epoch: [10][0/250]\tTime 0.219 (0.219)\tData 0.014 (0.014)\tLoss 0.5440 (0.5440)\tMAE 0.682 (0.682)\n", + "Epoch: [10][10/250]\tTime 0.181 (0.175)\tData 0.003 (0.005)\tLoss 0.3651 (0.4105)\tMAE 0.605 (0.628)\n", + "Epoch: [10][20/250]\tTime 0.165 (0.187)\tData 0.003 (0.004)\tLoss 0.4793 (0.4012)\tMAE 0.716 (0.635)\n", + "Epoch: [10][30/250]\tTime 0.168 (0.179)\tData 0.003 (0.004)\tLoss 0.3851 (0.4148)\tMAE 0.639 (0.643)\n", + "Epoch: [10][40/250]\tTime 0.155 (0.176)\tData 0.003 (0.004)\tLoss 0.5615 (0.4343)\tMAE 0.786 (0.663)\n", + "Epoch: [10][50/250]\tTime 0.141 (0.184)\tData 0.003 (0.004)\tLoss 0.6336 (0.4192)\tMAE 0.727 (0.650)\n", + "Epoch: [10][60/250]\tTime 0.218 (0.184)\tData 0.003 (0.004)\tLoss 0.5719 (0.4192)\tMAE 0.734 (0.650)\n", + "Epoch: [10][70/250]\tTime 0.221 (0.182)\tData 0.003 (0.004)\tLoss 0.3125 (0.4099)\tMAE 0.513 (0.640)\n", + "Epoch: [10][80/250]\tTime 0.140 (0.182)\tData 0.003 (0.004)\tLoss 0.4229 (0.4151)\tMAE 0.698 (0.643)\n", + "Epoch: [10][90/250]\tTime 0.154 (0.181)\tData 0.003 (0.003)\tLoss 0.5008 (0.4207)\tMAE 0.734 (0.647)\n", + "Epoch: [10][100/250]\tTime 0.207 (0.182)\tData 0.003 (0.003)\tLoss 0.3065 (0.4167)\tMAE 0.566 (0.645)\n", + "Epoch: [10][110/250]\tTime 0.134 (0.181)\tData 0.003 (0.003)\tLoss 0.4434 (0.4126)\tMAE 0.634 (0.641)\n", + "Epoch: [10][120/250]\tTime 0.179 (0.183)\tData 0.004 (0.003)\tLoss 0.1981 (0.4100)\tMAE 0.475 (0.638)\n", + "Epoch: [10][130/250]\tTime 0.176 (0.183)\tData 0.004 (0.003)\tLoss 0.3750 (0.4091)\tMAE 0.659 (0.638)\n", + "Epoch: [10][140/250]\tTime 0.159 (0.182)\tData 0.003 (0.003)\tLoss 0.3576 (0.4095)\tMAE 0.572 (0.638)\n", + "Epoch: [10][150/250]\tTime 0.150 (0.181)\tData 0.003 (0.003)\tLoss 0.5073 (0.4122)\tMAE 0.752 (0.640)\n", + "Epoch: [10][160/250]\tTime 0.159 (0.181)\tData 0.003 (0.003)\tLoss 0.7090 (0.4112)\tMAE 0.705 (0.637)\n", + "Epoch: [10][170/250]\tTime 0.142 (0.181)\tData 0.003 (0.003)\tLoss 0.4640 (0.4110)\tMAE 0.676 (0.639)\n", + "Epoch: [10][180/250]\tTime 0.211 (0.181)\tData 0.003 (0.003)\tLoss 0.2265 (0.4085)\tMAE 0.499 (0.637)\n", + "Epoch: [10][190/250]\tTime 0.163 (0.181)\tData 0.003 (0.004)\tLoss 0.3872 (0.4068)\tMAE 0.649 (0.636)\n", + "Epoch: [10][200/250]\tTime 0.129 (0.181)\tData 0.003 (0.004)\tLoss 0.3586 (0.4068)\tMAE 0.596 (0.637)\n", + "Epoch: [10][210/250]\tTime 0.196 (0.181)\tData 0.004 (0.004)\tLoss 0.4275 (0.4072)\tMAE 0.722 (0.636)\n", + "Epoch: [10][220/250]\tTime 0.172 (0.183)\tData 0.003 (0.004)\tLoss 0.3019 (0.4054)\tMAE 0.563 (0.636)\n", + "Epoch: [10][230/250]\tTime 0.157 (0.183)\tData 0.003 (0.004)\tLoss 0.3434 (0.4074)\tMAE 0.527 (0.637)\n", + "Epoch: [10][240/250]\tTime 0.214 (0.184)\tData 0.004 (0.004)\tLoss 0.5649 (0.4084)\tMAE 0.718 (0.636)\n", + "Test: [0/32]\tTime 0.058 (0.058)\tLoss 0.3553 (0.3553)\tMAE 0.615 (0.615)\n", + "Test: [10/32]\tTime 0.054 (0.067)\tLoss 0.6013 (0.3548)\tMAE 0.726 (0.585)\n", + "Test: [20/32]\tTime 0.045 (0.065)\tLoss 0.2549 (0.3973)\tMAE 0.502 (0.620)\n", + "Test: [30/32]\tTime 0.060 (0.064)\tLoss 0.4279 (0.4074)\tMAE 0.589 (0.620)\n", + " * MAE 0.623\n", + "Epoch: [11][0/250]\tTime 0.222 (0.222)\tData 0.013 (0.013)\tLoss 0.2771 (0.2771)\tMAE 0.558 (0.558)\n", + "Epoch: [11][10/250]\tTime 0.160 (0.190)\tData 0.003 (0.004)\tLoss 0.3236 (0.4515)\tMAE 0.658 (0.688)\n", + "Epoch: [11][20/250]\tTime 0.176 (0.183)\tData 0.004 (0.004)\tLoss 0.1939 (0.4208)\tMAE 0.428 (0.656)\n", + "Epoch: [11][30/250]\tTime 0.735 (0.200)\tData 0.005 (0.004)\tLoss 0.4237 (0.4179)\tMAE 0.553 (0.652)\n", + "Epoch: [11][40/250]\tTime 0.174 (0.200)\tData 0.003 (0.004)\tLoss 0.3652 (0.4182)\tMAE 0.680 (0.657)\n", + "Epoch: [11][50/250]\tTime 0.151 (0.198)\tData 0.003 (0.004)\tLoss 0.2341 (0.4083)\tMAE 0.503 (0.651)\n", + "Epoch: [11][60/250]\tTime 0.251 (0.204)\tData 0.005 (0.004)\tLoss 0.3686 (0.4080)\tMAE 0.648 (0.647)\n", + "Epoch: [11][70/250]\tTime 0.189 (0.200)\tData 0.004 (0.004)\tLoss 0.5077 (0.4049)\tMAE 0.645 (0.645)\n", + "Epoch: [11][80/250]\tTime 0.159 (0.199)\tData 0.003 (0.004)\tLoss 0.4419 (0.3999)\tMAE 0.671 (0.639)\n", + "Epoch: [11][90/250]\tTime 0.138 (0.198)\tData 0.003 (0.004)\tLoss 0.3184 (0.4001)\tMAE 0.596 (0.638)\n", + "Epoch: [11][100/250]\tTime 0.201 (0.199)\tData 0.003 (0.004)\tLoss 0.4129 (0.3931)\tMAE 0.647 (0.629)\n", + "Epoch: [11][110/250]\tTime 0.150 (0.198)\tData 0.003 (0.004)\tLoss 0.3549 (0.3953)\tMAE 0.629 (0.630)\n", + "Epoch: [11][120/250]\tTime 0.157 (0.195)\tData 0.003 (0.004)\tLoss 0.2500 (0.3969)\tMAE 0.492 (0.630)\n", + "Epoch: [11][130/250]\tTime 0.147 (0.194)\tData 0.003 (0.004)\tLoss 0.3837 (0.3989)\tMAE 0.588 (0.632)\n", + "Epoch: [11][140/250]\tTime 0.141 (0.194)\tData 0.003 (0.004)\tLoss 0.4234 (0.3995)\tMAE 0.643 (0.629)\n", + "Epoch: [11][150/250]\tTime 0.177 (0.196)\tData 0.003 (0.004)\tLoss 0.3339 (0.4025)\tMAE 0.616 (0.634)\n", + "Epoch: [11][160/250]\tTime 0.148 (0.195)\tData 0.003 (0.004)\tLoss 0.3276 (0.4010)\tMAE 0.531 (0.632)\n", + "Epoch: [11][170/250]\tTime 0.386 (0.196)\tData 0.003 (0.004)\tLoss 0.4244 (0.4035)\tMAE 0.763 (0.635)\n", + "Epoch: [11][180/250]\tTime 0.181 (0.194)\tData 0.003 (0.004)\tLoss 0.3494 (0.4043)\tMAE 0.572 (0.634)\n", + "Epoch: [11][190/250]\tTime 0.200 (0.194)\tData 0.004 (0.004)\tLoss 0.2793 (0.4008)\tMAE 0.483 (0.633)\n", + "Epoch: [11][200/250]\tTime 0.185 (0.195)\tData 0.003 (0.004)\tLoss 0.5770 (0.4022)\tMAE 0.834 (0.634)\n", + "Epoch: [11][210/250]\tTime 0.167 (0.196)\tData 0.003 (0.004)\tLoss 0.3743 (0.4043)\tMAE 0.573 (0.637)\n", + "Epoch: [11][220/250]\tTime 0.220 (0.196)\tData 0.004 (0.004)\tLoss 0.3438 (0.4045)\tMAE 0.617 (0.638)\n", + "Epoch: [11][230/250]\tTime 0.232 (0.196)\tData 0.004 (0.004)\tLoss 0.3767 (0.4034)\tMAE 0.665 (0.638)\n", + "Epoch: [11][240/250]\tTime 0.171 (0.197)\tData 0.003 (0.004)\tLoss 0.3738 (0.4036)\tMAE 0.587 (0.638)\n", + "Test: [0/32]\tTime 0.065 (0.065)\tLoss 0.2744 (0.2744)\tMAE 0.541 (0.541)\n", + "Test: [10/32]\tTime 0.083 (0.073)\tLoss 0.5386 (0.4069)\tMAE 0.614 (0.600)\n", + "Test: [20/32]\tTime 0.071 (0.072)\tLoss 0.2133 (0.3999)\tMAE 0.467 (0.588)\n", + "Test: [30/32]\tTime 0.055 (0.072)\tLoss 0.2644 (0.4084)\tMAE 0.517 (0.595)\n", + " * MAE 0.596\n", + "Epoch: [12][0/250]\tTime 0.220 (0.220)\tData 0.015 (0.015)\tLoss 0.4769 (0.4769)\tMAE 0.676 (0.676)\n", + "Epoch: [12][10/250]\tTime 0.216 (0.184)\tData 0.004 (0.004)\tLoss 0.3294 (0.3510)\tMAE 0.584 (0.595)\n", + "Epoch: [12][20/250]\tTime 0.180 (0.191)\tData 0.003 (0.004)\tLoss 0.3842 (0.3792)\tMAE 0.625 (0.624)\n", + "Epoch: [12][30/250]\tTime 0.232 (0.191)\tData 0.003 (0.004)\tLoss 0.2587 (0.3834)\tMAE 0.534 (0.625)\n", + "Epoch: [12][40/250]\tTime 0.136 (0.188)\tData 0.003 (0.004)\tLoss 0.3318 (0.3717)\tMAE 0.666 (0.614)\n", + "Epoch: [12][50/250]\tTime 0.303 (0.187)\tData 0.004 (0.004)\tLoss 0.2610 (0.3719)\tMAE 0.468 (0.609)\n", + "Epoch: [12][60/250]\tTime 0.193 (0.186)\tData 0.003 (0.004)\tLoss 0.4297 (0.3836)\tMAE 0.574 (0.611)\n", + "Epoch: [12][70/250]\tTime 0.202 (0.185)\tData 0.003 (0.004)\tLoss 0.3913 (0.3865)\tMAE 0.652 (0.612)\n", + "Epoch: [12][80/250]\tTime 0.205 (0.186)\tData 0.004 (0.004)\tLoss 0.3577 (0.3829)\tMAE 0.588 (0.610)\n", + "Epoch: [12][90/250]\tTime 0.177 (0.186)\tData 0.003 (0.004)\tLoss 0.3465 (0.3829)\tMAE 0.521 (0.611)\n", + "Epoch: [12][100/250]\tTime 0.165 (0.186)\tData 0.003 (0.004)\tLoss 0.2682 (0.3809)\tMAE 0.532 (0.611)\n", + "Epoch: [12][110/250]\tTime 0.174 (0.189)\tData 0.004 (0.004)\tLoss 0.3912 (0.3806)\tMAE 0.625 (0.609)\n", + "Epoch: [12][120/250]\tTime 0.181 (0.188)\tData 0.004 (0.004)\tLoss 0.4337 (0.3781)\tMAE 0.684 (0.608)\n", + "Epoch: [12][130/250]\tTime 0.286 (0.189)\tData 0.004 (0.004)\tLoss 0.3292 (0.3813)\tMAE 0.611 (0.609)\n", + "Epoch: [12][140/250]\tTime 0.132 (0.190)\tData 0.003 (0.004)\tLoss 0.4266 (0.3867)\tMAE 0.638 (0.613)\n", + "Epoch: [12][150/250]\tTime 0.185 (0.191)\tData 0.004 (0.004)\tLoss 0.5414 (0.3852)\tMAE 0.756 (0.613)\n", + "Epoch: [12][160/250]\tTime 0.161 (0.191)\tData 0.004 (0.004)\tLoss 0.3606 (0.3840)\tMAE 0.658 (0.614)\n", + "Epoch: [12][170/250]\tTime 0.261 (0.196)\tData 0.004 (0.004)\tLoss 0.5953 (0.3876)\tMAE 0.777 (0.618)\n", + "Epoch: [12][180/250]\tTime 0.170 (0.197)\tData 0.004 (0.004)\tLoss 0.4946 (0.3904)\tMAE 0.683 (0.621)\n", + "Epoch: [12][190/250]\tTime 0.235 (0.197)\tData 0.004 (0.004)\tLoss 0.3760 (0.3904)\tMAE 0.630 (0.622)\n", + "Epoch: [12][200/250]\tTime 0.163 (0.195)\tData 0.003 (0.004)\tLoss 0.3049 (0.3883)\tMAE 0.542 (0.621)\n", + "Epoch: [12][210/250]\tTime 0.212 (0.195)\tData 0.004 (0.004)\tLoss 0.2461 (0.3882)\tMAE 0.549 (0.621)\n", + "Epoch: [12][220/250]\tTime 0.235 (0.201)\tData 0.004 (0.004)\tLoss 0.4240 (0.3889)\tMAE 0.700 (0.622)\n", + "Epoch: [12][230/250]\tTime 0.150 (0.201)\tData 0.003 (0.004)\tLoss 0.6367 (0.3895)\tMAE 0.778 (0.623)\n", + "Epoch: [12][240/250]\tTime 0.165 (0.203)\tData 0.003 (0.004)\tLoss 0.2624 (0.3903)\tMAE 0.506 (0.624)\n", + "Test: [0/32]\tTime 0.059 (0.059)\tLoss 0.2323 (0.2323)\tMAE 0.549 (0.549)\n", + "Test: [10/32]\tTime 0.049 (0.070)\tLoss 0.5548 (0.3902)\tMAE 0.690 (0.609)\n", + "Test: [20/32]\tTime 0.054 (0.064)\tLoss 0.2915 (0.3774)\tMAE 0.540 (0.604)\n", + "Test: [30/32]\tTime 0.053 (0.063)\tLoss 0.3523 (0.3685)\tMAE 0.535 (0.599)\n", + " * MAE 0.599\n", + "Epoch: [13][0/250]\tTime 0.188 (0.188)\tData 0.014 (0.014)\tLoss 0.3288 (0.3288)\tMAE 0.561 (0.561)\n", + "Epoch: [13][10/250]\tTime 0.234 (0.203)\tData 0.003 (0.005)\tLoss 0.4739 (0.3703)\tMAE 0.686 (0.612)\n", + "Epoch: [13][20/250]\tTime 0.169 (0.200)\tData 0.004 (0.004)\tLoss 0.4982 (0.3375)\tMAE 0.744 (0.587)\n", + "Epoch: [13][30/250]\tTime 0.272 (0.208)\tData 0.003 (0.004)\tLoss 0.2007 (0.3322)\tMAE 0.467 (0.575)\n", + "Epoch: [13][40/250]\tTime 0.143 (0.204)\tData 0.003 (0.004)\tLoss 0.3053 (0.3359)\tMAE 0.505 (0.575)\n", + "Epoch: [13][50/250]\tTime 0.198 (0.202)\tData 0.004 (0.004)\tLoss 0.3635 (0.3337)\tMAE 0.650 (0.575)\n", + "Epoch: [13][60/250]\tTime 0.154 (0.204)\tData 0.004 (0.004)\tLoss 0.7786 (0.3451)\tMAE 0.766 (0.579)\n", + "Epoch: [13][70/250]\tTime 0.148 (0.199)\tData 0.003 (0.004)\tLoss 0.5040 (0.3561)\tMAE 0.707 (0.585)\n", + "Epoch: [13][80/250]\tTime 0.246 (0.202)\tData 0.004 (0.004)\tLoss 0.5174 (0.3598)\tMAE 0.716 (0.589)\n", + "Epoch: [13][90/250]\tTime 0.191 (0.200)\tData 0.003 (0.004)\tLoss 0.2854 (0.3651)\tMAE 0.523 (0.593)\n", + "Epoch: [13][100/250]\tTime 0.252 (0.199)\tData 0.003 (0.004)\tLoss 0.2867 (0.3646)\tMAE 0.527 (0.591)\n", + "Epoch: [13][110/250]\tTime 0.251 (0.199)\tData 0.004 (0.004)\tLoss 0.4514 (0.3654)\tMAE 0.689 (0.594)\n", + "Epoch: [13][120/250]\tTime 0.178 (0.199)\tData 0.003 (0.004)\tLoss 0.2681 (0.3643)\tMAE 0.546 (0.593)\n", + "Epoch: [13][130/250]\tTime 0.186 (0.199)\tData 0.003 (0.003)\tLoss 0.2496 (0.3664)\tMAE 0.578 (0.595)\n", + "Epoch: [13][140/250]\tTime 0.164 (0.200)\tData 0.003 (0.003)\tLoss 0.4347 (0.3703)\tMAE 0.571 (0.597)\n", + "Epoch: [13][150/250]\tTime 0.174 (0.200)\tData 0.003 (0.004)\tLoss 0.3783 (0.3720)\tMAE 0.591 (0.600)\n", + "Epoch: [13][160/250]\tTime 0.252 (0.202)\tData 0.004 (0.004)\tLoss 0.5642 (0.3742)\tMAE 0.753 (0.602)\n", + "Epoch: [13][170/250]\tTime 0.293 (0.206)\tData 0.004 (0.004)\tLoss 0.4931 (0.3736)\tMAE 0.743 (0.602)\n", + "Epoch: [13][180/250]\tTime 0.209 (0.206)\tData 0.004 (0.004)\tLoss 0.2631 (0.3724)\tMAE 0.519 (0.601)\n", + "Epoch: [13][190/250]\tTime 0.207 (0.206)\tData 0.004 (0.004)\tLoss 0.3078 (0.3714)\tMAE 0.572 (0.601)\n", + "Epoch: [13][200/250]\tTime 0.187 (0.207)\tData 0.003 (0.004)\tLoss 0.3855 (0.3696)\tMAE 0.619 (0.601)\n", + "Epoch: [13][210/250]\tTime 0.209 (0.207)\tData 0.004 (0.004)\tLoss 0.4165 (0.3721)\tMAE 0.666 (0.604)\n", + "Epoch: [13][220/250]\tTime 0.205 (0.207)\tData 0.003 (0.004)\tLoss 0.2489 (0.3713)\tMAE 0.542 (0.603)\n", + "Epoch: [13][230/250]\tTime 0.309 (0.207)\tData 0.015 (0.004)\tLoss 0.4796 (0.3736)\tMAE 0.684 (0.605)\n", + "Epoch: [13][240/250]\tTime 0.198 (0.207)\tData 0.004 (0.004)\tLoss 0.3250 (0.3736)\tMAE 0.536 (0.604)\n", + "Test: [0/32]\tTime 0.048 (0.048)\tLoss 0.3574 (0.3574)\tMAE 0.599 (0.599)\n", + "Test: [10/32]\tTime 0.078 (0.064)\tLoss 0.4672 (0.4183)\tMAE 0.597 (0.636)\n", + "Test: [20/32]\tTime 0.049 (0.067)\tLoss 0.2910 (0.4249)\tMAE 0.552 (0.631)\n", + "Test: [30/32]\tTime 0.057 (0.066)\tLoss 0.2491 (0.4272)\tMAE 0.501 (0.633)\n", + " * MAE 0.632\n", + "Epoch: [14][0/250]\tTime 0.210 (0.210)\tData 0.014 (0.014)\tLoss 0.4944 (0.4944)\tMAE 0.690 (0.690)\n", + "Epoch: [14][10/250]\tTime 0.153 (0.201)\tData 0.003 (0.004)\tLoss 0.6129 (0.3786)\tMAE 0.758 (0.593)\n", + "Epoch: [14][20/250]\tTime 0.178 (0.206)\tData 0.004 (0.004)\tLoss 0.6031 (0.3769)\tMAE 0.742 (0.601)\n", + "Epoch: [14][30/250]\tTime 0.184 (0.191)\tData 0.003 (0.004)\tLoss 0.2383 (0.3600)\tMAE 0.475 (0.591)\n", + "Epoch: [14][40/250]\tTime 0.233 (0.188)\tData 0.004 (0.003)\tLoss 0.5159 (0.3561)\tMAE 0.720 (0.586)\n", + "Epoch: [14][50/250]\tTime 0.159 (0.187)\tData 0.003 (0.003)\tLoss 0.3261 (0.3727)\tMAE 0.626 (0.600)\n", + "Epoch: [14][60/250]\tTime 0.246 (0.186)\tData 0.003 (0.003)\tLoss 0.1426 (0.3627)\tMAE 0.382 (0.593)\n", + "Epoch: [14][70/250]\tTime 0.296 (0.188)\tData 0.003 (0.003)\tLoss 0.2597 (0.3614)\tMAE 0.494 (0.591)\n", + "Epoch: [14][80/250]\tTime 0.258 (0.191)\tData 0.004 (0.003)\tLoss 0.5274 (0.3671)\tMAE 0.804 (0.597)\n", + "Epoch: [14][90/250]\tTime 0.279 (0.190)\tData 0.005 (0.003)\tLoss 0.8883 (0.3765)\tMAE 0.924 (0.602)\n", + "Epoch: [14][100/250]\tTime 0.241 (0.189)\tData 0.003 (0.003)\tLoss 0.4184 (0.3764)\tMAE 0.659 (0.603)\n", + "Epoch: [14][110/250]\tTime 0.165 (0.187)\tData 0.004 (0.003)\tLoss 0.3202 (0.3722)\tMAE 0.574 (0.601)\n", + "Epoch: [14][120/250]\tTime 0.272 (0.190)\tData 0.003 (0.003)\tLoss 0.4934 (0.3677)\tMAE 0.685 (0.594)\n", + "Epoch: [14][130/250]\tTime 0.190 (0.190)\tData 0.004 (0.003)\tLoss 0.4282 (0.3695)\tMAE 0.668 (0.599)\n", + "Epoch: [14][140/250]\tTime 0.183 (0.190)\tData 0.003 (0.003)\tLoss 0.2625 (0.3669)\tMAE 0.533 (0.597)\n", + "Epoch: [14][150/250]\tTime 0.176 (0.189)\tData 0.003 (0.003)\tLoss 0.2601 (0.3663)\tMAE 0.512 (0.597)\n", + "Epoch: [14][160/250]\tTime 0.174 (0.190)\tData 0.003 (0.003)\tLoss 0.4336 (0.3642)\tMAE 0.686 (0.594)\n", + "Epoch: [14][170/250]\tTime 0.191 (0.189)\tData 0.003 (0.003)\tLoss 0.1962 (0.3623)\tMAE 0.440 (0.594)\n", + "Epoch: [14][180/250]\tTime 0.140 (0.191)\tData 0.004 (0.003)\tLoss 0.5008 (0.3638)\tMAE 0.748 (0.595)\n", + "Epoch: [14][190/250]\tTime 0.132 (0.191)\tData 0.004 (0.004)\tLoss 0.4536 (0.3603)\tMAE 0.718 (0.594)\n", + "Epoch: [14][200/250]\tTime 0.155 (0.191)\tData 0.003 (0.004)\tLoss 0.2740 (0.3594)\tMAE 0.576 (0.594)\n", + "Epoch: [14][210/250]\tTime 0.360 (0.190)\tData 0.004 (0.004)\tLoss 0.3689 (0.3584)\tMAE 0.604 (0.594)\n", + "Epoch: [14][220/250]\tTime 0.191 (0.189)\tData 0.003 (0.003)\tLoss 0.5392 (0.3613)\tMAE 0.698 (0.595)\n", + "Epoch: [14][230/250]\tTime 0.258 (0.191)\tData 0.004 (0.004)\tLoss 0.3134 (0.3594)\tMAE 0.501 (0.594)\n", + "Epoch: [14][240/250]\tTime 0.190 (0.192)\tData 0.004 (0.004)\tLoss 0.2365 (0.3585)\tMAE 0.468 (0.594)\n", + "Test: [0/32]\tTime 0.055 (0.055)\tLoss 0.3017 (0.3017)\tMAE 0.509 (0.509)\n", + "Test: [10/32]\tTime 0.057 (0.063)\tLoss 0.4859 (0.3435)\tMAE 0.670 (0.572)\n", + "Test: [20/32]\tTime 0.055 (0.067)\tLoss 0.3399 (0.3744)\tMAE 0.595 (0.606)\n", + "Test: [30/32]\tTime 0.057 (0.064)\tLoss 0.3369 (0.3691)\tMAE 0.617 (0.604)\n", + " * MAE 0.603\n", + "Epoch: [15][0/250]\tTime 0.147 (0.147)\tData 0.015 (0.015)\tLoss 0.2627 (0.2627)\tMAE 0.516 (0.516)\n", + "Epoch: [15][10/250]\tTime 0.167 (0.196)\tData 0.003 (0.004)\tLoss 0.2885 (0.2697)\tMAE 0.516 (0.510)\n", + "Epoch: [15][20/250]\tTime 0.143 (0.190)\tData 0.003 (0.004)\tLoss 0.2671 (0.3109)\tMAE 0.522 (0.548)\n", + "Epoch: [15][30/250]\tTime 0.150 (0.192)\tData 0.003 (0.004)\tLoss 0.2784 (0.3158)\tMAE 0.513 (0.552)\n", + "Epoch: [15][40/250]\tTime 0.196 (0.190)\tData 0.003 (0.004)\tLoss 0.5146 (0.3336)\tMAE 0.717 (0.571)\n", + "Epoch: [15][50/250]\tTime 0.176 (0.191)\tData 0.003 (0.003)\tLoss 0.3698 (0.3430)\tMAE 0.611 (0.579)\n", + "Epoch: [15][60/250]\tTime 0.277 (0.212)\tData 0.014 (0.004)\tLoss 0.3385 (0.3531)\tMAE 0.619 (0.592)\n", + "Epoch: [15][70/250]\tTime 0.330 (0.219)\tData 0.003 (0.004)\tLoss 0.3103 (0.3534)\tMAE 0.578 (0.591)\n", + "Epoch: [15][80/250]\tTime 0.180 (0.218)\tData 0.004 (0.004)\tLoss 0.2809 (0.3559)\tMAE 0.510 (0.594)\n", + "Epoch: [15][90/250]\tTime 0.205 (0.218)\tData 0.018 (0.004)\tLoss 0.3127 (0.3570)\tMAE 0.588 (0.592)\n", + "Epoch: [15][100/250]\tTime 0.151 (0.216)\tData 0.003 (0.004)\tLoss 0.3793 (0.3566)\tMAE 0.595 (0.594)\n", + "Epoch: [15][110/250]\tTime 0.192 (0.215)\tData 0.004 (0.004)\tLoss 0.5200 (0.3626)\tMAE 0.737 (0.600)\n", + "Epoch: [15][120/250]\tTime 0.247 (0.214)\tData 0.004 (0.004)\tLoss 0.1704 (0.3574)\tMAE 0.442 (0.595)\n", + "Epoch: [15][130/250]\tTime 0.228 (0.212)\tData 0.004 (0.004)\tLoss 0.5074 (0.3576)\tMAE 0.693 (0.597)\n", + "Epoch: [15][140/250]\tTime 0.332 (0.211)\tData 0.004 (0.004)\tLoss 0.3991 (0.3562)\tMAE 0.642 (0.594)\n", + "Epoch: [15][150/250]\tTime 0.314 (0.210)\tData 0.003 (0.004)\tLoss 0.4164 (0.3570)\tMAE 0.663 (0.593)\n", + "Epoch: [15][160/250]\tTime 0.195 (0.212)\tData 0.004 (0.004)\tLoss 0.5578 (0.3569)\tMAE 0.706 (0.594)\n", + "Epoch: [15][170/250]\tTime 0.201 (0.213)\tData 0.003 (0.004)\tLoss 0.3102 (0.3578)\tMAE 0.512 (0.592)\n", + "Epoch: [15][180/250]\tTime 0.217 (0.213)\tData 0.004 (0.004)\tLoss 0.2178 (0.3592)\tMAE 0.500 (0.593)\n", + "Epoch: [15][190/250]\tTime 0.247 (0.213)\tData 0.004 (0.004)\tLoss 0.2482 (0.3566)\tMAE 0.483 (0.591)\n", + "Epoch: [15][200/250]\tTime 0.243 (0.215)\tData 0.004 (0.004)\tLoss 0.2802 (0.3538)\tMAE 0.501 (0.588)\n", + "Epoch: [15][210/250]\tTime 0.185 (0.214)\tData 0.004 (0.004)\tLoss 0.3719 (0.3561)\tMAE 0.573 (0.589)\n", + "Epoch: [15][220/250]\tTime 0.171 (0.213)\tData 0.004 (0.004)\tLoss 0.3146 (0.3532)\tMAE 0.561 (0.587)\n", + "Epoch: [15][230/250]\tTime 0.182 (0.211)\tData 0.004 (0.004)\tLoss 0.3182 (0.3515)\tMAE 0.533 (0.586)\n", + "Epoch: [15][240/250]\tTime 0.184 (0.211)\tData 0.003 (0.004)\tLoss 0.2999 (0.3505)\tMAE 0.589 (0.584)\n", + "Test: [0/32]\tTime 0.058 (0.058)\tLoss 0.3328 (0.3328)\tMAE 0.504 (0.504)\n", + "Test: [10/32]\tTime 0.051 (0.067)\tLoss 0.2791 (0.3533)\tMAE 0.468 (0.547)\n", + "Test: [20/32]\tTime 0.066 (0.067)\tLoss 0.1972 (0.3273)\tMAE 0.443 (0.540)\n", + "Test: [30/32]\tTime 0.079 (0.067)\tLoss 0.2635 (0.3359)\tMAE 0.549 (0.546)\n", + " * MAE 0.546\n", + "Epoch: [16][0/250]\tTime 0.303 (0.303)\tData 0.014 (0.014)\tLoss 0.3745 (0.3745)\tMAE 0.634 (0.634)\n", + "Epoch: [16][10/250]\tTime 0.187 (0.216)\tData 0.003 (0.004)\tLoss 0.5863 (0.3846)\tMAE 0.681 (0.598)\n", + "Epoch: [16][20/250]\tTime 0.168 (0.215)\tData 0.003 (0.004)\tLoss 0.4854 (0.3911)\tMAE 0.739 (0.603)\n", + "Epoch: [16][30/250]\tTime 0.240 (0.228)\tData 0.004 (0.004)\tLoss 0.2375 (0.3834)\tMAE 0.483 (0.599)\n", + "Epoch: [16][40/250]\tTime 0.204 (0.232)\tData 0.003 (0.004)\tLoss 0.3221 (0.3766)\tMAE 0.638 (0.602)\n", + "Epoch: [16][50/250]\tTime 0.268 (0.233)\tData 0.004 (0.004)\tLoss 0.4791 (0.3660)\tMAE 0.720 (0.595)\n", + "Epoch: [16][60/250]\tTime 0.699 (0.307)\tData 0.006 (0.004)\tLoss 0.2889 (0.3670)\tMAE 0.564 (0.600)\n", + "Epoch: [16][70/250]\tTime 0.673 (0.350)\tData 0.007 (0.005)\tLoss 0.3658 (0.3760)\tMAE 0.691 (0.607)\n", + "Epoch: [16][80/250]\tTime 0.300 (0.343)\tData 0.004 (0.005)\tLoss 0.3657 (0.3736)\tMAE 0.563 (0.610)\n", + "Epoch: [16][90/250]\tTime 0.232 (0.329)\tData 0.004 (0.005)\tLoss 0.2981 (0.3769)\tMAE 0.614 (0.613)\n", + "Epoch: [16][100/250]\tTime 0.196 (0.317)\tData 0.003 (0.005)\tLoss 0.3315 (0.3755)\tMAE 0.640 (0.613)\n", + "Epoch: [16][110/250]\tTime 0.163 (0.305)\tData 0.004 (0.005)\tLoss 0.2039 (0.3709)\tMAE 0.503 (0.608)\n", + "Epoch: [16][120/250]\tTime 0.195 (0.296)\tData 0.004 (0.005)\tLoss 0.2801 (0.3680)\tMAE 0.515 (0.604)\n", + "Epoch: [16][130/250]\tTime 0.215 (0.287)\tData 0.004 (0.005)\tLoss 0.2430 (0.3625)\tMAE 0.492 (0.598)\n", + "Epoch: [16][140/250]\tTime 0.275 (0.281)\tData 0.004 (0.004)\tLoss 0.2891 (0.3582)\tMAE 0.537 (0.595)\n", + "Epoch: [16][150/250]\tTime 0.185 (0.276)\tData 0.003 (0.005)\tLoss 0.5269 (0.3589)\tMAE 0.655 (0.592)\n", + "Epoch: [16][160/250]\tTime 0.226 (0.273)\tData 0.004 (0.004)\tLoss 0.2410 (0.3572)\tMAE 0.483 (0.591)\n", + "Epoch: [16][170/250]\tTime 0.200 (0.270)\tData 0.004 (0.004)\tLoss 0.2697 (0.3548)\tMAE 0.546 (0.589)\n", + "Epoch: [16][180/250]\tTime 0.157 (0.269)\tData 0.003 (0.004)\tLoss 0.2051 (0.3516)\tMAE 0.397 (0.587)\n", + "Epoch: [16][190/250]\tTime 0.218 (0.265)\tData 0.003 (0.004)\tLoss 0.3511 (0.3497)\tMAE 0.669 (0.586)\n", + "Epoch: [16][200/250]\tTime 0.151 (0.261)\tData 0.003 (0.004)\tLoss 0.2687 (0.3466)\tMAE 0.501 (0.582)\n", + "Epoch: [16][210/250]\tTime 0.323 (0.261)\tData 0.004 (0.004)\tLoss 0.3833 (0.3457)\tMAE 0.600 (0.581)\n", + "Epoch: [16][220/250]\tTime 0.259 (0.259)\tData 0.004 (0.004)\tLoss 0.2492 (0.3470)\tMAE 0.558 (0.582)\n", + "Epoch: [16][230/250]\tTime 0.201 (0.261)\tData 0.004 (0.004)\tLoss 0.2802 (0.3463)\tMAE 0.533 (0.581)\n", + "Epoch: [16][240/250]\tTime 0.171 (0.259)\tData 0.004 (0.004)\tLoss 0.3471 (0.3468)\tMAE 0.641 (0.581)\n", + "Test: [0/32]\tTime 0.049 (0.049)\tLoss 0.2841 (0.2841)\tMAE 0.498 (0.498)\n", + "Test: [10/32]\tTime 0.064 (0.065)\tLoss 0.2600 (0.3284)\tMAE 0.550 (0.560)\n", + "Test: [20/32]\tTime 0.069 (0.066)\tLoss 0.5834 (0.3452)\tMAE 0.683 (0.577)\n", + "Test: [30/32]\tTime 0.048 (0.065)\tLoss 0.2541 (0.3544)\tMAE 0.488 (0.577)\n", + " * MAE 0.575\n", + "Epoch: [17][0/250]\tTime 0.157 (0.157)\tData 0.013 (0.013)\tLoss 0.3260 (0.3260)\tMAE 0.488 (0.488)\n", + "Epoch: [17][10/250]\tTime 0.313 (0.194)\tData 0.003 (0.004)\tLoss 0.3020 (0.2612)\tMAE 0.580 (0.509)\n", + "Epoch: [17][20/250]\tTime 0.168 (0.203)\tData 0.003 (0.004)\tLoss 0.2998 (0.2872)\tMAE 0.546 (0.531)\n", + "Epoch: [17][30/250]\tTime 0.175 (0.201)\tData 0.003 (0.004)\tLoss 0.4255 (0.3102)\tMAE 0.704 (0.548)\n", + "Epoch: [17][40/250]\tTime 0.264 (0.210)\tData 0.005 (0.004)\tLoss 0.3407 (0.3211)\tMAE 0.587 (0.558)\n", + "Epoch: [17][50/250]\tTime 0.210 (0.212)\tData 0.004 (0.004)\tLoss 0.3256 (0.3106)\tMAE 0.547 (0.546)\n", + "Epoch: [17][60/250]\tTime 0.410 (0.216)\tData 0.003 (0.004)\tLoss 0.3634 (0.3163)\tMAE 0.596 (0.553)\n", + "Epoch: [17][70/250]\tTime 0.174 (0.215)\tData 0.003 (0.004)\tLoss 0.5266 (0.3195)\tMAE 0.671 (0.557)\n", + "Epoch: [17][80/250]\tTime 0.262 (0.218)\tData 0.004 (0.004)\tLoss 0.3973 (0.3159)\tMAE 0.636 (0.554)\n", + "Epoch: [17][90/250]\tTime 0.154 (0.216)\tData 0.003 (0.004)\tLoss 0.1435 (0.3161)\tMAE 0.388 (0.553)\n", + "Epoch: [17][100/250]\tTime 0.198 (0.217)\tData 0.004 (0.004)\tLoss 0.4337 (0.3264)\tMAE 0.652 (0.558)\n", + "Epoch: [17][110/250]\tTime 0.187 (0.214)\tData 0.004 (0.004)\tLoss 0.2777 (0.3288)\tMAE 0.530 (0.561)\n", + "Epoch: [17][120/250]\tTime 0.200 (0.215)\tData 0.004 (0.004)\tLoss 0.2528 (0.3308)\tMAE 0.586 (0.565)\n", + "Epoch: [17][130/250]\tTime 0.174 (0.214)\tData 0.004 (0.004)\tLoss 0.4112 (0.3306)\tMAE 0.622 (0.566)\n", + "Epoch: [17][140/250]\tTime 0.223 (0.210)\tData 0.003 (0.004)\tLoss 0.3281 (0.3340)\tMAE 0.599 (0.568)\n", + "Epoch: [17][150/250]\tTime 0.141 (0.210)\tData 0.003 (0.004)\tLoss 0.1745 (0.3314)\tMAE 0.415 (0.568)\n", + "Epoch: [17][160/250]\tTime 0.204 (0.210)\tData 0.004 (0.004)\tLoss 0.2418 (0.3292)\tMAE 0.426 (0.565)\n", + "Epoch: [17][170/250]\tTime 0.301 (0.211)\tData 0.004 (0.004)\tLoss 0.2846 (0.3311)\tMAE 0.519 (0.567)\n", + "Epoch: [17][180/250]\tTime 0.214 (0.212)\tData 0.004 (0.004)\tLoss 0.2302 (0.3291)\tMAE 0.512 (0.565)\n", + "Epoch: [17][190/250]\tTime 0.166 (0.212)\tData 0.003 (0.004)\tLoss 0.3098 (0.3312)\tMAE 0.554 (0.566)\n", + "Epoch: [17][200/250]\tTime 0.176 (0.212)\tData 0.004 (0.004)\tLoss 0.2654 (0.3290)\tMAE 0.516 (0.565)\n", + "Epoch: [17][210/250]\tTime 0.212 (0.211)\tData 0.004 (0.004)\tLoss 0.5269 (0.3307)\tMAE 0.738 (0.567)\n", + "Epoch: [17][220/250]\tTime 0.183 (0.212)\tData 0.004 (0.004)\tLoss 0.2829 (0.3327)\tMAE 0.488 (0.568)\n", + "Epoch: [17][230/250]\tTime 0.180 (0.210)\tData 0.003 (0.004)\tLoss 0.3411 (0.3324)\tMAE 0.521 (0.567)\n", + "Epoch: [17][240/250]\tTime 0.164 (0.211)\tData 0.003 (0.004)\tLoss 0.2652 (0.3300)\tMAE 0.534 (0.564)\n", + "Test: [0/32]\tTime 0.052 (0.052)\tLoss 0.1646 (0.1646)\tMAE 0.391 (0.391)\n", + "Test: [10/32]\tTime 0.043 (0.063)\tLoss 0.2788 (0.3223)\tMAE 0.529 (0.550)\n", + "Test: [20/32]\tTime 0.072 (0.066)\tLoss 0.3993 (0.3203)\tMAE 0.655 (0.549)\n", + "Test: [30/32]\tTime 0.067 (0.072)\tLoss 0.2580 (0.3270)\tMAE 0.516 (0.552)\n", + " * MAE 0.553\n", + "Epoch: [18][0/250]\tTime 0.579 (0.579)\tData 0.016 (0.016)\tLoss 0.2355 (0.2355)\tMAE 0.500 (0.500)\n", + "Epoch: [18][10/250]\tTime 0.176 (0.253)\tData 0.004 (0.005)\tLoss 0.1843 (0.2621)\tMAE 0.407 (0.501)\n", + "Epoch: [18][20/250]\tTime 0.234 (0.248)\tData 0.003 (0.004)\tLoss 0.3439 (0.2943)\tMAE 0.606 (0.548)\n", + "Epoch: [18][30/250]\tTime 0.168 (0.225)\tData 0.004 (0.004)\tLoss 0.2501 (0.2981)\tMAE 0.543 (0.548)\n", + "Epoch: [18][40/250]\tTime 0.175 (0.217)\tData 0.004 (0.004)\tLoss 0.4773 (0.3124)\tMAE 0.714 (0.554)\n", + "Epoch: [18][50/250]\tTime 0.186 (0.213)\tData 0.004 (0.004)\tLoss 0.3514 (0.3143)\tMAE 0.546 (0.558)\n", + "Epoch: [18][60/250]\tTime 0.154 (0.208)\tData 0.003 (0.004)\tLoss 0.2522 (0.3191)\tMAE 0.508 (0.559)\n", + "Epoch: [18][70/250]\tTime 0.248 (0.206)\tData 0.003 (0.004)\tLoss 0.3677 (0.3203)\tMAE 0.623 (0.561)\n", + "Epoch: [18][80/250]\tTime 0.231 (0.204)\tData 0.004 (0.004)\tLoss 0.2114 (0.3179)\tMAE 0.474 (0.556)\n", + "Epoch: [18][90/250]\tTime 0.180 (0.202)\tData 0.004 (0.004)\tLoss 0.2781 (0.3163)\tMAE 0.509 (0.557)\n", + "Epoch: [18][100/250]\tTime 0.231 (0.204)\tData 0.004 (0.004)\tLoss 0.2831 (0.3160)\tMAE 0.563 (0.554)\n", + "Epoch: [18][110/250]\tTime 0.161 (0.202)\tData 0.003 (0.004)\tLoss 0.4314 (0.3146)\tMAE 0.567 (0.551)\n", + "Epoch: [18][120/250]\tTime 0.158 (0.200)\tData 0.003 (0.004)\tLoss 0.2133 (0.3114)\tMAE 0.466 (0.549)\n", + "Epoch: [18][130/250]\tTime 0.773 (0.211)\tData 0.004 (0.004)\tLoss 0.4997 (0.3098)\tMAE 0.704 (0.547)\n", + "Epoch: [18][140/250]\tTime 0.150 (0.213)\tData 0.003 (0.004)\tLoss 0.2908 (0.3128)\tMAE 0.556 (0.550)\n", + "Epoch: [18][150/250]\tTime 0.182 (0.211)\tData 0.004 (0.004)\tLoss 0.3863 (0.3134)\tMAE 0.577 (0.550)\n", + "Epoch: [18][160/250]\tTime 0.293 (0.211)\tData 0.004 (0.004)\tLoss 0.3809 (0.3150)\tMAE 0.610 (0.551)\n", + "Epoch: [18][170/250]\tTime 0.209 (0.213)\tData 0.011 (0.004)\tLoss 0.5351 (0.3174)\tMAE 0.796 (0.555)\n", + "Epoch: [18][180/250]\tTime 0.269 (0.213)\tData 0.003 (0.004)\tLoss 0.2096 (0.3197)\tMAE 0.513 (0.557)\n", + "Epoch: [18][190/250]\tTime 0.187 (0.212)\tData 0.004 (0.004)\tLoss 0.3109 (0.3193)\tMAE 0.583 (0.555)\n", + "Epoch: [18][200/250]\tTime 0.814 (0.216)\tData 0.003 (0.004)\tLoss 0.2952 (0.3204)\tMAE 0.535 (0.557)\n", + "Epoch: [18][210/250]\tTime 0.596 (0.224)\tData 0.005 (0.004)\tLoss 0.1616 (0.3192)\tMAE 0.413 (0.556)\n", + "Epoch: [18][220/250]\tTime 0.180 (0.233)\tData 0.003 (0.004)\tLoss 0.2683 (0.3196)\tMAE 0.476 (0.555)\n", + "Epoch: [18][230/250]\tTime 0.200 (0.231)\tData 0.003 (0.004)\tLoss 0.4459 (0.3199)\tMAE 0.620 (0.556)\n", + "Epoch: [18][240/250]\tTime 0.259 (0.230)\tData 0.004 (0.004)\tLoss 0.3119 (0.3206)\tMAE 0.545 (0.556)\n", + "Test: [0/32]\tTime 0.073 (0.073)\tLoss 0.3834 (0.3834)\tMAE 0.545 (0.545)\n", + "Test: [10/32]\tTime 0.088 (0.079)\tLoss 0.2184 (0.3332)\tMAE 0.473 (0.555)\n", + "Test: [20/32]\tTime 0.066 (0.073)\tLoss 0.4771 (0.3415)\tMAE 0.648 (0.553)\n", + "Test: [30/32]\tTime 0.067 (0.070)\tLoss 0.5309 (0.3439)\tMAE 0.593 (0.550)\n", + " * MAE 0.549\n", + "Epoch: [19][0/250]\tTime 0.615 (0.615)\tData 0.341 (0.341)\tLoss 0.4198 (0.4198)\tMAE 0.639 (0.639)\n", + "Epoch: [19][10/250]\tTime 0.246 (0.240)\tData 0.004 (0.034)\tLoss 0.2483 (0.3107)\tMAE 0.513 (0.550)\n", + "Epoch: [19][20/250]\tTime 0.179 (0.225)\tData 0.003 (0.020)\tLoss 0.3073 (0.3028)\tMAE 0.529 (0.540)\n", + "Epoch: [19][30/250]\tTime 0.215 (0.219)\tData 0.004 (0.014)\tLoss 0.2193 (0.3094)\tMAE 0.505 (0.545)\n", + "Epoch: [19][40/250]\tTime 0.173 (0.220)\tData 0.003 (0.012)\tLoss 0.4815 (0.3084)\tMAE 0.656 (0.549)\n", + "Epoch: [19][50/250]\tTime 0.193 (0.222)\tData 0.004 (0.010)\tLoss 0.3125 (0.3007)\tMAE 0.548 (0.542)\n", + "Epoch: [19][60/250]\tTime 0.251 (0.220)\tData 0.004 (0.009)\tLoss 0.3636 (0.2972)\tMAE 0.569 (0.537)\n", + "Epoch: [19][70/250]\tTime 0.192 (0.216)\tData 0.004 (0.008)\tLoss 0.2206 (0.2963)\tMAE 0.428 (0.536)\n", + "Epoch: [19][80/250]\tTime 0.252 (0.215)\tData 0.004 (0.008)\tLoss 0.1847 (0.2925)\tMAE 0.426 (0.531)\n", + "Epoch: [19][90/250]\tTime 0.154 (0.212)\tData 0.003 (0.007)\tLoss 0.2424 (0.2928)\tMAE 0.494 (0.530)\n", + "Epoch: [19][100/250]\tTime 0.279 (0.217)\tData 0.004 (0.007)\tLoss 0.2836 (0.2899)\tMAE 0.579 (0.526)\n", + "Epoch: [19][110/250]\tTime 0.234 (0.214)\tData 0.003 (0.007)\tLoss 0.2339 (0.2915)\tMAE 0.487 (0.526)\n", + "Epoch: [19][120/250]\tTime 0.219 (0.216)\tData 0.004 (0.006)\tLoss 0.2688 (0.2943)\tMAE 0.512 (0.527)\n", + "Epoch: [19][130/250]\tTime 0.145 (0.215)\tData 0.003 (0.006)\tLoss 0.2282 (0.2943)\tMAE 0.425 (0.525)\n", + "Epoch: [19][140/250]\tTime 0.150 (0.215)\tData 0.003 (0.006)\tLoss 0.2196 (0.2941)\tMAE 0.463 (0.525)\n", + "Epoch: [19][150/250]\tTime 0.155 (0.214)\tData 0.003 (0.006)\tLoss 0.4131 (0.2978)\tMAE 0.619 (0.528)\n", + "Epoch: [19][160/250]\tTime 0.208 (0.212)\tData 0.003 (0.006)\tLoss 0.1891 (0.3007)\tMAE 0.477 (0.531)\n", + "Epoch: [19][170/250]\tTime 0.149 (0.212)\tData 0.003 (0.006)\tLoss 0.2545 (0.3021)\tMAE 0.492 (0.534)\n", + "Epoch: [19][180/250]\tTime 0.207 (0.212)\tData 0.004 (0.005)\tLoss 0.3148 (0.3032)\tMAE 0.576 (0.536)\n", + "Epoch: [19][190/250]\tTime 0.152 (0.212)\tData 0.003 (0.005)\tLoss 0.3726 (0.3043)\tMAE 0.547 (0.538)\n", + "Epoch: [19][200/250]\tTime 0.143 (0.211)\tData 0.003 (0.005)\tLoss 0.2800 (0.3069)\tMAE 0.633 (0.543)\n", + "Epoch: [19][210/250]\tTime 0.139 (0.209)\tData 0.003 (0.005)\tLoss 0.3059 (0.3075)\tMAE 0.575 (0.544)\n", + "Epoch: [19][220/250]\tTime 0.169 (0.209)\tData 0.003 (0.005)\tLoss 0.4631 (0.3090)\tMAE 0.681 (0.546)\n", + "Epoch: [19][230/250]\tTime 0.174 (0.211)\tData 0.003 (0.005)\tLoss 0.2870 (0.3078)\tMAE 0.543 (0.545)\n", + "Epoch: [19][240/250]\tTime 0.152 (0.210)\tData 0.004 (0.005)\tLoss 0.3424 (0.3064)\tMAE 0.574 (0.543)\n", + "Test: [0/32]\tTime 0.076 (0.076)\tLoss 0.3647 (0.3647)\tMAE 0.621 (0.621)\n", + "Test: [10/32]\tTime 0.058 (0.070)\tLoss 0.3998 (0.3472)\tMAE 0.627 (0.573)\n", + "Test: [20/32]\tTime 0.053 (0.071)\tLoss 0.4095 (0.3247)\tMAE 0.542 (0.550)\n", + "Test: [30/32]\tTime 0.066 (0.068)\tLoss 0.2889 (0.3286)\tMAE 0.517 (0.548)\n", + " * MAE 0.549\n", + "Epoch: [20][0/250]\tTime 0.248 (0.248)\tData 0.014 (0.014)\tLoss 0.1767 (0.1767)\tMAE 0.446 (0.446)\n", + "Epoch: [20][10/250]\tTime 0.166 (0.213)\tData 0.003 (0.005)\tLoss 0.2699 (0.2649)\tMAE 0.455 (0.502)\n", + "Epoch: [20][20/250]\tTime 0.212 (0.206)\tData 0.003 (0.004)\tLoss 0.2258 (0.2639)\tMAE 0.438 (0.505)\n", + "Epoch: [20][30/250]\tTime 0.261 (0.212)\tData 0.003 (0.004)\tLoss 0.3247 (0.2779)\tMAE 0.585 (0.515)\n", + "Epoch: [20][40/250]\tTime 0.186 (0.215)\tData 0.004 (0.004)\tLoss 0.3150 (0.2834)\tMAE 0.512 (0.521)\n", + "Epoch: [20][50/250]\tTime 0.189 (0.214)\tData 0.004 (0.004)\tLoss 0.2245 (0.2842)\tMAE 0.478 (0.526)\n", + "Epoch: [20][60/250]\tTime 0.160 (0.213)\tData 0.003 (0.004)\tLoss 0.4026 (0.2861)\tMAE 0.587 (0.527)\n", + "Epoch: [20][70/250]\tTime 0.207 (0.213)\tData 0.003 (0.004)\tLoss 0.3808 (0.2889)\tMAE 0.597 (0.531)\n", + "Epoch: [20][80/250]\tTime 0.141 (0.211)\tData 0.003 (0.004)\tLoss 0.4525 (0.2977)\tMAE 0.577 (0.534)\n", + "Epoch: [20][90/250]\tTime 0.210 (0.210)\tData 0.004 (0.004)\tLoss 0.2945 (0.2955)\tMAE 0.562 (0.535)\n", + "Epoch: [20][100/250]\tTime 0.239 (0.208)\tData 0.004 (0.004)\tLoss 0.2531 (0.2924)\tMAE 0.504 (0.532)\n", + "Epoch: [20][110/250]\tTime 0.224 (0.209)\tData 0.004 (0.004)\tLoss 0.3115 (0.2962)\tMAE 0.542 (0.538)\n", + "Epoch: [20][120/250]\tTime 0.146 (0.207)\tData 0.003 (0.004)\tLoss 0.3101 (0.2946)\tMAE 0.517 (0.534)\n", + "Epoch: [20][130/250]\tTime 0.167 (0.207)\tData 0.003 (0.004)\tLoss 0.3717 (0.2995)\tMAE 0.659 (0.540)\n", + "Epoch: [20][140/250]\tTime 0.172 (0.209)\tData 0.004 (0.004)\tLoss 0.3235 (0.3019)\tMAE 0.599 (0.542)\n", + "Epoch: [20][150/250]\tTime 0.221 (0.209)\tData 0.003 (0.004)\tLoss 0.2463 (0.3013)\tMAE 0.512 (0.542)\n", + "Epoch: [20][160/250]\tTime 0.137 (0.209)\tData 0.003 (0.004)\tLoss 0.1687 (0.3017)\tMAE 0.489 (0.544)\n", + "Epoch: [20][170/250]\tTime 0.216 (0.210)\tData 0.004 (0.004)\tLoss 0.2377 (0.3035)\tMAE 0.464 (0.546)\n", + "Epoch: [20][180/250]\tTime 0.133 (0.209)\tData 0.003 (0.004)\tLoss 0.5062 (0.3066)\tMAE 0.640 (0.548)\n", + "Epoch: [20][190/250]\tTime 0.199 (0.209)\tData 0.003 (0.004)\tLoss 0.2327 (0.3070)\tMAE 0.471 (0.549)\n", + "Epoch: [20][200/250]\tTime 0.208 (0.209)\tData 0.003 (0.004)\tLoss 0.5286 (0.3090)\tMAE 0.537 (0.549)\n", + "Epoch: [20][210/250]\tTime 0.208 (0.209)\tData 0.003 (0.004)\tLoss 0.2322 (0.3069)\tMAE 0.510 (0.547)\n", + "Epoch: [20][220/250]\tTime 0.169 (0.208)\tData 0.003 (0.004)\tLoss 0.4252 (0.3084)\tMAE 0.570 (0.548)\n", + "Epoch: [20][230/250]\tTime 0.190 (0.207)\tData 0.004 (0.004)\tLoss 0.4268 (0.3087)\tMAE 0.531 (0.547)\n", + "Epoch: [20][240/250]\tTime 0.214 (0.208)\tData 0.004 (0.004)\tLoss 0.2467 (0.3091)\tMAE 0.563 (0.548)\n", + "Test: [0/32]\tTime 0.066 (0.066)\tLoss 0.3244 (0.3244)\tMAE 0.583 (0.583)\n", + "Test: [10/32]\tTime 0.055 (0.099)\tLoss 0.2740 (0.3264)\tMAE 0.488 (0.549)\n", + "Test: [20/32]\tTime 0.057 (0.082)\tLoss 0.3621 (0.3463)\tMAE 0.617 (0.575)\n", + "Test: [30/32]\tTime 0.076 (0.076)\tLoss 0.4408 (0.3445)\tMAE 0.676 (0.573)\n", + " * MAE 0.573\n", + "Epoch: [21][0/250]\tTime 0.282 (0.282)\tData 0.016 (0.016)\tLoss 0.3036 (0.3036)\tMAE 0.564 (0.564)\n", + "Epoch: [21][10/250]\tTime 0.231 (0.214)\tData 0.005 (0.005)\tLoss 0.2049 (0.3179)\tMAE 0.508 (0.595)\n", + "Epoch: [21][20/250]\tTime 0.246 (0.209)\tData 0.004 (0.004)\tLoss 0.2609 (0.3313)\tMAE 0.514 (0.589)\n", + "Epoch: [21][30/250]\tTime 0.212 (0.206)\tData 0.004 (0.004)\tLoss 0.3546 (0.3303)\tMAE 0.548 (0.586)\n", + "Epoch: [21][40/250]\tTime 0.178 (0.221)\tData 0.004 (0.004)\tLoss 0.4309 (0.3231)\tMAE 0.586 (0.570)\n", + "Epoch: [21][50/250]\tTime 0.204 (0.217)\tData 0.003 (0.004)\tLoss 0.1776 (0.3129)\tMAE 0.469 (0.556)\n", + "Epoch: [21][60/250]\tTime 0.183 (0.212)\tData 0.004 (0.004)\tLoss 0.2808 (0.3048)\tMAE 0.540 (0.549)\n", + "Epoch: [21][70/250]\tTime 0.158 (0.213)\tData 0.003 (0.004)\tLoss 0.1729 (0.3020)\tMAE 0.450 (0.548)\n", + "Epoch: [21][80/250]\tTime 0.158 (0.212)\tData 0.003 (0.004)\tLoss 0.2163 (0.2936)\tMAE 0.445 (0.539)\n", + "Epoch: [21][90/250]\tTime 0.153 (0.213)\tData 0.003 (0.004)\tLoss 0.2762 (0.2911)\tMAE 0.514 (0.534)\n", + "Epoch: [21][100/250]\tTime 0.163 (0.214)\tData 0.004 (0.004)\tLoss 0.4231 (0.2935)\tMAE 0.665 (0.536)\n", + "Epoch: [21][110/250]\tTime 0.157 (0.215)\tData 0.003 (0.004)\tLoss 0.2198 (0.2922)\tMAE 0.449 (0.535)\n", + "Epoch: [21][120/250]\tTime 0.227 (0.216)\tData 0.003 (0.004)\tLoss 0.4469 (0.2980)\tMAE 0.667 (0.539)\n", + "Epoch: [21][130/250]\tTime 0.245 (0.218)\tData 0.003 (0.004)\tLoss 0.3611 (0.3003)\tMAE 0.566 (0.541)\n", + "Epoch: [21][140/250]\tTime 0.214 (0.220)\tData 0.004 (0.004)\tLoss 0.3032 (0.3030)\tMAE 0.529 (0.543)\n", + "Epoch: [21][150/250]\tTime 0.312 (0.221)\tData 0.003 (0.004)\tLoss 0.2469 (0.2984)\tMAE 0.523 (0.538)\n", + "Epoch: [21][160/250]\tTime 0.215 (0.223)\tData 0.004 (0.004)\tLoss 0.2319 (0.2972)\tMAE 0.485 (0.536)\n", + "Epoch: [21][170/250]\tTime 0.292 (0.224)\tData 0.004 (0.004)\tLoss 0.2305 (0.2978)\tMAE 0.487 (0.537)\n", + "Epoch: [21][180/250]\tTime 0.200 (0.226)\tData 0.003 (0.004)\tLoss 0.2319 (0.2973)\tMAE 0.483 (0.535)\n", + "Epoch: [21][190/250]\tTime 1.050 (0.233)\tData 0.006 (0.004)\tLoss 0.1938 (0.2970)\tMAE 0.432 (0.535)\n", + "Epoch: [21][200/250]\tTime 0.213 (0.236)\tData 0.004 (0.004)\tLoss 0.4375 (0.3019)\tMAE 0.706 (0.541)\n", + "Epoch: [21][210/250]\tTime 0.160 (0.235)\tData 0.003 (0.004)\tLoss 0.3498 (0.3045)\tMAE 0.575 (0.544)\n", + "Epoch: [21][220/250]\tTime 0.182 (0.234)\tData 0.004 (0.004)\tLoss 0.2035 (0.3024)\tMAE 0.479 (0.543)\n", + "Epoch: [21][230/250]\tTime 0.155 (0.232)\tData 0.003 (0.004)\tLoss 0.1751 (0.3004)\tMAE 0.454 (0.541)\n", + "Epoch: [21][240/250]\tTime 0.185 (0.230)\tData 0.003 (0.004)\tLoss 0.2534 (0.3008)\tMAE 0.506 (0.541)\n", + "Test: [0/32]\tTime 0.065 (0.065)\tLoss 0.4992 (0.4992)\tMAE 0.712 (0.712)\n", + "Test: [10/32]\tTime 0.150 (0.092)\tLoss 0.2502 (0.3247)\tMAE 0.507 (0.568)\n", + "Test: [20/32]\tTime 0.077 (0.081)\tLoss 0.3084 (0.3701)\tMAE 0.523 (0.592)\n", + "Test: [30/32]\tTime 0.065 (0.076)\tLoss 0.1676 (0.3567)\tMAE 0.386 (0.575)\n", + " * MAE 0.575\n", + "Epoch: [22][0/250]\tTime 0.232 (0.232)\tData 0.015 (0.015)\tLoss 0.4261 (0.4261)\tMAE 0.653 (0.653)\n", + "Epoch: [22][10/250]\tTime 0.264 (0.219)\tData 0.003 (0.005)\tLoss 0.2233 (0.3129)\tMAE 0.514 (0.552)\n", + "Epoch: [22][20/250]\tTime 0.268 (0.220)\tData 0.005 (0.004)\tLoss 0.3513 (0.3009)\tMAE 0.597 (0.533)\n", + "Epoch: [22][30/250]\tTime 0.311 (0.215)\tData 0.004 (0.004)\tLoss 0.5024 (0.3198)\tMAE 0.635 (0.552)\n", + "Epoch: [22][40/250]\tTime 0.160 (0.220)\tData 0.003 (0.004)\tLoss 0.1600 (0.3072)\tMAE 0.400 (0.541)\n", + "Epoch: [22][50/250]\tTime 0.267 (0.213)\tData 0.004 (0.004)\tLoss 0.2489 (0.3052)\tMAE 0.487 (0.537)\n", + "Epoch: [22][60/250]\tTime 0.215 (0.209)\tData 0.004 (0.004)\tLoss 0.2706 (0.3086)\tMAE 0.551 (0.540)\n", + "Epoch: [22][70/250]\tTime 0.199 (0.206)\tData 0.004 (0.004)\tLoss 0.3726 (0.3089)\tMAE 0.594 (0.541)\n", + "Epoch: [22][80/250]\tTime 0.144 (0.203)\tData 0.003 (0.004)\tLoss 0.2631 (0.3052)\tMAE 0.522 (0.538)\n", + "Epoch: [22][90/250]\tTime 0.147 (0.202)\tData 0.003 (0.004)\tLoss 0.1543 (0.2942)\tMAE 0.408 (0.529)\n", + "Epoch: [22][100/250]\tTime 0.272 (0.200)\tData 0.004 (0.004)\tLoss 0.1810 (0.2886)\tMAE 0.442 (0.525)\n", + "Epoch: [22][110/250]\tTime 0.278 (0.210)\tData 0.004 (0.004)\tLoss 0.1971 (0.2899)\tMAE 0.438 (0.524)\n", + "Epoch: [22][120/250]\tTime 0.174 (0.212)\tData 0.004 (0.004)\tLoss 0.1679 (0.2889)\tMAE 0.406 (0.521)\n", + "Epoch: [22][130/250]\tTime 0.291 (0.213)\tData 0.016 (0.004)\tLoss 0.3383 (0.2913)\tMAE 0.598 (0.523)\n", + "Epoch: [22][140/250]\tTime 0.198 (0.214)\tData 0.003 (0.004)\tLoss 0.2233 (0.2906)\tMAE 0.442 (0.522)\n", + "Epoch: [22][150/250]\tTime 0.210 (0.213)\tData 0.004 (0.004)\tLoss 0.3133 (0.2947)\tMAE 0.570 (0.525)\n", + "Epoch: [22][160/250]\tTime 0.305 (0.213)\tData 0.003 (0.004)\tLoss 0.3345 (0.2959)\tMAE 0.533 (0.527)\n", + "Epoch: [22][170/250]\tTime 0.197 (0.213)\tData 0.004 (0.004)\tLoss 0.2205 (0.2968)\tMAE 0.516 (0.530)\n", + "Epoch: [22][180/250]\tTime 0.189 (0.212)\tData 0.004 (0.004)\tLoss 0.3625 (0.2987)\tMAE 0.619 (0.532)\n", + "Epoch: [22][190/250]\tTime 0.174 (0.210)\tData 0.003 (0.004)\tLoss 0.2895 (0.3000)\tMAE 0.547 (0.532)\n", + "Epoch: [22][200/250]\tTime 0.217 (0.209)\tData 0.003 (0.004)\tLoss 0.4499 (0.2996)\tMAE 0.519 (0.531)\n", + "Epoch: [22][210/250]\tTime 0.144 (0.207)\tData 0.003 (0.004)\tLoss 0.2770 (0.2997)\tMAE 0.515 (0.531)\n", + "Epoch: [22][220/250]\tTime 0.157 (0.207)\tData 0.003 (0.004)\tLoss 0.5041 (0.3007)\tMAE 0.680 (0.532)\n", + "Epoch: [22][230/250]\tTime 0.163 (0.211)\tData 0.003 (0.004)\tLoss 0.3717 (0.3006)\tMAE 0.569 (0.531)\n", + "Epoch: [22][240/250]\tTime 0.148 (0.210)\tData 0.003 (0.004)\tLoss 0.3277 (0.3004)\tMAE 0.618 (0.531)\n", + "Test: [0/32]\tTime 0.077 (0.077)\tLoss 0.3061 (0.3061)\tMAE 0.587 (0.587)\n", + "Test: [10/32]\tTime 0.091 (0.076)\tLoss 0.2856 (0.2850)\tMAE 0.520 (0.538)\n", + "Test: [20/32]\tTime 0.077 (0.087)\tLoss 0.2932 (0.3205)\tMAE 0.528 (0.561)\n", + "Test: [30/32]\tTime 0.067 (0.079)\tLoss 0.1370 (0.3104)\tMAE 0.391 (0.549)\n", + " * MAE 0.549\n", + "Epoch: [23][0/250]\tTime 0.245 (0.245)\tData 0.016 (0.016)\tLoss 0.2032 (0.2032)\tMAE 0.484 (0.484)\n", + "Epoch: [23][10/250]\tTime 0.244 (0.220)\tData 0.003 (0.005)\tLoss 0.3472 (0.2882)\tMAE 0.578 (0.560)\n", + "Epoch: [23][20/250]\tTime 0.212 (0.240)\tData 0.003 (0.005)\tLoss 0.2185 (0.2719)\tMAE 0.450 (0.525)\n", + "Epoch: [23][30/250]\tTime 0.258 (0.240)\tData 0.004 (0.005)\tLoss 0.3538 (0.2730)\tMAE 0.614 (0.517)\n", + "Epoch: [23][40/250]\tTime 0.157 (0.229)\tData 0.003 (0.004)\tLoss 0.2402 (0.2730)\tMAE 0.481 (0.517)\n", + "Epoch: [23][50/250]\tTime 0.178 (0.224)\tData 0.003 (0.004)\tLoss 0.1662 (0.2696)\tMAE 0.377 (0.506)\n", + "Epoch: [23][60/250]\tTime 0.264 (0.225)\tData 0.004 (0.004)\tLoss 0.3089 (0.2741)\tMAE 0.497 (0.509)\n", + "Epoch: [23][70/250]\tTime 0.204 (0.224)\tData 0.004 (0.004)\tLoss 0.2011 (0.2722)\tMAE 0.481 (0.506)\n", + "Epoch: [23][80/250]\tTime 0.248 (0.225)\tData 0.004 (0.004)\tLoss 0.3099 (0.2746)\tMAE 0.598 (0.510)\n", + "Epoch: [23][90/250]\tTime 0.235 (0.224)\tData 0.004 (0.004)\tLoss 0.1978 (0.2727)\tMAE 0.463 (0.509)\n", + "Epoch: [23][100/250]\tTime 0.206 (0.222)\tData 0.003 (0.004)\tLoss 0.2254 (0.2743)\tMAE 0.465 (0.507)\n", + "Epoch: [23][110/250]\tTime 0.207 (0.223)\tData 0.004 (0.004)\tLoss 0.2734 (0.2738)\tMAE 0.440 (0.507)\n", + "Epoch: [23][120/250]\tTime 0.308 (0.222)\tData 0.004 (0.004)\tLoss 0.3874 (0.2761)\tMAE 0.620 (0.509)\n", + "Epoch: [23][130/250]\tTime 0.228 (0.222)\tData 0.004 (0.004)\tLoss 0.3784 (0.2763)\tMAE 0.470 (0.507)\n", + "Epoch: [23][140/250]\tTime 0.248 (0.221)\tData 0.004 (0.004)\tLoss 0.3980 (0.2762)\tMAE 0.569 (0.507)\n", + "Epoch: [23][150/250]\tTime 0.159 (0.221)\tData 0.003 (0.004)\tLoss 0.1762 (0.2731)\tMAE 0.399 (0.504)\n", + "Epoch: [23][160/250]\tTime 0.176 (0.221)\tData 0.004 (0.004)\tLoss 0.2694 (0.2730)\tMAE 0.478 (0.504)\n", + "Epoch: [23][170/250]\tTime 0.223 (0.219)\tData 0.003 (0.004)\tLoss 0.1697 (0.2744)\tMAE 0.408 (0.505)\n", + "Epoch: [23][180/250]\tTime 0.224 (0.219)\tData 0.004 (0.004)\tLoss 0.3502 (0.2755)\tMAE 0.567 (0.506)\n", + "Epoch: [23][190/250]\tTime 0.207 (0.219)\tData 0.004 (0.004)\tLoss 0.2941 (0.2757)\tMAE 0.559 (0.506)\n", + "Epoch: [23][200/250]\tTime 0.317 (0.222)\tData 0.004 (0.004)\tLoss 0.2880 (0.2786)\tMAE 0.552 (0.509)\n", + "Epoch: [23][210/250]\tTime 0.185 (0.222)\tData 0.003 (0.004)\tLoss 0.2636 (0.2822)\tMAE 0.549 (0.513)\n", + "Epoch: [23][220/250]\tTime 0.176 (0.221)\tData 0.003 (0.004)\tLoss 0.2920 (0.2829)\tMAE 0.563 (0.514)\n", + "Epoch: [23][230/250]\tTime 0.188 (0.220)\tData 0.003 (0.004)\tLoss 0.1803 (0.2848)\tMAE 0.418 (0.516)\n", + "Epoch: [23][240/250]\tTime 0.180 (0.219)\tData 0.003 (0.004)\tLoss 0.2158 (0.2869)\tMAE 0.498 (0.519)\n", + "Test: [0/32]\tTime 0.064 (0.064)\tLoss 0.3930 (0.3930)\tMAE 0.587 (0.587)\n", + "Test: [10/32]\tTime 0.060 (0.068)\tLoss 0.2562 (0.3078)\tMAE 0.466 (0.539)\n", + "Test: [20/32]\tTime 0.067 (0.068)\tLoss 0.3678 (0.3212)\tMAE 0.585 (0.550)\n", + "Test: [30/32]\tTime 0.056 (0.067)\tLoss 0.2942 (0.3296)\tMAE 0.520 (0.561)\n", + " * MAE 0.560\n", + "Epoch: [24][0/250]\tTime 0.240 (0.240)\tData 0.014 (0.014)\tLoss 0.2327 (0.2327)\tMAE 0.495 (0.495)\n", + "Epoch: [24][10/250]\tTime 0.254 (0.227)\tData 0.003 (0.004)\tLoss 0.2524 (0.2943)\tMAE 0.486 (0.559)\n", + "Epoch: [24][20/250]\tTime 0.219 (0.218)\tData 0.003 (0.004)\tLoss 0.5717 (0.3037)\tMAE 0.644 (0.550)\n", + "Epoch: [24][30/250]\tTime 0.279 (0.235)\tData 0.005 (0.004)\tLoss 0.3365 (0.2909)\tMAE 0.506 (0.533)\n", + "Epoch: [24][40/250]\tTime 0.327 (0.232)\tData 0.004 (0.004)\tLoss 0.2449 (0.2981)\tMAE 0.458 (0.528)\n", + "Epoch: [24][50/250]\tTime 0.283 (0.227)\tData 0.021 (0.005)\tLoss 0.4090 (0.2975)\tMAE 0.608 (0.530)\n", + "Epoch: [24][60/250]\tTime 0.217 (0.224)\tData 0.003 (0.004)\tLoss 0.2200 (0.3046)\tMAE 0.484 (0.536)\n", + "Epoch: [24][70/250]\tTime 0.181 (0.225)\tData 0.003 (0.004)\tLoss 0.2626 (0.2939)\tMAE 0.513 (0.526)\n", + "Epoch: [24][80/250]\tTime 0.276 (0.223)\tData 0.004 (0.004)\tLoss 0.2495 (0.2903)\tMAE 0.478 (0.521)\n", + "Epoch: [24][90/250]\tTime 0.206 (0.220)\tData 0.003 (0.004)\tLoss 0.2579 (0.2873)\tMAE 0.508 (0.520)\n", + "Epoch: [24][100/250]\tTime 0.420 (0.223)\tData 0.004 (0.004)\tLoss 0.1404 (0.2871)\tMAE 0.390 (0.520)\n", + "Epoch: [24][110/250]\tTime 0.216 (0.233)\tData 0.004 (0.004)\tLoss 0.2243 (0.2891)\tMAE 0.451 (0.521)\n", + "Epoch: [24][120/250]\tTime 0.294 (0.232)\tData 0.004 (0.004)\tLoss 0.2477 (0.2872)\tMAE 0.505 (0.520)\n", + "Epoch: [24][130/250]\tTime 0.231 (0.232)\tData 0.004 (0.004)\tLoss 0.4369 (0.2894)\tMAE 0.597 (0.519)\n", + "Epoch: [24][140/250]\tTime 0.240 (0.231)\tData 0.004 (0.004)\tLoss 0.2799 (0.2884)\tMAE 0.582 (0.520)\n", + "Epoch: [24][150/250]\tTime 0.188 (0.230)\tData 0.004 (0.004)\tLoss 0.2762 (0.2866)\tMAE 0.522 (0.518)\n", + "Epoch: [24][160/250]\tTime 0.227 (0.229)\tData 0.004 (0.004)\tLoss 0.1663 (0.2859)\tMAE 0.396 (0.520)\n", + "Epoch: [24][170/250]\tTime 0.147 (0.227)\tData 0.003 (0.004)\tLoss 0.5060 (0.2877)\tMAE 0.685 (0.521)\n", + "Epoch: [24][180/250]\tTime 0.217 (0.225)\tData 0.004 (0.004)\tLoss 0.2638 (0.2861)\tMAE 0.502 (0.521)\n", + "Epoch: [24][190/250]\tTime 0.253 (0.225)\tData 0.004 (0.004)\tLoss 0.4383 (0.2878)\tMAE 0.668 (0.520)\n", + "Epoch: [24][200/250]\tTime 0.164 (0.224)\tData 0.003 (0.004)\tLoss 0.3179 (0.2881)\tMAE 0.564 (0.521)\n", + "Epoch: [24][210/250]\tTime 0.215 (0.223)\tData 0.004 (0.004)\tLoss 0.3831 (0.2863)\tMAE 0.600 (0.519)\n", + "Epoch: [24][220/250]\tTime 0.140 (0.223)\tData 0.003 (0.004)\tLoss 0.1991 (0.2843)\tMAE 0.444 (0.517)\n", + "Epoch: [24][230/250]\tTime 0.227 (0.223)\tData 0.004 (0.004)\tLoss 0.3793 (0.2826)\tMAE 0.592 (0.515)\n", + "Epoch: [24][240/250]\tTime 0.226 (0.226)\tData 0.005 (0.004)\tLoss 0.2988 (0.2820)\tMAE 0.584 (0.515)\n", + "Test: [0/32]\tTime 0.059 (0.059)\tLoss 0.2668 (0.2668)\tMAE 0.497 (0.497)\n", + "Test: [10/32]\tTime 0.092 (0.073)\tLoss 0.4729 (0.3318)\tMAE 0.635 (0.536)\n", + "Test: [20/32]\tTime 0.051 (0.071)\tLoss 0.2652 (0.3213)\tMAE 0.496 (0.524)\n", + "Test: [30/32]\tTime 0.053 (0.072)\tLoss 0.1927 (0.3055)\tMAE 0.446 (0.511)\n", + " * MAE 0.511\n", + "Epoch: [25][0/250]\tTime 0.215 (0.215)\tData 0.014 (0.014)\tLoss 0.2718 (0.2718)\tMAE 0.528 (0.528)\n", + "Epoch: [25][10/250]\tTime 0.165 (0.207)\tData 0.003 (0.005)\tLoss 0.4763 (0.2502)\tMAE 0.501 (0.465)\n", + "Epoch: [25][20/250]\tTime 0.136 (0.200)\tData 0.003 (0.004)\tLoss 0.3320 (0.2602)\tMAE 0.537 (0.485)\n", + "Epoch: [25][30/250]\tTime 0.151 (0.208)\tData 0.003 (0.004)\tLoss 0.2424 (0.2539)\tMAE 0.447 (0.480)\n", + "Epoch: [25][40/250]\tTime 0.195 (0.216)\tData 0.004 (0.004)\tLoss 0.2202 (0.2502)\tMAE 0.460 (0.480)\n", + "Epoch: [25][50/250]\tTime 0.206 (0.214)\tData 0.004 (0.004)\tLoss 0.2559 (0.2561)\tMAE 0.529 (0.489)\n", + "Epoch: [25][60/250]\tTime 0.189 (0.221)\tData 0.004 (0.004)\tLoss 0.3062 (0.2603)\tMAE 0.508 (0.494)\n", + "Epoch: [25][70/250]\tTime 0.197 (0.222)\tData 0.003 (0.004)\tLoss 0.2655 (0.2662)\tMAE 0.474 (0.500)\n", + "Epoch: [25][80/250]\tTime 0.206 (0.222)\tData 0.003 (0.004)\tLoss 0.2698 (0.2698)\tMAE 0.560 (0.502)\n", + "Epoch: [25][90/250]\tTime 0.226 (0.223)\tData 0.003 (0.004)\tLoss 0.1801 (0.2690)\tMAE 0.414 (0.502)\n", + "Epoch: [25][100/250]\tTime 0.309 (0.233)\tData 0.005 (0.004)\tLoss 0.2773 (0.2698)\tMAE 0.541 (0.504)\n", + "Epoch: [25][110/250]\tTime 0.183 (0.230)\tData 0.004 (0.004)\tLoss 0.2243 (0.2706)\tMAE 0.450 (0.503)\n", + "Epoch: [25][120/250]\tTime 0.192 (0.227)\tData 0.004 (0.004)\tLoss 0.2794 (0.2711)\tMAE 0.516 (0.505)\n", + "Epoch: [25][130/250]\tTime 0.163 (0.224)\tData 0.003 (0.004)\tLoss 0.2701 (0.2756)\tMAE 0.575 (0.510)\n", + "Epoch: [25][140/250]\tTime 0.256 (0.225)\tData 0.003 (0.004)\tLoss 0.2665 (0.2777)\tMAE 0.508 (0.513)\n", + "Epoch: [25][150/250]\tTime 0.239 (0.223)\tData 0.004 (0.004)\tLoss 0.2108 (0.2751)\tMAE 0.451 (0.512)\n", + "Epoch: [25][160/250]\tTime 0.236 (0.234)\tData 0.004 (0.004)\tLoss 0.3208 (0.2739)\tMAE 0.515 (0.509)\n", + "Epoch: [25][170/250]\tTime 0.212 (0.233)\tData 0.004 (0.004)\tLoss 0.2569 (0.2742)\tMAE 0.456 (0.509)\n", + "Epoch: [25][180/250]\tTime 0.180 (0.231)\tData 0.004 (0.004)\tLoss 0.3223 (0.2772)\tMAE 0.502 (0.512)\n", + "Epoch: [25][190/250]\tTime 0.215 (0.230)\tData 0.004 (0.004)\tLoss 0.3911 (0.2782)\tMAE 0.602 (0.513)\n", + "Epoch: [25][200/250]\tTime 0.221 (0.229)\tData 0.004 (0.004)\tLoss 0.2477 (0.2759)\tMAE 0.483 (0.511)\n", + "Epoch: [25][210/250]\tTime 0.201 (0.228)\tData 0.004 (0.004)\tLoss 0.4150 (0.2760)\tMAE 0.603 (0.511)\n", + "Epoch: [25][220/250]\tTime 0.181 (0.226)\tData 0.004 (0.004)\tLoss 0.4271 (0.2748)\tMAE 0.611 (0.510)\n", + "Epoch: [25][230/250]\tTime 0.201 (0.227)\tData 0.004 (0.004)\tLoss 0.3644 (0.2730)\tMAE 0.467 (0.507)\n", + "Epoch: [25][240/250]\tTime 0.192 (0.225)\tData 0.003 (0.004)\tLoss 0.2167 (0.2720)\tMAE 0.434 (0.507)\n", + "Test: [0/32]\tTime 0.049 (0.049)\tLoss 0.4405 (0.4405)\tMAE 0.643 (0.643)\n", + "Test: [10/32]\tTime 0.095 (0.060)\tLoss 0.4161 (0.3340)\tMAE 0.641 (0.548)\n", + "Test: [20/32]\tTime 0.069 (0.062)\tLoss 0.2564 (0.3431)\tMAE 0.496 (0.553)\n", + "Test: [30/32]\tTime 0.065 (0.062)\tLoss 0.4399 (0.3520)\tMAE 0.642 (0.565)\n", + " * MAE 0.565\n", + "Epoch: [26][0/250]\tTime 0.160 (0.160)\tData 0.015 (0.015)\tLoss 0.1788 (0.1788)\tMAE 0.439 (0.439)\n", + "Epoch: [26][10/250]\tTime 0.202 (0.165)\tData 0.003 (0.004)\tLoss 0.1547 (0.2138)\tMAE 0.370 (0.441)\n", + "Epoch: [26][20/250]\tTime 0.226 (0.182)\tData 0.004 (0.004)\tLoss 0.3899 (0.2298)\tMAE 0.674 (0.468)\n", + "Epoch: [26][30/250]\tTime 0.204 (0.195)\tData 0.004 (0.004)\tLoss 0.1980 (0.2310)\tMAE 0.438 (0.468)\n", + "Epoch: [26][40/250]\tTime 0.203 (0.194)\tData 0.004 (0.004)\tLoss 0.2184 (0.2444)\tMAE 0.507 (0.478)\n", + "Epoch: [26][50/250]\tTime 0.321 (0.196)\tData 0.004 (0.004)\tLoss 0.1666 (0.2372)\tMAE 0.399 (0.470)\n", + "Epoch: [26][60/250]\tTime 0.150 (0.197)\tData 0.003 (0.004)\tLoss 0.3496 (0.2539)\tMAE 0.601 (0.484)\n", + "Epoch: [26][70/250]\tTime 0.237 (0.200)\tData 0.003 (0.004)\tLoss 0.2418 (0.2593)\tMAE 0.430 (0.491)\n", + "Epoch: [26][80/250]\tTime 0.234 (0.198)\tData 0.004 (0.004)\tLoss 0.1770 (0.2572)\tMAE 0.423 (0.486)\n", + "Epoch: [26][90/250]\tTime 0.173 (0.201)\tData 0.003 (0.004)\tLoss 0.2503 (0.2583)\tMAE 0.583 (0.492)\n", + "Epoch: [26][100/250]\tTime 0.273 (0.201)\tData 0.004 (0.004)\tLoss 0.2373 (0.2558)\tMAE 0.501 (0.491)\n", + "Epoch: [26][110/250]\tTime 0.168 (0.199)\tData 0.004 (0.004)\tLoss 0.3248 (0.2547)\tMAE 0.502 (0.491)\n", + "Epoch: [26][120/250]\tTime 0.256 (0.201)\tData 0.005 (0.004)\tLoss 0.3214 (0.2583)\tMAE 0.598 (0.494)\n", + "Epoch: [26][130/250]\tTime 0.205 (0.201)\tData 0.003 (0.004)\tLoss 0.2132 (0.2606)\tMAE 0.457 (0.496)\n", + "Epoch: [26][140/250]\tTime 0.167 (0.200)\tData 0.003 (0.004)\tLoss 0.3127 (0.2624)\tMAE 0.561 (0.498)\n", + "Epoch: [26][150/250]\tTime 0.219 (0.201)\tData 0.004 (0.004)\tLoss 0.1950 (0.2647)\tMAE 0.402 (0.499)\n", + "Epoch: [26][160/250]\tTime 0.168 (0.200)\tData 0.003 (0.004)\tLoss 0.3195 (0.2662)\tMAE 0.553 (0.503)\n", + "Epoch: [26][170/250]\tTime 0.149 (0.199)\tData 0.003 (0.004)\tLoss 0.2628 (0.2684)\tMAE 0.537 (0.505)\n", + "Epoch: [26][180/250]\tTime 0.178 (0.199)\tData 0.004 (0.004)\tLoss 0.1760 (0.2664)\tMAE 0.399 (0.503)\n", + "Epoch: [26][190/250]\tTime 0.263 (0.198)\tData 0.003 (0.004)\tLoss 0.2586 (0.2661)\tMAE 0.495 (0.502)\n", + "Epoch: [26][200/250]\tTime 0.174 (0.198)\tData 0.004 (0.004)\tLoss 0.4065 (0.2673)\tMAE 0.575 (0.503)\n", + "Epoch: [26][210/250]\tTime 0.263 (0.198)\tData 0.004 (0.004)\tLoss 0.3314 (0.2683)\tMAE 0.571 (0.503)\n", + "Epoch: [26][220/250]\tTime 0.206 (0.198)\tData 0.004 (0.004)\tLoss 0.1861 (0.2685)\tMAE 0.400 (0.503)\n", + "Epoch: [26][230/250]\tTime 0.419 (0.199)\tData 0.004 (0.004)\tLoss 0.1261 (0.2679)\tMAE 0.369 (0.501)\n", + "Epoch: [26][240/250]\tTime 0.194 (0.200)\tData 0.004 (0.004)\tLoss 0.2341 (0.2678)\tMAE 0.508 (0.501)\n", + "Test: [0/32]\tTime 0.057 (0.057)\tLoss 0.2207 (0.2207)\tMAE 0.471 (0.471)\n", + "Test: [10/32]\tTime 0.080 (0.071)\tLoss 0.5267 (0.3483)\tMAE 0.703 (0.564)\n", + "Test: [20/32]\tTime 0.061 (0.070)\tLoss 0.2672 (0.3296)\tMAE 0.478 (0.539)\n", + "Test: [30/32]\tTime 0.055 (0.068)\tLoss 0.3145 (0.3158)\tMAE 0.535 (0.533)\n", + " * MAE 0.535\n", + "Epoch: [27][0/250]\tTime 0.166 (0.166)\tData 0.013 (0.013)\tLoss 0.2576 (0.2576)\tMAE 0.487 (0.487)\n", + "Epoch: [27][10/250]\tTime 0.173 (0.199)\tData 0.003 (0.005)\tLoss 0.2556 (0.2637)\tMAE 0.508 (0.493)\n", + "Epoch: [27][20/250]\tTime 0.313 (0.201)\tData 0.004 (0.004)\tLoss 0.2850 (0.2658)\tMAE 0.483 (0.508)\n", + "Epoch: [27][30/250]\tTime 0.141 (0.194)\tData 0.003 (0.004)\tLoss 0.2237 (0.2461)\tMAE 0.455 (0.487)\n", + "Epoch: [27][40/250]\tTime 0.201 (0.197)\tData 0.003 (0.004)\tLoss 0.2606 (0.2506)\tMAE 0.509 (0.491)\n", + "Epoch: [27][50/250]\tTime 0.163 (0.196)\tData 0.003 (0.004)\tLoss 0.2270 (0.2664)\tMAE 0.479 (0.501)\n", + "Epoch: [27][60/250]\tTime 0.154 (0.196)\tData 0.003 (0.004)\tLoss 0.3952 (0.2688)\tMAE 0.615 (0.508)\n", + "Epoch: [27][70/250]\tTime 0.184 (0.199)\tData 0.003 (0.004)\tLoss 0.3873 (0.2692)\tMAE 0.609 (0.506)\n", + "Epoch: [27][80/250]\tTime 0.200 (0.202)\tData 0.003 (0.004)\tLoss 0.2090 (0.2662)\tMAE 0.432 (0.505)\n", + "Epoch: [27][90/250]\tTime 0.199 (0.205)\tData 0.004 (0.004)\tLoss 0.1508 (0.2680)\tMAE 0.390 (0.503)\n", + "Epoch: [27][100/250]\tTime 0.202 (0.203)\tData 0.004 (0.004)\tLoss 0.1704 (0.2620)\tMAE 0.379 (0.498)\n", + "Epoch: [27][110/250]\tTime 0.176 (0.201)\tData 0.003 (0.004)\tLoss 0.2454 (0.2635)\tMAE 0.481 (0.498)\n", + "Epoch: [27][120/250]\tTime 0.199 (0.201)\tData 0.003 (0.004)\tLoss 0.2251 (0.2627)\tMAE 0.407 (0.495)\n", + "Epoch: [27][130/250]\tTime 0.169 (0.200)\tData 0.003 (0.004)\tLoss 0.1533 (0.2629)\tMAE 0.384 (0.495)\n", + "Epoch: [27][140/250]\tTime 0.183 (0.199)\tData 0.003 (0.004)\tLoss 0.4442 (0.2629)\tMAE 0.629 (0.494)\n", + "Epoch: [27][150/250]\tTime 0.208 (0.197)\tData 0.004 (0.004)\tLoss 0.2270 (0.2637)\tMAE 0.486 (0.495)\n", + "Epoch: [27][160/250]\tTime 0.229 (0.198)\tData 0.004 (0.004)\tLoss 0.2444 (0.2643)\tMAE 0.505 (0.496)\n", + "Epoch: [27][170/250]\tTime 0.209 (0.198)\tData 0.004 (0.004)\tLoss 0.2974 (0.2647)\tMAE 0.539 (0.496)\n", + "Epoch: [27][180/250]\tTime 1.146 (0.225)\tData 0.025 (0.004)\tLoss 0.2135 (0.2639)\tMAE 0.470 (0.496)\n", + "Epoch: [27][190/250]\tTime 0.629 (0.257)\tData 0.004 (0.004)\tLoss 0.2741 (0.2665)\tMAE 0.525 (0.499)\n", + "Epoch: [27][200/250]\tTime 0.196 (0.262)\tData 0.004 (0.004)\tLoss 0.1397 (0.2661)\tMAE 0.391 (0.499)\n", + "Epoch: [27][210/250]\tTime 0.180 (0.260)\tData 0.003 (0.004)\tLoss 0.2658 (0.2651)\tMAE 0.509 (0.498)\n", + "Epoch: [27][220/250]\tTime 0.198 (0.263)\tData 0.004 (0.004)\tLoss 0.1960 (0.2655)\tMAE 0.416 (0.499)\n", + "Epoch: [27][230/250]\tTime 0.154 (0.260)\tData 0.003 (0.004)\tLoss 0.1852 (0.2649)\tMAE 0.420 (0.497)\n", + "Epoch: [27][240/250]\tTime 0.196 (0.258)\tData 0.004 (0.004)\tLoss 0.2195 (0.2655)\tMAE 0.454 (0.498)\n", + "Test: [0/32]\tTime 0.080 (0.080)\tLoss 0.1966 (0.1966)\tMAE 0.404 (0.404)\n", + "Test: [10/32]\tTime 0.055 (0.095)\tLoss 0.2452 (0.3104)\tMAE 0.489 (0.509)\n", + "Test: [20/32]\tTime 0.129 (0.098)\tLoss 0.2637 (0.3093)\tMAE 0.531 (0.524)\n", + "Test: [30/32]\tTime 0.049 (0.088)\tLoss 0.4354 (0.3181)\tMAE 0.564 (0.526)\n", + " * MAE 0.526\n", + "Epoch: [28][0/250]\tTime 0.209 (0.209)\tData 0.016 (0.016)\tLoss 0.1753 (0.1753)\tMAE 0.455 (0.455)\n", + "Epoch: [28][10/250]\tTime 0.211 (0.185)\tData 0.004 (0.005)\tLoss 0.1682 (0.2175)\tMAE 0.434 (0.445)\n", + "Epoch: [28][20/250]\tTime 0.218 (0.182)\tData 0.004 (0.004)\tLoss 0.2657 (0.2338)\tMAE 0.474 (0.470)\n", + "Epoch: [28][30/250]\tTime 0.163 (0.182)\tData 0.003 (0.004)\tLoss 0.2752 (0.2291)\tMAE 0.482 (0.461)\n", + "Epoch: [28][40/250]\tTime 0.161 (0.187)\tData 0.003 (0.004)\tLoss 0.1936 (0.2318)\tMAE 0.402 (0.473)\n", + "Epoch: [28][50/250]\tTime 0.160 (0.191)\tData 0.003 (0.004)\tLoss 0.2148 (0.2273)\tMAE 0.445 (0.464)\n", + "Epoch: [28][60/250]\tTime 0.175 (0.195)\tData 0.003 (0.004)\tLoss 0.1396 (0.2262)\tMAE 0.399 (0.466)\n", + "Epoch: [28][70/250]\tTime 0.186 (0.193)\tData 0.004 (0.004)\tLoss 0.2787 (0.2353)\tMAE 0.575 (0.474)\n", + "Epoch: [28][80/250]\tTime 0.266 (0.197)\tData 0.004 (0.004)\tLoss 0.1372 (0.2353)\tMAE 0.372 (0.479)\n", + "Epoch: [28][90/250]\tTime 0.138 (0.195)\tData 0.003 (0.004)\tLoss 0.3369 (0.2396)\tMAE 0.618 (0.483)\n", + "Epoch: [28][100/250]\tTime 0.140 (0.197)\tData 0.003 (0.004)\tLoss 0.4061 (0.2450)\tMAE 0.545 (0.487)\n", + "Epoch: [28][110/250]\tTime 0.173 (0.196)\tData 0.003 (0.004)\tLoss 0.2285 (0.2480)\tMAE 0.482 (0.489)\n", + "Epoch: [28][120/250]\tTime 0.203 (0.196)\tData 0.004 (0.004)\tLoss 0.2397 (0.2508)\tMAE 0.506 (0.493)\n", + "Epoch: [28][130/250]\tTime 0.221 (0.197)\tData 0.004 (0.004)\tLoss 0.1741 (0.2522)\tMAE 0.490 (0.494)\n", + "Epoch: [28][140/250]\tTime 0.202 (0.198)\tData 0.004 (0.004)\tLoss 0.3283 (0.2557)\tMAE 0.460 (0.495)\n", + "Epoch: [28][150/250]\tTime 0.194 (0.197)\tData 0.004 (0.004)\tLoss 0.1614 (0.2567)\tMAE 0.411 (0.495)\n", + "Epoch: [28][160/250]\tTime 0.176 (0.197)\tData 0.003 (0.004)\tLoss 0.2589 (0.2580)\tMAE 0.480 (0.495)\n", + "Epoch: [28][170/250]\tTime 0.132 (0.196)\tData 0.003 (0.004)\tLoss 0.4651 (0.2634)\tMAE 0.640 (0.499)\n", + "Epoch: [28][180/250]\tTime 0.168 (0.196)\tData 0.004 (0.004)\tLoss 0.1995 (0.2628)\tMAE 0.414 (0.499)\n", + "Epoch: [28][190/250]\tTime 0.162 (0.195)\tData 0.004 (0.004)\tLoss 0.1630 (0.2625)\tMAE 0.421 (0.498)\n", + "Epoch: [28][200/250]\tTime 0.207 (0.195)\tData 0.003 (0.004)\tLoss 0.2260 (0.2619)\tMAE 0.462 (0.498)\n", + "Epoch: [28][210/250]\tTime 0.218 (0.194)\tData 0.003 (0.004)\tLoss 0.1765 (0.2596)\tMAE 0.439 (0.495)\n", + "Epoch: [28][220/250]\tTime 0.197 (0.194)\tData 0.003 (0.004)\tLoss 0.2671 (0.2596)\tMAE 0.516 (0.495)\n", + "Epoch: [28][230/250]\tTime 0.209 (0.194)\tData 0.004 (0.004)\tLoss 0.2820 (0.2581)\tMAE 0.539 (0.493)\n", + "Epoch: [28][240/250]\tTime 0.223 (0.194)\tData 0.004 (0.004)\tLoss 0.3142 (0.2586)\tMAE 0.541 (0.493)\n", + "Test: [0/32]\tTime 0.046 (0.046)\tLoss 0.2542 (0.2542)\tMAE 0.443 (0.443)\n", + "Test: [10/32]\tTime 0.066 (0.081)\tLoss 0.1591 (0.3124)\tMAE 0.335 (0.512)\n", + "Test: [20/32]\tTime 0.059 (0.075)\tLoss 0.2231 (0.2932)\tMAE 0.435 (0.492)\n", + "Test: [30/32]\tTime 0.073 (0.072)\tLoss 0.3668 (0.3062)\tMAE 0.541 (0.500)\n", + " * MAE 0.498\n", + "Epoch: [29][0/250]\tTime 0.235 (0.235)\tData 0.015 (0.015)\tLoss 0.1117 (0.1117)\tMAE 0.337 (0.337)\n", + "Epoch: [29][10/250]\tTime 0.228 (0.186)\tData 0.003 (0.005)\tLoss 0.2585 (0.2460)\tMAE 0.558 (0.481)\n", + "Epoch: [29][20/250]\tTime 0.144 (0.189)\tData 0.003 (0.004)\tLoss 0.2180 (0.2312)\tMAE 0.497 (0.480)\n", + "Epoch: [29][30/250]\tTime 0.136 (0.184)\tData 0.003 (0.004)\tLoss 0.2034 (0.2282)\tMAE 0.446 (0.476)\n", + "Epoch: [29][40/250]\tTime 0.204 (0.194)\tData 0.003 (0.004)\tLoss 0.1897 (0.2329)\tMAE 0.401 (0.472)\n", + "Epoch: [29][50/250]\tTime 0.191 (0.199)\tData 0.004 (0.004)\tLoss 0.4281 (0.2389)\tMAE 0.725 (0.482)\n", + "Epoch: [29][60/250]\tTime 0.155 (0.202)\tData 0.003 (0.004)\tLoss 0.2698 (0.2525)\tMAE 0.488 (0.494)\n", + "Epoch: [29][70/250]\tTime 0.165 (0.201)\tData 0.003 (0.004)\tLoss 0.2121 (0.2479)\tMAE 0.507 (0.496)\n", + "Epoch: [29][80/250]\tTime 0.222 (0.202)\tData 0.003 (0.004)\tLoss 0.2660 (0.2486)\tMAE 0.587 (0.500)\n", + "Epoch: [29][90/250]\tTime 0.177 (0.200)\tData 0.004 (0.004)\tLoss 0.2237 (0.2508)\tMAE 0.457 (0.501)\n", + "Epoch: [29][100/250]\tTime 0.200 (0.202)\tData 0.004 (0.004)\tLoss 0.2440 (0.2474)\tMAE 0.484 (0.495)\n", + "Epoch: [29][110/250]\tTime 0.271 (0.200)\tData 0.011 (0.004)\tLoss 0.1821 (0.2461)\tMAE 0.437 (0.493)\n", + "Epoch: [29][120/250]\tTime 0.161 (0.201)\tData 0.003 (0.004)\tLoss 0.1366 (0.2446)\tMAE 0.375 (0.491)\n", + "Epoch: [29][130/250]\tTime 0.183 (0.200)\tData 0.003 (0.004)\tLoss 0.1812 (0.2479)\tMAE 0.424 (0.493)\n", + "Epoch: [29][140/250]\tTime 0.196 (0.200)\tData 0.003 (0.004)\tLoss 0.2810 (0.2487)\tMAE 0.442 (0.492)\n", + "Epoch: [29][150/250]\tTime 0.195 (0.200)\tData 0.004 (0.004)\tLoss 0.1284 (0.2492)\tMAE 0.364 (0.491)\n", + "Epoch: [29][160/250]\tTime 0.179 (0.199)\tData 0.003 (0.004)\tLoss 0.4821 (0.2516)\tMAE 0.579 (0.492)\n", + "Epoch: [29][170/250]\tTime 0.177 (0.198)\tData 0.003 (0.004)\tLoss 0.3160 (0.2495)\tMAE 0.577 (0.490)\n", + "Epoch: [29][180/250]\tTime 0.216 (0.197)\tData 0.004 (0.004)\tLoss 0.2820 (0.2500)\tMAE 0.539 (0.490)\n", + "Epoch: [29][190/250]\tTime 0.164 (0.197)\tData 0.003 (0.004)\tLoss 0.1845 (0.2499)\tMAE 0.437 (0.489)\n", + "Epoch: [29][200/250]\tTime 0.193 (0.196)\tData 0.003 (0.004)\tLoss 0.2696 (0.2508)\tMAE 0.535 (0.491)\n", + "Epoch: [29][210/250]\tTime 0.201 (0.196)\tData 0.004 (0.004)\tLoss 0.1861 (0.2501)\tMAE 0.431 (0.490)\n", + "Epoch: [29][220/250]\tTime 0.333 (0.196)\tData 0.004 (0.004)\tLoss 0.3114 (0.2499)\tMAE 0.491 (0.491)\n", + "Epoch: [29][230/250]\tTime 0.177 (0.195)\tData 0.003 (0.004)\tLoss 0.4358 (0.2505)\tMAE 0.565 (0.491)\n", + "Epoch: [29][240/250]\tTime 0.161 (0.195)\tData 0.003 (0.004)\tLoss 0.2161 (0.2522)\tMAE 0.434 (0.493)\n", + "Test: [0/32]\tTime 0.065 (0.065)\tLoss 0.3985 (0.3985)\tMAE 0.573 (0.573)\n", + "Test: [10/32]\tTime 0.052 (0.071)\tLoss 0.2169 (0.3216)\tMAE 0.497 (0.541)\n", + "Test: [20/32]\tTime 0.056 (0.070)\tLoss 0.3684 (0.3130)\tMAE 0.628 (0.552)\n", + "Test: [30/32]\tTime 0.057 (0.066)\tLoss 0.4604 (0.3152)\tMAE 0.670 (0.561)\n", + " * MAE 0.560\n" + ] + } + ], + "source": [ + "for epoch in range(args.start_epoch, args.epochs):\n", + " # train for one epoch\n", + " train(train_loader, model, criterion, optimizer, epoch, normalizer, args)\n", + "\n", + " # evaluate on validation set\n", + " mae_error = validate(val_loader, model, criterion, normalizer, args=args)\n", + "\n", + " if mae_error != mae_error:\n", + " print('Exit due to NaN')\n", + " sys.exit(1)\n", + "\n", + " scheduler.step()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test: [0/32]\tTime 5.687 (5.687)\tLoss 0.2972 (0.2972)\tMAE 0.553 (0.553)\n", + "Test: [10/32]\tTime 5.782 (6.282)\tLoss 0.4449 (0.3210)\tMAE 0.710 (0.578)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/GitHub/rewotes/adavaria/mlband/cgcnn/cgcnn/data.py:335: UserWarning: mp-1207230 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test: [20/32]\tTime 6.691 (6.490)\tLoss 0.2119 (0.3307)\tMAE 0.508 (0.590)\n", + "Test: [30/32]\tTime 8.356 (6.623)\tLoss 0.1481 (0.3360)\tMAE 0.414 (0.591)\n", + " ** MAE 0.591\n" + ] + }, + { + "data": { + "text/plain": [ + "tensor(0.5913)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "validate(test_loader, model, criterion, normalizer, test=True, args=args)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idtargetpredicted
0mp-12103083.14352.485267
1mp-6753530.00000.293677
2mp-12273010.00000.203731
3mp-10187030.00000.175868
4mp-12003750.00000.525511
............
1994mp-10956100.08820.172271
1995mp-7739003.63683.687782
1996mp-18811050.00000.408073
1997mp-10170630.00000.258626
1998mp-294052.00771.494425
\n", + "

1999 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " id target predicted\n", + "0 mp-1210308 3.1435 2.485267\n", + "1 mp-675353 0.0000 0.293677\n", + "2 mp-1227301 0.0000 0.203731\n", + "3 mp-1018703 0.0000 0.175868\n", + "4 mp-1200375 0.0000 0.525511\n", + "... ... ... ...\n", + "1994 mp-1095610 0.0882 0.172271\n", + "1995 mp-773900 3.6368 3.687782\n", + "1996 mp-1881105 0.0000 0.408073\n", + "1997 mp-1017063 0.0000 0.258626\n", + "1998 mp-29405 2.0077 1.494425\n", + "\n", + "[1999 rows x 3 columns]" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# the csv file doesn't have the header row and index column. I want to call the cols id target and predicted\n", + "df = pd.read_csv('test_results.csv', header=None, index_col=None)\n", + "df.columns = ['id', 'target', 'predicted']\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.5913271722007005" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Plot the predicted vs target values parity plot\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.scatter(df['target'], df['predicted'])\n", + "plt.xlabel('target')\n", + "plt.ylabel('predicted')\n", + "plt.show()\n", + "\n", + "# pring the mean absolute error\n", + "from sklearn.metrics import mean_absolute_error\n", + "\n", + "mean_absolute_error(df['target'], df['predicted'])" + ] } ], "metadata": { From 9eeb7b1ee091897cf165c30456f252ba08ded030 Mon Sep 17 00:00:00 2001 From: adavaria Date: Sun, 17 Dec 2023 01:08:25 -0600 Subject: [PATCH 4/8] Putting things together --- adavaria/mlband/args.py | 72 --------------- adavaria/mlband/config.py | 178 ++++++++++++++++++++++++++++++++++++ adavaria/mlband/data.py | 19 +++- adavaria/mlband/imports.py | 2 + adavaria/mlband/main.py | 27 ++++++ adavaria/mlband/model.py | 123 +++++++++++++++++++++---- adavaria/mlband/mp.py | 3 +- adavaria/mlband/training.py | 0 adavaria/mlband/utility.py | 41 +++++++++ adavaria/train_cgcnn2.ipynb | 171 ++++++++++++++++++++++++++++++++++ adavaria/training.ipynb | 49 +++++----- 11 files changed, 573 insertions(+), 112 deletions(-) delete mode 100644 adavaria/mlband/args.py create mode 100644 adavaria/mlband/config.py create mode 100644 adavaria/mlband/main.py delete mode 100644 adavaria/mlband/training.py create mode 100644 adavaria/mlband/utility.py create mode 100644 adavaria/train_cgcnn2.ipynb diff --git a/adavaria/mlband/args.py b/adavaria/mlband/args.py deleted file mode 100644 index 02aca359..00000000 --- a/adavaria/mlband/args.py +++ /dev/null @@ -1,72 +0,0 @@ -import torch - -class Config: - def __init__(self, data_options=None, task='regression', disable_cuda=False, workers=0, - epochs=30, start_epoch=0, batch_size=64, learning_rate=0.01, - lr_milestones=[100], momentum=0.9, weight_decay=0, print_freq=10, - resume='', train_ratio=None, train_size=None, val_ratio=0.1, - val_size=None, test_ratio=0.1, test_size=None, optim='SGD', - atom_fea_len=64, h_fea_len=128, n_conv=3, n_h=1, orig_atom_fea_len=92, - nbr_fea_len=76, lr=0.01): - """ - data_options: list of paths to data - task: 'regression' or 'classification' - disable_cuda: bool (disable cuda) - workers: int (number of workers for data loader) - epochs: int (number of epochs to train) - start_epoch: int (epoch to start training. useful on resume) - batch_size: int (batch size for training and prediction) - learning_rate: float (initial learning rate) - lr_milestones: list of int (epochs to decrease learning rate) - momentum: float (SGD momentum) - weight_decay: float (weight decay) - print_freq: int (frequency of printing training status per batch) - resume: str (path to checkpoint) - train_ratio: float (ratio of training set) - train_size: int (size of training set) - val_ratio: float (ratio of validation set) - val_size: int (size of validation set) - test_ratio: float (ratio of test set) - test_size: int (size of test set) - optim: str (optimizer) - atom_fea_len: int (length of atom feature vector) - h_fea_len: int (length of hidden vector) - n_conv: int (number of convolutional layers) - n_h: int (number of hidden layers) - orig_atom_fea_len: int (length of original atom feature vector) - nbr_fea_len: int (length of neighbor feature vector) - lr: float (learning rate) - """ - self.data_options = data_options if data_options is not None else [] - self.task = task - self.disable_cuda = disable_cuda - self.workers = workers - self.epochs = epochs - self.start_epoch = start_epoch - self.batch_size = batch_size - self.learning_rate = learning_rate - self.lr_milestones = lr_milestones - self.momentum = momentum - self.weight_decay = weight_decay - self.print_freq = print_freq - self.resume = resume - self.train_ratio = train_ratio if train_ratio is not None else 1 - val_ratio - test_ratio - self.train_size = train_size - self.val_ratio = val_ratio - self.val_size = val_size - self.test_ratio = test_ratio - self.test_size = test_size - self.optim = optim - self.atom_fea_len = atom_fea_len - self.h_fea_len = h_fea_len - self.n_conv = n_conv - self.n_h = n_h - self.orig_atom_fea_len = orig_atom_fea_len - self.nbr_fea_len = nbr_fea_len - self.lr = lr - - self.cuda = not self.disable_cuda and torch.cuda.is_available() - - -args = Config() - diff --git a/adavaria/mlband/config.py b/adavaria/mlband/config.py new file mode 100644 index 00000000..821d992a --- /dev/null +++ b/adavaria/mlband/config.py @@ -0,0 +1,178 @@ +import torch + +class ConfigOld: + def __init__(self, data_options=None, task='regression', disable_cuda=False, workers=0, + epochs=30, start_epoch=0, batch_size=64, learning_rate=0.01, + lr_milestones=[100], momentum=0.9, weight_decay=0, print_freq=10, + resume='', train_ratio=None, train_size=None, val_ratio=0.1, + val_size=None, test_ratio=0.1, test_size=None, optim='SGD', + atom_fea_len=64, h_fea_len=128, n_conv=3, n_h=1, orig_atom_fea_len=92, + nbr_fea_len=76, lr=0.01): + """ + data_options: list of paths to data + task: 'regression' or 'classification' + disable_cuda: bool (disable cuda) + workers: int (number of workers for data loader) + epochs: int (number of epochs to train) + start_epoch: int (epoch to start training. useful on resume) + batch_size: int (batch size for training and prediction) + learning_rate: float (initial learning rate) + lr_milestones: list of int (epochs to decrease learning rate) + momentum: float (SGD momentum) + weight_decay: float (weight decay) + print_freq: int (frequency of printing training status per batch) + resume: str (path to checkpoint) + train_ratio: float (ratio of training set) + train_size: int (size of training set) + val_ratio: float (ratio of validation set) + val_size: int (size of validation set) + test_ratio: float (ratio of test set) + test_size: int (size of test set) + optim: str (optimizer) + atom_fea_len: int (length of atom feature vector) + h_fea_len: int (length of hidden vector) + n_conv: int (number of convolutional layers) + n_h: int (number of hidden layers) + orig_atom_fea_len: int (length of original atom feature vector) + nbr_fea_len: int (length of neighbor feature vector) + lr: float (learning rate) + """ + self.data_options = data_options if data_options is not None else [] + self.task = task + self.disable_cuda = disable_cuda + self.workers = workers + self.epochs = epochs + self.start_epoch = start_epoch + self.batch_size = batch_size + self.learning_rate = learning_rate + self.lr_milestones = lr_milestones + self.momentum = momentum + self.weight_decay = weight_decay + self.print_freq = print_freq + self.resume = resume + self.train_ratio = train_ratio if train_ratio is not None else 1 - val_ratio - test_ratio + self.train_size = train_size + self.val_ratio = val_ratio + self.val_size = val_size + self.test_ratio = test_ratio + self.test_size = test_size + self.optim = optim + self.atom_fea_len = atom_fea_len + self.h_fea_len = h_fea_len + self.n_conv = n_conv + self.n_h = n_h + self.orig_atom_fea_len = orig_atom_fea_len + self.nbr_fea_len = nbr_fea_len + self.lr = lr + + self.cuda = not self.disable_cuda and torch.cuda.is_available() + + +class Config: + def __init__(self, data_path, disable_cuda=True, workers=0, epochs=30, + batch_size=128, learning_rate=0.01, lr_milestones=None, momentum=0.9, + weight_decay=0, print_freq=10, resume='', train_ratio=None, + train_size=None, val_ratio=0.1, val_size=None, test_ratio=0.1, + test_size=None, optim='Adam', atom_fea_len=64, h_fea_len=128, + n_conv=3, n_h=1, task='regression', + results_dir='./results', + ): + """ + data_path: str (path to data), e.g. './data/mp/' + disable_cuda: bool (disable cuda), default: True + workers: int (number of workers for data loader), default: 0 + epochs: int (number of epochs to train), default: 30 + batch_size: int (batch size for training and prediction), default: 128 + learning_rate: float (initial learning rate), default: 0.01 + lr_milestones: list of int (epochs to decrease learning rate), default: [100] + momentum: float (SGD momentum), default: 0.9 + weight_decay: float (weight decay), default: 0 + print_freq: int (frequency of printing training status per batch), default: 10 + resume: str (path to checkpoint) + train_ratio: float (ratio of training set), default: None + train_size: int (size of training set), default: None + val_ratio: float (ratio of validation set), default: 0.1 + val_size: int (size of validation set), default: None + test_ratio: float (ratio of test set), default: 0.1 + test_size: int (size of test set), default: None + optim: str (optimizer, SGD or Adam), default: Adam + atom_fea_len: int (length of atom feature vector), default: 64 + h_fea_len: int (length of hidden vector), default: 128 + n_conv: int (number of convolutional layers), default: 3 + n_h: int (number of hidden layers), default: 1 + task: str (regression or classification), default: regression + + results_dir: str (path to save results), default: './results' + """ + if lr_milestones is None: + lr_milestones = [100] + + self.data_path = data_path + self.disable_cuda = disable_cuda + self.cuda = not self.disable_cuda and torch.cuda.is_available() + self.workers = workers + self.epochs = epochs + self.batch_size = batch_size + self.learning_rate = learning_rate + self.lr_milestones = lr_milestones + self.momentum = momentum + self.weight_decay = weight_decay + self.print_freq = print_freq + self.resume = resume + self.train_ratio = train_ratio + self.train_size = train_size + self.val_ratio = val_ratio + self.val_size = val_size + self.test_ratio = test_ratio + self.test_size = test_size + self.optim = optim + self.atom_fea_len = atom_fea_len + self.h_fea_len = h_fea_len + self.n_conv = n_conv + self.n_h = n_h + self.task = task + self.results_dir = results_dir + + def generate_args(self): + args = [self.data_path] + if self.disable_cuda: + args.append('--disable-cuda') + args.extend(['--workers', str(self.workers), + '--epochs', str(self.epochs), + '--batch-size', str(self.batch_size), + '--lr', str(self.learning_rate), + '--lr-milestones'] + [str(milestone) for milestone in self.lr_milestones]) + args.extend(['--momentum', str(self.momentum), + '--weight-decay', str(self.weight_decay), + '--print-freq', str(self.print_freq), + '--resume', self.resume, + '--optim', self.optim, + '--atom-fea-len', str(self.atom_fea_len), + '--h-fea-len', str(self.h_fea_len), + '--n-conv', str(self.n_conv), + '--n-h', str(self.n_h), + '--task', self.task]) + + if self.train_ratio is not None: + args.extend(['--train-ratio', str(self.train_ratio)]) + elif self.train_size is not None: + args.extend(['--train-size', str(self.train_size)]) + + if self.val_ratio is not None: + args.extend(['--val-ratio', str(self.val_ratio)]) + elif self.val_size is not None: + args.extend(['--val-size', str(self.val_size)]) + + if self.test_ratio is not None: + args.extend(['--test-ratio', str(self.test_ratio)]) + elif self.test_size is not None: + args.extend(['--test-size', str(self.test_size)]) + + return args + + +if __name__ == '__main__': + print('Testing Config...') + args = Config('./data/mp/') + print(args.generate_args()) + print('Done!') diff --git a/adavaria/mlband/data.py b/adavaria/mlband/data.py index b9681565..59710ffa 100644 --- a/adavaria/mlband/data.py +++ b/adavaria/mlband/data.py @@ -1,5 +1,4 @@ import mlband.mp as MP -from .cgcnn.cgcnn.data import CIFData, DataLoader, collate_pool, get_train_val_test_loader from pathlib import Path import pandas as pd @@ -50,3 +49,21 @@ def create_dataset(df, path='data/cif_files'): import shutil shutil.copy(elem_embedding_file, path / 'atom_init.json') +def get_data_loaders(args): + from cgcnn.data import CIFData, collate_pool, get_train_val_test_loader + dataset = CIFData(args.data_path) + collate_fn = collate_pool + train_loader, val_loader, test_loader = get_train_val_test_loader( + dataset=dataset, + collate_fn=collate_fn, + batch_size=args.batch_size, + train_ratio=args.train_ratio, + num_workers=args.workers, + val_ratio=args.val_ratio, + test_ratio=args.test_ratio, + pin_memory=args.cuda, + train_size=args.train_size, + val_size=args.val_size, + test_size=args.test_size, + return_test=True) + return train_loader, val_loader, test_loader diff --git a/adavaria/mlband/imports.py b/adavaria/mlband/imports.py index c55280cf..c6ebfaa8 100644 --- a/adavaria/mlband/imports.py +++ b/adavaria/mlband/imports.py @@ -7,5 +7,7 @@ import random import sys import os +import matplotlib.pyplot as plt +import csv pd.options.plotting.backend = 'matplotlib' diff --git a/adavaria/mlband/main.py b/adavaria/mlband/main.py new file mode 100644 index 00000000..6b99af11 --- /dev/null +++ b/adavaria/mlband/main.py @@ -0,0 +1,27 @@ +from .imports import * +import mlband.data +import mlband.config +import mlband.model + + +def main(num_chunks=1): + data_set_path = 'data/mp-test/' + results_dir = 'results/test-1/' + + print('Downloading the data from MP...' ,flush=True) + df, data = mlband.data.get_list_of_materials(num_chunks=1) + + print('Creating the dataset...', flush=True) + mlband.data.create_dataset(df=df, path=data_set_path) + + print('Creating the config...', flush=True) + config = mlband.config.Config( + data_path=data_set_path, + workers=4, + results_dir=results_dir + ) + + print('Creating and training the model...', flush=True) + mlband.model.train(config) + + print('Evaluating the training set...', flush=True) diff --git a/adavaria/mlband/model.py b/adavaria/mlband/model.py index 18e915f5..4315a825 100644 --- a/adavaria/mlband/model.py +++ b/adavaria/mlband/model.py @@ -1,24 +1,113 @@ -from .cgcnn.cgcnn.model import CrystalGraphConvNet +from .imports import * +import subprocess +import mlband.data import torch +from cgcnn.model import CrystalGraphConvNet +import torch.nn as nn -class Normalizer(object): - """Normalize a Tensor and restore it later. """ - def __init__(self, tensor): - """tensor is taken as a sample to calculate the mean and std""" - self.mean = torch.mean(tensor) - self.std = torch.std(tensor) +def train(config, ignore_warnings=True): + """ + Training the model. Usage example: + config = Config(epochs=50, learning_rate=0.005, batch_size=128) + train(config) + """ + print('Training the model...') + results_dir = config.results_dir + if not os.path.exists(results_dir): + os.makedirs(results_dir) - def norm(self, tensor): - return (tensor - self.mean) / self.std + # Add the cgcnn path to the system path + cgcnn_path = Path('./cgcnn/').absolute().__str__() + if cgcnn_path not in sys.path: + sys.path.append(cgcnn_path) - def denorm(self, normed_tensor): - return normed_tensor * self.std + self.mean + #ignore warnings + if ignore_warnings: + os.environ['PYTHONWARNINGS'] = "ignore" - def state_dict(self): - return {'mean': self.mean, - 'std': self.std} + # Define the command and arguments + script_path = './cgcnn/main.py' + args = config.generate_args() + command = ['python', script_path] + args + + # Start the process + process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, cwd=results_dir) + + # Continuously showing the output + while True: + output = process.stdout.readline() + if not output and process.poll() is not None: + break + if output: + print(output.strip()) + + # Close the stdout and waiting for the process to terminate + process.stdout.close() + process.wait() + + print('Training and test evaluation completed!') + +def evaluate(config): + # Gettting the data loaders + train_loader, val_loader, test_loader = mlband.data.get_data_loaders(config) + + # Load the model + best_checkpoint = torch.load('model_best.pth.tar') + model = get_cgcnn_model(config) + model.load_state_dict(best_checkpoint['state_dict']) + normalizer = best_checkpoint['normalizer'] + criterion = nn.MSELoss() + + # Evaluate the model + for loader, name in zip([train_loader, val_loader, test_loader], ['train', 'val', 'test']): + print('Evaluating the {} set...'.format(name)) + predict(loader, model, criterion, normalizer) + + +def get_cgcnn_model(args): + from cgcnn.data import CIFData + dataset = CIFData(args.data_path) + structures, _, _ = dataset[0] + orig_atom_fea_len = structures[0].shape[-1] + nbr_fea_len = structures[1].shape[-1] + model = CrystalGraphConvNet(orig_atom_fea_len, nbr_fea_len, + atom_fea_len=args.atom_fea_len, + n_conv=args.n_conv, + h_fea_len=args.h_fea_len, + n_h=args.n_h, + classification=True if args.task == + 'classification' else False) + if args.cuda: + model.cuda() + return model + + +def predict(loader, model, normalizer, output_filename): + from torch.autograd import Variable + model.eval() # Set the model to evaluation mode + predictions = [] + + with torch.no_grad(): + for i, (input, _, _) in enumerate(loader): + # Assuming your model and data are on the same device (CPU or CUDA) + # Adjust the input handling here if your model expects a different format + input_var = (Variable(input[0]), Variable(input[1]), input[2], input[3]) + + # Compute output + output = model(*input_var) + denormed_output = normalizer.denorm(output.cpu()) + + predictions += denormed_output.view(-1).tolist() + + # Save the predictions to a CSV file + print('Saving the predictions to {}'.format(output_filename)) + with open(output_filename, 'w', newline='') as f: + writer = csv.writer(f) + for pred in predictions: + writer.writerow([pred]) + + return predictions + + - def load_state_dict(self, state_dict): - self.mean = state_dict['mean'] - self.std = state_dict['std'] \ No newline at end of file diff --git a/adavaria/mlband/mp.py b/adavaria/mlband/mp.py index 37b90602..71b49672 100644 --- a/adavaria/mlband/mp.py +++ b/adavaria/mlband/mp.py @@ -19,4 +19,5 @@ def mp_summary_to_df(data, drop_fields_not_requested=True): df = pd.DataFrame([doc.dict() for doc in data]) if drop_fields_not_requested: df.drop(columns=['fields_not_requested'], inplace=True) - return df \ No newline at end of file + return df + diff --git a/adavaria/mlband/training.py b/adavaria/mlband/training.py deleted file mode 100644 index e69de29b..00000000 diff --git a/adavaria/mlband/utility.py b/adavaria/mlband/utility.py new file mode 100644 index 00000000..7f37cd79 --- /dev/null +++ b/adavaria/mlband/utility.py @@ -0,0 +1,41 @@ +import torch + + +class Normalizer(object): + """Normalize a Tensor and restore it later. """ + def __init__(self, tensor): + self.mean = torch.mean(tensor) + self.std = torch.std(tensor) + + def norm(self, tensor): + return (tensor - self.mean) / self.std + + def denorm(self, normed_tensor): + return normed_tensor * self.std + self.mean + + def state_dict(self): + return {'mean': self.mean, + 'std': self.std} + + def load_state_dict(self, state_dict): + self.mean = state_dict['mean'] + self.std = state_dict['std'] + + +class AverageMeter(object): + """Computes and stores the average and current value""" + + def __init__(self): + self.reset() + + def reset(self): + self.val = 0 + self.avg = 0 + self.sum = 0 + self.count = 0 + + def update(self, val, n=1): + self.val = val + self.sum += val * n + self.count += n + self.avg = self.sum / self.count \ No newline at end of file diff --git a/adavaria/train_cgcnn2.ipynb b/adavaria/train_cgcnn2.ipynb new file mode 100644 index 00000000..338c608a --- /dev/null +++ b/adavaria/train_cgcnn2.ipynb @@ -0,0 +1,171 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from mlband.imports import *" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Backup the original sys.argv\n", + "original_argv = sys.argv" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# Replace sys.argv with the arguments you want to pass\n", + "sys.argv = ['main.py', './data/mp/', '--disable-cuda', '--workers', '4']\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "sys.path.append(Path('./cgcnn/').absolute().__str__())" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['/Users/ali/GitHub/rewotes/adavaria',\n", + " '/Users/ali/mambaforge/envs/cgcnn/lib/python311.zip',\n", + " '/Users/ali/mambaforge/envs/cgcnn/lib/python3.11',\n", + " '/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/lib-dynload',\n", + " '',\n", + " '/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages',\n", + " '/Users/ali/GitHub/rewotes/adavaria/cgcnn']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sys.path" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "ename": "ImportError", + "evalue": "cannot import name 'main' from 'cgcnn' (/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/__init__.py)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/Users/ali/GitHub/rewotes/adavaria/train_cgcnn2.ipynb Cell 5\u001b[0m line \u001b[0;36m1\n\u001b[0;32m----> 1\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mcgcnn\u001b[39;00m \u001b[39mimport\u001b[39;00m main \u001b[39mas\u001b[39;00m cgcnn_main\n", + "\u001b[0;31mImportError\u001b[0m: cannot import name 'main' from 'cgcnn' (/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/__init__.py)" + ] + } + ], + "source": [ + "from cgcnn import main as cgcnn_main" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# There is no index and header in the csv file\n", + "# df = pd.read_csv('./data/mp/id_prop.csv', index_col=None, header=None)\n", + "#Save it again with no index and header\n", + "# df.to_csv('./data/mp/id_prop_org.csv', index=False, header=False)\n", + "# df.to_csv('./data/mp/id_prop.csv', index=False, header=False)\n", + "# df[:100].to_csv('./data/mp/id_prop.csv', index=False, header=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# with open('./cgcnn/main.py', 'r') as file:\n", + "# exec(file.read())\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cgcnn\n", + "\n", + "\n" + ] + } + ], + "source": [ + "import subprocess\n", + "\n", + "# Define the path to the script and any arguments\n", + "# script_path = './cgcnn/main.py'\n", + "# args = ['./data/mp/', '--disable-cuda', '--workers', '4']\n", + "\n", + "# # Construct the command to run the script\n", + "# command = ['python', script_path] + args\n", + "# check the conda activate env\n", + "# command = ['echo', '$CONDA_DEFAULT_ENV']\n", + "command = 'echo $CONDA_DEFAULT_ENV'\n", + "\n", + "# Run the script and capture the output\n", + "process = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True)\n", + "\n", + "# Print the output and error messages, if any\n", + "print(process.stdout)\n", + "print(process.stderr)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cgcnn", + "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.11.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/adavaria/training.ipynb b/adavaria/training.ipynb index f077e00f..bd5331a7 100644 --- a/adavaria/training.ipynb +++ b/adavaria/training.ipynb @@ -9,7 +9,7 @@ "from mlband.imports import *\n", "from mlband.data import *\n", "from mlband.model import *\n", - "from mlband.args import *\n" + "from mlband.config import *\n" ] }, { @@ -35,6 +35,27 @@ " return_test=True)" ] }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "'DataLoader' object is not subscriptable", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/Users/ali/GitHub/rewotes/adavaria/training.ipynb Cell 3\u001b[0m line \u001b[0;36m1\n\u001b[0;32m----> 1\u001b[0m train_loader[\u001b[39m0\u001b[39;49m]\n", + "\u001b[0;31mTypeError\u001b[0m: 'DataLoader' object is not subscriptable" + ] + } + ], + "source": [ + "train_loader" + ] + }, { "cell_type": "code", "execution_count": 3, @@ -1218,31 +1239,17 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Test: [0/32]\tTime 5.687 (5.687)\tLoss 0.2972 (0.2972)\tMAE 0.553 (0.553)\n", - "Test: [10/32]\tTime 5.782 (6.282)\tLoss 0.4449 (0.3210)\tMAE 0.710 (0.578)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/ali/GitHub/rewotes/adavaria/mlband/cgcnn/cgcnn/data.py:335: UserWarning: mp-1207230 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", - " warnings.warn('{} not find enough neighbors to build graph. '\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Test: [20/32]\tTime 6.691 (6.490)\tLoss 0.2119 (0.3307)\tMAE 0.508 (0.590)\n", - "Test: [30/32]\tTime 8.356 (6.623)\tLoss 0.1481 (0.3360)\tMAE 0.414 (0.591)\n", + "Test: [0/32]\tTime 0.250 (0.250)\tLoss 0.3733 (0.3733)\tMAE 0.642 (0.642)\n", + "Test: [10/32]\tTime 0.092 (0.114)\tLoss 0.2629 (0.3256)\tMAE 0.577 (0.590)\n", + "Test: [20/32]\tTime 0.055 (0.097)\tLoss 0.4495 (0.3596)\tMAE 0.675 (0.608)\n", + "Test: [30/32]\tTime 0.073 (0.089)\tLoss 0.2657 (0.3373)\tMAE 0.526 (0.591)\n", " ** MAE 0.591\n" ] }, @@ -1252,7 +1259,7 @@ "tensor(0.5913)" ] }, - "execution_count": 30, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } From a9fcf232cedc9fc686f888bbd5fb57f5e2d327b9 Mon Sep 17 00:00:00 2001 From: adavaria Date: Mon, 18 Dec 2023 00:35:08 -0600 Subject: [PATCH 5/8] Finalizing the model --- adavaria/mlband/atom_init.json | 1 + adavaria/mlband/config.py | 93 +- adavaria/mlband/data.py | 8 +- adavaria/mlband/features.py | 76 ++ adavaria/mlband/magpie.py | 61 ++ adavaria/mlband/magpie_data.csv | 119 +++ adavaria/mlband/main.py | 28 +- adavaria/mlband/model.py | 142 ++- adavaria/mlband/utility.py | 69 +- adavaria/train_cgcnn2.ipynb | 1750 ++++++++++++++++++++++++++++++- adavaria/train_cgcnn3.ipynb | 169 +++ adavaria/training.ipynb | 577 +++++++++- 12 files changed, 2898 insertions(+), 195 deletions(-) create mode 100644 adavaria/mlband/atom_init.json create mode 100644 adavaria/mlband/features.py create mode 100644 adavaria/mlband/magpie.py create mode 100644 adavaria/mlband/magpie_data.csv create mode 100644 adavaria/train_cgcnn3.ipynb diff --git a/adavaria/mlband/atom_init.json b/adavaria/mlband/atom_init.json new file mode 100644 index 00000000..b8699f5a --- /dev/null +++ b/adavaria/mlband/atom_init.json @@ -0,0 +1 @@ +{"1": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "2": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], "3": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "4": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "5": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "6": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "7": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "8": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "9": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "10": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "11": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "12": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "13": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "14": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "15": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "16": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "17": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "18": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], "19": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], "20": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], "21": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "22": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "23": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "24": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "25": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "26": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "27": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "28": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "29": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], "30": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "31": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "32": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "33": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "34": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "35": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "36": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], "37": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], "38": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], "39": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "40": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "41": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "42": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "43": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "44": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "45": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "46": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "47": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "48": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "49": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "50": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "51": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "52": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "53": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], "54": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], "55": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], "56": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], "57": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "58": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "59": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "60": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "61": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "62": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "63": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], "64": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "65": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "66": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "67": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "68": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "69": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "70": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], "71": [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "72": [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "73": [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "74": [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "75": [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "76": [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "77": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "78": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "79": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], "80": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "81": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "82": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "83": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "84": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "85": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "86": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "87": [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "88": [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], "89": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "90": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "91": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], "92": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], "93": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "94": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "95": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "96": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], "97": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "98": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "99": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "100": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]} \ No newline at end of file diff --git a/adavaria/mlband/config.py b/adavaria/mlband/config.py index 821d992a..00e89bcb 100644 --- a/adavaria/mlband/config.py +++ b/adavaria/mlband/config.py @@ -1,81 +1,19 @@ import torch - -class ConfigOld: - def __init__(self, data_options=None, task='regression', disable_cuda=False, workers=0, - epochs=30, start_epoch=0, batch_size=64, learning_rate=0.01, - lr_milestones=[100], momentum=0.9, weight_decay=0, print_freq=10, - resume='', train_ratio=None, train_size=None, val_ratio=0.1, - val_size=None, test_ratio=0.1, test_size=None, optim='SGD', - atom_fea_len=64, h_fea_len=128, n_conv=3, n_h=1, orig_atom_fea_len=92, - nbr_fea_len=76, lr=0.01): - """ - data_options: list of paths to data - task: 'regression' or 'classification' - disable_cuda: bool (disable cuda) - workers: int (number of workers for data loader) - epochs: int (number of epochs to train) - start_epoch: int (epoch to start training. useful on resume) - batch_size: int (batch size for training and prediction) - learning_rate: float (initial learning rate) - lr_milestones: list of int (epochs to decrease learning rate) - momentum: float (SGD momentum) - weight_decay: float (weight decay) - print_freq: int (frequency of printing training status per batch) - resume: str (path to checkpoint) - train_ratio: float (ratio of training set) - train_size: int (size of training set) - val_ratio: float (ratio of validation set) - val_size: int (size of validation set) - test_ratio: float (ratio of test set) - test_size: int (size of test set) - optim: str (optimizer) - atom_fea_len: int (length of atom feature vector) - h_fea_len: int (length of hidden vector) - n_conv: int (number of convolutional layers) - n_h: int (number of hidden layers) - orig_atom_fea_len: int (length of original atom feature vector) - nbr_fea_len: int (length of neighbor feature vector) - lr: float (learning rate) - """ - self.data_options = data_options if data_options is not None else [] - self.task = task - self.disable_cuda = disable_cuda - self.workers = workers - self.epochs = epochs - self.start_epoch = start_epoch - self.batch_size = batch_size - self.learning_rate = learning_rate - self.lr_milestones = lr_milestones - self.momentum = momentum - self.weight_decay = weight_decay - self.print_freq = print_freq - self.resume = resume - self.train_ratio = train_ratio if train_ratio is not None else 1 - val_ratio - test_ratio - self.train_size = train_size - self.val_ratio = val_ratio - self.val_size = val_size - self.test_ratio = test_ratio - self.test_size = test_size - self.optim = optim - self.atom_fea_len = atom_fea_len - self.h_fea_len = h_fea_len - self.n_conv = n_conv - self.n_h = n_h - self.orig_atom_fea_len = orig_atom_fea_len - self.nbr_fea_len = nbr_fea_len - self.lr = lr - - self.cuda = not self.disable_cuda and torch.cuda.is_available() +import os +from pathlib import Path class Config: def __init__(self, data_path, disable_cuda=True, workers=0, epochs=30, - batch_size=128, learning_rate=0.01, lr_milestones=None, momentum=0.9, + batch_size=64, learning_rate=0.01, lr_milestones=None, momentum=0.9, weight_decay=0, print_freq=10, resume='', train_ratio=None, train_size=None, val_ratio=0.1, val_size=None, test_ratio=0.1, test_size=None, optim='Adam', atom_fea_len=64, h_fea_len=128, n_conv=3, n_h=1, task='regression', results_dir='./results', + original_features=False, + discrete_columns=None, + continuous_columns=None, ): """ data_path: str (path to data), e.g. './data/mp/' @@ -119,7 +57,7 @@ def __init__(self, data_path, disable_cuda=True, workers=0, epochs=30, self.weight_decay = weight_decay self.print_freq = print_freq self.resume = resume - self.train_ratio = train_ratio + self.train_ratio = train_ratio if train_ratio is not None else 1 - val_ratio - test_ratio self.train_size = train_size self.val_ratio = val_ratio self.val_size = val_size @@ -131,10 +69,17 @@ def __init__(self, data_path, disable_cuda=True, workers=0, epochs=30, self.n_conv = n_conv self.n_h = n_h self.task = task - self.results_dir = results_dir + self.results_dir = Path(results_dir) + # Make sure the results_dir exists + self.results_dir.mkdir(parents=True, exist_ok=True) + self.original_features = original_features + self.discrete_columns = discrete_columns + self.continuous_columns = continuous_columns - def generate_args(self): - args = [self.data_path] + def generate_args(self, absolute_path=True): + # args = [self.data_path] + args = [Path(self.data_path).absolute().__str__() if + absolute_path else self.data_path.__str__()] if self.disable_cuda: args.append('--disable-cuda') args.extend(['--workers', str(self.workers), @@ -173,6 +118,6 @@ def generate_args(self): if __name__ == '__main__': print('Testing Config...') - args = Config('./data/mp/') - print(args.generate_args()) + args_t = Config('./data/mp/') + print(args_t.generate_args()) print('Done!') diff --git a/adavaria/mlband/data.py b/adavaria/mlband/data.py index 59710ffa..023945cb 100644 --- a/adavaria/mlband/data.py +++ b/adavaria/mlband/data.py @@ -3,7 +3,7 @@ import pandas as pd -elem_embedding_file='mlband/cgcnn/data/sample-regression/atom_init.json' +# elem_embedding_file='cgcnn/data/sample-regression/atom_init.json' def get_list_of_materials(filter=True, num_chunks=1): fields=['material_id', 'composition', 'band_gap', 'structure'] @@ -32,6 +32,7 @@ def get_list_of_materials(filter=True, num_chunks=1): return df, data + def create_dataset(df, path='data/cif_files'): path = Path(path) path.mkdir(parents=True, exist_ok=True) @@ -46,8 +47,9 @@ def create_dataset(df, path='data/cif_files'): # print(f'Crystal structure {i+1} of {len(df)} written to {filename}.') df[['material_id', 'band_gap']].to_csv(path / 'id_prop.csv', index=False, header=False) - import shutil - shutil.copy(elem_embedding_file, path / 'atom_init.json') + # import shutil + # shutil.copy(elem_embedding_file, path / 'atom_init.json') + def get_data_loaders(args): from cgcnn.data import CIFData, collate_pool, get_train_val_test_loader diff --git a/adavaria/mlband/features.py b/adavaria/mlband/features.py new file mode 100644 index 00000000..78b914cb --- /dev/null +++ b/adavaria/mlband/features.py @@ -0,0 +1,76 @@ +from .imports import * +from . import magpie + + +pt = magpie.get_magpie_data() + +def one_hot_encode_elements(config=None, discrete_columns=None, continuous_columns=None, n_bins=10, filename=None): + """ + One-hot encodes the elements. To get the list of available features, use the get_available_features() function. + + Parameters + ---------- + discrete_columns : list of str + A list of column names that contain discrete values. + continuous_columns : list of str + A list of column names that contain continuous values. + n_bins : int + The number of bins to use when binning continuous values. + filename : str + The name of the file to save the one-hot encoding dictionary to. + """ + df = pt + if config is not None: + if config.original_features: + import shutil + shutil.copy('mlband/atom_init.json', config.data_path) + return + filename = config.data_path/'atom_init.json' + discrete_columns = config.discrete_columns + continuous_columns = config.continuous_columns + + if discrete_columns is None: + discrete_columns = [] + if continuous_columns is None: + continuous_columns = [] + + encoded_df = pd.DataFrame() + + # One-hot encode discrete variables + for col in discrete_columns: + encoded_df = pd.concat([encoded_df, pd.get_dummies(df[col], prefix=col)], axis=1) + + # Bin and one-hot encode continuous variables + for col in continuous_columns: + bin_labels = [f"{col}_bin_{i}" for i in range(n_bins)] + df[col + '_binned'] = pd.cut(df[col], bins=n_bins, labels=bin_labels) + encoded_df = pd.concat([encoded_df, pd.get_dummies(df[col + '_binned'])], axis=1) + + # Create a dictionary with atomic numbers as keys and one-hot encoded features as values + element_encoding = {str(row['atomic number']): encoded_df.iloc[idx].tolist() + for idx, row in df.iterrows()} + # Converting T/F to 1/0 + element_encoding = {key: [int(i) for i in value] for key, value in element_encoding.items()} + + # Create a dictionary for feature names + feature_names = {str(i): name for i, name in enumerate(encoded_df.columns)} + + if filename is not None: + import json + # Save the one-hot encoding dictionary as JSON + with open(filename, 'w') as json_file: + json.dump(element_encoding, json_file) + + return element_encoding, feature_names + + +def get_available_features(): + """ + Returns a list of available features. + """ + return list(pt.columns)[1:] + + +if __name__ == '__main__': + print(get_available_features()) + \ No newline at end of file diff --git a/adavaria/mlband/magpie.py b/adavaria/mlband/magpie.py new file mode 100644 index 00000000..5aa724e4 --- /dev/null +++ b/adavaria/mlband/magpie.py @@ -0,0 +1,61 @@ +from .imports import * + +# Data table: https://github.com/ramv2/magpie_python/tree/master/lookup-data + + +def prepare_data(): + from matminer.utils.data import MagpieData + + mag = pd.DataFrame(MagpieData().all_elemental_props).reset_index().rename(columns={'index': 'symbol'}) + mag['atomic number'] = np.arange(1, len(mag) + 1).astype(int) + mag.set_index('atomic number', inplace=True) + # mag['atomic number'] = np.arange(1, len(mag) + 1).astype(int) + + # makedirs(Path('Data', 'magpie'), exist_ok=True) + mag.to_csv(Path(Path(__file__).parent, 'magpie_data.csv'), index=False) + return mag + + +def get_periodic_table(): + from pymatgen.core.periodic_table import Element + + # Retrieve all elements from the periodic table provided by pymatgen + elements = [Element.from_Z(i) for i in range(1, 119)] + + # Define rare earth elements (Sc, Y, and lanthanides), these element get 0 as their group number + rare_earths = [21, 39] + list(range(57, 72)) # Atomic numbers for Sc, Y, and lanthanides + + # Extract the properties of each element into a DataFrame + df = pd.DataFrame({ + 'symbol': [e.symbol for e in elements], + 'atomic number': [e.Z for e in elements], + 'atomic mass': [e.atomic_mass for e in elements], + # 'group': [e.group for e in elements], + 'group': [0 if e.Z in rare_earths else e.group for e in elements], + 'period': [e.row for e in elements] # 'row' attribute corresponds to the period + }) + return df + + +def get_magpie_data(fill_missing=True): + filename = Path(Path(__file__).parent, 'magpie_data.csv') + if not filename.exists(): + df = prepare_data() + else: + df = pd.read_csv(filename) + + if fill_missing: + # Replace NaN with 0 + df = df.fillna(0) + + pt = get_periodic_table() + + # Merge the two DataFrames + df = pt.merge(df, on=['symbol'], how='inner') + return df + + +if __name__ == '__main__': + data = prepare_data() + get_magpie_data() + pass diff --git a/adavaria/mlband/magpie_data.csv b/adavaria/mlband/magpie_data.csv new file mode 100644 index 00000000..46af6b17 --- /dev/null +++ b/adavaria/mlband/magpie_data.csv @@ -0,0 +1,119 @@ +symbol,MeltingT,MiracleRadius,CovalentRadius,FirstIonizationEnergy,GSestFCClatcnt,Electronegativity,Density,ZungerPP-r_s,DipolePolarizability,GSestBCClatcnt,LogThermalConductivity,NsValence,GSmagmom,Polarizability,NValence,IsAlkali,AtomicVolume,phi,Number,IsNonmetal,NfValence,HHIp,VdWRadius,HHIr,NpUnfilled,BulkModulus,ZungerPP-r_p,NsUnfilled,ZungerPP-r_sigma,ThermalConductivity,AtomicRadius,ShearModulus,IonizationEnergies,IsMetalloid,NfUnfilled,SecondIonizationEnergy,OxidationStates,IsDBlock,AtomicWeight,HeatVaporization,MendeleevNumber,GSvolume_pa,NUnfilled,IsMetal,ElectronAffinity,NdUnfilled,NdValence,MolarVolume,Column,ICSDVolume,IsFBlock,SpaceGroupNumber,HeatCapacityMass,AllenElectronegativity,BoilingT,GSenergy_pa,HeatCapacityMolar,n_ws^third,HeatFusion,ZungerPP-r_d,ZungerPP-r_pi,NpValence,Row,FusionEnthalpy,GSbandgap +H,14.01,,31.0,13.598443,2.979865165,2.2,0.0899,,0.666793,2.365120549,-0.743522794,1.0,0.0,0.666793,1.0,0.0,18618.0519408073,5.2,1.0,1.0,0.0,,1.2,,0.0,,,1.0,1.25,0.1805,0.25,,13.598443,0.0,0.0,,"[-1.0, 1.0]",0.0,1.00794,0.452,92.0,6.615,1.0,0.0,72.8,0.0,0.0,11.42,1.0,32.02,0.0,194.0,14.304,2.3,20.13,-3.331290765,28.836,1.5,0.06,,,0.0,1.0,0.06,7.853 +He,,,28.0,24.587387,3.664774046,,0.1785,,0.2050522,2.908733088,-0.820161072,2.0,0.0,0.2050522,2.0,0.0,37236.0355633452,,2.0,1.0,0.0,3200.0,1.4,3900.0,0.0,,,0.0,,0.1513,,,,0.0,0.0,54.41776,[],0.0,4.002602,0.083,98.0,12.305,0.0,0.0,0.0,0.0,0.0,21.0,18.0,19.08,0.0,225.0,5.13,4.16,4.07,0.0011354,20.786,,,,,0.0,1.0,,18.098 +Li,453.69,152.0,128.0,5.391719,4.048845545,0.98,535.0,0.985,24.335,3.213570838,1.929418926,1.0,0.0,24.335,1.0,1.0,21.5440580798753,2.85,3.0,0.0,0.0,2900.0,1.82,4200.0,0.0,11.0,0.625,1.0,1.61,85.0,1.45,4.2,,0.0,0.0,75.64,[1.0],0.0,6.941,147.0,1.0,16.5933333333,1.0,1.0,59.6,0.0,0.0,13.02,1.0,21.63,0.0,229.0,3.582,0.912,1615.0,-1.86988691,24.86,0.98,3.0,,0.36,0.0,2.0,3.0,0.0 +Be,1560.0,112.0,96.0,9.3227,3.160183721,1.57,1848.0,0.64,5.6,2.508239481,2.278753601,2.0,0.0,5.6,2.0,1.0,8.09817645544979,5.05,4.0,0.0,0.0,8000.0,1.53,4000.0,0.0,130.0,0.44,0.0,1.08,190.0,1.05,132.0,,0.0,0.0,18.21114,[2.0],0.0,9.012182,297.0,67.0,7.89,0.0,1.0,0.0,0.0,0.0,4.85,2.0,8.11,0.0,194.0,1.825,1.576,2743.0,-3.755038695,16.443,1.67,7.895,,0.2,0.0,2.0,7.895,0.0 +B,2348.0,88.0,84.0,8.29802,3.061330249,2.04,2460.0,0.48,3.03,2.429779429,1.431363764,2.0,0.0,3.03,3.0,0.0,7.29776726528474,5.3,5.0,0.0,0.0,2900.0,1.92,2000.0,5.0,320.0,0.315,0.0,0.795,27.0,0.85,,,1.0,0.0,25.1548,[3.0],0.0,10.811,507.0,72.0,7.1725,5.0,0.0,26.7,0.0,0.0,4.39,13.0,7.75,0.0,166.0,1.026,2.051,4273.0,-6.67769815417,11.087,1.75,50.2,,0.165,1.0,2.0,50.2,1.524 +C,3823.0,77.0,76.0,11.2603,2.825615289,2.55,2260.0,0.39,1.67,2.242692341,2.146128036,2.0,0.0,1.67,4.0,0.0,8.82508971529172,6.24,6.0,1.0,0.0,500.0,1.7,500.0,4.0,33.0,0.25,0.0,0.64,140.0,0.7,,,0.0,0.0,24.3833,"[-4.0, 2.0, 4.0]",0.0,12.0107,715.0,77.0,5.64,4.0,0.0,153.9,0.0,0.0,5.29,14.0,5.67,0.0,194.0,0.709,2.544,4300.0,-9.209713655,8.517,1.77,117.4,,0.14,2.0,2.0,117.4,4.496 +N,63.05,72.0,71.0,14.5341,3.894645292,3.04,1.251,0.33,1.1,3.091182017,-1.587875594,2.0,0.0,1.1,5.0,0.0,18592.4989666188,6.86,7.0,1.0,0.0,1300.0,1.55,500.0,3.0,,0.21,0.0,0.54,0.02583,0.65,,,0.0,0.0,29.6013,"[-3.0, -2.0, -1.0, 1.0, 2.0, 3.0, 4.0, 5.0]",0.0,14.0067,2.79,82.0,14.76875,3.0,0.0,7.0,0.0,0.0,13.54,15.0,22.68,0.0,194.0,1.04,3.066,77.21,-8.21144121,29.124,1.65,0.355,,0.12,3.0,2.0,0.355,6.437 +O,54.8,64.0,66.0,13.61805,3.314718462,3.44,1.429,0.285,0.802,2.630893787,-1.575445023,2.0,0.0,0.802,6.0,0.0,18592.1971664894,,8.0,1.0,0.0,500.0,1.52,500.0,2.0,,0.18,0.0,0.465,0.02658,0.6,,,0.0,0.0,35.1211,[-2.0],0.0,15.9994,3.41,87.0,9.105,2.0,0.0,141.0,0.0,0.0,17.36,16.0,17.36,0.0,12.0,0.918,3.61,90.1,-4.756791905,29.378,,0.22,,0.105,4.0,2.0,0.22,0.0 +F,53.5,,57.0,17.4228,3.386276865,3.98,1.696,0.25,0.557,2.687689729,-1.557520231,2.0,0.0,0.557,7.0,0.0,18601.6085673286,,9.0,1.0,0.0,1500.0,1.47,1500.0,1.0,,0.155,0.0,0.405,0.0277,0.5,,,0.0,0.0,34.9708,[-1.0],0.0,18.9984032,3.27,93.0,9.7075,1.0,0.0,328.0,0.0,0.0,11.2,17.0,16.42,0.0,15.0,0.824,4.193,84.88,-1.6980609575,31.304,,0.255,,0.095,5.0,2.0,0.255,1.97 +Ne,24.56,,58.0,21.56454,3.697734186,,0.9,0.22,0.39432,2.934893568,-1.308918508,2.0,0.0,0.39432,8.0,0.0,37232.1856895088,,10.0,1.0,0.0,,1.54,,0.0,,0.14,0.0,0.36,0.0491,,,,0.0,0.0,40.96296,[],0.0,20.1791,1.75,99.0,12.64,0.0,0.0,0.0,0.0,0.0,13.23,18.0,23.09,0.0,225.0,1.03,4.787,26.92,0.09403567,20.786,,0.164,,0.08,6.0,2.0,0.164,13.088 +Na,370.87,180.0,166.0,5.139076,4.890601634,0.93,968.0,1.1,24.11,3.88167309,2.146128036,1.0,0.0,24.11,1.0,1.0,39.4383288822527,2.7,11.0,0.0,0.0,1100.0,2.27,500.0,0.0,6.3,1.55,1.0,2.65,140.0,1.8,3.3,,0.0,0.0,47.2864,[1.0],0.0,22.98976928,97.7,2.0,29.2433333333,1.0,1.0,52.8,0.0,0.0,23.78,1.0,39.76,0.0,229.0,1.228,0.869,1156.0,-1.26024138333,28.23,0.82,2.6,,0.45,0.0,3.0,2.6,0.0 +Mg,923.0,160.0,141.0,7.646235,4.50714913,1.31,1738.0,0.9,10.76666667,3.577326635,2.204119983,2.0,0.0,10.7666666667,2.0,1.0,23.2222930956267,3.45,12.0,0.0,0.0,5300.0,1.73,500.0,0.0,45.0,1.13,0.0,2.03,160.0,1.5,17.0,,0.0,0.0,15.03527,[2.0],0.0,24.305,128.0,68.0,22.89,0.0,1.0,0.0,0.0,0.0,14.0,2.0,23.48,0.0,194.0,1.023,1.293,1363.0,-1.54227231,24.869,1.17,8.48,,0.23,0.0,3.0,8.48,0.0 +Al,933.47,141.0,121.0,5.985768,4.039606536,1.61,2700.0,0.77,6.8,3.206237833,2.371067862,2.0,0.0,6.8,3.0,0.0,16.5944245175099,4.2,13.0,0.0,0.0,1600.0,1.84,1000.0,5.0,76.0,0.905,0.0,1.675,235.0,1.25,26.0,,0.0,0.0,18.82855,[3.0],0.0,26.9815386,293.0,73.0,16.48,5.0,1.0,42.5,0.0,0.0,10.0,13.0,16.61,0.0,225.0,0.897,1.613,2792.0,-3.74542312,24.2,1.39,10.71,,0.135,1.0,3.0,10.71,0.0 +Si,1687.0,110.0,111.0,8.15168,4.340238825,1.9,2330.0,0.68,5.53,3.444849839,2.176091259,2.0,0.0,5.53,4.0,0.0,20.0163777166128,4.7,14.0,0.0,0.0,4700.0,2.1,1000.0,4.0,100.0,0.74,0.0,1.42,150.0,1.1,,,1.0,0.0,16.34584,"[-4.0, 2.0, 4.0]",0.0,28.0855,359.0,78.0,20.44,4.0,0.0,133.6,0.0,0.0,12.06,14.0,20.02,0.0,227.0,0.712,1.916,3173.0,-5.424918005,19.99,1.5,50.21,,0.06,2.0,3.0,50.21,0.773 +P,317.3,102.0,107.0,10.48669,4.486063093,2.19,1823.0,0.6,3.63,3.560590636,-0.627087997,2.0,0.0,3.63,5.0,0.0,28.2141218166412,5.55,15.0,1.0,0.0,2000.0,1.8,5100.0,3.0,11.0,0.64,0.0,1.24,0.236,1.0,,,0.0,0.0,19.7695,"[-3.0, 3.0, 5.0]",0.0,30.973762,12.4,83.0,22.5702380952,3.0,0.0,72.0,0.0,0.0,17.02,15.0,18.99,0.0,2.0,0.769,2.253,553.5,-5.4005090425,23.824,1.65,18.54,,0.04,3.0,3.0,18.54,1.625 +S,388.36,103.0,105.0,10.36001,4.689784664,2.58,1960.0,0.54,2.9,3.722284555,-0.688246139,2.0,0.0,2.9,6.0,0.0,27.1665457946712,,16.0,1.0,0.0,700.0,1.8,1000.0,2.0,7.7,0.56,0.0,1.1,0.205,1.0,,,0.0,0.0,23.33788,"[-2.0, 4.0, 6.0]",0.0,32.065,9.8,88.0,25.786875,2.0,0.0,200.0,0.0,0.0,15.53,16.0,25.76,0.0,70.0,0.708,2.589,717.72,-4.09721671875,22.7,,1.721,,0.02,4.0,3.0,1.721,2.202 +Cl,171.6,,102.0,12.96763,4.610279469,3.16,3.214,0.5,2.18,3.65918124,-2.050609993,2.0,0.0,2.18,7.0,0.0,18317.5070375642,,17.0,1.0,0.0,1500.0,1.75,1000.0,1.0,1.1,0.51,0.0,1.01,0.0089,1.0,,,0.0,0.0,23.8136,"[-1.0, 1.0, 5.0, 7.0]",0.0,35.453,10.2,94.0,24.4975,1.0,0.0,349.0,0.0,0.0,17.39,17.0,29.05,0.0,64.0,0.479,2.869,238.96,-1.784433755,33.949,,3.2,,0.01,5.0,3.0,3.2,2.493 +Ar,83.8,,106.0,15.75961,4.851074973,,1.784,0.46,1.6411,3.850300758,-1.751536282,2.0,0.0,1.6411,8.0,0.0,37184.285422807,,18.0,1.0,0.0,,1.88,,0.0,,0.46,0.0,0.92,0.01772,0.71,,,0.0,0.0,27.62966,[],0.0,39.948,6.5,100.0,28.54,0.0,0.0,0.0,0.0,0.0,22.56,18.0,36.3,0.0,225.0,0.52,3.242,87.2,0.05854104,20.786,,1.18,,0.0,6.0,3.0,1.18,9.26 +K,336.53,230.0,203.0,4.3406633,6.637517176,0.82,856.0,1.54,43.23,5.268200874,2.0,1.0,0.0,43.23,1.0,1.0,75.8478646830779,2.25,19.0,0.0,0.0,1700.0,2.75,7200.0,0.0,3.1,2.15,1.0,3.69,100.0,2.2,1.3,,0.0,0.0,31.63,[1.0],0.0,39.0983,76.9,3.0,73.1066666667,1.0,1.0,48.4,0.0,0.0,45.94,1.0,75.63,0.0,229.0,0.757,0.734,1032.0,-1.09753971333,29.6,0.65,2.335,0.37,0.61,0.0,4.0,2.335,0.0 +Ca,1115.0,201.0,176.0,6.11316,5.326014266,1.0,1550.0,1.32,25.73333333,4.227260324,2.301029996,2.0,0.0,25.7333333333,2.0,1.0,42.9371873024716,2.55,20.0,0.0,0.0,3900.0,2.31,1500.0,0.0,17.0,1.68,0.0,3.0,200.0,1.8,7.4,,0.0,0.0,11.87172,[2.0],0.0,40.078,155.0,7.0,37.77,0.0,1.0,2.37,0.0,0.0,26.2,2.0,44.19,0.0,225.0,0.647,1.034,1757.0,-1.948329565,25.929,0.91,8.54,0.34,0.36,0.0,4.0,8.54,0.0 +Sc,1814.0,162.0,170.0,6.56149,4.463741557,1.36,2985.0,1.22,17.8,3.542874021,1.204119983,2.0,6.35e-06,17.8,3.0,0.0,25.0093109185916,3.25,21.0,0.0,0.0,5500.0,2.11,4500.0,0.0,57.0,1.53,0.0,2.75,16.0,1.6,29.0,,0.0,0.0,12.79977,[3.0],1.0,44.955912,318.0,11.0,22.235,9.0,1.0,18.1,9.0,1.0,15.0,3.0,24.96,0.0,194.0,0.568,1.19,3103.0,-6.28551309,25.52,1.27,14.1,0.31,0.31,0.0,4.0,14.1,0.0 +Ti,1941.0,142.0,160.0,6.82812,4.056692689,1.54,4507.0,1.15,14.6,3.219799121,1.342422681,2.0,2.25333333333e-05,14.6,4.0,0.0,17.6363171588061,3.8,22.0,0.0,0.0,1100.0,,1600.0,0.0,110.0,1.43,0.0,2.58,22.0,1.4,44.0,,0.0,0.0,13.5755,"[2.0, 3.0, 4.0]",1.0,47.867,425.0,43.0,16.69,8.0,1.0,7.6,8.0,2.0,10.64,4.0,17.67,0.0,194.0,0.524,1.38,3560.0,-7.77522712,25.06,1.52,14.15,0.28,0.28,0.0,4.0,14.15,0.0 +V,2183.0,134.0,153.0,6.74619,3.733467966,1.63,6110.0,1.09,12.4,2.963255488,1.491361694,2.0,0.0,12.4,5.0,0.0,13.8448982209802,4.25,23.0,0.0,0.0,3300.0,,3400.0,0.0,160.0,1.34,0.0,2.43,31.0,1.35,47.0,,0.0,0.0,14.618,"[2.0, 3.0, 4.0, 5.0]",1.0,50.9415,453.0,46.0,13.01,7.0,1.0,50.6,7.0,3.0,8.32,5.0,13.88,0.0,229.0,0.489,1.53,3680.0,-8.93926069,24.89,1.64,21.5,0.26,0.25,0.0,4.0,21.5,0.0 +Cr,2180.0,130.0,139.0,6.76651,3.550558664,1.66,7140.0,1.07,11.6,2.818080279,1.973127854,1.0,0.0,11.6,6.0,0.0,12.0929374738936,4.65,24.0,0.0,0.0,3100.0,,4100.0,0.0,160.0,1.37,1.0,2.44,94.0,1.4,115.0,,0.0,0.0,16.4857,"[2.0, 3.0, 6.0]",1.0,51.9961,339.0,49.0,11.19,6.0,1.0,64.3,5.0,5.0,7.23,6.0,12.01,0.0,229.0,0.449,1.65,2944.0,-9.50571654,23.35,1.73,21.0,0.25,0.3,0.0,4.0,21.0,0.0 +Mn,1519.0,132.0,139.0,7.43402,3.474656242,1.55,7470.0,0.99,9.4,2.757836487,0.892094603,2.0,0.000310120689655,9.4,7.0,0.0,12.2127044655985,4.45,25.0,0.0,0.0,1600.0,,1800.0,0.0,120.0,1.23,0.0,2.22,7.8,1.4,78.0,,0.0,0.0,15.64,"[2.0, 3.0, 4.0, 7.0]",1.0,54.938045,220.0,52.0,10.4875862069,5.0,1.0,0.0,5.0,5.0,7.35,7.0,12.2,0.0,217.0,0.479,1.75,2334.0,-9.02056525034,26.32,1.61,12.91,0.23,0.24,0.0,4.0,12.91,0.0 +Fe,1811.0,125.0,132.0,7.9024,3.501224062,1.83,7874.0,0.95,8.4,2.778923379,1.903089987,2.0,2.1106628,8.4,8.0,0.0,11.7773649695423,4.93,26.0,0.0,0.0,2400.0,,1400.0,0.0,170.0,1.16,0.0,2.11,80.0,1.4,82.0,,0.0,0.0,16.1877,"[2.0, 3.0]",1.0,55.845,347.0,55.0,10.73,4.0,1.0,15.7,4.0,6.0,7.09,8.0,11.78,0.0,229.0,0.449,1.8,3134.0,-8.28548436,25.1,1.77,13.81,0.22,0.21,0.0,4.0,13.81,0.0 +Co,1768.0,125.0,126.0,7.88101,3.447656463,1.88,8900.0,0.92,7.5,2.736406748,2.0,2.0,1.5484712,7.5,9.0,0.0,10.9958606831132,5.1,27.0,0.0,0.0,3100.0,,2700.0,0.0,180.0,1.1,0.0,2.02,100.0,1.35,75.0,,0.0,0.0,17.084,"[2.0, 3.0]",1.0,58.933195,375.0,58.0,10.245,3.0,1.0,63.7,3.0,7.0,6.67,9.0,11.12,0.0,194.0,0.421,1.84,3200.0,-7.080389145,24.81,1.75,16.2,0.21,0.18,0.0,4.0,16.2,0.0 +Ni,1728.0,126.0,124.0,7.6398,3.456049039,1.91,8908.0,0.96,6.8,2.74306794,1.959041392,2.0,0.5953947,6.8,10.0,0.0,10.9412844417051,5.2,28.0,0.0,0.0,1000.0,1.63,1500.0,0.0,180.0,1.22,0.0,2.18,91.0,1.35,76.0,,0.0,0.0,18.16884,"[2.0, 3.0]",1.0,58.6934,378.0,61.0,10.32,2.0,1.0,112.0,2.0,8.0,6.59,10.0,10.86,0.0,225.0,0.444,1.88,3186.0,-5.54632457,26.07,1.75,17.48,0.195,0.26,0.0,4.0,17.48,0.0 +Cu,1357.77,126.0,132.0,7.72638,3.537821124,1.9,8920.0,0.88,6.15,2.807970487,2.602059991,1.0,0.0,6.15,11.0,0.0,11.8299419318999,4.45,29.0,0.0,0.0,1600.0,1.4,1500.0,0.0,140.0,1.16,1.0,2.04,400.0,1.35,48.0,,0.0,0.0,20.2924,"[1.0, 2.0]",1.0,63.546,300.0,64.0,11.07,1.0,1.0,118.4,0.0,10.0,7.11,11.0,11.81,0.0,225.0,0.385,1.85,3200.0,-3.68065482,24.44,1.47,13.6,0.185,0.28,0.0,4.0,13.6,0.0 +Zn,692.68,140.0,122.0,9.394199,3.822215211,1.65,7140.0,0.82,5.816666667,3.033694224,2.079181246,2.0,0.0,5.8166666667,12.0,0.0,15.2056837348025,4.1,30.0,0.0,0.0,1600.0,1.39,1900.0,0.0,70.0,1.06,0.0,1.88,120.0,1.35,43.0,,0.0,0.0,17.96439,[2.0],1.0,65.38,119.0,69.0,13.96,0.0,1.0,0.0,0.0,10.0,9.16,12.0,15.19,0.0,194.0,0.388,1.59,1180.0,-1.239999915,25.39,1.32,7.068,0.175,0.24,0.0,4.0,7.068,0.0 +Ga,302.91,134.0,122.0,5.999301,4.225207441,1.81,5904.0,0.76,8.12,3.353549368,1.462397998,2.0,0.0,8.12,13.0,0.0,19.6105134830824,4.1,31.0,0.0,0.0,5500.0,1.87,1900.0,5.0,,0.935,0.0,1.695,29.0,1.3,,,0.0,0.0,20.51515,[3.0],0.0,69.723,256.0,74.0,18.8575,5.0,1.0,28.9,0.0,10.0,11.8,13.0,19.6,0.0,64.0,0.373,1.756,2477.0,-3.0122553025,26.03,1.31,5.585,0.17,0.175,1.0,4.0,5.585,0.0 +Ge,1211.4,114.0,120.0,7.89943,4.514684539,2.01,5323.0,0.72,5.84,3.583307493,1.77815125,2.0,0.0,5.84,14.0,0.0,22.6609763823586,4.55,32.0,0.0,0.0,5300.0,2.11,1900.0,4.0,,0.84,0.0,1.56,60.0,1.25,,,1.0,0.0,15.93461,"[2.0, 4.0]",0.0,72.64,334.0,79.0,23.005,4.0,0.0,119.0,0.0,10.0,13.63,14.0,22.23,0.0,225.0,0.32,1.994,3093.0,-4.616039545,23.222,1.37,36.94,0.16,0.12,2.0,4.0,36.94,0.383 +As,1090.0,115.0,119.0,9.7886,4.459722881,2.18,5727.0,0.67,4.31,3.539684396,1.698970004,2.0,0.0,4.31,15.0,0.0,21.723965737178,4.8,33.0,0.0,0.0,3300.0,1.85,4000.0,3.0,22.0,0.745,0.0,1.415,50.0,1.15,,,1.0,0.0,18.5892,"[-3.0, 3.0, 5.0]",0.0,74.9216,32.4,84.0,22.175,3.0,1.0,78.0,0.0,10.0,12.95,15.0,21.52,0.0,166.0,0.329,2.211,887.0,-4.650889115,24.64,1.44,24.44,0.155,0.075,3.0,4.0,24.44,0.0 +Se,494.0,118.0,120.0,9.75239,4.697841169,2.55,4819.0,0.615,3.77,3.728679007,-0.283996656,2.0,0.0,3.77,16.0,0.0,27.2088046258276,,34.0,1.0,0.0,2200.0,1.9,6000.0,2.0,8.3,0.67,0.0,1.285,0.52,1.15,3.7,,0.0,0.0,21.19,"[-2.0, 4.0, 6.0]",0.0,78.96,26.0,89.0,25.92,2.0,0.0,195.0,0.0,10.0,16.42,16.0,29.81,0.0,14.0,0.321,2.424,958.0,-3.47079191,25.363,,6.69,0.15,0.055,4.0,4.0,6.69,0.799 +Br,265.8,,120.0,11.8138,4.903759436,2.96,3120.0,0.58,3.05,3.892116444,-0.920818754,2.0,0.0,3.05,17.0,0.0,42.5278253242385,,35.0,1.0,0.0,3300.0,1.85,6900.0,1.0,1.9,0.62,0.0,1.2,0.12,1.15,,,0.0,0.0,21.591,"[-1.0, 1.0, 5.0]",0.0,79.904,14.8,95.0,29.48,1.0,0.0,324.6,0.0,10.0,19.78,17.0,65.14,0.0,64.0,0.474,2.685,332.0,-1.5830253375,75.69,,5.285,0.143,0.04,5.0,4.0,5.285,1.457 +Kr,115.79,,116.0,13.99961,5.244393107,3.0,3.75,0.56,2.4844,4.162477568,-2.025488307,2.0,0.0,2.4844,18.0,0.0,37107.4947415034,,36.0,1.0,0.0,,2.02,,0.0,,0.6,0.0,1.16,0.00943,,,,0.0,0.0,24.35984,[],0.0,83.798,9.02,101.0,36.06,0.0,0.0,0.0,0.0,10.0,27.99,18.0,44.81,0.0,225.0,0.248,2.966,119.78,0.08753524,20.786,,1.164,0.138,0.04,6.0,4.0,1.164,7.535 +Rb,312.46,244.0,220.0,4.177128,7.132771862,0.82,1532.0,1.67,47.27,5.661284779,1.763427994,1.0,0.0,47.27,1.0,1.0,92.6409518449757,2.1,37.0,0.0,0.0,6000.0,3.03,6000.0,0.0,2.5,2.43,1.0,4.1,58.0,2.35,,,0.0,0.0,27.2895,[1.0],0.0,85.4678,72.0,4.0,90.7225,1.0,1.0,46.9,0.0,0.0,55.76,1.0,93.09,0.0,229.0,0.363,0.706,961.0,-0.963335025,31.06,0.6,2.19,0.71,0.76,0.0,5.0,2.19,0.0 +Sr,1050.0,212.0,195.0,5.69485,6.008506453,0.95,2630.0,1.42,25.55,4.768954732,1.544068044,2.0,0.0,25.55,2.0,1.0,55.3231307765064,2.4,38.0,0.0,0.0,4200.0,2.49,3000.0,0.0,,1.79,0.0,3.21,35.0,2.0,6.1,,0.0,0.0,11.0301,[2.0],0.0,87.62,137.0,8.0,54.23,0.0,1.0,5.03,0.0,0.0,33.94,2.0,56.08,0.0,225.0,0.306,0.963,1655.0,-1.6828136,26.79,0.84,7.43,0.633,0.37,0.0,5.0,7.43,0.0 +Y,1799.0,179.0,190.0,6.2173,5.058773104,1.22,4472.0,1.32,22.7,4.015150874,1.230448921,2.0,0.0,22.7,3.0,0.0,33.0132128825196,3.2,39.0,0.0,0.0,9800.0,,2600.0,0.0,41.0,1.62,0.0,2.94,17.0,1.8,26.0,,0.0,0.0,12.224,[3.0],1.0,88.90585,380.0,12.0,32.365,9.0,1.0,29.6,9.0,1.0,19.88,3.0,32.97,0.0,194.0,0.298,1.12,3618.0,-6.464599775,26.53,1.21,11.39,0.58,0.3,0.0,5.0,11.39,0.0 +Zr,2128.0,158.0,175.0,6.6339,4.527079516,1.33,6511.0,1.265,17.9,3.593145393,1.361727836,2.0,0.0,17.9,4.0,0.0,23.2659432691915,3.45,40.0,0.0,0.0,3400.0,,2600.0,0.0,,1.56,0.0,2.825,23.0,1.55,33.0,,0.0,0.0,13.1,[4.0],1.0,91.224,580.0,44.0,23.195,8.0,1.0,41.1,8.0,2.0,14.02,4.0,23.29,0.0,194.0,0.278,1.32,4682.0,-8.545958555,25.36,1.41,21.0,0.54,0.295,0.0,5.0,21.0,0.0 +Nb,2750.0,143.0,164.0,6.75885,4.173988903,1.6,8570.0,1.23,15.7,3.312897187,1.73239376,1.0,0.0,15.7,5.0,0.0,18.0021329803168,4.05,41.0,0.0,0.0,8500.0,,8800.0,0.0,170.0,1.53,1.0,2.76,54.0,1.45,38.0,,0.0,0.0,14.0,"[3.0, 5.0]",1.0,92.90638,690.0,47.0,18.18,7.0,1.0,86.1,6.0,4.0,10.83,5.0,18.15,0.0,229.0,0.265,1.41,5017.0,-10.09332153,24.6,1.64,30.0,0.51,0.3,0.0,5.0,30.0,0.0 +Mo,2896.0,139.0,154.0,7.09243,3.973998007,2.16,10280.0,1.22,12.8,3.154164308,2.1430148,1.0,0.0,12.8,6.0,0.0,15.5008806878023,4.65,42.0,0.0,0.0,2400.0,,5300.0,0.0,230.0,1.5,1.0,2.72,139.0,1.45,20.0,,0.0,0.0,16.16,[6.0],1.0,95.96,600.0,50.0,15.69,6.0,1.0,71.9,5.0,5.0,9.38,6.0,15.59,0.0,229.0,0.251,1.47,4912.0,-10.84610777,24.06,1.77,37.48,0.49,0.28,0.0,5.0,37.48,0.0 +Tc,2430.0,136.0,147.0,7.28,3.851649375,1.9,11500.0,1.16,11.4,3.057056135,1.707570176,2.0,0.0,11.4,7.0,0.0,14.1510115085267,5.3,43.0,0.0,0.0,,,,0.0,,1.49,0.0,2.65,51.0,1.35,,,0.0,0.0,15.26,"[4.0, 6.0, 7.0]",1.0,98.0,550.0,53.0,14.285,5.0,1.0,53.0,5.0,5.0,8.63,7.0,14.22,0.0,194.0,,1.51,4538.0,-10.355151195,,1.81,33.29,0.455,0.33,0.0,5.0,33.29,0.0 +Ru,2607.0,134.0,146.0,7.3605,3.780696194,2.2,12370.0,1.145,9.6,3.000740558,2.079181246,1.0,0.0,9.6,8.0,0.0,13.5678744093001,5.4,44.0,0.0,0.0,3200.0,,8000.0,0.0,220.0,1.46,1.0,2.605,120.0,1.3,173.0,,0.0,0.0,16.76,[3.0],1.0,101.07,580.0,56.0,13.51,4.0,1.0,101.3,3.0,7.0,8.17,8.0,14.03,0.0,194.0,0.238,1.54,4423.0,-9.19463357,24.06,1.83,38.59,0.45,0.315,0.0,5.0,38.59,0.0 +Rh,2237.0,132.0,142.0,7.4589,3.79278409,2.28,12450.0,1.11,8.6,3.010334727,2.176091259,1.0,0.0,8.6,9.0,0.0,13.7255098107475,5.4,45.0,0.0,0.0,3200.0,,8000.0,0.0,380.0,1.41,1.0,2.52,150.0,1.35,150.0,,0.0,0.0,18.08,[3.0],1.0,102.9055,495.0,59.0,13.64,3.0,1.0,109.7,2.0,8.0,8.28,9.0,11.58,0.0,225.0,0.243,1.56,3968.0,-7.25364552,24.98,1.76,26.59,0.42,0.3,0.0,5.0,26.59,0.0 +Pd,1828.05,142.0,139.0,8.3369,3.862851303,2.2,12023.0,1.08,4.8,3.065947111,1.857332496,0.0,0.0,4.8,10.0,0.0,14.6983862685637,5.45,46.0,0.0,0.0,3200.0,1.63,8000.0,0.0,180.0,1.37,0.0,2.45,72.0,1.4,44.0,,0.0,0.0,19.43,"[2.0, 3.0]",1.0,106.42,380.0,62.0,14.41,0.0,1.0,53.7,0.0,10.0,8.56,10.0,14.72,0.0,225.0,0.244,1.58,3236.0,-5.13777457,25.98,1.67,16.74,0.4,0.29,0.0,5.0,16.74,0.0 +Ag,1234.93,144.0,145.0,7.57623,4.027313074,1.93,10490.0,1.045,6.99,3.196480506,2.633468456,1.0,0.0,6.99,11.0,0.0,17.0756479498908,4.35,47.0,0.0,0.0,1200.0,1.72,1400.0,0.0,100.0,1.33,1.0,2.375,430.0,1.6,30.0,,0.0,0.0,21.47746,[1.0],1.0,107.8682,255.0,65.0,16.33,1.0,1.0,125.6,0.0,10.0,10.27,11.0,17.05,0.0,225.0,0.235,1.87,2435.0,-2.76539356,25.35,1.36,11.3,0.385,0.285,0.0,5.0,11.3,0.0 +Cd,594.22,157.0,144.0,8.99382,4.272293466,1.69,8650.0,0.985,7.32,3.390921571,1.986771734,2.0,0.0,7.32,12.0,0.0,21.580025455795,4.05,48.0,0.0,0.0,1700.0,1.58,1300.0,0.0,42.0,1.23,0.0,2.215,97.0,1.55,19.0,,0.0,0.0,16.90831,[2.0],1.0,112.411,100.0,70.0,19.495,0.0,1.0,0.0,0.0,10.0,13.0,12.0,21.59,0.0,194.0,0.231,1.52,1040.0,-0.812174225,26.02,1.24,6.21,0.37,0.245,0.0,5.0,6.21,0.0 +In,429.75,155.0,142.0,5.78636,4.595332379,1.78,7310.0,0.94,9.65,3.647317727,1.913813852,2.0,0.0,9.65,13.0,0.0,26.0826581603887,3.9,49.0,0.0,0.0,3300.0,1.93,2000.0,5.0,,1.11,0.0,2.05,82.0,1.55,,,0.0,0.0,18.8703,[3.0],0.0,114.818,230.0,75.0,24.26,5.0,1.0,28.9,0.0,10.0,15.76,13.0,26.14,0.0,139.0,0.233,1.656,2345.0,-2.66680196,26.74,1.17,3.291,0.36,0.17,1.0,5.0,3.291,0.0 +Sn,505.08,155.0,139.0,7.34392,5.106259136,1.96,7310.0,0.88,7.06,4.052840562,1.826074803,2.0,0.0,7.06,14.0,0.0,26.9667852620646,4.15,50.0,0.0,0.0,2600.0,2.17,1600.0,4.0,58.0,1.0,0.0,1.88,67.0,1.45,18.0,,0.0,0.0,14.6322,"[2.0, 4.0]",0.0,118.71,290.0,80.0,33.285,4.0,1.0,107.3,0.0,10.0,16.29,14.0,27.05,0.0,141.0,0.227,1.824,2875.0,-3.96104709,26.99,1.24,7.15,0.345,0.12,2.0,5.0,7.15,0.0 +Sb,903.78,155.0,139.0,8.60839,5.016478962,2.05,6697.0,0.83,6.6,3.981581991,1.380211242,2.0,0.0,6.6,15.0,0.0,30.1914234437891,4.4,51.0,0.0,0.0,7900.0,2.06,3400.0,3.0,42.0,0.935,0.0,1.765,24.0,1.45,20.0,,1.0,0.0,16.63,"[-3.0, 3.0, 5.0]",0.0,121.76,68.0,85.0,31.56,3.0,1.0,103.2,0.0,10.0,18.19,15.0,30.21,0.0,166.0,0.207,1.984,1860.0,-4.11736234,25.23,1.26,19.79,0.335,0.105,3.0,5.0,19.79,0.0 +Te,722.66,140.0,138.0,9.0096,5.180763906,2.1,6240.0,0.79,5.5,4.111975037,0.477121255,2.0,0.0,5.5,16.0,0.0,33.9566887225472,,52.0,0.0,0.0,2900.0,2.06,4900.0,2.0,65.0,0.88,0.0,1.67,3.0,1.4,16.0,,1.0,0.0,18.6,"[-2.0, 4.0, 6.0]",0.0,127.6,48.0,90.0,34.7633333333,2.0,0.0,190.2,0.0,10.0,20.46,16.0,33.94,0.0,152.0,0.202,2.158,1261.0,-3.14130250667,25.73,,17.38,0.325,0.09,4.0,5.0,17.38,0.464 +I,386.85,,139.0,10.45126,5.561944354,2.66,4940.0,0.755,5.025,4.414518159,-0.347753659,2.0,0.0,5.025,17.0,0.0,42.6588574686339,,53.0,1.0,0.0,4900.0,1.98,4800.0,1.0,7.7,0.83,0.0,1.585,0.449,1.4,,,0.0,0.0,19.1313,"[-1.0, 1.0, 5.0, 7.0]",0.0,126.90447,20.9,96.0,43.015,1.0,0.0,295.2,0.0,10.0,25.72,17.0,42.51,0.0,64.0,0.214,2.359,457.3,-1.5054024175,54.43,,7.76,0.315,0.075,5.0,5.0,7.76,1.062 +Xe,161.3,,140.0,12.12984,5.987008929,2.6,5.9,0.75,4.044,4.751892136,-2.247951552,2.0,0.0,4.044,18.0,0.0,36952.9240243401,,54.0,1.0,0.0,,2.16,,0.0,,0.81,0.0,1.56,0.00565,,,,0.0,0.0,20.975,[],0.0,131.293,12.64,102.0,53.65,0.0,0.0,0.0,0.0,10.0,35.92,18.0,57.83,0.0,225.0,0.158,2.582,165.0,0.04873128,20.786,,2.27,0.305,0.06,6.0,5.0,2.27,6.456 +Cs,301.59,264.0,244.0,3.893905,7.736521839,0.79,1879.0,1.71,59.42,6.140481453,1.556302501,1.0,0.0,59.42,1.0,1.0,117.456015807924,1.95,55.0,0.0,0.0,6000.0,3.43,6000.0,0.0,1.6,2.6,1.0,4.31,36.0,2.6,,,0.0,0.0,23.15744,[1.0],0.0,132.9054519,65.0,5.0,115.765,1.0,1.0,45.5,0.0,0.0,70.94,1.0,67.55,0.0,229.0,0.242,0.659,944.0,-0.85462646,32.21,0.55,2.09,,0.89,0.0,6.0,2.09,0.0 +Ba,1000.0,223.0,215.0,5.211664,6.3360161,0.89,3510.0,1.515,39.7,5.028899311,1.255272505,2.0,0.0,39.7,2.0,1.0,64.9692816746952,2.32,56.0,0.0,0.0,3000.0,2.68,2300.0,0.0,9.6,1.887,0.0,3.402,18.0,2.15,4.9,,0.0,0.0,10.00383,[2.0],0.0,137.327,140.0,9.0,63.59,0.0,1.0,13.95,0.0,0.0,38.16,2.0,62.88,0.0,229.0,0.204,0.881,2143.0,-1.92352226,28.07,0.81,7.12,0.94,0.372,0.0,6.0,7.12,0.0 +La,1193.0,187.0,207.0,5.5769,5.28468344,1.1,6146.0,1.375,31.1,4.194456026,1.113943352,2.0,0.0,31.1,3.0,0.0,37.5306461188031,3.17,57.0,0.0,0.0,9500.0,,3100.0,0.0,28.0,1.705,0.0,3.08,13.0,1.95,14.0,,0.0,0.0,11.059,[3.0],0.0,138.90547,400.0,13.0,36.8975,9.0,1.0,48.0,9.0,1.0,22.39,3.0,37.42,1.0,194.0,0.195,1.09,3737.0,-4.927546185,27.11,1.18,6.2,0.874,0.33,0.0,6.0,6.2,0.0 +Ce,1071.0,182.0,204.0,5.5387,5.300984746,1.12,6689.0,,29.6,4.207394381,1.041392685,2.0,0.0,29.6,4.0,0.0,34.7845014783339,3.18,58.0,0.0,1.0,9500.0,,3100.0,0.0,22.0,,0.0,4.5,11.0,1.85,14.0,,0.0,13.0,10.85,"[3.0, 4.0]",0.0,140.116,350.0,15.0,37.24,22.0,1.0,50.0,9.0,1.0,20.69,3.0,34.47,1.0,194.0,0.192,1.16,3633.0,-4.77656965,26.94,1.19,5.46,,,0.0,6.0,5.46,0.0 +Pr,1204.0,183.0,203.0,5.473,5.225662103,1.13,6640.0,,28.2,4.14761076,1.113943352,2.0,0.0,28.2,5.0,0.0,35.2391757331551,3.19,59.0,0.0,3.0,9500.0,,3100.0,0.0,29.0,,0.0,4.48,13.0,1.85,15.0,,0.0,11.0,10.55,[3.0],0.0,140.90765,330.0,17.0,35.675,11.0,1.0,50.0,0.0,0.0,20.8,3.0,34.5,1.0,194.0,0.193,1.34,3563.0,-4.77382996,27.2,1.2,6.89,,,0.0,6.0,6.89,0.0 +Nd,1294.0,182.0,201.0,5.525,5.183081107,1.14,7010.0,,31.4,4.1138142,1.230448921,2.0,0.0,31.4,6.0,0.0,34.1690548824543,3.19,60.0,0.0,4.0,9500.0,,3100.0,0.0,32.0,,0.0,3.99,17.0,1.85,16.0,,0.0,10.0,10.72,[3.0],0.0,144.242,285.0,19.0,34.81,10.0,1.0,50.0,0.0,0.0,20.59,3.0,34.2,1.0,194.0,0.19,1.47,3373.0,-4.76235134,27.45,1.2,7.14,,,0.0,6.0,7.14,0.0 +Pm,1373.0,185.0,199.0,5.582,5.134610166,1.155,7264.0,,30.1,4.075342789,1.176091259,2.0,0.0,30.1,7.0,0.0,33.1475485627589,3.19,61.0,0.0,5.0,9500.0,,3100.0,0.0,33.0,,0.0,3.99,15.0,1.85,18.0,,0.0,9.0,10.9,[3.0],0.0,145.0,290.0,21.0,33.8425,9.0,1.0,50.0,0.0,0.0,20.23,3.0,33.67,1.0,194.0,,1.6,3273.0,-4.7446213425,,1.21,,,,0.0,6.0,,0.0 +Sm,1345.0,185.0,198.0,5.6437,5.103445064,1.17,7353.0,,28.8,4.050607032,1.113943352,2.0,0.0,28.8,8.0,0.0,33.9568190130002,3.2,62.0,0.0,6.0,9500.0,,3100.0,0.0,38.0,,0.0,4.14,13.0,1.85,20.0,,0.0,8.0,11.07,"[2.0, 3.0]",0.0,150.36,175.0,23.0,33.23,8.0,1.0,50.0,0.0,0.0,19.98,3.0,33.14,1.0,166.0,0.196,1.65,2076.0,-4.713379635,29.54,1.21,8.62,,,0.0,6.0,8.62,0.0 +Eu,1095.0,196.0,198.0,5.67038,5.263713205,1.185,5244.0,,27.7,4.177811939,1.146128036,2.0,0.0,27.7,9.0,0.0,48.1212923577191,2.5,63.0,0.0,7.0,9500.0,,3100.0,0.0,8.3,,0.0,3.94,14.0,1.85,7.9,,0.0,7.0,11.25,"[2.0, 3.0]",0.0,151.964,175.0,25.0,36.46,7.0,1.0,50.0,0.0,0.0,28.97,3.0,48.53,1.0,229.0,0.182,1.68,1800.0,-1.82958684,27.66,0.88,9.21,,,0.0,6.0,9.21,0.0 +Gd,1586.0,176.0,196.0,6.1498,5.042307669,1.2,7901.0,,23.5,4.002082249,1.041392685,2.0,0.0,23.5,10.0,0.0,33.0497243138068,3.2,64.0,0.0,7.0,9500.0,,3100.0,0.0,38.0,,0.0,3.91,11.0,1.8,22.0,,0.0,7.0,12.09,[3.0],0.0,157.25,305.0,27.0,32.05,16.0,1.0,50.0,9.0,1.0,19.9,3.0,32.98,1.0,194.0,0.235,1.72,3523.0,-4.65442131,37.03,1.21,9.67,,,0.0,6.0,9.67,0.0 +Tb,1629.0,176.0,194.0,5.8638,5.025821971,1.21,8219.0,,25.5,3.988997542,1.041392685,2.0,0.0,25.5,11.0,0.0,32.109492755383,3.21,65.0,0.0,9.0,9500.0,,3100.0,0.0,38.7,,0.0,3.89,11.0,1.75,22.0,,0.0,5.0,11.52,[3.0],0.0,158.92535,295.0,29.0,31.7366666667,5.0,1.0,50.0,0.0,0.0,19.3,3.0,31.95,1.0,194.0,0.182,1.92,3503.0,-4.62921769667,28.91,1.22,10.15,,,0.0,6.0,10.15,0.0 +Dy,1685.0,175.0,192.0,5.9389,4.99946661,1.22,8551.0,,24.5,3.968079278,1.041392685,2.0,0.0,24.5,12.0,0.0,31.5569998455358,3.21,66.0,0.0,10.0,9500.0,,3100.0,0.0,41.0,,0.0,3.67,11.0,1.75,25.0,,0.0,4.0,11.67,[3.0],0.0,162.5,280.0,31.0,31.24,4.0,1.0,50.0,0.0,0.0,19.01,3.0,31.6,1.0,194.0,0.173,1.76,2840.0,-4.60155445333,28.16,1.22,11.35,,,0.0,6.0,11.35,0.0 +Ho,1747.0,177.0,192.0,6.0215,4.972291172,1.23,8795.0,,23.6,3.946510119,1.204119983,2.0,0.0,23.6,13.0,0.0,31.1403799107649,3.22,67.0,0.0,11.0,9500.0,,3100.0,0.0,40.0,,0.0,3.65,16.0,1.75,26.0,,0.0,3.0,11.8,[3.0],0.0,164.93032,265.0,33.0,30.7333333333,3.0,1.0,50.0,0.0,0.0,18.74,3.0,31.11,1.0,194.0,0.165,1.789,2973.0,-4.57741687667,27.15,1.22,11.76,,,0.0,6.0,11.76,0.0 +Er,1770.0,175.0,189.0,6.1077,4.964278739,1.24,9066.0,,22.7,3.940150647,1.176091259,2.0,0.0,22.7,14.0,0.0,30.6360683670134,3.22,68.0,0.0,12.0,9500.0,,3100.0,0.0,44.0,,0.0,3.63,15.0,1.75,28.0,,0.0,2.0,11.93,[3.0],0.0,167.259,285.0,35.0,30.585,2.0,1.0,50.0,0.0,0.0,18.46,3.0,30.67,1.0,194.0,0.168,1.854,3141.0,-4.563633745,28.12,1.23,19.9,,,0.0,6.0,19.9,0.0 +Tm,1818.0,175.0,190.0,6.18431,4.920337518,1.25,9321.0,,21.8,3.905274476,1.230448921,2.0,0.0,21.8,15.0,0.0,30.0963858478217,3.22,69.0,0.0,13.0,9500.0,,3100.0,0.0,45.0,,0.0,3.6,17.0,1.75,31.0,,0.0,1.0,12.05,[3.0],0.0,168.93421,250.0,37.0,29.78,1.0,1.0,50.0,0.0,0.0,19.1,3.0,30.14,1.0,194.0,0.16,2.01,2223.0,-4.47387849,27.03,1.23,16.84,,,0.0,6.0,16.84,0.0 +Yb,1092.0,190.0,187.0,6.25416,5.148606152,1.26,6570.0,,20.9,4.086451411,1.591064607,2.0,0.0,20.9,16.0,0.0,43.7396719385591,2.58,70.0,0.0,14.0,9500.0,,3100.0,0.0,31.0,,0.0,3.59,39.0,1.75,9.9,,0.0,0.0,12.176,"[2.0, 3.0]",0.0,173.054,160.0,39.0,34.12,0.0,1.0,50.0,0.0,0.0,24.84,3.0,41.17,1.0,225.0,0.155,2.19,1469.0,-1.47410408,26.74,0.92,7.66,,,0.0,6.0,7.66,0.0 +Lu,1936.0,175.0,187.0,5.42586,4.869419431,1.27,9841.0,,21.9,3.864860763,1.204119983,2.0,0.0022471,21.9,17.0,0.0,29.5240319080689,3.22,71.0,0.0,14.0,9500.0,,3100.0,0.0,48.0,,0.0,3.37,16.0,1.75,27.0,,0.0,0.0,13.9,[3.0],1.0,174.9668,415.0,41.0,28.865,9.0,1.0,50.0,9.0,1.0,17.78,3.0,29.52,1.0,194.0,0.154,2.39,3675.0,-4.52300002,26.86,1.24,18.65,,,0.0,6.0,18.65,0.0 +Hf,2506.0,158.0,175.0,6.82507,4.461398209,1.3,13310.0,1.3,16.2,3.541014105,1.361727836,2.0,0.0,16.2,18.0,0.0,22.2687111944408,3.6,72.0,0.0,14.0,3400.0,,2600.0,0.0,110.0,1.61,0.0,2.91,23.0,1.55,30.0,,0.0,0.0,15.0,[4.0],1.0,178.49,630.0,45.0,22.2,8.0,1.0,0.0,8.0,2.0,13.44,4.0,22.42,0.0,194.0,0.144,2.6,4876.0,-9.954299335,25.73,1.45,27.2,0.63,0.31,0.0,6.0,27.2,0.0 +Ta,3290.0,145.0,170.0,7.54957,4.169391995,1.5,16650.0,1.25,13.1,3.309248619,1.755874856,2.0,0.0,13.1,19.0,0.0,18.0467295591839,4.05,73.0,0.0,14.0,2300.0,,4800.0,0.0,200.0,1.54,0.0,2.79,57.0,1.45,69.0,7.54957,0.0,0.0,,[5.0],1.0,180.94788,735.0,48.0,18.12,7.0,1.0,31.0,7.0,3.0,10.85,5.0,17.65,0.0,229.0,0.14,0.67,5731.0,-11.85139954,25.36,1.63,36.57,0.605,0.29,0.0,6.0,36.57,0.0 +W,3695.0,135.0,162.0,7.86403,4.004162334,2.36,19250.0,1.22,11.1,3.178105751,2.230448921,2.0,0.0,11.1,20.0,0.0,15.8587344239951,4.8,74.0,0.0,14.0,7000.0,,4300.0,0.0,310.0,1.515,0.0,2.735,170.0,1.35,161.0,,0.0,0.0,16.1,[6.0],1.0,183.84,800.0,51.0,16.05,6.0,1.0,78.6,6.0,4.0,9.47,6.0,15.85,0.0,229.0,0.132,0.89,5828.0,-12.95880062,24.27,1.81,52.31,0.59,0.295,0.0,6.0,52.31,0.0 +Re,3459.0,137.0,151.0,7.83352,3.884620563,1.9,21020.0,1.19,9.7,3.083225384,1.681241237,2.0,0.0,9.7,21.0,0.0,14.7103342296135,5.2,75.0,0.0,14.0,3300.0,,3300.0,0.0,370.0,1.49,0.0,2.68,48.0,1.35,178.0,7.83352,0.0,0.0,,"[4.0, 6.0, 7.0]",1.0,186.207,705.0,54.0,14.655,5.0,1.0,14.5,5.0,5.0,8.86,7.0,14.71,0.0,194.0,0.137,,5869.0,-12.417027765,25.48,1.85,34.08,0.565,0.3,0.0,6.0,34.08,0.0 +Os,3306.0,135.0,144.0,8.43823,3.834043137,2.2,22590.0,1.17,8.5,3.043082054,1.944482672,2.0,0.0,8.5,22.0,0.0,13.98369766809,5.4,76.0,0.0,14.0,5500.0,,9100.0,0.0,,1.48,0.0,2.65,88.0,1.3,222.0,8.43823,0.0,0.0,,"[3.0, 4.0]",1.0,190.23,630.0,57.0,14.09,4.0,1.0,106.1,4.0,6.0,8.42,8.0,13.8,0.0,194.0,0.13,,5285.0,-11.22070399,24.7,1.85,57.85,0.543,0.31,0.0,6.0,57.85,0.0 +Ir,2739.0,136.0,141.0,8.96702,3.84489682,2.2,22560.0,1.16,7.6,3.051696628,2.176091259,2.0,0.0,7.6,23.0,0.0,14.1485504686127,5.55,77.0,0.0,14.0,5500.0,,9100.0,0.0,320.0,1.468,0.0,2.628,150.0,1.35,210.0,8.96702,0.0,0.0,,"[3.0, 4.0]",1.0,192.217,560.0,60.0,14.21,3.0,1.0,151.0,3.0,7.0,8.52,9.0,13.88,0.0,225.0,0.131,,4701.0,-8.84851145,25.1,1.83,41.12,0.526,0.308,0.0,6.0,41.12,0.0 +Pt,2041.4,139.0,136.0,8.9588,3.91660681,2.28,21090.0,1.24,6.5,3.108612885,1.857332496,1.0,0.0,6.5,24.0,0.0,15.3604635067342,5.65,78.0,0.0,14.0,5500.0,1.75,9100.0,0.0,230.0,1.46,1.0,2.7,72.0,1.35,61.0,,0.0,0.0,18.563,"[2.0, 4.0]",1.0,195.084,490.0,63.0,15.02,2.0,1.0,205.3,1.0,9.0,9.09,10.0,15.1,0.0,225.0,0.133,,4098.0,-6.02850968,25.86,1.78,22.175,0.51,0.22,0.0,6.0,22.175,0.0 +Au,1337.33,143.0,136.0,9.22553,4.057502731,2.54,19300.0,1.21,5.8,3.220442052,2.505149978,1.0,0.0,5.8,25.0,0.0,16.9470636164805,5.15,79.0,0.0,14.0,1100.0,1.66,1000.0,0.0,220.0,1.45,1.0,2.66,320.0,1.35,27.0,,0.0,0.0,20.2,"[1.0, 3.0]",1.0,196.966569,330.0,66.0,16.7,1.0,1.0,222.8,0.0,10.0,10.21,11.0,16.96,0.0,225.0,0.129,,3129.0,-3.20969261,25.418,1.57,12.55,0.488,0.24,0.0,6.0,12.55,0.0 +Hg,234.32,152.0,132.0,10.4375,4.656246199,2.0,13534.0,1.07,5.36,3.695665057,0.919078092,2.0,0.0,5.36,26.0,0.0,24.6117420696302,4.2,80.0,0.0,14.0,5500.0,1.55,3100.0,0.0,25.0,1.34,0.0,2.41,8.3,1.5,,,0.0,0.0,18.7568,"[1.0, 2.0]",1.0,200.59,59.2,71.0,25.2375862069,0.0,1.0,0.0,0.0,10.0,14.09,12.0,23.82,0.0,166.0,0.14,,629.73,-0.250105562414,27.983,1.24,2.295,0.475,0.27,0.0,6.0,2.295,0.0 +Tl,577.0,172.0,145.0,6.108194,4.756905929,1.62,11850.0,1.015,7.55,3.775558738,1.662757832,2.0,0.0,7.55,27.0,0.0,28.6408765609082,3.9,81.0,0.0,14.0,6500.0,1.96,6500.0,5.0,43.0,1.22,0.0,2.235,46.0,1.9,2.8,,0.0,0.0,20.4283,"[1.0, 3.0]",0.0,204.3833,165.0,76.0,26.91,5.0,1.0,19.2,0.0,10.0,17.22,13.0,28.53,0.0,194.0,0.129,,1746.0,-2.27267753,26.32,1.12,4.142,0.463,0.205,1.0,6.0,4.142,0.0 +Pb,600.61,174.0,146.0,7.41663,4.826588558,2.33,11340.0,0.96,6.995,3.830865877,1.544068044,2.0,0.0,6.995,28.0,0.0,30.3414230127393,4.1,82.0,0.0,14.0,2700.0,2.02,1800.0,4.0,46.0,1.13,0.0,2.09,35.0,1.8,5.6,,0.0,0.0,15.03248,"[2.0, 4.0]",0.0,207.2,178.0,81.0,28.11,4.0,1.0,35.1,0.0,10.0,18.26,14.0,30.32,0.0,225.0,0.13,,2022.0,-3.62902961,24.7,1.15,4.774,0.45,0.17,2.0,6.0,4.774,0.0 +Bi,544.4,162.0,148.0,7.2855,5.089070533,2.02,9780.0,0.92,0.4,4.039197959,0.903089987,2.0,0.0,0.4,29.0,0.0,35.4834590822064,4.15,83.0,0.0,14.0,5300.0,2.07,6000.0,3.0,31.0,1.077,0.0,1.997,8.0,1.6,12.0,,0.0,0.0,16.703,"[3.0, 5.0]",0.0,208.9804,160.0,86.0,32.95,3.0,1.0,91.2,0.0,10.0,21.31,15.0,35.38,0.0,12.0,0.122,,1837.0,-3.9736944,25.52,1.16,11.106,0.438,0.157,3.0,6.0,11.106,0.0 +Po,527.0,168.0,140.0,8.414,5.370818814,2.0,9196.0,0.88,6.8,4.262821718,1.301029996,2.0,0.0,6.8,30.0,0.0,37.740406388696,,84.0,0.0,14.0,,1.97,,2.0,,1.02,0.0,1.9,20.0,1.9,,8.414,1.0,0.0,,"[2.0, 4.0]",0.0,209.0,100.0,91.0,38.73125,2.0,1.0,183.3,0.0,10.0,22.97,16.0,37.38,0.0,221.0,,,1235.0,-4.03934834875,,,10.0,0.425,0.14,4.0,6.0,10.0,0.0 +At,575.0,,150.0,,5.370818814,2.2,,0.85,6.0,4.262821718,0.301029996,2.0,0.0,6.0,31.0,0.0,,,85.0,1.0,14.0,,2.02,,1.0,,0.98,0.0,1.83,2.0,,,,0.0,0.0,,"[-1.0, 5.0, 7.0]",0.0,210.0,40.0,97.0,38.73125,1.0,0.0,270.1,0.0,10.0,,17.0,39.49,0.0,,,,,-4.03934834875,,,,0.475,0.13,5.0,6.0,,0.0 +Rn,202.0,,150.0,10.7485,5.370818814,,9.73,0.84,5.3,4.262821718,-2.442492798,2.0,0.0,5.3,32.0,0.0,37887.7995482819,,86.0,1.0,14.0,,2.2,,0.0,,0.94,0.0,1.78,0.00361,,,10.7485,0.0,0.0,,[],0.0,222.0,17.0,103.0,38.73125,0.0,0.0,0.0,0.0,10.0,50.5,18.0,41.71,0.0,,0.094,,211.3,-4.03934834875,20.786,,,0.405,0.1,6.0,6.0,,0.0 +Fr,,,260.0,4.072741,5.370818814,0.7,,,47.85,4.262821718,,1.0,0.0,47.85,1.0,1.0,,,87.0,0.0,0.0,,3.48,,0.0,,,1.0,4.37,,,,4.072741,0.0,0.0,,[1.0],0.0,223.0,65.0,6.0,38.73125,1.0,1.0,,0.0,0.0,,1.0,79.69,0.0,,,,,-4.03934834875,,,,,,0.0,7.0,,0.0 +Ra,973.0,,221.0,5.278423,5.370818814,0.9,5000.0,,38.3,4.262821718,1.278753601,2.0,0.0,38.3,2.0,1.0,75.0581202258386,,88.0,0.0,0.0,,2.83,,0.0,,,0.0,3.53,19.0,2.15,,,0.0,0.0,10.14715,[2.0],0.0,226.0,125.0,10.0,38.73125,0.0,1.0,,0.0,0.0,41.09,2.0,68.22,0.0,229.0,,,2010.0,-4.03934834875,,,7.7,,,0.0,7.0,7.7,0.0 +Ac,1323.0,,215.0,5.17,5.625752986,1.1,10070.0,,32.1,4.465163104,1.079181246,2.0,0.0,32.1,3.0,0.0,37.4330862969509,,89.0,0.0,0.0,,,,0.0,,,0.0,3.12,12.0,1.95,,,0.0,0.0,11.75,[3.0],0.0,227.0,400.0,14.0,44.5125,9.0,1.0,,9.0,1.0,22.55,3.0,37.45,1.0,225.0,0.12,,3473.0,-4.1050022975,27.2,,12.0,,,0.0,7.0,12.0,0.0 +Th,2023.0,178.0,206.0,6.3067,5.059033597,1.3,11724.0,,32.1,4.015357627,1.73239376,2.0,0.0,32.1,4.0,0.0,32.86568321477,3.3,90.0,0.0,0.0,,,,0.0,54.0,,0.0,4.98,54.0,1.8,31.0,,0.0,0.0,11.9,[4.0],0.0,232.03806,530.0,16.0,32.37,8.0,1.0,,8.0,2.0,19.8,3.0,32.86,1.0,225.0,0.118,,5093.0,-7.41254306,27.32,1.28,13.81,,,0.0,7.0,13.81,0.0 +Pa,1845.0,165.0,200.0,5.89,4.652702018,1.5,15370.0,,25.4,3.692852039,1.672097858,2.0,0.0,25.4,5.0,0.0,24.9611606283359,,91.0,0.0,2.0,,,,0.0,,,0.0,4.86,47.0,1.8,,5.89,0.0,12.0,,"[4.0, 5.0]",0.0,231.03586,470.0,18.0,25.18,21.0,1.0,,9.0,1.0,15.18,3.0,24.94,1.0,139.0,,,4273.0,-9.49741247,,,12.34,,,0.0,7.0,12.34,0.0 +U,1408.0,158.0,196.0,6.1941,4.310663995,1.38,19050.0,,24.9,3.42137628,1.431363764,2.0,0.0,24.9,6.0,0.0,20.7488474020455,3.9,92.0,0.0,3.0,,1.86,,0.0,100.0,,0.0,4.72,27.0,1.75,111.0,,0.0,11.0,10.6,"[3.0, 4.0, 5.0, 6.0]",0.0,238.02891,420.0,20.0,20.025,20.0,1.0,,9.0,1.0,12.49,3.0,21.18,1.0,63.0,0.116,,4200.0,-11.292339955,27.665,1.51,9.14,,,0.0,7.0,9.14,0.0 +Np,917.0,175.0,190.0,6.2657,4.194834921,1.36,20450.0,,24.8,3.329442683,0.77815125,2.0,0.0,24.8,7.0,0.0,19.2448390132676,,93.0,0.0,4.0,,,,0.0,,,0.0,4.83,6.0,1.75,,6.2657,0.0,10.0,,"[3.0, 4.0, 5.0, 6.0]",0.0,237.0,335.0,22.0,18.45375,19.0,1.0,,9.0,1.0,11.59,3.0,19.22,1.0,62.0,,,4273.0,-12.9403143562,,,3.2,,,0.0,7.0,3.2,0.0 +Pu,913.0,175.0,187.0,6.026,4.166321749,1.28,19816.0,,24.5,3.306811764,0.77815125,2.0,0.3180036375,24.5,8.0,0.0,20.4471640587929,3.8,94.0,0.0,6.0,,,,0.0,,,0.0,4.91,6.0,1.75,43.0,,0.0,8.0,11.2,"[3.0, 4.0, 5.0, 6.0]",0.0,244.0,325.0,24.0,18.08,8.0,1.0,,0.0,0.0,12.29,3.0,20.04,1.0,11.0,,,3503.0,-14.326634305,,1.44,2.824,,,0.0,7.0,2.824,0.0 +Am,1449.0,,180.0,5.9738,4.166321749,1.3,13670.0,,23.3,3.306811764,1.0,2.0,0.3180036375,23.3,9.0,0.0,29.5186850847065,,95.0,0.0,7.0,,,,0.0,,,0.0,4.89,10.0,1.75,,5.9738,0.0,7.0,,"[3.0, 4.0, 5.0, 6.0]",0.0,243.0,,26.0,18.08,7.0,1.0,,0.0,0.0,17.63,3.0,29.27,1.0,194.0,,,2284.0,-14.326634305,,,14.39,,,0.0,7.0,14.39,0.0 +Cm,1618.0,,169.0,5.9914,4.166321749,1.3,13510.0,,23.0,3.306811764,0.944482672,2.0,0.3180036375,23.0,10.0,0.0,30.3599360941782,,96.0,0.0,7.0,,,,0.0,,,0.0,,8.8,,,5.9914,0.0,7.0,,[3.0],0.0,247.0,,28.0,18.08,16.0,1.0,,9.0,1.0,18.05,3.0,21.04,1.0,194.0,,,3383.0,-14.326634305,,,14.64,,,0.0,7.0,14.64,0.0 +Bk,1323.0,,,6.1979,4.166321749,1.3,14780.0,,22.7,3.306811764,1.0,2.0,0.3180036375,22.7,11.0,0.0,27.751200042784,,97.0,0.0,9.0,,,,0.0,,,0.0,,10.0,,,6.1979,0.0,5.0,,"[3.0, 4.0]",0.0,247.0,,30.0,18.08,5.0,1.0,,0.0,0.0,16.84,3.0,31.2,1.0,194.0,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Cf,1173.0,,,6.2817,4.166321749,1.3,15100.0,,20.5,3.306811764,,2.0,0.3180036375,20.5,12.0,0.0,27.6029833216396,,98.0,0.0,10.0,,,,0.0,,,0.0,,,,,,0.0,4.0,11.8,[3.0],0.0,251.0,,32.0,18.08,4.0,1.0,,0.0,0.0,16.5,3.0,27.31,1.0,194.0,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Es,1133.0,,,6.42,4.166321749,1.3,,,19.7,3.306811764,,2.0,0.3180036375,19.7,13.0,0.0,,,99.0,0.0,11.0,,,,0.0,,,0.0,,,,,,0.0,3.0,12.0,[3.0],0.0,252.0,,34.0,18.08,3.0,1.0,,0.0,0.0,28.52,3.0,27.31,1.0,,,,,-14.326634305,,,9.41,,,0.0,7.0,9.41,0.0 +Fm,1800.0,,,6.5,4.166321749,1.3,,,23.8,3.306811764,,2.0,0.3180036375,23.8,14.0,0.0,,,100.0,0.0,12.0,,,,0.0,,,0.0,,,,,6.5,0.0,2.0,,[3.0],0.0,257.0,,36.0,18.08,2.0,1.0,,0.0,0.0,,3.0,27.31,1.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Md,1100.0,,,6.58,4.166321749,1.3,,,18.2,3.306811764,,2.0,0.3180036375,18.2,15.0,0.0,,,101.0,0.0,13.0,,,,0.0,,,0.0,,,,,6.58,0.0,1.0,,[3.0],0.0,258.0,,38.0,18.08,1.0,1.0,,0.0,0.0,,3.0,27.31,1.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +No,1100.0,,,6.65,4.166321749,1.3,,,16.4,3.306811764,,2.0,0.3180036375,16.4,16.0,0.0,,,102.0,0.0,14.0,,,,0.0,,,0.0,,,,,6.65,0.0,0.0,,[3.0],0.0,259.0,,40.0,18.08,0.0,1.0,,0.0,0.0,,3.0,27.31,1.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Lr,1900.0,,,4.9,4.166321749,,,,,3.306811764,,2.0,0.3180036375,,17.0,0.0,,,103.0,0.0,14.0,,,,5.0,,,0.0,,,,,4.9,0.0,0.0,,[3.0],1.0,262.0,,42.0,18.08,5.0,1.0,,0.0,0.0,,3.0,27.31,1.0,,,,,-14.326634305,,,,,,1.0,7.0,,0.0 +Rf,,,,6.0,4.166321749,,,,,3.306811764,,2.0,0.3180036375,,18.0,0.0,,,104.0,0.0,14.0,,,,0.0,,,0.0,,,,,6.0,0.0,0.0,,[4.0],1.0,265.0,,,18.08,8.0,1.0,,8.0,2.0,,4.0,27.31,0.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Db,,,,,4.166321749,,,,,3.306811764,,2.0,0.3180036375,,19.0,0.0,,,105.0,0.0,14.0,,,,0.0,,,0.0,,,,,,0.0,0.0,,[5.0],1.0,268.0,,,18.08,7.0,1.0,,7.0,3.0,,5.0,27.31,0.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Sg,,,,,4.166321749,,,,,3.306811764,,2.0,0.3180036375,,20.0,0.0,,,106.0,0.0,14.0,,,,0.0,,,0.0,,,,,,0.0,0.0,,[6.0],1.0,271.0,,,18.08,6.0,1.0,,6.0,4.0,,6.0,27.31,0.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Bh,,,,,4.166321749,,,,,3.306811764,,2.0,0.3180036375,,21.0,0.0,,,107.0,0.0,14.0,,,,0.0,,,0.0,,,,,,0.0,0.0,,"[4.0, 6.0, 7.0]",1.0,272.0,,,18.08,5.0,1.0,,5.0,5.0,,7.0,27.31,0.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Hs,,,,,4.166321749,,,,,3.306811764,,2.0,0.3180036375,,22.0,0.0,,,108.0,0.0,14.0,,,,0.0,,,0.0,,,,,,0.0,0.0,,"[3.0, 4.0]",1.0,270.0,,,18.08,4.0,1.0,,4.0,6.0,,8.0,27.31,0.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Mt,,,,,4.166321749,,,,,3.306811764,,2.0,0.3180036375,,23.0,0.0,,,109.0,0.0,14.0,,,,0.0,,,0.0,,,,,,0.0,0.0,,"[3.0, 4.0]",1.0,276.0,,,18.08,3.0,1.0,,3.0,7.0,,9.0,27.31,0.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Ds,,,,,4.166321749,,,,,3.306811764,,1.0,0.3180036375,,24.0,0.0,,,110.0,0.0,14.0,,,,0.0,,,1.0,,,,,,0.0,0.0,,"[2.0, 4.0]",1.0,281.0,,,18.08,2.0,1.0,,1.0,9.0,,10.0,27.31,0.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Rg,,,,,4.166321749,,,,4.06,3.306811764,,1.0,0.3180036375,4.06,25.0,0.0,,,111.0,0.0,14.0,,,,0.0,,,1.0,,,,,,0.0,0.0,,"[1.0, 3.0]",1.0,280.0,,,18.08,1.0,1.0,,0.0,10.0,,11.0,27.31,0.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Cn,,,,,4.166321749,,,,,3.306811764,,2.0,0.3180036375,,26.0,0.0,,,112.0,0.0,14.0,,,,0.0,,,0.0,,,,,,0.0,0.0,,"[1.0, 2.0]",1.0,285.0,,,18.08,0.0,1.0,,0.0,10.0,,12.0,27.31,0.0,,,,,-14.326634305,,,,,,0.0,7.0,,0.0 +Nh,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Fl,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Mc,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Lv,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Ts,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Og,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, diff --git a/adavaria/mlband/main.py b/adavaria/mlband/main.py index 6b99af11..27250089 100644 --- a/adavaria/mlband/main.py +++ b/adavaria/mlband/main.py @@ -1,12 +1,21 @@ -from .imports import * +from mlband.imports import * import mlband.data import mlband.config import mlband.model +import mlband.features def main(num_chunks=1): - data_set_path = 'data/mp-test/' - results_dir = 'results/test-1/' + data_set_path = 'data/mp-test-2/' + results_dir = 'results/test-2/' + + print('Preparing the config...', flush=True) + config = mlband.config.Config( + data_path=data_set_path, + workers=4, + results_dir=results_dir, + original_features=True, + ) print('Downloading the data from MP...' ,flush=True) df, data = mlband.data.get_list_of_materials(num_chunks=1) @@ -14,14 +23,15 @@ def main(num_chunks=1): print('Creating the dataset...', flush=True) mlband.data.create_dataset(df=df, path=data_set_path) - print('Creating the config...', flush=True) - config = mlband.config.Config( - data_path=data_set_path, - workers=4, - results_dir=results_dir - ) + print('Creating the physical features...', flush=True) + mlband.features.one_hot_encode_elements(config) print('Creating and training the model...', flush=True) mlband.model.train(config) print('Evaluating the training set...', flush=True) + mlband.model.evaluate_model(config) + + +if __name__ == '__main__': + main() diff --git a/adavaria/mlband/model.py b/adavaria/mlband/model.py index 4315a825..3f18f3d1 100644 --- a/adavaria/mlband/model.py +++ b/adavaria/mlband/model.py @@ -2,10 +2,14 @@ import subprocess import mlband.data import torch -from cgcnn.model import CrystalGraphConvNet import torch.nn as nn +from . import utility +cgcnn_path = Path('./cgcnn/').absolute().__str__() +if cgcnn_path not in sys.path: + sys.path.append(cgcnn_path) + def train(config, ignore_warnings=True): """ Training the model. Usage example: @@ -27,7 +31,7 @@ def train(config, ignore_warnings=True): os.environ['PYTHONWARNINGS'] = "ignore" # Define the command and arguments - script_path = './cgcnn/main.py' + script_path = Path('./cgcnn/main.py').absolute().__str__() args = config.generate_args() command = ['python', script_path] + args @@ -44,70 +48,124 @@ def train(config, ignore_warnings=True): # Close the stdout and waiting for the process to terminate process.stdout.close() - process.wait() + return_code = process.wait() # Capture the return code of the process + + # Check if the subprocess was successful + if return_code != 0: + raise Exception(f"Subprocess failed with return code {return_code}") print('Training and test evaluation completed!') -def evaluate(config): - # Gettting the data loaders - train_loader, val_loader, test_loader = mlband.data.get_data_loaders(config) +def get_cgcnn_model(args, + orig_atom_fea_len=None, + nbr_fea_len=None, + atom_fea_len=None, + n_conv=None, + h_fea_len=None, + n_h=None, + ): + from cgcnn.data import CIFData + from cgcnn.model import CrystalGraphConvNet + + if orig_atom_fea_len is None or nbr_fea_len is None: + dataset = CIFData(args.data_path) + with utility.mute_warnings(): + structures, _, _ = dataset[0] + orig_atom_fea_len = structures[0].shape[-1] + nbr_fea_len = structures[1].shape[-1] + + model = CrystalGraphConvNet(orig_atom_fea_len, nbr_fea_len, + atom_fea_len=atom_fea_len or args.atom_fea_len, + n_conv=n_conv or args.n_conv, + h_fea_len=h_fea_len or args.h_fea_len, + n_h=n_h or args.n_h, + classification=False) + if args.cuda: + model.cuda() + return model + + +def load_model(config): # Load the model - best_checkpoint = torch.load('model_best.pth.tar') + best_checkpoint = torch.load(config.results_dir/'model_best.pth.tar') model = get_cgcnn_model(config) model.load_state_dict(best_checkpoint['state_dict']) - normalizer = best_checkpoint['normalizer'] - criterion = nn.MSELoss() + normalizer = utility.Normalizer(torch.zeros(3)) + normalizer.load_state_dict(best_checkpoint['normalizer']) + return model, normalizer + + +def evaluate_model(config): + # Gettting the data loaders + train_loader, val_loader, test_loader = mlband.data.get_data_loaders(config) + + # # Load the model + # best_checkpoint = torch.load(config.results_dir/'model_best.pth.tar') + # model = get_cgcnn_model(config) + # model.load_state_dict(best_checkpoint['state_dict']) + # normalizer = utility.Normalizer(torch.zeros(3)) + # normalizer.load_state_dict(best_checkpoint['normalizer']) + # # criterion = nn.MSELoss() + model, normalizer = load_model(config) # Evaluate the model for loader, name in zip([train_loader, val_loader, test_loader], ['train', 'val', 'test']): print('Evaluating the {} set...'.format(name)) - predict(loader, model, criterion, normalizer) + output_filename = os.path.join(config.results_dir, 'predictions_{}.csv'.format(name)) + df = predict_model(loader, model, normalizer, output_filename) + # print mse + import sklearn.metrics + mse = sklearn.metrics.mean_squared_error(df['True_Label'], df['Prediction']) + print(f'MSE for {name} set: {mse:.4f}') -def get_cgcnn_model(args): - from cgcnn.data import CIFData - dataset = CIFData(args.data_path) - structures, _, _ = dataset[0] - orig_atom_fea_len = structures[0].shape[-1] - nbr_fea_len = structures[1].shape[-1] - model = CrystalGraphConvNet(orig_atom_fea_len, nbr_fea_len, - atom_fea_len=args.atom_fea_len, - n_conv=args.n_conv, - h_fea_len=args.h_fea_len, - n_h=args.n_h, - classification=True if args.task == - 'classification' else False) - if args.cuda: - model.cuda() - return model - - -def predict(loader, model, normalizer, output_filename): - from torch.autograd import Variable +def predict_model(loader, model, normalizer, output_filename, mute_warnings=True): model.eval() # Set the model to evaluation mode predictions = [] + true_labels = [] + ids = [] - with torch.no_grad(): - for i, (input, _, _) in enumerate(loader): + with torch.no_grad(), utility.mute_warnings(enabled=mute_warnings): + for i, (input, labels, batch_ids) in enumerate(loader): # Assuming your model and data are on the same device (CPU or CUDA) - # Adjust the input handling here if your model expects a different format - input_var = (Variable(input[0]), Variable(input[1]), input[2], input[3]) + input_var = (input[0], input[1], input[2], input[3]) # Compute output output = model(*input_var) denormed_output = normalizer.denorm(output.cpu()) - predictions += denormed_output.view(-1).tolist() + predictions.extend(denormed_output.view(-1).tolist()) + # Convert labels to scalar values + if labels.dim() > 0: + true_labels.extend(labels.squeeze().tolist()) + else: + true_labels.append(labels.item()) + ids.extend(batch_ids) # Assuming batch_ids is a list or similar - # Save the predictions to a CSV file + # Save the predictions, true labels, and IDs to a CSV file print('Saving the predictions to {}'.format(output_filename)) - with open(output_filename, 'w', newline='') as f: - writer = csv.writer(f) - for pred in predictions: - writer.writerow([pred]) - - return predictions + df = pd.DataFrame({ + 'ID': ids, + 'True_Label': true_labels, + 'Prediction': predictions + }) + df.to_csv(output_filename, index=False) + return df + + +def get_optimizer(config, model): + import torch.optim as optim + args = config + if args.optim == 'SGD': + optimizer = optim.SGD(model.parameters(), args.lr, + momentum=args.momentum, + weight_decay=args.weight_decay) + elif args.optim == 'Adam': + optimizer = optim.Adam(model.parameters(), args.lr, + weight_decay=args.weight_decay) + + return optimizer diff --git a/adavaria/mlband/utility.py b/adavaria/mlband/utility.py index 7f37cd79..a7143950 100644 --- a/adavaria/mlband/utility.py +++ b/adavaria/mlband/utility.py @@ -1,29 +1,43 @@ import torch +import contextlib class Normalizer(object): - """Normalize a Tensor and restore it later. """ - def __init__(self, tensor): + """ + Normalize a Tensor and restore it later. + Taken from: https://github.com/txie-93/cgcnn + """ + + def __init__(self, tensor=torch.zeros(3)): + """tensor is taken as a sample to calculate the mean and std""" self.mean = torch.mean(tensor) self.std = torch.std(tensor) def norm(self, tensor): + """Normalize a tensor""" return (tensor - self.mean) / self.std def denorm(self, normed_tensor): + """Denormalize a normalized tensor""" return normed_tensor * self.std + self.mean def state_dict(self): + """Returns a dictionary containing a whole state of the module.""" return {'mean': self.mean, 'std': self.std} def load_state_dict(self, state_dict): + """Loads a state dict.""" self.mean = state_dict['mean'] self.std = state_dict['std'] + return self class AverageMeter(object): - """Computes and stores the average and current value""" + """ + Computes and stores the average and current value. + Taken from: https://github.com/txie-93/cgcnn + """ def __init__(self): self.reset() @@ -38,4 +52,51 @@ def update(self, val, n=1): self.val = val self.sum += val * n self.count += n - self.avg = self.sum / self.count \ No newline at end of file + self.avg = self.sum / self.count + + +@contextlib.contextmanager +def mute_warnings(enabled=True): + """ + A context manager that temporarily suppresses warnings. + Usage: + with mute_warnings(): + warnings.warn('This will not be printed') + """ + import warnings + if enabled: + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + + # Add this block to configure logging for the pint library + import logging + pint_logger = logging.getLogger('pint') + previous_level = pint_logger.getEffectiveLevel() + pint_logger.setLevel(logging.ERROR) + + yield + + pint_logger.setLevel(previous_level) # Reset the logging level + else: + yield + +def mae(prediction, target): + return torch.mean(torch.abs(target - prediction)) + +def mse(prediction, target): + return torch.mean((target - prediction)**2) + +def adjust_learning_rate(optimizer, epoch, k, lr): + """Sets the learning rate to the initial LR decayed by 10 every k epochs""" + assert type(k) is int + lr = lr * (0.1 ** (epoch // k)) + for param_group in optimizer.param_groups: + param_group['lr'] = lr + +def save_checkpoint(state, is_best, filename='checkpoint.pth.tar'): + """Saves checkpoint to disk""" + torch.save(state, filename) + if is_best: + import shutil + shutil.copyfile(filename, 'model_best.pth.tar') + diff --git a/adavaria/train_cgcnn2.ipynb b/adavaria/train_cgcnn2.ipynb index 338c608a..5f65226a 100644 --- a/adavaria/train_cgcnn2.ipynb +++ b/adavaria/train_cgcnn2.ipynb @@ -2,46 +2,47 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ - "from mlband.imports import *" + "from mlband.imports import *\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ - "# Backup the original sys.argv\n", - "original_argv = sys.argv" + "import mlband.data\n", + "import mlband.model\n", + "import mlband.main" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Replace sys.argv with the arguments you want to pass\n", - "sys.argv = ['main.py', './data/mp/', '--disable-cuda', '--workers', '4']\n", + "# sys.argv = ['main.py', './data/mp/', '--disable-cuda', '--workers', '4']\n", "\n" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ - "sys.path.append(Path('./cgcnn/').absolute().__str__())" + "# sys.path.append(Path('./cgcnn/').absolute().__str__())" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -56,7 +57,7 @@ " '/Users/ali/GitHub/rewotes/adavaria/cgcnn']" ] }, - "execution_count": 4, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -67,23 +68,158 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "metadata": {}, "outputs": [ { - "ename": "ImportError", - "evalue": "cannot import name 'main' from 'cgcnn' (/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/__init__.py)", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/Users/ali/GitHub/rewotes/adavaria/train_cgcnn2.ipynb Cell 5\u001b[0m line \u001b[0;36m1\n\u001b[0;32m----> 1\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mcgcnn\u001b[39;00m \u001b[39mimport\u001b[39;00m main \u001b[39mas\u001b[39;00m cgcnn_main\n", - "\u001b[0;31mImportError\u001b[0m: cannot import name 'main' from 'cgcnn' (/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/__init__.py)" + "name": "stdout", + "output_type": "stream", + "text": [ + "Preparing the config...\n", + "Downloading the data from MP...\n", + "Creating the dataset...\n", + "Creating the physical features...\n", + "Creating and training the model...\n", + "Training the model...\n", + "Epoch: [0][0/13]\tTime 5.923 (5.923)\tData 4.374 (4.374)\tLoss 0.9585 (0.9585)\tMAE 1.313 (1.313)\n", + "Epoch: [0][10/13]\tTime 0.238 (0.928)\tData 0.002 (0.404)\tLoss 0.9098 (1.3264)\tMAE 1.249 (1.412)\n", + "Test: [0/2]\tTime 3.532 (3.532)\tLoss 1.2315 (1.2315)\tMAE 1.544 (1.544)\n", + "* MAE 1.514\n", + "Epoch: [1][0/13]\tTime 5.337 (5.337)\tData 3.637 (3.637)\tLoss 0.6114 (0.6114)\tMAE 1.051 (1.051)\n", + "Epoch: [1][10/13]\tTime 0.138 (0.900)\tData 0.000 (0.332)\tLoss 0.7168 (0.7648)\tMAE 1.118 (1.032)\n", + "Test: [0/2]\tTime 3.380 (3.380)\tLoss 1.0128 (1.0128)\tMAE 1.380 (1.380)\n", + "* MAE 1.309\n", + "Epoch: [2][0/13]\tTime 4.996 (4.996)\tData 3.423 (3.423)\tLoss 0.6594 (0.6594)\tMAE 0.917 (0.917)\n", + "Epoch: [2][10/13]\tTime 0.169 (0.943)\tData 0.000 (0.314)\tLoss 0.4646 (0.6085)\tMAE 0.885 (0.965)\n", + "Test: [0/2]\tTime 3.827 (3.827)\tLoss 0.6977 (0.6977)\tMAE 0.989 (0.989)\n", + "* MAE 1.011\n", + "Epoch: [3][0/13]\tTime 4.677 (4.677)\tData 3.529 (3.529)\tLoss 0.4568 (0.4568)\tMAE 0.823 (0.823)\n", + "Epoch: [3][10/13]\tTime 0.238 (0.934)\tData 0.002 (0.323)\tLoss 0.7413 (0.5797)\tMAE 1.006 (0.880)\n", + "Test: [0/2]\tTime 3.653 (3.653)\tLoss 0.7442 (0.7442)\tMAE 1.121 (1.121)\n", + "* MAE 1.063\n", + "Epoch: [4][0/13]\tTime 4.761 (4.761)\tData 3.373 (3.373)\tLoss 0.5609 (0.5609)\tMAE 0.971 (0.971)\n", + "Epoch: [4][10/13]\tTime 0.133 (0.948)\tData 0.000 (0.308)\tLoss 0.7483 (0.5223)\tMAE 0.969 (0.847)\n", + "Test: [0/2]\tTime 3.834 (3.834)\tLoss 0.7456 (0.7456)\tMAE 0.929 (0.929)\n", + "* MAE 0.965\n", + "Epoch: [5][0/13]\tTime 7.683 (7.683)\tData 5.547 (5.547)\tLoss 0.4373 (0.4373)\tMAE 0.799 (0.799)\n", + "Epoch: [5][10/13]\tTime 0.366 (1.327)\tData 0.002 (0.507)\tLoss 0.6062 (0.5061)\tMAE 0.815 (0.833)\n", + "Test: [0/2]\tTime 3.836 (3.836)\tLoss 0.9436 (0.9436)\tMAE 1.211 (1.211)\n", + "* MAE 1.126\n", + "Epoch: [6][0/13]\tTime 5.548 (5.548)\tData 3.679 (3.679)\tLoss 0.5773 (0.5773)\tMAE 0.876 (0.876)\n", + "Epoch: [6][10/13]\tTime 0.232 (1.001)\tData 0.003 (0.337)\tLoss 0.4767 (0.5227)\tMAE 0.812 (0.857)\n", + "Test: [0/2]\tTime 3.761 (3.761)\tLoss 0.7235 (0.7235)\tMAE 0.900 (0.900)\n", + "* MAE 0.977\n", + "Epoch: [7][0/13]\tTime 5.303 (5.303)\tData 3.642 (3.642)\tLoss 0.6710 (0.6710)\tMAE 1.007 (1.007)\n", + "Epoch: [7][10/13]\tTime 0.373 (1.237)\tData 0.002 (0.333)\tLoss 0.4296 (0.4384)\tMAE 0.760 (0.760)\n", + "Test: [0/2]\tTime 4.167 (4.167)\tLoss 0.4972 (0.4972)\tMAE 0.827 (0.827)\n", + "* MAE 0.886\n", + "Epoch: [8][0/13]\tTime 5.183 (5.183)\tData 3.586 (3.586)\tLoss 0.3656 (0.3656)\tMAE 0.678 (0.678)\n", + "Epoch: [8][10/13]\tTime 0.303 (1.099)\tData 0.000 (0.329)\tLoss 0.2548 (0.3974)\tMAE 0.607 (0.722)\n", + "Test: [0/2]\tTime 4.386 (4.386)\tLoss 0.5846 (0.5846)\tMAE 0.885 (0.885)\n", + "* MAE 0.883\n", + "Epoch: [9][0/13]\tTime 5.480 (5.480)\tData 3.942 (3.942)\tLoss 0.2957 (0.2957)\tMAE 0.648 (0.648)\n", + "Epoch: [9][10/13]\tTime 0.188 (1.114)\tData 0.002 (0.361)\tLoss 0.3570 (0.3597)\tMAE 0.676 (0.701)\n", + "Test: [0/2]\tTime 3.712 (3.712)\tLoss 0.6654 (0.6654)\tMAE 0.914 (0.914)\n", + "* MAE 0.907\n", + "Epoch: [10][0/13]\tTime 6.023 (6.023)\tData 4.289 (4.289)\tLoss 0.4349 (0.4349)\tMAE 0.783 (0.783)\n", + "Epoch: [10][10/13]\tTime 0.298 (1.176)\tData 0.002 (0.393)\tLoss 0.6067 (0.4381)\tMAE 0.840 (0.740)\n", + "Test: [0/2]\tTime 4.193 (4.193)\tLoss 0.6415 (0.6415)\tMAE 0.937 (0.937)\n", + "* MAE 0.942\n", + "Epoch: [11][0/13]\tTime 5.166 (5.166)\tData 3.757 (3.757)\tLoss 0.4209 (0.4209)\tMAE 0.814 (0.814)\n", + "Epoch: [11][10/13]\tTime 0.172 (0.969)\tData 0.000 (0.344)\tLoss 0.3177 (0.4067)\tMAE 0.625 (0.740)\n", + "Test: [0/2]\tTime 3.700 (3.700)\tLoss 0.6178 (0.6178)\tMAE 0.991 (0.991)\n", + "* MAE 0.956\n", + "Epoch: [12][0/13]\tTime 5.573 (5.573)\tData 3.811 (3.811)\tLoss 0.3984 (0.3984)\tMAE 0.827 (0.827)\n", + "Epoch: [12][10/13]\tTime 0.136 (0.971)\tData 0.000 (0.348)\tLoss 0.3230 (0.3665)\tMAE 0.590 (0.716)\n", + "Test: [0/2]\tTime 3.757 (3.757)\tLoss 0.6057 (0.6057)\tMAE 0.898 (0.898)\n", + "* MAE 0.926\n", + "Epoch: [13][0/13]\tTime 7.702 (7.702)\tData 5.396 (5.396)\tLoss 0.2149 (0.2149)\tMAE 0.521 (0.521)\n", + "Epoch: [13][10/13]\tTime 0.123 (1.497)\tData 0.000 (0.493)\tLoss 0.4968 (0.3636)\tMAE 0.789 (0.677)\n", + "Test: [0/2]\tTime 3.983 (3.983)\tLoss 0.6516 (0.6516)\tMAE 0.972 (0.972)\n", + "* MAE 0.965\n", + "Epoch: [14][0/13]\tTime 6.663 (6.663)\tData 4.474 (4.474)\tLoss 0.3590 (0.3590)\tMAE 0.713 (0.713)\n", + "Epoch: [14][10/13]\tTime 0.606 (1.259)\tData 0.000 (0.410)\tLoss 0.4167 (0.3658)\tMAE 0.712 (0.720)\n", + "Test: [0/2]\tTime 3.638 (3.638)\tLoss 0.5191 (0.5191)\tMAE 0.810 (0.810)\n", + "* MAE 0.910\n", + "Epoch: [15][0/13]\tTime 5.872 (5.872)\tData 4.181 (4.181)\tLoss 0.3536 (0.3536)\tMAE 0.714 (0.714)\n", + "Epoch: [15][10/13]\tTime 0.198 (0.982)\tData 0.002 (0.382)\tLoss 0.4522 (0.4208)\tMAE 0.798 (0.780)\n", + "Test: [0/2]\tTime 3.564 (3.564)\tLoss 1.5308 (1.5308)\tMAE 1.212 (1.212)\n", + "* MAE 1.175\n", + "Epoch: [16][0/13]\tTime 5.984 (5.984)\tData 4.390 (4.390)\tLoss 0.3742 (0.3742)\tMAE 0.689 (0.689)\n", + "Epoch: [16][10/13]\tTime 0.670 (1.451)\tData 0.002 (0.402)\tLoss 0.4124 (0.4237)\tMAE 0.788 (0.721)\n", + "Test: [0/2]\tTime 4.585 (4.585)\tLoss 0.5248 (0.5248)\tMAE 0.937 (0.937)\n", + "* MAE 0.937\n", + "Epoch: [17][0/13]\tTime 5.651 (5.651)\tData 4.573 (4.573)\tLoss 0.5167 (0.5167)\tMAE 0.799 (0.799)\n", + "Epoch: [17][10/13]\tTime 0.137 (1.009)\tData 0.002 (0.419)\tLoss 0.3161 (0.3352)\tMAE 0.630 (0.681)\n", + "Test: [0/2]\tTime 4.679 (4.679)\tLoss 0.5788 (0.5788)\tMAE 0.814 (0.814)\n", + "* MAE 0.888\n", + "Epoch: [18][0/13]\tTime 5.529 (5.529)\tData 3.908 (3.908)\tLoss 0.2431 (0.2431)\tMAE 0.573 (0.573)\n", + "Epoch: [18][10/13]\tTime 0.167 (0.943)\tData 0.002 (0.357)\tLoss 0.3927 (0.3628)\tMAE 0.783 (0.675)\n", + "Test: [0/2]\tTime 3.762 (3.762)\tLoss 0.5709 (0.5709)\tMAE 0.888 (0.888)\n", + "* MAE 0.899\n", + "Epoch: [19][0/13]\tTime 8.987 (8.987)\tData 6.089 (6.089)\tLoss 0.2757 (0.2757)\tMAE 0.617 (0.617)\n", + "Epoch: [19][10/13]\tTime 0.225 (1.713)\tData 0.002 (0.562)\tLoss 0.3336 (0.3112)\tMAE 0.646 (0.634)\n", + "Test: [0/2]\tTime 3.768 (3.768)\tLoss 0.4586 (0.4586)\tMAE 0.829 (0.829)\n", + "* MAE 0.850\n", + "Epoch: [20][0/13]\tTime 6.070 (6.070)\tData 4.025 (4.025)\tLoss 0.2952 (0.2952)\tMAE 0.665 (0.665)\n", + "Epoch: [20][10/13]\tTime 0.167 (1.051)\tData 0.002 (0.369)\tLoss 0.3228 (0.2744)\tMAE 0.647 (0.604)\n", + "Test: [0/2]\tTime 3.840 (3.840)\tLoss 0.5118 (0.5118)\tMAE 0.827 (0.827)\n", + "* MAE 0.829\n", + "Epoch: [21][0/13]\tTime 4.440 (4.440)\tData 3.419 (3.419)\tLoss 0.2831 (0.2831)\tMAE 0.588 (0.588)\n", + "Epoch: [21][10/13]\tTime 0.222 (0.945)\tData 0.000 (0.314)\tLoss 0.3663 (0.2757)\tMAE 0.623 (0.608)\n", + "Test: [0/2]\tTime 3.662 (3.662)\tLoss 0.6278 (0.6278)\tMAE 0.938 (0.938)\n", + "* MAE 0.907\n", + "Epoch: [22][0/13]\tTime 4.786 (4.786)\tData 3.476 (3.476)\tLoss 0.3243 (0.3243)\tMAE 0.594 (0.594)\n", + "Epoch: [22][10/13]\tTime 0.152 (1.077)\tData 0.002 (0.319)\tLoss 0.2563 (0.3213)\tMAE 0.594 (0.623)\n", + "Test: [0/2]\tTime 4.001 (4.001)\tLoss 0.6488 (0.6488)\tMAE 0.880 (0.880)\n", + "* MAE 0.864\n", + "Epoch: [23][0/13]\tTime 5.092 (5.092)\tData 3.818 (3.818)\tLoss 0.3546 (0.3546)\tMAE 0.690 (0.690)\n", + "Epoch: [23][10/13]\tTime 0.194 (0.946)\tData 0.000 (0.350)\tLoss 0.3231 (0.3103)\tMAE 0.688 (0.632)\n", + "Test: [0/2]\tTime 3.559 (3.559)\tLoss 0.6042 (0.6042)\tMAE 0.891 (0.891)\n", + "* MAE 0.944\n", + "Epoch: [24][0/13]\tTime 5.719 (5.719)\tData 4.165 (4.165)\tLoss 0.2468 (0.2468)\tMAE 0.614 (0.614)\n", + "Epoch: [24][10/13]\tTime 0.555 (1.200)\tData 0.000 (0.382)\tLoss 0.2497 (0.3224)\tMAE 0.681 (0.680)\n", + "Test: [0/2]\tTime 4.001 (4.001)\tLoss 0.4883 (0.4883)\tMAE 0.839 (0.839)\n", + "* MAE 0.895\n", + "Epoch: [25][0/13]\tTime 5.970 (5.970)\tData 4.226 (4.226)\tLoss 0.4284 (0.4284)\tMAE 0.743 (0.743)\n", + "Epoch: [25][10/13]\tTime 0.194 (0.970)\tData 0.002 (0.386)\tLoss 0.4231 (0.3268)\tMAE 0.806 (0.657)\n", + "Test: [0/2]\tTime 3.604 (3.604)\tLoss 0.6142 (0.6142)\tMAE 0.915 (0.915)\n", + "* MAE 0.912\n", + "Epoch: [26][0/13]\tTime 5.117 (5.117)\tData 3.820 (3.820)\tLoss 0.2088 (0.2088)\tMAE 0.561 (0.561)\n", + "Epoch: [26][10/13]\tTime 0.218 (0.937)\tData 0.000 (0.349)\tLoss 0.2029 (0.2957)\tMAE 0.507 (0.618)\n", + "Test: [0/2]\tTime 3.931 (3.931)\tLoss 0.8521 (0.8521)\tMAE 0.931 (0.931)\n", + "* MAE 0.869\n", + "Epoch: [27][0/13]\tTime 5.105 (5.105)\tData 4.086 (4.086)\tLoss 0.3370 (0.3370)\tMAE 0.716 (0.716)\n", + "Epoch: [27][10/13]\tTime 0.180 (0.885)\tData 0.002 (0.373)\tLoss 0.4370 (0.2860)\tMAE 0.733 (0.623)\n", + "Test: [0/2]\tTime 3.815 (3.815)\tLoss 0.4915 (0.4915)\tMAE 0.763 (0.763)\n", + "* MAE 0.824\n", + "Epoch: [28][0/13]\tTime 5.059 (5.059)\tData 3.715 (3.715)\tLoss 0.2403 (0.2403)\tMAE 0.581 (0.581)\n", + "Epoch: [28][10/13]\tTime 0.138 (0.896)\tData 0.000 (0.341)\tLoss 0.3775 (0.3121)\tMAE 0.650 (0.611)\n", + "Test: [0/2]\tTime 3.675 (3.675)\tLoss 0.4803 (0.4803)\tMAE 0.849 (0.849)\n", + "* MAE 0.879\n", + "Epoch: [29][0/13]\tTime 4.756 (4.756)\tData 3.433 (3.433)\tLoss 0.2848 (0.2848)\tMAE 0.623 (0.623)\n", + "Epoch: [29][10/13]\tTime 0.210 (0.992)\tData 0.000 (0.317)\tLoss 0.3634 (0.2475)\tMAE 0.601 (0.570)\n", + "Test: [0/2]\tTime 3.893 (3.893)\tLoss 0.6896 (0.6896)\tMAE 0.877 (0.877)\n", + "* MAE 0.848\n", + "---------Evaluate Model on Test Set---------------\n", + "Test: [0/2]\tTime 3.092 (3.092)\tLoss 0.5646 (0.5646)\tMAE 0.727 (0.727)\n", + "** MAE 0.680\n", + "Training and test evaluation completed!\n", + "Evaluating the training set...\n", + "Evaluating the train set...\n", + "Saving the predictions to results/test-1/predictions_train.csv\n", + "MSE for train set: 0.5237\n", + "Evaluating the val set...\n", + "Saving the predictions to results/test-1/predictions_val.csv\n", + "MSE for val set: 1.3904\n", + "Evaluating the test set...\n", + "Saving the predictions to results/test-1/predictions_test.csv\n", + "MSE for test set: 1.3775\n" ] } ], "source": [ - "from cgcnn import main as cgcnn_main" + "mlband.main.main()" ] }, { @@ -102,48 +238,1578 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 26, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Warning] train_ratio is None, using 1 - val_ratio - test_ratio = 0.8 as training data.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":117: UserWarning: Dataset has less than 500 data points. Lower accuracy is expected. \n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 4 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 1 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 8 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 24 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096590 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1095862 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096735 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1097393 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096736 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 8 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 4 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 1 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 24 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096590 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1095862 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096735 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1097393 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [0][0/1]\tTime 3.851 (3.851)\tData 3.434 (3.434)\tLoss 2.5725 (2.5725)\tMAE 2.383 (2.383)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096736 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test: [0/1]\tTime 1.866 (1.866)\tLoss 315.8683 (315.8683)\tMAE 29.184 (29.184)\n", + " * MAE 29.184\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 4 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 8 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096735 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 1 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 24 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1097393 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096590 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1095862 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [1][0/1]\tTime 3.291 (3.291)\tData 2.971 (2.971)\tLoss 12.6239 (12.6239)\tMAE 5.594 (5.594)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096736 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test: [0/1]\tTime 1.959 (1.959)\tLoss 103.8997 (103.8997)\tMAE 16.678 (16.678)\n", + " * MAE 16.678\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 8 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 4 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 1 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096590 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 24 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1097393 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096735 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1095862 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [2][0/1]\tTime 3.317 (3.317)\tData 3.074 (3.074)\tLoss 14.7207 (14.7207)\tMAE 6.107 (6.107)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096736 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test: [0/1]\tTime 1.951 (1.951)\tLoss 3.1366 (3.1366)\tMAE 2.834 (2.834)\n", + " * MAE 2.834\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 4 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 1 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 8 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096735 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1095862 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1097393 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 24 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096590 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [3][0/1]\tTime 3.424 (3.424)\tData 3.151 (3.151)\tLoss 1.8129 (1.8129)\tMAE 2.033 (2.033)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096736 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test: [0/1]\tTime 1.897 (1.897)\tLoss 1.1368 (1.1368)\tMAE 1.022 (1.022)\n", + " * MAE 1.022\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 4 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 1 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096735 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1097393 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096590 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 8 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 24 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1095862 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [4][0/1]\tTime 3.315 (3.315)\tData 3.001 (3.001)\tLoss 1.3597 (1.3597)\tMAE 1.129 (1.129)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096736 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test: [0/1]\tTime 1.917 (1.917)\tLoss 1.2817 (1.2817)\tMAE 1.011 (1.011)\n", + " * MAE 1.011\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1097393 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 1 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 8 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 4 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1219: UserWarning: Issues encountered while parsing CIF: 24 fractional coordinates rounded to ideal values to avoid issues with finite precision.\n", + " warnings.warn(\"Issues encountered while parsing CIF: \" + \"\\n\".join(self.warnings))\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096590 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1095862 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096735 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: [5][0/1]\tTime 3.299 (3.299)\tData 3.035 (3.035)\tLoss 2.0884 (2.0884)\tMAE 1.761 (1.761)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n", + "/Users/ali/GitHub/rewotes/adavaria/cgcnn/cgcnn/data.py:333: UserWarning: mp-1096736 not find enough neighbors to build graph. If it happens frequently, consider increase radius.\n", + " warnings.warn('{} not find enough neighbors to build graph. '\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test: [0/1]\tTime 2.065 (2.065)\tLoss 1.2424 (1.2424)\tMAE 1.005 (1.005)\n" + ] + }, + { + "ename": "KeyboardInterrupt", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/Users/ali/GitHub/rewotes/adavaria/train_cgcnn2.ipynb Cell 8\u001b[0m line \u001b[0;36m2\n\u001b[1;32m 1\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mopen\u001b[39m(\u001b[39m'\u001b[39m\u001b[39m./cgcnn/main.py\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mr\u001b[39m\u001b[39m'\u001b[39m) \u001b[39mas\u001b[39;00m file:\n\u001b[0;32m----> 2\u001b[0m exec(file\u001b[39m.\u001b[39;49mread())\n", + "File \u001b[0;32m:513\u001b[0m\n", + "File \u001b[0;32m:178\u001b[0m, in \u001b[0;36mmain\u001b[0;34m()\u001b[0m\n", + "File \u001b[0;32m:325\u001b[0m, in \u001b[0;36mvalidate\u001b[0;34m(val_loader, model, criterion, normalizer, test)\u001b[0m\n", + "File \u001b[0;32m~/mambaforge/envs/cgcnn/lib/python3.11/site-packages/torch/utils/data/dataloader.py:630\u001b[0m, in \u001b[0;36m_BaseDataLoaderIter.__next__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 627\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_sampler_iter \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[1;32m 628\u001b[0m \u001b[39m# TODO(https://github.com/pytorch/pytorch/issues/76750)\u001b[39;00m\n\u001b[1;32m 629\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_reset() \u001b[39m# type: ignore[call-arg]\u001b[39;00m\n\u001b[0;32m--> 630\u001b[0m data \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_next_data()\n\u001b[1;32m 631\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_num_yielded \u001b[39m+\u001b[39m\u001b[39m=\u001b[39m \u001b[39m1\u001b[39m\n\u001b[1;32m 632\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_dataset_kind \u001b[39m==\u001b[39m _DatasetKind\u001b[39m.\u001b[39mIterable \u001b[39mand\u001b[39;00m \\\n\u001b[1;32m 633\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_IterableDataset_len_called \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m \u001b[39mand\u001b[39;00m \\\n\u001b[1;32m 634\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_num_yielded \u001b[39m>\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_IterableDataset_len_called:\n", + "File \u001b[0;32m~/mambaforge/envs/cgcnn/lib/python3.11/site-packages/torch/utils/data/dataloader.py:1317\u001b[0m, in \u001b[0;36m_MultiProcessingDataLoaderIter._next_data\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1314\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[1;32m 1315\u001b[0m \u001b[39m# no valid `self._rcvd_idx` is found (i.e., didn't break)\u001b[39;00m\n\u001b[1;32m 1316\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_persistent_workers:\n\u001b[0;32m-> 1317\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_shutdown_workers()\n\u001b[1;32m 1318\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mStopIteration\u001b[39;00m\n\u001b[1;32m 1320\u001b[0m \u001b[39m# Now `self._rcvd_idx` is the batch index we want to fetch\u001b[39;00m\n\u001b[1;32m 1321\u001b[0m \n\u001b[1;32m 1322\u001b[0m \u001b[39m# Check if the next sample has already been generated\u001b[39;00m\n", + "File \u001b[0;32m~/mambaforge/envs/cgcnn/lib/python3.11/site-packages/torch/utils/data/dataloader.py:1442\u001b[0m, in \u001b[0;36m_MultiProcessingDataLoaderIter._shutdown_workers\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1437\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_mark_worker_as_unavailable(worker_id, shutdown\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m)\n\u001b[1;32m 1438\u001b[0m \u001b[39mfor\u001b[39;00m w \u001b[39min\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_workers:\n\u001b[1;32m 1439\u001b[0m \u001b[39m# We should be able to join here, but in case anything went\u001b[39;00m\n\u001b[1;32m 1440\u001b[0m \u001b[39m# wrong, we set a timeout and if the workers fail to join,\u001b[39;00m\n\u001b[1;32m 1441\u001b[0m \u001b[39m# they are killed in the `finally` block.\u001b[39;00m\n\u001b[0;32m-> 1442\u001b[0m w\u001b[39m.\u001b[39;49mjoin(timeout\u001b[39m=\u001b[39;49m_utils\u001b[39m.\u001b[39;49mMP_STATUS_CHECK_INTERVAL)\n\u001b[1;32m 1443\u001b[0m \u001b[39mfor\u001b[39;00m q \u001b[39min\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_index_queues:\n\u001b[1;32m 1444\u001b[0m q\u001b[39m.\u001b[39mcancel_join_thread()\n", + "File \u001b[0;32m~/mambaforge/envs/cgcnn/lib/python3.11/multiprocessing/process.py:149\u001b[0m, in \u001b[0;36mBaseProcess.join\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 147\u001b[0m \u001b[39massert\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_parent_pid \u001b[39m==\u001b[39m os\u001b[39m.\u001b[39mgetpid(), \u001b[39m'\u001b[39m\u001b[39mcan only join a child process\u001b[39m\u001b[39m'\u001b[39m\n\u001b[1;32m 148\u001b[0m \u001b[39massert\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_popen \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m, \u001b[39m'\u001b[39m\u001b[39mcan only join a started process\u001b[39m\u001b[39m'\u001b[39m\n\u001b[0;32m--> 149\u001b[0m res \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_popen\u001b[39m.\u001b[39;49mwait(timeout)\n\u001b[1;32m 150\u001b[0m \u001b[39mif\u001b[39;00m res \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[1;32m 151\u001b[0m _children\u001b[39m.\u001b[39mdiscard(\u001b[39mself\u001b[39m)\n", + "File \u001b[0;32m~/mambaforge/envs/cgcnn/lib/python3.11/multiprocessing/popen_fork.py:40\u001b[0m, in \u001b[0;36mPopen.wait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 38\u001b[0m \u001b[39mif\u001b[39;00m timeout \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[1;32m 39\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mmultiprocessing\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mconnection\u001b[39;00m \u001b[39mimport\u001b[39;00m wait\n\u001b[0;32m---> 40\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m wait([\u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49msentinel], timeout):\n\u001b[1;32m 41\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mNone\u001b[39;00m\n\u001b[1;32m 42\u001b[0m \u001b[39m# This shouldn't block if wait() returned successfully.\u001b[39;00m\n", + "File \u001b[0;32m~/mambaforge/envs/cgcnn/lib/python3.11/multiprocessing/connection.py:947\u001b[0m, in \u001b[0;36mwait\u001b[0;34m(object_list, timeout)\u001b[0m\n\u001b[1;32m 944\u001b[0m deadline \u001b[39m=\u001b[39m time\u001b[39m.\u001b[39mmonotonic() \u001b[39m+\u001b[39m timeout\n\u001b[1;32m 946\u001b[0m \u001b[39mwhile\u001b[39;00m \u001b[39mTrue\u001b[39;00m:\n\u001b[0;32m--> 947\u001b[0m ready \u001b[39m=\u001b[39m selector\u001b[39m.\u001b[39;49mselect(timeout)\n\u001b[1;32m 948\u001b[0m \u001b[39mif\u001b[39;00m ready:\n\u001b[1;32m 949\u001b[0m \u001b[39mreturn\u001b[39;00m [key\u001b[39m.\u001b[39mfileobj \u001b[39mfor\u001b[39;00m (key, events) \u001b[39min\u001b[39;00m ready]\n", + "File \u001b[0;32m~/mambaforge/envs/cgcnn/lib/python3.11/selectors.py:415\u001b[0m, in \u001b[0;36m_PollLikeSelector.select\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 413\u001b[0m ready \u001b[39m=\u001b[39m []\n\u001b[1;32m 414\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m--> 415\u001b[0m fd_event_list \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_selector\u001b[39m.\u001b[39mpoll(timeout)\n\u001b[1;32m 416\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mInterruptedError\u001b[39;00m:\n\u001b[1;32m 417\u001b[0m \u001b[39mreturn\u001b[39;00m ready\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ], "source": [ - "# with open('./cgcnn/main.py', 'r') as file:\n", - "# exec(file.read())\n" + "with open('./cgcnn/main.py', 'r') as file:\n", + " exec(file.read())\n" ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "cgcnn\n", - "\n", - "\n" + "[Warning] train_ratio is None, using 1 - val_ratio - test_ratio = 0.8 as training data.\n", + "Epoch: [0][0/1]\tTime 3.522 (3.522)\tData 3.201 (3.201)\tLoss 1.1749 (1.1749)\tMAE 1.539 (1.539)\n", + "Test: [0/1]\tTime 1.918 (1.918)\tLoss 12.7251 (12.7251)\tMAE 5.581 (5.581)\n", + "* MAE 5.581\n", + "Epoch: [1][0/1]\tTime 3.343 (3.343)\tData 3.082 (3.082)\tLoss 1.6137 (1.6137)\tMAE 1.418 (1.418)\n", + "Test: [0/1]\tTime 1.981 (1.981)\tLoss 19.3128 (19.3128)\tMAE 7.018 (7.018)\n", + "* MAE 7.018\n", + "Epoch: [2][0/1]\tTime 3.418 (3.418)\tData 3.166 (3.166)\tLoss 1.6636 (1.6636)\tMAE 1.932 (1.932)\n", + "Test: [0/1]\tTime 1.967 (1.967)\tLoss 2.4765 (2.4765)\tMAE 1.978 (1.978)\n", + "* MAE 1.978\n", + "Epoch: [3][0/1]\tTime 3.476 (3.476)\tData 3.214 (3.214)\tLoss 0.9798 (0.9798)\tMAE 1.096 (1.096)\n", + "Test: [0/1]\tTime 1.982 (1.982)\tLoss 1.2052 (1.2052)\tMAE 0.933 (0.933)\n", + "* MAE 0.933\n", + "Epoch: [4][0/1]\tTime 3.511 (3.511)\tData 3.225 (3.225)\tLoss 0.7027 (0.7027)\tMAE 0.996 (0.996)\n", + "Test: [0/1]\tTime 2.052 (2.052)\tLoss 2.1826 (2.1826)\tMAE 2.347 (2.347)\n", + "* MAE 2.347\n", + "Epoch: [5][0/1]\tTime 3.826 (3.826)\tData 3.579 (3.579)\tLoss 0.9368 (0.9368)\tMAE 1.415 (1.415)\n", + "Test: [0/1]\tTime 2.022 (2.022)\tLoss 1.1711 (1.1711)\tMAE 0.911 (0.911)\n", + "* MAE 0.911\n", + "Epoch: [6][0/1]\tTime 3.421 (3.421)\tData 3.182 (3.182)\tLoss 0.5544 (0.5544)\tMAE 0.955 (0.955)\n", + "Test: [0/1]\tTime 2.047 (2.047)\tLoss 1.2972 (1.2972)\tMAE 1.039 (1.039)\n", + "* MAE 1.039\n", + "Epoch: [7][0/1]\tTime 3.352 (3.352)\tData 3.086 (3.086)\tLoss 0.5473 (0.5473)\tMAE 0.973 (0.973)\n", + "Test: [0/1]\tTime 2.005 (2.005)\tLoss 1.1417 (1.1417)\tMAE 1.475 (1.475)\n", + "* MAE 1.475\n", + "Epoch: [8][0/1]\tTime 3.325 (3.325)\tData 3.076 (3.076)\tLoss 0.5072 (0.5072)\tMAE 0.960 (0.960)\n", + "Test: [0/1]\tTime 2.032 (2.032)\tLoss 0.9623 (0.9623)\tMAE 1.232 (1.232)\n", + "* MAE 1.232\n", + "Epoch: [9][0/1]\tTime 3.452 (3.452)\tData 3.181 (3.181)\tLoss 0.2998 (0.2998)\tMAE 0.706 (0.706)\n", + "Test: [0/1]\tTime 1.987 (1.987)\tLoss 1.1974 (1.1974)\tMAE 0.939 (0.939)\n", + "* MAE 0.939\n", + "Epoch: [10][0/1]\tTime 3.637 (3.637)\tData 3.210 (3.210)\tLoss 0.4055 (0.4055)\tMAE 0.865 (0.865)\n", + "Test: [0/1]\tTime 1.980 (1.980)\tLoss 0.9653 (0.9653)\tMAE 1.142 (1.142)\n", + "* MAE 1.142\n", + "Epoch: [11][0/1]\tTime 3.403 (3.403)\tData 3.149 (3.149)\tLoss 0.2297 (0.2297)\tMAE 0.608 (0.608)\n", + "Test: [0/1]\tTime 2.012 (2.012)\tLoss 1.0629 (1.0629)\tMAE 1.374 (1.374)\n", + "* MAE 1.374\n", + "Epoch: [12][0/1]\tTime 3.378 (3.378)\tData 3.102 (3.102)\tLoss 0.3514 (0.3514)\tMAE 0.809 (0.809)\n", + "Test: [0/1]\tTime 1.946 (1.946)\tLoss 0.9811 (0.9811)\tMAE 1.120 (1.120)\n", + "* MAE 1.120\n", + "Epoch: [13][0/1]\tTime 3.382 (3.382)\tData 3.139 (3.139)\tLoss 0.2090 (0.2090)\tMAE 0.558 (0.558)\n", + "Test: [0/1]\tTime 2.008 (2.008)\tLoss 1.0397 (1.0397)\tMAE 1.006 (1.006)\n", + "* MAE 1.006\n", + "Epoch: [14][0/1]\tTime 3.506 (3.506)\tData 3.212 (3.212)\tLoss 0.2584 (0.2584)\tMAE 0.669 (0.669)\n", + "Test: [0/1]\tTime 1.989 (1.989)\tLoss 0.9961 (0.9961)\tMAE 1.265 (1.265)\n", + "* MAE 1.265\n", + "Epoch: [15][0/1]\tTime 3.451 (3.451)\tData 3.189 (3.189)\tLoss 0.1424 (0.1424)\tMAE 0.502 (0.502)\n", + "Test: [0/1]\tTime 2.184 (2.184)\tLoss 1.0882 (1.0882)\tMAE 1.392 (1.392)\n", + "* MAE 1.392\n", + "Epoch: [16][0/1]\tTime 3.398 (3.398)\tData 3.135 (3.135)\tLoss 0.1904 (0.1904)\tMAE 0.618 (0.618)\n", + "Test: [0/1]\tTime 2.063 (2.063)\tLoss 0.9802 (0.9802)\tMAE 1.221 (1.221)\n", + "* MAE 1.221\n", + "Epoch: [17][0/1]\tTime 3.688 (3.688)\tData 3.290 (3.290)\tLoss 0.1219 (0.1219)\tMAE 0.413 (0.413)\n", + "Test: [0/1]\tTime 2.651 (2.651)\tLoss 0.9749 (0.9749)\tMAE 1.134 (1.134)\n", + "* MAE 1.134\n", + "Epoch: [18][0/1]\tTime 3.562 (3.562)\tData 3.278 (3.278)\tLoss 0.1763 (0.1763)\tMAE 0.543 (0.543)\n", + "Test: [0/1]\tTime 2.034 (2.034)\tLoss 1.0160 (1.0160)\tMAE 1.297 (1.297)\n", + "* MAE 1.297\n", + "Epoch: [19][0/1]\tTime 3.622 (3.622)\tData 3.354 (3.354)\tLoss 0.1171 (0.1171)\tMAE 0.414 (0.414)\n", + "Test: [0/1]\tTime 2.042 (2.042)\tLoss 1.1249 (1.1249)\tMAE 1.419 (1.419)\n", + "* MAE 1.419\n", + "Epoch: [20][0/1]\tTime 3.386 (3.386)\tData 3.118 (3.118)\tLoss 0.1517 (0.1517)\tMAE 0.521 (0.521)\n", + "Test: [0/1]\tTime 2.122 (2.122)\tLoss 1.0391 (1.0391)\tMAE 1.324 (1.324)\n", + "* MAE 1.324\n", + "Epoch: [21][0/1]\tTime 3.486 (3.486)\tData 3.254 (3.254)\tLoss 0.0938 (0.0938)\tMAE 0.375 (0.375)\n", + "Test: [0/1]\tTime 2.060 (2.060)\tLoss 0.9912 (0.9912)\tMAE 1.216 (1.216)\n", + "* MAE 1.216\n", + "Epoch: [22][0/1]\tTime 3.371 (3.371)\tData 3.109 (3.109)\tLoss 0.1141 (0.1141)\tMAE 0.457 (0.457)\n", + "Test: [0/1]\tTime 2.028 (2.028)\tLoss 1.0218 (1.0218)\tMAE 1.285 (1.285)\n", + "* MAE 1.285\n", + "Epoch: [23][0/1]\tTime 3.416 (3.416)\tData 3.149 (3.149)\tLoss 0.0781 (0.0781)\tMAE 0.339 (0.339)\n", + "Test: [0/1]\tTime 2.077 (2.077)\tLoss 1.1250 (1.1250)\tMAE 1.409 (1.409)\n", + "* MAE 1.409\n", + "Epoch: [24][0/1]\tTime 3.498 (3.498)\tData 3.222 (3.222)\tLoss 0.0879 (0.0879)\tMAE 0.394 (0.394)\n", + "Test: [0/1]\tTime 2.122 (2.122)\tLoss 1.1107 (1.1107)\tMAE 1.392 (1.392)\n", + "* MAE 1.392\n", + "Epoch: [25][0/1]\tTime 3.435 (3.435)\tData 3.149 (3.149)\tLoss 0.0749 (0.0749)\tMAE 0.360 (0.360)\n", + "Test: [0/1]\tTime 1.981 (1.981)\tLoss 1.0285 (1.0285)\tMAE 1.284 (1.284)\n", + "* MAE 1.284\n", + "Epoch: [26][0/1]\tTime 3.457 (3.457)\tData 3.125 (3.125)\tLoss 0.0674 (0.0674)\tMAE 0.323 (0.323)\n", + "Test: [0/1]\tTime 2.056 (2.056)\tLoss 1.0195 (1.0195)\tMAE 1.269 (1.269)\n", + "* MAE 1.269\n", + "Epoch: [27][0/1]\tTime 3.377 (3.377)\tData 3.126 (3.126)\tLoss 0.0690 (0.0690)\tMAE 0.335 (0.335)\n", + "Test: [0/1]\tTime 2.048 (2.048)\tLoss 1.0885 (1.0885)\tMAE 1.367 (1.367)\n", + "* MAE 1.367\n", + "Epoch: [28][0/1]\tTime 3.336 (3.336)\tData 3.095 (3.095)\tLoss 0.0494 (0.0494)\tMAE 0.273 (0.273)\n", + "Test: [0/1]\tTime 2.058 (2.058)\tLoss 1.1480 (1.1480)\tMAE 1.423 (1.423)\n", + "* MAE 1.423\n", + "Epoch: [29][0/1]\tTime 3.465 (3.465)\tData 3.207 (3.207)\tLoss 0.0592 (0.0592)\tMAE 0.335 (0.335)\n", + "Test: [0/1]\tTime 2.017 (2.017)\tLoss 1.0832 (1.0832)\tMAE 1.363 (1.363)\n", + "* MAE 1.363\n", + "---------Evaluate Model on Test Set---------------\n", + "Test: [0/1]\tTime 2.003 (2.003)\tLoss 0.6158 (0.6158)\tMAE 0.921 (0.921)\n", + "** MAE 0.921\n" ] + }, + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "import subprocess\n", + "# Set the environment variable to ignore warnings\n", + "os.environ['PYTHONWARNINGS'] = \"ignore\"\n", "\n", "# Define the path to the script and any arguments\n", - "# script_path = './cgcnn/main.py'\n", - "# args = ['./data/mp/', '--disable-cuda', '--workers', '4']\n", + "script_path = './cgcnn/main.py'\n", + "args = ['./data/mp/', '--disable-cuda', '--workers', '4']\n", + "\n", + "# Construct the command to run the script\n", + "command = ['python', script_path] + args\n", + "\n", + "# Start the process\n", + "process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True)\n", + "\n", + "# Continuously read and print output from the process\n", + "while True:\n", + " output = process.stdout.readline()\n", + " if not output and process.poll() is not None:\n", + " break\n", + " if output:\n", + " print(output.strip())\n", + "\n", + "# Close the stdout\n", + "process.stdout.close()\n", + "\n", + "# Wait for the process to terminate\n", + "process.wait()" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/Users/ali/GitHub/rewotes/adavaria\n", + "\n" + ] + } + ], + "source": [ + "command = 'echo $PWD'\n", + "\n", + "working_directory = './'\n", + "\n", + "process = subprocess.run(command, cwd=working_directory, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)\n", + "\n", + "print(process.stdout)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idtargetpredicted
0mp-10282490.00000.208231
1mp-26469962.64671.140014
2mp-5549131.42250.483516
3mp-6966780.00000.387432
4mp-12463600.63530.766418
............
1994mp-22183740.20310.592060
1995mp-10206294.13523.732746
1996mp-12244850.00000.424620
1997mp-5678233.73683.335702
1998mp-8673560.00000.205574
\n", + "

1999 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " id target predicted\n", + "0 mp-1028249 0.0000 0.208231\n", + "1 mp-2646996 2.6467 1.140014\n", + "2 mp-554913 1.4225 0.483516\n", + "3 mp-696678 0.0000 0.387432\n", + "4 mp-1246360 0.6353 0.766418\n", + "... ... ... ...\n", + "1994 mp-2218374 0.2031 0.592060\n", + "1995 mp-1020629 4.1352 3.732746\n", + "1996 mp-1224485 0.0000 0.424620\n", + "1997 mp-567823 3.7368 3.335702\n", + "1998 mp-867356 0.0000 0.205574\n", + "\n", + "[1999 rows x 3 columns]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# the csv file doesn't have the header row and index column. I want to call the cols id target and predicted\n", + "df = pd.read_csv('test_results.csv', header=None, index_col=None)\n", + "df.columns = ['id', 'target', 'predicted']\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUoAAADlCAYAAAA1FL6KAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxdUlEQVR4nO2de3gTZb7Hv0kv6T3pBUhKQylQhVKgILIg6AqCIqC4oCLCrqKgXKqIZw+Kh6IoCuwup64C4uWAu9xc64NrBexKAVcuVVyg3KoipZRbUygtTZu2oW3m/FETmjTJTGYmmUny+zxPn6eZvjPzJmm++b3v76ZgGIYBQRAE4RKl1BMgCIKQOySUBEEQLJBQEgRBsEBCSRAEwQIJJUEQBAsklARBECyQUBIEQbAQKvUE+GCxWHD58mXExsZCoVBIPR2CIPwUhmFQV1eH5ORkKJWu7Ua/FMrLly9Dr9dLPQ2CIAKECxcuICUlxeXf/VIoY2NjAbQ9ubi4OIlnQxCEv2I0GqHX622a4gq/FErrcjsuLo6EkiAIwbBt4fmlUBIE4X1aLQwOlVXjSl0TOsdGYEhaAkKUwekTIKEkCKIDBScrsPTLElTUNtmO6dQRePWBDIzN1Ek4M2mg8CCCIOwoOFmBOZuO2IkkABhqmzBn0xEUnKyQaGbSQUJJEISNVguDpV+WwFntReuxpV+WoNUSXNUZSSgJgrBxqKy6gyXZHgZARW0TDpVV+25SMoCEkiAIG1fqXIskn3GBAgklQRA2OsdGiDouUCChJAjCxpC0BOjUEXAVBKRAm/d7SFqCL6clOSSUBEHYCFEq8OoDGQDQQSytj199ICPo4ilJKAmCsGNspg7vTR8Erdp+ea1VR+C96YM8jqNstTAoKr2GL4ovoaj0mlc85t6+BwWcEwTRgbGZOozJ0ArOzPFF4Lov7qHwx3a1RqMRarUatbW1lOtNEDKifdrjuaoGvF14ukNMplVq+VinjliD4/neg6uWkEVJEIQoOLPsnMGgTciWflmCMRla3vudbMHxYtzDCu1REgQhGFdpj64QI3Ddl8Hxkgplfn4+srKyEB0djeTkZKxbt07K6RAEwQN3lh0bQgLXfRkcL9nSu6CgAHPnzsWmTZtw5513wmg0orKyUqrpEATBEzbLzh1CAtd9GRwvmVDm5ORgyZIluPvuuwEA8fHxiI+PdzrWbDbDbDbbHhuNRl9MkSAIDvCx2BRoCzcSErhuDY431DY5tWbFuIcVSZbeJpMJhw8fhtFoRO/evaHVajFlyhQYDAan45cvXw61Wm37oX45BCEfPLXYFGjbP3zsdj22H7/MKe7RWZykL4PjJQkPunjxIvR6Pfr374/8/HwkJiZi9uzZqKysxK5duzqMd2ZR6vV6Cg8iCBnQamEwYuUel5adI5qoMADA9YZm2zF3cY9scZJC4ii5hgdJIpTXr19HfHw8PvroIzz99NMAgNLSUqSnp6Ourg7R0dFuz6c4SoKQF67iGa1M6K/DmIwuHsdWco2T5Nu2gquWSLL01mg06Natm9OGPn4Y/04QAQ2X9MCxmTo8c1eay2tsP16B4vM1+FvROc5FgT0pIhyiVGBYz0RMzOqKYT0TRc9Fl8yZ88wzz+Cdd97Bfffdh4SEBLz++uu45557EBMTI9WUCIJwgOuyttXCIP+Y+xYRGw6Wu/17+7jHYT0TPYqTHNYzkdPz4YtkcZQvv/wy7rnnHgwYMAB6vR4NDQ3YuHGjVNMhCMIBT3rnCAkRcsTqRZdTEWHJhDIkJASrVq1CVVUVqqqqkJeXB61WK9V0CIJoh6e9c8QUK6sXXU5FhCmFkSCIDniaHiiGWDkWBZZTEWESSoIQEV/UXvQFni572USNDWdxj3IqIkzVgwhCJHxRF9FXeLrstYranE1HbAHlnqB18TpZiwg7vq6uxnsLqkdJECIgtC6i3GALIremB+5/aZSdRce11BoAJESHIWdCX2jj2OMe+cZJsiHrOEqCCCQ8dXy4u45clu18l71jM3XY/9IobJ01FE8P7+702opff976XT/8bqB34h7FhpbeBCEQMeL95Lhs57vstQZ/D+uZiNvTEgQvm+Xw2tDSmyAE8kXxJcz/pJh13F8fy8LErK4djst92S502SvkfG+/NtQKgiB8hJB4P1+2M+CL1UL09flyem1oj5IgBOJpvF/7vciPD5T5rJ2Bv+HLVg9skEVJEAJxFxrj6PjwxCvcHl+k6ckNSmEkiADD6vjQqu2X11p1hG0fzdMGXO3xZpqenLzt7ZFTCiNZlAQhEmMzdRiToXXquBDSgEsTFQaLhbGVExOKfe9tE7YeOg+D8WZhbKm97VZ82eqBDfJ6E4QPKCq9hqkffifoGmII2M7jl7H4i5OoNjW7HCMXbztw0+sNON/S8JXXm5beBOEDxNhHc1bezBOW7yzB3C1H3Yok4FmQvLfhsqXhC2jpTRA+QIx9NCEhMTuPV+D9b8s8upeviuKy4W5Lw1eQUBKEC8TKL261MGhptfAqFuEIFwFznPdtqfFY/MVJXveTi7ddaCynUEgoCcIJYqXN8Q0HYuOrkxWwWBhAAVTVm21CvqvE0OF+CdHhqDbd4HWfqjqzaE4kf4acOYTf4q2KMmKlzbF1JhQbTVSYXQtYsZCLF9wbUAojEdB4q1CCWGlzrRYGL2874TORBOAVkQRuOpHk4AWXCvJ6E36HJ02vPMWTtDlXgdqtFgYLPzvmNeHyNXLygksFWZQ+xlvLxWDB24USuDovdpUY8OKnxR0s2gcH6LD10HkYm1o539M6y2fuSkP+sQrR9zPFQE5ecCkgofQhcqir5+94YvENSUvo8KVkvYarLyquYTzrD5zrcKyitsmjEBwr7eszDkiJx4JPi2FusXh8HS4kRIfZxVHGRYTC2NTC+Xy5eMF9DQmlj3C1sU/7P54hxOLTRIUBsN/Lc/yiYkubE5NQpQIbnrgdd6Qn2QpmzN1yxCv3sqb7/fu/R+JweY3ti8JgbMKCfxRzvo4v8qrlCO1R+gCxWgUQnll8jpbn9YbmDvuGjvua7logiE2LhcFz/ziKXSUGtFoYvJZf4pX7tK9gFB6qxLCeiZiY1daCQRvHXfictYaVa0ENsSGL0geI0SqAaIOLxadUAFw/r872NV21QPDkuly53tCM2ZuOYMHoW2AwemdZ6671gicWtGOPnGDaSiKh9AFyqqvn77DVfmTguZg529c0t1jwl0cGAAxQZTKjqs6MN3b8KNrzcGTDQc/3Ntn4/dBuGNcv2WYFFpVe67A3y6XNrCYqDCsm9bMTv2DbSiKh9AFyqqsXCLhrejUuU4v/c+Jo4cKuEgMW/KPYzrLTxkXgtQczkBSrEjptt3gjlGhcv2QM65nIavm5ej01UWGYcUcaskf1srMk5dSiwVdQZo4P8KRHMuDeK0vcxFmo1aGyasHlzJyxYPQtyC08Lfp126OODENtoziCqfv1/2lXiYFzlhHX0DWuJeO2zhoq+60kysyREVxbBTjL0w3UPR8xcFYowVte648PlkEbp7IrcCs2Tw3vjtzCX0S5Vs74PgDgkeXHtfBEMG4lkdfbR7DV1QPgtWyTYMJbXuuahmY8OjiFdZwmKgyayDCPrm1tPpY9Kh3rpg+yhTEJIT5axdmJ+PGBMo+81sG4lRQUFqVcsmFc1dUDgBEr9wTVno+3aLUwUEeG46nh3fF58SXWIrWecL66kXXM9YZmbH76N7AwDGZvPgyT2X2GjmPzMev/yMEzVZiz+TDqWc53xd+LzuHevlpOY9s7qbisYOTUosFXBLxQyi2Ewdnypqj0GoUPiYCz9zo2IhR1HmSeuKP0aj2ncVWmtrJnbCIJAPFRYXjiju4wt1hQVHrN9iV+5y2d8JdHBvCuPvTVSQO+O1vl8XlcvNaedJ0MFDgL5euvv85p3JIlS3hPRmz8JYQhkPd8fGXNu3qvxRJJADhxychp3LmqBs7XbGVgty/p6I1+5q40fPBtGS+xrGnw/LlzXcG4izwIxD11zkJ59OhR2+8tLS0oKChAeno6UlNTcf78eZw+fRr333+/VybJB38KYQjUPR9X1nzO+AzER4dzFk82sRXS4dAbvF14Gi+MvoXTWEcvd/svcQC8RVIIXFcwcmjR4Cs4C+Xnn39u+/2ZZ57B6tWr8eyzz9qOffjhh/jhhx/EnZ0A/CkbRk57PmJZgK4svIrapg75zO62QrhsnbC911LwyQ/noY1TodJo9kjo2n+JMwwjqfhzWcFI3aLBV/Dyeufl5WHWrFl2x5566ink5eV5fK3Gxkb06tULGo2Gz1Rc4k/LWXeeWl/u+RScrMCIlXsw9cPvMP+TYkz98DuMWLnHY4+7pxaeK88+17qTcngP22P9Ep46pBsAz73v1vO9FYoUGxHCaZy/rWC8CS+hTEpKQkFBgd2xr7/+GomJnn+zLFmyBCkp7GEXnpIUwy2Tgus4byN1W04xi+F6auE5KwzCtnXCtBsv1w9096Rop++pp+FDYlPX1IqE6HCXAm4NVwokr7VQeHm9V6xYgUmTJmH06NFITU1FeXk5du/ejY0bN3p0nSNHjmDnzp343//9X0yZMoXPVFxiaeVmz3Ad5wuk2vMRez+Xj4XnmG/98YEyVrFtP95XpdE8ISlaheHpSbb31FDbiANnqvDl8cui3YNv47CHspKx4cA5p/ndDNoC1gNxr5EvvCzKyZMn48SJExg6dCgYhsHQoUNx7NgxPPzww5yv0dLSglmzZmHNmjVQqdxbdWazGUaj0e6Hje/PXeM0D67jfIV1z8daBssX/6ye7Oey0WphUFXHf8m4q8SAESv3cC5AYTA22bYu5CSSAPDcJ0ex83gFQpQK1DbewNLtJfjsyCWYW9hnyuVt18ap8N2ie7BgdLrHcxuToXVq7Vp5Y8ePlOTQDt5xlOnp6Vi8eDHvG69atQr9+/fH3XffjW+++cbt2OXLl2Pp0qUe3oGrwATft6ajw8ZQyx5IDbBbijuPX8biL04KCvJ2VjncHdX13kspFEq16QbmbjmCMcWdUVhyxSMh51IBaeqQbggPVWL+6FtwqzaWU1vc9o7BEKUCFgucFguWWwid1PASyubmZixbtgybN2/G1atXUVtbi4KCApSWlmLevHms55eWlmLNmjV2IUfuWLRoEV588UXbY6PRCL1e7/acYT0TsXrvGdZri+mxk0sGkDuceZETosM5netsL9D6nD/aV4rdP10VNDc+9R41UeFeK3obFR6Chhv8MmPas6vkigiz6Uj3pGjb7+23bXaVGLDeybLa0THYamHwxg7nr5vcQuikhpdQLly4EMePH8e6detsy+0+ffpg4cKFnIRy3759uHr1Kvr27QsAuHHjBoxGI7RaLfLz8zFkyBC78SqVinV57sjt3ROgUADuaiMpFG3jxEBuGUDOcBWyU8Nhj0sTGQYLw6DVwtg+NM6eMx/41pEEgOsNN/Du7tOCit66qsMohkh6E8cvLuu2zbCeiRiSlsAaDO5PIXRSw0so8/LycOLECcTHx0OpbNvmtAaec2HKlCkYO3as7fHBgwcxY8YMFBcX8/KcO+NweY1bkQTaRPRweQ3nfwJXFqM/ZABxaUfhjuuNzZj20fc28QfAO73OEXVUGBpvtPJqqHXgzFXs+dnzVL32yG1vkwtsXmkujkF/CqGTGl5CyTAMoqKi7I7V19cjNjaW0/mRkZGIjIy0PU5ISIBCoYBWyy2Jnwtc39wDZ65yWiq7zjLpgzd2/Cj7DCCuITuOXfocsYq/OipMkMDERoTikdtSoI4MF1TnUahI+isPDtCx/j+xBYMHakaYN+Dl9R45ciRycnLsjq1cuRJjxozhNYm7774b169f53WuK7i+uav3lrIGV7uLMZy75ahoHmNvwvWLI2dCX2x++jcuY/2sMYxCK3LXNbVg/YFzXmmBEAiwfafmH6sQ3MjLGlZF8ZTs8BLK3Nxc7Nu3D506dYLRaETXrl1RWFiIP/3pT2LPjzds/wTOcBZcLXTJakXq5QvXLw5tXASUSgWui1Rpmw1vtEDwZ6z/r2waKMaXr1wywvwBXkLZqVMnFBUV4auvvsInn3yCbdu24cCBA0hKShJ7frzhE1vnLENErDxiqZcvnlgPUot6MKNVR+Dp4d05jT1wpkqwVSl1Rpi/wGuPcu7cuVi7di0GDx6MwYMH245nZ2dj9erVok1OKEfP13h8jqOnT6hoyKWIqSc1BKUW9WDC+l48Nbw7xmRobX1/uDRIW733DD47fBGvPSgssiKYqgDxhZdFuWnTJqfHt27dKmgyYnKjxYIPvuW//2UVSE9EQ+7LF67WA5dti+jwtsIK7sZI/4zlg1IBrH4sCzonr/3axwdiTIYWV+ravqBvS43nvG1kMDZhtgitQqTICPMnPLIo8/PzAQCtra348ssv0b6BY2lpKdRqtbizE8DGonOCvLJWgeRaAi1nfAbe2CH/IqZcrAcuvZ5Nv8YYOsaqJkSHYaBeg90/XfXLsBtvYWGAxNi2zojtX/sa040O/zc6dQQeHKDDB9+WuXz9HVm07YTkkRWBjEdCOX/+fABAU1MTnn/+edtxpVKJLl264J133hF3dgIor+ZeZbo9jktlrkvWsZk63JfpH8sXLjUEXVWwdsS6Rfb08O4YnaHFbanx+O2f94o53YChfSjahP7J2FViwLwtzuNvP/i2DM/clYb8YxWc9shrGprx3dlrGN5LPn6CQMIjoSwra1vKPvroo/j000+9MiGxSE2IYh/kgFXScsb3sRM8awEBtkwHORcx5ZNeabU+3919Gn/dfcalZaMAsPOkAa+Mz5BlEV25sHpvqe13bVwEmlpa3cbf5h+rwL//eyQWfnYM/yxmrzhUVEpC6S14OXNyc3NRXV2NhISbDoqamho0NjYiOTlZtMkJYcrt3ThXoLGi/XXJ88aOH52mIjoum+RmMboSQ2fFKrimV+4qMeDt3e5z5ts7wMhjzg22lEvra3q4vAYp8ZFux9qfRXgDXkI5adIkfPDBB3ZCWV5ejjlz5qCoqEi0yQnhHz9wS6f87S1JmDQoxbZf5GopJJdURFe4yhzK7BrntChDRW2bE2DB6FuQPaqXTfDbi21SjAqv5Z/iPIcrdU0eNdYi2LlS14RhPZLsrFFXDOtB1qS34CWUP/30EwYMGGB3bMCAAfjxR88sOG/CdY8yNTEaE7O6otXC+G1vbXf9adiWwbmFp7F+/1k8NSIN6Z1jOzgWPOFcVQPeFpCOSHTEujLQRIW5Dc7XRIVhqEy3fQIBXuFBGo0GlZWVdscqKysRExMjyqTEQB/PbY/SOk7M4rW+RIwOhLVNLcgt/AVzt3RM0+RKl9hw/E1gpAFxk/YJACFKBVZM6ud2/IpJ/WT3BR5I8BLKBx54ADNmzMClS5cAAJcuXcKsWbPw4IMPijo5IfTWcivQYR1XWGLgNF5ue3BycZ5cb2zm1ZKA6Iiz+NuxmTqsmz4I2jj7coPaOBXWyXhLKFDgtfRevnw5nnjiCej1ekRERMBsNmPixIlYuXKl2PPjTXUDtw9tlekG/lr4C6dMCED6VES+1cm9DZf2BgQ3FApg1p1pHcSPMmikg5dQxsbGYtu2baisrMT58+eRmpqKzp07iz03QXAVtNe/PIUaDoUZ5JCKKKQ6OeE/WBjgg2/LMLBbfAexlHMIWiDDu2cOAHTp0gVdunQRay6iYs2oYVuWchFJoG2PUspURCHVyQn/RK7Ow2CEs1COGDEC+/fvBwAMHDgQCoXzN+/IkY6NiqQgRKlAZtc40fbvnhrenfM+kNi9c8Qq9Ub4D9SGQV5wFsq5c+fafn/hhRe8MRdRudFiwe4fxWvqNCaDW/V1b/TO4euwiY8Kw6ODUzinwRHCcJbiKvSLTG7Ow2CFs1A+/vjjtt+feOIJr0xGTDYWnePVrMoZzhprOcNbvXP4flhUoUosHNsHC8feTMk8e7Ue77hJRyQE4KCMCgUwvp8O24/zr+wjtfOQaIOzUP7973/nNO4Pf/gD78mIydmr9aJdy7GxljOxY1seCwlY5/thMRjNtqWbdflWVHoNf2VJSST44djMzsIAO45XsAaLO0MOzkPiJpyFMjc31+7xyZMnER0dDZ1Oh4qKCjQ0NCAzM1M2Qnmlziz6Nd1ZhmK1/nS2v8lW6s0djtboLo7xooR4eLo7Lbc6poQHQnn06FHb74sXL8b48ePx2muvITQ0FM3NzXj99de9MkG+JMSIHzbjaBkCsInaL5V1nK5hFS5ngrirxOByf5OtPqQr2lujrRaGUxUaAlBHhiIyLFRQv3Cg7b2qaWjGgtHp+OSHC07rTjruIcuxjmmwo2AYtu7XHenUqRMqKioQGnpTZ5ubm5GcnIyrV6+KOkFnGI1GqNVq1NbWIi4uzumYmR8fQuFP3pvLC/ek4x//ueCxk2TrrKGobbzRQRBdLc+s9sR70wcBAGt9yPbo1G2FYoE2QT9w5iqn4gpEG5uf/g1+Mhg9rkLljL8+loUJ/ZOdRkOIHSVBcIeLlgA84ygjIyNx5MgRDBkyxHasuLgYERHy2Xjmof8e8fbuXzwab91zqjGZMW/L0Q5Woas9LOu41/JP4cDL99hlZpyrMiG30PU8Hhygc2qlEtyoMpnx5PA0fLS/TPDr1zk2wmWwuL8GkQeTwPMSyoULF+Lee+/F9OnTkZqaivLycmzevBlvvPGG2PPjTWWdvAKxGQBTBuvx+vYfeXmcDUYzVu85g/mj0+0+VPXmZny475zTc97/tgwA9c3mi1XcrNsefN63QHXKeCMMTs7wKoqRnZ2Nbdu2oampCXv37kVTUxM+++wzZGdniz0/3oSH8npqXuXt3b8I2vPKLTxt10Rq5/EKfORCJAnh1JhuoNXCQB0ZjqeGd0d8lHO7Ikbl/Lg/O2VaLQyKSq/hi+JLKCq9ZtcW1xoG52hlW52dQhudyRFee5RSw2Vf4fmtR5B/LPDeMOu+464SA2ZvkkcWVKASHxUGVagSBqPzCIqo8BAoFUC9udXp3/3VwnJnLY7J0GLEyj0utyKsFvT+l0b5xZcD1z1K3mbXhg0bMGbMGPTv3x8A8O9//1tWfXRu6Syf2phiUlHbhO9Kr2HplyVST0X2CP2Y1jQ0uxRJAGi40epSJBeMTsf+l0b5pUi6sxZX7/nFL+u2CoWXUL755pvIzc3FlClTcP58W8sFnU6HP//5z6JOTggHS68JOl+njsAL96SLNBtxKTpbRc4ZDki1VFIA+OSHCxLdnT9cagps4FiOMNBSL3kJ5UcffYSdO3di5syZtuIYvXr1QmmpfEJPLguo05gQHYZ///dIPHdPOudG9L5FfjOSI6ESLf381arikjRxvZFbhlGgpV7yEkqTyQSdrm1JYRXK5uZmqFQqd6f5lOjwEN7nVpuasbHoHIC2jXhAPtKkU0f4ZSiJFLSIlezPE3+zqrjOVxMZ5vLz0L6FRSDBSyiHDh2KNWvW2B1bv349hg8fLsqkxKBHZ26tIFzxxo4fMWLlHgBtwd5atf03pFT71Dnj+2Boj0SXnlZCPvibVcV1vjOGpwHoaDz4s5efDd59vUePHo2//e1vqK+vxx133IHKykoUFhaKPT/edEvg1lzMHe1zux17eltb2wK+3Qv7qaIOv1ypR725xYd3DT5iVKEwmVuCKnaSraaA9Xllj+qFW7UxHTzjgZx6ySs8yGQyQaFQYOfOnTh37hz0ej0mTJiA6Ohob8yxA1xc+vtOX8Xv1x8SfC934Q7OwigI/0cbp8KSCX0xdwv/8KsFo9ORPSrd7ywrq9cb6FhbE4BdQZhAyMzhGh7ksVBaLBZER0fDaDQiLCxM8ET5wEkof76K328QLpRWts4aimE9Ezv8c2TpNRi+cg91IAwg1k0fhDEZWty2bJfH5dHao41T4bUH+/qdhRVMWTdey/VWKpXo1asXqqurZdsvBwD2nRG3IMaVuian/0AxqhCXsXSEf6FUAKunDsTYTB2KSq8JEkmgLe109qYjftdOlro9doTXHuXs2bMxefJkvPTSS9Dr9VAqb/qErAHoUlNwQtxyYueqTHi78JcOezckkoHD6qmDMK5/m6CJ6bF+edsJu4LN/rBk9ddCHd6Cl1A+99xzAICJEyfaHVcoFGhtZRcOs9mM7OxsFBYWoqqqCl27dsXChQvx1FNP8ZmOUyrcZFR4gnWPcuuh89Q+wU+xStCaxwfilyv12HDgnF08oLNlpZge6+sNzfiu9BqGpycF1bI2kOAllBaLBQBw6dIlXLp0CSkpKUhOTuZ8fktLC3Q6HQoLC9GjRw98//33uP/++5GSkoJ7772Xz5Q60BbfKY60PXZ7N+QWnhZ0jfH9umDniUoA1DnR2ygVsOuX5OiNzR6VzmrRcakqrwBwb0YX/KukknVORWerUGdu9kpPJcL78BJKg8GAadOm4ZtvvoFKpYLZbMZvf/tbbN682RaI7o7o6Gi7iuhDhw7FyJEjsX//fqdCaTabYTbftBCNRiPrPW7VxuDEJW5Vx12hiQzDisn9YG6xCLoOANzbV4cHBnTFa/mn3OYPE66JCFPiL5MHIPuTo27HrZ46CPHR4S6F0NWy0nFJnDM+A/O2uK4qv+bxgSipqOMklAwDr/VUIrwPr4DzGTNmQK/X23rlVFRUIDU1FTNmzOA1iaamJhw6dMjl/uby5cuhVqttP3q9nvWavbXCAs4BYM3jbd/wYizDOsdGYGymDqsezRJ8rWBFCSA+OhxrHx8ITVTHiIv4qDCsm962zzisZyImZnXFsJ6JnISn4GQFhq/Yjakffof5nxRj6off4fXtp/DMXWkdkg106ohf75PMeR9PExUelMUkAgVeFuXBgwdRWVlpq2jeuXNnrF27lpM16QjDMJg5cybS09MxadIkp2MWLVqEF1980fbYaDSyiqXBKCxcx/pBbLUwGJKWgKjwEDTc4Oe40capbMHHVfVkTfKlodmCaf/X1g3zrYf6QR0ZhqKzVQDaLMShPbiJoiMFJyuclqwzGM14/9syrH18IOKjVU4t1KE9Elm7LMZHhSGJYw8nf0t7DBZ4CWWvXr1w4cIFpKffrK5z4cIF9OzZ06PrMAyDOXPm4Oeff0ZhYaGd97w9KpXK4zxynVpYc7HrDc22D+X/3N+bt0gCQFOLBbtKDB5ZpwnR4fjro1n4/tw1HDhzDUcvXOd9/0DDUNuEeVva9vT+eF9vQddqtTB4edsJt2Ne+edJHF48xqkIhygVWDGpn9vaoMsn9YM6ktv/o7+lPQYLvJbekydPxtixY7Fq1Srk5eXhL3/5C8aPH4+HH34Y+fn5th93MAyDefPm4dChQ/j666+hVqt5PQFXXLkujuVmqG1C9ifFgq5R29Bsq/xsdRKwsWxiJu68tRMydGoSSQes+3xLvyyxq7zNh+84xEtavdauGJupw7rpg6CNc75EH5ups73vwVZMIlDgZVF++OGHAIDVq1fbHf/ggw9svysUCjz44IMur5GdnY0DBw5gz549iI+P5zMNtxy5WCPKdcTwULffrP/tLZ2Rmhjldr/q2bvSMK6/DtuLL+E5gSIdqHDtk85G29Kd27jh6Uku/84WpN2+946jcyiQi0kECryEsqxMWMOq8vJyrF27FiqVCqmpqbbj06dPx7p16wRd24q5WbinWkysH+yMJQVuxXfWnWlYNC4Dy3eW/NocjHCH8D09rsLEPo4tSHtspg7vTR8UVMUkAgVJanWlpqZ6vZ2sKjQEZg7B777G3bNWANh+vAL9UzQkkhwRuqc3rGciVu89w2mcGFB6oH8SsEUNI8NDYPSz9EKr1fnK5+6dC4R4pcy4eq2H9hAvnY/SA/0P+fV0FYkenXxT8s0b1DVRrUl3iLmnZ/Vau2P5pH5k8QU5ASuUQ3uS9zBQ0USFiZrux8VrTQQ3Abv0LhLYhZELMapQhCoVrA2X4iJCYSQrUTRUoUqMydCKek3aOyTcEbAW5c8Gk9fvcfetndyK5LjMLsge2QvvPjZQNs3JAgGD0YzcXadRVHpNcBxle6x7hxP6txV42X78suj3IPwTXq0gpIZLVeKspf/C9UbvWXHR4SEwCcjWIcRB7BJlVAYtuOBa4TxgLUow3o2jJJEUhkIkE9taoqzgZIXga1n7xTgmA4h5D8I/CVihFNLTOf7Xghi0XPYO/zOuDzpFi9NvSax0xlYL47YMmhj3IPyXgBXK8JAQXucp0BYO8u7UgYiJCFhfl2To1BHI0MXhSr2wfjTtEaNE2aGyaiqDRrgkYJUgKlyJ6kbPz5t5Zxq2H6/AjuMVVIlcZBRoi32sMnmn1JyQdEau51IZtOAkYC3KqgZ+jpwP95VhO4kkK7d396yQiToyFC+MvgVjMrQepR3mjO+D7JHcyvcJSWfkei6VQQtOAlYoW1vlVRQjkNCpI3DmSr1H59Q2tiC38DRGrNyDGtMNaOPY64vq1BF4cngaFoy51eslyqgMGuGOgBVKdQS/PUqCndtS41HDs+e1teju4O7sgmNNUbSWKAM6OtjESmf0xT0I/yVghTIhhpZI3mL/GW41HJ3B/Pqz/bjrUBtr75v2cYvWEmWO/Wu06gjR0hl9cQ/CPwlYZ85V6k3jNdgqgvPl/kwtpg9Nddn7hmuaoWM3RU9SESmVkXBGwArljebACwiPjQiVTWUh8bqm3+To+RqsfnyQW1FiK1EmRmYNlUEjHAnYpTf8LzPTLeGhSlH6i4uFN15dg9GM1XvOoNXCoKj0Gr4ovuRRrjVl1hDeImAtyvCwUJha5GF9icENGYmkJjKMtWISX3ILT2PDwTK75X1CdDiWTczEuP6uLUKumTVjMrS0jCY8JmAtynByenuN0X26ePX6jnug1aYbmLvlCJbvLHF5DltmDUCZNQR/AlYor9YHjjUpNz47clGS+77/bRl2Hr/s9G8GI7eMGa7jCKI9ASuU8lmoEmKy+IuTTvcsqzlGOXAdRxDtCVihJAKTalOz0+VzQnQ4p/O5jiOI9pBQEj5FAUCoL8VZYQqtOpLTuVzHEUR7SCgJn2HVx1l3pkEB/vU+nRWmsOZqu4NytQm+kFASXsNRCK2pgIvGZThNFdREsRfzdSV21lxtd0UtKFeb4EvAxlES0vPuYwORGKtymgroKlXwTwU/4v1vy5xej03srLna1POGEBsSSsIrPHtXGu7vr3Mbt+gsVXDRuAwMSNFg8RcnUW26GU/JVewoV5vwBiSUhCAcc74To8PxxsRMKJXAiJV7eFl24/on475MHW+xo1xtQmxIKAlBrHpkAHSaSDtB21ViwJxNRzqkE1pzrrmULCOxI+QECSUhCJ0m0k7Q2HKuFaCca8L/IK83YUMBIEbFPUnemQeauhkSgQgJJQGgfYxjD87nOPNAUzdDIhAhoSQA3IxxzB6V7rbJFtCWWbP28YFO9xmpmyERiNAeZZARrQrBsof6oXOsCmCAKpO5g1f51QcyMGfTEZdVzFdPHeSyNqQ1Q8ZQ2+T0XAXaRJkyZAh/goQyyHjmzp743cCubscICdy2Zsg4E1rqZkj4KySUQYQmKgzZo3pxGiskcNuV0GopQ4bwUyQTyubmZixYsABbtmwBAEybNg25ubkIDQ0e7dZEhWHK4BR88GvKnqP1xcCztgvR4SEw3Wh1uWReMamfR5ackFhGypAhAgnJVGnZsmXYv38/Tp06BQC4//778dZbb2HJkiVSTUl0JvTT4j/l1+2qaseoQnBnehKm/6Y7hvZsa8s6sFu8S+urvdgkxdzcV0yKVsHCMPi+rBoAg2E9kjC0ZyJ2lRhkk+tMQeNEoKBgGGnaFer1euTm5uLhhx8GAOTl5eGPf/wjysvLO4w1m80wm29WpjYajdDr9aitrUVcXJzT69+6aAfMIj8zpQLg2BAQz96VhkXjMjj3mBbSi9qb1yKIQMZoNEKtVrvVEkAii7KmpgYXL15EVlaW7VhWVhbOnz+P2tpaqNVqu/HLly/H0qVLPbpHVjcNvi+/znn8hj8MxtlrJpRdM4FhGKgjwqFQAJqocCTFhEOrjsRtqfE4XF5jE6Aa0w28scPeerPmOlu9wlytKjGtL7LkCEJcJBHK+vp6AIBGo7Eds/5eV1fXQSgXLVqEF1980fbYalG6Y2BqgkdCabzRgqc5BFs7CtB9mbQPRxCBjiRCGRMTAwCora1FUlKS7XcAiI2N7TBepVJBpVJ5dA9Pe6PwDYAm640gAh9JMnPi4+ORkpKC4uJi27Hi4mLo9foO1iRfajl6igFqEUAQhHskS2GcMWMG3nzzTRgMBhgMBrz11luYOXOmaNdXeLD6pQBogiDcIZlQ5uTkYNiwYejTpw/69OmDO+64A6+88opo1x/WI4nTuPn39KIAaIIg3CJZeJAQuLj0Wy0Mblu2C9cbXC/BNVFhOLx4DFmTBBGkcA0PCtjqQSFKBVZM6ud2jKeZKgRBBCcBK5RAWxrduumDoI2z95hr41RYx6EdAUEQBBAERTEo55ggCKEEvFACFOtIEIQw/FIorf4no9Eo8UwIgvBnrBrC5tP2S6Gsq6sDANY0RoIgCC44S51uj1+GB1ksFly+fBmxsbFQcIwst+aHX7hwwW0YQKBDr0Mb9Dq0EeyvA8MwqKurQ3JyMpRK175tv7QolUolUlJSeJ0bFxcXlP8QjtDr0Aa9Dm0E8+vAJW06oMODCIIgxICEkiAIgoWgEUqVSoVXX33V43JtgQa9Dm3Q69AGvQ7c8EtnDkEQhC8JGouSIAiCLySUBEEQLJBQEgRBsEBCSRAEwUJQCGVzczOys7ORkJCAhIQEPPfcc2hpaZF6Wj7FbDZj1qxZSEtLQ2xsLHr37o3169dLPS3JaGxsRK9evew6gQYb+fn5yMrKQnR0NJKTk7Fu3TqppyRbgkIoly1bhv379+PUqVM4deoU9u3bh7feekvqafmUlpYW6HQ6FBYWwmg04uOPP8Z//dd/4euvv5Z6apKwZMkS3tldgUBBQQHmzp2Lt99+G0ajEadOncLdd98t9bTkCxMEpKSkMHl5ebbHn376KdOtWzcJZyQPfve73zE5OTlST8PnHD58mMnIyGAKCgoYtVot9XQkYfDgwcz7778v9TT8hoC3KGtqanDx4kVkZWXZjmVlZeH8+fO2XuLBSFNTEw4dOoT+/ftLPRWf0tLSglmzZmHNmjVBG2RtMplw+PBhGI1G9O7dG1qtFlOmTIHBYJB6arIl4IWyvr4eAOz2oqy/W8u1BRsMw2DmzJlIT0/HpEmTpJ6OT1m1ahX69+8f1MvMmpoaMAyDjRs34l//+hfOnDmDsLAw/P73v5d6arLFL6sHeUJMTAwAoLa2FklJSbbfASA2NlayeUkFwzCYM2cOfv75ZxQWFrotLRVolJaWYs2aNTh69KjUU5EU62fi+eefR2pqKgBg6dKlSE9Ph8lkQnR0tJTTkyUB/ymJj49HSkoKiouLbceKi4uh1+s5lVcKJBiGwbx583Do0CF8/fXXQff89+3bh6tXr6Jv377QarWYNGkSjEYjtFotDh06JPX0fIZGo0G3bt2c1nJlKKPZKUGR671kyRJs374dO3fuBACMGzcODz30EJYsWSLxzHzLvHnzsH//fuzZsweJicHXQ6ixsdFuX/rgwYOYMWMGfv75ZyQmJiIsLEzC2fmWN998E3l5edixYwcSEhIwe/ZsXL58Gbt27ZJ6arIk4JfeAJCTk4Nr166hT58+AIBp06bhlVdekXhWvqW8vBxr166FSqWyLbcAYPr06UETPxcZGYnIyEjb44SEBCgUCmi1WglnJQ0vv/wyqqurMWDAAADAyJEjsXHjRolnJV+CwqIkCIIQQsDvURIEQQiFhJIgCIIFEkqCIAgWSCgJgiBYIKEkCIJggYSSIAiCBRJKgiAIFkgoCYIgWCChJAiCYIGEkpAl3bt3xz//+U/J7v/kk0/ihRdekOz+hLwgoSQCjmDrh0R4HxJKQnY88sgjOH/+PKZOnYqYmBjMnj0bCxcuRGpqKmJjY5GRkYG8vDzb+G+++QYajQbvvfceunXrhmHDhgEA3n33Xej1eiQmJmLx4sXIysrCxx9/bDuvsLAQQ4YMgUajQd++fZGfnw8AeOedd7B582asXbsWMTEx6Nu3r0+fPyFDJGtCQRBuSE1NZT7//HPb402bNjGVlZVMS0sLs3XrVkalUjFnz55lGIZh9u7dyyiVSubZZ59lTCYTYzKZmMLCQkaj0TDff/89YzabmZycHCY0NJTZsGEDwzAMc+zYMUaj0TC7d+9mWltbmX379jFxcXHMTz/9xDAMwzzxxBPM/PnzffysCblCFiXhF0ybNg2dO3dGSEgIHnvsMfTu3RsHDx60/d1isWDFihWIiopCVFQUtmzZgmnTpmHIkCEIDw9HTk6OXeXu999/H08++SRGjRoFpVKJESNGYMKECfj000+leHqEzAmKepSE/5Obm4uPPvoIFy9ehEKhQH19Paqqqmx/j42NteuLdPnyZbu+OGFhYdDpdLbH586dw549e7BhwwbbsZaWFsTFxXn1eRD+CQklIUva9/LZv38/XnvtNezZswcDBw6EUqlEVlaWXdsCx94/ycnJuHDhgu1xS0sLKioqbI/1ej3mz5+PFStWsN6fIOi/gZAlXbp0QWlpKQDAaDQiNDQUnTp1gsViwfr163Hy5Em350+dOhVbtmzBf/7zHzQ3N2PZsmUwmUy2vz/77LPYsGED9u7di9bWVpjNZhQVFeHHH3+03f/s2bPee4KEX0FCSciSV155BatXr0Z8fDy2b9+OyZMno1+/fkhOTsapU6cwfPhwt+ePHj0ar776Kh566CFotVq0tLTglltusfXyHjhwILZu3YrFixejU6dO6Nq1K3JycmA2mwEAM2fOxKVLlxAfHx90vc+JjlArCCIouHHjBhITE/HVV19hxIgRUk+H8DPIoiQClm3btqGxsREmkwkvvfQSEhISMGTIEKmnRfghJJREwLJx40bodDokJyfj8OHD+OKLLxAeHi71tAg/hJbeBEEQLJBFSRAEwQIJJUEQBAsklARBECyQUBIEQbBAQkkQBMECCSVBEAQLJJQEQRAskFASBEGw8P8DStpU/EQujQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0.5913271722007005" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Plot the predicted vs target values parity plot\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.scatter(df['target'], df['predicted'])\n", + "plt.xlabel('target')\n", + "plt.ylabel('predicted')\n", + "plt.show()\n", + "\n", + "# pring the mean absolute error\n", + "from sklearn.metrics import mean_absolute_error\n", + "\n", + "mean_absolute_error(df['target'], df['predicted'])" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import numpy as np\n", + "import random\n", + "\n", + "def set_seed(seed_value):\n", + " \"\"\"Set seed for reproducibility.\"\"\"\n", + " torch.manual_seed(seed_value)\n", + " torch.cuda.manual_seed(seed_value)\n", + " torch.cuda.manual_seed_all(seed_value) # if you are using multi-GPU.\n", + " np.random.seed(seed_value) # Numpy module.\n", + " random.seed(seed_value) # Python random module.\n", + " torch.backends.cudnn.benchmark = False\n", + " torch.backends.cudnn.deterministic = True\n", "\n", - "# # Construct the command to run the script\n", - "# command = ['python', script_path] + args\n", - "# check the conda activate env\n", - "# command = ['echo', '$CONDA_DEFAULT_ENV']\n", - "command = 'echo $CONDA_DEFAULT_ENV'\n", + "set_seed(42) # Use any number to seed all libraries.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "'SubsetRandomSampler' object is not an iterator", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/Users/ali/GitHub/rewotes/adavaria/train_cgcnn2.ipynb Cell 14\u001b[0m line \u001b[0;36m7\n\u001b[1;32m 5\u001b[0m \u001b[39m# Assuming you have a dataset 'dataset'\u001b[39;00m\n\u001b[1;32m 6\u001b[0m sampler \u001b[39m=\u001b[39m SubsetRandomSampler(indices)\n\u001b[0;32m----> 7\u001b[0m \u001b[39mnext\u001b[39;49m(sampler)\n", + "\u001b[0;31mTypeError\u001b[0m: 'SubsetRandomSampler' object is not an iterator" + ] + } + ], + "source": [ + "from torch.utils.data import SubsetRandomSampler\n", "\n", - "# Run the script and capture the output\n", - "process = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, shell=True)\n", + "indices = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", "\n", - "# Print the output and error messages, if any\n", - "print(process.stdout)\n", - "print(process.stderr)" + "# Assuming you have a dataset 'dataset'\n", + "sampler = SubsetRandomSampler(indices)\n", + "next(sampler)" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import mlband.data\n", + "import mlband.config\n", + "importlib.reload(mlband.data)\n", + "importlib.reload(mlband.config)" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [], + "source": [ + "config = mlband.config.Config(data_path='./data/mp/')" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Warning] train_ratio is None, using 1 - val_ratio - test_ratio = 0.8 as training data.\n" + ] + } + ], + "source": [ + "train_loader, val_loader, test_loader = mlband.data.get_data_loaders(config)" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_loader" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [], + "source": [ + "import cgcnn.data" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'/Users/ali/GitHub/rewotes/adavaria'" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# print current working directory\n", + "os.getcwd()" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "st = torch.load('model_best.pth.tar')" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['epoch', 'state_dict', 'best_mae_error', 'optimizer', 'normalizer', 'args'])" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "st.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 141, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import mlband.model\n", + "from mlband import utility\n", + "importlib.reload(mlband.model)" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Warning] train_ratio is None, using 1 - val_ratio - test_ratio = 0.8 as training data.\n", + "Evaluating the train set...\n", + "Saving the predictions to ./results/predictions_train.csv\n", + "Evaluating the val set...\n", + "Saving the predictions to ./results/predictions_val.csv\n", + "Evaluating the test set...\n", + "Saving the predictions to ./results/predictions_test.csv\n" + ] + } + ], + "source": [ + "warnings.simplefilter('default')\n", + "mlband.model.evaluate(config=config)" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Warning] train_ratio is None, using 1 - val_ratio - test_ratio = 0.8 as training data.\n" + ] + } + ], + "source": [ + "train_loader, val_loader, test_loader = mlband.data.get_data_loaders(config)" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "metadata": {}, + "outputs": [], + "source": [ + "best_checkpoint = torch.load('model_best.pth.tar')" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "from mlband.model import get_cgcnn_model\n", + "model = get_cgcnn_model(config)" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [], + "source": [ + "from cgcnn.data import CIFData" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [], + "source": [ + "args = config\n", + "dataset = CIFData(args.data_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/ali/mambaforge/envs/cgcnn/lib/python3.11/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "structures, _, _ = dataset[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import mlband.magpie\n", + "importlib.reload(mlband.magpie)\n", + "df = mlband.magpie.get_magpie_data()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['symbol', 'atomic number', 'atomic mass', 'group', 'period', 'MeltingT',\n", + " 'MiracleRadius', 'CovalentRadius', 'FirstIonizationEnergy',\n", + " 'GSestFCClatcnt', 'Electronegativity', 'Density', 'ZungerPP-r_s',\n", + " 'DipolePolarizability', 'GSestBCClatcnt', 'LogThermalConductivity',\n", + " 'NsValence', 'GSmagmom', 'Polarizability', 'NValence', 'IsAlkali',\n", + " 'AtomicVolume', 'phi', 'Number', 'IsNonmetal', 'NfValence', 'HHIp',\n", + " 'VdWRadius', 'HHIr', 'NpUnfilled', 'BulkModulus', 'ZungerPP-r_p',\n", + " 'NsUnfilled', 'ZungerPP-r_sigma', 'ThermalConductivity', 'AtomicRadius',\n", + " 'ShearModulus', 'IonizationEnergies', 'IsMetalloid', 'NfUnfilled',\n", + " 'SecondIonizationEnergy', 'OxidationStates', 'IsDBlock', 'AtomicWeight',\n", + " 'HeatVaporization', 'MendeleevNumber', 'GSvolume_pa', 'NUnfilled',\n", + " 'IsMetal', 'ElectronAffinity', 'NdUnfilled', 'NdValence', 'MolarVolume',\n", + " 'Column', 'ICSDVolume', 'IsFBlock', 'SpaceGroupNumber',\n", + " 'HeatCapacityMass', 'AllenElectronegativity', 'BoilingT', 'GSenergy_pa',\n", + " 'HeatCapacityMolar', 'n_ws^third', 'HeatFusion', 'ZungerPP-r_d',\n", + " 'ZungerPP-r_pi', 'NpValence', 'Row', 'FusionEnthalpy', 'GSbandgap'],\n", + " dtype='object')" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n", + "{'0': 'Group_1', '1': 'Group_2', '2': 'Group_13', '3': 'Group_18', '4': 'Period_1', '5': 'Period_2', '6': 'Atomic Mass_bin_0', '7': 'Atomic Mass_bin_1', '8': 'Atomic Mass_bin_2', '9': 'Atomic Mass_bin_3', '10': 'Atomic Mass_bin_4', '11': 'Atomic Mass_bin_5', '12': 'Atomic Mass_bin_6', '13': 'Atomic Mass_bin_7', '14': 'Atomic Mass_bin_8', '15': 'Atomic Mass_bin_9'}\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "\n", + "\n", + "# Sample DataFrame and column names\n", + "df = pd.DataFrame({\n", + " 'Symbol': ['H', 'He', 'Li', 'Be', 'B'],\n", + " 'Atomic Number': [1, 2, 3, 4, 5],\n", + " 'Atomic Mass': [1.008, 4.002602, 6.94, 9.0121831, 10.81],\n", + " 'Group': [1, 18, 1, 2, 13],\n", + " 'Period': [1, 1, 2, 2, 2]\n", + "})\n", + "discrete_columns = ['Group', 'Period']\n", + "continuous_columns = ['Atomic Mass']\n", + "\n", + "# Get one-hot encodings and feature names\n", + "element_encoding, feature_names = one_hot_encode_elements(df, discrete_columns, continuous_columns)\n", + "\n", + "# Example output\n", + "print(element_encoding[\"1\"]) # One-hot encoded features for 'H'\n", + "print(feature_names) # Names of all the features\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import mlband.features\n", + "importlib.reload(mlband.features)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "enc, names = mlband.features.one_hot_encode_elements(\n", + " discrete_columns=['group', 'period'], \n", + " continuous_columns=['Electronegativity', 'CovalentRadius'],\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((46,), (92,))" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "o = np.array([0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n", + " 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.,\n", + " 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0.,\n", + " 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.,\n", + " 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0.,\n", + " 0., 1., 0., 0., 0., 0., 0.])\n", + "a = np.array(enc['1'])\n", + "a.shape, o.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, False, False, True, True, True, True,\n", + " False, False, True, True, True, True, True, True, True,\n", + " True])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.array_equal(a, o[:a.shape[0]])\n", + "a == o[:a.shape[0]]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
symbolatomic numberatomic massgroupperiodMeltingTMiracleRadiusCovalentRadiusFirstIonizationEnergyGSestFCClatcnt...n_ws^thirdHeatFusionZungerPP-r_dZungerPP-r_piNpValenceRowFusionEnthalpyGSbandgapElectronegativity_binnedCovalentRadius_binned
0H11.0079401114.010.031.013.5984432.979865...1.500.0600.00.0000.01.00.0607.853Electronegativity_bin_5CovalentRadius_bin_1
1He24.0026021810.000.028.024.5873873.664774...0.000.0000.00.0000.01.00.00018.098Electronegativity_bin_0CovalentRadius_bin_1
2Li36.94100012453.69152.0128.05.3917194.048846...0.983.0000.00.3600.02.03.0000.000Electronegativity_bin_2CovalentRadius_bin_4
3Be49.012182221560.00112.096.09.3227003.160184...1.677.8950.00.2000.02.07.8950.000Electronegativity_bin_3CovalentRadius_bin_3
4B510.8110001322348.0088.084.08.2980203.061330...1.7550.2000.00.1651.02.050.2001.524Electronegativity_bin_5CovalentRadius_bin_3
..................................................................
113Fl114289.0000001470.000.00.00.0000000.000000...0.000.0000.00.0000.00.00.0000.000Electronegativity_bin_0CovalentRadius_bin_0
114Mc115290.0000001570.000.00.00.0000000.000000...0.000.0000.00.0000.00.00.0000.000Electronegativity_bin_0CovalentRadius_bin_0
115Lv116293.0000001670.000.00.00.0000000.000000...0.000.0000.00.0000.00.00.0000.000Electronegativity_bin_0CovalentRadius_bin_0
116Ts117294.0000001770.000.00.00.0000000.000000...0.000.0000.00.0000.00.00.0000.000Electronegativity_bin_0CovalentRadius_bin_0
117Og118294.0000001870.000.00.00.0000000.000000...0.000.0000.00.0000.00.00.0000.000Electronegativity_bin_0CovalentRadius_bin_0
\n", + "

118 rows × 72 columns

\n", + "
" + ], + "text/plain": [ + " symbol atomic number atomic mass group period MeltingT \\\n", + "0 H 1 1.007940 1 1 14.01 \n", + "1 He 2 4.002602 18 1 0.00 \n", + "2 Li 3 6.941000 1 2 453.69 \n", + "3 Be 4 9.012182 2 2 1560.00 \n", + "4 B 5 10.811000 13 2 2348.00 \n", + ".. ... ... ... ... ... ... \n", + "113 Fl 114 289.000000 14 7 0.00 \n", + "114 Mc 115 290.000000 15 7 0.00 \n", + "115 Lv 116 293.000000 16 7 0.00 \n", + "116 Ts 117 294.000000 17 7 0.00 \n", + "117 Og 118 294.000000 18 7 0.00 \n", + "\n", + " MiracleRadius CovalentRadius FirstIonizationEnergy GSestFCClatcnt \\\n", + "0 0.0 31.0 13.598443 2.979865 \n", + "1 0.0 28.0 24.587387 3.664774 \n", + "2 152.0 128.0 5.391719 4.048846 \n", + "3 112.0 96.0 9.322700 3.160184 \n", + "4 88.0 84.0 8.298020 3.061330 \n", + ".. ... ... ... ... \n", + "113 0.0 0.0 0.000000 0.000000 \n", + "114 0.0 0.0 0.000000 0.000000 \n", + "115 0.0 0.0 0.000000 0.000000 \n", + "116 0.0 0.0 0.000000 0.000000 \n", + "117 0.0 0.0 0.000000 0.000000 \n", + "\n", + " ... n_ws^third HeatFusion ZungerPP-r_d ZungerPP-r_pi NpValence Row \\\n", + "0 ... 1.50 0.060 0.0 0.000 0.0 1.0 \n", + "1 ... 0.00 0.000 0.0 0.000 0.0 1.0 \n", + "2 ... 0.98 3.000 0.0 0.360 0.0 2.0 \n", + "3 ... 1.67 7.895 0.0 0.200 0.0 2.0 \n", + "4 ... 1.75 50.200 0.0 0.165 1.0 2.0 \n", + ".. ... ... ... ... ... ... ... \n", + "113 ... 0.00 0.000 0.0 0.000 0.0 0.0 \n", + "114 ... 0.00 0.000 0.0 0.000 0.0 0.0 \n", + "115 ... 0.00 0.000 0.0 0.000 0.0 0.0 \n", + "116 ... 0.00 0.000 0.0 0.000 0.0 0.0 \n", + "117 ... 0.00 0.000 0.0 0.000 0.0 0.0 \n", + "\n", + " FusionEnthalpy GSbandgap Electronegativity_binned \\\n", + "0 0.060 7.853 Electronegativity_bin_5 \n", + "1 0.000 18.098 Electronegativity_bin_0 \n", + "2 3.000 0.000 Electronegativity_bin_2 \n", + "3 7.895 0.000 Electronegativity_bin_3 \n", + "4 50.200 1.524 Electronegativity_bin_5 \n", + ".. ... ... ... \n", + "113 0.000 0.000 Electronegativity_bin_0 \n", + "114 0.000 0.000 Electronegativity_bin_0 \n", + "115 0.000 0.000 Electronegativity_bin_0 \n", + "116 0.000 0.000 Electronegativity_bin_0 \n", + "117 0.000 0.000 Electronegativity_bin_0 \n", + "\n", + " CovalentRadius_binned \n", + "0 CovalentRadius_bin_1 \n", + "1 CovalentRadius_bin_1 \n", + "2 CovalentRadius_bin_4 \n", + "3 CovalentRadius_bin_3 \n", + "4 CovalentRadius_bin_3 \n", + ".. ... \n", + "113 CovalentRadius_bin_0 \n", + "114 CovalentRadius_bin_0 \n", + "115 CovalentRadius_bin_0 \n", + "116 CovalentRadius_bin_0 \n", + "117 CovalentRadius_bin_0 \n", + "\n", + "[118 rows x 72 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mlband.features.pt" ] } ], diff --git a/adavaria/train_cgcnn3.ipynb b/adavaria/train_cgcnn3.ipynb new file mode 100644 index 00000000..d0e05ce2 --- /dev/null +++ b/adavaria/train_cgcnn3.ipynb @@ -0,0 +1,169 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from mlband.imports import *\n", + "import mlband.data\n", + "import mlband.config\n", + "import mlband.model\n", + "import mlband.features" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Preparing the config...\n" + ] + } + ], + "source": [ + "data_set_path = 'data/mp-test-2/'\n", + "results_dir = 'results/test-2/'\n", + "\n", + "print('Preparing the config...', flush=True)\n", + "config = mlband.config.Config(\n", + " data_path=data_set_path, \n", + " workers=4, \n", + " results_dir=results_dir,\n", + " original_features=True,\n", + " print_freq=1000,\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading the data from MP...\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f72a750e356046d5889a6a20c2e52239", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Retrieving SummaryDoc documents: 0%| | 0/40000 [00:00 1\u001b[0m train_loader[\u001b[39m0\u001b[39;49m]\n", - "\u001b[0;31mTypeError\u001b[0m: 'DataLoader' object is not subscriptable" - ] - } - ], - "source": [ - "train_loader" - ] - }, { "cell_type": "code", "execution_count": 3, @@ -1440,6 +1419,562 @@ "\n", "mean_absolute_error(df['target'], df['predicted'])" ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "# read json file\n", + "import json\n", + "file = 'cgcnn/data/sample-regression/atom_init.json'\n", + "with open(file) as f:\n", + " j = json.load(f)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(92,)" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.array([1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n", + " 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 1., 0., 0., 0., 0., 0., 0.,\n", + " 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0.,\n", + " 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0.,\n", + " 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0.,\n", + " 0., 0., 1., 0., 0., 0., 0.]).shape" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "import mlband.magpie\n", + "df = mlband.magpie.get_magpie_data()" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
symbolMeltingTMiracleRadiusCovalentRadiusFirstIonizationEnergyGSestFCClatcntElectronegativityDensityZungerPP-r_sDipolePolarizability...GSenergy_paHeatCapacityMolarn_ws^thirdHeatFusionZungerPP-r_dZungerPP-r_piNpValenceRowFusionEnthalpyGSbandgap
0H14.010.031.013.5984432.9798652.200.08990.0000.666793...-3.33129128.8361.500.0600.00.0000.01.00.0607.853
1He0.000.028.024.5873873.6647740.000.17850.0000.205052...0.00113520.7860.000.0000.00.0000.01.00.00018.098
2Li453.69152.0128.05.3917194.0488460.98535.00000.98524.335000...-1.86988724.8600.983.0000.00.3600.02.03.0000.000
3Be1560.00112.096.09.3227003.1601841.571848.00000.6405.600000...-3.75503916.4431.677.8950.00.2000.02.07.8950.000
4B2348.0088.084.08.2980203.0613302.042460.00000.4803.030000...-6.67769811.0871.7550.2000.00.1651.02.050.2001.524
..................................................................
113Fl0.000.00.00.0000000.0000000.000.00000.0000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
114Mc0.000.00.00.0000000.0000000.000.00000.0000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
115Lv0.000.00.00.0000000.0000000.000.00000.0000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
116Ts0.000.00.00.0000000.0000000.000.00000.0000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
117Og0.000.00.00.0000000.0000000.000.00000.0000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
\n", + "

118 rows × 66 columns

\n", + "
" + ], + "text/plain": [ + " symbol MeltingT MiracleRadius CovalentRadius FirstIonizationEnergy \\\n", + "0 H 14.01 0.0 31.0 13.598443 \n", + "1 He 0.00 0.0 28.0 24.587387 \n", + "2 Li 453.69 152.0 128.0 5.391719 \n", + "3 Be 1560.00 112.0 96.0 9.322700 \n", + "4 B 2348.00 88.0 84.0 8.298020 \n", + ".. ... ... ... ... ... \n", + "113 Fl 0.00 0.0 0.0 0.000000 \n", + "114 Mc 0.00 0.0 0.0 0.000000 \n", + "115 Lv 0.00 0.0 0.0 0.000000 \n", + "116 Ts 0.00 0.0 0.0 0.000000 \n", + "117 Og 0.00 0.0 0.0 0.000000 \n", + "\n", + " GSestFCClatcnt Electronegativity Density ZungerPP-r_s \\\n", + "0 2.979865 2.20 0.0899 0.000 \n", + "1 3.664774 0.00 0.1785 0.000 \n", + "2 4.048846 0.98 535.0000 0.985 \n", + "3 3.160184 1.57 1848.0000 0.640 \n", + "4 3.061330 2.04 2460.0000 0.480 \n", + ".. ... ... ... ... \n", + "113 0.000000 0.00 0.0000 0.000 \n", + "114 0.000000 0.00 0.0000 0.000 \n", + "115 0.000000 0.00 0.0000 0.000 \n", + "116 0.000000 0.00 0.0000 0.000 \n", + "117 0.000000 0.00 0.0000 0.000 \n", + "\n", + " DipolePolarizability ... GSenergy_pa HeatCapacityMolar n_ws^third \\\n", + "0 0.666793 ... -3.331291 28.836 1.50 \n", + "1 0.205052 ... 0.001135 20.786 0.00 \n", + "2 24.335000 ... -1.869887 24.860 0.98 \n", + "3 5.600000 ... -3.755039 16.443 1.67 \n", + "4 3.030000 ... -6.677698 11.087 1.75 \n", + ".. ... ... ... ... ... \n", + "113 0.000000 ... 0.000000 0.000 0.00 \n", + "114 0.000000 ... 0.000000 0.000 0.00 \n", + "115 0.000000 ... 0.000000 0.000 0.00 \n", + "116 0.000000 ... 0.000000 0.000 0.00 \n", + "117 0.000000 ... 0.000000 0.000 0.00 \n", + "\n", + " HeatFusion ZungerPP-r_d ZungerPP-r_pi NpValence Row FusionEnthalpy \\\n", + "0 0.060 0.0 0.000 0.0 1.0 0.060 \n", + "1 0.000 0.0 0.000 0.0 1.0 0.000 \n", + "2 3.000 0.0 0.360 0.0 2.0 3.000 \n", + "3 7.895 0.0 0.200 0.0 2.0 7.895 \n", + "4 50.200 0.0 0.165 1.0 2.0 50.200 \n", + ".. ... ... ... ... ... ... \n", + "113 0.000 0.0 0.000 0.0 0.0 0.000 \n", + "114 0.000 0.0 0.000 0.0 0.0 0.000 \n", + "115 0.000 0.0 0.000 0.0 0.0 0.000 \n", + "116 0.000 0.0 0.000 0.0 0.0 0.000 \n", + "117 0.000 0.0 0.000 0.0 0.0 0.000 \n", + "\n", + " GSbandgap \n", + "0 7.853 \n", + "1 18.098 \n", + "2 0.000 \n", + "3 0.000 \n", + "4 1.524 \n", + ".. ... \n", + "113 0.000 \n", + "114 0.000 \n", + "115 0.000 \n", + "116 0.000 \n", + "117 0.000 \n", + "\n", + "[118 rows x 66 columns]" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0,\n", + " 1,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 1,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 1,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 1,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 1,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 1,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 1,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 1,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 1,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0,\n", + " 0]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "j['1']" + ] } ], "metadata": { From c1ffa97266d0b373951a31d8fe2a8dcfa8369fff Mon Sep 17 00:00:00 2001 From: adavaria Date: Mon, 18 Dec 2023 14:47:02 -0600 Subject: [PATCH 6/8] Installation test --- .gitignore | 2 + adavaria/demo.ipynb | 540 + adavaria/images/cgcnn.png | Bin 0 -> 117570 bytes adavaria/mlband/__init__.py | 4 + adavaria/mlband/cgcnn/__init__.py | 0 adavaria/mlband/cgcnn/data.py | 352 + adavaria/mlband/cgcnn/model.py | 187 + adavaria/mlband/cgcnn/train.py | 241 + adavaria/mlband/cgcnn/utility.py | 79 + adavaria/mlband/config.py | 17 +- adavaria/mlband/data.py | 18 +- adavaria/mlband/features.py | 21 +- adavaria/mlband/magpie.py | 1 + adavaria/mlband/model.py | 124 +- adavaria/mlband/mp.py | 5 +- adavaria/mlband/plot_formatter.py | 1 - .../pretrained_model/checkpoint.pth.tar | Bin 0 -> 1009879 bytes .../pretrained_model/model_best.pth.tar | Bin 0 -> 1009879 bytes .../pretrained_model/predictions_test.csv | 4000 ++ .../pretrained_model/predictions_train.csv | 31999 ++++++++++++++++ .../pretrained_model/predictions_val.csv | 4000 ++ adavaria/mlband/utility.py | 128 +- adavaria/setup.py | 25 + adavaria/train_cgcnn2.ipynb | 21 +- adavaria/train_cgcnn3.ipynb | 317 +- adavaria/train_cgcnn4.ipynb | 389 + 26 files changed, 42351 insertions(+), 120 deletions(-) create mode 100644 adavaria/demo.ipynb create mode 100644 adavaria/images/cgcnn.png create mode 100644 adavaria/mlband/__init__.py create mode 100644 adavaria/mlband/cgcnn/__init__.py create mode 100644 adavaria/mlband/cgcnn/data.py create mode 100644 adavaria/mlband/cgcnn/model.py create mode 100644 adavaria/mlband/cgcnn/train.py create mode 100644 adavaria/mlband/cgcnn/utility.py create mode 100644 adavaria/mlband/pretrained_model/checkpoint.pth.tar create mode 100644 adavaria/mlband/pretrained_model/model_best.pth.tar create mode 100644 adavaria/mlband/pretrained_model/predictions_test.csv create mode 100644 adavaria/mlband/pretrained_model/predictions_train.csv create mode 100644 adavaria/mlband/pretrained_model/predictions_val.csv create mode 100644 adavaria/setup.py create mode 100644 adavaria/train_cgcnn4.ipynb diff --git a/.gitignore b/.gitignore index f193a60b..0f23aa63 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .idea* adavaria/mlband/__pycache__* adavaria/data* +**/*.pyc +adavaria/results/* diff --git a/adavaria/demo.ipynb b/adavaria/demo.ipynb new file mode 100644 index 00000000..8b87eb9f --- /dev/null +++ b/adavaria/demo.ipynb @@ -0,0 +1,540 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### A machine learning model for predicting band gap of materials\n", + "\n", + "Presented by: Ali Davari\n", + "\n", + "I picked Crystal Graph Convolutional Network model based on [Crystal Graph Convolutional Neural Networks for an Accurate and Interpretable Prediction of Material Properties](https://doi.org/10.1103/PhysRevLett.120.145301) paper by [Tian Xie](https://github.com/txie-93) et al. \n", + "\n", + "In CGCNN, a crystal structure is represented as a graph where nodes correspond to atoms and edges represent atomic bonds or spatial relationships. This graph-based representation captures both local and global structural information of the crystal, which is crucial for predicting material properties. The unique feature of CGCNN is its ability to process varying input sizes and structures, as each crystal can have different numbers of atoms and types of bonding. The input features to a CGCNN typically include physical properties of the atoms, such as atomic number, atomic radius, and electronegativity, which provide essential information about the nature of the atoms and their interactions. Additionally, features can also include information about the bonding environment of each atom, like bond length. These features are then processed through convolutional layers that aggregate information from neighboring nodes (atoms) and edges (bonds), allowing the network to learn complex patterns in the material's structure, which are crucial for predicting various material properties.\n", + "\n", + "![image](images/cgcnn.png)\n", + "Image [Ref.](https://doi.org/10.1103/PhysRevLett.120.145301)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Input dataset preparation:\n", + "\n", + "To prepare for defining a custom dataset, you'll need the following:\n", + "\n", + "- **CIF files** detailing the structures of the crystals of interest.\n", + "- **Target properties** for each crystal. For prediction purposes, placeholder values in `id_prop.csv` are sufficient.\n", + "\n", + "To create your custom dataset, set up a directory, `root_dir`, containing:\n", + "\n", + "- `id_prop.csv`: A CSV file with two columns. The first column should have a unique ID for each crystal, and the second column should record the value of the target property. For use with `predict.py`, any number can be placed in the second column (it's required but can be arbitrary).\n", + "\n", + "- **ID.cif**: CIF files that record the crystal structure, where `ID` corresponds to the unique ID for the crystal.\n", + "\n", + "The structure of `root_dir` should be as follows:\n", + "~~~\n", + "root_dir/\n", + "├── id_prop.csv\n", + "├── atom_init.json\n", + "├── id0.cif\n", + "├── id1.cif\n", + "├── ...\n", + "~~~\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Featerizing the elements\n", + "\n", + "Below you can see some of the available elemental features fed to the nodes through one-hot-encoding. [Magpie](https://github.com/ramv2/magpie_python) was used to collect these elemental properties. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
symbolatomic numberatomic massgroupperiodMeltingTMiracleRadiusCovalentRadiusFirstIonizationEnergyGSestFCClatcnt...GSenergy_paHeatCapacityMolarn_ws^thirdHeatFusionZungerPP-r_dZungerPP-r_piNpValenceRowFusionEnthalpyGSbandgap
0H11.0079401114.010.031.013.5984432.979865...-3.33129128.8361.500.0600.00.0000.01.00.0607.853
1He24.0026021810.000.028.024.5873873.664774...0.00113520.7860.000.0000.00.0000.01.00.00018.098
2Li36.94100012453.69152.0128.05.3917194.048846...-1.86988724.8600.983.0000.00.3600.02.03.0000.000
3Be49.012182221560.00112.096.09.3227003.160184...-3.75503916.4431.677.8950.00.2000.02.07.8950.000
4B510.8110001322348.0088.084.08.2980203.061330...-6.67769811.0871.7550.2000.00.1651.02.050.2001.524
..................................................................
113Fl114289.0000001470.000.00.00.0000000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
114Mc115290.0000001570.000.00.00.0000000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
115Lv116293.0000001670.000.00.00.0000000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
116Ts117294.0000001770.000.00.00.0000000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
117Og118294.0000001870.000.00.00.0000000.000000...0.0000000.0000.000.0000.00.0000.00.00.0000.000
\n", + "

118 rows × 70 columns

\n", + "
" + ], + "text/plain": [ + " symbol atomic number atomic mass group period MeltingT \\\n", + "0 H 1 1.007940 1 1 14.01 \n", + "1 He 2 4.002602 18 1 0.00 \n", + "2 Li 3 6.941000 1 2 453.69 \n", + "3 Be 4 9.012182 2 2 1560.00 \n", + "4 B 5 10.811000 13 2 2348.00 \n", + ".. ... ... ... ... ... ... \n", + "113 Fl 114 289.000000 14 7 0.00 \n", + "114 Mc 115 290.000000 15 7 0.00 \n", + "115 Lv 116 293.000000 16 7 0.00 \n", + "116 Ts 117 294.000000 17 7 0.00 \n", + "117 Og 118 294.000000 18 7 0.00 \n", + "\n", + " MiracleRadius CovalentRadius FirstIonizationEnergy GSestFCClatcnt \\\n", + "0 0.0 31.0 13.598443 2.979865 \n", + "1 0.0 28.0 24.587387 3.664774 \n", + "2 152.0 128.0 5.391719 4.048846 \n", + "3 112.0 96.0 9.322700 3.160184 \n", + "4 88.0 84.0 8.298020 3.061330 \n", + ".. ... ... ... ... \n", + "113 0.0 0.0 0.000000 0.000000 \n", + "114 0.0 0.0 0.000000 0.000000 \n", + "115 0.0 0.0 0.000000 0.000000 \n", + "116 0.0 0.0 0.000000 0.000000 \n", + "117 0.0 0.0 0.000000 0.000000 \n", + "\n", + " ... GSenergy_pa HeatCapacityMolar n_ws^third HeatFusion \\\n", + "0 ... -3.331291 28.836 1.50 0.060 \n", + "1 ... 0.001135 20.786 0.00 0.000 \n", + "2 ... -1.869887 24.860 0.98 3.000 \n", + "3 ... -3.755039 16.443 1.67 7.895 \n", + "4 ... -6.677698 11.087 1.75 50.200 \n", + ".. ... ... ... ... ... \n", + "113 ... 0.000000 0.000 0.00 0.000 \n", + "114 ... 0.000000 0.000 0.00 0.000 \n", + "115 ... 0.000000 0.000 0.00 0.000 \n", + "116 ... 0.000000 0.000 0.00 0.000 \n", + "117 ... 0.000000 0.000 0.00 0.000 \n", + "\n", + " ZungerPP-r_d ZungerPP-r_pi NpValence Row FusionEnthalpy GSbandgap \n", + "0 0.0 0.000 0.0 1.0 0.060 7.853 \n", + "1 0.0 0.000 0.0 1.0 0.000 18.098 \n", + "2 0.0 0.360 0.0 2.0 3.000 0.000 \n", + "3 0.0 0.200 0.0 2.0 7.895 0.000 \n", + "4 0.0 0.165 1.0 2.0 50.200 1.524 \n", + ".. ... ... ... ... ... ... \n", + "113 0.0 0.000 0.0 0.0 0.000 0.000 \n", + "114 0.0 0.000 0.0 0.0 0.000 0.000 \n", + "115 0.0 0.000 0.0 0.0 0.000 0.000 \n", + "116 0.0 0.000 0.0 0.0 0.000 0.000 \n", + "117 0.0 0.000 0.0 0.0 0.000 0.000 \n", + "\n", + "[118 rows x 70 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import mlband.features\n", + "mlband.features.pt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The selected properties when then will be one-hot-encoded to be used and the intial vector for each node." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['atomic number', 'atomic mass', 'group', 'period', 'MeltingT', 'MiracleRadius', 'CovalentRadius', 'FirstIonizationEnergy', 'GSestFCClatcnt', 'Electronegativity', 'Density', 'ZungerPP-r_s', 'DipolePolarizability', 'GSestBCClatcnt', 'LogThermalConductivity', 'NsValence', 'GSmagmom', 'Polarizability', 'NValence', 'IsAlkali', 'AtomicVolume', 'phi', 'Number', 'IsNonmetal', 'NfValence', 'HHIp', 'VdWRadius', 'HHIr', 'NpUnfilled', 'BulkModulus', 'ZungerPP-r_p', 'NsUnfilled', 'ZungerPP-r_sigma', 'ThermalConductivity', 'AtomicRadius', 'ShearModulus', 'IonizationEnergies', 'IsMetalloid', 'NfUnfilled', 'SecondIonizationEnergy', 'OxidationStates', 'IsDBlock', 'AtomicWeight', 'HeatVaporization', 'MendeleevNumber', 'GSvolume_pa', 'NUnfilled', 'IsMetal', 'ElectronAffinity', 'NdUnfilled', 'NdValence', 'MolarVolume', 'Column', 'ICSDVolume', 'IsFBlock', 'SpaceGroupNumber', 'HeatCapacityMass', 'AllenElectronegativity', 'BoilingT', 'GSenergy_pa', 'HeatCapacityMolar', 'n_ws^third', 'HeatFusion', 'ZungerPP-r_d', 'ZungerPP-r_pi', 'NpValence', 'Row', 'FusionEnthalpy', 'GSbandgap']\n" + ] + } + ], + "source": [ + "# List of available features\n", + "print(mlband.features.get_available_features())" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]\n", + "{'0': 'group_0', '1': 'group_1', '2': 'group_2', '3': 'group_3', '4': 'group_4', '5': 'group_5', '6': 'group_6', '7': 'group_7', '8': 'group_8', '9': 'group_9', '10': 'group_10', '11': 'group_11', '12': 'group_12', '13': 'group_13', '14': 'group_14', '15': 'group_15', '16': 'group_16', '17': 'group_17', '18': 'group_18', '19': 'period_1', '20': 'period_2', '21': 'period_3', '22': 'period_4', '23': 'period_5', '24': 'period_6', '25': 'period_7'}\n" + ] + } + ], + "source": [ + "# Encoded features\n", + "f, col_names = mlband.features.one_hot_encode_elements(discrete_columns=['group', 'period'])\n", + "print(f['1']) # Features for hydrogen\n", + "print(col_names)\n", + "# The first 19 columns are the one-hot encoded group, the last 7 are the one-hot encoded period\n", + "# Group number 0 was considered for rare-earth elements " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]\n", + "{'0': 'Electronegativity_bin_0', '1': 'Electronegativity_bin_1', '2': 'Electronegativity_bin_2', '3': 'Electronegativity_bin_3', '4': 'Electronegativity_bin_4', '5': 'Electronegativity_bin_5', '6': 'Electronegativity_bin_6', '7': 'Electronegativity_bin_7', '8': 'Electronegativity_bin_8', '9': 'Electronegativity_bin_9', '10': 'AtomicRadius_bin_0', '11': 'AtomicRadius_bin_1', '12': 'AtomicRadius_bin_2', '13': 'AtomicRadius_bin_3', '14': 'AtomicRadius_bin_4', '15': 'AtomicRadius_bin_5', '16': 'AtomicRadius_bin_6', '17': 'AtomicRadius_bin_7', '18': 'AtomicRadius_bin_8', '19': 'AtomicRadius_bin_9'}\n" + ] + } + ], + "source": [ + "# Example 2:\n", + "f, col_names = mlband.features.one_hot_encode_elements(continuous_columns=['Electronegativity', 'AtomicRadius'])\n", + "print(f['1']) # Features for hydrogen\n", + "print(col_names)\n", + "# 10 discrete bins was considered for each continuous feature" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cgcnn", + "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.11.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/adavaria/images/cgcnn.png b/adavaria/images/cgcnn.png new file mode 100644 index 0000000000000000000000000000000000000000..0404dbfab2ae2b5039fec4767d634a66c2b24e86 GIT binary patch literal 117570 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

RWADcTSa{n7( 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 AU;qFB literal 0 HcmV?d00001 diff --git a/adavaria/mlband/__init__.py b/adavaria/mlband/__init__.py new file mode 100644 index 00000000..8ccc7196 --- /dev/null +++ b/adavaria/mlband/__init__.py @@ -0,0 +1,4 @@ +import warnings +warnings.filterwarnings("ignore") +from . import model, data, config, main, plot_formatter, mp +from . import utility as util diff --git a/adavaria/mlband/cgcnn/__init__.py b/adavaria/mlband/cgcnn/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/adavaria/mlband/cgcnn/data.py b/adavaria/mlband/cgcnn/data.py new file mode 100644 index 00000000..85f8ccba --- /dev/null +++ b/adavaria/mlband/cgcnn/data.py @@ -0,0 +1,352 @@ +from __future__ import print_function, division + +import csv +import functools +import json +import os +import random +import warnings + +import numpy as np +import torch +from pymatgen.core.structure import Structure +from torch.utils.data import Dataset, DataLoader +from torch.utils.data.dataloader import default_collate +from torch.utils.data.sampler import SubsetRandomSampler + + +def get_train_val_test_loader(dataset, collate_fn=default_collate, + batch_size=64, train_ratio=None, + val_ratio=0.1, test_ratio=0.1, return_test=False, + num_workers=1, pin_memory=False, **kwargs): + """ + Utility function for dividing a dataset to train, val, test datasets. + + !!! The dataset needs to be shuffled before using the function !!! + + Parameters + ---------- + dataset: torch.utils.data.Dataset + The full dataset to be divided. + collate_fn: torch.utils.data.DataLoader + batch_size: int + train_ratio: float + val_ratio: float + test_ratio: float + return_test: bool + Whether to return the test dataset loader. If False, the last test_size + data will be hidden. + num_workers: int + pin_memory: bool + + Returns + ------- + train_loader: torch.utils.data.DataLoader + DataLoader that random samples the training data. + val_loader: torch.utils.data.DataLoader + DataLoader that random samples the validation data. + (test_loader): torch.utils.data.DataLoader + DataLoader that random samples the test data, returns if + return_test=True. + """ + total_size = len(dataset) + if kwargs['train_size'] is None: + if train_ratio is None: + assert val_ratio + test_ratio < 1 + train_ratio = 1 - val_ratio - test_ratio + print(f'[Warning] train_ratio is None, using 1 - val_ratio - ' + f'test_ratio = {train_ratio} as training data.') + else: + assert train_ratio + val_ratio + test_ratio <= 1 + indices = list(range(total_size)) + if kwargs['train_size']: + train_size = kwargs['train_size'] + else: + train_size = int(train_ratio * total_size) + if kwargs['test_size']: + test_size = kwargs['test_size'] + else: + test_size = int(test_ratio * total_size) + if kwargs['val_size']: + valid_size = kwargs['val_size'] + else: + valid_size = int(val_ratio * total_size) + train_sampler = SubsetRandomSampler(indices[:train_size]) + val_sampler = SubsetRandomSampler( + indices[-(valid_size + test_size):-test_size]) + if return_test: + test_sampler = SubsetRandomSampler(indices[-test_size:]) + train_loader = DataLoader(dataset, batch_size=batch_size, + sampler=train_sampler, + num_workers=num_workers, + collate_fn=collate_fn, pin_memory=pin_memory) + val_loader = DataLoader(dataset, batch_size=batch_size, + sampler=val_sampler, + num_workers=num_workers, + collate_fn=collate_fn, pin_memory=pin_memory) + if return_test: + test_loader = DataLoader(dataset, batch_size=batch_size, + sampler=test_sampler, + num_workers=num_workers, + collate_fn=collate_fn, pin_memory=pin_memory) + if return_test: + return train_loader, val_loader, test_loader + else: + return train_loader, val_loader + + +def collate_pool(dataset_list): + """ + Collate a list of data and return a batch for predicting crystal + properties. + + Parameters + ---------- + + dataset_list: list of tuples for each data point. + (atom_fea, nbr_fea, nbr_fea_idx, target) + + atom_fea: torch.Tensor shape (n_i, atom_fea_len) + nbr_fea: torch.Tensor shape (n_i, M, nbr_fea_len) + nbr_fea_idx: torch.LongTensor shape (n_i, M) + target: torch.Tensor shape (1, ) + cif_id: str or int + + Returns + ------- + N = sum(n_i); N0 = sum(i) + + batch_atom_fea: torch.Tensor shape (N, orig_atom_fea_len) + Atom features from atom type + batch_nbr_fea: torch.Tensor shape (N, M, nbr_fea_len) + Bond features of each atom's M neighbors + batch_nbr_fea_idx: torch.LongTensor shape (N, M) + Indices of M neighbors of each atom + crystal_atom_idx: list of torch.LongTensor of length N0 + Mapping from the crystal idx to atom idx + target: torch.Tensor shape (N, 1) + Target value for prediction + batch_cif_ids: list + """ + batch_atom_fea, batch_nbr_fea, batch_nbr_fea_idx = [], [], [] + crystal_atom_idx, batch_target = [], [] + batch_cif_ids = [] + base_idx = 0 + for i, ((atom_fea, nbr_fea, nbr_fea_idx), target, cif_id)\ + in enumerate(dataset_list): + n_i = atom_fea.shape[0] # number of atoms for this crystal + batch_atom_fea.append(atom_fea) + batch_nbr_fea.append(nbr_fea) + batch_nbr_fea_idx.append(nbr_fea_idx+base_idx) + new_idx = torch.LongTensor(np.arange(n_i)+base_idx) + crystal_atom_idx.append(new_idx) + batch_target.append(target) + batch_cif_ids.append(cif_id) + base_idx += n_i + return (torch.cat(batch_atom_fea, dim=0), + torch.cat(batch_nbr_fea, dim=0), + torch.cat(batch_nbr_fea_idx, dim=0), + crystal_atom_idx),\ + torch.stack(batch_target, dim=0),\ + batch_cif_ids + + +class GaussianDistance(object): + """ + Expands the distance by Gaussian basis. + + Unit: angstrom + """ + def __init__(self, dmin, dmax, step, var=None): + """ + Parameters + ---------- + + dmin: float + Minimum interatomic distance + dmax: float + Maximum interatomic distance + step: float + Step size for the Gaussian filter + """ + assert dmin < dmax + assert dmax - dmin > step + self.filter = np.arange(dmin, dmax+step, step) + if var is None: + var = step + self.var = var + + def expand(self, distances): + """ + Apply Gaussian disntance filter to a numpy distance array + + Parameters + ---------- + + distance: np.array shape n-d array + A distance matrix of any shape + + Returns + ------- + expanded_distance: shape (n+1)-d array + Expanded distance matrix with the last dimension of length + len(self.filter) + """ + return np.exp(-(distances[..., np.newaxis] - self.filter)**2 / + self.var**2) + + +class AtomInitializer(object): + """ + Base class for intializing the vector representation for atoms. + + !!! Use one AtomInitializer per dataset !!! + """ + def __init__(self, atom_types): + self.atom_types = set(atom_types) + self._embedding = {} + + def get_atom_fea(self, atom_type): + assert atom_type in self.atom_types + return self._embedding[atom_type] + + def load_state_dict(self, state_dict): + self._embedding = state_dict + self.atom_types = set(self._embedding.keys()) + self._decodedict = {idx: atom_type for atom_type, idx in + self._embedding.items()} + + def state_dict(self): + return self._embedding + + def decode(self, idx): + if not hasattr(self, '_decodedict'): + self._decodedict = {idx: atom_type for atom_type, idx in + self._embedding.items()} + return self._decodedict[idx] + + +class AtomCustomJSONInitializer(AtomInitializer): + """ + Initialize atom feature vectors using a JSON file, which is a python + dictionary mapping from element number to a list representing the + feature vector of the element. + + Parameters + ---------- + + elem_embedding_file: str + The path to the .json file + """ + def __init__(self, elem_embedding_file): + with open(elem_embedding_file) as f: + elem_embedding = json.load(f) + elem_embedding = {int(key): value for key, value + in elem_embedding.items()} + atom_types = set(elem_embedding.keys()) + super(AtomCustomJSONInitializer, self).__init__(atom_types) + for key, value in elem_embedding.items(): + self._embedding[key] = np.array(value, dtype=float) + + +class CIFData(Dataset): + """ + The CIFData dataset is a wrapper for a dataset where the crystal structures + are stored in the form of CIF files. The dataset should have the following + directory structure: + + root_dir + ├── id_prop.csv + ├── atom_init.json + ├── id0.cif + ├── id1.cif + ├── ... + + id_prop.csv: a CSV file with two columns. The first column recodes a + unique ID for each crystal, and the second column recodes the value of + target property. + + atom_init.json: a JSON file that stores the initialization vector for each + element. + + ID.cif: a CIF file that recodes the crystal structure, where ID is the + unique ID for the crystal. + + Parameters + ---------- + + root_dir: str + The path to the root directory of the dataset + max_num_nbr: int + The maximum number of neighbors while constructing the crystal graph + radius: float + The cutoff radius for searching neighbors + dmin: float + The minimum distance for constructing GaussianDistance + step: float + The step size for constructing GaussianDistance + random_seed: int + Random seed for shuffling the dataset + + Returns + ------- + + atom_fea: torch.Tensor shape (n_i, atom_fea_len) + nbr_fea: torch.Tensor shape (n_i, M, nbr_fea_len) + nbr_fea_idx: torch.LongTensor shape (n_i, M) + target: torch.Tensor shape (1, ) + cif_id: str or int + """ + def __init__(self, root_dir, max_num_nbr=12, radius=8, dmin=0, step=0.2, + random_seed=123): + self.root_dir = root_dir + self.max_num_nbr, self.radius = max_num_nbr, radius + assert os.path.exists(root_dir), f'{root_dir} does not exist!' + id_prop_file = os.path.join(self.root_dir, 'id_prop.csv') + assert os.path.exists(id_prop_file), f'id_prop.csv does not exist! ({id_prop_file})' + with open(id_prop_file) as f: + reader = csv.reader(f) + self.id_prop_data = [row for row in reader] + random.seed(random_seed) + random.shuffle(self.id_prop_data) + atom_init_file = os.path.join(self.root_dir, 'atom_init.json') + assert os.path.exists(atom_init_file), 'atom_init.json does not exist!' + self.ari = AtomCustomJSONInitializer(atom_init_file) + self.gdf = GaussianDistance(dmin=dmin, dmax=self.radius, step=step) + + def __len__(self): + return len(self.id_prop_data) + + @functools.lru_cache(maxsize=None) # Cache loaded structures + def __getitem__(self, idx): + cif_id, target = self.id_prop_data[idx] + crystal = Structure.from_file(os.path.join(self.root_dir, + cif_id+'.cif')) + atom_fea = np.vstack([self.ari.get_atom_fea(crystal[i].specie.number) + for i in range(len(crystal))]) + atom_fea = torch.Tensor(atom_fea) + all_nbrs = crystal.get_all_neighbors(self.radius, include_index=True) + all_nbrs = [sorted(nbrs, key=lambda x: x[1]) for nbrs in all_nbrs] + nbr_fea_idx, nbr_fea = [], [] + for nbr in all_nbrs: + if len(nbr) < self.max_num_nbr: + warnings.warn('{} not find enough neighbors to build graph. ' + 'If it happens frequently, consider increase ' + 'radius.'.format(cif_id)) + nbr_fea_idx.append(list(map(lambda x: x[2], nbr)) + + [0] * (self.max_num_nbr - len(nbr))) + nbr_fea.append(list(map(lambda x: x[1], nbr)) + + [self.radius + 1.] * (self.max_num_nbr - + len(nbr))) + else: + nbr_fea_idx.append(list(map(lambda x: x[2], + nbr[:self.max_num_nbr]))) + nbr_fea.append(list(map(lambda x: x[1], + nbr[:self.max_num_nbr]))) + nbr_fea_idx, nbr_fea = np.array(nbr_fea_idx), np.array(nbr_fea) + nbr_fea = self.gdf.expand(nbr_fea) + atom_fea = torch.Tensor(atom_fea) + nbr_fea = torch.Tensor(nbr_fea) + nbr_fea_idx = torch.LongTensor(nbr_fea_idx) + target = torch.Tensor([float(target)]) + return (atom_fea, nbr_fea, nbr_fea_idx), target, cif_id diff --git a/adavaria/mlband/cgcnn/model.py b/adavaria/mlband/cgcnn/model.py new file mode 100644 index 00000000..de739532 --- /dev/null +++ b/adavaria/mlband/cgcnn/model.py @@ -0,0 +1,187 @@ +from __future__ import print_function, division + +import torch +import torch.nn as nn + + +class ConvLayer(nn.Module): + """ + Convolutional operation on graphs + """ + def __init__(self, atom_fea_len, nbr_fea_len): + """ + Initialize ConvLayer. + + Parameters + ---------- + + atom_fea_len: int + Number of atom hidden features. + nbr_fea_len: int + Number of bond features. + """ + super(ConvLayer, self).__init__() + self.atom_fea_len = atom_fea_len + self.nbr_fea_len = nbr_fea_len + self.fc_full = nn.Linear(2*self.atom_fea_len+self.nbr_fea_len, + 2*self.atom_fea_len) + self.sigmoid = nn.Sigmoid() + self.softplus1 = nn.Softplus() + self.bn1 = nn.BatchNorm1d(2*self.atom_fea_len) + self.bn2 = nn.BatchNorm1d(self.atom_fea_len) + self.softplus2 = nn.Softplus() + + def forward(self, atom_in_fea, nbr_fea, nbr_fea_idx): + """ + Forward pass + + N: Total number of atoms in the batch + M: Max number of neighbors + + Parameters + ---------- + + atom_in_fea: Variable(torch.Tensor) shape (N, atom_fea_len) + Atom hidden features before convolution + nbr_fea: Variable(torch.Tensor) shape (N, M, nbr_fea_len) + Bond features of each atom's M neighbors + nbr_fea_idx: torch.LongTensor shape (N, M) + Indices of M neighbors of each atom + + Returns + ------- + + atom_out_fea: nn.Variable shape (N, atom_fea_len) + Atom hidden features after convolution + + """ + # TODO will there be problems with the index zero padding? + N, M = nbr_fea_idx.shape + # convolution + atom_nbr_fea = atom_in_fea[nbr_fea_idx, :] + total_nbr_fea = torch.cat( + [atom_in_fea.unsqueeze(1).expand(N, M, self.atom_fea_len), + atom_nbr_fea, nbr_fea], dim=2) + total_gated_fea = self.fc_full(total_nbr_fea) + total_gated_fea = self.bn1(total_gated_fea.view( + -1, self.atom_fea_len*2)).view(N, M, self.atom_fea_len*2) + nbr_filter, nbr_core = total_gated_fea.chunk(2, dim=2) + nbr_filter = self.sigmoid(nbr_filter) + nbr_core = self.softplus1(nbr_core) + nbr_sumed = torch.sum(nbr_filter * nbr_core, dim=1) + nbr_sumed = self.bn2(nbr_sumed) + out = self.softplus2(atom_in_fea + nbr_sumed) + return out + + +class CrystalGraphConvNet(nn.Module): + """ + Create a crystal graph convolutional neural network for predicting total + material properties. + """ + def __init__(self, orig_atom_fea_len, nbr_fea_len, + atom_fea_len=64, n_conv=3, h_fea_len=128, n_h=1, + classification=False): + """ + Initialize CrystalGraphConvNet. + + Parameters + ---------- + + orig_atom_fea_len: int + Number of atom features in the input. + nbr_fea_len: int + Number of bond features. + atom_fea_len: int + Number of hidden atom features in the convolutional layers + n_conv: int + Number of convolutional layers + h_fea_len: int + Number of hidden features after pooling + n_h: int + Number of hidden layers after pooling + """ + super(CrystalGraphConvNet, self).__init__() + self.classification = classification + self.embedding = nn.Linear(orig_atom_fea_len, atom_fea_len) + self.convs = nn.ModuleList([ConvLayer(atom_fea_len=atom_fea_len, + nbr_fea_len=nbr_fea_len) + for _ in range(n_conv)]) + self.conv_to_fc = nn.Linear(atom_fea_len, h_fea_len) + self.conv_to_fc_softplus = nn.Softplus() + if n_h > 1: + self.fcs = nn.ModuleList([nn.Linear(h_fea_len, h_fea_len) + for _ in range(n_h-1)]) + self.softpluses = nn.ModuleList([nn.Softplus() + for _ in range(n_h-1)]) + if self.classification: + self.fc_out = nn.Linear(h_fea_len, 2) + else: + self.fc_out = nn.Linear(h_fea_len, 1) + if self.classification: + self.logsoftmax = nn.LogSoftmax(dim=1) + self.dropout = nn.Dropout() + + def forward(self, atom_fea, nbr_fea, nbr_fea_idx, crystal_atom_idx): + """ + Forward pass + + N: Total number of atoms in the batch + M: Max number of neighbors + N0: Total number of crystals in the batch + + Parameters + ---------- + + atom_fea: Variable(torch.Tensor) shape (N, orig_atom_fea_len) + Atom features from atom type + nbr_fea: Variable(torch.Tensor) shape (N, M, nbr_fea_len) + Bond features of each atom's M neighbors + nbr_fea_idx: torch.LongTensor shape (N, M) + Indices of M neighbors of each atom + crystal_atom_idx: list of torch.LongTensor of length N0 + Mapping from the crystal idx to atom idx + + Returns + ------- + + prediction: nn.Variable shape (N, ) + Atom hidden features after convolution + + """ + atom_fea = self.embedding(atom_fea) + for conv_func in self.convs: + atom_fea = conv_func(atom_fea, nbr_fea, nbr_fea_idx) + crys_fea = self.pooling(atom_fea, crystal_atom_idx) + crys_fea = self.conv_to_fc(self.conv_to_fc_softplus(crys_fea)) + crys_fea = self.conv_to_fc_softplus(crys_fea) + if self.classification: + crys_fea = self.dropout(crys_fea) + if hasattr(self, 'fcs') and hasattr(self, 'softpluses'): + for fc, softplus in zip(self.fcs, self.softpluses): + crys_fea = softplus(fc(crys_fea)) + out = self.fc_out(crys_fea) + if self.classification: + out = self.logsoftmax(out) + return out + + def pooling(self, atom_fea, crystal_atom_idx): + """ + Pooling the atom features to crystal features + + N: Total number of atoms in the batch + N0: Total number of crystals in the batch + + Parameters + ---------- + + atom_fea: Variable(torch.Tensor) shape (N, atom_fea_len) + Atom feature vectors of the batch + crystal_atom_idx: list of torch.LongTensor of length N0 + Mapping from the crystal idx to atom idx + """ + assert sum([len(idx_map) for idx_map in crystal_atom_idx]) ==\ + atom_fea.data.shape[0] + summed_fea = [torch.mean(atom_fea[idx_map], dim=0, keepdim=True) + for idx_map in crystal_atom_idx] + return torch.cat(summed_fea, dim=0) diff --git a/adavaria/mlband/cgcnn/train.py b/adavaria/mlband/cgcnn/train.py new file mode 100644 index 00000000..9ff28fff --- /dev/null +++ b/adavaria/mlband/cgcnn/train.py @@ -0,0 +1,241 @@ +from .utility import AverageMeter, mae, class_eval +from torch.autograd import Variable +import time +import torch + + +def train_epoch(args, train_loader, model, criterion, optimizer, epoch, normalizer): + batch_time = AverageMeter() + data_time = AverageMeter() + losses = AverageMeter() + if args.task == 'regression': + mae_errors = AverageMeter() + else: + accuracies = AverageMeter() + precisions = AverageMeter() + recalls = AverageMeter() + fscores = AverageMeter() + auc_scores = AverageMeter() + + # switch to train mode + model.train() + + end = time.time() + for i, (input, target, _) in enumerate(train_loader): + # measure data loading time + data_time.update(time.time() - end) + + if args.cuda: + input_var = (Variable(input[0].cuda(non_blocking=True)), + Variable(input[1].cuda(non_blocking=True)), + input[2].cuda(non_blocking=True), + [crys_idx.cuda(non_blocking=True) for crys_idx in input[3]]) + else: + input_var = (Variable(input[0]), + Variable(input[1]), + input[2], + input[3]) + # normalize target + if args.task == 'regression': + target_normed = normalizer.norm(target) + else: + target_normed = target.view(-1).long() + if args.cuda: + target_var = Variable(target_normed.cuda(non_blocking=True)) + else: + target_var = Variable(target_normed) + + # compute output + output = model(*input_var) + loss = criterion(output, target_var) + + # measure accuracy and record loss + if args.task == 'regression': + mae_error = mae(normalizer.denorm(output.data.cpu()), target) + losses.update(loss.data.cpu(), target.size(0)) + mae_errors.update(mae_error, target.size(0)) + else: + accuracy, precision, recall, fscore, auc_score = \ + class_eval(output.data.cpu(), target) + losses.update(loss.data.cpu().item(), target.size(0)) + accuracies.update(accuracy, target.size(0)) + precisions.update(precision, target.size(0)) + recalls.update(recall, target.size(0)) + fscores.update(fscore, target.size(0)) + auc_scores.update(auc_score, target.size(0)) + + # compute gradient and do SGD step + optimizer.zero_grad() + loss.backward() + optimizer.step() + + # measure elapsed time + batch_time.update(time.time() - end) + end = time.time() + + if i % args.print_freq == 0: + if args.task == 'regression': + print('Epoch: [{0}][{1}/{2}]\t' + 'Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t' + 'Data {data_time.val:.3f} ({data_time.avg:.3f})\t' + 'Loss {loss.val:.4f} ({loss.avg:.4f})\t' + 'MAE {mae_errors.val:.3f} ({mae_errors.avg:.3f})'.format( + epoch, i, len(train_loader), batch_time=batch_time, + data_time=data_time, loss=losses, mae_errors=mae_errors) + ) + else: + print('Epoch: [{0}][{1}/{2}]\t' + 'Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t' + 'Data {data_time.val:.3f} ({data_time.avg:.3f})\t' + 'Loss {loss.val:.4f} ({loss.avg:.4f})\t' + 'Accu {accu.val:.3f} ({accu.avg:.3f})\t' + 'Precision {prec.val:.3f} ({prec.avg:.3f})\t' + 'Recall {recall.val:.3f} ({recall.avg:.3f})\t' + 'F1 {f1.val:.3f} ({f1.avg:.3f})\t' + 'AUC {auc.val:.3f} ({auc.avg:.3f})'.format( + epoch, i, len(train_loader), batch_time=batch_time, + data_time=data_time, loss=losses, accu=accuracies, + prec=precisions, recall=recalls, f1=fscores, + auc=auc_scores) + ) + + +def validate(args, val_loader, model, criterion, normalizer, test=False): + batch_time = AverageMeter() + losses = AverageMeter() + if args.task == 'regression': + mae_errors = AverageMeter() + else: + accuracies = AverageMeter() + precisions = AverageMeter() + recalls = AverageMeter() + fscores = AverageMeter() + auc_scores = AverageMeter() + if test: + test_targets = [] + test_preds = [] + test_cif_ids = [] + + # switch to evaluate mode + model.eval() + + end = time.time() + for i, (input, target, batch_cif_ids) in enumerate(val_loader): + if args.cuda: + with torch.no_grad(): + input_var = (Variable(input[0].cuda(non_blocking=True)), + Variable(input[1].cuda(non_blocking=True)), + input[2].cuda(non_blocking=True), + [crys_idx.cuda(non_blocking=True) for crys_idx in input[3]]) + else: + with torch.no_grad(): + input_var = (Variable(input[0]), + Variable(input[1]), + input[2], + input[3]) + if args.task == 'regression': + target_normed = normalizer.norm(target) + else: + target_normed = target.view(-1).long() + if args.cuda: + with torch.no_grad(): + target_var = Variable(target_normed.cuda(non_blocking=True)) + else: + with torch.no_grad(): + target_var = Variable(target_normed) + + # compute output + output = model(*input_var) + loss = criterion(output, target_var) + + # measure accuracy and record loss + if args.task == 'regression': + mae_error = mae(normalizer.denorm(output.data.cpu()), target) + losses.update(loss.data.cpu().item(), target.size(0)) + mae_errors.update(mae_error, target.size(0)) + if test: + test_pred = normalizer.denorm(output.data.cpu()) + test_target = target + test_preds += test_pred.view(-1).tolist() + test_targets += test_target.view(-1).tolist() + test_cif_ids += batch_cif_ids + else: + accuracy, precision, recall, fscore, auc_score = \ + class_eval(output.data.cpu(), target) + losses.update(loss.data.cpu().item(), target.size(0)) + accuracies.update(accuracy, target.size(0)) + precisions.update(precision, target.size(0)) + recalls.update(recall, target.size(0)) + fscores.update(fscore, target.size(0)) + auc_scores.update(auc_score, target.size(0)) + if test: + test_pred = torch.exp(output.data.cpu()) + test_target = target + assert test_pred.shape[1] == 2 + test_preds += test_pred[:, 1].tolist() + test_targets += test_target.view(-1).tolist() + test_cif_ids += batch_cif_ids + + # measure elapsed time + batch_time.update(time.time() - end) + end = time.time() + + if i % args.print_freq == 0: + if args.task == 'regression': + print('Test: [{0}/{1}]\t' + 'Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t' + 'Loss {loss.val:.4f} ({loss.avg:.4f})\t' + 'MAE {mae_errors.val:.3f} ({mae_errors.avg:.3f})'.format( + i, len(val_loader), batch_time=batch_time, loss=losses, + mae_errors=mae_errors)) + else: + print('Test: [{0}/{1}]\t' + 'Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t' + 'Loss {loss.val:.4f} ({loss.avg:.4f})\t' + 'Accu {accu.val:.3f} ({accu.avg:.3f})\t' + 'Precision {prec.val:.3f} ({prec.avg:.3f})\t' + 'Recall {recall.val:.3f} ({recall.avg:.3f})\t' + 'F1 {f1.val:.3f} ({f1.avg:.3f})\t' + 'AUC {auc.val:.3f} ({auc.avg:.3f})'.format( + i, len(val_loader), batch_time=batch_time, loss=losses, + accu=accuracies, prec=precisions, recall=recalls, + f1=fscores, auc=auc_scores)) + + if test: + star_label = '**' + # import csv + # with open('test_results.csv', 'w') as f: + # writer = csv.writer(f) + # for cif_id, target, pred in zip(test_cif_ids, test_targets, + # test_preds): + # writer.writerow((cif_id, target, pred)) + else: + star_label = '*' + if args.task == 'regression': + print(' {star} MAE {mae_errors.avg:.3f}'.format(star=star_label, + mae_errors=mae_errors)) + return mae_errors.avg + else: + print(' {star} AUC {auc.avg:.3f}'.format(star=star_label, + auc=auc_scores)) + return auc_scores.avg + + +def save_checkpoint(state, is_best, filename='checkpoint.pth.tar', cd=None): + """Saves checkpoint to disk. Optionally changes directory before saving.""" + import os + import shutil + original_dir = os.getcwd() # Save the current working directory + + if cd: + os.chdir(cd) # Change to the new directory + + try: + # Save the state + torch.save(state, filename) + + if is_best: + shutil.copyfile(filename, 'model_best.pth.tar') + finally: + os.chdir(original_dir) # Change back to the original directory + diff --git a/adavaria/mlband/cgcnn/utility.py b/adavaria/mlband/cgcnn/utility.py new file mode 100644 index 00000000..14e0a5e5 --- /dev/null +++ b/adavaria/mlband/cgcnn/utility.py @@ -0,0 +1,79 @@ +import torch +import numpy as np +from sklearn import metrics + + + +class Normalizer(object): + """ + Normalize a Tensor and restore it later. + Taken from: https://github.com/txie-93/cgcnn + """ + + def __init__(self, tensor=torch.zeros(3)): + """tensor is taken as a sample to calculate the mean and std""" + self.mean = torch.mean(tensor) + self.std = torch.std(tensor) + + def norm(self, tensor): + """Normalize a tensor""" + return (tensor - self.mean) / self.std + + def denorm(self, normed_tensor): + """Denormalize a normalized tensor""" + return normed_tensor * self.std + self.mean + + def state_dict(self): + """Returns a dictionary containing a whole state of the module.""" + return {'mean': self.mean, + 'std': self.std} + + def load_state_dict(self, state_dict): + """Loads a state dict.""" + self.mean = state_dict['mean'] + self.std = state_dict['std'] + return self + + +class AverageMeter(object): + """ + Computes and stores the average and current value. + Taken from: https://github.com/txie-93/cgcnn + """ + + def __init__(self): + self.reset() + + def reset(self): + self.val = 0 + self.avg = 0 + self.sum = 0 + self.count = 0 + + def update(self, val, n=1): + self.val = val + self.sum += val * n + self.count += n + self.avg = self.sum / self.count + +def class_eval(prediction, target): + prediction = np.exp(prediction.numpy()) + target = target.numpy() + pred_label = np.argmax(prediction, axis=1) + target_label = np.squeeze(target) + if not target_label.shape: + target_label = np.asarray([target_label]) + if prediction.shape[1] == 2: + precision, recall, fscore, _ = metrics.precision_recall_fscore_support( + target_label, pred_label, average='binary') + auc_score = metrics.roc_auc_score(target_label, prediction[:, 1]) + accuracy = metrics.accuracy_score(target_label, pred_label) + else: + raise NotImplementedError + return accuracy, precision, recall, fscore, auc_score + +def mae(prediction, target): + return torch.mean(torch.abs(target - prediction)) + +def mse(prediction, target): + return torch.mean((target - prediction)**2) \ No newline at end of file diff --git a/adavaria/mlband/config.py b/adavaria/mlband/config.py index 00e89bcb..872975bb 100644 --- a/adavaria/mlband/config.py +++ b/adavaria/mlband/config.py @@ -1,19 +1,21 @@ import torch -import os +# import os from pathlib import Path +import warnings class Config: - def __init__(self, data_path, disable_cuda=True, workers=0, epochs=30, - batch_size=64, learning_rate=0.01, lr_milestones=None, momentum=0.9, - weight_decay=0, print_freq=10, resume='', train_ratio=None, - train_size=None, val_ratio=0.1, val_size=None, test_ratio=0.1, - test_size=None, optim='Adam', atom_fea_len=64, h_fea_len=128, + def __init__(self, data_path, disable_cuda=True, workers=0, epochs=30, + batch_size=64, learning_rate=0.01, lr_milestones=None, momentum=0.9, + weight_decay=0, print_freq=10, resume='', train_ratio=None, + train_size=None, val_ratio=0.1, val_size=None, test_ratio=0.1, + test_size=None, optim='Adam', atom_fea_len=64, h_fea_len=128, n_conv=3, n_h=1, task='regression', results_dir='./results', original_features=False, discrete_columns=None, continuous_columns=None, + start_epoch=0, ): """ data_path: str (path to data), e.g. './data/mp/' @@ -39,6 +41,7 @@ def __init__(self, data_path, disable_cuda=True, workers=0, epochs=30, n_conv: int (number of convolutional layers), default: 3 n_h: int (number of hidden layers), default: 1 task: str (regression or classification), default: regression + start_epoch: int (start epoch for training), default: 0 results_dir: str (path to save results), default: './results' """ @@ -75,6 +78,8 @@ def __init__(self, data_path, disable_cuda=True, workers=0, epochs=30, self.original_features = original_features self.discrete_columns = discrete_columns self.continuous_columns = continuous_columns + self.start_epoch = start_epoch + def generate_args(self, absolute_path=True): # args = [self.data_path] diff --git a/adavaria/mlband/data.py b/adavaria/mlband/data.py index 023945cb..465e01de 100644 --- a/adavaria/mlband/data.py +++ b/adavaria/mlband/data.py @@ -1,3 +1,5 @@ +import numpy as np + import mlband.mp as MP from pathlib import Path import pandas as pd @@ -5,8 +7,8 @@ # elem_embedding_file='cgcnn/data/sample-regression/atom_init.json' -def get_list_of_materials(filter=True, num_chunks=1): - fields=['material_id', 'composition', 'band_gap', 'structure'] +def get_list_of_materials(filter_data=True, num_chunks=1): + fields = ['material_id', 'composition', 'band_gap', 'structure'] data = MP.mpr.materials.summary.search( # chemsys="Si-O", fields=fields, @@ -20,16 +22,16 @@ def get_list_of_materials(filter=True, num_chunks=1): 'structure': [doc.structure for doc in data], }) # df = df[fields] - - if filter: + + if filter_data: # Checking the missing values ind = ~(df['band_gap'] >= 0) - print('Number of missing values: ', ind.sum()) + print('Number of missing values: ', np.sum(ind)) # Drop the missing values df = df.loc[~ind, :] # Reset the index df.reset_index(drop=True, inplace=True) - + return df, data @@ -45,14 +47,14 @@ def create_dataset(df, path='data/cif_files'): writer = MP.CifWriter(structure) writer.write_file(filename) # print(f'Crystal structure {i+1} of {len(df)} written to {filename}.') - + df[['material_id', 'band_gap']].to_csv(path / 'id_prop.csv', index=False, header=False) # import shutil # shutil.copy(elem_embedding_file, path / 'atom_init.json') def get_data_loaders(args): - from cgcnn.data import CIFData, collate_pool, get_train_val_test_loader + from .cgcnn.data import CIFData, collate_pool, get_train_val_test_loader dataset = CIFData(args.data_path) collate_fn = collate_pool train_loader, val_loader, test_loader = get_train_val_test_loader( diff --git a/adavaria/mlband/features.py b/adavaria/mlband/features.py index 78b914cb..c53f008f 100644 --- a/adavaria/mlband/features.py +++ b/adavaria/mlband/features.py @@ -1,15 +1,17 @@ from .imports import * from . import magpie - pt = magpie.get_magpie_data() + def one_hot_encode_elements(config=None, discrete_columns=None, continuous_columns=None, n_bins=10, filename=None): """ One-hot encodes the elements. To get the list of available features, use the get_available_features() function. Parameters ---------- + config : Config + The configuration object. discrete_columns : list of str A list of column names that contain discrete values. continuous_columns : list of str @@ -25,7 +27,7 @@ def one_hot_encode_elements(config=None, discrete_columns=None, continuous_colum import shutil shutil.copy('mlband/atom_init.json', config.data_path) return - filename = config.data_path/'atom_init.json' + filename = config.data_path / 'atom_init.json' discrete_columns = config.discrete_columns continuous_columns = config.continuous_columns @@ -33,25 +35,25 @@ def one_hot_encode_elements(config=None, discrete_columns=None, continuous_colum discrete_columns = [] if continuous_columns is None: continuous_columns = [] - + encoded_df = pd.DataFrame() - + # One-hot encode discrete variables for col in discrete_columns: encoded_df = pd.concat([encoded_df, pd.get_dummies(df[col], prefix=col)], axis=1) - + # Bin and one-hot encode continuous variables for col in continuous_columns: bin_labels = [f"{col}_bin_{i}" for i in range(n_bins)] df[col + '_binned'] = pd.cut(df[col], bins=n_bins, labels=bin_labels) encoded_df = pd.concat([encoded_df, pd.get_dummies(df[col + '_binned'])], axis=1) - + # Create a dictionary with atomic numbers as keys and one-hot encoded features as values - element_encoding = {str(row['atomic number']): encoded_df.iloc[idx].tolist() + element_encoding = {str(row['atomic number']): encoded_df.iloc[idx].tolist() for idx, row in df.iterrows()} # Converting T/F to 1/0 element_encoding = {key: [int(i) for i in value] for key, value in element_encoding.items()} - + # Create a dictionary for feature names feature_names = {str(i): name for i, name in enumerate(encoded_df.columns)} @@ -60,7 +62,7 @@ def one_hot_encode_elements(config=None, discrete_columns=None, continuous_colum # Save the one-hot encoding dictionary as JSON with open(filename, 'w') as json_file: json.dump(element_encoding, json_file) - + return element_encoding, feature_names @@ -73,4 +75,3 @@ def get_available_features(): if __name__ == '__main__': print(get_available_features()) - \ No newline at end of file diff --git a/adavaria/mlband/magpie.py b/adavaria/mlband/magpie.py index 5aa724e4..afcc362e 100644 --- a/adavaria/mlband/magpie.py +++ b/adavaria/mlband/magpie.py @@ -1,5 +1,6 @@ from .imports import * + # Data table: https://github.com/ramv2/magpie_python/tree/master/lookup-data diff --git a/adavaria/mlband/model.py b/adavaria/mlband/model.py index 3f18f3d1..8236c37c 100644 --- a/adavaria/mlband/model.py +++ b/adavaria/mlband/model.py @@ -6,15 +6,19 @@ from . import utility -cgcnn_path = Path('./cgcnn/').absolute().__str__() -if cgcnn_path not in sys.path: - sys.path.append(cgcnn_path) +# cgcnn_path = Path('./cgcnn/').absolute().__str__() +# if cgcnn_path not in sys.path: +# sys.path.append(cgcnn_path) -def train(config, ignore_warnings=True): + +def train_by_original_code(config, ignore_warnings=True): """ Training the model. Usage example: config = Config(epochs=50, learning_rate=0.005, batch_size=128) train(config) + + When using this function, cgccn must be cloned in the parent directory of mlband. + git clone https://github.com/txie-93/cgcnn.git """ print('Training the model...') results_dir = config.results_dir @@ -26,7 +30,7 @@ def train(config, ignore_warnings=True): if cgcnn_path not in sys.path: sys.path.append(cgcnn_path) - #ignore warnings + # ignore warnings if ignore_warnings: os.environ['PYTHONWARNINGS'] = "ignore" @@ -57,16 +61,74 @@ def train(config, ignore_warnings=True): print('Training and test evaluation completed!') -def get_cgcnn_model(args, - orig_atom_fea_len=None, +def train(config, ignore_warnings=True): + """ + Training the model. Usage example: + config = Config(epochs=50, learning_rate=0.005, batch_size=128) + train(config) + """ + print('Training the model...') + args = config + results_dir = config.results_dir + Path(results_dir).mkdir(parents=True, exist_ok=True) + + if args.task == 'regression': + best_mae_error = 1e10 + else: + best_mae_error = 0. + + train_loader, val_loader, test_loader = mlband.data.get_data_loaders(config) + normalizer = get_normalizer(config) + model = get_cgcnn_model(config) + criterion = nn.MSELoss() + optimizer = get_optimizer(config, model) + from torch.optim.lr_scheduler import MultiStepLR + scheduler = MultiStepLR(optimizer, milestones=args.lr_milestones, + gamma=0.1) + # Train the model + for epoch in range(args.start_epoch, args.epochs): + from .cgcnn.train import train_epoch, validate, save_checkpoint + # train for one epoch + train_epoch(config, train_loader, model, criterion, optimizer, epoch, normalizer) + + # evaluate on validation set + mae_error = validate(config, val_loader, model, criterion, normalizer) + + if mae_error != mae_error: + print('Exit due to NaN') + sys.exit(1) + + scheduler.step() + + # remember the best mae_eror and save checkpoint + if args.task == 'regression': + is_best = mae_error < best_mae_error + best_mae_error = min(mae_error, best_mae_error) + else: + is_best = mae_error > best_mae_error + best_mae_error = max(mae_error, best_mae_error) + save_checkpoint({ + 'epoch': epoch + 1, + 'state_dict': model.state_dict(), + 'best_mae_error': best_mae_error, + 'optimizer': optimizer.state_dict(), + 'normalizer': normalizer.state_dict(), + 'args': vars(args) + }, is_best, cd=results_dir) + + print('Training and test evaluation completed!') + + +def get_cgcnn_model(args, + orig_atom_fea_len=None, nbr_fea_len=None, atom_fea_len=None, n_conv=None, h_fea_len=None, n_h=None, ): - from cgcnn.data import CIFData - from cgcnn.model import CrystalGraphConvNet + from .cgcnn.data import CIFData + from .cgcnn.model import CrystalGraphConvNet if orig_atom_fea_len is None or nbr_fea_len is None: dataset = CIFData(args.data_path) @@ -86,12 +148,33 @@ def get_cgcnn_model(args, return model +def get_normalizer(config, ignore_warnings=True): + from .cgcnn.data import CIFData, collate_pool + from .cgcnn.utility import Normalizer + from random import sample + + dataset = CIFData(config.data_path) + + with utility.mute_warnings(enabled=ignore_warnings): + if len(dataset) < 500: + warnings.warn('Dataset has less than 500 data points. ' + 'Lower accuracy is expected. ') + sample_data_list = [dataset[i] for i in range(len(dataset))] + else: + sample_data_list = [dataset[i] for i in + sample(range(len(dataset)), 500)] + _, sample_target, _ = collate_pool(sample_data_list) + normalizer = Normalizer(sample_target) + return normalizer + + def load_model(config): + from .cgcnn.utility import Normalizer # Load the model - best_checkpoint = torch.load(config.results_dir/'model_best.pth.tar') + best_checkpoint = torch.load(config.results_dir / 'model_best.pth.tar') model = get_cgcnn_model(config) model.load_state_dict(best_checkpoint['state_dict']) - normalizer = utility.Normalizer(torch.zeros(3)) + normalizer = Normalizer(torch.zeros(3)) normalizer.load_state_dict(best_checkpoint['normalizer']) return model, normalizer @@ -108,7 +191,7 @@ def evaluate_model(config): # normalizer.load_state_dict(best_checkpoint['normalizer']) # # criterion = nn.MSELoss() model, normalizer = load_model(config) - + # Evaluate the model for loader, name in zip([train_loader, val_loader, test_loader], ['train', 'val', 'test']): print('Evaluating the {} set...'.format(name)) @@ -117,7 +200,9 @@ def evaluate_model(config): # print mse import sklearn.metrics mse = sklearn.metrics.mean_squared_error(df['True_Label'], df['Prediction']) + mae = sklearn.metrics.mean_absolute_error(df['True_Label'], df['Prediction']) print(f'MSE for {name} set: {mse:.4f}') + print(f'MAE for {name} set: {mae:.4f}') def predict_model(loader, model, normalizer, output_filename, mute_warnings=True): @@ -127,9 +212,9 @@ def predict_model(loader, model, normalizer, output_filename, mute_warnings=True ids = [] with torch.no_grad(), utility.mute_warnings(enabled=mute_warnings): - for i, (input, labels, batch_ids) in enumerate(loader): + for i, (inp, labels, batch_ids) in enumerate(loader): # Assuming your model and data are on the same device (CPU or CUDA) - input_var = (input[0], input[1], input[2], input[3]) + input_var = (inp[0], inp[1], inp[2], inp[3]) # Compute output output = model(*input_var) @@ -158,14 +243,13 @@ def get_optimizer(config, model): import torch.optim as optim args = config if args.optim == 'SGD': - optimizer = optim.SGD(model.parameters(), args.lr, + optimizer = optim.SGD(model.parameters(), args.learning_rate, momentum=args.momentum, weight_decay=args.weight_decay) elif args.optim == 'Adam': - optimizer = optim.Adam(model.parameters(), args.lr, + optimizer = optim.Adam(model.parameters(), args.learning_rate, weight_decay=args.weight_decay) - - return optimizer - - + else: + raise NotImplementedError + return optimizer diff --git a/adavaria/mlband/mp.py b/adavaria/mlband/mp.py index 71b49672..f5e1e3fb 100644 --- a/adavaria/mlband/mp.py +++ b/adavaria/mlband/mp.py @@ -8,16 +8,17 @@ def get_mp_api_connector(): api_key = 'pJmFwIk6qWCnMwEuGvzwLBT1qfdPpElH' return MPRester(api_key) + mpr = None -try: +try: mpr = get_mp_api_connector() except: warnings.warn('Could not connect to MP API.') pass + def mp_summary_to_df(data, drop_fields_not_requested=True): df = pd.DataFrame([doc.dict() for doc in data]) if drop_fields_not_requested: df.drop(columns=['fields_not_requested'], inplace=True) return df - diff --git a/adavaria/mlband/plot_formatter.py b/adavaria/mlband/plot_formatter.py index f2973f5c..a94e4d44 100644 --- a/adavaria/mlband/plot_formatter.py +++ b/adavaria/mlband/plot_formatter.py @@ -4,7 +4,6 @@ # import seaborn as sns import pandas as pd - # Defining all the parameters for the plots font_size = 9 golden_ratio = (5 ** .5 - 1) / 2 diff --git a/adavaria/mlband/pretrained_model/checkpoint.pth.tar b/adavaria/mlband/pretrained_model/checkpoint.pth.tar new file mode 100644 index 0000000000000000000000000000000000000000..f802c0b0ebaf9c120d60f250220bdcad0fa12438 GIT binary patch literal 1009879 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 PLC%A@f}26LaP<@q!FNXsf#F(nL7puk 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 z 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

  • 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%0AGOKBwLcZ; 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 z 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%0A= z^|m+YqGdiZ%b$e9Hi{uUZ9ZFc;Jh%`&lK&Hy^BBi=fJ^$U{-7YME^@q26e^Riyq#T z6NUXXM)O0)xdSt#DNCuNsKDU>5Iek`af}ednc07U+mUN9baFBIUO7(alU$EIJF}svTU1;Ro{hV+WYa+y#eH)=sm#e>fHhmThAna@8!}i&PJC?%xnBTAJi)v8Z=eb9T1v-5@+vBEIN-(mth|_^`Tk9 zSnT8a97!i-0we8OaI4G{bc$9XmE^^obYvG-G((pPa;T*~^j-o(r9L2kqb&C3p9PLB z8{wW4)8L|pzu=nGG&n}fgOsBhMC_kL{vXuDcgvVh7#%;!{}u1T_Y9UL#MUJ6m(>?8 z;2C$BEB-nnD2zl+J9|n5dW|!L-&%gcH(yWT0nw0yv-c{Ty$Pesk7G z0EVnoP^_ILe3bC!}?~I!R3~v zPWtF?|1awOA!*Qe`n~1r$&=8_1NZ6YD$h{lu0iytKa10ejt~{@Tn4rrnNPOT(rK;4f_+mR8UP6o2kPz9S#Z>H9fCI-@ebs zv)7D+C1yv+>Kc0@>~$l1WsxZqGd)6kE#HY2IUOQX%C{3w!;;x7&m}^u+dJ|3U-|58 zkNbG@-6O2Qi*U4Uob1V@P+g;xJtO3 zuc8M=N|8@xI~P9rDx+bei5E?FM_)pZGn3{%!1JIh+4Oo1)zKP{PL_!yoRb)H`?U0HS7Sh1R03-qDYs=q<=;@ z+ANxl9~MZ{aeR9;uAo4Ev&kp4D_Yoo%~BAtOpI$QoQs@AojB)g1!_3FlKOpR7rqm< zh?SEZp$juNaJ!zmlT(golLF6D_LyQKj`ljmf0lOxcZW|xS9Y9d%#}}Lue;Wi>-#4B zHRLd7E&*6Gr&(NW$tWzEkqSqynBuP)(wt#@40-oe3i<8Ac`jCjFPC{$+yG0*Q>adxr4-dRgL67!%H8iKfT?UeiVTKaAKA@p3VWgTBw^L@mVCYa4*%JNrdl9&njBU47Y5IV+%&m-`2FKO zR_n-Yd=#qk9p_7<4bzp#4yDCxgpDG5)MX`K?D=tY;(0tyJawG7<#dNNVG{%jOCF$~ zd|T9gwh6hNPX&IC2GDF>q40UtM2@pt7v(XPT=%NdSj#f1&c;!ri@jcE z?(4nGee0wI7MHg%<7WHVa~Ct%-^=c@DyL?UdpyUE1`>KDh( zsGotcu?W$rN+@V^JL%pc0jv|$z}K4H=7Yp%H2bWXBB;E7Ytoe#CLm@>50d}()?`PE@bRC-ei z`+43H86L`qRZla4ePW>~wKD?brte3q$F#VwgCy#+quG*BEn;(T1PIzAV8w#oQ z!D+;5YTD%{W^v0$;CpF1wmCaO1-$DODEV{|$1ekNbJRgnXf=)`Yyw4QVhTVlbv;n& zo`hy>w&gy3tb(^ZvxvnDzks;8XStRQ8RXxjW7uw60UL8!4H{MdWA&y+!lEiEvel1!eTu(t{Mr8j~V!K=BEm+DA{lH(rF`^Jwu`_n31iN?DIzi8h^4_3)~()DH0Sg@^3BLjsxfFfc_+>fum2rHso_)P-ycET z7FA2o@ZArcJ=KN_s^Wm9`#2+XDJBA*iQr*97Z%v*z{;&Hu*}km;%Sp)-;7Rh3h_Z> z;{|HbVN*Q6K#{nru!Rg1&m*>|M}bFWr|^K}6d;h)z(-%2leXeoVAMd9>XBqg?%X|Y z{r6~?b`XHKWi@P?ODSWLG@ZIZhqL{C71(Hx9GJ|!=2Z!3n7a5d6;nHjT-0#^o?82Y ziI~#F%~OP&jAlJ?{OKo9db6L5R$9kLvGd5dOL8JV${j|0o*`oUCCLBQo`7*P2yV`s zG-7kn1>9p~LtJa&YPbD}I;SYvDsT<2V6JASGOEoo@W{$sxc2NR7_{p+{Al9_56>Dy zdN04@bm?Fmeaj1uN=QIdSvKW5g1ptYsf3fokZ|rj34?9fTjNJ<=(TY3TILG4| zezH3akLp;Ubfp~9N8v7Mfwah7*As~OxWyuLXTBgtdB1S;*iqrd(SN)jmIkEQ#w1c) z=QCg4ZZ&^6XbzvM+AsR|9#iHLshnZJe#;@X4nJ;NXK+`ot4i?oV(W zT(hi1nBQ}co6;jBUQZs!Z-?G;IFCmk@G?Q}C%y46Hyb<~yK$Dq!)&RGB&l>c8oe1l z%qBN1pg&v}AdN&VTwJ&cuW(XCE6i2sFPq+S1&g1sKGI!WX>5u}pe91Sj}<7v;1ocG zJjCF2DWaY0k?n03|5WQBPyso zC7<)^C?-do2iUAvgecoRA9=wFF6q%R_Wi0S$G4t}3G0Bt;u(YBHcIK`Otzf=5aE}j_Z3U z&Z)f3!V=z3P^pJ6>Z|ZV=TE*NW!>Vz5vO0sS1}3SoVjk|o)pL7yK~Xc>MmCA(S0Ve zqK=)}>cvho9TI-E>|~dG&q7u0H(36y7NO^~5sQ#6b;|1D365ZMr~`Y~P-%;Xq3Hb} zHMznKHAD#kFIOWIiH&Sbs1w<3Z0kQE%?5TL;vPfD3L-fERAo}} zTp#9EIg+M}d+`yiUrgJvRMO)t0*(c<>8a7z$ZtuW8w%z3UJ)baOV_E;70nGZAMR?QYBS>rQ3^qBg-Td6LGHO42hZVb+ zhFv7x;Vg&6FktHg0rl4o<^PjJ)+-($J->R^M$j%4JGF?&u9jkl>m}KaV?Pn=Vu*|m zDdO|f`K*&iDQa~d0p=g1*t?H3=@}zgxNCU|QOzGC7uqcq?*F_A*~Yk$syFlD-KCq+ zC3QYiv&s`@NJ*hcuNUmyxn1P3GY6Py(~skmwJJD<%Or=e2O7GRghS?J@G|0D*r9Kk z%z_jl`Zi$6dC4gTI}#YT8^z& z9;Tiwp2oQmSop&J%7mBeDX;j+By7I1kn}42%M zP|jUXCja9LbSW^IxiKbvh7FIe-O6;5yBXkb$%%J`Uq?r1DPxvy5S zi`yC)@$XH{jPzt??3NcZ?w=_Pn({~R()gfI9F+=2_I?qpxwk^tKbXL?P;BC@?fy4W z3hD`DJu;ejzljBDA1|3-IVj6oQ3rU_?Th%K5B4wtTe5jJ`wpOg(Ovwvxh(<T)CJF$1@QEx2KX-)BoKpDfWIP7z`tm#$iFxW81KPDg4J3 zjWvl<2_X>{Cnm3MSbKMrK_G`Q~pYY4ghcg89y8&+`3dN7o;{bys+1PdnrBB~q{qPaM6{IGo-JNI<4rOz(#YlG#{X@=}xtINXx|mNb9K$I`1U`7%#aCTga2+%y$=Zf9&YGq2z<)|z2Y#`=46O+DYq z;F4j`&8355q45)JQYCIqn>2UATM0h8Tf*^3bqW7 zWGcJd0soUE{oJyM?DG$z_pg^E9|t9aTD?wqfttkF$|b^aY(>o1xxrcQn1+?*Qs_dP zFiz3M52myVxB(As=7mWOI)5gC^LmoTHKd6n;mR+9d7B?%i)LG-9;t?ZPd$hCI`g^9 zreo|~i4hQZHyV169iYDKtN}Hf5ka{sA%XA{p|M??m37NQ4gcIw#L8@B!ixh3;C!x9 zU_xzN^;MXC2;){a5%*6!96fjF-G$hC?4lGbLQibm$ zo`RZ541Tn6DL25c#4AlmI5PPIG|h9snqCUrx_cLas=G0@cbWj!d=!9v?FT_EZI3*= z4x+lgd&K0+X2&!Hj6O(W?7zMgdQOTI&ePXtqz-Qr=6jV3 z!gTS(zbRu1k6jRC-%qso5IWMND&K%@LafnNTs$%3&EQ7orI^t-7pX@Q;C{I{zIrPT z-(5Nt-;JFoobP$2sVk)j|0(f8^V~D=^qwb(7+i!ywmC4DW)6X~&IYh1w}aXvhyWfw zbID`(53a+lnM|0(h`yHxE7A-lwc`lFvhC=AnvQo~~=+vj&KSaDrd z7;|PN`(0cHB}J&Pb{7&s*q+6(>Us-29w$cCWg{3NJ)biFECmMl+e~P$a$Ip$8g?rE zK`w9jiWY*2IpnQ3kSp_y?S>0T)wvTB)rJem_9ap557|7HtvD#m*|LVO*8NoABzh&R zpn$M!uOaW9FFnDxl;@{i_-C;?bEfd4`8uKLi-@Ky&3zVXmy??eVjVc&7iS1({nsG4 z^$b_)^aqa5m2LiDrVCExS0IN&9A|Ok1n#%YM4y5VGZu~qY0Xu&kS|IG8;=xnck>Fl z;eJ!}y4ww|SiYY9r!h@*RId|dEve_P3Oj((Pll8BnEsHIuubcQmn804ZP^T z6nyPZ4?CLIOvech2qZ4%QuoK)MS+)eL{e-2pym2=sd44=VEFbf0M0$4%9RbM%hL%i zq+%g(w{GKx=u+Zc@io$DP863gtASk9P(#I;Hj$qm#8b&KlPDB6jGe|#iX5-)0n(A# zfEg;qfi}im=ZGvSdg94UTHuSfZn1~ME_p!HE1r8SIK}r0#`H2Y6frORJ# zMRB_D$&{by(%@|No^1~Fi+#+jJLCfUbVtc@r(R}%t~{6VbEZgdC<%|JRO8DrD(rrZ zH8Apr3O-fYjeUApd@FhhSG>5B^z(}bpCvEQJ5)aavkzkb;$i%P+hHP?8?q2n-P=q1H(*+_}s z+zZ1edU*pm=U|7P0$y>C;Wkd6B^t}w#kK3Lquv{6!jgcQoW|{kILFlr8unf!Lu@w) zON$hs>E0yJ73+^G>NT-ucs$zurkcI#_Kh){sNdqRq_CDUO6*z7SfS?DE}_r+Zb2Tw z3dCO_!N8kz!Nw4RlLGeW#f=d#JQs?5`CZt@vO=WOZ~;3-cjK*Z=W{b`EO3>07OVS$ z;ma&85c$kohB8)91DxJcu5#ITXm~1*_;>d;4AZE9RBs+Fdpr*@8N;OMnlJ427m=Xr zL?e!{)&oob-D9t8orU%)UIMmd3^pH3;=qFwthX5Assa{@v}1jc-*0s)T*;PwMumtD zU+H2CD{gYCxdQZJ5l4pSjc}#8CNx;AhK8GFiU!+c*w6>++;xXrT-P~nLKi$qHntAo zJ7QB&r|&1w7SP zE+U^V$vg{{R`O?=9f+AfPKCHEK@E+0g0gkm{Ecma{O&78c*e3wAj7t>@rF%I+}kFW z81}?7sXO=JHo3T7t(%5e_&Y>qNswc!MMr+SzCns3W`wOA8}_rK?~Z>2yf z?OHCVA&1EMbpf{fJVE&NbRuHKD(HLtF?0D!^!&{|I%coxHd?IQw37FAuRhxvrH`QH zefG{IYu0c2DdZQ2u~DUv3%Mg93jDs7+ODBZ2OsgEj|{(}>Ii*~Qkf(wsLtgm<;VEv z5(%t2B?1^}t|$IU+MwqGJrw6)iVm!JzzY5zXQlUE5N;xhiRVKR#M8Ck_}6D0B|N)d z5tA4Cbv+|(&%Q@tV$nT9}F7YVN#FezAilFw-^XTuxM0V1hc|=s?TK43d zbh!DdsaNaeopuwiq6BItM8BF*_(`#QCWrT&*$EA?nh}z zA+(1=Lwl$7EtNvq5?Kw|dw=dd=iHCbQYaBAZAv9+XlR$;=l2)f$GMMt&V8Ks>-BoR zDoAZiD5}WUM(6Wwp}LYr@*DDk;2m>m0?CRrs@Yz(gg>u1r zmVbXhZM|-XbE{|2PvLXUbhIpNVPu8TJM%3)QddhE*4YknTGmdtoE6y3*oJfZm?mgE zenIH`S03e*ccQ7)UYLHm98W#&f*aHIiQ?|9IQ_vqxM5j7yt8x^9*oih!ab7E~R#a!PZJbIKn`7tHIQ zEWm3$tA{;u#7%F%R9}32KyYoi*h%vIkK;!#fE2}=HSX>P;kbL&K=!=?vK|;%@*+-(W(ae#+zXK-7{Qc+jG1s zb2B?G?-Wo;bYo|!lnc(RuL1pjE9ix{CE&q?`{r^VpF7#;w)z?1I3RvW&-nG(zb_g>d*&vXM%1G6t#*YSetlbLFj@5I{7x)P6<1&KS)a-ii_^*xGQ* zUjF5lPESRzbbfLiZ;!j}eb_v&Gr&q;2~UwYiK8?FLA~x_^dEPg^Z9U>+cKh05XU&+ zT~oE4+%_s=-=Tw?Yom}m+nkG=tGx04DXnz%u1#7$U#E}H)77)d|xmAerN+Iuh9ea=WH;%=PrHpT07D!x`bMdN28W1A9}$%PoS|=9b8*INZDH?v76RE zWGy<6vDwYB?4xl~y*%igcwedln{`6BdjIlX!TY64s`teJvChYVs_mceIv(0}vI?>z z;m;oqXx-CUI2iOv=XT-3$x=Rse(6Nc9`51Bg`}egubzVD@5*dKVVq;}sz`djxhmx& zSb{w<^Y#O6aty3>!H~Y=xeBQ^f<7~fj zv2OF}fep*K&&@gP_R=7{O>D{NkR!|0ZbJa8{^U zBBIofFBZ=Fv{e{1970MV!!0nbruIhKvjex5(rufRKvS+3sx53opO(1ekDC^<2S}sX z-)<>5W)~`WXLk*6@BSyYvROjkxwDjtb{x;{eKwt{p88!}@4pdz8=8zgCST-~-ae*> z2i>a0xY^iw5)i`12V&FcphD}=W ztvY+i0p-3uL{0o82kzjNRLO;vtXg-FutB?wRWu)9b?h2wO5aV8II)FJ%uwKhPM$=o z8xGRnCwH=rQ7b{?q!fDpSv$_GU^@=GR-ohm=(S#=^)C;m3_x3F`^ z8d~$Z0lh)y4Hf%-9N2HO5KOe233}y^Q^&j|Xv}6)WO(bbaQkc%5cYH}weWd3o_cXI z?ru=Txe2RK@8U^Z@Fhb|KX#Cvp=QF){&iLSZ&{ppMSZ^bXu~8nWBVELp{oOqzXR+9 z!5d4Rf|@m1muM@_F6A0at$rb1GV6-C*F;M^YF@ac^GrBt)HZ?tY0l+ul%>E^8Es7N zPX*|nYXmF{Mln_Y(g^iUk#c)|j>~OZ2ovXT#A>(A8P99ydG1pwze6qxnL4e<9wXD~ zaU=Bk^HSY;*5hMbW${$}&UZS}>zxKpemz7kY~BQlr8;N2=nyx>+Kb3Nt{3f_`HV83 ztHIA(x|jL)H51BwQRla8T27xm*FZ8pDKUZo07&m{xaO^Z{t#_R%iJQ+q^=5dY}01E zHSe(l8uE-R{>Ci*I+GawX#x*QIlR&Sn=tBlEsCwJ;=Rc-I(gD5Qr{eeeSe7fRs1BJ zDXpK|d9obtvyJBh*07T7%N=Oas$_WhNFq{R+>D)qL-_E5=d}GWLi#V8LFu_SU|=9o z?A`p3r2?#p~V`K_j_^bg+)1rJk{$ zZN%)EPAl4XP;-itX;=M;*GL^>$Y6^G~Yd&MDllc?|g9mGXS2Xft~I0?>$;Unu);%it2{ z^Vs*WAvAh08r&?>fE%P|uK5Bz6uvl$m&uxBBBfH=p8&zb0hn^#X2R+fjCu=WEKXO#jwzuYP25A16dU<2OFlM^MN@ zbMss5jImL4r=}+PcVYtsKpp=~Jh zadIlMSUv%LNm1ky%k#v-{u^RjJ2$qvP=^z6JK5?P7Oc&IN_KXWEZe_nltAu}ui)Zf zyi@P~M^)#~^Ht2rN{5wF3yH8(6%$K9qU~r9zxOOCS!hVUBnN}zuRD>_htH&Xnm?*2 z{lZ%Q+9sGWg;1G!8VsZO9~_jnA81n6;Pf?fQ1K%W(zi6wq8JnETk37$ zd)ph-y@FUj{IT4-E?uM#cW3aLR0@lp%2Qu@r z5E_gbCOM%N+?*GA=$k?e_reJ~6=hhEr0_E^ar<$qA-NNo&1q%*J}d-_|8#NU!9RH4 z&?j2`ZxJr<8Ye9Cj^rLC*AVBLw!zSK!x203wJCg6^bcf_b{aV>PZEw;UW7xgUgho;?wRKN`*u*_f=m}AfhOBM65fku#UT>Cj{;9w=?{QL}Z-1dpH(vo9U zg+ci8jO)~>wj<=#&35{q^K?#6X)jV4>ZV`BSfY0^4M=U^39E6>lU(0;kWMZb2hFx~7_A64gn`pd#-$bkub&`wp6;nEi zHc)=PIWqn(6<@=aB8|-f$WmUaDcmy_cgFw0rBRot5ykR(`6-^3XAYNFv>SPdTOTau zhX1YMmbs6kJyXPJp#LeJc%dI3-Taca9XB3WR!pI{lpg^K!LzWz`*CEg)O&vBdJwRc z^26)$FN3BfOZWKCroZ(WapiIoQN5prQ%-)WV4TJoah0Zl_{QeH zRTry!97by2b}*TyS*g4z%jxkOKPS5YK~+NY)N20=GpdiinO(KUSzTgP-$!>xUjV<~ zoRX9e)q>zpD*Ol6e?qNGn;-i?8a|2iQt3sL6!+2iQNt`&b0u7HX0-yev zi5^Tm&!1X%kRJV^liXbFExC7Lh-~gP<-PPuPSr8cutfo2A^`l4e zGU*pYw?vPSWbRZx)9fr;Z#j+EF$jd9dJ>bj)|sBW^9>9eY($!yYN5);?{HJ&dOr1L zyeP-!0Qk^;kGy#J7#wnVj3(`0#!Q*30k+L(msB==!2J&pE^p&3A~%xqM{(T8ocmx+)I!#D z#Bbc&s0NRF&ZF21?cC;p1Ul}6I=muR58rLthF1y=Ap7noZKk)6$-h{}d_1X#bZ3r` zxM!y z6P}F}I_^;szLb?0c6?q7?dBZA5m&R})zEW%{zf@S7IEZ10~1g`EC(_!MU5JoA}?JCaCHb;(sZZ+2^id~P_;d^FZ?!6&VY?&V5v$le(4G^|<8bg~?{ao{^Qsg)= zhk042jjx9Pg}VNaQOz_hy!Oll`l)^$b?*g(;htv7AYQd7CaI%LTB}mENNuP1eRc}4Dxx^H{44$6j11b{7Sk8rRnXa1ZB*@EQ|i@++rsDpO=`?wGt7vN>G-)TTs8k)-mw@P}L06sg8f=+f~KhgxE3Li(1^g1!q5$W}nt? zN4GrxV9^ODRHJl?d!O$D9M#5gavrk6uWH`Hn9dpa%_v*0zD$Yi+dm4LS9!xblR~La z6AmDEm&@F!;dkKOjL|{^jac^VJFJ>N1?-mOnx~K8w5UafteMc#!p`t+_vs`oYJhYGj}#stUg82(l+O(KpOL z3FRstppVaL#5?>a;R%IV0=DHY`igugof1>_Q-lJ}iJ3&ax^#s#mppL(`f9QJe@d95 zs=37#XDDy;5%gBJnjS~ZWkV-wQdch>#EaY_>427WZ1i?D+qgH5YSVJy#&$Uf_D^3- ze*RQtO)mN8A6yYtVilfN@ln34TJ`2>@t?Xu3f!J6&GRjw=AN%ZgI8zbW3|W7$lIlK zzDKWE@qIe--j#~xd~HFC?hT?pH~i`RMe0CH@~cNTDp#E^x+f~04atSqnoNN_Asam!C6+t&oCC}XaMLjhW^GXrBl_FOD7-6y zUixBAed!b2KWc#V99SVbze9mH>Tl#{kz~-grI5V86+^a6jFFVzDu=fPztPUeI(Ta%nS8n5`nupv0U23_}d%< zbBfBDQu%H4A<`jg7^g02_WXxb6rssK&4yYh47ZBa$-T4ws^k^K1La3)@@ zi7eRrOkzKN3zpS?$k*I+mz1q*lZ^bX>pU3Y!&|%6khTr^P<5IzX*@)UzJ6EW% zL#izDtMd`5s?3%Y#O9HlhyY1M*ikfiY6S85+)qR~)=(ikfL4e>RF1(pct^X7R zx*xdnZ#7Kt)MZ>4f4)vJ4I~%Ml|-ih=3DmOWTyB2`hWHWjBVpV{Hs`qwv1rd+VfzK zV<|Gs3uN&JV_>oHHK% zxLM%KYhIi#TCzNc-Z9%&qFE5iiR%_ITb>=j&wS#c^LNO6(hflbTNVS)Xj#dI(y_D#D~z(S-uXLx#TgY^b7TrT zbBwJ}3aDkLF5C+*9q+-foezU&heiQ6M(X$VxD7((N1<6$7rzD3O-|+hyZsEQ1 ztym~VO zNit!(>!W`Pl!nu#+n8lak z;nQt){MWhJ{Lr6jK4Txn$1bRW!|M7FN!OWgScyXp%hS^x)Zk^sY4GBX2f)=`9vr>A zifZ1lgUi}l#*J|DL!D#mxw?8QZXNl{bw-!7SB%b3r^ek7j@;|ZuHB|Bou>n_#g$}n z5ho)`shh^!+MJ3`3yo@~h=!nU*rb}?$@9ROt9QsepHCudOBv?)ZX*(^luz}=7vu2@ z75QcTcbUTbkC@1h*BQA5vUvB6KzROn5|q=}AtHq_jNkhvZrk51)R1WndPLVGF{3&_ zxx*sH`)nOke(MPMsZk)(`h1fA@u3nw7`VXPZQ3I_nyM^`Ez5*QbEmR0tsf=!!G$Di zsRb@=T}cx6#DVZP_xL-kp-4Ub6KL5zDA}`r8@q7PMgDJ4K0fT<$<;ox16B*Y`6E)^ z-j;TMVZs$3k@oamI5<^Rl-+w7=$b`xV@!VG3tzPHG+x1(`eq9b4{hSN*)4-*hvM-L zx$8{R{Ke31#(Whh;gf=)wK^O$)4jnWfZ`Xla64d#Fe=@PzH3*X27R9tC^vdvxS|v zy7{bnZBg=rxnS-&{hH_q1<~R887MIzkIzrPNO58TWb`m~hcZLXkIU>;i~Gh@3BGFCYTuz`ZmB?~i| z7i^h*@3f#Dnhexrl4%Y19Viu8piisZ(8cAph}k{|6<X^@=hp5p5=GEw@R7)JUg={f{LwXzl${kK%TZTJeqIp~7Mn`H*$7SE90wM+DhrU1OmD+Mr>znRlb(Zaj!`2;m~;X8~9bIs=qGonHpFU?;liFBDL zD#J2Z<&GDVGDU>Kr>BZKWOU$A?G#b5x&uF+2H3CewP+5VBQdH=1TUKxiINn%D9g$- zjP{#uFc|-w={MBlJqwHZJy)ubb%7^;-zZh06?mJk92d+OdODMA9a%z}8@%1&w&h41GyhP&{6xbP}}wsfTIjvV@Z+Ch)%Z zG~mJ#HTd1Xog{dFLh)xcBo1F}B&FuDaNIp#FeNyH&YR%R&+zwU?kD6hbB1fk>(tA9 z{RG;R7hG+H+nYfrDEy-gB%N->KMo7{-Mwme~K zl-rq5+Z^n*ipLWwc9YFn0z&Ld$cnoeB&c;HnWM4>D`ZLi$;Kn#Ixhg9cV)uSNBh7{ z%WHyn8^>{~39aJZy`!o0F<*s-6&J-iK5p!mbX9hO-zTxrzyWc-!z{6!JmMWjmvX9( z>CD##Up~cc1K+2sD4Mir3_djP8d#Pw30#>I1GjEjhwiMq$*NhkgQZ4O;Dh%aI8Y^s zG{riSsa=5XK6VbX)9TQPH9YZOdy3d8rEyDwH&DTS9;i(EUu%o)25r7;Xgy~;c*EWS zlN1$x_sUQvX2Nr-Kz1XJdX~U!DxXe2Y1Aajo>#e-ky6&xJUcLfXfj2V5A3X8!?m1> zC$TYpyhY(^TxIA$QikNX)ZDMY&c2H1Db?_9)z5%@{a-ja>@T;m{y3Gix&)34)8J&r zS&F*m$&lf8T^J<^#P1TM9brZz`J6R+=q0m*%zO0!JGRbZ7O=X^%{4!08L~hWq_zcd z6~7VsyNF-ay9T~`Jf2-LeiYkttPdyst^mi3#*+-s5UwZnI}Seak6oHuhF9^1AY`Hs zxoDgQsDTXbg7R2u#kyS7|F97pZvF@ZW9QNpU=k|4G#g9ChC|Dd$xI%-37zpMB}MDX z;ib3l1W&cJ@JId=XF5-gDAoQ&8V8k_YG+T7u_m93>uG@NE_(4XyT_4zioaob8I4k2 z_@Jf17s!QZV`iR<7jEY6i2T(qPT`J55UE?dlnyPV__D$XJC`+0cGivTS9ZLGA1wvc?LoQP9k zAs+WHlsvyY5hlF32d970X9l*tr59*T7M+|9^W#4S2?>v)K ztE7-mOJeZpN0qd}ECBx6&7j>!-(@FL>Fmm_o`OM71EFSRy5P&Q4FVU1b;87|S;7~$ z64?7X5oE-^cW`RcS!#buq(tGxMJWHno~g@w1r}X0qw{}^q#tOQg5xXY zP@;~q&@g?4B;Pp?TE27x7p*Zl#=OIC(0n9m_e7DuG;#i`@w^(@gBzO_a-NPzGAAyXR*?v^ITZl9vJ4a3hrP=Jn z!`Dz4!W8in_BPUFTPeJj(;_rEYXslS4VRu*n<2kUf>GW)X#JAoibLNZar-%v7_bef zN@DQOiuqvKrW9-q8)!BtklL;B7IqSj+L!;4h)r)T_tU_#thG^bnvzgzc| zPI>SZjnz{Co7a26e#cmHtqAkstyjre@CGO8`@y68KEm%u3SrKtNT96LgU;zj0u2`v zr~qDoS7aH;TWkj|%$x$te@4Jp0v5P<0pYJ@$y`q1e75BnFD_o|;Mmv2u zJCkckVsJlMmr)L7ZDx}bXG6IjA2Z2f-zbnBSxiQD|093BITH2B4dIewaN@v4*n2)m z^e-@*KHIs6_W$gH&p;8dR#-zay{D39?J{(sXg!gAxDf1nQNTa`olgdy=;G&Raz%@W zEhUQ-#5l6}EbwSvjZ;=nkRY|=q%$dj-*!hpYLfIogEX6cchv4AYjAfLDNT~pLb88S|$_~ zP#pv)PK1YB=TWLUQjg`B0u-Dw3|!`9F_}+l(4Wg$q@z_IZC`(i4l%q>g7aOFGi%L% zPuvcyUm3x*`!ezG)d#qN^&jDbq!Kcfs z6AS;aC#T$`KdgJjWSd3N^Ml7STBk42G6N=9uG^7bQ?h`IN*gU2`*Z@TvA3}5e)!mS zBDciR#ecML{R3lKq&glv&zuh09OUTK>`+`C7EkV$De&c9YW&ROesIw)7p8kxKD>8d zm!IkE!e2h_#srH1)9m>a>6>X`_QD1%>s5fxiCwT3K7cCz#n1wUY4nFVE2yZ!LF)a4 zFI3mOEJ~UBExfa0mvGD`8*2O^UZ_!WQam{Q4eL+ovHN2xsvjmF7XPr(6l5TSD(Aa1 z?M;K`ix*^!b$U>6)WP&iq&UdasInw4%8qg|*){>zx{mYf$}3)^ zT&y&REUgHp5*dTKT$T$r63>**pGKBOGs4RE}47m?f!oS~EKMOLwyH!GKuolY*Fv+Y;OtCi=iOSgqLlN@pu znK)UeKe8`utE^l-aJc-|w7Zpcq8>+$h7VQo`E2Dy^&K{|{j}}7cAl$HtlCt0QpeYE zu~~tA=ZC(kUB%<Di%(v)+b1RtHH>_P z`BGEIX=yVm_gRp#^&_`cXLkIol5>9RP{y@5^u7zUpI)}Y@gGcgc+{$2Jz!^CskHHd z{R`*+>^|k(vwp0i&q8(SH0(532am89ZIcaMYGn@k5c1AE6m zzlJMCJ=s;$>GQ(Be7HT%lk-P0Z0wre;&3nY%WUU@mL2urn>?Oou|GELT@RDZes zbc(7>xRYFI!RJ(ziF_(bYEG8Bo28bSeSKK&WxS|DXG>y*^M@zp=ApV3Q9vM*SaiXGrNKJ{+2;3Md@^hpD!J_<{=K~n2m2MtFW7v z#qkTx)$rEHRru5{4f3?e2d)qrp@-khNr?J5+GlhLb8(|OxiEPaIy~hYWwr7eE`C;l z^ObILtJ(4R;qTG3nXMt_AIrk)zo&wh&fD~tGCh8s!aAN02?yhsI}`8h%jnv_G_*8P zy3dUt!HNB^ag@Iw$}jv&1mB|g`#hli5C0cdg6izQ=i`d5yO)D8Y4W+}Lqb3!(d7J$Q6*pJZX|RXq5< z8oZR-P5-+wAKn}El(?>x6Fn|Q?kgqv$JT;O|(^28f{;q~uh41OIo(TBgo@1h|Z6BD% zIiWT0rTq>jfmNVjtPD0h^AN@4dr9o(jlw=x#S=X|B5j5fWgYyYDx4nunnXo%HFV0l zIbdgn9yIn-WhR|I&Zt=3V#J^mhCE}bkh_~0#nwvZ3sU6^OQ%T;Yzd$F;3v`QcuTrQ zRbUh22XtPS0^YLa1=5KNMVcBBXxy>{p+mzC>cXKs@#!2HE`7;pG;K{9H|e52cX%() z?K)}4`JH|x5csMIw_iObc+|UGEc+x@oMmY)uAXp|xmtW34i7;7dF^`Mf9(v$PhGKQ zZbB#8qca-&tx+UOrX!f}%imDv-$u%5G6Va+m*I#}pBZE8Y&uKD9V-8~94WQNK$DsT zxYKEbD7iS1c6)Z3-mm#nINl`*|J)sf+nuixwRv-i$U~8TSsMWy7MO#b28uOX_UM2x z2PM(QgO4P+`67JCCK*nZbkLd3sigd57BXM<8Lv7O!R4gq(AvQ~@3z@VRAt~sj^|tR zFXmi8mv4uIJe&Q@IkRfg=Q)J*YToh5V<%CGdV^eigS1oD-x+J)t&w=&+y&k}oz571 zRwd(<|8bX9_wp-O$^pR~P0`_+<0wPH3@)w_kik4LvdGV1EbWd`OM@nWQOz5emtDnh z0#`skS+s@PuOZ9SpKZZL^2eF?J%=G#qRxc-9->3_mXPoz+Vmt77CsiM;5tnW^tDi* zR%Fz$u2LOH3lfsq-_5aI*G_tkw+voN5}~SMKNEauA6^r87e;tqVRk*c4=z2s1vOsl z(Y+lCWbT(@&{>xPr!D^m`rVDui=*bSB5Dc`6Jo*RuTKCeQ5C+KS_d|2ngTB$Q~2FB z6<)ma6Ymb&%{f2zL0|VOix%7qCkJrc+(W+;weH zva)8m$=LB#EgGhR_*O-ldMyASckBdC`Tbz?(x1SNvm)yhFY{@QMf|Q3Go~QCjCrfG zlX)8hndXRKc(maHsqWPzF+u@MJo}j}UHh2iEYpQDc5ZO^b0MC`PbYWn*5Cj>pZyzh zoGNlCVUJHg$6b6?$eJIt7j!9x3O}i7P@78)DQk}cZdS>1^d;Sc8@)Z9wec%r(_MBk zsa`Sg^eZ=V?Q=CrHfR91*SyAKK3l?H<8|QX2dTW$>Vt6dlNdqGn^DxK6Qe~1qu#@t zH*diSJC2jZGqQnrwjr(Uu!UGIe@ar<8cD{{=A=zHA6b>@;@4+}QRG}tnES|GWO9PT z+t)+>gs~>plz!`Pdor2(dHrb5-W2#ys!zGaZ6awacH-u@Q_!qunee=W2$Ve(GK+0a z6R%(6@%z$$Ov=ex{+YBBN!6&Hndp6znisd5S!I;LzdWwYcL8`e@!FTOINUw#ws8_Fo9IF(|KD` zLkBI@7v&vEmjt%YL(aMhF#dxZ*K$Jn!i}xrmneq6)5kSS(^AJ)m)nk0_$~ES)0t zjF}E8qxR8iI5}EEPQScHn^nv%_K#Go@YbGIZEE^hJa~?xUYuP_-?}gc%(T#jHWdZJ zu!ECGZ$JQZ+KFSHEPV}&7C=70#!HgClIKr$OJJ0_9#eay4_YaYfzR2aL?t(iyg7dd zKVKdJbxpQ2a=u!Om9!h~P|06peJ&Z3P335nwFX<+FirSLGAxLx+#y_BtS;`+y}-85 zri2X>Oa;+H>TJ-~Y^RnXJ#odoDmd|B3s6#u=Cz(4=TqcUn4_b3ZuUbC?|5NFmVUY_ z_u~hHgNizXY)O{c*;u zpdSZ5e@qVDN`+UyL?hFVMeIvp_R?e2G>9p$^PkDg=c~nVCx# z;<109k&tVfxj_>@9Mc>^Pxto&4JA5oeQ6H-kT-^?4gTS5Q&w~3QYM8MD}iY%5gIv9 z6(n~4K{uf@Exfu9HfO2xNtrF^Y4uU)xknv@WeQP;{CjwP&lp;k+$48~^Eqog4Qi_* z94!}4Z(247oEerf$%;RqV+NJvQ{)0p-efabzvv#^H>DH*=eh$&Z0{oPijt9?yC%Y- zQf9)sc$3a#cTYU(2y`dAi-bBzO@#d%PXbqA8RZen%+Jl{PK#50HV!LCj#CZ+Ko zY?HYFruZxH=P!j4xmXIeT=a&+KBk~PC6sIc#40O^*kal7>g(qt@t%W+&@?G;^qEB}D!lxQ z@|i?%WoH4k`ageRS+fFe(+)+`P3E9iJHLrHy_`$8|2ReA7p3^$>Dl@?$W-;39;K1!o%cWO@`%(&rjfJi6>NwrYH$Yy@ z1hl;`l&%kqu9`KRMgQ_IqGQ)g#Yr%lopbXc3U`qchO7z}UYZ?4j_*jIodOAdp?aJP ztf)q6rlZ&yQBYidDhl8FF(mBIdWMUNMsZqRYe21+C6Jk#NE=q_fE{0YDW4t#N_+4U zrE^e#ipd-Cb52>jCoP(q{7IEwHc=C3?rK3XHaAfB+!V2Ux;bt2;3XAuS{vl9Z>h@2 z(HAhp z4c~C@-^Wo79bdSuLwnI^nR-E#wDV}!Kp#GS`4koW(*tNNeMS9vS%vIXo$1`qV!u7JCDkZTQVDlSUQ(JM)$`cmBtD_*8HqC+-N8 zwDqLD6dQ#L&-6P@vDqv5^XG(9hr?Q#4>BAnLN*i}``eR)+z9gca(z1#m$xOumTvJDUl8r4su6#>fJ zv6(;UZKa2i*3F}IhwmhzWxo*$Xo}?~3$Ed)$e&#BriAMEIakHmjIDSt7lY2qma}5Z zC9K<-n`o0-q0_6{`*h&YBZS*NiMMJRq9;e5qF>3KLO13(*Rm>E*ywZ~HT?QiO~r-M zcTZR$ogoo>?0qQpeM}OiF>(_XqY+FU-J9Z2bSsVf?R|x-Z@eY-iQME~e3^mt=SPZ% zR910I?7F$*chb3@!xH3l)lBHwx`DbNUrEhak|wsV|0&#+^Q79e*U{?!qffSR`y3sQ z`8{#!*z!(jbL)uKI z`TD6&4w7ugA^B9tWrrP|jPK<+ZmYiPnEG5^aPZk!fvc*4Q|xPfd(G?*l^e=ccv+n| z9MZ}%DG7J@6SHTN!@j#E0qM6eK$>)wH57uu&g@Il8 za+)svcrQb4Uw=j-%3pC`k_(ynOEYKMI5jfw?I{p?KAScZTZ_}3c>ME#7JMo5osQY`3-6p@OWH=7p(5EToJ71} z-7R0fuOW+;>b|Tvpqg8>yp4KLT?w(HBR;$72 z|8#ND0%N=^s+gM&-Keky zB5tI|cj`%M4qh01n%*_!g+^)Z#QF6)bjQkzxG2S%gw&a_QsOxiY5f`;))Qg&`gtOE z%aB_!tS`+;X_LF}ow3Rub5?ob4QfiH2GNl+k~DXYrgNMXK(EXJ;hD;h@Xg|Ccxeu# zlUL?pvHv7ksd`a3x7i6~8q9^2$#vk5(mD7mZ6CFQ3*>qd9HG!oiBrh#A}^a)Qnw53 zNTB0&>Y}s)a*r-1*X|Z$vtT9WOWa6QudsvGOm-yJ=Sng2-Ga7~`VEq#>pprj3r)9v z0H$ZffyrsL!lyoyxs1VHv~liBcFd~IQqLWg$@R_S!PbVEU~fh! zJ^kD!flkCBc;)L9(mz7F{x`~`bo_DQnroFXBf%G1Ojd&nf*znN#FS1o$YgD#`9Qzf zIVV#xdd(2vKlP&JB%D~qj#C!CVE4tN)|uO#EW{9x$Bt z1*vFHO4`?%d(OExp%Su`B~jTzDGDW$C6yNKrGVl7^hwr6j`c1a`Hmu-jxLX#h5vt)%&wucBoj2*(*38tiMO^y(RgCneZmzzhiTo4m#%;-3Bg*io z;7;r*Wa6GB;EQw&y6>1P$~&`;`f;TjrzQMGYGX^#vK=qrcUc*#wD}>C5VDBUncBjx zlo619Q-!3)+|R7kkTS{P7VI-5fIUmqx#lCkxs1$*bkwEYwszgA`$WBU~Lr7Hu6y1 zXYgHch#P&jsBZD?*Yrk<9;&bS5gFIqkFQ0wv4%3rwC5TZa`%x&#cby(sAEC1vk>+*aN`YAaFs2@B?`MwB-%XqF8r!ps1NtoH&Hty3FwxycjzxDH3 zTU}**^I->Euxtm4IrN2$KjcWZi@SIlie4OyRpdhUWuW@6>Ewf+5Hj>t4;o0kio@%# zbK7-(aIO+goP+a0bbqr8bHe{F_^stYhCQD|>iJbbJHxBQ!mG7(%D`M^cb1UO-gTK) zS>enq{CA9&t4XizAPxB05$*h=38wrNi(~Dc7Jla4S$~H(K6aC}O3mlIN?%g5R?P=( z|D>p|Uf0El<|-I7GL2g{g@d7HBrXbMkqfItq+#`PG&Kf+`vEa* zU{N}JYp*KWGCqS{zS)S85UdC1_piWxgK=n2dmZO=#)Npi`UhrZJ@FQadED3@SxP1T zGAt2vl0MDaqUe0_j_X}7IR%u1lAiU{@6X-ncUBY`oZNv9MwBu=n>46*i7KKSMR#Dc z$1wRizJ{>9oyVpBy1?C?kxK40jUc67_Ho-ct^{V9l{l=)R-~3(!AZJBlQ~C^GZ(H7 z!xfJj*@MobV7yh|{CZIUS{jBj6NimmwJ-PW=D%xHj#0+FyK`FNiaBILcN?7rO-AOlt zaQhsS1a5E#7isaT7 z%<04#lR;pB`M9GOEH`e1jjlE#Tb>Ep_4ErjF}4`2?N%r2on*KfU0ax$k2X?8KQ;i- z(3SG@N%2)rR^7fdEyzyLf4+eBnk|8!me0bIhWFuTXQOeM#{^KnY62Pm;UTHsug>}n z&gWLF_hc`ZuEYxA(%kK7+n5jOl5q0jm86-&N=C2tB>Q3Z17eSvE>@a+j}@%>&dU2o z;22vk(ED>W@#EVU0{Do4x{(FgXEYy7w%3JQZ>NEVkhQ|ra{+JIWVNp5%Mc0llp@`@cqJVgp92M{l4cgINE9q{n2@> zUNQrU14Tr4>;QT`@~p%1ar`zP@KMR+?qP zLtnG;+~Q7Rt!5|oTc%1*FEIeSckRIyX91rm>0#o{M`5(hD0aH{m$Fd8w2g}+3=JmVHUS9^?;;r%3Rs&Y8l?>>w-XGbm=Tgsiz zxd3^=A*6wK66o7@9;|;82J+e?ao-6M;l*1d{BgJe3zN10`{|chH1v%r(Iv6gh&&CC zB|yt)DKvWj89Uh75430fe0FntJmJ?r6- z25;K?@mcPT`Y-(Zo)&X|vp3T%dsh(0iSSD=H{yeJKYaBy6J%Ka;IFvY3NtMu(Ty*; z%&a_boN;OeF=lUsUOrL4JxcvhFqi@?EGq5D(jMWqdr@F>=qlLtX$%}u2}e2F2LN|r z0w#PR=zhCMF#Mr}vvf%#x`ZL6FXl=Amr8n6rQW%2d)?K5-#Wz6NsE@_k+WBs8Rjia zzRM6kxAYxwbzBS2Q+cpxK`Tt^z6qIq^Uybm4j3S@l}!pa5^p))(+AcnW6z!dW_yJd zed3rDt^2ctNOVmhh7BqOhHR3c*mEPF+pNd0Qf}m3bx0A!jkgLmmu2(hM)<;kCBKD1 z!Y_ht!Igq%b7XixUxSyXbKF)pWFgrp&R#{qd$@Urr-N?cqDfOfl z973Cr_Xq9h)PsrGJ4(n*>lUL^ydJO&RKu%g{bnBT{Ku`e*8vTek8#xDGlbd!XKq`_ zM|Q3MBsL*_0Xa$6o7@-vOW{W0XZbVVvXLHul$H4i z)SXrAf-btQWP)TU`RCnrl%AMIq+W9*4<9l^zYZl(p-IkI@$X&m@U9v$aJ%+ z_m8t@ckcp!_KcyFtS>O?_-0bBy$YIEtD=~h*Xw2kDUmDR$>B8yLVTcTI^J@*g^79b zjs6?T#me!XHjG(noK)e)bS zA8F7&&&2(^q%MBEQ#SFlF@@JuUN5-ky0v!sS!e!XsKeL16u>*WS(o=jp#&AMr=VFy z78)L_WhnO%Gr)o= zr?#@}l4-d8O*E0VyOuU`oyJ`W&tu2`w(x7xn?TKb6EJUrGxtJ&6H>@H1RFo^XI`Ax zP1lkN+`4$gtt-`swWfc#&eT|H@_*miremsH@U~%EabM3;si?(Mh2AmOkkyJ0dh{u;u>Ejpc014sd1@*22VfBk1w9RM4(efoGgu#U)5w zCcnQO1Iv#Stv4%8+{Y zzN}?n22{J8j+j%i=xp6rexq%=AUxR&9-1pp{9F18-4N&E52UAvdq#(d`wufxQ`*ei0pAN{QhbHRG)Pfw^Tp~<3d3`-SiN6p1^nQwN%oTH(jt5(+pxOc2CUlSowW8_eKzsA4SRahbXxtl66~5X zC;;~vhJJbhTums1k(ylCwx6YO6hsJm-LQ_AAAiK{7*ny1WG z-Owh6cv7&VC;@$OU(FoesEhohEdc+69HVnXoRr%rx=f&u1vMd)iq(dj5@&57*D7ja)#J+CsJ_TA*Z%gazJn~%M$JylOufpigTz! zH{54aDHP|P$Rf_2soT0!FeQE(Tl0?xEpA3aiyNnyy8KvyZ`m90ewqxibM;Pec}XOA zpt+WR#x4W?+1E!uoV%SrNnnST@7PGZcyk#%`Ctxj<9opG_eUo6n>DO#h1%BC9r=7|THXqYxmkd$qL}Fl)NIS$InA1=y|r27DNN0F_PuL5gW)bR@Q6Z|f6;gIo<$ zV19%F<3dJC{6Dkz{&U*Wwv4_`NzqG=`w{XsS^R9vN&Kc1Mc&w&^qL29=DZ(?Rd&)E zhwc1TeR%OsH|^&A%&G~ky32DrJiyZ_SFL>)Twl9QM4|U$|*MSbQk>DOVOUIR&v2Z`&gq2Px6*16Wt0I?^h$z znG<@sY_i`zk`g;D)YKLuedhqiGwdrEjLgF8lC{{~CZ!_X>?z#ts$RCb8E?~roZRC1k2Qnc{w08#v+ob4G`v{!a>;eMwU+UxCZ zVLN8c<#?Af8L6B^xUjv3T@o=17`k5~`EQ&_hh2zTtv<{Rw;e#8i#FP?xNgFwS!S@u zq;`lD46Ueoa1H*Ej1@wo3bJwEV>W({2Bn#j1-rjLf)5X@#?!Tb%L9bg+1D;@Ulm&Gindn=QTxW;)f}e$&3Y*up^(WH=l)^Z(KlwJ+kZoY0TZ& z?!Z`{F+?gsweXFYX#~2y(7|?@^x?M^!cD23LXS5i!eHHK;jZllLYr(Gny}eQ53OHF zdkwk@W}O}2txifMv*qkSuZk5ZNzEen=jP&7hGirbZVJD>ONUXG+u4RSaj2wBk-0X< zkWa^5$36yC_|40Hq`or)cQL7OU6MIbqaFgws26Za7mbeo^1_b~7TT>G%B5RuAme{4 z3vG5YLc!JI&#HtBxH*^yOd9>r=vHG6Ziy9o>KK#za{IX7MGo+?kvx+);|jgz!*!Ny zTZzkCZnAfSO=0DqsYLPD^Q^kG66qAQ1-IG!fDbLFGKU`3bKwd5Id~+SiCQHCBmTRD z51+Ut+QJZbQ}DFSwkKLat#7LubO=D1fQnb?|KF62k)fu}WNu!>Pfs}`RGn-UW78O=p_ zU+I6~$fe70e}RzR^x+WaF=GxZSJnoi^|fG)*q68|*cIJf&4Ygu6xk@7eQ=5arn`HN zqR1yI22>ezrEzqUh#;^^A@kHm8G>>H89yjLNe{ z;nIo;P>*L0C4DRr_jV0B@H!4UzWf5otr2Lp{99Br;XN{NvV>2!$Fjw9+FAK_9gfC7 z*q;mD;BH-8@J?Bt-Y|6^_?egt!xgT8ig{O<@HP!Bz2Yx@Sbni^@qvee&}@6*=S^>g z_dO@jCl(hAfA3ma^W`DS8~-KCH&7bo*?4~Eg}V+>qJdSMx|}W5XJJ@(4q7uKQ;Vpx zsj=jL;V$GO{#n#8aSS>ATTV_tr4DDvPOh6-`ch<^lgn05>!tYC2dRz~o+ws3nA>I& z#!*QZxLca`C?{_(ZrwNsozCu}?|oWG0;zRylaqp;LyQ3W*Jb% z4O;BGkgfRbrYqF&_FZ_>8aEP>ooJqX5Y=R;OEnu#q%z;y+GmdSp&OcF?uLpDXWMt1 zd%E2iHo1)ud+yg$yccUobA>;gba@PA{A@XON?8F;S(_|&J$!^;)HOuS?nhy^*wmD3 zGzwd%t%Fvdw8H)TbH<4<%`y1K!zX3A)YsnJh7~iF+QgNhlES&dfK(POIHR-b0-gW-8>g06MGQu?F%Pnt29wQZR;3? z&-P|Ti#4pf$JBV9I$i*8U5!!`Z=>@8{ct?dPt+&wqp`QQh*rsElg;^Z)XShHKQ_E?HrLe zvkvI3(;!z05=p7EiQwH4A2v({x3{W^nb)^) z`HrdB_Erg!^oa#wulA4{^YTe?0~~KyEPih)eSjYN72rcE?~p~{MeybNOU}b57tTzT z;H)ZQx$Nc_L~nTw_eFggd1Rk0y=3-9(ZHuz-b_;qZo#k!4Lq98Sx#IG^e4!0v5^Wm zyxE(Tl$J&p{uQyhtODz03P6w`tP|ElYR)GAlW5RM1Y>qIza~@j>W5WCryn zO`_Axd{NdwGyG3|2D#JvD_xh(;|JVN5b7H!!#Ib0qIz~YWAz|Ka9~;@;Du>HCHW)p z2xCOr=Bj|>Q_4hNq#KdM+gL)ug~G84rM!~dz0l+LTG0K|0q-Fv;?VK}Vx!YUbTc6r zZCZGdxNtWUQtxi@e*QcQ_kGhuDp!@E&Bh{JBxdmey{~l1f5u>k0Ejkz{l-LsQHHP6 z4D5~ep(MMh;L9Ebv2Rol1-_pS^owYd%M+GaI&Ru*qq6jPt;JOx`rEflbn4AKFk@>b z$X-^Zw)&avZ{I)o?T>Uuu2!FooxKZ&LIF^C=Fa69tp)QB z(BdAM5#xc6vdzEhh2F;Bd4GDB^PYTp0OWtYVr}m&0Gqb_20K5ii#@tognrE~X2`@J zT@*74r?`yslxFD=O_6m(S>04d*Wwz;FAfCh;x5IRKx4l9{Uhvp`#c~m{KM}NXKIt1 z?8s>G-9>8k9QOT`Il`hZ26*Z2Ab9BddAcU}0GQHa$#1Q$V-w~}!hu7X!pSR#!M`7J zboe7r=A(ZkZkHq3s=WztX3aO`+?dKg*O1P<65Yk&`{zO|?n5&#vzgOUvdFC=k8oE% z%^wM#gLn1Pd?}(3yvo+W`VQH6!I(SHyT%gg{^P8M!CvNKeKvD*NjXX&<%DU!!|6Sx zd+j1WS>m@3W`IRwPPjtyIJ~nnA9_uR<^TGr%zRs!4$Myu!$~c##ol9i;X<{ieEIar z^!VgF=6gsC9HM8_D(1ehE`lHy?HBR0=c_XZXbXbve9IVIX~Mpf5{XvJkBpL%ir{l% zDSo)1glNpqXCC%g5!d?V`6ZMZn_K$~o5EhO{dNKEa*g3fUEPj1?3H7i15z<-a~f#p zyn)|4vA}hL5gim%g|ybjGu=p=>=<;S=M}QdYa3@^Yh%sV8&}57T9SmOQB>us_cqm# zj;(b~+#pnmP@_#3=Fu__3+XGDLg|;G=b81D6PVsT-tg?rOz6E=4u;*`!i-#-&KS-X zpZlynVw1`B%*cr}BGI~zxpusbsWA@$*+E%!OUE%{+3!U#uznBxETs(XHpPId%vfOK zx|q0j<58`qW@GKSBe!cmBC(@hO;(tD%2iPB?Z6vxH4&!H3bKXaro5e=0X3WImQtq! zG^w*5HKf}d57DnR8!4ZNN7POaD^iP>!+zuUlAvJ~S>s&^`@ZfW_97bVQR%1F7vB$C09&DRsWiilC&@rta&6x7_!&I*3xLMXK%hM9Pgp?A``HlrZ}b zweY;HNI&&5a(@_yikcy{#N8Er{ML)lnMzToy{|V_XKbKL;^Fsq0ld0kJpOM^( zSW0q(JrXXx2yGdCO3%;>dMh#@pBUr2k{?i^ofVSd(MWO+q?#tqqNZ>E2SSf&atr=c zut#>piM+=EPhi=K+ksGx1BuY4tl!5wT`{%1wCvY zkgp&QJV}{CUeTSy9T<3t4sV!;_@IcKabpQ%-s}ioPd>$+yn6)IF7Tw}T72LZHxdc5 z+F{vOUErCkP42PYigmrQ*;lW<)^+A0ySb;w_{Az?;PeM2G-2gSpc-$BD~k5RyRKGT zSJQIQOi_*KB-p^6SuIal6fLHx%M++?*R#k(DhGWmkU}yCo**NyVr02y4XXOBg%&BN zL-o7Q;l!LlnD+7}v(2p)XUkXP<|uQfF3|!gwMG!n!yfT0_EZtvSQb&``IWz1M(o7a zj}>kQHbR}`9O09Va&&d&UR*N8h*`ovjUq^v{&hwV@80fA`ignzqrS=D*9HY{`(i)L zA5Z1|)iS^I@24wV?X3;=RK>7un;yY3*LTc;dl!YuigyT)`NzbOQ6=>8jKV6(a{Rc- zO2Vj3vh>|uPW<~O^WgiqAtIu%9$U}5Ck$3=V7KXa!^b)oh4aszWY6EOMQb!z_}=dt zc$1pRAHAUxp#9RlLS|AAvknC!r&3v{m645icAN8GTTey1MtH<8y}5Ag zQZd8kTM?fRe1dbI5iGeNQRo@F4EfgE6LTiSK+_|kQ0c52^EzcM{P}DH`h4`SU~`&) zIJd=;8;MbehKEX#vX2@#-S`$fn`Z))WS{dptC!=uH)4fE>W#6_RO%; zjZ)#`Cu+p7e>`XnT?i)K)nejo6|od=8+iA!4i=ggz?by|S~y1s^^Aw(tCj>C*YOy; z+8o3uju>LK@3y$P>s@W!^g!U!bcnEOs$jH_o)xpKKL`yUFXNq=iG<44Il`+awh2qO zoYsQTC1dA230vI!MxNml~r#2OG5{2Y)> z9)E)t$!J(xGIoEKF)zo2g2Cm=f_tikyn7k-!XAP6O|#B{&Dv2&oK@3euEc86sAwrY&^ANIIO$_WZz{Y#RKuz+Gn${h`Q25_Z zJiMWR7FatVh0UpgoTf<-$O2rLHjZUC%m8y0EZ~=4@%#hlj}n1-e{r^ZKTv;ok$vV7 zzy}XQar zGG^~oE#AM^P6DSF62h8eOF&9aAG7-UQ9{lsl$pG~nm4KA0DkZ+7oVNBo=`FG$Ll1n z;+YeJ2sgHzxTH$oSaNt0w!>6^|$a_<8XvzjT5+Rb}Dnxq)JCju5`LxXZt` zFpzod@|n3d|3AX>mNYPlm`uk<`S9QU93o0$W6-BscX+L&9`$nf`AfgZ;nCm4bR{WG zD4qL=mpc3vNE}{VF?~eo;^L-NHMTSC1Xun^3*VJw3sr{wdGnej>AGoKn9fz7Xw5lZ zLYauCOt9=PX7ws@r*(yxskLbZr0*<*5@M!a;`T!9yr6(_sGS2gZkz*#mg@u0%O{B3 ziGjqgpa*pK%NBa-q5+}zP_B@w-X%CoYVlo8o#nZ8P2%}Zo5pt?JkE=3(Wnh&H2AC4 z-1&j$)d z_+ZL&oaI}~I!oj^gv`yGCwz{hnbhlV? zvsLD@MHSbmIqp5|bladRq2lhv^Byc)C6@K|`OWQi%V{dy@Ad|?m!Wni6^e0&xB6dItX#T85%M%=M zSDP;SwLPBhcQ7q2m3nv*87MK^S~1?x*#Nh$HhK_(jg zcd?56I{zB#3rS*gQ4%XGxsG#z0`sT5fsj+kA`;8P!SM=paAINszjd#&Fvl@ZSW=iR zsQjuaT=pta*p(Y67`ku9lgpOom&>l?#gcz&_g}88t$x!`+bHfEWp`b~ZJ%XC9r4aw z{2^y<>CxGuWge#7soCB5+b{!Pmumq}u!Ffc=N}zq`Bbc|en4#fdKBGSGsfqcpVu}Z@+OEO9Yg|Bh)QCy7wzI*Kh~lE?A)Y zt7}9T9uLuB5wGEqd`l6r(+oUpnjvyaoyh366tf;b)R@+4DXt|o0avJ=0~a5y;ySe| zMR%l3@d^8r+_6Q=ggHF{Y<8?GXR_Q4N*tt#?Ue4{ab%7xx$aB&66zfr?>{8597+Mo}Y_`p3LJe=$f%lnJ#vbxh;5|co8V3u103FhspD5 zji4;}CDC9o3+Mj1L>qf=B26xtM!V@*vNui6i2{PeZ@m>XDZOeT*kMwQ zULVZhlA`XhT^qK6`tOrCqfN1l`&=VbK5v4^r1}@i{2C_O@;L?SFP+A9J$Z$t3U)GA zLwtY(y`C8z*kTF}+_xO{nP;1JJCr}E_A&@h!KXaPP{=Ah-7(dGPPwmBZ-Z5C_l|Ob5m&9h5 zBryH{AN|DToG|OvbHU->uYxyW&UDKgEDX3%CLFA`qGKIBgn^oRwE?FFYqwN6@}9c7 z@ur!dwIj7$Yl`DeaA|r6$&>dy7?8&{`)VAGVhNdzsMxA=ch8H=f(NR z?@$k@?kFNtkDO$VbtrO6Q=O^CfN0T%&;J2g`aS#CubI18eUX#cGKVx5f0qT%sDit# zA)fj90-8N;NIA~cCfoA0NlEKUK;!!)FSV8mQ(c6=NN128clq|_)-#aG_dgO+HG$i8vGwC|4)%p+P@#Ei3LEGz1OM8%C+o6FU`97 zZBxk`_Z93Nc77B6-B)GruHZR4-{c<0KHzb=TlLvbt0ZSzMRt<6Ew%!6&As-gbRfka z3=|bikf!Q76RA(PtswVC} zy7%x1etl3GCTL8$taifmvUY?Or+3=MKIipS`{ZTTBIRtA*|xr^sK#+`-N2W2(9O%O z8=d7u-TamZmEa|jU7VrFZnHh>%S#Y#R(K%h1a7mpT6e}??~;JbKR=nGx{U01Y#xO# zPcI_7Rb}huz(|osdmTk@P2^T0Xg{YDQCmZe&`HN__Fq?)!j=cuDrN0jE@qW&;k5_$ zfQf!BNGoqYsrdOaxp8+rWeH8{thGOiSY7KnJ&6)g`Se#@&qsUFjHP)fW$G=;dT_cu zeY}vGx6_s?+5LjNzFUC=O9klc@h@m;)_OFMa}k#BeFGH}hJb%bHJ;QIgd3?`CUvF( zql0p2!&y`4ine|_`Oh;ZBXKhhJ~9mY=59qN!q%dHG1K6Ir_?4 z@8p-}KZJisBw3~Ch<1rI(eQyX(x=ItZ?_UP+G&jd_5a}`&367INFnDxDejma37l%F!0Nc zoAA*K3D){XE&X>UpZK=nj4*EVFWggX0C!y9$F?n2WAzwI>~Q=du~%*?^cegN6h=;> zZ9ZZ*Xs0F7k)9zib1Ni#4r`*L*)FVi!w$UjKsol_6-VH(38di@abQ-qm41Fjk39S1 z1RL696;OfN@|Kqhpqgw%jNHpL)fvCIOGkNu5h}raop~tqkDQ|6XKn zCxz2vrTvWmrF~r9qB6q7#RUBh+s;37bQnI5RuT`u=#=1qdu!qME1!U)wgdhh60!c^7;)pN^` zv*!!;iB&o0y&rL*Q$rAGE55^<$RY>u1D?wbgPH~Bk^O@Xl=xl=89W_>Levib+2=r3 z${4P!)dKf#l+w!I66kBYDB}L9dj8hq@q8n-|9H()W%)1K6hNO@GB9`*LK~f1N0V9q z1Xt&s6TTm=;$8X_#m=ew2xK(kS*8DXnv^Zk_2o-YFy(|i_x@&5G8M_%)vMUL{m}q! z_$)Z}PlMQIaHM;xBaqnB%5vPE0Ifae~o;imkjNOy}T zyyIm6*1XQ3U(DNyZ$)ee3frE+1AQ!z|My%tKTwrW^c|(6%ky#eYBB5j9ZM+5h?%(8 zjhPq;AMRqW270{4jh=j?9j}^~f;uv+zztm;)+jkzm?bw4b`RAP%z+E|hW|TarN1rF zQMVi&u$jOmD-VI-i5rlX{%QXE4_jdZUj{0t&OrGi58%PTqsX-Btnj10F>^rH2K6my zgpmx}-qdJJal@xrOwCD`jOe4KP6 zo7r$#gIRu15#&fs6B?X6#cv zY(eEc7LmKML&YxCi)hgTOAz)>mXn%11=^`TLMQU=P|7Y(Fhk)LGBiC+X1^?kH9QTn zu9X7)W+tTR=q&1*$PX0p1}pi&plo-adbYqzm+|BURFl`nJq#yQsX%`E%n`^=&GleaK!^b4DKUW+tK zu!RlV4)f!N0=Y}$i_sDgO!^cPC@JIwy9n=O+CHykzt*oO{k4Z!|Ed~@_v-K`_+B7X zOm%U}#ynP9e*@VWoeiRbZP~vWcEEUtE9YmbLbYD=#EDyY)b50F@@!BKV;Z{y_s+i! zhGO2aG7p@fLmMQS%uBSAV*&U)e2s(}rd;=h8_4dp0XJ*@a=0SalZ>vIL;l{pl3HKB z6!>ma;W7_fG1~W@GjEz*MV}wX!<6gD-ulW`JhZzM`+o0%L-pq1?~oB?w*@hBb1F>Y zkIb-)F_x>@5!EKldGb{ph2>*~5mWe4<~Q+F97J@UEp( zMJ<|DT<+$}Xtj$K>1dZBcKIrjg~^HdZleX9b2$b+SoQ+clkm$trY@bQp3Y|-}q!plKQcSP&Ury#X%!l&}vq^cqc+7kmAa_k%jJtY_In~dP z$r!0pY_4^V@_k@M{#~TQ?VSekl*Vm1=tU7X^3Ox`QzD!D@%9N5#V=yV+pOT#|3u{R z7gOq78V^&g?i=ftD`cQQS@m#VF=i#J#HX}Tdr`&7C3vEJBucov3EcTBRTtUdV4vcT z(YnwjqANe9kS<;5yqCR>hp`xBSN*2uo!JixBL( zRgaA(b#jfi{@kU~_qcj-BJ(PF9kXY@7k(8gO;-J=;*MR}jkX@qWCP(Yu!6+JijOHL(wWNl4(@eR<@WQ5o#l9wb7N??@x5 zBzD28KJuLOGv?y6DA5|(P*LyeQ`~d+XyiRt4^AGlfS;>okSn~>M3y^$k{*vh-N`U* zq|^bp)dw57@9+2Uht$52`&YX$A#YVoD`MYT4qTXS+p&7RU}cIsQ?o(rIciX1Mfn+M zb)p`!8=k;VHLF3D_F3rIT~}u9_v5UT=n@-{x12qYv!0F1u_W^Xv&rFd4>Davk5kzh z$hB}b@N)@;Ljo|HIKP6eJTivKyLR|tBvKWK_Geeb{2K=2ShbA zM`*5b5KT6aRu%gZ@x}nuw<~VI{p(xfs0tNZ#SF|SF zsfswKT=VKz4)4G4*TB<85(%PoxiwGraks;ZvHjK&PUDZiNM1N!)SXh!>g;JIbL5wE zYj{t@e?wn!GIf@8xl_#5Z_XjJZ_J?n_=J$mf_E^+Z6EzBx(^TD|BrpycOGk#X^gD$ zZ_rgd5gxX+fT{M!!NIlC!0YyQ(7LsPu&%@W$Okw1(&8=2#A%awzjmFo(|rHi&Zj2V zerQTM6|VoDO54&)`SCWBcY}y6BX{nY|s5!qCJ^siRS1WZi|Blmc2uWe4p2% zHd#rS-SGq2eaNJm<#bWa+5~D_$|wHSNLflkGnyVxegz#l5qkw~B0nc3L)G>}@c5QC z%0I>~AGWHNSwqj3ACQasF_LB{GutW(2f^kC8`JL|gKUS57XsjOhhog>q^;VcNe9afPym14;Qr!vWy-X!EQLl*wbnDnpKr7gf2_< zxmOqS@SzYs^!avC_}g8AZ7|Y+O5bA1K)qgQs+@+J!ZUfx<8+y7(@iL<^dwpFEDKIs ztpHkoG!a{VI>LaxZ6HzWCzw4ji|vmrWYH8!5TUn#+X@oN6>-0b+)ZQXyx&t!ZrDl8 zm~tcgUTXuj$P~8F=QO|f8bJ9TN8qe^cC}WfPB2MzDjOTy4+9K0q2?}U{#hkM%0m1d zuuIHSSswD6HGC4sUUxPEm)cC3V5yC4XzvI3Vp23Gw_+~q;Qo@mefBE(-|RU0Yy4bt z?xhC)LB1CCx_mEkQ7PRb7C1VPDiI<&ou;PJ1dV0WY9NJ@y?oU1{&gkuM^Qt*~&pQJ=U&ev{#gAjZ zXdAFm0x>To{xZ8c`vq*jag$ZiUBsC@jb>s^GMSmmWM~MFTw<)v+6;$?f5ueMIyV}we7AsA8Xv)3_CmT-c7UizDkqlho-KUx zG@2I8Eub$~Jr>@ZElor|TgLyh-&5c`vam+=i;>+b%X76Un#%-{$A8<^o$h6(8yp8t z>wnHbm`?X z`p?8S#Pw@Eb{keS(4o^Au=AA+_Vjp4l$`Ri>#OHqvQBdr&P~n(S!-OFHT5R+jahe? zvF;$@f^;uvWPAs5Lo&icf8>$Iy=Ep?+;QrkU;{D(@76Bdxl+s#a$?@jd&~&`^b6Z0 ziUl_6BB)WQj4%CcqaRd1XHJ*>6jZv*hVK$y2!E9whr{CEqxB(2s3)l=xMZ(Rs4Uxt z=VpK9Ke`%&qS8^Uty!N* z9G*srxzh9Cx(_qy2li>a_FeI{wPj&^%Ma&?rg<57hf6pA&NE#mXXkw$;Qt2NwqJ$I zs-_9uCHast`p6vTAEm3blfjiT1-t)IbmosxeQzA6$QB|IvSuq4Gxy$e?pRXNBBZn_ zlJ-(6EuvD$QcB1ksYFO(X6`xXj#h12REVOKgwmo-#ivx?`Tha(%l%>QecsRWe!YIK zBFr%}6{I{X6YH;vyM(uL`Toafi$@XCUHkUZ-79u5jcHw++je;> zUw;$bTpA&GDRHHn<*xaQ`4_nS+S?erzZLEdDrB4;PE&J4TJlG_7ag7aQs^D9rbrO3 zUsnEd%K1@8cU5M^hDnBkF6kA6;haW;7Wa7c5pG9}lq>5La7~{SxNA8H^m_#-&LHcg zuxHq9Ch2tnbM)X`6g|!Xm5&qBcWQLGKo@nXL+xeBVK`FK{>qJ#`VXZQGU|l4iA=J} z!cL;Mz)QSiXM*^I|48xvE^RS7EEdmnxFhKfULhU7y;~Bc4<)MI6~e0~YlQK8YaEph z91v}obCe&tVh$Vjwi)NC>hWm#cs}*{G+ZgJLkIrLBG(kFuh@~(Rhcre`eMSrYuAw9VZqLb}|hTtf# zMuyD0jvpCRfQ3iSa^E5sBK_n;z#8Z?yl*ewwf&RyN~an)_HisfJ*O0zoKXZ0yxecF zz!?`U_$)go{faf4#K?KUU5IobeLF)yRGx(}tnW9lD<=;O3A=;d{dftcjoT{I4yVC; zOI_$T>JFuPpb~BZj_j;xArA8V1b*e;VHdrbid-k{M5m}nL30hD7xXjo^|6|Jq}KKRDVmbs5hPZe$J1|SQyGVir~eYZTfLGCnVBvV*)PX7OSiFhb(7(da|2RKyoP(d>=1dLRn2sne`9~W9SL8@ ztwLSDjq%^WOicOsK&tW&o|AD1rd#W?=TB5hTwN5Q_uw(nh-Zl;ub_=x)_n^0`>Vj7 ziwD5-#&5L3*4foggAat8KJMq0-`entVjt5>XFKt(GDXp2SPz1i{3f%$onc0PjpTb& z<6+|Cbk^ExKAHH}S=9062YR>*{hC=HVH1KB!T%PSQvX0KxZ(Tw2Un644`{ z^#`6n2laiRF<~~nOwh}(*IUisv-`{BG2>-z8&)%mo?c_^%`d^L<0zTEq8l``w_t}% zc4BVc$^l8q8vN0@Rq$S7nhcz;g7GeKe5daKaK1PMyGPU};Xxzc5Z%UUFS{{qAJp`4t{QUGo@fOpq6KOW;pEdODvnaml76!6#&=k6pw1 zKg~oDN4N5)lH~zma}()Xwv)J@vK6K4nXv&$*GMmu20Y>m(Ww+8(eXo}vKM)6ytc(@ zncLydGWdBdo?kbN6xkf*9hi01N1mL3RlnVtMb~PXjyaK#+iVQAgB#gnQ|^$F>m&Jx zr7GZ2*JyI8*&TXh9ATp@epcTzN^~0deFo%DiV|)2I0MiWJ!c~uKPak-7ioDG!IYEl za6qXC?~pjux#jnHP|&X`bJ9=){u#9F_O*jD@vtGVI^sA?2v>J%dH)=_-wGz0t436> zOS>zwJ(Vqrebhj{(q^K}e~GN)_DXo=$vReT!GE~c^pxnHSi+jQ9~E7k-%@?*_-d!| zQ&X!w11tD;Fq93u_fJ+AFanONN@g=PG7xw5s8g7!6TGsagOAY9k-eOCTy`WP3wQO$ zvscYlvmQMuvf$m`pi=V~SRD{W6g}KvjkBq2&H3AWR8Su=`=G;L2}y+K7-d=U!8lpw z%$dY&>PZo;(uOs^B7Qtk6>a%h2N#R<(d$XjESE1I*9V|oMRw1jq-*_&%8zwz$AyIw9$h29dpcWp+vAOZM zIBW=8ak3uWY#T;Z#2n&R6&%Hm<3ExaOG4ncH#dM08PA+trNcdK$^vOoMxwLr05A8{ zV)%2{#9E(@BQuwgaI5!WQorO8?IHe40&UKr9WfW-XeTFF@W++OejOv47rTYX9*+iJ zeW&5(sd4D(;kA%`HeSwS{(-OUeIiXU=@Hh~L__bdne4$2ZP;O>I*A$Az~QqA{FNsc zN&nGiP%}50{7O1O=By53DpWQxat;AI*5nm4xvGRWyfzdK^_opSUwc9hAF81?YF#6O zHFBTK)^Y4@c01a>?5gZ|VhlUIunHSm$Mc~+_kpI#K~nF!oKG~dW8a8YqItzS)F~#F zsC^zy-t3aXMa7k1YqR_wDdIXkZzBz!cEvFB68hQNb@@2shaux_I)i?&Yb~{5(Jy@M ztXBWaAsVr;zE9 z8|XaW8tJ*FLRtAl1ybA0$E$fi z835l-9!AFXXOi~VBH|~!L452x$koXk2}!<(H%2bQn_EnAwVYv{aAy?PscSC%Z%YML zS`O*z+FMlT9{#c)L23j2_s&hBH~k*P%l%8j<5wA{6~;K| z^I??t_9&Mg=f`C0b)x=1H9&7r3a(^C2tD0wsnAmz^z`D1*xTG6H|eXd<~ z^z%jC6B6 z-P#pPX*8Y!6GrAsy&7rTTRW8|?2X^)z>lgE*jzm;`S(Wwc|6PFMp+ed@nbjPbhB-^ zdU__~++GM?#?J!v9(mwzZz&iUwuugQ3B|0S7F}?$$JIh@9H!gM1-*pKnMwuD?W+iJ zD{Hw!BSvz=U1b} z<&no6Kleg`Z)Anz$WSB4!QjcFh`4MLA;B_JLr63>9>Bj^Vr8+}QaSgs7ytMD5FfWS zjzpMmVvL`tGWNddXv6Ya{Bg^6(MsJo_DZ9HXp_JU8R$I%6$k7=$nz-CK%Frj^!65l zOAOdM2h%^o|07OD2W43gX)u?$4<>9lfmwQ<3|+5~+S_hJhIV#*)(;Jtt+l)-Hfb_{ zVXzmO-ebvXlRzBVH=8~DLX*)LKZ6TY@gaZyhO-(^l*yTjK2SGiB)-kRB5f{CWP$Qi zzT)vyT&x$tU)((g9U5rDdp$yB>fwEOxar2~t?(Y&aQX&x8+(cbw9dwZYD@WLg0;+x zi5jrOvkGe-Z6n*u4~mYAy9j?q`$A=b8l+ZUMb~@NNW*tc(!3@SRjIl&O0maa=CL>8 zTLq~Yd0k+~{AVtTJ3j@ieceUJw`$-{;}7iWN-r|ui3M5)mV^6@27Xoj8s1ckK)1b& z!B~}zWSo%%4bN$3KUxOkhe<6=@A3}Wk?HgJ(o4gjG;bD~wbvJk7iY2eQ+^{QNA7((YeN zNd}^2U!Cv59s1AtvaWBmVen649a+ThxRA=+K?H*h>O2$e|+LO67 z?*#n5&WZf7+XIi$e(bJQ-O%sWcF=orALu@$!nbW#<|9r<<7J2iMS*2Z#N2Y+zG*1@ zC4ZM+eFWs3q}TX%=tRQ%gfh93uQ)|TiFdvCfi&7R;O%Z2%t+NEjQ`(SdhgD9suj@E z)z9Z~b*ry)<6phwHeDWpGV1jh!}^oV>q${`|0Z4-D3$k{9_*1F_qP%q{nW(v?>bsN zu^04N+#()2xiX(&R-$t@ zJof!QkG1Ri2OTQBMD43y!SAjw8QZl}Ny!WgI3>qil)%T5uTL%b^J^8@#+_e*;MF~L z%v>V7p%ViX-k3UhH@}j7wG2cDradQWyPUv5fxhgs{de&6gbyrfc}^N{go7Vj2Keps zo{F?r9N@f8#K@j*HAQtB<@+w@@9=3;G9Np28F~HeCI9N=cc!PT9DMW|=5&QWLGm-L zWoz_yz%Ew--{`9Yzoe$2XXPDyc56A9dC-jypT7#|o?1hpyY)^ww6@b+ztHNS%<7IFD%O|h2V`M4HRJHF8U(v`ZkI`ADg>dJwQAF?2 zYu>@`Hs4qg$DKbT0JRH0fFGCZMawL2k+NHd(4Ia|zGW~DY{*&TbSx!<-|#Vwp`IV8 z{`5(HIPLI_t(#iTW(6vOuF{<%vjv^FtzAv#b9QvZPRn3ELMNtJR>l?1@_ zO%StI$qi1un-s{X;GPGMl1ofT>rsK~x@RQu@>AyC zitF(8iDS5LsNDTKA_u*HCSs?C%UP-4COSRcHk2I7j{>iI^iZWpANquak!RZZWXin7 zxGb%g3=0|x_skDKGwDcj_Hh@Z@Rt>7)ho%mhR-4UW_=`w zw~7CXS-DoaeLxJn?`H z>uMT+#(BMB*@<`Hgyer9;-ejie$-8wzU?JnqXwzsAjQ;;=0R z(1amT_Q+`C5h`*|CWsiCir#3vA`2UCL4_&p(C&3R-7t8KQT9KNYW9~w*L5SYMUOGH zfAneE-RcBw@n;O)J;MS2d2EK=nmE!u@)d3CJ`Hc~&>$QLL02=b!H;n=a!_S5K9gez zd#Zz^ccSl+reE^C2Dpzsjg?7Ocs4i4MU$!`)xGoh_U8wk9&k>*tEkp##b@Zr3r6q2P4Tr3er8V@STWqZk3uDPhUJse?L96 zwC7!YdC|p)3+E}JcwX)y2b=lI%m|GfW~F63bEDS^)L%Fc{uFq^HVF%Zo<@^2%W_hC z@d#GZ?f^Rr6F`~ELFRd?324tY3gZdDMPajY2q zeSDg8kB*Xl`#XWV6m(VEJN~Zp$ntRR{%cjKv!fY(yzdxoeruG}6_iQ7)g}u~_WKG# zJqFQcmr|s5W4;a*wtNGU{gXIhf}H)`ur-06 zu=^!-cJC@`TYVsvbNvk0w1owc+b2kw+K+hYF(o{1nlqPkWPmomcU*wG5OTaSf_t)7 zk6HS1Ic@O!tA+)#gfs1H&A%;XJO`%($v3WWFL+IJ;n*U|O;czJ17_5`A$+uuqZEah}QS zJv>ih@h^=&p#D$p0C~&IYRHisQko}xaNADUduu1vBG^XXNt!^9X}m`z+!WJmt4~v! zoD14^{XUni10=VDb8y9B#eqB!OkRsYiZ$^!2BJN9CJhRXGEVKFHdrsd;2`jIzN85&ZILPd`GM;i@ zm5N#bJv}muHfgy_M`T3N+LGVY^(T8Nhq)F)tszC?;d#Z5k&TuD9JF5i6h5tTUvkv( zmCFQ2@cCe+#%5QC@_BJp!p>)oKFRSHW*dnsZ3<>iO1~5VF8y*qvm2w~9g4&Mm9GYu z%s+x7x029Pc~)gyWJumWm4K7yv(YxM3~?`(0;TtdY2CNFpeyMUGmujXvTOmD)VCTf z&^j)C`?C&@^O}Y|j!A`a|BRP1pDv9CisN!Y+;VdoXADP*^-rl~D#?st?IPO$-4BUw z&?o9;uqUOsLJ!9U|3^!W#PowA59YeVWO`9Dho_9DLF>qe(yWv9q;aYz$OAW}FQ(h# zYx&ctqWyLFW&B}rS*H`T!!46mUy&;QNS|Q}Pi-YTm7g=iv}rlBMwNd1=rOZnEf10k zA9Cr<`xrF5H*E$5;Tgoj}(!E|N`ys>{Y*JXQ(>CF4XxE{F<9ZojBYd+aIrtxaMi@0fpBFQC8XgwR_~6rl~PnvvsFYp_+> z4E!FNi~rkRgEimg;f56{*hgU}@^#w^9;y+b+L#F@o*MxcjJ?cI7lN55S@m?qrYF?e z!%AGbiVxQlB6lp$+bYZ)pCG(rgM}5l{ivC*KMB|O<%$L6Q2N;SgXCn>wW{tr3#z`J zqr}IPlz4?d#^n586?W)9iZmGhC9886%2LY;;bGzI?9V0+;U?U@JO@ff^^sc+GS~kHs~N8nnW{+r)Ty zY#R#pvd4F4KVp9Wx`t;ln*4tGO~UBJ5AcU`JzuJlfX6Esp+}Fl(RuX^_?Yn_bPAS` zvhpA3dua(XA^9rtnKa0rv--w0=AI$$7vs58xhh2a8V^S;If)zoNa^AWFUg1rtGOB8 zjm*1!rNk`q2xxS~bDy@Ck?&P+P)wE`x+dSBEy%ylh;NLLUGJ@7zO`$!{$bU; z-H9|(=KPc&SknaN!w@XZkLLY~Y(a+01Im5eSgPw)J4u_6#T+pm(KjNwch=KF4aR{zx$RRNl5Hw+nXA8MQiykuZT~@Mh)rR=8(nzR4X)}gF zspzLk4x&EyaqX(-iBJ6rMk)HW?da0H3E7&@9H#EK6IkyVE@|7glYTW|!hAS#nz*R@w~ao#BER&zc0RmzrU;_OOj7QjUB^S&xwX0v}ZnQMb^Y~P9Re&cXl7s z@&k^tP$t0Y4CjBu0`L9u0jXTF=OzVCp{D$qF4g?gFKzLL(yKn@l4pxDr3z8Aq_bcD zlN8+lB++qYq(eStiWBVJ#oJ>ZiwmriL>?cE*p);7uq8nyA~>x8cJ9B$p9`H1w(PBx z-|q}{x>7!$cQ1NLeZTrkGH%HgK7aXixN&YYJIQlAZy9%%Kh2e5RY#fxh|{53I>MUSnku^!kIo6B+`b1s!_?R1f_h%7vt>G0n=WRPwJ2bR<)W|LH@%rJi#vwz2 zhDjaYmAXpSl3K{Sb$mcAd&=RY62vSJ|AOmFGexftJBiZ#9*gQ*)nW9kDg5BHAIvzV zYGy+jMKsh#(2K=u*qhgO$bGzbSkGofr$04@tjVgSaHH!ER5EiN)N5EEYM!Gn+Z$t# z^~P(VAfpd#%>4!!v~j3xt@dJaUDtr0zh^dmN+*#l_<4l5d0vn;R&~JS(o<;Ffkmh) zqXYf^C1i0b-roFT4GzLVowqqjqyWc$lefMmR^OCts2w^~4F17=eWGx)4UlWpFT zMH7Te+8n-))TD0fEMzVic>?3Qcg!Uw7Q7mK2upeovxPMhHa%l4Yc;hRu3q>OuBp5L zZxBOXQoTSH9uOewFX<&(g10bp9?hC7q(YTELp*|aC7Z)w@9>`PVt(6>O+ZzDD${5S80!)Ls-vnKq;q8p z*}s;#vZ|Tg?31L&3>>B)+8*A>nja}}l4~r;)$~rFX}ANQ-g^~Jy^i@G*I3eEI}PZx zIzh8VT`=t56CxRYN0xi&AZXfqMHV-%P}X+lC?=OoMPZljN$peZ_1xOgShDaP?^CEGt1UZ&V;1Scl>0$YJ;IQDR(5CE zoh>4(x3@{zNp;x^^Dt;~R*i3*cZ*=jRlGw?eSk}mS|^05*_Z=$cL&qv97E-Ex5U#DC`ziuR8Ax zKvay#+pmWn9R8NQv+W|krTPy!tze6HhcvT>qnDtGdtRfPX{%)SYwScZCCajg|4qe( zrrxab!$=Z&bs^|Fa)sS-U?)DgAZfhg3u_1EvUS1=8*4fK)NFaJFZ+==yFwr^X3cq9h|B$#$e=%D?{cCL1Vzuj&Jw{AC*q z`=bM%1TwKa`V#MxuVr=w87Lq8ctpzbZgcS z>gXy-Z&h1J=jSuhcL5cW_dDNiAu*Xz{ekrvs_ACrGuSbg?vPk8= zH|@UowlpzgBe%cX4CGlPkh?WHpxdPp2D<5^PpS!+k549N*Nvdw>VJWawm-=|`7C|S ztriGXHgMYtzQYW$7qjkKI*eJJ33lxfF#ci@uQojyU@bGRzJ6TsBvcE*a&Fa=v=;-L=Q) zO@=gYT=$!s`EoSxU-+8nULT3t9bH79{NkByFAjsH^E~k}w3{rO@QP0OJB*rb=s=zu zCF6jjfF#|OzXQrYqMC=dsEGj4}ura?Hoa-aqrP{?JtaBrUs0@)&@qkCqVreA^iDV&N%bS z#Pe4jkne&EaH~}@0Xt5SOTTpS(og3AH!&ET>-^4mt+AjJ@qO<8`9kiFRRzD6_K9owQmIwXF>e2~-(30#15}hbi-T)B#o}u>gtzQsahNooxt$z`5{)fs zYFQrL9iR#yE_UF&*59Jet8^NI z7#{ycs--=J3(4P!bbomxOsphn;SrL=?_t8P?PJ0AgwM2QTAuXw%(K!T&;FBqyx|1S zM4bYT+PlOceiW8UYnWvh3+Po7o23hLS5gM<0%m^8W4f!bmU)vm5)CPSB}v(Q2&B5* zMav5_sPW5|0w14b!Ca3JCT{+ARP^6E=8W%B?qpjRnlW%%5HY_|8oFN#Pkru-CQS4O z-eFg$?EGoWxbQM6!Z}B<0e zlcRvBbvG65yiz!6ey%v`of)Nk@0NtQW=~!6{~(>=Vj#72ol4zbG(hJ+SI7Ni0VUpH zfHo{VjkYEHC)xR{fZ9=~EmZSbByG~xkajHB4K=l7)8)3rY&c`=3`86jrYCE*8J=v6qf=VY#N}49?TJfO9Il$%Pvq zrl$HAF}|9Y83V&)uKDsp#D8q#R=J*|yShD?EhV?5m$ZVV@ZnKvlDjVQuTw|O?D*~a zB2v8OEoWVHNvVxWg**Ssn6E?*tD%W*X9d%GXL7&{!TU;Gm9?U*aL^`nP-Jlu(4 zRcwLwR&yp}4wNoX@?)wWkKxV!nRCSj&lufQGpe-(UK`Gpv7^Wg{08s1cMQMvu12>f+H-nMxmOL*z1?R1!^?H-p^D2)ZtG}rTXvD| zSTkAH##FF<_s4>nPy6xbzyti7J2Ln%au5I7=?1g@@m4tH(+k!|sh&QECb5DwCd|xA zTQX@}1KzgoCoJ{xVB79rVggTnV;yT$M3ZKJLxPe#nCLcH_T)k*J$J@f(9~eab|gQP zuIY&qwNxbGTd;#SiZ>^PF)X8BRK;%VpCA!uUEx2cD&U1>a_9D>dF3wPR<%<`mby!s(cM~HgT_r3>iQs*Cz#IvACq z#ADBecuC%L?#_x?*zxgkbmI3P;8HUJbUj{*zWObKlP)wMou5KBy_dz0LiCV=L7OP| zFT;PDQ3Bq-m;u*R*fZ(`(z}-Sa6KO%kni6yH~exmV>xX(*_*D)zL;bNmL7fxN=}~P zE^lpSN^edgSDRw6{NEAi4@u&)2javf{W-{QzqZWf#T8~qwI+XIqynRp24GX)M!d+= zK)NehQ8a30B2%R_wB-BfeEXcM#sZh+3+VGdHBgmB2f18(lhjuZW5-P7;e9_2h3BjD zLrwJf|3+OPvk%W8SxI*A`D_LDPxxn2eE2Jgd|XbFZiV4KwWaKwvBhlR_9R#omlKA^HP{-!YqB9~RDRI?1X{X{WZp#Nv zDtB+0c*tcXXn%&eI>JO^^KmEa z7#T`dEYw8#eg?9g_AX$Q{JThTn-w3MH5VVSI);*iO31##OqeyMkMz6cfe)sA^v|^g z=<(lbyvH$*d9rZ_7}xNW8`fA1ujq8(tLyvVskeqi>CRVtQb_~;RBVAq?>u2P?^{k3 z##UqFxOx0qUmuCgel2f1&s^@bFlP*9tN95EL#wN@Pt(gUt>87j#8aO00SR3>mOp&U z85XIZftGVC*x+}8Sn-My)@=9Zy&ax_9PctYGg==EuUH4K|4jwEMi_9Wy(zr=)}hRv z*Rismx@fRtf0CRnzk(~Lbd#2V7R=RCr<;doZ;V$N>fe+ipDKO~F0*Ft7r*usRra^Q;=N|BPFf_ytL1*I-p zhZ#vX>TcgzeGcZ#Td?aj2`)37Q`(a@d>QF>w+x9^~lw=nE*!~Aww4Fb5B#Qam8O}@joqnX*=y~ zo_(iF-s!vmbY&^BSy;x&$`?sZnvOH`wq`%gn=>U+WfjTGmuVF z0@}2FF~2+JHbbWxpu7!NC~=PguNkzGZtnb9TQS$0r!XLisX?=Y>9UxNbgXmg)xGT2Xz;v z<6j$&q6hQl;t*S7`fisG8K#YxO>X%h--g9ThP~4C!BNP3)>HU!S1~i=gc8x1Ur&WB zFohRa#XujgT2wpi4jyX#4tMQOlb*G%r?2lTVmD}y!^Tft*q_02W}dP&?b5rGzHB*( zOTKdyZ~YH2@f)gbUL4!AY+~74wV9Jc1B_{%$xoYSt~fh%ICL*k^kny=k>3~xR%5dtl_OBWQQar3l!%{7xi^6bl4 zYBUBpzx;u;v|Hgzi#Fh$Bo#c_WB`Lb1*CP_StdB;B(EuFMBQ2yOb&(Z=C91iMWya- z#Quu`9zEGiz8gL!RZbaX8rIz%zItPw>6J^XkJN6OY4~@dvak$O$sRbXG@;v z8UT;uM-co6V9@kR*}J_gxIXG68}#ug5E)jGi+*G2*2i|z(H02U%pC;+`jo2US41-{ zC2D-%7bCdHOpQOF+QshQtpF!`nxUJ6v&jP0SiE!Zc{|JepWxmGYkYG3^T=syTt7}T>P4dF< zI>0kV&qb3Xs&I^VAhEhKhwPa@h1}Zl9N5{tV-tFnMfFZ$?3ttz(sCh<_faJL{pZK| z0lP)SZ)yPY4Y-ebeCEkJ(8s}~`RPF0w20~X8ABhcH{_O1eI|9&ye5rlNtO(?@D`?b zovEr8BH`hfZlV4IiO}-vM#0O#Ly|Xit0ew*f+WAsmd!+`**|{sXm)cUZAc5)dvk8_nLD8VVP=_QOo+0lIlnC1_DQ z#~6xu;_=)ajKT{z@t;j}bb2>)!fgns4Ao?BuDymw&rXACI?oyR_Xl`A^GsQm%M#|? z$67X&TTjL(D-yGdCal@fV@QrMhVfgYp}oEZ>>Aw+R%{GlCiEu}x^6s)`*e|8ru3TR z7^QRm(2*?)1?(NA`GD>AgNe}>m?f95aIO}HxK4ElAKLi?>^Q%f?>CbtAHyv9_k%u6 zgSehHkqz)maQRUxXd10$hFg$8MCRIt3ew5NogHS7SqM^d1=_fMc$WekG%meZRbU6RDT z`7Y6zZBI28Z>FrL=L>IW_zLNx47GZ#5*6h>SE&DIi!kJkpU~XBT`=3nS?un5uBv9D zDU|gU(t8`-NkC~W*7{b6e>4R0F$>pX8>a`T<4QVA3LOH5rI^s()B(C~)J9?==Yoc| zEAfT@O=LYncd*8BWz5-gk+|cjJolJk#EM?TbMIfraYe&Zn0{8mTor#%_;W^aT|ajQ6+ooYbZt;U)Lb;FT@i}*t zA7RYfKH9*!{HVfP1S;4rXdbAS@1WZ=bRgFt;5>918LxALWU-(N_$<=kV_!sYl<8k) z+`w!!rumI9cLKxj`O+gza`{k#XI(t6cV=bPjr&uinzjlky;qef*ekzEh4GB8v7A5k z_XZxkV~XEu#xdV47htc(XL!Z15BP7_SaQ*OI4OOt1Kv2zgU-KsIiukcup9J1`5vFB z=xzzU*=Q5jxm63L?>@_wNQOx_``Zhx26BXJ^a7~)e~|F)*BIerokNs=$5o+4kT#_o zxrLrT(Uo?rSD-e}ULYP_x?2!y)5y-H?f46`vFP%>Sl-P&OSZM-o>PypH)PbJ*^kGc zz!kHRXq)yBc8v=|*EapbnO_9_mAz+0sz$TOu7^2%q3t`6r`Un%$rfa4$UT_ikc2y> zQuNx{6-(;0NXPj=^76@Rp1!R^lDv#W0|VVcue{^3-^^@TVtE>w+8e@-==maB-!zgq zPIZ?(95x&(UYY;{_G|<%_S%d5q`&y;-gR7;(IaxYd^URthr@ww)@*RF3{|;&WYy1) zWMewV^SjkU$(rapvg#gBto8O4U$jrm$5_0Vsh=C|^ucu||GU*+_UbspI{jElPPQ!& zr93G^Yd0H;I%t~t7~v^;{oP1*HM<#}X?(+lZ(`l;&2yAeI`%g<>fPj$Jd!R;(hEwF)(aJ5$G}A1k+ObfYOb-w8!gQUMr>^Ij>X^sq`0$%34k_qe52luUC$P z$W#sQpLha$+v-%;x_sxkJtnfqyWQZ2^J(^J(`k17Xa?Vx&w;-6%3zEMEZ+87e`4OC zy5QiB58SP3_sC0Y1=%ROlknAURnZ^Qk?i!LHX@Dst+LV(nXKkOK0G1kIO^5^0L-;X z?3YgkY~|TFcG;p?AnM8!v?WU$pZb4}{dgiwbuNZ^=S|p2b}?+s?`P2dO9L1ie302B zwrB1w-3a>BIv8hufY$q2&zPKE$=El$QduYeO8)fipwRro^1ZB{uvMxo{C7}6-ocER#qC;u5OYgW@O;$_CjPoV2jfgcr4k|fv@XrVqH`1$hLh!fG$YE z`d9u((V72K@%?d}vPL9ZC?sXy?wvVjMu-+sXt5V^^bk7ayexMjF(Lm`aQRpIk0I1if0W) zuG1$#Ah{0C`EA2wbu~ku`kUN>eJ$vr>Skixj>T(NQ|zkntz4?gDfZen52CLegZ)iM zaOyxctY0T>9TJC3ezc z6{q89#T7F($VD<0wvPrdim`V1pN-jIyNH9B^yxLUf3gwQToXeot1#62$Q^YThBATr zo9JIg#S}GqhI;=%nZC5vRJeO{C|1@Z%Ma>$BA_b@t!~^?;%}O&&rjL3g4uUWk2pBn z6}lQ-C3jz1N62@*WRDz+gdZED(Vg?k)|-m8!2v%5@Sn;{{y^vj^mNw<3VM`ElrC$9 z2G|Ya%#I>jsbmrx(<;PyF`2~T4-3if2j!_p?R)8j7DYNMbBN_iYk;PFC9DFfWZrKN ze9MdHpwyuZ{ytg69QyVR#LDgG)HlyVifV?$*9+3PBgo-ws(R1@zlThLhcuD(%nu0a zM7!zd;$eQUClFU(&3)_R(R+q2!_o;YraxH*zP_xD=XL!7{!#Jt>bn)fB(riPl+Yqn zHgpqZcrS>J;){GX2F!y}9eUe}H-u@$GVDj}Yh+mB0;N26LSf5p!n0{6+;B^Z-Mh{J z+}csfJY2UI{@_QkC4IK^W@e1PM|UcM)lpF0)R0wcZy?U}XA-G%_F=07#9*=48YV=$ zmA&#+A76FnjG$d*5`QMjz#AXRhL6(bL%*^v9LNX4&eIpMg1|`j_!^Q3jeLl;MOkq& zenm)H@*A)f`CG$RHt?U`odz#FwqRnuu7pbMH9)Fo5%!|Pg$UO8j*?0<@SuS@P97wz`Kl$o~R>>pL)hEgJ?Uwa31e)Z&@c*_&ASM%T;O9aM0kx1(Lapr#7 z4O}6u9`ko;#dbL>8#a$Nm}<M1HY8+3SPxDf#m!+Sbt+WTUY1C zc|=j{+cRp!aTRx>Z^l))cK=jD*{v0}efx~_LN4L+@&e(VTuY)ulnJ|9Fca?inFz#> zF9RtXw&JFT8!@HPrP!j@shHol7=DZD1)-E_m7qF#yYN}<6Tz{Y^YOl*d-zUAIlSeo zBtK%uOyS;PDEzc*wcuU84tKO?H`_t+*dIL!M0f$sszz@k*J)Iv581iUX=*t%-4%=$ z&QOQS_r0;Z=?wA7MFrRz8Zd_jHWS;wEhhHi@9?HsDImA^Ep2o*gCOSW!UN+pwRJ-~ z9$Vgq>kLk1;3tmZrPYIY2O9OSP@@&JztGZsxx|MX-|?N!a@=D7V}vt>gHaE8*ezlc z+K8Kzx$IAX9eoKS!tNnI4L4f&!J53b={XxKBMCvmFwxfYBgRF)IIT78;jGu`ierVrd%Exq&uXzxYWiv=beD9@O2P?5)aU6<==P|dH)kssb zG@{F$A?$6#fxo5`6n?Qo8{X|Ai;gKWS(Rsb>nr}?zKgQ)@!4zOgx6W5R#6YUj{TyK z?N}+S_6;LTG}GveAa8tT^Kx$V$`4Sm{}*TvT}0ey+)sVjAC-( zUSX{PWPb%7C7ja&V5{70LfL8)mT>+N%t}chXsvvB^Ij%M11sqHsL#o_4oB0-- zj0%F5FlbsIctiL=;fL2y-PaqgwQ7QE!h_)GgaKTl6b(;=s}i14O2pCm>g@b+an`3{ zCi}P2i~VSHA89>4!#rLVM{jLRpvB&r;+rC70U7al5S%**MkR1y++m3i1w~^qf9GNP zc0x>bl_IvK+=};%U&iAmWb65GgiG}wNHL3{yTN%&1@pK|0#D*}JVg)E{m8Hk#Ut)KDTtP0_qXFCn zZ@8IF((JY(2k<>+HsT5DsE)ifD8MitWI4(c3D3*mInG}&*BQaN+M2}Id3j7s)JG_| zd0udJbOdfn*uhGiO<<}uBAEwsZh$|gC-9SII{|($mRqD~3*?0{1Q92RY%ETJ(FuE| zaC!wk8rlH*nqE^=<5Jj{1>KC}roYTTY6rouo`&Y>uOT8(AHB;=m*P;sk2cwa7LRlqxicD_AY%5bSmPo<@Kwf-O_CIbubOvV7L|K|J0>5 zFD63?#p70vGxeZ%`90iVzC12AYlVnK9*lfD|A_J!e8Tj|6gqXp7o07=j=FB{VG{Sv zfZ8z!2$$Dm*nRsntIkP|yMBKG^vQJKYP+`M%AcLUT-UA4NU%62r}rItthJ>6ZJASU zy7NJme~MP!nFSrf4%(2J?%<8qIGUjNNPi&n#|eFWdIv>))Pbj&<%HOgM4~F}A<-+e zB)TK+A~V}-sLJyMbK~L?Qd-$o~u$n{6&>i@Se)nMV>-0Tny+g4?d|>xrE)>69o#$ zF%&S*h~InHli09Hm#|*5m-hLwoeZC!j(@DKAy(b{#Lh5@2jykjkQXN;o_|!PTYTrk z+ehDUqhSris>3{@pugN^A_TpuL&>zbY?TC45qLz3g+$WVnZ*A zv*R1RNR`ifkV4lQ@NxAam|tDSILt|>jT(oo#A7vyz`|+FMe9UXt9J_B{@Q}6zkeB9 z$IgO3zV8S9bxH7mlmZB`;o-ylPRw&k6<*g=!ASD2;vL^TKyZW}q4&oE?^~0Jzj`sB z>y^2WYpO;OqqPaFr)LfGEnXe@zRJgbmx;J2b_~w_*#k^6>_Cv3G`JEGO^DyLLUQ{w z!Jb!A3Rf${}Sk~KPsS4Prlw=ZwWoHy9NB5F97d9 z`=W&dkLU~b)9?ouh50+R z1pHR9+I6wYR!Pr)*KR70sdMl4svCVd3M=oYfIa=YiAO&(QJI1QuFl4wu#*yC#;^V0 z@3m{FTu~W@2kdA1GC1L!vOKh|&jsK8*N%Decs^>qQNYZ4&`$rlIt{FyEe0npPa~`s zYETo+QP{fv+tgIWop_18F0V4Q)N7ZA`{+%emfbw2qxLVqJ)0r+dQLDG z7u3?R|4yT-zpLoXKQ3st_7=J{eIDwq^P^F!4(`?3j<(Ks2lu14;(aqOqi_RdVJv?o zG>9eOCKm<5+iDQ`Y%h5Fb{+9zg&2NZ6Q{rHY{9QLYhs5A zccNV5FPQ$EdQco@i`Q&5gDclzNX;;vdCyBmdy~Y$$Ye7;_$mNxogzf_FFN?#Xj0vl zX^wED<~(J*F#%Z^<}(FQ4sD8;z;vH6Y=IC6w5#hOvoybnZwkf5HA%@Z2O1;s^C{vDNdz7p>d$ zK=)3e+Vmn^Bj+0JHMI>>$jYQIb+SThi~D%yqk~|&O|CFY^As+-!JDe=p^FFA#mbj7 zzo?)J4J?OjRroi=MPBo&Gg!nl9l^h`wZhWdQuKZf}VczR{h;7w{Q)WK| zSMJ8378HjZ7<;ruwE#uNJE9LQt#nPv8Q`l~2E?TJ;8-(5X+(%6Zn7sm@Bmj2yZqV7YePg7b5%h!1~i8ZJr!nZ?+qnr#QVtxliRu3LUf%VOq-e$(D-5*9jniIr#dQms^Po#4&- zyWQg2lb*U~0oCT*v29k)(~i}tj@esGF0Hmo9jp*M@>HpNb!?M`#L^~<1J91~yh5UC zFJw>W)kSW!sB_{~cMZnWI(@dQ-J+UaGaDsXRV6u^SI#ux4Xiv}Q`o3rnb|B`x8as^ z9l2A&T>0m4b(LLg-47I7r@!Qp)y-$;YorVI)!pQ$TV5)!v&b2wcvUvH%{v{=Tjs5w zS@&$&2P^(TZ>#U-XKG&f1PFf2e^`?ct6FCm`?2=g3JczhfwdMPqT>@#;b0+hsadY- zYP4EY8)wlx%egi&VokMrd04H>(qyYsXQJyW9-gc5P9Ep^9y&MK^CvE#DZyZY;` z3Y4ChGqJ&S8yEMP#mE-dx$DXaoKmlu!wQUlSA30C{kq+?tGerJ)(`JAKbZB|qL=rq zde;12%lA_iYjvfPtLSiP!DZ>Ny0#0^mS?&YEq*6pLW^~pT^b}mn$=16T?a0c(1K~Hsdj8UCYdb7o!$_}#*O*`JZoJ;0K>kbyZ z`zluEBx`)->iw|Ff+cwMq1iX8&yEb6GV}E<)LX4;l|094ojONq+6!~3HHOqMJwHJDPYQk4ERtNb?R3D02P}QRvUER{~w|cIkNzDR@lhrw&nyOP|Vye@_ zRn0CxeN-88S(Y5Z&Y|SnGq^MOO!igtE5>Iqi)(KxWK$e`P~)irc<`$^Yf2wt7Tq$U z?#1YEDVxd|bn6H4ll+1bl>|)iD?LWRsDqv%C(G{5is804h`1hIigZRkphoVlV0JJQ zjKs@-%(})kbi}O^jrmL?v(HHH zYA)l`>&r@b%||Q0>}O7Xs$p+j@U360=78mEcd+*r+$n|8Q|uloH*R6{2PRlO0R_Gm z^*V+Y(dCazalv+xYpRuxZFqK-?dCSa&A~STHDwY0^PUl1(jWp0{;0)Q5H?(O$PB{V zIGpp-8z8qQiV>MtHR>Z5cwrBwinCf%Zo!cy{amQ@FD7l<0ii5&h^^@F1>e$@xS^Am z(A&Ew!B?>w@aUB}e4#$Uj^9%v<3tSSH!G&mV*ImK;^&tz^)p^Tv(??~@*~mUc;*}? z_<{zLWWJBoeD6ed7LVihk5|_-Gn0rn878nT)rd<`m0{d=uV8l<7^@f21chdX zOro#I58@!nxxCI}2)#nko9aMW6ee(wq)XZ5vSP&N!?JLOOA6F~#Rtk}{yq zsRrhZ$u8p1p8%pwZVKEHD27)4Jcx$Rm7ofkzyzaJJaf^`{X?D&F0t_d)>V9$$A2Bi zd$=o;Z|Y6(lSfZmro3twe7kKez=zZY^$V!FNf`^l(u{lT)woV3FI}Quc1;Yc*x5sj zwal$ADm)3}?hMgVhpO0{eKyc0Gn&penuUe_7mq?aCy~NDV`6n+3sRSJV#W_C;f4Kg zVL_)3@$lgc@`%L)W^VH>+}e~!9S_X_hrNB7miMAv@Y6i>QmTTTnf(^OlW7azADYGv z{m=z;Um}U0(&y^>Tj-7R@}SaVY5J3T6EfcLo{=1Sk5biGrlr3C|G7|#t10p#dvEBo zU5RhmMc)gVxZnBg{ZHP+o{nfVb|Ifp9NmEYde+j*i*|ujw?}LkzmSpZ6RWT4v;=Fs zrb7DdB6j5}5i0<8BKJU1ZfE*kRC;PAa+q7o&GnM!&bV%8-A?`Eev8~FtFBG2IgCUAi|-H`L6_uV5HH06R#wbG{WnYbA z+>^K9;&U~y!aLWg-6;!br?+dVEzd61YM&#p~F(V?a8N< zf2IPx^++VtD0@IeyUQ@=t|SqC>2}29`(b3V#A&!BF$1>#E+QPcDR6#ZD1Jh?nJO;t zA`d_9fD?Xp^fINXYUG$%%OFtwyT*PpWleC&FZG^rsdP7ftA2uqKOC_ zXs3_gY(teVHnWA9y;RDr`zWNym6Sev2rOGQoqMpkjys}p1Ny37g#lB%>0JdXq@|l0 zu}54TuKk@uD93!F{~oWEvUeQj5F^ju@rNhPK2zK)cBsdVu zZu-WsOX(PxUME(stVqI}k0-$5=(q5)(_HBNb`?FVRGZ)NHvwI8p2P=AXtrC?meqNt z1&XgP1E&oBz#RAkCj%BhHZugJH&o&-Jx0vI*&o5)jTy|r)u-5?yd3njARoCdlz=@e zU*UX%4cv{xSHYZfSzK1-Uk<*K$B)}hA^y#oMQ4xFXe`H#(e}EJtY{_t#C0w+T2qYDPuuYnMLr#^Bb&H07iq4laTc`DHRHmXF5#O;hQM6<43RH(5&Z0o z=X!B7SYYYMBx(J`9@m|rM;!Uw8Iy4Ew(I8Qd#;D8R;-JyjTHXiC08BB#m#pCXFd*+ z+UDX`^WV_69FKXleFyRWw+smuXcJ53IJ0xo#@H9scD9eVn%MfB4__qc5r5lkiLWY4<2zOI~wre|?d{b%kc7YD#Ynd;!GkL;uTRxkT@<|nm zCFcm0*UMtmWgSc~@k5|+PJ&AKoGFazP7uuTnoT}gI2A2$S;I}Ae-bUQ(IJ-Xxy@?a zjA!n=`-(aTBw5_)B9Sc-gi1}rDQD+mA~zu&txy~#0%cAEolGw{rl(JZ_?*GZU(N!~ zYVU};XWrnIzyiaL-N0^6w%{C=jciv`pfbsRy3P3?ss}Idxqfpvll>ICyDouVl)Q+1 zb#fSK4Exhd-OX6OJ`lMm%+TllN!oT=7!q5w8LW69z*VxQBf~?Vh~ugY(eteaOvU6R z9qRstICHh1cxl~)!m909Th|8m^szPcnjUrL#FGpT(~U$^%^mA2D~qtx1&)MRz6CMu z^=q1mFM`2SBXBnO0x>tPg?aeXjI?l!xVbYEboiV@a8LoFZ%)p4oJZ;>^pYvaF#G)IY}fA`Vdavl|);Z3xpaj&#*-y z_xWwl7ou@vGosohk-j0~6goABfdeCl3AWY)U4FyS#_#76TYE>q7KKcF^yOvb_uwNQ zbl@BN#APuw_}7o+-I{}L)*i-*O~Xvd>^#EzbT4SF3m(epgBxhps}dACi?3D&hNne} z9Mh^>7Q0`K)Jeif>V#z-b@czNHk}dJeKZ69+b2Y7uV%pLerY0TW(@P9PmR4N2xX~I zNmgv`2rTcjA-v3_ko?PwNV{-1TIMK=`mdh?i^{X0cDpgOO+5wL%2e>n6JL4Rw}N@; z&&v7B)`tkIh!mm4c7QebYv7fw8Q7M{1c6k`TIx}>swki0C>-_66)H;F3I8T%Ay&bb z-rn#9aB2*GPFxfBGB!tBwl2kk{`B&qCu700oM&{A(ssHd1qyQ&cYqygs~*XRCcjc#Sn@RzTW#V<$9%a@c^|H)tmYNc z3jeiWamN2KiQjTS@nI+a&DDA+yD**kl%P%B48@ok%MVkrIu-Pq*H4A^+gF3+tZ@8> z(J=pkSv;jRGXzF>p0(O}I|IxN2;=GbZviPs9^h{B5ln>pFtw-aK6QP54d3TbK4!X8 znN7)F05o2H!&6MpQ|n&JF#-1#1n9PA-S{nK6hfWE{OnlN!e(T{?wmy7) zatgC?)?7UQXReh_z)m_M_!xEQK2NxeZy`|rx(E35H)8whr!qBfKhOcc5@@TI5aDyT z|L~mua`CpS4$$JjS!%D$DBteg6u$SXA}VjY|}&n{$EHA zqpBmt57;n6G}DtovTMc##)p5>+mmkc|1l9=1m7(+uj{$0{XO?h7i#@%u^c&6moXhuUs>defCy>CS1rrlgb_5k% zmP{?3ew9{fd_a#>9iX2rK2LisO~!Q}=mATavv`T*JN%xLAKn7h=m(CcC<{6T>mbEI zkmf!?>*+*MP2YeG^e1DNTPyjx-a7;sULr7wUnN*R&a>Lp%eUH6@vqLs!&jh^_OW)C zTcD-unp#V2dO`Kws}i-fy0JA1ACzmWe7B%A8k1PL>J7^Ca*iNDItysk93Xn>Hv0AB zH+Y!q0W`n#Dr4wD;ga4G{9o#E#H<)yAT#-t@iSTr7whDKy5u}wVgknCsgT*T`xkQ{ zLmlzzm8jh>k6-|MLS6X27nJI3!`3u(VJ8RWP|7kr+O+U7<31Dt%|4e3)Kq4pCmC}f zGyNTe*{qTYPUny(~DG6|Xq(33&RLP@I7u?tjFWip<OdE`HLgAwV2gB6S zsb))MtSv3xM_UaklnJBTYN)N@@pMjx45LwJ$56{6=`2MxD0?OZMkTl7T}oq2>@$5- zbo3hYtA7zl`_N09`uEe`#yQ{=BMvmro)v2S)1ddR$f7P@yUb5mn1jhgXYgIKtE?(G?K+-5OA$m4yExHJf;>$itTtYZoKd);#84*!T%N3>RXw*&7WX~n@!P^yXIV$w?1$PwE|1S z!$^}YXF*leC3d^>Ge&7)796O|fkEm7b~;GO~fMH3iRybSU9ydChCdez$XSHSkrgB`4FdmFU4+>8pq+EbEnJ;Cg z&rgJYUp5oxYEClYK`U@K4@YWyoFpaaJ_sZyrP)qHk=@BvhAnW|L$!P$h_B*JM1Or1 zwSM3%DYKY|$PIF|*k5_LS2Y#$PSpS_Xdevow8w)(3oxI*DU^4p0vo(6p7{D8pE;2A z2aW4pq0FDvz?rLci0$8R5Y3(uCnZy;V8)qjsVk-{vn)wxsVhvk#aXoU zT_b+v+dXV?cLMRN`4%;#7+}zmZ)0j5JZKU7`~uIT>J*mNnT204R0DUaZquJ5rXXCi zg5RPc09$31;OsCJ!rWSsm~u0e=_^`@0_I8(!T$`2Jt?>0yuI_;(8IaxPL0{DO=khf ze1D665HZP|S4d>8e49cmh1FmWq~iEL$CK;S$$r6}EBghN#*Tt7)7}dlRul{59v>4# z`=s)2{0Qcmb)G0f!I3>(M!s z+518MlchpI~fTG5Y!Z)Jq zNVuMuu=sE*1CnoJKIaYKDS25m>&7g`c<>AGlGYd1`pwvq$yrFhpQDfd6?t;4e(_N0 z39zPph2TZ!XL_Af3_fK^0)KFv^2cw^cZYFCzpVD$@Z z>3x=uak1yqsVvPae0-SY2YJXdDree(Ky9yZL;M=_&u$<1dh9Xn<4%HWUuI%fn|&A= zR|C9Iei*lp)5JGFea^Ra-vwg+_Tmkrp~9;TJ#@<06rRP;jqtV4RQPCB1~$BEJ$19E zn=+rNZ)IGw0*l_#NgupCCJb<cF5v=HIvjrrT6sd6%zE0eYxP?sA!h?{V6ju<1FKo zy$$~D2_! zi|ANdcYf@R`SI_&tWM`tS~U;J@$_rDEbjCM*Tu=+xBMXMR6Dp#zOEyyu=aP5Lv8;X zhMas7!iKu&lOekE*ax;BS?MUiE-n)Fg1DJP`~GzH_ey1Uo^At>+kF`)_}j?iv*J+v z!931H`Ufegf0fkObrIU=g|Z%dB3Q3mlGd*rK4ICjk1$%Q1e{@`%{cLcS&5Sg>=XJ9 zlRjLHuJvz1O;ZnX8F}ltz3Bz8sO19LL*F6ab$LUwqlC=qk^;wMwp%NV+yqC&TbXz9 z15hJqlo6ZT1|9xr)XVtVppj?axy46S7`)k>n(nz)GV$*e{jIdSe&^fJ8m(+=3ytWMl~{+qE5FCg3Rszc4!vetEP>p5<9&Fj`U4QJ$ z=6dZr-HiW}87$0^v|g{qpkUu^WYgG6(0^Ntv#48+Zl`@`Z37(GTQ3vAOWQHdV|E(3 z{d*yu7|_FI%(TNwlhcTo-Dn2e#ZP)_UQt zc_^}Vh%Cu|2b&CMz@GsZN!!X|u>N&(nMt8*h0i~g>W6cksN?NZkZ$ob*7{xye0Apy zv9B$R?Qxq=o)ct{AHE*s*rPpcTVyM{!}<%`-A1q{y`H0-HGI}laU=U`p&6@t?gnA- z_H#p$my#}zd zZzlXL^E~)GWgh=Z!T?W6ztDmsV+E$G1HEdQ2I@qTb&HZ-(y*%cmz2ieJ>&+am7Euvav5a~cLMW!><|2utQRj{!U6rZQXV z9of8Hjl$}7WBe2XU~Fa=JR@?SSH4OI_CFq>)O2y?ub;tn!{zP_<)-jeBN7`A&Vx zK8RWcE#C(b-TKpEnoSY<>hYI!cEs1PaMsUdbBxk5L3%c5bWW%P7=3T+Iy13#U!BXH^$eNR;h8mUC^ z($>~tU%fuF1CI_dwt=6KWYK2kx}!SrhloNCd6u}US{gBW3i6z|obo7T*Xrx`8Fg}X zkwWS6jr80kA>-0ELR;C0V`_`4QT~B1XrHk@5ifCt7%5l@cPWWOBiB%9nZFr3cS?ZN zw%dcQkMod9lnjbobO4pL8Y0`yEILFxnfaGgj^3%KqOY|)#x1lD-#u*{cVFy>kLZTu zKi}QP?uGR56CEP4-N)bXrm4ITs(J$~$G{PjE3*@>H4zGaS0(ZClX>(fpDXb9b}J&L z^cFj4Tn2~!%8}#U;((l;3N9+#0rkaU%+WiR0>$4iYftv|BF8;#P}9DZIW%h%J?bVy z2p2A<_iXUTwF6avoc$^0B)1a0nPG@!h<~B5St2i5NCymFYsh{az(DnlD!2!%!J?-4 zp?O=9*y@MH)Ry~!u-AJ8jn)@{nDI(R{q_$^nykFvQCL)?nou z_TW;-nwhf|B2R^nB7WSf1NVLR6STriAP8dl?<20juPa_q0nclxTbr~Xo^uo{eY+h# zF!n;HPVT`^`ON|QiPdOy`X($&b2d;Dec#!0x`EcjOR5jHImeB{yVIvo`|OK_zmB&GbI)r~sn#mO!$}MHp9>}g1KSj-g|-AQ zDLE|AKWFW}|A4dF<3RpZC$Yu~z+0D8(+?6^4%}-`&d1DoNq}LOb z%pE7l`HP@^?sVuTy@9y@E0uDwXWE9YxmHi;3)6zli$7 z_T=p2>Ga)8=NPxoC%JN|YjCa2ajU*)(<+G~k1Y6$9hh@&dOTg)}dw0>Yj9!+)`!f*Mv z2+d`^Su=WeI(-I|26O zv$!{3g|u6$Q~&dd6XXtH_1_~*xMlLb#L=_XL>8_}tMAfeH~y#1D1;@DQ&Od%d7u$) z^0u7a^SF?!@sTEC0E!tS7tbVt$$7ffq+7mrt)`S6ln^0ng z7fxl6TR#(oWuVvhcCz}%_p=Ly)?A>?Mo#-UK^7%Blgq?+5Uu17IP~-?2)8sOR*%^c zi(d?Z@flZ{{Ae|_LF^>+^!!GAovjeB`>2B*|9y>C{U}dIF3zBXO5f7w)Mhdd2Wt7N z#xbydwGTf2RSL7+s*8JU9>Wx6X#Qkl4&Pu|BtK)}d9rVJ0xhBWi0F$dB!^?p6Q#!o zNh;?abV)l8ukpUK6$Yo7p^;4dQtb-Lru?9Fma!K5DS0-z zfh>HxV>*|eqR7qOwjS$hJrCA)Z^Kuo*sz0-++gAL4*)3S01sCQ=4#Ml*4gP8>#d*+ z&!_%keSfK2r?e@sSCes0uYMLCE>lGcl0>r%!*9f7NhiF!wvl=|e2(yWV9#z@BKik# zZnfr$(|7QF(;KZg8?;fJmD_ZoQ$c@DJYkACr!|yPi z$yt3ck59mrpOJkI$1} z3vOA`Z}V!|7I`)LQ)w%BDVa!Z50%D38#kcRsyNs!m5N^_WZ5n{k;-6Ik@byaHte;4 zaSN71s%N|z|F{xrxHFv=H!LK6`>w^`d@muMN1B3>Ywxg^Uq8|Yxr5ZY#wgYwPsH~T z#|*As!Ay5KPBo7$St&H?AEKo%+-3@QEg&Y|VQhv+Ew}!JGqEVHg^aN0ld+B~*m}5+ zjUCBkMW|Bt#r8oIsAWMUWPXRidCpM(=VoThl6=(p#t;4dHJ!fIIg@G`y9xHWWrHoL zwzR)VJG1@t0R3`537#L$z++_!gsz8o3L8{^3vRu3pi0jZv^b=x#%pV_hVdPgpXW|$ z5txl$rYj zinlNU@Ne@J#zndweKLuquorxMk&+^amN!L-iMjMT!$jWDnj=)WoEkRgZ@q|}I!s5@ z{YPzTPRCmK)mZiHC|W7e6I?%3FKk~S&;Ivs23oGsNTt2Y24xy5eDQl1nU|xSK;Fw5 zT$kEH?+^Fp>o_Da#rreS^aKWP2=c(aADCg}_~_(~YmZR}YS!3!qw1 z4|S-<4}A}C7v((T30vht`rZ!{M)Kh(HEYgX>auGbwAk&9+2&}nU!pMVd*KTPW{}yl6?~B0c*i?A&;}m98{R!5kE8-lfMhV+W-(n_SkC4HEqqwDPDLP|g zD-6$3pr`oBf}x!ug3I?#i0+%NnDNeNgYj{5(@@!yL#Bhv#hpahyCEPWRYa%>)7j|fXKCH1(!^zYA%6d#E|Jx14ujJ^ zR!Enzm$Ghgp_lsUl;U%&xR?T2eBYG|T`OaKW|ug-Q?QJ6&@n+D z>zCodr^3iZX${yiTm|u!J>dG^@?>s>GiT()gNBNUr0;Z5{x~>^-hV!ab1G6M%-#*) zqD_BHXU|R|M4=TKoIXUTT3;Z-_A3w}p=z{$!bOPQDia1`k>sKQT{!XL3SN+#jt9Db z0QY0WP`vMNfZ|ly!K^?ee(olov&axVSW-c#WS-#7xV((h=`|whocFX#f)o+_elf^< z5`;_`Pq0DapePIa3Ygkopl?Q>BbrRo$)o-67~w&2&LdNtIYz~j;};sp38o6RavI#d zA4Z&FO*(et#(Z#Lh7ITHEQbV3+BubH70f_dETMGk03jC{hbQ|>l8Ux{^t7i7%6`m! zW3;|0x5jptDRnZSnfZ3+9h(1&hXSYyP<j3?=Ya>Yq`Q_l71#!g0xF4} z4i5;^ZC1pcH7P{HeJyf+ZY35H?#MYm`o^w5F2*|1#pslE9;-ejgZ-Fhf~2=Bhl%@> z;qi_XpnsqT_x!vG=dWKSI#>Gm#LN!N$zcayCLRd~J!6IcX*u(*YhH zL2zaYt+TcbznxenbU5h7x_p1 zp%)<~X-Ge>Dn(A7f8oXvHQMXVQD)cu3bsVI3NIG<+-rOeQdhR^B5?gVjI!r2jBLFG zo-H@UgaZRGB&iym+;7CB4dfEfhG*ebR(iy-&>5_z2?6|6RFHx}6nl6fiHr3)f-x;= zHvX&$G5w@9+6M=z-;b)$!X>)s#(*w;=(YW2WxDsY0OTpUPjkH7pM6!$3nVZ0j zs+h5jO^x5hp3|O(%{+gWX}kQII@h?4Sjf-CZ$`HQ?aQ-3=z{++yQaHPXGQ_qIrx>f z+wcQ!%eTW9517N=ll^GHgA_zu;2{BJ$(C&?!k!y3+4t!-bj`yTj;XJjc%$L?Hs5@-{0Z#)|W-D?~ z6=i|R*WbW>I2Rsrn*kc6ESbaQaZLE{GFpbo5azz0F4%Y_R(Nc>6ZQFoJmu?pQN+?2 z651a+%+EQP#p90F@(qQh{7l(yZfILn{p)S3t%Fr!xyZzLRQ#!k{BPSG;!g8nVnyH@ ze#GB2_`P{6F^m1pmnYV6&%Wny`C+@b;c=S8yne7zhb+*7&8dj?=tXY!a`nL_r{Me% z2_`ad8mxDn2AjlU(QTtgaH8lB;%3bu@C#m$^7167wVPN=FHA=Bwmjy@JO$@U8(8}*`~$bcqRG!}8yA^&fgc|qzx9bpedOzlvh3uJ7&tZ17F_i!XLpLz z%u<)rT+VqLA^6sl0Q2O@V;8OC*Vrw$O$QrhIsj{*nw;pgmz|BrH zH>(L__gapp$La=JCQK=AQGhERV`1qF7I)Li*R!jc#XcB6L_Y`-*t zilWCwwPz){>YqM`Pmsjvo88R4nt0-hAfC7`N5JNFvH0isZthUhA}~<=g~;4MkOe1> z!Q>+mj867X5P2{iT)&Bt=7;*Ak7OgJeEPb;r1diGzU3=xthxvV?XPBRZ+?bPWd`sg zj&|gzCC;WlpN{;tt0C^0B0Xr-!<;VBA;!y8c}%phnCDX9Y-97&@*uYQ6>iZh|@79o+% zLs&!L6X9NeDM~*o9DMlP19W^-nOXbaQR^ovX#=^7K)vlOIO&`~gv!TL8}(p)m(NUM z#&MR;_%Iz!ERLlPZP^E0RtM3`Pk&?@??@vp>Nz%1wiXWlxdpnaF5(@t9Rbz%A74iM zKYY#8Ij~nN9UQ0)L~|~9phCy3H2#C7hTKcIjqnpQ<97~R7j+OAKYRmwMX&a6(@yMv zoSkVjRbSl4k$KKc=GndXoU?~>&P7FvB!mWO&QQ^$c~HrajG3bpiUyg7>s~TTl1foj z8fm69r+g%l>-YVAzBVb%Y+bB~5mk0t-8(avw=hnZvMrcb zZE>zZaQqWh`~C`KtMVF|j@h1d373}C8+irP8AollyS4ti?W$Y4w#s`i^M@i5_$GHN zS?}jQA}Lwlx`0NNx|OL>bWby6&FuaY&d6UUs`8#KTH{bGtekb7{^(@GCTr(0l|8Y{ zVMQ-Cu&S3KZmBZHwxx{R5(mb1c|86aTvgrBvmRf0ErY9TrX%0Qv1ozI)cT~iKltv8 z)#`3PK(@bH-|?%>m(&N?Tk%8ZBnjX89_HV^)wz{W?f5JqS zUFN@p3H@BeVFchrht%bBz~n{`L|E*r1gme0C}Wq6x} zZ>rbU?YY;=hP>KSA3Ux$so0i?g6j6xE(?!jj-V5w{OdZ5(%ecB+>k1|YcZF9;uvWw zclCtOVQ{&v*D~$elb1vAN^KjvyGM=r!SkQd%g*+r2OG15K}XiHB`Fzos>2MQ|M&#o zbp~V_imgQ6OYha5=#;9X#92O5D^nZwH;1lly;YlQAYFUtVJv_B1!*C@qJ+P3G_xi? z$e5q_yG&T|qJ);;b58VVBCggrrXRn};MJuTD$(zD&JdLxmtnal_VE8b<+ArIFA7SV zVBPg#iF((En*5zHJNcIWlR3}r@spELqRv^zpReq8lr6k5Y+JnYA;hH}f`TL8Y+GK* z)vAFkJMj}Q1S7gJqSQGzSdn-(U0m6~SGY2#)+@xOxOM$VxzR#ceekJ~pnIm|BwE$G z);Hjnz-+w(lQ`Ew*ksls{GQz^-2PpMAJ2Qv|K&2sZ!~S?uhDA~O?1M#wv`Q{tX6H& zlm*@*ptxH^u8L(tl2U{lho1<)Ke)n|S=Y_)XZ88lUa7OA10&3vWi9mbdt^=Rg}`cW z*A!f&-CjLdJ4Mhlyh$*_Fu0~=T&JefU@jgQ-i>eDe}nn|x!WZWhwY@|Hu0G?W%XqN zbNIx*`1dW^*?o69wpW_D|zgz_Eb&rP!Hr0qIx z)(br@U*j*aJi#|#dd|+O^gmI3q$0bnLL@j?(oowy0sJK6P9dh+Ua8++Gj_fqxO=Ss0B zryr~f{+es|^wT0yV#vpOk9oGW;eKE1CT>dBpVD6b~ZdXWS?FB_&w(ww+?Wlro-JAGLwK}%N=;<*F+q148*k=`SqPWi*c9e_ImU2vC zEn(P_sjH9U^1D`=i+Cuuc5{rSo$Z%rwHu|f_=fow%odCPYOl7f zvK_J%)@OTSw!ZC%oxro25j~+r<$Y7?4=cXq_jM!+ogVzhKUwsp=F_;RP}lBLU9)|f zP%*r6GPmI!Yx1X6L?<z5nVmbLWDXee&WMp~B7MHuegTy#2}u?tf=0n78Aou)`}! z^mEl4kw?aWs4;Iz?R|-#whAAO?5>zv)ET|qS9dHuQeFw`Mc$gd!dYF;!d2O``Oa3lw(rjr@NE{y3%AZx5=ryQg%c_nwX({SnP54s zf)ur3!IQ79wdHyB0_XFp0>kgSYBaAJ&^`+Xao0ipn$AWg_+QA$I=#9@)rUj4wo|Mp zv!DN!)e`E}w&t()vVjNP_|(Fzx*?&CXl=n^LBKy{BnlrD6mOr-Duqkby|XXkyBCon zv-_5{(=8>L?-jbjgNfHg@!K+m3!TJjR%yPkNm01~WsfQ`-LFT58Va(4e-hCm!_7Tt z`Skgs(QYr>@bu{dEPbxdDdsz0{>y!~sZ)Y~I^_z!sC7~J$U=hdmvZHM*2gn+v8|)%>*n z!&s@EWw!+u^DQU&?56B#JixcBiLJjy^FE(s(^8JJu2mL{yJADF1o4>OH~lg5j9$d= z*j@$w=A_h}?Onh>l{Jn2eLbyKa!8#%M0T@oO+KQ1 zt;USA@*vx^W(qyF-HI<`Zp$~*$z*x*X>8nBB|oOPrsmlaRYpR0OI=B26+2@+-*(r~ zPdfWI5{_PE}e|c(ayhmH!=rTBjV$!)pQJ!@>e^cGXj}a5@-o4? z1nnBNt7qW&Q&(KJ>kg6?E3Ps&e^HSr$e`ssULw=$nbj$izTIWLJ$ONeA`E{jsD6F6R8L1Moo%DPp7d}rrXSxqk#ti2hBU+hyu zuRZV3*?J9=+{=|HCu#>~mA$LxZROG4`_s{{7pc|0&&2Vxw!=Wvw;A7gA15$-y$4-Z zOQBES?*X5+{vv(<@ESHVuZBFGgG**!rwz`gRgia+(Zbi6v{=N*B-={0%FOao+3E2) zcp}@S`q}7Ts&-3stxwrH%DK;^wlwTE@|CrwkA5u`#G1^+ySbk*H*-5oDX~N!=0Cz4 z6VFsjtu2Sgb?qx|%67u~lclI{g?~-rRqvWZ&J)!O7noNaDH5;Rd@vR;R~-b2PcBt| zkPIXi3bg>|-#?J6=!16OS%Fg}PQ!t3+W3ac1UP4`B>2oGVI>I*_^|Z5pz-^1S|uT? zlHDp(^N6|xEDsi;y560X&gpJgjnkAw9OPO?4{jsio*g&PlKQz-B`Gxg+WA?4 z6n;=_(~J2$M&pq$-c@}H8$^U7x`svfb@VDhibVCFW%H`% zE)`UDrw3Oy=*Ccf_!gy6K0+;}W>DK=cTpj)7_k1%1?sh+ygb!!DlwKCL4`h4A#V>& z<;lCvAcqh7)ZMRNDXeLKD3U02t!p?iD17C+rGD16bawolp2)Dsm~Zv1R220{PT*&= zv?jmye4Uv^q0sz%jp$ukE3>`UNoaaTfk`|V#-ILHmv1ug*OvQr3+p4M&A4ALsb1x` zmi0BQ6>dCvNx0_z3}HmW9Fh8%K0EOKt`Npuv<=^LoZd8lq<(ngOWUI_9?@LqFG9Lg zk}g!)Eb8-o#srmh2@jQ-u)A-)!)i9RtRN!C)-(PPE4`>%xK@EHFbg;5r|qn=B{P+4 zbYk|3mRvi`$NQuiebSZDRPqx&PkhIQto$xIl`Jh{(l+y_Vh>@Soj{Pe!llkJewgNI zPjX`)$%rJXe)Ij3K8ha7iSsucTwgDU2^BVEScy~?$klC`XtPa-R{0Ga1S8%5%b9V#O_P zr^}y9*jF#OeoRm{%cWNBj1jwfQ6ro8>#Xn=r;jNc!~8`LRr%?6H2Ju=mTxv8CG1)k zE26N3hy!*BZ67uA!?KfW9UA&Yef%||+RWv`CyQUzs;;-KeHk)PQ#z*&zsnE81^j~Q z$O)yI(cV|pk+Hb?)oQ9*O6gLyquuIi)zb5ordM(Se``_opM^iG!ww`?*M}~x_I8(% zz1MR2qS!)lvHv~1-KR*3iOI@}{hy&FHbX2hcwOM8ZJ{Ascaht61ye!(yZkBEZtiSb zvE~2IK~MG-`1BM4m1p~~R%teJ4k<={XY85W2YlL>YeE@M_Pg4*Ux)vlor;G|Cq(N3-O_V4G_&Y`vfi1~@sW>{kN}p3LCL@zMa)^BbhX{A9|jUdw ze*Xm)CA(;cB}=iz*4^|buV@hUO_B9qKvLfq#!&m7tK+_$wdBQp4ot;b3o35zYMOjd zNeep@QN|i?#(udv4lJGy#9u!{e@=FzOLEhIg5f5f%-=hB3(*GmuWv*2dO4(9r3K^S z;;6I*9>{$58$gB>(Z~NZfSkH=vLaE3y2A`o^F7a_i&`gOb4?WJ`h5mId?y1Y8X4@V zkcqD07$8hbxr%M{$Z-2)7c8Mt{P-5b0LE3A+eS?p>9u!GNyyUq7b^pXr?aZ(QNRcWEy4J{bgz4G){2WdOS?T6XF z!}^SMy&LP$q=I}KIvC@xwkV}>7tO7^gU=iHz={LbOy)EnTl9d%Q({tCrSlD_sqr0s z$Ze33`!bDA2-2p>u@1U5dpUZbRzNrQ+1om8Sk4%njNrfhJ%iSMxs~pF8UXW6P2g@7 zYj*cfL-=O>f3^{+DYPj+jz9WkfOTlx&&&M*3XW4a+X5shRnT)w&J*yP5n&uDzwhP*l`M)E z8L^Z><#3Q@C%tmgXH{X*GjaCroh&}*sVcovqmZ4_cNdP?s|O6`CbE^}cRtGOlYmeINVzl&?wzdt5xcDJqAnsfJ9gT58)nI8|CA)zL_ zV~GtraO*pBu{eE_%csVS%sx)Lun<79FFY;81Wwk1s5;S7dUXyE;a4^6W$j1r_! zbLYg6FKwrhtG$ks1=4xc(X2vJU@@C=%{K>fZ>6Efh!T2V9{_8fJ)?qT(y1vy2KbAy z6L>#!A-<|`of)XS4D!qMm=B4=NO^}YnYHQzT@j)K+wZ&pXQt{AY0wlU*=(m=?;J&o z#O|XHZR#LYV?Ozz>;#yl?F3(D=i-%n+~FLz6~uDOwNxS2B{!lmRCSt%U$5=~qq~Gy z;y6owIei2^1Y6NP4F~FU5P|2~k@)+Kk2s6-7JZzXO?a*VbaZtwWpAd2rti$fuZ#~- zhkcHqEj#pZ(u9!Oy}*+8=(Y!gy{fq8#vM4PLkd6MrU#zykcGZxnxtLIEvPre8`u9a z#?sHDvC}*U>aKDw{AD(q6d2}`XI+)(=|jhe@1m7BNJ0@jH`c&!?oR%P&)q0*)&J-( zQiU++%`5U^&{=%1J`PqGW>Py_`nX<^E8vPx$H5%VBectJ3f#JTHR#q)r~bMb0$uY= zka64&OZjBObwMt~43lQ6`)wuh+EWsGZ7)S(nfh2?!V-Ne`$NvInS;0EToiQ9hJ4!p z1b-9OV%fn9)YidI;L`IA#P7Ojcr}0W`J*m?hdn#NiiOX}pNGV-#={sqP`DTl{!+#d ziZK~1uM6p8T44M0+w{ETLsTvM9{lqphH;`7 z!qhpJ%sHIIo4Yu-DhxP+?(fJr;U`&Gl#L!(FJxD&N<-edA81ie0E+RkC;3k_nZ3ev zR411WM`r5q=%>p-&1zdJJ!RKExJJI>PNDDZyk`<+zQn1RpPovdHnTA8*g*` z0`frp5z=b62;I^;1ph6n1Zwk(!015? zU-wXQD)Fe~f_*chE9lE1M@h%~YVa+rCeJ;7O*&OcVTswAWY_6# z9NXMZH4w3A;PMMN@62Ipvy}n8k+U4WJ^P)k`B#XvGCA)QOv_DY@uITGPQer z2ujBG0f*jPK$^Lb+1VFC-<{K7;&lYJ8BL~$WfFv>*jiF5)Q42Ce@@k};XspIO`tc_ z2F`Uvk{9lJq9(K7P6d<7W3?-b!P@Qj-J#g#f~ zu!Wd!v<-Ss?Z?>>WmKj4ad>a<3-a4l8b15*A9$wk2GwJnz{J@Wcug^hcQ7)D{3g+d z!%NJ;?v)L=WMYIcdQuIeiz^7xk=I0D#(dm4=0I57f1_J<-Oe;2<&<@sk|D3YMuX@! zRv~*%uP1%IL#ddzhF~-!11f3UN6y}}aX-fkCGVS#ypx@g=C*~%{ed`IIO75wyKomu zNyfmvf@<*C+Y7AOT|rq-IYK$@|3uWhwkP%ohIqTT+VfVbq;oSoZgUDT*RpM6z5H|~)SJ?#fS4E?KZaTU%F@oK$HiP+NE$GYad3eTb z8>r&Gip_8jVY)PpfOcy#{E>bJgvq&KtpqP>Qpv%wCAWa<=w>QI=LFKB&oME3AAl!M z{PDuuAAzNC1O4&WF#R?_9BoK-!UtAHF{xjElTW&4g5^H@*bSmuXX~lElQovi?WtH=wgCj`J>tdIrelD7t1V-1V0wZFpV*q zxIb$f+(5PSOk&M&R=pD1^6?nn>7I%2X&W8CQrJ ztQGOB1%`CtxGS~bzxilk(lp#(G?N-I^vAzf|Dq2&UqrR57SLkDqhRT^+xXn(2XyAt z3-pz|YGl%Ngt@Emggjh*3KUJ|QEAREK`(7*u%AA(gU-;u@Sp4lG5SD(YFST;1 z1@Zf*#m_b}xz&!d0=lZ0OkJZe>mO!*7aQsPfsiiXc`TTi8xImN0>eL}ln%QzqR+w=O zXC37H+!RTN2A9H|(lU0B(J`ibZ!T_4KE*EmoQ0WJGtfZUCA?E<-lRVE$71)#CQXp# zSTOSk6z*KXJnF5+XF7#AuSXvy|8Yd73%c>d%y~?NlNZVgSEcxVSI|sPbaLNXGdd0jfP_O%*4spN4ytg_5SFXRtaNt5Fx@IPFzcqnQ1{P84_twy-9)F-_ z2Iir%zMVhy+;@9)^fVgudoo-@+x9tyPs4qVtkNu5S#3!JK zYDbxe-I+}G))&m+qOEe}g%&xTaa3H3P_`Uf$3W&Z)$^Fd2vB3t6V`Bhbpc6@38#schA7ONM z?0Y(IK_RT?Xs~i_1hf3-Y2=WQgcdi>2c}2Q(ncz2U_VoevLgDKSvE9v+ewW{@qJ0> zd|QW07C*orG8kYG?Z|XZe~;VSGiY6(IyjO&1sj{}LlLS+nf+U`na=V7<|Uf+4SVIl zWPu^pIxroc(&fT0v+mQT9-)*#ZBVbw&cMXl{I&OdLcKZ#uwufdP<)0C$=Jr_|1`&jBn&|-3ZiyGN;Dv7+P zKSbC5OC4q5aKj?CM@#E+e!`xSOl*L4f9 zsI3Ft*4qf4%Y_hcaX*}MdL`&w;D|4Tb)v|XURcw5lzNf<3GMx+fY-!aW@fgf!{*^J za>JXa;9pn>aEr2oRZBk6)9EyN;XyTQ^Liifdm)W~bVuVCW$7UNKUqfARfc&qHya$u z$w0LcnV|W3EP9(RPIcUT3)1CtVcfqiD%x3w>G!E-;01H|PH2TM;G@9l8%rC&Va&Lt z(w7|G1@Ow!y_~QL^My%ur9T6`H51%|q$nE})+q0g+ zG3mRs|7a#o;ncvYuoe)xKm+}HX+VD?*D@=bRcPOoqok8Z2gnw?N>wd5k8iGtW`3Hb z(HWn`8MpAupgO6IHk)L~Kc@A7Rl)_v7|1iLtv|ro?XCF21{a{Fl!Lnk6gr;Lg=qa} zIK(BHT6f_+OP{x6TE=HjdgQGcGv!`ND?6KR$S_Bycs(mYeS-N%>#+TYDU{R1W#}ub z%$jKYMCi08AKcW0UmmQ&TX(Ho*?(%Bx8w1Hg(?j*vnndDl0 zrc4E24ADY^XJ)~K;k8gbUIaH8FGY?v9%$cZUzBuK1V3uYfs=YV6cs&8<#iNLl8ZXX zeF;Ux6K!>}w|O~FC+7x7ylN?@a*GNlZt)2lM-LU7iIkJ9qLv=LC^CSaTK1IYCFh_c zipuPntpc2LQwYx7kf#s9E}T?hfMnL1lRGqGY2Lmm=-T~T^vL@gIE=pxA5`B2<~fLv zq_PxhXc%Eq$vm`MaGiXV{talCxPa~BGmwG&GRgO3UoV6j~kT4B)&2cIS}jo;_c!DI%R^fwQj z`e6u?Vp8clhh}5rdQ%hw&1l2kB_O&=g$dYjihi(IFbQ+k=U1wHr%i5~psTCXF`4`d zM0gg^+s>!MtNxp@edIzM(&bMv0aCO<>U`$t*hP5qu_{Y87J}EaS25in8N=O;_$xN0 z6<$O#uY?6uQpbGwW+8{I{#1a!&0Wc+G^)c-3ntf0%SM>cJsn(ESisUQPpK6TRHk(( zq?yRy6I!XE=fC`dH@z#uK5L@!Sjs1C`l+0b zEvl!l-Rz-{**emf*7@O#_R~1_V-nVm+>6zw$k20-W#HML1ZdH^)97uP2wmz`Lv^<@ z!NGqyRFq&Tm{>KLBc3(|iYu(9de=shy%#Mf8I&wpVwFO$NP(12;t=V!K3u8W>6o`f z1GhNJ%r$&1t{CI z4w)}niW@ikP)CDzz+P?+h9Q z5=n^`Z^UmEZ{WN^KdLs~1(%L5rMI8c1iETj$SJRkOnWAaGTi%!Jo_5(YWJ-P~94Oowp-4B7{&vsN+S_*!=P>f8_>c#NgU(n}QjQdMZqK8*jf@Nabv{b=) zSUajrDH%@QkMUF}R$xWxi*|A=Kiq_a|#{Y;f2Z#82n5764|W$3Jl5wfeCv{ zI>tYWqU$XP;r>-*evlZo;Y|pDH#fm6#ragDlnuOa_YXN&cP2`b)JM-ftSKFXO?1c6 zN~D^rOa(ny0XF@3LeA+q2pcl55+mnVgQfB6)LKHFET1O}|I;<4qo?J9=%01a<+T+d zDINhW@B#Spt1MJ{rHZUmbI=OeJG{>FT=J);2Ys*D1SAAV(u%P@)X+9xq_yr2xzs_D zJoaA_^1G2ihzfpB%aoa6R(v(mrbJ$zu$Cw#E87&n+qyO|XGJIc@T&r@`qTl(MjX(* z&(_E}FB2~L7l6W8HisT*{8yNIii&A%6NGM(Y10}p=$(1S2yrvV2N%6Y|RA%ES z_fN&3jSr)E{4cdDJ&pg3mZ0{8K% z4`_2W>c12F&t*_=?Gg##z@ct!YvM-wy&%#a=Yhn;4(`Y=4al1v0v`3~lY6Vq5^QEE zS8m%W(qZ`#qTQ^B@VtDIXgB=CnHD*p+UN3sx{~*ua2okVZH!9buBq0ea^jy8pxc~! z)LBeiI`NbAVgdKvy(AvLI2}wmiOIb8>0k&3b9Gb*s)^w7>Za`HPV*(GsA!T~n4k`l zp4yN`(==d4PadW6;Ue$ews9Cq|0LR^t$A;CKa=lFPmmftJ=|wEqHI*APa!ksTM$(l z1SlTNCQ{Rri7PSV93zd}ym1dzl8n4Tbsa4r9yTg-VzQ!n&cKzc6Ffk4y^NziUhpDb zc@2=w-KyM(eSGq5xfGS5<-zqhtpb{!{h@ND!-?*nip1(MAMTlybaGmv3$cP&OUQ4H zC!EKQb4I_UQp=i!l-`e{gbAmJ(ir#SDxG{p-v1m!yn-F%yqmKK?Kxhg>Z?eOsr6xA zQ(!4b&ru`8T--q)H;nf|N1u9Pd6!#i=g!^k5=w1M^X9Ik8njP0XBb}HeaF0SV3DybRlBAge&cBX&4b6_&p}g|omYh1HBLaz z5*EHIcg6D00)T0gHvRPKF1li%joP8hq7M=~$d)aOQJ1KI@`;@Z|N8C%Zb$@XcpgOq zHyqd<&n}|Pby6s)Pz-#T{sSJvClDU^4L2X$fM@;bqL-gNNq&E|3B=7$;!i!F3%h@( z(4!*?pkS#F-ZIujHcR&qyX1eP7PoKIig!lL4a-C%Kh>IMJ?3D&cS&&O{$~32j*aN^ zB6;d;%3E~WO%87~kp|wiHpJg~jfjrz1S$bd*fjViHiBumXIzQWE_ni*H7-LrnF%Ib zdmm8ms-~2B9+1HyrzSPW9@rkb4@&kOhn}CiP{No$?2C^=MXrgo%;l?;;>EReaQqjV zdF2Ogxx9vRxfztxaR%K9)&n^MF|bga0kXgIfLKceTGFJ;_WE_8U-B3!PWK~wopaIl zfg7lz@-tZA8isS&CR#V)EV;AB2=JUv@u#eq0C~SgaKq$2ZRHeC+E?cwWpO)*P&rYG z)g`V`V~z%fr_JLmPsKmyod{S7zHI*mZsxxu*VS&Jj+mVRwc~lv#7Yjy?3<5D4sJj- z$1QQrZgG0X=M5O?D$vpAb0(|X(oFJ|!#Gnp3Gb2O<1HrUxG7T=#pX?i7Zrx6%^8m< z?;R|hoh}A`&%MaobghfKe!e)*fUm|Av;VVv7EcgojW=4hLmuR06r{z)-qr3&EMrR~tCqyso>?VS)q)42KJ(|t~IzLeIL60 zz!ttPPX*p#Q_;4C`lxn8@#K3nK!d$mWX$Col=AH^YIT|}u8h8pWRGef**U4W$6ylq zu`HiHQu2t_cU1=~*U9o7-`%I%rs{yW2MTD`Qh!S0%yb;@H%taE?MC7X<6zHHDQe&8 zQaoOkPMc2GLZS6H@lcmH)wH-78TPz^S=3Sbhnyol`{GqRQcy%jg?^&i|ETl3WF*nj zkO|fFc#K2a(x}nTbAWYJI{iT-1L(t_1`h-ZR{D_}3Hb31IGP><^Gyn#exT$e)6K5_wXWee7LiQx!fJA zZ*fwNm~ck1G;#MFZFX6PPUU-|cfUB)65=NvS*FaqTrx^Wb_cLQ6He@pIS0@xW`s5liN|Hl zt$dk7Z&CWu_rRu}!9UFT$o#l04!^UH(Ks}XZOmFs4_Ra**+=p8;Yx94yTcE(rd^T$ zB3jb6{`6twUSZ1aoZ1Pd7*4S*Q}&wF)b+H(VFesu`3*dq8bja7zsRpUev6imQD6oF zU!v^0I(#>m1lsFm2R*}5n*lFl8K<;6V7qG+>I)a={}cRWwf{U}J?16AEuM4PG7Eov z{@)$Ebw?m`t9%O-Pc5-M_%Dy%VVA%P!ZX?BI!Uz2ma}}?c`ftu{$=RCpn-|M*@MGY zXJY3jMEyGy&v2)h&~v}A%*7uutVeVXyX|Zu8aLWOFKLOzg};*dFa2mNy)F{`vTsIe z9TI4!U@;C4c|`lA(X4KYBJFBsfj-`KWmo3UWR*qMsBL>c+jKdCe_>@IK4h%KhUrVd z{5^m*YncbHe1^<~RX6q^C z6e!&WMxuBq$Ylri6K}-^r+iVsUrV%YKojxjro)!9bx`KH7BoBHPrf&@QEli|1XWoFEB&bzaK&C-Nj*E{SjV&aTc9$?mE0(yBpng z-U`GVhr#Rv&q(_n`OtH&6=cG8Gxt{Brp$pVc{;hAJiTHYm3vJMx!ll4iycR)O$G9J z)v6lmk$O3T$!4d75dC+B3jG@dN@g4ZCf5r| zyIylNRGdhsPFX>+Fivp;i!)Ivus1o?5E}dR_{30E$FMz0gjLvK4 zqRSz5U=tZdTkDO$@Y8R=;%+mZ|JTX=^OJV?Io20FPiTV^x|hIrKOxv1;Q_-QNg>y2 z7h3irhVw>PV%^JrQsC~?*_Gez8X~j8BA5?Eo5EzcWo@y1OFA8*rFP%j2|J~sG=nDFKGgjpJoDgMhvY04k$u`MDFbi@YDQE z{5{qHm!;0fH#P?1@bl()>8YLgXBrRpRe576stFG@>R?A`gbwifq2WXdbPde~YC}@6 zP5dfIHI$+*20Ic=jW_SgQ%hdDm@2Vju!T6=be{0EtKwx0Q#?;<71y?=i5sff$sHeY z;JUrP!hvTxVUndKHK;QiE?0i<;?5%=xy5 z+HyIGa`B%aR$8y3tJ{dY|Fb(eloer`xx|r*R|MzI_6Qu`|o5jr8*-9 zl>GjW`Y|}fyWo3*+;sH{!GH*OQ`dvI=^V*TwihS*tP*+uGAoFsj!9%~@l^82^b}HG z=L64iMiaI4-g#=ZqywR+o`vpmBmh{XOng0?K%V+Kg?A>RpWJu&8F!pNo9w9aAUlXL zZeYqi@=rkm+);O)NHU*At?QKK1*q*O8xOCfLO1^;r=3lwa&D&p{GH3qF~r31hGdw3 z2$OENRN>XHh6Gk@rSdz@^Cm`TaYO$}1Iu-%xWQk0w9mGzHB=hYGIvSLunKy7)Fy1+ z829ScU&P{3k{YkLM}7hv@~vw*d4Jjy(oOj$_1s4ZJlf*~S})H4pSP(3*7zFr`=5wP zS{X%2$SYCy8#a-5#vc=O;W?tULXkMLw1U^|lfw0!XUQ>NcirYhQKn6&(M-KWf{6=@~ZHn)IxHWNx+k`PbY^{w0@rKr~WOp^bP`o-B&H zs{taf&tT$CbC6k&E#Qed&O*-s5fVc zy*;JW1MwKL@^B*TKj4h_ZQV=3q7?{iK1j(<>La&Rx6$(z{ba|q9rPEY?^x2Qlro)n z1r$nXK(1IA(q3pn$!kPI_cmGJ(>6$qjl@9B8XMZnYzRib>O}p&XOUZH_o2Yfeb5Z+ zpjJ&?s9JOes%=&w`!;?d?|rgl6R!v+8&M3Is&%rIBG(cZ<#+)}moL=1lRNRO%^Bok z$#v6uUl*B+9CWx%rbXngX`bNNQb{EJun8$j&OxR2-Ecug0^IlV8G6r7pqVS3a1@ln zpA2o%G;4^%S`FS~0RR3W2-TXM(6Q7MS2o z)ZVYv&& z*eS+;nh(}WDmsb(d{Lmse7(c90zMakmDWZk__71vi1BF3Vc)x{9Z% zSJN-P*wAMOonecf7*j>|GX0!R@H|wPeQ~mlt^BzOD{Q0aB)^wPf3q9C{PJ}$6laY` zQ;JYCwI1*emEin+b6L0Xjo`TH)x z4$aB@a^E)imtWf%<8Wsk(fl? zll}#@^S{FEd#cpp32CC|uRnX1@fqkd8Ej&)EpD3k23%cq598Jq zcww3;{J0^Q82Y4wkFMK-g43euAi^2_D_(<6`)@;I2i1}NY6ATyv7MoutZ+@e4{7%| zA2`(aQQ@-fSXg1r+{mAe_Lpy=^Y-4Nu212y>+~mc1Q;GDE*r$0_A>U`w=j4w?HT@T z{+LX?^_wPcWl)hiH?jPebvRK!h?;s%gU-#8X5#aXL&x0&Eri=B+1RJ}ak?^+RCH#o zPR1asW=tQr@|rv~=@~0Imd#|yzN8I0>e<4Oqp;`PG3KMfY#8>RKE4rG!R&CArcxb_ z(8691Q1Z!%?)fqwXBnP=bMHN6R6?5ZxpEUY)2jguo8Lhb7dj{n`T4vRj%U%zrRRYA z0SDZ%WiQ-cqlLZ^cHoO!H98>w5$;lNU<4}nK-|AJa>!3W!OhD+$kYIs&~yr={4+rh z6$+7#rUy9sr41_|i^P9eJ|tJ4V=o~K`c9`DFk5jFb;~>=^_EN^@#}t+SFarUGU-8K zk~UC+{1Wu=?|gq z8+NFu^ep^Zz=MH05m3JC5qwuiAS6w|An})!cf~KF)9D0{&?bm)KhKaMeXFS5F&Ts= zJB`O3I!d}$HiAS&L-0PXgSc8$&YN5Qo1>#pXmda`ou1ztNAga3;q%!D4IAW9hS?YJ z$9pc|D(@j-)s_MF=llhKT`!W-`*nDhH`OrO+)1@nzJlszs#waP6&*2{Ldr3h!N2i2 z;PmbbNWA14rTU*U!IP7v9!iwP9}r2mQ`U8PsPDBV)pRkKP*oZs&jiO4 zp&GxbWo9{W-`!Vm?NlYWW7j-V*8T(#Z?J~iQJQ4daaH;tpF&My;*@>oZ4fav1pM}# z2h{f?axoiE*%d@m6H4z06ucKuI*zDl_G*~>BNhJIsz^-KnjptaS>T`WABg>#0+x@> zgzfFQywH1@dDfiSo;?|-o9En*fS>fqCzBOWN*(I_dE{`lu8Q?4QWVwP|{FQ zAyUf7R(2^XNlKCs5e+S+p(LWBlu>(7D)-VU|I`WIQ8L|Fn1K8UWR&noF8#0USf_Ud~$HCd-mh8}u5&W3IXwhFU1)v=y z<~%Ficut|3wVhHb>Bka8lPZp~GS|0)7n|ewD5*lQ_q{3;_Qry*6;?C(m2;T@w{mXs zj8O~-@Bur&#<7(n>Urd0z~6r`p0%)v1|#L}va7Y@M9cOxbH?wCIlZ&5nP0~TE&qN@ z;Y?d!G1SeF5B#`~ZC%{QmOcN%WEh07x@GG*2gh1|#+Vb#g0;a+?Twpk-;O~>=W!`J z&ZwE)S(3^vK}Wa`p{~r)iYzwB-j2UD{7;G?73yL zx#DZvMW6ouV^kX)fYg#w_H=hIFP)bms+|(dHQgM~+}n~aiao5zr~lGpGLsFoMiB*l z(?wTIY-$CI=>b`m?fP;ev0tpnKj;$kB*KQB_FSJ$oBxv4ODttct2WoP(2eVtImbC> zUF2?WJ;lw|U&Z3~JRmn-IL*S45TC%9XjrD_%)t52G@16%Vud7QZw?l3ca{>;?* z?I-~}bHmq1zo#)zd&m#3+eq~KfpBosS8~X4I8?T~L<(L8;+3Z<94xJ4HTK96bH~X@ z+_aK(-Kil?pT3Z;JRSI9ViNA~8jB+xZVD?;`k>JG82-2IWcYfu7{JkEea9?}%7n1mfeEou01F?f6I1^R&; z@MI?y(D`i?O*~U5s7E9r4SpSYSMg2Ki<3wppX?yGkF+Ocs~*yl`fK!VlQphR zz9N`Edx<}?MX+AN(0;zNi1>e?sCCyxHb-YIu8RGF^WulmfVm7w9Vj#|U3Wn^lIFh#1 z9QKc03j!M_(j~tt`JeI`I)Anf8Rs{ITYb?=<_>!nf*{p-P-bT^Qa}W%=mkYPM=)qgxPJ+8rMBKn;Pqy24I(Pa_9(&#=#U@mgY zZ{cNHoY|`%7NMlG-@#*xYiRbI=lH}r2b}y+1r)yUMrAv?AXlD9&pzn`S;&$%+N}vA zk45m>k(*)I!4~-W`D?gawo>A&!ysS04H-Nbf$L`+1EyvA#D9u}-JMyJT_f;~?^2y!G|)xTi@!L}FMq@kc1ApU)LjOCt|4qhW(HooXci1HYMDM+wNLI;wWby7Ta=Ut&`=w?F_9ysJm!TTi z)wGRPfgJu~pB`rH%t6uEZhp$B9FlHb&iCZb(XH#1Guvb0!KnTBlCN`50O~sez=KH+ zpz_fZ$U7*Y-8okfR9uHsc6s8Ab7%0$gQxKC>0fYdW-5+xev99wRN}3^t8sCzA`X^m zg|X|6pmKX@;wTEp zsI&SPs3QukFc-D{J|Rl;^=7i>d5Z!EWUX?X+XauGI@sw_481*tx0w>6LyYF#7As(} z@I(45JduAvJWtp`R(wF%!Z?eYmt-eYxK75?mxhvm?qMV`>?l3pBB0KKB_#3TJnR)7 zEq?QFGFb-2Ky{uGk{U^o_N{yLX_>rmBexg#1m=agxX3iKcU3$^4-;>TOXI&n z_3#|A%Lh+k#o%AsJun9Uu8koNF7AU?KTo4k;zY4u)(`Bv{I8JyTMXanW>D`Sdvf}~ zAe`S-Ch?Cv0ZHm=Le|U}`1{*>dih#1?VL0pC#x8WN2)v{Qg5O>B+5Rcy*hx!FGF!7%ZDr#0l zXDco6S`7tK2}01uKl4f1*%N5fK_l{A+lrRlFh%B96Rh#saN6?g6bj`t@I7`3$SYMN zsSVonn%+K??b?E_mwX4Ko_Uf*Emq=|^-3hS*NJ|9kt#W>v&fw|Kay5>h)5rqi{IN9 z5ij)$UhI(wt$A7NkERfNzYP;-tb7k1&mBd`@KxZ-u1s(kMACu8kr32EeHFD=CQhyX zmQPdU*i^R<{5$TlM30dSm+L-2N{J(htg$wgjCO>udj|#Ug?;p*eh{6Qt4JTsxkPtr zHPBg7ZNzV79l6>0nS2c}Ca)jO z3bz}QDBEO54C~K`ZyCf2qmRiUXXz+mSJ!!xet93vo1o9@`d^@3jX6k#k)=@sF=UR~ zGUDJA1gq_a(|ZfGiRv|Z>zW^?X!QghYJOl)zg#R@5*CL~ioVm;M=Ow)&nPkXW;9N5 zyM~Jfo``kEPQbda1Z#^O!Qz$q&ZJlB4}Gs`4?A;I#I~0&L(R}6QbK&l!qzev`1%+% z-mY&QHnkd6^?jm8PaeeXizzMJa7gHAI3#@T{DD1~A+q-E3n1sQ75jc!D{d??6do)% zA~fqS#;#&j>*w4|7_8EVa?jZaQae|{`^%rwISZvxUE4gNTbw5BI@KzPx03iA*D4Eh zt@py{yDRCv#emdE4MRIE>^X02gmV-wFW*4r3BZkkWIaZ;t;l3t5bv_b)+wBiE*E-^l^{XXWtpDKaO%lKSQ)S#( zbpdl9jA*4&2JY4HK*~v@$%CZ}K>d&ja$E_-zly?$kdSt zryQbawF0;_%+>$!;hO0e;fCnHbN0N#S4B`>e-OOn#=wY0-% zY?0(Hblq+g>P>@$r7yCnxsDnY7O$mJ&mtv$Qf)l?OA^|c@)}KPeu|uQZ^6GdzrpXP zu^?peTyP?%mv6o5!*@*g149#Uft5i{fd6C-aa}SnN`1!Jt+nN3W1HBB+CALFD<)j# zYY%Q!)FsB`z7n~2dH`fE3>F#&)A07|rO-F$I@Pi`3>#E!L20WiDahzUJFZBBH6;wo zh36pc1=aAc#!j4nMHx^zg&*N^OOqFwJmbN-yy)zq%OPsO8)j8a=+$}_T%15%+E)sq(8V@c`j{_h1;pFl* z12A;U0u|rVgQAto_`*FlNLfl1OF*u~_R3ZwHUqrb*?P2WUOrspBae^zO@mK2pGQS6 zp0SlWK78+8Ga52G9bGt6L~~F&9~6;>F1sJ$V%O9F-yV)kzP5$$G_=OAgQi2@_Fnw! z9zc7gR3+a36nf!p2V8hRl(#?F58>Kw^mm3FKR3#V`IfK)E`87kocJ~rvsn`@uWTbL zex-8`MP@LnpbG4noJz)ZECy=ZblCU9=YtNJFs?iAH8{fMpr;S+p~=|^&{9T&SL+iY zMYSU2>TSu%$yDLG={5M-t`nf(;1nqKI>;@UEQ>reWq?xbMJNf-06Q)hu!4#`lKB^m zjnwtPNB=_Xmu12qeUkw9OtFBraVK$qQZBH|1qf}IWreu4ywV?C60_9{s_&ajW{&UX ze|L7lqeDmdjkWXm_|;SKn~JCGS|h0a{Z@>TR{fC05AQup*K-|qSJr5Do2eb=wK|MX z`^f?qY6ZjA%Ahj)N;vMTE{Zue75yhS4q1PhD&8^;{klP8ik^<^e4`z->G7m0)|70g33Gj?mx zG?DI28RqWG%beHB%UsK!5lm5ZgjM>k>o_p36L>uG#mnmDu-vCApvoh1!b%bSoR`ma zj|xWj7v;kFwz5Da_cUvkqy#4{xC6>I-9T*`U9iR~6~4OF$#rPF0nL}p!M~m?Jm3%u zOuO~iSMMHhb1xj`WDi38dxZ)r{qGw;^2UB>{Ph}V@HYUdFFk~6a(;4}E+g@Vz-@TZ zo+c3Ka12(3_H)mlWg`s`2h=;=!6kcn^!)QVcI4)6WIUw|M^20f2Y5$>od0qW``aXQ z&|%ObJ{$>halm826zH3l$(}3T5Be`wU^(N(sJ43u&m0!bWgT@xit7>I+|(nSgIzKZImFSbn+IC2%A`kI&lm2Auxb%GLBw z0%Rrx8fAYai>y>=b{^t@@Mz#-QUpt4)7j$tdGK`C9)R*jpc(TY^JQw&;n(2|o2|2v z+tcrYAGoCev|XMQ&&}a#rCXqeCgNH*JmVC6zo4^U?AUjCW!m#sjx<{0P-A}d(L~Y7 z$Wctw%_L@9N3KLekb~tlLtx?o7 zieaZ`E?^HWyeN9L&PTLwP9h`pjbuvP{X~!Q%tRNC{Ib#$PqZ2}Zvw2k9LJsZ>p-;I~2>*G|_|7n}&_*9* zq|}J;ab3Q}rG-yGV~|m-B0F}Rr)bkEIX2+06kB~hg;{Ui3pAaB`9lxV(6i4vtYd2- zr?fJf->7k&+cuzx3!I0;NoOu|eFZXH$CVNhPI<>>&d6YD3)i#q%lC7_Nd=}}&ypXW zmWm!+>f-i~&Ef8C+s7n&*7JDqD!=x^a$Y2@%daqc#xFe4$kZvcFf9>P5XA1_W;aE` z9p4<8XFwN#j24lVZX&a8b1IOk@M3-EM8kjjFZr4XM_9@3p*cjJ{h zQ?&aSxMfz(ud?ss)R+=cdx8{vnff1ltY8<^YE9rLej5&S?c|x>KM9=or%2rwwJu_Br|a9_DjCAKpHr=f8!T~{pF;hLb&9`wyeU&bSIY!#e)rO9c{<6z;ae^hB@ zH6EwA5J`Botk<^<`1_oB$gne>xL&psrkW^Avg8wBdyz4olUs_Ur#cA+yXK*rZh#-D zG8IN{r~@}fHj{4$nsM(qf5fLt;k(nN;pJpN3Zk^cyQQ_^8k@c3i0f7%lvTjn%^I<% zsUzA{r9;I1!^yA=E#%Vi7>O?_f#mV=_?OuwdVl6J9C`I7S@LKxG}j$Zm(Fe{lP7;f zr>#GsJK3{HM)`97K>Z!ye^o`uP?fM8vLl7@b3Q}U$x?y|C`Xqbs)NbH|D#*Sp5j+k zgb9&BMId(L2IBqa8@_0J9wwP`Lj1nN_{hHDKx4f$`50G#-p5}9FZ*J-mfk4TY*PqQ zcFiD$$uouEG0H;c)m(7TTMkEmRY%tX)P*K=2A-a)&!ayq9RK(daCT~hftN~Ag_%4~ zJvSB?zbOXat9Rh7>KGqeV+l?CvW4{zUC0W@7_g$j8$C=>;oBs-FPFNuIjZMbOz3Kh*Av6L5Hor2LV z4P*4GBEo#e|Y71>aqC}DtM#>^qDrs>(3h8bn+tq&*1~wcRd6T1RTZA$P8NV*?{Oy zC8QfyNL@#{!-uV(IOpHn`NR({ploCoGJm}ZWffS0`z=N&-n|W+s1FrxJ-du=sxF7O z5*FjWx_O@CBNJ$8HoMnClN zis%7omnWz-vRM*Kb&I%$-U?d6JKN8E&uOl7nzT$GX3chrE7QziWXw#bY zU`bUjQ|h}L?UqsmGsC8#yF8E8ERC`946Zl%i0wV?U3hurA+8t&sl z9Z+{U2v@ByfDhjog7!vrBvqUN!iKrxK!?XD>ZUtf*Bnb4{+o=8`^~`ICn6+eGXpGm z)`FrX`@gTsW02$ZPke9YOD^BA9x8dBpwc7D!8GKI2js?qWA-iZ?45qpJM9A8ujhxi zIw+F?GdKO+~)oHs%C{!DB2<2%Q^DpJJ`KhwHq|U62d$YxP+^$4f zqm%an%=Ts!TP9ogF-^^HxrMu4@f$rx!$}Qc&?#Xw8n^l&wlXck@)Ayra%cq6KP*Rc z%o50oxq;+?B)`$qbrk6xosT0;wXoPP9pSAH;O!&jATMYg|7H6{?oCHNcRD+eyIU;H z-73GqO`DX+z1LaGJ@G1M`#uV+__7DP|Ee9o^h*sl<>e(-1I94Q*oIkVCePfT#p9~y zE5O6B7_xNVGio$&43|&0qN`G3@cpQ_d}@Cw4p^X%b_|S08Y6DAuU>sYW)g4orb-5d z=cZ#^b`4e9{NRl4tw7;HpJ92cHhpsG3AFs3%8g{E@^>T5!EU>7tm#5Yq53v>#VZKW za}i*UM5Db%!mSKn9S+8R@Ss|&8*s>kvq0rfC^Xx)mcONT1)sjx&qWNF;5?r_(B#u7 zKCjjnab0S(UP%tl&w7Eb9qZ;BEwlPmKXRSSuamGY>Ze5V^LuS+WXUW9tmfcXAe}VZzl75sI1_^x z$>@3fK|ZjfhI~2f0>@4rhsLkF%rqttO!fcc&0EXS^&)5VSjz`#4%@>!PQL~Jn0Ud# z;5|eh+M|tU7jXX_8_(+`6!SBa)sW4E-|z#|4-|hbLjSgCf_=O;c36H0O?oH;JiaE= zKdK{e(;iRW_x?$!812t@yKF#OCnR@f|0MMCz5=|u`xb}pn!~T|2S{Di47A#@9wn^d zcm>CBbV0rfj@qLOKa}1<;O#lQs_F-8HouOyf7?syqaT5$(@OMpcQ&}MqKi{K5AZ_u zO0Hj9mAp<^&O2^DsD0yzjscUXY-;Z9W?6k_J8LsDlHWYz1{gDLIC4B3fb_RJqtcFG zBpo7$u0<_HzaBOt?utLYxOorOcQ(YMPs-tgT@R7p@@Dit;}FV?*F^1>Q&7!^@o4^u zZE#}JF7SFVi05=txmow#vdK0V8SV4D1o|(_HU+A(-)0!Fx^214_H9Aj;DUGT^|#TC z)rxc`ly0@EOjEVU4G$Gx46i^bZTkd=hie5J;})#EEl~U+YbE`=V>SG&c3h|mE+&u0 z=A(d=%Y2Xbc)G$z29LS+hL|i-qNnV?lOOiek-`lx(#@*ly{o0g+cqr3ivR9`z!CSBQ%I|o(z4gGXfW^eT?5Znxf^O0>tf4So*U|8DDaX5+=xS!v5twWUMnI#IN}c z8pmIttJCk`yH5_`8}Cn1>)a|(cf~;<4>ZKtT0ha<2tzt;*bgMGw5PJZ5*|)-C^3I= z4evkTPTqg|22Zs0lhhwF;+1SVeHD63s1r70BZ*JTy`l=9su+Ok*JcPYs+T~kjk9>X z))~_1t|nG-ZX+q*e96hRoVbmwCmUzEV1wphIzsjo`D~+y*8H~T>?D5OCx@Tl%EIhScU_&@oRv*krSj@0sb#sjp1swX;Kj-p*)V z-!z)b1y-qd@kv{)CB$*q#IEGzaw1~?o979j9TLyo6G~zp1CG`IL3~Xw1 zmCnAu9N!tO4*WJh#ebu-(3z%5=)awxc?lSrgv8~8wqIMxhr|h}c6&Zj?K{uAeO!-5 z&e@KXDvwg9sS!}A=QJmqVg($Z>4B?y>yYvsS7K!R8%8VCV=vzbptEBLpYM53!K~LH zT{KHf@2OIwXnAPyUm3ntu@*djc@EWEsq^<{%c4!np0Knwg#WHwhaO)_rLThPKt%g6 zQawAGPc%3|Y&A9Ul-ts1R+1{&|FoV2@Nc;EOb#sU(iDoO&4(BI-;>%+j?iXsCS5w_ zJ1;-1L&6+TCoUgi!FuULqJJbFERB1NL%m$^qs_X=c$P1ns27Si{@K8PNohv`nU3gB zVm`RS4(I&K-7&Zw0`8kh_PcpLXxt+y45!cMv!3lkMqfsvyB z$2QVriiancZma;*3Zn)48OLGKaEU(t=2d<~=yRmAE0Y`hr-!RNwhFsVFae`ivUm0O$Mf3bIzerN3hub=hc{%(V*X(XvQbS&3pag6;w?w9y1gt> zD7%TZ)Uq)%@h~Y!-c9uCO7WL*_2^ahErd=sq7eb{Fo_p{;*bikc;E+2zfa%?%8s!G z&jr>m!-3H}q0BaYUc?edEX_#sOKZAxJ3{7<@WOHu07AKX}%WoJk=c~62pl>ln{OjYz%)T$my!^A_oO$saFyp>0G=HlH1<^lP z6%4pf)?UbP)KhRi>JY!*y$cS`QAUf_HgS=wGx2*4|8l_GeGAaxZ-NJp-9Is9%j;dq52C++Ex z%oN($k4vATRktmfw0;%cf@WFM;oXZwxyp|?wOlX$al}ckf9Wtjqri^eYp;=BR1U&^bMtP#DZ|krgpOt zg)3M`g$K+7cUxwAO^wx1Oo-L&k$)}Q+@4rkqit40Q`U&8{SJ#pH$4`4H;F|HJoQCM z68g)Qt7amDdF@s)8;)BkoZ@Y~#wC-2*M?&E%qpVLvVmUQc2vTWiJoaJ@*dHcxj88BjWRv1P*3ZZOoY>pj}W&XED^8It)}m{JSXjIU!oYjCR#B3E|HeC z77tE$C&%n0zOat_@XR3rKX0WVZc5>(@)pqY004se?anE!Q;< zzA(Qjo;2(}j#F+Eb~rZ(-uz!Ye3rTOm4t6}>WL|6ez`6EY!pC>OlRX~-wgQJ`_t&s z{|xc|!VFqbdRja}UrOAmVUB-4gH->1BZ+QaV|{(l7=Q6Kfh&gnM3(=3M((p0lcVo$ z6Z5Vh(0SB_Dk3MJ zUwGa7MRc8K5>y!DPqVVdTE9I@=$##$px7pZMtGaiC${71_n!| z{E_(aXbfjZPITx9AtYE_V$v&Uh0YKbMo$#KzYr!?y=^5-ZI|etKm4M_cQl1=zjpew zBAq%BJ?iGCrBJ zu74SKeUS@irhS3?Gh3p~wZx25PAs$RoIU%_ViBV`hd5D_AL zTCXUnz5J=Wb`)s3StfMQb>v%EGUiv<;l=JB$kyE+VCae%ah-*9soVhFEfqy4FFy)4 zmj;tlOQi8^o=3(W#$?~kEBw8gYv|h94$xj#igp>a(a@ic__NYkA*SDqoLc!8$bHZx zot5Qe&ip;_%Y7fNVnH%VyZ8{#*2yBqSKDy>V_90bIvccHR>P;Bgy2c3Cc>0mgQ#Db z<%>&okw$eP$o_W?+nVgdpQ0MEx}Gbh?ZaSFG(&#*H&XQyPiX76Q@m#3aG@5pq8TZw zLj8zB0#Dv-usR$txB+rQQqL)XV1HV=}Q@7~}Si{DL z2J2O$ol+f==avJFqydV3>@v7#S2$)3W)dOsrb*6rx{Rvjek8Ux#I8$#LcW)OaB1ZbK6 zmGcoN@)IlDI9LD4yi`>JXOhyvZjK(y{#o^zS-sMoEjA>4=wdDY#eYYbbuK!hQI~3k z*7QsgX&5Ygj5Qg5b#0MwW}w;n(5yf7ZnOoqbkwu9`;R0*rut&m#3B!ed z)vdJXueq=^Y7SXnX@kthhY&?WZ8G6=vG|PaAv$B(0#K}3f*u5nLVZJt){;<6s#yJq zys%^G*XS^mw{VR0p?9~1rgK}+qwUthz*P&e;~8gR^9>8K>DUOUIip-GqkIQ1wf7=Z zjug^_K^J7^)I;~=c!{65HRCx~nyf3i09-JXEKZznLa)tnrkX3luxr3_`d`I0R4b_= zwWZ?4D03Nk+Ob~z!PXZx(Hmr}xD}n4+6m?ES6P2I@q}Z8j|&s#Y^PVA2MYdOFNNzC ziTF(BVe4asq4bpm);8^-f904bbBjmT!u)D@W@9kJYusS4o2aOQ=(lThl&bySAa4=Kzb*RIMdl*LK zp{bunp|P3_l+Fhrd3qsVvLlM0^e~Jc-z*Kt_21lqxpTOOHe)%H{BJB@zlxtu}O$L=&;ozZBIQ{D^QoCUSBL2Cw%HS7uNO3|%cE*C6=LJDO<0YKv zBSo7`Tfk@UaN*pCe)#9-6?(L?pU%}U0e?cX1?5yp*82Q|$a0~UuuNsK#4D6b=UOEZ z`EF++pJ^e_-mRp=DitOBxmXev86`|hGZ&Kc;)IQUv(R?W$29EnRQM&k1A)P#g66T! zK-Is2MlJh7UMrmxPpx=B@0;dhE&bc#j9eGeo^%7R8P`P(bA#wIhbM62!R4Hty93!X zuO4?5OY&QH9wIB2VC)>Cgs)3D8avJ^D4cEG7(Wuft7g~TsZg=Wgt5MLi7B3g8X419eIWprf7 zr!ifm$$UEKp7)Y&Mux&@&YoP;n9fe(6TxR!UH`}=Iu@Nd}uek`ca}E2#VzE z-%RE4i%33ijEML7RLIZWYsBZ=&ES0J#IZ96I~h4;WmdZW5G`p_AUSo@=&zm-q3zpM z5;7d`>JvhD z+yn5^WFeiIm`gS03`b9%24h{3qOf4fUNY;s7JMBhNqoI9gm1mY;OMppVltwd%Gx%N z>6yc+<||*&eX@(VjXZ@X`y;{W@ddnBO^I&))XQ)E>knO248-ThZNOeY)!JM#Q#gJ< znuOMWhHsS>(cdLUg!h_?aOK&hbo2Q+X!Lhi8nQf>4EvahTy#!KbcsvJQpe%wsPuPw z@}Ds|dWeHD#p+y~+C;?Q8&(9oJFS=EI~vCju-;?GWbrL=g6UD;V~< z00nC}Ds3hH`1gG8&I35?ToE3T ze;3;%GI(olF{z5(&!xeGhrS%HI(QuJr$p?)eOxJ+hNUXo$_ zLPwEA>s+{sjl*;AjG)^WokQaC`!vJhIQjQ-AsALZjDVHxNdH|I|9iNYoz&Y$dYjA8 z*`v*PI$Fy3`m2KD%v2E%1kNWnu* z`t;6WKCgKWi7go|r29mH*=r1i1xYF}d3ieV(e}lS{>B*HGD9ySj*<)QH^KK#hIpb+ z^i{|hT2UTF#&+g`={t0hs5}rf6nKD&%t3PRzzSYSlcLU_W`mGsIr1mUi!A>&5l!1K z(3$O0xcTD@(09WgU(NAH1i6D98FFl4v4s2T?0`n?)4=s@8|b8laa7mm9>0W{jO66w z;O_qp(`Pk0NbU6r?!DDXa3p;?7z|KBKc&r)XkZYIb9cbgU$uf>ovHY6Up?9TA_J^^ z_gv`dK99$>4DiP?Ls6h(K9{8Gfr5Q^!t>ha;U{1W?=EQL&S{Rpt>)o$-c>_bxIGT< z^0w#yoHznA3iQ$Xw?<@nz%(p3_Zc?2lEaCHmI4_@S_o3~fu4SI=+##ff$t<|^kcz4 z&d}v6Z!s|oKOJ+4zqme5_x+4_rnA<$G4lui@pGpRfFC!*;Acsl96aL{in!W~ep*aL zLs><*PTrQZgsPL~57wmg`69B`cRE?zlZ!L*jLF{czgWY37gD&|1>Y1eLYgw0(DV_d zaJE$ybUiQ$%2?NfmJP@FqU&MoiX}~~bFcwd6Y0;HK1^W`t@L7*XP#jmEH7dZcEKj0!_DLiesqtiG<7w8=a};S#*@^RV zl*Oi&8UCfP0=bpT2?^W(;a~Bpe12XVbdstAi{8kQiHnu!`8ZV) zvuqI=+_(V#Jn)L_L?QHUkSu<1%%5gnK2EFe??Tg;_>w@MRG`&YNTMV)VO>Kl-oMjP zJXv8c?|Lp!(AOF%EISTRzlJZp`A-jCHYg&M4^;5EsRHTIQpL6EkBMOQ3>zB!C&XLy z3wl;!ap8Ck;hSYJdg7Tt64RyO`iQyEc-J|aCYk?A4cHiN0F7p&VW8-!iUNN?)W&}a ze+H0=9a@DEek}U}`eFfX#?kn3}=8 z^zr77gWI9J6U|4r3+LAUYlw!Q`y^CDL9W#~yK<%^XjEZ&j0#%1ltG z5$*qWlW9{nWshBpX5Pnd)9mZtLhPOtjB>7QfdQbfQw=QE!c z>WNk?*A&IR5sAw8tBTH7d5AJgAs2e5OynJ3%FNL_B5L3BShW6t8Z&0Kn`r!PDK7S+ z9=o2MEHa<}*-C$rx2Qw+x~O^0f1>i}6xQnM8BzCgbJ34a1xy1I&GdWaie&vyGKU@3 ziONm|GT#^66%D;z&osZEz}Qg(Ci=<|k!@j`sOR+-uDPv7boaM3KR;Ma)Ss6m3YX0n z^;Ps)ZP_2poPTO3`sSc8HvLidxC=+i4O3T4G2NI_YIaA*#$x*fUCWSFHCETl(yU}% zYph;)$%+o7+KP7FQDW>Tk70%%ek?i;beTz;8RqMPc9FIJA5s0uKVt%%+ z6LoC7Z?*rjvenc$FUzh0dCQqCGcB}aODql*54RY-Ki>SO{V>bJwjLJK-#;*&d{o`6 z0A`uJ_B?IMnEy7_?lCtDi`rrO{Bo+v@g3KMP?bjb(J6rzSJxA&T8AqVe+k+%57ADQ zZeW$LniN;Az!(0QquQiyHp*l!c~)5j4`0!sUUyevyFXPV_iiYhq_B&m|B}PMr9TVh z@G?@FPy^nUxIlx+ZSa!0{@Y;)hcx{y!T^T7&iZ|L(r4NO0%v>FMv7?VX zZ`ljEvtqJ9bpU8N=8_(lLvU2+e7fVV9RB4N4qhJDATJXZh>h@OWSibjE}blc_p(*V zK%+G=YWR+oriT=+`=tb9QGB-@w`h|-KP8btRXLUr0mE4RliM>c}&s>a^5>AlFOZM=V zR2`ll7evnOp9q%B@f13H<_PJVREdKLORqco!i2z3!6|e*?)#J|mT?Nl^24%3Hbq*GS~nSe>NFPr(i)HCkG7J6>n_5dyXS$p@04!5bB^(-tvwb4 za_g8ASdu%`KOM|SmV&LK0c6)CsWIbzkeE-wbiU$KTD3WkxSkFmWe<+h&y!+lP1bDs z(jbcZthb=Ugv(@mz;7%WR${%P3+UsV74YNGY_P!VB43tk30~j%!{eAFzO!*J82o$= zyp-s?A|iZvWwT-Y)SbS3z}wxNOXE|{qPCAqpD)L0_}pQiJ!@q=@nZ5hxs5z6o=Yn` zPml=p>v&~Lx-fjc3W52@q49t!t!=g?7cZ&6ZB&tKa^vs|Uk#LDTug3Gnt@W=Opw}0 zH+W`V4N7!4h?<7(Q^grlxZ{E{Z&xjV`FAC!t!Fw`3P`}$|7DQ>5{8o&`VM3t7$tOG z4-s4cI{@_3Ss|W%BFvlI0Y8*$OSr^QyyoYxC`d>Ee2^5btt&%{J|Fpi*<0w8Z{f5t zE*Qm|>?MPHP6MLQfK#ru;N!rLlyYI{h$Ii}@worESFP{B+cz_Wb7jX+xJR~7zv(9I zf1D^(eLV_hC$9l(D^rM4pee9lUO--I{fAGj|3RuERuk_~1++nKvB2s|YLHP|;1x?H zdN3j%d*7CZGd;q&ea|JjwI7Z6<*;X2IFh+;6WRA{6|wv{ zhKNR8!`8m9@Mj4hqjc{VoFBY^ycoJpZsApA{`d_z*0TT=nG#fSuNgxizH5muF)0_&oUm9~emU-|bTL;`4baD&E^6PrJ2;qhHlKgtt;6as|IZii&C6lkE4@i93Qf z_oa{v=Yy&Jqzm|rBsTr{@;i8F(_&07-V)|E>IhGzJNS#9Hxc`NEBqJ{M^9d3#Zz{L z;pw%mv`!-o{z*PZMuX8}{kEU*Ncmm*_~?Bha)CK{ot8nEUv@CGM_m|RX@{rmA5YeF zU8B35>cPGq1?%HK(}dXxm3Z-tFyVtZ0GbwdQ0ib$ti>nA|Mm6bNw>7r zQjG{r)gHn2W;B7>VuAxC7lqF;p>O5E<2aQ~kZqh|rPbq^A>;MW*U;4KNHIICZe;~Pm^;m>8>;)OTNmGR~O!p)$eZcf0KNm!R0aHj?OSV+N(=A68{P8+w_hY z+t-7i|5J1xel@*+0B>t(Dosrq_ug}!b0)q<@Pv>5{b2F5*IKvr=NnylbH?nc zETLMWXVA~~`GRA1SD~3qA>y_?#mj_i3Ya3xDE2R8470y78B22+XUdZ?`fATerd}se z53I@UhVM9gYXWSDcC9<6_@Xr(X(L1whcAZ_BPHwUeeEhZCURbaM^0eWz&3Wm&F4EAJgz`pEN zc8AR}bZ@~UtdaX1%1mUF9O-Ow)(w%Kw@DS@))SultjB6@L;)qYr2YKf(vox|TAo3Q5Z&Z6G! z1@z^)-Qd5M(lGa33Q`<2BnOuM2fv&D#yYp_;od|!Mo&lhxl!>@L-H}ZW}=!L?raA( zUz^GNiaZQ_9$@MFO%mPeYj-_Ia;Ujp!w+?sL)#H%G zQ%FHZI|*5Hi!c}32o@YC=H0T)ijcqL^pR-tj0zy<^4?+Im9I!*l0e<#en9)J3~d$Q zLO;}+L0?Ob75XhU(4qH4z`uG65aYRro+>o{e=4h{-7jm<+s=to_fEwKdu@cL^5zV8 z&6FKz2T%p6?K4m_s)QX2Bf-Cb3#dFu8FsunNS}~U#vf{VV9&RUl>O%hUjGgs@c6v2 zpCH`l-M7;dIu1L+JB&M>z3eyrX5$dOK;so^(fmU{&dlf9jTlf4vR%AK-nDe^<#^yF zKZAa1^oABIccp3yg7NU$Uoh~PH{IPVf!`(kfZ=tqluNxOaB50`beRm;6dl7mKgWk& zAh(Vl@xIM7t4;zl-xec{jqWhSO%-}dHt-l-S-9(|FTJWz1pbwn3F4rV;Gr;b_9BTE%J+M_~56xMfKsmITQCNB!ybwE^Myq3i&m@FQn=HJqyp&2? z{U6Oq{Xj)7^hfrx(RA0?PHt6l4X^2EGH-5@89i-P5uNtt9+kDfl79F3EU($q8dQ1y z0-Adz=(WEOON_mPg2ppp5!UAQ`uU^7EP~=AQL!9X6qm{f>4SsaR*?81F zWC(IEn8Tv5n>=-=i@;#k3;Iy@3EF#c3%zzw6w>keye6+<-mfRA*rER+o%)|9TDHH0 zhu1WN3tLCIDy^}+cblRhv&fy7^+Z}r>9@aO%7bgBCYx<}oWCQy{EjA`4dbl^@N14JELe9QG$>bs2Pcxi=e4WA zS*3jX+;J&-!TJ)O-CjN3&!I%#H8)RgY@Y(>yN<7!tM4YWBizzE)Ajy=j1v84ZW%z$^BFT>US->CBDZ1_6x4qX>{+YbmT_=E?;zMp$=rB0+#1U8qLEgm+4M^|wCh(9IK#KUhM z(0c2Xd0PH7<#o`J)(Dd3ii8QByP{v=(lx1+A*lv#BS*OvZE9fmz*-=yWC#MorqB|S z!uvD|ap(4?P>jVXTEvX+|mPmb|GNfqn+T> z!z3WAnE~5v!fSZ%asU(T!A8_dfB70g@71|Wor$rgR#q?O?TLHKo&Wj(_r=LLPKk#t zr?KULS+}QwS)gmTS=an1voM`Z(+_%2OjcGdGaZo=Go9$QH`}>gV3slX%Ooh^vx%Nc zHYxDj1!T7*F}_FZ$Y?RdJ5~)dj}oVl@Y6=HrH@Bc=u%Srh=*R!44{i%G^2ap#{lnj z2<}$gfUJtLP}nmYaBDyWQ|_D5Jh$`A&dV*ZBvzk3uX&!nIe8K2dqxU*sWQ}LrwvzH zuO^%C_koUpNwmc%3g2lj08YgU?C|yuyw~+4_~BEDzN`%ak3j-SUL6gT6iiUBB7ze) z8);IPhwT5JVKD6nP3~+b>HoRGYrAjYYg4b_1tTqRTcb6q6PF_FM|1l7dKch5n8@l~ z*aDA!zs4+{;DExMv zC3{~icTWv{KR$_5opjLLYv!m$VS@T6Y&%vxkVnc|RY-m~6#1T#z`v`Vz}AKcl&6-H|@oF~*#ysa53jV8x_tyNR zN#7A1!)l_0Z)-?`;Wc<7(iEqACQ+lIBXoSJ6U%BZgzwP?cF|xa&AoRGyS%?cM@MJU zNg3_fzcibs?wr=#E)#69C;YjI;ROZWu1n=$i}zBrWsfQ9YV?8eZJ(fw;&F6e?L1ne zo`A0Bk05fk7JFaUA-KVZ1SLMe;pZXtn_G#7V|ELFgDL3k#zXK_Ycfo1az=-`CDD7U zDDd*{Au7aCg;(>-gX>h+$jSK3aPrnFaUH(=pk5sbrS~tI!9xz&oUeOSIGM()I7WT) zW^*?dnfge-HTkE18SgwY3iu-9=;+mTXqEUpFltqV_l2n-1P)MkDPJKooC}RajG=sp zC9h(n0&R6RMA}NCNGhZal?<7q*NLyG4F|7)wKxadrS9Qm?|I;pq&6?I@+K89R!jXz zFb5xQIKdTuibDRT1NMjCr~2+EqNpkt&LzpIKO>+=2ZOxGpQyMGRrx4lH4^=O5c zW^shhMG+A9YAIxwh*ER!yh4#4m3Yu9gYJ|MMWZGK)TRJcGVOgRG&6RDr-P)R^bL2I zy0?z<0vrOAqj zj^2Yu*RKH?!xMO0f&n~!ZjvXzN)tsb?*h#pH$jbnp+4CfA!Wg7y6<`qyg8qsus=6o zQQB{6Rx$=Rh3mc8CSR;6oV7gr&57sq@H$nDJgJZFGogB&JM0Wx3nrDy;8G#W`%hlT zA(hKx7j``rE;5@mN=`#zI`*{4eoJWgG>cZ7n+a>g>M8SS_vr;IWZ}4~6cyO~5T`U7 zVfv07h`Sh#4wWvU^n;2}!|P_imux|}9)mx5vckSdHE+B4DtgcRd>lbd1#f?^zQOosSd1Sx3m`w{*hx{F!L?kRhtbnu4bGJ%-jN24SN}C!EZC2H(z#g2s{$!0V;a z;QTUu*f84y-iw|E77Xp99~CImVMeJu|AMnzsr;uLt1)YC*w1n9)F)54)v1J=I-{1; z^KCiT_*O4x|IP~>c}d8b@q3<`*_k-gpDNY-sat;FN&R!|%@uO2OaUNw>D7X$zmVmf zjYS^Qggx}ENOpPBEW&o0(6P6_GKQZF3H{KH?_=9S8;w%rChSIT6~aDy!>{lo zUx?y?#71CKC5cBQv{5?c#<>3Av+>hp*vV&Wh&W6{J#V|25g@~s`5i@fdp8JDeXsJV z7kjXHjvu4@&k44MzhQgjb@5lrkhPB#39Ox9PDD%|0?B*;Y)Q*lyyc+K5v>Y{G7p$!J@TIIO&Tk`jnr zqXba~AZ2+Rn11Rg{W5bq)%v)C`Z4nvm7+b$dtZX+6*7|aDsYdh;u*~yxLV9+N92$; zt^_L#m$9YuHsJJ>oBZFqj*>guFq(5ZjR{+2NXjfQeslgjwW3y=&1`UInlzJ{Bb674 zUfwf&6IvqRoQLOe_7J~{*DO>~B`ta%=*uEcVM}>t7`@RrWu&XG#K52p47O4Y}a(zB4F($tQkb?pMZ0 zHiQ4$?h?xTTE=`(dVns(t;H`dD)8NN-h-OzH1-)i13eRe&p0$JVa=RE@z|ySe)yau zaxK6IKJPq5nnzQ}t6X8%)kr`UYi}e29r3v7pfo$FxSz~de}%bMwcy9?`FLGR2G)0e z#7gW~fM=eT2Vn}uFfHRTR18{0thTx{85-O0dg0Z>uR06Q6)$IkheCvQ=wNvBy_i5x zEQI~AuowqE)+2w8=79U}T$qiC<}l2%8(%$Rf#p`c0*U&2nY*VO*{SP9uu|1gX8MV( zaO_<(%3CdvzF9InuUUmP#pCcN zgI;t;B$jfdmEjIB09ZS7l6UYBxTP_hH?_5r{^fF;y5??*sy8&C%I$t|GGY>Hpc!;| zaUJ@&p&f4+T}&UpQ%m|&pW-EkRbYk8Z7}T_hZ-@MfvmlEqnfSXV3v^w)HDzhjaOKF zpAX2G_jyiVo1V4&|PK->l)qNA3bJ?G4 zQQb_-f8T=-UyP^1J#JG^qhty5y^$B)y+NzF;fG%6Id7wXJxV6icg*6BE#lLW?MYxc zEdq6;W1)MoB5I-?aQsO_96o<9I=1c|GE{TK))#E>K1K=e2z-PBXYW7(pY+ipY7P8U zlLoAX=Svr7-lA6=&7(LzF;x1JXr9PITW&~p73aaGLeAH3qnu+KAXmdHiQ9R#hO@mQ zh{M?AaBMRiIkgSRoZk*ZX6=@SoQFx4X2ZJ*S&evKd~e4MCZMdF$<@9{O2*Fd&u-r@ z>{}&Z75^HBX*4HEzbB!{v;#sfj0zhm)qvug^ce21+ql{!gzO}T(Y*&J$mF3;q>}!V z{WJRwe!E#4X8TOV1HqBVb)|sFO(>CiUmank+KQZ5YK~pj9%LKUP&tq7J>`z>g3;KC%aO52Tqh+$;|Ve0JTmp zN%rb1q~7lq@!l%R%-DK{tg6ccJ2>m{x6wj&%vO{<---G0LEq8qkOPdbY&+yt3Mplc zM+^|rMR$z2>_6KCe70DcRk?hW-PbG2WVqA{YjHJM@N^I(!MiZh9A8mLy}I_WzgfjjQY@E`4w!`x*EUOy_2xv$gFG;)V2 zIJTU4|0u!kgIZ+MxCKrWu8~JKJm+if8bs;)Ht=VxSK`l6lSE_Rmy^fCd}!Elj3~~0 z5B*$E;>BK3L}$zsY>zJ`^Fc8`{;eeTOt{AE3vh*#hlKtE5qXL6#mC|0j(SuZ>Wkfy2XKR88hHrMG0{)N_&2xev(kF|nY)Tn%mEKm zX76-8Aus-oT3b5 z`l*om272b_N)Wta1K4}=7%h;VLkDl;(z++j=s-2$n_UO?~krG z8r&!g*=1W1+C!n>XGzSd@7DNJ*I%mbp8$rQlmRC;C^6!f=Q54^eUMYI1_n0ffdAn> zVQRxz1<$h}J*1k+^;^T=>y(DON}8C&53cl*RKmU(Hz#FvZ?J^l0ur2boYpGK6n3y? zGv&8}h0WeDCOvJ0Ue3nxrRQjnX;wKzddf!9{zZfRVigPQdS0PNrxKW$c)&)cORz0J zHbWz;MXYqhZQMKQjPiPXnTVbQIy<_ayx2E^a-NTpfc3)t`3o8-?uH3lbhjUeO;H5y z_A%sUiX3^~JPFo_-lKNs#NxEg-B5D%6TE%idD!H49M1Z@0^XK*j4Hm&KzipL+0;oD zVHS0a>KqaW#)lFB$OuH12?=Q4$6N5LRvKEK)(Bqs@|ZriY}^rF0(I+S`PZE+$$wpY z!Pd(A$kul$J&@pzHw3iOd2iRDZ^`zsB_@wP6P$@FzZ$Wo=VqeI89Lc3T*k>^)x3q7x+&(%68wALMds=tecw>+`WX0AIau`sqYWd$G*9e zfs6_IXxDbl@jFNL(A~qcbwencjpp=u~Jgkx0s17{Y93_ zS_3Ep_y#rSq^(hf||4YOjT~TQMem$u8 zE)u+(^_wn8>ZALX6w={6T40y*JfJloWPjTwd3T>EaAq}p;jG@-Msb$4(SO~_sJ=fs zyk{k1+{hMn{5GEfb+$8zh@=8xWc}g65Dv5An>A|i2G6M&9_B zLD=IyB;>Ly(BiJu*gCQV*)KZ^ijfN37kZ;~fr3crBgVk0Ud;}lh0+(mtoT81-r zs-jH=`5@!OV~CjPw9h9`!W(^$BFGNfYBV30oX`malY%7RZYHSiZ`NI#12O_zj?2mV8?D_>GR z>o$U4C11#c>Uq$CIzh(QkAj6Br=b684RC>7M5XH-z}aVJQ{U$=B|#pB;M~X=+_2Y% ztRLwCg1Ohp^0f`{mN(oq5B-%3G+!h3#sXE#?(#03h!8pu+agS0kI!;h4o!_vQ< zRQ<xd;eE>{XYQq86 z<|v?26laA`r`u$1K&#qg;KB37@btM=uyKtZx-uh$zSy7u;qDLQP+lzj@FyDU+gkyd z99z_~9MSu3s8e&QrxRxS0QLCTZtc-Mhi7*5^l<`KZlFK8X@bq3d+91^5pXiD9JFu@ z;D3R~p~lW2M6y!RiY_IT>7a;~R?I;@X*TH0mv|)QWP!Q|o8kAD3!#QiBS;)v2_%JX z!hKCWK+e#RR@=#^=P1MjTOgnSk{B zjRuaHrLWnq(>KiIwKX^@JCn@31m*1C&`c)q`X<5JMlD8dy#*P3yhZSFLmvqpeutx; z++a>u`7*yx@yP4$qqMF4KB8qX$~^MHZ08FNM*L(NZmi}ZYgt)RCHar(t1#scr)Q80 z+w6e;Y8~`v=3n?ox037&`@}!Z^B{i)tC)|k=OX?o1NOH|IsfpURp@cm0RL*Ut)Mi8 zkKA0E$wEI>!jqR|Ji-O=`z2@ zWGY+ElKNgJ=DM~v@gI^TUb{rlk{WAr)?b-fSf$0^%I09dibdcpHx1h6$fLcwQH=AV z_3Y0nab(elDZGee50$eOil5=Fqoy;~2qtE(Oy9y? zeRMC_DVc-}^hVL&_6RgKI1|fVev3J7M@hYS0n<RUbs5?Y zT7tVS*|hIsbxQ`+w<+tK5weH&x716283;oXLm_9nkxcvBpCe(hB z^|$g!v-%>qAYdo+UgQyarijPH!qpY}b zcz@Rp`lF#8Oik^B@8=vR&xh8+@nu!K==C}Dg0pPYQzOwoHBr2wC5Wa6 zAEK|(>xt5(O?2}9QTFG8EzEXjIi%*qVZSZb2M={N5U(JiH(=8P)H+`mZOuGEeU5V? zp$;GL3A7(R_q)mMK@Ihcii8`Q zzRwfv?oKBjqMy*@FHy9_)SuVk%fWhA>)<%Yh@5j>2EW&A0tZuy=nSDpuB0Cw_r!D6SS$S$FC>++5j_`HugZk6yyYt9D4IKLinrQsCt z)m8+#o37JrY$6C4R0L1CrMyecR$Q5+y}WUc+0^@=&b;@fQz?_3rq-h5|$SB44Z2>GbkgUOv{)yDUHte9oPiGtIu(*+*hvjoMjI>@;n&8%3EfaGn`B;La+0)I^!>Au~> zZ}?EeJU3J1haQgNPbBHFtCqbL829$DZ>A5S>rdve=R3og;H$~F7gf_;ikDe4#U9+Z z#g#qh=)uTyr!n?YbCE_!E^}>DJ^5N(Ew~&wf~U*hhvQ`i*g|1D-hVNU&F){r9Ph~| zf;9t7-K!LAs(PC3o@2#Mwkng&3oZ)utc&?kwNn^{RLE5CaYWy{wfK6*akxv&iP>ql zlv$MRhk6(NWTKNK%zN*p z0doam4mxbebX|eo0E^R0=CZ093{LFILez^ne1)HKXjb@;&OEyb!|t75Okc?g&-;UP zh!-Wp2E{#Q7ms(cKb4pBjYsSR?*1Br{r2lv+Z~q~4eu>1?QxS`d!UCcQK@2UHTBqq z;TcS0vogaIe@>pKJtl#l{*nx(Q$&58H|dgJi>FM%$XQe#E&Py&x>e3X9Xke23zbBn z7Y?8q(-$C#Wx?=((-JT$5bpI~siw{u##8GJJFnadS*I;#PDP!uPghgJ=W)EK}fT`9) z#6da$WJi7l%c}~QW)ML|FI6SAUGwQ&rWRYh-iT*qe?@0dFqs|u2|Y>-p*hQQ;nJ`H zc)n&9y>P8BS6gfj7U#R74Z3rXg<}TDKH~!4o)rcCt8GwWVE$naUxP2G zE%{Ar+8?1>+fu2b&?A(lj6dzx(@(AbJi=>udV)Irb%Hl0DB*>S8So~){ooAO=x}DO zY{ivbG>&gyZ>Ka|+?Fck{@tw;!nA>l{(b$XgO`Aqt*WMxwZBh#Fsk;l35ZuF}9PSaRzZ zFka+ERT^4hKhTDCdqUy)>IRsnU_j+Z3mpVM1JEV?CZtnw0Y*3Lk?}7*yy3PuaNE6< zMEqTj9H(3%6N&QB;;aw(-FAr{ON*wfx*njt(?@sZUeQd8*2WvharW3B&@s7>E07U2l;GQ5r0lDX3|H-egN_;yFb5!BH zv(9kK2UYUsOg%6R-9T2Qq?SIC|X!`^ug==wV; z+UOFEz0SHZfkosU1tKo#8o9ayl^A!eQ1cLbXS3bLQ!~a z%QHA>5D0xA?1JfPg~;t-81{Osg!f;24gX;qxJp(PZp~m|*{^IU?eYM&>@bH($5+Fl z4en62Z7r~{IYBS`{D_vdm+`PZhzZ^IS)AU5@mzoTNp4G@3-`+magL?- zeKRi{X!c6H!1T>e3zO-~o7wgs^I63^`fORsVe<`tFEOSap9Jf?^w=ZeEl5{=JIni5 z!z7552+w>IXv*#yyUOY@VH}q*M_Ly#=RPSB*T-&fkFzXuB1(~H^iCIuQuoQ=nVC@3 zD-O24j6+lNwE6t2iNH%i?l&X$_c1?2szcaDi050GuxQH;OF_cDYUZ)b zCr06L5P5w^oWIbp9(q)J;z0FO{@k}UO#0CnzDCk#wB=R@-*n|N9(jP?aKWdX0R?>89-aT4Ar0bTM0n4q;0;0hg?FrqH>?BuFd) zUG|&8th6sCfe};4(%z}?SEDRrV|5B|S#g9f4HHnVqApZj9|!G{Q_%7VO)_({D~azf zMXk4le4qL#QnP(WDhIesQ*;16&^=#pJF|{SdfEo>FQA_+;aN&TEMPqk)`wGq(|aiitl5 z6d(Gb8Al{APwpb_6ml^aD_R)0@e=m_U@|{$iw$4mP71qqP@l~hyu+wB?q@zOT+iJ7 zIEV2wIZ94EPsYo(3+H9(`Ix)F2EPl)LUngd(7~4%Q5pRkO-yPa6RBDdEY5-_hY;8y zbn28XoI?MB`{)@p@Ej5=PJM|~4jp=u6|;O+0uf&LnTN9k<52U$Qp zFE3_wz$Iv3ewMz;xZ+g(xoBd63B7LSf7JKX-LR?SIM|!qfx=$gLC+>`!}vzcCR|b$K(+7_mU@hYIMo*XIID{T1kUoEJ6wY!-R2Sjcm8!@ys`((9zbNOrNm@PMSWa7DaDBntVmL z`WH**_b=ypS*oMo#&Y0jP!a@>XTalWS+LB(hVB!#Ocr&^!qR!QcvX@q*q^6F>CTV@ zC2p8rxaAW%XDkUf$zphzZGw}#JE(u#Ip~zV9nv^4i?(lBL*AUfjb4Xcrt2S0g03|Z zblu|LaPif2;Jh~*ylmeAboF(pRXGYMI!=wm1>d1n4y#~G@j&`}^f>I>+W`6nN-*ea zI|zB30i$m^@T!&E==Gc5lJ-Bv;7f@o{`ucF>O$CmutWYKWgnX-oPlXay4zZLW^K}% z4tJIqJloi5613tWw`lSvmAk8yKJHLVzhs`!DjS5<=(;{IXYwrkylXxh=`zOZosr0~ zc^%5M%|RNM_oEv@-7v-_5Bex>fJ?W;fahU{=uk&*dbUgyUBE7-Z?;9!FTQM~XQdla z+!kwI#z7VCHT473Vx_gTVsHenW1j&>@cWqAhK5XzI`ZU1#w_40*zUo3&eJg~D_Cl( zmvsb-dj6!J(Jkn!wmjidN5DsIG4gNjbr?Tw6}9uD4|-W#55KBkq?;X+ID2Sc6!NDI zc)yfF32xiaq4n26sFFLiLt{OVGdcs*iR7dT6Jcwm+leZ>Nn{Nuc{|Z2z%VQMG&ZE~?hr*R= z^>88f;L#tlPx8-OYg^s`wadk5`ENV0a-nzTQRdFB<8U zZz^!|ih59&xq@1W9teGYuRv|gR$47Mfz$NH4Ccoy1ton?;l}p2z`4f-SXkc?I%nf) zk$?W6l6MwK^3Twh7KL%Alz37_Zizfg7YXPREsyeNB+)Ikmtn_lW6I*x5HblELki7h zR9#vPD%zWXo(~gx(^6lcuFy{JUe1NC!`jrF7-z8Zr8Icm`<0tG|1O%7cnW2xZUFZ; zE=BxLTGVmRHmDIk55!8nKsR(F!2b6u(AVZs?&I)$%Ct zBOvXgG@PC>8#-loKu@{`M$ftkV-h8h*`nJpfjR`)7$>;Y@hiA~e;IHozDO5u+eR0> zsHDGavZMX?22u{O>eQ}pQM?vE171_nJI<7Xj~q!Rne#6*iW9svghSne0>4^9Z+GeK2L|4D>vb@VhZ#s`FGf_68A)iq49?(jC?wNVbtO?-=&xFY(T z%^-ebpM+jmS}>KX)W~Gh2z2{*nsKnnM6UV|p}n35^St8_O3+qDfnV`RI22kg2F_QOqqwRX zc;K%x-7677E_)myS2j(>t9Iw(_6L6{WjlmjIZ7zrE}De1JcO*x@h@aUNy>i^c58n! z>v!hBu^a2y`Rp`k^h($;deKEY9aDk-wAF}St}^{{GEDQQjEA1y_|uvG<7#Fit!7kU z(j@(&XOLbvnF|^eHp8k;X*Be)6QN}g&yv)`PoykykwYZ@!U!FTFPdU6m+FO|3?>n!)u$8oN?pCo@*@NQJTM1-AvxDZE-UL_-I zud}loZm`#Go5OX%Hbkvglw@`(!4U2?s{FGqW{-D+>u;@y!lS#4(Jgg$>#u9bcu0#` zQaXt@q}}3kRMp{~jfK$Yya~!B_t8|?4r@!^BK-)VPd0u!{uJkgw@&xL%wt)Bv*UUk z+P|7y{H)2BXsCdidMjAp5F=#&{2g z3b2-03(Bi3$h%AFApUSY>-hc-%P-`93%6$ zOC!1Z&6M3mYsU4}eVnwSg2+xyVD`T|!X#yXLh~DL5FP&{eDv~X_U-)Y_-~@8vc20=P`gV6p_Z8u zH<`uE0uOakbgvG>R88z%b_JxAf5VGB^Z7&4QN+TT&t58PM}Nu&i0(2-X1sq-238%z zOF8O5g zW@P;Nvx(nXC9Y0gEtS+d3S?bJV62%Z+T;*~9CM9{ne=^zX;)@*{+X}?FQQntxKcKE z9J4ad#o35a6SgH&g7sQg!Q^hIn2qu|q~>5LhN8Xj+u=?yaPtXB4V(fW>mLP$PxsMJ zgiY*xhxg#)Sxu<6w;!Yg(IBQGj2h-wP_|2qXsPs6x^;_vRXWW2f7U|Ced-h{Rb|)J2+6dtoau zc33aap0E)3uhU^T2QKiH4z{x*?>H8mds60&vn>}Jr#Ue4v)2T&|q#akl|0hea%E&j}hGY z5MXiJ^S;1g#dm?ihiFFiObZ(rXNhMWoPpDSP0#|Z9*C&U|BTcBu>X}p>2skms~A6dws=Dyd$qUDXia=NNueCQ|}d$vcgsgH{MBTS09SmzkilDLR}CLz*dN$4^XCKokBDdy*_z|eKPdHS~KxTXiYDMD0W z-?~*0TGe3gR&dt5;@k=Iq$N+ycRz?SkCf6i-&W=;SgCNFpR^&0|IYC+-@a@kzjg0> zRzyZPAFMCVT$GF{rr z30xz}0q5pgLe;&ySqww;JB$^iLZh#xT}7K`OP!sp|UQOavon2_HOQDBcfYwvRgn~kkSX3{EP?yn$t z%CHTcEU;wAW(VfuixSFsPZN5wG?MnsaVHugy6oT-OOkc%F4LLQO2@04;l{oNFoIZ^-m-VwjhO^<=mjb3+!J6z+w@2Q8 ziWq}aVyLiPjUP0uNZS92G0t+L=-asvRC8q?J|ULOf&&N1gv{ z?>9S*WA>E_eJYpmu@go}@@6i(H#iDUOHV;_L{0<8Z*}nIQ*k`QJb)?H%0gE2EU2|M6F}AfgW;Tc%gv*Og;jb@~klHt2 zW=@weGIYI%+B6y5=Dd{EQa9qCzMjN>-m#D!2_J_MmZik^6$KR9VxjIuRpy1C9MF1h zs}-5{M87aX#l&h~5hvX)gS)P*lBeu3!mHM_0=Iq-qiwCTak-e#N!I@xJ4-JlPcJbw*uJq*b!>rZ&ehfF*tRUfwp4%l;MJ0(>A zYBou7u0`YaLm(!x4zy?ffaYtBQT%8LnWuf8H0Ry_d&7>$gJ% zl?SBa@VkLcYn*fg3DOV&iq^Q6YU1HY$5C zQUy(D)gwFF!n__`nRgwzX0Jw-GShfoA1&}LGd|E*d=l%|DnmWzC>T+{4mg}OL6PMx zP??@jMDAPzrjd%2p8I85+~6%;JM|Qd-wUR^}>NrSY6syi_p%faHm2k5S6 zCJeB>iKVsez=X?d__#QqnpQg%rSv4x57$`3Q13x7?V~Zp9o~T|TCWn*gT4p^m!NrD z!dLv4VLNr4S}OS53V_?)^Rr11^;lBS&>GsGoqpWSi0& z4|mXCpdZ;f)rXod^-oh=BhqXq9`cb^t)v9z^gf$R3cN#FsH-S=$6tdeN zh|lb5$Ip^4;r2gVoZl>l>jJH@{F4YgebFdx^B!5qQ8zR@cm-z<@b+IB5zYTJQ;KK3atX>=H?9 zMh(mwP@xuBMiB0Sok+t!f;`=l^YPdVmgzx3ZwC(qWFhiJGRn@MC8CmL1s_~b22;|+%S5I6ka>R z%KCC#Ul0Z7e()DIh5jLhxl%Cm5`*Vh8uS0|67F~C3}Mc7bKD;7K=Q11GBvKpP(M3` zbo6dxW(TeY@jBh`x?2W+N2xmUQ+H(@(;@&c8pq@A2jPK`TXf$uPhxDi3*szGp`*%PxP^5$9mNYY?UjvD%x;*+HMduw))&IwFWD805itKyN z`OI@JS%nZKMMG1Qil%niE4xHP2@TOuNhDgLsU=Dj8cIVNUnSD-{{FiUkNd}c;GFZh z@AvEVeC8KPv3_Sw$;tOCah$U){Wq?2`gT z51WBX`+ivTuL~=VYovuUdZFFtG-_}15~f?L)5&@^{OtT^aQDzIC*^# z{!^5U6300b)0weA{YxwAb(LJh9s9uO!u|Y;g9ZGD9Xe#INQVCKJBUX2sL)^QKjFd| zLHyoJsYtB-kZ38$f#-n2wMm&mh(k1TxZfh|8NCel&HqV8yBfiU?_ zv~}4b@Eg6=_IrSYmH{vRt zlWIh`s;lJs@FH}7V-P>5RY@2Xl#FT%_X$!tOL>LEGtsd}$4T4Wld!2`1a*Guh^FYr z;B5;4t==*guKb|E|F`U)(Bqqc|7>|c{;Um!HFIOB%rs?s_VHqV^_DMWd6qHp(|HS5 zk9Zy~DPWS!dHLpbS zmm;h2!aGg^-9C~2%$)J4w{ z1zofyE=}X;qNR#LtoBH}w%h^q+z&$WvX|h&F%@Ll*l_wuw@zVLD8{}X!>`IT`r?!Yk;^j(UK?XQAE4<3pZXTN+_hcdE1P>zCR-`?6x z{)FGcfA!}R5h*5zeq@qwjdw_6njaneK*XQC-AB_iSI|u|BWRp3PjX(2rGG-N5*x{k z#3E%je!8Xr72eT9mt@vT++FI>a(@nZU#tbLctmgs%q|W%Pvw@ic(HDQdFFq4|g-Hunj5+A#_>y1X zTSl(!`~+wD+i}mQO8QRP3iw<~Awdle{Efmd^u~b{w7~KSi9VxD?b?!r71qfl@A3;U ze7p=^aAz?pJ~$1pwUif{*a&=QQ6z~CyNi}i)uuX@R(uebkA5lM=HI1c^1DQ?NM7|T zJ-*P9Tv_`S7afg&VMedfTD2W`Y|{a_CCp#g^twvOCcPwY_-nFciwGaL`AR)k7t_{5 z)A+H=?Xhw3ZMxRy8qoQ12K_f`vhcEf193uMg^8w7FylW*8ZlZ9{|eScdxo3xKAQhP zsp1>{`P^B!{l5YJoUyquC3ppiPf->J`kRwq8edURX&*J6&_!YBA>X&e#J zW^#6jgUy>N_^Nh8UT#qW=^1mBzxR7RO!O?_bq@64nA>9ot6MF&>EcWBPVp#MbH5nn z8D|U7@Hz3cUn$-g1aRI{(uN&Z&CML7L4fZiDgJ;FLZ5w|+QE3Jn7sFed` z@p=_>=E^zYX!;dlP%DFsn2|uw+!RCW_kIGy8KBC@4YWS)Fj1U&67WI>|E*4uPfxVQ zwvk$VY*{&apqDKSNj_`E9A#eRZ36E0o#n%uZOs zyUsD;BgaSJDULPlvYUN0W}XSI{$|Z@tz1Hb?RI13$G_3>bPMu)wj55Ro&4}$$@I$~ z2IMc?i^>YFK>xXCX!dqM-m%tXqM0{!lvYBKH*fQwwVrouSwaar{tg4)-LnSkFYI8n&luUJ zuMVe^-v1$&2Un0uo9uBlAA>CG<>~YGe$;U$k2_@3PK-6Ak?&_)sPU$V(Z2B=70gNn zV~-BvNBUZ5^2-7g^HmL)jT?dNBEG7c5*(xosfAE&pJnTf>GYJ z+>5p^?6YKfWck3Krr+v@?x$YBw3z2?R8<3Ux*&sxn$E#3QgL|CYBzk$c!;Tu>*jv{ zl{}|A)6ui=XnN>}J6!2>gwFh42P1nnb1w8K*%(YYf7w^$w*7RpO)-Ox_i`hyN8(}g z-hE`*KneP-1iZdz~z6yy+_YuONeC171Q#?2dk$7y;>VPUsPm1$Iiyu=~wKRDN)X zle&~b=iXPxF1^v*fYlK&dt4D$rn(UQ8}=)Xm$nM=9p+{&qn)M17*AbOB?G=AqU%N)U{ z4&`tw;xDuJ6O>5B->a-lJusLM8E<+_F4gMxVKb5R0M9O$M7Dav6kt;F9JsSV1a0i6 zApHw9DB!aT^51v@)~0!(3(uqQvD!oUM*1jRD6fbcymj&75<^_?{up(Cn2+X6>4Tp; zlHuF*-(ZLBAb0xC9xkSMIoCcShz&{6Vrq73uw(YUV-Ahk!_;mLWHih|MF&)}MC1Q7 z*_x~Gv1$H#!Zv1Dvh9T>q1M|yc7k@j*<9t>0hs8e4nrNP*uRIqqGnjhsk&@nxBC3$ zO8h^eL1TNy^YnPp!a2!crD`ENMp+7d@qNxI$-8jI(bGi8Yb1Lz&L8*yE>lpjl`Y;}0q2E8aMsGJP=+PP+`lLT*1Mfzto+`K;LP7( z?T6*eyE}F0Xutx_u}ks{_;wA9<#w^Rx|`5YO&XVQG=vScJ_$tl0x)UW$t;(zwB0+` z3yf$RV#mLgFm-mDaP2CSxJ8Po%zK|cMkPf9c-@);7f$r#ZtBT04^&QZ2hPV!JVVPk z>$5jOUsonuCo>;NjZ$Pj(-+*{QF+`@>qI8xW(rc?RtL)DWI2Pgl1%ug?M$zKFZbBI zg*hIwoYO@U!Q^>9Ow-+?VBbdq|G@%QwLJj@{9Y+?nri{F#y)2oo>H*LcqA8oQw7X@ zGn)0TfPm{g24^^DgLj`kLWjxD%+RbEKx^|uW~jPIbaiP9P`C4EL}`^e8s5K+cA0(| zlkzdi>Jigy6JD7tdaU+Kl+YZ@G|c?NbhM?gz7BKP;`uIYWUv;uD{db*G)@N$R4am* zO=2Ls=pFZbXD1i!d7W$CAe z*jq0Vo>?tzSF$#^y}(+UJ8V6yXROVHnF=;7xe3+{Yj#_$MQg1F?rU0ayK=&6{<3ZS zqqr#4GhrXSdMpNa))%5G;}N{~peCJ_SH+dYhvSC!Cs_Hvco-!$m6e@VO?I?2gRaal z>~>L`Uy(1*zw0>z^PYdh{eD6Cfp4@hKVU!HlBxw)>3hPZ&1TqTZx{TlJb-ei+=74Z zl#z;XB^=9$(SDz5T>dERnSbUz%t4`_?hM)yn8ea2Q(C6-8O)1eXrmV+8kA=>*eMuor9}p1dC@g zlVM!g2s-3$2tS)Uk~CWjFkMBK8|-Gt>C|a(ZqXh7#w;^zD$P-wDtYqinJoU4Z^ch| zyn-m#)p0sSh4}K68@OUlA$)w-pS?C9L-!0M!Psxzq@-p8t z@ybnDG13lRx%CgE>2!d7?y|V9A_^s(3`Z)c6#iMdhxG4mLH{Hi;agiylTqDHC?UL* zZz@A{o)$d%PlYCg?+0T` zB3S*Z9P;nI8+10;9SOPd5v!b}1Y$l&!RG<9p__Lf z)XlXtvp_P4`!#bBK%BH^jXPD+#6 zxm;oZ7M~Y=zOv7@(ft3GO8S2`wkZj3%Pkr>m$v;~eGD7+=+@_vPr*%CbDqZg4y<6rGsedaV{BIK) zH~bm8u~mbBrI!4*0Lg4>?SG_XHN-n!chCkMk$A?LM|jceQ9|n8d~s<~0zQ%KLlWI4 zAe)H=!j4V(aM_YJ>h-9B#JkI&xp!`m!4r{UpP?AE^`HlzJ8ZFJ9`aRq8+(_Eb7OcH z!x|D|6eUEhFv94bBQ?xVwY!`9PB?fnUI>18lN4+c3&kE~u==F~x$h{)r`zSiaH}No z1gFhpXO5M?E%y`qEk<D9gB&F?} zsKRy;9lulwf0wwAM?5}=Ck;Q3cYWpgPo>X@%@;S&<*f?4mMn!^S9tOIiA(4zzeKD( zyqmg&Q8XKlb3 z1_BEs==gdjYLzQSnM>sG>6ssJgWy2!Wt$KUIel8axtDfQ3CB_`mcRWZjW@N6}%jMZy@eWyB(8Q zWW&raAHkeFAH^J<*~?TvxW^c`l`$1peV9*^c-ygWMD}rg>#37UzA)mTHs5&<^EHjc zuJPV^p}szrpzB}g>mBR)knAC%_tp}wH%aB)*XIfuHSUt_YO)|}G)epvbYgsJ2jAdx zlFs}z*G{_YH2(T>Icj^pk?xH8hcm(&N%o!rKHzblxb~{6@RyrR()y#Q)@BPqVY>Sw`-EA7VbM#*mXrn3t^AlCEe9V zA*$peNk6fG-=i7^9nI9mKik&}tEYwtyQ92?b~!0A=Vn84WcBzpYT>k_a-Q8chjMbq z!36zMXdt(x&SJJcie3jV`KNV{#U%;Zg7VZ?c=Wz&f=lZw@y)P-;NMAlB* z=ozn;!SLhqWcaP4WQEI(@no7=j&ONGr}%YlxVSCaNxX3I4z0a*K-@GN6aL2uGO#pX zeERNA6awZOPOmvNChqe#+j;XYz!wbi_J{Zx7vr? z;n{Ro1BVZ-)g~SLN@0=BLKHasDVMZw7OI(3j+oMy^vDhhYX|DsIV~5s`+0p_W#(+6 zU~Wfr&YQzd2Y;FnumdbO^8nx5TZ7!?PjaW`jS{LiXA^B|2m6}T@Mwu9htHM5-PH|1 z%6Sl0x0k_bPcCzpM6tM3G>(=Z=mYAtw{d{o5EnRW7MWv5$fcXE_*e}j%OuXN?)PC_ z=Q;-WlZ__e$SUd)1&w`*sphu8%}_Hb!B~kMUUg$112P z`Uw^{&xaXV!|}GTb|Tj}9`nPN`@#%(s`9<~c4Fj|`K_^Je7?0QI6HIx90=gs6; zsyXK6mT|)10)G7ITSPj=7P_d)BKWixPBN&&`C2(W;gr@oV)+b0iy zNc<)f6AZzk=oet~Erz~aKtUzjWl-K_Vxf?dAbMAz0Qeb_-)+S`xH>`+X@u!v^MBiM z%XUNTO@3fuzAEW?qD+h|I`G0vEqK$KYJ4{TE}l6h3*#w`*xXx|jDA*(HNWZME#`^H zz2iOne6#}i_kRYz)1HF^hw`|CnzG#3kXm-uvHk4!B^O!eaGo1fsbsem2e1j89_u!K zBlE-HGV_~NWq-`y&eXOlF@jAPdakVwS+)aSzOWpB%{>B^C>_I^o2~=N!%I<|5d6{VGz|DFY1wBTxstz#9F11~v9YfRC5W z(Mdf8SQ@&?o=5AXFoOxw**#^;E}$14$t)8)C*Dc_9zHDpS~x zie-j11F5SkLPRYTVq-<9GHUS;v2)8wi=k}(gFn{(L0Pm5D zIoY7|O!AK&&SkkYZhYg+ZH|@!b0V6UA_XHZgw%oRQ~liIkl}FJJ{N4O*)IycS;Ur~ zDaExBXW5IP$*6f^4!eCc56C%ZX4v*IjC=AI@XNcDNvaX+r*e zZd@rVWigENeSa7X{SjcfMIvw(o51%@TJUY4GrX^t0e`>Q0`sOUlyD7q!oCTz@Z#Kc z;QrDRAR|2mtZ}a4>}E;s6KX!(nW{fby?-`yJyO zc3UKE9YPzdgweTH^D~OACK=4Peyq}L{V(#0^_>$o);knaEO*{6;v>dtBN-h<3J160 zoT~4zXVN+Tbj4=L98D34=0#9h1D^bn^G1OWELnetL|B@pf*!?}(eJjFRJ_52&zGEQ zq92+fjkC*mz?<_90HasA*y&#+8YmydFLF&sE4pnkMI*SHJCi_UjlZzFq6B>&Ia}Z_DnM^D zeLC~J4)nP90QEG^;0K4TFpF8V(AFa6pf)l zYqOEDdjiO6o6N2r`hWvg+u@Y^Q?Z+~Io-Y8n4doJEl5{NM>nAyD%r*G+f?JBo77p> zbl@C}I5rjx=@yepYiCkxt^%|Djj?{(9?)Gsk!7wBZ@vV)M!Z1{?<6{S*Lj?XO~oN~`)TCrLi8ofhuZ%c1P-UfbWN!g4*jto zuax*HIz9d&Z`)nm|6S($9TkPR2TO@=u|9wQrv-q&-jkrjQuyXy6pX0(M&3()c4zKf z{R8R;$Mk$wwl(~Hg3U=-4Fld;V9o25l79j=mm4>ckV zpM^hMS%pKEO~%WeN^xvmK$T2a3CEic+O0S;Q7BvEVON~q%dZFt#jotI32&~JlPzCz$!42VT+TL2A!Ed7 z9M(}HjM9(bf2=xAbsT0O_ty>7z~U^i4T%r*}7BxH=nsE}Mv} z?-fgIN&Cn<*B*XE{T@_Mbe<2Is)zsir9i`o4PtdWQ{?w(IlocGiwUq}Vpnx?~}e~eI;djyii?#b=G zHT=9vEg@{bf;cdJvGC|-Ga1=;khYh1(6DmElhu&_w91J#v)_nXQZm(#IY<9MbNckb zR2sZem(HrN<(=0j@YiLR&`py4*n#XhMCV`{E=&^8$?so4_pU`?xR*9)o<0t=w`oA- zg>RvG;&%LW{Bj(B^gJ+M)xpm1m@5u5bjFVHYQjA;De>fjHKb|T3~|w{X=FD#i}Y@G z(6>tnrLPO|tM4pl(hB*`Ilt(MBxONinLM4a*q7AKeu~Z<%ROuo%KP|6VZ4yB7(hk%U+}rh^#7uaY3;QEMRsG#%>@>sSG zUno~2usw?GeP)7=M5t3+?hRR8o{283juvmo+DlE2)In+Q8e*6+2IMVKqiH$PusA^S zy-CB1eD!<>G%a@H3-?q67=8$z_xXT*Ts=`JsX$q4vdNoE)o6K82@Xq5q7@QWzO1$s zu{xkF7QH-0Vx*ht?>Ff%^uIHBPV`7PXJ-!R{1HorKY9T|rfxEP@SwnA`a&hfv^xcy zn45;aPCG-+{cxd&b??%tJ5>1in-ZVUmc{&OXKg-B^D#BlbfvkONhH~~ioDp;LjLNG zCK_4}IQQUjwEc|4w-GrA+t)!9d zx7_U}OI9!WFC+7LB)8~*H*lCx$we%T1{Z5KgZ)iaj7xR4ZSMXmYLwN_Enm8Vd{=HG zT(UbVeI&~dKeYxPPW9nFI1R^d-43C`A1i>#%1O-GtAB7)OCF3px19VkTSgq`31rD@ zLvCdIPf&LG9AbUGVzNO6+bPUv*8kqBqOZP-i2DUw=yiHk%Ca`P4{YWjO@rtb({J-h<72IflBMY{y2s zis5Q;25I+{0aDjylGppcp_HK8WR*=QI(p_LS|c@voBenYnkv1)u>(AA$~K@ABusg% z5=fHr?LZbj118){z?Xiea4iC$Zqw?Ki)%lAEd3KxorB=mQ%zptw1Lz7M{rI}HYlaX z4V4XD0j=MTv)T*IvBJ$6a2XpX>DCM*-v^)LjMuBVD%bIFZO|C_KIb^j3&;ogM>83J zMIUGaSF#>Yhod9n;dslfi$wO$AYO8*mkr#I1rHnP;r;Qmx$|lhsEbW8xo)M3bh>ZB z?B+S(Z`ET|Dfu5iePK3~s}dpg6K~k-YP%5g$PvpPZ-K!wp=9-`CNkSHu{C%Y0Gt%Mz%bkF3K%d@!nLiO@ywzy#-&5Qe$T*ZD*5>4vWV0eBe@^s53K+ z?l5wmIc)Ho#iC5DbZ*{YJq-SJj(ys(j%zXcD!Oz2FOdDobLXZn<-+P$vzNx-;cobs zi=?NRvwQFT2U_g+fr!H6;C0(kkyy8kd$-`4=k<6!GmPj-) z$dN5L=?twis@Y!=|F}wp6j9T6JxKoU0xN)d0fjCg`U+B{XEpotyFq0S^#e8P7c~&e6wKMn1tVtEgiJAZ43i% z*iJFe6NT=X%t&`tFiDepnV@$cS?j=a?6piu2P!>>E6;4^Y*v$EJ_vAdWpuAj(Gp81nOZEG2s))dhW|4+69R%2`%&Z*h@>)6;V3Nx_w9DTv+mRh^j zkJ5`)^L!6kfg5M7KJ@!q-9J}v+3r2jlDCJJQ_{X$qz%bgymEg-?0>IAOa84TyOegI z-Hv^r?-e3Pmt^AH7#GfZnhPGfDLJ3aD~GYupD_oEexXu#2Ig%r!tm)Lw6*IwS~~I& zck_lZn$jbK{`nGmN97sNZ!~3#$pX;uaT3R0m4O#jYf*8t2bco-q4L`TZiAjKHg5?= z-0nl*@9RU_TRsrdv}`$&z@q_i`>y3$JHCMD$6{I%V{Qqcpx$cZn#bOy`a{ zL7aEkl}jJx1)_>=ai0z3*i-w-TfPQdv53Yd*^}_5&o!V?LriqU!D#mK^K8s(M~tgt zQGLx>=!+7Witbt@y)GBL8rOkFopMDX!8K^py?nOEvJ?h{DZ$+@_7LnH$Nig8!+fw) z2T^KzobTsLohYd3;==}mMjNuM)Rw~q_ z+t|J468FxJJ&-?~w<;#c7ONqAng$yB+=r zxQs5ZcE*7&rx34J3{KyFhb+4eq1yfl)M#V{x*dF#E7tTyK3&7WThUZBclJKK$lyNI zrP^r826fmwe-oPV&4lnqBSNBT(Yo69l`5S zt!Xm2+*paHxhnJ5h7zHcb};4*P4UWj4cs$59IK4mgU!}@B40H>Y`Rzt>Wp`XZ1Q31 z=JXT?K5QkSV_HC%YK`Q3v=7LtItL`41U$9$F_&>=I2}n^U`g0=;;pAhU;d|sVx4(j z`>GDEbUnl^a zOw}7YSdK+MU_P4fnS*OzCd1avT_|UkDOcPy10 zZ%qW(Us;ClZq0#9mpwI>3M(=%U+8K3SoJy!N~Upb_e$CCk;)uk_i+W&jX>eE0Jv_2 zAChWy#^y15vDi$T*vxh(jXt_$@){+w<>W}>`d=dMKPH1s+K;2NMxiLj;u1XRyBAy# zE#S&8PviXLQaIcGwd{zrYfOA>C3DdynU(5v=awZbWHJjxw&S1Y*nGM@+h!g;W^**s z!q#fo3|qg7-8R=9v30V8j5s38gXq`gQ0cUf!fiVf2?K4kcocVtKe6^1JXs_ouD!8= zrjtrkmE*`|ROd+?s`dEm-bymTw}m9RG|=jsBk?7(`@}S|9f#{^iwkb0@FibffX13{ z=u1Ej>T%Me(}p?osj841GD_lG{Yp{r?Zc!kXot{kmVvBaRS1hbrt?x2cWESdi=X## z984Y7O(%^RPwkxbac1v*{>1KesA-#)xNoAjxO!k2X{-Cprw{vv{6^groNRaSEfvEA zmrob*dWNM3G7yZfmBr%?dIZh>tF(EefjBqa486K?m$ynVByuzFq2_A`>6#03;9?7H z-fHtf%peD)8rSi7M;Xcb;D{9XSFF0;RbK3L3)gJa zqL(uKNdM6>)bYLujh-zV>DflZlnrBqH7?=``fW zk@mpts5(lUPmoRGw8aBrmVp^1Km*n+)?TzW4El%X+j&8E5_X{1+JxPO2lIipr zPpO3dNq5ISA!%kZl>7RIScg0!z6p293ObM6Eh|K^XXTMxr9OOGdJ&k735Ms2--35V zg&=>pIrz|O4eB;00%e_P5NdjWZB7a7Rg(s0FAW#2OuB*}Tk8v%vY~=ccr2az{jykg zRGhH7)e_fE$rIfE+VG|s7tqydexT7gL6FP)fPDvl)2|y(&{ba_(B9@E)Mu;C+uzop zyXDpG!avz#R}7E`9l~eb596IB;dJ)Z+x$vHLy|N5nBZinO_XolBZ<1;2LP?G6U$p9MBB`yth!0FTP7<$$@bRZdk<@Jy>|9-{g=;I8VCmSeTEXyJe4NO=&^A7K^H1nqm5%RZ4$%z5ozUiJoay$S z9aeY8Jz=<8o-lgS5DXky3%-8|fKH3HqlfHswBj*O@8)|5XOkWaWmkfPBkE?i~Ub~i*y4N84fF*d&wlp};IG?D$D5D-r zq-Z9yi3d2 zHbes%-AYxd!* z8#BpJ-ACYCmk4u&W*E5UGy3^!2WXt_iB`_JNK(xou+1N)k^^(3h>8DNbmN)9tPkj%?2C_TEC=C{ zDd1&BBH488Fqi4|M^CT&mzj>+44V^HZIUir5^LvsfJq!t%c>W)bEhktz(8ji{Q9UE zs-De+rw?sGt=GPzmx#ex=@anI6dvbZ3&K4uURb2)hj$$Ngv^F5L9tD(@YUv3&~K(Q zoEQ=Sog*iJ(~?GG*LP)5lpf8o4@=m|Q%l&A+y-{n!VYHNu9@sUM@P1Dof2c+`$lxG z&XnmXsSyePeX@1TOoik2NZ2Z&0w6n+VAd)NPP=>&bRdhkY#(jWz@`Ln?uh|sbUcDN zmA;U@nDZ4`%!6d9TO15CHn zY$lJkfY&eHuyLT4RrylI?tgcjIW40E;ub4I&DYATVO}nLlhq3JW=OLKj=bi|-sOv; z7R(1*ETmY?f0tN|Qfn|J_$G5**bBPv?*vJ~=b4T|Nj@<88WVh_oBMKe6eqJ=8^l_c zuve~J=05sR(d%|==0fKZIOpU?wof+)c)chWSq-fO4l5`d`ezLD{cD4S`(4TOb(MhE zv7Z>9Ok41=_djOAgHXmhWk2W+2xs4kJw<}`0d|qY0K2KjN3`^5BQrYb0c+tojzJA6 zY}CMJ)~J0aTmN+;yIZ4_`S{S1Gn;z}RApadIxnj;CtoG88(NJ;t?M$_j-pt0$>Je*B#kEJt#MC6?UN*HWBI%pum} zVg?KPqS(hqo7s0J@~mx81!JtgkeT>XiV68gMRr@S+p;I3ZR`HT*xbysu>Liw-s-<4 z+pT}6JheW!D#5x^%iP+gBEjk>bhK*nzHO-?lCc_o`l{uZ&S{p{rkY#EeBFumxRkT| z#5E{?(xDWaz9(wyvmF(62AB;`72cBrG!OryZMQLd) z4Dw$BBivJ%GPVSKQrQP`Dvx1%#aXOte5)wJNS5te5x~Y(Ok(TXUqNY~QE*jP7%>e{ zXVZ+mz);0!;5xOORr|Aw9177v=fn!EVeL9@+uN(6jj{UNgE-7A4oqV^9j0>Yv!s}{ zb$;Mfq=>xnp1{qOatF5(Tp4TEnSk;B25@Z~IDh90H(;m^J8#D^A&)iLBc}$C=j1({ z_nhrWt}KS(bycC(R1>DV^c*vL;tlxAWCa_(#T`wFC<7knf5C-e3BX*YnEQ6U5p%Z_ z!MwMxL>}w>;m`RpQ0-U`>*W*8$Tqj4eV-X_Z|f@LC~>*Y37P_D7ENa|7fCYv{0DBo z=TD@tX%8FRa6*(=H-eqsq00XGK7z{{CXGu3RoEkO=xrK$#)NfC=IrYwUFO|!Y`B#? z(Qb%E-=huLSr)T^ey2J!+2c0bqvOF0i5u89ll$Cqx1XXl+z}98{Q%D|T+KZwDCeTq zn=%%n5m0t80n|P%MT5bK-2UzFL0$T6=2Vw9yXj*p`cY^LHl8R)-bz)>+&6mY$x}Z@ zW_u4a)ukBD8gZNXaA~K()1eWjO`miuLJiZbUs%T2o+)r-K1JKIjt)22mPQG4pSj99 zH{^4p#aqEy`9zTBa0jgS>H$uD0_@$I0QZfzfzzjqh4Ke1U~lgx5V6z_^jocERWH3_ zTra9IDT$}JBuzyqa zjyy@9*(hLj_f?c_{J;pjodn`Dc4A>4smb z++3In8+R3gwafkJ#GxuW{;V3d_q;$fgT|uI4ko-+#wXtI4TeplTk&^|MBYt41n+6v zLcSdBg}bKSz)83I>3<39k?eUn;y1Gq#M>3&f8DF;*qqU{$oD+mqG5&jv&Q^iRXsYv z)0F5cZO6KmUVKPj0T*fC50ZXK9B|{FU{AqV+}tw}9bDSXE3%1bAj%H@zSPc}%(H_! z@F$;lbt*L5SwP&!n$bD)BT&@mmz0c%A=~EmbF(M!qJ3-;8b0YisJG=GvuR@%zMo(V zF8vMWmnPwBnRC$l-7);qnJ3}Gs%&nmZzgmdvW0bA4l)>j2$|+i zB0jMjuzt!KC_DR$zpTSsmsJagu}2iuoMRyJ>||9?n4`cRf)M%3H0zc zM`;@z!Gd3>RngK8R}$E(h^< z)rB{_4g4l?e;JnhfU(PD=#1CbxeHT9au!k9bm3V?u(4sPzDB`Tv$C*k>v!q;tinM> zWZ-@s+iv=VYs%w@IP5RJUfqoUp93_To{vAfWRPPfa#ZdTM_VR1Q6m#eTGyXQx(`K@ z-w)!*6`y<@+O!SVAI_0H^IKrZqAWP9|29xJUkc=-W^l^75(~Z!^jLwW98J-*kgyMu@6UTFgsH2imWouh_=;N((OOblb6p+`JF3{k?b=p zby$|mUo~Sz?6=MDkN3ZuK!Z8nXLAF;Ls(bYwH^#2P7Se5!v;1$Yaw-<{du7B6a_*A3 zYZQq~aU^*Y`I)rF*utT;G5qtZ$)tL`9`PBw8c&c@#qycT*lgzn7^PH>6-sA|H&`p- z&3$4CQ&?f7%19K2`uR@vZ#;V?oErT&!9Vle%%>QBfj9p~lT(c` zB)-Q5seCJtbYui_Ui=VR=Sh>X`w#H`nr{47`VIR0zD|DjjU*S^7YSRR%42ow`I394 zGw3!dMu}x3=`C4GENtJyg#&MijiDEw)GkYB&w5ObR6NG%jvM(mYc7zDC=EVr3n$~< z{*p|39H0N1fo8axV6(sF==f!2=yR+OHMbjz^FQyz|Hx?~PWz1}Jk`R38#QRh_EF@P zjW6-K{(uBrcR^1VZzA#aV|nqFFXWA$kr21+26{Y9jw&k4z`;$|(eHN`=+dGxFs5pq z(S&}jF~WQ&s~>ZyZT*oH#%-k;xLdLxmPtCt6>irM(A32m5;pho;|J*x(>;9g$tOJD z>o2rv{N~+?VtD08as17JseEARU3#i#44tc*PpY!|@#P^2QzOj_E;>F6uCMEW z@$ai7?$}pAt4tfVl`e#n`a0lE2M4&Q&YxSfUlzNf4EH~V&cm;!H;&`&w09cP(7gAabDnk1%_dYtLnuXNc0!V$tag-^ zhNe`~uqs3;rKmK7$S5VVVMi$X-9O>JUgtjNd%n--^L~GzMGmLx5_J5yFLcNLkCnvB> z{4gv&UkH32oklJH<(L(KGa{?$sco?j-5jZU~R@EZMR3&tTfFO~_ya#qjnVq=#2Y;D0vJ zV7bm}c8cG9=+<9^N4vF%&+srDI}uAn84u)dcbn0@ok5;Xu!8jtm|QvED%j$3fy9ZM z0^tuG)L?WK&P#X*T@Np1!siY`G5317+OLO9`U4S@=19-KUq-Lekp#ua3%&n08`)fl z15D&35-@!c2%c$$KJmhlW0nD^d6vN)$~%WTX6JG2MG(^jE?G_M$)pn%)aQ^__u@D!>-_v0#!akAt zal4M}es}=*4e?pWsi`3E=QbQTWt0wCJ3v{eCE`a@GJ)%(QJuxGdh(*qDW<#i;w^s% zyb|c9cQakJdhoDz5){*#f*L#$(Trm&(Zq@(nCYd0R^2~^rr-0%&^ZqK*qPvWit{nM zXd{-g*@yQ;g=3#0fL#Q?&|_~0bWi97lZ`6D!Qo9{bF2@OT~bf=Rm2I_TzJFJjk+aB zG+Iub8{SU64IzSGa;?;ryO47Ad&J-NVSs<8;iuK+vIGk=-aocsjXuumLfqy<#w7Da z60)CvnC;CPCu5rz1OHR8#OS&juFndAlOGMygHj3jP0cAt=2znOMOy5`1bJ3{U^9%r zoQEd|iSCYz5ywnjgN7zwVsy7`gZ?W#puv;|_<2MTpTqm%Hr0~|o(vN8^)TBe-iJ-d z7kJ`b5oh{m9CsPec=9THcFE#uaNw}0N7VNXI=j-)#?~39sZe0j)oJWInLN($dIP$X zq=@}f9-=QF=HQ*t`|$B(dF=o0E|Q--8>@uh22L*yqgsT8FQX@7+b8Ml$5UGHL`EgP zus{a{gf}otd}^`G^I5>9Z7Qc{o)5o9sb-1IDptt?foRrCYI1R-y=>hss zznOx5j2ozDbkI?G<%XeLmtJYgaP$CAoC!E?XkMwvCamO`UxF z@k9$Tw;+l-AO-iLTua zEtPiCUQkbZ^$Upg?rp?d)PdV=9)&+gSzv9y2WawA6XX(2AhYZW_;QI4tCku7u|pcP ztY99UrK?G6UF7J~N}9}xs66^FJV+(=6;cbf{G%jyZKD64J4&gpX%&5UKIWhNJCg)w zm*Ja#yzsIw671mz(l}^uFdKAD5o_GP$b8#SjD7#P;C1UB!ztbWXhWlVGUrPW+?KqT z@H&#=0Bwl|=F0=SY5{uqqY4?q4q|gu4t~A9o5m$tV6~?JOks||O&SiwFK;4V6jg~Q zT(kj^c2|k(4;@a?XDfL6d>SX|8p1jSMxp2f@??>X2jI`Ri-?I8yj?vT?)vjl#FHJT zL3{+tZjNBX2Hpcx(-N}$s}ZA=GnGBS6T{=L*1-^a3v6P47ptU3(p#>GgQIo*?AFOU zVeu1dR^Lz5r_BmtTiP7J-|44l+3cg({J<9Gpq)ICdVB=RX1R+v7nQj8+#`6psIMv*#>1aVik+ZTBMnyc?>f1+6mVS z<=Mrq@=()1l-3V315Sa{!Giul@KRL=J&`CBb)FKis+B9yTJ;0Etr``%8BYKKG3LgO zCF75;=Rg(d-^f`il<_~KhW5#)F^6_ff~r^MLvb?+CeOSFcFE0QGo%)PdNEC6E%}8x z+4D%`ayf%|3dg{@P3lMm+2B^&*|dtLDX97Kkqw(03RiEHBr~L1ME@BhyeGel{;u=`a@F>9aN?RC(rUiVMaly)64+n zFHVK8Pu0SbeisyBBa6Q~AIE#TFXMGdaX2}A7Is_UjkDy2kkk6>=+(0m=;P0CFkK(P zgnP5V<6ALI{$CYlsBINJzw*A|)we>yXmYe5PTQ7RHQ}8=;Y*T0{m6B}OyebjRvT@~ zNVQF1b1`2~s%b)1bBjsL_9-y(kRx7nWC;1*mXrnC)*t$t0P@({7vK`*o7fDBnxa2cq1+fY7r+nH@? zx%8_p4VWa%hcgw`L>!G+T=}e#UfeqY3r^042QDlD&*Vj{0Ol-eKa#^ZW={i&FO+GI zawi<h5s7p_!E^tIz9wARy@b%BSvWETuUl@IEm4jm`SU)+=G`_m7owyJ2*A`2nseR zr=OgULP(&DJ3p@l)0hI-u|5Ksd|d(FZdXV75~~4Tn}8aed}!0LU67HSODe98QFpk{ zIDOca82Z;iyGLK~V$m!#*+vQlPTvI#Y^Gr`(^yb-)){MGRE1GTM6N>bmt^$KKBCDh z#`KX>jMm*qAiwZAHRw}KQ%fuHsO~4hgI^*_jpkbO=7Z&e(KrH(g^z%8qcretzRk3* zf5GhZR0lIUPlMgS73x3GgEHaKFirXtR9_SUdqixmB?Z9)+z8r zO&+uKAp-kJoIr;^ zOVFNTC|J~)DVV%&OknHPE{JnX67W71@RQh3;hbG>i31K5KAE0}draq$?)TrVThqUj z8oyq&eZw1e!oy~djhM|8pP)7 zAHW7bors4d#PaIbINhNR)S_^Yv-&R=I|bEnK;w(BecB4)V;L>$&o5m`n^LWCQDZVv z(sUtH_pB89-UtEev!l5;XM0iHnMBU#)h||JOCpwujk5lxNVBIuZiW)NWB7aARh%VB zv6n1L>C-o_vAI6+#L?eZ7$tJVpP71;y`s7wUX)8Fee^H9pLbYjc=Q?iT4oCx8Z=R^ zlqQm_7b9Kf#Vl-%BsNh`$v+j5w{G7py!&t&`(}?9b{zU9{2Bg)`#=@pq{<}He^(bq ziG{Fs<6h{8sUik3iq?T!9)q5ie$E=j3u|BK;r#uN*y8Uj@}19ei_8Bbzy8c4N8@_% z4wS|AM5Pes{bixObd2!+mT}?cRCjiYqAU(LRL2^q{(=30WoWv}CRRG{9iZ-)>*0B) zOcqAnu-dxe08@9wAMgDpy7%0$m;Do$%E~zhv+2vi*paO^9L&w&@;mpkdb~P#NG@L&_)_>>5j_6Fec;2i8^L`al)9+qkxho6gE*u`lQT#gGLb%rKz zi@g_cThGrzm#3{J^8>4((lbX=ekz-cDm+A)zVcZ8vH*+~rIDM#Pr3RX$4KoyS2kGZ zB2;Kz!mer*BcwEzRTapPdxaO-O}CYS%%ZKxUgxmTqO_Pi){YUbD@;Md8x7ejZr0H0 zryP3ArLZ^K62Q7dyUG6<%{2X>{mjyF=)PdyllS1S{sr{QA0nlb7#{prkHY%JNbkBU zahy7k6>=7ccDB zorZqxpMehjS%?}_^pUdvdDtlF0^+2SnPT)GBX!t~8346(nN=<|s`s6exs^%ZS**eA zJE2M!MyOC_hi?d^ub#)M&px7azZJ>*+Fb75^;1}2pe)?6s0qton+nUu&4e2RccHV{ zTKK>Y9s2mvM6xHxl@`zi!*fY^zLUqQx=L_wJLl3H#fRWT z^D<^l!vi*Zdlg1GLwJg8Xg(4n)x3 z(vGq_gCDa0zI&oc?!9E0^mpK8JdMao2a|V-$FawPZCvVvX{hT!H+$*ZbsY3UnKjHf z3pC8E@tu)3%ra*dZWhUL8lG5ziuwS}y;d^p`OdWDoe zmLf05WyosX8X~uC1Qs>@;rtG{;Yl_HU`cHVUOl{xbY;GQd0(f{wQnxr1z$7prlktx zb-X)n8`?qkPpttZN~=&A&_V%Fu*J?L})B7Imc0@bORfF09%uxzS7miR7D{E#ko zck%=C^(EN0)31r=?U~?fIpHQmAWp@65bGbGOm@F9WDLwD$qragJWM1}dw>cSM9pLj zoOh51R{1QPD27MvZ?n7%aa6bZ0((}|4JE3Z5{<#DAoPGXJ{X_@+!htUbp^eweNQk6 z8k1!o;6ZR}JcE?qO&2{8C9rJdFgYr1%;XH~PM#g_W$Kf@kN3;<2X)f6gucJw5i_*< z9#DAx1{j|^iME~!CG{rb#IO#K--}DJj50&UcLbC4Ofix-YZg8+{0Ys7+J{r-ij#?( zitx;hsYvbTbSUPd0CP*U!Mo85%#$-_OxWkGOy|91W_;RtW`|EAv+(K}Ixs?OIBykJl~FYn|NV6@qG6F zOgECeNd;)X+li^)Lge>N3KhIKNnM!wlSJljfoX(~O+S9d@8X}6kj_Zs4JnE}o39pBapj?E%qJ`>}RKC7G(;1ij0TVlc{s(>95*$DT}Je^{zQ!K}ON zt}_v$_g*TvQP)D|Kl;UVy6CZ`KVLJk-3;lC|BP#0k24G871*3=hGUw_L~KYU_RxND zpnWfi?C#IS_qQmpS$T=2nreGlYHZlL+fF1nls?I%bWn zH>}N1Wgpg6Gp~nC*w){^Nb=qjR@I=AD9JuS-WwjW0S7{GOWhXu;zb`ZUAlpMyKoDH z8rV?HU2Zt9;xuwF*-m!dnn30sNFs^bd9a~$y{MyTgsH^=tjy1+@S=S0No;-QZuXY+GRUuM$0RNjR7Xdm zmhINyL3jl^Td)9y?AglvlB>as_bg+J9z^4Pb93->)&%V7TS+1wq~bf_Wu)HSn6Rmt ztaWq^Juyob$~UgyI*#AR9e0FW)CxX?V`ij!emQuyJpodsIb`lwDf3Zc*uYoO!z@@j zpFg$3lzICp9rQHMM)keHD6?GTK2cFe8-8YB^}#vhng%E8P4=KhrCL#+s{preks-__ zB|?iBzgcCAN!I)ogvz^w>!uE(xL3d6-!J8$-F%Em-lPS-FIvHnnlwhjK@up|Kd0Y? z&1NJ6#>w$mC)cwXn8Mcc6Yai^N83@tGba=>dHrjzaRK{$SB0?W4EqMKa9z^B1H?!~(6NG0?$ zw|0Ik)O3DA#+*~Z1%p;FulowS^C|=xh4G|R+7T9gRUz|7gYiGn_e=WFUe+Zk5dS^1 z4is3fCeOAPp{E1Ch@rX+y`*>y9j~>97oDR~$SW~)xkL`Ve=iG+8{(1IplqHWFbPm6K1IOYbJUwDd>w@AbL zb=|=kaYLm2DhE#Xh(y*ij2Np@S-fh0Bv@7L$RrNsq2T2CY-BBkR0bRHKyD2)CHXS4 z*6l{cxATy>nH9dgCX9qH`bU%R=HOT4d@iJLGmL6D#ZoZ^AZh3Xdbn~Av;Dvf=0_i& zYtjZh>q%KLPGtaIk^IFk6lM*d3Jb~aT)p)H46v4F2d7} zyvEP+42X5aa?&8TkOaY4-)R2caJ1#A<|Guf$Fu*3k*o}-LQ@3kR4Z(TGfSqGW} z(t%)BF(WSW6GdSe`m-FN1|^CGW;ryq-`a+PPd^KWR6D2(<&KoBY!H<$>qsfc-Q;)v zp!hG%(@1Z(iHNtz5E(}k_H&9OzF8nLrmt=!I}#j$pQ#jk{OKY5%{C6)N-CmOC&dt_ z2}S6|fFBn8Y#@WbPLm5G>%g=8N_cu-wzPOz)C50LzX-<;G~zP?1c2 zZ#P9UjjvF+h~Is3)C&7e(q``uzJn)(=|XqiPLiJe0F9RQlTz7Bj98Qodq;69nkV8F z?rF4Q758`mn}$m6mSzZd%eeU;bqj5+9I9(t)7x&3g8H(LxcI zJ`~-27r@?J@fhbh$H7gyefV{`EDj&b1~W4^QPU46VZo>csxhy?AKu&{5+0#M*+U$( z>{*PD>uaHg-#l*l;Yf6H_I~CECl9RUL>zR#S5Tjsg#Lt@poBG7FqjtvAKjRTrPj)DLV=`u8wZvw@CmO`<9b=Ym&&lsh2A&EsA+)|+{ zd~f#$|N9mr+KU&#!&>Tip^_<)SmK95<^|z$H5G6*trq-qkr6tG^PyY4fa7myguB0; zgR_@zV!EcLGH-okL`ffMu&cS&zrzD=izt3nO-SycpN|XyPzG;oS zMEkWK`3dlJtPs|G=>ZMKqBBMNEH(GS1L|qyc3RRmmA1ECK&zd2PE}+V2*j)o2ppc@ z;OD%Ew(zZDt?snRWx;pCkVf8hj{&7@I`z$oRPeX*<^Pc{QaQ|9p<;;)F~XCJxPfQ z-{H>uSsg_0GnavjV{DOhS_mU^|22FWeTyFcQjT&5wxbdE5atRwPo6rP;6+RcINL3S zJ`DOY=W?=9-;+}4NJj$YkOCxI6-$}DJ%b-vOOT@x1>kDw1eEr*n11Wxf)v(ULffn! zM0SV4u@`3$Y?o%%0VVX(j3(s+cTo815Yn=wk+waU4D}SnXh-!p=A*OfQIonjdac=U#(PF97zlQPv&;U$|B@)ASh5BgXskq^ZcIc)+a=Kc9Z#Wc zWfP>UI{SMH^+-*F8abIFkaBq?;0`UI+Fu+H zs7c-B?;JnG|8XxyV1MH?e=z1BFS%?gfBG4UcddWARf)z+YWD7OzN>Z@&1Dx0+N{b2 zeL01UbU?NMYpmyg^X=g~KVB#JuVS8Hx$Rv3#{N5khWt@JF4CqI&uI#>YM${T&$5E_ z$4~f)mo%u?`Aez&PR0Vmt;hHpzLNZ)Ko!Aek9NU|pxbnj6e}2gBSC$hTgwmpE+&XI z450RWJH?w3s!6||8b!Asa22qJV)%)t=kkjp&QX5{Gx+|Vg|v&ZrNDpXI)3a%<}y~}wvuQK?HUuM&<->M7Rm93bMl3#cqv}*aG zr_b|;tGaki6|V(8TEYD0jSsafw)Edhy_A3mh^#2-zLb!@(~$@~R?| z1RJZuKru1){ip^MzxNntJ6oakis9st_ce6hsU8HVrs0Z?IN^y+T`;WCk__!N#v2A$ z96vLK+`TE{nk%{?-_`rceJ>xt=j>5MP2^VnXks>@xsE6jo-QmPyQn=_Q1*E_1IR}NqtRQF`TBq5--fF5spar@|4x*{y4ia^ zZ`m2!q`2yrH`wMmE7)Ustz?dlC)rtb1eb4_j_w@(0hfvPeJ%YTL4a}%v+P|bZ3X4P z2sOa06y1I8oZtu)J!6@wBUa4kuXpIJZ|&&IL(=qx4L>Qn=5pGnHITA)%fO?nkC7!` zL_M8)Z|rhQ9E)#R#I>cS;q1{}Foo7<6_QQxjz6MYhx8}GY7=)Hbix5%)HGtXWI|zr zQwl6`egMAo|ACRw3FxGyo@kq-fZm=lp?Q8`%%}LXjM|T_NB}nDrvtJ0K>|yrt2qMe z;9&MsPdV#uwTV$oP~`?DLRNkMDd^I&1cv*+2ZI&b==e=5bjWxSsu~YKbCxV;?DQwG zv&+Ac=UKM+!dM6X{qhx)6}TH8I;}xUClq4eR&N-(T!C1jFuLRIe3-r@leMq<2HU(4 zhvu5Y==etR>O2QR719~Kq=uaf;V^R8}9F|+V7JE!LL%C*JT=47+BsWD2 zZg=RwQ@iExp#(1oJ7lO6&%$t~UMRA1I)Qhe_JtAS8t8Jf9kWiN4f_6O5OcYST=Ehk z>EX}RH0=w_vZ?PU@fr8m~loLu?<${#bSqwbIjLH3-Yw> zE^4RD}dGdqcl zi1p!}n}#DbqKKSI7had8vvuc!_TyfxwQe&z z>&k3)|KTkB=K5SHu{{@Z1^@k)_IfqK(PfR)b`X$`-Gdl7Nx(YsfO&XXx|UNch-(0hO>dh!nLgL0>&~kQ276@b$Zs@&4lV zU{n2ibWX(b>(wk`cZ9hh@uQ;uNo*UG^il^iV?{ZHFNaA-T01#Am_W4MMF5&P4{+L; z8vAo=Ao%I@lIvK0mh}iqhj&gUp&32fK>YC}d@a)m-oG4#C{NL@=XE4wd^d&^yKiG_ zq-F3dzpvzLAy-4bKM9A_dy&EFW#%UTO(GJtcfaR$xj zszj`fN#NdpPEaOAi9KUs4qhJoI;kQm*iyEG0|N)> zL#}$DL3=aU+Twz@(jIu>3L(7z$_}4e^cmD%jbg86ihBI=N1^$|J~q2WKuQATL>>xn z993&VBG#8+v-IOksGKf*puQY#>GNft1kFK3@0;1wSwm=|yCv2<;S7BX^vE_FEi&Pq zD(*hxi5=!#B+8yo=!nM4U|6_~n+`kB`DGEDex%4#Fzr2__2eLs9MA^)hh4}z{y}DZ zK@;1r&LRJkU941*0$VcPh{EEMSuhXdftYf5aDhl4#r(!qyHB7iw^OLWr%MPmZy6G9 z9V7+MO!2yeB4qzi9XRIl(YppQ{8p4PnqAQYFW){*7sH#3`RzZu5GC!fj@<7yQX^&RR6{1I%6H!aVNpxgb0(;xAj8;wAe{Nt@2A2bWfdt=L>2W+k`~)SR)$!-X;ac z4%|TJ0u7=6)+R<^?4?~Y`GIe(^jLJPIy(J(Vl#1$V|kPKyS zY=gqtkEwt@7x;l3V?ya!P_IW4o;&Rce_9MucD7c`uS83tP$dDUMC>6m_8+5P+J{2) z)sUXqe3X{VxQSg4{-Pw4l99x(L0Y<$LaVogGB(xAm{*T9(b)hixMakY?!UPK>}|_n z{`07&`-1*aD_%#!hx=k_JpBk5IWzV!5xVQ8m_%aqnt*P4zu2eTOg`EuZ zzMVKynTQdAr|%`tfJrcp(ez(u?53 zz9uMtYYD9HUIs4~B?HYlT>zQ8LPaD8Ju7m6^;J>6=&cs>`Fs_{{tKjzOe#na8_*REHOdFIg#wCtHo?nOFt%`&+g-YFhsLZM zV!E#%K{CSylxeaUQn5dc9zXY`FN*f(=U&}F>(e5bFKZl;yX6D=)Pgqjp}meiXl)Ju z*;K7k7zO;sGEbX$b56Oibrg>HdSn=2{=563-Sbgmx+_l(( zNl_|7O_RDoX@scTX)gtf4`wi9(u?W&rEhqluNK27y#sVlbsdmNe+>*ODfr_%pmskf zV|LfiW434>KnGr!(}kf*g5L9&sPqr6)ZII!jHhb{(EH#;ue%4~SJ%DNq_Yn}rj8X@ z6*qz2fB!iCI`J%!P)wy##UC-{!@5+{{p(EiJx%Jp;&Kt&o@4A=yaYcs{9r0QN6?w# z1X@cc8EjShCRjIx1y1H?fs}hV@F^BKWAYt9aPvYz*Iz$6JVzC~56@x5ChtUF2Rf*d ztbZU_e5GJ)?IXcuho|sohz6yn8n18IVPdjS$JKJ?_WOL-5A}kjU0ymWT*FmG zS#E!3z3ev{>{6l&lA@_C9*+d2I|uoze_!Xj%INZO;0@lVB~tvDQESmI!=LxiE7Iz- z+5@Y2$zrRk_hNZvJ`TKP8Dm!E4hp=lU7cjqB@`T2k!I)nPvle+0gkko!_9OW!t#>S zVCif{65y#!ppPL+{I!v>xl>3^UNZmR`AnXO>-=)UVRWMIH~aSe z7wC3*5tCOu1N18N1K+XlMB;J;Y8u-E|9rhf5|8M?bc18)%+_-JWcC0U$O{k}xP;^R z;e#OM_AUhJ*NpRkC~tBk2uSu1LczmWc){`;Gi&)WbhkyE;|w!_VX_5L{oR6C%R3kq z4`BBf^Pv676jWjVhJ;!rF%E{iK+>Ck>~lqB$oJD`)!Z$?)`Qh(_>eoSv%gClZT*7r z?Gs?|v>&@Bfsdan=CeN?H1YZF+b}pgj-`%=;~bF_bAe_YYvf&oKIUnn%=YPwtRuub zZeUa}`5Ibex&^hY>O{LkC&Bij3rO=9!XP?@puLLp zLB@So?(BCdXfoc&{pcxT8qfX14eh@f?+sEw&d!u1?taA_x#FoCIa+0O)ZM^Be})Tx z^vGmJ?esICY0JX=kz{!4!EfjX3(>Q~*=WOLjQqzQB6r_P?Dx=__-%D3{Cah=w)HHY zb7l{IRg!{xy+_dW>+?`r^COt7&6a>G}5`6r#Tm;v$;Qif_XSFv|+UlHax~2AR71S|ffQh;F9RACg z3kqFc(*d{C(5nTeQ2xV9!Q1s>Ahhu*lYTIoF_=ONeg*x2Y3MeiHM|PQcGQFZ-3egM zgm6mj&oc(d$1#TIl2B{W30mx6nZUI`Uc`M0pmnph(^`Fx7+$9rBgKw@gnbXFOOtH7Mxu9 z9rfxpQ-w<>gYC8-sGEHVbv@yMp|Tl_#)@~ed-VmTrl^F#v8mBiGy{4zm=cu;vOYpg91a#!D<;>BlNMHG5UpOA^5KRotl643@)NxGwP}H z=>m;fChyBQwYG!LNJuXcZ0<4?ouiwWli%_wLt`Oa!gEH?CA8@ICx@8qu6XLL-ZuEr zsEx_2mIWr;K2V}HEc32wo#1A*7QI>jKct&fN~xy~0mG;@)B^i*p!Lp`Iy_sA^7tMP zdHDA|<vs!@K_s@%jdAtvRdWS zW9igZVwqOoWzls!LfFQ$#UJ*Fap^laE^PKh@>aIqdcV67w>O%HR_y{@-;)}V>G%SP z2QrLvzao2EDGNWEmTaBnp~>}7_3ZfD8Wfo-$M#I0Lo_x=3tz2mKr=&bffZk^QJSwU zVl8H~ufyhWxtt&8<9dKZG>@QGbe{_^60lcC`_Rv^)53|u7@>;y3*4yskgYJ82J6?9 za6BU`yrou`7`30`?rk{$Zz=|{gT|dg?WPVSajTZ~+jJ8ZdJtjZ5*Kzu&qG$?!zR|{ z>3N5Z; z{R?E5D<+grS}bfRd4}^|(8A|WqlAuD=J=iGAF{(C8@8TrW4m)}kgVM;;!f@g+aK)& z-=1p=8+JvpN|YRN?pVz=2`<3I%;j8HS2&p&ku03{LzJbGu;qLtw-VJgp~6W8VZuA7 zs)ZdVR$Kq;{(;@Z>bUrT(`Zh^1oq{z8N%h?y2017dwSO!HBH{G`(@dBEQ@ykkc$GW z>`A!yHKNyepFL}?z!juRam921rz@ApJ!|yfT+IGsmzi%Q6EA8Lwa*uE^i4bbO|j zqJt>s?%{%mcKF@~k&CB(0OotU1AQYiC|x@p zO{m;Vn3zoL{9=Tvd;OUapDNC{%B&=r?qyha&_>c-HUAxhd1{KdZ1yRT@?@AC%ddkH<#EX7p*H!h8p^1;93jCSH8_75*b2p>NMuS;c?u8u=YS3nM&N_gv3d`BvOkHy1(>Jz9SqYXp+q1iO>!Z{I zdaywqu}X~=Oae?LQ6;b7lvn!X)87ktSlI-A)Rtp^$~qvEZ)#xkMtc$}orDsTyFvSs ze#&{v66p3|BOIT39MA7afi2_(+`q;g%;`S~t7BTAX^20$UUwUwy!e7zxn%|OTWmS= zD)mO%pFRs({Nm{M)ElHZ)0rr0)WOnYZm6%Jj`_N|8YyqziHyhVuvU{Psvi1` zBD*|kyWxFI!>6mPPmd<*3h-j5eCL7nj-J@+M=djcEgoF7F2%2ubr>vmeiFL%(yTCT zrT}zSG2^$_g9kS=f%)!lz_q(uloMEktVk`I74Cs|`Ao(OAFARq`&Km1v>E+KpMakZ zO5@h@W!PSe!IGy>puH;|!3fdJP4%<^;r0nog{ue0e(eR@f7dXx=d#RaryI0BNTD8I zoJuWwq)1J?5+ulWAK*U>y(aLKT|!?ODWjU)cMCRgP%z4s^Ae9M@WNBdiR2!8_~+Yt z{CT<_J1|Wbxvte<|FmLctklUU4J|_-)fT`3Ju#T^`<&o!tH`zdNfjSf*#r;T>X3EI zkK^{t`HZ`53;4TA0OB{VBjLdtKybhh!7e%h%s(ik*XEqSkr~lw@3`uAkN(J%g4X>Hj_xB?P$;9CU_;`F7s%zIA(ZNU{TO1bXVlgYW(+*TCq_Q zw;ILal`SVh)q-oJzw(_p144FH>wx0 z%cZCr^y33^I5f@(yw=*qctyq&-=;g%v!X$gmTv(!;-lC;&K-T;IteU&UrHXIF@!!R zH`5>Ab^!~g3~;_!65iSEBUqYs9yMn>!mvgEp=D%>OHhpn~K&vb*IO-&w>#dDX44TG1|N?m*g!x zhr6w=g2hMog19@i%#V(IFmJ9nDyuIB`8!45)~frdxqg>mq2z8XrT7Odd2n4slDA?I zc!|;tQ$f^{b#TetXz1T-jI??TsE*{P^c^}02TU}8A%E{7#aT+s==3M(L(Lt!ZCVsP zE3X1p zUKbg0dW5#VDMvqTsivMTSVU#y=Tk10rId8ms322x2mOP}6YLCW7L1wo2w&3f9f(D>?Q&L6|b@APHMa37aeS;UNouIC=dRj?^f_yJ{P`J^R++ zKQAV6f!cRDyVe#Gk{Kw>(sO5}eRPodlUMk7r6kE#OMu1lLG-zazu91mmF(B>7<_AU zB3mU;XP;fwLfV}sWP=`quXX4OPkczktI2c#{2su#@3-IuXv`TOSViLGoygQdC#*J8 z67gmw6ZnP`(xb^}_B9nD+wUdx&nd%tNfkuDRVrsq)GJ;T!%;GFBYR-LvL|{vz+f>bWW+FO?(~ zKhcJMPBUbaO-|sLYklY;XUEK+XwIGOp2*SuL9B*%E{fl4iEC#T!}h@@C>f)U&M9iM znJo#Vu;(#tv$P4W{bLF)Iw)|VH`O@z#$Z(9kV!7I)-n#oo@|2jT25P(-D(Xr;EV=} zgu4c9NuaSene%l6v&f)=n`@Sg_vZMr)oV@?fq4XjHWvxk@XnHXfl^57cBD{c!ynM1 zvQKz)(+Rw2zI!AMz!W&$u&lX+p1+Q#D{|5tw}Su#>SQSX;26% zR%+y!yTLSK)eZYqRlY%_u;ri8YvBL)@f_nANdQadqWmVjkoLn!TOr z3AG9sGwGta;Tcxhl#c=pt#C!?E>LQnhhG-tpg?ICZhz%eSTxeZ+>dW%-kw?t13oQ4 zmu0L`*4LeIw#ZrVc4{OHUZFx(H?PK1B#P01#3=Xdc_t3p`J9SCWoz_ zb~3AK+o3=(1OjH5gI$t-SnWkNC$Yo?mOa-bE4Q1$MBV{(|3EI@wlW3&8ur3*&o8rg zLul|W+6X$nG8f*>Oos0irm@ZuF9H0p4ez7mK-RC*bbU%b2ChGto%QeZ7PbW%l`;=a zo5$DkOyl1%hFgE5=>J)J&!{N2u4@zoC1(%;CFc&6LxUix5djl|7(on(popLtQ8JPw z=O96XN`|iL22oLh2nK>;!UT!|R1~wq*XQ1!_qp#F?{mHyWB=c^YVI}mnzh!Pz1hM# zAQO{*{}Ee16oEA`2eF)^iP$pl1Pm&>j!qgBBfqTc5YEk82+$Ucq^tsw&y%{ykIhps z5cmw%8H_;gd~rvno(IGA4}U>UjVLGs76Uz_`r!Q9U4Tn=CTO}M7z{}{&DL3&#(V>a zF@k>%#T5F$oE(TMB2iI1#r5Z;N{~Hpu~Dn_8l1;X!X{5#Nb^Gd{OEGq`8X= zxQHb}85>+ckHweZ$Kwk@<~es5{guhSV>HQL{Y$99IHn86L`h-${hkBC_R~<`-&geuVGq6e3chW>44>SQ z4UF|-ffl`h}ubOrw67%2aa%{u&Ni(!o7pg zHO)pSYIG9XwNM|9JW~kK8;?N;tXDuw?%W0of+WBzxvHSN+dlBdGcf=dInMqQp#Y4j z_p)w&wqsZYwlh46$IJ_EZ7`dVdTM5S^M;wBX`NZ>8^Zkl*W>0wFF(flP4)~NNicWk zq?>6aDd5s&Uxc+~B5n;SW1Z6X5QmT~qWfV3!l^$AU)wB=@A+(jz47~mCcC$?XViHJ zbx9U8Gfc!pZZAe-HuK>{s~us)pa35Jk%(@0FADVZT9oV>V4VsZ! zi06cuAaBeRvGDU-q2}MF_?@eAgr4FWXg%ae#Pxo`X{*anNc;oTC|Wo}r*H`6HQPb3 zxHO8(zDE0W!a%#*;Y6YRIqcEGUml37U)6x}T5>SAygFp`_FHuM z3V+P3HWyhgy8^d3Rf&$ru7TFhA-Gl;9xup3-kMRu=D)X)cEWAo<*!-r+a_-)_0A&n(9srTN&N;SM@b8vp12Bi zpVUIVY^Kn!k`d5l+Y#cyA`#r=^chIuyC(8y5P@CeOi`z-8Su&LYUI6f9W-6h0TzEi z&_<6!9H8F`|BX{<_mO9yIwK8DueU+3?KuJ`WHYeWPZ!~zUi}32>#Ts3JQN6@bqdJw z+{MJFz;#d}*B2djF9sKUR09i6EyVb?CQ#%JORcqXGx{mpz0K6Om$UACl!LzemcRr& z1ACnvKo)$*&_Ovj^aDc=TU|LH>&*Ot?jKA*E3{+L*PV%|K>r|W=CdCa!FtiGC>dJH-TpWgX zqY&5f6tH$w1&%2M;NG2u;8?db%Ui4vZeM4MJONCR3s3VPi?btOUE)SyrTYZ1bwUJL zll%l8-{AszA1z@v9!v#y_;;{K@0G~u8#SoQ_#yae;#c_ay&Cpivxjix0F%7r4JkZOK}R1sz$YJDAoCYzviYvQP;j^lqPpZaVk)`~lV3&w)*IPq zq0W0C?`I^WN(Q4gsimwJXZz67q7T4Z>ne2L>^$Ud=O|#SQ;zw!9*5rkc*PEhD@TSe z`@_caZs0agyjO@=ygI13|0>ul%*~Q^|z^NB)P`%^?;?%np6iex5 zHZ*ntk!xkx7E=UtTw@<{d%y(F@z+6C2hIm_U>W$(SSehbq{p6&8%IZTEKvQ8#^9PA zVc@Idf7#L8qwxM)(m<9~A!M2p0X`ESVP)y?;c`3&8EEx}yy85N5SdP(cKLkd-rHCx z{CPE8a8?c0Yq<_r9nxU?J(mFRfe|!ReKkB%lY<_({gEATbqM}V4X~wDg}M|0H1g%_ zF1C;F%SCl&UD`cfC5G(7KBlSOw-~HzY3!Co@?d_oB=kGq0J_`R2}P7|gv-=1I7k$Q z6*sJbi(%oM-@^?sPs0ON&0Y(iXS>32OP9a}jA5vUnFRrdyTS5{k>Hl#4d93F{otzM zX~1dR7sxsk1~lDR!oK%X!0fX=%G`f|WSV!-@|^ zhOTCwdGA6o&T=U&BKCYTx%GEB(HJ9(MR-3U_x#ntf7hfT41qHKTUr9Ub5R3hTk=4z zohtFwxq`6FIz`y8O~>cLm*U5iO5o-x5_@%HB^s*koQ^^rk^dxOTj#9 zn(^d0Rs7Uv1HAck9T^g=ieD)^1Fuw2#Gvl#Z0) z*A$*(i#c4lbw~zN%1}YG901a#MOYhU7(qS;m@Ze zkPqL=v5JQa3HSVH#4mV1slVnrG5M?soqy>#R(4zy&b{#xTe4aa85h=opBJPN+*PU2 zx$@)q6s$;AGwskB@iVvv848blx{nV>+`#9^3S?QwW^BAX5PR`M7hN}n6JM_#CZCNb z6A=+ST<+E)Btc)4I1{-8&ge6TkG1FHAwu7W-$z$yr+rB?d21@dKHygcJ!=X@eYP#Y z?;0<_mHMyYzoI|m_>(@ocqo);eTU-YI3LOC4?&kZX<=vM2C=k>zZf6}W1eQk=qdlZ zsE$hr_OQwWJ91qMD?QkQ4wzm<8#^@7>z?iigKR+Tf2bi}{AQs8cfFxCcW}rnFA`dd zg+qR$i=pA?ig z;K-RYOl5vNIy^eTZerg66m=uOgbyXy3z=fX%0&bzFzZDhl54=pmQ-y23r%7dTLH3_ z*@iuq%)_Nl2P0=5Xku((j*!$X!z2u>p{%UCNK6n5tvs3qTte9Rliyuf8dDpNcRGL@ z43C0cKfj>A7n>q4i?Xq06Pv+Lv!~J5bz0yzb|)lJ;ewmHg(59d-T3pB5wLt#6Snq| zF4X=c2pVqPhkHI9W_NqkpvnGKz^-U>bj@dLR3;omB--DgpKVeQw&O!!u_OZ5!>8c~ zrGvmw;WcKcd;^l?(hkdhE`>FJaG)OrNzn2i!=S3pI9!0dfTT^2VBvcZuz!4<9nb&+ zPjq6yo)8zIrpZZo(cx9_;}?6N3(0BV*5Z@sXiz&+Sf>MtE|Mp1Ff-9tk&l5RLcNa@ zfCwaNtB-8)5cWv)C_%S{`u*BTX~5K`N$BrP3r3kN0@~KUgVB?YP;5>rG^olz^!9#% z*Ig_JnGIF2XL~ldZGZ;`87ko?$FpHEp%1#&{x{&Cb^DNrc`Ja;(-%P8=M3^}84m2c zO>50kYuWJplPmu1BXy4eWA%0=oU?Fj{%~ zJo1L#3oqtcz&|fRu-z3CI7rV1z7mAO3kVIE+MEZiE|~}Qc@=`Qe;lAYpJB)!_O8Jml*NPoC(4+2^1Gpr zSN0&wofcw~cTT|Dzk0&4U1Oku#u8X6(GoH67V73PSnwCG4EC_CAE;Y24G0F`Kqfvt zNRY2R7VWnI9^W?rh~EB%_B<=Yz_s^)ZM`$F^5HD(FH{NUr4*q$Vi$mSy}3|}xC3;h zLFgs6)*nhgED7vRTaI=GWuvN(y5M)q{=!2o0yZsTi}|f#BjxZrL?K@sDbK9IxPM`` zQQR!}v-2L-H-{jO3zy;5RzDzBX*cZ7p9b)Xm?=o;IiR_x2iZhXA8Ih%f%sd3==aJ1 z1m2tgojq)eU)k@C@Ol%$Ra^LIb)6?VDAa+qC4HIaRtj||fM)1Va~$H+B#!J!azUz{ z1c1rq74R5=F(x* zyzmk{)_Mzm9V`o|g_I#{61TvPubSYyIU5np+ws`%fGl=Xrz3Rs5P)GnP2uv21DMV4 zX6TkiD(ZC?21TTvvdiMV5#MHW!01}clD{*w@kU=wmc_LkkWBq*6{ewc6jx$GP3hv z2y*L`B=S}M8T?|6JhH2&2dbKy4=R>l0Q}EB1l~V>pK@*H`3y?rAMhHC_el3EJ zsB6N`tEw@T6R&}@>X*sx`Nt&tEM_Cc9^25iYDrY(Ksy8(q~c(kh_J`@4Cwh)sB?wt zfV&4kw0z_uurnTjI;yRp^v{F9nD4OgZoV0}bT@@d_!3w~z6(?`%7YD9hmjRUs}be6 z5y<{<2J)uCAMkFIfXcsb!M_GtLDAwNxK3apa63!^ZrJ1k^f&APuu2MZ4SEe2?i|;V zNjYQm<@_(RTGE#_eNGhIYF!Iq5o7S~x*^y;WIfz^UkxjNa38yeSzwht`dI&kM07M) z4z<$0fZYAQ8d0b}f^3T4fv>Y?@UM8_&_Ov-C0eeP=m*VQng$ z8C4AhMjsnbbT-gQvO6+CE@0pE1 zs}YO+{=n#+^Ju{8d<0Sz2e&l6L{k?ULZ=eSz&+mX=$o4;?D%vE@ML=o+i6`Dc)Tec zoV^y0=q)ILPp&-*eGHxhJl38DG9??pJr!$`*3wCqh-9JymrN2SoSzH~wW$kX@(Le@zNC5($JqF0;>S@^WaP zOp)!nu?{TXpbF06N03*I!u(chz>@xA41BNcWsgR=K*mPC;Qd)iFd$b4URsmH)>a4w zKh}0a%eJ?(2dxIsKj-$t4@?gNxl?<gS2z5`6&nE*Mie*uLtE#Mko0N(UvDV#LV7?w#9dbGL3K=j!xXfQDx5+t^O zcWqXD|Ahw(>2EW6rnD{S7^s`~rfNy*Zbmutd@P z6HnRf47=ZKb4j52=fY2BZ(<_MmR9DOUemf@^6a}4`!!R*l+rxQQl2UT{24IQDNGSK zHA%B}RfsTEbGq0C4(6eba9t5b5=?*W8OjR z$LM(m_l6a7uE~`#Ja(Niuya21qrC?!wOWzc#H?W&?`~nFc`snGEu2}+y9XJ{X99u6 zUyK7LB%`pqgGng3u~**jWO#XE zs{fE;O*}crOfM^9K05h@nR9y&E0S%(Du{f|oOnFWOpfnk@=Bta+rF4EsrL~K*{=8I z=j0R2r#G~k>F?TOmO{sw{R#>;1%NV>FOD)M{x@VyHs_U@JeJsNl4S*&oDZgq6y`n| z-R+Dp-hZUSxXS*l@r04H@ts`0(e+y*$m&OzfcX=l$mJ?UWFspK{R8pK<7`XE0H8Tw6kM+O2I`*hg3cbtknQnNfRIIi_Jtat^Fvl$Njim>wz zd%+bSWRY(>E#UY%Q6z6!7oumhnXT!S18nb^Ms_Z3fC69UAr&f1L3_g?C_QQsAfA7g zz4dMatXnDx=&`hr%PO6Kf2kO1m$VMrNEU;;@(a-K;3QNV`xSsR3B)PS5Z?2x5MC{s zCp-^s@IWaOyz)s0j{h_Ub*XeiPQlVZxIi0P3Qs`2$uj5%pN-(XHC)!kflKTwv=*?I zQ4B_e>LVUIJHacK&2W&jD^M{TChW0|g*Uhj146SL?BkLe_>V+5aD3?mxcou^B-Zl@ zpwhOpF+C0Fc32;4W9>ryp*-((26bTt@4U)MudQWvmA4V>XixzC^-=YPO+HhS<@ zFa`P0uz{uII>p|AH=<&Dy#No%Zj_y}9*8EDAg$(M_GU#_Ku^aHPW+I<9{u5~0lwX= zlXrB&V0sQPvpKSfb@J8_dw>FfN<$^6r=lIwxmphmKB|Le&6PWq87@n$S=TSQvPxuNX8d3r)AZtBMrP6yX6Lp5W|`b7#;uZ_j5RJ2 zl9m$cJ4M_?MgCc9T*SmhL?k6e{y&eJh?U3=zg;^5g7)tTJjf0@=m+fdIp_lrj&>Z8 zP59jXE zDehP@Ai}M}O1NIX4|4tbT)6i#nz>IdCvkHGj@*T&NnA1c-P{&eFK+z_4Q_g?6L*htJ(%Rr zb!}JXE^?0Go)U{qtlJt;A>;tT*#W+`@GWOao82^_^100yB#aIV7m&p zskV`u`aIL&+`fI>57us6k6qc^RgVvFZ|F^OJ9>v4(zCOj4^E!g$vgS^p+%1W*c1Y*dlB zSAQtJnr(1e6|_!H1PfPA)sM|fXZww=uF1JR0qnN=T>tcKIA{fXHioWJVQp1>SNEu8 z$A$d*`3(^kF~FV+9(6Gr^%}dj8G;WaBx_h@5rF;R0B9d)-r!|XRo~$9yB-?L14Y|c z)rYJMtd58D8iW_=hUOPS9om+Z`p(2nH4nCsb^AOA>J7HH)@sV!ZOA;7RcF9>Ssw{y zLbdI24gPut^?!CKHHxWg0`_y!V5=!r?^5!<_FZRiFrWKS7%il(6xg7p7Q|+ zwh)7lZ#4wrXuPp8OtEgER%G4cT>%aFkR}{-APm%9J6s?2`gB7aM+>UR@v675^EIno zrdqFQ0W?%+`GUaJ>iTyhPW5Wsj=HoRDGlWVL(FZTKGc^^lMU~MKDz~Zx=_*l_w|jp z|I`sH;~VaN&#LpgQC*+=z`gNjF|SVCaj2m;gj>I~g=ZF4V_g3a_Og+qj{gGx@V~+T z-0BMku3ayU)O@Y==UndSJ>w=B#CdodY%ZKL(EcTAxNnt){!K+W?YE&)2J0`h8r&_L zHSXBat*^{2(!tO){WUcshPTIR4CXej)nj_dE?FbbHlTiN(pR5wHmq@NH#Bar(Os0F zts9-QRYz|-Zm^YTH<+H!(4Ti$+|d1*mcgMWTBk@$+GsajXJC_k%1A#@$}l}l&VYZu zPX9!OufYP*yPA?triPGOq5k9ea)aWGN`tmDV>*|noOB8*;`OgM9nk$;yWVj6{3V0^ z?}GGJKR9Yw=)K6`nVgiKF>P$<*U_qXs5{Q6!>UsMJY=jlb3nmp*ND8{&ul_Bui~fP z0oi^d6>!w#`k_>pR7@NIsg z@tbRr`sZHg>WXM28Jy8KH9jn6Z+L8esGfzooc7-7Mm;@`i~60a>4u}zw~Zn-FYCRi zIlqLcR?w~Uk20vVv@#Cd*lz$oZ!kO=dBC98`GMYFiM2*w0CQtUmW$zsoi>J!s#ykY zQ^kgtj1u%7zA4jcct{(Cue_w+|6I)Q!#96}t@W9DORs3^y>n2Q49kz^>1CMDTT;xn z*8c~8pH#kL{{nx=zro-CrTmNjxA}KZOfp|Hv7&Wa?-H@H&yP;nmdbzV7{iH&-_Tqg ziZ8o+ns!zhZ~3t95xGdkl<&FY@n0$)B`)hjnV`n`{??Q26#}A17o3@WO3~VH0Z(8%ejzkbXuQ~-< zP&mEk`!uB!zMb0jcapH3OtZ{g+C_Bw=n;D@KXRVNS_)3{3kgk2iht0ob;W6r^y;zv*R! z|5^?FW#my}ku#6lyitmSW=G;piwy9)Z)Z7GYpikguhm5K^)!Lkh#!w)E)?ul-EWc8 zH%G2bE2sSKQk*-=p-tTL7X(fs`c&zvT)t?coFJk7J~k_&PS*XkCTkmS5rs3UoQbH- zf@gMI{>SIRt+}It9Ea{)KC{f$g12NL|7wR7XXs`Q@mu;jwLAM5$3EyQd2w8YFr01V z|AYU){YPW}1^%&rgMV@7kI3Q+V&uW>kI3VMA29p21VWgCxW}F-w7f72?aDj>FO7J` zj$MBYlU(o=53~#*4%0`G7Wo39#$F-%qdkSVaN{8QUh^FsdFulEa&-v8Js^Oh67o^! z%9HqTaTT2V!4niw6>32C{6IuP957Ywt0+`xkJJ~OMPgJ5B>8?No{+4G`eYemQTY#0 zQ};c{xXT#oS*nDL4LAW#tDDe`!CR4ShfPpU$OFV(xePqEb`qKrX+_`ZtblhsSHw@m z$RM(DPVlO4`RMrhc66n^82o8=51QdQA5nSw4gWp;7OQ;p7&*rMj%`V6gdVRKYCa#k z0WNaQN2<@6TVfWCXvvorL_VflsAuGh85m&boe!#5lK{q~TONacBNa$h&Z1F@p#5{^GDMGm+05nF9H);`MKUHaudFdo5f1T_I-O1-~@f2t`H_>6gQ}D!+bF|Zj#s`>(fuag#e80-{m;^^^T>`WxCR2UG8 z-b<0;y=rYet8Ne&p~m+!o)O4iisGy<(-0^rEfmseXZ+nAQs3k@Ri!)j%d6?J4NLO7q4AMm&Su%wOq%rIY{Q-+V%6=fA)|`ET&Q z@OmLuu(X%_`MU${J&})k*;ZjserXdb2X*m@$NG4N0T)%KbwQ%s88`g?UD#*SK@`^1 zVR{QMLU$atU~k3i398T@4{aMjN=Ekqw&82Bb(wDvtvg5YvRZEV?-km$SbVT0Zbr1yXxK9_ltbJSK1E3N#3 z+8TevqBE-S_yk|P3$(=pAI?WljQBw=50o)g`wDzP_(dYWF9X|uPPgR-fWArq6X2y6X)<- zp5CG?r_-8(+57 z0K05(16DDrL-M$%F!x*%p5a6ghkY+%ugyiU83O>{u;m3lkl=ytk1NG3k|1=ElnAMl zIS-GEj6^HWe8&TqjUqEFS9VXA6Z#MS%Jcc!{{nxUe}ljOUH(-Q;rvJbL3jkP|B8Ot zlxy+-5`F)~0ZMSs`iJ=YXZ=qc2>PG*Amm}d|Me!;6@1_5DPmrZo^e(l$ z85`BsNGFozfr_o>DPe*;*W3gzHS=2Yf9hDeonB#a!==~)ReZs}SA3h}enYu6NpqjY zRz%uD@>C>!=Y?mhwndY``ng5x(ToW}aOWz4&AEI0^70-|WCzu1fazIUt_>3mywzy^ zvSGv`Dp1x!mUEkKOul4sK+@3i;1|o*Hm(*KF!J3(v01cjI;|3)`t9HL{)LmE!ga5p zijic|kn@y!W{@`FMX8O|FfFZ-kr zx4KTF$4^&s)=&U>G(MYLl{QOE2$tinHf%z!?Hzezr6?g*t;iX)>?Zdg=p$yry2)2n z=SiRPpZL*3M>&^Jg1nq%&$(oAn(QZyNM#!h&SbU{vBaH^4R4Mn{)zvcTrBEe#Q$IM zFaNvqzfj~q^N*yk2LJEwUkz4a{ATyK)_^pBfpNPE>0ps#@wIV%n_|3+K);vfYs8of z*co-iU~rb8|BWig<{;Oi_aujOI8{Z8f4jtShKS-E50%o9>dnX&#*LTRS)k zi_|&Kb~_7(XZYkk5iw4YTYhWcmDR-Q>t|aBzoGQz*D9@HW8XM}VsX-8wG(IO<6cf) zvpPp^mqM%Usg0x=`alrW^@WqW{S!H!t}MvvoU}L}n9qOJIL(>bDal{I>nW!oZiw^y zrU(aDP!hN=xsU(z{U_D>g8s$#7jh5({rT%C9w3b3_HyF3)#Ec;s<3A}!iY2-aZVId zlBjw83-?Q##SSkv$G>lrBA$#hiNZ7n>C|!t|GXj`J9f_mcbMfvu+FV;IRSW=KT$K^=?E~zCp?01)jL&w|c^4;WgauMGmTVY!k+D zzDt<&@Uc-pHmN@E0THilj8iS*M2<=faoNiQb6up&c?lDEweC0}cl-u!|2Glm>KGD9 z+&pY=1qZvjL-YTMzeAPmp??woe^r0~Upjxn8tlJ2e~TV2BaH*v`Bro?KlDsAT@m`3 z&fx<5fwU34li5#3kGvwBik+z!pavn|)X6bD*H2{h9wHoGy3vLw7L%Lxe~_hp+v(h^ zb zVE!TeG{3gxddNP)9PcNtgh+C1FZ!dBQl<2{*;#t_QVQnkvxHQZI7FP8=Su{1viYCo z%dxPmLG-72F7au`nBFP3oOu4ikdz9L!<{&tq+GHYXLX_>df8f&G_W~}{tlPn)NRk9 zSKH{(-;{dsRhbclr1VeB?Y1i=YHm&*VTf~_0`Jhf&dlQwC))@Sb&!9joFXPyM)A#@ zc9Llwides)Bza=%7EWfHD9M;d;NMrC!wt-6;yddmFX5eoz`stNC?87Q9_(!8{i|4li9HvQyXJm$?WALK2!ImBZI_qKd^x3NXH zTc)LAKBKuT#ImW#s->xP_)k;o=FX<&7ZaQI^_Dg%$|W|r?OEDn09(SY3Z3^u8gf|Ws(bucgsG6y()YLqh z(vUiWoz&05P2L+c2hPaSVfHHc+KdSNeUL4&Vbyxxa>K_M@4F%%?u_EgcWL|@fU zqe_aR@Ojup{8;Om77@#8q8&Vhg^ZZdqOyi`-}9%`&Of1;jYJ5Y$(%>G0l=tGWAyEToW3FHK6!=xC7Lc2g$^~GaKu;F$EV7M6w%A z-Y;%ZdlAcX-(k;t^HiQEUVNW-ph6OJ7V6H(_ITh~EEC+N+yH;?l8ZlbG{J#GAmvc6 zNm+?H@*<)4Jo2j%Wg<4r^R&_9Ieb~)0>Am*!j$^lvKE(WxoD%=6z27_p{Yft*-F@) zoczbDsrW)blX5+~S)#R}DU+~;?iz1|3p2xEl`T_{Z|!GDO*sl@zN zMe@`|h(lG+BmJEnaXIZ|;%t^TQ77?=)MuMz15>EzX&5}b#-zY`2mU8-SJg^(~a&q_TAo9|TCsiXE z!#VTYj1Q+7k&U9^bjVmYxom$ix!A~?4E+>=U6XO=m%C2#w=L8mm`n{phwchuM~X2q zDu0A5>*}R{)<_E47C7N*qB|+UgYA6&vaQ6vox@cr^O2rp|!Pet`$cK*qj#MW?Z%=;zwsHPlW zIx0noEjOWWT@>Y;Dh^V+Z)uQPK@Oy3>=UBLgTNId+UQM6qjXQ>O4_Veigrp$q5{7p z@{=-U+-pv5?2shY0*? zA+KP4GHjLe1Rs9CgzCPa*8F_eRczlxD!*4f2$yQ&)ADO)k!RHEwc34+?^CjS)vV_y=X;PQ<+R4{|x z7d9Z?pSy@PAuzq@%pod0Di$A6BTj+%{ZrJEU6QWG*2hJTE!~wx4tZqh%$Ql2E2ZXPr z4)$oH4Q|fZ_;!Ntx8@bkbM7V`@MafwGw3X)Ff@-2_(DVOsYN}xw@TI0Nlnnt>~yHWIj7|-wH z6EbMT6c^l2r7RAvA-y)2U`OsN5+P6DQ;G+5@No+Y(>l13zWOJTzQzlnj%=PoZrv-O z=98NAb>0U0Qit=Wn2OSO>H9=a&mw}}+|9fA;wdHdM2fN$>_@kcr_l**R+LpP zhrdPs8Wr~w;=7z|#KQ_MP^<|ro=m7)i)w`fk5O$x=+56uFM;0h4&-|hu|Gtqo{eh> zo%s)lMF(AZ#y)p zEyE+@B3i;;HuKc$4^eYwH5mPC2&?2Z;RY|_d4>BI!`XW}(F(=0G`~F>4_TZ?XQ{}O zqK1p9{A_7Dj{s;?xeb(9bsNz z%B$UZ0-yC;z{@b(hN&0I@bCW0A(#o9c{iog=-++G`0V?4ytbei;@j!h)YVg^#OI=M zqBi*wbx~Y+k5TKuI`C=iiL^I0%n&how6l zH5A;!{?cN&cPE7n{C$gtw*9C{!f8&jRiHrcTfE7j54ch`-Mer!_-g(N z>vtS)r1H_4us-Hy&%K zn9OlkBO9%FA6n)6BK+*#YeZ~pAn71f$no)4A@AKxAeDaY7Tmt^hyP6bHh;Z_5-0tj&`J2E zDS>+SlLNNb$aHrp?5))*^0k*D`E9n4y!BSW;%Jj7C);a)UM*!$4L%tqU5_(J%Yr#V z_f`krKlceWnR1-qE?dQ)qoRo~4slq@o_XYgFk?=P`bk=&y&g}qkmDSW@TZ@*FW~%g z(BfbHEXJ9ir^>O~{*x%7hIy_Gnor+G1Rn<$6Aw;>3g~??gs8d?m1JE+8^vq#H!&Uf z@|MM9VsIKIIcgx-&#EKDy2MCD{Upwyj}GA^vyHRL`XZtJSej(s72{Z*xJP)d86tAk zrzvmO*VU_zl+|u?ebbPjI?+&m;V*hJ;}&NAltqb*9;V(N)F7na_Yl6vb;#(mSDJVJ zMEUxdJ>RHKhj?oHhzOKp6Pr833F%%(O6$iqdSXKY?zUki_PkAnHd^wU`g?c>_3M5K z6>(OaS`qBZvvWXr&rL=U^YKw6=K$4oZSUJAqu|cw;3=%xNqb9UNBKHfUZWP)RZ)g5 zBz53FveVEGCjoxfCyMM;oWj?cHqi4=PS9uaLr5h45`A@Z3l;rBn$O|Xv;^wP@mmTe z@L$c%{F!nwV&sT6&foKzT3T~b;7n+ea+%}!{*YI^aQFq~x0a@nv01uX>IOZxAe|@+ zV&c~h&*Ncm1hF#s0u4%J(NiJQ^m^+U+H7hI{={aG?)_uO&%CjpY)St@=dK*&`5n=w zx9%9E_b-*eGFLWGuJPGay!UJ3TDLx3rmRc-HR;Em*BqmYw_)__TOJgrHyiIZf6ueL zEYJ5Y$I0;3BfKfR8pWlPcpuIY8fh6_Gf7=`nxxky8qqd;%m|BRIh5p4 zGu}{95y_WbL!S1KBh?jTiU!Qu%RiYF1vAq z^X|q$32}Iv#{^ooE)5Ilv%petJIr?9>&6$%XU)TFu_i^VgdEFIw3v~TqCG8AiJc!$ z^HlC<(p{DN$$Y5@{;kf7d{E1jFg&}Sd=<;!yj_wd_;NO#XcOteLpPkG)XwFTN1wD{ zEOG_)*e(&b7?dCrLm@K8UG{6K*l}1BtBmSIz2!?|0!hZVL9HQ%|wa*(YH6;9q_o70%B|H?be* z8c$|l1#t0&Q|!6KSl->Jh+o%`T|LU{0oW*?OM3Yjk{S2{UrnBDuRGHDv@?vy=3YD4 zy7=Wx>d%%j!emIf&6l}p7IGo@QA6H>rZ>N&&37>)8YiG7K>jdkXS8tya z=Ruw}Ix<_tgp^6{kdA^NHZr0Kdr6M)-y3X6@wpP#M$y3D>BNibgP&x{O11SweC8?H zeQb<DwSb@=XiOYIMM zcQFe!RP3cycJNQ&WU%&YI^X|p6>DO)o!R~+g@+$%iCUnxy{ze7=E?GOiU-Q}qmvi# z9{)}=ePx=}N5}pF27Xdx36kUeUPlA7;7qnG>=YAvDVuU@ARr*zn#E6-0G3s*u1g80 zdA;+zids1H%Vq|jzW6X(^HP^I$LlkjI`vuM_>w|#=8m#}+K9?o2QNzI>S&-z7E|!w zc2#`IbScg{D^CLDw6K@54A^mJ8x#5aFS9+`nQgjJ!3VRQjMvxHb+FI@>!hjkPX+Jze3_(peykb8F5k*6C|?Hwvr)b zJ+7=VM{*hQ$!7p8Nh-B!bA&2 z?5Z)F*sqqwn~q2m`hhn3@~jx&i60A=EGgn7)#>=|*?N#aSDUHWaueElyK%~k)WI!> zIP|4y8$3xKE1$=JoKM)sZ23#*U;WB*tfdCvpFLZE=K6km@BPo{b-+02*yTpe{UZn3eWpR@jr&2uCr!N2-w1tK_ZPbz zSdEIG#z2Mdv+3UZAL#X97I_ithEH<6DD9yy65X6kCC2(N(N7e}+BuI=o%1hfxL_W> zu;Du1`Ns;_E;SXs+N*%wjVeUbv}CaM{T>h=c@NGryhsnU57H5XLzJ!OZTf+6vS?kz zQ`no3gx)ynk|XacsZpak!K1`jRA*^H@~18VO8esB!P~P$kKUf4uOIOh`70V>MmVQv zZO;4Bp@-kg=e(k;3{M`Fj4_bmyca#x>$@^m`gPeeDQ3+V~7!s)5eCG>*eeFCQ&zu`W+FWl}3LsgE_f^a8I zn>{nFNn4q8wUO3h=10LWmd<=ip&@ur&x^)vh ziA`d%DG&bP%1m;WUcnp8&BnH-J%~DF%ht`;;+Gt)Li&lz+4_zkGQZY#c0MH!!|d^aiIJ#&rUg;+pvcLWr+K$KqnMlj7J)~XAyJr z`9!%@vv7y5sazOnNSe}xIr*>p+}x<0TnYuE@6oUA)|Qh>R|@LAJ-#@gg@hc6RDh@Twz^k#@@^CHLHj zQ9}+JFkXXMl&eJ|4j#eEiw~HN0D3Gn72B*ml{3ZDv;icEi&5)+KRQ9{3~;&pUKA7O zhHXyxemjXdcu*P`8#KTf%Wk4~bxv@` zqBE4E$|)#Y;|;mz?eNET>}<`UNzNP;F+iye3P zNusl>B{7a#C-z?tKMB3pi9H=VlGPnPC4#C>o2N+>KPN6j{okVU)wHW`xU0h zx<`(lq{v|7=8L#>{m3rCx&YPsT;NWbrPKD+MW8xZf&M+dg_g3Yk|e}w0STtjqTvam zdmX>f;s>wjc%x@9bYqgRW}-B+zn);Jk~VZNGMdip`YRC|wbHQ%GSSrjW%&EMuLzF* zf!cp~;HHvboS2kKW#s;mJeZqESG~K?<8(pMa$u^Y@R3@c{T{o^kvvkLi;xz=EAHITKIU8Z#u#rBqgiv}Lb7QqpS$+y-*FG0JZ<&wvjpl-*Yx5`> zDR1c9J<>6r?0|Ru>OlT&BVFb7&$*6_@ASO~JxFSg5}1(Hj_xgTqoop+P}PKYl;|e{ zbN=LbC#-mT;48fA?sd%U)9c!KIpvn!sMA!a? z!?cY&ZD(+uS~$Xon^jf^rHYeiAKR(aUZbV-F3$+M_^~aOYQ;5_k;zv*jMI{4QGHF|sX0Xj3}rzr4x4DK#+H+7PzSw2ZOv@x79R;-?P zjQe)n0V;Hi;@k~qLZ`PP^!%YVrIoEp1DQ9}L}LqjfpIpqvQD0^@p7PUS8JgU|0Qth zpH1k3S=Xrh?<`T~E)#V6QYbgSKuO{-zYOZPAA|w63%NDI`+`}j9fI+q+hWm)7lL;- ziGn94p?2D>1%h!?YwWgrM~V~lFN)LA0>S!EC4xLfS%K%P$F^IhEA!vZ1XX{kilGC) z(9C3=Mn0r?H*+bpg$Jfd#B`|)d+q)b)ajngYhDWH1@n&BABkVU8s|6z<4$FJzkRpa zEAQ>_)@UX{%CqZ(}4pA^zF)_`%n(nk(Gz0NzI8DQF; zN%4O(IcDF_A?lsM9j14}B;I3Aq68*M9)K{X* z_Ivu^&o7->ADG4rWFx9$Gm?bvQ>9(12UywB9_*FTi)p!StJqz`H+XuEBikF$%Y@9( zWgWGi5T`CrR#%o~x^y$aO##PLz0Z{_;(SS0yA;1keTWbJsKO7h&p^GR8t(5rPtNYv zAwh>vuze@=c)e*w7`?0{F^&;rdtn6Vy7U;oJp2*aI#e){!tZ3u0GJ#82A zseS4IPm3pGVM&b~!@my=NDo>Vm3$BPs>g#$w` zAM&%bix-7uW6QDSME#pPaJGKSALtv;=)JuFPW6{yo3C!P=f!(;)?sBbe*1ayO;F8S zMJWMK1wZmmZ35vp%w^gC0CC@U79Vk`#EDwirBRK{J-;cHxwOv3ySbB@nwz4V#3lrt!UpbcU%Cf2-#_ z-gNy7`Lxc0G3oB2Fa6#JqF)A)r5?NS6oV6Z(F0BLS^F9Jpw>&HGscu@VF@18HDGjX z8|ekr+H`lbHP$F7=8_e!k*1Z0y-b-GQ}cdy2{La|e^x^?~1uexZ1yB7F91biP^@Yd+pE)~a#cW9wjxAL5!46ZlRl z8AV@9!@=9NiEW%dzBJ`H{rQP3iVJv3DILh6FP>Qgc3$Ve^H+u7e5pJrWr~I6_#-^f zWQUH|_d@-HeWIQ3ibQhFZ@ESCPpk6e;sg(*%Y^ajQNp>qCkk&gQ$ng?WT(`(Td=6i zP55tAtmJ8mD!1fOifB)>rs(y87=h&7MZp1QKY?t^B*0kY;%h0o=zTyne6REX)Q|;| zzi(eq2DB#%dVUm1WY0$od@=wUZ)ZsahWixx3T zIPIAQy;Mq$TQg%nntAU$3?v6YQ%?hZWz1YC^*Mtct{=;}zEPpO)6O5uovY3RzD4lJ9N3PtPyoOj>@HMDLaHLfd_&YEw9ZcLAyGHL|Z zl(dJjUKp!TMOuO-8sB$t%Y3$STMyg9&9;T`&HE~@a#O3wXpk4>-B0FRsg;s&V>LP= z?+dkO&`5M5QB~+U)(RTNL_^bGXE?t@CnZC#Ww;s5THIefb*@t&BY6~AYiH&-q2lL# zRF%Cg#%{hR5C}L|yB9X|?94rF1Un7C+pdn$t~%kCXxAEdP~e-QD%^I%TzJx@Sa9o8 z4e|)TiG8h_sJdAeC@FgjJ-_`6_^+iMS>}z!-G?ni+uW+@v0g&#TV#sQzYWJh)4s!^ z0c(Kw_~5dQJen7!N69%k(`L`Agz<|$OGL32$Z&ZQ5=Wdzs-Gfgzw32S`FWA3_+kqE z`as3&%tw9}4I5C74y{{E* zy{rjxgo}~)$yI2Z^nLg$fu}pjBT7B$ApK^7vp8F|0qy!32iu-3#((NG(VE|#&`EVQ znB{&PRQ=ATYwk?Oj+q&hld^zbSl@&i@BTu|YQLbzFLsM!@^$Ez6j^+FOfFjcCm6mo zP^ar&Jdrs5oI3J0ZjXF-;;1Q4;!%a-2xBOz2wt84hO$~X(o`(a!(+E6qWhCv@Qz?l zq&y392fv&|r8TP9ZOVSs)1?ivE{w)wZ@S^;0|nIff>|Qd&F5+7q-Lu2WIz3lWP>kT zdD!RDOu67Yly;8-opEU^Qd8}rQX_QWaxEczYUYl&3IQxXcLn(zxC<*Jr?HEL4E@}_ zPq1bkkG7{xpgOJ{quh_5M3VMn`5!)qn(40mSmrNNP<7gb;*Qy@gtvyw;PA8eoJMUV zG~Tq3yLE!4%9=ijo{sRiXT~XsMDbI^VX2S`oUKmFAF}5}hxOny)mYJv;Z0n7{SN40 zxsN;6sUh+T)vppAX}4P#(JBZY77HA6XI7brv?R^nD#fJ8qsnyU=E|{d=j|GzBJCoL z@7cLeEEANk_+YmVB~)hKx>IS~cenDz&3AO+i4V+cb{YOTeF=WMr=3x3*I+AGlrx97 z(qs=miH;~&f-*-H*to;xxWMcUV{96Y$H@6tI*t~qvC*9!==PR0uF9bk%r!6r zi}%Hm-IvFbX5)?6uFi*?=?^2?i5sac>G1@<48^81)9~T7S@`tX75I3YC8-}Z7Vo80 zknODrKw0NLEnjhk`CNPw2QHh51IHvWm1!TCQ>sUpHAQpCrfb%yaYhXF%H;wxcFQty zPt%o|y~7WGTpliJyBCYk?JFkgtL4bJ=>$z~e@mTK)Br{YJwQg9Dv0u|#3KJ7?7Dh1 zw&;06KYPDWV?yY?8Fyx}|WExv-s01fbU^yHC79xbve zcMI5cjpr`7l`m%Wi0U+7lp&fY#jWs4oCCn_uS(}IL(yy!XFXm|_x8T=XX(uxq#pNLh}_TszCf>HRVM<95V z9dqA29QcWUq4UiuxZp%J$}dSqF~(_d`UC}$>)o;3<+==E$`($zGMp0LuRJH9^v6mb zPYIIP$V?Y+u{0JGQnxD4EFLZH_{NKUpEQV#QqPFLv@a1))@-c0^mnG6^{7m?`5te7 zlKVxLi;nRLbyD_!DyQ;V3$8K)(ihq8^>OUHt;4{#cC-EDKqLF4)15q3&}j!lE#?($&!8pE&Hqs`OE>7 z$=toLj6StHfcG{aF{k zCp4P%O_wE3FXqq|uEh*~<-#s+nqH#*YJ7RowD78Hv&$s*SBkhJKR;3EhZ-#%%G2lH z_<+H4o%loLa=!C$E3XvVK@uFY*nyv2?77wE>}KVsq_NDF54@vEwmAI+=S_ApQZJr@ zl;bkAPmcjwawVG%NYAII9xT`-5sC(FaU}#AkgnXFLi*$=`4ZKK7krzpj(!y+Q^F zURy~%uTjAtwil3jHKt7C&7=H3t2Uey76%MYne%!Lr-`slfmK|nfm*FzK(YHWq@sHp zUr7zX+|(K(=~8DV7*^oZYd+xhCcYpx|0_AM<2g20?;(#?*ph0`1kh2FPOnw|kI$}+ zfzmLD=jh2`@575^-pr*;;i>;9)u+qJ@*`DDRnjH$tgI4LYgZ$=;aNa;;0u2K(FynW zNAqwvfeBR=;3pLiHbVTs+q(Qv!pH{Yw1p2#OSf5uXRDx z3Qr;#QejRDRoR~ZHiGt`Klquy0$bMeocTWDv&~=S#=rY(LmUG-=+5ak3Fylu`Ex!J zsVfNo_6EptU?*{~bix@jzvzEkqJ#^V4ngnPULd1Tid=a7ANZL*myP~sinhF$#?Rks za)XlJ*yF}SvigGx*>XvaFUX%oPP#0m2j9Fx&tFaC-9Lta&kw=@KM+b{*B>IIEf=Hp zYa*!3t!uIEC0}OqxpHP-)>>w6oh{B!<-qwjN#M%&@AUQWV~8{IA@Mb?lyS*T-0khg zn<~BI42oAVPf|jOlb4wHT62bl#g^nB)6J-Uy9L^k8|Y8xSCZJak*UJ}=G2%`x64;3 zu@bGUHhA@#2DaAdKnDsWurV|gw`!k-Ln?>CI_f9&?9X^cEnLVnOp6CPU*th(ryMoq zrvgf=(;-=*pRmqPW!y3IAF2zSf*9_k}^!flx>J+ZiVAoM9{owcCSt)@ovz%u)PnvwdKPO)OP3bd8ZK%V(5U=AsP`E-<%^Z201^ ziOi$z9<092WH9tN7Dv~oQu6~N!0FN~;G4J@d%TX|dnTQv)gyO;%cdL2H2j(tw)`ZE zj+|xo?o!0x18Y&P`X2l!`5z3+Nat5iqVNajqs$hS3(TabUZyEw5$l?k1}y)Kfl_z; zv9Zrv(fp)2sJJ|xkvU)j)|+jmZuiSkiTy)BhVvrUTQ<>~{; zm@TZMH@=*Xwl7vLUN%3ithnTEMY`h2%IQA*2)CwLXsUb?=8hgO%9#2JS^87N?Cdh~ ze(@flu=hB~G%^RgCJ$~;yb5ewF9V&Zkqp`y4eYJhj$%9OC@C9Li8y30g&%zUnt&#h4Pg>)t zCw^=(4{P|I#^yCi$WM2-aL{4~_6TUi`$sF#204V9nDdpB3B3y+ye&npNE&~Vti|mi zwe-u~jqvDwB{UM>MRQ9^aqxei(KU^Ocyn?D+PljO>Nd(@gT6An&iw^~AEm*G{LAR- z9bfE%SP1TJ78S#0ILKZY0P}hVQFF=xP_okq1YZ1t?ABgJ#oDvz>+@g3p(mPH^m08iwj9RB z^z#v3>TTrb6c2)V0kd9Z3g>vz3orM02p!fV`ou$LyfkMKmO0Xf-$b543pVt_hPqm` zXiXY^64fc;cG+>9_fjtUXD7VyCk`E7*#Vy>sNq9xr|AVdu0SR{g8LYjiL?u%am438 z$X7ZJS5F>=V?#5clM{s>ulB|%SIf{Ewbh_uZ~?wVBJi>xLrTjfQxbL|kA^$5!GtlN z=~H=y;L7$MXmoQQSHH7FG;-@DTJC!iZ@4fMB>o$V{+5k+CH}5h?)^DhojGN{;GxAaIk&P&es8N@om$Fyw+F(f zC5z$fY1`m?*aFYnvs}d0HSn_KB*DjCV_F;-4^#hc=U(*5(}PzH=tW5a{jL z6)Wu2RhL(?J8P@q z>Vlw0-zfjvhtZFKb5zBbGLd%~K<`@oP$wCKM$AXLe3TJ=WYI;a{;duTxi-PcRa@x% zzJFESr^={PgE=twz-!pxFaw=oEa2flH@N=sQR=yi2L1QoC1m6}5nY?@i2~AUM+_@o zc%x=FwJ5X&b?ubE>%Tw4hxJit;%)^T8@2@I+?c?%|I39NjEm`;$`Mdt^_<@1I|e@8 zA0w(>UkNWRuaUe-k3*-^jD>F={or=_-=m(K{E8+w`N4D7w$r*}9Z^J~DY~+MBHd?X z3hgRvD8pxBQN-k6QQN?K7-?@rt9`jolMQE)zjPD)*=GY1HJt%vuL%x$uR^tpqo}0( zFT#1<(~#i795g<|kh^mD4ZYfa8|4+lBDhiqXHD&aEl(oprRKT9gd6$P&&)8W+Bd+h zn_@$al*XepA5*C4^PbArmO!4Ts-;n(3X^zmvwdKa=19VuN- z<%h+h+WGlt$n1+mFy@#fb50^!q_VQt5k*cpPyB}vwFqDaSoz@xcj1z2^4&i>IQA3W8lDsXOekW_EHO! zM~Pln8&k2W4OC6A4YlENo=E!6BfG<;0{FMmjTf;ZhW0-wW0?Rp5XnX>?85 zP59$oC0KSfo|Ml>!+$nSB6Gxw?BiQuM3{UMWcmo1|7@;FHXZwn7j5n!*I$`{nukl^ z{HKwO%*Jz+Tj2txJm4zHF3sUTdM#r;uS8I6W*MFT!H0RdF@`aWH^LLR>*VmKvDj;x zDSPwA2H?GTB3)vW$5&2XOdd_Q;^R&YkdhTE*!<28a^%|(4xHXV{VDVS)WciE6b|8v z{=J~0!xZms>IN3-Z<+IUQn)AA-uARI;s5|_V$`uu zZ#4VohZPQ#-vi#*>N1MoH9_EXGrnfiW1u2843F#lB`(YIh{*;gaDUWCWMJ%%Rk``( zrZWvJZViSlijpIDzd_f#_&*il}Vl?<+I? z6U8?qk9fZ-xWC2=pHkPyo#xee+rbE2?t$rpt4zSDl38G4&|5lxo)vgky#$Qgm{0rf z`$?^?m2i&-C0x^El@ShLn#jH1R$#gHt>i>Zr-bwjN-9%LxyE~il2ZmgGPrA9MN~3Lu;8yn!yD1Sxl@H%a?ABbXrKYKjMtKf3+_JjSRHc$3eSi67I^?=M zy0K#}J?o$uyuInMWSq7N+Ia9ioLHrYY~SlrPrX)gO(FX!=A0_il$Z?*G-X86;R4By z(eFjqPu$=qcWqaiw$+qf}| z8YLTwq{JQck$1}`N^T(t>$J>N%-eqcx+k`=%M3TfQ+zBk;hCn6A%VjaE6k0G%lr+`T95l66BA z5}YZ8e(fV#y0w66ReR5kPB$FMTigTSM;NU(952d@>y$h*-48XZ{)4H$kn(;0^9W1R=0?fs+@SdMH_bmRaaLndI`RSQz zC6cJfGU>hIii4^eVlF{P@;b|3^5Rq!H+>}wKZa|;+bPLZYr}YI^At_Eck)wCSuc(n z+|ov^Z4MQEYdgj@Ii+%MzGrhcl%!#U{6mfoGv$2mE|a{(OC(D-+eorxd#Xw%C)n=N z7;o2W_Qx*%>}C)Tbv;GEr?E+xCS79N!@fmW4EXS-aG;YL-W1&=D??IacV zVkWZgn)>YP1yMkh=nFcf%=!I))kz!cL(Z$1GH{@qJg(b@7j^lPoz({HbyXqjGD(YZ zpP55FFHc~vehXtG&%9%<&vIp6G#DaM1W9JCEPA`>1JhsmkNM500Qsla>E&C(vCn^c zY{&gKV9Gx+{$?&muFiTuf`>04fk!gyWNyRKLLKI^UL*58PLFxgSBr=IUyzG=dei~O zr=-o^inN>RvRhw{Xu!NwyvCl~VaYhY*TYG5z4&oZCM&nok6oBpL}L8Zz_nsE z670N!pILpJS-Iy2Gcac=k$W47G|eD$JK2%-yDenLID7=<^Sgl5#V<_2NlP~3zCC;9 z{S-#K`HOHoB;ExR2kvU(JXs+9Iy(POKl_H-erJJ-mH+4o;ile}%HQoN8WeiOq*OGZm_-d`5(-6IEMTZVn)S&aie-D6xj=JJZ3#nlJ(^!Y!DzwwTt56tk(km|{=8dy>2zB4$sI@_8O(37I>GZfY~a-7SZite8=(f?EjqF#M9K zl8XQvp(~nq`!Zhw<=E$^yO`-pmW*wq4D)k>DcMmt@=je6nFymH=3C_z{L#vT^)=kY zQm~786Xr-;6{e6FlgX@-?Q8y^>UqBPoF{nkMwO&buVAh}nut@SOX*LggM8f?Ay@$b zJ306ysd;!DzcI~XeXS~)kR$K#C2=umnqNV_%xq^on_Wq3{VUS!KbakR)nfMf+DWUr zpY66+2U-Mw5*>spCYjLuKN`6_6p!p4hv0{nB1{rE{JHHo$fz`8W@x+u0h#AOj@DFQ zJVu99%$4VlW}GJ<`l{%x8PZIUY&=kyFQHttssVL1fcbM*z(iR|0lV-_G{hY#i}DX~8^j&t)8^&~gu*lY z-Adrk6C?UR_qQ-_Oe}pM+#0NUq9`<&6^f^9O#@~ACq&PORl%oyX_)sq1XJ}3fWPua zTJ-!O9)IzQ#AsVHuM_lkE8%*FQTUuo8OT|?o`SxP$fea8Gcv337QJ976MCKc_xQNz zd;1gQm9|#cbTt!LF&mi@2Q&Hx90&JgE7HSWe(12rJAC7)HZ}L3Ecx$C9KHF*0Q?m? z(rZu~gd@T)!{ftK@R0p6G}fjN%~l;l51Pn|OWjkEf1dzRjW!^6_Czq)O{1r?`l$Tk z3Sg0aVT7YT4;LICpc@}erZzoR120z_QER{cgcUpDvB-TL-K{=}=$p#ZCuTUIBoYZ? z8_TKl@)oeK#0WfoqF_2CBvaiIPg_g2n2Reqin*N)=b(CsHuvP09<>?Sp`uk;uzuw_ zDjUZ`n`9f&v0_Wu@*coRCsOG4ASXH~Z6cL-NfzF0PKJrg6kyKw>%zO?uY@aSV&RV> z8R5m6u~oBI7F5K?Ew6gBXK&@t4b#LE<4VLz7r#|i+&^387q(YCEA3%b)nt*K4CgEe zGhHqi)14}iJLoyWu^nYMZ|)gN?Oi@K92pMd2ljJ1{a$q8d^4(L{Uhq$i+9j_#Y55D zU&$i9o0%MPS_21w8JZtnpw@y&h7?{YoLcK$l5qxvq~<2@dh?pzE5<7~LBXRAf7c_EZzUp#yrR0?~` z@~E{HHE>|s1L$-uMYK>=SMpUWkXln~N!feYQ!73M(%;XCxD6S9MZ1(oQ3uw_Q5}Kz zDG#SMj?P@fd6?#l4t$`IQ-&UA{o|8F`28Md^lCSHo+nQQguLQZib6z6F=m3An47}* zV=geX^}eXxP7di7r@jwiS}1*f#Dem@TZ-o zcusgLMejZ*(%m5iBbJTjJ{dg|)wdp_q`6@6w*xX%@UBlBi~kDsmh#-#$FI5R@U!I5 zl2no4)FEm>UJc>#@=)ZP0R5l75Z#eH5bpmbM@esg1RY14!lOakDf3GS@V50ssG_}I zBz|NmUijQYh~hG+VH-ob_^Ua6a*;0gUPqo9Z!}*Rl7C5bYkwc7nstbp{A{np=T?zu z{@8KoIa$IfJ48`S7RPheP214+#`DzG!d((OuL8<$R<`JR_!*J1whvTOD>AY5*<{X} zowkIM@fELjU8}m`j>Ron%EFn8>%;+;$y{@qrEsH#Q1oNka#2mQjA*#jjn-3=XA*)_bkV!`ej>#hnFyXQKmY;`RBY!BT@v6FKY+YSY_TkU(>S7De|Uh(l= zA6W8bJPBue(SkB_Qswyq=J$VNMutnEUiAUj5^Zp%{y5zCLy`2MC;}9l$-C-xSbyJC zX1%s2V7-+X?|uR6oMs9R)#X8l%N+97`;IO?+k+>jdEl(!ePBta3BAx&3M-qcv!`NK zlS$%!{C(VB;)GgALqr!iYAyp*$6hAqmkB^nRTIugm@d3~QxBZFM7Z9d z35Oe~u-4g)Smk&PRec_dCJ$!dmf5Pf^-T_OzFmVqU-YBwur>Ydp&EZ8W*BMdjN!wT zyutWyQDoKWohZfU2|iuCpCrVb0|$CFnS{j*u~{ljrasxnJ1m(G45Q=lp2^mX^w=8a z?EG`2sapk4I?xWSR{aynX8YiyvwF$=iL$KX1`Won>kcw~{vF*f)MaYteg%c+l0ga1 zhbCJ0QG@>zSRS{HJJ4NEs*6{G2OB3+uJ8IFbxMbPdnCsTy1t<|<5LMem`J}dY8D^d z{Q}ImD<*H4bUZQ8gp$17hi$YMlguyaqE(kSP?xtm5&3(exa(^-Q+neeU8PZgA}&M% z_O2|`8}pgke4H!yUhw7PZb4_vaY3cAmOx*O zTe#d^QFyxbO=VnWMU{7aN)?`yN;h3}fxYvt!rFBu+=T9U+W1D}$Xy4dEDz|SKYPZ5 z--G$oq-BxxiizE5%~fykS;1Y@Zk$JB;R>`%$(s4y^I@bYJeG=GH(JmsEk|3(n871& zW$22bJ2du574dgdIoE)4>exPS`dgeVoiucgnyoXUbAxl~kYQbFceo;qR4Ak^`7P+* z)l~YyuPC&pMhfMBFX3*lIL7T-f0m>;fJ_)yW-K2Ww#8Rb) z?j!nW7=7^IA=vlv_{h!DI9${20d>9?q4AFoqxofn=s{{Y^n9%VjPvf&aROgxa(0DC zYgI0EFc+bfovZPDq`|ps)zPnIt&m>Uz=+NQH13fyEwiqd#u3ik?y-yE52B2!#>LSy z46kxigAo<>{V{ULL(s#~2hESDqsD9+!)>iu3mZ!jY<`ePhlgK%X&4DL53{e;yegh<8aBf z%sHavMw95Fvbg}<52UxJ5XsC!GNONOaM)=ob=z(X&hlr#tigX=2QtDtRWH!^Lp@wM z6i02)KL|CYr0MWK5le9(J_YI&|p zCCqo{+=eDgvT~Fp8zalBUR=!=<{FgsCh0H zAf=CX^&86VI>S-~8I-HwhFXYSl*8GoV-d>YN$$>7Ho~WsojE0y3y#Xtcd|bcIjPfl zVaP}P?wtmcI^f5Y=ZBHaQ3CQWJQZuLUIRAlA4Pu8Oea%4%0S!AWTs0t7EHQdl+F4YeJBgCF(g#iom&uuJlkoa= zJ@nuGC16?HFNxeULlSl62ANdZh279);?%7V`emOXcDoeQ*WLkRmo6ng=Pm)UyA7Eg zS~r09y@g0?*#qEMs*lnemw~7^XNjJtki-YS5QMjD-OKa7hOhH)M$ak%E^0JDN>0)_iSnB(CU zcNL!O@=Np01v{KHw=oQ$H^gwcA4p?d%!Gu;^MgMJ!0h$I^z=f}C z!RyUD?zZtEUyfTKwFfE0`R7)$pzk(Zc5ggs9k*zt`%1{mKVzA1a(8izMliOiaz?8D zrnJ-QF7#V>o$1c|#+KigiEO_AiWaBGXu-@NJEZ%SMzashMc)07P(kP>fE+m85%P(_-C>q~6n~sfSlyOP&VWhV02z)tuw&>Q{8B}-tJP~N< z6$NDGi*#Nt7Co4|OSE;BhUiMXk!Zn<4??rA7Q#=X?1VGq-q~I6oK_XnW+{>{%@uVO zM~U_{%okNZYY|$+ErEle(1A9I+;``~_z~q2W^ws?r=w8rI?bzxM zKJKZ8L0FMN^S@Etm?PZRx>EcnQkJFf>ftSy^x&8mO4PU?W5KUKZFJA9bR1XJJMz2a z0Mmbj!8G-BYNd80-WhWoJl<4F4>&Z_M?7O`6NOQ*Yk~wFY+Omtk)`kh7i)ZFhZTI< z76gW)EkNSmQNkx$U9^?kX*Ak$4*IkI7QNIgoLehAK~<|fp_viA99Eh|P?j~G#H7G^ zqDgpgR4=MXA4lJd#@vV5gYe)`1zzKri(5P`!MPMueC*13p(Oc)P#6WN?ARDok~ANe zw98WmM{W&z>eqmORSdn=B83hP%LI{SXXx(R0?MVoiC#E)0(zbC9ZcT6l&!sHdVPi#v^UcO5=pFKh3Kq@^)AmTwxb?z6OXDb zm3Rc+7W(cPkO;TbOa8^mQoa6u$mT&ZO4as;k2PiKm0eqDq+USvSjo^e>wBoph6_Y5 zhKJ$)?@?UQ*n5(}W1J*n>h-Ds6ee81^^!1T4iKhts{}5~=UPibSn+OU8*xe4%PQHW zQsRvh##Aw1Eo}#_ECpjsOYE*33b$)$KW;bh;(~3)Y06fiA|2a1H<8Y9v+0_&78LUE zG5WaRCfL1i30n9ggq&6j##&pPD94q}c-H8fxJGRmwzNs5cYJB4r+=M^8+KWdg{%s| z_Fw5>Cn20NZ!NmwIvF2!jTzx~+`{+o|DqSiy2FE&36$((1!B2y4AI|qjy`lvjU@eP zVAKS^p$er*T91q;ulp3p;zOH(!|x*c=bB$wT=odLZXd_}AXBi5i7#_*w>o<_Zawqg zb|v&;a|XSPcfqj=o?xiUn%KH!p_SoLbmj9nY^tk;FN`WfyVQ)BNApV2tO?TOuX8`+ z=(821tczr3%M~N3Hz&An7DZ^x_oJvWu>o6d&ICVqL?HRJ(M-AOd7(ho%a@)atAp2g6_djEe(3h06(E^~+~=r0Ky~AL*nJ4W zmP^h!VX_)0VY6qrfVuxObSC~#c2OM9 zlBI-X$y$~pe&6pDg054DLEWqfnP)b_Ycj^(P{09nDbfvkheXr6W;MZ0I~DMQ z%FPgeekIF5K7l$;DqQ%?FfQ!pQD``_r0Dp;Rb^LB=2X5s@}RoSB2%*JN;3O2x1XIY zRe(vpvKr_;js16#AP>}EpvH7JQT`>xMC<27?oos-{QJ8Ce(E%Z-?!OPPu6Xq0=iI2@Wp69D`MVOQJZdx1|LK`f&tRxp%Q{|?qAiQ0D}NJTHajj}a=b^p z^H@^#N5jQ}yP=wb)Up=wzd>0f&G(7Ji*dj0hvke=(18fPCM$!|`pnZ>7sViSyFZiM zL-UfG8hrPsBHI6i5t{E?50u_Tfa}`3!HIM8WP8C>WaRyjj;9Eb;o5n)b^bfJc1AU6 zoAeM|{4hY5#HNAQIYs!{$T#r%>Cs4zE~Z))>p2RZmfRkb%}Tl>a4-xl^7C_VbfP zAKoYMLqi*I^dl*~XGa%!DLW#$;**NHw{S50!8cUuUx1G+^TXeltVcQdU9@GdyNrRb z6KrO4fd4HO=FqY^K=G^-wmat!<0p#gPpTArj}=kTpE>A|{2$s&&ye1{*pw?>asoel znoh6zW&qmi+Ck>>m00m>AYR_|iKe1mI49pEChlqqNJH`D3$Lk+Qcx!>i?~fYR~yr& zOfBuCFq+Ys+lE++SbAvoX?#Sh7WXI@pdapS*yQ6Od@W=PUvMrBgzY+sswXbz8~6Ny zyE+x=UpI?U{q%=ZPTozm3ADOp_ar~2GT(3nJ8jz@wr(Xsx-7SZYnDdBr1b&xrP*4b z<$xM+aFhe7a^-MF-f#4Mn>BWMo{fI&+ek0B>ZkH9CPO=87LM7)KxX74?r+F?xZ<1! zs=rqb|M)p_wFBeDOZJxv%oNuNQg($4)cth@GhW|xNM8KF;d|lMkU ziKHw@@btHup#H3y;8fiz`cCsI=A*a}{-~D25zb4&?<;Nmb)&0{V=fESyehDY*Dca` zj=Xe5&{$r>*IRn4gaSuxbii3vZ^oqP3n=(~67Js2qIpX7oK{i<-@MhFKR+Jxh5qM3 zvMs^g9ApZ@Cxk~>?FL1&z>+7^{sJ1b9nd~lhu2m`GVm9----`L*u^GT;-W`6zt=sgfgV(9HXZ4_t z9|RkAu4lI9YhsI*_2>^)!SdF>o< zrnLAptxZged51uS928ExO;>Qm4bcZ{IU+lZd zmtDyQw_VlHgK+}zGwLdj>o21HZ9dHY-Pd8><7v!@_ysibljD7cPB9DCi}>Bq$Eg+e zBv19v;KPZ$i!pnp72;C}-D$16cP;z8H=kH9i60R5XigmVN_`GLG% z>|U#c&t9p3a)vEb|MExFaM*bAPM0yYa$EyB_x&W+a*8kKbWD!hH?>*v;*1mPmw!mS z@?A&e+v%Iwnum5|aeY6j=%q=1cb+Cme|SiwiTY_YXaH@=m-iC6ZCI(i3fft;{*=9YAhM9$olUz=-#p5-kaf zlvXG)z_U+<_RN~dznlDu&UMw4UR*SnKPk(Q1Se+T-vi^(dEa_UQjyP`^H!y+qszdR zm%V)8<#}MboGPvcu zj@vBVrM?!|lE+2aPM<*h$RZH^{5`5$<-x2{mKQB*odw3VsWbcJCP>q55I;X?v^09z zeIRTz1@RAtuvK0uGkCj)uDwvgWM6XOb;i}xIo3R2_BSv#{_ptUN-XPx)vT8`A-}EjGn6?x$&R;0eku?Hvf8QGZ4kMEQT-+sUnxez2%t-);zhyFyY@P6L zj|lu?wFy7jDYInc<0X~s#2j%L7sA&2>5yG*{nV#eQg+9bMz>UHf_!-|u%Y?`aCuRO zJSxhtx5q=!KF^Pl-_`{JSLoq&7I*N$TM2yj7FYgkpE3$~sS55&=W*)}t%sGHlc}F` zN-4W-K@=*lt*&uDCj4u)g`8krPt<>TENF006)46@BxV-dCCiL7h?HUv(k5Ur*-9=W zh7L>@JX9JZc(CI!(huH-SE;V2K308zN%Crfdj-!xQ}|-^Tz11Iu8Bu)Pxq5Q?4!_) zgL+8!Q#d72fT(Ao0;Qz#1ZUk$LH7l6IKf<-3i)@AIQUi-#W}y>{;bMH0%AIhzmiP5 z&3A!^+};R7K0;LXv>(lJwMKW`#^R6Zy~LX>M@TjM(fq@|Yq8eAd*W-qA~Lq7(dxzD zpr^1||cZCmFXfMa;9oayq%K5>m9+6zTmk+u$_B)ZIxgJX%Q>Z8$!s_}q zwEpJ-sx3JVrYLEm?<41-%zFydtyncY^ZH?UKT!`oo*Y3IrsTsy)l}qqvk4U;F-|Hf zCBMDZ(W2UN^-0Zre__YnNVxCE2k4V#k1q7?r|aJZz+EL1r~v14Xtn=E^!NN* zXvI^wxn2bcUdh7~|2E6|ogH`)@5u7;u3-gMPH??AP#A zdJ?`neSY(twKF@VjTx$G-amX)>5fm@ERo#OIK+h+Svx2?bQj@Xym!wJ8if*YlN z@Q;kqYP-n=wttQ!{rls%!~CTFQ=IsmAR%D#umLiezVJM~LA&HQ}4mQN*(fN1mw9(hNUgMx|!D|_4Mlav&i;MG!^jvKYZ3;CSM?S=Z{Ph$XHM@{IN(e z?QfmN$Hh%TvJp1;xJ#ee6t|fFo_+%io*T=3?m0+Zny*b}UOC7=OfF&`NM|sse`w;R ztG(z234P%5U@Y)7ux83SgzhvMBKJ}Sn*7>N)x>Zf=c7GA3hH9DR($NfJttUobl- zi#gg{Lx0<-j+>&KY2yrl-lU!2OH+LLZ8Ng?qoLjS`jmV++jTSFaWI??3$LYLPRjv? zt+V-UpKjvfj8Q=A{w&HtKcAQqzmiYW{LSoZq!@jDb*#bF(iJCD>3}EB;OO&W947Y_ zxbIW|>GM697oF)~D6)eLIrx`<_1zz2mZ(XO-dWG|D3kbUSt7HAwFCcc@`u&3etY2C zHS_X^h1PfW$lI@d6X}q4cR6=vejyy$-^UiN`a~U>x(Xh8c9mAES^(77Qov-PB~ZWa zOY1K@3s$_4f<23M!OtVg`1~v@yiO?$ue#KaquWm5!X#NXAbJ;kXTAb`U%M5#T|EM~ zIvbL;KdVR=om#^Db1<=L%6DO9uaQtPEQOK{U{4HIcWCidg8@iHp<1c@a6CJQi;dNIVfQ%eXP!TFdy~@e_^KJROj?)bs zINb@X?LCb%-Hrp_U)%Tx=`)y{S1ak()YSXhmUx5(=+%n zJV_c{Udmt9JcWx|Vwnv-PP~JSwahoNpWgCk5$>;v#giV`^RwnBF_!n{gRpXKk==+u z#?&bqtuvi~6oq$zEb{~KZqmNaML_FaGJW#}R} zViE<+G%RSsNdvtJGsL<3da%`(m#DBPir=t;2j|zXM&Ap&(e8Efe8e|(sef@QR>&VG zjr`n$t*!r1|J?84$`AQ`(6f<}tG`7ce9C+t)rIn3>F4VH4guDH4e0e0F%v*tv$F#tOLl&Y%8z^IMtEUZ~5tA3#?*tpyOxDYc3 zRF#*5TEb7#JAN$%qi0P5&)gNuHEBxB(&#kPv4FA3kfj4{Yxe@0#u=Aa73+}{plbV@6BbeZE=Zr1 z8z|)Tk^_iMEuKViMdwS_%zuZzk$u&$+M5b=R$oW*?mNg3VBGnO&ob* zD!FF9F82)oW=+y7xh?S{h2t|bC8Pc`BsQ!25jE>9VBYgrY(rTH_s&;`6h}!U;U{wm z{dLn}q}4N4_&%Mu@0-KP|LNq^4c3u|7etAfiH&S>^Jr?}@g~B&M?fitk7pmAeni~4 z{E&G4EtUv4GM!7_QSML^lE;p`8o(LaOn^(qq)8@H3e?SGhTM)*{p^0gXd#mjY$#Po1jAeZK@adZ385!v5`IXp^(U; zjJO4nvxvnn&Pz_8Fe6U5o09VPRH31j2B+nCj1ynAAX1E#CCAU{5H|{kIn6#jF5NSl zoH$U$-57C?>va1mymv2H?Duyg*}GAN`cpuVOZ%r&HO4|V|7jHAv?WJaq{tD`+D6>T zThrJ?w*szrs z%7y8$8^*m9cX+QLWMfg`;a{~v$KP&5S@byJV)n0i`uPxvRIp4!re%qr?P#j*z7;A6 zp7_Dxguz7z-dV`XJlGaew<^L!h@oV~*{Cwtqr4HT@cOB(vtVafy%jo4_x-d2w z!}u9jF$-mW6U77n(M!gq;sf^;u=WjtncHmvC!d-M>Fq{1b<`QDr) zomh;b#!F3D*y7d2|YdwU@G7a&ObgG zhg@#K87U&_OXx<~UgILlm0B>yEvZb%0*4G zny6Kq07khQqQ<;~{LGVUaP^y|viBK_v-8g2`5M2F_(mvd8fPloA8f;ZUlY*WYl|=_ zAIm6t1jA=?a-iPXiz(dt8Vy*A@Zq%>J*dm4W2G!M_^QeDdjA9GRBci6aToe@RRSIF zl!*;9dq7lS6#S>U6zYZ+qjUe=fVu-NxFk^*uUtuiiSN#%&jqnC%*7e)Y;VNVVwT~R z!+-FYx^sAW?g8?I{SW%R{wUsV_!!px6M|nK9nD`b>cEZV>Dd3TGCXud)(3^qk!R(hg=(hbc{!GUP zzPT?$dh<`XG}QA2BQJPMFLG6u3JP49=cRGXfJHAb{5nIrE|ruT{g(}-AVVr_UMg)j zP7sZA8dvkSLQ52}^{mL#?m9LadQTZY(WueO@xcmQs_2kEl!~i&gTQ5;LgzisyifN| zK5JxKjqz_gkQsIgR9-HWPTsMbzd2c-*;7!;gQQMSG)7UnZhtwp=$#;HFnr70-*gd} z=E}Yam+#=4idv*{-=r0YnZu(M*q zJX^pTgJ@=_^DMMA%Miq^P~f}s6BwW6g8=Ii<;9d8QwuWO0^1 z$m)PT+XlqWI|MZHmomRK&47WRiXSZVR9{7V03TFCWaE;09KIKh0D>JkGZ*J4aWI zcVMp0=mYPT=99s2vDD6PCd#NXlR}rtv{O|P`XeEkJ=fKEMO`2Cz%LWDOvoo&-jy)T z6I}7?;m7o^=isWHV14f`vR7b>*=md+o^qu46}5$3D~=82BH-;_}_y)^nVBT zq16>zn5r3;AgcE)Y2BMe`F+U)4uk0+|H*s0?&~pZ`$ioLYkyMH?|r2DLMwnmxi0gx zU^0kVvW|JQ@FZA2Rf*ozuS|<&uA};e#bDXzL>U)Rk!dvk1u~6>Wv=v*@aSCG$kM1l zHanWjyci1Pe+8$~>5c~|etJCJ=KKYo{x%kG+;SIA<3@nKvG#Z{D;s1LVS3>f72a3I zecrKFnKwArO*wwNNB4A|0S|#2eRuOGdPRp72(SBdA)q$4)NNTwMb8@x!F_2rA?%+- z8Lo_?&XQ{MdK(jZeb!96V(D&r%?Bm43FjfRTn*}4xF2{ndK3tpxQw|uop?~lUG?_<6jf`q}4LWwmm;Zte;-6566y9_J&E(xr?Qdx{ySrGz^y|Denicg7svXL7I|pS1ro&9={yMhu0c zyxcfx*t~9L%D5Mzw{>z-rxsJHJ6QH+@w-90?Qq9SKgvn<1S!%ymCsV61xKU;XEj>1 zvjFQ^G1$HSI1DU0$5b7^PnBL6hx1K7@_Q%5^DmZ!!L`nM(%b3JnWAeKMU#WQ`06S- zk@im{s=m9KNmV!uhUdlb_V5bh_}~pAVw6O&MfaH7BO|3Q=?9s-@oF`uA50kw8N;P^ z?F^8yWjy~?KZ#d@>A)rAK7J*C57=Z)XG|M!i@qIu!u)yog?x5@D%!PWq}1bV2ijp- zfDHofG1Gg7WtrPs$X_Dkz4%6g4zDF5mucnDzfY6DJZ+pbyZZ_KxFM7uJHw9oG~P~> z&|)Y(c(aL_y+}i3j8%_Zt&4Suv#gj0wtXPm#}YsKWXdbJ9p~RPxbstp|M2Sa%MeasQN5i8PPvhW8maHp_>F*e z+lnafUtZjG(_(gp^s&Il`zEItW5=D@@k%WE$FclH0eji4N%(Z-K~`&RBAcfAM~v+z z2;!S&NroruQdGkryh^2VEidA^z^^*Ajh7qsJnbwev(qEv*O&ut6dA9!4=%PF0oPcb zq|cn6NpsnaCpWNz*rO8IUQmp-YAYkmEPo0FVQ^qw{( zgP%fj`q)Y??~xwbZ19i^?eT<(d+h1Td8y*P7bsL^(E>j;Ooo>}7QvsZ6JTiS0=Vu< zCCPMZvoSO0NJ?#{(4&*&!Jioy>3!L=IHUf}lw0%%R{CHfrJEToV@ZA^HRt>y2L(Uj zv3csKWM4ja!M;z@8TXybyZ!+_+WLiFOvS@9+C6lhu7>1Q_F>^$Q&s4v>PkqbvfMe( zy!Q4b8B!@G(@o~ZAT0JRL@@s^OBR`OrD@M^Xe_kS+=N^QY zbknJQKSxmeOY5n!ulDSJ7ZWJwNn@em6o1(Lbpl)8*Gib*;92M2!Q`%iebmlSQ`8&s znA7Gpp@o}BLOf6+-aPwCHFgJ~rri-_)a~U^K`9>2?tw6V*%@lO2unKayRL9Ld;K$!EFNhDQ^sE!6mBxHeug@EVyZuBsN5@bc)y6<8*4+5^Jj3OMhV=jU#7%`_G9Fx zjLl^0-X7sa|5=hoeK&Sbv9HA3ty7ZLo+OTOdo38$6bKDgFA)4PQ4$YWT8dR&&Qx2L zP}TRxH&p*rI9@%g`&U(=Lq=8Om*@6dAKkO_YcH)@x!`c6PQzX<%qSKYsVB&G&D&6$ zPAh#ltc(7(P!3KLyHV$f7AnsnhBDgVfppgwpt3`u^wN`;Xym`2TCgV&?mCr*27M<| zF+JPq1w#)d_oi;6ix(Bcj=*T7oGnHx{ccgiSNgcXeN(7!TRHm0Q*C@EWfD@@u8g9` znj_Ng0eNBdbx2#tmy*q8F{dI?rl1ntfp3Z{zakF zTHq+)L}`4rK&|Oc$nuUVs_2{q3R@}ekbf7fR*J{Z=KLXRLSyL&ooU>oH|uDvX+d!8 zCx%-*-T*DD?V>)#b#i@CanzHzL^?md8|^o?N6i(1XzA%7)YURTc&#gg6Y1|L_ti<% z{NExfFuf3olRu)@W5!a)p60XHX6n+1kBMpLU>hjVY zVpZl!s52lT6rTE0Uil0hcgUPu(O5*TVNA)6m<0CA?{MyX-7B`s!j^FPNL_f&T7!Kpgc?~YKZ|=eP}9q zj%wt-xW>S>Co71%dwfaP)*q6LcQVQD)k;qN)_4x;Z6Zr#8yUTsa;$2x1tHW4CyhSb zhpK*soau^bFmqW7r!&G$JZZKkRiyJ6h6}W~Lh@6B5+%w_W&a*BB-^#G6CRh(5v_Zgh2_VC*}E&pvBquPLXDh2Sdv>T$(&V2 zHqJERe2R);^{ap6limn!gv)4Rm*^FtSv-;q(2D1B?gR5ZWB*!Nn@zWsTcu&Yz2SD1 z>HIP=|JO{iC|8~RG(DKz^(sPKeA|k!xIIj0Mx_f?S4FTNFN6pWjEy6X4QH~8UW(Y8 z_alUhKAjRS*`i7`)VviY+hzzBsMS@ke)d&zz641MSEYzw$9FrFMV}FfLtO=@l1L3o|x0snjB?3RpXrI ziOd_5A6Q}K1E3BcP;!YY8Pj+LyeVV}e`c?hDE7`b^6|VI@JaS3I-}2%e=@lQyCinw zk$O@vV&Z%3>TC#yiWPX9X=C^`ew+D<3NJ?J6V5-Klu19zI>uy~brD~^k06c43hcc^ zjub4p#7qqp;lcjX;4PWMe3ndL>;u&J6FFb8Y7RsTrmx|HTAZY+1}O-Pm@EySQHBXQM4O?AQjO$Ar&X^r>Wf?$ zzDJdbFg}HDonq;ET^E7k=xKPGyBpIW+ZA;tW}?byCI0>FFQEVWA&@t?6})}D4RUqI z8A<3B&?u+HEH-=1d|g@w4y(#CT;V+3@}ix(TV~0R-WS35CBLP8KSlGEg~#cs=QX8I zwUn9WZ5Al+7GQQ7r10;QnsKAd^?U#BI8ulF4E!BEL9bQ^v&c-!;J`lAFk>w6y>lN+ zrUr-m+^ZGhS15CI$*i2G9wag!_G^Of{S>u{th?pkYWPni8amJm)H+lDD^!RviO(JxZg= z36rQRCVA++`&D{q+7Ku*RAfNYQjnjwfR5X)2~^%<>@NKeTjD}&UNR1^G%e+3>NS(i z^(+~7Hj(_Z{W^I?mm}Y<$ztK(Q<9(wABDwkXC-#x@eX=__6o<(-$JDM{vaMDClgBM z&cygUPIxeJoIvr@RpH+IjY$1*GHJDGJ-m48C6%mlo~k~f2@A&@hLKa0sg)}`$wRX+ zd^_qB+%sz`_r!J*J;L%ZSyH~66HBhah}TEpWTi~1chv#b?7(d5TBkXDye1ER6<&rL zdekV-&nny*jaB5;q8Q3qFdxNVSqhJA%7aiejr=pmm58Bysy%9VAmekL@M0?o_ZdHj z>-E)8>RETL*H$WdVYCm{Y#AYAi#t>MjE>O()5E#h5jV(}YC~LO{x<5uMQwQDUI=G+ z?Gno$KSRdcC1o>B56(qt2DSghSlD)J61qET9OtDCsM6T6aNEiv3E6R3m?S<2|6Ly@ z!tY;0rnxCp%3&AyEw!8Co8C}KiX|}Qd?FkaM{r3S3(3Kto3Q`=X?P=k3EZ$Yj9xaO zjy+OyjIAUJQ1U?u*Gt@@G*si+Z*RRR{_iB1weA?#?$5#Z8QUmqZO?5F=ptt>8%bGw zoQ<~qHyyrwcoT*h-e4&;7vk-kIh6Z@CFqy%BE0dWl6$%39^9N~jl82IM2z-h$sJz_ zXDhpZeS6>v#i>@(emi$@4?oPL%I%7{#kbU{i+<6PjD2UhUoSj`58ubYFA+Z>JKc<% z7u-p?3G=uoE9_AYh$7FsT;Tj7E|8_qj^fZSE`PV; zuGGw-hLm%d|N6K??$K-ZTVqDsD(p&dC_8z>;cL)Ld*!cVs@&h(*gMGo0RKgbnRWdJ zbVuf0#0_s{);*g8Y%b3Rkt+Mpg^#u5T6#SF>fSL-9ns{2lNaNCdF$|uR5`4_rwDKK zEkUMt=VJe7HFUX5CV3@+q?;O+qAgBaX^pa#%*)Q-l>PDdP*LwH_0r=N(&hT7EngJz zhV9naH0(Z{zAOfY`7?Zt&1A6o))0C`U8es=J;&SsmLo-Q92{D%1-0_DfI#{mS)ch1 zaht2b{c8>=TQ!>gG&8m7Z?zoLSfIzGoj5@s zc=;bX7hFVb$>O2)_Y!RRRfUfYsKd)#6!0bar|6Mbigh-+;%>SJ{T=;_Hp^-x7SGk9 ze?MG}v{R}m$J2H|;9pP2iw)4+!AsPdK{2}Qlz>YQL?Xe#>v&yeBJfF?Ojuv6!a?yN zIPAdGZarNM~jgl;P6w4B6Wtac48Os7GL}@;LlvX+GFG?kU}O z@f_8$#0wYRsJ{^PBcOC&=-rAL3&i4rX`49nCs}ZAc?5fBZzQGJrGWxvZ^_nI*C^j* z>M-*NhG{uF2-O|8Xf@gZOx=EjwlsG^Em;;QmtBa4ePhsz*d1us$;Gf)m_dc5Eg@Hy zaa{f79g=rvI3f)1CzSiJuqtm05#sY%$R1A+&N~o6q&cb+HCdJ7(eb*H?tY)@-|)7> zlgw_1$jt%=U-y^PQ2z*Q2=);9q>vdD`FpFSR`%PG<( ztM_rk8rtNeNMGXCA|B0?eJ1|bermr4PYUlTK*A)u%oJ^rJvTfn{&)+Fmw`59cPf%-Ol+gDBX-Ic^3YT7# zi#m?{!5g}=*oe+4$Rkb_#SBVuQ=gaff6+p_4kvgtX@0#AR`EV z{T<7`vZ^6gQ%dBTWygti%3Flf!nPA%w>Jq}$q53FEy`kZchBlGmfM6zZ9{^XAb*GH z3U-2P%>z}F%|}QoH_n!z5O2weG>Jp`+{+GL39VHf;w&u5>f>{=-I;Z#g29b3*4Sov z3zK?FL7LL}0y|lb!OcQhFYsyvKY!vTQR4&$=JT9s%!fz<2rifa=b90s`WvCl8uweY zm4zSt?UX>`T3g&#Fb7O!YJhPsi>1!Z)V7L0__B5)Z)SfDpI@y)2Rj_#7o|^SRzAGX zZqbx6m?m5DXKsH6@=E*ppT2jn`qama2Y5hheTkwnSLN_4)5jri<=N8nd+YfHlfP1h z6C1$kH7jX-I|sVW^(|gMDvU9aH^EPzIMDlt#)?+k`5_s#1lLDsF=xbIfZDh!ki5W| zPWv@ibdK6U>FP{COC216#{)HFdbpa;cyf+;V7HYi(@druJPVn9R(@dF_6>aB+TXO# zsLeRODhga%tj&nZ)ufxv7UB07M}le5Nx-Y^5!0|J2iGc8$>v@4aJu7N6s;QrY6tun z|3!+jJiILs#dV@a{bD@Z`VbH2cENG$NqR+W6rSl>i8hpHA^$3UzS+Q&CzorBv|ld9 zADWl(-y3Xzij47ctY-&hQkx1~9Iu1mn*;oUFNMfbP(ViKKI8ILe^Yi-jc|*ug|t|& z1vp6Y$0o!~ALG(u}7F$2hwt>`2-jQ)hJ zvDnujtdmNdz=&P(dWVM+SQArgp`gp-xY6f<<~K;lrpH zZj0$*ZgA}naoYz#D8~g0$K(}=ecGOizwb>IU%ZkgP#KOAJ}!?GG~a(Ew#~d>ouHBD zkUZ5E+d4%{XN{dgo5h-8<%T)<$NnyG(BFpNB~b*MtiOO`!2^`v)$iD_#0)QZ9Z1!s z9%fp#mx9RTohW;zxAeIvl`3#b0r7U7&}lb;h3*fr`wVsd-Zh#(+fhfqx#a+LZg$aU zW={p)kN5M{9Y2uWELXl?UI-R$(nHl%Pl1zH1iz?NjbAlc4jNe9#qMJg_`xg9xPXo4 z>Rr_NtuN;@)l3-j3;M=)sEUpfk9TR0(ue{y)**9yq$+DNH#j0|uj0=E}p z!$2YPa)AMF)RBk>F2sW2pk}H}VH9r`(t;1@Ch}cp4l@duztHF2j-ci9(xtgRee}+( z^B`2_Ak=!b5HB&hiih3T;s-mGcmsP~&|CY63|5%{&XzXN(iTVFb$uHeQeVnXc!|Ms zXED6VwGiJXuIAl--NMNa6sQARK4SkP@%+!v$MKbPXW2Y07q`tyV9ujNa5(ED(;vDW z>DcAa4L?@k;YB1$IAFvS1(t)HqZQ73*CIpNE-ZsCp8cF$Bk`eU?h2*{ znvT<6=?Cbiac=b7J*TL^oxSAroD<}~k`dg^u6Ax=upUQz_h#31(45wqD0bQvZDOR? zCkfMeo85l2QgSy>Pl(hu36ChQBi+8Td{?;&3hJ4Ju8%MPX7Y)+_2U`z>K&q&Zm$4v zWGF0g8p6-b_Tp-d)4bbJMe;{#JpFXdep=<`C2pwBpPBW(4xYU10Ha$PDR!Se&W+hc z%}S2IZ>`Rt!v9pL6gwm2(fkHfhR)$#wLc^GiyFLN_EYZdBrn>;ErGFK6w2$Tx&zPL z@i=9!2k3vj76;xaq9b%`I1l5M*kU=rwfZ~=^819g$mZz9-{rv=ww2CV(FeUZyYg0K zIe1OKAnVfRGV`n-VbQa>@N~c%P|@p5U%c4^ZVpaihLJVCm2w-r{jdnkJU14Mi=Tp* z#LF}Pc{qwDdT61cOcI}Uj9_Z!nDet@jsfEheqdE>CiHp!oO_~D3Vc+Gv7U|;jc$C4 zMtK|HZ#I|l7rT0}R`)sTu8XD|M)**?#ZHj8A{sbup8*nHo@CxCT}7S0li{fXOHQup zHuBQ7!GXyNbVI>g_#osEO8T-H89Qch-ccH0{mRvN_N6y8s2qpQj?M>`hqFPuX9yW} z)fK&{y~a8714xiR7MWPwg@uPq=q}$h@V?v%#L4dgnj<&kFFSuha7+bg$g*(U%1pM$ zi~grP%A57dsv2G=OGfQh zga;q!B1_FlbnXdjF#CcLJ?*_8&38G0_BIdtOWSH_ATLB!m!5HN<_%J{3l(uyQWi>5 zy9Nh`i%@`LG`f4;09hMH!scCt+^QwH+}f=Locow5+{AGSZ1P?W_J_j~*69{v&s`eN z{-|k}aBb(=b9OeY=Q&)puGdV+Wtdf)%xo3sU0E&mjEWJzwHcs1!bbw{(iCcgAO}`0 z@dkoZ0_zp2c^%LO8Y6>(&TWN|4!wuAf6~GM&zK+W4S-*H@ul?`gCz zy&4{!E?`&stIB+_7toKWIQTHp9~HOwBR1;{_2dvqe_VBiU1Awwk|qHuA8 z7qwafP)>F=W%Fu0abG!=lOfp9={I}H$A%nT_-+}gl9VKX*Lp+S0zn%`?tH!DLcylh30X4Qz9mSg&0z;o_uD$aU6)hVa4~`!% zJJa?;D_(x$(CY78+0or7V{0+eIaW!GC<#Q~yOW^$Xk~nrFM}P$@~E~^L%Wz>U8CL|dynM(k{S~!8%_?fX4!MNg2GHL%%q$M(KO^V!}YkI zXDUgvQw~)4!w%|1kQ!|$DJC!HTEk~vB5vx(BF^0PFeHmk!M$-)VAVZi&e%4Q{nVkz zes{~SZv3Mm;P>1Rd(F*|{Ol7+fai_s-8mDg$s~XK;kkMaH>&EY`%M;z!OkfTUHSHc zt!7;gT&TRmfX`v#qI*4=_a}qAmYK~pZTUcL+IX9?v*{-9U6=_sq>N+>a_DkaPPpg#5BpGE>){BPsx=8a0aAo_9|& z96iXob|et1=UWqln;vtk74_i$P95=Rm0RS){rT*R$|cavJ(e^3;{^|v6p}lh1;UXp ztGP}^hBE$fNRoB_1Q~lEnsVOmPSI8>^rUh7SS#ZtWY+edMA2_CNzc%SEv!EEIY5<5 zxv~?A4qSwZ0IUOCQ-bt4CRcMHS&CXiolPT~}^LU`*I)wnrvG{)sL;^S`LkrbS8lu!jC^&I-E>rkIM~}n2$y1F`N$_ku_#FB@Zlq|D>Igq7Q7+K!?y`9 zPc0wKT#MeP^o?_7K+op zn^aeo^7gs`Vh7XNO?F0!8shYjW8zEvDX~g;bhX=KrRsNQb*n!lZKKpQl(1Ljd04n* zo{YLXjkdqpO8-!P#;U&zMdwDo)~$Kljx@!wJ?XX|@7A7@W|~NS%@gJh*FX5-ZMVuN=iyaDH$y)r9_EBn%``Z(GuAut1|9A=X^fr z3Mr$I7KIW?(xM$r-}@i<;Xa(t`}Kamo=?ktz059AE>Ze0jLp5Xh?vs(gPq#?g)lFl z%-+V0q4zQ)L=U$!XWrG3Q!N)0%DN|^;?8mg#%i-2Mq7xN#-=2(^(|hLwH#WOMYDd} z6X8&lEp665mCdVH0_*h0NSS6Ky-&hhTw^ZF)+wYA+4tSy<2e!^*d9mHynZgYdKhaqRsSVu9&)81FungMzpt4FW zgT9waGex|E%z^t4nOjMb>{#1;`ixkM&`N5-FP7>OnT@e{RDA;8c_fgS*|42ZOnHt^ zD!In|O|fK+Oct>Oq0UZ`pU(K6DHd7Z>lb~0TE}Zzk#F76y|VJ{g58x(iy|x+F#Wt+ zCDpvYuV(SC1Z?8P+peuxII*{aOSa-qX>jG+)o1bo^y7F!*J(W5qa2>Ncbbce{Y4Jg zZ$r;*-%)>BB}le+cR_QQGPnElH0rnRLbU#4GEx8zptCQQvbMkkfd@4KZRUf{_N!Cx zJ_^~N-^(Z~!3KI(q&8L7IRvfeTqXqpNgQ112u{u+QCr4I@DT&(B-X(B-#?F&L;KO8 z{B-K^+C5~$(H`_I|1D>>uZ7h0X#z_({6=mngWOj1LXy#HvExT3NaQ!4sYP*_@cN}S z0>2k$;JuIE!O_GF;O~fo-2pY6t%DGGJUa@zcbw%MHs*2>Kgvn)-bird=uM<^s+O|; znhE+>g>%i$o2aT5SJ3mzAD$5Aqcrjql6h<){u$8^22FpF@mu1k+a1#cy?HxOWVZ>| z@1sX8HJCuM9?wv3x#WGlVFcK8-K35kn+`l2Q&6PgG{L&0Nz|dME2xaWPHe;S<=~y> z1Eg})1bBRTz}3+REDHMzUHlBd-Euc-RfUkFA6c=)>`rt!Jd@hQMUyM4@1cx@8g8AH z4);dB45$GEu04q1W(A}ISB)vKxc34O>-1CJBgd#(q$p5ItAKm6PXm+41dwi#2x?Ye z=aQ2sYT)D=CONs4ds!*w)V_qWjw%f0d}SNj#LwsA9&Dg|?>54;bqV8p?@UIoR+5{VNWsJyZWc!?BPET z7=d}d$Z^;XyK~)!POBKBt1`uO(f~=%1y}gbciq7{Dzosu(xt@n*^YQ&iXpx>bMHLZ198 zb~DV?;V)ExRvR)qe*`?a8bjr)?FtgF3&u;iUs?lCjY-T|AfG?4S2_efM`3bfXK zBYbY%XP;SZ00(YJ`0QG`AU^sn)GmDrKV?5ccbAJnTtp;Xv91ki1? zo+Ot^*u3S(>)^K8zJ%PCbYQTrq3Fi-i&vq{#0t9=)-T_~|4%#NxE*KPPEAqIVVjH!e-IY^M>w6O{AnJeKjEdbIO4tqZOY-g_^c zvC=@K^T$`%B1*ElDw}R)=owkLrdv%?2_1vu4-UZk@y&4WTSF?Vd?sgW78 z^%FACNN3e=yAoR!uM)~y?+B~tPvj-43WYw)VW${Q2Ga9uiRs&=$U@8WaA=z>cSg1e zSykg``@LkAsENl9Rpc?N*T>SB&l2?6O_B>fGvFS-R-vMj5|{y*VNx&N6#OK0z}MsF zu~DW3J-oOLu0NoJBeNh zXBi3CB%S>U^&~6QeembdK8Tr(fs&)LTzf++dWtE5Kcl_Ox1kF}(8r@_^{X=wTN)1Z zDxxXfJGwASV>|0!XimL*Ivvf)aslOT{Y-c8S@5p97wVQxK$k3@!{uIpxU7&ym|gx! z{P=i-Z1Ys)4)e>|ocZNsA9o3cO74~({ZOV%{t=uXZiYIx%c4<@RnT|MY;+?fog6a! z%$u@rH}Yeu;1Ko%P3f3HCGYK~pBKym6X!1kkqPU`uSgpG{_+SOxv33}E;Pbj{~;u7 zu_EV{Tn8S~o1x7xNsoO zLV>~qg2Vw*o~WSp4ZEzHzEZ=!#!@O$W;!h{-KI&1i@7Jz(KxPo*t#0Qb(<5_Y@4aNyA(CpgtW zb!59xTXv?P6Kdy}%WsZ=0OjYPbH7w9HdVkh%ZYopf<@~?j}be3M1<)2 zXTsoADjR$@5XHR<7fXq9q2^vQXmKS5eEq0}YGWF}i0KbFV?>jh@?tFTdD8J9n}=}aX0Z9h$oXzzCU#g1h`+vuize>c78J4x$iJJeE$?GjD5w$ zJV;0KGgb>6yr;vit((!ho)_fGQ&!xii59?Bc97bDwV|bNq2N>XOY}SSI2n3m9rt$Y zcd~wBExZg9x%=f+c5&pT1Ajmn_zwCzouPk3sU#Cmg?<6HY~V;Ldm<{G%}UqJ**t`*8+Pu9^#JB(<-oO$$>LnlS0-+3ah6JJHmvkFD7N^?bbeJRoGH(Tl6 zZCB{J$G#%(71}&=r3>(wkdLHUOcM0zp;hO?Eg>A6?n430>a2$M>wb z3LzH*yDVlxx9leVUb=z_E31YHDrex~n!PaA;vVrcAc@Xj`ju#l|HRJxC&@ij2N-dQ zGpP`Cm<1c;7}I%s;NAirireD`zuZ0z%@658g9jn(?^KFv;Ix zZ2%L~UC5hrT1kOC2$L{g2Cdk}a;@qPK!gJmz#5}(dfpTlv z3XNQ7^qW9Bnm_4>U2)({logB!9b@yY_+*}}Gc@n7V3sd&B*`7p%-p_{&}&DTO_GXo;6`e-j=h;fY^AIt5A3 z+YX;D`wcx*9ihFwJ$s1Nh06LjAU?gD9nmZ%2ObOIsxcN;g_)2GLaphvwWkPfPqU<3 zc$Ms*<_N|&9A(cm&LITpr^(_cZ;3}!Cc{{nP~u|uO7`8-OAH<>iC7Xlfn@G&+!|cW%&pHlcoowuGt%1aF8{V>c%alSJhPx3|yp@)Owin zH`^Gum9@-AMQherX(nx1xdb25%frt-P9Tc#B7D8+GJKVd5z*{3SE$P0P-&9kkFR@9 z5(>w4n6gRH?7aO)nBqbjv-yEBE6>hhM()2ADOM%%zH^NgmXCLeZd!y2MUR4ba~&u1 zV(;JJU3@&B_oR4+P}nm=c=+RWUfWK2{?3PKyoGKh@b77q(gpme1n}o@5vcW6;eIMJp!k5c^AlGXHjZho5W9rS=1559?Cc& zm@;m8N5^vT#ukSe>+k(s5zHzY%Y$b+!>zFB`#FY)qxHhW=3JL+^uw zvI&&*nnY?|RW8*&`2gjsd6Av#nh%w*K`wifwqSbE2JXR+X0qjFG92SHDZArd;8cJE zMKnD@A>X4xYuOMrF7dbzrn?ePod(4BuW3`sM`Ww6_C5l;HxB{1FYBqTAGUHUj!WFg z(iGL*e|_F}>rjhh$@SLS_f}!k>$VV6(wC8QO(v6#%U2R||9Qh*lNJ&edr0tXjy^Jp z6{5QyH$g{+DK+-#8+qwL2C8jP!`hVMkmA)%s7gK+PMd2*1cj=RKMr0agu6>w+Y|&J z+5@QFR>F)-dM7IXYL4w|lEaV6Y{R(orPdGAr_sxz(nQCsrt>~&f9D(M;n>DQ#{2_? zgS-(71HN8IF>&_sR^nfeAzQ!p9NnGqj3{$bW=ag_kzZ*`ST<1wpK$pCcIib3oqDgF z&HDR{wRV|FG{f7eo-g(s~Ztj_44c~T7fJ&+DZSMXohY0S3n;M9mWzxz4%zwdNwG%SVS^) z#3Rj2cwj;*<9^A5ty42#A8ylw!!?~)pv3*Ss@;SAvoIO!pVW?xydGxmZ%80iKjpAL zb1pH?=V!8kHt9t0ppYm?tRa-zGTFLw1I&)F4_KE)FiUPJV0+wh*kx{Q#NH28*oclg zd-y*m$c)u9dkRlV7(-UV*ZTIj@%talbkB|axFfejE8ZFK{$xL-2fkdvmzB&XrUu+% z$4`$k3Olt}j}vS0tfQx~@LB2Xqn$$5xOFOf&mJ(o_5o~z!c|smah$Q$dM4a16^~n6 zv=VZ83yFiBvg8lnhqT%6$9UrI5vJ8%9yclaiMOtaX8snR$2>ZPtn@@__Uqw1CP+Gr zu-e7P$Lbcd30os@1+7{pz;r4hmtu}b^UCOT5jw0Oba;;HaK6dKmY3!*$mH6uAyRm? z&s%g!;D{BtspAv+Et#+Dr!&1lDzxlE3#|XFG0tjK^VN^s;=dj;#=*O%SmQb${91F1 zFi(|WUfYh*{l%wfXUz??cGogdi=Ct+b@ zw0#}cmyH~FYtKbkADn-_vX&>VFtO>Yv|AxBG`T!bnNUBu^0rea_;uwUC+++dkvmD$ zT5Q1mS~y6Z%UK7fiun{W=>wH!J6Rjohh$Fv1%Xdf4;7=fg}Rkjz}hWtp{%@Ysfn#; zIn9R@(6Lux=Vv@cpM(+ccZ)SzuM>hyQe?pmcNOx6Tsqk{ON091{08Z?y(8>$T~Jee zGzy4tCQk}l07_5&#=m3=04Lp^f5K&?9Xhx{%-iM#C8No-cr1S>oI zxpq5>P>VfHE|!`vaTw~6W+piV^zx=`UP=o>64F51%?FgPw+2|_lgJUb&jYmj7&mE~ zEA{J{Jo$jh18e{B1e~!Ql_|X*gi3M&xwvHNeq$iD7_AXoXXb&x(m_Jx@||p*G?9o% zoXWZEDFX?20)b(B3CW#VMTC6np$Z)^;2oVrR^Q`MW~Z+L+56{7Wzm1si+~IeVZDl4 zIFdy5JlCR3FaUn#WU*`s!TvK)=FZr)fWEhuVy|8?X=OZz9DVM_8O(|xUoFr@*DQWg zvwFI@{Z$GmK<5uA$xjn&UpoLItB+B3XVlr_M&{IZ?K|T45w_IiY9;X`b6fCXJtTSC zdq|a)x<>D3+%qk1NweHqr^fHAi^Mh7oh6DcNnD2#R8UNe7;jMd!K8)nfej5A(Bwx9 z8=N74$sA2u2Pp%&j74Z@i!AbR+fNQkT-;&uOUXcQeR9+FWWqJR5T7>N9QUg$uohM? zp|>1q74-xU3pePXa|3VVo{NbG%qk>d;c7@I?%+3|hP82JTBnEHdAtecIH z-K=*F&xwA*G%cX9M@t|!w&yuM-}(e?z7@lF*eHu4y=h$eOcWEYGRE|oY7oG05Z`0V z&{G^Z+WlAwwp+D<-QYcw{a*E)IqbZY?f$%r7MV5d`H)LYlu9TooVbFK z=3MY&|1}7|X=t)t4VA=_AVYGG@dBd!%zOG|Ydn^(j?sggIZW%j1v{=#kGt<2;(z*S zNVm89!{B2C)2gFLq{8h?XNeWeJE%?8N!TDfM-JDPYsL4i{Di4Ii)IZkU0{Cpjx*<^ zPvX_9rn2TwA4@W6MbflpF1zIOMs`9<5hE>-^d#I;*ysbZ*g=b}MAQrw!YYms?#!-W zcwf}vDQU?Y*MP?7y7!4%RD}4{r#F}xy%`J{bD!C(l!+ZO?V+QyPh#0ClNfkP1)6nQ zu%3%AvCnIzS?*>xU!jR$e4hViFUGB9ZPH%imBwzY$J%&yY>pa6_?d`&9qjoQ-gX2u zFDGWIcN0;~28@<_IDYXR!drdU;9+Uu>_P1t^j>y7lP+*&Isna@<;l$MP9f zz9szZSWEOa|6*i{^Y9nDMA$Y*KYm=JE!!MyI;T-l%S2F)n}@yHU-5jmtf+ON3cXL? zM|5LwkREP}V=@{d_yg5rSZY=ze(q&BzWCaD+|d0Lp3b;qD<$+~%$X^RulV>ezc%4!~fvieS*-f~_P*HgFvth;HNPC5C zMt5b`4!_E{S%)kRt1YuOooQp;`Y+qkakrUO_=203b?uiazcWdK{SCLl;MhNkGuTNj zZ@bO$m#A?&w2uh_CZ>Xt-7UnT`3aQblX&vsIRz@zC0LRbc92pb+qkC^-lNJJWAKc8 z0KTf9B_}XC)XrL2s?P8!HDlO-(mJNVl_~Op$}xFzqY2BI<`+@Db0HuXNDH>5z6QoI zdvVYIE>m+qWl^V%cmlula-i%MK^dR>OL-O@rWU<(#RLh(AUDoiY{Q==*515aoTRG^ zN*;NGkvCD4oOv&lRk}fyvv0Tyej9;Io=+ntM=Q4SU^D-uV1A7TFUl4TnJ1i3lD1&%+>ZhH)VA{xW?lLx$x~)0{etR7Q#~O{e0vA&OrCA89 z7uXX|uGmm^&#zLdw{0nRvsYkc(n;{==Vb1m?ie*Cq!Y+_e*`sJ3&_BY($sSMZ{Vpy z1eK8H4y*^3Ber5XSWwQA>Rwr#b$t>gd#eK+K37fcnXFEw87Kfnjh9q$)oH5e1wno6 zn?~i$h@;NzsiUG?E>LRMP7zaQo&q~$&BeRVU*+_BfY_{ZfE@hg1T1H$QF(elnCC@{ zDW%0G;)KmzV86dK7mcS=in1Mm^Dht!j{E{^+!Dne2RCy|vz0-Vsw9@K`b3;xHj1={ z4XNFhdy1)j8rK?K%qkkUP3Ir*ufTVmZzV2UYLi<~K3SLv$aiNd)pSuRhL701 zWL{>;v-P8ev?u-(D>%IY)4%zUXRP!`WOFE+elUzgZ+`oV?tE2Y9%Oki?O#S{-??sB z)E_-OVk4hid~XK1w_c2{KTxDTKP1T$BYz3+m=RW_TnZK+kwe^Jf96PCG&z1JkKAkD z4V{`D*zJ>a$#VM<_-nqpAhfCvM!r`h_gz+FEcz$2`F zfxPo2hPbiy5LdR%3|jAQ=C~e--=4%aA5JEjYrjcwGy$m& ztC8*fmsxeuOL*|wUh?r|1#nELKpfIZWi&ga!7MXbF#YjyBK9o>pR>=2eRdh-l&OW( zoyqseflV4j$utXmxw#)r6JZs}D3XJV1y1eImud zQu3B~4a1vn674lfq$ZP2`1(bG*j9HqzwAD#^hN>Xey+lo9Jz>cO zzM2fyEB+z2UD5|9`v9N1rk#+gEhME5Eg=;;OxXVn&Jx}!XUX4ci^#c!B<#0yha$Pf@bzqUI3_#F z+Mk*YFNKw|AFhNlH?_m*H>45cvULLUZo($o&UqDGHS4da=ht&#IISogAGj@Swht0z zr92nT)h(&~XoFX7NlL1aneo9&mbh$v^5`S0jot!M;A2F6l(<`UQ?lXBUQ_BZ{|6Fk zjT6W9Z?Hd7*D)10(g>%bH|!x3BN$`Pf$fiH0jvC5OwXedn4(@qlKn3w{&+|(e8pnV za_zwUV@|C5uXy-jejQj+{T06M^Cn8JsS+**a_oYkjqr-HK9sND0OZU^iCc|!>_Kxq zKn`AqmtHy{sk6>-Fm{}n|6e3HORoa8;)Tq()=_rG{8;#P{}1TsHy5m1m_&@mRFEHi z3jvw00MZ}+Aj3;tVaNd^h;{&?MATBGne7(6L)?ACl>KTnsUbQa_wzccb=4eJT3Qk2*g6(mt{Sq^%- zCofXzhGEbBLX*r7q){? zMsE+X;j$&ZLpqv#m(>bYNC(!^eG=F)UPpGumojtrKO>i{8-h+Z@58^E@-VaIKXRe+ zWN>kcEm%{#j#)|UV;^^ZWz(!CfsfsG;Ja-YVR$u_TrLv;ZiKXvZyuau>%O*-6EzVl zcWD#Cwr0YzZLWCqjoakSz;vrMyh$=~^G>DL87330$|5VjTcGQ;~ zm(2e=6Sdhp_p8~oE#B;<>SnF-lmxVia#*0pvJP~cW^H4N-MZZw<@i(FUs++>k z$4`<+--L_pLzSqbIZ~8d3*?p_iW1*zx0CD?T?D~p%IJdnVYDK?kvg@_krL0G$BD`} zQ;McP(N2#|)XAP`fv)TwZf#aQ*lpZH_>QJhjVo{psZBzDhn9*vPaFc*V%LK1WzlHG zSOIKE&joTD<*9rFLJ+Z^fjJf*$@I5dxm3G&G%?3jFl(i;__rTT{rvusnpgjXvR{1- z|9$2tXJcw7t{PY*?l`bYe5uI{Obh))Dh5ez%ggMM;u(_qe5RA5p4I|E?FFjhpEla` z=sozk-&y=|<~(ZXlR*4!-Vg5KfECsLlH`n)g@i-!Idp#g5U6Ti2P~%u#FaY}P+0*5 z?i9<2$FwZP{L@C9wbL;{=&WmSiL(njdcK;fntq#ldN32HHW~s$Gf#A-I+d~xnJqXg z{Q(5;Wk~OzlKolG3hKYFOR2vX;($S!taz%yJ@7}*A6(7Yg3d}@wd50DYF^9;XdYA% z{0ojC`!aI?o`G=zYfe&6c6L+i8(X-T8->)$B~PfS(aR{eJ-WoE+!T}>rz*A&%itUz zc#7X2ngJd;pFtjCdGJ}nRlBTd1u`etiv1Q_Qg5qO1irh!Q!{GnLC4Em;!j&wQgn%} zSotf<9Wm)7jc#24C!FVV0q6D5x=w4V!X~&R4QZDxe(h9gJ!vjq)L=qH$E+mzxHYyr zEs~ijswGi&zp873-SpO)G^3vN&_|t=^;^jf$_H>Z?=;Dkv zzFp5{MXnU8km+7S&ACxPn}1f+)Uut;3QnJqUHtB(V6v0@MiyV%5DkF_S< z#MVetmE?3gGf?E}WZ+$TlHIg?7n}>MD8iD@MT!&A>cBiSGpZ3?c=eBb5wKVsWoFN< z8uX$5D&6Khit5q9t=Hkk+XILjtY(gtLsacJgsx8fNeK(CLyILh;fhTRvCLyN@Rk8g z;Pq;B`;-@mn)j0ZdG`+YW8yYy@A7YOc#Svr;$beTG1BHtwvBV|tgDc@R}R>8Jem#u z&k$IaPGA@7Y(hopnq=lSa=3k8DTEs(aaL9G^wS-Y3gRKdX$ zc&UyPRq*=!;SCfM zR?M12II(}4?xC}O)oeqo9QCJEADG_Hhl;u<;O@X-n7nl=YR_v&Wm9DZJ;Vvvb0(jQ z5}1p<-ZsH`uQ;+qX`D2d)e$G>O%eoN=D<}?Wi&3`4*s}#0LAmA=+UDwBi*efW-9lk ztRDKR@g!m#e(?I)w2Hx5=1As5sQ>&q`(JrCS>bwy{Yy%|jo!6{!a+Nd9gimWdzykM z*BiK9I|F|y+puK|-Qle;DdZ@V4RZ=2*)6wLwCFEsPSPOVa-UwOIF zo9De0b!9t?$~|L*jnWFdXt_xIj*U5?fcp?xN_E6=a4{YcGa#DxtwQM2uPvB&!OG@8 zo;p%A@dcxYlYzfx2zU7E9;z%(mV3j?;gsQ5qVdNm>dk*jg0+QTIKA7S$=53T01TP| zv@hNUcA^2UGFQ;=D~1Cv$PJAooEkZggxrd%X1~HP?SJ zr}zFB_h*iU_#{sc2tOd0`qmE}d{qYg?yMAOZMaSrXdFSe$L=CS4H>E$>tW5pb;Qp- z_8^rR?t%v)FVVk*A7s~NH!9LHWM_#?7n z?R&q$2>FCcBxi6BPy0i?5u8%x%L#n?lDWX`(jZa5;5vSBr1|SV)bR(^)W72EaA&mx zxeqLbdjD)FQ<-=WoM0pHz9fsLX0IeOwx5RuHIZ<&la|0gqyzjuS4OGlX>-I97xI-~ zB4xP3n;I`1mE7X1i?e!{lbj(-ZQd4*+=FPI{L*t&pJoe(%f8{98Vb1HG*ysVDGjfe zyQ14`W{_67t0}YQILdI~XWHFUo zI*AlMQ3K73vVnAhLJ6t)^cwHn`bx*jdXe9`M85s0pH^wNH1?B zT_>A@=h}BcNaqJYh&9k!JzKObH<3*+y2=hZIHUVJKBHUDC3#<00DAVHn9afLiJ(Mz zGT}omao4#YOWT}T;e4%xZ#jP=Cab8ARq_t=CokT|H@q#4jqJR_FAcKeZ$0J8UlZZO z`{k=6^3F~Y4X$4!aw1P-GY_dUt;(0_+Qp-^9A3)PZWzF(4?e2RANz|E{mRmaQf_* zv!X4ZmhpEUlM*?F4U}gUpTXC?T*MTb9~aF}$e=YXXVQ7U46vibLHdF6efpLAOFG)H zncfkfh`k9sP6ztNVcVyf2(PNC(S@FG`HP3N@rK=z{DG|ON|#BpSlvlQx+8PD&}(ur zeX8gT)-8!T>_QY7@8lXL{DQvd_o-6+dGZ@!nuZNyR^)~Ic#MeBzL0dS+a&zU%W2pG z3F2$&io+uLxYc}zmo+LVwu%17&@D<-B+?r0w zD#tB(jVJAf&RvwIWB~c9BALBd@zGh&OZXU*XYODdBv<=W_iqJ>l!h0pXn6cEVlOD=Ma) zs3=D>Hk3cVJJqUuMWI#T=TIxtxTlsG8<2&?Cu2*$S?X55bzQAyD@R&2U97b%b#k}- zd7<0lTTC$udMGUp+`XK7u`~cm^G1>Lwu=JSA6L+yu_fY7qB}@N;@fQwB)R4v=ef$c zx492Zmr#gH8>`xS6YAz8)H^eXdg)h9{yW;le*PAL+CJr@&ia{9G^)?3ekG`y!bkA8 z^G>*MES$*qf!zAcDV)OcLT;wQR_^1d68r6K25L*Xh~k$V0oEzs$>*0-IN|;?K9gdK zoW+HIBhb0^tI7UW7trMSf)k@DRCfD8T=s=66Y;G;fjN;y)H}wFP_8BAFJ(ROvTz{1{ES&$&Q3 zEKEWp^)u0fMa5)kFOFQLx1fR3HC*TDB1-EiAIPk7K?;W}xQrdTDD6!il~Owe#2O}W z+iy5hjWc3^@APD!LP&+6c%G`4$-+B9h`3^cD|8hL}?C%TG zmUSfC9ioZOfF;C|@d<22^kMe!LrHh9VH>UVRD{h=FBd+Qtcl+_yNRm)MhRyu%oJJW zd-GyuHe=Z+4d3>o8*};8%Kz!s&0BUqLFlwL57Yfp$}i;4=K129%w290w&MZBC;6&~ z${sZ_Iw8+#y&tRio)bESymi*hi4h@P+qjY5*iy$kt9J^UA9WO~%vPr#xK{H&&Wq-) z-QSG8bDkr5``=_*X_X=0S3a6AF1#SBTG}BTT~~o;C-E8b*><|d#tD1i8%rPKFTo5X z|3hjI#L?N=s~AbGgRZ{bMIZFKK_3xWVl72Ch0(K&Xxod1_&u*Q{J$mc*j@}1T?nN3 z=MDtX4{u2GKY8d2mDcaXw-h)DOQKbozO$yR`d7XvQ51*ItUF8_FFni{v`6EA9xvw2 z{;tkMWvSwk)mqrPdR=DG4{2yr=)AG-DI@oxpB9Y!y}ZWbxH!l{19nD%w*2GYD%jT;W4=YdGk?rq z5x?>Ch47x`6H(IyJ#5pcEAy~zP&m-xi8Ve^r|WXAG5u53@kX^;`pT3xYxDf|JlDyd z{FPUm>A(e2bEFP(^H%RxHV=4z@!A?o*Gfg%3BrU5dERdC5Ya}ZMYPh(D?;_|EdHmO zL4N-mb?jAz3RbM(!4J98!h8KhkM6bpA(9=*=b5H@@E3F}6J9m^B8)m`B=kF}A%y8u zL?eH*g|w4F<#|P!3Y2}eqKay+a6R_g^2Cj0R!2;OEc=FUSj>vIv+OZBU=_0GlNI@& zg7qJ8+UkQ_uw>>}uu^re0=?hPil4MZz*X5=4zWMn=%)_6#(7L=6^X{{%Hl0?`6#V=8~jQKb1W2icL2iQO%^ut{N< z`WW^a$jnoqJVx^<-v?_sz2(~|2Z4-0cSL~_q#JQ|p7$uHn~N#*Z92+dodcyWE+ z^a#QGgO|y*j_0X3rDpDD1_0OAp5QW5+le3*XJSTW92J~#yznX7e`Tq5pQTUkbWG8t zk?`I%6`aVD>=qh+;UT9Y;l247iW*Nq6LmP~vsVe#1o(!2V zHMfqFRTmyJvn?qI)S_A6Yt=BMKN&Ts?*k( zH@TI)`5tikT2kCEula&YKPpi%5sBW&KSMX-b7AEAv$WPOU!)_M!zU&mrQFs zaKf!xxJ~Un?6`Oqo>P$JT2l()&JR^&bnX^##DA)Iy;(DyoTJF?KQzuxU-Ofzd*4X) zxrUNY78A&Rp%CBsNuJ#LV+GnX@dQNgcFYD%}D8KD!wjy&6Lk=X4R_m;&jW2~eWH3)Ns92T$f&0kud==F$5onl26?ol*6!DJAE9+$#K;rfjpJw1t>nPy0=7M@~tL#7aBq$2TWXae!&(;)tSPXco_ri<|o*uq>9 zJrP~|Imo;CsG@TGR{?KPZ3n+@=|{eHyA*bO)#1v`ujkTHrtLycX*m)4lE(`%oWYZw zA}4IxEWr1!dBIql-l8+AO6ZMcukeu?M0Yz)#>c+MFbe&Z^sxO>{_IH^wCjr=`jU?{ zp*2yB2vH_Q4)jZUqc={RkwnSy;2B{R1h@@N+wQ|3X1G_(8bT*jpB z7S@}VF0_7jnLfDhv*=c=gdrOrj?WysDN?<&3g7Zpz@wY?VyWkB@ytoj_`Qj%MK-Nc zSY#u^_|RWPJJDnM*Ro?)^CmPgCAd3YgX_?GDQ38VTn=AkYAjkfsf0e^RY3RDtFt$w zj?oPpF4OjJX}o{-a_mIeIb87KEWM>5gRfBR!+*4EJ)KM6qDQ}d#Dx(8+@GYMevS@Y z)FKk9-oaPbJi!K|^F{Gil9JEa>B5%k9{wubVo}ihO8#inX^ECEmY-w)j=nT9SNO@` zIrb^TiS}(*W&UpR6aCufME5Qap-pF~V|!9{FmK&3nw+jU`_N5fycIk&{T4Q_46Bc< zIN~8^)$?R>rG1BFUR3=cS~7$SHKcFxe5C&J%qmX{WB#iXJq=LCoE&Fi=UaP)g1l&+ z4Vb_)o~{@D<>OS>y~s|)pf1LKg_uZ%}yL- zqc98TH3W#9%u=%7aVD!HT@IHlxPVW)(nw4QF@xVjY@tWzO;}q~fX_O!lq~2?hK>0@ zm=iL$h_Z@!qGIJRZ#ou_kIY-b-jz58Umy2p{Vb9Q%Haj$APeYwmW#Pk;zCzFVFrlpp>G+S=*~01S==Xw6OisW~vMK*0>(x39 zdSjpQq_s+5?ztzdibVshQGcyfj5YI2j` zOqgtLgs*Gr#HVvwuqJ&5{0Rcdg~hjsWW#tGO3#4#ab9ehpE7IIT|kWX%%V?w;g~|X zC)=3Oi|_i>McDL4VmBuGFm}PR#2lkp{QAdb@Qg+dYnqh;1xpjz)`11g$*us_;om0c zS<=E9Wh;>Vn~h=B+i3X0eu2p9Whd|GPXpp{`vl_fyV>N0MVCmMSsxixZ%v%vEGFV* zrx3e?wqQ5vwpHG9aK-vx{K3P<>Y&TZXhwBd33B=CaPc)WB)S1e(;kfd7OsW)rBTlhMtt zg#WG64PPc>vjv2%;A(vkZ@nd4uon5U&tlD&L1b8yNAI=?^$dp^^g zKevG8XWMP!e^l?`ZLIoH5&NQ5xRq|K47>8iD%Vx(`rk?| zE9xR^89Ie4zu6d2k>+!VoU+;$Y?AOnKE-6!_TtV2ry~-*-_D5c|$v_+@i@avx#8FWX<1TZJ*e|~lMotPK<&E^n zKlSn`ws0xCWh?;?|Cde%9$SN?lm-}?)VI**b0^XDJr)MJW|KQE<-zWR2O@t_99c1~ z6^be@pj9o(ghkVCeCPXPKy+&fxp74oxqo{T*dHVV3ywD7wuQsQci$`~ZR%1|W9?-& zaIZW}ozqC-v-;4D?(M9&y&g;Tn+Eq{GMx8=G&1S;47O&uh}~WPnYq@v2oIk43@<$W zp2%aP&=)5{B1l~inKyaF8r)9OYwI8jm5q`60FR7z&?4L~-G%R`#lp0xt7L<%0{MDn zIdKR%qB!({L1Qs&(KHQ`zjg-`NT;!JtE1qupm#)Ro)4e?Qv(gmt=TA02SqAO#Hb6yUJNYhs~r66>wcFi&)rlg5!Q#Of~(*r%1VfoN?I;`1RpjTw9KUd_G{uC=r`zv5B&W?NU!@!ocFI~hC&X(@qbFJ?Gldg+-E?BwwsV!ZA#ec z1NE%Di7O!|rA=rUmf%c{JFd!qLvN1wNuL~|=+ll3{Kvc~zV$UeZy;aHt0Lrh!76ik zbM8v!ub;7%3%mP-<4zyTS(j;|OTii<(gO;E%Zw`D56__HKS&Yiuc1k$9zE{(PiN{t zc%s-LS`RvA+lU<>PN&3C%SbhqHG**VoS+~!ic2~j$+?%clU)&a(3hCQHeRNBoa-)6 zw9+)3+^68oZ7nFER_pA}vcus}`TD!QfpI-~~ma9>-m5l^A{?C(agPsnp__(LRk z$Swhs!yi$u%QsL`kLr=bHG6T~n&YV23lq;Q_2*#K4isjp3;r%55j{~%rM-VF4&dFQ z-o?+6lyxK??G-NoJ}H4ZljSD&z!29EP@-V zli{+!iFTYrIjW4OB@2C0(Z1`kM40Y)uEeMS_3E^9of-v5qP&ul-CfL0a#W*knOo7- z2ads6t15xXCw1z*r3PwwHjexltccRWPg7qE)sg$-FQ6-Q3!QL$1*apMj0S#raCes* zac|dJQ-y`6k+owtca1lm9z9&f;n8NC06atCJ3Fb+Q55Kek5g7<6EJ~9^$fbj>mSoyj_YLygLQ4#sdnw`b zYt+j$0IhcV)925YQLdkKIcv8xG*5mVXZUUhx#3bAEa4~6hFW{*bvqyuew)R`dYXbO zKW`B~EVgrUFA6wy;XGRDtp{~3cLMsLXu&DjZ=kp8Z9rs!H8t&@9MFka0qu_!q1i!i z$X8DQCA{oFDeDTQObbB#(yk`=%aw6&g!)J>kmE3VHhN-n2!x;|T;p+H?piZTb%K4= zyEqN*g)EP2?aZLc(MI<1N=Q8gP|Q+OWN~8 zsM!hGWXSg;?D_@!fb$7E!gBLOuv~XFT>e4@-cc_H@vwp|?sgTJj625Oa6Zdg)J$ck z|B_?g4>=1?o36I~vP?~UJ6}O`t*D8&xJy-J@Fz(WSo217=!P;svZg|`={(E-B9p{- z>}j+0T4TVST2qTw5_Obe&s6UI5Fgd-@TXDsD3YHun-2RDh4Ld?K#O}l0z=C<&4=%} zYNvB(hodf3j(4NB^M2DI8JVPP?o%L~S;nqeaTlRY7w}%LoYP6H;?^09Us;6PX1m*n$6E|qfe{6H;HDY6sVJVSq4 z7=oQMoAYX%Pxarb;)W#3WU*u-l8v^Yd_L+Rm$zQ*29>42{h1*WK6uRGS>7bGM-`>C z{y^{V<21i2o_hjTQc5xe{2XP^WiHd?IQBP;mTuEhij(MM@eC?& ziyn%(e3rew#twb5wWAW>rK8B^uSjV0fi0G4B5pQ*h9}tqShunWb&vGGk@=};@4OXU zow*OWyz&_O)JY-NHw5{^(DiOK9jiyTdoBaj%RM!@szbEiBUk!UNgB*Wx26 z-P{fTi#LJ~hb$=%Dd*s7-5^|-7l?P=o<$!1s|2jal8KH7li4mj5}5h~;K$w(AfUyO zm>qF|xIkAh$IqMra`rg&tB^}(^;{(1}^AKTp z@Cd$q=33UoD}cQeYsfg+Vj`1On#9`Udmu^&pw4p?G#IFmT00_1&9}-#@U}b9Tj?$U zO}0dLO9Rk)uMF1&TmlEwYKV%vIk;fE8vJ%|Jkf$>5={k3#74zdfz_T$Vl-AAJUS)> zLZ5ZOVSlckXdTE7(W8; z5Khv2ZP1$p!tcHV5mGMr&ORI5`$jY{iE)JAb$5av-Hk+G;2ZGBUlF>e%_GJoXE5eT zL-?c3KZ#?l@#IXqEV6fJ7OR;QLoAGPC))S_!~s$St$v|I@6?H`A5#sI8}s1g1^d{$ zRdR$eKEN)D{0A4_2qjG>t_PK;1DJ{LKH+byClX&zYz69D9L*jCnV1I;Yo6<#|3~;y zBS%d0&NCZ4-wM9(PGbD`$%2x-;n*L68g7g3V9P%N{IJeFT(?*gPnu~izH*_L-R3-1 z6!u|1zCPs|_Gq$~_>cVqCi8e5GueP+{HCh2I!2L9#@BhG<|vNW6Q>~hGRQREjOyiK zWDc)?qpa}b6{ALZ_PlWC@D*Oz_(S}gWjXwG-48sE<8{2E=pf#}ennFI{YF^cM8G-w zj}TGFpKLOAhUv%#&nPm1I}Rn{Qzn*TmQJtOrc*b8QSfCJZn{R!A9TmlREOC@YdP|2 z)h5DuZXBum!h_)*no6$y`iSLkqk!7>Q^4q!4#21I@NuOV@TrD>h*qsvU`*jWd#rGt z)cY3C{OirecC;NJ^nDeets}yV(wadS-vC%|lZT!II1y!)F7DP%1ThISS*@JIBfdDBK&qsDAyrE}M`Q9cU(Xg6cW=~Lj$ zWfP{7HN@L5M}eioTEH><7FLjRk^JH*!rqT_00xXUj46#LvQvY|aApP*6{$~d_#oxi zl}Oz|N36iWPJ57BgyWjI7x8)j^hw44zJbv*KUq(=F?_@h$1OTdaqBfWQL*+tNRTrJ zpeF}>eD|HzHctirt=&l2$JL42tQLVSBaZmu^$8@qT|>(D-o`9+Ya)~%DS*2D1_b}A z9>I0y5O1Ojan~yoVdw*Q@ZZE@w)cWLu}|STb37s!*3G|2@U;%Jvy`3@!i|dfm>fnJ zm+1kEkyP`VKl&D((Pq{?3%)kkDCdbhzDvXl1{1}lDfwb|zunC5(tCoDfpSde^>aan z%4AkyNf@iVb{n=eXd>>?+AQ$7osS>nZN*o7U(Z~h9Dto?NO}+L zp`yLN3q?JzLqvzO+o-&t2s)*6KsrO-%{|$(pSu3uo_gY{Pic>|uptM^(3Da+GDnT2 zMt!Z(l-Vcf4c7KB^mh(9X?_=UYdiz%wW7(UgZ<>>7$w|bNJve%XA36Ixd8VRlo1P8 z^$~|ORq(%iRj3n_lTkxDfu3CKgkJA^DW~1ul(W|xvN+uVy?Z)|zF1zxg+{AD`|UU3 zRjV@6T9Qb;#DnmuCcTvB!d$X}eTd4I#?tO3n}J@#3o=x7C3R25miqczk?edsj=S4g zNV){@=*psd)cTa)SkwC*oQZ-EXnnAv$2KGC%W58#U1>|B?%U8NCmDJKO$O5^Nng)P zK|j0m$OM-TP%2*uWyam55+~KbAj4*)^%x^rmuf=2aUNCwX&e0{ESD~>qmfA7n|z;t z7k8Kz$!QXmXhK~+d1CMi^TE1`GX9nh!{(P#@gsWNjL1;ZXW%s0aa)nvJ-3DGRZ-;Z zAN9ade+AOJFN^w{s7NiUT0+gN3#6_AU1Fm_Hfhs31>Jxz5T%q#5%<*Dxf&O!;^a7T z&jRWHvHKbHzK&7weWE-0ZY7RwmZY*y^(vf4%^vvjK{8pRm_r?$VaTcNo=hHD`WtOe z5)m%<{i%mW)ufYHn|j~DO7{P*pzo0Z4Gh_tQ5|vC2ljKeX?L9YypbPb!8||g zs=G76^IAqUM;{}Gm1ki;hLi}-vJw>PrNiH2@Blw+RoJV+GNOm#|tE$JR&N zu(n1tz6qN^yh}aF}mV)xOw1l(Z(P@;-5z|xV-xtEBO5q97wbQ?}C7!V%85PcR~hR?%^OF zzL!d9n~pYG{yPmCRMrB=Cl-y<{C!x}@^9?>mzl&Q))3sUIL#a^oh3edtOwVrEoC>i z-yv@DBbX7FOHBS)8X-4Z+W(7M!4z)MWdDsb$M)zsgJJ z?)?lAU3KRz$y7Vhk#~lG_IU+6E>fGeIO|K_J;IX87OL=Po++pB=PdF&Je?aDZ_YK= zQs8mIcJib=2gCb4=-}R7NNvi4--uzT@%|#z`d|$eLUQeHvf-3aZxIt%V^7yNM^Rrx zo*zD`I?k{E>jn0fm(k^5&7`9A9!^fCPi^^diH*4LBR zgQR&v_D#?}^p736Im}j8zhOsjondUWdIgtCFA755go#?2 z#nSJfA{MbXQ}FEaFyCcf4li$x3_tpzE&pzK0PmCkV%z2eTRGjLPu!*VUUvJlL+LFy z<0QG$3+#F-_3S?MC)$Mt@1XbRhoIB7Nwi4m5VzC9w<+JDpWFL70lCJO&|I`{lcw5F zTK}ywI;>eqtkaq%d2F9a-RAPBF!yMojmXyL3Z=W`pjXK?i^j!_R=X48fBiFSo)y>{~A1L$G~OR2kmr~TdZ z>=rv!qZ86!(DH6~TKC&>bPo&Qe4H7Uqws0#F!@csme%}_9fc21-nSv zmdJ6<>4r2<#u44(u2Wn7JVdSTC6c()Eu5{sJ4I;+!(l32a&dv7q*v;sz?;X219x_D zRzc(G_=jid2l-~ytS#mA{f@6>s?!Rvdcs~w=Jd<-QO6KkaYTdT-B6{kSA9gxnaf<2 z(Q$f{%@sQBLKHqX={4Q?fT6!HPNAO1o06Y2ZX>zdHS_}ArIK81i{!`vMJf#Gai^M- zr~uC^sAroqb?;ZUBjG1BtN3I`d@J-$L#W!>D$@F849=8^+evYsyb5*g+NpG+-+Qrzf z8Y2wzx4^1jR|rI{kx=H?KQc|`DDnDB2-xyzH+9$JESa#N82)ZRP`OH;yzrI8)(qc+ z9}6h7fICb{4k^LAFJi&8^<{8^!x=D?7%BB%dJ|qlh?)055r%Es0ITRc@^`Qab+Ymt z@igC&J?HcVpC4dAaxbb-lkIHW)_50sa8{ELCmm-E&s`!9$)=zsl_zoR$|=y{Dg<>E zT4-BUBe^R5xWMhjJ-GAEEI8jbk&Kq8fyb>yzEk!=_EV3? zB6m0LBrK~Pz|N(~ROYuWWRck$h-+mKlWlZJo46sY_R}jU>~u!@tqs)n!&g9;u`~;l z`VdZh&on?Rkfdx*`N$C>4$YSK<&AY5UZP5#${QTmVf5FhmpV?B-r#F2z=Y<+4I zBDQ7WYkKm~+*fKOKK4A4-dkIrn)BY$wtSkB6S@I}pJ zI5RGWBrbcf13#+4`mGbmgEE_`o|*z;qDvJK+I);$zUu;Jxs9S8Pt5~?J@c8=tsHsk zd=oJoID`ymJtM8RJOXM`@6^sC=ZTwRKlr&^H>nh5HNBZxYH?&u-#LfHW+Jn(lMLUn znC0$I!A%1{F%geDL6H1U9OFY%hH*w=I^Yn zo*ZcPU&Q+TflPVsF~;>C64S#I#Ms{Dg789jLFj#R-pi5jM$%S`_uKePPWu zgWGG3imtyE;#mpH*;RK)eBG( zO_`^$5qNI%ZEW5pJv^h3miB}bnQ1O1;`wiv;}6d)1wUG*GRd#CnRfaTb9yZcc10e> zt;Ww~Rq{fx?!6@f2diYPS0S7&>O9ND<#d57Iw~NxdKxPi(uUt2?i1Xs=@(PqPp}sq zu485mhp|lt*Vr?ONo-*ERlLYZi}=s@DRxqQA!|Gw&tBO#i4$DS3FxW5Rbj= z!!kA}nW4Zl?Dc|MO#Qq2d^M*cOh?|5*w!m`L_b$&$6W5Q`&{w~xn>+xuCZa`u&24JnFO z_l%!Cb*h5Eig%qKAMD4kJ<({}a5S*-yUzyOr`|2Ief@MBV&Ycw+9FQdnjh#EW^Huj zMHZ{iHh9eE#cDR#4p^;jFx%~fw&{^v#k{jHDYHh(%-jjmM0@E)Lju(CGMS7%aRIH4 zI0}-Y*Q2-zQK;HE3mNHL1xbC5u;qpXD_WPq>J5 zm@zoE`xp7+>Nx0Ca0XOmdr^H;zM&0Taqx4e7Ps~EL8NS>LUxt=aB)uBoW|i9$g1KQ z`Yit*#)ibBm9Ls$3(_T=9{+^uqXSTID1=U9_0R)%WhieX1LU7908Ig}K%%=2H#Y1{ zSH>?O+rnm`g|Q40?5+h9I=;f#xi3J&^+0Y%9-uZR$P@eYHL08J8>v}0Xv+NWefV#q zB4K=c2G{;oDCKA$f{WVjQ^%sZsr2M?$ovBj`eDih|KbAa`t%C212Aycs(FNpn z?I)_S&%~DSYVLFYGiuKMYtS#jm{I`Kq0DeT`QIivFasK$$vW3kyMIo4eK5Ey?Drv< zvFVFgygZYTj5~zS1cC5=RFTxD^@02aTksp1r$M*vI`Z_Ze4zfo9xqAuQLr_8J5qst6RO8pw77{av_6V_-rg5=27GArN-1g# zDA49x{z>2)zcmxw4XF@NdpZQ0_A-LHjWhW#Cf782j!WZp=*qy>iZXclw?16eu13mp zBlr&V5+3>Dg@@Z51?OQGIpb~wzV^5snQ!?DcnYtOTPHdJkM$UtZoC0b_?bgK&sqcH zdI(}&zM8=0!zLnY_i+(f<%>O=FoFD`m4d$;jbtgxirBhr4%xE!6Jd8ehG_ELL$)tI zM#kK!Vag4*0-rnKWTKN8g!%S>xqfSbm|qK$ZYmRNhqsFp4P^<92dVgrW8*2+Epp^F zKR?`H{9a=1(ML?RD3JJm?mVpVxI%vVFpmf|8VCJ-XW|`qZ?j9KO46gM{_rU;ggE-; z0e)74C2!o~Q#F=OY@y>xe1pXcwkgsEwwQ?EXCas1_2{sDH-WXf@?>nkas$l!tihlSXa9c1n)8>2K;}Br!5~(%!r)= zcn6fp&a)4&OU>GZzHt%jm!3^Dy!k^sE%75d%V!cHpBIyw+)8qFK|Urd?I6nP7LqsJ z8%Xs_?Lapu6?CnVfmSlLY?0F@!DyC0acbK?Cd}dwc~oaM`DC;h&%D+^TwX6>|NNUz z+-;f%9SdHNmjA6Hii7fCtd!IFtLHvz9`lSzuQ7zylMG2e$5_zWw1519~|=e79A>POhkvuYUsc_Oa&+Ml_2)r@&2sl(?cp21EEHSjg{ z>G;Dxnb_1OH^$dGn|}hy;*PVXG0Kykv6n7qGEa>D3FJneh%1-A7udX5$akN12Fsdl z!5&!a$aJ(wFw;G?MBMJ(f^7XteCx9`!G_s>grRdF3l4l?d_EOnraSu?m6{BuqnN}o z*Pqy+++u=X?Z9Yu+`-f<0rO1p3LBoUjPJeKfkh4^VWDrU#70f^xM5E{UbcQQ+vRoby`og%Q5-er$fQ6?1N|fw3=UneLowu}jBG>%XZn9T1jqSV)%xOH)ZD84*XH0MD$W20=xI5+MV ze=r!2S=&blHe5^MhZ>j(mV7c6=w34B$9B7j7Az{ZeP#QPpBNC&_g|{a`=;+|8{NOw z=0N;iAvbkpV~4Cv7BUv zR4&nWV-pH}BBBlLD~J)x7}mmj2cGS`1!wSSx`6JZaAPs8GCP!x1 znR?P?WFj%n;Uh7Mf~Yl70`O|i3Xq;yL+0M4$o0ibP^Gi9hLNkF z;}(6;P^^rXxh;Z%Gha!w4{qpBeqc! zB{E?C_!(fFOD37=rA-EpbisUORdUWH1vr%ZoLI|2g2;af=;)_pL@NS%2bZAHb~Uu| zcRO)zlRb1DJx_#QipJKQokYr-2A$pO{ojtq*wzN6HzVZ8@ z%;zZ3S?r2U4Sp(EleAOdFP9-m{!9qej(_AW7b0oX49)%@opZZK>cz`+tPS z2|L)aekIYdluUU5Y2(=}m>Rm6sH*yp zJ$o~bh(7KKQ(d1Eu^VsWzxNB+n;|N!*P{^j`I@yPd#RZ<5SYU~`%EdBJ_BMbb2B-8 ze;2mra1Ac{^qdV4Dl>ok%V6Z;PGB~ig)4qhC#NQ#f?wR+LAK){%kMdlze$`z+%Tm< za(6elvM-Cw%X1^2G`JE>*$&|RDH`Y{#S_72TZypc{){WFN7kL~)Qa(l=g(vKqKK_#KUZosZwok}{(OoSUxZYP!*U%<`g-D5q6 z0zlN}+eEoWx0t6a2C4Sp1fEntKG~NidXh#z6a|Ei*>2St6J972pCB))qxwvTY3B3E8Hj#$YVBdIgRod{@ z8rgjv=MtXe3c2G|qQqXF*df7Clo5TA>AO6h)mE{>8rxIw2ZEFM(k?$NP6=bZ>`d8$ zW0%=*bA7Pq#zh>vg%NWs)$j@O7qN!l6@o1eUl?6cGGncve>N0L_E$(Qxvu3eq%dR)L44E z6DcPkZbhO8wZ3i=c}HO?n*Zn!J+!e8ZL_ARmAe$!a8pSOz}ND2U9w zI|x~|3nWpN1Y>OP6R69Y%-Nv`>O(8xXm~u)D}RiZ z3b+2S2cX7XMLz23RO)v`&jV&Oydt?CU&EQp{sTYbd0Nfx7& z`or|t(`U%n#fvi3UxN4%Vld6R6y-L*AVR0iLVojhlVz?NC}f8W<R>36$jvqv-&Vza|+qcAC~$&Cs4Mp7J-7phv01KvwQWJ4~I1_7=Q7l26|6f zOit=uN2osi02)SnU`q*hMyO$2)A+~QMt(}A?e;H;{L!{z!MEvB=B2wEJTZC-YO5V0 zG_#D!#KIsV4rs9s-~(%6m4=cU zBTsnZMf!DuvI7?4i9zf6Ew^#ncljyQX`Tz!YP7lPx0`7zcO#ec zR#e!1Gb-?t5;wT?JC)kEg1(;cAMB@;P@&OodUa?%H_%{A-}!TqI7=nbn3*aWFl{rs zk)w*{zMM<7ZofcWtCEnPK1t`fPwt?@?{x^J1*x>rye3NG8c*K%FP?rfr;&5nT~4|j zRz*@e7&^b>7m}!+pye0mfTX?C(d?g_s9H~&JG%HD6?vf+=q|{oY`iAYZ-X!@=j(Jh zw!8!V@oR(0Y&vHku9O`0&>&sDrBUY=(A+*pRmoNFop8ii3vMuxmP-F5QmeDpQ)5=f zgx3W?O%C(qj1vsttB(aJxKQ3MZT&HdOfI7%Z5q^cVSr630iM<0d7GFhn@yzH zUv@B>F5xVtydH(`2~<#FI<$l&??c45=jGQAG8Z(4lb~;2V z?ee4~@j2wz${twf83Ef_Gmz|mPvBIx7Q{c<4xJm^;Kzicpl{)Nw%%yBI40?T%?hF(j%?=A-%0&M{2OcrS;P%(`a(}zH&s&Jsz*C@ln{5~chL^; zs@>*wb==p>{m?xi7_5&q&>o=aJPFWO?{G2O36h#fJXrzeeC(!*@6JI zPP(8Uztcb_vxgS;Y=Y>B{z0_%={fGO$#`;1#s)ob zdx2)3y@+gb)oAN9ca$hlLhtbijyL^3^52}@(B}Cy+U#T(#b49I^}jxY7LFNk>UT;w z*MfZVRp$_>P4z?96b5EsnL^9wrW+de-DnVPpeHdp3m;(<wG`U2YsebdJ387yNNMor5i#zI3lG6^P#IOXO@->4W z2!zL%*AY5~>j>8HHOq||f=&HOEatbDdAbyd?a6cE`)jiqwPz2puD(kAqih$pbk!lu zHn$X;DhLxOFWk!0o692?6fZ)uFRQ49UG>mpY6-oVKTjfU?4vV%Hg=yf6KN6eBTD3V zQKB-IE>GUX)s7sZF6D0cmc+0&>y2klk zc1J%eIaq;Lz`@5i=_Hv-YVGa~6q`Af>-vdH(4Cp=iUFJp9FJ2P;e+(Pa5cN|s~OZ< z`B-|{p&!UIv4nU@#&8-&sT?wIkX-+x#62N?fHGMKmp5mjX^Yy)8`qt=ZR(X|B|=$l2?N* z@p}UoDb*4cySWf@F3G)w{D?2CpOA{)T`{EE=QmI}@q^OL^e(Epqn}lIWsTfy;^~TZ ze>y}l1zH)Dpafez$wl*K5+5*=cyG<3Pu6?@ou90TU7w{akznZraC#v(FW!nU=*76$ zsGHR1t1oGXju7tqjX+|rT`4jvPvb-#(>RsK2f6iC!<6Z?A<{dpjFLB*NB6~Dhb3h` zgx|c^abMiZYP=M z5+QT7wh*5e>Ppx*Zo}{V)1{8zJ4@}HSp-Ao+CeUoq>>FPs9r-;YC3fm>ABi)yN`cG z`=V=LHSY`Q)9{E~gc*a$z87&*a|7xi@riU0y(j#o)q}B(m$0FVcs#z(0N?sH7;|_= zU|Wt8*v-+Sf{yfPeouQdX6@dGo!V9+n6CnCGK`jp0s_XPvPfmA6X^pyT`~&hPhyD` zAq%Lmh+opH{tm+h_h6OEUBXW4x3pjEE6pWmqgxXxIPSbRIc={h_w4NixczS>xuyOv zmaBLfORA`VS7VN|Um8hl^e4O-T61cv&)I_!kY-9Yl8@WInS|a6T6Fu~DJEysn%Gf%1d#@DpkbZ?X}q9{cylKLOD#%(14`%cw+aSO z<@+^q(c(+YrIjk6YvDM;lB$D8|71d4r8A&kEd&)vGme-=G8}f5=G+w1;oB+Sn9D`>7VNa*VafA6S6U-bmct8XFsWk(QU9VkQ5vs5UHEtz0O6OZ^Jod>V|H=RI}qoAcm zu#}G{2L>xrf$iTSuskdt*c~|q7v^CArplnMy~X4z`wXHg?G>=@IfZ`<^&-H-R)UN= zXAUiS7BA%W>+{72L^`LYvDAg7V9Am~rgerrA?y4TZ+MIo16j+!LE9|pj&>4JQ|m*3 zkzw5FUl-wPY)R76Tz1^KnNVp433Z_CyKxD%u8Z;qJRv3R*JSj`bh<=q>j-;n+ABRkCpN$ z$qlUF%q}9k=bymqwHX_+Y&Nmv)Dj{iFoCUm-ORpwg4o>bJn`j=k*xSYEUS~5FD?%> z24}m?nBAd9EPJ7eNzV_*T~2=#Jm|h7QaG9{zL1p6#Fl8V{#k$USxc&Uy)_}sov$w9 zIDS9I=wD?61DaS-2+IcXXR@!WWCi}U)?l7V6RR6+!nO?^;d^Y|&Ni%e5OiOW!EJMH z^J~r(GH;v=SjE%2#N2&eSoHG@v6-3^X3}*_V3DYW{aJd0U3zjG{^0QjfqLu^^SpH- zn4ilRUpa3EI@f+;)PM0o`2{y3xX6HwvD3nxYeMj+>vJ)_h6(U~!ox3wv=L`duvpl; zMa#LTK-tD29nbb=}I>+Th{dxs`t7#`2M_A9c& z)!um3yH@OnR)FY8niu0~UCWqHa$q|DtsxW_cQKBCN5qyE62Vj}Gxq1&&ul>K752^R zC#=h#ELQ1DnV=({U~|z;HfZ~Ik?Q_@Z0nXzHf!-=tb4;a=3XO@zje7h6OiA*I_xdL zuN6AsH~UPPe%UpcTzfqp_2>fj&Mgm%ZePd0s*j1)heWvL1tYM-q)$9m;T+KV70zh6 zRRX>BV|c3XSLT?j4IU&T7CioIitT#%l$})(Vm8rUd6w>;a;xz-wd?DY$BXWs2ok4e zr}67OH;E0`GfdBwnON=pCM^3(73Mnf0+SD^z&`4Z!>7eez>7RGv7ELxfpw&@_*p;8 z+zwmKPUPFLeRr2IbH8SbFDSb+_1krswTGUI40?NnVG^iFa+x3F6Wu|7?Mm)&29ck}FuM*8AMvh0RDkB4A(<8&p z`khN}aofaYsGp>sRBIw7WhpZ-^bvZ$b|or!as?^J3gD??E7Y%OOI1Fa14af(CSgtwjI1&!l z6VkUtTl#B}-^2BktU&>^{+Wl8tRJI?_MS-m(-50KsTs}qu7-TV{OAEcEAAkk1-A(2 zLT1~0$eaHUDhCyywqxm}Q_plt$sw6`o77C2b{fNs9v0a!7pZGs4sctZ+EG*PXdz;Q>kQ?w*@!5P7N{&FW~)0JE_63Dztx&6)IYyN#4TFvHnwS;JGCy;AbEJd4Ucn z<|{>+*&PNYuiW5)rx&4rCBcnbrH4Aqrg7D?@1h-?CTaMXLoFc&NMY`HQnCFpe6lMK zO#!=+>0S;BFNU*D+q{vE>MyvyYzOsf-diN;%z|f}M9|If5}d2C4!#hVk;&)NrLN_( zq=b#9+48BJ!lbXjb*Bv%ADKicNI9{}Mk?rox+&T(vj@(68vwV}C&7dRHprvY?o6|} zmBq5_6K3x|;>@#fQDR0Xrm+iop1?1_77jL@gN7k9AkbGKe$QM)d`?qk|BNgp3{@=1 zgND_F+sfM@Q^^^Q$n=+3TjBCy3w~lr3E2rfPxcrUSbg?Y{Jc5Vc4|Bkb%ap`>zJ`h(JacEo zH4ZTA-ymCMyn@O1DIf}TB}~95BS`7J#oo5Pg%!#K;~Q2I;C}uxAmf=!q}db_;_WGn z^7st4PmLgt?2-l3XHFqjWt550F;_w&*UtX@(!usC$AYZg3atIznfzZjj$!%!A%vpK zU+_{tkF}SX&OWr};q$VR1&cpv5@)POz?|n_@%fX^3z}pcK+ec65PegV*w{8+{L@nn zgvoCs7Tn~B#R2Du;9UjG#t&_H=XgF|_Id%%JNB3j^((+kg=?7u7nQ-}led9a@p9pk*NS-Bn!p-u$zx~5Nbf;No1k*-Cly%F7?T6I>uiu@$lKz_5QBh3HR#jv^I~-??@z3}z+iSS% zWn*Hmq+MK{i4(h0pWZVJq(06G}SgL3XPesQf&E*mU0m?a;#=I`ZWi9cj<^?M`I^SbQxvXuF?pLiMdP0CfmU45P+_gq$FH@=R)?uURW z_;H>2P#q#rSw>bGNqdWnMetCtx&%cJ~l)0!|P?N+hn`x{u?t?~HQBPHVX2O}B! zS{!2@i!qbEi^Qko4QxeeX@YX)F8(lo3qOqwwe<&^8&^+k=XFJR^EOtD=S^Pd!vE{= zftU31sqLmbIo_6rle72z(-HlM3)r`>1x?+ zX!*Zu@Wn_miqM$@Wy`*z)zOj2x;D=)!g>|jpI&AyU`(1CJp z^E6Y=A@4f%VX?Ag<_~Sod9o?G{_GJtv_%EZ*`Y`uG8%=6OLx-7VI6dQiV$2Of8SLR{Uq zoiph;Mnze4(9e&SAVq~9P+42VnLT!(iGOjl@v~;~f#?yIdc76}HMNtb%O9X^EzXq2 zlZVvwm>I~}teo_o`5s=hOqSlmRp_lajq~-G#C0fLN9){M;Q0?q++;S1T14k^k5ZO% zt2@u3eMh6vK@R{1cG%Hxmex=cgu~R={U7LMKHuOWaxZCd@+LW+m`~|@i@5m}m+6j$ zXUG^JBWbalg~m*3VgA}q&UykNy^fDm?!2k=#|zuZwq7&JRnCms=oLZf-TsTr3W{eH z3WIG_ea`Y`ucaEVLwoRQ*AA$-A`;BK)qtHnF^A9%zDj=4X(0zII+(~)w(u|&22Sit zCvCg~DckPv)T-twl;NUMRAuoN)hi^SeFHyX!pTj{Nv)OSuGc=KW}Py5r(!YT=fo%K z-hIXv4(JG;aAktyDH8+>*<1X}%p-w7`>;UkPl}ks#7ufy0wd@1OmySO!^UIZb~c)H zZZq6PDuq`X|EQ!x=EQ= zPMZxh(SN7=+PO7;w1=sJCRhGCw7fAGZv4JO63F#(lP>R(9GcYCRN$0uS27Xfq8_TE z{QI-*u#^-#TemZ`U~h^fI7+$cnBi%vC3?{AQG;RA47p_c8@u(IHs4aS`{7z?S2%gO zgqEy8nUYzYTTLlS2vayeTHDBNd>c-Im#024;LgF`_k3*-Ic1+E_{>%wUx9v~*%HO%%ndcL^|2aGJXe$1=kITMhEBh9*bMKw~ zS|SyaQb{Y7tc6Oe7G>XM%T^?7+1)$qr3Hz!krstiKcYpOq@?uR=kMpg=X=ha`D^}} zGiT0sKJ$LRUJ~>90=v~9_jb2IOR&%x8>rPx`>xxJy*QCz`>eoDU~ByZUE$|XEAB!C zMQi_~FHcqrj!0UyGi3Oy^mmpz-=A?B%Jg)K!uHxE=vg-1d~4EwpEW;9|%K*20Aa zKSIs1R5wG?mmkT9GO-rB9&uQfO>uznw*63RT{c{0=Z8$Hdm!&p^yr4XMNHmvGp5jF zlfY7Bqo7v)HMaMWBR6A*Hg|-Qz{+nL32t*87>{$?u>D_@u_C}9JHHCR79$L*KD`ft zPp6UjpX4ajt2AL@uf~_k&gBQ6T@AV(dWd^1?cq;I{sWL4H9VtgHK=?o5c2pm04@+e z2imsHfn^@8pw5s7`1?l^^3L)Ks=DtP{e!&%?$R=(LAygp)B7Wo1C)Yo|A8U;zai+* zhBcJi01s9jD5VxNpD6XaR%nOKTBKy|FD?1R5R+Eih{C!@;B_U-D2w&>h{1g$D*O5% zvcUT|l`e9t@vizEbHYH8E|+I`n7qb{d-5 zh%P8>K)*?)Qaa6Tq)tjPwQpMj6SZPHefI5s#^d?v@Dh3=&CCMy2Z92yZYN51z1kqt(^aKmIi zm4bgnA!z|JS~!ocK+nLu6ADy3Pob1ZjK2`z&D5x-X2 zlY0zpnRnHX&;L-2MiTF*h%P zx|)`PQ8X8AzAr5}Zw1iO%`;HJCk3RZu7eV7f5kTV46H_F$a`r>N1TXR`V3 zDj$9=Gzl!ow}UeW(~-(9Z=?|~rrz10lykH!l5Sm&Jo=uDJW;=l=on@o*RR0PR<9-s ziyfeTvUft|nikalfm@XPg>b55x|0mJ`X6a~Uxa$heM}UkJiy=GLGiNKMbN=7`B2+M zNho9D5a2&L!GFc91=jAy!C0ZoQ=elBy)TG?Chu>Cj#-t1BEnfpgzg7)fsqb(`M(vI zQjnd%{XI+IdBl+WndiXm5lN;m)`Y_2tJg3QH;T~H#g2kpvy<4O(iD`NB*4TA)C7fg z#Y}VR4fNmZ*JQfpYG$m*jCRuSpnHctGhA(L`go}vntwcX2Sa+u4lzE~x6WjAg>-z?JRT3`KzmE{z0 z`_FC`98j0x{`mX>BkdMr3SExO6Lobm)i9Nb+h;Bq!!I&RlO(bEFKL3|*i1qHa&Lj8 z>m;^4iUZG2-r*G_I$+DFW~`-66}vP1j_DHSMiy;T#n$-Ca6_dssg=j>Fc-3nDVzI7 zjHL1+w8&NuOWayZj{tMD#Xtp$`MWX-*?WYZNdj{WGQ6Mf#HJndSSJ2+kck&P+Rv3m~D_?U0al%?^J@ z{diW+xITAbRJ4@@yc^DFe19tUj)5;%#_cdFvrPe8R=pe3`d*3-CN8Fbz_&56#7wN; z;1b8ip{f&SF?#(pdhdcL1D6UJH!K#@qd!ky(>6qQXxY=VUzgDh3H#{J2Q#T9 zLT3e`um~%OpGWeKofGDXaq4<)0~vtv@Q0cUSVt>2@LO~Y@oOKF_$ScK{D(dU;CzZG zs9ZP>thpP&N#%`kTr1Py({KO6KYLTi=3hKQhy#Xe1$|^()j8<+B~eOX!zQAa=s=Ou zu8^3qBdJB%Aoc3waI@lT@QJr2`D3>MJh4N9IPxn2cIfcr>l{4*7hlN1Bia&(4|}Ge zp*c**3b%lc8c9ND&MLvh_LqnyoXfbuHy`*2JOtnLIfa{_Nh0pOcLKgtcar8lv3yP5 zV6;MQ!R5r2?dhb^i9|%rmPb5;b|CHd-U9te)=;@6MhMmx zK}_~NXd><$x!qwgneOEQzX-fdR&CdY-rKel3s);bo4rf#A7T6AEO^<{m|XB(5-?2k1jjo2 zU}Eh7()z|J9P9?*#|MU>#8)X`74#hLim-&@)qV@zoG{L9m4QW;uEx*oT@0F7 z_Q6Z*n~4YRM)0D(e5kO3MU;QpLgwk8gnpfzfW%5tiJzlR6{&lDuN)O!Tyw2ziSLD!QBpgk4N$K6ihqgB#)e3vG^Y-=z+@PY(0 z95f;SG9U0)ZV+yuyBYtKC5gYi#pd6oHTh3#(%3;p%Q#a-rR?RaH#Xm1oYRa6&sJ+J znjiDTns;@?HkX)dHLu#}#Ja?_WY4+Gv#J7?+VF;)n~Gfm8b{Y2hx4{Bpp8B%Q*+fW zR7(6)WN^<5%5l^Xjled>7#?BZ?+| z?}wIog(39ci+EB_B{HgCOs*+jONI3WQm%Gq$xXVap(=_0_~IS`h^pEwb?19F>AB)O zoTJf3T5q3*+FsWqHYrc3+vZm(4^J?>fWgFqDKRR${ryS(}`62o6)+}UZC`(5z5RgCDsZr&>Un1YTZc#3(DwJcg z6VkY2G5NR?5@xM!s19*`%BpKAinnN?A^S`4gxNi$nu!yc9DD^z7}<_+e{|ss^D7Wc zDV;ob;5*s)Zx7|I5JhTb7D7R1ogmpMPegR1IBh9bLcYxthg|?Zxp?tH_`E?gvS!s| zN>1kpb-uEK3{EK}JvFbB;rq-t!L$tX2<369!UZ! zzPJefk-{efHBK+xeZbWs(5b*$)-TtlAN1#~D1FC{YzhJ{u6T~i+nEr%d>-PHZ)Wil zZ9c!px)A^BsR%i<4#3)PjN$mOVDiLjHZjb82Dy(uYPykljkr5pLKMlciH6?uI4Ar# zuIPixnS3`d)0*T?iHMsT?bzrG~4fwsG0EpDF1;yTV^1U5Ka8dj&XVeJ9 z@l}ENrf^TbxvB%NV__lw-7FVeHS-&~by(1>{p&SvL_Y(pS-%!PIk18g`sM_fldgcD zT)vQRm81e)JANJ9HL(Z?+d0J>ZdwO849h`1n{Gm&G06|eY=a)0`O29Rea_Dpz<7@8 zZg6E-B;@la9)I?#9Up^MfphyLaMyy@xO0XwD6zDLA3rJ$_HA7aQd@;N=>8(8fYk`B za%lqevTg(MlWoM(gYC_iF6RIb?`t+Q<5$6%=yaZDTN=K)_9-~vQip?!%Q$kUg;@6G zg;3~`ANZ5KDtOLBHTd~S2!89{1Q7SO8=Sgt#W$7{Co0xl0#jT!;M1lNcuCJA{#1J$ z?~K`9e%|CBey74Xc&)~dZ|o27dQTkSFH0@s8-5nyaF*FXUv&t4a&|KwwsZ@$de2|H zPkRmECcgvUn7aiJpA+UHBbI_C)n>SNWjC%&gaHRdr#ZkwDO~P`j=_qbDyGqK$rg9b zE?cV9bT{ZT>g>gh_u1R(>zXf^#_@*!P|a;}5kR(03}Ab-l{Y zAKRF~-)B|X{BXA>Z)e03{?!UOj#}LUo=eD5UbMFk&p<^TwpNO?PC9t*sv` zuq!2!*qSl2>@>w=tgg{5tTGFbb#iJ0J1~)9V>VaVl68vgcu9hF*km889lK9-ojXfL zX^9eUCn_N8ryb;{l~>5)<%#&|_k$36;v;l}8OPh;H&EkFJy=;I0aC7Yf}ag&fWP$$ zps~weh>V|&#KJww#K`aWJR=Po;+U-uxZ!OrRMbk5d!%>rfBp#uOE>ZPhF*z8``0Wm zNWvc8wOoU^c|;ygF1F*p+>#FOY##^RtFJ@zm6yOwq5el{?;Nq{-)F)js=xVjJqJ8e z`U42c+d#&5a>(JT42l)WC`m`IrcMdNvYoOB>1O)7nCg#(gl$VVsPX zJxBg0F@*2-@rM>$PeXsWk@!>OCp3QKHzf5`kKB-w4MAS>VB@SfEH(0(u=ZO{EWf8n zOmt}S)6PNs{_kU;qtjt%V6=|B-x~~RSSf?Xkze^IH}E0n!@HoXZ8MN|L&p;qeWKo)rQGUt|4KhUi@%E>5qXCIh6 z0SX)yamQWf@SKVYJfO{zi2P+n+{%b1e4d;l zX;xT`8e8G@50=$`sWzh~r)@qgRBHU^kkkB8aD$RCEG7Tu$&lPX7Rai#;Z)Hxifn=( zL#rjOfCGR3KvL|FWQv(8wKF0L0q`^=KA-{O7$g(r0o90a#by939*5)X)9`QLJgmdt zPP({Nl2&SSq`@{exmjBrdiTc$^!_jjd+g1i43bnyYnyO@;x&?}$Xh(&ot7zdTI{S89dc z#p^<^w)&H&=WU6;uR~PnDGtg19!1Lci6QOf22@ejb@JT~FF0Cf9sVJ)3Rvd7&WPl@C6>^yL2PCMR-`&K; ztrF13K`qF{TM5ZLkV73?r$mMjDDman0m4lt05T1+LqNY^N?*2xOuOVts;x664@{Ay zPP0C|;A&iQbdCqP+8H63%SHrLdx)!e?SRJ?nnSDh^*|+cHDu>23E2DD2I4l? z2F|O`BPBP^0}}IfaDxRyFw@@D+W9f03aw9GCQ^u_sCWuWO_g2o0@Cz)Vjs|Rd=?4U1qyLPX}qhRlA9uDEFx8 zP@5Hd;R*>(m*gvUk6{u!e{7QVcCR@*>y$I+Q*jb!NvjPfN!*`xEmV!|ooda#bY&QJ zW-mvRq5*1s@egu`g$nAn;0CqjdOCdT^&2wbM(a_A1JVG=|4@o73F>~7#JoWGo zzNME6ad$-xN#6Mc&-aQ!@3!uNT}Pr3eXTJV9MC{M7f%v{lUih+8kf{MZ$R}vI|ADL zI}3GLg_HNv7E=kr?8Qt*F1e0a51%Sn42O2)LkHemAt+=PI$Sr8e1HCz%yQaHMuU@x z8>mBlxwi)1bfJ}G?fFdP7R`Zgc4d-_BQKD*8{`n1ZVedGks`lDJRpDWXe3Ae<-vIW zZ|JekdyZe~O}JuRIx%y8G1=v@4T&G=Cu!ON3VHki4>~&wSp|qv2@@5qjLoo*pdM?N5fhIo)7=0&tOCcq_$x=4q$tFdzCT%;paqBSuZ!Z9y{gF(r>NKFbZ~cSq zSLTwcvvZKE_&vz{xE}m%2?OlU7^yt@-mk{a{6k$utaoG3tvfs;e{1}WlsJFvOde3K zbs7g)8$gFoDIg&E2CVp62CbLoLv#0rA(=2aSpCCy)`6RQ2=NF7V%-`(QD^&?=)Lxc zcpIom9FMvQ$R!$c+GEG~fx|ldhVnv|X~RsD`=oYr&i`<-}IY(dnkeZ z3QJ-C*ki+swqcl%e|jI4{+mGi+6gF?ORuPR&_?Ru9|5Gaej$@D zOVK``f6!)2%IE`6OQ{0|zo>H95`A-YKQD$EpmzAaL+;J?qdwf5cxsgf$x>h=AD&c^ zH)9o%v8%K6d)flqDGMR%ey7v#R~%-3i;t1-3~-bk{grCCu#ow@qY`cVnuoMTeTDnF zo6$*yuLwF0(2;qDROz|~RD4q`6?0-IHJXWF=f3jM>CIfU*?EkXZ7v{xyu1Xju1=(D z|7FqA$Hvef<*De+Ky&K8{d+2OCW*db8$l(ME24Z}ATgLyhOGXeLR-y;ARQaM(AK&| zq+L)E{>Rx==nuF8JF-=nW1s~6-{%;53L;4U`#Pw3qds~mrIIG?r0K443)G|k1fBUQ zllB}?LwaAOU&Wvk7-!8Mq=Q}v$gIv|Yr{asHCK6yv_#SfCL6@Q4d<|5o9PLUMjv=gr)w%~?hkAciq zV_TjlaRDr)jBoGt2dtX)|c? z3ccsJgns=sj@x)^2s5qK!|Xv@fvfms##-b!HeZpAakQ-H`k0$&#Pf~Z1)}$`m)uUw z|LGuN$kAf<*UEDHWW;R)j!QEo+pDRxcopoGRv=vLG0z>bEXK@NZ4fB5W}rpl|IuPw zMOu7@cAy#quaOB8bLQ0D<=pbOw`glnHhY%$aY6jBKGA? z1H5d}K}LPa0;c(R0cQJWg}^=68=Vr7>djcT=V>D zi%cGa!=2&;uQH!uasoB3?QSXVn}s|^6c9S)*2K~4j~r!cKJTH+9walDua|IpugPIvVReCCl($NTJ;`M+NoME?oDk9~rYqIojxF5H~tGh#RzG3SO4}72UQ-nVWs* zs^BlK0qv^ZfZimIqMg4axm&M0VHOt^TBy~DjE`9h)2g$C(VA?;*mr-!3myh@ofAX^ zwlBpIksB6Rz>iWU{I@I3(h|;xSFdEe_hlnf`?i_B3}IQtOwvMfRWoow$oNot?g5)F zy++1#hQRw5=A*u5-Wba!9o>`}jy^Zsi}u;1(?*{f=#1M%^xuC*OynV5<`s4Z(f$4h z33{tZ^`>hhulSm%&(BQcY?mmy=gB5?-)Rn2ANYdO{?C=JNlK-*Y5gNlYHuKaeK8>D z`1iyKyHkYwrA*#u$vU>}@*DWpx!bsH!VqY4zW|(m?g}R>^XUA%655IJr4ygrLrY59 znc(R$=()Qh-5L7=U3^Fjd4Io&8ou98nLWRXy|j|VhDCcx86<$x?5(1GbabeK(hEq| zs59~Db1Z5{j#E)ryXexPm#D4H9=c@d4LCt92I-WzgeE%Y(k`O~(10X{>U@Ym3;RJT zG{A-G-1wRMLYj2Kj8I%4MER73%M2P*Qm0_O2$Od3f%~b((xM!)P9EuBfl<%rhnd}18!%b>Xl0o z`hEpndc}+8ZGx~zqqf*O)Eg<`x}n;u7-qe-1U;KCi4MxCkbX*OXi(BFx_sawJsT5A ziMfBK#;z*DTL+zyAY(i9#d1~Vj`B*%m&k%&3Z3CX4-BdD>lT{y+mWgKx17nT&!=he zGjz+LHu{gg2k}B+uickm<)|a8>&} zG{iT<7q87G7B}<}Et>0yOVm?*clAo*ZkP)3?CVlOzEg?_TxUuwly}7M#mw?go9W|o z%5ms|cfT+fe<6d&K*$a{8HTObPDalh-cRPd@MKP^jUg^ali(%iLujSr8q9uD3ri_m zNV9y0skUO8_Bs0#-FL#0-n!Wp>7G3Ys`M%&_Wjm$yH^S7mX(XaG70cLGLd|`0fZYG zwjiA%>zURGE$Zf6%M6h+__Y&+h_iGJKWb zAH7I_`|mw9)#ie=yza-Z3bLq<$D$~&eF^q^t_vBgtwo11f3&0nMIPU2Miz8Q3i8AX zNIS1o`cIt}()(t+;O6etSl%)d>d>1dnD+%sG+j3d5tY+IzP>q2-&E4Ywx2IWj16&0 zIsPD4*pYrOoPY&yJX1wTW#nt18hL?)Chf;U%B zkTxIn=pRrJvLk0Dy6##((#ed&+c<^%mW^Go$UhZ?r5;1(fA*kOhaRRD)(2B23gVQi zmb@+y{claX0-m_QR2%ub0-7xWT8E03L2{9(BPB?s2Aq-V@A)d7Gn?#Qf ze0~#5{FmpC7sM?CsZ1Of%D0I}R#NzdXVGAf{~=H-NCa1@@*rxi*Mk!c_TV8i8}{H> z7Z@+*fEV`;;|^c}zq(!m2Maj-Wm)OGh`d_pf>Rhl1i9h$6YWIle-@xp_CYXa)4%4?t};;ctRIdVO#w~C%Fx@l z;>3-R-lo3DCSY;#NATUzQexgWA3yt8iLm)R#!F*zIc-_m(D_k}7&W#dRDSG%EZ)xG zQ}wz8Zz`_okXH$BY~d47a_TO~A3O{l;8#JK@!R?5#rA^k`D5VM7)$WvG83rJYK^dp zy%bM5c>w>eC_*@IHRD@7ybP9z9>?Y9E)(~H9iR`Q;zawsCHQvNg?vN!FR;VP>!+_vl zv79pFEkLM02HuWb$E#8}%P)i^IIm`I^JZ?GZ~S}Cf-m*fg>N&J!K;6q-R%AVWp_SG zVriY((75__WfSX6OVf_|p2j?2-9==1kNrKmu#1%cQ0X_aW0Fv8c}$C&Wd=lv(93jyf$$#R5y! zk(jJeswb}xO8|4Q-reGu@`}KYl2Y&59nfBm||7GqCGnL zX?2(Tl!UP)TDrgtF41g21e!0X2mhHPqou|eq`r)qlPCM>6k$fGj-U>yi$Ber|(Whp9DT4X3{0Gc%KKT5dVWs z#SUZ8XgZaX`3|wqi9(-6`*2j+INpgkA6pf$qFN5 zn#xGFLMo;I<~f|?n26*@oj@#_a*&en9B8 zOAxZ0NxU#sk(fPdP3%#HaJ?1*Kf8|RAL+gecV`Y!kk)U~v2-65y0sFvw^Jt_FYhOs z`ix;m1xZp@^(Is?m`YCP@yVc*&Lo=bjyz(q;ZMhoQIafIgh<&5e~XksM&}#&4rnH< zn7E9*uHitLJd>teMaCf_p%p*BsuGCDI*^9UG32{H(a8`X_M#9k3( zg=Q|)^Xvk7dU_k7p}~-McSVz;la*v;%V{KIttV{iT?6|bj)Q*RFe4}a`9f{J;pD{? z>5wFvjl|3ZB1bB-h%|3SDz93bQZhDxqt{Ns=F1P@#IrPb@Aoz2<=M4lbYvoAG%?BF zQn>;AcP$ed6<8sd>2{uP>jkSX(5Bp%M!85zu*fqdnxsO8kF>-A)@Qk5E<}i zCsk(ujVPbF&)fQJ2XRd3h*-Ey_GL$hEC=j%(H#qq&kAb#R9_<8IMVSLmV6sX?Beas&c9~P zTmA?7yTgM2s3Zu#;gCRlp=sh+>U!eh`w71Eb~}7+lOO*0za#vtk-{6^ z{H=Lql_Bf8-!V>{t0E^mn9mw7EpN_$rpNw$t%B2g;{iu;u#j`W(2Q+?X|cNuKz7l_ z7szaTKQ(bDh^lI8z%Ff&#!g(z$8NuWNPSUggNv0Ok@Wj_2sd#N<5z6R-P+!c zDeB9^7oxl9Y;BCWF8UgsQQwM{G~1BYC)Kf&{3}$Y%L6JYLXTeixd`14ETLX;Poi*a zIm-Uy&a}Idj*OF`KiqnXc@w zuvNq>WChSj?-0?TiC=D*N{26P4ymL0!KcxlqN8+J@)WXXQ3Y+=S&Qfok+AN| zFWA!QM)YZND;7_hF!O?CsCWT^h;Nrg^<_`d>jo#VB;q|*@*@)|Q=g{W!tV z-A*iJ-(MnWlO~q_U7Y@^KM%{MOEcN>XV7oziPZB`Iq2+fEet4K$7mhjOfCQS82z!W z4;?ZyM)N~2plt;)%q~Y?CiNls1doV98H$)y2WfsNMrhPl#pMA4Z=P3Jvwx4DubM` zK>IS=sIire^a;P`$em_0^xo(ex~oXnOfl=3)#@9X>=)j3oTYo@`1O}wf>w5Z(0VnR zyqa!J4qx;}6fNSY{%$UHv3(I~7Slr6cyC5V69BaCZ#Po>^E}c%zY-B_PNL%X)sn$R z%2fZ$T&iG1mXf=@la%eShi3zH;Gb`vgVEnI@bM%q;#h~U!*TH@{zkkMZyaAsTs{_# zt4pckYulZPeyah(%-9|xwl0B&Tv@;#v7-!YnqdAmo@8EMddeKz7)olAF8|#tJqFne_(Bz5`!Qo?V0`A8P@b&TwRFJF(?L6^I__QBkGQ+>oKT1NW)E8pR zGUx@hIU}5DTFVx^mD5HiGg8p$Z~x%!AEmLUS(oW)P#McQH`T(%)4^I96+OC+m6yF%W_B=e_upm zsWX#*OQhR!wwO8n2sLY-V5r1k=2>kq9j+ovy*X${PhIwA79O}rUL9efC)HI^=*M>`^Oh`E z{bm<-`RGFKOF)=G#)9)kG zkk2etx?=V|B6;`=9F$SQb?V!Sp;Q#tS6vVD`qP4Ju<{l7akaT_56>}Y4y|Jf{u@K) zZX{z`Vp}l9>)Xj4Dd#c8E(hwvNAz z*Hk2boxmjH0C&_ILK8*m8K*z3WYgzW+*~;;K~cp*AvfAo!1-cEi|i_;dQLIeuPDhY z_57+jTP@ip+1*(@^D|d*=T#F#^wVXee2)`3?QjYCPihW5e(g29e<++`&85=%uhi&0 ztYrG=%^;feO+uNYq3GGC&roDY9g~Y)gapn_QCD91P!Ct1BR6-o!HNd^k$$Tg*lp1i zIr@uFxi%Y7pYNX}FB8{@g-=!x=bL^Ip5@*|QD_Z+!QmR-`=Cg+fqMdv{1eUI{QC}D zoV^SE`X`_Hlen6h5X+>yuT)_+&Q=21JGRVK;2ByJzne-sQH_j$G-4F=Tj}-!E$-}y z3O9%OC2T8%(|rrfv3o}q(CzD2VR{wO?O6qT+2KHmFm2qbA8JFoWCY$>fk=%ZiDt5_58!Hs> zqok>h!$tQq56N9Gxx43Gb`Xi`b?xgc2bdp`n>E%;RH#GtnBtd_2N<#_L z5?Ulv3P~NQ#Co$oGg0F!Vt5Eh~|!NGPJyZ{^VT4YF8{ z9s$472|&YpWzb|#S;Y9xd3xo?9TaPHj!Z=R5ot3$=97@a6(Q$|T^SIkfM40ne}XA; z(dGhrPi+kHs80&@+j0-#xBjJ$JSUgVnXk9l{mS0zbwo!q3;xVGcU=ySG~vO~wWkT5 z>SJQU4%5+_tiUw0W#gt-W@K z%rB@GcBq<&`|m4(5ASR7mdPsO@k4^}+_{xlFz84ORJIaFU_)XLYd0=lxRPiHy^H6| zr~wkzhQOOO{>{5rjqupgpEz@4$AI`7d~#!c1LjguLNDCc%gChjFs|5VCT7o7=I)Rw z#^1k$o6seO9+@k{+LKo>C*?nJONYWSnRTOR==3?X(%GCFDEC5e>47P|yG@)fvpb5h zr9^1j`x&$S;4LOp$iiE^NR`G`9zmV_hq2*0H#Bu5pYh7{=E|l$5WIA6K;v@vq7xQ% zjHQE%z_m-A`|H+rK`JoLXb0M3FAw#Q6CILBWZe*xo4>ZDfEBG09aV+GyU zO;L_(8qyEAFy9~+LoQ+j^)e=0Z>}Y>CM-_SsLNp6^zT#i$K>gqr%;C2@r!(pp2NzL zuQ4~$ms7!FX;|9zY5J`mK~0KVK%%>1n6mE+FbB1R#In_S=!1b_1c~2`7CeX+G&ViJ z>hBcNA|gw$V9q*bz28stD&RoBx3t61`SX~zSPLvQbwZ%F;4eD3_Y19kDhF#*vSEs2 zas;`?4Ri#QfP4zmL;nC}*nit=u-o?_?#Mbby1lXhAritIEz0;=JSF+{6`ja6W?(lx#=-0* zx-(=B^(|_Et6CK3(_2=c&V}`8#AOlG&-Db7ZfuQM%K0L_4fP0;7=;{NTneifvf!Q{ zJjl;o0@6Ov3>+B$#pziJ0>Mf&;4No|gl^3Rwu(O@G5p_Dzu1uSLkm=hC2&D-d}H)Fc~WM{>F=6h4`^ z9CCG$Ai+0|q@AiI+#i|`)#`Wh47ELBS%nq?_DUz8U+yQAV<(9>p^C)vk1z3mF91Zo zOp;=TDZM3HxC3X#8QkL)ITL6?QXw_4X4A+inuub!W&Uuf)MPOL^F2 z>rKAh%_Z=bhF&7@!EQ+DpEYvr$UbtfeK?3@2mp?H0o0VCM48OC5ggGxvbUcg%FjFS zE}nP-hk_O4*N-XWTlHgb=&%N9@X~_(DvLp%o*CiEJv$+#{4pprKN)&)S`1PBGKrr% z{vArye+?Htxdin!6L7Vb2$3Wdjvn~3oY)cakG$yUfDi7og@fH+6Vr}fR3nrNXIYt% z)^Ek3kAWSWig+I=3%dyIBTg7^Q!_H(BV}kch#YP@@pOi_=|CTUrn(pi(2K_RbsZx< zNt)mtSrx#Trz*HjV;i)zy#~^rNryfLT!8FXsuEhZ>cpW3I(UZ6H13g#665cd5Ubpy z@UhN&{8kMY{xDq4E54h=D-kI3K3_TCoRayRRrPWsr%O+iGg7O>4ll1}J+c;M4^2yO z_+u8Fo9k0KNA`EI`#wdmvF*-mmtC67jgg()^@~E$ig|J7i_nF6%Xg{ZP0}rlMj`Hi zt|GcE){rq2T90bzQtXl6W-Ry~LF=RxG9@}FX3dVqzGgHszDC1z{#^~k-l+%+!BFhD zWEA?-bTL-9I+r%*3B^krl8{##n%si43{0)60gWE@Z|P%$PvYTpD|Ng?1e1K`(4nWn2dX;SUATm`~;+Z1%%K%xXyo_F!W_JwWH7 zi;m>empxZmZLB&mdh>#_06997N=|E}kDOL)?;&IV82lEKfP4=v3Du)u}Oz|w^;za^I8h`y*`U{?sTHO z{I`;Kj4r`Om9VP(#UQ)DBnaWYR1btMi#*e)0AiQ&W z2u#)##qDH~_|)}aar6=RmuC*C6DALj{waY^XxSomqT65zwgKEPpG*Cx_=)IR*%8#K6$wRc{J(K97_6xYa)Bbi;%1}&mkY*OfsuVo8IB&g6!;eLFP>5 z@p*4`WR+0@sd(@@d})ISQ6^-}d>_T3RL7O@;jCi_c{qhCy=6n%G<<-J#I+IiNB)rF zus-5`O^><`2EvK;Tgjf8BvRsp67_-1fk)N%^3%&!5w{e-z-MF@pl&AS$d6bIpA8>@ z|FA5{{*A%#<%%2d$=^aw*>+vHP0oxORxO3gC+CSV+y;3Vrb3?j&`&W!#^kXR3(35I zapY~c2<*076t*tPCB;WpEZwT~+x%OEx%H7%8>~+ct>KY8Z~l;E4ET8b5vcm2g?RT+ z9HJbS!S57IVef1{6d-~VZz7kHu5WJ;i+`L2=Jhtg^GnO1&;HTGrcK$z8U02ga`G^7 zVf%CZieDLjm01<&W3v`?yGa7kDJDFx&Bpw0k6<1dD#MZ$A7*QQpW?hp(`EnhGvLd= z*W?`Pkmot6^>P+>$+H)}`rW*Kjg+*JI<-_};{uWYJ=U)g6BiMYmKOOxOHIUH#6Kj^ zKlI>%z59>Y96S=j3h+DP$HGt-XG~=K|8q%f;DWo0mq87BSzy2MVc^}wW?*5236#_F zfMXrM2)c8zYQGEEgu2@#9@&5z5=Rzx&Rh2YT|r5wFa`h+Q_+Rl?DpRw7{>q zYuSxM{9IT~qaA({MJ2zkfN5{(=P*IaW0@pNx`Bir~hG~~=ayyba>r}(oDQ8-s zpC6P#>8&xG+fC9yYh;g&nN}Q-W~u^2cW(f${b~e6WiCM@+53Q>!d={8TRET#HXsiQ zD8T9FabWwaodD~P1ZT9r-8#t7igPTY6Y|Xa37uJE1niH=WA% zLX<`b_^S&C-uzU8MrC`!`@@awsT5VH@2VW|Xyz#xDIAa8_f7{aS1g2oz3yf^j>d2l zCmPx7t0UCz-}KTcx9eS!M7Ay!e>QBs@@fBt5_=-$W{9JtDwUzuT35OBsi`+c1? zA~9-B)Sa`kDsZw1e)rBgZNkyYPiex+Ahg3;U(3ik>ft|2pR=i!ny#6aeg!Wqr1Qqj zjjv5xm>%0=ec^z$HT}mF`1aTeN|Qx7?FB9@sX{M6o^=dpJQB-kTX&o@b;yt%bZV1L z?q;j$_x(@TT3`gSY3p05nuy&21SA!*6l=k8@KXQu)zqVn0*dC8p3 zjfWt~C-ZEf*TcrqM~-#S809Q~|@oc;L_VD8^-Bk}PPYtM>gPSbZw_6ywz z;Q7~`9KK2ttJQ7+uslK?I1rq|$`CCF=3QWRkDdv5t638O#6#Ghh5uDfR|l{vK1#Dz zEm*@g^#8$e&$$C8wdr!)U8UHK8>N7iBFBNCb89$d7A2e~A1c^pbhnLI4am{080W|Z z)C05RUpBNujFtE@jXjR71?zJ$j)Bc4)_*}7)&hlxoXNs4_VG8XInZr&XxnEAj$mwq z&AQ>mtmxx`oN_gB;A=L{ez{^HVCv$=(Pd^>#iM3`)6PYJ%t{aT9zzxTOL#N}9@{EJv}h9(^Q8*?n{`~YC$pa$o_hAP%_ z^?uH8(*{obbP22UY&vjjr84{Wica7sVgv-Wh;fu3DgmLNQdr^L9W2*SgspY)i~8jn zBLkDOi6$!#NLpOc^0WND?W>gqbJF_0lCsUHXrj$4n=G5O;6*I+jh3tnjaOJt<-V}q zKL5%J&}(Ha?7Ym&pn@WtSCw)inP-pO%*NDCzY9y5s74k%oI(fvRagqD5O$pNPCmw>-!HpKi%it z@B6ym*Y#p)!5?Pz+S`n8wlQ-)HBL0)iJqvV!9}>$Ficq2;x1h6F;Rt`@$zI7h_e76>O-J?3v-X2xIMkjn9fY^-uo9Cvoel=Cv`q1g{>t@M2-aI#y~ z#CJTbsZZ1oeBs?~daM5oZGKF|C3hxqRyQP)@vG#x+W&0CzeoDB3sWfF5wQ@FX*IO- zYS>7eHk#`R9OC}GP!dZyhm-oS6XfB-bF}xyGA_tBn&jDZ79V@1V=YE6 zIk)&NV)w85+!Ve%CzH33TkX7#I#m}xx;9^AU#MyRK{9ZPjT$Z}T9WW6Q zT0TUy96Ly=ei&Cf_K0<{(>QTj$$PTskS=)d&l)z zjVGJ#hT$D!^XP>Pe=cvE2_1fSl#{-2m)gNxPJVf^wWLr=eD~Ej?o%w{erc+44-PEk zqPOeQ=6%;eYaz0iX@a6c8dY}i4j*#~iFjkSr~%S7vgZG6t=YYl09 zd52rKRgr5hEFncc`^8&NJm$dq49OYg81C!mUu51&YpyvkiUj{FCM#9!s9oD3JsX8Q z;|WJDSq{mE3!gW>Vc@7*V4kuHMxWP13-c?`PP4hVlBZ6ZH~A1LpF&dfI-it3uOm4> z$56NQPvrak2$HU9Mv8tt!kfFc<1H^V@QLDg$iF5X?btL6X*V5(Ca2Y)`yK$gWnxk`8H;Q7Q*MqOUN{e8G@Oh%&559-R|~(!dgPfMA@?dA(M-Qecn7(D8`QxU>st z#>J2DN$zs8b5Em7`sUo_*B4RoVI`C`l!zUVoQ4N~)iBGb z49?ni7Rt<)!G~;ph|cLdNG^Ud47@G_KU5Us=DQ`>Fi;hJ%<#imp-V}w0uKt4F5q+R zgLpGzj}P7~#nW~fTtHoaB& zSEn?JxN?w08Y*GuE63rfoE=2-XB635{u!LMsv-~Dx1-VjY0^QnGSVoK!ZXTVlRJ+~ zVDSNYs3ANLb@k3`kCRL@oYAn!#C=bp#Z<*q0nmvS8R}RwzGHP+*_$ue?}?hw(qc5q zy#df-SPnf0vf!>eW6;u-dT9NfR_N~k6E6O>1gR{XhAex2z|C()K}q=r&|j;_o{M#6 zTs%IARz?ER3r2%^uN%%NM-2)ir1uKtA{Ghq&ln2YGK=~4|E2K8YCFew<<(Oi{ym)Bdk^ut7@X$fQMm%E|p_ZFn zu(j8BILa*-yFBqAW;WOGb1fSTjMPz5hY4^~GsP8VN3fs$YVt|C6SX+V!bzn7-+uCu z`1cp%`usgmyL&aO)!&KK{*^-43@5bh;x9aYY#yRoHDE)?4sgW#1~x3U!3%o-!o-X< zxU16~ugzHixnN~-f8J9(-}M->UcML~)Uv?wfnFo*x;EgMMwoZzHdOk36N(dm>lok|lW688uh({&=(CzFGcVed<#fZ?fD}2f z?a2{vgx3aoLPap;KMTme778b+svw7By)a2S3;G#tgWok7C>;WzZSO0PF<}WP+5!L* z_M5fNAS`!hH#2WkyXeb$L(xp$P2tMMEMZK;CBd422Ep%qzR2#8wkWo*U7(g6FNk@c zDEL|MlmGePGJ#IRe}Z?*{_+p-_4t<}ZgB&C?jw9!b52_J12t;X;~~R5 zZ1aQ@hssXo4*#^{xRtxO2hp{3S=InJlpM$j1Dd(sH%bys?+)(0XyiO+c9O-HZqt31 zcgX0nCF1zcUEGmdZN%$k2{-!Vaq;u{1LS*ktT;s3jGNOjT5?(M8aKo9IoA<4UVN(U z4cY0cO}mZMX?k8cC+NN{QRc6rrz@4{4W)c;*`)_!FY`rWr}@8Vo6;cZ9n>Wc6Q*#! zZs)n);26o)iI2I*9eyO@?liiO%#x&M|D?->H;C~}MWpV}a$=)S@=YqA78f*%H-&3?{)Uk=wasLKV8 zu&Mto5zXIlrv(X^HMH+RU=oC6T@|OtRjBL&B*P`LA2x=V^Cwe z#Oy-wF~J=#GuGCQd)%c`rKE7ai1Xm6&!CUT5#T7v%XlAh#vib@jjxGf5 zWuMr>&ICp%)5myNl`n3nPXPoM_|rc1&hP zP#Io2+4XoC2w9toKiyFzCkpZjk&MGZk=4)u?Lmf3dE$WUa@2OiHFR{180=hQKpxwB zqQRSdPU_rJVwdTTmFK9EZl7=9{gQY1nh{HOb|>Oqll{baatAWYz8?4NxT*Z%9rITxi_AKH)CwRm8k#6qsY(u7h^=H-vh&o`it8g%gV5AF1C)=sYV$x}2nDued$HX$Ih7)OU~ zM1Ct0b!5{FCfuLkX)2wrZ0WAFMR3y4Nfe{oATs7&F+Y9-y-S&ZBi#-XO1Z1_Cx4d9Je1`k-kzW+GHWH3DT_q*>* z*ORR*J^7k3@E#QMhK>pq8V(D7{4Ej~$gskJVOLRR-Z_!)fV$|DUY}4>I6>HzmM7TG zR~C$W;>gYL$CCOGFS0SH2(R4yj|zrDxxTq|^!ca-oJL9wx!nB$Jyu3sK%! zDXZ(J#VyxqAXV}foUAkDf_m2Db7$0WzJ&}8TG@;Dj*}BVnKO|puvc+SZxH997fO}Y z0x#2X41gmWr1`%$v=;g!9N&BHXB4v4rGg-8N+;KUA1XItTJomtnuG8zBUBOl|S0{<{ z$Ty}t*zfpaVidO|G?FVA+eM!DP2tpX7tq=J2uHOTx~bfoRgWE@KJ5>PrOjyW&+k8! zUm(N>?G152#0PTA|0cdrq$a-H-AMfNi*Sv$A9qBpnW`K4;?5gcT<_aAnD%cGzlzhL z%Zk>~8Co6`%#X)wa#o@i zmFVI84Ahmg5{LA!#m6k3;&YovSobH?X#dW1l5Al>KEIbDDa}vuReb}}uP#kir88Ki zvk!i4%>)aA>ez$#Qdw!0GpyU&*KE;08`gDlq$or+Ma0%7i=J{3qM2#qg=cDY1@jM4 z!OXuG1!Xhx1Qi*cf^$8If-WMox4!X-iPol^HlE@E_Xc(+7DP^TFKvacCO-f`9#z#v$|X0@={}%+`71khjeS zpkz}5mzX3V$B*)8aC#`q>Iy-DyB5CUy%KrPJqi08W0CCs-$?Z07ucow5sRMRM@P>^ zKtuCl^h#qNn!i^EJv#6RRw;Oj^hRc@fXoDRN7Egr?{GkOo&~@!9uc6gECDXj2nBCF zuA+p>3S_dd0wmS0!5w-hu%n|R+_lV-s3w=dU1f)eM$QNHInNVac4|cHauZ?DUk`A( z+8th;vkujy%af^n7vRK!$KZH455=ok<7vtoNctE>t*VajiuVan_cRjiwOWR4hez}% zhnr|=jWh_KR|P}567ZsO7HQRZ0~^C4CeKY7O}>~5hD>+BSY0vx4KKqP-+b8v>prnZ zTBe}z^F=7-`yw)=6YT|-;yNJ@q z3MBnBiUdrprg3i%k^BQ6x!`+kSmU=be7JQPnd&Xg9q`-C-BAF<**FCsnX{d4Ch@dO z>nt~D_!>>kiv(}1V~NAWarlZxGjaUmLzA8yB3Cqj!0;X)817I?3O!gg zxh_QyN@Q?kdIH|IcO|w+$e~+*Euz{A*N{GZ!9CsoLae-dG0vWE%6%W18D6~@CwX5G zM*bY%hr=vykcur8=wnn4%F#mPphf}dX0o~D=~YKH;ZNVQOcVWpfS*$GSfbZu?!|_Qw!1!?~>_h)#u)a?gM*0phtyV;| z-A7IIY*U;dOK{m*|LB01QkHXO~NNV@a<8X=!Re(^rI{ zuAl3{O`bJcy2F6P*!@9cle0i*`E9VGnL|tU4gxpD{cs>M7vZZP;C0_(c5KH2IIy-H z9r+rI+7@ugb5aFXTH@gNgSYXT{Zjb)`7TLbmF{t{^VmFik$)cy>Rd*2C=FdZy%na`*yBOdczilU5&k7} z3Ftfsm4*Ar+IhFoopXEPnt)j3@W=$}7e#{hw^49IcPKKmGa)}(M6maD6BxG|b z1P`A|K}D@BQd@2T$JPE|*WbQ?_pVeXQ-W>q$?xxx$~1ZKY}7;8+u4WvVm`ov-VBiN z_Bs&V(na1g(!u#AM`&cJi>tqO!u*Rd>7RU-%Ouc;s8 zFI$SOK55{W%d+7kqvdGc$Nx}ou{XLP7=z44ZDOuH9*b6f_eNcTKhUzH5vXaV7!bK} zFfnxuig0fQYdbCQ>Xz>?y<#2QDDFi*rU%fPZe1uhwI8Q9E5MGju|&+1Ak*L(P|~4^ z0_KE*0x<$>WLlw=ou=-#=|4?~+D!gT;dN2h=3UIM;I+*6qQ%T}*J#FV1;fUu9bs3- zQ7~y026p3(KxLU9PC5v}G+KRU% z@*r=5Y8p@BUN}$HyxY>{y&Tv6)=T0WU_e6LJ+aqwJMOBcn9KKg#+j^=;X(>9xtK5( zd7O*ozHHhd7A=-Yg3dV87TH*oQ==$0aG5BvO1GyOUv03}DL%aHr^)SFZ%h|VsinU= zdpN%~LS}wTN4xkBP{WkN+>Hkj-1Pj-B>hMZcU3B!9F0Cj8xt^t zXxj0^O6+L9n0~)+LCr4Dp<1&nxixFXQ!cNbE_xk8j*&!U{q6;wKi8A{TEa?k4~#_(v}1 zIVX{NE;`Rm3cpV;DLh1bf>cT36%!hyy$%Pa$#WA<9-|F-LJwOvj`zL$p!+AomC8<+L=_sE$pxLn11o$n~}_@M$y zZw^D=qTg`q?)ykR+X5RaKf@KvmJrUR9Wr@PMX3zdlV+>o3dFLUH^^0UaN+r+f1Qy-3~;4+dpWlWPlf~ zx2DfD#$mHdR$TRl0`%k11h6S>IaU-;C;MG;=xP~9?EiKqI_?;ciw-oAt2vYDjq**X zNlg!o_u=FFZMD#Un-TGO^B&u}oW!GIZ-Ezkl%Z>g7JiqIj@1|3LUtb?k;uE+62o>2vgl71{;C)W3z|I0@563fx#MVbvf>+Q>`*2Bhx525yCF27P>&j( z6q5}p0Os5o1y7}n#)_v`;LkS7G{ab)6bCAi_97`P7otW>)h{B?ARqkhNCwI&l}3@J zx_D)a7uJO%e%ZCXh^IakMQWs=KQ&{iS%4Rwy{;8bSc-v0nhbvW>=eutDB)u-5{a?a z9(*fD4H;iJ4Q?jn;ieyrxc_XG6tMObC<<^Gnmqw9Q@wd^WmKRvI z$qpY({epaFl(Er?s`!C|6Mknrj$Zw&Kx}H1;8aOGy!WUT1ysaABj-Oj|8yz-d#(pL zxn}5O1c}`%eXANr~+sMf1Y-hOeF^r1M2hsh?8^Y(; zJ`1FMhXt*7fney*etzuxO1@*~MSkrsF@GRUPcUOimq6nGme2eR=h;4AYxyBi2LDnA z$SFAQRa9p}WpwMqwCZ^WSZeKVMI_YoT%63d*gF$bph8emY?2VQO64_1V^GrgOivZ1BL z>|&SwY}%z-=+iC)T^sI!O(WkA{1XbyME#6Q*9qt~bEJzetqT52N(4OjqpUnL4QMyt zXZ}RWv&EZrS>y5}THmGDO^6DpGCzAo!ryrD8$ZN*reJZ4j&Qj}xG11IQ}lXCkcgk9 z$priqF}}0(n9>1v=I*0Z=0Z>+qk8fXqx3OqM5hm7Hcc>KCRyJR9X+>4)bvqDR2rrx zQrPJswbhk?IHZYQ1dG7{zWd4_pj>9lwE@d~( zY63N(63{z!A`|bJ$Be#}3LQ`7fJMsy`10Ky+HTc=r=QPdJJP;EA8A>Lg1)m%Vlt}|+Kl5Br zJIX;5RU9y-jPt~E7>t~oNzYkOx6@v<9FFP&M8aVqWfazLJFedyFl)HKXd=8w? zx@I_ovdash@99)9R5XGIomdatlZ-*@i}7&SXcH^TGlcDPr-CJUjUw^FC}w*7S}01s z4|wMt!QjSBxWP^jVs%Y6^+p<;8=wc9KR#pSqb`FDXD;6^98I!Mg>T?dU> zx2<8;4{l>>G6>s2TtY6P1viT?*cPNDI38Uc#xLO5n`Y z>)>QkG?ycrZCX&rKw+dWcq(cs3WP;5b?C3*bL7=&34ZT8imNJS!Qb2XF0#n#5e*@h~s3Uiz_0T_^5P)-K@qt1Y@>a$Ns|JT4abh~uS~iMB ze^1~S!2$HoG?x5ZKN-%L>jrM_XoUCbk2;0ZyKeV~!m=fr3_~!$+IiV9rc{ zOD-6o^6&lZ&gzL^Fp!6S=T61dGn-&gSvbBsa#y=OKM3BMdt!gjYBcJWJOaX3t<{`@qKfr2u87t1vN49!@ zz{AX6XhHHBbn(I%&>goCR~k-&_99jCVVpI3*R>NKY+Z${d+h;lrxfTr>IzTVY}Ikt zaLBlK_jk*K{r3a!e{Kvxwv+@Bw@Qbzn0NB=MJLbUd1kvJ?#lm~8-oh09@j|Z& zJ^b+XQ~2(mb@=x~?()JN8+hVZMZA00R`NURTzH4QM)9Z54d?q5FW@PTeQEhtFWItP z%2|?{sAIiri>LVae;>HS;q4OD+B^way3y+M*GzFxtQ@y1t^w;UF_6qmF|-Oje_Ep5 z+eNQ>%Fy|1w}_w1_ew+{OPpo6mlnN_!zGiBigOF)#0i~kT$yp9)m5L5+~U_#v^_?Z zJh)!L{X64iwRcV^H_!HwWTmPa_c_3pe(wA&?u*Np#BTp3`84XPc#gce*m=n$iF3H4 zSm~%Ovhxm;IEGIU|7%H*oICzWysF5Q9;w?*uzwIo%k^wc$|l@uG+HOsp=yhnj+vP&u@}g z<62Jk2rDTVi@B3iHRzF95=p{!Es2a+(P~=gIq}$%OPqJdHL;CC3pf7IV_5B$CEk2c zS3IX6Tw?vTMqGR6GUbC4Y2^8+(x`*8i?(X_yvdCw@<%XMUgqc45 zZ1nVMcyA~LO)oSed#=wWs&F3zMmC}YGP3}bK zc?ykHX&0?0){GU|@Wp<_)0>1gRfj=TlnoYpd}1%HD`tWHH&(vfgbg_v#?&?vps?{e zJXv7@vv=9Ce#oAQ&v+?n5lXQ}DtDMV!?B{hg+BzBofN2Bz8Pm`HU?k$7m7DM>%fsN z2dVc*HBxG)P2+<0;XBu+LcH)B{@x5JKXwugSs#gO&%~gZ#m)4r!#w(;Snb z`3kZshVZAB2qg7TjyOFyLel-Bak%3#IBj_oD%o?9*yL;`KihwxQ6cBa)t5(bNsKEt zE@0WP1F&hQ3(Rne2JAvpxp5mzXqDF#JoDUp zoZUHqgONF|jMBvVMIPjMOgrTr8-=y~XJd~VKXPi;H*){#4AT0ih(wHNesMAv;7{W` zyyk2x`E^}^Cbg*$KEE1k_&mDi&~#{jXsW`SIh4jQ>)$;j;ndmith2HUjBugNn}k^O!m zC;37a*`}ePgXd|&&1Y!q=sqf~ph6v-W3WNcIWo_EES`4Q7yYgF#7)6ky86ehjsEpm zSU71vK-6>#aN^ZLcI8HOAh4LtSlP@J?(`iefVxov z%Q98rtQ}|h+zLDX#)h%{!zq0J(aDj5Ll64+Hx~Wi1(@XX)Kb>-6QvFKjj>xu|34Yd zII|efaNCu_bG(L0kTV%3^c=*%5? z{Myu#HmH0eT<`=u^<^TfTW(8kg@qx-_IIRvg#ld}q=+Eok7*6AkW_O$VUG+Fps7a} zKBCl|{Y50Z3Ae*ah?4eLqPX}aXzX}Mu5Z7{jl3anhv|8^UoQjCG`UXfKRJ-=W_$3d z;_c}1yL-S^K?BalkrN5e!QBmqQL|Ac4!`ymZvU)8 zh4b?9%IALQ5=^19Ko04Xd_?h^b*S^ZUbOy11^vcjNo{m9`s1+;XJd$VEh~ka>I0Em z!3n)7r&3I=u9{&9Eh7Y5vu_J;=M*!NQS!i{riE2#wFh%dZP1qWPFU!ah}LRU!Ns>{ zqP@?Kqqh%7G)1E%1noP~aQy-l?eqy=^K^nf_1}R5`o+!)e!>>KjbW`i(^xb9J$66u z1uHe{F#|SaFctMv*i*N(nV-)cMJpGWvllgG*zBcVB4bs+g#6QG@aX+a{!o-iYs@Xd z%)$q-#mfcPwM>8>IirEo<&*HeTRHMAjf8KWyn$;!MS`EsJJ{78Hqf+bDPUS=88?{#2bmFfeH zx_VfAvj*~ZWJ1*oH=vw(J>2^)kNx;<8QxeXM($n};JcnIn*aSQoF1_SPPI{m7iX?! z+)s$$llEh9JKlrn>VEk4MiMKRr4GIrWx+~=E_S=(RJ6Q78imHbVBI2zV7YuMS}lDV ze3;~gC!f-ToBwXd<73~#t@sp}e<}&;4cdd)z_V;c{2$<^Qw=>EIoxzt0;dfM!Pmh~ zDD7W{PU#$jk(SwT|MFE}bl6I^g1W-6Y6sN3*Bo7Y?1hd#{>tVqA#i5f3balA7#tc_ z0;ga)`{C zswj5j;@4^Dh7rNy6Ni)9$g ztC9y+pXIjy~TZYTv(4u{>j0chidC)!U6MMBGm0j7S z%kBlInT>x&Gam8>M2~07imZNX3Gbf^6NtYx@xR-c@s}Kv;!oVC$zRYS;_cgF!24>G z&hx#p)pE;|Zx&u93YIq(Ras8FJKb`^u~=BF=!sJQn*~n*J9fivZ&+6T8NPH%2XjV$ zN68-?Sa-{pqAw?B1Ka>dr;n-oOvVirJE zu>xEB`y426$%F;+ufW|!Sxoil9;SXi2G=HE1TWSlvyC0y;Hh;Zs9U{)ZT(JR`C9@X zcFX~Fv(EvuH`74w>=Y2sc>~)?M}^)e9D&d66`<4c33T)j!r9_t(a@f5cIr=i5Pj_# z`~J&ecye_F&=1jJJzcLN&j3xFapgB75ZJ)y@5{i}U`;G{tObZ&Pq1%IJ>Vsab&O#5 z@sW9+V*}+mcw2Y~RTl1s1=)(Mu>`=0-SsfB?Fm>lI~6=HSjVn~YHahoc+l~n4rFWn zgC1UA!IB+!newt1Y?AABxK#3w-8aIn8KcdK+>2(w@`P9x4od-Lp(!f;_y_2nI4oMd zW+Nl>cs=-Dq6ZsOp0F?XXu=ueLV@}eJ@%*me0XEE5SB|dvFnF@!OVVFU=Vv|L^Fv2 z4@(aVvp25+!!ip29vlVN-Q5YVO=}UI4H{xUPj?12HB#)XPyX=BMIk8u_nm3gSq}Hi zu>+Tj@3QtuB@o-JVeRjKg_-JQVB4uOcJ3Gg1t;DzJ%w`_wdZndK*e?~&Fe-JEPw7c zUyb^CJN^{%4{Ev#e2gPSVLs7}bon>N-@=rcb1#gU`8u5$`g@moGH{o?|Z?1-)Olw}ECBa%hlFQY-F z3?*m6g7KYwnK<`f20c2>86Vo`32O@u!~O|TxU#~K26hNB_r9JyU670q4|t#%wY{XQ za2n08vc|7V^2lLs7LJ{3Of1T!$on}~Om&qN{TMGplD?lK^^V#!cj!Ji8TAgzdSL>i zGEwcK{WK(PH$E}z7+QZ!k#mo8C$fWbsB+l=IlbTrdc5lz4Z9bKUpu`b5er)J4i5vg zElL$$n3aLP9tqS-O)4|O1}3qaZ%Tk`tSrdAu>z!6ZvhK->%rLfBW*;-e9^9z z^H7h$R5ZIV1OF#Isy2ca{X6X4Fllf&ekR=2 z@RJ?yYQp?CeFIb8F(lgXF<$gDJCu1~wgb3zcCvF)*NDzH)C-S4Y!}uqFckhXd?hgc zohQI2WB6$LI=&N69^8GmAI>}ZoMrc_f-tEOc+POdh+e$~Tsd0c7l-F1vtUeZB@-8_4aQnGvpZZCGNk69x1D;mlz~Yk(PMfX`;Fu@u<6mju z(8O5wyY3y)<=PpnhujiY?s5#AGfEmvxsky-c3)gOK0kuvkz#&T;XE}ASiK+>##+a*MVsHjK5L+#()^%W)PSj){ z&OQihO~0_F2TrmUArW9sRtVTIN1HV)xDH}>s)5|j*C6QdWax8C4LB?eWPGHHz!ShS zY}a16U7`qeGhQ*36Jmg2IAq?;lL7urHM7q&UGqxxLH!2#WhTr0pPJtrpJkbHJd|(x zRzI+WlW``WiLKzG5?aYx&HG-oZk{B$w*Rye17eWi!OK3 zJ^HHL{_wx_w{sTl^JU5XmN)3(ji_TY1ClV4K9?Y#96ky z!buVxSobrW@&gLU$*3k;ydhoew|NQ~5FbXrZ-pZEi#;8DaEO~4xrZ!$8q6t2FQmBC z9uNO4;}$9$;@myYk@U4G9L_jO0@`z^ns_5!aW9G$;X>}k-Df0vpqC!4Q{>LiT!BW# zhu|khQ>gwF>D|OwJaNSlZdP3~r`00H;YDWLUJD!Yj0(kV7pv&04XcSC z%BI1}JxIo?0sT}PPi8My=QKXpioK^55$)2Zk^d|!;f zHF_%Tnjgiz(>lz}>`W$O?wH^wQ-##~+<+F?COG!LmQ4OY!fHML6=$b8bbq9nrbbC03n{sdz^yG5ys+0<*`E_j_)lQHHMMpO>v( z#ov0PKZVg|v1jk|?aqa<2bD(nBg=cx=AY@0)Ag!iSWMMW2Ef~q8?6+P7D_4~R7ZXi(<8&wH z^tq|b%7sJ1ga1l}|K>dw>14~WS=#4CZLM-5o77a%qozkf*=sL_J(X*ODp_VimDzH_ zisSc)eu^U(GU^EJmz_bk+svo4$EkCV&Y$K)OP6rtr67ryi9|9tl!?vlg|xFGnp=9Y zmB_!EiVNyC;BD2il8p}1+!8;453OtiQBzdt?1yVH?yaWVQY)$Il611?L=>)nu@p`8 zJVgh56)6dsPO?2Mspwq`4K2TqjoPE=*(q14OE4?GdUzX^9Na}?wv^Co^@oYZ$nQVp z(<{6HoFpTzr?`D}FqOMrhkiaNA&ZV4CliO2$Z6$w#BRqb+O=~WiCub)3w$FlzVg%y z9X=RF2Txj2k9()6RlhoSc)}aH*Q7@>Paz$T{g9K0qFmZ6;;3ZuLlh*(D$UYTQSb4DS`!jN~TN zk__<9S>s@^K%G|Xmd1iPW!SgQjEY=~i2NcB6`ROlzn`nA{-Y~IS{OvKCx0Ua8*}NX z!_oMlMjUPR716Ak1@!j&BJ!Vs74^!-beC%r8F(NIZmALynkPr4Ui8w4J+XB7kQk@? zCu5DOLPFEj@r{tN)GpV6M)7R%+oVIZ>g-Co@bYN9xuK9-T*Hw86>n}qhXQrziXpr9 zMUlSJk9eKwaXjzoHN4m>Rd-fFvgxZ^gZ$&UVa$^u%#Iq#GksY>Suc-n_C4`}CTay} z{!~5u=*~_wXO##qJJXJDq!(h9HV*$ZB3N_LHvFnI9fz%R!5>Nz(Eht0p}(aXdb%b8 z8MUrM^Rll(8H;Jqt?C{)s5J|Gy>H7F%BL~%dml54mfmL;i*_=Fdw8PEh9Tj&g^X~@ zXii8K>jfv%ehFSpJ|yrOr-~mMCX%^LQ=v@!66ig=0j&*YM)peFQGksn>VDx12ZqP6 z>vfkQt%-Ng^dC>KrII(Ck**4CG>c(%%`GA+TZ5K$RI!DT`rxx~^oSNQ1Fkmy0hyQw zSZk64?B_1CpRSE~q&sGzm);?Gub~QbE}V})CgsE6C;vc2q#JI2wFH0uEk@##rO5P` zEUMdaVkDzJ4S5M(GG4X$=y*>obPboq_eF=$=cs?|kKWawQz{Pz#q|L;(E)4Q`k-{X zwcvqWJIWr}rPlkw2lB?@So799@L!h&IUBeZ^{?6mandw2WWoCR>$BH@y81!3 zuvU}3DK&{PJ3L!dF%&O6Yj9j(pjOAf=?Vmfdo=`Gd}auE=r%voce&u+${+knK_!2% zBZ_}9+MB;Mz?TpBmi#Z<`uHnl26#qy|5y%ISMz=d>)4|~`#{?phK-at!6Xk(WYx>m z!8Ud#`(f}rn?Jdjc^8$$Jm5;0hMYns^;9yOa_=Xb(zt?|g^ZX3Ei1tI&LIYdd9kr= z*BQO%2UxH83dZ2@WOm){NYMOO!e0MTE86q#66@bt!z?LT$o7gYn60N2*rE7twl+q{ z#8!o|Jz7z$(yF&?y`KTgEiPv$_{zk%9%NpZn2Q4DI~DM(%kj`%F~HZ0*crd8=YrT`MU#|LI1i#?zENdw(@MQ#%{Xcz%f)l{uN& z^F)CyH>S+8Vq?Z!vVw8nn$M;kngUkEDY3Vf2Qg(`vh1CD2J|s6{>RXHKh*Sxaa^gC zruLTBUFUq}Ikz;$H<2O|*(*g_wla&h6s6D>p-CYnO7`9j8A&0Ol^OZozu^9I?>*0X zp7;CpVh&%Huq|V=821Isn83mm=G)CI#`jSfJC41{swPfk_Ldv6>9q>r>$cc45>aHu%OHMqYi8$x2sb-J(aZ+xUGo%T4a-8G{bh4<6eR2zgfaNx)q`i zjVa=j|FXpO!Uf`>iOa=4ABw~;J$uFN4Y$P?4PS^ieS9mnew{8>+)*hOyY3JxpPDHi zvq&IT^EoTprW`7ISusRZlOYs!4VfoYd(>s?8!=R%_aMV|{p@WvSyy)2_OG$AUHYlq zM#w7Bt*8BYR$-ThuG0;&PL){ zvvtWxpLD{dC*dR3kHEwzGu(3N4efk94&Tl@4Hr60fyx7>*x13RD7f-(s??CTj%G`B0FmoidLv7s$~aqJy@doCJp zFG|L4diJ=l^*H$+b_%I>-yzkr%t@#vj~)*dknX8EsMrw0s|MfD+$0mjj>=~i>)tpB zJW|e!iy~AR1>fNy#o7+OeYOLZBue3$#bRiwy9(AXMR22z9fbc%pvkVwP&D-?Jfq@| zJ~Y@OXW8Oph@l6p`j87sRPBMI^H$c-%7@KAdz8@~LqrE>4iS~oMB(@XFX7*uMB&HU2u3M5U74129Her1shh5 zfL|YCnP5#9;3b>k4y`dj(@YaZ{gr3uMHNa`=NN&F{T9%Ca35^Cwu628B#V9b-+eY> zdJ9RPpG&p2CVm-F7Z<@U@Sczvo@=@z>6xF z)p%qCzerdXPg(-V=o%R4&cTRJ<)Aw-6x8Eu><2gss?9#d_HX(mo_VBzP29Va9a-=X zIHvMIr}3{Oa>*8^MC~)9Jnaz^64DE{a~i;mg>1O-Z1nY#0c`QoWEYRJhF?EKgDDfY z!#=ZJp!Sp}7?^H|DpvS1ZKYO>SyVYQMsx*a4Gu#W$1OqLMyg2T${Tiba2V8fzR50- zb<^j|#j?j&W=Q4_d&jCo-3PxeJpo!FquAo!cy>f?Eqgs95%tb!2PqH3+1Pb0l66bY zvG?}*vBSQugB6W&Q0Y|)IJek}d3K?cu{*PbEv{CFjw*3X#F`91@?F{Hie|RG)DNBo z4?*^ES$|-G5Zv+j!lkUy8YMLDuW~)Kr**sgHAX>Vrkj*SxkjXT99i~YsrWtn0(X|FhB z%M7stuP^$z{E#s0`W4Ztm@VRFsjui2+%IluUo5^hlo9&h)EAy}e?Vvk6k-2QbGOs z4L@FQjyuHK@LKU&I2Ra@lVhXtTnByfGbjuD991C44?TjXqlVB!*A&PUE(Kj^jmBR_ zHDarBAx;XHdAFxEGtwLFNJ~E+uN$3AYIcvqkzaG+nU=BWU-L`!M`J%^y#L|OO)v5H zH@D!;bU7jo$RpKqlTp}SAsv?a1?@YLNfTt9mfDRiNTAk)L)F$H>-}qB*uA%C$NjbV znk!4!ov1;^XDeX!#x+>(*gBGYpb_7k9FOlR*`Sf9?trP~D{x|NHBNLYCc0}2@RDiP zP=E9Tw4^DToLTINJ+qfU?MYMES0VD)?s_HU!xo`oj)27cHo)3@mV&>=3h?Mmdu+S0 z5}$vw4<9Vc#8!7hadT@HRQ$V@n2sC3r@wDQ^*R6H>oF|$>$JxQ9NwYEg!RnJApp<2 zZH+e%Gbd^NE3x(NPEezyi9#qdN|{RLE5eS=td zk3}wht>p4WN4%Q&<|Ch$BCgv>#r>ul?H1Bex;nmG*FLuQQ6DP zj4@%yZb@UG3!FjM%s-&XLj*tB8^PmK{a}20I&3;w0e2ld58;AiursX?W*DD_hn^(D zF5VStDLcRb`RCyMA5XC6sUh&!v;ceM-Y}x}O39z75t5WPYw?4@Qqe=sNW9HpirCrS zL8LMKw{ZSnbxF~yhN7LetZ2?=Ig!zWox*XYiRk8bS)OgJC%PPxi4MJ$-O_S5 zBKr#wu*`KdUK=O}eg2d&Z$o3D{CXdBDE=(Uj1d62S>7zpfUrcNmcGv@gpBKCw$`mw zV!34t)Y8(1F0u}3r1m20bX2OeaS4mq;@cJA=M&P?>??rSvr^AVl z>(ICLO$bf4BrR1fuzphw=v#IWew$hf=N8*D8P4ADYnukV(JgZW-?u@BR{vs-nnklO zv!lR9-*WKxr34jvtb?Ui>Y%151&tqi4%#;DU}Mrv(d>EK!G9b3(UZfo(es^6;QO|I zblq_^dr)@@n^f+`ez;i)w@mlxGYbo5tqM-3J_Rj|B2PqmfQ#5p24v1foaz zqV)5zkiQqh+O3n_VuK#CEnS%?cVH2!oDvD|v_q5^oX0BaPh{=Q_Oip*zcfsX9AP23 zp>H!TYoTyw(<#y6T~6XpJ(DHcV>U?!zp64hYvb8Bqpd)GQvqu-wTS&!8OM(HpAHVF zK4EwH^s_$~{9)t1&0wcFe`gfxQkm?>&zXRGgqd?*Dv8+iQS9DRAekiRB3bM;AYvZg z6$OYT;>3_zvD+V4anJ7m#Ksp5L~)0kg`JWd;qJtKLE!xlf&u&0f{AsRg7o=IZEof~ zLW(`xNaV3LIOTu>bUmAl67>$^>!tqa*?>J>h4WCYhcbBg&Kup1G{!Lr^K^ig;mup%HS)zKoVlOhc!h??YW_-%o3e7(WbI&Ow%X!;yWal;Ho#q1{{BFhx$A^){W3g_p~uO<5mI%nL%i!`$KSS zL^kWJIUK4SSz^F_wX#SEPO!E5rYJUrg<^?Ij#y2aE_t-7m9c3oU}=gL5Zy}yKUKDY z2`w4m2Yn4X*IB^6Y;`C;d>e4r%0bHIJAhHvgInG^!-CV^@Q(unV~<<|{|-(9vAaXq zgDdrz9a>tFD<_|dd!jh;h^&R8_kNnW9RtqXFGgE+=F3m(h~4T%s~np4M0y;Zcj^(Ea_>$ZG53 zMBMy`cznH&Sr=WDr>stP_bGFmp2ZO@Cj%T-V+LNS>XPMMkI?Mx2+y2tL37uu6Q#%j z)EIFW_7v|SD_ixbZ;~?hG=4&gzAwUlzvS@Mh1cnY>yU1^+kh{&M3ARj`<$v1mZ->i5P={_Al#yRBOEnDuA%0V*C z)&M_Tvw|$o-c1Yr){<}GjwGgY5_T^ihB_1&(ikh_r?Ns?wyOm<-}XZR!OpTW?n$~j zema?QMj0@2WhzSiZsj;Mdc8KeEZcKWo`A@#9VzJP+R4NZEy2+L1xkodC47>@T3e1~%4u#ye!F~F%2%Egc zOvz?)d|4c_H93bJHoPGtwZFk(B}%lq;sR;D;YKqrWYULEJ&~^5Lpt#9Dnvf&IPcLV zIJ|Wb+nv|s%ns@zZM_gQ|MNsL`Pd_(zp#Ls^mk*=u#;%c%Y$%ut~t5;;0S$=575^Q zDtO3<8aPUM9D1_hGS)K2c%f(;+-5Wm1Y0)Ym9n{g`m-KBEy;u4!6?C)|FP1no8nrwk=-h9OD znIR=(|CnL(S*E1xbv~(lng!AYA7FRXKK#zu9MxSsNBqk zJ6zZ^FJ3UAVT(X#Q?kIIB}BO0a-XoMsabDYITknp|vwg7L<#$Aw*U2A!^qCA!S;(Ia z^`b=~Kk(zZ3EU=!xxDC=JonronXCJeLc?FH^7os!aZRbGK|2?_keTWzLxyFQH!I@wCGXG9I2|q2`(n;FwWgs0c&2pq2H_h z>2{Ab+>gJGQu(@PWPHX*vVMIUT9ui~Dfyc5nre=8uG3LYF=P!Fcwj0~UYW06iyso$A3i`$qBC2H)q)6<#H5*3C@7_s#ud9hxam3Y=g zRy?evN_1lJUv8xH2I=w5ik$MlGVWYLfV5`NMLNN*nxFl{oxd8BN!{jOrj?CnxHVu4 zUo~08kDJ^;*^eShZg!P!(yz(6Pi$XE!?LxPv?EZ%NP3;(6P_$$Zg=({zHv z9(qPzihaGDxzBP|{H7y>H%hSJ!(Pivou&*B-Kj#Ud2%`*mOey!%rca3Hh9mS_|?xj zlBe7k?;G%5a}wA7seykx^oI2MltwPunN4?okFPJ|Y8Xn`wN7dnJ@y#Im=E?X#F z)N+_+JUdF)q!sds3)G|@WH`U5(1j1r{>=&Ad(#fDeD3S-JZ{bNZM^BygLL!QTcm74 zD_!^cCLg7gz`xC!O$KYXBjc~LInMkWk*iMT22$ntLBmF>zxf?rDuB3Z%{AWkha%sx ztdo1NPMM$QkjO8$A5Lq+Zt(VQYxuD6C~nlYYnixErfACzHFAMohQZ29Wo^OCOIsXM&XO z3sgS}hUv1|xy+y(XYROyr!LAT6IS0O@de}P#*}4r$J*`m_vHih$>~>gl}bKcbFhHw zYr9dXu#{wm?!@Q6*pMZfE6Czq3glMdNvsf4gRMXUntvt%lum4B*KU}>7JiLm1K%sL zZIkOHD*%veR;ZO|ZuF9Db7>UgiIc=pZr>!r{ecqG8DUsH$ApA|1Bi2I1g-kNpq`8q zcH>Dj(hSkVH~&3{NpJPQTU&i}>Zdk3w^f5I-kplXp4&mlP!kd{-Uj1Ma>V`bZ*aD@ zjVV<42URa;fd!#&VKPZWJ^E+R-s~aZ_PTgrWfp^V*)?d&nuAcJkdJy)7Nh@6o&dZ0 zShBfuC_XoE8m{o_CyD;!5S_%JO`_kh&HoK^m#s!E%g3RjjJ5br+#0mqJQL_otO1{P z$HOGe^+0P$7@kn8h<{BJL*u-DWc~gmUbl-t!C!aZy*M4&sMmlCx1zwO+!L@%GaA%thU1&}3XyI1TTr;Q z3U#j=i$e=`p!QetWMFN*Y#(ArGB&25t233+$0~qQzt_PH{WW0wr1>&#SDJwfZZTJW zZ)3A(bBVBOj6kB4I+Hd18p`f3tz}K*Ah3Qr4d_i84X!4tgE{SsL7@8;P(9;0@KIa| zjiY#|>tg`BE?B{H&2n&XOA$CaXaZ)sgs~^{&oVyOotUf33F9^Lo7h9cSKRAlAT};D z6}e2;6CF5mM5rI%C`>&%TzGQRe?k}0bb(_37F$S8*{--8XZzz?kH9G;L{Qn~OD_#< z<+FulB=6-oJS?P)-q{$(UHg?y*N;)7$pVOzFCUkYvQ+n%?5?%g&5DgO{F0!wI zcDdV;`q2!zknzmQf>5s?1Qlf-NA4PKD& z4jotZC-N`!jRI?}EP6$$wrWnP;!;K)(AXGw=Dj?ee`6XPow*VzIqgKTsrQgO{}8#3 zlEd*u@%YoN!&qOoLpF)Y!&fga#^=;xvDETBew|>6Wz>3f>DyX#Q`Zg^ueXL{oASZ@ z|4PBJDS_;$1K~_J%9Mns42ZK1wo5iVRcG$-j?9;54U#JJGRYb}MM+ED0m-tY2+5@F za*|D3=Ze?Fx6z?ob-$M?2P9` z3g1cC`V#i2c{p|R$s^_pW4QZnu9W_kaihye;Mtyc92WsqP~l$(fkUWbn5|S z`1w>PX9X^uxs$8^v4(7Uahkh&Y%&$Cup)L2X|!zELELr!C2DfiC)&BOG`Z>tkIz+; z&QTNb^e1!a?iX%cQ}R&GYD6>1`NHTFY6hbw z8KKRgJJ8&fn^4Nm|L~dhiuiD=iEO5iCVx`<@ioZ_yzf{hes;hcf6?^9dgB4!P=6Oy zlfTl_j+cAF|`|zR@(`}(6nK$yYc;{GaiItMRq=%^% zZwk~951-*BSsglu@rr#daW|?FkK$a!{Ds{h>W>cCGgXm|F({C%p8k)qx;`IlmQP}n zx13{h6n?Nh(1EdS3I!GTDSJHl4l63q0&cfFC6Oi1C7I!KVT;{3=7Yw4=H1ddaP?LQ z$Q>3292yFNlkQ{0Cbly(f2@)Sn0Qz*k z4FXn+*m|om>?n;q#tUs>hZ+^Kr<SjvXTwNuz=S~Jd;~o2-krg|62*-F0z0WMY;sc7??yzUd4B4{=U)hFtV=^jOcvjZ}#w!7Qgb|>}q)2ujZAR`_eAt<< zk+}6pER@sgVMjfl36jtDvDZd-u`)0LP}|r7e0@y8w1{KC;Z8d9S79W(IsP5vbU&A^ zC{JcbqZiEMm*H8A_=z+Qg8fZ65H0DN?} zfYfatn6|?VGt19}{V=qS?Fcsj|BmlxU30=Dw=6Rl-Rroq4~ASY z?Wr4SWn+_T`~0i3AZai{P-S{j=(_fpDC?n;_-aIhs8Dyjc*j{ciVh#BSvD~5vvEx_`@usO2qTA(GqU%i+!mU>Ogl#jug**Im1v!G3 z0+&~RZL7NW*eJ&ix0zg!kP1hzXeEJDfAR#N0d!c4jBOJf_ zDw*H>o)r5=;>js$RGj2VY@-tJeHr^!br4eLv_gEiMu(I1%p%*jts`Da3B;#q89ef* zop{}RfS14Zr>AZnp`@`2zIbv0HRNp}m+h{izw1}f8Ig-gZO$)Tn6Ay02S?CJ8%$(e z=hre}&0W%!Bby`ghtt0SfAEm+BT2~MYBXVY58A(l!!2o*^zznF&eK1KI&(|#jNQ}7 z3?~)(`KXlat2%)*)@;L8mK%|_Kth|ZR8#ZY(cCfHwY2?X8cOR(BCctwbWFxCGJpAJ zQs-v}GQOCRUw@w?cmJRGhoh{IUGSG&{E`jd8qJ5L>n@XYyBlQM{41E*sYFMhwd8Qz z2lPirgKl_eNW-pvB${qP^wi4$(!63Sxv05~B$Pg2)7R}K@3-~h8%1R_{CqJ57Ikn} zw<*3KV?j1=%|jXMyy?it3B*RX4ja;CG{XESy{&%~uX24tH6yo^F^;{|?$sCK-nb9H zSo}if2D8M^+peQY7UsDA_s zNr4ZUD=^uw4KDoYjGlouw6H)At50;sL1lK>>f?5NZ1`z>zi2dWwy8y3m9gkdRx(;} zISMWLeFvx+P6J(US3_pD5X3y+$b{}wW~RU@Nz&U(67haEk^Z>^;kyGHq(^(7*zNJ&C|#50DOEXhLgqu)v>W#Ck6pOo59u+R zmHe06{`Bsq)6zF;JMFGqoGo>UHRdl5e?hmdywCNxWZ4xi8Y$foi1;N|BZ$SvpS;ce zZG7Fs2I)*Fv8zvg!OK@h(E{%PTD^R>beW;h?gmbh%K2&8`Bzp-*~M2lr3s-@I91bb z=~UjXGW?L#)B7R+V0x$2Ch`ft`g9gPp!!FMZCu(J3EDq zq1=P?ZPfa+6>qCKURvW_YHv`Qz=!>-9<)t|liqe4;O3rFw)431n4i8oj<)Q7OYcwKEp-a{Lfx#2WO}np zyo-(sFK;(ldU4koDQ$Z~U!G92D|g$+t-VuYx8p%RKPT=iw?B3h|J~yz)mlD>X2u!t zBi|OA!XZsIO)6GQ^R+@K9X$pGq>e&5pCWKsu85vZRiTrfsZzd6mD5$9##Po;bIwbK z@~3{3bCYHsP*{BG=Fcw+E>I#bY%#dbRY(44s@V9 z>Wk2<>s`QdSTdNTz7y0$uK+bc6WQsd2F$^T3CxPJEleevBk6p>N;sVW$<*Jml0AjH z#b57Lk+|y~T$4cz9T_qcy|Euo#LF+y6*B_J)<=<~USNvt)+E4Q-}jge>BKwsekAvT zE)nrvA-3BYOy7CS{9N~~sPfn%eD%N~5GN}hmRv|fZK1aK*xa9F)``)yYvyrC|4hYS z*C-JwDJ6bMrg%uk0g}!mGNU>JZyLXg4tq3_>fU&ZHwT;0#?aBk?8HVAy!k$M_p}90 z)mmhB?g-ks#)zM_--6>hD3W{r6ZMVXi6=fwLr)VL>8b@|>Ez4_xF@BBJaf*apT=0> zzn}BDKl+_S`}<}t_?#sX=%wQI_j1VeguB?-=Mu7yRFY*;zLBR}?r>k*kKvCaWho08 zZ-2OS5;beLqJmx*Qa11lUDVb?gOi7os;BDYQ_NgivHT)+E;L85#FLD_b%1KjoI)n5 zY2mVlv0&n$9?_on9KCzE45#4jbiololIwHeWGROR7l-3iR-S&Ib`U>XQAhp;TqPe? z6{F9dXQ|F)o_?5J!PK_24Sme zE!uG41hE`igML=Nr@rRSg{vV#g-u8c>#M_Zm-VyHxVRu0vVzJzEaXpZpKN!_E|fq$=KS`+|`EC`qEl%i`5@~d|x$xukJa0^rT*@FlxW_e)1ft z>ZyLdy!QyddD1doCx1Ebu`U5k+PRHClP~1QY`kkX1vm2MS@QHPjNr`Xw{vDUlDLHj zKT9*p9`Q*-lDYh?z5H;kwRTeyt+=L)U(%(GANX^Vrr8CWO_Q4cP~gwLwv)C3OD;Po zmqss6H5S1BJT|9{Amx~m2jDlQ`X=@cR%4OR?U=p?)b{h z%5mJZTLa*4OoHs#NzB%3rdEp@i+Rvl}$&weReJ64kkt&uRZ;&UZ!jRA1Q z?f_I6sRWNCJplHr--A#0l##Yg2$);+5*kgL1MI@gz=^$H@IzlM+`98ODv(&hOJi%< z4gP7M*ySUNUXu&2xxZkC7hGg3lI392u4WKB!5z+aI{{r>%Rz2>23v4qu?*242=`XT zz-1|lpbn%!_NzM5Y}AHxuHHarmQ}$8!NS_IVKdq0kI&Jgba^ zPTxVQ7KYDGu3?Wl({8`i=fUu1j3Q3xlrt0LVgVaU};1P3SO z0Q=tAh-i+$uYN~j>%Z5L>PtuP^5RGE$Y?LQlXDY_JGX&<=>ed;Jk|F5sbbWm1bvE*F*#q2~hr;)}d9*J;4&JLijGl+e z^89kufC*-C$%AlYOP!#C+9Et}K@SM|xCbAYz82ZNISRYZNYG(n78vZ3vC=nq!_1}t zloxXm-+12*-Q@B>Y)cAy{=yOusft5^i-+M&CFj71F;(Dvs6Ubpm}6tZP5990V$_!2 z%3k(+19onT#-1-BI`wb~5UdLT4R5W{)$Aegr_Bkdai$2R)_j2c#31(X>t1&MlsB-p zC>DkPr-7adWYF4+vRnO;OpvHlh~(p6p%C42SS`!r4gTqd-I-P>=;lW_YA~FA|K$tp zE^CJNV^uKNwF`~*-pMLPeUPywtkCT#{lM^D722VA8E)-84bIFtf*NP5;9Y6qaD~}i zY+gSK7PeI4yn700Wy})zq}<^?>c{tLw!lHrh&J z2c(ie)^U;<7O9L!lz{!2zn|5+-@+Q+I?ax*H3A)8Zs4$4BIsgbz|ErlKyif&*c)yQ zB%Z6l12cDU^@|p8eqYTl_Z-RkPJYB#l3EWF@x2`50pm zsS4iorh?)A`RuUedLSixKl3gkP2#Vh2to=Efnz;xF!1Cxko|Eyvri+E`FrIHoYQfS zwTaLN!Yo5(Xs;5O=$y}Nm&ULj&gL-s&r9Y-c)a9O>#=p^6coG1 zfS0PDnJpuez={{CGCRORwnlXrH~<8!Fu$GE)9_}~(`SgIWc#i~)v@fc*42=k-^+5} z$4dUYp$*r>y0aetikVkGoq<)&W%lWM348zgLEyw}0t=*fBp;L)1DSt~&AF}(;};iz zMomq&bloXXsaq%c{x+C-@p}rha!deNQ&|FI4k@ztHp??ZmE3_@ZW5St(gBN;B%mAuG3D!!H@7Eg?-6ulf5 zCsOJS6M5dK6pmJ_75ui}Dp=N>WZQUQo^8gv2ezWFYqry7AF@>$eb_e5`nGM;nm}9e z(g(IvH-y-Rl(pClJBDp`I^Uwb4~(QcUw#Ej;U~W4&TRKakJ=V;XGccv6CvEd4ZR3vM0{2uheROJQnx25VQAZ zI3Kre^65hXN)!0v*Bbe>_F^ZUuF^;!+_B*9UwlCSR{X;&=j`M@t+wK}bbKWTB_HX% zkuqIx%V)}7IY(^;8{#lxFZHrm&xLJ$O4npZ)U1)mP5 z)c+Y)oDj{$1wG_M?~Cx=Wt5-hRZ4;q*YT;SUKxdGS%U?iW>e`b|Q8ZdS?f^|5MYsvzGUvN;Bgei^ z#2HR%^zdp;zB7J4?RgH!`c)>-?(t=M{kV|u`6Z+gEa%i`SCdx`DM-$$9aVcCqxZR2 zbiWL`lT1`Nf5#zQm}@ki-h6~xJA;t9Dm51z~&xC$n ze1!I0pUO?U^qBVUxr0`%9!(5wM{tupTJf=AGdZI;M4duzVBZqyq`98QKt*5lXrhjsME9#E-F!lxfg7K%HaiUysa@?pY?>XpS6zx>DQU^vGVMe z*7?lC^WBonVUEm<$ZW|8yL5@`mR89b&p{EsdqF5X-2>Faw9s&a46tKp5?iwL6F7ml z!8NmH0r^`q;k!-xY_H2z#<*!B2pskZYz^H4A5O^vG5L!a+b|cFmmh~B72?79^Haw}A8QHKg7j&rVfr!wf;DXvD*fFDz zF$P27`m3sNtpWv(gSJ5Lo+8lxu^!}Q>w)44RSJL1&jce|{g}SHgKWdtCYUWh4n(=NGV|WfV2f`p0ahg%>}}O<*5_+G zh)*34#>)pV+3_0el^qMgp@=$A5nv1s_n!wFDs*7Q2~Bp9oE#JrW0)56l6@X-0)&MO zcv}+#4)wc&$G0a+Y^RR`dzXiR-zRoKoo9wn^14>Cm9b!T_sju)_E~IKvl=XC41jm^ zIyTrO9WIo0v_>1Hut!dAfFmM9*sDpmpo?&iZ0D~IN}{)ent`KCOyzDyTKyjjugK~D zwJbIlFvD$@e~K4g=oN^5tQ{)Ky0u4icU_-&chOTxTB0VSS7FAqZ#HJ~B4e2J54p^d zs=JI^$0a5y`3zIswuIr6J(<#9bD1@vvgf6eEAvuo2&1+jO)^~+E%E9wm)!iQD}J!2C-d31OoaV-( z%mvxBFOR{UOOt8BsCInr*hIXz#E6vLu|Pkqm%ycguJ{x2AW81NoSKz4p0GCxajC-y zTl11mc`}8JIX;RE-*69ky5EG{&V%@@`YIAs;76Mj5rNwcQP-+8qNlryx-fBM3O#~8 z{ap&mZym?=zZRm8r)}}{FS_*p&;M}8(q&Mc-3}#n$t12|8VT5c538x9keN=3B;ryC zifAz6JVKI*;ZGC14$_r(jj+Fb9(|WTiG2QMirq`U z;`HKjRGlyYjTNo%)vbX>b~fuQ+KW!vuIh6T-+JWC?B1pWf)yFlx9^T zvihkj(rH^Kyzud=;PK=rG_(tlz*uJ#(li?mblaeF)~j(&<8x^6^#^kL6anQQU1UOD zDWTNg7%$iofXfdV!VrN3h&qnKaqgF~TSOJ8Tg zctwO#9%VqANNuJxTnjO#f8aQ)S-7El14{T@!Dc2_0H3=XVQ5P%n09s~me2nWJ)Kny zmM_%8tv4v?xD*WF*l_&hbSW(Pa)7)(5r}@*La5bQj>a}d04=L{VB0kv(!1->#XnW# zX~ihipQMh^Utg5hvk_alCZnXFZD_1b4!F7LG3#64j!vHx;DcRN*yNo7ymWIpdvxv> zU@fOWU)h=>i(o^b^Y$eZ^l>=qXJ3KaGDmjoHx<(Cd;!Lv-N(kbX|d6pec+1DJ`~sc z0q}iKP`_{~^tdJfacf?nlf`Z5?}api^A4lc?yH~^h(V8n%3;ur4U&MF;b@mz9Hc8t zu;Sj?=ugNYcINar@Ub}(-mi)VU;9F_zpx8VTl*b=Aw$sNN6DyoWGUEED#2-16QKFf zJDB>uLtlH(gHK+)sJF9^{SYMp!M|>U<3!HbZ%K~D%%gX0eQ$Y+Q^zVvEbOag%_39w z@&*MEI$8{(nstC}{B&R$s|PG<{;+e`1b~=_sbEC1FX-MI0bZt6fUV1OK<<1~Fzob7 zRy;$Qjd-5NpgMWxdUCMD!9`oLJy%iuQ_ozKP@5~95WxsTzhny!Q7_>^gL;9_&pCqe z7A}Iu>JY(KLlePWPjA7fSAl|I|Ac}XuLZV7PEp*9+5h;Vryg^;dG-WnZRZfY&i_x* zdB^qi{c*gBQlY)H>$C1T_pDE$qC!SO$X7~6!wh9)WVB05OB+eqq$1KFl#&r4q>PMY zhHU*lzrXMO^FGeG=e%F9=kuvNCyn-wk)rBO;x8>j0m(CLJua`8z8e!G?XZxi#Yc8w zPD7n83^lMlbmKp^qxKdFjq^jtS0=NcI)mu48dEmcNcksSrS?2Gn6X{W|6mVUX4t)W@;>K-}fc|(i!)p_w5t!mQC zKT7Gy*?!W(*qdxms2Z-D7f!TQhO?wUl+GOpljeUJ$+~B(p?+s~G6$i)ELDO?>R3nV zAd8DE<;)eSMv@_0(po>);@bY^TY)|_WHe;xp%JDCF6e(zV_-RzHV_89A;9^&wgl$#+V#N`G57v zgXULcw-zPUcSevkmTn||+%tmSHju0z3z%~2E7GjvBFk*8BJaMslC+sUIBSFrUf+5g zg#>D#<*N_yx6-fjr(;$4OtCTCH|iiaWbk&b=(H-A`65f4{y<+mWsQzFu31rRb4XpR zEBzw!dUQ+_B90TCa^59WbV?!9bmy~gEsJnznjV@LagYqG^rHF)5{dC41@g-%6D!!w z~ReD&p3jdJUT(pz%*j(-i+26M&n)K z|42jZJUnUt0)F8i8-A|*5_+?$k)M!7hVNe?H|%pN_WA=D#|=bxi$Yjs}V=rk^wDS- zkv_FAXm#CUGUZ=9Sv|4>MGFrTO&Ud>r`Qk$wfRI>`7ZVk9!`o}o@29uAKY{2kGLxc zlYW15svz@0o&0|`by6|fd;c!J+rJlioS96wR5jobgWV{?XC)1NVndv|MF=?=(~IBx zkww;Mx+Q1>`8Y2a*9QzGxzc&)|2~c$gG98#tI;5DUa6Vmf*aO0i%mr4j}D2i@7~Fw zFpa^)2TgOJ>&9caT<6Er<&G>Uq03N?qvpsSlrk&3K;VFIm?G;jz4 zX{CIhqL|l?J_lcfTEgwA6(Ff578IVY2j~9G0iBk!xgp!jBpnh1F0Obnr{1`OYrY=L zDfuqtV$`F?Y(0_*2*nlyW)9zG)c&Q?KEZ+m6Y&wmCaB% zDuqPP>qD+BH6-`R0M&oKi`0CuK`k}Y_<8lC=$n>TL?k~46F(DrvwjiLHabBc9(R|T z^2_K5hj8-s$OEc)K9Y#F_mha4?POea52#4EMW$$Zko1M~Xhqj4;v}#}<7hkjei)Lq zahkZfW}9uno~y*K@+dODJ&fJlC6EsGJTBXRo2W*Xfbh%bOV6%Upf7O>-mq;YJsYEp zvj(Z)p6^$&L(Vul(b~ZFC_6;p;C`H!KZUwa?~@9CuBD4*-0zDX?)dzKE9m`-m&DX) z4Q-z>m)Um=;A;=<@K5_j%rF1W)~3vpF$XM>qE$LPX8eFG`P+}9?}d}J>*Z|Ek32H? zmk4Rd?cqPUsgttct8|A~6t0?;Pw#yAhVw62k?a#1wrZCeXabVNw@L2ac*>#(*q<;YC&zcQ}OnVX$B@gjZBU1 z?XXOGoF<%Npa4dZiG0CAArdZlhZZaX_}-#sRMupO`~Fp*#7^ zirj8$WIRM#D8HT$vS7SwZ9a*ErFkq!M z66}A5muRG;pTTud->nZM3-pl18eP7`Yc+q~`8GNitB3Z#+zH02^Z<<^+30|%0zEei zL3yRA$op;y+CT0Oba;ILZ?X{Kmb=^dO-nM7;^;V}qhf_DhkWBd{CdH4TMtI)%2wq0 zu^pvuFGHCfW8g%WO88}g4f>^91_#{dVdvt>G8tDRY};;**M}2)q#++|%CIBiwh4S| zg@|~jtVfxHoB8!S{LuISp3jRO4Rvmo^Oh@Wkwdcq+0x;Syc1I4O5+f8%)k=cQFpW@ zHV}nn4&rC+AHolP7>>q@^l<4fIZ~jghCOB&!_dWl_}jP`d!#Qx0qQ5=p^duG?WqQG zuph~*26*#ZbVlF{p4-vz4e_8{cpt2v6NqL7)T8AAxw5tA1Uk)%(dDc@*sK$Xy@na% zm3rQM-26gR86-igcFsW0O#brsv&Vy!0DUxVSQLsC$y^JIj-fB%wZQLbA@rC-&@a0t z*j?s?$7?C03w~`-O`wP!5*ks4ioVQ?(TH8w>G8%cszmPZ3e?vZ$xk_hk@mWsP*pGv zR?mIGZ*v~0|8-=9S;puGHj8{b#h><#mcSFEIA4n(t`E-V#(Y)*?YF0bs_6>Q(X1VW z7g<4V?>(^Bvyg4@zcIqc%VrDZKSm2qz>$I(Zi<2c zM^(YD6FY3?+qZ&~1@^rCu|vQiVKet;|9LQKs}k>2CW8I4UUcQsQvea6Y;ITx{bVe< zCnEyj^fhy#<1z_%W26M6xRpco(OKZo(GQXstx#}tu@neaT5`(f9h_ClC6GD$Dp)cz zTw)!T2SXQ}29I;Lf~M|daO?hAaB8Co9H$xwSL;~t->iOt!E#EF&8h|}bSS)We;Pby z`;`l|TPwbwJP3IFy$1TCKf)BBRA3~l_KSzYMNRnFuYe*@^A6oTi4VE~U^!__&r0sF1;V495_d>@g_uhhy1 z?tYIXTeE(H3+sQvANFgZvztH29a93%DH(!zz7*E}p|EV~L8z%32)oiMC0o`ifLROw z!9^d$pu>~m+AWw6&Sl@Uy;-U&k@UqJnxGFJG{Ea2<)2JAlE1PrgQf&M4IbBW#u#n(fl!2}tX5T7{< zXRg}=R+orC{D1+x93_Est}^cX)LXE@Ngi}{Y=b{#Ja{98EnuL>jGNft!!O7P=4vxF zdCSIaAQ9+;<596dX@?TmdHM-BqooKUWEZH;uK$c%?jXw>7G*ZlX)3}u0Rf^j?a`u| z7#;D%D<{OswN2uQnVTj5J&2bCbtgzZTrZW}tGz2}@O>;9;{Q?NFFqj&IZ-F+modh3 zMxT>R`RX8Pc-tgq7E8q|edA?oqKzo;*-PPpr&_}3uo}VbIZ6VtQ-aOt4u6{$OH6Hw zmcFyz>DFu=^KiX&{e=|k#}jW@XKS@u&;09S?Wrqgz3R#w^ro1{YWyC)%q0VEv@d2}Yc4;j|KK`rP5ANc(x7=6|bo&J)Enw?If!0d1E z(k?SN_O}~<-TVi1St!Tft$4@B_$r|FlgENa@p|~AWIIaM?d0!7hs=65jL zL=!GbpuGLjtFWmV%3SY3=!?@*xINtzjlSB6mPM98qxHF%O)*AwOWUx@P&3pku;djF zn4*|tuV7|OXY zPz62I?LnS(R`~eze%?^+DJVVZ%QuF^AWio#d`ZYo*q5sbU0*Hd&#WBD@0rpK*ZAk4 zt3z(`#hG&e9Bc=yf`0JLqsJrH%RE2wv@M#hca48u>kduZE~7OM;?RoACVb#@B^08c z#E;iL$KSr=#!tvx0ZLoX^Y0RN@aAcWh{}KBW3oHJGmA91ZR{1^X;v-VHT3{es)^z= zh0EZF{42cgy9`uZIhtSmW(Zbqv*$B!?!;tF6R&-v5e7d#%!4aJ_`FF1XQ2o1SHo^S zk8zD=wwr7OegVnB*jJby-{xe=me7(e++WjY-{$3uuugL%rp26+)kDPE&0WuU|}~`=DmZvghiZ-mI?R1|GW5x&u_8W zlu_cmI>Vq4Hf1b*ATqkJ6cfoHd~MpqAi%+HC(V{f>I} z53-(G_)!eTK%|cOu4; z97^1N(x|t9Tnp%=mQTB=qSTI@EmW1pYq+r$J9d!|!7=PW-Xi*FPX<-ZF{1ldB7TO; zC0c%N74>$$%&JW~>GU@ZXk6DivU<-x;&J;A{tSmpohok9@y9)hkK_yUTf125w#0zs zcf4TAmw1X4u1H^O@?>3uLa9coFiQQ;H)*zziee=)a>E09 z?8gyyExL{-ynH}EcuXf=p{jWMhlR8#TAOtouVN2}y`X-jskn5>2a>Y>0`t7yK^>Oa zkcGX0{GR>rEk1pN3&y2aZP9)cF|D}^<8P5@+ z#dzZS!P3KrT$!@WwJg@@qz8Ek?ei(4J11Myti>99*q`0BuD_UWGiYa%fA!HCr|0O1 z)h065*q2&AJ%bhTSJr+unYu;$kQ1qA*rTnlX?4E}Iko)=t2z=xLVi79rbTIN_`7xV zlbRLtpLPQORQikyW$Yrin?fVS%r)lY#w823^+_fBp2UH6b0hw@e>R_)se_m4RNzrH z4mjj=2d+A$N+xe9!_`G^@r?mYY{pI@ocbeN>DY=Z7hl6ubB^K;4^Ld%tco>u<)O#( zMxZO(qxn`rlF-ESYU45&-p%`h2UZcQ_c*0PHb(06a+4A)Ikw*SUi#lx^Q-ojXM9@cJ zB5C(j2Xb+`C7y^5;GVgQ=w4?T7oz1OwQmn+n?kMF_pnWvSDed?{GQTKV??(uuB8X} zC{btGdE@@a7E)Pu7T&WZe;RLCPSswgE&ZBtO=O@N@e})@o`-uatR{{Z9>vQ`5o~NQ zTPkLFh@H&od8!>%nmyy4w-zEcdK7N$0VHh}B_i`7=;-`#Wc8mFZH;%py?IjXc25e& ztjWNN=acxkMNark$}23oYKT{aZh%i$GnDJMiMZFi#b?d$U`6FSI8MBhv>qCX1fCO# zQm@RLv2P}}uod8k+UDf&uMQkvya8MJP2r*xOOeIKIN5n+De;PN$H>W!PqxBXal}U4 z888ejwjE5Orq9Nw=4A5@RSU?Oy>kdPFXUB{yFt0=V0kzR>>iwD12E8Fq{@v&pd z*cqn(SU!AGGWf9H32$=X z@Uq96^h>A~@&B?LT1+^IQUto})NNHPQq@MW*Lyfc&Ffg{uL&A|^f>bQQ%u&5_=eOk zY=-@|58$&4>d02zj_^-9u&%Q*3H2+)2@%@-xTK*(ee^Q z_h&!Hv&Mgfe{V|2KP!q<>a}Qw&jqBUund!vs`!u0ztQFCFY^k^oYUuA^?SaGO@^C? zT0SGXg7h1U#Ql#HxRNU)Ie}&?&p=%|-1=$rah=3$>qCvKg=re(O>_LkJs^A$S8@bf>s!S#`} zc>PIf>ccuZWAGJe%+jIKFT*_ONW&?1rdBOd3#V^PAw5WHebHIkbx$B&wl9&D;%9J~ zj;8d)kt1yMT|L_q$_Y~4_+|9xawpn$p^Z*dNThT48fjV80_lQFqiM>+Ew*7e$ktuP zNSK$q(^kk2mk#}&W($K&q++>g%w^_9>8h23Y4*m4Y7(edeVy>c0)C%w?4_ z)$#br#=8BH{u!$%J)h`mi38iT!xG0xvzh~?^&7^rspAx+h4c*Lt_Mj2J7ZX{zdnk*=+9nF-Ai4w$4U<= zoM-EDQpn)__Xx2!ldc^eOpV8M+G-6nGVPR+^yZBJq&rVeu)F;!kZQIE+Fp{a+gpP- z*bO8N(CUF*bcXhKR$O09zD&);`DuWKaL6cKa@*{=-UDlum0Du;eS5&ny#IK)`>klW zqzOE&)M+XNn6<#K~>d~P^$5qG? zrxuKQmCz8**zG*Kyp5^Zk@133zP| z$3KwcrE>?t)6>52cTRnfagK(9h4sAX($02tLTeoP>tlj)8%+7MZ8G1^&SbpY(-y^a z-9h;iDtIMY4~HE0K$Y@0(19t3vC2USR{E0zXL}Z-=kt1S*M(+el?3|!}3&JQ;!A&YhQ^Nwl3q%7h9TAOx?&pWje?JOID-dCl= zyuS~5gX=HRP}A82zi*Je-vvkMTtVeB$EjDrHgw-48C^cIlD8S$2osvZkY(^N?Dgao zekq$9O^R3x-*-<%-k;9k5fh@&ljv6HGp88_b|O>*Ch?XPdwI2P2P~K|8ZDKyfRL32 zux!j;v|!{QY^MJb^*O&ro#*ePjIB3eb>)8iJ!~HSH@%g&G-*J))ea!n#zHj1!UA0} z$^+UNL1>ipDq6dA1rGkuh*GRPVOpy;pPX8cd>=38U)!$2!>&tFMcWYGL3Y0vsMn1W zwN3d&SH_W7^}Bf27(jxe)}uRpyZHOlrXo$(8}K|i2={*+g&KAq(K|ac((IkuW1H)K zUgDZh4w9H_L7a6&635mTbF~W>fxSnwK|AjVMIW5tP38xK^$x;>z{jvZMwY58){o58x{HEs465E3I0ZOM7AxDNFxJ_5a4>^z$3(j3uQ^ zhqtEb@-nxzzbfCj&WWO836X>ip(nOKWG6IdkT(b9@wR)PkmIZh<~P%wX-rHcMgc?E zQ0z&+zlg!Sl88wy0$EaIHhFhZi}7M-_U>mdjj8)eg0DHlW8?NwrF~|!(=&?o9L=Re zo=4*;mAkQE>_$4Y4-nt63s~yaS+vjD3xD_Sm3rKDpw9BaxJbU39bZu-S2VU6W#ad!^%!S5nij>a2rokpni6WxzNVSDm||CBkI>l576{ef(+cgN4pBr>go zEwtgJH!i48l{N<(v4n|9L~C@FRJpeq4>&B6=B&4&hj$EPov!9IeD^pyE?0n~-f9vh zIbb*})XhTe`~jgg7I322Y{0jh^Ttb*`13v^(EJ-cNP-M-`s-S}pe7Z^cm2SQmu!ge zMJlPQP9Vj1^hxitF6_Lj4-Yj?#miO3;3qc|k;&#?{Il_)XjJQRw8YO6wb*>*7k_xq z_tqKm`XlCoYPsy%(jrk)xH3a0%E!HBxOFya69zd7YT2aQP8r^7v#>m z28MNeLmLNekeB5MpDjMcPnP}%625$fSH3mDfEj;au8d7vzBLKT#U{Z;9jAepO|rP( z+7~{4o(&?yhoNtFneeM`hvd_X7Vs#~6xLhk!APOZZ$hJB=BNw6JywYHADzZI`!911 zxlPcuNW^FKGVDA53lIYZuur-QjyLe(X1o`0Ept=B*6x$A!DOS{w!ySLuc28sfjhW! zTzQi!1(@EI$FSWsHFSW=Z1qdGb({&;!o@apNs^D)XJL1CrR> zH6Z7`Hk3Th<^HSQ&Ic;z0UytKVD?@&KE!Plbcg}ceDp`ym1H7$HzSUVY1IIy z$0czU{RUjqW)1FD_fl@QVj?%?Y#G-eWB+~{+rX_ToX1%QnsV8q5!~+W2P79Xl_g*2 zzZXBR$`B_UsS&$fdn8VozgDasc~qq5kbBvSO=G+&TvzQm@? z%g*M$sg;eP@@bo{X;W?9Koy(%xY5=bjX8A2!5(`4hz@PL^%ozT&67*cQ$!;v_WnrAy{^$Qc}v*lrYQUtw7|FjUf^oy z0%Sj8Bo`N7GQ7mPS_igM2&ysLEjg$Xgs9hCkxoDCl85y z)mK`cSVC7%aU-vn)#2~zf3drEI8q3x)KdEzpL<~i88}r<*0k+G zd0Lz3Kw3FjN6w;8@3ygRAH~vHs{+Upe-Gw4L4>PEl}Oh-@}Ac~WO-Z7caxqDnQu&0 z$o$_aVB5-kRPi>QsE+z417%7`sppw?=Lws@>$Jbi{_dp z>o+&jMIVP%aA(3OJh)B9G50MUe`!3NKZIExR?uEReC zPNc^5IUYWt4}H2KKySm=@l&UT!`h`&!P8Ca!Q};wz+yb(Haxxn_P?71e14@%$l{X{ z(i6g6YHOEVNSGrT*>OhP_H~yyc)qzec}|t8^C~IHxSwPLzO*y zVZxsX?%M}nz>UuVl`DR8rtQCFF1Su`EVGqcxosz$ry|D}uWaP9>WA|CdOEmq_lF_f z>TtMMaW&XeI2jIii06*CAa31?bk63-ZP0{b`Olx-!HcANZhtg_I3NrDIl2c}4nF{b zT4RBUwymt&69@{!yOX!0 z))bY1Q@kgTzkL8G$bSc8Q8u^T;S|u=76gudJ`Lrjl)@!*<-x(QHC)QIbWolj&fTF( z&_m({%CG+6^a6*&S#iza=?67%#+--VZ_jf2wuXG|vN2FPc_Jv%l!FV-tmcsaD6Ufw z&3$x#r@iNAoAKI2&azJHsEyv)M8W=~AfX`uBD3~g;{WnAB<7bZ#8n2W{si&t4=D+N< ze*Mhfs&DKDOP$M=?4uyY*1!568P}K(mI%0$&32fNHPVKdkZYem( zrtE)(S0-|FNwmf@f4l#Go?!fE9q7BZhBfj zj2VS$Qc|#&U*s@}*6+N))<@r!Mk~x?$>Fj1`mCL#Xmk}d+&hol+`r$}D8h$*n=qD6 zcaCPYbEDZu`Ws8fE|F%G*|4RdRBG#0!Af+3*sx7WEb;4N(&v~(#+wzBvR&(0()DuN zEnE$28h?)L3^Jg@rfb_?4AW!|wP)F_IhADfFogeYZ6MnvRkSPJ*!I2TH;Wmzon&o( zz}__ispP>z_IBw5dh2#9`dc7RbMr4@6I%o7KIbs|y6!0Zx;qIsJ^n^s4zgl58xB#| zCk13h-CsKFdk#IkMvX3D^n#Zca ze7^|(%amqhW0i?sYU$(XJF&QAw=U_?*++JrP9yL6Og@>)a|e* zZh6XN?7t=W`rS9kaiKDv`N|VNdh;F~ZMK_-;L$7Pi_(h3Xs6gb)7JIki_mlGYo`>7P zQYQ&|Q=rdt@&o9IT`YcMeG%2mvTFR5PjHLi0$Nq%j!y?2LxC5k;mieNN&5K`KJ)V# zEbe}T%YJR7%x*DmpZNxTNk5L(&)J0bPp#n&i5H^ZYT6{~>~XU5R41N#Iv)Cn)}jcN zDTq!><1HbWi{oc0MlH`&Bba@>X@lP+SrhjB>J%z-%EeZiM)H3vtls!-|X zN(2@4>8}f;(Zt%LP&=d$rAV*R|772wKR|qS3;`noC!pH7{=84)a8&r!6&w02LoRJb z{JIgB;hN}g=;*#J*jAy4AG>)JK3>(2^q+?EmWugUWkeYEC^?I&3tezU@j0}0Y(DCL z?}%Q;G;m<|Ido+2Z)AQ;)>}xg$DO;0NvgCMpXy3OW`ZvK`oabHRh$72E4uJ&GvDZXH|{V#C0=Q^ z?{kDz?&96T8h;=O%JJb|%O`L-&LZIZ_%v+W7{$N0P~yupnqf{+C5)46hr!oec^5+o z?^~nDI~`lZhefRByEJdX>zR{f9pQ6e(v31Ma)LT{ZRaeGi_+sZUK$2g>8%67s#7?{ z_9U*z=OAbJcd2AY+xztwgzB4$raigo5l?_@r(EYEOK^A30To z20}`)$=~y6ma#q0dl-?Q+NTkJ;0@mW^$`-hDMN~zY>3MpOC0fXB6#EN!6#d%AjK6+ z$u2!j8LRCWRK6O+U;F1ro|iW9F?Tvi+u&A2vI_a1DR;3_MGM;ReUP^t*MaS1nYnXL z1vq@F5SNu`A-8sAEH$ivT^&u(>wY7e7q5nY4*HLpwh6F(yfM$_*^tB`zU1V;nP`9b z5NxDii4vmM!c$_3{vDO|hWUQH^|vB!*!UJ6-L)J|5+{)fEkkgqvCLm)8UXL@nkvg3 z&gH$|SR;ubnv7d0hjoiW;PK15;fGoF*!)Zh8Zy`y9h&cf)xOlAeIHf%l-S9{Wc?)k zZyUp^9e2@|cpZ$>&f`BLhTtFPX94m+6(#J8LRS1EY|aMbj^uA}-|ofy;VpOZ+{7q; zrF1Rv2~0zi5@Yy>`C+(UGXFfappB)V3#bscTia zHP=>1Do(eHfAqSGXSgxZpsk9cm4X%GE5>nR&-N5ioUe;$*=;+Koys#|meE1sc)J}! z8l@`yDvlEr4)I`niU--IexAqPzl)^heg|mij#4SGeni9af|$1FF>(iPBxc9`DX%q$ z?UPXAW0ukj0|kM}gPaaTvuS_c;tJ}H%|?3+#YB|N41+9RbGzPqs) z3v)8E(1pB|+s!gWj?DN=DcLf^gLU3_WP@{`kj=GK(yLPsv%|Noq{&0iv%-2SwtK^9 z)}OqGrrFo=7M3=Q+Y!n{c9*3gCi|Fbdm65=Ehnp6N7BN<4y1HUqx4mKB$FF6g6^N- zDm{qGS%20pQnE8v`XeMx#vVB;{Q%;nbL&^J2b$gNnC57*((o$rdT^H*U-V+#k#@Gr zbwgR+@5N-|$Q;@meNFoP`2aPx2xV>i9ukLzpK1G@i_UM3)wX(n>9GwGP$;9 z;>}!{p!_cN7+XR@Kc15=*3D!KPARgyqisyi&WX8QBfq|%||T$r&@J_$)ElV1NDN`og| zklNVfu}{aAFmhO(&9}%Vb2}Bt*dh1G#h2 z)b25|n&^nfsTW{HIY06^;x6&>q2#Sd*1am&L=O4ACPU1liLQAF3DF87$-fs7qwmwn z;Dzn@v6Uk>JXwii*T*FJ^PI4QmUUq^cci+K(F0R8wP7WKD-69$E7Rk1?qL2Fw>EhKkBqw1BDT@u1b~}30 zDla#BVMh$Jx4loyqHBrQk2;yhqZ}zY1QT8(lSK5Uu#;LF=|fp3YMhe-38`!+*?%vf zce}pR0DO)9RnQ_XBTd<{bMaB=< zlcjx)IO41&?fd?fwuZ|7VXo|^4_DkKt4{UN<^>w$=DuX+K5rqpWn9NAHkRXpttnLF zOe{@rFeY(U5om{I3EtJKFV*Xu!zvR~@euWN*t3cwvm>HV_~}3p?|75T51`>ND4k^5vOxE29BGbA~;GSD9be^b}DtoCDb-4_B+4&b+ z7nFuC{#InSA~Hyw*j8%f=`Q_hQinf`*I=THiFnhuCK8;}ftNoYt`~6ahv~zP={Du+ zEu!rwzlgP`tAgYgn(&ToE*x8)%wHP%673S5!}5)D@RW&LP~oL8w8BFlPm0XL7PJfJ zo~gi(UMAv=5tjI3YZ6NO@sdw{bsi?{n*k^MXa<|l$(R7kgmA^jQn3D_GEiPJUSc~k zN20S?Pf`=BEZ%ZrkN9ZQNy*uT$0Y}@&XPPnc}OyL`!sR7*hr*m7$Nj}q{s^4O=-T~ zM!e4>8P`uNr)mER=`ii>bX4V9hGhHx>nktOL$6v|(f^(H-(D$w88nUTihF|MqNb9- z9}3cv%PB@m&wa_&Qht$Y^-du9^JmQ0X=A_rTb2fXOr!p zkeLT;*%kL!`odV%vOxkc~51oE-4 zk-qU5#{7Q|#h+^O(YI6Y$+dSEu*>81Yz!+QM+P?Fp4#s;{^%KUd&5lp-?)uzM4pgj zsmCx$zB#qIb%JjEIY51%WaIvYi%~^ZAgO72K(#$Z`(kaLj-Q|IZh2m7_wv5j`(~3O4bsRg3o@v#hQMMr1n9Il%@VhKm82EP1ylx zz8oMWFUk!2X6~{aG`mLxLRNs8ZietlqcaTD3g;(B=%O{lV$sp%tI+k~^4RZsDGK}$ zA>(hBVWlyQeDIJb*H@7_%mEgJm4h=I zqrq$R`xtAMbC6<}K+}UmcCm(uNJZ^EcD7qy>R5Kx8G-dK((Sd$1k;rDBuybp- zaN78O!Mq#qK(})#&{?_%)aovmxj|F8qRDsQ(-KEcUP}*F>n(zt&6C7Ufv>sOD@K4@ z3DZF4@*?io;Fpr9j5`1sNcpt!rtqBoGfBbX$>7a>1=zFgf%y6$4RC(D8UXWMfzrx$ z@$7j!z`%uv@B_QX1--5ZJ0$j?uvG`9ESw5fx?G3K9P&A5ND>{1X5+0Nqfm@IDGqOZkMn}Vs+^k7vcX^a)%QE{YjOa?gKseaNAtqWYG+Q zsxx5X%4uAV#F-zl%Lv3&r1HOle}S8~b->a@Utk;N51MvN<5JTaxu@#;!BX$t{2R?2 z;IaA;H?7+ojw(F^m(IEjY_2GPvE5x@AgW#59zP0L-&qQ_T^utu5B!M|LYOhv;PIybn7;70GmPK(=2Y4<|g32>;reD@RKA-tO^TVu7Y6d z1RpAl1|3XQ@@iTmXOngg%t_l025po%RPEPtPm^>((|G`FCoKSv!wySsKdS&5XI(+! z-h7y#HwdJU(&5HLV=(kcJy$24EII0WhwGX*T03{m38MhP5DS5JoVAJ937fp-azfJ! zE~0NgV#SX)w1`zhHj7X7yc7@r+blj1J3*pG|C5mZ1(LReXvvAc2@)S0EXiK`U3`0V zh4}TQY2pJj?~5!4d5iAmbqWJC!i5<@sY0I*%0kbONrL4OdIB8gU~^6YZ36mjZ06`^ zSd}FfT6r$GZe<^`$m#(aZB?&Bt-?O5Ssi(H%JPWDTFd0e|54#HU3Tc=QF2mn00n*g zg%^B}XGLKKL|N+*OIfQ#7X6;e|NDMN#s*PlgWrd<*YzjKr|JakzdVZ0|L;0cKcT@? z+Hd2j$CUWs^g$%2yB_U-+C#borc`TOyv&sqf-PoGLet+|AWc&S(e5p`iMyvfJ?{R1 z98>)dn>r@2NmC=}#Xl1I=D|j~T5lmWKU7ApjcmuOmg(@zxi->cI)P{&UBqsR?8%Zh zw`3VCV-l}sKsp^KlP5cU=^j@Jz1Lfa?_6+Vw{s#{jax8|mds@xS$J*k-DF1pbmfa$P@RWcvnOR@mya-6`f7#1GgV&O~!fn#`~E8+ z_aD6^X(AKa))`BhJWhg8vo`W8Et?EC|4r2&mXW8fr6}pSB{uMUj89$rhcwO~q^WiF zWM;EFUX}KdB(X9&aa$gCdaup$j3$%36EB#}zhLTk>=jlF&5^N*v+%fqyQt@wf-D<5 zL;rcr_mTP4*utmNP@u5+l0;Wa9ZJl`@g18lpmoW%_{8>RWN2=U!vji@kIoYG?AQvV zIjsmq{kFw6_fv6Hs~zr`;D#5~$g=YCC(w+axqRPadw$B_p}d}*0!;O&0(*9!<;0su zN%Fda%KXw~LJ z!W-2G;ZVyYU}*OZ40g`tqATxk_sz zj2yd#{%xxPh)=Yx+rd< zj)YSfTLm(@b>O@g1CrXwBf!08J@`UD6PS2@=WZO!2B9Slz-!nJaJ4%C%&x_-Y}rQ0 z$uh-?|rC{s|*%tJvlp8-fnzQ@u1s_Tlz#RitP;tj~&dqD7 zWZEn#H?93LaGq=dF;CoQ-MW+Cw0#-*Tlb0nPUApwt7 zbh+ep54nU{F_Ow%^SP16N!%AjGu_1QS*Cp@C#`L&M52enE26m4Kp|E*D;)I6QM}2s zQamwllz6Sfb+JY4N%4*Jk&++sni9t~b`rlVSIHT*Xw^sRf#2WVU*4I;aT3y+B z(Q36pyw$@`URGnq>sp00-m`q9aKjQe?YB(O_hl>NqinY-e8mRJ({b307`9xcob5Qc zSBBe+VT-G($WHV9eBeGkru+U6J2BnUR^H(;ZM^*oX&M1(xWYf_!HCcFU9&lH-RQ*o zb_iLqOAdLxWPmPsRLR_XCXg-t44?h1h)YhiuuOwv?C>j1Dv3*C&~Flz`+A)!&K+Q% z?_6VlWA6yu>v}4+I*>CLjVnHttYi%0W8>e z1nx2FL4^Y<)K2vu{a4T+8rZ0^Cf3=$pN-6or%Tty z&~}z7 z$S#chN*Bv`CO!XS=seu1e8V`N6+$F?Wjo`2=KG#wMHwX`MWvxgN*WrJO2bG+BB4T* zLd%GjG$|`7MUz5BMN`TzQNQyaoaZG9=V|M+ zZ>)1=J8>R#CnIgGltvrrJ$&kJ;-jBydADMPAnf*Lcrr2`tNXa)ANERE{<Vg#9kgz_K=Ov6M;CoAqSswM)2$K@(pITh@}%biPS3iI zPUgix=jF5E7rAUGzd07}{<8<3srtaonCZpHdrfB^>M4SrwfmU^UiSsz19t=pZfcC@ zly;`LOP|p`o zEL?{@%bb!p`jiQ%ZD;d%N%Xb(ZBFM@J6$L?*PXS(V2h;byLA{y=e3+bV#sdU=7Q5@@gnM|H@7H6O` z@@TvRYd4oiyN8OfPlGYMmGX_eY&(q=?@gksfB&P(zk=wE#JgyLTMCMDbR`=GGpR!U z4>I}eeQNXl5jpQCL-bFXvRlsA(yxaHXnj-;$(?tKUcWv<@=7Yn%ffyzl4nG3zvmN& zpPy-Q$3FV~(={}$`T*XvogriA4`HJQdDi1Z85vt2h~N7J(n0eGcAIT7PHb;r|EcdH z9=$(Vt>*o79_W&ErsmRjd*bj4 z_1+yzmjt4ilU4A*<+U(eawdLeVGCN+nwUKqevGzbiqOtpAgEpLE7*fB@E6WI&A+^G z1%K}ap5R6C8@?i2%J=!o6CBJt$iL)G`E!42@tO}5!X|Yyh#xwG;@!w9&zhD+V z51$1xO+Lec`=;L9HfLJy@ft~G;TfBQHP>-B-zGo=hlERVou?Ljd2;$2~v(HQureI^t4E4l7}Kgk^fV5Mmb?6`C=UAq(%1xN#bu_@fV=@v8VASaxlEDe{8o5xI^r2^+nREG;)V;L9u z^U%pE6%vDQ!dF{MnBY0nz`HFIfni28^u9L>%(hDvN}P^>ONT%sPXA@`X2W4i-TREy&bWE}LkB$sI?hONQmu@?k}DL5=A{etRw@Wz)~X4W z*ZmealxYiR7P|_?|BVv5PI)VE{OTv@QFjz{@jmgtjuP?D8T9d+!diIx-|p}(dY1Ek z6GPs&k#D@vg|@tsSBjQTOz&I#C*@-)p0L>RPySqsMIF%MXI8ZN(K$=a%Y%ZwRD||oa1T_37g2Dd{!an1(C`(lS=0d7FPZ3#j03zrZ5@h{;FODgpNDC^6>x2O448Pf z6Ii=yVIKb)M0Ses&5}mM#2!blmM(%1z7}FvktrI{c#VGK=^(>eimo?)1|lsxbaJc+ zdLMiV_lr+MIMECXcT80!Yzy3fi$VF*cfb=@n-KW!i6&KLF>_`X zg71qS!ByKPpsnA(qMh@{z<0+aY^I?ru;B3|iQ7&AZF*ab3hpk4kvBHuI5!z2yCENp zQK*G(vrdC~D;@&XkMAX)xln72TYyoZ>jiVkae=2+l)~rx{StgEu@l;_lyLIw5*Qbo znM}&{Hs;xhPNu@Wh56?GggFy*llivuF4Hyb1(VFX#Y~#t#_0IeG5nbA%t(|H^SSzz z(5*2~c)4TZW#Q#!RyS5N2 zYkLK2+?xVtFA1d6bYIamZj-tETy2~c_ZkKrHlzI}GwEob$%Ite;*H7fz_kA+*}wS* zo;tS^8$2H-GiS4O8}5OrMaPlJdoB83y%ROdi^IK-cT=k^VOVv08*V#2ir$oD;cu(P z;i{-{)PMF8T)bujc_4Ax>u23zBD!bMuUWgWVBaPsmHD>FlomART#Of|HJ>k-L)(*-5{*&^wxmWW~Hj92uaClp=Jg{E-FJKMnr!EV-l9#N4!tH$DYuND4Z}Roqvm% zpxsim_C*rD)Vr6)E`Lf+{yhyXQkJ9J*A&Qm&qwI0_hzaf;bS!155*O|9;8eCHraQi z5>4FiMW0pv#_b`ptVu&Ov1i-yOk-^_^wtF37{kDD2W-RF-3ew;U)%V-`E3 zRY%H@cJnv%JxdLR4lRUNRvrSLc2b~Re-`sC$bfNwqb=Ok?IDbah!B{q-N3)1$MGKz znDaGtMtGe)PCR+VP#)Z5$y?z&h8K`CpZA_U&%3O%oIl0apBKI5s|b#HYyJAdQjxR$ zWYH7eLh&-qSaF`jH#0Q5Qxx}2(j~qXOC^#_aro$7@dYng>jsYDPNghkkN)I~%vQ(R z1PKyEdqbzP>Sy4WNReVo zk@)NqRdM)w0qbs;EMY7z5j}}i;cnesBA%=}L)5>bmc0-=M!fXYIkAQAe)h7pvUq;D zhUogvMDa(RK~Z~~k4Va3nmAZZ$R0MbWtX)Wa`hj&M0Tm4tsQng7Wp_H7e!|qi*0Xb zioNETSvxEZ6LoO0+)&6Dk~QI$=<|3Laiy1qbz#hIZog+e{dhirJDT8Zt=zj(v~$N; z76kzE{YQZ4LB?wCwt|&tr}izenTcdCJM{}yTlJpQ#8a-LVySre$~Ep9t1Z6D)8kq? zJlF-Ylf=t%Cy0Bs!>sp|=8HBQe$Vasl`dMkNmZnhD2+e=%o7=OPZ0g5xKaFA_MFJc z@-kfzGo1x3+eA~nPqD}CO2kxpmuTG1B)0X^RZ)b#jCkIH)9lT(#bUc1$?Wz0PsABp z21TFLG`SY<l1xl_w>+ z;P?CJ#0Gh~E_od3{Ph`)o??jfbrg_X`!#qZ^AmI=OQG_AW^mNxO3GX8K-z zi6qN5i#8^$K^Dua$tKfGw#Q0}Yq~f<{+!gIg}b`h{0q-nmtGa_kop`VT;_`&pOvPg zX8lDOTrgEsKSrKzQlK-wQp{f3gHt24xC94V`gn~6-92)h+P%uA;g>#=gz_7l_a;NO z;+!g1p>>7LFC^^4!LfAPr)l)zyj*y;HJQ$S;z4goI^?O@Qmo^pN4Q{)9`QP0NAwHh zal+L>s-G3h(wCVy%u}12v$2}9TzZ!XTnN|dkWDuk{NQpX8L@^=QuJX3p;gJQ^zLEF zPPxsI2DE;pjGnPbJ|T#ly<-bR3!?3EZfva2 zeO7L2DAm|D3hM-UQ^j#=q8E>E({21D98@Pn`OPco-rXxnRGAS?|L)0Io!LZ0lh$Bg z-4AHGT_OFhu$6TQNFmO$i2e1qoWy@Sg!hfAWV7Yhvume5WbdyHrK2~eQ1N*_I}qVX ztHjG;#;1JRKk5QG=iSb7zLivbD+cq_zu;&eS@u)!5HI*F>CSKju`BZ;vv$ph8pj%hUk!<;?=NP*a|eq%Nzio~_uOwrK)$$LytZkICs9;eg zyWQ#pd#F^Ob*pG$4RdF3l`Dd{MPFW#H+~tC-`pd5!e$R!{E*?y7Xi9(W+h44`JKGI zbyC!z^oCCM-9wyB7DM-QhU|}xA4vCn3+{+lKDRtaneGF___1gXK3ueo_Ux`?=XK|h z_VK6L+XdfrN?{YaN9Z;`tb4*_V+$x zc4WYl-MoJd2`=hF+o%GaQ+k6g{CtWF$Oxpdu@^}pZx#KyJ@|3$io7(u>S=Ec2{}c5UOIu9Ok3uP$Ut&g;QnDltgwv={z9?k*<61X5QN zN^&yJVxx8*aXd1Yl*NC+_ut>cqZSK^Ou<+(tu_uXSyhkr$Ecw_C!^u2o44Td2an;k zMfni`ejFbJzeJ8Ic2V zIi`x8*XlGn&YJO?#qB*IA_zruvYkys-)4t_eu;UD=0kpHKM*?vMAZhJNZ zx#MAI+3SdQHG4v#Qz1IP;3a;hunGIMor9%jZ^3270C;nxk2!m2E1dc<2}PkW9%zC_F*c3hPXK>Gnvq<~2AKE`50IL11 zhE6jKfrpI~g!R49C@U4$Dn+16PxgY7l8(=8|NXGu`Y1?g@j)NFdXYx*H!!wU70r&m zgA)R*;48ruoMfB_XFOO!-Y)Az7ClPv=xHU1V|6xM^UMm83Pq?rtctcT)+L?~d{KkV z2$&dn9eqC>iTl4+qCtH(RPtvs)IqM`W>qXazJCL%RW3*W?gb+sDCr*DP=c54E0bd( zvJ%J7L3lc+4oo?C6TY3Z5mdG+!H@4AAYEOG^xQu)YybIx5f45(KD-3|zPke&X=3Ck zY5ZCj9s+N#{)gtxO-1tSyV1zQ-|+FR8hGRfgO2)CK|Nnx;QIC@%-{129os}cz^Uh;KX@j3DRlufrB1-1alOU$9 z{3R0}lEO@U`j^Rdf55~n*9H4yZNSrDTd-#`1>ph+EL6t;VmQPcw0*$js9a_i|MO;! zylWS3s7e=(o;_U{=_(TbsI(K9IE3?GKhoouzu(HU{czdJ_1j0Q*?X^AjT{-aY&G|? z`q3yU6`%CC9FBsPw?DnMFr|GK*2`8~e3~4Kt-KdvpV)X5{UZzByjyxz0`psa1}uGBE@8F5L9W9OP_O@SIH$!0tXtVlx>Uj>7S~Wz;TkGT30;j2 z&QJ!U%aza;*EG~Dr;hSREd(6@2sj!x9zHj#f^qY8!J_#ZXrxFF?KnOH&VZe$zSjiB zRTtv`gZ1$2{A<9G?*>C8?%em9twN1{4hF5Xf&2C(V5i_TG&nm**ez9tboZD+(aY)3 zph_DrxPJ{=c%K8?rryC(r=`isBc06q>hVav=M!8g$?a5_Ea;|yUo`R5Ph!|}Ux0d_*#Ntta;C3vKJ4o}0yC^e zkoNq==)8F*Oz<^_cD^wrSt|@~Qm=uT_O-%Y`uZqJQxUX>e**sb4}L+h74Z?lyw)&E9ZLn-Jo( z43wqeE*J@eAR zLss7}i+R^w$MT;r>4GYoqe8y33$sdj5fgNmGG>SDm^Xo@Om%rAqonnOsWTn}N)oOx zjbDy1Q+BLl#{QVjl$}yw4kV-qRf{CuPQ5FFYUfpg`i+|eY;Ut1`aRCFJSva`0VMU8T7y}62ZJ4h>Gp@CeX8a9C73`jXCTlo~gEv&eG3RY3l*HFx`q8?Yu&lmF@=9u8m_a`P8sq zWTH8}WihNa&j1^CEFczMO4R>SF!AkL%NG3_!(LfoLkdnnPCU7W_UWn+&DlDf2|7R@ zjS1qW9KXvh`lH4j317e|$Q~dYq;zm~Sw8;B@YxT0pK!Lx4AGMP56v!hU^|*7von0w zv6{(y=;T$uh)ek=xZ=!4c5mc)?y%<#ku|T9Og&(Ln>VXciC~9QozY25WZcLJwJPZG zUnyPxW)>|KYtYrih12GZC0TA&=va?Eu32`KZkkfXs#ciOtWDAEznIe!HvL}`c5OZD znUcVk-ss2ad1ch&_gi9ht&AQ}X`-aAjrq9Gk3AcDft_K~!G^dtv)UbbC~t)buPl8_ zKYw>5JEKpt2P=)}VEzVDb~jN{!hJ>!&MJ`k5>IPQ!DdpMuFJh$H$b{288>O`RN4ug z@w}o0R14qXqwkXS>7_KYxrRUZ)%qL2o=s-(#o#*lPcj?m3|DAf-vZA)r1;$?9b)=4 z6+c{}itkolz}&JKq;@hTHY<9t)igPBdhugi-?|s)+hw81wO`>BRvx}P6AH(#xP@Gz zL*ategTjnGT3}J|Oz>vb7^dB!jR}ADjrl#koEcP{!j$cc5$-Dv5UxL)FSu{NRWR$J zv|#S^)BGn5dV)1i+|VVJNW5;yM8dv|MJ{S>aP;GJbnR<4^q5Le$)FcJBMb!h%zWUp zM1Sa7x*T_%sey&*=HTCpRlt>4lU3)=!n-p!O6G_wb3wllmhQO+S25GE;HWLh8mA1$ zuhwi5gh@>0WeAD+LV86@eGCeBqT_W-wy68roi82=}4^aINep zQaP`O2l9f!oHP~mw7?N0YK+6iNpFzsmc{VT*bC^w=V0)C_6W1X^&RuUQx#nf&BRrC zkx+w`^l5BIqjbA;WE9m4;|>+T$q89t#hXcBeSItxhwg=`${DzIq!>Q6l>^!39-wZa zJ-O>I$pmch0k1?W816?IESud7&yVv!fma@+2i+aF3mLd4!Gj+=fX%au@LA_Mc*blY<8kQ{%AYq1rtdCA z-c>osR5Knl+U^7My3fH44%Z=9zz%Hi!VMH{2sO0B>iTmxx;Q_tH0%O{EFWJ zg0NBXf|Fqbg3Fh$3oU+$CB05rrf#PZ<9PHiv;N!=b7gx5^D-}!@z^Y4@;`?t;}8<7CUxEsMBqv4J8FBV#&uQ9agG$zgZ5 zPUDRJ8FQbX-D7PWO6kEUSt>98fVCMb>2o!_<&KXRv+LiB$UPf*E`S~6u2wm5A$pqh z)&ynLaW;hI7g9^RqZ49^4YM4y(IEGs-&*HwoO4h~m9eX`0ft`3%j$0|E&Q(0G zAbd|RQG{_2XQ0zUW)voJPl8gZ*P2%9m$r;8o|FY21Wx3N4jQmE?$_Dd>zuj#j}#Y` zTqQFs=CBcOjVbkU<=pjs*asuSq{CsVh;7f{mj0YdcgueBOxPoSaE47Hp=txQD&D<^ea~$AfL#@Px!|oWQP`qs`rls$?5`tk}Gt*>uMn z2YmEiIy+ACElV)mBE_qH)LrKhPLMHYH$K0?W!VbZNo)bpQ@DwI%xqZ211%)EcN9B^ zC(9`=8l+h>qwuj#e_~&j##ZQLNM=(yYoPO?)ava{`ifg2~KNmB|o#H#3w224R92n;06SY~Z#jB}md=mZqQik4^O~v~M%;}b> zRNbiD-^Met%&ZoUJ1KbD@|LMhnSf>#&ctu7&%?j3EynYX&BL#EjVJQQx03ng@?_tr zKR7&-kOkT2$bTx8L_EKmG|c@;%r~7Q_l34(`~r!O(Abn5d0vR0kzO=71EGSzL7*xa z5ALgWGltu9m?FKUOrW0{h@a*OI&WY`%Fu@ScD0CEcutF{bNnsPzgQzkyV)Sz*x4-j zbkdUBtd=htwtmYkl3mQrbj;_@TPBH?9hMhMPw)|~nYoG8$xx)NNujJ$)N(HJb-svk z2#<98#j zdqN2%bL~0f!hF$UdvnpO8NXP4*(L0(`FBX}CTG@P!GiNHl@m=8^SP*-vh3mdPPV&l zzqsjIIM+Mv0QC$>!iTe`b46psbaC20x{ic!nPrIk>3xK3N=l@^WlOlNLu0wal6T3O z{WH0y8Ypt|d`>IJyyjj0lit|Q`mIUW=Q6=-Kf4rtR<3a(O zReMV0`FB32a^M;}ui`elX$!~x9W_AB{#da;ZQJ#XO{L8DEnh4+Tlfy>JLfTCAMP5BRZ^W zMAJ|#*&yLD{Tug#yl-tJBNt2wP|m|0JS&_Tc?b0#sfGVybYXbpA{d++3b!vB2d{=) zV?Ixw#ymFOD_k$1D;zqEg<0o!3$2sYh3YMUx^yN|k4-nwsjJTDV*hQIV9~04=yKYQ_{blkLrMeadie;sdnXPb*ooDjpI-D;%6Y2e7K(jdN+UyMW4g9IfxYklk%Uj&kJoKKk4BHb2kf2JkUN2u#C0Hw zdi~WRI-xvt^2Z&#_0cz)D}NDhmG_1cQ6(&Wvy!ME$ipuJ{^BXmXS1h3A?B~nfcs|T z!ztEDctS)2wUxMmU+b9Dxl=qa@P3E78jrBkb+YLj@nIAweT=+6GoC#BZb<8PtR|hm zN5j@1=SiIxz$=b*VD*yyWKW+7@}C-pg2%rlW0yTey(LH4{_PN}n9W8CG>kO9VzEIV zMF#(QQa=-nizg4#h>vDOEp!T7&(~`YX`2x0kZbBD=>1Hj zc1I5V8cBd{E~i1(j|QgHZ8CFz3l_diJ0!^0$l;F?$MH9kReXPc#IIg6lV`g55bx!i zWZq@T{p{7uue?#b$GqMiXa3%Q=KR04TljhYhxusZ2=BI+8n5w|BD_7X5xy(i1ANyn z13%m@kHM*;iA+!67GSA$jZvC$9&o%eSUiltC$05NV5pH~S8fDw&;{TXv5M(h=?pr1 zf}zFUD-2il2XyOQlw?UHe2b@9z*pM{tZu>JbJSRn=wv69d&C0~Il=HWa+xC)Rp7{!Qm9wq1|E;o1U5VOfSse0;gGulXxy0(3{Vo2 zQI*5UEtvp3WNI0uGEX>n@j;k3dNXr%|6#Dd;5D-JiUgvNbmsX~eTMN*2I;fvn9;{p zg4>}5P&G9K)alI?wm#?w_uni4kzxD5O|y+mLvT2#EH4E!x9nzS_A2mE;B!?UfA_^7g%AZ2Rlz(lsKkWfhk+lg~!}`!L}Q-fpMB1v)1f3 zIIz+c7{9iHqYul%`iN2xV!V)f(J=`s=12jR+E%E{{sT@fOPMd36+qNw&Qy)L#oUux z$y^P)HU1;<*3X%J(!{{Y#3ESeXzA0f!E^jRo}YWAj~~BUK{#W+vrx2GQTVFkhM;sr zRd`G}Q5f|hPAEQXBV457Aym@T6`F4V!ZRm73A)3I1+6>x3fiVZ0VhHJ4pav57cQyb z$2iOJKMvGc&H3WY!>#QMKhqAy)`(Z74GiELgZd+19Tsn5})lasY+$kaHrsjd^R zm;8@zlle&2Zf(TPo%%T2#fFugvX%RwFqaMd5``7It|Gaa+laquH17JLMAvJ*rBgCz zl8(SSWO(#FQoUWrI-#3nyJr+G_Z&^VHcHVlV;Nk&a};-5*hVbcmU8Yghp7&HN`FQj zBy-!O=2CNtL>FeR&keU%=rP*Kgpdu{UF4$5ld+Ht52Lv zeLT@I$iQ)Gy6i?3XLeO=0liY}N0&uU$J;kaBb#A~A2d*vmb)CHqowZ=eGE{uOFju7 zwUdiK5leDq^s&Lw^JvY@*Cb|QGnSk0LsGY@bA2+qi15>T6jdTb#}=oMV}IM}%-Hkz zv*Q)oQdWx(dGw)kH*;y%*D_jqM~S`Oo=L*Cm60On&-7mHN%H#0S}60NoUC{}n!GZ5 zMiY#Wl9nS)NS$E(LG*wM_ASE3k=NJ|ZENyIgTs#^6lwg-c2a#g8e32QM63Fw$k0zq zHur@zJrs5gFWIwz_6nQOvqxE|b*~rk?G4io|F>y^>-+l_CQ)I0?7vDFSmg?oR9`{k zosZCoAD5Ba^c-}uTXF|(SH@-y+7hpb6*fr{VEs@BT>fV!?$CORa!+hV&&Eoj4F6;B zCB{%{!*Wn$=?I$DZ!kJv>zFTlWSAH3M+6r>s|)UQpW#ns%=q(;l=Dd8LEgz!d!Cy+)95!sb$Bkb|gxAgM(jt;+gtJDAs;A$~P#$ihUz+ z-wiuLSvwS}zL4<>Z$rM!Ewn`tjJ5x|LFu}a5R`htkHL3n>S{%N-K-K;sn>%Z3oX1L zTaA>sPb7Kav8>+Zo9N$Y2e5l}BU#p|iKe@8MEUm>0P}{?rQsWBVy7q8_??f#lhnzO zQXP32sD+l@FNJW^d}OrJ34ega$dWFk({|u9fs1_x&hkPV=i_UCKOIds-hk z{Jw(LB!wf#|9G%R>l!}x>n#3ay$@P-x1j?s(vYQN43_a(ftv<@quItMh?;&2$fqZO z;)aD_g2ba-z5goSJhKvi4)n!3;lb!B$j4d_@4j_M>%#H4>Jcql-GH!RJ7()Qc%>ub-!1ttcp{xBb;1lwupMS2)%8Yi3QtB&Cv zcRJ4t9C*h6U}`1|J-JV?Ry{;0THpkFGAcj~oC?10m<7f=y$0HG>M-%;UU2>p4^ICn z4MUb%f>RQgb@88rLW|eCh3l@52q(1u67CwWCEPXhoFLJ5q99A>m_W;s6JFxa7Yvj` zVWsRhf#!Hw!JXV|JnakP`QuDdc%gS|tPbi~SsDJVvnssy-0EU?o8@2E2DrQ^6vnH5 z2RD{~Va6o*fQ5a1@ZDSqWiIhAWR@RetQ|`jW0OzdFWUrW-E@JIy@LR6zXl@=IS8B= zO+j+q-q0X)D$}*mo4K5S7~Hej%;?mHfP=p^z(92(=yc2wmVhiqc|sfvo>aq>udD%W zE^(5Xdj^KwGXM*di(yM`4p_6#3i>X~0w;}nLG#E$U{LyuQTQ*FIeW_-ZWT?1EABQx z4ckx5vs*EYg53t7tX#sJc{Yt{Yu*DweD&d?=3H>*0E9EM`RIdQFk{lChR})$pwRU< zB63xrQO=qv>RKXsFVY8BFYg0443ikox7u)1tPh%{_6Cf5puy~0TLwPGwm^%h7O>q$ z32aW4V|xBO%`_S*!Wpx=!J?^iVbWC%u%-K9h zC*NTr{mPj5M+PvyHv=%DRN=a}pP5ysq~LCYGT`*l8x+Shfv%@HQ2U}R(0S4a{_D8_ z6l%M`w8vusmE3;?YT2OZOfz%s%ogTak0Q*`GKSgp693f#6Yy#zgo)R21uh1wK-w{X z=D;KYv@pKLJmDV)8Z8~bs?;C6%b3FGWvM{T>FR(Ee}TJ^X7tkXG)iNS89s=UF|QxH)9S)OJ)Sv^=C!29@t2WoLF;d^&@Jh(pkT*0fwxz^ z;L3d?;d2robdt>bm9wERaz~cX@6ROR&`Ny?$NrUIPLZ?V*Nt}m?Sy##`V9vB@{D#~ zSH7tPI*)nUUoKk7X>PN+J?)KUalW19>S%LIkG=&KS=%;Ss9Wh+n5$kff1(m)e(d#R z^Qc!k=9es*&6FOun@RB=OIYA_^r(bYTpM*4C*|G5_WwM{#~=2%IarRKZdb?qJ!C+F zn-`%Y56M`(jX1VMqkVKI9N8L-lUEG0TZ#yNzd-@M``F2NciqN;n{6cSFiob7!ejTZ!jDBY7Gg?|uy@ zmc)}x9Ya#yi5ZjI0=)Bw26h;)L0lycLAl&SIJ*8O^mtN_x=i+?&u#n3>Pv@lVB-n& zZJQ!pSRhN{f14uP&qbthrv|dk{z-N^t|IwA(((DZNkrGLOOiG0g4sXM2&9ey+qy$GwQvDm(nh=Mvda=ZsJM%4L|70c48aE%M%B7V%rsiVPSjm^(uW zYd;R;X1`_d*!VwSj{PI%OWhlsl|CCgZz&-1cLv$1?=jloCUL|*-G#(UB}{^CJbJLx z7k$ajCg#Too;3F@wo@t~8!e1!-*ZjY(P9SP`K}hfDBMDrtFmOy0dpqgl>-i`DnxQm z`-$Z&F)5gQ02C3ggllF zppB$&I7`+%s6?+1Hj>NU`pAgYhxKoTXv~g&U9G|kCfjwZt=JN4A#X~j@bxiOVa}~? z;ns)YOvkK0OzVfeQ0Ey!TJJg_cku`s88;5qNd z27TWihsJVxU@+2`IkISi@WTRqp>KG&u-rCG;KMlzmgyfCB+QBx)E)E|96E4D;MOTRYyR-1u>ghl=*Z?Vforh2OCgI@~V{zlID8LTw2k5|G@@Vc36ss@}tsLOs zsx*RbtZoLj5{FD+xf1@aX^Vp9oCAw@R>P%zUTF6D87Q`AC%RLVi;T~z5eu0hcrmX5 zC4VhMHJK4O{-z^RS#|}!FO@@vJLVwU5nph}D~I{$@HJn)n4quk}M+msH{3pZh`n9XDiP zwG=BSx8hqHo}m+JR$yYsEy>KeOU6BV3MYiszzy4NVN(At>C9Uo^wA#h@45y!>Ux z_51{yu5L&VeXBeHhSJDgL58z|P()h>@UwSrSgj~Kv@muXdV!B<1 zBzI`CeXG{s=2Q*RQRhVt{!l{W(pdDtR~hfq@ge75onUwLn^XO>^4KJH7Ww6a*~t>m zpl9JF67gOd6aE>PM+WiUQ|n1XZzhq7FvDh5k!aLQ2@On=BUJqM3nyILi<35N0wy-C z_;F}5QoMTu{hO*mEpF)2D-W#E$ssYit|U2g-yJ6Wm>y*7tV++qvG_(`HG0EMr7!ay zkjkcL;sND|cE2WZa#%|i+U~*M%@u)hy$vxeKZL^v{OLn0b<%~$B9jmXHIGTbvDrRo z*^FGexwr;j8&Jl652R_Db0MklH^hthV`ymRdrT^H*i&cPar15kqCBS#hkGqXn@auB z!X0{e$Gdc$`kl;#zbaN1&PR{&?l>*rm(mgFRc;yIo%LcYn~MZslO3CSnVs&&DIbGyIBgI-IRqL z`x^x%e~G{*{tWxz_C?n6-am3xa=%Po;zCb+uVMRhpO9UqV? zHb*WdazUmU^wH{jcx~W2vI-}$ohD1T;Zc>uV)-oOHFSv@`0k*KN++;Ix4O6wy1sOR zt0Ku-ufrB!X{6_NtFo_TONq_mD0bnBBx*0;Pk!XxW+$vZ%nn}_v!j}F=$`u$7I|_B z&A!|~i+xmJfMzCLCSFLDPS$b_5fj-d5l+|!dDFET-^s(mOp@^98%0O+ST?DcxPayC zwP%*1UKuM155S1KxPA)jw?tc%Q8kGRDWt?NKbupL-Ao=#A+)x98Y%3QV=cM{Ijyq) z@R$7KqzuqS{x@4v(*Z1bY^ zch<3LOXcaG-=$=GSUPK|bdZIrl8)jnExPRLPcoR^M)$lNqzP08@Ghvbehr$`RL+3? zr;@_|efQ7vUU3wz}P56F=O*PH98W#I6tp#7exm}rXuXYlglazpd zoU+Ehz02^{k9)D2xeM84`y7X#Q70N>|KP>mpYfAWdqN`xM1H&vd9}C%zbvjro_8u? z=qyjTHG49wIPV0P9oPVMpA^Gx>n3p8rJq@!~&6989_n6nUJDj&> z%4^<(yj#3z^&7lrMP0lU4+%Hoqz}*X%1W!cT_?GLUY8Xr z8FB+*=ePwLmh9{AJgnko!*$I&#_iHLDBAR&4y)KIL!=Jdu-aXN;s?9WvXkb&#W_j0 zk&|FF_i!Yfb+&vaVf5IGi`%Y}?2B%M=y*u{sx>rblD#NYPMQ1ebB}xUaut`~Yr!7b z5YJ_&4suN;nWD7&Ib7u3XjV@ng41*` z?o4hY5o9Woz`YWtSCoWTnk^$9C7r>ZYFf&j(@A61Mn`jtogmj9KA)R?O@^ypDow)t zidg^ImsyL0pSg(JBHC!Pizv?fkCKTO#KB39oT&uA!FXRr9$ne&582u5^9QNi1MNCd z&08ukLtZ-`BxF`Pm5*+QMc&2HN)odwMoNYh=fW$4Mz zF?4O8B=^&j_S`+3}VVV{T#I4(L@W+b|v@=25)n80qoD9f(*dB;vv_Yf7mdBTnSlwzOv ztznn=rm>N^#Ck!Pv{*ggK+=s>$2;+It|j~&mG3_$LK&GN2j|gj)O%&top%Xu4nf?+ zsYTqPxmJ?n?v)mZ^;{0OUFN#Hj&jGgYp_qdUa@}~FR}Lmph#O?%sv`NS*;bv*`ueS_|!-* z_w?Rt3A4-;|Emk&)C4E!k~B%52BmRC%Pyu?-|9&d z8ODK`kZ2jLB!_(&QYZBm@0U2sG!O1Zqs-Fa(+ve+%9x4p!h3%>4UGqQ{D{yoxlnjl zc1XBRXRENPBT3MG@hKm-OL8gqqXmCgb&@6434}b1AetT>=!;b{N|oD4Jy8@slW0RG zS!G}|W;;B=rs1Y(Cs9?*7+(qj_TWAPgbWjD} z5Rb?B{8;?`k~^7l*%dC9Fm?SB0%-rjaX2-x7EZpdK)frRv3kvXJhVjO`r@e&sj@2K z_~kl{3{Aid^D_`(#^6%V2TW5?41UC)h1FjeQLhwh{8j!3eBP~rmMM%v&!zf7>Kg}g z;AtXxz~6!1^jZ@W%WNVwl!&Om4t=A%9hV###jZSpNdNnJIAE6tmU=ZBuYdO&S-W*X zn};%_tyq?U zZ)&E%j29ALn*B5KKSSr?PvswmVIzBHC7W>8`+n#9o`aInQu>w9jtbGH&@L(xQi@1f zrHPUT5s`{YLyAg6OG?v-cE9r{@Ntgs^E~%`UCe8O0^i5L04(>!SS6ulGv5IHv$x^; zEk|*~7&F{-&<4yhv;qsJ9K(yA_My(639u=9E_NQ@3ANqFAU{46UpsA&k#i{a9Nmt? zy2Fq@Q;81lQb)JK-IzUm5poUEK=qwD*eoL%eU+XBEh}x|!23jGd3q^$sD((5{U3Nc zDH7f~V~o-kCZXc8IoQau8AsIWp=jksyvJl58h&#Ze7i*t#g{FE*WYA<%RRH9B=)LF zy`8{v!PGIsHm`f?nEE(I94-uIKO_W#`F%@4;DkZIg_{jF2fqXN_h>_f#M8j(VFQ?R zyb)A=(}Nw&T2Q$-7i^s;hWpM=f}0$p!2ROKthIxH9b#3>OnGX<&W&El77whF>fTWPg)3HwU2`H%IeYV)zxrE?=4XBWHdOp zWgdbRDrjr98oGP86h){^Kyg!xL0`xYob^-{9ckCZ8l#e7%D)T9*eC*3WfZ{mN@?KN z={%^v*BBiyO2Dtvv{3Sf05G^w8!Rc6p~Telptor=4pq1g)$aTR3;q+M=gU(NaoGdn zD|ASDzcKvPUVyoeA;?Qw2heZ{dVKvL@G!j&3ZMEyjT7fGReXIhq+lxSydK@a1 zvk&)mK*W}JLE|42LEtD1|0#;#p#6^Mw*Maa&u|pPMkKb~@H}X@pBA4g>WU zM!-8gIq=xUO6cxr33o0Tj7_@-;QoTm?1bECaNd3l8u@HB3KOWJwVJiau*D4>e76cj z8wBE?d9f(ee+IJcIt0(F=Odj=xt~5dAEv&40_HCH1|QrtLum<>=)PD7nH5h3EeEZ@ z(EP2aMaLi7u2_Qe|GGhwfhXYCs6pt=B}b$%#|R$ypg>mff50Ze9=vQrGrVxQ29ytd z4$V9m&>ZRsZeH|)zc;6tjEuTrVc-7RF3qjMar74(vHrg|lD_fQjG}=OyK?w0*3VSN zzS#1CUECnwA!`_bqIelld1nP?4p@Nc1A5?gcq6-=EoI*=_6Fh6?qHeV1iNDVRVKG6 zh`HYTUGmf^Ut+R;kmQ{HU6Dnjujt~UY++mdD8Y|{dF+<-()+e%l>Uq|kYI7D7N^29$IpMY>8#-_CYpm!VhMl^86RnR*bpG1mgzHo#%YLX6;nxJBzWxVpT9eN{ zA9sKp_1cST?TD3OU4(YPq)BAFvbRJZ;Z zD!smp{@vP!gGX)RVus3hyAQ(TcRXYAPbmqRHgQO0-e!6KN#FdK|HWaEj||1h+jp^U zUJgK^r;!=ROk%Yp3z`d)S>@sc_S4jE_Wa?a%-0b#mBdXiQP+8CHaL9#lrYQ;@PjdL@#Kb$o%$T^kUIrNOw#Fsblvk9;ADN3ZIV05(;{<#!_aCrw%!DeMp1C~lWH(KI+Hc2-wEnho?)js=cBKyG63nh z&WvfspvJC>RaOZt^Si?0yrw?CwKGAz>=CxvmR8zg0$)mvCs6 z(o!}?SSPA5vECGmUSp{>NqtM;$A~1eI0(ign7OT;r1XVK8N(oJSP+c7wumB?1TU&{V>;t|st zcFFic&~M9+qbA$GnRiQ|5wTf#Pi7(VZT1vD(-|%nwVf4bXnRU}G^!+L9`BMY7&{>8 zw42Q6oLIq3J>tNOonFO=?(Jr_gzGc+?%$K#HA|7q>d=)$FHRAsDtm|{%8kXUArC~K z4Ht__O5Tcm=V^#y-^B^`P1rAx`^^Lf_ZYdE+JUE{#m z9dIzqoMvzG`4MM)D81u$L^N_8PY)3LmU#Ge-hFy=V;PyYDvKI!E2hHAOfv2F zBa|xBz_suGa9*#+a6{6^(75btT&Z$2U3cggJu1jiV2_%M;~%NBNwk zHL{<67`hd1Hh1M}i@uUTvpHPs*mKThTmhKo{wG(om%Z*y39om#evipMT<}bl3AZYW%qpZx$4A zYF}?~uVc>BCa{;toMK^caRu$2l|_bB-=^PQy{AnxX40}@ttftHGm>wLxP@{~S$*1k zx?_7er)f5wcI?ySUV?udd^dxOVN1hU4%fSS%{$?j}L=62Qq<9}}*8xT;!oUWP2 zjL+D_94tL5sW0&o_iY|7QrgiYR37n0uB+vwpX3!cM9KcX-aNZZ_Gxi}G{(?Q`nKUI zrz0FsSGn3rW2b%LJ-Vc_sa6|#mEl5O@8n#*=Iwl0d7B(UK# zlfw9v2i~&ORu!pA_-k6Z+L+D>+sCi^)m5qznld7Im1|39C!Vd)WUNcZ;w1gSLzc)C{x8yJ7 z5|3GPkD7IOm4g2)^p%txN{;zUw4OZygFK62v28e7OU~nr{uuh^YCIhke4l=5G2@$- zmU1==E^)n+4fry>Hm7tk{l02sxB(9u5jH-jsigp9sGt+_6`tx+p zi#aHzY#F|;R7Rfm7L&7_9-iKFgN%$`PmWus63vL zPdtQy#1UTpDwSRiM|IhJIqk8 z_%?3IK^<(dIGBs{{Xx8ZUUGMS$eoryEAaL6n@R2;D}1a^4ZqWLz{NT9sYY=!zw!Jd z>gc^3JzJGd#4nq;-<3UNr|WQP*`GQo2v`RI2aeAbO1)2siYjwUxxuV%KtcROeE-Blq3H3aVYtFz?;6=Fbc=s z8A(U##uMZA`z%@)?`bXGJPAfl3brU6|4C9a!H#Xki~ct zcYV7qF_}|>wqC)M@?;eHk6HvZ?qic&TuWxH?2XwM{MGc9nq57W!&TfudSyI7DM&oSxOLE+NOY=%?d1Ef`DlP zsZW;{{WdI-E6%g!%FR~sFB6SqZ^o+f6XsGHIL(-kY6DWsRGyz{AIl5Mt+I%`j!pEU?(;2m3t01$+)Ifet@v;G~y@tfCuW zm)yS0ericX&e{#&Wd#6z1N(snGZTDKiv$uydR4z_Uz0b5)YT8l+}1*^5n}RCpSmiP8e&Qry_+RjRQ4(H0oc z-^NZ{k^&aL(*S0(TiKd3zMySuGE|sx8}5j3W{q`I*paF0*k#!tk$2j7;5b)!itSp=z~|Gn;f=*d*|*&X z!MKX+V59#x@bXwI8d$mQRc&AcSbwMEV%bqKOMsA`vyrXc0=&WG=K8k9|R6t+9ulnv_^djBer-MiEd1rakDN4OHDoSyjb-8HjaKmD)V1hu`!G0j z(IXganTG6Nc_EqAXEtDRA1GILL5a38=+S3$IBN7SG&egErC8{}MbEAvQOgN5BETO% z(d~pcSEWOpl;^2u+Jvjc8IZQ6wf*wts1LH|C^zJM~jqcHC-g;fobKw@~p85%v zSnoyw3r%5!pAw!>=z*TZ42JsXHtKe{hMJ0P@O0aI@Ote+xI5Yy`Jes=O??5Vvju30 zU8Y=uG|+al*1{WO>XL}jBuN3}cH)z!^5577l4 z7e2Gijd5&VIAy;de#&T%-oeD}n#0&edoWE-dnMDYR!J09t>yeY1M%-^GezQ(%Oc&9 za?yOn%fc0-R|>a<1`8k0u@kz4JrP`tZxT%JiWl6vf5Y*mnl7mA3<7R+H@o$47Smn( zk{PsB87vA?0{RM0EO+$_>py*)}NCKVmfn!kf}8f^$#_h_Rxm)A4DSKG3)mwQ0(m&qWg?=EZgMT=>%=2<#W zzL)prN3MHC%s)mE>(>wkx>+w^Q$#nL)oLr~W;F3YDgSt=|b9n*~eCf7qFZ{5wjov0eX)5FeYa=yKZ%b#C&QN`>rsO{p)!ML@udd z+kbURa>P{$Dc_a&nOT(*zIj)F-#c?fmMMfHPG2=e$II0FrRBa?EsUgJ33h~j2ag1DBklWI$=~xxV~y0a{Vv$oqs{7`aKT~XqwlUyb6UwB^lDE7Uu%XPM>y~sd3+Ucnn-jVm2 z__yMT>qbf5I)_X2CiIJiOJ_;u&Nr4k{L?7TYrP}(GBp-2tvDpY)Ic-|mI%J%e{twMRO&FYc(sGursWP# zzB)R{E}ydp-p2NBi&KHlA}PK&3&40C2AodTMB0KJl)G*ku-nAKL#Y?!IZMI@T=@@d zFwlfg`uD&E(sS_p=NPsw{|b0zBER(%nZUn?gV=Ksy{xg*5O^wR6dR-G0hB5;Vbk!p zK%wm)v(@nj<2n5g$Qw`sGi}}B@eNDig*obQd(mVzEPe?(1LlF6F=ybim?SW@D;zr7 zZiPC9Wx%cZDidKk6!_XXLfO^HDCzbXFsi|o{YG-wuaTNae+YhuSG{9bmcAzo$4O4#L0kdL+DKsv%gJxkG z(7($c&X9J3#l?f!b>=J@U%v$YyFMD4T)GA#^CIBUqruSkLn(N@>Ize9nFm68Od%Tg z3U;?F09S0B+4=FlteRmXRG#SoT536DFhR}$n?H+PzDod$F5UtO3oo%no1daN|1`n4 z-vkY_VW8H7b1a-y3i3bfVwalFV=IkUgDEp#nCzS+wz7BHYMdtch-=#0-em=n{MKSCppEYchX%^IbQ;hD}e}u0*1_SBJ0_apV51oy=1Ll7j4j&E_vjcc0 z+d5ej9^0b?Qx2Ko;64eg?HI;JtUJNJXPfb_y6xa}!dtdOB@;Y3gLGlAC% zXE161Gte@&Ufvsf#cVU^2Hit*flII^Qu;j%&HK86(cV~oVl1=+LGgqt$gi5}dD75~}!UF?0lUJ|t4ml*zA(ZLyMK6_F%ulD6dUHU-K0$Wh{N zJM6^~rdLJd=amYF6kit#|85dHDY}R=*IyH=J#-X$%NhkQ7WfOgPmL37yKF5;et;Yw z-&y9cZ{lBQob`+J#*9M`QpdpQ>u2C@`C?_;*w?Us>>v1Ft0#y&BA=@yJdCd%j2=x= z$LiDa(d8Y7q3GfjsMEX^tIj?SFGQAus=1foV2v15`E)7FY%qe{m3#QEwG}c_I1aYd z*ML%R2Y$Mo0Y?S3!VBR;@z+ttXr9w-_{9AjPKO8K7-ePLKJ+~F@iIa0Hwm$Dt{A1U zYe8kVJ8U;=hIdD%V{LgU!F7fR41aMOG|pDT4|lb~Qzs6R+RSz+n=OID2@4UqXpKbM zoM7$Sc{uGQ3y+IbaeLTo^B5nlfScda_{(97k3n#T1FoEIHM4_6HFi3 zjn2BLleCwAApD|@CeJpN$U8|PY-lu?MK$JN*`hSBJ6>UPz(8@1R*xX_u95QOCFxtIJ5c$nW zP^M}j$bY3O_*3)3aqjzc$9PdD4iV;()MiKANe_F~)b zo!}z33q9G{fg6?*@}tEJyFCs^v8r3iGTnCaXm$^oL>8f2g=)Z6TLXhaRrt%0!5@l) z@raPI`0MJu@Vm_)=r!UK`Cu$(`;O7aRzoAPf4LH=*}|eN?pNt#t#sV+Ab^IL*^zrb z6G&!^1s+@)jbpYSWCY$vkl~qQ`0$EtG`4yxKB0|K$c-`ROKUbdFP~2`Lsf`K&drGY z6oWi3%K5Sm63X1gXwdR1x;17x?%(@|KC}8ol+=Rpx*$RnZzbUUPVLAmAs=~u(rr(~ESSxy4WhwR2G9n+DOUL`6%YEJ*_6=2It=I~rbD;P6tFwR&LM}ntL z#7{3G@+r3y>8V!3`kfi%N>DN>8*WNgIqMSR(-HW~af`Ttf~0oFHZC}c&G5{HIeY@OdVnT z*i6B28)xBuz2|~E*_#D@D+A?k*c5?vuacn8`W*jr?=tCW-Gh9C#EGkLu;4u(-jr7A zP2lZ5j*}`h$8w6I9P-p?iFCAIB7fwll610u9%n7*4|xuC;~JG}rClddrPpTd;8gpk z;zAk2zcAiQ74rs5`#0tC8{#^-@4E4HjmK7Mv^<_)b32+pCUWC;&r*>(+b)(i4SGo{ z(?0SmOUFqCXB1@d;|}sJla%;(cod&hsmTZK*Tt*W@8(yoYT{g%#mLUDzs1*{_9k=M zbopt2ZgLu>@tl&0r&N%6pYJ{SoKvuL<$Y(?$Wrewr|W}-Qsei@{78jNX-exSzTH`i z)7p4Z`mO8wOl;2AgE?=i&ssoe{&Y@>(vf9iu4Cza{0De_PM> zOx{Jdwyu>v9;3jQtM8RPpOe6Ced9uNPrcywEZZi#?tP1!GrWe1Tz{eF+U5M0tRiX? zGl_qD@B*JzUdVxE-lSW{lIZ-oxiC^exy`A_A=+ybc?VD*U?V9LHq_KAG-6~ z2x*&#HSe-$3g_M8z(1O@ogZ(sj_zEOBdtVRxr@K=O8cI8@ZrZ6aO-V!_~@o9v~F=W zQ9N;sdS9Gku{CqI{jic2@xn3x0WHZ_uz$-z=p)s||M`XE=!$t{RM&XAZuWD!uE>*a zI_XHCt{6*KMIE4@Wanv`sDSgol|nyzEu?~p=jrHz6dHBah3Yy~5UX>;$@h>_{L^qL z)<|%~LjnrXGd~?U$2b;F>Rrh`EWX4z+kar19*$(iQzx^%vOG5Iz;5=&lr;9_d;y#5 zI)eE-M3sp;>_n>WS<_8R4w3k8*4X;}OPn`(E*%zrSl$7x#OJavBSpXOVAQOg_~4Rr zc*@O_^k67MCb{lJCLsp+$)JBU_IWCUA|&*!EjUZ1B=_SRvQA|t%&x*Jx= zoQZcj*0Rl)yo)MRUyxZ!*CqsFkU}zaueO66XEA@$jy#S4!8iyu-?4x&I zd_$Jk{PC_Cx7oHYEw~gppk|{@4&lYOR&?u@++gs*|i&ZYCb_x*pd|$svoH9O&1J z1;Bnek8D1##F0hz$VKKxrZzr9uIIO+YyGNZZ6U-72kK!^T{>xramFqIc69l?{W#uQ z3-5?ni^n`+phMF^s4l95Jw6wPtbTjiDzoR^cz!L+)}=No)n%bJO6H7bfWEj7m5?I|=?R2#1k1#jwpP2^y8z!5O)iz@oNj z@G(pkd^~xI?Hn7&8aXvErxgz~VOr;yQpF+6w@)fe(l{^1_2>a6Rielwv=mD2^o2`S zMh8jWeT$T|Y}_mva?4bb+c8)Cdig{e7T(R7oUp}hHQ&)=JwWH!-=~jaOlX0-gtKW~ zh)0A!1FzM_lf=)nf8G~ZjDPKZIguN6xlk1j zJgJxL@4rc;&Mx#s{B^RWsfXP-{RA2AQiEB^1`6~Kl7b_<(2-7M93l60E-BE%SL|1E z-=j8@uQm74T}waOJ7oo@b#MzRFS$lXU(zD?)7!YNskh0B8J_r0i_%OskWNJij*yb;co zJO7dgD{~(lqw(~0!L+BaAE$n+LVN72x!sRS>6-_C$jyJQBwiz8%?K&)uBJVEpRWb#V^uln(xnlV{>YVtNl}hLgC1j z8tlw{Pl0vRKOnNX16PkuK{pjRbYW{PT6umEy6QfFE?p7f`6*)TSpE;q{QMIs>^Ot+ zAM8YH{U@S_OJbqlsc~SX<6f4%{DmSvn}caIOl7}Xk;|8)JVv<{f%X3tbE24`|V&4+&cnntp*tFXBJGx;AG}OMI8u} zU1cNcceCTuA^{Ci1l|_ez}&!xiBPf!w~prk$%Mho%X~Z5JL@rM966q`>%Y#ZslNk) zvm;>Z9c%XTMpy7}WGD-ZSA!qdo!QQPdx4KYo1uN4>}h@myY0YC_MpoOFnnem2uz#A z4wwvMo}YLiX&ST<6usF1O70(HgHrdis>=V^Db7m3ID81$)+Yn%Yn0)ID>ATjfiX0# zNac1%&b9DHc?VAVH>;N?FZ<7qy^G#w=kl`r$Dy*dAUO@ z2=xDpWyYP31F>nRKyC^vnKL7qoj>UU_&6efy9hy zBt>A-Sj*?!ki%$8d5d>dhQr2`q&a4PUMIMj41|jp4HN0L<%`uETE$<4m&E}WizIWG z&XdGu{}6wt)U6-ld#i6r{BwdBC0L6YC~sp8?=)Wls!KZ>T? z&KKF*hKa^q=@W(yP+>uNg5bW{amQb*r(=WB1jh(p7l*J1Y7Srg<~nqTJhs>7q5a1R zKZm{dc`$64)$L)Xc;&E+IUh;*zj7|tu~*J@x{tHESQ@^6BKJei*nCI_QRS3coIY(g zS^*Ns@;?ix#*#{^czXlgrJRg$mAsD`=EaTc5>X@nDfsP6ZCIX~OZFZ5f%5x?k~5wz zR7>1Q$bNYqVeC_Mdf|6+HC~BoMH*A92^uuvvk`4dipA4*M{@sF2hrCP7ShfKCN%y1 za(W^13+cJDm+0!u0G9>-k@Ru_b+~T9^_pTDE&73smrcfQN0n)u>0=b-WWdF`Xj8v` zTXE2q3$$l)C5U#5uX!e{5ctRi7_DwUW*R6r=s8IL%M4upBOE^G!sn3X#oy&8#93ZS|E^T$ zawjl~Sq7=M8Imid(7!kBDCTxAD*xMq3f9@+z#-$XL+TW4U&i6mB>Bv+jN;BAJFrgl zaQt<4Bia%(9F3OmXnt#Jz`XDSV2y$i*nf5o>+Uv~72cFE$6XW|k@Gc4pmnh%wqb$f z?*>+KVEHfcfrXk9Ny=o2$B*HXoM9be`+3vFo4pVsdyLVb+!e4eMhZJm-2{a(chEM0 z+=V>B0CnI04*FWG!Diz@aBg4<96xXm*(k1qQFDbLA<+wQ8`E%LQ36^cx(#$RIT$&r z2*5vAfU@;q7@PhRZ1WC)^`Rx~hKYZH*QbGw(^e?(+)EguodI5H?8OSR zGT_^f7txzJGIaBZd_VOh2eesnaC!AJIibu8iUx+lXKQoOIvoL=c|V1%Z>a`#3r2$^ z!GF+diw8W`?S;gzw}O6IC|u^`fsnQ;*jVg@z*gCDq{hcVtJrPe zv!)ps`=AwO?(2thw=4rQ;|8Mzx=UfC%>^(n?>S7JsfniSn209n9faGTzXLbl_F%iz+cUPt-)rHZP<<8Ux)?|q?dtG4TMu3 z`@&hHmErEG`si1oIozRAj#OXh!n+#>gQ;{jbZ8G@-yYb&%1VwN0$yqwlXCCX)_0KKiUI=oxAw@Edu;ab&j0vA=SkLs`j22XjN-VXe<}8ta$D z-A&RYOW$oLOU9_vdmf#1#b0G^?DGrMe#H;$!&{>E{7Ry;+=*L|V8%U5x=lR4zD0}U zzT(S`mHg1rQ)ufZK=_p7pjA4E-gq2_j|l&gNt^+#TlE9ij_5=?w0w|l$Ud^hMU4ik z&c?ophBWPB6irtP!2d>c(6s8E)U9;}XHnWL{k8(zp;q_J9 ziCR8~;RT*M&qk83Pw(Mt-|o>*gT_B65INvis2DoIX2 zsvkly7!!q^6F&`&HcYaMYIr3K92(3N5>xi|hRN)+fLCmWr3IXk@Cxo-vKxgza>YA; zIb+rO7BpFDFz!!@#}(DH@R0x^-oILiH>FwOG0*LB$+JeZ%F+UvR&0d^TYdlym<}Q` zrpf&t=h@zHWmYYxi<$H=nGs<{cJY~CjPJg5=3a&?qvSZ1c@sH^c|2NO&Y-enWP#Sq zm!0*J&w1tItUyJ6|Bc@~k0x>3TNL>tk8HT{L{oalPlLN{Qo!FltH#yr_=Il%vf@_8 zL`xeiLZy=qBKkp%CwBr)kfGjTvaZKsY2MoBv}sj6@|FKB%y)h#@30Q#qmCbtXY&SA zTbbNd{N@muX;{o9Sk-bbt1okIK z19;7353a565vu+)k6SRYfFIvAMHXVpaNi0H3cqD@ zryhLfmzNJnCm#tQJw0osMOG|-&zX}oFOkZ&7NpYy0j<(Q8AIrvdCR!gk3Q7*>r<{c zt3-NuL;=-Y=ge);*~_^GlyTE!QG7+CH$S==Q=LP-aL4sRuK7(6SLC5A)2XeZDXDu% z^n$C@eWQUaW~vUa*E^eBecBFBggbEUj+^NCAD`)*EgAgv%Y|h4+zdSS!hNJYVF{Pi zH<7;?hts5L>!+dpRqK%_<=@ae%7u`>DAaRTu2w?YL6@Psp^WHOO7(qUaHCo zDwAlM=2O1z@*O&Cfd=`#Q2tqOQRV_`Hxdw(z%P6}oa_2Hm0r0rg2$%4{2X_8qU*bo z-)DJLo{0>Q{(HNGU-2TBUUxR8FYcfh>8yOlK0)e$iCbc#N_(} z@-yoi`Qki;>{w_+Y@f*)%mY?Tfh3#WFKfV>_{i=cwtZU(|68`g*Y$yNnoNAju85TyLH@BIL=g_t`47K3_L^^qT$kL@ZUyL-&>#FaYK+o2Q(st(3l z>;Dp^_(W1Lc(wf9c#tH&i^mofHe5ha3OOm?O&sf+N%Vbk;KXJ-WZwM|iNfnm^{4e& ztv=K|EVTJQ!P*Il;#+Uam~g+VZ0P|xA2P8IWVuRU9MM6EbKXNEmnV?Dxdt(gk5Hh? zW;Fk75c+fSHPly<{vmtdU$CLXR=V2 zf;vmyHe!)1BOsIiy2pfDnsrBhBRs@Kk}EX-vL+vM-CKI9)RqR=osr-4O}K@{e!R&I z3E!Eg%SB&3$cy(`N!7iB=&VJZ($7A1{L}OT>AwAo`Rs+J{0DmUPRkC=%TGn_BCIQB`^7SG-(9#$IH($1|nWI2ITYO{r{uQ@0GE7{d8WC?k3v<+WGQ}dYqoKeCL?3k9+%2jo1Ig^Tx+h z$lRUkIAFvYZqoBJbh2kE=b&dT9p+z6rOvzXb@O4|`el>2h%^oUMpzDYkva1wL+5az zflhQ$gt;88O!#IG zM8Tn!T=0Iv87vi3y~C=~$iNIPc7H3`JTZb_@h4IWM>43oUHo zkL|)UwkPdSN$3M8bBl+a_Ifbndk%Z~zt3!GivSFNc@+F=u>{$;o4LDsKP&3k z%`EClmvh)$*~yw;Brm_pv#xV7oICp#tX>`uw`TnUceHMU+E3-^M9w;}arPc~+Nu)Z zrQ2D~DFDoyQ3noHAA^_1QmDRK8~E(7(NSr#2B zH3l!u3WpATV}d2?Tv>s&)vS&y9pH=v2n_Ref%Yn`1ZW1eKuO+JpnkMJ=zH7|csG9; zM1Q3O?)E(m8ReD&ib?&fo^9=bmtQ-pbVV+U_Gtq!L3g_jjeo-^?!D2tMvYucZo8g! z^Vr=s9@%=fmbog-J@&hpf4p4FTx{9O{G+s=d9^E;^?p+{>tkF9OLuHAt2}cK>va>s zYRR=?jUvXe&dGdbhI!{Rb;B{He_FTg=aZqfJkY{+?Za@J{)hXlvo*b}cfQZHD&*g@ zWJh*bil2*N$xcYH9O?4N(hGO6^iLUM88zmPg-*bJ3&*KTEGF4&T8wxy7JD}19u7hC zk-{&@$BDf}@c$M#GmNDB{r|HcshN?R2SnXS;chn-==ikTM zI{&tTX?-JynbY!>8CqD+%wle_UByU%cm19RKTTDH={+*g_SA7O?@%>79$gO2o8f@y z*yw?6Szat#EE_ae{sd}u!*HL1IULDw0v-R*0p~v6h-w7_@HA_EDBtibtNE1{)GQYP zcm>-)4dOYnrLV6*=cn}pIeS}yu)$5>odI2FdhIq~**puVdp86f@In71qzknLf1#ZaI|#|__1vV zc+aaBbobo|ZkIpETnnUwx*r3p_5P)@cZTat5@j zT@Jd}FNau%M?+I)O@h{*`wFF0i@=j__P|Be@5SE*A_r!>j?W8Sp^-oYnS>dY1X=NY=>kJFEwW z;{e4!B7qOjrvq&HSwOgh0x-*Mp~tP-y(+9&iJPr_^*34B z$a1VYFYd6M>ZPRoZp=tOnd!1JLv5;;yn>93va$?m(~)tI30|@=c)O@=UbuYnM;ayCF_H*<7n0v|M7r}*IVYXomoY-`FCtv zI>(eeY)&s84Q(!Ietn|kH+MIivihTim41^z)pv=xTB)z7y3B%AIBN#8v#GOm=It8sGprW@YFhp$F%QF% zPv5hOm2Rvmw6hE-5%yw5Un~cTpHACe1TzAGS1Yzb4rg>qK9zegH58kH?#mI({brX+ zUH#_4aZi>5&zj32-v@F<$jIJsZ+b8>LE<{5vT$Wu+a%4-W@W$7t^5By+-noH(Ua#D8p4Wi3^GFfQ(^_W2 zb1h!YyXShB*OVyBTY7&dPygdCo~_mv9)G)x6XwR?F~4*>v5F4!%;+n4CGyjFR-yu4 z)w8co4l}3naC0r5vid70{pb{4eP9>wQBpUr?bTwQRmu!r&)F=exYv7m>B<2-iScSKV0Zn#vin&lkw{CIpZ4JC8h~1b(15b zP8r`jCuhc~e`S&yaK<#3UPzCdmBk>&9H)mHjy1JEEobt(!fwM0D!&`vNoEpeVY+@_vu*rfZ` zxWY5bXi(Hm|7_D|a%{G?$<#k{%-YJc%%Ys{($l618TlJ@OjE~=Fz{9#&$xBJW?Tbj zHlyya?zriRI!64C_4K}(I);}|nVMc5xMXONTx8-YjHUZ5U1s{MWTMG|i7AY0DdqHo zi&PDD?CJEVkt|cITEJAz`-ZWZZL8U~WCi0huVK^t!c4=f<+TiB{w0GPPm!tK#kIzt zkR0P{lW&<8jJ?kokn=Isus&&UOz90{-PYv>pdCoGY}n~YtoR!H*$%o zG>}ckjPGkl8Rd*3jXEbbnY3jGa-mLhsfw8yVGWyCmV}?on0>fO{9@9IFapoTO zevC<>*UV^Ts9~AHJbGiRsexeiNu#g|8>7&;RrHDXmzZcJ6qp6k&KcX93mCWD3k;^O z%w^bk<{LGiEn@7R-eBe)+-}mwUu+h=Bi?A$`vg<19dqeJ{xv2{O#J`v|CIj0zvAD2 z=lI7({^{{=m2OH6V|Ew2H~*^OcCk68eQ#m)g^E03ZoeVRqE z^gVB^G z0Rx;#hQ@*g1=lJ$LE{D5iAA{Vr9xuW=sF@bXDfF3j7(K;&1h~)tDP|V63AZVFs9o3 zHb@D{=9D>KpRj3YzS_DWhd6p;;f4v z$)1^`z_xpwTwPFU!(JJlC2X)r7SxBE6W=56SI_>UEo`_hhwJt4tGeg@RoJlSg>X~{ zTy@3AqMExkta^*V3<0#nniDl(T|I72mGHXdEbiI;7R2ruCc-aYeT1%V14QKMN&yxX zCK_9Lvg&*#M=;KHXU)qc%>s6iqy5>ZwQS}0k;1qvLLh#41UGS=ouKlPKxo=vCQxrn z_*1@#&Ag2$QD1P4#WaDm$6+@u|<)swSbxzA6n5={T{g=2Q}T=kIu zgU_xl{ssThU-3VDa2sJ+`3(su+l&Gc&M@oN7D(}W7ADg5$DJa+AOTLV!1=QV5pMAf zXhyON+It`kJ`wa4JPN}=bcPSq_VozX#?L}S*1Uo>pB(~%_ZI_2O~&Z>{U?BL4LWE; zM;QJ#NPx^cO$S!{GT^$AmeA{U_n`D;;qYCDO6YP@F}SXv4{hpPgjKGcg?|*SgT5}N zBkZ@Y-~=BP;HF0*w$XJ9TlOg*x*BSM9U{s=&*nkM_#K}`6U;=`6vTqjlP@9bjut=@ zyVLQCN_EtFGYef7BMVtQd4%+iF9q)u?m!hB(=m=;8yd9wJ9f}B8B(hEMppQkLGucY z2@W?8`)*Up_D9R`@?DQG=LPQERL@=%nfL``r9~qpt~i#vRv*c=6wlZ9Y(+}uFF_`~ zuLbum@`0zQ9>bU3Pexw(>BEk;$?$CFR>a_pGvck=02mP0@qmH~w5KZxp01(+Ds6cN zyT~7hUpA+p8i5h;iqDHMFzKfFrW+GsJ5-3El1!kw-vf)? z`kl~u)dvrR`f^=LI*@TimE!MjKL+=WJ%#rw;c)7lFBl}lKuaQF;`-!2abnLUw4rn* zB3SnZZD_s^KW<59-#>E&kFcDHyq~W`Oz~(yJgOtG*KZbqL;l_UcuM{k{KJ05zyH$s zi~rN{_u`j5BJCX-LivC);Y!!c>JDBW+uM69NB&T)Fz}nH@c0RwT`YT>qhggz1j6Y; z1gjAEKVuQ?-JJxJX3B9-ZWo?Dki!v1W(uF@y0F!~M1)eWp)h)dH(_C1E$~Pk6fvf% z2zGqkfyXYtO)#xy6SS9VoP)j{#9r58_SV<#!ate}xHc11abJB}jeFS3sz>e|VMNzR zK}59z{&K!9H$-7Ujcuul$V=h7M5l;loRjtB3+8V;>r?s4;UZKSGr<2$_R>ug-JJ@(aVx&CK7bfx%{gw z>>!ysbnXF|o$M1%_zInb$`5)uRf!J;d9mMxChtmc&eAN=LI`3H`G3#F{p2tBPyCAi zM^~=K?M(a8PYU70%VHn2qeTH_wg(UfCdcp=ryV$rdrkZ-0eOYlW9t{@BLS$0xbP<%yE&^B zo0F@FJi0Cdc2!2e8~wK7?7d7vXWt&o%U7A*_{A4dD`nu{Y3eW<^cA;aHUa4KLBenH zcC;^M6Jp~Z$=;V%gB5Q5gazJR&bk%ZfO!You-g7uhx=|wLi09R0}gKpu;O(%I@{Ep zZBJLg{JPGeM?(Cdy0nGx;(e*u+g=Q6-4~3bAG&cBUMec=8w7Md%Ay4!9>@o!F4oz& zD&*OXF>t>Z2Yr5VKDL>@7Z27tP6QqykcQvdq427aSb+Os(Bnfr&U$^HZ4>Y(s%4YI z9$`v{PRLG2av%2qOObeRiG4d1d+;g*;&$kaoio`B)ts>}jbWI4Lj|+AU@>wzYBZFx z(+fBE+)h+`sbTT%SwzdycJPH9h8u@v!bAS)>^hY23;wZx#lQd3_$!`+`e*Y$C$E)@ z9I}*zNn^i>nz8qyoV%a7PV^TwrFmVP`AY|dcL&dM<|O@I6V_S8@t0{7X4}Tp+;Gw& z$_g%VE-3eNx|CrqXRT_@pbQ}z$;sv@yJ3~hPn7NY2TXa|bViPy!way}^G4Z9OF%nWxyM|ywa%h_M~&=+ z5BzF~&0*Y(-*W95+<)gV=Ad@a=}dve#Zr#)#B%QH!~dari8vU)196M)#PqS}#6W=(du-<#j>Dg$i9B{0mcR8o+Am)J!~acL{Q07vh|t_e z{C3%pv)uL+a_v9`(O24l9eCD?UlU~GimIhp)ceiEwR8@fZiN#~-yGNjO3C=9%a)w0 z1CNQSxn*d>g14M`kSh_nD4I}`TfyFVdmY+1Edw7!$0K&e+c-g<6`0|Hx5V>OZ+6qH z0z%EYo2Wo9bJp+wf+_bJaH4+OiuD!wvv2OLz}KC3WltzcA_i$8_$Ql*?6Sr&_|X0* zOgf_UkLtg2;qsW!sK{TbKdL$u!JX{I{{Nl;`E)NX~4_y-! zD~@Ju?NqNbl(soiYND$XAT4#m>k%XjELP*)%UDcr| z9YRZ^iUj$&B-H8f`BV_}XGn3x0)3eTaY4mRG99g5R1oZE2y&-)vvdf5v@AvEh=&Tv z9;Qx*wwnq<{0u453@IEw_DiOdP6-hoG$bQAG7HU+4xwdGMZ)$ZE_OV5U%Ma3XlKjI$qm~;s3AQglZ$={SDn+ig*{=vaPjiIY* zLrt=WwGLB3NY-2IbhDKXNvDL6tY4TDUnd=+l|vN?$@=A1Hk#5Q>68$X^_%J%pHXO% zOA!gFuJAU$jG@b$aKHR?{FRfJTGRiF9)1ea5u`!nWLnr}>6(u9r(lrAkhtEm)6yCI859gs zE(h1D@0QM>&7xqCRM)WBa6>wSA3(t%sZPDi(PmRHNUCQacbzfZwUVl5QZY!X&z?GG zlXS&sB_pKwElG9bKC`XT8T>K|21#|F$t_2vGiVhQ43g?+M)ar*GbB~#S4n4(y4Jw^ z&VP<|k|m`HDG(&p8>8l@42L1f;MY(vNUHyh9%m>RB-M{L?^TelX(kneRFBWw7tWN< zpq-@)lIrsMX%K}Uu8LB3Ih3UO&D)vVhZ&Np)7+&qNZs-x+B0?-A(;x_lLA3fov!t+ zefSfMB!lKn!62!A-b>IZosmw(AgTW2r%TB=w0tPyAgQjl<|{IMt}Dq%r(%$58vOP6 zS?LT~Aw?V{)v0sgD=JCV10$(^=U62}`tG8oM8P1bJ|Z}=Q#ymMOu-eRXL1r!WYzto!j$&wz2mXLx$QeDuK z@SiLGlJ(%%P%ucUQ|CfEL%|@a-s8S;m-JlHsTd^Hk8DyY7-mSSPCG9>4pKSv%}13C zBYrAJEd_$4`rnk}G6jRAI_twJf9az~Iu(PYdU#XV9O(>N9Yq`@)v0sgU!`D>RG;(M zyhnN*TGuETB-N8SJwehL{Oc49Qr}YNLc2l1AgSJXuI8BZVJw}BK~mjbNjF3~gJwKZ z>M%x-RBw~JEgJSzQgwc`np6fUmA@%RECqt3`d&27Z8!|c-6frhK~lX>vmckvpsk{a zgQPljF8nwO21)hEsJJcCNXQ|nPMr%M9wnVYa_q-j2PEUrLMRv{)qh<6E~z>n zlg=O^eq6yU83v7@K#)}bn{sd{7$ntyTuCY!hZdKDK~nw4)qs)=zC8tlq&jsjG$#rM zN%bFBWl6@7PQ@Up{^QCTNe0b@A`X)3)Vc5{P%ucU|G2_KG7c?Q3I<8_A6F?zGWZiI z7$i@BTxTH3pt+M6|6bkj^Eu^@s{qW!lS=<@+f8OjU!O45OHon0PT;SNE-$_)|L-mC vr{5h-{`D6ek5PZU5Wi1p=*5a9|N8ULJu6eaMhq<%kckuj8v6Nv{p|k$;Dfht literal 0 HcmV?d00001 diff --git a/adavaria/mlband/pretrained_model/model_best.pth.tar b/adavaria/mlband/pretrained_model/model_best.pth.tar new file mode 100644 index 0000000000000000000000000000000000000000..efb5d6c6953d7158405ed1be95009e5d1fa65761 GIT binary patch literal 1009879 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