{ "cells": [ { "cell_type": "markdown", "id": "818552c4", "metadata": {}, "source": [ "# **Classify coffees with PLS-DA**" ] }, { "cell_type": "markdown", "id": "b3bc67bd", "metadata": {}, "source": [ "> 💡**NOTE:** This document is a Jupyter notebook. You can download the source file and run it in your Jupyter environment!" ] }, { "cell_type": "markdown", "id": "ca89d5df", "metadata": {}, "source": [ "## **Introduction**\n", "*Can you taste the difference between a coffee from Ethiopia, Brazil, or Vietnam?*\n", "\n", "In this tutorial, we will use spectroscopy and machine learning to find the origin of three different coffees produced in:\n", "\n", " 🇪🇹 Ethiopia\n", " 🇧🇷 Brazil\n", " 🇻🇳 Vietnam \n", "\n", "These spectra have been collected from brewed coffee using Attenuated Total Reflectance Mid-Infrared Spectroscopy (ATR-MIR). \n", "\n", "In this guide, we'll walk through the steps to create a classification model that can differenciate the unique fingerprint of each coffee's origin from its spectral signature. \n", "\n", "So, grab your favorite coffee mug, prepare to delve into the world of data-driven discovery, and let's embark on this aromatic journey.\n", "\n", "> 💡**NOTE:** In our dataset, we've roasted all the coffee under the same conditions, but here's the twist: Ethiopian and Brazilian beans were brewed into espresso, while Vietnamese coffee was brewed on a moka pot ✨" ] }, { "cell_type": "markdown", "id": "eee913ff", "metadata": {}, "source": [ "## **Objective**\n", "In this exercise we will build a PLS-DA model to classify the origin of coffee samples from three different origins." ] }, { "cell_type": "markdown", "id": "57b1d5f7", "metadata": {}, "source": [ "## **Before starting**\n", "Before we start, you need to be sure to have the following dependencies installed:\n", "\n", "```\n", "chemotools\n", "matplotlib\n", "numpy\n", "pandas\n", "scikit-learn\n", "```\n", "\n", "You can install them using\n", "\n", "```bash\n", "pip install chemotools\n", "pip install matplotlib\n", "pip install numpy\n", "pip install pandas\n", "pip install scikit-learn\n", "```" ] }, { "cell_type": "markdown", "id": "3c59a1e0", "metadata": { "vscode": { "languageId": "plaintext" } }, "source": [ "## **Loading the coffee dataset**\n", "The coffee dataset can be directly accessed from the `chemotools.datasets` module, using the `load_coffee()` function." ] }, { "cell_type": "code", "execution_count": null, "id": "961349c5", "metadata": {}, "outputs": [], "source": [ "from chemotools.datasets import load_coffee\n", "\n", "spectra, labels = load_coffee()" ] }, { "cell_type": "markdown", "id": "090f2739", "metadata": {}, "source": [ "The ```load_coffee()``` function returns two variables: ```spectra``` and ```labels```:\n", "\n", "- ```spectra```: A ```pandas.DataFrame``` containing the spectra of the coffee samples as rows.\n", "- ```labels```: A ```pandas.DataFrame``` containing the origin of each sample.\n", "\n", "> 💡**NOTE:** If you are interested in working with ```polars.DataFrame``` you can simply use the ```load_coffee(set_output=\"polars\")```." ] }, { "cell_type": "markdown", "id": "9468d685", "metadata": {}, "source": [ "## **Explore, plot and color**\n", "Before we dive deep into the coffee data analysis, we will quickly inspect datasets. Let's get a snapshot of the data sizes and kickstart our analysis." ] }, { "cell_type": "code", "execution_count": null, "id": "52163358", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The spectra dataset has 60 samples\n", "The spectra dataset has 1841 features\n" ] } ], "source": [ "print(f\"The spectra dataset has {spectra.shape[0]} samples\")\n", "print(f\"The spectra dataset has {spectra.shape[1]} features\")" ] }, { "cell_type": "markdown", "id": "5b04ab16", "metadata": {}, "source": [ "The ```spectra``` dataset contains 60 samples (rows) and 1841 features (columns). Each sample is a spectrum, and each feature is a wavenumber. The ```labels``` dataset contains the origin of each sample. To analyze the ```labels``` dataset we can use the ```value_counts()``` method from ```pandas``` and make a bar plot." ] }, { "cell_type": "code", "execution_count": null, "id": "1db6cf78", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Number of samples per class')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0kAAAF3CAYAAABwlgC0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQjRJREFUeJzt3Xd0VOXi9fE9gTRSKQkhQApFlBIJIEVQuFJCKFIVUaQIiFcgVBVQqldAbEgRBZWiWBAFBa8BRJByQaVLbzFBIJQIgSQQSs77h2/mN2MCZHSSE4bvZ62slXnOmTM7wzhm5znnGYthGIYAAAAAAJIkN7MDAAAAAEBhQkkCAAAAABuUJAAAAACwQUkCAAAAABuUJAAAAACwQUkCAAAAABuUJAAAAACwQUkCAAAAABuUJAAAAACwQUkCgNvA2rVrZbFYtHjxYrOj5MmpU6fUuXNnlSxZUhaLRVOnTjU7klPNmzdPFotFv/32m9lRCp1x48bJYrGYHQMA/hFKEgD8f9m/+Hp5een48eM5tjdp0kTVq1c3IdntZ8iQIVqxYoVGjhypjz76SC1btjQ7EgAAeVbU7AAAUNhkZmZq8uTJmj59utlRbls//PCD2rVrp+HDh5sdBQAAhzGTBAB/UbNmTc2ZM0cnTpwwO0qBS09Pd8pxTp8+rcDAQKccCwXHMAxdunTJ7BgAYDpKEgD8xahRo3T9+nVNnjz5pvv99ttvslgsmjdvXo5tFotF48aNs97Ovk7j4MGD6tatmwICAhQUFKTRo0fLMAwdO3ZM7dq1k7+/v0JCQvTGG2/k+pjXr1/XqFGjFBISIh8fHz388MM6duxYjv1++ukntWzZUgEBASpWrJgaN26sjRs32u2TnWnv3r16/PHHVbx4cTVq1OimP/PRo0f1yCOPqESJEipWrJjq16+vb7/91ro9+5RFwzA0c+ZMWSyWW16f8tlnn6l27dry8/OTv7+/atSoobffftu6/Y8//tDw4cNVo0YN+fr6yt/fX7Gxsdq5c6fdcbKv21q0aJHGjx+vsmXLys/PT507d1ZqaqoyMzM1ePBgBQcHy9fXV7169VJmZqbdMSwWiwYMGKCFCxeqSpUq8vLyUu3atbVu3bqb/gzZvvvuOz3wwAPy8fGRn5+fWrdurT179tjtk5ycrF69eqlcuXLy9PRUmTJl1K5du1te39SzZ0/5+vrq6NGjiomJkY+Pj0JDQzVhwgQZhmG3b1ZWlqZOnapq1arJy8tLpUuXVr9+/XTu3Dm7/SIiItSmTRutWLFCderUkbe3t957772b5vjpp5/UqlUrFS9eXD4+PoqKirL798rN3Llz9dBDDyk4OFienp6qWrWqZs2alWO/LVu2KCYmRqVKlZK3t7ciIyP11FNP2e1zq9cLADgDp9sBwF9ERkaqe/fumjNnjkaMGKHQ0FCnHbtLly665557NHnyZH377bf6z3/+oxIlSui9997TQw89pFdffVULFy7U8OHDdd999+nBBx+0u/8rr7wii8WiF154QadPn9bUqVPVrFkz7dixQ97e3pL+PNUtNjZWtWvX1tixY+Xm5mb9JXX9+vWqW7eu3TEfeeQRVa5cWRMnTszxy7atU6dO6f7771dGRobi4uJUsmRJzZ8/Xw8//LAWL16sDh066MEHH9RHH32kJ598Us2bN1f37t1v+nysWrVKXbt2VdOmTfXqq69Kkvbt26eNGzdq0KBBkv4sZkuXLtUjjzyiyMhInTp1Su+9954aN26svXv35vj3mTRpkry9vTVixAgdPnxY06dPl7u7u9zc3HTu3DmNGzdOmzdv1rx58xQZGakxY8bY3f/HH3/U559/rri4OHl6euqdd95Ry5Yt9fPPP9/0mrSPPvpIPXr0UExMjF599VVlZGRo1qxZatSokbZv366IiAhJUqdOnbRnzx4NHDhQEREROn36tFatWqWkpCTrPjdy/fp1tWzZUvXr19eUKVMUHx+vsWPH6tq1a5owYYJ1v379+mnevHnq1auX4uLilJCQoBkzZmj79u3auHGj3N3drfseOHBAXbt2Vb9+/dS3b19VqVLlpv9ebdq0UZkyZTRo0CCFhIRo3759Wr58ufXfKzezZs1StWrV9PDDD6to0aJatmyZnn32WWVlZal///6S/px9bNGihYKCgjRixAgFBgbqt99+01dffWX3+Ld6vQCAUxgAAMMwDGPu3LmGJOOXX34xjhw5YhQtWtSIi4uzbm/cuLFRrVo16+2EhARDkjF37twcx5JkjB071np77NixhiTj6aefto5du3bNKFeunGGxWIzJkydbx8+dO2d4e3sbPXr0sI6tWbPGkGSULVvWuHDhgnV80aJFhiTj7bffNgzDMLKysozKlSsbMTExRlZWlnW/jIwMIzIy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X9fLL7+c477Xrl3LUerzqlatWoqMjNTUqVNzHONms3HZz5ntPqmpqZo7d67dfufOnctxnOzZ0OznJi+vFwBwBmaSAOAWXnzxRX300Uc6cOCAqlWrZretT58+mjx5svr06aM6depo3bp11r/s54cSJUqoUaNG6tWrl06dOqWpU6eqUqVK6tu3r6Q/f2l8//33FRsbq2rVqqlXr14qW7asjh8/rjVr1sjf31/Lli37W489YsQIffrpp4qNjVVcXJxKlCih+fPnKyEhQV9++aV1cQVH9OnTR3/88YceeughlStXTomJiZo+fbpq1qxpvdapTZs2mjBhgnr16qX7779fv/76qxYuXJjj2hxnqV69umJiYuyWAJek8ePH3/A+/v7+mjVrlp588knVqlVLjz32mIKCgpSUlKRvv/1WDRs21IwZM3Tw4EE1bdpUjz76qKpWraqiRYtqyZIlOnXqlB577LFbZvPy8lJ8fLx69OihevXq6bvvvtO3336rUaNGWWe5GjdurH79+mnSpEnasWOHWrRoIXd3dx06dEhffPGF3n77bXXu3Nnh58XNzU2zZs1S27ZtVbNmTfXq1UtlypTR/v37tWfPHq1YsSLX+7Vo0cI6+9OvXz+lpaVpzpw5Cg4OtlsUZf78+XrnnXfUoUMHVaxYURcvXtScOXPk7++vVq1aScrb6wUAnMKsZfUAoLCxXQL8r7KXX7ZdAtww/lzauHfv3kZAQIDh5+dnPProo8bp06dvuAR49jLNtsf18fHJ8Xh/XW48e3nrTz/91Bg5cqQRHBxseHt7G61btzYSExNz3H/79u1Gx44djZIlSxqenp5GeHi48eijjxqrV6++ZaabOXLkiNG5c2cjMDDQ8PLyMurWrWssX748x37K4xLgixcvNlq0aGEEBwcbHh4eRlhYmNGvXz/j5MmT1n0uX75sDBs2zChTpozh7e1tNGzY0Ni0aZPRuHFjo3Hjxjmeoy+++MLuMW7075rbz5+d++OPPzYqV65seHp6GtHR0caaNWtyPWb2EuC2GWJiYoyAgADDy8vLqFixotGzZ0/rkuJnz541+vfvb9x9992Gj4+PERAQYNSrV89YtGjRLZ+r7NfKkSNHjBYtWhjFihUzSpcubYwdOzbHEumGYRizZ882ateubXh7ext+fn5GjRo1jOeff944ceKEdZ/w8HCjdevWt3xs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OFySBg0alOv4zJkztWXLln8cCAAAAADM5LRrkmJjY/Xll18663AAAAAAYAqnlaTFixerRIkSzjocAAAAAJjC4dPtoqOj7RZuMAxDycnJOnPmjN555x2nhhs3bpzGjx9vN1alShXt37/fqY8DAAAAANkcLknt27e3u+3m5qagoCA1adJEd999t7NyWVWrVk3ff/+99XbRog5HBgAAAIA8c7hxjB07Nj9y3FDRokUVEhKS5/0zMzOVmZlpvX3hwoX8iAUAAADARRX6D5M9dOiQQkNDVaFCBT3xxBNKSkq66f6TJk1SQECA9at8+fIFlBQAAACAK8hzSXJzc1ORIkVu+uXsU+Hq1aunefPmKT4+XrNmzVJCQoIeeOABXbx48Yb3GTlypFJTU61fx44dc2omAAAAAK4tz61myZIlN9y2adMmTZs2TVlZWU4JlS02Ntb6fVRUlOrVq6fw8HAtWrRIvXv3zvU+np6e8vT0dGoOAAAAAHeOPJekdu3a5Rg7cOCARowYoWXLlumJJ57QhAkTnBrurwIDA3XXXXfp8OHD+fo4AAAAAO5cf+uapBMnTqhv376qUaOGrl27ph07dmj+/PkKDw93dj47aWlpOnLkiMqUKZOvjwMAAADgzuVQSUpNTdULL7ygSpUqac+ePVq9erWWLVum6tWr50u44cOH68cff9Rvv/2m//3vf+rQoYOKFCmirl275svjAQAAAECeT7ebMmWKXn31VYWEhOjTTz/N9fQ7Z/v999/VtWtXpaSkKCgoSI0aNdLmzZsVFBSU748NAAAA4M6U55I0YsQIeXt7q1KlSpo/f77mz5+f635fffWV08J99tlnTjsWAAAAAORFnktS9+7dZbFY8jMLAAAAAJguzyVp3rx5+RgDAAAAAAqHv7W6HQAAAAC4KkoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAAANigJAEAAACADUoSAAAA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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "fig, ax = plt.subplots(figsize=(10, 3))\n", "labels.value_counts().plot.bar(color=['Violet', 'Salmon', 'LightBlue'])\n", "ax.set_ylabel(\"Number of samples\")\n", "ax.set_title(\"Number of samples per class\")" ] }, { "cell_type": "markdown", "id": "c64eca5f", "metadata": {}, "source": [ "We have a balanced dataset with 20 samples per class. Now that we have a better understanding of our data, let's start plotting the spectra. We will plot the different spectra and color them by their origin." ] }, { "cell_type": "code", "execution_count": null, "id": "80732661", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Coffee spectra')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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2dnZYtmyZT51hGhfOvIGL774opg8ebIwmUwiNjZWjB8/Xtx1112isLDQp97mzZvFvHnzRHx8vDAajWLo0KHi+uuvF99//33Q1/h///d/Ytq0aSIhIUGYTCYxatQo8cgjjwin09mi3ceOHRMXXHCBiIqKEunp6WLFihUtUn+3p83vv/++OOuss4TJZBJxcXFi2rRp4p///Kd3e11dnbjmmmtEQkKCAOBNTd6Qjvztt99u8bftdru48847RWZmpjCZTGLGjBli27ZtYubMmWLmzJlBzwUREbWOC+ASEREFcP311+Odd95BXV1dpJtCREQRxjlORERERERErWDgRERERERE1AoGTkRERERERK3gHCciIiIiIqJWsMeJiIiIiIioFQyciIiIiIiIWtHnFsBVVRWFhYWIjY2FJEmRbg4REREREUWIEAK1tbXIysqCLAfvU+pzgVNhYSGys7Mj3QwiIiIiIuomTp06hf79+wet0+cCp9jYWACekxMXFxfh1hARERERUaSYzWZkZ2d7Y4Rg+lzg1DA8Ly4ujoETERERERG1aQoPk0MQERERERG1goETERERERFRKxg4ERERERERtYKBExERERERUSsYOBEREREREbWCgRMREREREVEr+lw6ciIiIiLqvoQQKLY4oKgCJ8029I81YmB8VKSbRcTAiYiIiIi6h3KrE3vLzKiyu7xlpRYHkox6xBp420qRxaF6RERERBRxRXV2fHGqwidoAgAB4PP8cjgVNTINI6rHwImIiIiIIqra7sK201UBtztVgc/zK2B1KV3YKiJfDJyIiIiIKGIUVWBrQUWr9Wqdbuwvr+2CFhH5x8CJiIiIiCLmq4IKOBXRprr5ZhsKam2d3CIi/xg4EREREVFElFscKLe5Wq/YxI6iapgd7duHKBwYOBERERFRRGwvapzXJLVxH0UA3xVVQ4i29VIRhQsDJyIiIiLqcgW1VtibDNFrTxhU43CjzOoMf6OIgmDgRERERERdqtbpxvbCmg4d43BlXZhaQ9Q2DJyIiIiIqMsIIfDVqdaz6LWm1OpEDec6URdi4EREREREXeZ0nR1Wd3gWsy2uc4TlOERtwcCJiIiIiLrMzqLqsB3rlNnKJBHUZRg4EREREVGXKLc64A5jnGN2Kqh1usN3QKIgGDgRERERUZf4Loy9TQ2OVVnDfkwifyIaOH3xxRdY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LY1003q0zz//HLfeeiu++eYbbNiwAS6XCxdccAEsFotPvZtuuglFRUXef00/DBRFwfz58+F0OvH111/j9ddfx2uvvYbly5d39cvpkcaOHetzbrdu3erddscdd+B///sf3n77bXz++ecoLCzET37yE+92nvuO+e6773zO/YYNGwAAP//5z711eO2Hh8ViQU5ODp599lm/2x9//HH89a9/xdq1a/Htt98iOjoa8+bNg91u99ZZtGgRfvzxR2zYsAEffPABvvjiC/zqV7/ybjebzbjgggswcOBA7NixA0888QQefPBBvPjii53++rq7YOffarVi586deOCBB7Bz50785z//waFDh3DppZe2qLty5Uqf98Ntt93m3cbzH1hr1z8AXHjhhT7n9p///KfPdl7/oWvt/Dc970VFRXj11VchSRJ++tOf+tTj9R8CQRExbdo0ceutt3p/VxRFZGVliVWrVkWwVb1PaWmpACA+//xzb9nMmTPF7bffHnCfjz76SMiyLIqLi71lzz//vIiLixMOh6Mzm9vjrVixQuTk5PjdVl1dLXQ6nXj77be9ZQcOHBAAxLZt24QQPPfhdvvtt4uhQ4cKVVWFELz2OwsA8e6773p/V1VVZGRkiCeeeMJbVl1dLQwGg/jnP/8phBBi//79AoD47rvvvHXWr18vJEkSp0+fFkII8dxzz4nExESfc3/33XeLkSNHdvIr6lman39/tm/fLgCIkydPessGDhwonnrqqYD78Py3jb/zf91114nLLrss4D68/sOnLdf/ZZddJubMmeNTxus/NOxxigCn04kdO3Zg7ty53jJZljF37lxs27Ytgi3rfWpqagAASUlJPuVvvPEGUlJSMG7cOCxbtgxWq9W7bdu2bRg/fjzS09O9ZfPmzYPZbMaPP/7YNQ3vwY4cOYKsrCwMGTIEixYtQn5+PgBgx44dcLlcPtf9qFGjMGDAAO91z3MfPk6nE//4xz9www03QJIkbzmv/c6Xl5eH4uJin2s9Pj4eubm5Ptd6QkICpkyZ4q0zd+5cyLKMb7/91lvn3HPPhV6v99aZN28eDh06hKqqqi56Nb1DTU0NJElCQkKCT/nq1auRnJyMSZMm4YknnvAZlsrz3zFbtmxBWloaRo4ciV//+teoqKjwbuP133VKSkrw4Ycf4pe//GWLbbz+208b6Qb0ReXl5VAUxefm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IiIirF27FrGxsXC73d6yuro66HQ6zJo1y6fuli1bIEkSjh071sWt7FrhDtiWLVuG2267DbGxsWE7ZluMGTMGZ555Jp588sku/btERL0NAyciIsLs2bNRV1eH77//3lv25ZdfIiMjA99++y3sdru3fPPmzRgwYACGDh0aiab2SPn5+fjggw9w/fXXR+TvL1myBM8//7xPYExERO3DwImIiDBy5EhkZmZiy5Yt3rItW7bgsssuw+DBg/HNN9/4lM+ePRsA8Pe//x1TpkxBbGwsMjIycM0116C0tBQAoKoq+vfvj+eff97nb+3atQuyLOPkyZMAgOrqatx4441ITU1FXFwc5syZgz179gRt78svv4zRo0fDaDRi1KhReO6557zbTpw4AUmS8J///AezZ89GVFQUcnJysG3bNp9jvPTSS8jOzkZUVBSuuOIKPPnkk0hISAAAvPbaa3jooYewZ88eSJIESZLw2muvefctLy/HFVdcgaioKAwfPhzvv/9+0Pb+61//Qk5ODvr16+ctq6iowNVXX41+/fohKioK48ePxz//+c+gx/HXC7ZmzRoMGjQo6H7nn38+Kisr8fnnnwetR0REgTFwIiIiAJ5ep82bN3t/37x5M2bNmoWZM2d6y202G7799ltv4ORyufDwww9jz549eO+993DixAlvr4osy7j66quxbt06n7/zxhtvYMaMGRg4cCAA4Oc//zlKS0uxfv167NixA2eccQbOO+88VFZW+m3nG2+8geXLl+ORRx7BgQMH8Oijj+KBBx7A66+/7lPvvvvuwx/+8Afs3r0bI0aMwNVXX+3tcfnqq69wyy234Pbbb8fu3btx/vnn45FHHvHuu3DhQtx5550YO3YsioqKUFRUhIULF3q3P/TQQ7jyyivxww8/4OKLL8aiRYsCthfw9N5NmTLFp8xut2Py5Mn48MMPsW/fPvzqV7/Ctddei+3btwc8Tqj0ej0mTpyIL7/8MuzHJiLqMwQREZEQ4qWXXhLR0dHC5XIJs9kstFqtKC0tFevWrRPnnnuuEEKITZs2CQDi5MmTfo/x3XffCQCitrZWCCHErl27hCRJ3vqKooh+/fqJ559/XgghxJdffini4uKE3W73Oc7QoUPFCy+8IIQQYsWKFSInJ8dn27p163zqP/zww2L69OlCCCHy8vIEAPHyyy97t//4448CgDhw4IAQQoiFCxeK+fPn+xxj0aJFIj4+3vt787/bAIC4//77vb/X1dUJAGL9+vV+z4kQQuTk5IiVK1cG3N5g/vz54s477wy43V+bnnrqKTFw4MBWj33FFVeI66+/vtV6RETkH3uciIgIADBr1ixYLBZ89913+PLLLzFixAikpqZi5syZ3nlOW7ZswZAhQzBgwAAAwI4dO7BgwQIMGDAAsbGxmDlzJgDPnB4AmDhxIkaPHu3tdfr8889RWlqKn//85wCAPXv2oK6uDsnJyYiJifH+y8vL85t8wmKx4NixY/jlL3/pU////u//WtSfMGGC9+fMzEwA8A4jPHToEKZNm+ZTv/nvwTQ9dnR0NOLi4rzH9sdms8FoNPqUKYqChx9+GOPHj0dSUhJiYmLwySefeM9duJlMJlit1k45NhFRX6CNdAOIiKh7GDZsGPr374/NmzejqqrKGwRlZWUhOzsbX3/9NTZv3ow5c+YA8AQx8+bNw7x58/DGG28gNTUV+fn5mDdvHpxOp/e4ixYtwrp163DPPfdg3bp1uPDCC5GcnAzAk7mv+dyqBg3zjZqqq6sD4JmflJub67NNo9H4/K7T6bw/S5IEwDPvKhyaHrvh+MGOnZKSgqqqKp+yJ554An/5y1+wZs0ajB8/HtHR0fj973/vc+6ak2UZQgifMpfL1aY2V1ZWMqEHEVEHMHAiIiKv2bNnY8uWLaiqqsIf//hHb/m5556L9evXY/v27fj1r38NADh48CAqKiqwevVqZGdnA4BPVr4G11xzDe6//37s2LED77zzDtauXevddsYZZ6C4uBharbbVBAcAkJ6ejqysLBw/fhyLFi0K+XWOHDkS3333nU9Z89/1ej0URQn5bzQ1adIk7N+/36fsq6++wmWXXYZf/OIXADxB3eHDhzFmzJiAx0lNTUVxcTGEEN5gcPfu3W1qw759+/Czn/0stBdARERMDkFERI1mz56NrVu3Yvfu3d4eJwCYOXMmXnjhBTidTm9iiAEDBkCv1+Ppp5/G8ePH8f777+Phhx9uccxBgwbhrLPOwi9/+UsoioJLL73Uu23u3LmYPn06Lr/8cnz66ac4ceIEvv76a9x3331+gzDAk5hh1apV+Otf/4rDhw9j7969+Nvf/taudYpuu+02fPTRR3jyySdx5MgRvPDCC1i/fr03GGlod15eHnbv3o3y8nI4HI42H7+5efPmYdu2bT6B2PDhw7FhwwZ8/fXXOHDgAG6++WaUlJT47PfMM8/gvPPO8/4+a9YslJWV4fHHH8exY8fw7LPPYv369T77vPvuuxg1apRP2YkTJ3D69GnMnTs35NdARNTXMXAiIiKv2bNnw2azYdiwYUhPT/eWz5w5E7W1td605YCn9+O1117D22+/jTFjxmD16tX405/+5Pe4ixYtwp49e3DFFVfAZDJ5yyVJwkcffYRzzz0XS5YswYgRI3DVVVfh5MmTPn+/qRtvvBEvv/wy/va3v2H8+PGYOXMmXnvtNQwePLjNr3PGjBlYu3YtnnzySeTk5ODjjz/GHXfc4TMP6ac//SkuvPBCzJ49G6mpqa2mCg/moosuglarxcaNG71l999/P8444wzMmzcPs2bNQkZGBi6//HKf/crLy33mbo0ePRrPPfccnn32WeTk5GD79u34wx/+4LNPTU0NDh065FP2z3/+ExdccIE3kyEREbWfJJoPliYiIuqDbrrpJhw8eLDTUnY/++yzeP/99/HJJ590yvEDcTqdGD58ONatW4cZM2Z06d8mIupNOMeJiIj6pD/96U84//zzER0djfXr1+P111/3WUg33G6++WZUV1ejtrYWsbGxnfZ3msvPz8e9997LoImIqIPY40RERH3SlVdeiS1btqC2thZDhgzBbbfdhltuuSXSzSIiom6KgRMREREREVErmByCiIiIiIioFQyciIiIiIiIWsHAiYiIiIiIqBUMnIiIiIiIiFrBwImIiIiIiKgVDJyIiIiIiIhawcCJiIiIiIioFQyciIiIiIiIWvH/ARRXePbiRTYdAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# define a color dictionary for each origin\n", "color_dict = {\n", " \"Brasil\": \"Violet\",\n", " \"Ethiopia\": \"Salmon\",\n", " \"Vietnam\": \"LightBlue\",\n", "}\n", "\n", "fig, ax = plt.subplots(figsize=(10, 3))\n", "for i, row in enumerate(spectra.iterrows()):\n", " ax.plot(row[1].values, color=color_dict[labels.iloc[i].values[0]])\n", "\n", "ax.set_xlabel(\"Wavelength (a.u.)\")\n", "ax.set_ylabel(\"Absorbance (a.u.)\")\n", "ax.set_title(\"Coffee spectra\")" ] }, { "cell_type": "markdown", "id": "811a33d2", "metadata": {}, "source": [ "Visually, we can see that there are some differences between the spectra of the three coffees. However, we need to dig deeper to understand the origin of such differences. Let's start with an exploratory analysis. We can do that by using a Principal Component Analysis (PCA) to reduce the dimensionality of the data.\n", "\n", "To do so, we will first mean center the data using the ```StandardScaler()``` preprocessing method from ```scikit-learn```. Then, we will use the ```PCA()``` method, also from ```scikit-learn```, to reduce the dimensionality of the data to two principal components. Finally, we will plot the scores and color them according to the origin of the coffee.\n", "\n", "\n", "> 💡**NOTE:** When using spectroscopic data, we do not want to scale the spectra to unit variance. Instead, we want to mean center the data. This is because the variance of the spectra is related to the absorbance of the sample. If we scale the data to unit variance, we will lose the information about the absorbance of the sample. We can mean center the data using the ```StandardScaler()``` and setting the ```use_std``` argument to ```False```." ] }, { "cell_type": "code", "execution_count": null, "id": "debd8f0c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'PCA scores')" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ewxz5sxBVlYWrFYrNm3aFPQ1evXqhW3btrVavnXrVt/6YPr06QPAewQ1bty4oG0BIDc3F7/5zW/wm9/8BocOHcKIESPw2GOPMSASWaw7QYgi5XgndaCO3pPV1tbK3NxcmZubK7dt29ZqfXV1tXz00UellFL++9//lgDk119/HfC1br31Vpmeni4dDkebP6+mpqbVsvvvv18qiiJtNpuUsn2d1N99951vXWNjo+zdu3fATuoPPvjA73U8Ho/s06eP7Nevn2xoaGj1cw4dOiSllNLtdsu6urpW68866yw5atSoNveT4h+PICjpZWRk4OOPP8akSZMwfPhwvzup169fj3fffRclJSUAvKeXunTpgjFjxgR8rcsvvxyvvvoqPvvsM1x11VUB24wfPx45OTk455xzkJ2djS1btuAf//gHLr30Ul9n+eOPP47Fixdj7NixmDlzJgYOHIiDBw/igw8+wMqVK5Geno7Zs2fj3XffxcSJE3HXXXchMzMTb775JioqKvDf//435E1wiqLgtddew8SJEzFo0CDMmDED3bt3x/79+7F8+XJYrVZ8+umnaGhoQI8ePXD11Vdj2LBhSElJwdKlS7FmzRo888wzp/prp3gQ64QiipRwjyCOO3DggPztb38r+/fvL41GozSbzXLkyJHysccek/X19bK6ulpqtVp54403tvkadrtdms1meeWVV7bZ5pVXXpHnnXee7NKlizQYDLJPnz7y/vvvl/X19X7tKisr5bRp02RWVpY0GAyyd+/e8o477pBOp9PXZufOnfLqq6+W6enp0mg0yuLiYrlw4UK/12nrCOK4DRs2yKuuuspXT69eveS1114rly1bJqWU0ul0yvvvv18OGzZMpqamSovFIocNGyZfeumlkL9Tim8ci4mIiALifRBERBQQA4KIiAJiQBARUUAMCCIiCogBQUREATEgiIgoIN4oF4Kqqjhw4ABSU1N9o2gSEcUzKSUaGhqQl5cX9IZKBkQIBw4cQH5+fqzLICLqcHv37kWPHj3aXM+ACOH40Ad79+6F1WqNcTVERKfPZrMhPz8/5DwoDIgQjp9WslqtDAgiSiihTpuzk5qIiAJiQBARUUAMCCIiCogBQUREATEgiIgoIF7FRNSJSCkhG7xTtIhUwZszKaYYEESdgFQlnKudcHzv8AWEkqHAWGKEfoSeQUExwYAgijEpJZrmN6Flc4vfcvWoCvvndrir3TBPNDMkKOrYB0EUYy3bWlqFw8lc61xwV7qjWBGRFwOCKMaca51AsIMDBXCuc0atHqLjeIqJKMqkKtGypQXOdU54ajyQdgnIIBuogOeQJ2r1ER3HgCCKIqlKNH3YhJZtLd6jhmDBcBJhYP8DRR9PMRFFkeM7hzccgLDDAQD0g/SRKYgoCB5BEEXJ8UtZ20UAwiJgGGaITFFEQTAgiKJErVMhm8I8bFAAqICSriBlagqEkaeYKPoYEETREs5nvAA0uRpoe2qhK9BB20cLoTAcKDYYEERRoqQrEFYBaQtyFCEB04Um6Ap10SuMqA3spCaKEiEEjGcb226gAEqWAm0Bv7dR58CAIIoiQ7EB+uHHrkj6ybtPpAikTEnhkBrUafCrClEUCSFg/rkZ+iF6741yhz0QRgH9YD0MQwy834E6FQYEUZQJIaAr0EFXwH4G6tx4iomIiAJiQBARUUAMCCIiCogBQUREATEgiIgoIAYEEREFxIAgIqKAeB8E0WnwHPHAU+UBNIC2QAvFyO9clDgYEESnwFPngf1TO9y73ScWagDDWQaYLjRBaHhHNMW/uPq68/XXX+Oyyy5DXl4ehBCYP39+yG1WrFiBESNGwGAwoG/fvpg7d27E66TEpjaqaHijAe5Kt/8KD+D83omm+U2Qsh3TxRF1UnEVEE1NTRg2bBhefPHFsNpXVFTg0ksvxQUXXICysjLMmjULt9xyC7744osIV0qJzPG9wzvxTxsZ0PJjCzwHPNEtiigC4uoU08SJEzFx4sSw27/88ssoLCzEM888AwAYOHAgVq5cib/97W+YMGFCwG2cTieczhPTQtpsttMrmhKOq8wVfD5pBXD+zwlt97h6exG1EldHEO21atUqjBs3zm/ZhAkTsGrVqja3eeKJJ5CWluZ75OfnR7pMiiNSlZDNIU4fqYBs4Ckmin8JHRBVVVXIzs72W5adnQ2bzYbm5uaA28yZMwf19fW+x969e6NRKsUJoQgIU4gOaAUQqeykpvjHY+CfMBgMMBgMsS6DOjH9cD2c3zvbPs2kAoZh/Bui+JfQRxA5OTmorq72W1ZdXQ2r1QqTyRSjqijeGc82QlhEm+8e3Rk6aPI00S2KKAISOiBKSkqwbNkyv2VLlixBSUlJjCqiRKCkKEidkQpt/k8OwDWAYbQBlissnDaUEkJcnWJqbGxEeXm573lFRQXKysqQmZmJnj17Ys6cOdi/fz/eeustAMBtt92Gf/zjH3jggQfwq1/9Cl9++SX+85//4LPPPovVLlCC0KRrkDotFZ6aY3dSa3knNSWeuAqItWvX4oILLvA9v+eeewAA06dPx9y5c3Hw4EHs2bPHt76wsBCfffYZfvvb3+Lvf/87evTogddee63NS1yJ2kvTVQNN1+Q5naRW7oK6+hvIPbsBRYHS/wwoxedAZOXEujSKACF5y2dQNpsNaWlpqK+vh9VqjXU5RDHj+Xop1OX/BygKoKrehYr3iElz9Y1QBg6NYXXUHuF+rvF4mIhCUndt94YDcCIcjv+/qsLz4duQtrqY1EaRw4AgopDU0m8AEeTjQqpQ130fvYIoKuKqD4IokqSU8BzwQG1QoaQq0ORpeDXSMbJyFyDVIA2ktw0lFAYEEYCWHS2wf2GHevTEh6CSocA8wQxdP10MK+skwglKhmnC4SkmSnqu7S40vtfoFw4AoB5V0fheI1zbXTGqrPMQvfv7OqQDNxAQvftFryCKCgYEJTUpJeyL7EHbNC9qTvr5HZSzf+bfOe1HAFotlBGjo1oTRR4DgpKae48bsj74h79ar8K91x20TaJT8guhXPqLY09O+tgQ3nDQXPcrCEtqbIqjiGEfBCU1aQvvyCDcdolE2hshD1cDGi1Ebg9oRo2B0rM31LXfQd2zC1A0UPoNhDKyBMKaFutyKQIYEJTUREp4HavhtksE0t4IzxcLIDeVnTitZLZAOecCKCXnQzPpKiTPvePJjQFBSU3bSwuRIiAb2z5CECkC2p7J8VaRjma4X/8HUHvE/7JWexPUJQsh6+ugnXhl7AqkqGIfBCU1oQiYLzYHbWO+2AyhJMcRhLrqK6C2ps17HuTqlZCHDka5KooVBgQlPf1gvXeIbrN/CAiLgOUKC/SD9TGqLPrU9d8Dwa7YUhSo61dHryCKqeQ4biYKQT9ED90ZOrgr3FAbVSgpCrSFWghNchw5AIBUVaCxIXgjVYWsPxqdgijmGBBExwiNgK5v8t41LRQF0OsBV5AbAxUFMAU/JUeJg6eYiMhHGToq+B3Tqgpl6IjoFUQxxYAgIh9lzPmATh94XCUhIAr7QfTqE/W6KDYYEETkIzK6QHvTHUBm12MLTgSFOGMYNNfN4Ai3SYR9EETkR+TkQXvH7yArd0FW7Qc0Wij9iiDSM2NdGkUZA4KIWhFCQBT0AQp4OimZ8RQTEREFxIAgIqKAGBBERBQQA4KIiAJiQBARUUAMCCIiCogBQUREATEgiIgoIAYEEREFxIAgIqKAGBBERBQQA4KIiAJiQBARUUAMCCIiCojDfVPc8dR64FzthGuzC7JFQpOlgeEsA/SD9RAKJ7Mh6igMCIorLZUtaHynEfAAkN5lnoMe2BfY0bK1BZarLQwJog7CgKC4IVskmv7T5BcO3hXe/7Rsa4Gz1AljiTEW5cWUdLuhblgNdc23wNEaQG+EMmQElLN/xpng6JQxIChuuH50QTpk0DaO1Q4YzjYk1bzJsqUFnnn/gqzcdWKhuxHq6pVQy0qhnXY7RF5+7AqkuMVOaoobnv2ekH+x0iYh7cFDJNGoXy2G3FPReoVUAZcL7vffgFTV6BdGcY8BQfFDgf+ppWDtkoR0u6Gu/Q6QbfxipARs9ZA7tkS3MEoISfRWonin6a4JHRACEJrkOb2Eo0cApyN4G0WB3L8nOvVQQmFAUPwI53NfAu697oiX0mkoYb6FNZrI1kEJiQFB8cMTXjPZkkR9EJldgLSM4G1UFaLPgOjUQwmFAUFxQ5Md3rfgcNslAiEUKOdcGKSBAvToBdG9Z/SKooTBgKC4oc3RQpOnaftUkwJoe2uhyUiegAAAZVQJlLPPO/bk2Fv6+GW+XbOgnXJTUl32Sx2H90FQXLFMtqBhboP3foiTzyQJQJgFLD+3xKy2WBFCQDNhMpShI6Gu+x6y5hBgMkEZNBxi4BAIDd/mdGqElG1dH0cAYLPZkJaWhvr6elit1liXQwDUehWOVQ44/+cEXAAMgOFMA4wlRigpPCgmCiXczzV+taC4o6QpMF9ihmmCydtxrQFPoRBFAAOC4pYQgn/BRBHEtxfFlPRISIeEMAgIrYBar8K5zomWnS2ACmh7aWEYaYAmK7k6nok6AwYExYRqU9G8shmu/7kANwAF0PTQeMdbUnFiKO8aD5xrnDBfZoZhuCGWJRMlnbjr0XvxxRdRUFAAo9GI0aNHY/Xq1W22nTt3LoQQfg+jMfmGgu5sPHUe2F6zwbX+WDgAgAp49nhaD+V9bIw5+6d2uA8k0R3SRJ1AXAXE+++/j3vuuQcPPfQQ1q9fj2HDhmHChAk4dOhQm9tYrVYcPHjQ96isrIxixRSI/XO7d8TV9lw/pwCO0hBjDhFRh4qrU0zPPvssbr31VsyYMQMA8PLLL+Ozzz7D66+/jtmzZwfcRgiBnJycaJZJQaj1Ktw7T+FIQAXcuxL3CELdvwfqqq8gy7cCUkL06AXl7POg9BsY69IoicVNQLhcLqxbtw5z5szxLVMUBePGjcOqVava3K6xsRG9evWCqqoYMWIEHn/8cQwaNKjN9k6nE06n0/fcZrN1zA4QAG+fAvlTy9bAs+B9QBHAsXkb5K4d8OzaDnnOhdCMuzTGFVJnU2N3YVddE+ocLVAUge4pRhSkm2HSduzFHHFziqmmpgYejwfZ2dl+y7Ozs1FVVRVwmwEDBuD111/HggUL8Pbbb0NVVYwZMwb79u1r8+c88cQTSEtL8z3y8zkTV0cSulO8X0HxXtGUaOTRI/B88j4A6QuHY2sAAOq3X8JT+k1MaqPOafNhG77eewT7GxxobPHA5nRjy5FGLKk4jNpmV4f+rLgJiFNRUlKCadOmYfjw4Rg7diw++ugjZGVl4ZVXXmlzmzlz5qC+vt732Lt3bxQrTnya7hrAdAobqoChOPGuYlLXfodQ45irXyyAPHQwOgVRp7a/oRnbapsAtO7Cc6sS3+2rhbsDZw+Mm4Do2rUrNBoNqqur/ZZXV1eH3ceg0+lw5plnory8vM02BoMBVqvV70EdR2hE+wbTO/YXahpngq6nLjJFxZC6t9I7NWgwUsKz7PPoFESd2vZj4dAWlyqx19ZxF3PETUDo9XqMHDkSy5Yt8y1TVRXLli1DSUlJWK/h8XiwceNG5ObmRqpMCoOnLrx+CGER0A3UIXVGKowliXl5stCE9xaU27dANjVGuBrqzFQpcdTRErSNAFBjdwZt0x5xdVL3nnvuwfTp0zFq1CgUFxfjueeeQ1NTk++qpmnTpqF79+544oknAACPPPIIzj77bPTt2xd1dXV4+umnUVlZiVtuuSWWu5HU1AYVsIfXNu2ONAhDYo+xJPoWQe7eGUZLCTTaAEtKxGsiOi6uAmLKlCk4fPgwHnzwQVRVVWH48OFYtGiRr+N6z549UE6agvHo0aO49dZbUVVVhYyMDIwcORLfffcdzjjjjFjtQtKTrvBufhDpIuHDAQCUM0dDXf4F4AnjEl6GQ1JThEC6QYc6Z9tHERJAF7O+w34mh/sOgcN9dyzZIlH317oTd1C3wXCuAeYLzFGpKdY82zdDfff1thsIAVHYD9obfx29oqhT2mtrxpqDdW2u1ykCE/t0gzbEXOXhfq7FTR8EJQahE9APC/ENRwuYzjmVS53ik6b/IIiSsYFXCgEoCpQLJ0a3KOqUeqQa0S/DOynWycfXAoBGCIzpnhkyHNojrk4xUWIwnW+Ce5cbap0acLgNy2QLhD7xTy+dTHPxZVBNFqjfLAVaTrqWPaMLNJdPgcI5pQnekSGGdLMi22I4dqOcG4oCdE8xoTDdDLOuY2+U4ymmEHiKKTJUuwrHV8dmhTt2SlXbSwvjeUboChLvctZwSZcTcuc2wOEAMrtC9CzkZEjU4TijHHVqilmBeaIZpotNUBtVCL2AYuYZT6E3QAwcGusyiAAwICjGhFZAk87JgIg6I35lIyKigBgQREQUEAOCiIgCYkAQEVFADAgiIgqIAUFERAHxMlciohiSUuJgoxPlR5tQ63BBAOhmNqBfpgVdzbGdJIsBQUQUQ5sON2DHUf+JgKqanDjY5MTwblb0Pjb2UizwFBMRUYxUNTlahQNwYoiyskM2NDjDGAo+QhgQREQxsvOoPeiM5ALArvrg04xGEk8xEXUg2dQIeeQwhF4PZOdCCH4Ho7bVNrsCDWjsIwHUNgefZjSSGBBEHUA21MPzxSeQP/4POD5Aclo6NOeNhzJidGyLo05LEQIBx7z3axOdWgJhQFC7eeo8UA+rgB7Q9tBCaJJ7OGrZ2AD3a38HGhpOhAMA1NfB8+l/IJsaofnZRbErkDqt3BQDKuubg0ZErsUYtXp+igFBYfMc9aBpYRM8uz0nFmoAQ7EBpotMSTtvgfrN0mPhoAZev/z/oAwbBWFNi3Jl1Nn1ybCgsr65zfVaRaBXWuym3uUJUgqLWq/C9prNPxwAwAM4VznR+FZjbAqLMenxQN2wus1wOE7935ooVUTxJM2gQ3FeRsDTSDpF4JwemTBoY/cxzSMICov9GzvgaHu9e48bjnUOGEfG7nA4Jprt/lOEBiIE5NHa6NRDcad7qhGZpm6orLfjiN0FIQS6WQzoaTVBr4ntd3gGBIUkPRIt/wt9JYXjmyQMCIMBEMK/7yEAYY7daQLq/ExaDYq6pAJdYl2JP55iopBkswSCn0HxtmuQkK7EnOJcNtqg7t0NebgaJ0/jLnR6iKLBQLDLWVUVyuARUaiSqGPxCIICkqqE638uONc44TnsCb3BSduJoLf+xBdZWwPPFwsgt2+B73LErt2gjL0YSkFfwGSG5rzxcG/fAqiy9ZGEEBADh0Lk5EW9dqLTxYCgVqQq0fRBE1q2t+8GHWEVEIbECgf3q88BTif8rlWvOQT1v/O8B1U6HZThxVCu/iXUzz8GGuq9RxNSBSAgho6E5udXx6R+otPFgKBWnGuc7Q4HADCOMSbUpa6epQu94RDsCqWWFqhrVwHbNkNz8/8DDlVBHq4CdHoo/c+ASMuIXsFEHYwBQX6klHCWOtu9nW6gDoaRsR2auCNJeyPk1k0hO5+9jVWg0QZ1yUJor74R6Dcw8gUSRQEDgvxIp4RaH0aPtAJAAJpuGhhGG6AfrE+oowfY6sMLh+NUFXLLD5D2RghzSuTqIooiBgT5EeEM/KIA+uF6WC6N3Tj1EWc6hctSVRXySA0DghIGL3MlP0IvoMnXIOiFSCqg66uLWk2xINIygO49vfc4tGc7vT5CFRFFHwOCWjGOMbY9wKQCKBkKdP0SOyAAQHPhxPZtkJ4BdMuJTDFEMcCAoFb0/fUwjTd5nxz/An3sv0qqgpQbUsI7FRXnlN79oblmetinmzRjx3P+B0oo7IOggIyjjdD108G53gnPIQ+ETkA3QAf9GXoIbeKHw3HKwCEQ/QZCbtsMtabae2VT1X5AORYExzqylQsnQRleHMNKiToeA4LapMnUwDwueccQklKFEAqEVgsxaJj3cHvseMiqA1A3rYdsboZIz4QyfBREKofypsTDgCA6iXQ0Qy39xnvzW6MN0OuhDB0FZcz5EBnekdRETh40HDqDjpFSYq+tGTvr7GhwuaEVAj2sJvTJMMOii++P2PiunqgDSXsT3G/8Azhy+MQ9EC4X1PXfQ924Dtrpv4HI7RHbIqlTUaVE6f6jONh04uZSNyR2Hm1CRZ0dP8vPRKYpfq9sY48a0TGexZ8AR2pa3yCnqoDLBfeH//YbyZVoR22TXzgcJwF4pMSq/UehxvHfDAOCCIBstkNu3ND2uEtSArU1kLt3Rrcw6rSk9B4pBOP0qNjfEGSmrU6OAUEEQB6uBtQQw5oLAXlwX3QKok7P4Vbh8AQflkYAqG0OMeNgJ8aAIAIAbRjdcTLMdpQUwr3JPp7HKGt3QBw8eBBvv/02Pv/8c7hc/snY1NSERx55pMOKo44nPRIt5S1wljnRUt4C6Ynf86MdSeTkAZZQYyhJKH2LolIPdX4GjYIUvSZoGwkg2xK/oxwL2Y5etzVr1mD8+PFQVRUtLS3o3r075s+fj0GDBgEAqqurkZeXB48n/BnIOjubzYa0tDTU19fDarXGupzT4trogn2xHdJ+0pSZZgHTeBMMQ+L3jzhcUkrILT9ALf0Gcv9eQBEQfQdCKRkLJb8AnlVfQV38SeCNhYAoGgzttTdFtWbq3Crr7VhXVR9wnQBg0WtwcUFWpzuKCPdzrV1HEL///e9x5ZVX4ujRo6iursbFF1+MsWPHYsOGDaddMEWWa5MLTfOb/MIBAKRdwj7fDtem+D1PGg4pJTyL5sPzwVuQe3cDHjfQ0gK5bRM8r78AdcNqKGefB2X0ed4Njt8pfey/oldvaCZfF5viqdPqaTWhf6Z3VOOfRoBJq8E53TM7XTi0R7tOqK5btw4vvvgiFEVBamoqXnrpJfTs2RMXXXQRvvjiC/Ts2TNSddJpkKqEfYk9aBv7Ejt0Z+gSdowluXUT5OqVx56cFJKqt5PR8+l/oC3oA80lk6GMKIa6YTXk0SOAyQJl6AiIgr5x/UanyBBCYHCWFd1Tjaios8PmdEOrCPRINaGH1QRtnL+f2t3j5nD4X7I1e/ZsaLVajB8/Hq+//nqHFUYdx13phmwMfiZRNkq4K93QFSbmKK3q6m+8vYpBzqiq61ZBM+7nEN1yoZkwOYrVUTw46mhB+dFGVDc6oQLoYtSjT6YZORYjMox6ZOTE7w1xbWlXQAwePBjfffcdhg4d6rf8vvvug6qqmDp1aocWR6dGeiTce92QzRKaTA1kU3jdTOG2i0dy/97gM8RJCblvT/QKoriy19aMNQfrIHBiJPxDdieq7U70z7RgcFZ890+2pV0BMW3aNKxYsQK33XZbq3UPPPAApJR4+eWXO6w4aj/nOieaVzT79TUomeF1NQlrfB8OB6XRAC0h2vASVgrA3uLB2oN1APynSTn+/9trm9DVpEdOijHapUVcu65iSkbxdBWT43sHmpc0n9K2SpoC6/+zJux5dvdH8yA3l/n6HAJRLrkCmtE/i15RFBc2H7Zhe21Tm3NoCQBZZj3Oze8SzbJOS0SuYnI4HPjkk0/Q0NAQ8Ad+8skncDpbj0tCkac2q2hedmrhAACmS0wJGw4AoDn7vLZPMQkBGE1Qho2KblEUF440t7QZDoD3SKK2OdThaXxqV0C88sor+Pvf/47U1NRW66xWK55//nm8+uqrHVYchc/1PxcQ/K5/AIBI9w8BJVNBynUp0PdPrA42aW+ErK2BdHm/sIi8fGiuusF72epPg9BogvbGX0MYTTGolDq7cL43Jep3q3YFxLx58zBr1qw218+aNQtvvfXW6dYU1IsvvoiCggIYjUaMHj0aq1evDtr+gw8+QFFREYxGI4YMGYLPP/88ovXFSsvO8L7BWH5hQeqvUmG5xvtf62+sCTW/tLq3Au63Xob76YfgfuEJuJ/6I9zz34WsPwpl8JnQ3v0HKOddDNF3AET/M6BMugrau/8/iLz8WJdOnVSoO6FFGG3iVbsCYseOHRg2bFib64cOHYodO3acdlFtef/993HPPffgoYcewvr16zFs2DBMmDABhw4dCtj+u+++w9SpU3HzzTdjw4YNuOKKK3DFFVdg06ZNEasxVqQjvK4kxaBA210LfZEe2u7ahDqtpJZvhWfuS5C7y08s9HggN66H+9W/Q9bVQljToDl/ArQ3zIR26s3QnHUOhCHxOhep4/RKMwe9n0EC6JthiV5BUdSugHC73Th8+HCb6w8fPgy3233aRbXl2Wefxa233ooZM2bgjDPOwMsvvwyz2dzm/Rd///vfcckll+D+++/HwIED8eijj2LEiBH4xz/+EbEaY0XpEt4/pZKWmOMzSo8HnvnvAqoMPJ+Dvck73wNROxk0Cs7pntkqJI4/G5mTFteTAgXTrk+LQYMGYenSpW2uX7x4sW9cpo7mcrmwbt06jBs3zrdMURSMGzcOq1atCrjNqlWr/NoDwIQJE9psDwBOpxM2m83vEQ/0RaH/QDW5Gght4hwxnEzu+BFoagTa6k6Uqvdu6sbWF1gQhdLFrMeEwm4YnJWKriY9Mk069Mu0YEJhFnqlJe687e0KiF/96ld49NFHsXDhwlbrPv30Uzz22GP41a9+1WHFnaympgYejwfZ2dl+y7Ozs1FVVRVwm6qqqna1B4AnnngCaWlpvkd+fnycm9b110FkiNYDwpzEdGHidsLKmsMnxk9qs5H0Dp9BdAoMWgX9M1NwXs8uOL9nVwzOssKiT+x7Z9q1dzNnzsTXX3+Nyy+/HEVFRRgwYAAAYOvWrdi+fTuuvfZazJw5MyKFRsucOXNwzz33+J7bbLa4CAmhCKT+MhWNbzdCPdr6cibzpWboeidOZ3QrBkPQexyOE4bE7EwkioR2x9/bb7+NyZMnY968edi+fTuklBgwYAAefvhhXHvttZGoEQDQtWtXaDQaVFdX+y2vrq5GTk5OwG1ycnLa1R4ADAYDDHH6IaJJ18B6uxUtW1vQsr0F0i2h6aaB4UwDFGti9j0cpwwYDPXzj4I3sqYDWW3/21Nik1Jif4MD5UebUOdogRACuSkG9M2wJGwfwulq16eGx+PBk08+ieeeew779+/Hz3/+c6xbtw7z58+PaDgAgF6vx8iRI7Fs2TLfMlVVsWzZMpSUlATcpqSkxK89ACxZsqTN9olAaAT0g/SwXGlByjUpMI01JXw4AIA8EvhKNj/NdqCJfRDJSEqJDdX1WH2wDrWOFqgAPFJiX4MDK/YcwY81/LsIpF2fHI8//jh+//vfIyUlBd27d8fzzz+PO+64I1K1tXLPPffg1VdfxZtvvoktW7bg9ttvR1NTE2bMmAHAO1bUnDlzfO3vvvtuLFq0CM888wy2bt2KP/3pT1i7di3uvPPOqNVMkSelhOeLBaEbulugrm37AgVKXPsaHNhd3/ZIA1uPNGJHbWMUK4oP7TrF9NZbb+Gll17Cr3/9awDA0qVLcemll+K1116DEqqDsANMmTIFhw8fxoMPPoiqqioMHz4cixYt8nVE79mzx6+OMWPG4J133sEf/vAH/P73v0e/fv0wf/58DB48OOK1UhQdrgaqD4ZuJyXUTRugOX9C5GuiTmXn0aaQbTYebkBuihEpCd7x3B7tGqzPYDCgvLzcr9PWaDSivLwcPXr0iEiBsRZPg/UlK3XXdnj+/Up4jVOt0N3zUGQLok7n420Hg46ndFy/DAuGdEv893lEButzu90wGv3vOtXpdGhpScyBqig+iNQw39BCQHTLjWwx1CkpYY4YcKQ5safeba92HUtJKXHTTTf5XeXjcDhw2223wWI5cav5Rx+FuJqEqAOJrBwgpztQtT94QymhjBoTnaKoU8m2GHCg0RGyXbhBkizaFRDTp09vteyXv/xlhxVDdKo0EybD89Y/g84aJ4aMgBgQmTv9qXPrn2kJKyByEnTQvVPFCYNCYB9E/FAryuFZ+AFQW+O/wmSGMnY8lOJzIETiX/JLgW2tacCPR9q+UkmrCEwo7AaDNvH/RsL9XGN3PSUMpbAvxJ2zIffvgayr9fY59OgJYU1nMBCKuqZCq1Hww6HW46tpFYFzumcmRTi0BwOCEooQAqJHL6BHr1iXQp1Q3wwL8lIMqKiz40hzC4Tw9k/0SjPDoGE4/BQDgoiSilmnxaAsni4OByOTiIgCYkAQEVFAPMXUCUiPhLvSDemU0GRqoMnWxLokIiIGRCxJKeFc64TjKwdk84mrjTW5GpgvNUOby38eIoodnmKKIce3DjQvavYLBwDwVHnQ8GYDPIc8MaqMiIgBETOqXYXjqzbu7JQA3IB9uT2qNRERnYznMGLEtcmFoMNLSsC93Q3VrkIxM8eJAnG4Pag6NoRGV7MeKfoEnlY3BhgQMSIbJCAQPCQAyEYJmKNSElHccHtUrNxXi1qH/0jSVr0W5/TIgEnHj7aOwK+mMSJSRMhwAABhSZ7RJaWUkEePQB6qgnQ5Y10OdVKqqmJxxeFW4QAANpcbS3bXwOVm/11HYMzGiH6QHs1Lm9sOCQFoe2uhWJIjw9WN6+H5eglQc2xuaa0OyvCzoFw4EcLEQyg6YWttExwetc31blViU00DRuSkR6+oBJUcnz6dkJKiwHiOMfBKAUABTBeYolpTrHi+WwHPR/NOhAPgnT963Sq4X38B0tH2XMKUfCrqQk8futcWemhvCo0BEUPGsUaYLjQBev/lSqaC1BtTk+I+CGmrg7p0YRsrJXDkMNTvVkS1JurcWjyhz816OItBh0j8T6BOTAgB4zlGGIoNaNnZ4r2TuosGmu4aiCSZ2UrdsCZ4Aymhrv0OygUTOGQ3AQAUAaghPv+V5Hj7RBwDohMQOgF9kT50wwQkaw8j5OVczXbA6QSMyXHKjYLLTTWGPIWUZeLMcB2BX8kopoTB6M2HoI0EoOP17eQ1uGtqyD+ZYd04nHdHYEBQTIlBwwG17StSIBSIgUMhNDzYJS+TTovz8rsE/PBSAJzbIxMpBv69dAT+FimmRM9CiIK+kJU7vZ3SfisFoAhozr0wNsVRp9XFrMfl/XNQWW/H/gbv6abcFAMK0y1QkqT/LhoYEFEgpYTrRxeca52QDRLCLKAfqodhiAHCkNx/zEIIaK6bAc9/34bcsQUQiveUk6oCRjM0V/8SIrdHrMukTkgRAoXpFhSmW2JdSsJiQESY56h3ZFbZcNK346NA8/5mOJY7kHJjCrQ5yf3PIAxGaK+/BfLQQahbNwPuFohuORADh/DUElEM8d0XQdIpYXvDBrRxX490SDS+3Yi0/5eW9EcSACC65ULTLTfWZVCMqVLiYKMTRx0uCAhkW/ToYtInzaXfnQkDIoKcPzjbDIfjZLOEa5MLhpG8LI+ottmF7/cfhcOj+q5U2lYLmLUK+mRYkG0xwGrgFW3RwoDoYO6DbjhWO+CucEPaw7ub07UjsQNCSgm5pwJy43pIhx0iPRPKmaMhumTFujTqROwtbqzcW+u7C/rkd4/drWLj4QZsPNyALiYdRuWmw8IRWyOOv+EO5FzvhP0zu/dauyBXbrbijlRFsSddTnj+8ybkzm2AogBSQgoB9dvlUM69yDsYH08dEIDyo3Z4pAw5yHFtcwu+qjyCiwq6wqDl/O2RxPsgOoi7yu0NB6B94QBA2z0xc1pKFZ6P3obctd27QFW9l7Ieu+9BXbkM6ppvY1ghdSZ7bc3hjIAPCcDpUVFexxkXIy0xP5liwLnG2f4jBwAQgGFEYp1ekh4P1FVfQf3+K6CpMWhbdeUyKKPGQCj8rpLs3KEGWDqJBFBZZ8egrqmRK4gYEB3FXelufzgAMP/cDCUtcT4cpccDz3uvQ5ZvDW+DBhtQfQDgvQ5JL0WvQb0z/POtziBzQlDHSJxPpjijZClImZ4Cw/DEOnpQN6wOPxyOke4E7oShsPVu5w1vRi0/viKNRxAdRNdXB+c6Z9CjCN0QHUznmqBkKBCaxOyYVdesbN8Gigaia7fIFENxpVeaCfsamnHY7gqrfUEaZxqMNEZwBzGMMgSfY1oBTD8zQdNVk7DhAMB/VrhQhAIxZDinFCUA3qEzxnTPRFGXFOiCvEUEAItOgz4ZHGIj0ngE0UE0XTWwXGlB0/wmb1AcDwvhfViutEDTJQkuydPqAJczdDshgIxMaMZfHvmaKG5oFIEzuqaiqEsKGl1ulB9twl5bM06eRC4nxYAzs9Og1/D7baQxIDqQfpAemlwNnOuccFd4z6trC7UwjDRAk5kE4QAARUOAH9YGb6M3QCk+F8qY83n0QAEpQsBq0GFETjqGZFlxpNkFVQLpRh3MuiR5L3UCDIgOpsnUwHxx8n7oCYS40Umrhea+h6FwAiAKk06jICfFGOsykhKP0ajDSKcD8scfgjdyuyFqa6JTEBGdFgYEdRhZtR9wt4RoJaBW7oxKPUR0ehgQ1IHCuTor/LtliSi2GBDUYUROHhBG34LSq08UqiGi08WAoA4jDEYoI0u8l7AGoigQBX0gsjkpEFE8YEBQh1IumgRR2M/75KdBkZ4JzVW/jH5RRHRKeJkrdSih1UFzwy2QWzZCXf895NFawGyBMuwsKMNGQugTa+wpokTGgKAOJxQNxKDhUAYNj3UpRHQaeIqJiIgCYkAQEVFADAgiIgoobgKitrYWN9xwA6xWK9LT03HzzTejsTH4dJbnn38+hBB+j9tuuy1KFRMRxbe46aS+4YYbcPDgQSxZsgQtLS2YMWMGZs6ciXfeeSfodrfeeiseeeQR33OzOXkH0iMiao+4CIgtW7Zg0aJFWLNmDUaNGgUAeOGFFzBp0iT89a9/RV5eXpvbms1m5OTkRKtUIjqm3tmCyvpmNLs9MGgU9LSakGHUQbR1IyV1OnEREKtWrUJ6erovHABg3LhxUBQFpaWluPLKK9vcdt68eXj77beRk5ODyy67DH/84x+DHkU4nU44nScmvLHZbB2zE3FM3VsBde0qyOoD3rkcBg2HMmwUhNEU69KoE5JSoqzahop6OwS8o28JALvq7MhLMeCs3AxoFIZEPIiLgKiqqkK3bv7zFmu1WmRmZqKqqqrN7a6//nr06tULeXl5+OGHH/C73/0O27Ztw0cffdTmNk888QQefvjhDqs9nkkpoS7+FOr3XwGKAqjeCbfVvbuhrlwG7fTfcD5pamVbbSMq6u0ATgzNePy/Bxqd+N+heozISY9FadROMe2knj17dqtO5J8+tm7desqvP3PmTEyYMAFDhgzBDTfcgLfeegsff/wxdu5se7jpOXPmoL6+3vfYu3fvKf/8eCfL1njDAfCFg09TE9zzXoX86XJKah5VYkdtU9A2lfXNcLg9UaqITkdMjyDuvfde3HTTTUHb9O7dGzk5OTh06JDfcrfbjdra2nb1L4wePRoAUF5ejj59Ao8oajAYYDBwOAgpJTzfLQ/SQAXqaiG3/whRNDh6hVGnVutwoUUNPqS7BFDd5ESvNF4w0tnFNCCysrKQlZUVsl1JSQnq6uqwbt06jBw5EgDw5ZdfQlVV34d+OMrKygAAubkcTTQkexNQcyh4G0WBrCgHGBB0jEeGN99HiAyhTiIu7oMYOHAgLrnkEtx6661YvXo1vv32W9x555247rrrfFcw7d+/H0VFRVi9ejUAYOfOnXj00Uexbt067N69G5988gmmTZuG8847D0OHDo3l7sSHMN/okDzFRCdY9eHNNZ5miIvuz6QXFwEBeK9GKioqwkUXXYRJkybh3HPPxb/+9S/f+paWFmzbtg12u7dzTK/XY+nSpRg/fjyKiopw77334he/+AU+/fTTWO1CfLFYgLSM4G1UFaJnYXTqobhg1mmQYzG0ObeggDccMozhBQnFlpAy3K+KyclmsyEtLQ319fWwWq2xLieqPN9/DfWLBYFXCgGYLdD+9o8QGn4bpBOaWzxYsacGDrfqN8GsAKBVBM7r2QVpBgZELIX7ucZ3NkE6HZBbN0E22CBSUiEGDvHODld8LuT+SshNZd5AOP5dQghAr4dm6s0MB2rFpNPggl5dUX60CRV1drSoEhoh0CvNhH6ZFlh0/JuJFzyCCCHRjyA8q1dCXfIp4HafWKjRQrloEjQlYyGlCrl1E9TV30IeOui9UW7wmVDOGgNhTY9Z3RQfpJRQJaAI8A7qToRHEBSSp3Ql1EUfB1jhhrr4E0CrheascyAGDoUykB371H5CCGiYC3ErbjqpqWNJj8cbAkGoSxZCnnxkQURJhQGRpNSy1YAa4m7WFhdkxY7oFEREnQ4DIknJndvCa1dXG+FKiKizYkAkK40mvHbmlMjWQUSdFgMiSYmevcNr139ghCshos6KAZGklCEjQh5FiAGDoej0UaqIiDobBkSSEkYTNJdPabtBaho0l18TvYKIqNPhfRBJTBk6ErCkwLNiMbBvt3ehVgdl+FlQLpgAwf4HAlDV5MDOWjtqHS4IANkWA/pmpnA8pSTAgEhySp8BUPoMgGxqAJxOIDUNQsc3PnltPmzDttom39ShALCvwYG9DQ6Myk1HTyunnU1kPMVEAABhSYXI7MpwIJ+qJge2HZsd7uTxeI7//7qDdWhq4Y2UiYwBQUR+mt0e7LM1Y/OhhpBtK+rsUaiIYoWnmIgIANCiqiirqse+BgfCGcFTAjjS7Ip0WRRDDAgigltVsXx3DRpbQgy/8hNKm1MDUSJgQBAludpmF77dV4uWU5goOttiiEBF1FkwIIiSWFOLGyv31sJ9CtPCaBWBXmnmCFRFnQU7qYmSWHlt0ymHw5jumTBo+RGSyHgEQZSkXB4Vu9pxFZJGABlGPbItBhSkmRkOSYABQZSk1hysC+tqpeMGZ1nRJ8MSsXqo8+FXAKIkZHO2oLrJGXZ7q16LXmm8azrZ8AiCKAm1JxyyzHoU52VAq/D7ZLJhQBAloXCvaM21GFDSIzOyxVCnxa8ERElIq4S+wU0AGJmTFvliqNNiQBAloapGR8g23VON0GvDnJqWEhIDgijJuDwqqu2hx1AyMxySHvsgiBKU063isN0Jj5RIN+qQZvAO5d6iqmFt7zmFG+gosTAgiBKMR5XYeMiGinq7330OmUYdRuWmw6jVQAEQKibMOh5BJDueYiJKIFJKrDl4FLt+Eg4AcNTRghV7jqBFVdHDago6DqsAkM/Z4pIeA4IogdQ6WnCgMfA9DhJAi0fFjtomnNE1FXpN24N1D8pKhZF9EEmPAUGUQPbUNwc9MpAAKuvtMOs0OL9Xl1bDdZu0CkbkpKF/ZkpE66T4wD4IogTi8HhCjq/UokpIKWHRaTGmRyaa3R40utzQKgrSDVoIwUmAyIsBQZRATGGcFtIrwi8ETFpNWNtR8uEpJqIEkm81hmxTkM5Jfig8DAiiBHLY3hJ0vQDQhwFBYWJAECUIVUrsPNoUtI0EUO90R6cginsMCKIEYW/xwOkJfvubAFDTHHqYDSKAAUGUdHiNEoWLAUGUICw6DUwh5omWALLMhqBtiI5jQBAlCCEE+gW5wU0ASNVrkWXWR68oimsMCKIE0ifdjF7HxlD66akko1bBmO4ZvBGOwsYb5YgSiBACI3LSkG81oaLejganGzqNQI9UE3qmmaDjvNLUDgwIogQjhEA3iwHdLOxroNPDgCCKY25VoubYpEBWgw6per6lqePwr4koDkkpsfVII3bUNsF90sxvXU06jMhJRwqDgjoAT0gSxaH/HbJhy5FGv3AAgCPNLVhRWQN7iydGlVEiYUAQxZkGlxu76uwB10l4h/PedqQxukVRQmJAEMWZPfX20JMC2exQZaiZIYiCY0AQxZlmd/DxlgBAld4jCaLTwYAgijPGEMNpAIAiAJ3CG+Lo9MRNQDz22GMYM2YMzGYz0tPTw9pGSokHH3wQubm5MJlMGDduHHbs2BHZQokirKfVFHRaUQEgP9UEhXdM02mKm4BwuVy45pprcPvtt4e9zVNPPYXnn38eL7/8MkpLS2GxWDBhwgQ4HI4IVkoUWVaDDgVppoDrBACtIlDUpe0xmYjCJaSMr56suXPnYtasWairqwvaTkqJvLw83HvvvbjvvvsAAPX19cjOzsbcuXNx3XXXBdzO6XTC6XT6nttsNuTn56O+vh5Wq7XD9oPodEgpsbmmAeVHm3ByV0O6QYdRuWmwGnSxK446PZvNhrS0tJCfa3FzBNFeFRUVqKqqwrhx43zL0tLSMHr0aKxatarN7Z544gmkpaX5Hvn5+dEol6hdhBAYnGXFpX2yMTovHaNy0nBhr664sKArw4E6TMIGRFVVFQAgOzvbb3l2drZvXSBz5sxBfX2977F3796I1kl0OnQaBd1TTeiZZka6kcFAHSumATF79mwIIYI+tm7dGtWaDAYDrFar34OIKBnFdMCWe++9FzfddFPQNr179z6l187JyQEAVFdXIzc317e8uroaw4cPP6XXJCJKJjENiKysLGRlZUXktQsLC5GTk4Nly5b5AsFms6G0tLRdV0IRESWruOmD2LNnD8rKyrBnzx54PB6UlZWhrKwMjY0nxpwpKirCxx9/DMDbiTdr1iz8+c9/xieffIKNGzdi2rRpyMvLwxVXXBGjvSAiih9xMybwgw8+iDfffNP3/MwzzwQALF++HOeffz4AYNu2baivr/e1eeCBB9DU1ISZM2eirq4O5557LhYtWgSj0RjV2omI4lHc3QcRbeFeL0x0ulQp4XCrUARg0CicO5oiJtzPtbg5giBKVB5VYlttI3YdbYLr2F1vVoMWRZkp6GENfMc0UTQwIIhiyKNKfLvvCGqaW/yW25xurD5Yh6YWDwZw2AyKkbjppCZKRBX19lbhcLLNNQ1odLmjWBHRCQwIohjaebQp6HoBYHd94NnjiCKNAUEUI1JKNIWYO1rCO8UoUSwwIIhiRAgBTYgLlQQALa9mohhhQBDFUPdUU8j5pfNSeSUTxQYDgiiG+mda0NYBggBg1WuRm2KIak1ExzEgiGLIatBhTPdM3/zR4tgDANIMOpybn8mpQylmeB8EUYx1sxgwqU829jc046izBRohkGMxoItJz7upKaYYEESdgEYR6JlmRs9YF0J0Ep5iIiKigBgQREQUEAOCiIgCYkAQEVFADAgiIgqIAUFERAExIIiIKCDeBxHC8RlZbTZbjCshIuoYxz/PQs04zYAIoaGhAQCQn58f40qIiDpWQ0MD0tLS2lwvZKgISXKqquLAgQNITU3tdMMe2Gw25OfnY+/evUEnHu/sEmE/EmEfgMTYj0TYByCy+yGlRENDA/Ly8qAobfc08AgiBEVR0KNHj1iXEZTVao3rN8JxibAfibAPQGLsRyLsAxC5/Qh25HAcO6mJiCggBgQREQXEgIhjBoMBDz30EAyG+J5QJhH2IxH2AUiM/UiEfQA6x36wk5qIiALiEQQREQXEgCAiooAYEEREFBADgoiIAmJAxJnHHnsMY8aMgdlsRnp6eljbSCnx4IMPIjc3FyaTCePGjcOOHTsiW2gQtbW1uOGGG2C1WpGeno6bb74ZjY2NQbc5//zzIYTwe9x2221RqtjrxRdfREFBAYxGI0aPHo3Vq1cHbf/BBx+gqKgIRqMRQ4YMweeffx6lSoNrz37MnTu31e/daDRGsdrWvv76a1x22WXIy8uDEALz588Puc2KFSswYsQIGAwG9O3bF3Pnzo14ncG0dx9WrFjR6t9BCIGqqqqI1smAiDMulwvXXHMNbr/99rC3eeqpp/D888/j5ZdfRmlpKSwWCyZMmACHwxHBStt2ww03YPPmzViyZAkWLlyIr7/+GjNnzgy53a233oqDBw/6Hk899VQUqvV6//33cc899+Chhx7C+vXrMWzYMEyYMAGHDh0K2P67777D1KlTcfPNN2PDhg244oorcMUVV2DTpk1RqzmQ9u4H4L2T9+Tfe2VlZRQrbq2pqQnDhg3Diy++GFb7iooKXHrppbjgggtQVlaGWbNm4ZZbbsEXX3wR4Urb1t59OG7btm1+/xbdunWLUIXHSIpLb7zxhkxLSwvZTlVVmZOTI59++mnfsrq6OmkwGOS7774bwQoD+/HHHyUAuWbNGt+y//u//5NCCLl///42txs7dqy8++67o1BhYMXFxfKOO+7wPfd4PDIvL08+8cQTAdtfe+218tJLL/VbNnr0aPnrX/86onWG0t79CPfvLFYAyI8//jhomwceeEAOGjTIb9mUKVPkhAkTIlhZ+MLZh+XLl0sA8ujRo1Gp6TgeQSS4iooKVFVVYdy4cb5laWlpGD16NFatWhX1elatWoX09HSMGjXKt2zcuHFQFAWlpaVBt503bx66du2KwYMHY86cObDb7ZEuF4D3qG3dunV+v0NFUTBu3Lg2f4erVq3yaw8AEyZMiMnv/LhT2Q8AaGxsRK9evZCfn4/Jkydj8+bN0Si3w3TGf4tTNXz4cOTm5uLiiy/Gt99+G/Gfx8H6Etzxc5TZ2dl+y7OzsyN+/rKten56WKzVapGZmRm0nuuvvx69evVCXl4efvjhB/zud7/Dtm3b8NFHH0W6ZNTU1MDj8QT8HW7dujXgNlVVVZ3md37cqezHgAED8Prrr2Po0KGor6/HX//6V4wZMwabN2/u9INYHtfWv4XNZkNzczNMJlOMKgtfbm4uXn75ZYwaNQpOpxOvvfYazj//fJSWlmLEiBER+7kMiE5g9uzZePLJJ4O22bJlC4qKiqJUUfuFuw+n6uQ+iiFDhiA3NxcXXXQRdu7ciT59+pzy61JwJSUlKCkp8T0fM2YMBg4ciFdeeQWPPvpoDCtLLgMGDMCAAQN8z8eMGYOdO3fib3/7G/79739H7OcyIDqBe++9FzfddFPQNr179z6l187JyQEAVFdXIzc317e8uroaw4cPP6XXDCTcfcjJyWnVIep2u1FbW+urNRyjR48GAJSXl0c8ILp27QqNRoPq6mq/5dXV1W3WnJOT06720XAq+/FTOp0OZ555JsrLyyNRYkS09W9htVrj4uihLcXFxVi5cmVEfwYDohPIyspCVlZWRF67sLAQOTk5WLZsmS8QbDYbSktL23UlVCjh7kNJSQnq6uqwbt06jBw5EgDw5ZdfQlVV34d+OMrKygDAL/QiRa/XY+TIkVi2bBmuuOIKAN6JpJYtW4Y777wz4DYlJSVYtmwZZs2a5Vu2ZMkSv2/j0XYq+/FTHo8HGzduxKRJkyJYaccqKSlpdYlxrP8tOkJZWVnk//6j2iVOp62yslJu2LBBPvzwwzIlJUVu2LBBbtiwQTY0NPjaDBgwQH700Ue+53/5y19kenq6XLBggfzhhx/k5MmTZWFhoWxubo7FLshLLrlEnnnmmbK0tFSuXLlS9uvXT06dOtW3ft++fXLAgAGytLRUSilleXm5fOSRR+TatWtlRUWFXLBggezdu7c877zzolbze++9Jw0Gg5w7d6788ccf5cyZM2V6erqsqqqSUkp54403ytmzZ/vaf/vtt1Kr1cq//vWvcsuWLfKhhx6SOp1Obty4MWo1B9Le/Xj44YflF198IXfu3CnXrVsnr7vuOmk0GuXmzZtjtQuyoaHB93cPQD777LNyw4YNsrKyUkop5ezZs+WNN97oa79r1y5pNpvl/fffL7ds2SJffPFFqdFo5KJFi2K1C+3eh7/97W9y/vz5cseOHXLjxo3y7rvvloqiyKVLl0a0TgZEnJk+fboE0OqxfPlyXxsA8o033vA9V1VV/vGPf5TZ2dnSYDDIiy66SG7bti36xR9z5MgROXXqVJmSkiKtVqucMWOGX8BVVFT47dOePXvkeeedJzMzM6XBYJB9+/aV999/v6yvr49q3S+88ILs2bOn1Ov1sri4WH7//fe+dWPHjpXTp0/3a/+f//xH9u/fX+r1ejlo0CD52WefRbXetrRnP2bNmuVrm52dLSdNmiTXr18fg6pPOH7J508fx+uePn26HDt2bKtthg8fLvV6vezdu7ff+yMW2rsPTz75pOzTp480Go0yMzNTnn/++fLLL7+MeJ0c7puIiALifRBERBQQA4KIiAJiQBARUUAMCCIiCogBQUREATEgiIgoIAYEEREFxIAgIqKAGBBERBQQA4Iogm666Sbf/MF6vR59+/bFI488ArfbDcA7X/i//vUvjB49GikpKb7JlJ577jnfhEibN2/GL37xCxQUFEAIgeeeey6Ge0TJhAFBFGGXXHIJDh48iB07duDee+/Fn/70Jzz99NMAgBtvvBGzZs3C5MmTsXz5cpSVleGPf/wjFixYgMWLFwMA7HY7evfujb/85S8xHS6ckg/HYiKKoJtuugl1dXWYP3++b9n48ePR0NCA3/72t5gyZQrmz5+PyZMn+20npYTNZkNaWprf8oKCAsyaNctvGHGiSOERBFGUmUwmuFwuzJs3DwMGDGgVDgAghGgVDkTRxoAgihIpJZYuXYovvvgCF154IXbs2OE3jSRRZ8OAIIqwhQsXIiUlBUajERMnTsSUKVPwpz/9CTy7S50dpxwlirALLrgA//znP6HX65GXlwet1vu269+/P7Zu3Rrj6ojaxiMIogizWCzo27cvevbs6QsHALj++uuxfft2LFiwoNU2UkrU19dHs0yiVhgQRDFy7bXXYsqUKZg6dSoef/xxrF27FpWVlVi4cCHGjRuH5cuXAwBcLhfKyspQVlYGl8uF/fv3o6ysDOXl5THeA0p0vMyVKIICXeZ6MlVV8a9//Quvv/46Nm/eDK1Wi379+mHatGm49dZbYTKZsHv3bhQWFrbaduzYsVixYkVkd4CSGgOCiIgC4ikmIiIKiAFBREQBMSCIiCggBgQREQXEgCAiooAYEEREFBADgoiIAmJAEBFRQAwIIiIKiAFBREQBMSCIiCig/x8xAHg38GbvAQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.decomposition import PCA\n", "\n", "# standardize the data\n", "spectra_scaled = StandardScaler(with_std=False).fit_transform(spectra)\n", "\n", "# make a PCA object\n", "pca = PCA(n_components=2)\n", "\n", "# fit and transform the data\n", "spectra_pca = pca.fit(spectra_scaled).transform(spectra_scaled)\n", "\n", "# Make a dataframe with the PCA scores\n", "spectra_pca_df = pd.DataFrame(\n", " data=spectra_pca, columns=[\"PC1\", \"PC2\"], index=spectra.index\n", ")\n", "\n", "# Add the labels to the dataframe\n", "spectra_pca_df = pd.concat([spectra_pca_df, labels], axis=1)\n", "\n", "# Plot the PCA scores\n", "fig, ax = plt.subplots(figsize=(4, 4))\n", "ax.scatter(\n", " spectra_pca_df[\"PC1\"],\n", " spectra_pca_df[\"PC2\"],\n", " c=spectra_pca_df[\"labels\"].map(color_dict),\n", ")\n", "ax.set_xlabel(\"PC1\")\n", "ax.set_ylabel(\"PC2\")\n", "ax.set_title(\"PCA scores\")" ] }, { "cell_type": "markdown", "id": "e6ab88f0", "metadata": {}, "source": [ "The results show that there are some differences between the spectra of the three coffes." ] }, { "cell_type": "markdown", "id": "b1562936", "metadata": {}, "source": [ "## **Preprocessing the spectra**\n", "The objective of the preprocessing is to remove from the spectra non-chemical systematic variation, such as baseline shifts or scattering effects. There has been a lot of research on the preprocessing of spectroscopic data, and this is where ```chemotools``` becomes very handy: we harness the power of such research and make it available to you using ```scikit-learn``` standards.\n", "\n", "We will build the preprocessing steps in a pipeline using the ``` make_pipeline()``` method from ```sklearn.pipeline```. A [pipeline](https://paucablop.github.io/chemotools/get-started/scikit_learn_integration.html#working-with-pipelines) is a sequence of steps that are applied to the data in a given order. In our case, we will apply the following steps:\n", "\n", "- __[Standard normal variate (SNV)](https://paucablop.github.io/chemotools/docs/scatter.html#standard-normal-variate)__ to remove scattering effects.\n", "\n", "- __[Derivative](https://paucablop.github.io/chemotools/docs/derivative.html#savitzky-golay-derivative)__ to remove both additive and multiplicative scattering effects.\n", "\n", "- __[Range cut](https://paucablop.github.io/chemotools/docs/feature_selection.html#range-cut)__ to select the most relevant wavenumbers.\n", "\n", "- __[Standardize](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html)__ remove the mean from the dataset.\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "2fe27c38", "metadata": {}, "outputs": [], "source": [ "from sklearn.pipeline import make_pipeline\n", "from sklearn.preprocessing import StandardScaler\n", "\n", "from chemotools.derivative import SavitzkyGolay\n", "from chemotools.scatter import StandardNormalVariate\n", "from chemotools.feature_selection import RangeCut\n", "\n", "pipeline = make_pipeline(\n", " StandardNormalVariate(),\n", " SavitzkyGolay(window_size=21, polynomial_order=1),\n", " RangeCut(start=10, end=1350),\n", " StandardScaler(with_std=False))\n", "\n", "preprocessed_spectra = pipeline.fit_transform(spectra)" ] }, { "cell_type": "markdown", "id": "d2a1f232", "metadata": {}, "source": [ "> 💡**NOTE:** This is cool! See how we are integrating chemometrics with ```scikit-learn```? ```StandardNormalVariate```, and ```SavitizkyGolay``` and ```RangeCut``` are all preprocessing techniques implemented in ```chemotools```, while ```StandardScaler``` and ```pipelines``` are functinlaities provided by ```scikit-learn```. This is the power of ```chemotools```, it is designed to work seamlessly with ```scikit-learn```.\n", "\n", "Let's plot the preprocessed spectra to see the effect of the preprocessing steps." ] }, { "cell_type": "code", "execution_count": null, "id": "d14a165a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+YAAAEiCAYAAAB0hsisAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA2W5JREFUeJzsnXmcXFWZsJ9za++9O52ks6cTQkJ2CCFA2A0JAkpQGVG/YVHQbz5xw5ERRRRwhnEF1FFkHBQdGBlcEAQjIawhIUD2fe2kk3R6X2qvusv5/rjVVXWrq7urk046Cef5/SBd955777nbue973k1IKSUKhUKhUCgUCoVCoVAohgRtqDugUCgUCoVCoVAoFArF+xmlmCsUCoVCoVAoFAqFQjGEKMVcoVAoFAqFQqFQKBSKIUQp5gqFQqFQKBQKhUKhUAwhSjFXKBQKhUKhUCgUCoViCFGKuUKhUCgUCoVCoVAoFEOIUswVCoVCoVAoFAqFQqEYQpRirlAoFAqFQqFQKBQKxRCiFHOFQqFQKBQKhUKhUCiGEKWYKxQKhUJxGvCDH/yASZMm4XK5mDt3LgCGYXDXXXcxbtw4NE1j6dKlQ9pHhUKhUCgU+VGKuUKhUCgUJ5i9e/fyuc99jkmTJuH3+ykrK2PhwoU88sgjxGKxAe/vpZde4q677mLhwoX8+te/5t/+7d8AePzxx/nBD37Axz72MZ544gm+8pWvDPapnJI89dRTPPzww0PdDYVCoVAo0ggppRzqTigUCoVC8X7hhRde4IYbbsDn83HTTTcxc+ZMkskkK1eu5I9//CO33HILjz322ID2+fWvf50f/OAHxGIxvF5vevmNN97IypUrOXTo0GCfxinNtddey5YtW9i/f/9Qd0WhUCgUCgDcQ90BhUKhUCjeL9TV1XHjjTcyYcIEXnnlFUaNGpVe9/nPf549e/bwwgsvDHi/zc3NBAIBh1LevbyiouJYu/2+Jh6P4/V60TTlZKhQKBSK44f6yigUCoVCcYL4/ve/Tzgc5r/+678cSnk3Z5xxBl/60pfSvw3D4IEHHmDy5Mn4fD4mTpzIN77xDRKJRLqNEIJf//rXRCIRhBAIIfjNb36DEIJXX32VrVu3ppe/9tprAFiWxcMPP8yMGTPw+/2MHDmSz33uc3R0dPTo09/+9jcuvvhiiouLKS0t5ZprrmHr1q39nquu69x3331MmTIFv9/PsGHDuOiii1i+fHm6zS233EJJSQn79u1jyZIlFBcXM3r0aO6//35yHfoG2udLL72U0tJSysrKmD9/Pk899RQAl112GS+88AIHDhxIX5eJEycC8NprryGE4Pe//z333HMPY8aMoaioiGAwSHt7O//8z//MrFmzKCkpoaysjA9+8INs3Lix32uhUCgUCkV/KFd2hUKhUChOEGPHjsXn87F3796C2t9yyy088cQTfOxjH+Pyyy9nzZo1/Pa3v2Xp0qX8+c9/BuC///u/eeyxx3jnnXf41a9+BcDZZ5/N+vXr+dd//VfC4TAPPvggAFdeeSUjR47k9ttv5ze/+Q233nor8+bNo66ujp/97GdMnz6dt956C4/HA8Dvfvc7br75ZpYsWcI111xDNBrlF7/4BZ2dnaxfvz6t0Objm9/8Jg8++CC33XYb5513HsFgkPfee485c+bwL//yL+nze/rppxk3bhznn38+CxYsYNmyZfz1r3/lW9/6Fvfff396f4X2+Te/+Q2f/vSnmTFjBp/4xCeoqKhg/fr1JBIJfvvb37J8+XLuuusuDh06xEMPPQRASUkJS5cu5bXXXuPyyy9n+vTpeL1ebrrpJhKJBF/84hfZtm0bN954IzfccAO1tbU0NTXxy1/+knA4zLZt2xg9evQAngSFQqFQKHKQCoVCoVAojjtdXV0SkNddd11B7Tds2CABedtttzmW//M//7ME5CuvvJJedvPNN8vi4uIe+7j00kvljBkzHMvefPNNCcgnn3zSsXzZsmWO5aFQSFZUVMjbb7/d0a6xsVGWl5f3WJ7LnDlz5DXXXNNnm5tvvlkC8gtf+EJ6mWVZ8pprrpFer1e2tLQMqM+dnZ2ytLRULliwQMZiMUdby7LSf19zzTVywoQJPfrz6quvSkBOmjRJRqNRx7p4PC5N03Qsq6urkz6fT95///19nqdCoVAoFP2hXNkVCoVCoTgBBINBAEpLSwtq/+KLLwJw5513OpZ/9atfBTiqWHSAZ555hvLycq688kpaW1vT/82bN4+SkhJeffVVAJYvX05nZyef+MQnHO1cLhcLFixIt+uNiooKtm7dyu7du/vt0x133JH+WwjBHXfcQTKZ5OWXXx5wn0OhEF//+tfx+/2OYwghCr5GN998M4FAwLHM5/Ol48xN06StrY2SkhKmTp3KunXrCt63QqFQKBT5UMnfFAqFQqE4AZSVlQEQCoUKan/gwAE0TeOMM85wLK+pqaGiooIDBw4cVT92795NV1cXI0aMyLu+ubk53Q7giiuuyNuu+3x64/777+e6667jzDPPZObMmVx11VX84z/+I7Nnz3a00zSNSZMmOZadeeaZAOms6YX2uTtEYObMmX32rT9qa2t7LLMsi0ceeYSf//zn1NXVYZpmet2wYcOO6XgKhUKhUCjFXKFQKBSKE0BZWRmjR49my5YtA9puIJbeQrAsixEjRvDkk0/mXT98+PB0O7DjzGtqanq0c7v7FiEuueQS9u7dy1/+8hdeeuklfvWrX/HQQw/x6KOPcttttx2XPg8WudZygH/7t3/jW9/6Fp/+9Kd54IEHqKqqQtM0vvzlL6evlUKhUCgUR4tSzBUKhUKhOEFce+21PPbYY6xevZoLLrigz7YTJkzAsix2797NWWedlV7e1NREZ2cnEyZMOKo+TJ48mZdffpmFCxfmVUCz2wGMGDGCRYsWHdWxqqqquPXWW7n11lsJh8NccsklfOc733Eo5pZlsW/fvrSVHGDXrl0A6eRyA+3zli1bengaZHM0kx1/+MMfuPzyy/mv//ovx/LOzk6qq6sHvD+FQqFQKLJRMeYKhUKhUJwg7rrrLoqLi7nttttoamrqsX7v3r088sgjAFx99dUAPPzww442P/7xjwG45pprjqoP//AP/4BpmjzwwAM91hmGQWdnJwBLliyhrKyMf/u3f0PX9R5tW1pa+jxOW1ub43dJSQlnnHGGo9RbNz/72c/Sf0sp+dnPfobH4+EDH/jAgPq8ePFiSktLefDBB4nH4452MqsITXFxMV1dXX32PxeXy9WjhNszzzzD4cOHB7QfhUKhUCjyoSzmCoVCoVCcICZPnsxTTz3Fxz/+cc466yxuuukmZs6cSTKZZNWqVTzzzDPccsstAMyZM4ebb76Zxx57jM7OTi699FLeeecdnnjiCZYuXcrll19+VH249NJL+dznPseDDz7Ihg0bWLx4MR6Ph927d/PMM8/wyCOP8LGPfYyysjJ+8Ytf8I//+I+cc8453HjjjQwfPpz6+npeeOEFFi5c6FCoc5k+fTqXXXYZ8+bNo6qqivfee48//OEPjkRvAH6/n2XLlnHzzTezYMEC/va3v/HCCy/wjW98I+2iPpA+P/TQQ9x2223Mnz+fT37yk1RWVrJx40ai0ShPPPEEAPPmzePpp5/mzjvvZP78+ZSUlPChD32oz+t27bXXcv/993Prrbdy4YUXsnnzZp588ske8fEKhUKhUBwVQ5wVXqFQKBSK9x27du2St99+u5w4caL0er2ytLRULly4UP70pz+V8Xg83U7XdXnffffJ2tpa6fF45Lhx4+Tdd9/taCPlwMqldfPYY4/JefPmyUAgIEtLS+WsWbPkXXfdJRsaGhztXn31VblkyRJZXl4u/X6/nDx5srzlllvke++91+c5fve735XnnXeerKiokIFAQE6bNk3+67/+q0wmkz36vXfvXrl48WJZVFQkR44cKb/97W/3KE02kD4/99xz8sILL5SBQECWlZXJ8847T/7P//xPen04HJaf/OQnZUVFhQTSpdO6y6U988wzPY4dj8flV7/6VTlq1CgZCATkwoUL5erVq+Wll14qL7300j6vhUKhUCgU/SGkzPHLUigUCoVCoTgB3HLLLfzhD38gHA4PdVcUCoVCoRhSVIy5QqFQKBQKhUKhUCgUQ4hSzBUKhUKhUCgUCoVCoRhClGKuUCgUCoVCoVAoFArFEKJizBUKhUKhUCgUCoVCoRhClMVcoVAoFAqFQqFQKBSKIUQp5gqFQqFQKBQKhUKhUAwh7qHugMLGsiwaGhooLS1FCDHU3VEoFAqFQqFQKBQKBSClJBQKMXr0aDTt+Ni2lWJ+ktDQ0MC4ceOGuhsKhUKhUCgUCoVCocjDwYMHGTt27HHZt1LMTxJKS0sB+2aXlZUNcW96ous6L730EosXL8bj8Qx1dxSDiLq3pyfqvp6+qHt7+qLu7emLurenL+renr5k39tYLMa4cePSOtvxQCnmJwnd7utlZWUnrWJeVFREWVmZGnROM9S9PT1R9/X0Rd3b0xd1b09f1L09fVH39vQl3709niHHKvmbQqFQKBQKhUKhUCgUQ4hSzBUKhUKhUCgUCoVCoRhClGKuUCgUCoVCoVAoFArFEKIUc4VCoVAoFAqFQqFQKIYQpZgrFAqFQqFQKBQKhUIxhCjFXKFQKBQKhUKhUChOQ6SUJHYmMNvMoe6Koh9UuTSFQqFQKBQKhUKhOA0J/iKI1WaBFyr/pXKou6PoA2UxVygUCoVCoVAoFIrTDCmlrZQDJMEIG0PbIUWfKMVcoVAoFAqFQqFQKE4zjCNORVzfqA9RTxSFoBRzhUKhUCgUCoVCoTjNSG5JOn7ru5RifjKjFHOFQqFQKBQKhUKhOM0wDzkTvlkd1hD1RFEISjFXKBQKhUKhUCgUitOA5M4kiXUJO7486FTEZUIOUa8UhaCysisUCoVCoVAoFArFKY5MSCJ/iIAF0pDIeI4iriqmndQoi7lCoVAoFAqFQqFQnOLo+3ToTsK+IQm5SdiVwfykRlnMFQqFQqFQKBQKheIURz+QSe5mNinz+KmGspgrFAqFQqFQKBQKxSmO1dJ/cjczqRT2kxWlmCsUCoVCoVAoFArFKU4hWdcLUd4VQ4NSzBUKhUKhUCgUCoXiFMeKF2AxP6Is5icrSjFXKBQKhUKhUCgUilMdvf8mZptSzE9WlGKuUCgUCoVCoVAoFKcw0pLpjOx9UYi7u2JoUIq5QqFQKBQKhUKhUJzCWMHCFG4rnGknpWR9YyfbWoPHq1uKAaDKpSkUCoVCoVAoFArFKUyh5dFkLFPM/I39LbSlsrSPKfZSHvAfl74pCkNZzBUKhUKhUCgUCoXiFMbsKDB2PJn5sy2rdNpbhzsGuUeKgaIUc4VCoVAoFAqFQqE4hZFdsv9GgDTsdlI628dVTrghRynmCoVCoVAoFAqFQnEKkx073icpBfxIMHL8OqM4KpRirlAoFAqFQqFQKBSnMAUr5qlm6xtDPVblWtEVJ5ZTTjH/j//4DyZOnIjf72fBggW88847fbZ/5plnmDZtGn6/n1mzZvHiiy861kspuffeexk1ahSBQIBFixaxe/duR5uJEycihHD89+///u+ONps2beLiiy/G7/czbtw4vv/97w/OCSsUCoVCoVAoFApFH2Qndeu7of1PIs+qAx3hQeuPYuCcUor5008/zZ133sm3v/1t1q1bx5w5c1iyZAnNzc15269atYpPfOITfOYzn2H9+vUsXbqUpUuXsmXLlnSb73//+/zkJz/h0UcfZc2aNRQXF7NkyRLi8bhjX/fffz9HjhxJ//eFL3whvS4YDLJ48WImTJjA2rVr+cEPfsB3vvMdHnvsseNzIRQKhUKhAKQpibwQIfr3KFZI1aZVKBSK9ysyfuzW7q2tSjEfSk4pxfzHP/4xt99+O7feeivTp0/n0UcfpaioiMcffzxv+0ceeYSrrrqKr33ta5x11lk88MADnHPOOfzsZz8DbGv5ww8/zD333MN1113H7Nmz+e1vf0tDQwPPPvusY1+lpaXU1NSk/ysuLk6ve/LJJ0kmkzz++OPMmDGDG2+8kS9+8Yv8+Mc/Pm7XQqFQKBSK+FtxkuuSJN5J0PVIF2ZEZe9RKBSK9yMyeeyKeUJ5sg8pp0wd82Qyydq1a7n77rvTyzRNY9GiRaxevTrvNqtXr+bOO+90LFuyZEla6a6rq6OxsZFFixal15eXl7NgwQJWr17NjTfemF7+7//+7zzwwAOMHz+eT37yk3zlK1/B7Xanj3PJJZfg9Xodx/ne975HR0cHlZWVPfqWSCRIJDJOJMFgEABd19F1vdDLcsLo7tPJ2DfFsaHu7emJuq+nL9n3NvF2ljOihPBrYYoWFw1Rz2wsKTkcilMV8FLscQ1pX0411Ht7+qLu7enLSXNvjcKb9tXXIT+Pk4jse3sirsspo5i3trZimiYjR450LB85ciQ7duzIu01jY2Pe9o2Njen13ct6awPwxS9+kXPOOYeqqipWrVrF3XffzZEjR9IW8cbGRmpra3vso3tdPsX8wQcf5L777uux/KWXXqKoaGiFqr5Yvnz5UHdBcZxQ9/b0RN3X05flLy3n4sTFCER6WWJDgteM14auU4A5ajKUDwOjE23P+qzeKQpFvbenL+renr4M9b292HR+D3pDIu2cW1PngxDQnfAt9XduPi6FfW+j0ehxP84po5gPJdlW99mzZ+P1evnc5z7Hgw8+iM/nO6p93n333Y79BoNBxo0bx+LFiykrKzvmPg82uq6zfPlyrrzySjwez1B3RzGIqHt7eqLu6+lL9739wDkfQN/snMH3WG6uvvrqIeoZWJbFC/vb7R9uD/Mu/QA1xUf3nXw/ot7b0xd1b09fToZ7axkW0U2FKY4CwdVXX83z+1pTC7KUeSGG9BtyspF9b2Ox2HE/3imjmFdXV+NyuWhqanIsb2pqoqamJu82NTU1fbbv/repqYlRo0Y52sydO7fXvixYsADDMNi/fz9Tp07t9TjZx8jF5/PlVeo9Hs9JPWCf7P1THD3q3p6eqPt6GrMv86eQ7UhRBRI0Q8MVGBoX8paIM3FqfSjBuIqSIenLqYx6b09f1L09fTnWeyulxOw00Uo0NM/A0oAZnQPwYwc0q/f9q+ezJx6PB8MY2DU+Gk6Z5G9er5d58+axYsWK9DLLslixYgUXXHBB3m0uuOACR3uwXRG629fW1lJTU+NoEwwGWbNmTa/7BNiwYQOapjFixIj0cd544w1H7MHy5cuZOnVqXjf2U41gQue9piDWyAlD3RWFQqFQpLAOZbKwe+Qq+w8hiL9yZIh6BPVBp0WhNZocop4oFArFyY20JIn1CcxOO2ln8IkgoZ+F6Ppx14D3ZbUNrCqH2dJ7olDLUhU+hopTRjEH26X8P//zP3niiSfYvn07//RP/0QkEuHWW28F4KabbnIkh/vSl77EsmXL+NGPfsSOHTv4zne+w3vvvccdd9wBgBCCL3/5y3z3u9/lueeeY/Pmzdx0002MHj2apUuXAnZit4cffpiNGzeyb98+nnzySb7yla/wf/7P/0kr3Z/85Cfxer185jOfYevWrTz99NM88sgjPRLPnaokTcmRSBJZXD7UXVEoFApFim5hDsDF3nScoLH1+MfB9UZT2GkxVzniFQqFIj+JNQmif40S/m+7RJl1MKUQJ8EMDmz0tDoGpky3tIfSf+f6VzWFjr/LtiI/p4wrO8DHP/5xWlpauPfee2lsbGTu3LksW7YsnWitvr4eTcvMNVx44YU89dRT3HPPPXzjG99gypQpPPvss8ycOTPd5q677iISifDZz36Wzs5OLrroIpYtW4bf7wdsl/Pf//73fOc73yGRSFBbW8tXvvIVh9JdXl7OSy+9xOc//3nmzZtHdXU19957L5/97GdP0JU5vsS6XTdcyrVFoVAoThoiqX+lRNOiKcVcYCWGLoFoXBlaFAqFoiDi79gTmVaHhdHmdJOOvx2neHFxvs3yYgUHNvjuSSQhFVFb7YXWZGYidUdbmFHlhR9bMXicUoo5wB133JG2eOfy2muv9Vh2ww03cMMNN/S6PyEE999/P/fff3/e9eeccw5vv/12v/2aPXs2b775Zr/tTkWs7pqG2inlYKFQKBSnN0bmDzHrbFqakwjpprr55Eq2ljQtvC71/VAoFIpupJTIYKZoeGyV00qt79RhceH7s0IDU8y7MhWeOaO6FFdHnIaYHZLboasZ1qHilFPMFScet6aK3SgUCsVJh2VbyCHGO2ddQNNZAAbDDgkuHexDRS2iL0YRbkHRdUUIUfh3oTOeZESxf5B7pFAoFKcuVtSp/Jp7na7rMiwZCFZkYMq0kaUBVhcFcAuNhsMDj21XDC5qClvRL25lKVcoFIqTiyyZTbpCNJGxkreNkY74wcEg/locfbtOcnMSqyW/AGj2kjDoSGjoYt4VCoXiZCR3HJWhHEV8gAk6ZGxginx2uXOXy0VVcWBg2yuOC0dlMa+vr+fAgQNEo1GGDx/OjBkzjrqet+LkJ12xQQikHOCLr1AoFIpBx2N46Jas9k/NkeAErD/SxeKq0kE7XnJPJru6vk/HNaJnObZwMr8k2RRWmdkVCoUiG7O5H817gOK2jB+9Yg4MyAtKcfwoWDHfv38/v/jFL/j973/PoUOHHAqa1+vl4osv5rOf/Swf/ehHHQnYFKc+2RZzS+nlCoVCMeQUxewEbxJJ/bSqzIqUd3vYpaGbFp5BiO2WCYnsygz++i4d//k9XdO74nqPZQARU304FAqFIhuzrX+TuJSyYIVZJtU4ezpQ0Bf7i1/8InPmzKGuro7vfve7bNu2ja6uLpLJJI2Njbz44otcdNFF3HvvvcyePZt33333ePdbcQLxZCnmvbkqKhQKheLEURqzreGRconlsefYfS6Noo5UAyE4FByckje5lh2zPb9A2RKJ512uxEWFQqFwYnX2L08bzUa/bTKNj6EzipOGgizmxcXF7Nu3j2HDhvVYN2LECK644gquuOIKvv3tb7Ns2TIOHjzI/PnzB72ziqEh2+CiEjUqFArF0FOUKonWOjIjjY0q8eF6N8neKltxPhCMUVt57CVvjAanxNdbLGNHQkmGCoVCUQiFZFE36gw8IwssVTzAmPRcV/ZcOqIJKotUmPKJpiDF/MEHHyx4h1ddddVRd0ZxcpLtym5IpZkrFArFUBNI2Il6miZkxuSzhpXQ3tjO3tTvrkR+1/KBYhzOUbiN/C6WMX2gkqFCoVC8T0n038Q8UtiYaiUHXzbf3RHmPKWYn3BUMLiif9pbIZVTQFdB5gqFQjHk+HRbYIqVZJYFPG6KwgZaSo8erNBuq9UW+oQ/o4jns5oPzjSAQqFQnP4UEhPeW9hQj311Dc5gn22bb1ZJO4eEQVPMv/GNb/DpT396sHanOImQXZmyO6ZSzBUKhWLIcZsuJBKZ8nvzarbSLLwGJW2Zdl3xYxeuul0uXaMymdjNVmUdVygUiqNFGv3L0zJSmMxdSCK5QhhTmrGQK7V8aBg0xfzw4cPs379/sHanOInQN7bRHYxiKMVcoVAohhxNaug+0nGC5T7b1iEqoboxo0Af6Dq2BHBSynQZHvcYd/p43Vb0QjFMFQalUCgUaQpIyVFoCbRCEskVwuRByEmiODaOqo55Pp544onB2pXiJMNVFkdIkAIMQwlXCoVCMdQINOLFGaGtKmAr5u4xfkoaNLozAbXGjs3uIeMSUsO+a5TLlhr0/gVBjfRmAHQlDYYFvMfUF4VCoThtKEScLjCfptU1OLJ5mV+N0UONijFX9IsYVZGJMe9UUYQKhUJxMhAqyUht1UW2QOU+s5SiUCYWPHKMCdmyBT6tUstYzCN9C4IBj8vxuy1aQKYjhUKheB9gFepBVGizAjK8F0KhNdMVx48BW8zvv//+Ptffe++9R90ZxcmJGFaNaJVIQO9S5XAUCoViKJGmRCDoqMlYzKv9KYv5BC/+aMwW6LRjT9iZHbuo79HTgYf9KebFHpdjUqAxFOPMYaXH1BeFQqE4HZDhAsflQpsVGIs+UCzLQtOUDfdEMmDF/M9//rPjt67r1NXV4Xa7mTx5slLMT0NEZRWipQVwYUZVOgiFQqEYSrrdyCMVGWHM5bIt1C6vCyHBnQAjkGp/DMKV2ZxSrgXE18QzfehwKuZSOgXDSr+H5qzvRSipksUpFAoFDF5MeHp/0YHtTxao8e/vjDKpqqT/hopBY8CK+fr163ssCwaD3HLLLVx//fWD0inFyYXm9SFSQpcxWPV3FAqFQnFUmC22kpsM9N6muAu6Uus74zpVR1mP1mpPCXxeIJK1PMdiHs/JP1Id8LKbSNoTM6E+HQqFQgEMXkx4N/nKV/aF7rHSYUl9sacjohTzE8yg+CeUlZVx33338a1vfWswdqc4CRHSHkRMZfRQKBSKIUW22kKYmZpa13oIWBZlHZnPe2Pk6OO7uy07wptzkJxk7xHdGeZU7vfgd4aZKxQKhYKBxYQb7f2HkPZZEz2PAt5RmskX1dcwHVYJn084gxY40NXVRVdX12DtTnGSIayUYi5UrIlCoVAMJd1WbJkajj25mrlmUBzKjNXtx1DL3Ap3p2Tvu11HTvZ3n0ujIlXCTaFQKBQZCo4xB/R9BSRd7kt3zyO2t4zO/F2W4ztdOmj1uhRHw4Av/09+8hPHbyklR44c4Xe/+x0f/OAHB61jipMLrdtirpJAKBQKxZBidVnoHpm2hATcTq1Z+CyKQhmlOHwM8d3dLpKyH1/09hzFXAhBVZGfhqiq5KFQKBTZpCc8C8Bs6Hv8lrrsO0lcpnpmmuDwzN8jcsKcJlYUs7k1gmJoGLBi/tBDDzl+a5rG8OHDufnmm7n77rsHrWOKkwth2dNxlrKYKxQKxZAiw5JEUUYSK/E6P+Wiwo2/I2NFTx5lZnZpSujWq/N4w0tdIjz2cbriPRXwKr8yvSgUCkUuA4kJz020mYvZ3s/Eq4vMOJ4iUZz5e3SZ37FuQnmRQzGPJZMEvKq++YliwF/Nurq649EPxUlOt8VcasIhjCkUCoXiBBOH2LCMYFeRo5i7RvjxHjHSJdPMo1TMHXGQeWRDI2jgGWZb5uN5EoOW+5Uru0KhUOQyIMW8n9KU3clA8yJAuETPLOxZQ3Op32kx97qd35O1TUEuGlddUF8Vx44yfyoKQqTGBUsDs1NlgFMoFIohQ5eEyzNBhdXFTmuGq8aDQOBKeZcfbUJ0K9i3QKjvz5hh8oU4elxOF3vTUomEFAqFor/QIAeZKpU9ylICWG19jKuC/PlBsmxrblffCURaVDjSCWXQFPOf//zn3H///YO1O8VJhibtt1gp5gqFQjHEWNBVlRHQynKc39xj7N+BrDDBhDHwcTtdKq0X9O0DE9giyf6zCysUCsXpTp9Z1HPb6nbbTU2d/HlXI4dDzpIYfdZE10C483i4DsDpVVW6PLEMmmL+xz/+kd/85jeDtTvFSYaQ9oyadPUvrCkUCoXi+BIrTf0hIfSjIMmdmeRrrpEuQFLclZG+mo6iZJrZmlLmexHirCP5vwW92V/aYkefHV6hUChOF7qV7YJIDcN7Om2FfE1Dp8Ny3qdnkxuH23qa7jG9l27kDvnvHG5nU3MXhqnk/+PNoCnmK1asYN++fYO1O8VJhNlmgmEnh5DawOovKhQKhWLw0bvDAqX9X+R/I4SfCwOgue1Pe3E4oyIfjVKcdpHM1rSzjfNx6Px5Z48YSK8rvybfEonnXa5QKBTvKwbiwGRBe9Q5djZnWc37yvAuPOKockIVuZ3q4aFwgj0dUZ7b06TG8ePMKRdj/h//8R9MnDgRv9/PggULeOedd/ps/8wzzzBt2jT8fj+zZs3ixRdfdKyXUnLvvfcyatQoAoEAixYtYvfu3en1+/fv5zOf+Qy1tbUEAgEmT57Mt7/9bZLJpKONEKLHf2+//fbgnvwQISMSzbSn3CwhB1R/UaFQKBSDh2VYgMBKKcgiSybTN+roRzLu5f5IRiDrSgzcjTxticmW63JkPNkmSbzjtMb73flFi7aYilVUKBSKASnmEtY2dDgWbWrpyqzuI5Gc8B6dYj6xoqjXdW8e6sDKE+uuGByOWjHftm0by5Yt47nnnnP8dzx5+umnufPOO/n2t7/NunXrmDNnDkuWLKG5uTlv+1WrVvGJT3yCz3zmM6xfv56lS5eydOlStmzZkm7z/e9/n5/85Cc8+uijrFmzhuLiYpYsWUI8bs8I7dixA8uy+OUvf8nWrVt56KGHePTRR/nGN77R43gvv/wyR44cSf83b96843MhTjAiIBCW/WJLDayYspgrFArFUNBdOkemvt7uHF039vduS4p0KObRo4kx7/aOyt40j26dWOdUzIvc+Qu+xNWnQ6FQvM+xjsIdPJQzfIey5ln7SiQnAgLhHbhiPqm8d8Uc4GBneMD7VBTGgMul7du3j+uvv57NmzcjhEjHOQhh33jTPH6JwX784x9z++23c+uttwLw6KOP8sILL/D444/z9a9/vUf7Rx55hKuuuoqvfe1rADzwwAMsX76cn/3sZzz66KNIKXn44Ye55557uO666wD47W9/y8iRI3n22We58cYbueqqq7jqqqvS+5w0aRI7d+7kF7/4BT/84Q8dxxs2bBg1NTXH6/SHDCtooaXGESkGVuZBoVAoFIOH2WZiumTacu3JCR03D6U0Z80iEMn4oOtHIQzKeGqs72dTGXV+EwLezHG9ArrzHKkvh0KheL8jQ4M3EkpL5i+JkUKUivyaXj+6usfdd6b2TS1hJlSW9tlGcXQM2GL+pS99idraWpqbmykqKmLr1q288cYbnHvuubz22mvHoYs2yWSStWvXsmjRovQyTdNYtGgRq1evzrvN6tWrHe0BlixZkm5fV1dHY2Ojo015eTkLFizodZ8AXV1dVFVV9Vj+4Q9/mBEjRnDRRRcdd++BE4oLtNR8i9SAgecQUigUCsUgYLVaJP0Zwc4fEQjZibAOAaC74UhHjFiFtJX2bqP3AGVBmZAFu1tawqm5l2XVVS/x9i3gKRQKxfsJs2PwDJj97Usr147KYg6QL5l7NwPJXacYGAO2mK9evZpXXnmF6upqNE1D0zQuuugiHnzwQb74xS+yfv3649FPWltbMU2TkSNHOpaPHDmSHTt25N2msbExb/vGxsb0+u5lvbXJZc+ePfz0pz91WMtLSkr40Y9+xMKFC9E0jT/+8Y8sXbqUZ599lg9/+MN595NIJEgkMhpuMBgEQNd1dP3kisOLeHViJfZbKIVd5uFk66Pi6Om+l+qenl6o+3p6YrQaJP2Z30VBDU024GY7dRNq2D3PwGpOwiIYflDiiYOe8kqMJhJ4tMLm4822woXHpM/5u8iVee7KvW7aE5l9qeexb9R7e/qi7u3py0Durd4+OPdf13X0+n72VZmnklJOfHhvfa4tD7C7M5Z3HUAoGsPvGbAaecqRfW9PxLs74Ctqmialpbb7QnV1NQ0NDUydOpUJEyawc+fOQe/gycThw4e56qqruOGGG7j99tvTy6urq7nzzjvTv+fPn09DQwM/+MEPelXMH3zwQe67774ey1966SWKivqO7TjRaN5y9ElTAVsxj0fivP7i60PcK8Vgs3z58qHuguI4oO7r6cXMfTPRs1wISzsFbray76zh7JptOFwUW8ZZ+Dszivmyle/gCrcXdJyqYBUzmelYJpGIPD6Q8SKnoPfWa6+iWbYybhaVw/ipqR3IHglYFflR7+3pi7q3py+F3NvxjeOZyMSB7VhKEMLx+8UXX6S2oZZxjOt1s7d2v0V1qJpaanvbca9jsgUwdb7zuFks37gTV/OBwvp/GrB8+XKi0ehxP86AFfOZM2eyceNGamtrWbBgAd///vfxer089thjTJo06Xj0EbCVX5fLRVNTk2N5U1NTr3HdNTU1fbbv/repqYlRo0Y52sydO9exXUNDA5dffjkXXnghjz32WL/9XbBgQZ8v6N133+1Q5oPBIOPGjWPx4sWUlZX1u/8TSXMowZqWEGAr5j6Xh6uvvnqIe6UYLHRdZ/ny5Vx55ZV4PPkKXipORdR9PT2J/GeE3RWZcjVlLQC72D37GlsplziUc5l160dPnc68kYV9XxJrEuj7ndaBfEo5QKTYGeR49ZLFaClhLmaYvFyfyigshPp29IN6b09f1L09fRnIvY0vi2M0F14lw8KuxOFACK5cvATjD0nM1t69my778GXom3WSy5OObbN+9DkmHwhG2dSaXxl1VY3k6nNnFHAGpzbZ9zYW692DYLAYsGJ+zz33EIlEALj//vu59tprufjiixk2bBhPP/30oHewG6/Xy7x581ixYgVLly4FwLIsVqxYwR133JF3mwsuuIAVK1bw5S9/Ob1s+fLlXHDBBQDU1tZSU1PDihUr0op4MBhkzZo1/NM//VN6m8OHD3P55Zczb948fv3rX6MV4Aq4YcMGh7Kfi8/nw+fz9Vju8XhOugE7oWdc7qUATE66PiqOnZPx2VMcO+q+nl7IuCRSkcmm5o8LjnzsM0iR+i7lyG+JLAesYNIs+FlItuWpe96t+OcQqnQu9Hm96b9dLmeMudvtTieLVfSOem9PX9S9PX0p5N7GB1gHPFRm5E3W1hRNUtXZd7C3t9iLLJIkyTOeA8i+5fkzhpUT8HhYc6SrxzqT95cu4PF4MIyBlx0dKANWzJcsWZL++4wzzmDHjh20t7dTWVl53D+2d955JzfffDPnnnsu5513Hg8//DCRSCSdpf2mm25izJgxPPjgg4CdqO7SSy/lRz/6Eddccw2///3vee+999IWbyEEX/7yl/nud7/LlClTqK2t5Vvf+hajR49OK/+HDx/msssuY8KECfzwhz+kpaUl3Z9ui/sTTzyB1+vl7LPPBuBPf/oTjz/+OL/61a+O6/U4UWh61n0V9JuhV6FQKBTHiSTEijM/NalT562wx2Upmb7Gi0uHzRfp9nidNXzHjcIH77QVRqPfMT9a0fu63InsqGFR7FEJ4RQKxfuT3CoW/XGwNv8AvL8rSkWkp4EvF+E/Nt1sTFkRi7weXj7Qekz7URTGoETt58tQfjz4+Mc/TktLC/feey+NjY3MnTuXZcuWpZO31dfXO4SACy+8kKeeeop77rmHb3zjG0yZMoVnn32WmTMzcXN33XUXkUiEz372s3R2dnLRRRexbNky/H47u87y5cvZs2cPe/bsYezYsY7+yKwECg888AAHDhzA7XYzbdo0nn76aT72sY8dz8txwnBlpV+UvVhMFAqFQnECMCV6d/I3CUJ2EbLKAQgkTUbW20rvmHqdwxOcmxqysMFbWhKzubsUR5ZvfC+bxwOFd78znqDYc3LlUVEoFIoTxUBLDrdnOd/6BXRXsezSJRSQi+xYFXOAMr+HqVVF7Gx3urVLKZUH1CBTkGL+f//v/+Wee+7poZjm4+mnn8YwDD71qU8dc+fycccdd/Tqup6vXNsNN9zADTfc0Ov+hBDcf//93H///XnX33LLLdxyyy199unmm2/m5ptv7rPNqYzbq5H2ghHp/ykUCoXiRGOBmTI4CwnRyhYktmI+JsutcHidxuEJKUtLVuIg07Jw9ROOZTaYmdq4PWTInCB2wPDmtumdxlCMMaVKMVcoFO9PZGJgirmZNVzOGlHKu012zqd+/Z+EfRzNP+DK2HmZMby8h2LeHkkwrMTfyxaKo6EgxXz48OHMmDGDhQsX8qEPfYhzzz2X0aNH4/f76ejoYNu2baxcuZLf//73jB49uqDkaIpTB2+lC8L2393DiZolUygUiqFBpuQslw4H5pSkl08aNww9NViXtblBJlPu7JmxuimSYHRp3yZuva4PM0xPvTw9UVAIbdFeYh0VCoXifYAcaBHwLL16TFlRWjHPr5lnezilGvSlNw+wKx7hrGG+oyPMQqWYDyoFKeYPPPAAd9xxB7/61a/4+c9/zrZt2xzrS0tLWbRoEY899hhXXXXVcemoYuhwaTkx5gjMLhN3xelfv1ChUChOFqSUSCHTcpc7CU0jRgCgCSgp8dBBBCjGZWoEQhDLScLeEI73q5gbddkJbrrH/zwaeTcDUMyjhZdHVygUitOPY8gfVkjy6TQyiYzHEP7+49ALZUyZn/1dmeR1bdHjX9f7/UbBmtXIkSP55je/yTe/+U06Ojqor68nFotRXV3N5MmTlfX0NMahmKfQ63TcZyvFXKFQKE4UMi5J+kRaP9ZMsFKC2vgyW9nWSsJYYTs7XNURweEyp0mkM963ICV1iXEon+TYxze+n8+/W4CR6obKHapQKN6vSCl7HwQdiTazJkJ7G1/zLs8sFDKObG5EjJvo7EO2mXyAFvMzK0scivnxz1H+/uOoNKvKykoqKysHuy+Kk5R88YjGXgPOHoLOKBQKxWnOoWCMjoTOGRXFBLIymBvtBkl/RpIyvBbdfo4zqksBcI/yktxtr6+pd3F4qlN06i8zu1Fv2HVweqOfSfh8a4s8LoJJZSpXKBTvb6xgH+OviyzF/NiNnYIwsr4Fa+RoR54RXcsqvzbAYbnE9/4pjzZUDE5GAMVpjTt7fBD2bJvZqIQshUJxaiKlZE9HhL0dEUd1jZOB1YfaeedIJ7vbI6w81Obon9VkkfBnBDsjJSN5NIHPbSvw7smZKimlHRrunJK5utX3+er7si3qscI6nfWNcOeRJ6v8yrtKoVAo+pSdB03ntcd4QRvy0AHYvols03hXeaYPmvJEP+lQirmiX7RtGx2/TU0iwyeXMKtQKBSF8sLuRjY1B9nYHOSvuxtPGuU8mNA5Ekmkf4eSJkfCGc3aarMIZQlVVkoLzq4L7hqfSQYnEIw46PzM93WmUkqamuOEKrqzuWcJkQUacLx5pIrqYpUcSKFQKNJlKLvJ+vYI37HUI87ezh6sXRxGtjYjd293rO+qzrT0RAZ+pNyUIifL9/N0QSnmin7RJp7h+G15KKh2okKhUJxsbGrqJJklR+gStrcGh65DWexsC/dYtqs9IzmZnSah7igyiZ3xDajyZ0wtrmoXGf9EwZh9Pa3VupnfnbL9UJz18xK8tyhJy2gDhwmnQNnL5+l5vOF+Zz21hKk8rhQKxfsPs733sU/44OgV855o1EFXBzQfcey3M+NURUnHwBXrihwPqOZwvJeWiqNBKeaKfrG6ihxjRaTYHlisfmIVFQqF4mRjT2dP9+wdObVZh4qGUE8Bpz2upwUnK2QRL+spRA0vzmTdFS6BcIXSv0u6NNwJZ/vWaM6CFDtaw7axRYPtCwwsketb2b8AV+TuqZj7PU4bS2sk//EVCoXidMbq7F1uFm49U+Ks0P2lg9KFw/qOlLjoAsOAcIjsjHPxrEod5a1gdnUM6JiTKoodv3e0hXppqTgajkoxNwyDl19+mV/+8peEQvYNaWhoIBzuOduvOA3IkcUi5fa/zpI6CoVCcXLTEetdIYzpQ2vFNS0LM3uszfo7lLTHWhmWJPNUvqnIScjjKne6NJW2O/3QW/LUErekpMWXGdNNDzSNzxES8yR+kzkfiCJPT7Eit2rLYWVhUSgU70N6KOYiO4t6kAFlYxMQKuo5lmdWp8bmeIxsxVzPiiyq6AT27ir8mMCYUmdoUmdCeUANJgNWzA8cOMCsWbO47rrr+PznP09LSwsA3/ve9/jnf/7nQe+g4iRAc750sdRkWWLjyWH1sMIWVlhZ7xUKRd+8Vd/e67p3G3pfdzyxghaRv0TY/ZtWZxx31t+H2m0rv0xIzG4dPEsfLsqxSGtjihy/hx1xru9I9IxFOnA4jJUTPHhwWu/xkN0Ybunoa7G3/6LmjaGT49uhUCgUJxIZ7d3rSMTqyS1A5pj4NOx1WpbyfmR89g6cWzrJGsuznJqK4x44WNdnn3PJraWu1PLBZcCK+Ze+9CXOPfdcOjo6CAQC6eXXX389K1asGNTOKU4SEk43lUSRrQSb+4f+dTTjJl0PddH1UBdGSFnwFQpF72TbFkb4nC7XrfETP37oe3S6ftZFclOS/dN7H08bOlIW5iRY3V9tYQteLtHTIu2eUJ71SzKyXnPIadEc74C4YbIlmPJ4s6Csxd5fpFyieyTpjR2ynv0j4ZwDoNTTf2phNVIrFIr3G9KUfQ5+rtZ1iJwETlG/nlG4LVv2ruzKTCK3j81unf0dcI7xIvt3lubnMgWyraX/zitOGANWzN98803uuecevF5nMpeJEydy+PDhQeuY4uRBxrocAll3HV0ZG/pMjLEXM/Gisb8WWNpHoVC870jmJDy7cPwwhvmc1t3jnV3W7DDRD+sYBzox25OE/xgCEyzNIFqRaTduO2hZAlw4JVRJy8rIXill3OfqaaF2OyzmAm9Sczg+JXKuxdbWEHr3bjQIDpf2mC/g8GSjz9DyWMApAJYUYDFXKBSK9xvGob6nJAXNCJzeRIfGZcbqojZ7gnbMrkylpEQxeT2ZELleSXkmfqVduYPgwJOfqlH++DHg4qKWZWHmyah66NAhSktLB6VTipMLraoKOjMxgXpWjGNiWwLf9DxBj8eZ0AshjA1GdtiMinlXKBS9srWxzfFb0zTOHV3F3+sy1oKueJKKwOCPZ1KXRJ6NoO/ItoZE6NayG8fjMHaM2RsnVBmgsyaV9E0DM2zadctzwrzLfD0/41qVhj04Zube/RFBtDy1v2zvSEtS35Wa1DTJSFyp4xyZZDJxe++iQqTUqeR311PvRibiyB1b8AfGEM/Ohm9aeFwq/6xCoXh/oO/KGv+ldObskBIXBuQo5m3jMn+P2BeBy2BE/RGYn1qYOzSn9quNLIEj2Suy5GNHyJTAig3cqFXmc9GhYsuPCwP+Ki5evJiHH344/VsIQTgc5tvf/jZXX331YPZNcbJQXuZ0kPFAtwkl+rcTn83YilsY65xKOaACXRQKRa/UhTOCSVlKdyz2OqWajY1dx+XY0eXRHKU8gyb3UTczkzjVFYdAtIJRdVl9ExB5LUYy0NMyMqqk50SCcAtw22NzyxiTd69M4Mo5fDhpLzgcjGYM4lrP/ceLQfekBts8yd/CVdmZgJ1u9VJKjN8+ivns/1B1aLdju4aQ8nBSKBTvH4yD2cqxyGvpFtKZGDORZe8c3aghY1FcennGi0nQY7IWwFXpHF9FHz700syzg36YUO6MYToSOjkqm5wODFgx/9GPfsRbb73F9OnTicfjfPKTn0y7sX/ve987Hn1UDDUtrQ5XRtMN6ULmUYivO7EZds3m3jVwc4gzK+cjvi5Ox792EPlz5Li7yipOLqyIhb5XR+qp8A8pMdtMpKGegxOBjEtir8VI7nJmrr1o4vC87duSgzN+WDGL8B/CdHy3g44HOkiuTR1fmmjyQLqdkO34A8+TzLLST9jlBiTVh4Vj3O3aHyfu75nkcnSJv8cyAFe5yeHJBlsW6oQrJaFq5zO3J1UffVdzalLAJK/ijYD2mjzJNVO7i5bkPbxNRxs0HARg1N6tjlV7O1QVF4VC8f7BbOn/+yLIkae7HZAk+PQirKYGoKrHVpk/7b/dHa/ltOlDMbeKel3XGxPKAo7fO1sjA96HIj8DdmUfO3YsGzdu5Omnn2bjxo2Ew2E+85nP8KlPfcqRDE5x+mCFYqBlBEfLBcgECDvPQOzFGN7ZXjT3iXFLNPb3PsAkNyYJnHvyPIdGl0HsBXvmMrklif9iP65qFZ3zfsBsNQn+VxCS4DnLQ9EHiwj+NohslWiVGmWfK0N4nIqQJSV1HREaIgn8msaEiiKqi7xo+RQmRb+E/xTG2GvYX7qPZJb7s2ptz64uZtMgChVGi0Ho16Fcj0SQFj75X7iHgTn3cxh7Y/hnWRxp+mImHtCCsbtcmC5omGzZXkGp4SJUKkn4ncq1BohdJkzvOabsme1j//CcsTLLfbIhkmByQieUqpurWRZWL67lTRMsRh6UeRX3fOXburF2ZpTx4c0HHOs6k6qShkKheH9gtpvO7KM9sMd2QY7lOVvnxotVtxOLsp7rc1zjtcZ1zt1IPa9l3aav2dX8uHJym3Qm+w4l3dEaYntbmIBLcPH46h7eaooMR3Vl3G43n/rUp/jUpz412P1RnIwEI1CRkb6kAEQpWpXAareTBEX+EKH0xhOTY0A/mN8lFCC5+eRSzGMvO92JktuTBC4+efqnOD7IpCT0P6H0h1jfrtO1PeMmbXVYhH4XouzTmQ+slJJX6poJ6hmF5WA4jgAuHT+MqoAz4aaib6yIZSvlQHugd6+eiZWlDsU8ktQp9vafWTwfxiGD0G9DzrAaGcO2VugktNtJdAh4VQJ+wvV+dl6R0eDLW+xk6xsvSdI5wqmEt48we5Qz83VB5O8RtEoN96jM5zyqGxyotv8et9PF+B1u1lyVwPBlJLO4YbFlfSNU2ttZeeqPp/dXJlPnkH1d7OxwRs5jKaVMu7PLPTvSyz2G3kN4bI0mqS5Sz7VCoTi9ib/Vn2dp93gfcS7LDkMXHti3A8k5/e5L9PDO7F1utjh22b2vadbDwRjb2mwPqagpee1AKx88Y6QyOPTCgE2cDz74II8//niP5Y8//rhyZT9NkYZ0uFTK1FNjtWdeRWO3QXzT4Li0W4cPYGzZ0Ot6s6F3dyCr5fhaYaQlCf8hTOTZSEHuyMY+5yxiYvPxrd+bNC0i/cxcKo4vUkpC/xtCdvb9fJiHTYymzL3a2hJ0KOXp/QGv1bfREXv/1H62LIuVB9t4blcjqw61Y1oDd/2Pb8yMR1sXZpbn2pbdmlM42NtxdNZzo9kg9ES3Ui7B2gXSAvxACYgq8pksQlkx2pM3eTkwzeihlAOEqiWxMufy8jZ7ME5scI69B7piSAEVTRpnbPTgTQjG7u45D3+kwl7mMnIyq3c42yX8qXNyYD+rMveCZj2m6TI8NWNSmziPs7H5+MT0n+xIKdF36xhNBlbIwooq7wGF4nTFsiySW7LM5d1KsyPOvLtGeXaIT+73wg3tbUjRn+t5vu9l1vFzdispxrIGHsZVqFq9rsk5zicsyeb36dhfCANWzH/5y18ybdq0HstnzJjBo48+OiidUpxcSFPkZHHM+iPrCYr9JYa+v/dZuUIxf/UT5B9/h7F5ff4Gfen/CVt5HiyshEXwv4N0/bIL/bCOvktH366T3JwkvjpO0rTY2NTFga6eiS+klD36KttkOt54sOmIJ3lxTxN/r2vhzYNt/W+gOC7E34pj1hX2kYv+1X5udNNkV0ffyVNerW8/YQmzuuJJ3qhv5c87j/CnnUf4+74mYvqxTfjodTrRZdEeY4RMJpAx57m/tLeJ5mgSQ0oaIwlW1DX3qZx3T5h1/GsHHT/qIPp6lMQrGQ3RyPLUO2dE39aBvZ0Dv8aWadnu6xaABTIO2pkgNFv46sUyEPObWTVqobRTcHBq/mcnEbD/y2bYEXsANnY4+3wkYp97TX1mgB6/04U/N6xbAFJiZrmwCwvClThkO8sNsrujaUHSyuyjG2lnj08TsQ8oJk6G8kqKI05hrCthEEq8/yYSE+8lCP8+TOixEF0Pd9H1oy70jmP/dp4sqFwqCkWG+Iq4M8RbCJA547y0x2xByLnc8enQIJHAnuzNwZHhvafPfG59dMehKcJqbup1fW+UZntZSRyGhm6CiSR6nm/33s4YHfGefbLiFvF34+/rMWTAinljYyOjRo3qsXz48OEcOXIkzxaKUx3NF0lbyW0klki9NDkT/eHfhUnuswcFaUmsuDUgRTn89D4i4lZMapCvvNBjfSEva3JHn4E8AyL4X0HMOhOr2SL86zCRP2esacnNSf6+r5m9nVHWNnbx4p5G9mRZ26Jv5Ve02ndEaQzH+7UCWlKyrrGT1+tbifehFCVMi4ZQnFUH29K3oyWa5HDInjjIvWaWZXE4FKOu0+7HoVAc6TnxJe+OBWlJ9D06kecixF6N2QnWBnFC5miJvR0j/mrhniNmg4kVtXj9QGtB7d9u6KTtOFvO97SHWXGgjdaYnnGu0y3+tq+Fba0Dr3cKkNyTJPzfYRLvJgj/LoS+R0dKSfSFFoLf203kB6+gP/8HpGmyvzNCrgExbFisrG/t9f2P/CmCvl23x6MoJN5IOI0GWTLL2IriHttXejMD3ECeIiklyX1JO49EMrW1FCB6CVeRCTTZkP65/bxM3F9JG7SNimH24tltuborYmSoaf0lSAsr7MZotMeItmiSzriOAIY12OdluiQuU3De37w9MgG7EqZDqEuP9TmTselY8nRMo96znbRrtQNI0wDDbiNGj0ebNpNx+zb3OK+1jZ35T/g0Jr665xgR/vWpnwxPSknXY110freTzl92nhDh2opYeRUCheJkwEpYJN7J981ODbSi+59wamlf31gBlonE1+eHSshQnqW9y8WSIti/p4/j9sTcs4Nxb7/sWNb0uzbMLueEwzsNnb3u47UDrRim82Mf+k2I2LIYof/Odw7vDwYcYz5u3DjeeustamtrHcvfeustRo8ePWgdU5w8aMNyEkMIQTQQpCRanrWM9EAReTKC+JQg/JcwhAEXuKe6KVpUhKu898RnRrOBvqsSRCUx/g8l4YfT6+Lb4ohSgbuy/0c2/np8UGqrG0cMZJuzFFD3rKdEsnlilGzP47gp2dQcpMLnptLtJvlqz4GwY5jBBk8cDtu/hwc81FYU43drBDwufC4Nt6ZhScnyfc1EDPsArxxoZXHtCIQQdCV0KvweuhI6m5tDtMbyD7hrGmx/1GK3xpSqEjoTSRpCCZL5FNhJs9jSGmZiZTFlXg9CQDhpoAlBczRBMGGgWxLDsij2uBhfFqDCPzSxofE1ceJvxZGRnPMog8DFAXxn+xwlm04EUkqiL0dJvj3wSaHgpijBSufHqTrgZs7IClYebCNhOs/z9fp2rpk8HJ978JOndMWTbGrp/YO4oy2CblrMGVlR0P6MBoPE1gTJd7KviyD8PyEImBBzA2OwxBis9Rsp8r3Augnz8+6rLWGwsamTuTWVjuWJzQlbKS+EnHJe3cwu9/J6S0ZZCjc24ZfD0Io0tPLe56/D/xNOx7F37z+t5EoJNOORO7AYhcZhBAlAA9dKkuYNdI3IbDppq5t9c0x7JxIufq6ZjQuLCFanxl+Ryu/RjWURIEGMg1hMIPLnCGWfK2NXKtu5363x9tUJ3LogUQQj9mvMeMeL0CXSm9mR2UdseTZd1YIRDamOALY7UHFPxfxQBKb4kJ1Z/vAeD9I0qd29kR1zLnVMBLTHdSK6QbHn9EkGFNUNfC4Nl9bz2loxC9mVZwyOnNqWZitqEXk5gtWUCnFott31vWfa3wkpJeubumiJJlkwqpKKgHOWyXzt71jvvoU4axauqz+C0PpPkmo0GoR+EwIdPDM9lFw/8CRWCsXxJPJMpGcAtrRsbyroTtWBRreXYz+KuZTpxMvp3QmJkN1CuEDjCBQVQzSStWVfE/o+OLIfAHPbJqwt63BNmY6YOz/v91ImE1hP/4ZxlsXWcy5PeYXBtvMsSv8UoexWO3eOZVkE+6h0IoE39zZz+Zk1SGkR+uVhrBb7HTYbT74KSyeKAX8Jb7/9dr785S+j6zpXXHEFACtWrOCuu+7iq1/96qB3UHESUFzszEcBNNfGKNniB5FSgHPkifCTWbP/JhjbDILbgrgmuvCd68N3VlYyOSmJvxsnvjLbiuADw0D//W9IFM9H31D4pI/ValvphXZsylnoL70rKG99KIHei1Hs7f1NXPKX/cCsHuu2nG84BNmWmE5LrNPRpsjtwrRMEjlK/3N7Mq5GLgov2x4xLDY092PpFBp1wTh1wXi6LGZfUY97OqJoAgJuF16XZtcrtuxEJZU+DyOKfVT6PRR5XLhzhFMpJWaDSXJHEhmUuEa68M71ohX1rSBIKYm/Hif+Zrx7gdN9KwixF2LEXoziGi7Rqn24hrnwLfShFah8HC3xlfGjUsoB1ljO56zS7+bicdUIIVhcO4LX61t7fNxe2NvCR6b29Fw6FnTTYsWB/kMg9nbGsCScXVPRaxtpSWJvxEi8mR1wnH2/REopz2CKORzZ8S5MSEkqedjXFafSH2FCyupthkyiz/UdAtBRGs+y8uZvU7b6FZh8Qbp/u1+HibtCIMB3jg//pX60YuczFH0l6lTKwaGUa3INiEno2qV2Xzkz3cw13AXaPhAj7HO1LOLlzYQr7TI45c0Cd2I843aZbK3OmnTIuizFoQ5ELIqfF4iKT2O1+gnvSNDosq95zLDAI9JW9uaJFiPrDUo7NYJZEwJkZ2K3JG4jK6Fb1q0IDrNSinl3VyJIhjlOXzPA3HUELq9CNh7O7PZPT4KexA1opoHldiplf9/Xgt+lMaWqmClVp7Zytampiz2d9jN5WZ6kjdHXen9e9eYE4oVfseTgfmg/hLzl/yGEQEp70rc+GKPU5+bisVV5lf5spCkxgyauCtdxn6hMbEkQ/XPP84q+Gk0r5isPtdMStcfI1Q3tfHDyyHQ768ghrNdfsvu99m0MBJ5rP9bvceNr4umcVvoWnZARouS6EoR34OdrNBmYDSaeMz093nWFYqBYEYvQk6H0RJWT7u+ECcKegHJRD4CG0VO2ydlO4rEFNM1eFPEblMQ86fVutsC02bBuddaWfVnMfcj2NqyDdVjPPAGAuX0zoqMN9xUf7NHefOsVMPRUvpZMP0PVYL5uorfreKo8bO1jkr+bDkuy7YlGRh3wgihBIomUS0oGz/H1lGPAivnXvvY12tra+H//7/+RTNpXzu/38y//8i/cfffdg95BxUmA1wc51snGCRVM2urrYwDJj7nfJLo/SlJ7A5+1AtdV1xLZOTsdkyuRbL1AJ1RpMf+NGip2bkYX1xSeZaL7OM0m7hrn4/1OQwdR3WTh2Eo8qVIPMhpG1u1FTJ2ByLJAGm0GtOTfd1e50atSDpDU3HQGzqQ0Z0wyXRKjgHKRUaN/lft4ziVKCnPntSREdJNITu34cNLkYCgzyeIS4HdpjGqTTNwnsRq8yEiW4LMFYm/ECCwJ4JvtQ7jyzNDGJdE3cyzSvT13UmA2C8xmHR2d+Ftx/Ff4CVzgvGmJTQmiy6OQAFEi8E73IooFxkED87CJTEjcU9yUXF/S5ySP2WQSf22AiQ9T740lJJGckqSXT8jU2Pa4NK6YOJw3DrTSnhOL+86hNs4b61SMjhYpJS/tKzzGrK7Ljg+7fEK1Q+iXUpLYmCD+chwZy3mKChgn1i/sOZmVy9qmIEXtgsB6C32n3vcMErD9vKwu5DEaSClh01pbMU9xcLLFxJ225JNYmyCxPopntgv/vFJco1xEX4iSXJ8g78AkLTxyBbpYlHXOKSnKAxj2M7PlvBo7BTtQ3NHMvhkV6V1M3LMetyxiREMJW+Vo0rNlWVS22VqyRjse+R66uIj6hjByXG5/MtvunGegmfnX2TvLybKetS47SZ29qhPJeMcylwFWe+odbUqFtgkBeua9nbB7A3Vn9fSKiJsWm1tC7G6PUFPiY2J5ESUeN94TVIazUKxoBPP5ZyAeQzvvIrRpMxDCnpzc3R5JK+UAr9e3ce2YEUSetMvnaeUaZn3vo3fkt/soidbZAm/9PoyX/0q8uJy3qiYSFfZkRntM58W9zVyTk9XYilkk1iawOi08szxEnoyACVqNRtlnyo55oro39D16XqUcbKs5wP7OaFopB3vSKJI00iWTzJeed264djV6aRmeSxf33KeUJLcmkYZE3+b0lDF2GAS7gpTfVt5ju76wwhahx0OZwgNuKLq6qFfPO9002dEWpimSYPaIMkYU+2kIxWiLJTmzqgSf22ntl1JiNpvI4sI9IuLvxElsTuCb68M/L09McR6kJZEhiShLKXBBiSgW9ky+5Lg9AwonVtCi6z+68pcOd8jMB4GJICUuNmU3Ik+GtixciLiJTM1hNo02KdnrSe/fNcZCdLblRHP1LqNIPBAOYb27yrl85Qqs8y5CK3HmZZEb3gPALLvIuaPUUB1+NEzlNyodY2GvCNixQFLZCv4oHJhuUjfdYOp6qOx/69OSASvmQgi+973v8a1vfYvt27cTCASYMmUKPt+pFaOqKBzhcpE7wiSKJUIeRIpcKbAwDOtcDHk2nheXYWoz0subx5i0jLMl7bULP8Jlf3sKxMBdHKN/3Yo3/DwNFaOpqZ3CilFn0J1z7dUDbSwaEcB86ldw5JC9sHYK2sIrSSzbi9AbiYeupmf+Zps95zivRZkLgtmylhDsmieZ95pzu4NnJAY8wXDSIyWYAiFBs8B00+OymdK22u8ph72zYYLHZOJWAxeHQRpYYgTo5cT+GiP2YgeBszvwnluJdfgQxvpmEi3jsZKjOYqUGDYWxF+OYx7ooPjjozCbTSLPRbAaMxqd7JIkVvfU2oxtBp17O2m9yc22YBhTgkcTTK4oZlp1CcKC0DOFxkKZmYuT+jDXnel8Ji4Z01Og1ITg0gnVvFzXTCgrduJQJMmUzgT+LRbmERNRJPCd68M90o0VsbDqW/EnCotH37XnIAmrZ4mw2cNLGVsWYGNTF4fDzn11Jgye293IByePwOtyYcUtwv8TxjyU9TIUMnGXaiORGDnh35eMrWJ7W4iWmFMAfzPRxcW7vLjN/p+JRNbXvXYzMNe53tq5FZkUYIr0F9EoJuNqCGC50DeAviEIXpEK1+vtvLrQtSsBcJfuxdW1BkPMwCUP4k7uAeFBl+fSMm5OeouxiSA7h9UAUFO/k3EHX7ajgwwvGF90VilLUd1Ub2c7bzyMW25DFxdxuDiPS39WN5PF9Bp73x/Rktwa6q095kQ8SZCG3VnZnvK+SLlnS9xY1HDW5veoO/MccOUfX+Omxf6uGPu77IR2JR4XM4eXMqrEPyDLrxW30spwv21jFuYhE9dYF1qg9/bSMDB/fB+Y9jNu7d+DJQSyZgzvLPoEzTmJPSXw4r5mLmz34TZEj/jLHsRHkeByfLwKQMuuPbz9gY/3eId0S/Lqe83M3x7Av8iPaGok/Eop3SWQk+szSrDVaJHclcQ3rW8ZTeoS4el5fY33ViOXPQv+AK5PfBptzHiklBwKxfFtNfG8nHnmJBKRE9sQXd3E+qqes2d/r2uhxKMxv6acknzxra/9Hat2Ctp4O2xSJiXJ7Ulib8aQHb0ruNYRk9h//QXveA0pBIyoQVRWIywTMa4Ws8EitjKGdxr45toKR2xlLCPi6PZ/0T9GwQe+yZnrFkzorDzYRjwrvGjlIWcJg90dUa6eNBx/KjRDmpLwk2GMAwZ4Yeywsb32XW/SCf8mbD84qcsaa4ghE5LAhc6J5eyyhN2EfhvCPJhKKBmA3JLYvot8FF1egHUgD8YRA0xwj+1dHrPi9nukDddIvJPANcqFe4Ib4RfH3WttKJAJiXHEQHgEsU0x5m+fT7QxihW08ivlkOVV1Y6gKD0cuxzmlm5zeG+4KG8x6exWzMfD5L2Zte6P34z18+/nbJNvVrr7Dy/EY8idW+2fRSUQDYOUWG+uQPvg0kzPgl0Q7ATA8M23xZqsR8LQTNymi6ZVnchC7QYC1l+aYNIWN3Uz7QvXOMZgRj+bna4cdVBXSUkJ8+fnjwU8nvzHf/wHP/jBD2hsbGTOnDn89Kc/5bzzzuu1/TPPPMO3vvUt9u/fz5QpU/je977H1VdfnV4vpeTb3/42//mf/0lnZycLFy7kF7/4BVOmTEm3aW9v5wtf+ALPP/88mqbx0Y9+lEceeYSSkozL3aZNm/j85z/Pu+++y/Dhw/nCF77AXXfddXwuwonGke1RprMMt1cNp7K9C7sUUD/xYPkEdOGyreFZ7DgvM5pFywLE3XP6tYjl27/RUMpr130Swx+wB46s73hYN4n+589wB2Hd/H+ia3gAX8xixh+L8Sb6fqYlkmDOYBPMI2sFhzt/W0JSNzOnv4Zhu5EWEEt30iJsZUaSZcXPStqsWWBppL8x0gX7Z5p0jhDMXDkBj5Hz8bH8xNaOIvHeHiyKQFw4aF3Vdwfo/G4HA9FGJJIN8xN0dmY20y3JjvYwO9vDjO50M6XTlSOM5tuRjkY9lpjsWFw/09msuiS/0CSEYFHtCJ7d1ejQq1493M7lr2asKcl1SewPsBfwc548n8S//QHLtR1tzAi0ueehTZuJCBSh79eJr4lj7Glh6/W+HhMqF42tZESxve8FY6rY1RpkS5szpsWU8Nc9zVzmKkf8b6KnK0chilSqTXON7rg1w7xQXezj4mIfG450sC+YNeOvwZvXJLn8LwVYkrLc2Mft9/RQQKzXX8KglrJmCHZHzGiQ8Fn4ErnCkegrh06qSSWQwGVtxwhOwBCfACEwmYlL/gyX7MDHctBm2/uT0Ok/CzDBspi99uV0l5PiUjxx0PMo5u1uN+MOHE51t5lIWZBwldNteqzbR6xeJ1xukeie9OjjlvgiMGaPG82S7DnbeTOTOXqdi+Yesqc3KUD6sZIJ6MooLBIvUfFppLCLq09/9wjbzi/MHhLWTd5u6EQAE0r8nD26olcFPdncQnJ/CDejiL0cBxNc41x4zvDgmeLBPdIp8lhtLSSf+D2xyA2ADzSDktsq8IxMTS4kJHqdjqvShTZCI7HsL0g03Dgnnw76ynso5d2YPtg5K8GM9YVZPXVxIcFhu1i78EPo/qJe36GuUotgu475Xyb0U4c4tjJGZIIgGTap6nChb4vjme7FM8WH2WYSeqwNTC9ChggUPYl29hzkzi00+8oo6myh1DQgEiLymzfpPOcD7DvLTVtCh0oYN1OjdYxFzA4rxaXDghe9+JK2n+3OQwJZlb9fYd3i1fp2xp99BZUdRxh3YAdSVmIwEslwxBOr8H9lHPoOg/jKODLUPckjqZ9m0jzO5IwNHipbMu9prFiyZdw5DG99k8m71qZtjwYT0EQ7UfEFQMPYJYk+X49L7scUM8inCEWfimJ9wMKY5+a1/a195LV28uK+Foo9GqNL/Ew+4CXclCQ6UlLV5GLSkUno+3Q8UzMvtd6YIPw/URyVsrKIr4gjkxLfApDLnrUVqGQSMetstHPOR+o6enisrZTbF6iHUg6QWJnAfaYb7xgvUk9irn4DeWAvYkQNjB6Ha+oMhLfnBE58VZzYCnuizDPHQ/GSYoTPDrFIrEsQXx23y4P24RCgVWqUfLzEDuPpBytsYbaaWBELrVizlfujDMcwO0xkUqIf0DEOG3jGePCcZYcryJDE6rIQAYFruAsraSEjtpeB5tXSkx9WyCKxJYEMS7QSzQ4T6TDRNzk9tgIEsJoLEFhlAp/8Ewlxq/1bmDnXzqCHeuZYLxh9ADpTqb4S2fP5QqIVFWHFnZU6BH1VG3HbXk2pCUftymuw1r4Nhw4gN6+FbMX89b/bf2gaZjBAUShJtHsoF7D+Mp35r7jYbA2sukm8FLZdkPmihKpPv4mcQhmwYh6JRPj3f/93VqxYQXNzM5blfAj37ds3aJ3L5emnn+bOO+/k0UcfZcGCBTz88MMsWbKEnTt3MmLEiB7tV61axSc+8QkefPBBrr32Wp566imWLl3KunXrmDnTloi///3v85Of/IQnnniC2tpavvWtb7FkyRK2bduG329/SD/1qU9x5MgRli9fjq7r3HrrrXz2s5/lqaeeAiAYDLJ48WIWLVrEo48+yubNm/n0pz9NRUUFn/3sZ4/b9ThRiJx73P2l23oxLHyurH+lBJwJkXoZYDuqTRxGOyFoGDWFUYdzGvqTEPBCB71SNyWA0S0H5fkOvDf3VhIBSSQ1oMTKNLaen+Ds1/sWnjqrjMIMtwKOjNcZVW+f0IFpurMfQoDHKW1riTgVzS7ax3jsY0gJloUnEUcv6plJ+qSl+/a67EzS+egcIVl5fZLRezXOXOfp8QxZ4ozj3LnCqDsrSWcv6Q0kcLjCoOVagwue96L18WB45CtohElkKebhEsPxTNT2MxoLIbhuykie3Z3lcu6GrefGmfFe9nObJViJUnRxFbq1BA6G0OoPIZ/bhtTGpNoJGsYVg8v5jp9ZUZRWytPLqsvwul2sa+qZr+A1o4u55W4q249yrldKdp5nOX6fv2cd1F4LwNxRlQSTLbTGs1RBH6y7OM45bxam8ABouEjs7sQ/3X7xZTQCjYcxxPlM2aCxdnSmD/Vn6kzZXIAnWO6YJhOAB1Ob62wnXMT4v/jkCxyY4ktv4w1Cc7ktEFW1xfAk/ECMcPF4Vl82Bz1fyLUJs/Zty+waqJ8Wx56Qsft09t61jKnfTaTl/2C6fbyxNNGbE1CaRDEYXkntVjd75pjOsS57WynRCGK4LMcr5Y0LJF7khveQkYwnicFZaaUcYER9DQcnJwjlTGD2hQT2h+Ps395I7UGTiQ0RAsWHcIW2QlcHu888nx2TZ0F5AE3vpHyhYOo7bgIHwTxo2tUSBIhqQaB2Jdqmd7CiOjHx+UyuFMtN+LFmipY0kiw6i7VtQTpGSGgFrQnMMy6AyRcw/9XnGNHSiqAT8LNt9sV99r35DJi+PteanB/LBWsu+ziyPxd+ARsvSrLg7z5cVt/7PexLsLPeFpSL2+G8zX6Sm2OgdaYG6VSCNlFKNHozvGXy3qVnE6oBpKT6SB3z39jEW4uuIFohIZHJyH9wunPsML2wblGSC170I5HUTc+exKDnECwE9VPPoR7YOf1KLlhW5ljd9VgnwWEwLCLALXAbgoNnmuybbY8FGy5NctGfPXhMF5YmeffKJKbXTcuEy4m7pzNh+1jseKUi7DJSWvq4UIopeg+fkUh2HAxRV2UO9NNBRLfY3RHlkBEl9iH7vMubdOa+6WPvugjuEh1fvAt9zWYqDp6HN9n32Jl4M0HyzYP4rXo0koCFuekgbDqIyWSSoghECa2jTHbO0xEmzHnTQ3HY+dJHHg8TF5vwm89n5iz37cKiirCogOJS3GP9GG06sg07PiWrHIS+UadzQwMB+TuS3oswjcLsmlaHxc5l7RyaFcZjRBjVdIAxVaX46/aQ3F+FZfjwaOswK+eRbD+P7gveNcyic7wFc92EOgwm7vMwfIwf3zwfRoeOubcNY3cz8lAULbETixrwusA3EiM5DBLOyW5ji0Hs7z2VRlFmu/7TnclYSOwSFfZ4ftQee7lICcJHQtyWXqTJupxG9rMts7XxVGJRS7pACKraPKTdKrJvsVfDXPt2j8P25coO7rRSDqBNm4UIFGH+/tcQi2IFO9HKKpDSQm5ZD4A1fBw0C8bsFOw+P9PP8DAwNItgdY+DFI6EszZugxljjmEnpy4DlqJuu+02Xn/9df7xH/+RUaNGndDsxz/+8Y+5/fbbufVWe5bp0Ucf5YUXXuDxxx/n61//eo/2jzzyCFdddRVf+9rXAHjggQdYvnw5P/vZz3j00UeRUvLwww9zzz33cN111wHw29/+lpEjR/Lss89y4403sn37dpYtW8a7777LueeeC8BPf/pTrr76an74wx8yevRonnzySZLJJI8//jher5cZM2awYcMGfvzjH58WinkwniTbBdcdB8MPut9OgnbBX724ZIGDVs7zYmGx6sNJdB/km44+NK3CqZhLSVH0+2hRSJ57B8l1FQDsnWXQMtZk0iYPJV2CA2f33Y32UbLHh7ZzBOw42y6zNGmbN2X9sXDzHoawvTL2zi08unvHAhNPQlDZorF/Rv+zqJbPT/s4MkHeQoDLdWop5QNBQMMZFomAzqy3eirnALEiE0sTFId7eb7yTfTIAr04+iHpsTgws/+YwGQAVl6b5JK/5lcQXXInXt4FvCSy+rt9njOb95Q/rkf+vxJESe/WLyEEF+4JsmpyWfr5ba6FKesNvGYfw7kQQBmWmO5YLMlRiAEsi2lr/g4f/oceu5lQUoQnBmuCXTheIAEbPmAwc6Vk+JE85t3+EAIzWwe2BOLtlchF16STX80/XMIrrk4SFZlmXTVwcGKCcftzFGipg/AQ9SZ7vOfJlw+mFXNz1Wv24RhNadhjK9Wp9ofOkEzpWd0rb9+dv3OVeSv1Pmspgewj7JqVMWdVde6nsXwiAJPXVhCv/jxm9SFWnjUMo5d5AXcCLFmD5mlGjBxNtKuLxgmZ56bm4C7Gvmefm0vsAfMsSjog3C0s5VGQhAHSDfVnmVQ1aZS1SYLDnY2crspR4jkOHr6IADxYm96DrNr0upiW2oGFxiHAzaxVNeyaZ9A6wkrPJxSEC+omuqibUIZmTMednIbbiBMtz3TG8kBHjeTtD+t44jqVTRpjd7sIVlo01Jp4kvOorJ3PmL1uXKZg19wknSMtvHGBJ+GirXg0uLugJrVDLRWmgwAB715+HZf9wYeQBqbLhR7ox41CwPY5CaZv7B4jJJ6zvQiPwDPNQ92KLjqGm4zd4+HAWUb/SnmKRCmsvjrBBS/k/wZLJFvnJ2iZmFkWqYRwkU5J1AOWDykku2cmaR1nUVOnUbvdT/2ZBqGa1LdOCFpH1bLqkrFEKwrqFvFiODAlSSCiOaXMfsTFeJmX1pE61U32GBIpNXlniW7rRKlhqvoAtGadDxqsukrnkhc0Dk82HeUG980eSesonXmvpp4NMZAHDbZcqNM6thCXvd6JZXkLdI2E1z+aGmPCqYD2eefAHIM5b0JVi32xLE2yc55OuFwydreLmgO2V5ZkHDHtc7SOitM4IUEgHGDsbje+hEZHtcHBKQnaxmZkm3c+qKMZOtNXuxje2D0uC0w5h7CYSqzqZfB0EgjFqKv9ONEyH5phYXgjVBkaY9s8JDxugiPtMcFlpnYsioiJz/Xurp2HbfOTNNVa2DW4/XSUDmOblLiLJlI8xsOZG7yUBM+H9sw2rTUmmy9OeVJF7FCAlqkGwozh3ggTtmqM3edDpHNdpMaZJP17NmUhkVhh0NIPqCBTAmOQw3R76EySgPyTswlJJBD3ZHmRmd3/VADYYVzd47ggLQtpJRryTWcZM3ufeRRz2f1Plqzk9WGtfAVrz/ZMs1WvwVVLkbt3QCq3mNlSDEJQc8jNbpnVTwFvfuwYM7cJODSxlqnHtpdTlgEr5n/729944YUXWLhw4fHoT68kk0nWrl3rSDCnaRqLFi1i9erVebdZvXo1d955p2PZkiVLePbZZwGoq6ujsbGRRYsWpdeXl5ezYMECVq9ezY033sjq1aupqKhIK+UAixYtQtM01qxZw/XXX8/q1au55JJL8Hq9juN873vfo6Ojg8rKwlz2Tlbq4hbZU3Ln/d3Lqg8lQQM9AKuvTTJlrYsRDe7CrOdZtNQY6N2ySp5vZqTCdgPX0oOklZ639Lz3nyS1rxEPWNSfZc9ob72oQGezfN0UcGSKPVIdOSNBZZNg3O6NTGh4CVNuICY+QahqAEqHgM0X61Q2ioFNth7nuS5hSmR3EpjBPFa3DjvAfbaNsVizOMGwJg1hQaxEEimHpF+mhayiLsHZr3jw6t0+8ZmQimxclR0U31SF8ZsniXZeDaJigOeQUZzXXdpTqesNswg2LYgze41TOXdZ2wjQ/dFNonEQKyVEhLOdfEzQ4zMwfnwf2uVXoV10BSIrxlnGY8jD9ST+vhVf2+X4K+PEu0MqBLx9jcElzw3cWr1nZk8r6rS3Daz6NZiXLsJVnpEqE+90EF2uU2R5OKfKzcYLTMzsOSMBWy4ymfm6ZHhz3wKwJvchXdVIy7aOdZY7qxVM2ghJaxquvTvRJk4l8scI+i6d8zw+3rwmkRkrBOyZLxnRYOJLurL2vwaLhWzLnnRICZFmV8YiJze+m5oHK+05drkhVG5R2nU0lhIJrige/VVAQxdX2oJeKpY+XaJMStpq7AchENQpCfqxgA0zhmP4ZLpN7nNuFMH6867kjHmjMQJF1HVEoDsOX8Ks9bsyp+HaTWfZ1IxSDj2eay0JC5/3snO+QfN4i/qpJjUHQgSHlzm20X0Sb8LeWCNJvMiptAQiAC5oabRDdVJYpNxOhJZ+/n0JmPWWBylg15wkDVMLT4zV3R/LA0mPRpLe42Z1PzRPsGie4OxrV43F/hlJvFFIprwS4iUF9kGDA1N1xtR52DW7sHGi6UwYc0Bn32wTj3GA82ZPxDe8hnDCYOuFuu0hdubABVq9CDZckmReHm+vA2catNTmLBTw7jUm/ohJebMgVCGJpl7zA7Ms2kfk8WQQgq7RA1BqBeyba+EJD1yp3X6eycXPe5BINi7UM9/O1L+tuecDWMW2kcDMMxcbHA5vXhtnwk4X4/a4U2Wl+ibpk2y8IEG4L48OKXHpqaoHA/nm5Wvrho2XG5S2Gsxc5WXPXIOW8fa127HAYPdcA82wn2UEqWvhAyzqpyXtcJd8r0DqHdlyscm4zSZj6txsP98gXGF7NiBSsm96oi6T+rVtrMnueWZ6P5gwbpeGNy5oqDWJlWbOpagD5r3qxW1pSCRd1RLdKxESyls1Dk0xaJqY51kQAsPvoasG3l2SxBeEMXUuDC+EKy3aa3oaUBD2BKLuhj3nWjROTDBtrZfiLnt/jRNMWsYYREvs61XRBCMPuhBCo7JR0DLOonO4RXG7pGskdA6XmXtogi8Gw45oTN7owm25MF2SeLEkEBJZcugxInWEOIwYXo3/PB3xvFNu7VbMD2V5cAU67X9NRqXaOCfGu38Kfxha8+W96cO1XLgy8pvbjfXWK47V1uZ1aEuuw+xW+H1+zMR40Cgoz8uAkZJSo4DEcacpA5bkKisrqarqJWDoONLa2oppmowcOdKxfOTIkezYsSPvNo2NjXnbNzY2ptd3L+urTa6bvNvtpqqqytEmt6579z4bGxvzKuaJRIJEVmKmYNB2D9V1HV0vNJLpxJD7IXMn4cLnPKz+UALp0tADsO0ik90xkwufj6DllNBxkCNkHpje94dbumDdpQnmveZDIBAy40YrSIDU2brAGtiHsRA06Bgl6aiZRcWy9ZR3NWO5WkEMsESVJugovNLbcUOYMO1dNxXNGv64hiUkAmgaZ3D4DAvDLSkOCqQUdI60MmEA3Uj7vvvC9mRMMpAvZ0ABHcnnygjEKuBQRe/PQrRc8tZ1ScbucjFlkyfPrDNoVWH8t43F0gTaP32W4vp6ok/VIeXEvO1zEbIev/wjcfkROoaPdVg6kDCiDso73dRPMUjkMWq3jYfQZp3SqD15o8k9+HHOhHvk2yTEeLoqs1wjJcxYCVCKJYvhlb9hHToAV30E3n4N9uxAtrdiMI+E+AAIWPCKj9c/lrHumj44MDnJhL39C8+mSxIrkRyYlqR5fM5KC0YdKiPJDHw/+XesL38LqflIPNuKsS9Adxay8nYPF7/gZtP5CdvLI2u2fMulFuc/ZxBI5MbIRQEvGs0Ezj6Cro0guc5etfVCp/fA+D0+dHEZ3j8/QWTcVzB32wKiWxcseNnLmquSGYFdwKprdS79s0CTGkgDP28Q5XxCWUP7iP3d+y9GP7Tfzu0QDiGppDvRmztGpnKCsK08C17OehmkxK2tR5puTG12/gssdTzyr5jWLHRxFY7kldJiwyUZRU4khB1HDJy16W94rVLayxbTWWNLSZplcuHfXmblNUt6HKZxUjWNHUnocCpzNXUayLnwpY+BrmNILxua+q4aYHmhZYyJ7rHjRNtHWXjiPSchw+UmVc3d5sskkRKnB1FxF4CWtqoAqVwR9gyOkCFccrPtgSTcIGzx8swNHqTb5MjkE1y7Vsso5QOlbo5F3ew+EnomsV+XrHdj3eLu85vAqwc6+EBrC28lvBAoy7+PLNwJC8OXXwgOjoCt8xJIF7gtQeURaB4raR3fy0SDgHhJ/omI0AiO7nuaO7YL8odh9EP3t2f9JUkS/V+WNH1VSjGKYO/ZJntnmRSFIRARzFrlRUhBtMQiVmwRLrOobnTji8C7VyRJ9uK4JEwYcbiOs1ZPTU+eZqzBx0ao2jZ05F5/04fToygbrRel3NFpODgbDs7uxcTd2/3OXu6Cg2flP8foMHjzo0mEBUhbcU5j2Nv2+0wJO1Z63wC8EsH2AnpvSbJXw0DbeGgbbwKm8xmdmGdnLkiUQMMUi4YzLNJunCml3ZVMzWNboJng0aHqiIsJO1y4rKx3U6YmOETO+yotXHIHfv6EOHchXDkTlv0lT0ds3SDbM6T6QGoX9AzbzT5xV0NKqRaC7sSb9to8k37p1Vn9zKp9nr3M2PAuHK5PdS+O1S0LC+zPgSPUiaMbQ9KdFQTLAyeNLtTdjxOlnw1YMX/ggQe49957eeKJJygqOrrsjgp48MEHue+++3osf+mll06662qOGA9VNenfK5cmmb4a5v3NzdoPWsjUC6kHYPPFLSx4/SU6Shaze24xbrOLkYfqqD5chmR62mIUqrCIeXQiBWRtDI2APTOSTNnqw8VuxzpBF6Fhx7HurRCsu+BqLl/2BO8sKh+cCYCsQUuYJlLTClIcc3El7RAozYDioKBrhDMeafx2l52Up0Qy420Pww+nbpSUaZetmnoPNfW53ZM0j7NoGWeieyWm2y6VZPjIcq0V+Lts4a6/uFUHx6C8o8GhaSaRMpO5b/oc1yzi38u6MQ3IZTmC5izJlMPvMa51PKY2jmB5BZrpoyisOWack1oje0a/x/z6CEX8jtcv/IrjxIRBOo57zB4XTeMtGibpdGV/IwW890GTy/7oRkidgHzGcRp28tI9JGSS7Wc7BZwRzX5bMJGXEOBF2LUNuWtbKtrNRVz8A6bI1MHWpGDsRjg0N3PsfedYlAQNhjWb6C4LIT24pO0Cabok9WfqHJpo2RnH88n3Eqa9Y5+zLq7DZXXCj79L1HUzmuw5ISUQzHnbT11bgv1zsywbAt7+sMEFz4Jfd4MM45Wv4GUThhAcrhzJNvMMXMlNXMgCwOVQjoTZbQ0oIxk9O62Ud1MU1pi+SmPbwqwJOTe8syjJ+S/58Mpn0bAQhEALpM9t6oZuRdNF6HePEw74GQWYZOLYxu3SqJubuTfRSmgdZVJ9xAXSZPvY12kZ5mZcUwNTjsQ5NOEc2kZbjN/hzljWhQddXJ/nAoPhkiml2+6417BFMHcyzuhDuwDBtgvngygBKbl42W/xh6YULOhM3riB8TvPx5ATiP3HQ7xzxnRC46chs8bv3tixwBlH21Qb6JEcOFwOVc0AFgIIVTjfN39E69FRK0uQ9MrXSIoLya20IYTGtLUaE7a7iJRLOodb6H5J0geRcouEj4GNMyeKXu7J+S94CUQ0osUWa67Ob1GPlpQT//N/ELn+8/0exheGc5f7WXVd3P5e5OlH8+TueyE5MqnwU8i3r0Hb7mj2JWwLdyGlRQeMG6IVEK2QvPYxO2wt+/ne15f/s4RJG11M2OUBOc3x/Zn+rpdxuy2CVRYSaVuaj/Y6nqo5rwRpWdDBUaeYHvjxB6VNb21dYAac+U3jQGiYyYEZJt4YFHWBy7AY0bCekS0bcYcvxhKVeOUruKl37FK++xYrOyPMrd+ZTt2Y9kyXMXvyLGtiaswhkWrTt2FUs+zM6nurapjcdsR5OlJialnfzXyKeW8897Sjj1bKpR4E/jDEHQnoet/N6N0azeOtXsO0wJZpp728jxf3b+u90RCwfPlyotHjb8kf8Cvzox/9iL179zJy5EgmTpyIJyeB1bp16watc9lUV1fjcrloanLW2m1qaqKmJr/QUVNT02f77n+bmpoYNWqUo83cuXPTbZqbmx37MAyD9vZ2x37yHSf7GLncfffdDjf7YDDIuHHjWLx4MWVlA5gmPgFs2dhJXVYwkeWBLZeAO2lR1ibQvXGi5V4QgvaaCeyacYi9M4tSL2c5TRPmUhzqYFpAkqyT7BqbJBFgQLNqh2ZIOkYnmPXObt6bewNYcMautVQ0vY7Urul/B8dAuLyaiL+IWLlzSt4bhXNWeHk7zwx3nwh74Knd4mbMXi+tow+y7fyRA9pHzX6Nae9k3j2BYOc5ydQsL4zd6WLyFg+TtkgsF5nYMOh3EkAgGHnQxciDqVrvKde0cKUteLSPtND9WQNxf5U9Bko/16FjNGy5IMnMt30gDXxn7aNk6Tl8kDm9bpPQDd482Jma/9ZBSvwJi3O2Rij1+yleMonzvGcgd+9g0956zECWhCFhwd8yQ6VAUFPvoqbednN74/pE5vxdsP3sBGevfR6R/QkfMx7XzLPh73/BzVpiw87O7C9rAtYUs5FyGSKl+AAkxBJbKc/xNpmyy8+h2XGH5XjT5QaaZVHsc1PugUP7duIbMZFElqtbb3gjpJMVIjTi3ILgcF6lPJva3T4C4QTbL3Iq56uXGnzgD88RKGtCfOp2KP04bs3FBGBC97klDhM87JxYm7Sue9ZKoJNTJzXFyAYvDYfidGZVa4xVQOvYlUw8mPKgEu2QpXS7u6VGIfAnyyjVbY8nIysh39h9HurmJBznsflCnQufl5QvbGL+gg8DEE2avLrvCIbXHhebJyTxB6G8XWP4QRfVR7onfiSIdgLm/xITn+Odq/TMPYyTzpQ+ft8WBLBuwRIiFfb1KGtvIl5USnv5VOdYaUJls6BjlFMpFsA0dwcx2YUU5XiMMVx8eA9/n3tpYaGgBShW4fLuSQt7j7Ecq6I3t8oCYGUJkoY2HdmHR1UgqhGIYk+EZCGRBKskRybqNI2XWAMLFT5qRu0WNI+RmH4KHuO0JHZsNVAU0RizDQ7ny48lBG8suan/SVkJ5//NiyY1zn/ex4bLdUw3TNiisXv+cfAWKxBv2LbU5k0v08e33RMBbxwiVb23OS5KeS4FjInZVB3CVsoh7z0r7dQo7bQvRnCYzFjQ+/o+Hqtl8VQm11njVL4OApJF9n+g0TZuHtvlOQw7sp8L3/hNb5twcd0WyEqunPnspJS/bhFPgt9IJWikD0OUlLjRwR9g8rSz4K0juQ2I+LIEjvSHofCLn2mZkYcnbBfsPD/3hvbEnYCp670MP2Sy8fJM6FX24TUDJm12UeoaxtVX9y7TnUh0XWf58uVceeWVxGIDyzZ/NAxYMV+6dOlx6Eb/eL1e5s2bx4oVK9J9sCyLFStWcMcdd+Td5oILLmDFihV8+ctfTi9bvnw5F1xwAQC1tbXU1NSwYsWKtCIeDAZZs2YN//RP/5TeR2dnJ2vXrmXevHkAvPLKK1iWxYIFC9JtvvnNb6LrenqiYvny5UydOrXX+HKfz5e39rvH4+kx2THUeKLkrcZieElZaVPnkVIc9s7qKUxHSitZSwKmZC0c4EAcqZS8vfgj6Y/iu6MmMH7X+n73U9aCnSHyqC0Bgrcvz6klK+Gc5W4CCQ1PrABXsiyKgoLZb3gIRO2v9ciDE+gclqRhSu9CVuURgT+mES+SlHYIarf0jOc/c52HUfslLgOKg/a+BQLXMXqHCgQVrYKK1uySNBaHzzDpGGERrswakC1I6yOpv6WLQRdAWsZJDrXXcVathfu8BX227YwleeVgp3OhEMT9LlbNK2N8qZ9zi33EdJO3i2voONOZTrTyEATi+YdKlym48M8uVn0kYyFpOkOird+dTlYkLrgU1wfsySPj1WUY7p1ARjGf/Wp2v9wYcgYe7KxjOnMxxDn5k9wB8152s/ZKZ3y2pWmEdMuueV4zMV/10h4IAy54MUfbEQJJ7zV3s6k54iOxLs6+c3AotSs+uoQPja/AU5xfmHB9aDwrNzU5ZvDH7c/qRx9Ky5y3fbw+IpHJzSNg84XzGPfMm7gkNNVEnc9c1jU0mYNH2kKLla28GwJXzM4ZkOkkrLpOZ0zZGM51uTBMyYpDreB1xnvEyyBeZtE00WLYYZN5b/8dr74DkXoQgsNfJ1F8Qfo8axqgcZL994RDIzg85kwO187M9LVyGGsu+1jPE5dw1hoPa65OpnMwaMDCsZV4x30YfesqdOaji/OIu1/GQPSSJJEC3klno1B597tuWxaTAWdTzUq9/FlYImUxlxammNzrs9wXAkF5u6C83ce0dXBkosG+GQaGB0rbwG0KypsELRMsQtV2FwJdUHPQjWZIWsc1I4gT95cTLynMw2r0ziRTN5Qwdb0g7jV4+zqjoH6PqssZl7f6aTgzjszzWU8U9z8JHwhhh2gA/oSL85dlJi0CHXE2LS7geh4HBXDyFjdtI02aa/MI5L0cq6QN5q+w35uuKpODUwxipRCuKiC2P/scJNRu1GgfZdleS8dZqfNEYca7hScBO+tdDyMOWZhuGH5YY/fsBA0phydNh9KOBMUhk8rDJWy9yBq0iW13XGL4RNZ16ufZSHlcu5MwZgcMa3JjuWH7+QaJotQ9OU4Jnme+5WZ4g/1dba5JsvXifiaZLAuPnsB0ebBcrsHvl2Wl84Bkf8OOGiFoG13L8x/9AhftWkNlPAR7dzoU8ew8HI5NifQ4fre8Jwnk2cKJ9rk7sf74u7zrssv9utI6ep4TvWQxvPFS3n1YlJHtpj/yoJudC/R+r9fUlEdeVYsLrFT+iO5PRmpbyw17zjaJ7RrDgpNNF/J4MHq5Z4PJgBXzb3/728ejHwVx5513cvPNN3Puuedy3nnn8fDDDxOJRNJZ2m+66SbGjBnDgw8+CMCXvvQlLr30Un70ox9xzTXX8Pvf/5733nuPxx57DAAhBF/+8pf57ne/y5QpU9Ll0kaPHp1W/s866yyuuuoqbr/9dh599FF0XeeOO+7gxhtvZPRoO3j4k5/8JPfddx+f+cxn+Jd/+Re2bNnCI488wkMPPXTiL9JxQGs3IRWrWdROOlGMg6MQto6KnGPUT5nbZ3NfBOa96mfVB+N544ILJVrutPKM2UY6hnbKWo1tFxcWXyZMmPeyF7fhPI+pG7wEojr7ZplIl/3xtlJv56i9GlPzlBTrsW8EZe0nZto5ENE4Y6M9MIcqDPZPN2gbnWU9ETmWlMHuloDdc0chK4roJdIXgMZwnFWHO/rcVX0oTv3O3JnlFFIyf9UaLMYgZDOGuMDxQULq+IwENTvdNE7r7ptgxcfu4OrRZVBUgsj6uGjXfJQNbQmHgFnV5Xe8PwmxGLfchsVoEuKD6X3mo6zTzcg9Bk1T8q4uDAMufMGXlZH26Jiw10/SG+fQzKyxQHPx/KEQS6cUoeVxwdVKNaLZr5ZJv895elspWPiCh7eWJiGdzFDjtatu5gMji9jWmXU8A8c1NMRkOxYSDZl2ybOZus7FtotyZrOE4HAozuFQ37Ha3bSNcbHimstY9MIevHoS6fGy9rIF6fteeQhaU/MBZW0C2s9ky7WZZBTCsgi67OemKCiIlmZ5I7hh9YeSabfRCp+HKyZmJpO8Z4bRd5qYopb2bs+MPM/P8HqNjuFWxjqZT3nL2a678pCQttVA78Vynb0ri+6+6YBvUL4To/ZrTBxfjmukC885HpL7kiTqEox/xSRcYU9OFoUFEMErXmX63q1QUo68+noODCtlW2sIM+P53eO8vcDcqWHEvj9hdQUoiR/Em7iVpL//Chnjd/e8KBc+7+at642CxsGyZrtCVcco+zsw7+Xe3QPGdPyBLcaHsTx9uBBImFvnpVPbTdgnCVdUEw8UNjkxea3GkclWj2zsWhJGHHRRfVijeWLhHmNnrs/0s7zdRfkaF7rHYuXS3vdRBEx72cv2+Uli5YCUTFqvMWGPl0k7DnNkYhvbzj8z77b+dohXcgzfH0lFUmPOi97UpFNfTU3sBFvFCCFsrw/RDKKaqRv8DGsyCQ6zGLtLUBl/BOH3wKe/xYgNcV4dF+m7j6ZBsVsjIjU0E6oaNdpqMmGEQsKshJ8J7/6WUCjMjpkL0X0B3Mk4TeN6XpsKn5sz6ryUrDTzjreX1gUo+WgJummyvytGscdFOGmwvS2cfm+KXFAe8NESSWLIAiZWsphcZyvlWpWG71wfI9bAsD9KWseYmJe6MYs0uhI6cdOiwuemwudhYmUxrmgE/AE6kiYHg3EsKTkQjPUwvlcFPJwzvAxDQGskiWGZxHSTxkiCRPeEOTDM78ElJH6Ph5kjyvBqAgwQHvuaxHWDtw530JU4BmXM42PljEu4aEwFw/0ejK3r4dnf97lJPsU8Q9YEUY+xy0K75qO4KqqwWlKevkKzG0oJWLRnJTT0pVM25TnQ26/32j+DlJdZSm5xyZSi3Ue4kWbAiKyKLaVtZJJM5jl86+jCZOrTkRMV/TEofPzjH6elpYV7772XxsZG5s6dy7Jly9KJ1urr6x3C34UXXshTTz3FPffcwze+8Q2mTJnCs88+m65hDnDXXXcRiUT47Gc/S2dnJxdddBHLli1L1zAHePLJJ7njjjv4wAc+gKZpfPSjH+UnP/lJen15eTkvvfQSn//855k3bx7V1dXce++9p0WpNACXX6M7sqa81Y4l75Fo5RiELXc0zEWv/J7Xrr7NMXPsCReQPCbfcSVM2NZMuLKSqWu78F06not2FPHWOTHiLolbwNnVpWxsCadyXw4QCbW7MoPjiCMetkmnstXbR3b0bq2HUt7N+F0exux1Y7rBmxB2fLcL/LHjpGwfy2RKd3ITBKWdbmatcqN7JEm/xK0LpIBoqYUUtlU5WGXRWGsSKT+K690HezqjgGT2yIqe6zpCbGoOH/3OpeT85U/ik43pRYbcQZzrcdGJW27Cre2BmTOYZ9XygjUeUuNPQvPSpPmpya1VP+scOrInAbq/99n3QQSIyw9hirMopOTb9PV+wsPjRCoKPzWXsP+bVF5EzW9NRGJwnrFZEyqgJMqhiDNW87ndTVwzeQQet/N8gnFn8qyJhZQny6Io+Q7nv7yVt6/8VPoaRsuG8a7mQ3ozSnTNvtwtbUulyaiciRbJiAY3e0PmUU7kZV5+01/E35f+P64M17Nu5FSIp8wTlkVlm4eOcfaYOnmjh6TbJBnIfI6ly0V5eyNnv7GXqO9y3vmg83pmx3KOzwmxcZ89Dc/Ot9C5hPbh+RUWgIk73LiNrIRruY9AnnGsu5yxIJTqR55GQmCbh/XUbrovZD9mwULHIw1Kby3HPTpzvfxz/fjn+oksiyDeta+Va7yLspvHATc5Np8CnFFZTEQ3EYBbE7y0u5nugg9e4LLa4fi9o2DqDKyuDqxtmzi/wsMbqUfKF4KEn4yraYqZdZvwR6aCyARcuq13KE6+QiB8K7HScvpCS0qmv+MjENWwNDurdW9ZxF3Wm7jZz4Ur/oeVi/8xPfbkclZ1CZOmlUJWCEFMN6nrjBJww/pexsgz8VNb7mXs6iSh0ZJ2l87+aRa4YeIuF5oUaKagsrFnWEU+fGGd8vaemeM9uoY/5IynTZ8jcNXUUSQSCSq3x6k7x6IyuI8Re97EtCbi5U0m7wfhOZuDtTMZe2AbwUuu4lAogScJc9Z42Tddp2VCpn9Fbg0JxIy+BX+3gNkjyplYUUzHyg5o7aOxDFMkH8ZWgXzE3VegTZ1J8UfOBBM6H+yk+oiL6iMukq4NiMmTcF/7MUSFl8orvVTuT9KR0B27TFeIk5J5xS7GjR9FZ1zH2yYxX48Ti8G+WQYlfg9Th5Xgc2kw50uUvrqM+W88n95PV8VwIucspGL+Asr9WRM4E8G6wELGJcIvEG6BNCRWu4VrlD3AeFwuplRlhLAzh5UiU0p4d6lkKSXhpInfreHWBEdCCXa0hwglDSRQ6XMjga6EQcDt4txRFVRN9SKXZPbjm+9D36lTNdqNVt7HOJEqJTrM7WZYkS2DzR5ZTms0QbHXTanXjSUlWtY4UuXvOWmV28ZB1jvt97j5wERnan7dtAgmDQSw6lAbyQL1x5WHO7lm0gh8c+aj//UPGWv5tFmwZwcYOrhcYJrp8TU/2clEU/8K0F0mHmnhOvdCe1kiNVgVl9h/60nAIpo1BJV1kdlBLsnefe2sQC25rnij94jeK2tImPO6U908c72HtYt7T6RW2XmMJddOYYSUA5vqMk2Thx56iP/93/+lvr6eZNJ58drb23vZUtEXwWCQ8vJyurq6TroY8+ZVrawcZr9AxS0Q6auEyFFwzdM/QpOS7ZP/mT3z7WXChMv+6Gf1xxPEBzgbO3d4KePXv45861Vc138SbdY56XW6ZeEWIl0b+d0jnTSG41iAVehhLLj8D04BY82SuGPA640FL3op6q0mdz5OlCfCYCJTqVmFwCGMCxPdI2gdbREtlTTUmj2zv2dR7HExLOAlbpgYlsSjCZqi+Qfr8aU+5o2qRAiBYUnePtxGczT/oJ9VErdPqn1uLji4Ed5dBeGgI8MpAGdMw/3xWxFu+4PTHovzWr3TOn/9mTVpAQYgphv8bV9L+vfsv8OwrnwXYQC+p8VQclsZO2Ih9nfF0PM8x34NJleVMKLYT7nP7RBK9Ead8H8ewwSGD4RfUPTBIrxTbCHo1f0tdORYGQRw9aTh+DyZD/SyvU1EuwVkCZc+40UrxK9TRvDKFXjYhADeuvZW2kt6iV2WcMkfvT2y5hbL75PkInStZ+nPcLnFu4uSg59wTErOfuPPrL/4I6DZbsrn/83Pux+IEx5G+rYLabFw+1v4tk5j/5Qa9uZkKh67U6N1rEVxUuPiBSMc91MaOskffp9o8v+y6pokiTyTm74oXPhXP81jTbtUVzcm9jn39vilxj6X9S4B/s7zN3zVnuHB3ubyZ+xnOWA9gislXIbFV0EEnGPZUY5r7lo3RVcW4RqZ/8ZIKYm9HEPqkqKrihBaYccIJQzWN3Xhd2vMHF5KkSe/zSKaNAgmdIbF3HQ+0cWaRTrJAPhcggVjKhkW8JL45X8Sa7khvU2R9UM04oQmnMFrFyzNf17hLua99xKl7QlM/RakcPXjOSIpsh5CS8WiJmrP5JXzP4yR8+6XeV18YOJwxxiUy6pDbTTmTKQtPbMmr+IS0006EjrDoy4iv4tAESS7TFYuTfR7P2c27mL467Pytov7Ld6+JtkjediVtcMp9fa8FzKZQHZ2QFm5ndDq1WWQTOJefC2iqIRQ0sBjgPHXOFq1xntnRAklTaZVFTM5pWiG4klePtCGBAIujXHlAQJuFxPKA7hzJjmMNoPQz3sqS/5LgmgBF55RLrRxo5BS5r3W8XVxYi/GECMEbw5/k6uuvcoRsqibFs/vyeQpGlXs5fwxVRwJJwh4NCrzKJf9IaWFEBrS0BHuoXcJ7u3anMqYlqQ9nsTn0vBh8cIbb1N5xlloQtDWi5X9I1NHof/ladjwDgDijq8jf/5928W9qBhiUQw5irj2aV79WCqHTNbYitRB2Pfz1aXxdOnQs16FUckAFV+swIiEkT+0vZvFnHORe3ZAJExY/DNvXANm6psw9Q0Y3egHaVEi/63g847xSUzNmWHS0iSvfyTRY/7VJeC85zz4Y9l5e+zx/43r4+nJ3myEBVPqEsy8emLBfTqe6LrOiy++yNVXX00sFjvuutqALeb33Xcfv/rVr/jqV7/KPffcwze/+U3279/Ps88+y7333ns8+qgYYjzDRVqTGWyl/PKxFbg++xXkE79g/D6DWLmXSKlk+jsePJd4mDXSy7uNwf53lEIAk6pKkFdcDQuvQPid1iRP1gdXCMF5oysBewb13YYODof7j8itCiUApzI1Za2HjVf0U0bBYmBKud3JgbUH26VO9MyOfMLILRHSjXThSdpuqACTjnjpPEdgTHIRNAxao0l0y2J8WYDJlcUUe1w9PuSHgzHWHOnssev6UIKmaDOTKwPsaov0EFDBvhpX1g6nxOtGSsn2liA7OvJn2Cz1aFwycThMXAQX27VerUMHIJlANhxEDBuOmDbL0b+qgJ+MndBm5cEWLh6fyUr9To5b/bBobzMTBd47P5TfXo5WqjGrrIJZKc+BuGHSHIrx3tur+OAVlxHw9S7YeWo8+C73kXi1kGj0biSe2S6KlpSi+Xve78snDuelPY2ETZm1Bby4r4XrpoxE0zSklBmlHBAGBSnl7uoGAnPaIDocYuejnbeQy0aO5k+9hSOAUykHEAJD1jgSv2VT0qUxe6WbTZcU5n5cKOWaYNt5i9OzQ2ev8HJgim4r5ZA+1uxVuynrjBCT42ge1/O+jKx3M2WjBl7Qznd2ULg9eD64BPniQRLFI3tsCzB6jy0kVTYJpxLuwrZe9uYtILqbdTh+5yIphrTVJ/XsObxCeruoMTxFm3BNOQvX1FFE/hABC0S1oGRpCe5RfYssQgiKrhx45rBSn5tLxvdfIqTI66bI64ZSqPp0JUuCFp5ap2Tp+9ztJH52AKuzHI94E23SeMTEM6i84FIqDnXSmbKMVvtctCZMfOFOFr76DMUR23wlq58g1H5r34q5S+D56tfB50OEQ7jLKviwEMQNewLH57Ktwr1aBbO4YEwVb9S30Zby6Dh7ZFmv2wU8LgIeF5RAxVcrMsv3NBIze5/Z9miC2oULCb/RisMVtxTKv1CO968xPtDip73aZKcVQRRpTK4qyauUAwivDzEik1hXu/ojjvWlXrf92P2DrYFckqfOfanfy5W1w4kZJtUBb59Ko3uYG3etG6POVrbck9wUXVOEq6LS2a9e9uE/x49vtg/d0rH+1nNa2OPS+P/t3Xl8VNXdP/DPXWZfsu8hYQ97QCgQQRbZRERFWpXiUmtrVVyhav3Vnce61KpPFXcf8ekj2tqqVSpqQEBRFg0CsoiILLIkAZKQPbOd3x+T3JmbmUwmkJ3P+/Xixcy9Z+6cmZO593zv2cZnxGFz0Un0cFowOMlf4U93RLhz3YyGpdw6Q1AONP3ddGWKLCGpvuXe7XZDqS7D+Mw4GAwGCCGwam8hyhuNilr/03GMPv9i+OoDc/HvvwfGndv8q3HINfVN2WG/ssC1zFgJuOqHlh7tBaQfre/F8I/XA8nPPR84dACoqgTgg9cYeL2jPGjsYQv4pNBWKNknYcRqFd9M9mhZjDOryMuIhyu1Ct59QV+EJAGiEv2/MmHX2aGTIMlugR771iL8mnbdX4sD8zfeeAMvv/wyZs2ahQceeADz5s1Dnz59MGzYMGzYsAG33HJLW+STOpAIrmPVk7weCPn0JuCIMyqIs1kAWwZw139B/ls5+m8JdKu0T7TDJkSLAvOeTv+FTJIkwNz8JBkNZEnCmIx4VLs9+CioRTOcUQPT4f6kSjfHUfxxBbLLHXG24PijzX9Xaj8Vnj1h7rQqgOMaB+o21cG1wwW1twr7ZXbUrKtB3ZpGFfeg7s/maWZ49nvg2e/RR4ztwQxA8Y8ZFrVCW2dEyVZgm2OD4lCaWfgjVIbTgnGKhC8OhY4br/P6sPN4mDU4ARhl4IJ+gdnFJUnCoOQYZMda8cWhUlS6/ZmTAYxOj0W6I/RvR87M9j/o3XT34Jl9k/H+D4FVHI7VeOFyu2Gsbx0JvosuAbBfbkfl306xtdoMOG90QraFBrNmVUGa3QTFVQM1ilZD63grjDlGVK+ohvegN3TG3CDGEUaYJ5ihOCM3J0/vm4r3dx/VzQguAOTvO4YZfVKwo7hMl37ggQiXIxWQ41wwjbPBPDTcFNfA9Ox4fHIgtMeWvYmfsweDIZAYfif8EyGdbbLiS5f+/GNXZZgNCo7XtOwH5R/xLMFTP76339YiKL4s/JgbVDERwNgPjbBU5aIGufCoAhVxoYVRGeuDs1QGXOELSho8HJVfrQak0MDcUAtkf+f/rg1uGY5SCRVBk295DEDqj24U9g7XlAF4ZQHJdyzwoYLy3sCHOACFEFBDh2M00Vpunm6GeXgsJFNgrL16qwpfqQ9KhhJ163d7URIUKAmhvwFJkuC8MRuiSkB2Xqjbd27PRByrqoXDZIBZVeD1CYhCH0RSEmCzANXVkC66FIXvFSK9ND3k2A3sl9khW+vLJyYQHJqDhopE+21JkoSJ2U3/DqIxISsRn+w7FnLaUCUgN9mJWLMRBlWF2tcAzw+B/bG3xkKSJNgu8o/ddwLoifbrMWg3qrA3EfyHpL3cjpr8Gkg2CeZzzC0ONCVVguRu+jXJdjPOs596IE6diyRJmNInFSt/LEJFUEvB0Wo3FIPJP4Gd1xtYGxwA0jKBY4VAzWE0fREO/A0lHgGO1FeiTiYDikuB5/BB4GD92C1VheqMgcdig8AxAF7dkBdLTTNdwoxGwBXaS1HobnQF7uzGnlAx/t8K3KO3Imb8Odpvy3C5DeWPlGvpJRyDkJKRegio3QrsG6ZfXtBrkvBV3hhMjZy7bqvFgXlhYSGGDh0KALDb7Th50n9n54ILLsC9997burmjTsHrC73D21RQ7jBIGJYUgy+OlIU9VobNiBM1LvSJsyEnUX8BNuWaUL3f34Jpvcj/w5ckCZkOEw5V6IPPtP27cDQrJ2Rc3ZDk07uoWw0qFAlo6uZ/v1gL7A4jKvrWhQTQY36wYP2gppdS6HfUjMgRj7/CBQ9Qu6kWtV/UAnWAnCTDOt0KNU2FepEK64VWrVJgGWeBd58XngOhwbxprAmWsRZgbGCbEAK+Ez74qn1wbXb5uyGnS/h629cYc8EY4EegbmcdJK8EoQj4jvkgqqIfSiCZJBhHGGHoY4DaS9VVXoQQ/h7up1nBTrGZ0S/Wij1l0a0naZKBWUFBeTCb0YDpvZMhhIBXiJAujC2lKgpy4m3YXRK4QfCfH49jTk4ajlfrJw47OyMWBrsBSoYC7+GWTZ2vZCiwX2GHbDy9/AZTk1Q4r3JCeAS8RV6IWgGllwJUAnXb6gAvYBxiDBuMNGV2/1T8+/tC3dCBKo8vbFf3/lMTUO2qhnt7IOCVE2U4rnFAMkrN/t3YzSYMTLBj14mgGx1C4KzPws+m7JUGQLeedpiAMaWnFdPdJuwtrYQMICvGhhizPyA6XFGNjUdOojm9nGak2M3YcbwCFS5/Oeck2NFvSBU2JLp0Xf967lC1pbYAoDgztGsgAJxM8CF9X0O2Q7uISqqKsgGxYfOTclDfTTrpJxkV8V7t83vMgLPEguIeHvjCxOY1dh8cZWHudojghwn1/0d3c1TppcAyJszNMLsM2d71FnaWFAmSM/zfa5ItEHwpsgSkZwBX36Btc7vd+CHjG6R70yEZJZgnm1HzduC6EvP7GMiWzvWd2IwqLuqfCpfXB0WSsOFIKSpcHoxOi0WiNfD7s06NRfkP/gq6FC91qVZUSfUP1yGKliRJmJCdhP/s1S+5vPlICYZm9wF+/B7wBa790tiJwMbPIB89HOmo2qPkwzKODPFfXYUJwJFNEJv/E0h54WX+B/Vj8yV4tW7wEEFLiIZjMIQNyv2CWqAaDXsyuICkiRMgKYFjK6ri7yhT58+FQKAXYc/dBsQdU7B9kguuoMtxWuxpzNbcxbU4MM/MzMTRo0eRlZWFPn364JNPPsFZZ52Fr776KuzyX9T1uXdsA3oOCmxoosVDBjClVwpkScL0nio2HPa3RA5NcSDGaITdqOju6DdmHGxE7YZaSEYJxiGBH/7o9HgMdnmgyP7xw2ZVhpxsRNH/voz1jdaBNSjRBw1NGZBgw44wLa8Og6x1FTaNMOkCc+NII2JnWjG6wohNR0Mr64kWA1IvcaB6eTU834Ufe2QcUd+dzuAPuM1nh78rH7xNkiXYf2mHa6cLdV/VQbJIMOeZIdtlKEnhW3OURAUKFBiy/Cdot9uN0v2lkO0yDCMNMI3U/45du12oWVUD34nwI7PVPioMPQ1Qs1QoSQokU/jKlhS8DMlpGpLsxLGaOpTVRQ5oTRJwft/UiGka8qa2UiVxcJJTF5gLAD+UVGDHMX3LeIrdH4jY59tx8omT0Q18lwDbz20wDmi7hZwlVYKaEXRpcAKW8dH3PtEdS5JwYf9UvPd9oW5746A80axANsmwz7FDXCBQt8U/KZwp16TNkBuNgYkOyAB2nqiEKgHjThyD5MtqInONZthuXP6yP/92o4rcMJMLZjisGJUq8HUzPXr2lddiX3ngpsygRDsGJDjgirXiuBqosGXvqkHPnQ3vIyDbPDjUROeMwCSKEjxHPDBkhEbQx5LC/90nH9AHdakHVOwb4oVQAp9//0APYo57UZoWeg6pjBFIKQvTy8MX/DC2/v8wLYBhfmen0v28W5MB+412bRyydJmE2jW1sM6wdrqgvIEsSdr1/Zwe4YcFKEkKLDMt8BZ6YZ7E1mHq/kyqghm9kvDxvsDNzP0VdRg26+cQz+jHdatpGfD26AWx9ev6uXrqNdE24qhU0bB0JSRAKfw8sHPgMKgN8ytpY6FbMLt8Uhpw5GDIZh9k6OcOkvQxgeTTBeUNLLMtqPln+IarmBIZk3omYuWh49pl5ITSdnWczq7FgfmcOXOwatUqjBkzBjfffDOuuOIKvPrqqzh48CBuv/32tsgjdbCEnw4A2YMCQVXjHyKAZIsBZ/dI0Mam2U0GTO2dHOZoTZMUCTHXhZ9Bzda4u1lcAhLT05FYdADHU3sCAIYkNr+UTTT6xzvCBuZTewU+j6G/AbbLbfAe90KJVWAc6D+JZDqt2HmiEpWuQMBoVCSMzYiHoshw/MJ/F9D1gwue/R5INgm1a2shqVJIi1G0rQmSKsE0zATTsLa5MWbMMcKYY4TwCLi2ulBbUAvhEjCfZYZxmLFDWrQkScKErCR8fbQERyrD39W1KMC03qkd0iozJTsBqw6c0J5vaxSUB1+2ZJMM+zV2VC2rgqiJ0DtBARy/dkBN7VKLaUCWJJzXKxEf7Wt6WuOxmYGKvGSQYP7ZqVfacxIdyEn0/85Ev1Sc/PQwhAh3boj8dyHZmv+7yYqxobDKhUNRLqOWZDViQIIDPp8P+fuOaVmwlEvouV2GJIrru59LKDPIqIoNf+Op1hb4O6nbXhcSmPuEQHm4y7uAvwt8EFMtkLFXwaH+gVZzlw3IPrwXpWmhdwYqnd6w35yi65Ff//0jihkxVUBN6Vp/0+3N1N8EU//u0fBhHsWAnM4sNqOKs5Js2HwsUK/0OGKhNHRnB7T6tDRgCLD8bUQTRCte/RwhKup7o0ycAXXSdC2dFBNfn8zb3GWv/sAKUNSo1d7uAFIz4PuhMkwwHpSuiXjaPNCMGqVGG9IYTO2vwm4zYFiKE1uK/J+hwt2yXoTdSYuvho8++qj2+LLLLkNWVhbWr1+Pfv36Yfbs2a2aOeocRLglm4KCncYzT7cXwy+uwgQA24r9LdT9E1pnbJokSegfZ8X3QRODnZMRq2+pliT/DNRh1o8enxGnC0ImZyXCqOgrw8a+Rhj7+s9g5p+ZAcl/Y6Izk1QJppGmkBb1jqLKEsZmJKDa7cWu4+Uoq3HBJfyzufeOtSHdYY5q8qO2EGM2wiQBdU3E2dN66sd0GtINiFkYg+qPquHa5vIHhSZAHBeA6u9Cbpls6bStZc2xGg0YGGfGrtLQADbLYYKxFXq6hCNJEgwjY+D6uuXr0CoZ0eVpdHocUk5WoSBCy7lFlZFqM2F4SgxqPB6s3HcM7oamAQEMWW+ALExQxD54pRQICOwY59b2N65MuU0CPklAFhLcO9zADP3+k3WesI0shjqEmVRMQtZ3XhzuC4ig4QKV1vDN9ZX1rfVuxaC7DihBX3HDGETRMF64oRIXpreVktk2ZU9E1Fn0jHfqAvP1Px3DObN/AdGwpnn9JLOyzQ6vqgJeD7Rb+E3UI3TncgmAzQHldwshOxrVheMbbnxHOS9KQjJQ3Ggy1TETIA8dAd/Tn4SmD7pGyfFNTzZom29D1f+GNnpZZ/uvF71irNheXAGPEIgxdY5JCzvCad+mzsvLQ15eXmvkhTopny22ybts4zNiOnyc2LDkKFplWmhIcgxUScKRqjoMT3Ei3hJ9MGo1GjA6LRbfHivH8GRnaGt/I5LauQPyzs5qUDAyLa75hO1seu9kfNBobFkDa5iLjiRLsJ1vg+381un50dnkJMXiUIV+IhyLIrV52RkHm+H6OooJ9hoFjQ29YKKRHWMDhISCovBjzms8PpTWurFibzFqvfoxC322n4D9ZAYAwCsPBYQLe3Ml1NqgD8p1LRQSam0C1koJCDMHRGlt+F4kzhPhb+yYas1IOeBCYS+f9p7HkuDvnt7oJdX1db4qh77cDMFvKZkBEV2LuWHomVsBI6Izh0OVtOtfqVtAzf0ZPAYDcLIcythzAglj4iGVuNFcYN6YcuOdkK2hw4KkeP9ySpKI8gb1idA5RJTR4yAbTfDJ9T1Hm1hlQ+3RdH3XmG2Ea5gL7m2BGwSmSSYoVqX+MBIGJtqxp6QKPZynNnyuOzilwHz37t145plnsGvXLgDAwIEDcfPNNyMnJ6dVM0edg8/SdKCQbO++YwMHJDkx4BSXh8t0WpB5Bp9YCDCoCnJirdjdaJK6mb1ObwbkrkqWJEzulYKdx8vx08lqpNhMGJEa1+Y39tRMFZK5fmWASBrlw9CvZQFjdqwVP5RW4aQrfOWnLMy6tsOTncgofx/V4ueAJONIL4EjfTyoiK+PhiMsZ1/l9DW5/OKx6vooudHNhsQjgfRKXwXeHwLdBXvsBgp7BY7hMQGKxwuvrG/Rdpn932NlSGAeNNEjDPX/1y+YG3RDobHu0kWbiCiSCdmJ+M9efdCrDhoekk7qk4Pak3X+G5xAdPPPAGGDcgCQnA03SJtoMZck+IQEueEOgLfRtUqWIRv952mfKaN+Ejcg3AXKMDDyddN+kR2eiR7UbayDIccAY0/9DfA+cTb0ibN1WG/HzqDF/SL/9a9/YciQISgoKEBubi5yc3OxefNmDBkyBP/617/aIo/UwUQTkwiNSY9t34wQdTGDU2KQWz/3gQzg3B5xsBjP3BZCVZYwLDkGs/qlYVR6vH9W6jYmyRJMY1oe/Mmmlg8bOLdnIuyG5rtmKxJwdkYcesfZoF5yKVTxBUqSvdg9KjgoF/ortKivNNX/Vx60xJnw6W86lNSEaTEXQOp+/wGVDAX2i+0InjTdXm5EXKGsX7YmzGSdov52fnlMo+EYNcFl6U8kGk+w15gMyNauOTyDiKglTKq+LbTGHf4mrjxqLA5nBKJxU/OLfzTzxg3zOrgijDGP0JAUFAMIY+TWKkOP5us3aqwK2wxbSFAO+G/gn8lBOXAKLeZ33nkn7r77bjz00EO67ffffz/uvPNOzJ07t9UyR52DcNaPT2l0cywjzFrPRKTXJ8GJPq00/wGdGtNIE2rXRjdBGwDgFO+dSJKEvIw45O8PnehOBjA4yYEEixEOowpD/bwTSmwchGMbto8bFdI90FIO1NT/6chuF3wms3YOrohz12dUQt3eOpj7+StfXp9AjSe0icVcCcjC/57GYUbIFhnmcWbUrgx8L1nfKShN9TW58oY/X/7/SuP1N2zNugl3/QG9fr3bMIeKObMrYER05vrmyAmcnZ0Ssl1OSkVR78Dwq5T9QTsbn5eD6uU+nw9ymCVfJUkCFAWSt+kx5j6YISOod5/RBLj8TeNS3oTA2+kuo6Hzhpzucrh0Ci3mR48exVVXXRWy/YorrsDRo0fDvIK6Oo87NKjgsGgi6ipkmwzDkOijbTnu1FtxHSYDesWE3rT0AThSUYsYkwFqUOXl2+JyrDz/1/AaJP1YQq8PsUWBfMSUFumOV+MIVLLq1mt9C1FWF1T5CqowJRwNHKthOUrzSDMkeyBNXLEMc6XUdFBeTwCoduq7slsqgl8j16eL3FPBkH3m9h4hojNPhjlwHi6sbbqPem1MoDU5LXTVsoCGQ0jAiarqptMZjNCWVgsjZD4QY+DcrQwe4U8jROT54xgXtIoW1z4mTZqEzz//PGT7unXrcM4554R5BXV1Xl/o2MxMB8cFElHXYZkQfQ8fQ6/TCxhHpMbCooZeXk/UuvHvPYX4YE8R1h48jnd3H8We0qqwy870+MGAsuRAxS3t0A+6Y7ksgQ5vvsOBdGG7sQNI3e9PL9kkyPWVQ8kowXZxoLu5BAkp9eucy54mlquRJNSZrKgz6VvDbRW6RACaD8zVHC6TRkRnjpGZUc4xYwjMM2LxNn0elYNi8eCVhEKYTJACg8NDaPOBAEC/gUBV/QldNUCq74LvK2tmsPuZu/R4q4rqqvj+++9rjy+88ELcddddKCgowNixYwEAGzZswNtvv40HH3ywbXJJHcsph0w+kRNvD5+WiKgTUhIUGIca4fq2iVYDBdoaq8ahp1/DmNYrCcv3FIWdt8cjBE7U6JseFK8bSYdKkbk7E1VOgfhCCT/1q8+QEIivLNWl9ykK3AYfDG4ZCJrpvqiqvvuh1wehBCp3zjL/Y7Wn/rJv6GWAYZhBmyk39aCCA4O98IUZX96gIiYBotESd6bq4BsRDXcYIlcxDJlsMSeiM4ca9dKggXShS1wGpBwCjg7yPz5eE2Htb7MVONl0i7kPQTdop1wAscc/uTeyemrbPT+FGRMflDXZwflCWkNUgfnFF18csu25557Dc889p9u2YMECXH/99a2SMeo8XIfcQDp0y/bYTLw1RkRdi/UCK1x7XUDjhgUZWlAOCVBST39tbVWWMbtvMpbvLYa3Pm42SBKEBHga9ULKcpqRm5gI8fZzqJIWwVGmoqiHV+vTZqythtUSes6tdgjElOi3Ncz+bqgDXPWN2lJQfc18thmNWc+14uQ2/wxD1goZKQdkFGU33TpyMjY5pLu70R2uUha5isGJ34iIwojyEpT2k4yjg/zn6ghhOSSbPWKLOYLmAxGrP9Qey1NmaY+9R8K9Q+A6oKSd/nWTogzMfb4o5+qnbulEQqMfI8eREFEXJKkSYm6MgWuHC65DLni/rT+3BV3ilAyl1ZZwUxQFs/r4g3OfANxCIC81FrU+gQqXBxZVhkVVkOEwQ5IkuC0GKLU74cUwHMsMtE4kFe6HObtnyEQ75fEexJQoACR4yjwQThmu+nXSZU8g6DU13IgwAGpq6GVfdsgwDDTAvcvfaj5gkwFV9hpUJoQPnE/GJUF3IRCAHHyZkCT4hAxd7bLxhHKMyYnoDNfUhG3RslUZgIgBdz2HAxJqmtwtFHsgst+9w/+/JEFJ76Gl8RRHXgfdOJANdq2hRX8NbrcbU6ZMwZ49e9oqP9QJhS5pxMiciLom2SLDPMoM29TwS3nZ5jSzxFcLqYqCSVkJ2vMNR8uQZjNhWLIT/eLtyHRaAjcCBufCILbCJwkcSwu0qvfduQlyzpBAYFu/qyI+sI5O5b8qURo0vlwEnaYdJf4nDZO+hWOZFBiDLwsJKT81nfZkXEpIi3lod0tb5Enk2IudiM5wxyqbDpajoXoaTRraBMkZBwlBU6o3fo0tASH6DtA9FWWR30jpwxbz1tCiwNxgMGDbtm1tlRfqpDLd+goaw3Ii6uoUuwK5h/4SaBhhgBLb+pWLWLMRTmP92t4APvqxWGvZDiafex4UHEB50l6tP5vs9cBZcQJSSlpI+uqYOm19c3FEoLiqPjAXgDso8I0rkgEIWCY3PQGekqjAMLj+RUIgrrjp6kGVI67JfQ28xmT9hkZBumxnkzkRnXligs7N3xaVn97BRBRROQDExQNoeslQYU8EYvTndfWCn+ue+yoj955WIsxLQtFr8ZXxiiuuwKuvvtoWeaFOyuTV/9i4TCERdQeOXzjQsEqMkq3ANqt1W8uDTcpK0M6dPgD/+aEIm46UosrlhsvrQ1FVHXZV+vDprGvxzaRM7XXpB3YBsXGQpNDLdY3dieCmj+Jyf+uLqRrwGQLbEwplwOBfNi4S60yr/86rJMFRVgSEWZEDAKA0PwrOZ+sRcb8cz8CciM48I5MDSxCXn+5I4SiHXUkJyZAjdGWXYILy8yu0576f/Rx1u8zwHvf3b/fV+JoZxB5VNigKLV6rxOPx4H/+53+wcuVKjBw5EjabviLz5JNPtlrmqHMQHoGcjSp2j/YAEmBWWKEioq5PtsmIuyUOwi0gGdq2ZqEqMs7rnYxPfiyGR/jD6UMVtThU0agVI7g1WggM3Po55MnTwx7TYzChxnoIlposCAiU13kBVULMcRnFWfU1PgGY6xQoGc23ZsgWGWofFZ4fPADSYKiphTuaexVh4nefrRdwMnS79l6pvI4Q0Zkn1m4DcJot5S2VmAxE6MoufDLkzJ6Qbv0jXLtqUL3SCqAGNVIN7JfZITzNtMxz5ctW0+Kvcvv27TjrrLMAAN9//71uX2tNmEOdizj4IxKOJGt3xGJM/AUSUffR1kF5A7Oq4IK+KVh3qATHGy2XFk76we9gTkyEPHo8AECRoM3w3jCZWmG/E+i1LQs1dgGf6v8cCYd9KM7SH8swKLpB3bY5Npx8+iTgBhylQMkpdiIQIj7ifjWZ1xEiooii6aku0GyLtWSxIlJXdtTP6ybFxqN2y0loM6IKoPLtSijJkW/sSlbGf62lxVfG1atXt0U+qBOTTHUoygz0t0m3hy63Q0REzZNlGROyEgEAB09W45uicoj62pdBlmEzKKiproGxugIjHCrUaxZoN71Nsozq+rHppkoJdQ7gWHoKem0VOJ4e6GdoqKsAJIf/ScNSbenRBeayWUbMbTGo+/wYEko2oSRzdPMvCtcd0xX5OiEns8WciOi0+aANTK5xuWAxhk7cKUkSoKpByx7r9ze0iPsqffAdb3RC9wLeo5H6sfvnKKHWcVq3rA8dOgQAyMzMbCYldWVy30E4dqJUe55iN3VgboiIuoesGCuyYqxh9wkhQnqh2YwKqmt8gAQ4i4FjDqDKGQevXIdjGf60hjqgxhGHhiaQhmXM5KToA2HZLMM8NRnOv1dElz5Mnc3nityCojrZYk5EFFE0LeZuaNHcnpJKDEsN31upwhEbeNL4Zmr9Odz9Y6Anl+MGB6rerIKvrPmB8Gp/ns9bS4tvWft8Pjz00EOIiYlBdnY2srOzERsbi8WLF3O9825KEjKqYwLPTSp/gEREbSnc0LAEc+Dca9Tm8ZFQmn4CFfH+GlzMMRnVzkBtzlAHQPJCtrTsci9JEuwpqVGlVcM1prjCbAvG5dKIiEKI4JnWowjMnccDj38qb3pN87LkQCOq1GgklagfI+U5WN+n3QhUvR1dUA4AhoE8obeWFkdYf/zjH/Hqq6/i0Ucfxbhx4wAA69atwwMPPIDa2lo8/PDDrZ5J6ljCK+Dhb46IqEPFWUxAqT8id9dPoC4AbM+Lh6iPu9N+VPBTv0Cty1ouQbY2P549HMfAQREncGughDu8J/JrOCcNEVGokqrA7OlSczc4AaT/CJTXL4JRFyGQL0vK0B4bqhvtrI+/vUX+u6ySUQrt0h6BamODXWtp8Tf5+uuv45VXXsGFF16obRs2bBgyMjJw4403MjDvhoRPnELfCiIiak12Y+CSXe0E7D4ZFbIPon4dNmu5hPhiGXtGBF4TXyhBjotyrdtGjKnpkEoPQciRxw8awnVbZwc6IqJmubw+GINWO/rhRGDGdvux5l8fW2lE812UgJPORO2xrbLRzvpLhO+k/8Qtqk7tmkGnr8XhVklJCQYMGBCyfcCAASgpKWmVTDX1vvPnz4fT6URsbCyuvfZaVFY2/svSq62txYIFC5CQkAC73Y65c+eiqKhIl+bgwYOYNWsWrFYrkpOTcccdd8DjCdzqf+eddzBt2jQkJSXB6XQiLy8PH3/8se4YDzzwACRJ0v0L9x11VXXeQD9FtnEQEXUMiyEQILssQPrJwBnZXCkwcpURsheoDZp3LfGIAiXh1FszDKL5CpqhNsyVIdLLeKOXiM5gwWfMQyX6bknFtYGTZ+be5o9lckdXM6+2BJbYcJQ22tkwCXvDe0c6fzd+OzaWt6oWXx5zc3Px7LPPhmx/9tlnkZub2yqZCmf+/PnYsWMH8vPzsXz5cnz22We47rrrIr7m9ttvxwcffIC3334ba9euxZEjR3DJJZdo+71eL2bNmgWXy4Uvv/wSr7/+OpYuXYr77rtPS/PZZ59h2rRp+PDDD1FQUIDJkydj9uzZ+Oabb3TvNXjwYBw9elT7t27dutb9AjrQd45a7YfoMLBGRUTUEVQ5cP71GIH0/R70dFqQbDVivCEOqlsCJAloiN8FYK1WICdbTvk97dbmJ/s01TSXolEtjxP4EtEZLMMciG53l+qXMQseGZRQ0vw4UjnKJjOPIXAsZ+OWeFHfOzby5Ota2mCSjU12ranF9zkef/xxzJo1CytXrkReXh4AYP369fjpp5/w4YcftnoGAWDXrl346KOP8NVXX2HUqFEAgGeeeQbnn38+nnjiCaSnp4e85uTJk3j11VexbNkynHvuuQCA1157DQMHDsSGDRswduxYfPLJJ9i5cydWrlyJlJQUDB8+HIsXL8Zdd92FBx54AEajEU8//bTuuH/605/w73//Gx988AFGjAj0F1RVFamp0U2U09XUqT5tvGC/2PAzCBMRUfvxyYBS4sVZabEAAJEpUHXAC/cWd0iLhpJ46itpxFtMKKlrPCBRz1LRXMVMv18ysiJHRGeuIalxOLTf38u4pqnWaQEYfM3fxZQM0Z1PRVDI56xWGu/UurG3lJLBO62tqcWB+cSJE/H9999jyZIl+O677wAAl1xyCW688cawAXJrWL9+PWJjY7WgHACmTp0KWZaxceNGzJkzJ+Q1BQUFcLvdmDp1qrZtwIAByMrKwvr16zF27FisX78eQ4cORUpKipZmxowZuOGGG7Bjxw5d4N3A5/OhoqIC8fH65Qj27NmD9PR0mM1m5OXl4ZFHHkFWVlaTn6murg51dYHZE8vL/WNK3G433O5Tm6inrZjMClDpAYRAoknudPmj09NQnizX7oXl2s3JgK9K0pWv6TwTvGMVoETfAuOz+07578AeRS8pW3mzSfSM/LtsCn+33RfLtvtqadkaZP15Nezror1/2WjZ8mjyYHQ3Cv8E4DocxUxzYShDlG79Nx1ctu3xOU9pZEB6enq7TvJWWFiI5ORk3TZVVREfH4/CwsImX2M0GhEbG6vbnpKSor2msLBQF5Q37G/YF84TTzyByspKXHrppdq2MWPGYOnSpcjJycHRo0fx4IMP4pxzzsH27dvhcDjCHueRRx7Bgw8+GLL9k08+gdXauVqlfWY7kOi/6bJy5VcdnBtqK/n5+R2dBWoDLNdupv8ooL5S562TQnqq+awxQFYOAECq75b48fqPIeRTm8xHWOxA9qCIaUxVLTtmaV0p1n649pTyc6bg77b7Ytl2Xy0q25yf+Yce+Xz683jDOT6K+T0AoKy2DPAZtNc02Xu530hAUQABSI2ifgGB7778Dj3REwICEiTt/3A88ECFCgGB/J35wHdRZbVLy8/PR3V15N5jraHFgflHH30Eu92O8ePHAwCWLFmCl19+GYMGDcKSJUsQFxcX9bH+8Ic/4LHHHouYZteuXS3NYptZtmwZHnzwQfz73//W3SiYOXOm9njYsGEYM2YMsrOz8Y9//APXXntt2GPdfffdWLhwofa8vLwcPXr0wPTp0+F0OtvuQ5wit9uN/Px8TJs2DQYD107rTli23RPLtXv64MfAorWyMOH888/X7f++tBq7S/2VB9UNQK7DzAtm4lTVenzIPxh5Ylez0rKqRELPhJB8kx9/t90Xy7b7OpWy1c7lsqw7H2rbo1xSMi4zDpCrtdfMnDkz7HKUwdeOxiRI6JvcF54ijxaMNxWUA4BqUoE6/7KX51/Qvc/lwWVbU9PshCqnrcWB+R133KEF099++y0WLlyIRYsWYfXq1Vi4cCFee+21qI+1aNEi/OpXv4qYpnfv3khNTUVxcbFuu8fjQUlJSZPjulNTU+FyuVBWVqZrNS8qKtJek5qaik2bNule1zBre+PjvvXWW/jNb36Dt99+W9c9PpzY2Fj0798fP/zwQ5NpTCYTTKbQcX8Gg6FTn7A7e/7o1LFsuyeWa/ciS4BPa0hRoEoqJDVQgar2BMYJWioA2VR3WuWvqlHMyq7KEBGn8W2UPoF/k83h77b7Ytl2X6datk2+RkazS0+qcfpQrtrtQaztFHretqQxuH4krmSWzpi/ZYPBoFu1q620ODDft28fBg3yd2v717/+hdmzZ+NPf/oTNm/e3OI74ElJSUhKSmo2XV5eHsrKylBQUICRI0cCAD799FP4fD6MGTMm7GtGjhwJg8GAVatWYe7cuQCA3bt34+DBg9qkdXl5eXj44YdRXFystYDn5+fD6XRqnxEA3nzzTfz617/GW2+9hVmzZjWb38rKSuzduxdXXnlls2mJiIiiZVJk1Hh8gAT4ZAFfpQ9KbGDynQpXoOIQVyRDjjm9BcUlSYIiAd4IcbdsleEtjWY63/r0iVzdg4ioWSqaXaJciVdgQGA29+9KqzD2FAJzUd3MzVUTtIBce+/+nPittbX46mg0GrU+9itXrsT06dMBAPHx8doEZq1t4MCBOO+88/Db3/4WmzZtwhdffIGbbroJl19+uTbh3OHDhzFgwACtBTwmJgbXXnstFi5ciNWrV6OgoADXXHMN8vLyMHbsWADA9OnTMWjQIFx55ZXYunUrPv74Y9xzzz1YsGCB1pq9bNkyXHXVVfjLX/6CMWPGoLCwEIWFhTh5MrDu4O9//3usXbsW+/fvx5dffok5c+ZAURTMmzevTb4PIiI6M9kNgfvplTYPfOX6wLuyLhCYJx1WoMSf/iKzZiVy5Uu2tawqIScxMCciao5kar47u5KioIcj0AO3qOrUWnVFk9PD+1lmWEImpLOe07nmxOoOWnx1HD9+PBYuXIjFixdj06ZNWgvy999/j8zMzFbPYIM33ngDAwYMwJQpU3D++edj/PjxeOmll7T9brcbu3fv1g3Mf+qpp3DBBRdg7ty5mDBhAlJTU/HOO+9o+xVFwfLly6EoCvLy8nDFFVfgqquuwkMPPaSleemll+DxeLBgwQKkpaVp/2699VYtzaFDhzBv3jzk5OTg0ksvRUJCAjZs2BBVbwAiIqJoJVsDgXZxloC3SN9SrVXJBGAvlyGfxlJpDWLMkQNzyd6y5c+UGLayEBE1EE1M9BbNTU85WUYPp0V7Hn3fpUZ5qIscmBsHGWEaF3Q9sQBKHM/lra3Ft9KfffZZ3HjjjfjnP/+J559/HhkZGQCAFStW4Lzzzmv1DDaIj4/HsmXLmtzfs2fPkD9ss9mMJUuWYMmSJU2+Ljs7O+L662vWrGk2b2+99VazaYiIiE5XnMWMhsGAJxN98BbVATCHTStBgpx8+i0aCWYjjlSG708pAZAdLbvHH00rEBHRmaLa5YHNFDpWW46V4S2MHGorZgU2jzFimmgId4TAXAJkgwzrZCt8JT54Dnhgu9x22u9JoVocmGdlZWH58uUh25966qlWyRARERGF5zAGWihq7YBvb2DQX7hWFzk5fNDeEvYwFcYGEgA5poWBeZSzDRMRnQmOnKxCv+TYkHO4kqTA/V3za2eblFYYHhQp/g9qKLfPtZ/+e1GTTmnwmdfrxbvvvqstZTZw4EBcfPHFUNXTH8tGRERE4ZnVQGDuNkI3xrwyaOI3qX5za3QbtxmaPoYiS5CdHDNORNQSMQpwsj4YPlBRg37JsSivqdWlUdKiO3+3ys3OSBN8JvAc315aHEnv2LEDs2fPRlFREXJycgAAjz32GJKSkvDBBx9gyJAhrZ5JIiIi0lfAhAqImsDz0tpAy4rqAiS5GpIad9rvaTM0XVUwyBIkSwsqhWwsJyJCn1gbNp+oAgCU199T/fFEpbbfIvlnXO8MDL3OjCXROoMW3wL5zW9+gyFDhuDQoUPYvHkzNm/ejJ9++gnDhg3Ddddd1xZ5JCIiojCEJ3AZPxk0I7u5CpBMteFe0mKKLDUZTxtVGbK1BVUJNrwQESHdGTrM6HB14BzeK84CObbRCbNxnN5O51PDYAbm7aXFLeZbtmzB119/jbi4wF34uLg4PPzww/jZz37WqpkjIiKiCESgpnayLtBiHlcoQ4ltveZpoyKjzhu6JrpNVSFZW/A+rN8REcFoDJ2wLXiKzWyHBZIqQe2twvOjB0qqAm+ZVz8WvJ0a1NUkDlVuLy2+19K/f38UFRWFbC8uLkbfvn1bJVNEREQUnhIUBwsAvlp/wHyyNlCtS/lJhpJ++jP1NgiedC5YrEmFpEpRd1GXjOzLTkTUHIvZP+OabY4NprEm2ObYQoYNSYZTOJ9GXhUtLE7Y2X6iCszLy8u1f4888ghuueUW/POf/8ShQ4dw6NAh/POf/8Rtt92Gxx57rK3zS0REdEYzq/WVJAmoswhtOR1XQ4O2AGyVCtS+sa32nomWwLS8ceZA60msub4JPMoGlRaNRyciOsPJVhnWaVYoiQrk+EZhmyX8a1o3A+3wHqSJ6lIaGxurn3BGCFx66aXatobp/WfPng2v91SXticiIqLmxJsMqHL7W8dPJHkQs9cNQ0+DriFEEoCa3XrrzMYGBePlQWPZrUb/dskiRV4Htx5ncCciOjVqDxXevYE4S00OH8aV19TCaTn9pTIBQDLxZmp7iiowX716dVvng4iIiKKQYFLxU6U/MC9N88FzwANfo/VvJaUckim+1d4zJmgtc2/QWzWsn6skKPCUexq/LITUiuPeiYjOJIZ+BtStqdOeq4MDYZxVAqrrz83fnSjH6MxAYO7zBc0P0sKu7JKD5+z2FFVgPnHixKgOtn379tPKDBEREUUWbzEBqAYAVMYCvi1eVARN/CZ7AMVR1arvaW1iLXOD7K+0KakKPPuaD8zVBE4iRER0KtRE/fnT0Dtww7RXjAk7yvxBe1GVvvdyVdD1AaFzeEYU0n2e2tRpf9sVFRV46aWXMHr0aOTm5rZGnoiIiKgJVoMM1LeQ11kAUSdwrDIw8ZupBlDSW3f6c0mSYGhUY5ARmBRIjomuOiEnspJHRNRYjTuKHkeqvvVaMQVumPaIc2iP3dArrA5aOrPxzmYoqZ1jLfUzxSlfIT/77DNcffXVSEtLwxNPPIFzzz0XGzZsaM28ERERUSPBc774VACQUFxUrW2LP6LA0C+21d833qwP9m1BrejRjh1XElnJIyJq7Gh5dfOJANjm2gAJUAfoW88thqZ7I52oCty4NdY2mSwsQyvf5KXIWtSnrLCwEEuXLsWrr76K8vJyXHrppairq8N7772HQYMGtVUeiYiIKBzJ33J+3BfouthjN6BMS2j1t4q3mFBUHWhuSbQGlmNT06OrTsg2tpgTEQH+ZcgbztwHK6KLmI2DjDD0NQCN4uVIS5rpJuysaFke5Qyes9tT1N/27NmzkZOTg23btuHpp5/GkSNH8Mwzz7Rl3oiIiCicRpO9eRoaogVgdVVAtrZ+y3RwIA4AsebAc9khR3WrX5I5kRAREQCk2gLn0JK66Fe1koxSi9YWrwkaVx5zPOqXAQAUM3s5taeoW8xXrFiBW265BTfccAP69evXlnkiIiKiSLweQDYCkgS34tXdZjfEnwDQp9XfMt6sD8xTbPrnSg8F3n1cMpWIKBq9Y6w4HNTNvEGKMUzi0xB8Vo4r4c3RzizqFvN169ahoqICI0eOxJgxY/Dss8/i+PEW3nYhIiKi01cd6I94ONsN1Ne1ZA9gGNF665cHU2QJ/eL8x443G2BtNKbRPLqZdXNZHyQi0iTYTGG3D09r/aFIDWw1bAHvzKIOzMeOHYuXX34ZR48exe9+9zu89dZbSE9Ph8/nQ35+PioqWjhogYiIiE5N6VHt4U8DAy0uMSVlMIzs22ZvOyTJgSk9E5GXGbpGutpbjVyrYGBORKSR5fAnTJu5lZvMgxjlFkwvxhi+3bV4RL/NZsOvf/1rrFu3Dt9++y0WLVqERx99FMnJybjwwgvbIo9EREQURK4NzODrCepSPqBiLyRj+FaY1iBJEmJMBpiU0OqDrMownR3hvbmEORFRh2q85FpEPGe3u9Oaai8nJwePP/44Dh06hDfffLO18kREREQRhK1aCYGUCRPaOys61slWOBc6w+6TDGwyJyLqSJIx+vOwZOE5u721yhz4iqLg4osvxvvvv98ahyMiIqJmZDv03R1NigzZET4obk+KrYn+j5b2zQcR0ZnK7fGE3d6SwFx2cKm09sZvnIiIqAsaluSEMWj5sXDjvjsTVvKIiPRacxh38Bn2p7KqsGkkU/SBuZLAQebtjVdJIiKiLur8vikYmx6LGb2SEG9puwmDWswQukmOZZWDiCjYwAT9Khr9Y069a1F8UGv4/vLqsGlaFJinMTBvb7xKEhERdVGyJCHdYYHN2Llm6ZGsoZU/Nblz5ZGIqKP1jnfong9KiTnlY/WJDQT5J93h07Rk3LiayXN2e2NgTkRERK1KsoVW/uQ0VjmIiIKpsoTe9a3kgxMckKVTn3At1WnVHosm0rQkMJeTeM5ub13mGy8pKcH8+fPhdDoRGxuLa6+9FpWVlRFfU1tbiwULFiAhIQF2ux1z585FUVGRLs3Bgwcxa9YsWK1WJCcn44477oAnaMKENWvWQJKkkH+FhYW64yxZsgQ9e/aE2WzGmDFjsGnTptb78ERERF2IHBNavVCT2PpCRNRYbkoMzu+TjJxE+2kdR1Ga73oe7qZpU+Qwy2JS2+oy3/j8+fOxY8cO5OfnY/ny5fjss89w3XXXRXzN7bffjg8++ABvv/021q5diyNHjuCSSy7R9nu9XsyaNQsulwtffvklXn/9dSxduhT33XdfyLF2796No0ePav+Sk5O1fX//+9+xcOFC3H///di8eTNyc3MxY8YMFBcXt94XQERE1EUoSaEVRNncZaocRETtRpIkmNX2Gc+tODhuvDPrElfJXbt24aOPPsIrr7yCMWPGYPz48XjmmWfw1ltv4ciRI2Ffc/LkSbz66qt48sknce6552LkyJF47bXX8OWXX2LDhg0AgE8++QQ7d+7E//3f/2H48OGYOXMmFi9ejCVLlsDlcumOl5ycjNTUVO2fLAe+uieffBK//e1vcc0112DQoEF44YUXYLVa8T//8z9t96UQERF1UmoaW8eJiDobOS7K0I9LmHeILhGYr1+/HrGxsRg1apS2berUqZBlGRs3bgz7moKCArjdbkydOlXbNmDAAGRlZWH9+vXacYcOHYqUlBQtzYwZM1BeXo4dO3bojjd8+HCkpaVh2rRp+OKLL7TtLpcLBQUFuveRZRlTp07V3oeIiOhMoqQ2apVhnE5E1OGiXraS5+wO0SW+9sLCQl3XcQBQVRXx8fEhY72DX2M0GhEbG6vbnpKSor2msLBQF5Q37G/YBwBpaWl44YUXMGrUKNTV1eGVV17BpEmTsHHjRpx11lk4fvw4vF5v2ON89913TX6muro61NXVac/Ly8sBAG63G253E1MpdqCGPHXGvNHpYdl2TyzX7qsrlK0wN5p6yNq589tZdIWypVPDsu2+OmvZut1uVNXpewB7DJ4mUutJJqnTfZ6OEFy27fF9dGhg/oc//AGPPfZYxDS7du1qp9yEl5OTg5ycHO352Wefjb179+Kpp57C3/72t1M+7iOPPIIHH3wwZPsnn3wCq9Ua5hWdQ35+fkdngdoIy7Z7Yrl2X529bM+Wz4bq81czjuEYPvvwsw7OUdfR2cuWTh3LtvvqFGWb8zNAkgAh8OGHH8LrTATSe/v3eTxY8fEKnINzIDXRV11AQIKEUm8p1n64th0z3rnl5+ejujr82vCtqUMD80WLFuFXv/pVxDS9e/dGampqyERqHo8HJSUlSE1NDfu61NRUuFwulJWV6VrNi4qKtNekpqaGzJ7eMGt7U8cFgNGjR2PdunUAgMTERCiKEjLbe/D7hHP33Xdj4cKF2vPy8nL06NED06dPh9PpbPJ1HcXtdiM/Px/Tpk2DwWDo6OxQK2LZdk8s1+6rq5RtdXE1fIU+AEDG2RnoNbxXB+eo8+sqZUstx7LtvjpT2X7w43H/A0nCzJkzseFIKY7X+c/Diqri/PPPR+XOSqCJhvOGgD1hQALOn3F+e2S5Uwsu25qamjZ/vw4NzJOSkpCUlNRsury8PJSVlaGgoAAjR44EAHz66afw+XwYM2ZM2NeMHDkSBoMBq1atwty5cwH4Z1Y/ePAg8vLytOM+/PDDKC4u1rrK5+fnw+l0YtCgQU3mZ8uWLUhLSwMAGI1GjBw5EqtWrcLFF18MAPD5fFi1ahVuuummJo9hMplgMplCthsMhg7/UUfS2fNHp45l2z2xXLuvzl62lnMtqFpW5X+cY4Fs6BLT2nQKnb1s6dSxbLuvzla2XgCVLp/23K5KMBgMkAwShKeplc79TFmmTvVZOprBYNAtp91WusQY84EDB+K8887Db3/7W7zwwgtwu9246aabcPnllyM9PR0AcPjwYUyZMgX/+7//i9GjRyMmJgbXXnstFi5ciPj4eDidTtx8883Iy8vD2LFjAQDTp0/HoEGDcOWVV+Lxxx9HYWEh7rnnHixYsEALmp9++mn06tULgwcPRm1tLV555RV8+umn+OSTT7T8LVy4EFdffTVGjRqF0aNH4+mnn0ZVVRWuueaa9v+yiIiIOgFjHyOU3ykQtQKyk0E5EVF7OlJei9qg+Dve4g+0JYsEURM5MFeyuKxaR+gSgTkAvPHGG7jpppswZcoUyLKMuXPn4q9//au23+12Y/fu3br+/0899ZSWtq6uDjNmzMBzzz2n7VcUBcuXL8cNN9yAvLw82Gw2XH311XjooYe0NC6XC4sWLcLhw4dhtVoxbNgwrFy5EpMnT9bSXHbZZTh27Bjuu+8+FBYWYvjw4fjoo49CJoQjIiI6kyjJrNwREbUXM4Da+scHKvVdr1PtFgCAbJfhK/EhEiWG5+6O0GUC8/j4eCxbtqzJ/T179oQQ+rs/ZrMZS5YswZIlS5p8XXZ2Nj788MMm999555248847m83fTTfdFLHrOhERERERUVtJcZhwoMK/6lNZnT74TrAaAQByogwcjHwcSeJC5h2BfcuIiIiIiIi6uJ5OS5P7jKq/PVZJa9Qa3njO6S7TbNv9MDAnIiIiIiLq4uJt5mbTqCn6yNs4xKh7LlnZWt5RGJgTERERERF1cdF0QZfj9eGfYYB+9nU5geFhR+E3T0REREREdAaQLTKMw/2t5KZRppAWdNNZocs5U/vgKAIiIiIiIqIzhHWWFYYcAwzZBkiqvpXdmGNs4lXU1thiTkREREREdIaQZAnG/kZIJn9QbrnAP2mc0kOBpHCMeUdhizkREREREdEZyjzCDDVVhRzLNtuOxMCciIiIiIjoDKamMSzsaLwtQkRERERE1A2EC+7MjPi6BBYTERERERFRN5BoCW35TrRyQreugIE5ERERERFRN9Arxh6yLcNp7YCcUEsxMCciIiIiIuoGUmyGkG1pNq5N3hUwMCciIiIiIuoGVDW0K7ssM+TrClhKRERERERE3YTUxGPq3BiYExERERERdRN94wJjyvvFcXx5V8EF64iIiIiIiLqJockx8AqBOKMB2XG2js4ORYmBORERERERUTcyPCW2o7NALcSu7EREREREREQdiIE5ERERERERUQdiYE5ERERERETUgRiYExEREREREXUgBuZEREREREREHYiBOREREREREVEH4nJpnYQQAgBQXl7ewTkJz+12o7q6GuXl5TAYDB2dHWpFLNvuieXafbFsuy+WbffFsu2+WLbdV3DZ1tTUAAjEbG2BgXknUVFRAQDo0aNHB+eEiIiIiIiIGquoqEBMTEybHFsSbRn2U9R8Ph+OHDkCh8MBSZI6OjshysvL0aNHD/z0009wOp0dnR1qRSzb7onl2n2xbLsvlm33xbLtvli23Vdw2TocDlRUVCA9PR2y3Dajwdli3knIsozMzMyOzkaznE4nTzrdFMu2e2K5dl8s2+6LZdt9sWy7L5Zt99VQtm3VUt6Ak78RERERERERdSAG5kREREREREQdiIE5RcVkMuH++++HyWTq6KxQK2PZdk8s1+6LZdt9sWy7L5Zt98Wy7b7au2w5+RsRERERERFRB2KLOREREREREVEHYmBORERERERE1IEYmBMRERERERF1IAbm1KwlS5agZ8+eMJvNGDNmDDZt2tTRWaJmPPLII/jZz34Gh8OB5ORkXHzxxdi9e7cuTW1tLRYsWICEhATY7XbMnTsXRUVFujQHDx7ErFmzYLVakZycjDvuuAMej6c9PwpF8Oijj0KSJNx2223aNpZr13X48GFcccUVSEhIgMViwdChQ/H1119r+4UQuO+++5CWlgaLxYKpU6diz549umOUlJRg/vz5cDqdiI2NxbXXXovKysr2/igUxOv14t5770WvXr1gsVjQp08fLF68GMFT/LBsu4bPPvsMs2fPRnp6OiRJwnvvvafb31rluG3bNpxzzjkwm83o0aMHHn/88bb+aGe8SGXrdrtx1113YejQobDZbEhPT8dVV12FI0eO6I7Bsu2cmvvdBrv++ushSRKefvpp3fb2KlsG5hTR3//+dyxcuBD3338/Nm/ejNzcXMyYMQPFxcUdnTWKYO3atViwYAE2bNiA/Px8uN1uTJ8+HVVVVVqa22+/HR988AHefvttrF27FkeOHMEll1yi7fd6vZg1axZcLhe+/PJLvP7661i6dCnuu+++jvhI1MhXX32FF198EcOGDdNtZ7l2TaWlpRg3bhwMBgNWrFiBnTt34i9/+Qvi4uK0NI8//jj++te/4oUXXsDGjRths9kwY8YM1NbWamnmz5+PHTt2ID8/H8uXL8dnn32G6667riM+EtV77LHH8Pzzz+PZZ5/Frl278Nhjj+Hxxx/HM888o6Vh2XYNVVVVyM3NxZIlS8Lub41yLC8vx/Tp05GdnY2CggL8+c9/xgMPPICXXnqpzT/fmSxS2VZXV2Pz5s249957sXnzZrzzzjvYvXs3LrzwQl06lm3n1NzvtsG7776LDRs2ID09PWRfu5WtIIpg9OjRYsGCBdpzr9cr0tPTxSOPPNKBuaKWKi4uFgDE2rVrhRBClJWVCYPBIN5++20tza5duwQAsX79eiGEEB9++KGQZVkUFhZqaZ5//nnhdDpFXV1d+34A0qmoqBD9+vUT+fn5YuLEieLWW28VQrBcu7K77rpLjB8/vsn9Pp9PpKamij//+c/atrKyMmEymcSbb74phBBi586dAoD46quvtDQrVqwQkiSJw4cPt13mKaJZs2aJX//617ptl1xyiZg/f74QgmXbVQEQ7777rva8tcrxueeeE3Fxcbrz8V133SVycnLa+BNRg8ZlG86mTZsEAHHgwAEhBMu2q2iqbA8dOiQyMjLE9u3bRXZ2tnjqqae0fe1Ztmwxpya5XC4UFBRg6tSp2jZZljF16lSsX7++A3NGLXXy5EkAQHx8PACgoKAAbrdbV7YDBgxAVlaWVrbr16/H0KFDkZKSoqWZMWMGysvLsWPHjnbMPTW2YMECzJo1S1d+AMu1K3v//fcxatQo/OIXv0BycjJGjBiBl19+Wdu/b98+FBYW6so2JiYGY8aM0ZVtbGwsRo0apaWZOnUqZFnGxo0b2+/DkM7ZZ5+NVatW4fvvvwcAbN26FevWrcPMmTMBsGy7i9Yqx/Xr12PChAkwGo1amhkzZmD37t0oLS1tp09DzTl58iQkSUJsbCwAlm1X5vP5cOWVV+KOO+7A4MGDQ/a3Z9kyMKcmHT9+HF6vV1eBB4CUlBQUFhZ2UK6opXw+H2677TaMGzcOQ4YMAQAUFhbCaDRqF5QGwWVbWFgYtuwb9lHHeOutt7B582Y88sgjIftYrl3Xjz/+iOeffx79+vXDxx9/jBtuuAG33HILXn/9dQCBsol0Pi4sLERycrJuv6qqiI+PZ9l2oD/84Q+4/PLLMWDAABgMBowYMQK33XYb5s+fD4Bl2120VjnyHN351dbW4q677sK8efPgdDoBsGy7ssceewyqquKWW24Ju789y1ZtScaJqOtZsGABtm/fjnXr1nV0Vug0/fTTT7j11luRn58Ps9nc0dmhVuTz+TBq1Cj86U9/AgCMGDEC27dvxwsvvICrr766g3NHp+Mf//gH3njjDSxbtgyDBw/Gli1bcNtttyE9PZ1lS9TFuN1uXHrppRBC4Pnnn+/o7NBpKigowH//939j8+bNkCSpo7PDFnNqWmJiIhRFCZnRuaioCKmpqR2UK2qJm266CcuXL8fq1auRmZmpbU9NTYXL5UJZWZkufXDZpqamhi37hn3U/goKClBcXIyzzjoLqqpCVVWsXbsWf/3rX6GqKlJSUliuXVRaWhoGDRqk2zZw4EAcPHgQQKBsIp2PU1NTQybm9Hg8KCkpYdl2oDvuuENrNR86dCiuvPJK3H777VqvF5Zt99Ba5chzdOfVEJQfOHAA+fn5Wms5wLLtqj7//HMUFxcjKytLq1cdOHAAixYtQs+ePQG0b9kyMKcmGY1GjBw5EqtWrdK2+Xw+rFq1Cnl5eR2YM2qOEAI33XQT3n33XXz66afo1auXbv/IkSNhMBh0Zbt7924cPHhQK9u8vDx8++23upNRw4WocQBB7WPKlCn49ttvsWXLFu3fqFGjMH/+fO0xy7VrGjduXMiSht9//z2ys7MBAL169UJqaqqubMvLy7Fx40Zd2ZaVlaGgoEBL8+mnn8Ln82HMmDHt8CkonOrqasiyvrqlKAp8Ph8Alm130VrlmJeXh88++wxut1tLk5+fj5ycHN0qDdS+GoLyPXv2YOXKlUhISNDtZ9l2TVdeeSW2bdumq1elp6fjjjvuwMcffwygncu2RVPF0RnnrbfeEiaTSSxdulTs3LlTXHfddSI2NlY3ozN1PjfccIOIiYkRa9asEUePHtX+VVdXa2muv/56kZWVJT799FPx9ddfi7y8PJGXl6ft93g8YsiQIWL69Oliy5Yt4qOPPhJJSUni7rvv7oiPRE0InpVdCJZrV7Vp0yahqqp4+OGHxZ49e8Qbb7whrFar+L//+z8tzaOPPipiY2PFv//9b7Ft2zZx0UUXiV69eomamhotzXnnnSdGjBghNm7cKNatWyf69esn5s2b1xEfiepdffXVIiMjQyxfvlzs27dPvPPOOyIxMVHceeedWhqWbddQUVEhvvnmG/HNN98IAOLJJ58U33zzjTYzd2uUY1lZmUhJSRFXXnml2L59u3jrrbeE1WoVL774Yrt/3jNJpLJ1uVziwgsvFJmZmWLLli26elXwLNws286pud9tY41nZRei/cqWgTk165lnnhFZWVnCaDSK0aNHiw0bNnR0lqgZAML+e+2117Q0NTU14sYbbxRxcXHCarWKOXPmiKNHj+qOs3//fjFz5kxhsVhEYmKiWLRokXC73e38aSiSxoE5y7Xr+uCDD8SQIUOEyWQSAwYMEC+99JJuv8/nE/fee69ISUkRJpNJTJkyRezevVuX5sSJE2LevHnCbrcLp9MprrnmGlFRUdGeH4MaKS8vF7feeqvIysoSZrNZ9O7dW/zxj3/UVehZtl3D6tWrw15br776aiFE65Xj1q1bxfjx44XJZBIZGRni0Ucfba+PeMaKVLb79u1rsl61evVq7Rgs286pud9tY+EC8/YqW0kIIaJvXyciIiIiIiKi1sQx5kREREREREQdiIE5ERERERERUQdiYE5ERERERETUgRiYExEREREREXUgBuZEREREREREHYiBOREREREREVEHYmBORERERERE1IEYmBMRERERERF1IAbmREREZ7AHHngAw4cP7+hsaCRJwnvvvdfi1+3evRupqamoqKho/UxFsHPnTmRmZqKqqqpd35eIiLoXBuZERERt7IUXXoDD4YDH49G2VVZWwmAwYNKkSbq0a9asgSRJ2Lt3bzvnsn219g2Bu+++GzfffDMcDkerHTMagwYNwtixY/Hkk0+26/sSEVH3wsCciIiojU2ePBmVlZX4+uuvtW2ff/45UlNTsXHjRtTW1mrbV69ejaysLPTp06cjstolHTx4EMuXL8evfvWrDnn/a665Bs8//7zuxgsREVFLMDAnIiJqYzk5OUhLS8OaNWu0bWvWrMFFF12EXr16YcOGDbrtkydPBgD87W9/w6hRo+BwOJCamopf/vKXKC4uBgD4fD5kZmbi+eef173XN998A1mWceDAAQBAWVkZfvOb3yApKQlOpxPnnnsutm7dGjG/r7zyCgYOHAiz2YwBAwbgueee0/bt378fkiThnXfeweTJk2G1WpGbm4v169frjvHyyy+jR48esFqtmDNnDp588knExsYCAJYuXYoHH3wQW7duhSRJkCQJS5cu1V57/PhxzJkzB1arFf369cP7778fMb//+Mc/kJubi4yMDG3biRMnMG/ePGRkZMBqtWLo0KF48803Ix4nXCv+008/jZ49e0Z83bRp01BSUoK1a9dGTEdERNQUBuZERETtYPLkyVi9erX2fPXq1Zg0aRImTpyoba+pqcHGjRu1wNztdmPx4sXYunUr3nvvPezfv19rFZZlGfPmzcOyZct07/PGG29g3LhxyM7OBgD84he/QHFxMVasWIGCggKcddZZmDJlCkpKSsLm84033sB9992Hhx9+GLt27cKf/vQn3HvvvXj99dd16f74xz/i97//PbZs2YL+/ftj3rx5WovxF198geuvvx633nortmzZgmnTpuHhhx/WXnvZZZdh0aJFGDx4MI4ePYqjR4/isssu0/Y/+OCDuPTSS7Ft2zacf/75mD9/fpP5Bfy9D0aNGqXbVltbi5EjR+I///kPtm/fjuuuuw5XXnklNm3a1ORxTpXRaMTw4cPx+eeft/qxiYjoDCGIiIiozb388svCZrMJt9stysvLhaqqori4WCxbtkxMmDBBCCHEqlWrBABx4MCBsMf46quvBABRUVEhhBDim2++EZIkaem9Xq/IyMgQzz//vBBCiM8//1w4nU5RW1urO06fPn3Eiy++KIQQ4v777xe5ubm6fcuWLdOlX7x4scjLyxNCCLFv3z4BQLzyyiva/h07dggAYteuXUIIIS677DIxa9Ys3THmz58vYmJitOeN37cBAHHPPfdozysrKwUAsWLFirDfiRBC5ObmioceeqjJ/Q1mzZolFi1a1OT+cHl66qmnRHZ2drPHnjNnjvjVr37VbDoiIqJw2GJORETUDiZNmoSqqip89dVX+Pzzz9G/f38kJSVh4sSJ2jjzNWvWoHfv3sjKygIAFBQUYPbs2cjKyoLD4cDEiRMB+MdUA8Dw4cMxcOBArdV87dq1KC4uxi9+8QsAwNatW1FZWYmEhATY7Xbt3759+8JOLldVVYW9e/fi2muv1aX/r//6r5D0w4YN0x6npaUBgNbNfvfu3Rg9erQufePnkQQf22azwel0ascOp6amBmazWbfN6/Vi8eLFGDp0KOLj42G32/Hxxx9r311rs1gsqK6ubpNjExFR96d2dAaIiIjOBH379kVmZiZWr16N0tJSLchOT09Hjx498OWXX2L16tU499xzAfiD5BkzZmDGjBl44403kJSUhIMHD2LGjBlwuVzacefPn49ly5bhD3/4A5YtW4bzzjsPCQkJAPwzvzce296gYbx3sMrKSgD+8eFjxozR7VMURffcYDBojyVJAuAf994ago/dcPxIx05MTERpaalu25///Gf893//N55++mkMHToUNpsNt912m+67a0yWZQghdNvcbndUeS4pKeGEfUREdMoYmBMREbWTyZMnY82aNSgtLcUdd9yhbZ8wYQJWrFiBTZs24YYbbgAAfPfddzhx4gQeffRR9OjRAwB0s7o3+OUvf4l77rkHBQUF+Oc//4kXXnhB23fWWWehsLAQqqo2O4EZAKSkpCA9PR0//vgj5s+ff8qfMycnB1999ZVuW+PnRqMRXq/3lN8j2IgRI7Bz507dti+++AIXXXQRrrjiCgD+mwbff/89Bg0a1ORxkpKSUFhYCCGEdrNhy5YtUeVh+/bt+PnPf35qH4CIiM547MpORETUTiZPnox169Zhy5YtWos5AEycOBEvvvgiXC6XNvFbVlYWjEYjnnnmGfz44494//33sXjx4pBj9uzZE2effTauvfZaeL1eXHjhhdq+qVOnIi8vDxdffDE++eQT7N+/H19++SX++Mc/hg3yAf/Ea4888gj++te/4vvvv8e3336L1157rUXrdN9888348MMP8eSTT2LPnj148cUXsWLFCi3Ybcj3vn37sGXLFhw/fhx1dXVRH7+xGTNmYP369bpAv1+/fsjPz8eXX36JXbt24Xe/+x2Kiop0r3v22WcxZcoU7fmkSZNw7NgxPP7449i7dy+WLFmCFStW6F7z7rvvYsCAAbpt+/fvx+HDhzF16tRT/gxERHRmY2BORETUTiZPnoyamhr07dsXKSkp2vaJEyeioqJCW1YN8LfeLl26FG+//TYGDRqERx99FE888UTY486fPx9bt27FnDlzYLFYtO2SJOHDDz/EhAkTcM0116B///64/PLLceDAAd37B/vNb36DV155Ba+99hqGDh2KiRMnYunSpejVq1fUn3PcuHF44YUX8OSTTyI3NxcfffQRbr/9dt048Llz5+K8887D5MmTkZSU1OxSZpHMnDkTqqpi5cqV2rZ77rkHZ511FmbMmIFJkyYhNTUVF198se51x48f142dHzhwIJ577jksWbIEubm52LRpE37/+9/rXnPy5Ens3r1bt+3NN9/E9OnTtZnwiYiIWkoSjQdTEREREbWy3/72t/juu+/abEmxJUuW4P3338fHH3/cJsdvisvlQr9+/bBs2TKMGzeuXd+biIi6D44xJyIiolb3xBNPYNq0abDZbFixYgVef/11PPfcc232fr/73e9QVlaGiooKOByONnufxg4ePIj/9//+H4NyIiI6LWwxJyIiolZ36aWXYs2aNaioqEDv3r1x88034/rrr+/obBEREXVKDMyJiIiIiIiIOhAnfyMiIiIiIiLqQAzMiYiIiIiIiDoQA3MiIiIiIiKiDsTAnIiIiIiIiKgDMTAnIiIiIiIi6kAMzImIiIiIiIg6EANzIiIiIiIiog7EwJyIiIiIiIioAzEwJyIiIiIiIupA/x9pLi2FCxJtnwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(10, 3))\n", "for i, spectrum in enumerate(preprocessed_spectra):\n", " ax.plot(spectrum, color=color_dict[labels.iloc[i].values[0]])\n", "ax.set_xlabel(\"Wavelength (a.u.)\")\n", "ax.set_ylabel(\"Absorbance (a.u.)\")\n", "ax.set_title(\"Coffee spectra\")\n", "ax.grid()\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "61c727ae", "metadata": {}, "source": [ "## __Building a classifier__\n", "In this section, we'll dive into the world of classification. Our goal? To create a classification model that can distinguish the origins of our coffees using their spectral signatures.\n", "\n", "Partial Least Squares Discriminant Analysis (PLS-DA) is a simple statistical technique used for classification. PLS-DA models the relationship between input variables (spectral data) and class labels (coffee origins), allowing it to classify new samples based on their spectral signatures with high accuracy. It's a powerful tool for pattern recognition in complex datasets, making it ideal for our coffee origin classification. \n", "\n", "Before we start our PLS-DA algorithm, we need to encode the labels into numbers. We can do that using the ```LabelEncoder()``` method from ```scikit-learn```.\n", "\n", "```LabelEncoder()``` will assign a categorical value to each of the labels in our dataset (0 for Brasil, 1 for Ethiopia an 2 for Vietnam).\n" ] }, { "cell_type": "code", "execution_count": null, "id": "a3b394f5", "metadata": {}, "outputs": [], "source": [ "from sklearn.preprocessing import LabelEncoder\n", "\n", "# Make Label Encoder\n", "level_encoder = LabelEncoder()\n", "\n", "# Fit the Label Encoder\n", "level_encoder.fit(labels.values.ravel())\n", "\n", "# Transform the labels\n", "labels_encoded = level_encoder.transform(labels.values.ravel())" ] }, { "cell_type": "markdown", "id": "7a2ee948", "metadata": {}, "source": [ "Now that our coffee origin labels have been encoded into numerical values, we are ready to train our PLS-DA model. However, before we start, we will divide our data into a training and a testing sets using the ```train_test_split()``` method from the ```scikit-learn``` library.\n", "\n", "Our strategy is to allocate 80% of our dataset for training our model, allowing it to learn from disticnt features from spectral data, while reserving the remaining 20% for testing. This division ensures that our model's performance can be evaluated on unseen data, a crucial step in assessing its real-world applicability and predictive power." ] }, { "cell_type": "code", "execution_count": null, "id": "0eca2078", "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " preprocessed_spectra, labels_encoded, test_size=0.2, random_state=42\n", ")" ] }, { "cell_type": "markdown", "id": "25213a8a", "metadata": {}, "source": [ "> 💡**NOTE:** We set the ```random_state``` argument to 42 to ensure reproducibility of the results.\n", "\n", "Now that we have our training and testing sets, we can start building our PLS-DA model. We will use the ```PLSRegression()``` method from ```scikit-learn```. We will set the number of components to 2 and the ```scale``` argument to ```False```. This is because we have already scaled the data in the preprocessing step." ] }, { "cell_type": "code", "execution_count": null, "id": "72e1fdbc", "metadata": {}, "outputs": [], "source": [ "from sklearn.cross_decomposition import PLSRegression\n", "\n", "# Make a PLSRegression object\n", "pls = PLSRegression(n_components=2, scale=False)\n", "\n", "# Fit the PLSRegression object to the training data\n", "pls.fit(X_train, y_train) \n", "\n", "# Predict the labels for the test data\n", "y_pred = pls.predict(X_test) " ] }, { "cell_type": "markdown", "id": "a65d8b8d", "metadata": {}, "source": [ "> 💡**NOTE:** We have chosen two components because from our PCA analysis we saw that using two components we can separate the three classes.\n", "\n", "Now that we have trained our model, we can evaluate its performance. We will use the [accuracy score ](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.accuracy_score.html) and the [confusion matrix](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html) methods from ```scikit-learn``` to evaluate the performance of the model." ] }, { "cell_type": "code", "execution_count": null, "id": "bee0fd05", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 1.0\n", "Confusion matrix: \n", " [[2 0 0]\n", " [0 4 0]\n", " [0 0 6]]\n" ] } ], "source": [ "from sklearn.metrics import accuracy_score, confusion_matrix\n", "\n", "print(\"Accuracy: \", accuracy_score(y_test, y_pred.round()))\n", "print(\"Confusion matrix: \\n\", confusion_matrix(y_test, y_pred.round()))" ] }, { "cell_type": "markdown", "id": "f5f0dee3", "metadata": {}, "source": [ "## **Recap**\n", "- __The Coffee Dataset:__ Explore the unique world of coffee differentiation through Infrared Spectroscopy. This dataset contains IR spectra of coffee samples from Ethiopia, Brazil, and Vietnam.\n", "\n", "- __Importing the Data:__ Effortlessly load the coffee spectra into a Pandas DataFrame using chemotools, making data analysis a breeze.\n", "\n", "- __Explore, Plot, and Color:__ Gain insights into the dataset's size and composition, showcasing its 60 samples and 1841 features. Visualize the data with colorful coffee spectra plots.\n", "\n", "- __Preprocessing the Spectra:__ Dive into the world of preprocessing, where chemotools comes into play. Eliminate non-chemical systematic variations using techniques like Standard Normal Variate (SNV), Derivative, Range Cut, and Standardization.\n", "\n", "- __Modelling the Data:__ Enter the realm of machine learning with Partial Least Squares Discriminant Analysis (PLS-DA), a powerful tool for classification. Encode labels into numerical values and split the data into training and testing sets. Train the model and evaluate its performance, achieving an impressive confusion matrix.\n", "\n", "This tutorial showcases the beauty of data science and chemistry, bringing the art of coffee classification to life within the rich world of spectral data." ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.13.0" } }, "nbformat": 4, "nbformat_minor": 5 }