{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# *Predicting Car Prices*\n", "\n", "***In this project, we will predict a car's market price using its attributes. The data set we will be working with contains information on various cars. For each car we have information about the technical aspects of the vehicle such as the motor's displacement, the weight of the car, the miles per gallon, how fast the car accelerates, and more.***\n", "\n", "[Download](https://archive.ics.uci.edu/ml/machine-learning-databases/autos/imports-85.data)\n", "[Documentation](https://archive.ics.uci.edu/ml/datasets/automobile)\n", "\n", "***We will be using K-Nearset Neighbors algorithm to predict a Car's price accurately.***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exploring Data \n", "\n", "We will read data into a Dataframe. Since, the data file doesn't come with Header, we need to add proper column names.
Also, we will drop non-numerical columns which can't be used as features for our model." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(204, 26)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
3?alfa-romerogasstdtwoconvertiblerwdfront88.60168.8064.1048.802548dohcfour130mpfi3.472.689.001115000212713495
03?alfa-romerogasstdtwoconvertiblerwdfront88.6168.864.148.82548dohcfour130mpfi3.472.689.01115000212716500
11?alfa-romerogasstdtwohatchbackrwdfront94.5171.265.552.42823ohcvsix152mpfi2.683.479.01545000192616500
22164audigasstdfoursedanfwdfront99.8176.666.254.32337ohcfour109mpfi3.193.4010.01025500243013950
32164audigasstdfoursedan4wdfront99.4176.666.454.32824ohcfive136mpfi3.193.408.01155500182217450
42?audigasstdtwosedanfwdfront99.8177.366.353.12507ohcfive136mpfi3.193.408.51105500192515250
\n", "
" ], "text/plain": [ " 3 ? alfa-romero gas std two convertible rwd front 88.60 \\\n", "0 3 ? alfa-romero gas std two convertible rwd front 88.6 \n", "1 1 ? alfa-romero gas std two hatchback rwd front 94.5 \n", "2 2 164 audi gas std four sedan fwd front 99.8 \n", "3 2 164 audi gas std four sedan 4wd front 99.4 \n", "4 2 ? audi gas std two sedan fwd front 99.8 \n", "\n", " 168.80 64.10 48.80 2548 dohc four 130 mpfi 3.47 2.68 9.00 111 \\\n", "0 168.8 64.1 48.8 2548 dohc four 130 mpfi 3.47 2.68 9.0 111 \n", "1 171.2 65.5 52.4 2823 ohcv six 152 mpfi 2.68 3.47 9.0 154 \n", "2 176.6 66.2 54.3 2337 ohc four 109 mpfi 3.19 3.40 10.0 102 \n", "3 176.6 66.4 54.3 2824 ohc five 136 mpfi 3.19 3.40 8.0 115 \n", "4 177.3 66.3 53.1 2507 ohc five 136 mpfi 3.19 3.40 8.5 110 \n", "\n", " 5000 21 27 13495 \n", "0 5000 21 27 16500 \n", "1 5000 19 26 16500 \n", "2 5500 24 30 13950 \n", "3 5500 18 22 17450 \n", "4 5500 19 25 15250 " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "\n", "pd.set_option('display.max_columns', 100)\n", "\n", "cars = pd.read_csv('imports-85.csv')\n", "print(cars.shape)\n", "cars.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like this dataset does not include the column names. We'll have to add in the column names manually using the [documentation](https://archive.ics.uci.edu/ml/datasets/automobile)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
symbolingnormalized_lossesmakefuel_typeaspirationnum_of_doorsbody_styledrive_wheelsengine_locationwheel_baselengthwidthheightcurb_weightengine_typenum_of_cylindersengine_sizefuel_systemborestrokecompression_ratiohorsepowerpeak_rpmcity_mpghighway_mpgprice
03?alfa-romerogasstdtwoconvertiblerwdfront88.6168.864.148.82548dohcfour130mpfi3.472.689.01115000212713495
13?alfa-romerogasstdtwoconvertiblerwdfront88.6168.864.148.82548dohcfour130mpfi3.472.689.01115000212716500
21?alfa-romerogasstdtwohatchbackrwdfront94.5171.265.552.42823ohcvsix152mpfi2.683.479.01545000192616500
32164audigasstdfoursedanfwdfront99.8176.666.254.32337ohcfour109mpfi3.193.4010.01025500243013950
42164audigasstdfoursedan4wdfront99.4176.666.454.32824ohcfive136mpfi3.193.408.01155500182217450
\n", "
" ], "text/plain": [ " symboling normalized_losses make fuel_type aspiration num_of_doors \\\n", "0 3 ? alfa-romero gas std two \n", "1 3 ? alfa-romero gas std two \n", "2 1 ? alfa-romero gas std two \n", "3 2 164 audi gas std four \n", "4 2 164 audi gas std four \n", "\n", " body_style drive_wheels engine_location wheel_base length width \\\n", "0 convertible rwd front 88.6 168.8 64.1 \n", "1 convertible rwd front 88.6 168.8 64.1 \n", "2 hatchback rwd front 94.5 171.2 65.5 \n", "3 sedan fwd front 99.8 176.6 66.2 \n", "4 sedan 4wd front 99.4 176.6 66.4 \n", "\n", " height curb_weight engine_type num_of_cylinders engine_size fuel_system \\\n", "0 48.8 2548 dohc four 130 mpfi \n", "1 48.8 2548 dohc four 130 mpfi \n", "2 52.4 2823 ohcv six 152 mpfi \n", "3 54.3 2337 ohc four 109 mpfi \n", "4 54.3 2824 ohc five 136 mpfi \n", "\n", " bore stroke compression_ratio horsepower peak_rpm city_mpg highway_mpg \\\n", "0 3.47 2.68 9.0 111 5000 21 27 \n", "1 3.47 2.68 9.0 111 5000 21 27 \n", "2 2.68 3.47 9.0 154 5000 19 26 \n", "3 3.19 3.40 10.0 102 5500 24 30 \n", "4 3.19 3.40 8.0 115 5500 18 22 \n", "\n", " price \n", "0 13495 \n", "1 16500 \n", "2 16500 \n", "3 13950 \n", "4 17450 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "columns = ['symboling', 'normalized_losses', 'make', 'fuel_type', 'aspiration', 'num_of_doors', 'body_style', \n", " 'drive_wheels', 'engine_location', 'wheel_base', 'length', 'width', 'height', 'curb_weight', \n", " 'engine_type', 'num_of_cylinders', 'engine_size', 'fuel_system', 'bore', 'stroke', \n", " 'compression_ratio', 'horsepower', 'peak_rpm', 'city_mpg', 'highway_mpg', 'price']\n", "\n", "cars = pd.read_csv('imports-85.csv', names=columns)\n", "cars.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data Cleaning and Preparation\n", "\n", "The k-nearest neighbors algorithm uses the distance formula to determine the nearest neighbors. That means, we can only use numerical columns for this machine learning algorithm. Afterwards, we'll have to do a little bit of data cleaning. We will perform the following steps:\n", "\n", "1. Replace missing and meaningless values like `?` with np.nan\n", "- Convert String columns (which are actually numeric) to Numeric datatype\n", "- Drop rows where target Column is missing/np.nan\n", "- Replace missing/np.nan values for other places using the average values from that column.\n", "- Normalize the Dataframe except Price Column" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also seperate numerical columns given in the documentation as follows" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
normalized_losseswheel_baselengthwidthheightcurb_weightborestrokecompression_ratiohorsepowerpeak_rpmcity_mpghighway_mpgprice
0?88.6168.864.148.825483.472.689.01115000212713495
1?88.6168.864.148.825483.472.689.01115000212716500
2?94.5171.265.552.428232.683.479.01545000192616500
316499.8176.666.254.323373.193.4010.01025500243013950
416499.4176.666.454.328243.193.408.01155500182217450
\n", "
" ], "text/plain": [ " normalized_losses wheel_base length width height curb_weight bore \\\n", "0 ? 88.6 168.8 64.1 48.8 2548 3.47 \n", "1 ? 88.6 168.8 64.1 48.8 2548 3.47 \n", "2 ? 94.5 171.2 65.5 52.4 2823 2.68 \n", "3 164 99.8 176.6 66.2 54.3 2337 3.19 \n", "4 164 99.4 176.6 66.4 54.3 2824 3.19 \n", "\n", " stroke compression_ratio horsepower peak_rpm city_mpg highway_mpg price \n", "0 2.68 9.0 111 5000 21 27 13495 \n", "1 2.68 9.0 111 5000 21 27 16500 \n", "2 3.47 9.0 154 5000 19 26 16500 \n", "3 3.40 10.0 102 5500 24 30 13950 \n", "4 3.40 8.0 115 5500 18 22 17450 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "continuous_values_cols = ['normalized_losses', 'wheel_base', 'length', 'width', 'height', 'curb_weight', \n", " 'bore', 'stroke', 'compression_ratio', 'horsepower', 'peak_rpm', 'city_mpg', \n", " 'highway_mpg', 'price']\n", "\n", "numeric_cars = cars[continuous_values_cols].copy()\n", "numeric_cars.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. Replace missing and meaningless values like `?` with np.nan" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "numeric_cars.replace('?', np.nan, inplace=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2. Convert String columns (which are actually numeric) to Numeric datatype" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Index(['normalized_losses', 'bore', 'stroke', 'horsepower', 'peak_rpm',\n", " 'price'],\n", " dtype='object')\n" ] }, { "data": { "text/plain": [ "float64 11\n", "int64 3\n", "dtype: int64" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Check columns which are of object type\n", "text_cols = numeric_cars.select_dtypes(include=['object']).columns\n", "print(text_cols)\n", "\n", "numeric_cars[text_cols] = numeric_cars[text_cols].astype('float')\n", "\n", "# Checking if any non-numerical column is left\n", "numeric_cars.dtypes.value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3. Drop rows where target Column is missing/np.nan" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Because `price` is the column we want to predict, let's remove any rows with missing `price` values.\n", "numeric_cars.dropna(subset=['price'], inplace=True)\n", "\n", "# Checking if there is any null value\n", "numeric_cars['price'].isnull().sum() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "4. Replace missing/np.nan values for other places using the average values from that column." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 14\n", "dtype: int64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Replace missing values in other columns using their respective column means.\n", "numeric_cars.fillna(numeric_cars.mean(), inplace=True)\n", "numeric_cars.isnull().sum().value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The k-nearest neighbors algorithm uses the euclidean distance to determine the closest neighbor.\n", "\n", "$$ Distance = \\sqrt{{(q_1-p_1)}^2+{(q_2-p_2)}^2+...{(q_n-p_n)}^2} $$\n", "\n", "Where q and p represent two rows and the subscript representing a column. However, each column have different scaling. For example, if we take row 2, and row 3. The peak RPM has a difference of 500, while the difference in width is 0.7. The algorithm will give extra weight towards the difference in peak RPM.\n", "\n", "That is why it is important to normalize the dataset into a unit vector. After normalization we'll have values from -1 to 1. For more information on feature scaling click [here](https://en.wikipedia.org/wiki/Feature_scaling).\n", "\n", "$$ x' = \\frac{x - mean(x)}{x(max) - x(min)}$$\n", "\n", "In pandas this would be:\n", "\n", "$$ df' = \\frac{df - df.mean()}{df.max() - df.min()}$$\n", "\n", "Where df is any dataframe.\n", "\n", "-------------\n", "5. Normalize the Dataframe except Price Column" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
normalized_losseswheel_baselengthwidthheightcurb_weightborestrokecompression_ratiohorsepowerpeak_rpmcity_mpghighway_mpgprice
00.5234380.2671630.1888520.1097220.1839460.3733400.1192890.3573140.6086960.5763360.2424240.5714290.50000013495.0
10.5234380.2671630.1888520.1097220.1839460.3733400.1192890.3573140.6086960.5763360.2424240.5714290.50000016500.0
20.5234380.2183620.1773190.0902780.1237460.3057060.3197970.1678660.6086960.4122140.2424240.6122450.51851916500.0
30.3593750.1745240.1513700.0805560.0919730.4252340.1903550.1846520.5652170.6106870.1666670.5102040.44444413950.0
40.3593750.1778330.1513700.0777780.0919730.3054600.1903550.1846520.6521740.5610690.1666670.6326530.59259317450.0
\n", "
" ], "text/plain": [ " normalized_losses wheel_base length width height curb_weight \\\n", "0 0.523438 0.267163 0.188852 0.109722 0.183946 0.373340 \n", "1 0.523438 0.267163 0.188852 0.109722 0.183946 0.373340 \n", "2 0.523438 0.218362 0.177319 0.090278 0.123746 0.305706 \n", "3 0.359375 0.174524 0.151370 0.080556 0.091973 0.425234 \n", "4 0.359375 0.177833 0.151370 0.077778 0.091973 0.305460 \n", "\n", " bore stroke compression_ratio horsepower peak_rpm city_mpg \\\n", "0 0.119289 0.357314 0.608696 0.576336 0.242424 0.571429 \n", "1 0.119289 0.357314 0.608696 0.576336 0.242424 0.571429 \n", "2 0.319797 0.167866 0.608696 0.412214 0.242424 0.612245 \n", "3 0.190355 0.184652 0.565217 0.610687 0.166667 0.510204 \n", "4 0.190355 0.184652 0.652174 0.561069 0.166667 0.632653 \n", "\n", " highway_mpg price \n", "0 0.500000 13495.0 \n", "1 0.500000 16500.0 \n", "2 0.518519 16500.0 \n", "3 0.444444 13950.0 \n", "4 0.592593 17450.0 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Normalizing The Dataframe\n", "normalised_cars = (numeric_cars.max() - numeric_cars)/numeric_cars.max()\n", "normalised_cars['price'] = numeric_cars['price']\n", "normalised_cars.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Applying Machine Learning\n", "\n", "> **K-Nearest Neighbors**
\n", "Suppose we have a dataframe named 'train', and a row named 'test'. The idea behind k-nearest neighbors is to find k number of rows from 'train' with the lowest distance to 'test'. Then we can determine the average of the target column of 'train' of those five rows and return the result to 'test'.\n", "\n", "***We will create a `knn_train_test` function which uses KNeighborsRegressor class from scikit-learn.***" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "from sklearn.neighbors import KNeighborsRegressor\n", "from sklearn.metrics import mean_squared_error\n", "\n", "def knn_train_test(feature, target, df):\n", " \n", " # Randomizing the Dataset\n", " np.random.seed(1)\n", " new_df = df.iloc[np.random.permutation(len(df))].copy()\n", " \n", " # Divide the data in half\n", " half_point = int(len(df)/2)\n", " train_df = new_df[:half_point]\n", " test_df = new_df[half_point:]\n", " \n", " # Fit a KNN Model using default K value\n", " knn = KNeighborsRegressor()\n", " knn.fit(train_df[[feature]], train_df[target])\n", " \n", " # Making predictions using the model\n", " predictions = knn.predict(test_df[[feature]])\n", " \n", " # Calculate and return RMSE Value\n", " rmse = np.sqrt(mean_squared_error(test_df[target], predictions))\n", " return rmse" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This function will train and test univariate models.\n", "\n", "**First, we will evaluate which features give us the most accurate prediction.**" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "horsepower 4007.472352\n", "curb_weight 4437.934395\n", "highway_mpg 4579.037250\n", "width 4644.898429\n", "city_mpg 4729.673421\n", "length 5382.671155\n", "wheel_base 5527.682489\n", "compression_ratio 6736.676353\n", "bore 6816.853712\n", "height 7487.652519\n", "peak_rpm 7498.746475\n", "normalized_losses 7635.170416\n", "stroke 8078.491289\n", "dtype: float64" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extracting all feature names except price \n", "columns = normalised_cars.columns.tolist()\n", "columns.remove('price')\n", "\n", "# Create a dictionary of RMSE Values aling with Features\n", "rmse_results = {}\n", "\n", "for col in columns:\n", " rmse_results[col] = knn_train_test(col, 'price', normalised_cars)\n", "\n", "# Converting dictionary into Series and sorting it to display results\n", "rmse_results = pd.Series(rmse_results) \n", "rmse_results.sort_values()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like `horsepower` feature gives us the least amount of error. We should definitely keep this list in mind when using the function for multiple features.\n", "\n", "But, we need explore further. Let's modify the function to include k value or the number of neighbors as a parameter. Then we can loop through a list of K values and features to determine which K value and features are most optimal in our machine learning model.\n", "\n", "***Modifying the `knn_train_test()` function to accept `k` value as a parameter.***" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def knn_train_test2(feature, target, df, k_value):\n", " # Randomizing the Dataset\n", " np.random.seed(1)\n", " new_df = df.iloc[np.random.permutation(len(df))].copy()\n", " \n", " # Divide the data in half\n", " half_point = int(len(df)/2)\n", " train_df = new_df[:half_point]\n", " test_df = new_df[half_point:]\n", " \n", " k_results = []\n", " \n", " # Fitting the model wih k neighbors\n", " for k in k_value:\n", " knn = KNeighborsRegressor(n_neighbors=k)\n", " knn.fit(train_df[[feature]], train_df[target])\n", " \n", " # Making predictions using the model\n", " predictions = knn.predict(test_df[[feature]])\n", "\n", " # Calculate and return RMSE Value\n", " rmse = np.sqrt(mean_squared_error(test_df[target], predictions))\n", " k_results.append(rmse)\n", " \n", " return k_results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Training, and testing a univariate model using following `k` values `(1, 3, 5, 7, and 9)`***" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'normalized_losses': [7906.594141025014,\n", " 6712.873355379836,\n", " 7635.170416092379,\n", " 7870.651003239241,\n", " 8221.578465544319],\n", " 'wheel_base': [5964.682235317891,\n", " 5246.472910232148,\n", " 5527.682488732292,\n", " 5485.683033525724,\n", " 5734.4339857054465],\n", " 'length': [5291.785164547288,\n", " 5267.216777678541,\n", " 5382.671155138166,\n", " 5396.362242025737,\n", " 5420.547916432259],\n", " 'width': [4453.161424568767,\n", " 4697.287114550659,\n", " 4644.898428543422,\n", " 4562.1341847495605,\n", " 4643.882339393336],\n", " 'height': [9108.471836593655,\n", " 8049.98714728832,\n", " 7487.652518884965,\n", " 7753.797418084058,\n", " 7695.632426557866],\n", " 'curb_weight': [5518.883237405808,\n", " 5048.607726036669,\n", " 4437.934394635539,\n", " 4369.349089851214,\n", " 4632.205545221074],\n", " 'bore': [7496.149231240644,\n", " 6936.9888741632,\n", " 6816.8537123691885,\n", " 7062.061305053834,\n", " 6869.727437364902],\n", " 'stroke': [7282.34885878108,\n", " 7664.984030806539,\n", " 8078.491288735677,\n", " 7754.483859461689,\n", " 7723.913153845065],\n", " 'compression_ratio': [9024.902677953633,\n", " 7033.552922995039,\n", " 6736.676353123451,\n", " 7459.113194422072,\n", " 7219.385481303907],\n", " 'horsepower': [3749.5962185254293,\n", " 3964.9503610053594,\n", " 4007.4723516831596,\n", " 4391.481673529705,\n", " 4505.188632005311],\n", " 'peak_rpm': [9825.559283202294,\n", " 8025.172980050709,\n", " 7498.746474941366,\n", " 7296.5172664110205,\n", " 7239.47816887947],\n", " 'city_mpg': [4540.361003224739,\n", " 4662.468376743848,\n", " 4729.673420999269,\n", " 5099.274289469859,\n", " 4999.291723774096],\n", " 'highway_mpg': [5270.360471073066,\n", " 4618.186622340838,\n", " 4579.0372499290315,\n", " 4914.26000287261,\n", " 5181.912418963636]}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# K Nearest Neighbors\n", "k_values = [1, 3, 5, 7, 9]\n", "\n", "# Create a dictionary of RMSE Values along with Features\n", "k_rmse_results = {}\n", "\n", "# Looping through all the features\n", "for col in columns:\n", " k_rmse_results[col] = knn_train_test2(col, 'price', normalised_cars, k_values)\n", " \n", "k_rmse_results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Visualising `RMSE`s for various `K` and `Features`***" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "image/png": "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bZ9XvTM91bt5k6u4BsN/YWl6jm2cd75cCGcBisYaEHqgp4BacA30ynuh5FzJai8REVGCYpAjilB1poan7ijAV98axb+dHvebNuL1Phdu/lUvvnFDLtZL4Lv14/jHE2MYmAm+uPJd1Sn4u6uyUbfCi43TyhOKBpFR47kHbY93u129a/YLd5FU70IO51Sc0Er32ve/pZUv7YcgIiKimONVI9ES6IrAl3ZkY2dpCv7o2CC6p+aC2qhL4sEjgyh0pKDPFXydsq35Ov73Ndm4sSR5F/Qmm1292wo1b6t3m7RMyKkOWGONsCbmhmfKmQXWe5v/us4CaBV3Qy97D4SeufgBRERElBAY5IiiYFeZEy/eU4Q/fWEIB9v970nqcwUOkyxNU/A3O7LxoTVc0JtCE4oGkV4NJb0a/tW7EVgTzf7DMyeaAWuueqdkrYde+QGohTctuqwBERERJR6+uxNFSUGKip/dlo//encCXz4+EvQ+uDRN4M+vyMCnNmcgXed9cBQZ4ciG6tgCNXeLd5u03Hb1bqoLbT3TqNm0k/e/ERERrWIMckRRJITAJzdn4PpiBz52dBAXR+214QSA37ksDV/akYVSLuhNy0AoKkR6FZT0KphDDQxxREREqxyDHNEy2FrgwNH3F+GH5ydxtrMfH9tehi35nN6diIiIiKKDQY5omWToCj65OQMNji6sZYgjIiIioijiTTpEREREREQJhkGOiIiIiIgowTDIERERERERJRgGOSIiIiIiogSzaJATQnxj3vcfm/f9I9FuFBEREREREYUWTkXuwXnf//O872+PTlOIiIiIiIgoHOEEufmrynKVWSIiIiIiohgKJ8jJRb4nIiIiIiKiFRTOguCaEGIP5ipx879Xl6VlREREREREFFQ4Qa4XwPd8vh+Y931vVFtEREREREREC1o0yEkpa1agHURERERERBSmiNaRE0KsF0J8QAhRHe0GERERERER0cLCWUfuX4UQH/X5/vcAnAHwLQD1Qoj3LmP7iIiIiIiIaJ5wKnL3ADjm8/0/AvgzKWUhgD8G8OXlaBgREREREREFF06QK5RStgKAEOJyAPkAvut57kcA1i1T24iIiIiIiCiIcILciBCi2PP1zQCOSylnPN/r4ALhREREREREKyqc5Qd+AeBnQojHAHwOwFd9nrsWwMXlaBgREREREREFF05F7vMAjgC4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ERFRg2GQIyIiIiIiajAMckRERERERA2GQY6IiIiIiKjBMMgRERERERE1GAY5IiIiIiKiBsMgR0RERERE1GAY5IiIiIiIiBoMgxwREREREVGDYZAjIiIiIiJqMAxyREREREREDYZBjoiIiIiIqMEwyBERERERETUYBjkiIiIiIqIGwyBHRERERETUYBjkiIiIiIiIGgyDHBERERERUYNhkCMiIiIiImowDHJEREREREQNhkGOiIiIiIiowTDIERERERERNRgGOSIiIiIiogbDIEdERERERNRgGOSIiIiIiIgaDIMcERERERFRg2GQIyIiIiIiajAMckRERERERA2GQY6IiIiIiKjBMMgRERERERE1GAY5IiIiIiKiBsMgR0RERERE1GAY5IiIiIiIiBoMgxwREREREVGDYZAjIiIiIiJqMAxyREREREREDYZBjoiIiIiIqMEwyBERERERETUYBjkiIiIiIqIGwyBHRERERETUYBjkiIiIiIiIGgyDHBERERERUYNhkCMiIiIiImowDHJEREREREQNhkGOiIiIiIiowTDIERERERERNRgGOSIiIiIiogbDIEdERERERNRgGOSIiIiIiIgaDIMcERERERFRg2GQIyIiIiIiajAMckRERERERA2GQY6IiIiIiKjBMMgRERERERE1GAY5IiIiIiKiBsMgR0RERERE1GAY5IiIiIiIiBoMgxwREREREVGDYZAjIiIiIiJqMAxyREREREREDYZBjoiIiIiIqMEwyBERERERETUYBjkiIiIiIqIGU/MgJ4TwCiG+L4R4WQhxXgjxCWf7XiHE94QQE0KIvxVCuJ3tHuf2Jef+PXmP9ZvO9otCiB+tzXdERERERERUXTUPcgBSAN4upbwXwH0AHhZCvB7AHwL4UynlEIAwgF9w9v8FAGEp5QEAf+rsByHECIBHARwB8DCAvxBCKFv6nRAREREREW2Bmgc5aYs6NzXnnwTwdgCnnO1PAHifc/29zm04979DCCGc7U9KKVNSyisALgF4YAu+BSIiIiIioi1V8yAHAEIIRQhxFsAMgK8CmASwKKU0nF1uAtjpXN8J4AYAOPdHAHTmby/xNURERERERNtGXQQ5KaUppbwPwC7YVbTDpXZzLsUq9622nSpkaGio1ofQkHjeysPzVj6eu/LwvJWH5618PHdEtBl1EeQypJSLAJ4H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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "import matplotlib.style as style\n", "style.use('fivethirtyeight')\n", "\n", "plt.figure(figsize=(10, 12))\n", "\n", "for k,v in k_rmse_results.items():\n", " x = [1, 3, 5, 7, 9]\n", " y = v\n", " \n", " plt.plot(x, y, label=k)\n", " plt.xlabel('k value')\n", " plt.ylabel('RMSE')\n", "\n", "plt.legend(bbox_to_anchor=(1.3, 1), borderaxespad=0)\n", "# plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The visualisation isn't very helpful. Let's arrange the *Avg. RMSE (Root Mean Squared Error)* and *features* in a sorted manner. \n", "\n", "***Finding best `features` (with lowest `RMSE`s)***" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "horsepower 4123.737847\n", "width 4600.272698\n", "curb_weight 4801.395999\n", "city_mpg 4806.213763\n", "highway_mpg 4912.751353\n", "length 5351.716651\n", "wheel_base 5591.790931\n", "bore 7036.356112\n", "compression_ratio 7494.726126\n", "normalized_losses 7669.373476\n", "stroke 7700.844238\n", "peak_rpm 7977.094835\n", "height 8019.108269\n", "dtype: float64" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Getting average RMSE across different `k` values for each feature.\n", "feature_rmse = {}\n", "\n", "for k,v in k_rmse_results.items():\n", " avg_rmse = np.mean(v)\n", " feature_rmse[k] = avg_rmse\n", " \n", "top_features = pd.Series(feature_rmse).sort_values()\n", "top_features" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***The above table reiterates our finding from our earlier that `horsepower` gives least amount of error.***\n", "\n", "## Multivariate Model\n", "\n", "***Now, we will optimize `knn_train_test` function to work along with multiple features at once.***" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "from sklearn.neighbors import KNeighborsRegressor\n", "from sklearn.metrics import mean_squared_error\n", "\n", "def knn_train_test3(features, target, df):\n", " # Randomizing the Dataset\n", " np.random.seed(1)\n", "# new_df = df.iloc[np.random.permutation(len(df))].copy()\n", " shuffled_index = np.random.permutation(df.index)\n", " new_df = df.reindex(shuffled_index)\n", " \n", " # Divide the data in half\n", " half_point = int(len(df)/2)\n", " train_df = new_df[:half_point]\n", " test_df = new_df[half_point:]\n", " \n", " # Fitting the model wih k neighbors\n", " knn = KNeighborsRegressor(n_neighbors=5)\n", " knn.fit(train_df[features], train_df[target])\n", " \n", " # Making predictions using the model\n", " predictions = knn.predict(test_df[features])\n", "\n", " # Calculate and return RMSE Value\n", " rmse = np.sqrt(mean_squared_error(test_df[target], predictions))\n", " return rmse" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Applying this function with top features (having lowest amount of error), will further improve accuracy of our model.***" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Top Three Features 3212.559631\n", "Top Four Features 3232.103629\n", "Top Five Features 3346.673710\n", "Top Two Features 3681.398092\n", "dtype: float64" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rmse_results = {}\n", "\n", "rmse_results['Top Two Features'] = knn_train_test3(top_features[:2].index, 'price', normalised_cars)\n", "rmse_results['Top Three Features'] = knn_train_test3(top_features[:3].index, 'price', normalised_cars)\n", "rmse_results['Top Four Features'] = knn_train_test3(top_features[:4].index, 'price', normalised_cars)\n", "rmse_results['Top Five Features'] = knn_train_test3(top_features[:5].index, 'price', normalised_cars)\n", "\n", "# Displaying results sorted as per the RMSEs\n", "pd.Series(rmse_results).sort_values()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We got the least error from Top `Three` Features followed by `Four` and `Five` features.\n", "\n", "## Hyperparameter Tuning\n", "\n", "***Now, let's try varying the `K` values. We can further tune our machine learning model by finding the optimal `K` value to use.***" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "def knn_train_test_hyp(feature, target, df, k_value):\n", " # Randomizing the Dataset\n", " np.random.seed(1)\n", " new_df = df.iloc[np.random.permutation(len(df))].copy()\n", " \n", " # Divide the data in half\n", " half_point = int(len(df)/2)\n", " train_df = new_df[:half_point]\n", " test_df = new_df[half_point:]\n", " \n", " k_results = []\n", " \n", " # Fitting the model wih k neighbors\n", " for k in k_value:\n", " knn = KNeighborsRegressor(n_neighbors=k)\n", " knn.fit(train_df[feature], train_df[target])\n", " \n", " # Making predictions using the model\n", " predictions = knn.predict(test_df[feature])\n", "\n", " # Calculate and return RMSE Value\n", " rmse = np.sqrt(mean_squared_error(test_df[target], predictions))\n", " k_results.append(rmse)\n", " \n", " return k_results" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'Top Three Features': [3308.749941929402,\n", " 3044.812909435545,\n", " 3042.2117028741623,\n", " 2958.964739955848,\n", " 3212.559630605792,\n", " 3542.300773674804,\n", " 3801.5597829031262,\n", " 4007.750148478564,\n", " 4074.3452185932656,\n", " 4225.049450691918,\n", " 4338.899164938664,\n", " 4428.084138858935,\n", " 4496.362136550291,\n", " 4540.135725202859,\n", " 4614.027297973717,\n", " 4654.474275823789,\n", " 4714.058094964864,\n", " 4645.9886513064885,\n", " 4628.211244787356,\n", " 4665.099200570483,\n", " 4648.5009310888045,\n", " 4610.013405029357,\n", " 4642.836735468625,\n", " 4669.567677732765,\n", " 4719.453932620881],\n", " 'Top Four Features': [3135.5489073677436,\n", " 2514.1812009849527,\n", " 2788.551941742018,\n", " 2917.4679936225316,\n", " 3232.103629232672,\n", " 3566.725419074407,\n", " 3834.980480987282,\n", " 3927.395248759061,\n", " 4078.9765839753827,\n", " 4199.8376270003955,\n", " 4345.006990461182,\n", " 4451.387011302762,\n", " 4550.163468300828,\n", " 4591.534016042883,\n", " 4630.39964268281,\n", " 4711.911798285828,\n", " 4692.337273008159,\n", " 4709.187223643583,\n", " 4698.1962740829795,\n", " 4738.548781458035,\n", " 4727.351846481681,\n", " 4719.336959934102,\n", " 4707.956340126882,\n", " 4753.4193738951,\n", " 4822.351168583702],\n", " 'Top Five Features': [2561.7319037195625,\n", " 2567.2749455482176,\n", " 2949.9007889192553,\n", " 3074.609110629889,\n", " 3346.6737097607775,\n", " 3686.4646211770864,\n", " 3907.195998257802,\n", " 4104.033987317772,\n", " 4335.71419742586,\n", " 4463.6007084810435,\n", " 4444.025988909045,\n", " 4534.547516044051,\n", " 4638.525701454197,\n", " 4686.768062739389,\n", " 4676.617231827435,\n", " 4706.48899163734,\n", " 4714.757468354599,\n", " 4724.017926210877,\n", " 4780.036456967258,\n", " 4790.865401485259,\n", " 4788.442914205118,\n", " 4820.25603556537,\n", " 4823.624611651547,\n", " 4830.771512289382,\n", " 4878.281251020225]}" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Training and Testing on all, five and four features\n", "col_names = ['Top Three', 'Top Four', 'Top Five']\n", "k_values = [x for x in range(1, 26)]\n", "\n", "rmse_results = {}\n", "\n", "for i in range(3):\n", " rmse = knn_train_test_hyp(top_features[:i+3].index, 'price', normalised_cars, k_values) \n", " rmse_results['{} Features'.format(col_names[i])] = rmse\n", " \n", "rmse_results" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAEZCAYAAACJuh8MAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsvXl8FtW9x/+eefbsK9kTlgSyyL7IooBsgihWxboAVVza61Jbe+tt772tt9fr79p621+1/Vmvt9XWamsRtYqKqAioBSRhCYEEkpB93/c8+8zvjyfPkIc8gQAJCXjer9e8npkz55lz5szMmc98z/ecI7W3t6sIBAKBQCAQXEbIo50BgUAgEAgEgvNFCBiBQCAQCASXHULACAQCgUAguOwQAkYgEAgEAsFlhxAwAoFAIBAILjuEgBEIBAKBQHDZoR/tDHwdqaqqYs+ePbS0tABgNBoJDAykq6sLi8XChAkTmD9/PgEBAQBs376dqqoqrFYrAOnp6axevdrnmC6Xiz/84Q/YbDYAQkNDmTlzJjNmzEBVVQoKCsjNzcXlcqHT6XC73URFRTFp0iTS09NxOBxs2bKFjo4OXC4XkiQRERHhk0ZbWxv33HMPoaGhfs/L4XCQk5NDSUmJFibLMjExMWRlZREfHz88BTiKqKrK/v37OXHiBIqiIEkSEyZMYPny5cOaTn5+Pnv37qW3txeAoKAgVq5cSUpKCgDl5eXs2bOH7u5urrrqKpYuXTosaX7++efMmzePOXPmXPTxhoNdu3ZRUlJCT08PAMHBwWRkZLBw4UKtjGw2G+Hh4SxatIiJEyde8jy+8cYbNDU1oSgKCxYs4Oqrr/YbLzs7m+PHj9PZ2QlAQEAAFotF22+z2Rg/fjwrV64ctrwdPnwYu91OUlISiYmJw3bc4aCxsZHDhw9TXV2NXq9Hr9djMplISUlh8uTJhIWFjXge3nzzTerr68957ZxOJ1u3bsXpdHL77bdrdfNwcurUKZqamggNDSUzM/OSpn25ovvxj3/8s9HOxNeN0NBQpk+fzldffQVAcnIyd9xxB5mZmRw/fpyqqipqa2u56qqrAEhLS8PpdFJXV4eqqrS1tTFt2jQMBoN2zJMnT1JcXIyqeob1ufXWW0lNTQU8Fefnn3/Oddddx7Jly5g2bRoTJ04kLy+PlpYWsrKy0Ol0TJ8+nYqKCrq6ujAYDDzwwANMnz5dW44fP05mZiZms9nveb333nuUlJSwfv16rr76aqZPn05kZCT79u3DYrGQlJQ0ksV6SSgqKuLzzz9HURTuv/9+0tLSaG1tJTk5eVjTGTduHHFxceTn5wMwZcoUZs6cqe0PCwvDYDAQFBQ0LOIFYO/evbS2ttLb28u0adOG5ZgXy4QJEzCZTJSWlgKwatUqpk+fDoBOp6O4uJiVK1eydOlSwsPDRyWPU6dO5dixYzgcjrMKhYSEBCIjIzlx4gQACxYsYPXq1drzZTKZ6O7uZtKkScOWtw8//JCysjJCQ0PHlIApKChg27ZtdHR0sHbtWhYvXsy0adMwmUzs3r2brq4uJk+ePOL5yMrKGtK1a2xsJDs7G5vNRlxc3ICPu+EgOzubo0eP4nA4fATMpUj7ckU0IY0hgoKCNNFRV1dHV1eXz35vxeZ2u7UXm5e8vLxBK768vDwA7esdICQkhCVLlqDT6Yacvzlz5gwqXtra2qisrCQsLMznyykhIYHZs2cjy1fGrdbW1gaAxWLBaDQSFhbGNddcMyJpxcfHay/loqIiXC6Xz/78/Hyfiu5imTlzJjExMcydO3fYjjlS1NfX8+6777JixYphfeGPJjExMdrzfyXT2trKzp07URSFOXPm+IiG1NRUZsyYMYq588+4ceOYPHkyEyZMGPaPlbGc9lhHNCGNMbwWFH9EREQQHx9PbW0tx44dY/bs2UiSRGNjIzqdblBl7m1W2rVrF/PmzdPiJSYmDumrLD8/n87OThYsWDBoHG8ajY2N5OTkkJmZSWBgIMAAs6zb7ebAgQOcPHkSu91OWFgYJpOJq666SvvqampqYv/+/dTX16PT6dDr9UydOpWZM2ciSRI7d+6kuLgYu91OQkICCQkJlJWV0dTUxMqVK8nKyiI/P58jR45gt9uRZZn4+HiuueYaLV+VlZV89dVXdHR0YLFYUFWViIgIli9f7leoeb+QAHp6enjttdeIj49n+fLlKIrCoUOHKCgowOVy4Xa7iYuLY+HChURGRtLY2MhHH32kCaClS5dSWlpKU1MTer2e+++/32+5ZmRksG/fPux2OyUlJUyZMgWA9vZ2HA4H48aN08r9H//4B11dXbjdbpxOJ4mJiSxevJjg4GAAXnvtNdra2lAUhVmzZtHd3U1DQwMdHR3Mnz+fo0ePYrVa2bdvn5YOeMTToUOHNEEdFhbG3LlzmTBhAi6XizfeeENrDr3++uuZPHkyr732Gu3t7QDcfvvtJCQkaM1vhYWFKIqC2WxGlmWmTJnCrFmzBr23zqS6upqPP/6YG264gbi4uHPGdzgcfPrppzQ3NwPQ29tLdHQ08+fP1+7/zz//nPz8fBwOBwkJCcTExFBWVkZvby8ZGRksWbIESZK0/+/evZvy8nJCQ0NJSkpCUZQh5/9MFEXh1VdfZfPmzURHRwPQ1dXFl19+SU1Njda0MnfuXNLS0rT9u3btor29HVVVsdlsxMbGcs011xAVFQXAli1btCbIo0ePUlRURHp6OsHBwXz55Zf09PQgSRLf+973KCoqYvfu3VitVkJDQ9m8eTP19fXs2LFDu47XXXcdJSUlNDU1YTQa2bx58znz6Y/c3FytvPyJz6lTp9LY2Khtd3R0sHfvXqqrq9HpdMiyTHp6OvPmzUOn03Ho0CEOHjyI1WolODiYyZMnU11dTWtrK1OmTGHJkiVafQMey1dWVtaAdFtbW3nvvfeoq6vDYDAwe/ZsZsyYgc1mY+vWrdo9XlJSQkZGBtu3b6e0tBSXy0VaWhomk4mKigrcbjczZsxg3rx52rE//fRTamtrkWWZ7u5u7RnyCtY9e/ZoVsb6+npee+01wsPDWbFihd+0wXMf7tu3j7KyMmRZRlVVJk2axMKFCzGZTJw8edLnOl933XWcOHGCpqYmEhMTWbVqldYc1dDQwN69e2lpacFsNqOqKuHh4SxevHhQl4GxwJXxWXyF0NraSlFREQATJ07UXjz98Zr2Ozo6qKioADwWlqlTpw563MjISMDTzPTnP/+Zl19+mU8++YTKysphy3tYWJhmzdm7dy+///3vef311/nyyy9pbW31ifvxxx+TnZ2NyWTi/vvv56677mLcuHFaBdPS0sKbb75JaWkp69at47777iMgIIAvvviCzz//HIAVK1Zo/g51dXWEhYWxYcMGrXyOHj3Kp59+iqqqbN68mXnz5nHixAn+/ve/oygKNpuNbdu2UVtbyze/+U02btzIN77xDaqrq7Hb7X7Pcd68edrxAwMD2bRpk+b7snPnTvbu3UtoaCj3338/a9asoaSkRPMrGjduHN/4xje0YxUUFHDTTTexcePGs1qnMjIytBdnQUGBFn6m9cUrjDZt2sR9993HjBkzKC4u5oMPPtBE8aZNm7QKKz8/nwULFnDPPfcQERFBVlaW33vo+PHjbN++nZ6eHu655x42btxIS0uL1lyo1+vZsGGDz390Op3PuXrJy8sjOzubkJAQ7rvvPjZs2EBmZiZlZWWDnv+ZlJeX8+677zJ+/PghiRfw+BDU1NRw++23c88997Bu3Tqqq6vZtm0b3d3dACxZssTnfpo2bRobNmxAlmVyc3N9/Lp27NhBcXExSUlJbNy4kaSkJE0oDAd2u50333yToqIili5dyre+9S1sNhsffvihlo/u7m46Ozu5++67uffee1myZAnl5eW89957OJ1OAO644w7tek+fPp1NmzYxd+5c0tPTB3yMTJ48ecD1j42N9XvPestlKPn0R11dnbbu7+UYHh6uCeienh62bNlCUVERy5Yt4/777yc2NpYDBw6wfft2AGbPnq3lvauri0mTJvHNb34Tg8HA8ePHeffdd5kzZw7r1q2ju7ubXbt2ade9P42Njaxdu5a77rqL3t5e9uzZQ0lJCWazecA9DnDDDTdoHxBVVVUsWrSIu+66S/sI6C/CiouLWbduHZs2beLOO++kpaWF7du309TUBHg+aLz3X2xsLJs2beLGG28cNG2vX8zx48eZPXs2999/PxkZGRw9epR33nkHRVF8rrOqquh0Ou644w6SkpIoLy8nOztb2/fee+9RWVnJmjVr2LRpE9/85jdpbW31W05jCSFgxgA1NTW8/PLL/PnPf0aWZVauXMmNN97oN25qaqpmHcjLy8Nut1NZWXlW0/PSpUt9nAW7urooKCjgnXfeYdeuXX7/43K5eP3113n99dc1X52zYbFYWLx4sc/LuLm5mUOHDvH6669r4qStrU0TaRkZGRiNRsBTwXorg5ycHJxOJwEBAcTGxmqOsuARJl6HTi9ms1n7Klm4cCGpqanawxkbG4ssy9rLrrm5mYqKCtrb27UmmZMnT9Ld3U1wcDCrV6/2Kauh0N7erokLbz4TExPR6/U4HA4OHTo04D9ZWVkYDAYCAwO57bbbBj12cHCwZjaurKyku7sbVVUpLCwkPT1dizdhwgRuuOEGrfy990NDQ4PfSiglJYXw8HBkWebWW2/VrFL98VpMwNMUaDKZCAgIICYmBkDbN1S8lXVbWxsVFRW4XC6ysrLOy/pSWFiIy+Xi2LFjPoLubFgsFu6++27tZZ6QkIDFYsHhcFBVVTUgfmRkJGFhYej1eu0F633ptrS0aMLfe60nTJhwXk2xXrzPxl//+lef8JMnT2rWrvj4eHQ6nfZsHDx4EIDo6Ghuu+02zQ/Oe727urp8XpzDifeeDQoK4pZbbhlSPv3R/wNBrz97I8CRI0c0cTh+/HjgdLmXlJQMONeAgAAtL94PwICAAMxms9Yc63a7tXuxPykpKdo191qpDx8+fNb8efHeU/0ds/sLtY0bN2rph4eHExkZiaIomtXlfDlx4oT20dL/PgTPM+/vuN57xPtB681fb2+vVsanTp2io6MDs9nMypUrL4kj9cUgmpDGAAkJCaxdu5a3336buro6jh8/rr2Qz0Sv15OZmcnhw4cpKysjOzubtLS0s1YE8fHxbN68mVOnTlFWVkZ1dbXWoykvL09ztj0znY0bNwKnm5DOxfTp05k0aRKFhYVUVFRQW1uLy+VCURQ+//xz0tPTfSqO/i/N4OBg5s+fD6BVSiaTSdvvFW2qqtLY2Kg9rODx5/FaKcxmM729vZrIKS0t5fXXX0dVVe0F1tPTQ0JCAgEBAfT29rJ//372799PTEwMc+bM0UTVUOlfiXrzKUkSZrNZa6Y5k/5fniEhIWc9fmZmJhUVFaiqyokTJ4iOjiY6OtqnN4IkSRw5coTy8nKtycxLV1fXAGte/4opKCjIb7o9PT1aOfZvUvOuNzc343a7tbI/F4mJiRw/fpzu7m7effddDAaDZvIeKtdeey05OTl0dXXx2WefERoaSkJCwln/I8syFRUVFBQU0NPTg16v116iZ/qZ9T8/73/h9Eu3vzWx/7U2mUznbYWZPXs2s2bN0pqQvPR/Rt555x0kScLhcBAQEIDD4QA8Vq4TJ05w6tQpent7fRz6/Z3TcND/ngkJCRlSPv3R/7l2uVxnrbu8z5bBYNDi9b8+DQ0NmmjyxvPiFZXe57m/yPRnZe1/XK8IOdN6PBhnu2fAc0137txJZ2cner2ejo4O4MKvlb8658xy6f9R671H/eUvICCA8PBw2trayM3NJTc3l8jISGbOnDnme44KATNG0Ov1XHPNNWzdupW6ujry8/MHbRaaOnUqhw8fRlVVDh06xD333HPWYzc1NREVFUVmZiaZmZmoqkpJSQkfffQRbreblpaWAQKmP/7ai8/E7XbT1tZGVFQUs2fPZvbs2TidTnJycsjOzsZqtQ6o4M/lNzDUF+OZX7/9tydOnDhot9Q77riDQ4cOUVpaqgmNDz/8kNtuu+2Ce0xdaJ7PxqRJkzCZTNjtdgoKCoiOjh7gvPvFF19w7NgxYmNj2bhxI93d3fzpT38C/PtVna/FYKjn5cVfmunp6ej1eo4dO0ZNTQ1Op5OTJ09SX1/PvffeO6TjBgQEcPPNN/Pmm2/icDj44IMPuPPOO8/aTl9YWMinn36K0Whk48aNhISE8Ic//EGzZl3o+QwXsiyzefNmbbv/C30w69jBgwfZu3cvISEh3H333RiNRn7zm99cVF7P9b8z75mh5NMf8fHxmvjp7Owc4LvnFc79hcn53n/nYiSv55lp1NbW8v777yNJEnfeeScxMTG8+eab1NbWDks+LrRsvGlLksTtt9/OwYMHKSkpoaOjg5aWFnbu3IlOpxv0Y3osIJqQxhAJCQlaU8fBgwcHfcGHh4drL9ikpKRzdh/dvn071dXV2rYkSaSmpmrOfv2/iM7GyZMnNYe+M7HZbPztb3/T2t/B8zXk7dEiyzIGg0FzUgR8mjZaW1s5cOAAgNZE4XUM7r8uSZJPxeYPk8mkWRzO/MJ57733aG5upru7m+rqapYtW8YDDzzg04xzvib4/vnxWrb659l7PheKXq/XfALa2tqoqanxsUAB2vVNTk5Gr9dflFOpl6CgIO2l5O+8oqKiNKdK71euN93+185LcXExERER3HLLLXznO9/Rhglob2/3G38woqKiuOGGG5AkCavVynvvvTeo3xKcLpuoqCjN2nWh5dP/ZevNs6qqZ03/fOn/MdH//j116pTmA+Y9p/j4eMxm86Dnc+bLraOjA0VRtGdeVVXtRXY+12Co+fTH9OnTNSuAv6aOzz77jJycHOD0s+NwOLQm3/75vNhnqz/9j+u934ejy3JNTQ3gsTh78+vvep15rXp6ega1ZPU/b29eL7RcvB8SixcvZvPmzWzYsEGzZPmzHo8lhIAZY8yePRvwVDSFhYWDxrv22mtZvHgx11577ZCOu2vXLs2THTw3ptfyMtTxIbxjxAyGy+Vix44dPi87r59CZmYmBoOB8PBwradRYWEhTqcTVVXJycnRKtI5c+ZgMBjo7e3Vxr4pLy8HPJXfUL70vMKppqZGMwMXFxfT1dVFZGQkvb29fPHFF1o7clRUlPbQnksgnUlYWJhmEfE6pFZVVeFyuTAajdo1vRj6W1ymTJkywPHXK9i859NfsF4M3uadmpoa7HY7vb29WqXW3xE0NjbWJ31/TpzV1dXs378ft9vtI2bDwsIG7Z4/GOPHj9fGv2ltbeXDDz8c9CXuLZvOzk5cLhctLS0+9+j5EBkZqfkkea91eXk5brf7go7nj4yMDC3P3iEQvINEepvL+l9vVVUHvd7eZ8Vms+FwOHjttddQFIWYmBjtHmpra8PpdJ63U/9Q8umPiIgIVqxYgSzL5OTkUFtbq+07duwY1dXVWs/FGTNmaE2l3jrA+5uamnrez+rZqKysxOVy0dHRodUZ5+OfNRjeMrJarVitVnp6evw2TfW/VgAffPAB9fX1fo+Znp6ufbj2vw/BI17OZ0BHl8vF3r17NZ+Y8PBw7Xn0PtdjlVEdyO6ZZ57hpptu4uc//7m2vPLKK3z3u98FPF8HP//5z3nwwQd5+umn2b17N7NmzfL5im9vb+exxx7jkUce4de//jUnTpzg2muv9akQ8/Pzuffee/nnf/5nXn75ZXp6eli0aNGwmyWHSlVVFdu2bdMq0d7eXgoLC5k2bRrh4eEUFRVhs9moqqqio6NDG6SuoaGBxsZG0tLSCAwMJC4uTrvpt2/fTnFxsfaVUlVVhSRJxMbGYjabsdvt5ObmcvToUY4cOUJRURGpqamsWrVKa57405/+pHXLVBSF48ePc/jwYW1pbGwkPT3dr7nea2Fpa2vj0KFDHDt2jIMHD9Lc3MysWbNYuHChVmFOnDhR6/6dk5NDcXExUVFRLFiwAEmSCAgIYMKECXR3d3P48GGOHj2K2+1m7ty5Wpwvv/ySwsJC3G43VquVwsJCpkyZopm1Y2JiMJvNdHR0aKbRnp4e7XxVVaW5uZnDhw9z7Ngxjhw5QnBwMIsWLRrUIfrw4cMcOXIEl8uFy+WiqKiIyMhIQkJCNEfO6upqDh06RFFREcnJyaxZs4bw8HA6Ojp49913tcrJ24RyLv8NL0FBQRQXF2O1Wlm+fPmA0TgjIyOpr6+nrq6OhoYGQkJCtAqturqamJgYrRu3qqq0trZSV1eniUlvF3HvuVVUVJCVlcW4ceOIiIigubmZ7Oxs8vLyiIiIYNmyZT6VZExMjOY8WF1dTXR0tNZLrrq6mtjYWPR6PRUVFRw6dIi8vDwqKipITk5m5cqVgzpO79q1i7y8PM2yV1dXh81mIykpidjYWGw2G/X19XR0dHDixAkiIiIGOB5GRkbS3NxMa2srFRUVGAwGmpqacDqdtLa2IkkSRUVFFBUVafeTw+GgoqKC0tJSFEWhs7MTm81GSkoKKSkpdHZ2UllZqTmkd3Z2asfT6XR+K/7s7Gy++uorzVrT1NREQUEBU6dO9amLZFnW7v+Kigry8vIoLS1l6tSpmuN2VFQUDQ0NNDc3U1NTQ2hoqCYaGxoaCAoKIjIykuDgYBoaGqiqquLUqVPMnDmTxMREzSG7sbGRgoIC2traCA0NpampCZfLRXV1NfHx8T73bHV1NS6XS7tnh5LPwYiOjmbChAlYrVYOHz5MXl4ex48fx2azsWrVKq2ONxqNpKam0tvby9GjR8nNzaW7u5vp06ezdOlSZFnm0KFD2ijjLpeLrq4uamtrKSkp0a6d0Whk3759mi+ft4w+++wz7ZkYP348J0+e5KuvvsJkMrFw4UIyMzM167K3vm5oaCAgIIDs7Gyqq6u1NAwGA0eOHKGhoUF7xiRJIjMzk87OTjo6OigrK8Ptdmt+ev3vq7CwMBoaGmhtbaWgoIDw8HCuuuoqtmzZMiDtmJgYJk+erDUr5+bm0tTUREZGBqtWrcJgMHDy5En27t2rPTveru4HDhzQyqqyspLMzEyam5vJy8vj2LFjHDp0CKPRyJw5c8bMgJaDIbW3t498Y+AgPPPMM7zzzjt88MEHWphOp9OaNp577jl++ctf8sILL5CWlsazzz7LV199RU5OjqZq169fT3V1Nc8//zySJPHYY4+RkpLCli1bAE/FMmfOHBYuXMi//Mu/UFxczCOPPMKPfvQjTSgJBAKBQCC4vBh1J169Xu+3vU5VVV588UW+//3vc/PNNwPw4osvkpaWxltvvcXmzZspLCxk586d7NixQzM5/vrXv2bNmjUUFxeTlpbG1q1bsVqtvPjii1gsFjIzMykqKuJ3v/sdjz766KhZYQQCgUAgEFw4o+4DU15eTkZGBtOmTeO+++7TzN4VFRU0NDSwbNkyLa7FYmHhwoWas2d2djZBQUE+I73Onz+fwMBAnzgLFizwMVEvX76curo6zcQtEAgEAoHg8mJUBcycOXP43e9+x9atW/nNb35DQ0MDq1atorW1VXMU7O/v4t329hJpbGwkMjLSx4oiSRJRUVE+cfwdw7tPIBAIBALB5ceoNiGdOT7HnDlzmDFjBn/961+1XiRnNvGoqjpAsJzJueL07/8uEAgEAoHg8mPUm5D6ExQURHp6OqWlpZpfzJlWkubmZs2CMm7cOJqbm30GA1JVlZaWFp84/o4BA607AoFAIBAILg/GlICx2WwUFxcTExNDSkoKMTEx7N6922f//v37NZ+XefPm0d3drc17Ax6fl56eHp84+/fv9xnkZ/fu3cTFxZGSknKJzkwgEAgEAsFwMqoC5ic/+Qn/+Mc/KC8v5+DBg9xzzz309vZy1113IUkSDz30EM899xzbtm2joKCAhx9+mMDAQNavXw94BvRasWIFjz/+uDZk/eOPP87111+vTee+fv16LBYLDz/8MAUFBWzbto3nnnuOhx9+WDQhjUGKi4tHOwtfW0TZjx6i7EcPUfaXL6PqA1NbW8sDDzxAS0sLUVFRzJkzh08//VQb6fJ73/seVquVJ554gvb2dmbPns0777zjMzHd73//e370ox9x6623ArBmzRqeffZZbX9oaCh///vf+eEPf8h1111HWFgYjzzyCI8++uilPVmBQCAQCATDxqgOZCcQnIl3/B7BpUeU/eghyn70EGV/+TKmfGAEAoFAIBAIhoIQMAKBQCAQCC47hIARCAQCgUBw2SEEjEAgEAgEghFHdfXibjuKo2LrsBxv1CdzFAgEAoFAcGWhKk6U7nKUzkKUzkLcXUWoPZWAp9+QMeX2i05DCBiBQCAQCAQXjKoqqL01KF1FuDsLUTqLULpLQHGOaLpCwAgEAoFAIBgyir2lz7LSJ1i6isDVc8nzIQSMQCAQCASXGaqqgKqA6u63KKhnbHt+XaiKw2MRURx96w5Ut+fXE+bstz4wLm7PumqtRbU3X2CuJaSAJHQhk4elDISAEQgEAoFgFFBVBdXegmqtRbHWovbWeX6ttajOTlDdfULFPVCsMPbHoJVMUcghU5BDpqALmYIsx2A4nodu1z7smRd/fCFgBAKBQCAYIVTVjWpr6hMpdSi9tacFi7XOY924EtAHIQdPRhcyuU+0TEY2RSI1VKM/sg/9kVeQi44hKQoA9uFIchiOIRAIBALBmENVFXDbUN1WcFs9vy7f7YCuGpw1RSDJgAySjNRvXVvwXZf8hKuuHo848REp9aC6RrUchh3ZgBw06bRlJWQKkiXOUyaKG7nkBPrdb6E/sg+5tmLEsiEEjEAgEAjGPKqqovZW424/jmqr7xMhNlRX70CRom3bznncMMDRPvL5HxEkXZ940mmLJOnwiKq+MNmzLskmkA0gm5BkY9+60bOuMyL1bWthPuv94hqCkQOTPfG92K3oDu9Ff2Qfutz9yF2XpkCFgBEIBALBmMMjWCpxtx3D3Z6H0n4M1dE22tkafvRByJZ4JEscckA8kiXes22KBNngESQ+QqXvFxlJkkYt21JbM7rc/eiP7EVXcAjJObQu0+7EibhnLhyWPAgBIxAIBIJRR1UV1J5K3O15uNvycLcfA2fHaGdreDCEIlvifQVKQN+vIXi0czez1eG4AAAgAElEQVQ0XE7kqlJ0eQc8lpayk0P6m6rT4Z4yHffMRbhmLkSNjhu2LAkBIxAIBIJLjqoqnpFa2/M8oqX9ODg7hz8hnRlJZ+n7DTi9rbcgyWY6unoJDQ3p6+WjAMrpLsp4uyqrgFuLo6pq376+MFTPr2xAtsT1Eylxnl994PCf10jiciHXlCGXF6ErK0QuL0KuKkFyDc3KogYE4po2H/fMhbimzoPAkRFpQsAIBAKBYMRRVTdKdxlKn3XF3X4MXN3ndxCdGV1oJnJIhsdyMUCUnLGtM/c55ALWHuTqMuSqEuTqMnRVJcjVpUT29qAaTajmADBZUC0WMAegmiyeMHP/37595oB+6xYtjmq2gMEEBqPH9+RywOVCri0/Q6ycGnKTkBclKhbXrEW4Zy7CPXka6EdeXggBIxAIBIIBeHrw2EGxo7ptHsdYxd7nIGsHpe/XbeuLYx8Yp9+20lt1/qO16izowq5CDpuKLmwqcnAaknyO15bbhdRQg64qD7m6FLmq1CNamusH/YvksCM57MDw+dioBgMYTKhGU9+vEbR1ExiNqAYTGL1xjKfXjSZUo9kjkCwWj7AyB6BaAk6LJpMFztcHxu1CrqnwiJTyQnTlhciVJUjOC+vK7Z6UgWvmItwzF6IkTBhSflRVpbLbTUrwxcsPIWAEAoHgMkd12pHzdiLl74HeJpQAE6rFjGoxopoMqGYDqkGHqpdQ9BLIblCcfeLC3jfaqh3FZcfltiMpdvSMQtdf2YIuJANdxAzkiOnIQalIsm7Q6FJnm0ecVPVZVqpKkWvLL/iFPJxITic4nUi952llGiKqJGnCBovXAuS1IgX0swoFIHW1e6wrVSV9Qu3CUMKjUCZm4Jp2Ne4ZC1DDIs/5n16XwpFmJwebHGQ3OjjY5KDBqtC+OeGC8+FFCBiBQCAY46iqCq5uFGsdqrUexVaPaq1DbS1B7a5Cka0gA4mDHMDZt5wDCTCcM9bwIdlVjA0KhgYFY72Cvs2GpO4D9qEajKdfwibf5hpPc1ApcscV2CtpiEiqCrZeJFsvjECvZSUsCmXCFNzjJ6NMmIIyfjJqaMRZ/6OqKmVdbnKaHOQ0OshpcnC81Yl7hAYNFgJGIBAIhoCqqqjWOpTOQtydhaiOFs/YGj5OouZBts2gs2i/yKYBXWBVxYlqa9REimqrQ7HWa4Jl0OaXy6gWl2wqxkaPWDHUK+jbVaRBXm6S0wFOB1LX8PREUiUZNS4Jd9JElMSJKEmTUJImUtTaQVpKMpK1F2xWJLsVrB5hcHrdCnarJ8zaq61jsyLZvOu9SHYbOOxjwgJ0PihhkSjjvWJlMsr4KUOyrnQ5FQ439VlXmhwcbHTQYlcuQY49XEa3vkAgEFw6VEcH7q4ilI6TmmjB1TV8CejMIHvEzjinjd6qdsbc/DYuFclF39K37u637vK/jp84sh10nSqXYuQSJTTcR6QoSZNQ4pI9Pihn0tblaXYxWYBhugKKAi6nR8w47OC0Izkcfds2cDj6wuynBY+2bgeHwyOe+sSRJpBs/cIusClICY1A6bOquMf3WVbCo876H1VV6XCoVPW4yWs5bV050e5CuYACs+iG5y4QAkYgEHztUd0OlO5TKJ1FuDs9gkW11o1sol7HWGf7sFTEsg1kKRR7QDwdNpnOHie9PU5kuxOzw0mg00Gg3U6ww0qQw66JEVxqnygByX16HTfnLTY6dWZaDMHYLcEYQ0MJiw4jKDwMgkNwG80o2kvZ2mex8LVkaBYQW6+nieQcqAYDSvyE0yIlaQJK4kS/TR2KqlLZ5aKw3UVhu5OT7S6KOpw0d5uJKWoizCQTccYS3rdEmE+HWfRDKBVZ9oglo0kTRMMuTd0u37L0Ch1rX5n2sxipegNKcirKhCl+xYpLUantdVPd7aa6p2/pdlPV7dK2u5wXfgYTg3XMGWdkXrSROdFGsiKGp6FSCBiBQPC1QlUV1N4a3J2FKH1iRekuG/vz1bhUdN0quq6+pVtF7pVpiryKL+NWsDV0Nkc7oare7fs/HWDpW/owKk6iHZ2Mc3YyVd/NIksvMww9pEpdBPR0IHW2IXW2g9MBQcGoQSF0m4I5pQRw1G7hkM1Cgy6IVkMQLYZgWvSedaefHkITA3SsTjCzPMFMQqCOKLNMuFFGJ59FCKiqxxph6/UVNX0iB1lGiU9BjUkAnW+aLkWlrKNPoPQTK8UdLqx+nTFkyq1Db/Ix69DETUSfuAk3en6jzTrSw/SkhxuItYzwSLk6PQQGo/aNsXI2edHpUKjq7hMoDd0ecdJzWrDU9rovyJLijyC9xKxoI3OjDcwd5xEsUebBHbEvBqm9vX2M2SwFX2eKi4tJS0sb7Wx8LbmSy151duKs3YG79QhKV9H5d+f1ogtADpnsmcAuMBlVcffNv2Pz/Cp2cFlRlb5tt913f9/2YDMQy1YJXae7T6QopwVLt4psPW0RORSVwStRC9kSeTXthvMbJC3KLLMkzsSSeBOL40yMv4DurN1Ohd21dnZU2fikykaT7fz8HiQgzCQRadIR2WfdiDTLRJpkosweMeDZPr0/1Cj5CAK7W6Wk87RAKWx3UdTupLjThfPSuWEMSphRIiPcQEaYgYxwPelhBjLD9USO0Mu8w6FQ2umixLt0nF5vd4zcaz4tVM/caKNnGWckI0x/dnE6jAgBIxhTXMkv0bHOlVj2irUeZ9XfcdXuAOU8fQYkGTlwAnJoOnLwFHShU5ACkk4PjHYhuFzI9VVI1SXINaeQ6kuRGiqQWhvR9ahIZ3nxngiI5y8x1/DGuIVUWKKHnGSgXmJRrJEl8WaWxJnIDNcjD6NlQFFVDjU52VFl5aMqGwVtI2PJ0ksQYZaJMsk4FCjrco1Y75aRZJxFJj3MQEaYvk/geCw2ocZz31fdTo9IKe10nxYqfUvzeYrI88Wsg8RAPeODdX0WFo91Jdw0egP2CQEjGFNciS/Ry4UrqezdXadwVr6Fu/GLvqHez41kjkUOmeKxroRMQQ6e5Ok1dCEoClJTnWc49uq+paYMua4KyT30F3y9IZQtMQt4PeYajgSNH9JAYXoJ5o4zalaW2VFGjMPkNDkUKrtd7Ki0saPKxj/q7TjGgDXES7hJIj3MwJRQPVPCDEwJ02NrqiY0NolWu0KbXaHV1vfbb2nvtz5S1p2EAJ1mqckI1xNskCnr8rWo1FtHrjCjzTKJQToSA3UkBelIDNRr60lBOiJNozt5pD+ED4xAILgiUFUVpe0IjoqtKG1Hzh5ZH4QuZDJySLomWiRj2IUkitTWPFCo1FR4eptcAD2yib9Hz+GvMdfwWVgW7rMM5BZjkckKN5AZbiArwkBWuOfFbLqEguVMkoP0fDsziG9nBtHlVNhVY+eTahtF7U5a7QotNmVEmzTAUy5egeIVK+lheqLMA1/Cxb0qabF+eif5QVVVul2qJnLOFDoVXW5O9jVp9brO7xxret3U9LrZWXPhA80NhlGGhEAdSUEeUZIYpCNJEyo6EgL1Q3NOHmMIASMQCC5rVMWNu/ELnJVvoXSXDBpPMkaiT/oG+ugFSJaE8/+atPV6BErlKXRVpZ6B1KrLhmWkVRcyn4VfxV9iFvFe1Bx69L6WH7MO0sO8IsUjVDLDDURbRsafYrgINsjcPN7CzeMtPuEuRaXNrtDSJ2i0xa7QYnPT0mcJ8e5vtSl0+xEEiYEep9nJYXofy0rYCDVrSJJEsEEi2CCTcpb5CZW+4fJPtDk50e7iZJuTgnYXxR1O7O7B/3cxGGQYH6xnYoieSSE6JoXotSUhUDeszYZjBSFgBALBZYnqsuKq+xhn1TuotsZB40mByRiS16OPuQ5JHkL3TVVFaq73DE1fWeKZ9K+qBKmxdkhde89FtTGc/MAk8gMTOR6YSEFgIgWBCfT2NVelBOlY3GdRuSrcQFaEnonBl84x8lKglyWiLbrzEmA2l+qx4NgVFFVlUoieIMPYnDBRliTGB+sZH6xnTfLpcJeiUtbl4kSbixPtTk60uTjZ7uRUh4uhGGx0EiQHecTJxD5xkhrq+U0M1KG/gu6RoSAEjEAguKxQHW04q97DWfPBWWczlsOmYkhejy5y7uCOt3bb6RmKNctKCVLvBfZS6keLPojjgUkcD0wkPzBREy39ew1JwNXjjHw7sJs1GVFkhBsIGYIz59cRs14iXq8jPnBsW53Ohl6WSAs1kBZqYF2/fu0Ot8qpTpdmsTnR5sTmVhkfrO9nSdGRHKS/pP5MYx0hYAQCwWWB0luDs/JtXPWfgjLYxD4SuuhFHuESmu67q7sD3al85Mo+y0p1CVJ9DdIQnXwHw2WyUB2WxAFjAgeMCeT3iZYGY6hfp1tZgkUxRtaNt3BjioW4AB3Fxe2kxQzND0Nw5WHUSWT2+TIJhs6YEjC/+tWv+K//+i8efPBB/ud//geAhx56iDfeeMMn3pw5c9i5c6e2bbfb+clPfsLbb7+NzWZj8eLF/OpXvyIh4fRsl1VVVfzwhz/kyy+/xGw2s379ep5++mmMRuOlOTmBQHBBuDtO4qzcirtpH4MO1yUb0MetwpB0K3KA7yy3clkhhk/eRn9g13n1ADoTVZJQYxKxJkykMmI8e/QJvGaNJUcNRz1H12qdBEviTKwbb2FtsnnM+64IBJcDY0bA5OTk8Oqrr5KVlTVg39KlS3nppZe07TNFx7/+67+yfft2Xn75ZcLDw/n3f/937rjjDj7//HN0Oh1ut5s77riD8PBwtm/fTltbGw899BCqqmpCSSAQjB1UtwN30z9w1nyI0pE/eER9EIbEmzAkrkMyhp8Od7vQHd6L8ZO30BUdO//0LYG4kybRFTuBkvAUcizJfCbFk9MhU9Pr9p3deRCLvkGGZfEmbhpv4YYkMxEjNICZQPB1ZUwImI6ODh588EF++9vf8uyzzw7YbzKZiImJGfS/r732Gi+88ALXXXcdAC+99BJTp05lz549LF++nF27dnHixAmOHTtGYqJnvvn//M//5LHHHuOnP/0pISEhI3dyAoFgyCg9VThrt+Oq23nWiRMl8zgMSbeij7seSd+vh0tPF4YvtmPY+Q5yc8PQ0oxJwJ00iZboCZwISWafOYk9jnDyWl2emXU78CyowNm7kJh0sCLBzLrxFlYnmYc0OJlAILgwxoSA+f73v8/NN9/MkiVL/AqY/fv3k5qaSmhoKIsWLeKnP/0p0dGekShzc3NxOp0sW7ZMi5+YmMiUKVM4cOAAy5cvJzs7mylTpmjiBWD58uXY7XZyc3NZvHjxyJ+kQCDwi2Ztqf0Ipf3s1hI5aJLHv2XcYqR+46NI9VUYPnkbwz92INkHH39FiUnAkTmb2sjx5AUl84U+gZwuPcdbnXRZVbB6Yw59bpwAvcSqRDPrUsysTDITPEZ7xggEVxqjLmBeffVVSktLfZqI+rNixQpuuukmUlJSqKys5Omnn2bdunXs2bMHk8lEY2MjOp2OyMhIn/9FR0fT2OjpWtnY2KgJHi+RkZHodDotjkAguLQM1doCIIfPxJhyO3L4zNPjt6gquvxDGD55C/3Rr876/6bUmbw1eS1/tFxFfrsbezPQDKBwPmIFPE1DGWEGpkcaWJloZkWiiQC9EC0CwaVmVAVMcXExTz31FB999NGgzrS33Xabtp6VlcWMGTOYOnUqH3/8MevWrRv02Kqq+gxUNdigVWNtaGSB4ErmfKwt6IPRx63AEH8DcmDS6XCHHf2+TzF88ha6mvJB/+7SG9kzYTH/EbWSA6ZE6AV6z28UsQC9xFXhHrEyNdLzmz7KI90KBAIPoypgsrOzaWlpYcGCBVqY2+1m3759vPLKK9TW1mIy+XYtjIuLIz4+ntLSUgDGjRuH2+2mpaWFqKgoLV5zczMLFy7U4hw4cMDnOC0tLbjd7gGWmf4UFxdf9DkKzh9R7qPHSJW93llPQPc+LL3Z6JSzj7FiN6XSG7gQa8AMwAC1NqAYQ2cbUQd3E3XkS/TWwcd/aTSH89u4Ffxf3HJajGcZLvUMgnUqU4IUpgQppAd6fpMtKj5apRUqW4d8yPNC3Pejhyj7S89wzLs2qgJm7dq1zJw50yfskUceYdKkSfzgBz/wa5VpaWmhrq5Oc+qdMWMGBoOB3bt3c/vttwNQU1NDYWEhV199NQDz5s3jl7/8JTU1NVrX6t27d2MymZgxY8ag+btSJra7nLiSJhS8XHC3H8dZ/gaO9iL0piAkQxiSsd/Sf9sQ6pkzyBByzlmZPdaWvThrt5+XtSUwMImIfrvkkhOeZqKcPUjuwS0oOcETeT5xNW9HX41TPnvVFmORmR5pYFqEkWmRBqZFGkgJ0o2aRVbc96OHKPvLl1EVMGFhYYSF+U6gFhAQQHh4OJmZmXR3d/Pzn/+cdevWERMTQ2VlJU899RTR0dHceOONAISGhrJp0yaefPJJoqOjtW7UWVlZLF26FIBly5aRkZHBP/3TP/H000/T1tbGk08+ybe+9S3RA0nwtUWx1uE49TLupn8AoANUaxeqtW4I/5aRjKHQJ2jOFDpKTyWu+p3g7Dz7UcKmYohfgy76GiRdvw8WRUGXuw/jh2+gOzV4N2oXMu9Ez+U3iWv4KiR10Nmao80yq5LMXJ9oZt44I7EBokuzQHC5M+pOvGdDp9NRUFDA3/72Nzo6OoiJieHaa6/lj3/8I8HBp03D//3f/41Op2Pz5s3aQHb/+7//i06n046zZcsWfvjDH7J69WqfgewEgq8bqqsHZ/kbOKveA3WwEW3PhYLqaANHG+r5jrqvWVvWIAcm++5zudB/9RmGD99AV1s+6CHa9AH8IW4Zv0tYSZU5ym+czDA9a5LNrE6yMDvacEVOZicQfJ2R2tvbR3Zec4HgPBDm3JFDVdy4aj/CUfYaODsuefpy6FUYEm4YaG0BsNs847d8tAW5ZfDxW05a4vhN4mpej71Gm/zQi0GGa2JNrE4yszrJTErwmP4+80Hc96OHKPvLl8vnCRcIBBeMq+UgjlO/R+2p8LtfDk6j0Xw9SROnozraUZ3tnl+/6x1nnUTRB30Q+riV/q0t4Bl4buffMX76NlLX4KLqk/CpPJ+4hk8ipvoM2x9hklmZaGJNkoVlCSYxEaJA8DVCCBiB4ApG6anAUfx73K0H/e6XTFEYJt6LPnYZjlMlnu7K/bssD4KqOFCdnaeFjaMd+gkdAF3ETHTR1w60tgBSaxOGj7di2PM+ks06YD+AG4kt4xbwP8k3cSzotPiZHKrXrCzzxhnRy6JpSCD4OiIEjEBwBaI62nGUvY6rdjv4m21ZNmFI+SaG5NuQzmiKGQqSbEQyRYHJv//JoP+rr8K4/W/o936C5PLvf2OTDPwxbgn/b9JayizjkCW4JsbImmQLa5LMTAwR1ZZAIBACRiC4olAVB67qbTjK3wCXf+9afewKDJPuRT5P8XExyGWFGD/8K7qDXyCp/t3uOnQWXkxYyW8SV9NoDCU5SMdPJgeyIS2AONFrSCAQnIEQMALBFYCqqrib9uI49TKqzX83aDlsKsbUb6MLuUQOi6qK7mQu+vf/giHffxMWQL0hlOeT1vBS/HKsxgDWJlu4Z3IAS+JNoueQQCAYFCFgBILLHHdnMY5T/zfoYHGSOQ5j6v3oohddmoHaFAXd4b2o2/6CpeLkoNFKzOP4ZfKN/DnmWpIjAnhicgB3pQYQZRbWFoFAcG6EgBEILlMUezPOkj95Bozzhz4Q4/i70SfehCT7n2tsuJFO5uJ8+dcENfrv7QSQG5jMs8nr+DB2HjdODOLvkwNZEGMU85IJBILzQggYgeAyxN16GNuxp8HdO3CnJKOPX4txwgbPsP+XAKWni/qXX2Tyoe2DxvkiNJ1nk2+iatJs7pkSxLOTAggziW7PAoHgwhACRiC4zHC3HcWW9zNQHAP26SLnYkx9ADkw5ZLkRVFVjuzYRfq7/x+TbW1+47wfOYvfTlhH0qzp/MvkQGZGGYS1RSAQXDRCwAgElxHu9uPYjj45QLxIgSkYUx9EHznnkuRDUVU+y68l8C+/YVXtAb9x/jpuIe9Pv5Vr52Xw6gQLwQZhbREIBMOHEDACwWWCu6MA29GfgmL3CTdMvBdD8u1I8sg7v6qqyocVVgrf28ZjeX8m3DWwCavIEsffrnuYlSvn8/sIw4jnSSAQfD0RAkYguAxwdxZhy/0JuH1HrTWmPoAhef2Ip6+qKh9V2fjLl8V8P/t/ubO9YEAcp6Tjg2m3MH7TZn4QHTjieRIIBF9vhIARCMY47q5T2HL/bYDDrsfyMrLiRVVVdlTZ+J/D7Sw7+h5/K38bizJwBN2SqEnY73uClVnpI5ofgUAg8CIEjEAwhlG6yzzi5YzJEw3jN2Acf+eIpauqKp9U2/l5bieUFfFS4R+Y1V0+IJ5Nb6Lxxs3E3Hw7XIImLIFAIPAiBIxAMEZReiqwHvkxODt9wg0pd2CYsHFE0lRVlU/7hMuJhm6eLH+Hx6u2o2fgfEodU2ahf/AJIqLjRiQvAoFAcDaEgBEIxiBKbzW2Iz8GZ4dPuD7pNgwT7x32bsiqqrKvTeahD5s42OTkurZ8jhS+TKqtYUBcZ0Aw7g2Polu0ClV0hxYIBKOEEDACwRhD6a3FduTHqA7fcVX0ieswpj4w7OKloM3JD/a181WjmTBnO/9X8hfuq//cb1zn/OU4NjyKGhI+rHkQCASC80UIGIFgDKFY6z3ixd7sE65PWIsx7aFhFS8uReX5Y938IrcTh1vl1qZsflP8KrFnWH0AlIho7Pc8jnvGwmFLXyAQCC4GIWAEgjGCYmvqEy+NPuH6uFUYJz8yrOKloM3Jw1+2kdviJK23jl+U/JV1LYcHxFMlCefyb+BY/yBYAoYtfYFAILhYhIARCMYAir0F25EfodrqfcL1scsxpn8PSRqeUWxdispzfVaXKGsbvyt/h/vq9vh10lXiU7Dd9wRK2lXDkrZAIBAMJ0LACASjjOpo84gXa61PuG7cEowZP0CShqd7stfqUl7fzn9Wvs+jNR8T4Gc+JVWnx3nTBhw3bgDDpZnFWiAQCM4XIWAEglFEdbRjPfJj1N5qn3Bd9DWYMp8YFvHi7PN1ef5QM9+p+ph/qXyfCFeP37ju1Czsm3+IkjjhotMVCASCkUQIGIFglFCdndhy/xW1p8InXBc1H1PWj5Dki38881udfPeLZmbkf8ax8rdJdPifMVqJSaBi0Vqib7oTZDHpokAgGPsIASMQjAKqsxtb7r+hdJf5hOsi52K66t+Q5IubBNGpqDx3tJOinbv4c8mbpFvr/MZTQiNwfOMeXIvX0l5WRrQQLwKB4DJBCBiB4BKjunqwHf13lK5TPuFy+CxMV/0USb44v5P8Vid/fOdL7s99nbldpf7zEBCI44a7ca66FUyWi0pPIBAIRgMhYASCS4jqsmI7+lOUzkKfcDlsGuZpTyLpLly8OBWVv+3MJfWjV/jf1mP+09cbcK68FceNd0NQ6AWnJRAIBKONEDACwSVCdVmx5T2J0lHgEy6HZmGe9p9IOvMFH7u4sJyGP/8fD1Xv87tfkWTc167G8Y17USPHXXA6AoFAMFYQAkYguAQo9hbsef8xsNkoJB3z9P9C0l9YM46rrYWiV/7AzGOfMFN1+43TM+MauONB1PiUC0pDIBAIxiJCwAgEI4zSXY7t6JMDRtiVg9Mwz/h/kPQXMMKtw07bm38matdbzHPb/UapHz+NkG/9E+qkzAvJtkAgEIxphIARCEYQd2sutuP/BWeMuyIHp2Ke8d9I+sAhH8vhVtnf4KDw4FG+8fFzTOyu9RuvPGI8lg3fIWj2fBQxW7RAILhCEQJGIBghnHWf4jj5HJzRtKOLnIsp69+G1GzUaHXzabWNT6pt7K3s4p+L3+IHVR+iQx0Qt9wyjpob7mX6javFWC4CgeCKZ0zVcr/61a8ICwvjiSee0MJUVeWZZ54hPT2d2NhY1q5dy4kTJ3z+197ezre//W2Sk5NJTk7m29/+Nu3t7T5x8vPzueGGG4iNjSUjI4Nf/OIXqOrAl4BAcLGoqoqj7HUcJ341QLzoE9ZimvqzQcWLoqrkNjv4RW4ny99vZMrf6nnkH+3U5OWz66t/44mqDwaIlwZDCC/PfxDpl39m+robhHgRCARfC8aMBSYnJ4dXX32VrKwsn/Dnn3+eF154gRdeeIG0tDSeffZZbrnlFnJycggODgbggQceoLq6mq1btyJJEo899hjf+c532LJlCwCdnZ3ccsstLFy4kF27dlFcXMwjjzxCQEAA3/3udy/5uQquXFTFiePk87jqdw7YZ5h0P4bk9QNmle5yKuyptfNJlY1Pq23UW09PrGhUnDxZ/g5PVL7v1+rywaQVOO78J+6YHDX8JyMQCARjmDEhYDo6OnjwwQf57W9/y7PPPquFq6rKiy++yPe//31uvvlmAF588UXS0tJ466232Lx5M4WFhezcuZMdO3Zw9dVXA/DrX/+aNWvWUFxcTFpaGlu3bsVqtfLiiy9isVjIzMykqKiI3/3udzz66KMDXigCwYWgOruxHX8apS3Xd4dswJTxBPqYxVpQWaeLHVV9TUP1dhwDJ4NmdmcpL598iavOmCcJoCckCtvmJ1g66+rhPg2BQCC4LBgTtmavQFmyZIlPeEVFBQ0NDSxbtkwLs1gsLFy4kAMHDgCQnZ1NUFCQJl4A5s+fT2BgoE+cBQsWYLGcNtsvX76curo6Kip856ERCC4ExdaI9fA/DxQv+mDMM55BH7MYh1vl13ldzH2ngZlvN/Cv2R3srh0oXoyKk6dK32Tv4f/wK16ci29A/cWfMAnxIhAIvsaMugXm1VdfpbS0lJdeemnAvoaGBgCio6N9wqOjo6mr88zt0tjYSGRkpI8VRZIkoqKiaGxs1OLEx8cPOIZ33/jx44ftfARfP9xdxdiPPol6xkSJkiUO8/SnkQMS6HYqfGtXK7tq/Xd59jKzq4w/nXyJrJ6qAfuUsCjs9zJJ9gsAACAASURBVD2Be7oQLgKBQDCqAqa4uJinnnqKjz76CKNx8CHUz2ziUVV1gGA5k3PF8TrwiuYjwcXgaj6APf8ZcNt8wuWQdMzTfoZkDKPZ5uabn7ZwuNk56HEmB6r8suF9Vh/ZiqwMbE9yXrMa+92PQGDwsJ+DQCAQXI6MqoDJzs6mpaWFBQsWaGFut5t9+/bxyiuv8NVXXwEeK0liYqIWp7m5WbOgjBs3jubmZh/BoqoqLS0tPnG81pj+x4CB1p3+FBcXD8NZCs6Xy6XcA7q/JLRtK9IZzrVWywzagjdBRRN1tmYezTdRafVtrdVJKjNDFK6JcHODs4z5n7xCQKOf5qKgUCrXfovOtGlQWw/Uj+QpXTZlfyUiyn70EGV/6UlLS7voYwxJwPT29mI2m5GH0D2zvb2d8vJyZsyYcc64a9euZebMmT5hjzzyCJMmTeIHP/gBqampxMTEsHv3bmbNmgWAzWZj//79PPXUUwDMmzeP7u5usrOzNT+Y7Oxsenp6tO158+bxs5/9DJvNhtnsmW9m9+7dxMXFkZIy+PDqw1HAgvPD63g9llFVBWfJKzjb3hqwT590G5Gp9xMlyRS0OfnOJ83UWX0tKjMiDWxZEUmMUcXw/usY338NyT1wGgDnouuxb3iUmMBgYkbsbE5zOZT9lYoo+9FDlP3ly5CceBMTE3n77be17c7OTpYtW8aRI0cGxP3kk098nG7PRlhYGJmZmT5LQEAA4eHhZGZmIkkSDz30EM899xzbtm2joKCAhx9+mMDAQNavXw/AlClTWLFiBY8//jg5OTlkZ2fz+OOPc/3112s35fr167FYLDz88MMUFBSwbds2nnvuOR5++GHRhCQ4L1S3A3v+MzgrzxQvMsbJD2NKe/D/Z+++42u6/weOv+69uTdT3IgkZJCIRBAkNq0aidXao7H3qCItX6O1QrXEaFHUDErUnrVXQmyqVM2giS0SkhAZN/fe3x/55XIkIcjC5/l45NHez/mcc973IPd9PxOZTM7xB8k03fGQe8+kyUvd4sb82bQoxaMjMP1hAMabl2VIXnSFi5D47SSS+30vuowEQRCykK0WmJcXfEtNTeXvv/8mPj4+V4J60TfffENiYiLDhw8nNjaWKlWqsHHjRsMaMACLFi1i5MiRtGnTBoCmTZtKpmMXLlyYTZs2MWzYMOrXr49arWbgwIEMGjQo1+MXPhz6lDiSzk/IsJs0cmOMPb/HqGhNAHbdSqRHyCOSXmpUae1syvzahbDYEYxqy3Jk2tQM99DU8iW5iz9YWObW2xAEQfgg5PsspJdt375d8lomk/H999/z/fffZ3mOlZUVCxcufOV1y5cvz86dO3MkRuHjo3t2l6RzY9En3pGUy1RWGFecgMLSHYA/whMYfCQW7Utrzn3takSg/jjGEzeguHU94/UtrUjuMRRtlTq59h4EQRA+JAUugRGEgkYbd5GkfyaAJk5SLjMrgUmlH5CbFgPg1/NPGHda2ipZJuEui1IPUWtVCLJnTzO9vqZGA5K7+kMhde68AUEQhA+QSGAE4RVSo0+S/O+PoEuRlMvVFTGpMBaZshA6vZ6A0/HM/jctQVHqUmkZfZqv7u6jXuylzC4LgK6QmuTuQ9BWq5tlHUEQBCFz2U5gMhvsKgbACh+y1IdHSf53EuilY1UUdg0wLvstMrkKjU7P4MOPWX09kZKJD+lzL4Se90Ip9lJrzcs0NX1I7jwYLEWriyAIwtvIdgIzcODADBsftm/fPsPUal0mi3AJwvsmNeoQyRemZNhNWuncCaVLV2QyGc9SdfTe/xD5PyfZcnc/TR+dQ57Jhovp9IUKo6nzOZp6zdDbOeT2WxAEQfigZSuB6dixY27HIQgFRur9EJIvTgOkybiqzGCUDl8AEBcVzbbf1zMnfC8lk2NeeT2tewU0DVqSWvUzUGa94rQgCIKQfdlKYH777bfcjkMQCgTNvb2kXPoFJC0pMlQe36Is3gjFpb/R7NmM7d+H6a/PuPhcOr2JGZpPGpHaoAU6x1K5HrcgCMLHRgziFYT/p7mzk5QrvyJNXuQYuw7E9Hw8yl+7Ib93C9OsLgBoS7qltbbUbAAmZrkcsSAIwscr21sJxMTEYGdnl2HTxT/++IM1a9Zw//593N3dGTp0aIbtAQShoNPc3krK1ZdaGmVyTKy7UGj6YuTxjzM/EUhWKEmt0QCZbyt0pTxADG4XBEHIddlKYKZNm8b8+fO5dOmSJIGZMWMGEydOBNIWk7t69SoHDhxg7969lCtXLnciFoQcprm5kZRrLy2EKFNgUmIAhWYGZZm8XDYtzuHyTWjdrTXGhS1fMXxXEARByGnZ2gvp8OHDNG7cGLX6+ZTPp0+fMmXKFIoVK8Zff/3F9evX2bdvH0ZGRsycOTPXAhaEnJQSuTaT5EWJsfsILJZszJC8aGQK1tnUwLfSKKZ2mUu7gd0wLiyW/RcEQchr2WqBiYyM5IsvvpCU7d+/n+TkZAYPHoyLiwsAVapUoWPHjmzbti3nIxWEHJby30o0/62QFsqVGJcfg8WKTShu35AcWli8AROc2/LAWM2wioUYXbmQWAtJEAQhn2SrBSY+Pp4iRYpIyo4cOYJMJsPHx0dSXq5cOaKionIuQkHIYXq9npQbv2eSvBhjUvEHzPaexujcccmhDUWrMdC9Jw+M1UypUZgxVSxF8iIIgpCPstUCY29vz3///ScpO3r0KGq1Gnd3d0l5amoq5ubmORehIOQgvV6P5voSNDfXSQ8oTDCp+APGZyNQ7ZYeO23hQo+yA1DI5cz/zIp2pcTsIkEQhPyWrRaYWrVqsXLlSiIiIgAIDQ3lwoULNGzYMEPdf//9FwcHscqoUPDo9XpSri3MJHkxw6TST6jupmC8XDp+67bKitYV/keiwlgkL4IgCAVIthKYkSNHkpSURNWqVfH09KRdu3aYmpoydOhQST2NRsO2bdv49NNPcyVYQXhber2OlKtzSb21SXrAyBwT78kYPbPAZE4Ashe2wkiQG9OqwjDuGVsRUMVSJC+CIAgFSLYSmBIlSnDw4EF69OiBh4cH3bp1IzQ0lDJlykjqnTp1Cm9vb9q2bZsrwQrC29DrdaRc/pXUOy8NLjcqhIl3IAp5MUxnfI/sWYLhkA4ZXct+zdlCzvQsY8a3FSzyOGpBEAThVbK9Eq+LiwvTp09/ZZ3atWtTu3btdw5KEHKKXq8l5dIMUu/vkx5QFsbEazIKUydMpw5DHnVXcnhUKT+22lSlkaMx02qqxYBdQRCEAkZsJSB8sPQ6LcmXpqN9ECIpl6msMPGajNy8JMZBU1FcOSc5vrRYXaY7NaOStZIl9YpgJBfJiyAIQkGTrQRm1qxZb3RRmUyGv7//WwUkCDlBr0sl+UIg2oeHJeUylTUm3oHIzZ1Qbl+FMmyn5Pihwh587d4LRwsj1vhaY6HMVi+rIAiCkMeylcCMHz/e0ISu179+wXSRwAj5Sa/TkPzvJLTRxyTlMmMbTLynIDezR3E6DNU66Qq810zsaOf5LaYmStY1tKaYmSIvwxYEQRDeQLa7kIyNjWnSpAnt27fH09MzN2MShHeiubEsY/JiYpeWvJgWQx5xFZMFPyF7IRl/bGRGywrDeGJciA0NrClrpczrsAVBEIQ3kK0E5sSJE6xdu5Z169axZcsWPDw8+PLLL2nXrh2Ojo65HaMgZJs27iKamxslZTLT4ph4T0VuYoPs0UNMZoxClpJkOJ6KHL/y33DF3J4Fn1rxWXHjvA5bEARBeEPZ6uB3d3dnzJgxnDt3ju3bt1OzZk1mz55NpUqVaNq0KcuWLePx48x37BWEvKLXJpN86Rd4YV9ombENJpWnITexgeRETGaORh4bLTlvkHtPDlh5Mtq7EH6uYq0XQRCE98Ebj1CsVasWv/zyC1euXGHFihUUL16cUaNG4eHhwfLly3MjRkHIFs1/y9E/uy0pMy47BLlxUdDpMFk4GUXkVcnxmY5NWWzfgK5uZgyrVCgvwxUEQRDewVtPozYyMuKzzz4jNjaW27dvc+rUKe7fv5+TsQlCtqV1HUlX2TWyb4qiSGUAVBuCMDp9SHJ8exEvRrh2wsfBmF9qi7VeBEEQ3idvnMBotVr27t3L2rVr2bVrF1qtlgYNGrBkyRKaNm2aGzEKwis97zp6vg2AzNgGVek+ABgd3oVq20rJOf+YO9G53CDKFlGxtF4RlGKtF0EQhPdKthOY9IG8mzdv5vHjx9SoUYOffvqJVq1aYWVllZsxCsIraf5bkaHrSOXxLTIjc+RX/sF4iXQF6fvKwrSq8D8KW1qwrmFRLFVirRdBEIT3TbYSGC8vL27evImHhweDBw8Ws4+EAkMbdynDrCMj+6YYWVdB9uAOpr+OQaZNNRxLkilpU2EojwvZsrOhNfbmYq0XQRCE91G2EpjIyEhMTU3RarWsWrWKVatWvbK+TCbj+PHjORKgIGQlrevoZzLtOkp4krZB49N4yTk9y/bnTOHSrKtfBM8iYq0XoWBwcHDI7xA+WuLZv7+ylcDUrl1bDHAUCpzMu46+QYYxJnO/Q37vpuTYeOe2rLOtxdxP1NR3MMnLUAXhlczMxPT9/CKe/fsrWwnM9u3b3+iiWq32rYIRhOzKtOuoeBOMrKumzTi6cFpybJVtLX4s2ZqRXoXo7Gael6EKgiAIuSBHRy8mJyezaNEiKleunK36ixYtonbt2jg5OeHk5ETDhg3ZvXu34fiAAQNQq9WSH19f3wz3HD58OKVKlcLe3p4OHTpw584dSZ1bt27h5+eHvb09pUqVYsSIEaSkpLz7GxbyhV6bksmso6Ko3Poiv3EZ5Uszjo5ZutGnTD86upnznZdY60UQBOFDkO1ZSMnJyezatYv//vsPKysrmjRpgp2dHQDPnj1jwYIFzJs3j4cPH1KqVKlsXdPe3p4JEybg6uqKTqdj1apVdO7cmdDQUMN+S/Xq1WPBggWGc1QqleQa33//PTt27CAoKAgrKytGjx6Nn58fBw8eRKFQoNVq8fPzw8rKih07dvD48WMGDBiAXq9n2rRp2X37QgGS1nV0S1Km8vgWmc4Ik0WTkemeJzZ3VWraeg6hpmMhZom1XgRBED4Y2Upg7t27xxdffEFERIRhN2pzc3NWr16NXC6nb9++3L17l+rVq/Pzzz/TrFmzbN38iy++kLweO3YsQUFBnDp1ypDAGBsbGxKll8XFxbFixQrmzp1L/fr1AViwYAEVKlQgNDQUHx8fDhw4wKVLlzh//rxh5tSECRPw9/dn7NixWFpaZitWoWBI6zraICkzKt44reto9TzkdyMlx/qX6UtRW2uWNyiCSiGSF0EQhA9FtrqQJk6cyM2bN/H392fNmjVMnToVU1NTvvnmGzp06ICTkxM7d+5k9+7dNG/e/K2+5Wq1WjZs2EBCQgLVq1c3lB87dozSpUtTpUoV/P39efjwoeHY2bNn0Wg0NGjQwFDm6OhImTJlOHHiBAAnT56kTJkykmnfPj4+JCcnc/bs2TeOU8g/WXcd9UN+9TzKXWsl9YOK1eOUQ2XWNrSmsFjrRRAE4YOSrRaY0NBQOnfuzPjx4w1ltra29OjRg0aNGrFq1Srk8rf7gLhw4QKNGjUiKSkJc3NzgoODKV++PAC+vr40b96ckiVLcvPmTX788UdatGhBaGgoxsbGREVFoVAosLa2llzTxsaGqKgoAKKiorCxsZEct7a2RqFQGOoI74csu4608rSuI/3zTRwjja0ZVroz82urcbR46x0zBEHIRePHj2fmzJlERESgVqvzO5xs+eOPP5gxYwYRERHI5XIePHiQ3yF9tLL1mz0qKoqqVatKyqpVqwZAly5d3jp5AXBzcyMsLIy4uDi2bt3KgAED2LZtG+XKlaNt27aGeuXLl8fLy4sKFSqwe/duWrRokeU19Xq9pBUoqxYhMR7i/aGNu5x119GKWcij7kqO9fXoR3OPonxR0jQvwxSEPJXdD/25c+fSuXPnXI4GlixZwtChQ19bz9jY+L384L98+TKDBg2ifv36fPPNN5iY5M5yDLGxscybN4969epRq1atXLnHhyBbCYxWq83wB5X++l3HkKhUKsOgX29vb86cOcNvv/3GnDlzMtQtXrw49vb23LhxA0hrBdJqtcTExFC0aFFDvejoaGrXrm2ok96dlC4mJgatVpuhZeZl4eHh7/TehLeT4bnrNdjcn4Lyha4jrULNPbkP5nu24rZPuonjb/a+XCxWjrFFowkPj86LkD8YH+rfeQcHhw9yvY8XJzgALFu2jNOnT2f4/VmjRo08iadu3bqSmDQaDYMGDcLHx4cvv/zSUK5QvJ8rYB89ehSdTsfkyZNxd3fPtfvExcUxZcoUTExM3usE5tmzZxlmBadzc3N75+tnu209IiKCv/76y/A6Pj5thdPw8HAsLCwy1K9SpcpbBaTT6bKc4hwTE8O9e/cMg3q9vLxQKpWEhITQvn17AO7cucOVK1cM/2CrV6/O9OnTuXPnjmHFxZCQEIyNjfHy8nplLDnxgIU3Ex4enuG5p1xbgiZV+m3NzHMYpc1cMVv4k6T8uokt35fqyB/1bPG2N871eD8kmT17oWDz8/OTvA4NDeXMmTMZyvOKq6srrq6uhtdJSUkMGjQINze3XIkpMTERU9O8a2VNH4NZuHDhPLtnTsvLZ2ZmZparv1Oy3fczefJkGjZsaPhJ794ZMWKEpNzX15eGDRtm65rjx4/n6NGjREZGcuHCBSZMmMDhw4dp3749T58+ZcyYMZw8eZLIyEjCwsLo0KEDNjY2hllOhQsXpmvXrowbN47Q0FDOnTtH//79KV++PPXq1QOgQYMGlC1blq+++opz584RGhrKuHHj6Natm5iB9B5I6zpaLykzKt4II+uqGK+ahzz6eWKjQ0Zvj/50rWhNXZG8CEIGCQkJjBkzBk9PT2xtbfHy8iIwMBCNRiOp5+7uTqdOndi/fz916tTBzs6OqlWrsnbt2iyu/G7i4+MZNGgQJUuWxNHRkd69exMbG5tpTAcOHKB+/frY2dkxf/58w/G9e/fStGlTHBwccHBwoGXLlpIv3enu3r3LwIEDcXd3x9bWlqpVqzJ37lzDDNusuLu7M3nyZADKlCmDWq1myJAhhuOnTp2iXbt2lChRgmLFitGwYUP2798vuUZ0dDSjRo2iVq1aODg44OjoSMuWLTl9+vnCm1evXqVSpUpA2ozZ9DXQ0u/Vq1cvwxCOFy1ZsgS1Wi3pmsuJZxYXF8d3331HhQoVsLW1xd3dnVatWhWI7YKy1QIzd+7cXLn5gwcP6NevH1FRUVhaWlK+fHnWr1+Pj48PiYmJXLx4kdWrVxMXF4ednR116tRh6dKlFCr0fDGySZMmoVAo6NmzJ0lJSXz22WfMnz/f0ESpUChYs2YNw4YNo0mTJpiYmNCuXTt+/PHHXHlPQs7JctZR6X4o/jmB8uA2Sf1fHZvwoKQn66q8v9+OBCG36HQ6OnToQFhYGJ07d8bb25vDhw8TGBhIeHg4QUFBkvrh4eH07NmTXr160bFjR1avXk2/fv0wNjamZcuWORpbt27dcHBwYOzYsVy5coWgoCBMTEwyfPZcuXKFXr160bNnT7p3746zszMAwcHBDB48mAYNGjB27Fg0Gg0rVqzgiy++YPfu3YaE4N69e/j4+CCXy+nduze2traEhYUxevRoHj58KJmo8rJp06axbt06tm3bxrRp07C0tKR06dJAWqu+n58flSpVYvjw4SiVStavX0/79u1ZtWoVjRs3NjzT7du307JlS1xcXHj06BHLli2jefPmHDp0CDc3N4oVK8akSZMYNWoUbdq0MZybfq839a7PzN/fn927d9O3b1/c3NyIjY3l5MmT/Pvvv9SsWfOtYsopstjY2FennYKQh17sxki5tgTNTek3PuNKEzEy8cBsdE/kj5+Pb7lsWpwa1SaxtYUDVWykix0K2SO6kJ5TL8283z6nxPbMnQ0EBwwYwMaNGzMdILtlyxa6d+/OmDFjGDZsmKF86NChLFmyhJ07dxrGW7i7uxMVFcWKFSto3rw5kNZ6k74v3t9//52tSRBJSUkUK1aMr776isDAwAzH02chde3aldmzZxvKhwwZQnBwMDdv3jR0d6THtHHjRsnSGXFxcXh6etKuXTtmzJhhKH/y5Ak1atTA09PT0HLUv39/wsLCOHz4MEWKFDHUHTFiBEuWLOH8+fMUL148y/czefJkpkyZwpUrVwxDGbRaLd7e3ri7u7Nu3TrDc0lNTaVBgwakpKQYWiuSkpJQqVSSiS8PHz6kWrVqtG/f3rC4amRkJJUqVSIgIEDSygNpLTDnz5/n1KlTkvL0AdQvxvauz0yv12Nvb0/v3r0L5Jd+sTiGUCBp469k0XVUDeOVcyTJixYZvcp+xcDK1iJ5EYQs7Nq1C6VSyVdffSUp9/f3B2DPnj2SckdHR8mipObm5nTp0oWIiIgcH+zdu3dvyetPPvkEjUbD3bvS2YUuLi6SD2KAffv28eTJE9q3b09MTIzhJyUlhU8//ZSwsDD0ej2pqals27aNpk2botfrJXV9fX1JTU3l2LFjbxz7mTNnuHnzJl9++SWPHj0yXDMuLo6GDRty+fJlw5IdJiYmhuQlKSmJR48eIZfL8fLy4ty5c2987+x4l2cmk8mwsLDg1KlT3L9/P1fiexdigQyhwNFrU0i++DOZdh2dOYLyyG5J/eklmpHsUpbhlcQ+R4KQlZs3b2Jvb59h0oWzszOmpqbcvCndvd3FxSVDK0t6N8atW7dydBZOiRIlJK/Tp4c/fvw4Q0wvu3btGgCff/55ltd/+vQpsbGxJCQkEBQUlKG7LN2LC6VmV/r9+/Xrl2Wdhw8fGmbN/vzzz4bWpReVKVPmje+dHe/yzAoVKsQPP/zAN998Q7ly5fDy8sLHxwc/P7+37tLKSSKBEQocTUQw+mfSf9wqj2+QJWsxXjpdUn7e3JFA17bsqWOFUi7W9RGEnJJZF9HrBrq+razWEnv5fpmtu6L7/73PFi9eLFlO40WmpqY8evQIgI4dO2Y5I+ptPpTT7//TTz8ZFmF9WcmSJQGYMmUKU6dOpWvXrtSrVw8rKyvkcjlTpkwhOjp7Sz5k1XWn1WozLX+XZwZpz6tu3brs2LGDkJAQ5s2bx6xZs1iwYAGtW7fOVsy5RSQwQoGiTI5AE5VF19FvE5DHP/9GppEp6OXxFSOrWlPWSpnXoQofsNwao5KfSpQowcmTJ3n69KmkFSYyMpLExMQMrSA3btzIsCjo9evXAXBycsqboLMhvYXBxsaGunXrZlmvePHimJqaotPpDLNUc/L+lpaWr73upk2b8PX1lYz3AQgICJC8ftX4IrVaTVxcXIbyl1t0XiW7zyydvb09ffr0oU+fPjx69Ij69eszbdq0fE9gxBgYocDQa1NQP1pJZl1HRidCUJ4IkdSfVLIlpqXL8HX5jOsQCYIg1aRJEzQaDQsXLpSUp3+YNmrUSFJ++/Zttm17PtMvISGB4OBgnJ2dC9Rg7yZNmmBhYcHUqVMzTAcHDC0bKpWKZs2asWnTJi5evJihXmxsLKmpqW98/+rVq+Pk5MSsWbN4+vRplveHtFmxL7cqHTp0KMP4F3Nzc0NML3NxcSEqKorLly8byuLi4t5oint2n5lGo+HJkyeSY0WKFMHJySnT2PKaaIERCgxNRDDKVOlAMVUZf+TPUlAtnyEp/8vCmdmlWhFaxwq52BJCEF6refPm1KlTh4kTJxIREUHFihU5cuQImzZtok2bNhlWfHVzc2PgwIGcOXMGW1tbVq1aRWRkJEuXLi1Q27Co1Wp+/vlnBgwYQJ06dWjbti22trbcvn2bQ4cOUbRoUVauXAmkbUx8/PhxfH196dq1K2XLliUuLo4LFy7w559/cunSpTfek8nIyIg5c+bg5+dHzZo16dSpE46Ojty7d48TJ04QHR3NoUOHAGjatCkzZsxg4MCBVK9enatXr7JixQrKlClj6NaBtP36SpQowdq1a3FycsLKyopSpUrh7e2Nn58fkyZNomPHjvTt25eUlBR+//13ihcvnu3tGbL7zB49ekSVKlVo0aIF5cqVo1ChQhw5coTDhw8zaNCgN3pOuUEkMEKBoI27iCbypa6jYg3Tuo5+HYP8abyhPFlmRC+Pr/ihljXOhcRfYUHIDrlczurVq5k0aRKbN29m1apV2NvbM3LkSMm06nRubm4EBgYSEBBAeHg4jo6OzJ8/P9+7DTLj5+eHo6MjM2bMYM6cOSQnJ2NnZ0e1atXo3r27oV6xYsUICQlh6tSp7Nixw7D4W+nSpRkzZkymq8pnR926ddm7dy/Tpk0jKCiIJ0+eYGtrS8WKFRkxYoSh3siRI0lJSWHjxo1s3LiRcuXKsWLFCn7//XfOnz8vuea8efMYPXo0o0ePJjk5mZ49e+Lt7Y2NjQ0rVqxg7NixBAQE4ODgwKBBg5DL5Zw9ezZHn5mlpSU9evQgJCSEbdu2odVqKVmyJJMnT37loOW8ItaBEfKdLukhSaf90ac8H98iU1ljWmMBypNHMVk4SVJ/lIsf5z5pz2pf6wL1TfB9J9aBEdK5u7tTtWpV/vjjj/wORRCyJL6+CvlKr00i+Z/xkuQFQOXhj/xJIqoVsyTlJwq5srR0cw5/YiWSF0EQhI+YGMSbBx4805Kg0b2+4kdGr9eRfHE6uqfXJeXKEl9iZF0d4yXTkCcmGMoT5Up6lv2K6Z9aY2f2fu5mKwiCIOQMkcDksguPNPhse0j/Q4/R6kRv3Ys0/wWjfXhYUpZoUgGlaw+MDm7H6PxJybExLn5U8nSlpXPe7T4rCIIgFEyiCykX7b+TRI+QRzzR6LmdoCXgdDw/VhcbDQKkPghFEyHtX5eZOxOr7oZNTBSqVb9JjoUVLsM696YcrflmMwQEQXhzV69eze8QBOG1RAtMLtHp9Uz8K54nmuetLnMu6T59HgAAIABJREFUPGXJ5YRXnPVx0MZf+f9dpl+gLIxJxQnoZSqMg6YiT3pmOJQgN6a3R39m17FGbSz+ygqCIAgigck1cpmM4AZFKGYqfcTDj8ey/05SPkWV/3TJ0ST/MwF0Kc8LZUpMKoxDbmpH0b8OYnTxjOScka4dqe9dCh+HjEtiC4IgCB8nkcDkIkcLI1b7WmNm9Hy2jFYPPUIeceFRxtUPP3RpM44moE95JClXefijUJdH9uA29vula8HsV5dnT5lG/FDVMi9DFQRBEAo4kcDkMq+iKhZ9ZsWLE36faPT47Yvh/rPMN9/6EOn1OpIv/YzuSbikXFmiHcriDUGnxWRRIArN85aZeIUJ/cr2Y95n1pgrxV9VQRAE4TnxqZAHvihpyk8vDd69naCl4/6Yj2Z6tea/lWijwiRlCusaKF17AqDcuRZF+L+S4/8r3ZU2VZ2pYWecZ3EKgiAI7weRwOSRAeXM6eNhLin7O1pDv49genXqg0NoIlZKymTmJTEuPwKZTIH8v8uo1i+WHN9RxIuTZX34zlt0HQmCIAgZiQQmj8hkMgJrFKahg7Q1YfvNJAJOx2dx1vtPGx9O8qWfpYX/P+NIZmQOSc9QzfsRme55d1qMkQWDyvZhQV1rjBVitV1BEAQhI5HA5CEjuYwl9YtQ3kq6/M6HOr1alxxD8j/jQZf8vFBmhEmFschNiwGgXPErRg9uS87rV6YPPWuWxLOIMg+jFQThY6TRaBg7dizly5fHysqKtm3b5ndIQjaJhezyWCGlnDW+1vhue8j9xOfjX4Yfj6VkIcUHM1VYr03+/xlHMZJyVZnBKNSeACiO78f48C7J8QXFG5Dg9Sn+nm+3K6wgfEzU6uwt7Dh37lw6d+6cy9E85+vry+nTpzM9dujQISpWrJhnsbxOcHAws2fPpl+/flSuXJnixYvnyn3++ecftm/fTrdu3XBwcMiVe3xsRAKTD9KnV3++M5pnqWnjX9KnV+/63Iby73nLg16vJ/nSL+ieSFfzNHJqg9K+MQCy6PsQJF3M7pKZPYu9OvJn/SIo5KLrSBBeZ8GCBZLXy5Yt4/Tp08yZM0dSXqNGjbwMCwBHR0fGjh2bobxEiRJ5HsurhIWFYWtry9SpU3P1PufPn2fKlCn4+vqKBCaHiAQmn3gVVbG4rhWd9z8ifQhv+vTqfc1sKPYeb1aoifgDbdRBSZnCuhqq0r3TXmhTif3lBxxSnnebJcuMGFnVn8AKYCGmTAtCtvj5+Uleh4aGcubMmQzl+UGtVheIOJ49e4aZmVmWxx8+fEjhwu/vFi+pqanodDpUKlV+h5LnxCdFPvq8xIc3vTo16jCa/1ZIymTmJTAu/x0yWVpSdmPFMhzuXJTU+bFMR35sX5UiH9+/QUHIMwkJCYwZMwZPT09sbW3x8vIiMDAQjUa6sKa7uzudOnVi//791KlTBzs7O6pWrcratWtzNJ7o6Gj8/f1xd3fH1taWGjVqZGhVunr1Kmq1mg0bNmQ4393dnSFDhhheL1myBLVazfHjxxk+fDhubm6UKlUq03unXzcsLIzw8HDUanWG+6xevZp69epRvHhxSpQoQadOnbh27ZrkOufOnaN///5UqlQJOzs7SpcuTb9+/bh//74kroEDBwLQsGHDDPd6+X2k69WrF9WqVcsQ82+//ca8efPw9vbGzs6Oc+fOAaDT6fjtt9+oVasWdnZ2lCpViv79+0tiAQgPD6dr1664u7tjZ2eHp6cnPXv2JCoqKtNnVVCJFpi8oE2F5CQwyziuY0A5c/6LT2XRC4N406dXL3/PulK0T8JJvjhNWqi0fD7jCLh44gxVQqRTqvdYV6Jh7y6UsjQi/EFeRSsIHxedTkeHDh0ICwujc+fOeHt7c/jwYQIDAwkPDycoKEhSPzw8nJ49e9KrVy86duzI6tWr6devH8bGxrRs2TJb94uJeWkMnEpFoUKFgLSWkWbNmnH9+nV69+5NqVKl2LlzJyNHjuT+/fsEBAS89XsdMmQIRYoUYfjw4Tx58iTTOsWKFWPBggX8/PPPxMfHM2HCBABDwjB58mSmTp1Kq1at6NKlC/Hx8SxatIjGjRtz6NAhQzfQ3r17iYiIoEOHDtjb2xMeHs6yZcs4e/Yshw8fRqVSUbduXXr06MGyZcv47rvvcHFxkdzrTa1YsYLExES6d++OiYkJRYsWBWDQoEGsXbuWjh070q9fP+7evcvChQs5deoUBw8epFChQiQmJtK6dWv0ej39+/fHxsaG+/fvs2/fPh48eICtre1bxZQfRAKTW/R65DevYXRkD0bH95FarR4pXb/JUE0mkzG5RmEinqSy987z2Trp06vfl92r02YcTXhpxpECE88xyE3TBsWF34ul2JJJKHi+7s0DpSWp/b6jsq1YrE4oOCy618vV6z/9PTRXr5+ZP//8k7CwMMaMGcOwYcMA6NOnD0OHDmXJkiX06dOHWrVqGeqHh4ezYsUKmjdvDkD37t2pXbs2AQEBtGjRApns1V+uLl68iKurq6SsRYsWLF++HICgoCAuX77MwoUL+fLLLw3xdOjQgVmzZtGzZ8+3Hi+jVqvZunUrCkXWXfGWlpb4+fmxfPly9Hq9pLvrxo0bTJs2jXHjxklaRtq3b0/NmjWZMWMG06dPB+Drr782PM90vr6+tGrVip07d9KyZUtcXV2pVq0ay5Ytw8fH560Tl3R37tzhzJkzhsQF4ODBg/zxxx8EBQVJZlJ9/vnn+Pj4sHTpUvz9/blw4QK3b99m9erVNGnSxFBvxIgR7xRTfhBdSLlE8c9JzMb1RbV7HfK4xyhPHIDUzPc/et+nV+u1ySSf/wF9crSkXOU+CIVV2myDu09TufXrVEokSeucbvc/PvPInVH/giA8t2vXLpRKJV999ZWk3N/fH4A9e/ZIyh0dHWnWrJnhtbm5OV26dCEiIoLwcOmWIJlxcXFh8+bNkp+RI0dK4rG3t6ddu3aGMrlczqBBg9DpdOzfv/+t3idAjx49Xpm8vM6WLVvQ6/W0bt2amJgYw4+ZmRleXl4cOnTIUPfF8TVPnjwhJiYGT09PzMzMDF07Oa1ly5aS5AVg8+bNqNVq6tatK4m5RIkSODk5GWJObwHbv38/iYmJuRJfXhEtMLlEW84bvZkFsmdPAZA9iUPxz0m0lT/JtP6rpleXsFDg61gwp1fr9XqSL89EF39FUm7k2AqlQ1MAYpN1LA/ayI93j0rqHPNuQd0mdfMsVkH4mN28eRN7e3ssLKRd2c7OzpiamnLz5k1JuYuLS4ZWltKlSwNw69Yt3N3dX3k/c3Nz6tWr98p4XF1dkcul36M9PDwMx99WehfN27p27Rp6vR4vL69Mj1tZWRn+PyYmhoCAALZt20ZsbKykXlxc3DvFkZXM3t+1a9eIjY01/Bm9LH3KfZkyZejVqxeLFi0iODiYWrVq0bhxY7788kvJ+3ofiAQmtyhVpFavjzL0z+dFR/dkmcBA1tOre4YW3OnVmsg1aB+ESMoURaqgKt0XgGStnpFb/mXBWWn/+i1rZzy/HphncQqC8GYy6yLS63N/25OX7/GqriqtNvMNcU1M3u0Ln06nQ6FQsH79+kzvb2T0/KOza9eunDt3jkGDBuHp6YmFhQUymYxu3bqh02VvMkZW7/FN3p9Op6NYsWLMnz8/03NeTFx/+eUXevXqxa5duzhw4ACjRo1i+vTp7Ny5M8sEqCASCUwu0nzSSJLAKM4ehYQnYF4oy3Pel+nVusR7pFxflmG6tMzMCWPPUcjkCnR6PYNCohh6aCYWL4yNSVaoUA8JQKYS416Egik/xqjkthIlSnDy5EmePn0q+TCLjIwkMTExw3iTGzduoNfrJR+u169fB8DJySlH4rl+/XqGe1y9etVwHJ63HLzcmvH06dMMg4RziouLC1qtFhcXF5ydnbOs9+DBA44ePcr48eP59ttvDeXx8fHEx0u3iHlVIqZWqzNtrXmTVigXFxdOnjxJzZo1s5XAeXp64unpybBhwzh79iwNGjRgwYIFTJs27bXnFhRiDEwu0rl5orOxN7yWaTQYnTr4ijPSZDW9usO+/J9erdc8ITl8AYnH+2ZIXjAqJJlxNOZUHF4Hg6n25IakWkqngcic3q2JVxCEN9OkSRM0Gg0LFy6UlM+ePRuARo0aScpv377Ntm3bDK8TEhIIDg7G2dkZNze3HInn7t27kmnLer2eOXPmIJfL8fHxAcDGxgZLS0vCwqS72S9eLN0ANie1bt0auVzOpEmTMm11io5OG8uXPs7m5TovLyQIaV1qQIZuJkhLPo4fPy6Zzn7q1CnOnj2b7Zjbtm2LRqPJdEE+nU7Ho0ePgLRE8OWWHQ8PD1QqVa51eeWWfG2BWbRoEUuXLuXWrVtA2kMcNmwYjRunrdaq1+sJDAzk999/JzY2lipVqjB9+nTKli1ruEZsbCwjRoxg1660JembNGnC1KlTJUtsX7hwgeHDh3PmzBmsrKzo0aMHI0aMeO0o+ncmk5FauyGqLb8bipRH9pBar9krTkqT2fTqszEayq29j5mRDIVMhlwGChkoZLL//y/I5c//P/1Yej35C/XMlDI+sTOmbSlTrE1e36qj16aQemcrKRGrIfVpJu9VgUmFMcjN0hK2Of8+4dLhk8y8uU1S7ZnXp8h8Wrz2foIg5KzmzZtTp04dJk6cSEREBBUrVuTIkSNs2rSJNm3aSGYgAbi5uTFw4EDOnDmDra0tq1atIjIykqVLl+bI787evXsTHBzM119/zZkzZ3BxcWHnzp0cOHCAb7/9VtIi1L17d2bPnk2hQoXw8vLi9OnTnDhxAkvL3Nmt3s3NjTFjxvDDDz/w33//8cUXX1C4cGFu3brFrl27+OyzzwgMDKRo0aJUq1aN6dOnk5CQgL29PUeOHOH06dMZYqtUqRIymYzp06cTFRWFiYkJ1atXx8nJiZ49e+Ln50fbtm1p1aoVt27dYvny5Xh4eJCampqtmOvXr0+PHj345ZdfOHfuHPXr18fExISIiAj+/PNP+vfvz9dff82+ffsYN24cLVq0oHTp0mi1WtavX09SUhKtW7fOjceZa/I1gbG3t2fChAm4urqi0+lYtWoVnTt3JjQ0FE9PT2bNmsXcuXOZO3cubm5uTJ06ldatW3Pq1CnDSOo+ffpw+/Zt1q1bh0wmw9/fn/79+7NmzRogrSmvdevW1K5dmwMHDhAeHs7AgQMxMzNj8ODBuf4eNS8lMIqr/yB7eA+9zatn3mQ1vTouRU9cSs70Q2+JSGLUyTgaOZnQwdWMxk4mGXZ/1ut1aB8cJOXGUvRJmS9yJLdwRVVmIIrC5QBYf+MZvxy9w9+X5iF/Ycq0Rl0UXd/hkNuJoyAIGcjlclavXs2kSZPYvHkzq1atwt7enpEjR2aYBgxpH+KBgYEEBAQQHh6Oo6Mj8+fPz7EPOTMzM7Zv386ECRNYt24dcXFxODs7ExgYmGGm1Pfff09sbCxbtmxhw4YN1KlTh82bNxtaaXLD0KFDcXd357fffmP69OnodDqKFy9O7dq16dixo6He0qVL+e6771i8eDE6nY5PPvmELVu2ZGjRcnZ2Zvr06cyePRt/f3+0Wi1BQUE4OTnRuHFjJk6cyPz58/n+++8pV64cy5YtY+nSpZw/fz7bMc+cOZPKlSuzbNkyfvrpJxQKBQ4ODjRp0sQwZdrLy4t69eqxa9cu7t+/j4mJCWXLlmXNmjWGxoP3hSw2Njb3R2W9AWdnZwICAujRowceHh707dvX8I8rMTERNzc3Jk6cSM+ePbly5Qo1atRg165d1KxZE4Bjx47RtGlTTp06hZubG0FBQYwfP56rV69iamoKwLRp01iyZAkXL17M/VYYwHTiQBTXLhheJ7fphaZlt2yd+0Sjo8n2h1x4nL0s/F2oVTLaljKjY2kzqhRVoov9h5Rri9E9yXzKpMzYFpVrdxR29ZHJ0nojD95Npt2eh6w6P5NW0c83c9PLZCSN/AVtWe9XxhAeHp4jzdPCmxPPXkjn7u5O1apV+eOPP/I7FEHIUoEZA6PVatmwYQMJCQlUr16dyMhIHjx4QIMGDQx1TE1NqV27NidOnADg5MmTWFhYSDYqq1mzJubm5pI6tWrVMiQvAD4+Pty7d4/IyMg8eW+a2tJMXHlkD2RzNH8hpZy1DYviXTT3ZyDFpugJupzAV7vOsW/39yT9PTLz5EVhhtK1F6Y1F2FUzMeQvJx/pKHLgRh63t4vSV4ANF90em3yIgiCIAjZle+zkC5cuECjRo1ISkrC3Nyc4OBgypcvb0hAbGxsJPVtbGy4d+8eAFFRUVhbW0taUWQyGUWLFjXs6RAVFYW9vX2Ga6Qfe9UI85ySWqMe+pWzkWnTWlHkD24jv3EJnWu5bJ3vYK4gpLktj5N1JGv1aPWg1evR6UGrS/v/tLIXyvWg1T0v171YrocLjzWsvvaMq3HPW3Zs5HH8T72FjhZhGMkyDhbWyxQoHZqhcu6ETCUdZHzzaSrt90TjGHuLn68HS45pXTxIad3zTR+bIAiCIGQp3xMYNzc3wsLCiIuLY+vWrQwYMEAy8v3lLp6Xp9xltVbBq+qkjxjPi+4jACwKo61UE6Mzhw1FRkf2kJLNBCadlXHONZg1djJhSAUL/o7WsP7aI9RRm+lhvhNzeXKm9bclVGFGfDsqykvSwdyYusX1hn2aHiVpabcnhsdPk9h+cS6muucj6fUmpiQNGANG+f5XTRAEQfiA5PunikqlMuwW6u3tzZkzZ/jtt98M416ioqJwdHQ01I+Ojja0oNja2hIdHS1JWPR6PTExMZI6L++wmT4F7uXWnZdlZ7ns7CpcqgKlXkhg5Ef3cq16Y/SKfPwj0OuwSzjOd8nbURSKz7TKqaTSTHzcnr9S0hY3unwjkbU3ErFR6Whqo8XXJpXp11VcfaLg5xtrqJQgXbfgZqMOPIpPhPjsP8ucfO7Cm/lQn72Dg4NkyXfh1dLXYhGEd/Hs2TPu3LmT6bGcGG+X7wnMy3Q6HSkpKZQsWRI7OztCQkKoXLkyAElJSRw7dowffvgBgOrVq/P06VNOnjxpGAdz8uRJEhISDK+rV6/O+PHjSUpKMizuExISQvHixSlZsuQrY8nRAY3OJdHvDEaWkLYzqlFiAmWexaCt/GnO3SOb9Ho92phTpFwPQp+Q+TigJ4pizH3WntkPKgEZW6oepshZfkfO8jtpY3Oaxpzlmzu7JHU0NX2wbtMN6zdo6RIDSfOPePaCIOQkMzOzXP2dovjuu+/G59rVX2P8+PGoVCp0Oh137txh3rx5rF27lvHjx+Pq6opWq2XGjBmGueqjR4/mwYMHzJw5E2NjY4oWLcrp06dZv349FStW5M6dOwwZMoTKlSvTv39/AFxdXQ1T0dzc3Dh27Bjjxo3j22+/lQz+zXUKBfKH91FEPN8zSKZNJbVG/byLAdBrk0j+90c0/wWDJpNFi5SWqFx7Yen5Pxq4e9C2lCmWShm3nmqJ12Q+8Ng2JY4d/0yRrLarK1qMpCGT4Q1X23306BHW1tZvdI6QM8SzFwThfZKvLTAPHjygX79+REVFYWlpSfny5Vm/fr1hbv8333xDYmIiw4cPNyxkt3HjRsMaMJC2GN7IkSNp06YNAE2bNpWsRFi4cGE2bdrEsGHDqF+/Pmq1moEDBzJo0KC8fbP8/9YCIVsNrxVnj712a4GclhK+EG30iYwH5CqUTq1QlvQzrKQL4FZYydgqhRld2ZLD91NYfe0ZWyMSefr/ezXJ9DqWXJ6PneZ5F5ReLidpwFgws8hwG0EQBEHICQVuHZgPml6P2YjOyKPuGoqSevyP1PrN8+T22vhwkk77Ay/+kcswKuaDslR35CavHhOULkGjY9vNJFZfe0bFE5szzDp6k3VuXia6MfKPePaCILxPCsw6MB8FmSyTNWF258mt9XodKVd/48XkRWZSHJNqszEuNyzbyQuAuVKOXwkjtmn3MT1yjeSY1r0imuadcypsQRAEQciUSGDyWGrthpLXivB/kb3QIpNr971/AF38JUmZqsxAFIXecOt0vR7F6TDMRvXAeM18ZKkvTJk2Myfpq9EgLxg7ZguCIAgfLpHA5DG9nQPa0p6SMqOje3P3nqkJaK4HScoURWtiZF31ja4jjwzHJHAIprPHSrrB0iX3GIbe2u6dYhUEQRCE7BAJTD7QfCJthVEezf7WAm8j5b+V6FMePy+QK1G59c/2+bK4RxgvmYZpQD+MLmfc3l1vZk5S7xF5PqNKEARB+HiJBCYfpFavj97o+d5G8gd3kF+/mCv30iVEknp7i6RMWaI9ctNX74YNQEoyym0rMRvRBeXB7cheSrL0MjkpPq1ImLqS1M8+z8mwBUH4wF28eBG1Ws2WLVteXzkXrFixgqpVq1K0aFEcHBzyJQbh3RS4hew+ChaWaL1qYXT6kKFIeWQPyaXL5+ht9Ho9yVfngV5rKJMZ26Is+eXrTkRx+iDGq+cjj76faZVUz2qkdByAzrFUToYsCMIbUKvV2ao3d+5cOnfOu8H1vr6+nD59OtNjhw4domLFinkWS2YuXLiAv78/DRs2ZMiQIZLNfnPS48ePmT9/Pg0aNMjbdcc+EiKBySea2g0lCYzRiRCSOw8Co5zbdVr78Ai6x9IuH5VbP2QKkyzPkUdcxXjlHBRX/8n0uK64E8kdB6KtWAPyai8pQRAytWDBAsnrZcuWcfr0aebMmSMpz48PT0dHR8aOHZuhvESJEgCULVuW+/fvo1Kp8jo0jhw5gl6vJzAw0LCVTW54/PgxU6ZMwcLCQiQwuUAkMPlEW6kmenNLZAlpC8DJEuJRnDuOtkqdHLm+XptESvhCSZncyguFzSeZ1pfFxqBavxijw7sydBUB6M0LkdKqB5oGLcXGjIJQQPj5+Uleh4aGcubMmQzl+UGtVr8yDplMZtjeJa89fPgQSFvo9H2VmJiYay1H7wsxBia/GCnR1GwgKVLm4GwkTeRa9MkvbGIpU2DsPiDjDtwpySj/DMZsRGeUYTszjnORy0lp2JaEqSvRNGorkhdBeI8lJCQwZswYPD09sbW1xcvLi8DAQDQajaSeu7s7nTp1Yv/+/dSpUwc7OzuqVq3K2rVrcyyWl8fArFy5ErVanWnXU2bHbt++zddff427uzu2trZUq1aN+fPnv/a+pUqVYtq0aUDaVjNqtZrhw4cbjp84cYK2bdtSokQJihUrRqNGjQgJCZFcIyoqiu+++46aNWvi4OCAk5MTrVq14syZM5L3l76P39ixY1Gr1ZJ7devWjVq1amWIb+HChajVamJiYiQxd+vWjX379lGvXj1sbW1ZvHix4fiuXbto2rQpDg4OODg40Lp1a/7++2/JdWNjYxkxYgQVKlTA1tYWd3d3WrduzalTp177zAoq8WmUj1JrN0S1f7PhteLsMXgaDxaW73RdXeI9NDfXScqMHFsiN39h80q9HqOTIajWLEAe8yDz+CrVJLnDAPT2r970UhCEgk+n09GhQwfCwsLo3Lkz3t7eHD58mMDAQMLDwwkKki61EB4eTs+ePenVqxcdO3Zk9erV9OvXD2NjY1q2bJmt+734IQygUqkkW8G8qFmzZgwdOpQNGzZQtap0iYeNGzdSsmRJQ/mdO3fw8fFBqVTSp08fihYtyqFDh/juu++Ijo5mzJgxWcY1Y8YM1qxZw44dO/jll18wNzc3rEC9d+9eOnXqhLe3NyNGjMDIyIi1a9fSrl071qxZg6+vLwBXrlxh9+7dNG/eHBcXF2JiYli2bBnNmjXj8OHDlCpVCgcHByZOnMjYsWNp164dDRumzT5929WuL168SJ8+fejVqxc9evTAxcUFgOXLlxvG84wbN46UlBR+//13Pv/8c/bu3YunZ9qyHQMHDuTAgQP07duX0qVL8/jxY06ePMmFCxeoVq3aW8WU30QCk490ruXQ2Tkif3AbAFmqBqOTIaQ2eP0vh1dJCV8AuuffqGQqK1Quzwfwyf+7gvHK2SjC/808LvuSJHf8Om2ciyB8hBIONMnV65s32PX6Sjnszz//JCwsjDFjxjBs2DAA+vTpw9ChQ1myZAl9+vSRtAiEh4ezYsUKmjdP2+qke/fu1K5dm4CAAFq0aJGxNfclFy9exNXVVVLWokULli9fnmn9woUL4+vry5YtW/jpp5+Qy9M6CGJiYjh48CCDBw821A0ICECpVHL48GHDQOZevXrxv//9j1mzZtGvXz9sbW0zvU/Lli05f/48O3bsoGXLloYNTFNTUxkyZAgNGjRgzZrnK4z36dOHunXrEhAQYEhgqlWrxl9//WWIEaBr165Uq1aNRYsWMXnyZAoXLswXX3zB2LFjqVSp0jt36127do0tW7ZQt25dQ1lsbCzff/89ffv2NbQqQVrrTo0aNfjpp59YtWoVWq2Wffv2MWDAAMaPH/9OcRQkogspP8lkaF5amVd55N26kVJjTqGNPi69pmtvwwaNirNHMZ04MNPkRW9hSXLXb3j2Y5BIXgThA7Nr1y6USiVfffWVpNzf3x+APXv2SModHR1p1qyZ4bW5uTldunQhIiKC8PDw197PxcWFzZs3S35Gjhz5ynPatm3L3bt3OXbsmKFs69atpKamGjbs1Wg0bN++nc8//xytVktMTIzhx8fHB41GIzk/u06dOsXt27fx8/OTXDMuLg5fX18uXLjAo0ePADAxMTEkL4mJiTx69AgjIyMqVqzI2bMZ18rKCW5ubpLkBWD37t0kJCTQrl07Scypqal88sknhIWFAaBQKDAzM+PEiRNERUVldvn3kmiByWeptRtivGmp4bXi2r/IHtxBb/fm6xLodSmkXJX2Acsty2JULG2sjfz2DUzmTUSmTZWep1Cg8W1DSstueboztiAIeefmzZvY29tjYSHdJd7Z2RlTU1Nu3rwpKXdxccnQylK6dNrWI7du3cLd3f2V9zM3N6devXpvFGOTJk0wNzeuIp0vAAAW+ElEQVRn48aNfPJJ2oSDDRs24O7uToUKFYC07qPExEQWLlzIwoULM71OdHT0G90X0lo4IK0lJysPHz6kSJEiaLVapk2bRnBwMLdv35bUKVeu3BvfOzvSu4xelB5z48aNszwvfbDvxIkTGTp0KB4eHnh7e+Pr64ufn1+uzsLKbSKByWd6W3u07hVQXD1vKDM6uhdN6x5vfC3Nrc3oE++8UCJDVeZrZDI5PInFZOZoZEmJknNSvWqT3HEA+mJOb/kOBEH4EGXWRaTPxRXDAczMzGjatClbtmxh6tSpPHz4kKNHjzJixAhDHZ1OB0CXLl1o165dptd5m3Em6e8tMDAQDw+PTOs4OjoCMGnSJH7++We6d+/OZ599hpWVFXK5nMmTJxMfH5+t+2XVBafVajMtz2zGVnrMS5cuxcrKKtPz0qepd+nShfr167Njxw5CQkKYM2cOM2bMYPHixbRo0SJbMRc0IoEpADS1G0kSGOXRPWhadX+jdVZ0ydFoIv6QlBnZN0VRyA1SUzGZMx75w3uS48mdB6FplPkvAEH4mOXHGJXcVqJECU6ePMnTp08lrTCRkZEkJiYa1mdJd+PGDfR6veSD9vr16wA4OeXeF542bdqwfv16Dh48yJUrV9DpdLRt29Zw3N7eHmNjY/R6/Ru38LyKs7MzkDYW53XX3bhxI40bN2bWrFmS8tGjR0tev2qckFqtJi4uLkP5yy1hr5Ies62traHF6lUcHBzo27cvffv2JSYmhnr16jFt2rT3NoERY2AKgNTq9aRbC0TdRX7twhtdI+XaYtAmPS8wKoTKtQcAxsG/ZtjDSFOvOZqGbREE4ePQpEkTNBpNhm6X2bNnA9CoUSNJ+e3bt9m2bZvhdUJCAsHBwTg7O7/1TJrs8PX1Ra1Ws3HjRjZt2kSFChUk9zMxMeHzzz9nw4YNXL58OcP5jx8/zrIV41Vq1aqFg4MDM2fOJCEhIcPxF7ulFApFhuMhISFcuCD9vW1mZgakDbZ9WalSpbh3756hGyi93rp16zLUzUrTpk0xMzNj6tSpGabCvxhzSkoKT548kRyztrbG0dEx09jeF6IFpiAwL4TWuzZGpw4aipRH9pDs5vmKk57TPj6P9kGopExVqjsypSVG+zejDNkqrV+mEsld/cVKuoLwEWnevDl16tRh4sSJREREULFiRY4cOcKmTZto06ZNhjVJ3NzcGDhwIGfOnMHW1pZVq1YRGRnJ0qVLXzsD6V2oVCqaNWvG5s2bSUhIICAgIEOdn376iVOnTuHj40PXrl3x8PAgLi6OCxcusHXrVq5du5ZhrM/rKJVK5syZQ4cOHahZsyYdO3bE0dGRe/fucfz4ceLi4jhw4ACQljjMnj2bwYMHU7VqVS5fvszKlSspU6aM5Jp2dnY4ODiwevVq7O3tUavVuLq64uXlRYcOHZg8eTJffvklffv2JSkpiWXLluHo6JjtMTzW1tZMnz6dQYMGUbduXdq0aYONjQ23b98mNDQUe3t7fv/9dx4+fEjNmjVp0aIF5cqVw8LCgrCwMI4dO8a33377Rs+pIBEJTAGhqd1IksAYnfz/rQWUr15mW6/Tknx1rqRMbuGKkUNTFBfPYBz8q+SYrmgxEgdPyNEtCwRBKPjkcjmrV69m0qRJbN68mVWrVmFvb8/IkSMN06pf5ObmRmBgIAEBAYSHh+Po6Mj8+fNp3bp1rsfarl07goODATK9n729PQcOHGDatGls27aNoKAgrKysKF26NOPGjXvrFWrr16/Pnj17mD59OosXL+bp06fY2tpSqVIl+vbta6g3atQoUlNT2bRpE+vXr8fT05OVK1eyaNGiDDO05s+fz5gxYxg1ahTJycn07dsXLy8v7OzsWLFiBePGjWPcuHE4Ojry7bffotFo3mgmU6dOnXBycmLmzJn8+uuvpKSkYGdnR/Xq1enRowcAVlZWdOvWjdDQULZu3YpOp8PZ2ZkpU6ZI3tf7RhYbG5u7o7KE7EnVYP5NW2RPnw8ASxw8EW3VV28toLm9lZSrv0nKTCr/X3t3HhTF+eYB/DsMNygTCYwxiAqigBcqSxL9SSJjUoUHBhQHY20ZiXHX8thfKUYJGn9RClSMhhRG8UiZoFYUPBYtPJJVQxSPWAlRN4ZojIFCFhRFHDmG6en9Ax1pDgGZYWbw+6miZN5+e/rppgcfut9+n89gW+sG50/nQvbo6WVD0dEJ1cs3Qd/bckedX79+3aSXp6llPPb0xIABAxAcHIw9e/a03pnITDgGxlLY2qHutcalBU600LmeqK2A9qZ0Uii5Mgxy+z5w+jxBmrzIZKj5j+UWnbwQERG1FRMYC6IbLX2Wv760QNNR6k9o/9wJ6DQNVnCCvc8sOG5JhM3tv6V9p8yGMKL1UepERETWgAmMBdH7+EPfYD4WmaCD7YXTzfYVKgugKzkuabPvNwOO2fth+6t0Jt66N8ahbuJ7Ro+XiIjIXJjAWJLmSgs0cxtJFPWPx708Hb4kc+4Nx7+dYZ/zraSv0M8ftbFL+MQREbXZH3/8wfEvZPGYwFgYXaMERn7jfyErlU5VrSv5HvrKAkmbo0s4HHdulLTpFe6oWbgasHcwTbBERERmwgTGwoger0AYOEzSZpf3tMCjWKeB9k9p2Xu520i4bsuATPd0IiPRzg41CxMh9vAwbcBERERmwATGAjW+jWR79jvgcc0L7V+7gLoGA3tt7NH9eAlsHtyXrFP7wVLofQNMHisREZE5MIGxQLp/exOiXYPSAnduw+b6Veg1t6Arls6q61TqCfuCm5I27YT3oHtjXKfESkREZA5MYCyRSzfogqSPPNvmHUftH18Cot7QZqN3QbfjNyT9dEGjoJ06u1PCJCIiMhcmMBZKN1paWE24fQr6isuStm6n70PWoGaZ8Gpf1PzncsCGP1Yia1JVVWXuEF5YPPbWi7WQTEyoqL/1A1EHUV8HiDpAXwfodRDF+n/xuL1++dNl1eOdAFGAKAeEbjoATx+Fti8BHIqeXo0RXbuj5p9JgJNz5+8kEXVIcXExyziYCY+99WICY2K6/zsJ3e2c51pX7wE0e5FMD3Q7X2tIZ0S5HNULVkH07PW8YRIREVkVs95r2LBhA8aOHYvevXvD19cXarUav/32m6TP3LlzoVAoJF/jxkkHqNbW1mLJkiXw8fFBr169EBMTg+LiYkmfoqIiqNVq9OrVCz4+Pvjoo4+g1WpNvo+wMX6O6PybDraVTyexq/33/4LeP8jo2yEiIrJUZk1gzpw5gw8++ADHjx9HdnY2bG1t8e677+L+fekjwW+99RYKCgoMX5mZmZLl8fHxOHz4MHbs2IGcnBw8fPgQarUaglA/QEQQBKjVamg0GuTk5GDHjh3Izs5GQkKC6XdSZtd6n3awKxHg+qvO8Fqrehe6sRFG3QYREZGlM+stpAMHDkhep6enw9vbG+fPn0d4eLih3cHBAUqlstn3ePDgATIyMrBp0yaMHTvW8D5DhgzB6dOnoVKpcPLkSVy7dg1XrlyBl5cXAODTTz/FwoULsWLFCnTv3t1EewjI3QIAYXz9lRiZHWQ2do+/t338vR0gswVsbCGTPX7dYLlt3knY/082oAdstCLkj56+ty5wBLTvzTdZ7ERERJbKosbAaDQa6PV6KBQKSfu5c+fQv39/uLm5YfTo0VixYgU8POpnmM3Pz0ddXR3CwsIM/b28vDBw4EBcuHABKpUKFy9exMCBAw3JCwCoVCrU1tYiPz8foaGhJtsnW89/wNbzH8//Bq8pYbfvv5s06z17oWbevwBbi/oREhERdQqL+t9v2bJlGDJkCEJCQgxt48aNw6RJk9CnTx8UFhYiMTEREREROH36NBwcHFBWVga5XA53d3fJe3l4eKCsrAwAUFZWZkh4nnB3d4dcLjf0sVTiyz0h+A+D/Pdfn7Y5OqP6n0mAq+muHBEREVkyi0lgPv74Y5w/fx7Hjh2DXC43tE+ZMsXw/aBBgxAUFIQhQ4bg+PHjiIhoeeyHKIqQNajALGuhGnNL7ZakOj7V3CF0Gj7OaD489ubDY28+PPbWyyJmPIuPj8f+/fuRnZ2Nvn37PrPvK6+8gl69euHmzfrp8z09PSEIAsrLyyX97t69a7jq4unp2eRKS3l5OQRBaHJlhoiIiCyf2ROYpUuXIisrC9nZ2RgwYECr/cvLy1FSUmIY1BsUFAQ7OzucOnXK0Ke4uBgFBQV47bXXAAAhISEoKCiQPFp96tQpODg4ICiIjx8TERFZG1lFRYXYejfTiIuLw969e7Fr1y74+/sb2l1cXODq6gqNRoM1a9YgIiICSqUShYWFWLVqFYqLi3HhwgV069YNALBo0SIcPXoUmzdvxksvvYSEhARUVFTghx9+gFwuhyAIGDNmDNzd3ZGYmIj79+9j7ty5mDhxIlJSUsy1+0RERPSczJrANH7a6ImlS5ciPj4e1dXVmDFjBi5fvowHDx5AqVRizJgxSEhIkDxRVFNTgxUrViArKws1NTUIDQ3FZ599JulTVFSEuLg45ObmwtHREVOnTkViYiIcHBxMvp9ERERkXGZNYIiIiIieh9nHwFia7du3Y+jQoVAqlXjzzTeRl5dn7pC6vOTk5CblItoyHora7+zZs4iJiUFAQAAUCgV2794tWS6KIpKTk+Hv74+ePXtiwoQJuHbtmpmi7VpaO/ZtKZtC7deWkjU8703DWOWCWsIEpoEDBw5g2bJlWLx4MXJzcxESEoLo6GgUFRWZO7Quz8/PT1IugomjaTx69AiBgYFYs2YNnJycmixPTU3Fpk2bsHbtWpw8eRIeHh6IjIzEw4cPzRBt19LasQdaL5tC7deWkjU8703DWOWCWsJbSA2oVCoMGjQIX3zxhaFtxIgRmDx5MlauXGnGyLq25ORkZGdn49y5c+YO5YXy6quvYt26dZgxYwaA+r9C/f398eGHHyIuLg4AUF1dDT8/P6xevRqzZs0yZ7hdSuNjD9T/JXrv3j3s3bvXjJF1fRqNBt7e3ti9ezfCw8N53neixsce6Nh5zyswj2m1WuTn50tKEgBAWFgYLly4YKaoXhy3bt1CQEAAhg4ditjYWNy6dcvcIb1w/v77b5SWlko+A05OThg1ahQ/A53kSdmUkSNHYuHChbhz5465Q+pyGpes4XnfeVorF9Te895iZuI1t5YmtmtYkoBMIzg4GF9++SX8/Pxw9+5dpKSk4J133sH58+fRo0cPc4f3wigtLQWAZj8DJSUl5gjphdJa2RQyjsYla3jed57nKRf0LExgGmlcWqBxSQIyvrffflvyOjg4GEFBQdizZw/mz2e17c7Gz4B5PG/ZFGq7lkrWADzvTc3Y5YIA3kIyaKm4Y8OSBNQ5XF1d4e/vbygXQZ3jyezW/AxYhsZlU6hjWipZw/Pe9DpSLuhZmMA8Zm9vj6CgIElJAqC+5MCTkgTUOWpqanD9+nXDLxbqHH369IFSqZR8BmpqanDu3Dl+BsygcdkUen7PKlnD8960Olou6Fnky5Yt+5cRYuwSunXrhuTkZPTs2ROOjo5ISUlBXl4e0tLS4ObmZu7wuqzly5fD3t4eer0eN27cwJIlS3Dz5k1s3LiRx93INBoNfv/9d5SWliIjIwOBgYHo3r07tFot3NzcIAgCNm7ciP79+0MQBCQkJKC0tBSff/45x2F00LOOvVwux6pVq+Dq6gqdTocrV65gwYIFEAQBKSkpPPYdEBcXh2+//RY7d+6El5cXHj16hEePHgGo/8NVJpPxvDeR1o69RqPp0HnPx6gb2b59O1JTU1FaWoqAgAAkJSVh9OjR5g6rS4uNjUVeXh7Ky8vx8ssvIzg4GAkJCZL6WGQcP/74IyZNmtSkffr06di8eTNEUcSaNWuwc+dOVFRUYOTIkVi/fj0CAwPNEG3X8qxjv2HDhjaVTaH2a61kDQCe9yZirHJBLWECQ0RERFaHY2CIiIjI6jCBISIiIqvDBIaIiIisDhMYIiIisjpMYIiIiMjqMIEhIiIiq8MEhoiIiKwOExgi6vK++eYbKBQKFBcXmzsUIjISJjBEZDS7d++GQqHATz/9JGmvqqpCREQE3N3dkZmZ2ey6aWlpUCgU+P7771t8/5ycHCgUCqSnpxs1biKyPkxgiMikqqqqEBMTg7Nnz2LLli2Ijo5utl90dDTkcjn27dvX4ntlZmbC1tYWUVFRpgqXiKwEExgiMpmGyUt6enqLyQsAKJVKhIaGIicnB1VVVU2WP3z4EMeOHUNYWBg8PDxMGTYRWQEmMERkEo2Tl6lTp7a6jlqthkajQU5OTpNlhw8fRnV1NaZNm2ZoO3PmDGbOnInBgwfD09MT/v7+WLRoER48eNDqtgIDA7FgwYIm7XPmzMHw4cMlbaIoYsuWLRg1ahSUSiV8fHwwZ84clJSUtLodIjINJjBEZHQNk5etW7e2KXkBgEmTJsHFxaXZcTKZmZlwdXXF+PHjDW0HDx5EZWUlZs6ciXXr1mHixInYtWsXpk+fbrR9AYCFCxdi+fLlGDFiBJKTkzF79mycOHEC4eHhbUqWiMj4bM0dABF1PfPnz8ft27exdetWTJkypc3rubi4YPz48Th06BDu3buHHj16AABKS0uRm5uL6OhoODs7G/qvXr1a8hoAhg8fjnnz5uHSpUsIDg7u8L6cPXsWGRkZSE9Ph1qtNrRPmDABYWFh2LFjBxYtWtTh7RBR+/AKDBEZ3Z07d+Dg4ABvb+92r6tWq1FXV4eDBw8a2vbv3w9BECQJBABD8iKKIiorK1FeXo433ngDAJCfn9+BPXjq0KFD6N69O1QqFcrLyw1fXl5e6Nu3L3Jzc42yHSJqHyYwRGR0GzZsgIuLC6Kjo3H16tV2rTt27Fh4enoiKyvL0JaZmYmePXsiNDRU0rewsBDvv/8+evfuDW9vb/j6+mLEiBEAYLRbOzdu3EBlZSX69+8PX19fydeff/6JO3fuGGU7RNQ+vIVEREbn5+eH/fv3Y+LEiYiKisLRo0fh6+vbpnXlcjmioqKQnp6OwsJCaLVa/PLLL5g3bx7kcrmhnyAIiIqKwv3797F48WIMGDAALi4u0Gq1mDZtGvR6/TO3I5PJmm0XBEHyWq/Xw8PDA9u2bWu2v4uLS5v2i4iMiwkMEZnE0KFDsW/fPkRFRWHy5Mk4duwYvLy82rRuTEwMtmzZgqysLNTU1ACA5OkjALh8+TJu3LiBrVu3SpYVFBS0aRtubm7NXqUpLCyUvO7Xrx/OnDmDkJCQJuNtiMh8eAuJiEzm9ddfR0ZGBsrKyhAZGYm7d++2ab2goCAMHDgQmZmZyMrKgr+/P4YNGybpY2NT/+tLFEVJe1paWpu24ePjg4sXL0Kr1Rrafv75Z1y6dEnSLyoqCoIgYO3atU3eQxRF3Lt3r03bIyLj4hUYIjIplUqFbdu2ITY2FpGRkThy5Ajc3NxaXS86OhqJiYkAgE8++aTJ8oCAAPTt2xfx8fEoKiqCm5sbvvvuuzbPzTJr1iwcOXIEUVFRiIyMRHFxMb7++msEBASgurra0C80NBSzZ89GamoqLl++jLCwMDg7O+PWrVs4cuQIYmNjm51PhohMi1dgiMjkJk+ejNTUVFy9ehVqtbrZmXYbmzZtGmQyGWQyWbPzyNjb22Pv3r0YNmwYUlNTkZSUBIVC8cxSBA2pVCokJSXhr7/+Qnx8PE6ePImvvvoKgwcPbtJ3/fr1SEtLQ2VlJZKSkrBy5UqcOHEC48aNQ3h4eJu2R0TGJauoqBBb70ZERERkOXgFhoiIiKwOExgiIiKyOkxgiIiIyOowgSEiIiKrwwSGiIiIrA4TGCIiIrI6TGCIiIjI6jCBISIiIqvDBIaIiIisDhMYIiIisjr/D8sUTxJjvvSzAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from numpy import arange\n", "\n", "labels = ['{} features'.format(x) for x in col_names]\n", "plt.figure(figsize=(8, 4))\n", "\n", "for k,v in rmse_results.items():\n", " x = np.arange(1, 26, 1)\n", " y = v\n", " \n", " plt.plot(x, y)\n", " plt.xlabel('K Value')\n", " plt.ylabel('RMSE')\n", "\n", "font = {'family': 'serif', 'color': 'gray', 'weight': 'bold', 'size': 14}\n", "\n", "# plt.legend(labels=labels, bbox_to_anchor=(1.05, 1), borderaxespad=0)\n", "plt.legend(labels=labels, loc='lower right')\n", "plt.tight_layout()\n", "plt.title('RMSE Scores for Various K and Feature Combinations', fontdict= font)\n", "plt.savefig('rmse.png', dpi=300)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2514.181201 [Top Four Features, 2]\n", "2561.731904 [Top Five Features, 1]\n", "2958.964740 [Top Three Features, 4]\n", "dtype: object" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Getting Min. RMSE across different `k` values for each feature combination.\n", "k_rmse = {}\n", "\n", "\n", "for k,v in rmse_results.items():\n", " min_rmse = min(v)\n", " k_rmse[min_rmse] = [k, v.index(min_rmse)+1]\n", " \n", "pd.Series(k_rmse).sort_index()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From last two cells, we can observe that choosing the best `four features` with a `K value of 2` will give us the `lowest RMSE of 2514`.\n", "\n", "### K-Fold Cross Validation\n", "\n", "We can improve our model by splitting data into more then 2 folds. Now, we can use cross validation with KFold and check how many `splits` may help us predict price in a better way." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2416.119787 [21 folds]\n", "2460.825451 [9 folds]\n", "2478.254376 [15 folds]\n", "2489.796459 [23 folds]\n", "2496.384436 [17 folds]\n", "2551.093087 [19 folds]\n", "2586.700720 [11 folds]\n", "2601.038381 [10 folds]\n", "2605.380154 [7 folds]\n", "2650.294806 [5 folds]\n", "2670.410517 [13 folds]\n", "2721.148255 [3 folds]\n", "dtype: object" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.model_selection import cross_val_score, KFold\n", "\n", "num_folds = [3, 5, 7, 9, 10, 11, 13, 15, 17, 19, 21, 23]\n", "rmse_scores = {}\n", "\n", "for fold in num_folds:\n", " kf = KFold(fold, shuffle=True, random_state=1)\n", " knn = KNeighborsRegressor(n_neighbors=2)\n", " \n", " mses = cross_val_score(knn, normalised_cars[top_features[:4].index], normalised_cars[\"price\"], \n", " scoring=\"neg_mean_squared_error\", cv=kf)\n", " \n", " rmses = np.sqrt(np.absolute(mses))\n", " avg_rmse = np.mean(rmses)\n", " \n", " rmse_scores[avg_rmse] = [str(fold) + ' folds']\n", " \n", "pd.Series(rmse_scores).sort_index()\n", "# print(str(fold), \"folds: \", \"avg RMSE: \", str(avg_rmse), \"std RMSE: \", str(std_rmse))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***Here, we can observe that the least RMSE score of `2416.12` is shown when `folds(data divisions) = 21`, `k = 2` along with top four features, which are `horsepower, width, curb_weight and city_mpg`.***\n", "\n", "***That is it for now though, the goal of this project is to explore the fundamentals of K-Nearest Neighbors.***" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.8" } }, "nbformat": 4, "nbformat_minor": 2 }