From 1ac4058d3e495165141ce6fad73a5cb5ee5868bb Mon Sep 17 00:00:00 2001 From: Badr Ghazlane Date: Sat, 25 Sep 2021 20:02:08 +0200 Subject: [PATCH] feat: structure week 2 and correct week1 --- .../week01/raid01/audit/readme.md | 1 + one_exercise_per_file/week01/raid01/readme.md | 141 ++-- .../ex05/data/breast-cancer-wisconsin.data | 699 ++++++++++++++++++ .../ex05/data/breast-cancer-wisconsin.names | 126 ++++ .../week02/day03/ex05/data/breast-cancer.csv | 286 +++++++ .../day03/ex05/data/breast_cancer_readme.txt | 73 ++ .../week02/day04/audit/readme.md | 0 .../week02/day04/ex01/audit/readme.md | 1 + .../week02/day04/ex01/readme.md | 10 + .../week02/day04/ex02/audit/readme.md | 1 + .../week02/day04/ex02/readme.md | 10 + .../week02/day04/ex03/audit/readme.md | 28 + .../week02/day04/ex03/readme.md | 37 + .../week02/day04/ex04/audit/readme.md | 41 + .../day04/ex04/images/w2_day4_ex4_q3.png | Bin 0 -> 37354 bytes .../week02/day04/ex04/readme.md | 36 + .../week02/day04/ex05/audit/readme.md | 72 ++ .../week02/day04/ex05/readme.md | 55 ++ .../week02/day04/ex06/audit/readme.md | 31 + .../week02/day04/ex06/readme.md | 51 ++ one_exercise_per_file/week02/day04/readme.md | 34 + .../week02/day05/audit/readme.md | 0 .../week02/day05/ex01/audit/readme.md | 18 + .../week02/day05/ex01/readme.md | 27 + .../week02/day05/ex02/audit/readme.md | 16 + .../week02/day05/ex02/readme.md | 53 ++ .../week02/day05/ex03/audit/readme.md | 33 + .../week02/day05/ex03/readme.md | 49 ++ .../week02/day05/ex04/audit/readme.md | 27 + .../day05/ex04/images/w2_day5_ex5_q1.png | Bin 0 -> 67705 bytes .../day05/ex04/images/w2_day5_ex5_q2.png | Bin 0 -> 180080 bytes .../week02/day05/ex04/readme.md | 58 ++ one_exercise_per_file/week02/day05/readme.md | 26 + .../week02/raid02/audit/readme.md | 111 +++ .../images/w2_weekend_confusion_matrix.png | Bin 0 -> 54562 bytes .../images/w2_weekend_learning_curve.png | Bin 0 -> 80437 bytes one_exercise_per_file/week02/raid02/readme.md | 101 +++ 37 files changed, 2177 insertions(+), 75 deletions(-) create mode 100644 one_exercise_per_file/week02/day02/ex05/data/breast-cancer-wisconsin.data create mode 100644 one_exercise_per_file/week02/day02/ex05/data/breast-cancer-wisconsin.names create mode 100644 one_exercise_per_file/week02/day03/ex05/data/breast-cancer.csv create mode 100644 one_exercise_per_file/week02/day03/ex05/data/breast_cancer_readme.txt delete mode 100644 one_exercise_per_file/week02/day04/audit/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex01/audit/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex01/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex02/audit/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex02/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex03/audit/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex03/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex04/audit/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex04/images/w2_day4_ex4_q3.png create mode 100644 one_exercise_per_file/week02/day04/ex04/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex05/audit/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex05/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex06/audit/readme.md create mode 100644 one_exercise_per_file/week02/day04/ex06/readme.md delete mode 100644 one_exercise_per_file/week02/day05/audit/readme.md create mode 100644 one_exercise_per_file/week02/day05/ex01/audit/readme.md create mode 100644 one_exercise_per_file/week02/day05/ex01/readme.md create mode 100644 one_exercise_per_file/week02/day05/ex02/audit/readme.md create mode 100644 one_exercise_per_file/week02/day05/ex02/readme.md create mode 100644 one_exercise_per_file/week02/day05/ex03/audit/readme.md create mode 100644 one_exercise_per_file/week02/day05/ex03/readme.md create mode 100644 one_exercise_per_file/week02/day05/ex04/audit/readme.md create mode 100644 one_exercise_per_file/week02/day05/ex04/images/w2_day5_ex5_q1.png create mode 100644 one_exercise_per_file/week02/day05/ex04/images/w2_day5_ex5_q2.png create mode 100644 one_exercise_per_file/week02/day05/ex04/readme.md create mode 100644 one_exercise_per_file/week02/raid02/images/w2_weekend_confusion_matrix.png create mode 100644 one_exercise_per_file/week02/raid02/images/w2_weekend_learning_curve.png diff --git a/one_exercise_per_file/week01/raid01/audit/readme.md b/one_exercise_per_file/week01/raid01/audit/readme.md index 62768f1..697f357 100644 --- a/one_exercise_per_file/week01/raid01/audit/readme.md +++ b/one_exercise_per_file/week01/raid01/audit/readme.md @@ -1,3 +1,4 @@ +# RAID01 - Backtesting on the SP500 - correction ``` project diff --git a/one_exercise_per_file/week01/raid01/readme.md b/one_exercise_per_file/week01/raid01/readme.md index 4155945..0d6bad7 100644 --- a/one_exercise_per_file/week01/raid01/readme.md +++ b/one_exercise_per_file/week01/raid01/readme.md @@ -1,44 +1,41 @@ -# D0607 Piscine AI - Data Science +# RAID01 - Backtesting on the SP500 -## SP data preprocessing - -The goal of this project is to perform a Backtest on the SP500 constituents. The SP500 is an index the 500 biggest capitalization in the US. +## SP500 data preprocessing +The goal of this project is to perform a Backtest on the SP500 constituents. The SP500 is an index the 500 biggest capitalization in the US. ## Data The input file are `stock_prices.csv` and : - - `sp500.csv` contains the SP500 data. The SP500 is a stock market index that measures the stock performance of 500 large companies listed on stock exchanges in the United States. - - `stock_prices.csv`: contains the close prices for all the companies that had been in the SP500. It contains a lot of missing data. The adjusted close price may be unavailable for three main reasons: - -- The company doesn't exist at date d -- The company is not public, pas coté -- Its close price hasn't been reported -- Note: The quality of this data set is not good: some prices are wrong, there are some prices spikes, there are some prices adjusments (share split, dividend distribution) - the prices adjusment are corrected in the adjusted close. But I'm not providing this data for this project to let you understand what is bad quality data and how important it is to detect outliers and missing values. The idea is not to correct the full the data set manually but to correct the main problems. -*Note: The corrections won't fix the data, as a result the results may be abnormal compared to results from cleaned financial data. That's not a problem for this small project ! * +- `sp500.csv` contains the SP500 data. The SP500 is a stock market index that measures the stock performance of 500 large companies listed on stock exchanges in the United States. -## Problem +- `stock_prices.csv`: contains the close prices for all the companies that had been in the SP500. It contains a lot of missing data. The adjusted close price may be unavailable for three main reasons: -Once, preprocessed, this data will be used to generate a signal that is, for each asset at each date a metric that indicates if the asset price will increase the next month. At each date (once a month) we will take the 20 highest metrics and invest 1$ per company. This strategy is called stock picking. It consists in picking stock in an index and try to overperfom the index. Finally we will compare the performance of our strategy compared to the benchmark: the SP500. + - The company doesn't exist at date d + - The company is not public, pas coté + - Its close price hasn't been reported + - Note: The quality of this data set is not good: some prices are wrong, there are some prices spikes, there are some prices adjustments (share split, dividend distribution) - the prices adjustment are corrected in the adjusted close. But I'm not providing this data for this project to let you understand what is bad quality data and how important it is to detect outliers and missing values. The idea is not to correct the full data set manually, but to correct the main problems. +_Note: The corrections will not fix the data, as a result the results may be abnormal compared to results from cleaned financial data. That's not a problem for this small project !_ - -It is important to understand that the SP500 components change over time. The reason is simple: Facebook entered the SP500 in ???? and as there are 500 companies +## Problem +Once preprocessed this data, it will be used to generate a signal that is, for each asset at each date a metric that indicates if the asset price will increase the next month. At each date (once a month) we will take the 20 highest metrics and invest 1$ per company. This strategy is called **stock picking**. It consists in picking stock in an index and try to overperform the index. Finally we will compare the performance of our strategy compared to the benchmark: the SP500 +It is important to understand that the SP500 components change over time. The reason is simple: Facebook entered the SP500 in 2013 thus meaning that another company had to be removed from the 500 companies. -The structure of the project is: +The structure of the project is: -``` +```console project │ README.md -│ environment.yml +│ environment.yml │ └───data │ │ sp500.csv │ | prices.csv -│ +│ └───notebook │ │ analysis.ipynb | @@ -48,104 +45,99 @@ project | │ create_signal.py | | backtester.py │ | main.py -│ +│ └───results │ plots │ results.txt │ outliers.txt +``` -``` - -There are four parts: +There are four parts: ## 1. Preliminary -- Create a function that takes as input one CSV data file, optimizes the types to reduce its size and returns a memory optimized DataFrame. -- For float data the smaller data type used is `np.float32` -- These steps may help you to implement the memory_reducer: +- Create a function that takes as input one CSV data file. This function should optimize the types to reduce its size and returns a memory optimized DataFrame. +- For `float` data the smaller data type used is `np.float32` +- These steps may help you to implement the memory_reducer: + +1. Iterate over every column +2. Determine if the column is numeric +3. Determine if the column can be represented by an integer +4. Find the min and the max value +5. Determine and apply the smallest datatype that can fit the range of values - 1. Iterate over every column - 2. Determine if the column is numeric - 3. Determine if the column can be represented by an integer - 4. Find the min and the max value - 5. Determine and apply the smallest datatype that can fit the range of values +## 2. Data wrangling and preprocessing +- Create a Jupyter Notebook to analyse the data sets and perform EDA (Exploratory Data Analysis). This notebook should contain at least: + - Missing values analysis + - Outliers analysis (there are a lot of outliers) + - One of average price for companies for all variables (save the plot with the images). + - Describe at least 5 outliers ('ticker', 'date', 'price'). Put them in `outliers.txt` file with the 3 fields on the folder `results`. -## 2. Data wrangling and preprocessing: +_Note: create functions that generate the plots and save them in the images folder. Add a parameter `plot` with a default value `False` which doesn't return the plot. This will be useful for the correction to let people run your code without overriding your plots._ - - Create a Jupyter Notebook to analyse the data sets and perform EDA (Exploratory Data Analysis). This notebook should contain at least: - - Missing values analysis - - Outliers analysis (there are a lot of outliers) - - One of average price for companies for all variables (save the plot with the images). - - Describe at least 5 outliers ('ticker', 'date', 'price'). Put them in `outliers.txt` file with the 3 fields on the folder `results`. +- Here is how the `prices` data should be preprocessed: -*Note: create functions that generate the plots and save them in the images folder. Add a parameter `plot` with a defaut value `False` which doesn't return the plot. This will be useful for the correction to let people run your code without overriding your plots.* + - Resample data on month and keep the last value + - Filter prices outliers: Remove prices outside of the range 0.1$, 10k$ + - Compute monthly returns: + - Historical returns. **returns(current month) = price(current month) - price(previous month) / price(previous month)** + - Future returns. **returns(current month) = price(next month) - price(current month) / price(current month)** - - Here is how the `prices` data should be preprocessed: - - Resample data on month and keep the last value - - Filter prices outliers: Remove prices outside of the range 0.1$, 10k$ - - Compute montly returns: - - Historical returns. **returns(current month) = price(current month) - price(previous month) / price(previous month)** - - Futur returns. **returns(current month) = price(next month) - price(current month) / price(current month)** - - Replace returns outliers by the last value available regarding the company. This corrects prices spikes that corresponds to a monthly return greater than 1 and smaller than -0.5. This correction shouldn't consider the 2008 and 2009 period as the financial crisis impacted the market brutally. **Don't forget that a value is considered as an outlier comparing to the other returns/prices of the same company** + - Replace returns outliers by the last value available regarding the company. This corrects prices spikes that corresponds to a monthly return greater than 1 and smaller than -0.5. This correction should not consider the 2008 and 2009 period as the financial crisis impacted the market brutally. **Don't forget that a value is considered as an outlier comparing to the other returns/prices of the same company** -At this stage the DataFrame should looks like this: +At this stage the DataFrame should looks like this: -| | Price | monthly_past_return | monthly_futur_return | -|:-----------------------------------------------------|---------:|----------------------:|-----------------------:| -| (Timestamp('2000-12-31 00:00:00', freq='M'), 'A') | 36.7304 | nan | -0.00365297 | -| (Timestamp('2000-12-31 00:00:00', freq='M'), 'AA') | 25.9505 | nan | 0.101194 | -| (Timestamp('2000-12-31 00:00:00', freq='M'), 'AAPL') | 1.00646 | nan | 0.452957 | -| (Timestamp('2000-12-31 00:00:00', freq='M'), 'ABC') | 11.4383 | nan | -0.0528713 | -| (Timestamp('2000-12-31 00:00:00', freq='M'), 'ABT') | 38.7945 | nan | -0.07205 | -1 +| | Price | monthly_past_return | monthly_future_return | +| :--------------------------------------------------- | ------: | ------------------: | -------------------: | +| (Timestamp('2000-12-31 00:00:00', freq='M'), 'A') | 36.7304 | nan | -0.00365297 | +| (Timestamp('2000-12-31 00:00:00', freq='M'), 'AA') | 25.9505 | nan | 0.101194 | +| (Timestamp('2000-12-31 00:00:00', freq='M'), 'AAPL') | 1.00646 | nan | 0.452957 | +| (Timestamp('2000-12-31 00:00:00', freq='M'), 'ABC') | 11.4383 | nan | -0.0528713 | +| (Timestamp('2000-12-31 00:00:00', freq='M'), 'ABT') | 38.7945 | nan | -0.07205 | - Fill the missing values using the last available value (same company) - Drop the missing values that can't be filled - Print `prices.isna().sum()` - - Here is how the `sp500.csv` data should be preprocessed: - - Resample data on month and keep the last value - - Compute historical monthly returns on the adjusted close - + - Resample data on month and keep the last value + - Compute historical monthly returns on the adjusted close -## 3. Create signal +## 3. Create signal -At this stage we have a data set with features that we will leverage to get an investment signal. As previously said, we will focus on one single variable to create the signal: **monthly_past_return**. The signal will be the average of monthy returns of the previous year +At this stage we have a data set with features that we will leverage to get an investment signal. As previously said, we will focus on one single variable to create the signal: **monthly_past_return**. The signal will be the average of monthly returns of the previous year -The naive assumption made here is that if a stock has performed well the last year it will perform well the next month. Moreover, we assume that we can buy stocks as soon as we have the signal (the signal is available at the close of day d and we assume that we can buy the stock at close of day d. The assumption is acceptable while considering monthly returns because the difference between the close of day d and the open of day d+1 is small comparing to the monthly return) +The naive assumption made here is that if a stock has performed well the last year it will perform well the next month. Moreover, we assume that we can buy stocks as soon as we have the signal (the signal is available at the close of day `d` and we assume that we can buy the stock at close of day `d`. The assumption is acceptable while considering monthly returns, because the difference between the close of day `d` and the open of day `d+1` is small comparing to the monthly return) - Create a column `average_return_1y` -- Create a column named `signal` that contains True if `average_return_1y` is among the 20 highest in the month `average_return_1y`. - +- Create a column named `signal` that contains `True` if `average_return_1y` is among the 20 highest in the month `average_return_1y`. ## 4. Backtester -At this stage we have an investment signal that indicates each month what are the 20 companies we should invest 1$ on (1$ each). In order to check the strategies' performance we will backtest our investment signal. +At this stage we have an investment signal that indicates each month what are the 20 companies we should invest 1$ on (1$ each). In order to check the strategies and performance we will backtest our investment signal. - Compute the PnL and the total return of our strategy without a for loop. Save the results in a text file `results.txt` in the folder `results`. - Compute the PnL and the total return of the strategy that consists in investing 20$ each day on the SP500. Compare. Save the results in a text file `results.txt` in the folder `results`. -- Create a plot that shows the performance of the strategy over time for the SP500 and the Stock Picking 20 strategy. -A data point (x-axis: date, y-axis: cumulated_return) is: the **cumulated returns** from the beginning of the strategy at date t. Save the plot in the results folder. +- Create a plot that shows the performance of the strategy over time for the SP500 and the Stock Picking 20 strategy. - This plot is used a lot in Finance because it helps to compare a custom strategy with in index. In that case we say that the SP500 is used as **benchmark** for the Stock Picking Strategy. +A data point (x-axis: date, y-axis: cumulated_return) is: the **cumulated returns** from the beginning of the strategy at date `t`. Save the plot in the results folder. +> This plot is used a lot in Finance because it helps to compare a custom strategy with in index. In that case we say that the SP500 is used as **benchmark** for the Stock Picking Strategy. ![alt text][performance] -[performance]: images/w1_weekend_plot_pnl.png "Cumulative Performance" +[performance]: images/w1_weekend_plot_pnl.png 'Cumulative Performance' ## 5. Main -Here is a sketch of `main.py`. - -``` -main.py +Here is a sketch of `main.py`. +```python +# main.py # import data prices, sp500 = memory_reducer(paths) @@ -157,8 +149,7 @@ prices, sp500 = preprocessing(prices, sp500) prices = create_signal(prices) #backtest - backtest(prices, sp500) ``` -**The command `python main.py` executes the code from data imports to the backtest and save the results.** \ No newline at end of file +**The command `python main.py` executes the code from data imports to the backtest and save the results.** \ No newline at end of file diff --git a/one_exercise_per_file/week02/day02/ex05/data/breast-cancer-wisconsin.data b/one_exercise_per_file/week02/day02/ex05/data/breast-cancer-wisconsin.data new file mode 100644 index 0000000..a50b76f --- /dev/null +++ b/one_exercise_per_file/week02/day02/ex05/data/breast-cancer-wisconsin.data @@ -0,0 +1,699 @@ +1000025,5,1,1,1,2,1,3,1,1,2 +1002945,5,4,4,5,7,10,3,2,1,2 +1015425,3,1,1,1,2,2,3,1,1,2 +1016277,6,8,8,1,3,4,3,7,1,2 +1017023,4,1,1,3,2,1,3,1,1,2 +1017122,8,10,10,8,7,10,9,7,1,4 +1018099,1,1,1,1,2,10,3,1,1,2 +1018561,2,1,2,1,2,1,3,1,1,2 +1033078,2,1,1,1,2,1,1,1,5,2 +1033078,4,2,1,1,2,1,2,1,1,2 +1035283,1,1,1,1,1,1,3,1,1,2 +1036172,2,1,1,1,2,1,2,1,1,2 +1041801,5,3,3,3,2,3,4,4,1,4 +1043999,1,1,1,1,2,3,3,1,1,2 +1044572,8,7,5,10,7,9,5,5,4,4 +1047630,7,4,6,4,6,1,4,3,1,4 +1048672,4,1,1,1,2,1,2,1,1,2 +1049815,4,1,1,1,2,1,3,1,1,2 +1050670,10,7,7,6,4,10,4,1,2,4 +1050718,6,1,1,1,2,1,3,1,1,2 +1054590,7,3,2,10,5,10,5,4,4,4 +1054593,10,5,5,3,6,7,7,10,1,4 +1056784,3,1,1,1,2,1,2,1,1,2 +1057013,8,4,5,1,2,?,7,3,1,4 +1059552,1,1,1,1,2,1,3,1,1,2 +1065726,5,2,3,4,2,7,3,6,1,4 +1066373,3,2,1,1,1,1,2,1,1,2 +1066979,5,1,1,1,2,1,2,1,1,2 +1067444,2,1,1,1,2,1,2,1,1,2 +1070935,1,1,3,1,2,1,1,1,1,2 +1070935,3,1,1,1,1,1,2,1,1,2 +1071760,2,1,1,1,2,1,3,1,1,2 +1072179,10,7,7,3,8,5,7,4,3,4 +1074610,2,1,1,2,2,1,3,1,1,2 +1075123,3,1,2,1,2,1,2,1,1,2 +1079304,2,1,1,1,2,1,2,1,1,2 +1080185,10,10,10,8,6,1,8,9,1,4 +1081791,6,2,1,1,1,1,7,1,1,2 +1084584,5,4,4,9,2,10,5,6,1,4 +1091262,2,5,3,3,6,7,7,5,1,4 +1096800,6,6,6,9,6,?,7,8,1,2 +1099510,10,4,3,1,3,3,6,5,2,4 +1100524,6,10,10,2,8,10,7,3,3,4 +1102573,5,6,5,6,10,1,3,1,1,4 +1103608,10,10,10,4,8,1,8,10,1,4 +1103722,1,1,1,1,2,1,2,1,2,2 +1105257,3,7,7,4,4,9,4,8,1,4 +1105524,1,1,1,1,2,1,2,1,1,2 +1106095,4,1,1,3,2,1,3,1,1,2 +1106829,7,8,7,2,4,8,3,8,2,4 +1108370,9,5,8,1,2,3,2,1,5,4 +1108449,5,3,3,4,2,4,3,4,1,4 +1110102,10,3,6,2,3,5,4,10,2,4 +1110503,5,5,5,8,10,8,7,3,7,4 +1110524,10,5,5,6,8,8,7,1,1,4 +1111249,10,6,6,3,4,5,3,6,1,4 +1112209,8,10,10,1,3,6,3,9,1,4 +1113038,8,2,4,1,5,1,5,4,4,4 +1113483,5,2,3,1,6,10,5,1,1,4 +1113906,9,5,5,2,2,2,5,1,1,4 +1115282,5,3,5,5,3,3,4,10,1,4 +1115293,1,1,1,1,2,2,2,1,1,2 +1116116,9,10,10,1,10,8,3,3,1,4 +1116132,6,3,4,1,5,2,3,9,1,4 +1116192,1,1,1,1,2,1,2,1,1,2 +1116998,10,4,2,1,3,2,4,3,10,4 +1117152,4,1,1,1,2,1,3,1,1,2 +1118039,5,3,4,1,8,10,4,9,1,4 +1120559,8,3,8,3,4,9,8,9,8,4 +1121732,1,1,1,1,2,1,3,2,1,2 +1121919,5,1,3,1,2,1,2,1,1,2 +1123061,6,10,2,8,10,2,7,8,10,4 +1124651,1,3,3,2,2,1,7,2,1,2 +1125035,9,4,5,10,6,10,4,8,1,4 +1126417,10,6,4,1,3,4,3,2,3,4 +1131294,1,1,2,1,2,2,4,2,1,2 +1132347,1,1,4,1,2,1,2,1,1,2 +1133041,5,3,1,2,2,1,2,1,1,2 +1133136,3,1,1,1,2,3,3,1,1,2 +1136142,2,1,1,1,3,1,2,1,1,2 +1137156,2,2,2,1,1,1,7,1,1,2 +1143978,4,1,1,2,2,1,2,1,1,2 +1143978,5,2,1,1,2,1,3,1,1,2 +1147044,3,1,1,1,2,2,7,1,1,2 +1147699,3,5,7,8,8,9,7,10,7,4 +1147748,5,10,6,1,10,4,4,10,10,4 +1148278,3,3,6,4,5,8,4,4,1,4 +1148873,3,6,6,6,5,10,6,8,3,4 +1152331,4,1,1,1,2,1,3,1,1,2 +1155546,2,1,1,2,3,1,2,1,1,2 +1156272,1,1,1,1,2,1,3,1,1,2 +1156948,3,1,1,2,2,1,1,1,1,2 +1157734,4,1,1,1,2,1,3,1,1,2 +1158247,1,1,1,1,2,1,2,1,1,2 +1160476,2,1,1,1,2,1,3,1,1,2 +1164066,1,1,1,1,2,1,3,1,1,2 +1165297,2,1,1,2,2,1,1,1,1,2 +1165790,5,1,1,1,2,1,3,1,1,2 +1165926,9,6,9,2,10,6,2,9,10,4 +1166630,7,5,6,10,5,10,7,9,4,4 +1166654,10,3,5,1,10,5,3,10,2,4 +1167439,2,3,4,4,2,5,2,5,1,4 +1167471,4,1,2,1,2,1,3,1,1,2 +1168359,8,2,3,1,6,3,7,1,1,4 +1168736,10,10,10,10,10,1,8,8,8,4 +1169049,7,3,4,4,3,3,3,2,7,4 +1170419,10,10,10,8,2,10,4,1,1,4 +1170420,1,6,8,10,8,10,5,7,1,4 +1171710,1,1,1,1,2,1,2,3,1,2 +1171710,6,5,4,4,3,9,7,8,3,4 +1171795,1,3,1,2,2,2,5,3,2,2 +1171845,8,6,4,3,5,9,3,1,1,4 +1172152,10,3,3,10,2,10,7,3,3,4 +1173216,10,10,10,3,10,8,8,1,1,4 +1173235,3,3,2,1,2,3,3,1,1,2 +1173347,1,1,1,1,2,5,1,1,1,2 +1173347,8,3,3,1,2,2,3,2,1,2 +1173509,4,5,5,10,4,10,7,5,8,4 +1173514,1,1,1,1,4,3,1,1,1,2 +1173681,3,2,1,1,2,2,3,1,1,2 +1174057,1,1,2,2,2,1,3,1,1,2 +1174057,4,2,1,1,2,2,3,1,1,2 +1174131,10,10,10,2,10,10,5,3,3,4 +1174428,5,3,5,1,8,10,5,3,1,4 +1175937,5,4,6,7,9,7,8,10,1,4 +1176406,1,1,1,1,2,1,2,1,1,2 +1176881,7,5,3,7,4,10,7,5,5,4 +1177027,3,1,1,1,2,1,3,1,1,2 +1177399,8,3,5,4,5,10,1,6,2,4 +1177512,1,1,1,1,10,1,1,1,1,2 +1178580,5,1,3,1,2,1,2,1,1,2 +1179818,2,1,1,1,2,1,3,1,1,2 +1180194,5,10,8,10,8,10,3,6,3,4 +1180523,3,1,1,1,2,1,2,2,1,2 +1180831,3,1,1,1,3,1,2,1,1,2 +1181356,5,1,1,1,2,2,3,3,1,2 +1182404,4,1,1,1,2,1,2,1,1,2 +1182410,3,1,1,1,2,1,1,1,1,2 +1183240,4,1,2,1,2,1,2,1,1,2 +1183246,1,1,1,1,1,?,2,1,1,2 +1183516,3,1,1,1,2,1,1,1,1,2 +1183911,2,1,1,1,2,1,1,1,1,2 +1183983,9,5,5,4,4,5,4,3,3,4 +1184184,1,1,1,1,2,5,1,1,1,2 +1184241,2,1,1,1,2,1,2,1,1,2 +1184840,1,1,3,1,2,?,2,1,1,2 +1185609,3,4,5,2,6,8,4,1,1,4 +1185610,1,1,1,1,3,2,2,1,1,2 +1187457,3,1,1,3,8,1,5,8,1,2 +1187805,8,8,7,4,10,10,7,8,7,4 +1188472,1,1,1,1,1,1,3,1,1,2 +1189266,7,2,4,1,6,10,5,4,3,4 +1189286,10,10,8,6,4,5,8,10,1,4 +1190394,4,1,1,1,2,3,1,1,1,2 +1190485,1,1,1,1,2,1,1,1,1,2 +1192325,5,5,5,6,3,10,3,1,1,4 +1193091,1,2,2,1,2,1,2,1,1,2 +1193210,2,1,1,1,2,1,3,1,1,2 +1193683,1,1,2,1,3,?,1,1,1,2 +1196295,9,9,10,3,6,10,7,10,6,4 +1196915,10,7,7,4,5,10,5,7,2,4 +1197080,4,1,1,1,2,1,3,2,1,2 +1197270,3,1,1,1,2,1,3,1,1,2 +1197440,1,1,1,2,1,3,1,1,7,2 +1197510,5,1,1,1,2,?,3,1,1,2 +1197979,4,1,1,1,2,2,3,2,1,2 +1197993,5,6,7,8,8,10,3,10,3,4 +1198128,10,8,10,10,6,1,3,1,10,4 +1198641,3,1,1,1,2,1,3,1,1,2 +1199219,1,1,1,2,1,1,1,1,1,2 +1199731,3,1,1,1,2,1,1,1,1,2 +1199983,1,1,1,1,2,1,3,1,1,2 +1200772,1,1,1,1,2,1,2,1,1,2 +1200847,6,10,10,10,8,10,10,10,7,4 +1200892,8,6,5,4,3,10,6,1,1,4 +1200952,5,8,7,7,10,10,5,7,1,4 +1201834,2,1,1,1,2,1,3,1,1,2 +1201936,5,10,10,3,8,1,5,10,3,4 +1202125,4,1,1,1,2,1,3,1,1,2 +1202812,5,3,3,3,6,10,3,1,1,4 +1203096,1,1,1,1,1,1,3,1,1,2 +1204242,1,1,1,1,2,1,1,1,1,2 +1204898,6,1,1,1,2,1,3,1,1,2 +1205138,5,8,8,8,5,10,7,8,1,4 +1205579,8,7,6,4,4,10,5,1,1,4 +1206089,2,1,1,1,1,1,3,1,1,2 +1206695,1,5,8,6,5,8,7,10,1,4 +1206841,10,5,6,10,6,10,7,7,10,4 +1207986,5,8,4,10,5,8,9,10,1,4 +1208301,1,2,3,1,2,1,3,1,1,2 +1210963,10,10,10,8,6,8,7,10,1,4 +1211202,7,5,10,10,10,10,4,10,3,4 +1212232,5,1,1,1,2,1,2,1,1,2 +1212251,1,1,1,1,2,1,3,1,1,2 +1212422,3,1,1,1,2,1,3,1,1,2 +1212422,4,1,1,1,2,1,3,1,1,2 +1213375,8,4,4,5,4,7,7,8,2,2 +1213383,5,1,1,4,2,1,3,1,1,2 +1214092,1,1,1,1,2,1,1,1,1,2 +1214556,3,1,1,1,2,1,2,1,1,2 +1214966,9,7,7,5,5,10,7,8,3,4 +1216694,10,8,8,4,10,10,8,1,1,4 +1216947,1,1,1,1,2,1,3,1,1,2 +1217051,5,1,1,1,2,1,3,1,1,2 +1217264,1,1,1,1,2,1,3,1,1,2 +1218105,5,10,10,9,6,10,7,10,5,4 +1218741,10,10,9,3,7,5,3,5,1,4 +1218860,1,1,1,1,1,1,3,1,1,2 +1218860,1,1,1,1,1,1,3,1,1,2 +1219406,5,1,1,1,1,1,3,1,1,2 +1219525,8,10,10,10,5,10,8,10,6,4 +1219859,8,10,8,8,4,8,7,7,1,4 +1220330,1,1,1,1,2,1,3,1,1,2 +1221863,10,10,10,10,7,10,7,10,4,4 +1222047,10,10,10,10,3,10,10,6,1,4 +1222936,8,7,8,7,5,5,5,10,2,4 +1223282,1,1,1,1,2,1,2,1,1,2 +1223426,1,1,1,1,2,1,3,1,1,2 +1223793,6,10,7,7,6,4,8,10,2,4 +1223967,6,1,3,1,2,1,3,1,1,2 +1224329,1,1,1,2,2,1,3,1,1,2 +1225799,10,6,4,3,10,10,9,10,1,4 +1226012,4,1,1,3,1,5,2,1,1,4 +1226612,7,5,6,3,3,8,7,4,1,4 +1227210,10,5,5,6,3,10,7,9,2,4 +1227244,1,1,1,1,2,1,2,1,1,2 +1227481,10,5,7,4,4,10,8,9,1,4 +1228152,8,9,9,5,3,5,7,7,1,4 +1228311,1,1,1,1,1,1,3,1,1,2 +1230175,10,10,10,3,10,10,9,10,1,4 +1230688,7,4,7,4,3,7,7,6,1,4 +1231387,6,8,7,5,6,8,8,9,2,4 +1231706,8,4,6,3,3,1,4,3,1,2 +1232225,10,4,5,5,5,10,4,1,1,4 +1236043,3,3,2,1,3,1,3,6,1,2 +1241232,3,1,4,1,2,?,3,1,1,2 +1241559,10,8,8,2,8,10,4,8,10,4 +1241679,9,8,8,5,6,2,4,10,4,4 +1242364,8,10,10,8,6,9,3,10,10,4 +1243256,10,4,3,2,3,10,5,3,2,4 +1270479,5,1,3,3,2,2,2,3,1,2 +1276091,3,1,1,3,1,1,3,1,1,2 +1277018,2,1,1,1,2,1,3,1,1,2 +128059,1,1,1,1,2,5,5,1,1,2 +1285531,1,1,1,1,2,1,3,1,1,2 +1287775,5,1,1,2,2,2,3,1,1,2 +144888,8,10,10,8,5,10,7,8,1,4 +145447,8,4,4,1,2,9,3,3,1,4 +167528,4,1,1,1,2,1,3,6,1,2 +169356,3,1,1,1,2,?,3,1,1,2 +183913,1,2,2,1,2,1,1,1,1,2 +191250,10,4,4,10,2,10,5,3,3,4 +1017023,6,3,3,5,3,10,3,5,3,2 +1100524,6,10,10,2,8,10,7,3,3,4 +1116116,9,10,10,1,10,8,3,3,1,4 +1168736,5,6,6,2,4,10,3,6,1,4 +1182404,3,1,1,1,2,1,1,1,1,2 +1182404,3,1,1,1,2,1,2,1,1,2 +1198641,3,1,1,1,2,1,3,1,1,2 +242970,5,7,7,1,5,8,3,4,1,2 +255644,10,5,8,10,3,10,5,1,3,4 +263538,5,10,10,6,10,10,10,6,5,4 +274137,8,8,9,4,5,10,7,8,1,4 +303213,10,4,4,10,6,10,5,5,1,4 +314428,7,9,4,10,10,3,5,3,3,4 +1182404,5,1,4,1,2,1,3,2,1,2 +1198641,10,10,6,3,3,10,4,3,2,4 +320675,3,3,5,2,3,10,7,1,1,4 +324427,10,8,8,2,3,4,8,7,8,4 +385103,1,1,1,1,2,1,3,1,1,2 +390840,8,4,7,1,3,10,3,9,2,4 +411453,5,1,1,1,2,1,3,1,1,2 +320675,3,3,5,2,3,10,7,1,1,4 +428903,7,2,4,1,3,4,3,3,1,4 +431495,3,1,1,1,2,1,3,2,1,2 +432809,3,1,3,1,2,?,2,1,1,2 +434518,3,1,1,1,2,1,2,1,1,2 +452264,1,1,1,1,2,1,2,1,1,2 +456282,1,1,1,1,2,1,3,1,1,2 +476903,10,5,7,3,3,7,3,3,8,4 +486283,3,1,1,1,2,1,3,1,1,2 +486662,2,1,1,2,2,1,3,1,1,2 +488173,1,4,3,10,4,10,5,6,1,4 +492268,10,4,6,1,2,10,5,3,1,4 +508234,7,4,5,10,2,10,3,8,2,4 +527363,8,10,10,10,8,10,10,7,3,4 +529329,10,10,10,10,10,10,4,10,10,4 +535331,3,1,1,1,3,1,2,1,1,2 +543558,6,1,3,1,4,5,5,10,1,4 +555977,5,6,6,8,6,10,4,10,4,4 +560680,1,1,1,1,2,1,1,1,1,2 +561477,1,1,1,1,2,1,3,1,1,2 +563649,8,8,8,1,2,?,6,10,1,4 +601265,10,4,4,6,2,10,2,3,1,4 +606140,1,1,1,1,2,?,2,1,1,2 +606722,5,5,7,8,6,10,7,4,1,4 +616240,5,3,4,3,4,5,4,7,1,2 +61634,5,4,3,1,2,?,2,3,1,2 +625201,8,2,1,1,5,1,1,1,1,2 +63375,9,1,2,6,4,10,7,7,2,4 +635844,8,4,10,5,4,4,7,10,1,4 +636130,1,1,1,1,2,1,3,1,1,2 +640744,10,10,10,7,9,10,7,10,10,4 +646904,1,1,1,1,2,1,3,1,1,2 +653777,8,3,4,9,3,10,3,3,1,4 +659642,10,8,4,4,4,10,3,10,4,4 +666090,1,1,1,1,2,1,3,1,1,2 +666942,1,1,1,1,2,1,3,1,1,2 +667204,7,8,7,6,4,3,8,8,4,4 +673637,3,1,1,1,2,5,5,1,1,2 +684955,2,1,1,1,3,1,2,1,1,2 +688033,1,1,1,1,2,1,1,1,1,2 +691628,8,6,4,10,10,1,3,5,1,4 +693702,1,1,1,1,2,1,1,1,1,2 +704097,1,1,1,1,1,1,2,1,1,2 +704168,4,6,5,6,7,?,4,9,1,2 +706426,5,5,5,2,5,10,4,3,1,4 +709287,6,8,7,8,6,8,8,9,1,4 +718641,1,1,1,1,5,1,3,1,1,2 +721482,4,4,4,4,6,5,7,3,1,2 +730881,7,6,3,2,5,10,7,4,6,4 +733639,3,1,1,1,2,?,3,1,1,2 +733639,3,1,1,1,2,1,3,1,1,2 +733823,5,4,6,10,2,10,4,1,1,4 +740492,1,1,1,1,2,1,3,1,1,2 +743348,3,2,2,1,2,1,2,3,1,2 +752904,10,1,1,1,2,10,5,4,1,4 +756136,1,1,1,1,2,1,2,1,1,2 +760001,8,10,3,2,6,4,3,10,1,4 +760239,10,4,6,4,5,10,7,1,1,4 +76389,10,4,7,2,2,8,6,1,1,4 +764974,5,1,1,1,2,1,3,1,2,2 +770066,5,2,2,2,2,1,2,2,1,2 +785208,5,4,6,6,4,10,4,3,1,4 +785615,8,6,7,3,3,10,3,4,2,4 +792744,1,1,1,1,2,1,1,1,1,2 +797327,6,5,5,8,4,10,3,4,1,4 +798429,1,1,1,1,2,1,3,1,1,2 +704097,1,1,1,1,1,1,2,1,1,2 +806423,8,5,5,5,2,10,4,3,1,4 +809912,10,3,3,1,2,10,7,6,1,4 +810104,1,1,1,1,2,1,3,1,1,2 +814265,2,1,1,1,2,1,1,1,1,2 +814911,1,1,1,1,2,1,1,1,1,2 +822829,7,6,4,8,10,10,9,5,3,4 +826923,1,1,1,1,2,1,1,1,1,2 +830690,5,2,2,2,3,1,1,3,1,2 +831268,1,1,1,1,1,1,1,3,1,2 +832226,3,4,4,10,5,1,3,3,1,4 +832567,4,2,3,5,3,8,7,6,1,4 +836433,5,1,1,3,2,1,1,1,1,2 +837082,2,1,1,1,2,1,3,1,1,2 +846832,3,4,5,3,7,3,4,6,1,2 +850831,2,7,10,10,7,10,4,9,4,4 +855524,1,1,1,1,2,1,2,1,1,2 +857774,4,1,1,1,3,1,2,2,1,2 +859164,5,3,3,1,3,3,3,3,3,4 +859350,8,10,10,7,10,10,7,3,8,4 +866325,8,10,5,3,8,4,4,10,3,4 +873549,10,3,5,4,3,7,3,5,3,4 +877291,6,10,10,10,10,10,8,10,10,4 +877943,3,10,3,10,6,10,5,1,4,4 +888169,3,2,2,1,4,3,2,1,1,2 +888523,4,4,4,2,2,3,2,1,1,2 +896404,2,1,1,1,2,1,3,1,1,2 +897172,2,1,1,1,2,1,2,1,1,2 +95719,6,10,10,10,8,10,7,10,7,4 +160296,5,8,8,10,5,10,8,10,3,4 +342245,1,1,3,1,2,1,1,1,1,2 +428598,1,1,3,1,1,1,2,1,1,2 +492561,4,3,2,1,3,1,2,1,1,2 +493452,1,1,3,1,2,1,1,1,1,2 +493452,4,1,2,1,2,1,2,1,1,2 +521441,5,1,1,2,2,1,2,1,1,2 +560680,3,1,2,1,2,1,2,1,1,2 +636437,1,1,1,1,2,1,1,1,1,2 +640712,1,1,1,1,2,1,2,1,1,2 +654244,1,1,1,1,1,1,2,1,1,2 +657753,3,1,1,4,3,1,2,2,1,2 +685977,5,3,4,1,4,1,3,1,1,2 +805448,1,1,1,1,2,1,1,1,1,2 +846423,10,6,3,6,4,10,7,8,4,4 +1002504,3,2,2,2,2,1,3,2,1,2 +1022257,2,1,1,1,2,1,1,1,1,2 +1026122,2,1,1,1,2,1,1,1,1,2 +1071084,3,3,2,2,3,1,1,2,3,2 +1080233,7,6,6,3,2,10,7,1,1,4 +1114570,5,3,3,2,3,1,3,1,1,2 +1114570,2,1,1,1,2,1,2,2,1,2 +1116715,5,1,1,1,3,2,2,2,1,2 +1131411,1,1,1,2,2,1,2,1,1,2 +1151734,10,8,7,4,3,10,7,9,1,4 +1156017,3,1,1,1,2,1,2,1,1,2 +1158247,1,1,1,1,1,1,1,1,1,2 +1158405,1,2,3,1,2,1,2,1,1,2 +1168278,3,1,1,1,2,1,2,1,1,2 +1176187,3,1,1,1,2,1,3,1,1,2 +1196263,4,1,1,1,2,1,1,1,1,2 +1196475,3,2,1,1,2,1,2,2,1,2 +1206314,1,2,3,1,2,1,1,1,1,2 +1211265,3,10,8,7,6,9,9,3,8,4 +1213784,3,1,1,1,2,1,1,1,1,2 +1223003,5,3,3,1,2,1,2,1,1,2 +1223306,3,1,1,1,2,4,1,1,1,2 +1223543,1,2,1,3,2,1,1,2,1,2 +1229929,1,1,1,1,2,1,2,1,1,2 +1231853,4,2,2,1,2,1,2,1,1,2 +1234554,1,1,1,1,2,1,2,1,1,2 +1236837,2,3,2,2,2,2,3,1,1,2 +1237674,3,1,2,1,2,1,2,1,1,2 +1238021,1,1,1,1,2,1,2,1,1,2 +1238464,1,1,1,1,1,?,2,1,1,2 +1238633,10,10,10,6,8,4,8,5,1,4 +1238915,5,1,2,1,2,1,3,1,1,2 +1238948,8,5,6,2,3,10,6,6,1,4 +1239232,3,3,2,6,3,3,3,5,1,2 +1239347,8,7,8,5,10,10,7,2,1,4 +1239967,1,1,1,1,2,1,2,1,1,2 +1240337,5,2,2,2,2,2,3,2,2,2 +1253505,2,3,1,1,5,1,1,1,1,2 +1255384,3,2,2,3,2,3,3,1,1,2 +1257200,10,10,10,7,10,10,8,2,1,4 +1257648,4,3,3,1,2,1,3,3,1,2 +1257815,5,1,3,1,2,1,2,1,1,2 +1257938,3,1,1,1,2,1,1,1,1,2 +1258549,9,10,10,10,10,10,10,10,1,4 +1258556,5,3,6,1,2,1,1,1,1,2 +1266154,8,7,8,2,4,2,5,10,1,4 +1272039,1,1,1,1,2,1,2,1,1,2 +1276091,2,1,1,1,2,1,2,1,1,2 +1276091,1,3,1,1,2,1,2,2,1,2 +1276091,5,1,1,3,4,1,3,2,1,2 +1277629,5,1,1,1,2,1,2,2,1,2 +1293439,3,2,2,3,2,1,1,1,1,2 +1293439,6,9,7,5,5,8,4,2,1,2 +1294562,10,8,10,1,3,10,5,1,1,4 +1295186,10,10,10,1,6,1,2,8,1,4 +527337,4,1,1,1,2,1,1,1,1,2 +558538,4,1,3,3,2,1,1,1,1,2 +566509,5,1,1,1,2,1,1,1,1,2 +608157,10,4,3,10,4,10,10,1,1,4 +677910,5,2,2,4,2,4,1,1,1,2 +734111,1,1,1,3,2,3,1,1,1,2 +734111,1,1,1,1,2,2,1,1,1,2 +780555,5,1,1,6,3,1,2,1,1,2 +827627,2,1,1,1,2,1,1,1,1,2 +1049837,1,1,1,1,2,1,1,1,1,2 +1058849,5,1,1,1,2,1,1,1,1,2 +1182404,1,1,1,1,1,1,1,1,1,2 +1193544,5,7,9,8,6,10,8,10,1,4 +1201870,4,1,1,3,1,1,2,1,1,2 +1202253,5,1,1,1,2,1,1,1,1,2 +1227081,3,1,1,3,2,1,1,1,1,2 +1230994,4,5,5,8,6,10,10,7,1,4 +1238410,2,3,1,1,3,1,1,1,1,2 +1246562,10,2,2,1,2,6,1,1,2,4 +1257470,10,6,5,8,5,10,8,6,1,4 +1259008,8,8,9,6,6,3,10,10,1,4 +1266124,5,1,2,1,2,1,1,1,1,2 +1267898,5,1,3,1,2,1,1,1,1,2 +1268313,5,1,1,3,2,1,1,1,1,2 +1268804,3,1,1,1,2,5,1,1,1,2 +1276091,6,1,1,3,2,1,1,1,1,2 +1280258,4,1,1,1,2,1,1,2,1,2 +1293966,4,1,1,1,2,1,1,1,1,2 +1296572,10,9,8,7,6,4,7,10,3,4 +1298416,10,6,6,2,4,10,9,7,1,4 +1299596,6,6,6,5,4,10,7,6,2,4 +1105524,4,1,1,1,2,1,1,1,1,2 +1181685,1,1,2,1,2,1,2,1,1,2 +1211594,3,1,1,1,1,1,2,1,1,2 +1238777,6,1,1,3,2,1,1,1,1,2 +1257608,6,1,1,1,1,1,1,1,1,2 +1269574,4,1,1,1,2,1,1,1,1,2 +1277145,5,1,1,1,2,1,1,1,1,2 +1287282,3,1,1,1,2,1,1,1,1,2 +1296025,4,1,2,1,2,1,1,1,1,2 +1296263,4,1,1,1,2,1,1,1,1,2 +1296593,5,2,1,1,2,1,1,1,1,2 +1299161,4,8,7,10,4,10,7,5,1,4 +1301945,5,1,1,1,1,1,1,1,1,2 +1302428,5,3,2,4,2,1,1,1,1,2 +1318169,9,10,10,10,10,5,10,10,10,4 +474162,8,7,8,5,5,10,9,10,1,4 +787451,5,1,2,1,2,1,1,1,1,2 +1002025,1,1,1,3,1,3,1,1,1,2 +1070522,3,1,1,1,1,1,2,1,1,2 +1073960,10,10,10,10,6,10,8,1,5,4 +1076352,3,6,4,10,3,3,3,4,1,4 +1084139,6,3,2,1,3,4,4,1,1,4 +1115293,1,1,1,1,2,1,1,1,1,2 +1119189,5,8,9,4,3,10,7,1,1,4 +1133991,4,1,1,1,1,1,2,1,1,2 +1142706,5,10,10,10,6,10,6,5,2,4 +1155967,5,1,2,10,4,5,2,1,1,2 +1170945,3,1,1,1,1,1,2,1,1,2 +1181567,1,1,1,1,1,1,1,1,1,2 +1182404,4,2,1,1,2,1,1,1,1,2 +1204558,4,1,1,1,2,1,2,1,1,2 +1217952,4,1,1,1,2,1,2,1,1,2 +1224565,6,1,1,1,2,1,3,1,1,2 +1238186,4,1,1,1,2,1,2,1,1,2 +1253917,4,1,1,2,2,1,2,1,1,2 +1265899,4,1,1,1,2,1,3,1,1,2 +1268766,1,1,1,1,2,1,1,1,1,2 +1277268,3,3,1,1,2,1,1,1,1,2 +1286943,8,10,10,10,7,5,4,8,7,4 +1295508,1,1,1,1,2,4,1,1,1,2 +1297327,5,1,1,1,2,1,1,1,1,2 +1297522,2,1,1,1,2,1,1,1,1,2 +1298360,1,1,1,1,2,1,1,1,1,2 +1299924,5,1,1,1,2,1,2,1,1,2 +1299994,5,1,1,1,2,1,1,1,1,2 +1304595,3,1,1,1,1,1,2,1,1,2 +1306282,6,6,7,10,3,10,8,10,2,4 +1313325,4,10,4,7,3,10,9,10,1,4 +1320077,1,1,1,1,1,1,1,1,1,2 +1320077,1,1,1,1,1,1,2,1,1,2 +1320304,3,1,2,2,2,1,1,1,1,2 +1330439,4,7,8,3,4,10,9,1,1,4 +333093,1,1,1,1,3,1,1,1,1,2 +369565,4,1,1,1,3,1,1,1,1,2 +412300,10,4,5,4,3,5,7,3,1,4 +672113,7,5,6,10,4,10,5,3,1,4 +749653,3,1,1,1,2,1,2,1,1,2 +769612,3,1,1,2,2,1,1,1,1,2 +769612,4,1,1,1,2,1,1,1,1,2 +798429,4,1,1,1,2,1,3,1,1,2 +807657,6,1,3,2,2,1,1,1,1,2 +8233704,4,1,1,1,1,1,2,1,1,2 +837480,7,4,4,3,4,10,6,9,1,4 +867392,4,2,2,1,2,1,2,1,1,2 +869828,1,1,1,1,1,1,3,1,1,2 +1043068,3,1,1,1,2,1,2,1,1,2 +1056171,2,1,1,1,2,1,2,1,1,2 +1061990,1,1,3,2,2,1,3,1,1,2 +1113061,5,1,1,1,2,1,3,1,1,2 +1116192,5,1,2,1,2,1,3,1,1,2 +1135090,4,1,1,1,2,1,2,1,1,2 +1145420,6,1,1,1,2,1,2,1,1,2 +1158157,5,1,1,1,2,2,2,1,1,2 +1171578,3,1,1,1,2,1,1,1,1,2 +1174841,5,3,1,1,2,1,1,1,1,2 +1184586,4,1,1,1,2,1,2,1,1,2 +1186936,2,1,3,2,2,1,2,1,1,2 +1197527,5,1,1,1,2,1,2,1,1,2 +1222464,6,10,10,10,4,10,7,10,1,4 +1240603,2,1,1,1,1,1,1,1,1,2 +1240603,3,1,1,1,1,1,1,1,1,2 +1241035,7,8,3,7,4,5,7,8,2,4 +1287971,3,1,1,1,2,1,2,1,1,2 +1289391,1,1,1,1,2,1,3,1,1,2 +1299924,3,2,2,2,2,1,4,2,1,2 +1306339,4,4,2,1,2,5,2,1,2,2 +1313658,3,1,1,1,2,1,1,1,1,2 +1313982,4,3,1,1,2,1,4,8,1,2 +1321264,5,2,2,2,1,1,2,1,1,2 +1321321,5,1,1,3,2,1,1,1,1,2 +1321348,2,1,1,1,2,1,2,1,1,2 +1321931,5,1,1,1,2,1,2,1,1,2 +1321942,5,1,1,1,2,1,3,1,1,2 +1321942,5,1,1,1,2,1,3,1,1,2 +1328331,1,1,1,1,2,1,3,1,1,2 +1328755,3,1,1,1,2,1,2,1,1,2 +1331405,4,1,1,1,2,1,3,2,1,2 +1331412,5,7,10,10,5,10,10,10,1,4 +1333104,3,1,2,1,2,1,3,1,1,2 +1334071,4,1,1,1,2,3,2,1,1,2 +1343068,8,4,4,1,6,10,2,5,2,4 +1343374,10,10,8,10,6,5,10,3,1,4 +1344121,8,10,4,4,8,10,8,2,1,4 +142932,7,6,10,5,3,10,9,10,2,4 +183936,3,1,1,1,2,1,2,1,1,2 +324382,1,1,1,1,2,1,2,1,1,2 +378275,10,9,7,3,4,2,7,7,1,4 +385103,5,1,2,1,2,1,3,1,1,2 +690557,5,1,1,1,2,1,2,1,1,2 +695091,1,1,1,1,2,1,2,1,1,2 +695219,1,1,1,1,2,1,2,1,1,2 +824249,1,1,1,1,2,1,3,1,1,2 +871549,5,1,2,1,2,1,2,1,1,2 +878358,5,7,10,6,5,10,7,5,1,4 +1107684,6,10,5,5,4,10,6,10,1,4 +1115762,3,1,1,1,2,1,1,1,1,2 +1217717,5,1,1,6,3,1,1,1,1,2 +1239420,1,1,1,1,2,1,1,1,1,2 +1254538,8,10,10,10,6,10,10,10,1,4 +1261751,5,1,1,1,2,1,2,2,1,2 +1268275,9,8,8,9,6,3,4,1,1,4 +1272166,5,1,1,1,2,1,1,1,1,2 +1294261,4,10,8,5,4,1,10,1,1,4 +1295529,2,5,7,6,4,10,7,6,1,4 +1298484,10,3,4,5,3,10,4,1,1,4 +1311875,5,1,2,1,2,1,1,1,1,2 +1315506,4,8,6,3,4,10,7,1,1,4 +1320141,5,1,1,1,2,1,2,1,1,2 +1325309,4,1,2,1,2,1,2,1,1,2 +1333063,5,1,3,1,2,1,3,1,1,2 +1333495,3,1,1,1,2,1,2,1,1,2 +1334659,5,2,4,1,1,1,1,1,1,2 +1336798,3,1,1,1,2,1,2,1,1,2 +1344449,1,1,1,1,1,1,2,1,1,2 +1350568,4,1,1,1,2,1,2,1,1,2 +1352663,5,4,6,8,4,1,8,10,1,4 +188336,5,3,2,8,5,10,8,1,2,4 +352431,10,5,10,3,5,8,7,8,3,4 +353098,4,1,1,2,2,1,1,1,1,2 +411453,1,1,1,1,2,1,1,1,1,2 +557583,5,10,10,10,10,10,10,1,1,4 +636375,5,1,1,1,2,1,1,1,1,2 +736150,10,4,3,10,3,10,7,1,2,4 +803531,5,10,10,10,5,2,8,5,1,4 +822829,8,10,10,10,6,10,10,10,10,4 +1016634,2,3,1,1,2,1,2,1,1,2 +1031608,2,1,1,1,1,1,2,1,1,2 +1041043,4,1,3,1,2,1,2,1,1,2 +1042252,3,1,1,1,2,1,2,1,1,2 +1057067,1,1,1,1,1,?,1,1,1,2 +1061990,4,1,1,1,2,1,2,1,1,2 +1073836,5,1,1,1,2,1,2,1,1,2 +1083817,3,1,1,1,2,1,2,1,1,2 +1096352,6,3,3,3,3,2,6,1,1,2 +1140597,7,1,2,3,2,1,2,1,1,2 +1149548,1,1,1,1,2,1,1,1,1,2 +1174009,5,1,1,2,1,1,2,1,1,2 +1183596,3,1,3,1,3,4,1,1,1,2 +1190386,4,6,6,5,7,6,7,7,3,4 +1190546,2,1,1,1,2,5,1,1,1,2 +1213273,2,1,1,1,2,1,1,1,1,2 +1218982,4,1,1,1,2,1,1,1,1,2 +1225382,6,2,3,1,2,1,1,1,1,2 +1235807,5,1,1,1,2,1,2,1,1,2 +1238777,1,1,1,1,2,1,1,1,1,2 +1253955,8,7,4,4,5,3,5,10,1,4 +1257366,3,1,1,1,2,1,1,1,1,2 +1260659,3,1,4,1,2,1,1,1,1,2 +1268952,10,10,7,8,7,1,10,10,3,4 +1275807,4,2,4,3,2,2,2,1,1,2 +1277792,4,1,1,1,2,1,1,1,1,2 +1277792,5,1,1,3,2,1,1,1,1,2 +1285722,4,1,1,3,2,1,1,1,1,2 +1288608,3,1,1,1,2,1,2,1,1,2 +1290203,3,1,1,1,2,1,2,1,1,2 +1294413,1,1,1,1,2,1,1,1,1,2 +1299596,2,1,1,1,2,1,1,1,1,2 +1303489,3,1,1,1,2,1,2,1,1,2 +1311033,1,2,2,1,2,1,1,1,1,2 +1311108,1,1,1,3,2,1,1,1,1,2 +1315807,5,10,10,10,10,2,10,10,10,4 +1318671,3,1,1,1,2,1,2,1,1,2 +1319609,3,1,1,2,3,4,1,1,1,2 +1323477,1,2,1,3,2,1,2,1,1,2 +1324572,5,1,1,1,2,1,2,2,1,2 +1324681,4,1,1,1,2,1,2,1,1,2 +1325159,3,1,1,1,2,1,3,1,1,2 +1326892,3,1,1,1,2,1,2,1,1,2 +1330361,5,1,1,1,2,1,2,1,1,2 +1333877,5,4,5,1,8,1,3,6,1,2 +1334015,7,8,8,7,3,10,7,2,3,4 +1334667,1,1,1,1,2,1,1,1,1,2 +1339781,1,1,1,1,2,1,2,1,1,2 +1339781,4,1,1,1,2,1,3,1,1,2 +13454352,1,1,3,1,2,1,2,1,1,2 +1345452,1,1,3,1,2,1,2,1,1,2 +1345593,3,1,1,3,2,1,2,1,1,2 +1347749,1,1,1,1,2,1,1,1,1,2 +1347943,5,2,2,2,2,1,1,1,2,2 +1348851,3,1,1,1,2,1,3,1,1,2 +1350319,5,7,4,1,6,1,7,10,3,4 +1350423,5,10,10,8,5,5,7,10,1,4 +1352848,3,10,7,8,5,8,7,4,1,4 +1353092,3,2,1,2,2,1,3,1,1,2 +1354840,2,1,1,1,2,1,3,1,1,2 +1354840,5,3,2,1,3,1,1,1,1,2 +1355260,1,1,1,1,2,1,2,1,1,2 +1365075,4,1,4,1,2,1,1,1,1,2 +1365328,1,1,2,1,2,1,2,1,1,2 +1368267,5,1,1,1,2,1,1,1,1,2 +1368273,1,1,1,1,2,1,1,1,1,2 +1368882,2,1,1,1,2,1,1,1,1,2 +1369821,10,10,10,10,5,10,10,10,7,4 +1371026,5,10,10,10,4,10,5,6,3,4 +1371920,5,1,1,1,2,1,3,2,1,2 +466906,1,1,1,1,2,1,1,1,1,2 +466906,1,1,1,1,2,1,1,1,1,2 +534555,1,1,1,1,2,1,1,1,1,2 +536708,1,1,1,1,2,1,1,1,1,2 +566346,3,1,1,1,2,1,2,3,1,2 +603148,4,1,1,1,2,1,1,1,1,2 +654546,1,1,1,1,2,1,1,1,8,2 +654546,1,1,1,3,2,1,1,1,1,2 +695091,5,10,10,5,4,5,4,4,1,4 +714039,3,1,1,1,2,1,1,1,1,2 +763235,3,1,1,1,2,1,2,1,2,2 +776715,3,1,1,1,3,2,1,1,1,2 +841769,2,1,1,1,2,1,1,1,1,2 +888820,5,10,10,3,7,3,8,10,2,4 +897471,4,8,6,4,3,4,10,6,1,4 +897471,4,8,8,5,4,5,10,4,1,4 diff --git a/one_exercise_per_file/week02/day02/ex05/data/breast-cancer-wisconsin.names b/one_exercise_per_file/week02/day02/ex05/data/breast-cancer-wisconsin.names new file mode 100644 index 0000000..54b59a1 --- /dev/null +++ b/one_exercise_per_file/week02/day02/ex05/data/breast-cancer-wisconsin.names @@ -0,0 +1,126 @@ +Citation Request: + This breast cancer databases was obtained from the University of Wisconsin + Hospitals, Madison from Dr. William H. Wolberg. If you publish results + when using this database, then please include this information in your + acknowledgements. Also, please cite one or more of: + + 1. O. L. Mangasarian and W. H. Wolberg: "Cancer diagnosis via linear + programming", SIAM News, Volume 23, Number 5, September 1990, pp 1 & 18. + + 2. William H. Wolberg and O.L. Mangasarian: "Multisurface method of + pattern separation for medical diagnosis applied to breast cytology", + Proceedings of the National Academy of Sciences, U.S.A., Volume 87, + December 1990, pp 9193-9196. + + 3. O. L. Mangasarian, R. Setiono, and W.H. Wolberg: "Pattern recognition + via linear programming: Theory and application to medical diagnosis", + in: "Large-scale numerical optimization", Thomas F. Coleman and Yuying + Li, editors, SIAM Publications, Philadelphia 1990, pp 22-30. + + 4. K. P. Bennett & O. L. Mangasarian: "Robust linear programming + discrimination of two linearly inseparable sets", Optimization Methods + and Software 1, 1992, 23-34 (Gordon & Breach Science Publishers). + +1. Title: Wisconsin Breast Cancer Database (January 8, 1991) + +2. Sources: + -- Dr. WIlliam H. Wolberg (physician) + University of Wisconsin Hospitals + Madison, Wisconsin + USA + -- Donor: Olvi Mangasarian (mangasarian@cs.wisc.edu) + Received by David W. Aha (aha@cs.jhu.edu) + -- Date: 15 July 1992 + +3. Past Usage: + + Attributes 2 through 10 have been used to represent instances. + Each instance has one of 2 possible classes: benign or malignant. + + 1. Wolberg,~W.~H., \& Mangasarian,~O.~L. (1990). Multisurface method of + pattern separation for medical diagnosis applied to breast cytology. In + {\it Proceedings of the National Academy of Sciences}, {\it 87}, + 9193--9196. + -- Size of data set: only 369 instances (at that point in time) + -- Collected classification results: 1 trial only + -- Two pairs of parallel hyperplanes were found to be consistent with + 50% of the data + -- Accuracy on remaining 50% of dataset: 93.5% + -- Three pairs of parallel hyperplanes were found to be consistent with + 67% of data + -- Accuracy on remaining 33% of dataset: 95.9% + + 2. Zhang,~J. (1992). Selecting typical instances in instance-based + learning. In {\it Proceedings of the Ninth International Machine + Learning Conference} (pp. 470--479). Aberdeen, Scotland: Morgan + Kaufmann. + -- Size of data set: only 369 instances (at that point in time) + -- Applied 4 instance-based learning algorithms + -- Collected classification results averaged over 10 trials + -- Best accuracy result: + -- 1-nearest neighbor: 93.7% + -- trained on 200 instances, tested on the other 169 + -- Also of interest: + -- Using only typical instances: 92.2% (storing only 23.1 instances) + -- trained on 200 instances, tested on the other 169 + +4. Relevant Information: + + Samples arrive periodically as Dr. Wolberg reports his clinical cases. + The database therefore reflects this chronological grouping of the data. + This grouping information appears immediately below, having been removed + from the data itself: + + Group 1: 367 instances (January 1989) + Group 2: 70 instances (October 1989) + Group 3: 31 instances (February 1990) + Group 4: 17 instances (April 1990) + Group 5: 48 instances (August 1990) + Group 6: 49 instances (Updated January 1991) + Group 7: 31 instances (June 1991) + Group 8: 86 instances (November 1991) + ----------------------------------------- + Total: 699 points (as of the donated datbase on 15 July 1992) + + Note that the results summarized above in Past Usage refer to a dataset + of size 369, while Group 1 has only 367 instances. This is because it + originally contained 369 instances; 2 were removed. The following + statements summarizes changes to the original Group 1's set of data: + + ##### Group 1 : 367 points: 200B 167M (January 1989) + ##### Revised Jan 10, 1991: Replaced zero bare nuclei in 1080185 & 1187805 + ##### Revised Nov 22,1991: Removed 765878,4,5,9,7,10,10,10,3,8,1 no record + ##### : Removed 484201,2,7,8,8,4,3,10,3,4,1 zero epithelial + ##### : Changed 0 to 1 in field 6 of sample 1219406 + ##### : Changed 0 to 1 in field 8 of following sample: + ##### : 1182404,2,3,1,1,1,2,0,1,1,1 + +5. Number of Instances: 699 (as of 15 July 1992) + +6. Number of Attributes: 10 plus the class attribute + +7. Attribute Information: (class attribute has been moved to last column) + + # Attribute Domain + -- ----------------------------------------- + 1. Sample code number id number + 2. Clump Thickness 1 - 10 + 3. Uniformity of Cell Size 1 - 10 + 4. Uniformity of Cell Shape 1 - 10 + 5. Marginal Adhesion 1 - 10 + 6. Single Epithelial Cell Size 1 - 10 + 7. Bare Nuclei 1 - 10 + 8. Bland Chromatin 1 - 10 + 9. Normal Nucleoli 1 - 10 + 10. Mitoses 1 - 10 + 11. Class: (2 for benign, 4 for malignant) + +8. Missing attribute values: 16 + + There are 16 instances in Groups 1 to 6 that contain a single missing + (i.e., unavailable) attribute value, now denoted by "?". + +9. Class distribution: + + Benign: 458 (65.5%) + Malignant: 241 (34.5%) diff --git a/one_exercise_per_file/week02/day03/ex05/data/breast-cancer.csv b/one_exercise_per_file/week02/day03/ex05/data/breast-cancer.csv new file mode 100644 index 0000000..0efb95a --- /dev/null +++ b/one_exercise_per_file/week02/day03/ex05/data/breast-cancer.csv @@ -0,0 +1,286 @@ +"40-49","premeno","15-19","0-2","yes","3","right","left_up","no","recurrence-events" +"50-59","ge40","15-19","0-2","no","1","right","central","no","no-recurrence-events" +"50-59","ge40","35-39","0-2","no","2","left","left_low","no","recurrence-events" +"40-49","premeno","35-39","0-2","yes","3","right","left_low","yes","no-recurrence-events" +"40-49","premeno","30-34","3-5","yes","2","left","right_up","no","recurrence-events" +"50-59","premeno","25-29","3-5","no","2","right","left_up","yes","no-recurrence-events" +"50-59","ge40","40-44","0-2","no","3","left","left_up","no","no-recurrence-events" +"40-49","premeno","10-14","0-2","no","2","left","left_up","no","no-recurrence-events" +"40-49","premeno","0-4","0-2","no","2","right","right_low","no","no-recurrence-events" +"40-49","ge40","40-44","15-17","yes","2","right","left_up","yes","no-recurrence-events" +"50-59","premeno","25-29","0-2","no","2","left","left_low","no","no-recurrence-events" +"60-69","ge40","15-19","0-2","no","2","right","left_up","no","no-recurrence-events" +"50-59","ge40","30-34","0-2","no","1","right","central","no","no-recurrence-events" +"50-59","ge40","25-29","0-2","no","2","right","left_up","no","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","2","left","left_low","yes","recurrence-events" +"30-39","premeno","20-24","0-2","no","3","left","central","no","no-recurrence-events" +"50-59","premeno","10-14","3-5","no","1","right","left_up","no","no-recurrence-events" +"60-69","ge40","15-19","0-2","no","2","right","left_up","no","no-recurrence-events" +"50-59","premeno","40-44","0-2","no","2","left","left_up","no","no-recurrence-events" +"50-59","ge40","20-24","0-2","no","3","left","left_up","no","no-recurrence-events" +"50-59","lt40","20-24","0-2",nan,"1","left","left_low","no","recurrence-events" +"60-69","ge40","40-44","3-5","no","2","right","left_up","yes","no-recurrence-events" +"50-59","ge40","15-19","0-2","no","2","right","left_low","no","no-recurrence-events" +"40-49","premeno","10-14","0-2","no","1","right","left_up","no","no-recurrence-events" +"30-39","premeno","15-19","6-8","yes","3","left","left_low","yes","recurrence-events" +"50-59","ge40","20-24","3-5","yes","2","right","left_up","no","no-recurrence-events" +"50-59","ge40","10-14","0-2","no","2","right","left_low","no","no-recurrence-events" +"40-49","premeno","10-14","0-2","no","1","right","left_up","no","no-recurrence-events" +"60-69","ge40","30-34","3-5","yes","3","left","left_low","no","no-recurrence-events" +"40-49","premeno","15-19","15-17","yes","3","left","left_low","no","recurrence-events" +"60-69","ge40","30-34","0-2","no","3","right","central","no","recurrence-events" +"60-69","ge40","25-29","3-5",nan,"1","right","left_low","yes","no-recurrence-events" +"50-59","ge40","25-29","0-2","no","3","left","right_up","no","no-recurrence-events" +"50-59","ge40","20-24","0-2","no","3","right","left_up","no","no-recurrence-events" +"40-49","premeno","30-34","0-2","no","1","left","left_low","yes","recurrence-events" +"30-39","premeno","15-19","0-2","no","1","left","left_low","no","no-recurrence-events" +"40-49","premeno","10-14","0-2","no","2","right","left_up","no","no-recurrence-events" +"60-69","ge40","45-49","6-8","yes","3","left","central","no","no-recurrence-events" +"40-49","ge40","20-24","0-2","no","3","left","left_low","no","no-recurrence-events" +"40-49","premeno","10-14","0-2","no","1","right","right_low","no","no-recurrence-events" +"30-39","premeno","35-39","0-2","no","3","left","left_low","no","recurrence-events" +"40-49","premeno","35-39","9-11","yes","2","right","right_up","yes","no-recurrence-events" +"60-69","ge40","25-29","0-2","no","2","right","left_low","no","no-recurrence-events" +"50-59","ge40","20-24","3-5","yes","3","right","right_up","no","recurrence-events" +"30-39","premeno","15-19","0-2","no","1","left","left_low","no","no-recurrence-events" +"50-59","premeno","30-34","0-2","no","3","left","right_up","no","recurrence-events" +"60-69","ge40","10-14","0-2","no","2","right","left_up","yes","no-recurrence-events" +"40-49","premeno","35-39","0-2","yes","3","right","left_up","yes","no-recurrence-events" +"50-59","premeno","50-54","0-2","yes","2","right","left_up","yes","no-recurrence-events" +"50-59","ge40","40-44","0-2","no","3","right","left_up","no","no-recurrence-events" +"70-79","ge40","15-19","9-11",nan,"1","left","left_low","yes","recurrence-events" +"50-59","lt40","30-34","0-2","no","3","right","left_up","no","no-recurrence-events" +"40-49","premeno","0-4","0-2","no","3","left","central","no","no-recurrence-events" +"70-79","ge40","40-44","0-2","no","1","right","right_up","no","no-recurrence-events" +"40-49","premeno","25-29","0-2",nan,"2","left","right_low","yes","no-recurrence-events" +"50-59","ge40","25-29","15-17","yes","3","right","left_up","no","no-recurrence-events" +"50-59","premeno","20-24","0-2","no","1","left","left_low","no","no-recurrence-events" +"50-59","ge40","35-39","15-17","no","3","left","left_low","no","no-recurrence-events" +"50-59","ge40","50-54","0-2","no","1","right","right_up","no","no-recurrence-events" +"30-39","premeno","0-4","0-2","no","2","right","central","no","recurrence-events" +"50-59","ge40","40-44","6-8","yes","3","left","left_low","yes","recurrence-events" +"40-49","premeno","30-34","0-2","no","2","right","right_up","yes","no-recurrence-events" +"40-49","ge40","20-24","0-2","no","3","left","left_up","no","no-recurrence-events" +"40-49","premeno","30-34","15-17","yes","3","left","left_low","no","recurrence-events" +"40-49","ge40","20-24","0-2","no","2","right","left_up","no","recurrence-events" +"50-59","ge40","15-19","0-2","no","1","right","central","no","no-recurrence-events" +"30-39","premeno","25-29","0-2","no","2","right","left_low","no","no-recurrence-events" +"60-69","ge40","15-19","0-2","no","2","left","left_low","no","no-recurrence-events" +"50-59","premeno","50-54","9-11","yes","2","right","left_up","no","recurrence-events" +"30-39","premeno","10-14","0-2","no","1","right","left_low","no","no-recurrence-events" +"50-59","premeno","25-29","3-5","yes","3","left","left_low","yes","recurrence-events" +"60-69","ge40","25-29","3-5",nan,"1","right","left_up","yes","no-recurrence-events" +"60-69","ge40","10-14","0-2","no","1","right","left_low","no","no-recurrence-events" +"50-59","ge40","30-34","6-8","yes","3","left","right_low","no","recurrence-events" +"30-39","premeno","25-29","6-8","yes","3","left","right_low","yes","recurrence-events" +"50-59","ge40","10-14","0-2","no","1","left","left_low","no","no-recurrence-events" +"50-59","premeno","15-19","0-2","no","1","left","left_low","no","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","2","right","central","no","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","3","left","right_up","no","recurrence-events" +"60-69","ge40","30-34","6-8","yes","2","right","right_up","no","no-recurrence-events" +"50-59","lt40","15-19","0-2","no","2","left","left_low","no","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","2","right","left_low","no","no-recurrence-events" +"40-49","premeno","30-34","0-2","no","1","right","left_up","no","no-recurrence-events" +"60-69","ge40","15-19","0-2","no","2","left","left_up","yes","no-recurrence-events" +"30-39","premeno","0-4","0-2","no","2","right","central","no","no-recurrence-events" +"50-59","ge40","35-39","0-2","no","3","left","left_up","no","no-recurrence-events" +"40-49","premeno","40-44","0-2","no","1","right","left_up","no","no-recurrence-events" +"30-39","premeno","25-29","6-8","yes","2","right","left_up","yes","no-recurrence-events" +"50-59","ge40","20-24","0-2","no","1","right","left_low","no","no-recurrence-events" +"50-59","ge40","30-34","0-2","no","1","left","left_up","no","no-recurrence-events" +"60-69","ge40","20-24","0-2","no","1","right","left_up","no","recurrence-events" +"30-39","premeno","30-34","3-5","no","3","right","left_up","yes","recurrence-events" +"50-59","lt40","20-24","0-2",nan,"1","left","left_up","no","recurrence-events" +"50-59","premeno","10-14","0-2","no","2","right","left_up","no","no-recurrence-events" +"50-59","ge40","20-24","0-2","no","2","right","left_up","no","no-recurrence-events" +"40-49","premeno","45-49","0-2","no","2","left","left_low","yes","no-recurrence-events" +"30-39","premeno","40-44","0-2","no","1","left","left_up","no","recurrence-events" +"50-59","premeno","10-14","0-2","no","1","left","left_low","no","no-recurrence-events" +"60-69","ge40","30-34","0-2","no","3","right","left_up","yes","recurrence-events" +"40-49","premeno","35-39","0-2","no","1","right","left_up","no","recurrence-events" +"40-49","premeno","20-24","3-5","yes","2","left","left_low","yes","recurrence-events" +"50-59","premeno","15-19","0-2","no","2","left","left_low","no","recurrence-events" +"50-59","ge40","30-34","0-2","no","3","right","left_low","no","no-recurrence-events" +"60-69","ge40","20-24","0-2","no","2","left","left_up","no","no-recurrence-events" +"40-49","premeno","20-24","0-2","no","1","left","right_low","no","no-recurrence-events" +"60-69","ge40","30-34","3-5","yes","2","left","central","yes","recurrence-events" +"60-69","ge40","20-24","3-5","no","2","left","left_low","yes","recurrence-events" +"50-59","premeno","25-29","0-2","no","2","left","right_up","no","recurrence-events" +"50-59","ge40","30-34","0-2","no","1","right","right_up","no","no-recurrence-events" +"40-49","premeno","20-24","0-2","no","2","left","right_low","no","no-recurrence-events" +"60-69","ge40","15-19","0-2","no","1","right","left_up","no","no-recurrence-events" +"60-69","ge40","30-34","0-2","no","2","left","left_low","yes","no-recurrence-events" +"30-39","premeno","30-34","0-2","no","2","left","left_up","no","no-recurrence-events" +"30-39","premeno","40-44","3-5","no","3","right","right_up","yes","no-recurrence-events" +"60-69","ge40","5-9","0-2","no","1","left","central","no","no-recurrence-events" +"60-69","ge40","10-14","0-2","no","1","left","left_up","no","no-recurrence-events" +"40-49","premeno","30-34","6-8","yes","3","right","left_up","no","recurrence-events" +"60-69","ge40","10-14","0-2","no","1","left","left_up","no","no-recurrence-events" +"40-49","premeno","35-39","9-11","yes","2","right","left_up","yes","no-recurrence-events" +"40-49","premeno","20-24","0-2","no","1","right","left_low","no","no-recurrence-events" +"40-49","premeno","30-34","0-2","yes","3","right","right_up","no","recurrence-events" +"50-59","premeno","25-29","0-2","yes","2","left","left_up","no","no-recurrence-events" +"40-49","premeno","15-19","0-2","no","2","left","left_low","no","no-recurrence-events" +"30-39","premeno","35-39","9-11","yes","3","left","left_low","no","recurrence-events" +"30-39","premeno","10-14","0-2","no","2","left","right_low","no","no-recurrence-events" +"50-59","ge40","30-34","0-2","no","1","right","left_low","no","no-recurrence-events" +"60-69","ge40","30-34","0-2","no","2","left","left_up","no","no-recurrence-events" +"60-69","ge40","25-29","0-2","no","2","left","left_low","no","no-recurrence-events" +"40-49","premeno","15-19","0-2","no","2","left","left_up","no","recurrence-events" +"60-69","ge40","15-19","0-2","no","2","right","left_low","no","no-recurrence-events" +"40-49","premeno","30-34","0-2","no","2","left","right_low","no","no-recurrence-events" +"20-29","premeno","35-39","0-2","no","2","right","right_up","no","no-recurrence-events" +"40-49","premeno","30-34","0-2","no","3","right","right_up","no","recurrence-events" +"40-49","premeno","25-29","0-2","no","2","right","left_low","no","recurrence-events" +"30-39","premeno","30-34","0-2","no","3","left","left_low","no","no-recurrence-events" +"30-39","premeno","15-19","0-2","no","1","right","left_low","no","recurrence-events" +"50-59","ge40","0-4","0-2","no","1","right","central","no","no-recurrence-events" +"50-59","ge40","0-4","0-2","no","1","left","left_low","no","no-recurrence-events" +"60-69","ge40","50-54","0-2","no","3","right","left_up","no","recurrence-events" +"50-59","premeno","30-34","0-2","no","1","left","central","no","no-recurrence-events" +"60-69","ge40","20-24","15-17","yes","3","left","left_low","yes","recurrence-events" +"40-49","premeno","25-29","0-2","no","2","left","left_up","no","no-recurrence-events" +"40-49","premeno","30-34","3-5","no","2","right","left_up","no","recurrence-events" +"50-59","premeno","20-24","3-5","yes","2","left","left_low","no","no-recurrence-events" +"50-59","ge40","15-19","0-2","yes","2","left","central","yes","no-recurrence-events" +"50-59","premeno","10-14","0-2","no","3","left","left_low","no","no-recurrence-events" +"30-39","premeno","30-34","9-11","no","2","right","left_up","yes","recurrence-events" +"60-69","ge40","10-14","0-2","no","1","left","left_low","no","no-recurrence-events" +"40-49","premeno","40-44","0-2","no","2","right","left_low","no","no-recurrence-events" +"50-59","ge40","30-34","9-11",nan,"3","left","left_up","yes","no-recurrence-events" +"40-49","premeno","50-54","0-2","no","2","right","left_low","yes","recurrence-events" +"50-59","ge40","15-19","0-2","no","2","right","right_up","no","no-recurrence-events" +"50-59","ge40","40-44","3-5","yes","2","left","left_low","no","no-recurrence-events" +"30-39","premeno","25-29","3-5","yes","3","left","left_low","yes","recurrence-events" +"60-69","ge40","10-14","0-2","no","2","left","left_low","no","no-recurrence-events" +"60-69","lt40","10-14","0-2","no","1","left","right_up","no","no-recurrence-events" +"30-39","premeno","30-34","0-2","no","2","left","left_up","no","recurrence-events" +"30-39","premeno","20-24","3-5","yes","2","left","left_low","no","recurrence-events" +"50-59","ge40","10-14","0-2","no","1","right","left_up","no","no-recurrence-events" +"60-69","ge40","25-29","0-2","no","3","right","left_up","no","no-recurrence-events" +"50-59","ge40","25-29","3-5","yes","3","right","left_up","no","no-recurrence-events" +"40-49","premeno","30-34","6-8","no","2","left","left_up","no","no-recurrence-events" +"60-69","ge40","50-54","0-2","no","2","left","left_low","no","no-recurrence-events" +"50-59","premeno","30-34","0-2","no","3","left","left_low","no","no-recurrence-events" +"40-49","ge40","20-24","3-5","no","3","right","left_low","yes","recurrence-events" +"50-59","ge40","30-34","6-8","yes","2","left","right_low","yes","recurrence-events" +"60-69","ge40","25-29","3-5","no","2","right","right_up","no","recurrence-events" +"40-49","premeno","20-24","0-2","no","2","left","central","no","no-recurrence-events" +"40-49","premeno","20-24","0-2","no","2","left","left_up","no","no-recurrence-events" +"40-49","premeno","50-54","0-2","no","2","left","left_low","no","no-recurrence-events" +"50-59","ge40","20-24","0-2","no","2","right","central","no","recurrence-events" +"50-59","ge40","30-34","3-5","no","3","right","left_up","no","recurrence-events" +"40-49","ge40","25-29","0-2","no","2","left","left_low","no","no-recurrence-events" +"50-59","premeno","25-29","0-2","no","1","right","left_up","no","recurrence-events" +"40-49","premeno","40-44","3-5","yes","3","right","left_up","yes","no-recurrence-events" +"40-49","premeno","20-24","0-2","no","2","right","left_up","no","no-recurrence-events" +"40-49","premeno","20-24","3-5","no","2","right","left_up","no","no-recurrence-events" +"40-49","premeno","25-29","9-11","yes","3","right","left_up","no","recurrence-events" +"40-49","premeno","25-29","0-2","no","2","right","left_low","no","recurrence-events" +"40-49","premeno","20-24","0-2","no","1","right","right_up","no","no-recurrence-events" +"30-39","premeno","40-44","0-2","no","2","right","right_up","no","no-recurrence-events" +"60-69","ge40","10-14","6-8","yes","3","left","left_up","yes","recurrence-events" +"40-49","premeno","35-39","0-2","no","1","left","left_low","no","no-recurrence-events" +"50-59","ge40","30-34","3-5","no","3","left","left_low","no","recurrence-events" +"40-49","premeno","5-9","0-2","no","1","left","left_low","yes","no-recurrence-events" +"60-69","ge40","15-19","0-2","no","1","left","right_low","no","no-recurrence-events" +"40-49","premeno","30-34","0-2","no","3","right","right_up","no","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","3","left","left_up","no","recurrence-events" +"50-59","ge40","5-9","0-2","no","2","right","right_up","no","no-recurrence-events" +"50-59","premeno","25-29","0-2","no","2","right","right_low","no","no-recurrence-events" +"50-59","premeno","25-29","0-2","no","2","left","right_up","no","recurrence-events" +"40-49","premeno","10-14","0-2","no","2","left","left_low","yes","no-recurrence-events" +"60-69","ge40","35-39","6-8","yes","3","left","left_low","no","recurrence-events" +"60-69","ge40","50-54","0-2","no","2","right","left_up","yes","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","2","right","left_up","no","no-recurrence-events" +"30-39","premeno","20-24","3-5","no","2","right","central","no","no-recurrence-events" +"30-39","premeno","30-34","0-2","no","1","right","left_up","no","recurrence-events" +"60-69","lt40","30-34","0-2","no","1","left","left_low","no","no-recurrence-events" +"40-49","premeno","15-19","12-14","no","3","right","right_low","yes","no-recurrence-events" +"60-69","ge40","20-24","0-2","no","3","right","left_low","no","recurrence-events" +"30-39","premeno","5-9","0-2","no","2","left","right_low","no","no-recurrence-events" +"40-49","premeno","30-34","0-2","no","3","left","left_up","no","no-recurrence-events" +"60-69","ge40","30-34","0-2","no","3","left","left_low","no","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","1","right","right_low","no","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","1","left","right_low","no","no-recurrence-events" +"60-69","ge40","40-44","3-5","yes","3","right","left_low","no","recurrence-events" +"50-59","ge40","25-29","0-2","no","2","left","left_low","no","no-recurrence-events" +"50-59","premeno","30-34","0-2","no","3","right","left_up","yes","recurrence-events" +"40-49","ge40","30-34","3-5","no","3","left","left_low","no","recurrence-events" +"40-49","premeno","25-29","0-2","no","1","right","left_low","yes","no-recurrence-events" +"40-49","ge40","25-29","12-14","yes","3","left","right_low","yes","recurrence-events" +"40-49","premeno","40-44","0-2","no","1","left","left_low","no","recurrence-events" +"40-49","premeno","20-24","0-2","no","2","left","left_low","no","no-recurrence-events" +"50-59","ge40","25-29","0-2","no","1","left","right_low","no","no-recurrence-events" +"40-49","premeno","20-24","0-2","no","2","right","left_up","no","no-recurrence-events" +"70-79","ge40","40-44","0-2","no","1","right","left_up","no","no-recurrence-events" +"60-69","ge40","25-29","0-2","no","3","left","left_up","no","recurrence-events" +"50-59","premeno","25-29","0-2","no","2","left","left_low","no","no-recurrence-events" +"60-69","ge40","45-49","0-2","no","1","right","right_up","yes","recurrence-events" +"50-59","ge40","20-24","0-2","yes","2","right","left_up","no","no-recurrence-events" +"50-59","ge40","25-29","0-2","no","1","left","left_low","no","no-recurrence-events" +"50-59","ge40","20-24","0-2","no","3","left","left_up","no","no-recurrence-events" +"40-49","premeno","20-24","3-5","no","2","right","left_low","no","no-recurrence-events" +"50-59","ge40","35-39","0-2","no","2","left","left_up","no","no-recurrence-events" +"30-39","premeno","20-24","0-2","no","3","left","left_up","yes","recurrence-events" +"60-69","ge40","30-34","0-2","no","1","right","left_up","no","no-recurrence-events" +"60-69","ge40","25-29","0-2","no","3","right","left_low","no","no-recurrence-events" +"40-49","ge40","30-34","0-2","no","2","left","left_up","yes","no-recurrence-events" +"30-39","premeno","25-29","0-2","no","2","left","left_low","no","no-recurrence-events" +"40-49","premeno","20-24","0-2","no","2","left","left_low","no","recurrence-events" +"30-39","premeno","20-24","0-2","no","2","left","right_low","no","no-recurrence-events" +"40-49","premeno","10-14","0-2","no","2","right","left_low","no","no-recurrence-events" +"50-59","premeno","15-19","0-2","no","2","right","right_low","no","no-recurrence-events" +"50-59","premeno","25-29","0-2","no","1","right","left_up","no","no-recurrence-events" +"60-69","ge40","20-24","0-2","no","2","right","left_up","no","no-recurrence-events" +"60-69","ge40","40-44","0-2","no","2","right","left_low","no","recurrence-events" +"30-39","lt40","15-19","0-2","no","3","right","left_up","no","no-recurrence-events" +"40-49","premeno","30-34","12-14","yes","3","left","left_up","yes","recurrence-events" +"60-69","ge40","30-34","0-2","yes","2","right","right_up","yes","recurrence-events" +"50-59","ge40","40-44","6-8","yes","3","left","left_low","yes","recurrence-events" +"50-59","ge40","30-34","0-2","no","3","left",nan,"no","recurrence-events" +"70-79","ge40","10-14","0-2","no","2","left","central","no","no-recurrence-events" +"30-39","premeno","40-44","0-2","no","2","left","left_low","yes","no-recurrence-events" +"40-49","premeno","30-34","0-2","no","2","right","right_low","no","no-recurrence-events" +"40-49","premeno","30-34","0-2","no","1","left","left_low","no","no-recurrence-events" +"60-69","ge40","15-19","0-2","no","2","left","left_low","no","no-recurrence-events" +"40-49","premeno","10-14","0-2","no","2","left","left_low","no","no-recurrence-events" +"60-69","ge40","20-24","0-2","no","1","left","left_low","no","no-recurrence-events" +"50-59","ge40","10-14","0-2","no","1","left","left_up","no","no-recurrence-events" +"50-59","premeno","25-29","0-2","no","1","left","left_low","no","no-recurrence-events" +"50-59","ge40","30-34","9-11","yes","3","left","right_low","yes","recurrence-events" +"50-59","ge40","10-14","0-2","no","2","left","left_low","no","no-recurrence-events" +"40-49","premeno","30-34","0-2","no","1","left","right_up","no","no-recurrence-events" +"70-79","ge40","0-4","0-2","no","1","left","right_low","no","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","3","right","left_up","yes","no-recurrence-events" +"50-59","premeno","25-29","0-2","no","3","right","left_low","yes","recurrence-events" +"50-59","ge40","40-44","0-2","no","2","left","left_low","no","no-recurrence-events" +"60-69","ge40","25-29","0-2","no","3","left","right_low","yes","recurrence-events" +"40-49","premeno","30-34","3-5","yes","2","right","left_low","no","no-recurrence-events" +"50-59","ge40","20-24","0-2","no","2","left","left_up","no","recurrence-events" +"70-79","ge40","20-24","0-2","no","3","left","left_up","no","no-recurrence-events" +"30-39","premeno","25-29","0-2","no","1","left","central","no","no-recurrence-events" +"60-69","ge40","30-34","0-2","no","2","left","left_low","no","no-recurrence-events" +"40-49","premeno","20-24","3-5","yes","2","right","right_up","yes","recurrence-events" +"50-59","ge40","30-34","9-11",nan,"3","left","left_low","yes","no-recurrence-events" +"50-59","ge40","0-4","0-2","no","2","left","central","no","no-recurrence-events" +"40-49","premeno","20-24","0-2","no","3","right","left_low","yes","no-recurrence-events" +"30-39","premeno","35-39","0-2","no","3","left","left_low","no","recurrence-events" +"60-69","ge40","30-34","0-2","no","1","left","left_up","no","no-recurrence-events" +"60-69","ge40","20-24","0-2","no","1","left","left_low","no","no-recurrence-events" +"50-59","ge40","25-29","6-8","no","3","left","left_low","yes","recurrence-events" +"50-59","premeno","35-39","15-17","yes","3","right","right_up","no","recurrence-events" +"30-39","premeno","20-24","3-5","yes","2","right","left_up","yes","no-recurrence-events" +"40-49","premeno","20-24","6-8","no","2","right","left_low","yes","no-recurrence-events" +"50-59","ge40","35-39","0-2","no","3","left","left_low","no","no-recurrence-events" +"50-59","premeno","35-39","0-2","no","2","right","left_up","no","no-recurrence-events" +"40-49","premeno","25-29","0-2","no","2","left","left_up","yes","no-recurrence-events" +"40-49","premeno","35-39","0-2","no","2","right","right_up","no","no-recurrence-events" +"50-59","premeno","30-34","3-5","yes","2","left","left_low","yes","no-recurrence-events" +"40-49","premeno","20-24","0-2","no","2","right","right_up","no","no-recurrence-events" +"60-69","ge40","15-19","0-2","no","3","right","left_up","yes","no-recurrence-events" +"50-59","ge40","30-34","6-8","yes","2","left","left_low","no","no-recurrence-events" +"50-59","premeno","25-29","3-5","yes","2","left","left_low","yes","no-recurrence-events" +"30-39","premeno","30-34","6-8","yes","2","right","right_up","no","no-recurrence-events" +"50-59","premeno","15-19","0-2","no","2","right","left_low","no","no-recurrence-events" +"50-59","ge40","40-44","0-2","no","3","left","right_up","no","no-recurrence-events" \ No newline at end of file diff --git a/one_exercise_per_file/week02/day03/ex05/data/breast_cancer_readme.txt b/one_exercise_per_file/week02/day03/ex05/data/breast_cancer_readme.txt new file mode 100644 index 0000000..ce7417c --- /dev/null +++ b/one_exercise_per_file/week02/day03/ex05/data/breast_cancer_readme.txt @@ -0,0 +1,73 @@ +Citation Request: + This breast cancer domain was obtained from the University Medical Centre, + Institute of Oncology, Ljubljana, Yugoslavia. Thanks go to M. Zwitter and + M. Soklic for providing the data. Please include this citation if you plan + to use this database. + +1. Title: Breast cancer data (Michalski has used this) + +2. Sources: + -- Matjaz Zwitter & Milan Soklic (physicians) + Institute of Oncology + University Medical Center + Ljubljana, Yugoslavia + -- Donors: Ming Tan and Jeff Schlimmer (Jeffrey.Schlimmer@a.gp.cs.cmu.edu) + -- Date: 11 July 1988 + +3. Past Usage: (Several: here are some) + -- Michalski,R.S., Mozetic,I., Hong,J., & Lavrac,N. (1986). The + Multi-Purpose Incremental Learning System AQ15 and its Testing + Application to Three Medical Domains. In Proceedings of the + Fifth National Conference on Artificial Intelligence, 1041-1045, + Philadelphia, PA: Morgan Kaufmann. + -- accuracy range: 66%-72% + -- Clark,P. & Niblett,T. (1987). Induction in Noisy Domains. In + Progress in Machine Learning (from the Proceedings of the 2nd + European Working Session on Learning), 11-30, Bled, + Yugoslavia: Sigma Press. + -- 8 test results given: 65%-72% accuracy range + -- Tan, M., & Eshelman, L. (1988). Using weighted networks to + represent classification knowledge in noisy domains. Proceedings + of the Fifth International Conference on Machine Learning, 121-134, + Ann Arbor, MI. + -- 4 systems tested: accuracy range was 68%-73.5% + -- Cestnik,G., Konenenko,I, & Bratko,I. (1987). Assistant-86: A + Knowledge-Elicitation Tool for Sophisticated Users. In I.Bratko + & N.Lavrac (Eds.) Progress in Machine Learning, 31-45, Sigma Press. + -- Assistant-86: 78% accuracy + +4. Relevant Information: + This is one of three domains provided by the Oncology Institute + that has repeatedly appeared in the machine learning literature. + (See also lymphography and primary-tumor.) + + This data set includes 201 instances of one class and 85 instances of + another class. The instances are described by 9 attributes, some of + which are linear and some are nominal. + +5. Number of Instances: 286 + +6. Number of Attributes: 9 + the class attribute + +7. Attribute Information: + 1. Class: no-recurrence-events, recurrence-events + 2. age: 10-19, 20-29, 30-39, 40-49, 50-59, 60-69, 70-79, 80-89, 90-99. + 3. menopause: lt40, ge40, premeno. + 4. tumor-size: 0-4, 5-9, 10-14, 15-19, 20-24, 25-29, 30-34, 35-39, 40-44, + 45-49, 50-54, 55-59. + 5. inv-nodes: 0-2, 3-5, 6-8, 9-11, 12-14, 15-17, 18-20, 21-23, 24-26, + 27-29, 30-32, 33-35, 36-39. + 6. node-caps: yes, no. + 7. deg-malig: 1, 2, 3. + 8. breast: left, right. + 9. breast-quad: left-up, left-low, right-up, right-low, central. + 10. irradiat: yes, no. + +8. Missing Attribute Values: (denoted by "?") + Attribute #: Number of instances with missing values: + 6. 8 + 9. 1. + +9. Class Distribution: + 1. no-recurrence-events: 201 instances + 2. recurrence-events: 85 instances \ No newline at end of file diff --git a/one_exercise_per_file/week02/day04/audit/readme.md b/one_exercise_per_file/week02/day04/audit/readme.md deleted file mode 100644 index e69de29..0000000 diff --git a/one_exercise_per_file/week02/day04/ex01/audit/readme.md b/one_exercise_per_file/week02/day04/ex01/audit/readme.md new file mode 100644 index 0000000..4b56476 --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex01/audit/readme.md @@ -0,0 +1 @@ +1. This question is validated if the MSE outputted is **2.25**. \ No newline at end of file diff --git a/one_exercise_per_file/week02/day04/ex01/readme.md b/one_exercise_per_file/week02/day04/ex01/readme.md new file mode 100644 index 0000000..577ec77 --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex01/readme.md @@ -0,0 +1,10 @@ +# Exercise 1 MSE Scikit-learn + +The goal of this exercise is to learn to use `sklearn.metrics` to compute the mean squared error (MSE). + +1. Compute the MSE using `sklearn.metrics` on `y_true` and `y_pred` below: + +```python +y_true = [91, 51, 2.5, 2, -5] +y_pred = [90, 48, 2, 2, -4] +``` \ No newline at end of file diff --git a/one_exercise_per_file/week02/day04/ex02/audit/readme.md b/one_exercise_per_file/week02/day04/ex02/audit/readme.md new file mode 100644 index 0000000..3ce30e6 --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex02/audit/readme.md @@ -0,0 +1 @@ +1. This question is validated if the accuracy outputted is **0.5714285714285714**. diff --git a/one_exercise_per_file/week02/day04/ex02/readme.md b/one_exercise_per_file/week02/day04/ex02/readme.md new file mode 100644 index 0000000..f5d5ca5 --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex02/readme.md @@ -0,0 +1,10 @@ +# Exercise 2 Accuracy Scikit-learn + +The goal of this exercise is to learn to use `sklearn.metrics` to compute the accuracy. + +1. Compute the accuracy using `sklearn.metrics` on `y_true` and `y_pred` below: + +```python +y_pred = [0, 1, 0, 1, 0, 1, 0] +y_true = [0, 0, 1, 1, 1, 1, 0] +``` \ No newline at end of file diff --git a/one_exercise_per_file/week02/day04/ex03/audit/readme.md b/one_exercise_per_file/week02/day04/ex03/audit/readme.md new file mode 100644 index 0000000..10bfac2 --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex03/audit/readme.md @@ -0,0 +1,28 @@ +1. This question is validated if the predictions on the train set and test set are: + + ```console + # 10 first values Train + array([1.54505951, 2.21338527, 2.2636205 , 3.3258957 , 1.51710076, + 1.63209319, 2.9265211 , 0.78080924, 1.21968217, 0.72656239]) + ``` + + ```console + #10 first values Test + + array([ 1.82212706, 1.98357668, 0.80547979, -0.19259114, 1.76072418, + 3.27855815, 2.12056804, 1.96099917, 2.38239663, 1.21005304]) + ``` + +2. This question is validated if the results match this output: + + ```console + r2 on the train set: 0.3552292936915783 + MAE on the train set: 0.5300159371615256 + MSE on the train set: 0.5210784446797679 + + r2 on the test set: 0.30265471284464673 + MAE on the test set: 0.5454023699809112 + MSE on the test set: 0.5537420654727396 + ``` + +This result shows that the model has slightly better results on the train set than the test set. That's frequent since it is easier to get a better grade on an exam we studied than an exam that is different from what was prepared. However, the results are not good: r2 ~ 0.3. Fitting non linear models as the Random Forest on this data may improve the results. That's the goal of the exercise 5. \ No newline at end of file diff --git a/one_exercise_per_file/week02/day04/ex03/readme.md b/one_exercise_per_file/week02/day04/ex03/readme.md new file mode 100644 index 0000000..e7f3a4b --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex03/readme.md @@ -0,0 +1,37 @@ +# Exercise 3 Regression + +The goal of this exercise is to learn to evaluate a machine learning model using many regression metrics. + +Preliminary: + +- Import California Housing data set and split it in a train set and a test set (10%). Fit a linear regression on the data set. *The goal is focus on the metrics, that is why the code to fit the Linear Regression is given.* + +```python +# imports +from sklearn.datasets import fetch_california_housing +from sklearn.model_selection import train_test_split +from sklearn.linear_model import LinearRegression +from sklearn.preprocessing import StandardScaler +from sklearn.impute import SimpleImputer +from sklearn.pipeline import Pipeline +# data +housing = fetch_california_housing() +X, y = housing['data'], housing['target'] +# split data train test +X_train, X_test, y_train, y_test = train_test_split(X, + y, + test_size=0.1, + shuffle=True, + random_state=13) +# pipeline +pipeline = [('imputer', SimpleImputer(strategy='median')), + ('scaler', StandardScaler()), + ('lr', LinearRegression())] +pipe = Pipeline(pipeline) +# fit +pipe.fit(X_train, y_train) +``` + +1. Predict on the train set and test set + +2. Compute R2, Mean Square Error, Mean Absolute Error on both train and test set \ No newline at end of file diff --git a/one_exercise_per_file/week02/day04/ex04/audit/readme.md b/one_exercise_per_file/week02/day04/ex04/audit/readme.md new file mode 100644 index 0000000..5dd7cd2 --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex04/audit/readme.md @@ -0,0 +1,41 @@ +1. This question is validated if the predictions on the train set and test set are: + + ```console + # 10 first values Train + array([1, 0, 1, 1, 1, 0, 0, 1, 1, 0]) + + # 10 first values Test + array([1, 1, 0, 0, 0, 1, 1, 1, 0, 0]) + ``` + +2. This question is validated if the results match this output: + + ```console + F1 on the train set: 0.9911504424778761 + Accuracy on the train set: 0.989010989010989 + Recall on the train set: 0.9929078014184397 + Precision on the train set: 0.9893992932862191 + ROC_AUC on the train set: 0.9990161111794368 + + + F1 on the test set: 0.9801324503311258 + Accuracy on the test set: 0.9736842105263158 + Recall on the test set: 0.9866666666666667 + Precision on the test set: 0.9736842105263158 + ROC_AUC on the test set: 0.9863247863247864 + ``` + + The confusion matrix on the test set should be: + + ```console + array([[37, 2], + [ 1, 74]]) + ``` + +3. The ROC AUC plot should look like: + +![alt text][logo_ex4] + +[logo_ex4]: ../images/w2_day4_ex4_q3.png "ROC AUC " + +Having a 99% ROC AUC is not usual. The data set we used is easy to classify. On real data sets, always check if there's any leakage while having such a high ROC AUC score. diff --git a/one_exercise_per_file/week02/day04/ex04/images/w2_day4_ex4_q3.png b/one_exercise_per_file/week02/day04/ex04/images/w2_day4_ex4_q3.png new file mode 100644 index 0000000000000000000000000000000000000000..1f79eb7b02fb1ba078daa874b762447c1c9f9cd1 GIT binary patch literal 37354 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 literal 0 HcmV?d00001 diff --git a/one_exercise_per_file/week02/day04/ex04/readme.md b/one_exercise_per_file/week02/day04/ex04/readme.md new file mode 100644 index 0000000..0248d2b --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex04/readme.md @@ -0,0 +1,36 @@ +# Exercise 4 Classification + +The goal of this exercise is to learn to evaluate a machine learning model using many classification metrics. + +Preliminary: + +- Import Breast Cancer data set and split it in a train set and a test set (20%). Fit a logistic regression on the data set. *The goal is focus on the metrics, that is why the code to fit the logistic Regression is given.* + +```python +from sklearn.linear_model import LogisticRegression +from sklearn.datasets import load_breast_cancer +from sklearn.model_selection import train_test_split +from sklearn.preprocessing import StandardScaler + +X , y = load_breast_cancer(return_X_y=True) +X_train, X_test, y_train, y_test = train_test_split( + X, y, test_size=0.20) +scaler = StandardScaler() +X_train_scaled = scaler.fit_transform(X_train) +classifier = LogisticRegression() +classifier.fit(X_train_scaled, y_train) +``` + +1. Predict on the train set and test set + +2. Compute F1, accuracy, precision, recall, roc_auc scores on the train set and test set. Print the confusion matrix on the test set results. + +**Note: AUC can only be computed on probabilities, not on classes.** + +3. Plot the AUC curve for on the test set using roc_curve of scikit learn. There many ways to create this plot. It should look like this: + +![alt text][logo_ex4] + +[logo_ex4]: images/w2_day4_ex4_q3.png "ROC AUC " + +- https://scikit-learn.org/stable/modules/generated/sklearn.metrics.plot_roc_curve.html \ No newline at end of file diff --git a/one_exercise_per_file/week02/day04/ex05/audit/readme.md b/one_exercise_per_file/week02/day04/ex05/audit/readme.md new file mode 100644 index 0000000..e3bfa1c --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex05/audit/readme.md @@ -0,0 +1,72 @@ +1. Some of the algorithms use random steps (random sampling used by the `RandomForest`). I used `random_state = 43` for the Random Forest, the Decision Tree and the Gradient Boosting. This question is validated of the scores you got are close to: + + ```console + # Linear regression + + TRAIN + r2 on the train set: 0.34823544284172625 + MAE on the train set: 0.533092001261455 + MSE on the train set: 0.5273648371379568 + + TEST + r2 on the test set: 0.3551785428138914 + MAE on the test set: 0.5196420310323713 + MSE on the test set: 0.49761195027083804 + + + # SVM + + TRAIN + r2 on the train set: 0.6462366150965996 + MAE on the train set: 0.38356451633259875 + MSE on the train set: 0.33464478671339165 + + TEST + r2 on the test set: 0.6162644671183826 + MAE on the test set: 0.3897680598426786 + MSE on the test set: 0.3477101776543003 + + + # Decision Tree + + TRAIN + r2 on the train set: 0.9999999999999488 + MAE on the train set: 1.3685733933909677e-08 + MSE on the train set: 6.842866883530944e-14 + + TEST + r2 on the test set: 0.6263651902480918 + MAE on the test set: 0.4383758696244002 + MSE on the test set: 0.4727017198871596 + + + # Random Forest + + TRAIN + r2 on the train set: 0.9705418471542886 + MAE on the train set: 0.11983836612191189 + MSE on the train set: 0.034538356420577995 + + TEST + r2 on the test set: 0.7504673649554309 + MAE on the test set: 0.31889891600404635 + MSE on the test set: 0.24096164834441108 + + + # Gradient Boosting + + TRAIN + r2 on the train set: 0.7395782392433273 + MAE on the train set: 0.35656543036682264 + MSE on the train set: 0.26167490389525294 + + TEST + r2 on the test set: 0.7157456298013534 + MAE on the test set: 0.36455447680396397 + MSE on the test set: 0.27058170064218096 + + ``` + +It is important to notice that the Decision Tree over fits very easily. It learns easily the training data but is not able to extrapolate on the test set. This algorithm is not used a lot. + +However, Random Forest and Gradient Boosting propose a solid approach to correct the over fitting (in that case the parameters `max_depth` is set to None that is why the Random Forest over fits the data). These two algorithms are used intensively in Machine Learning Projects. diff --git a/one_exercise_per_file/week02/day04/ex05/readme.md b/one_exercise_per_file/week02/day04/ex05/readme.md new file mode 100644 index 0000000..8e4df06 --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex05/readme.md @@ -0,0 +1,55 @@ +# Exercise 5 Machine Learning models + +The goal of this exercise is to have an overview of the existing Machine Learning models and to learn to call them from scikit learn. +We will focus on: + +- SVM/SVC +- Decision Tree +- Random Forest (Ensemble learning) +- Gradient Boosting (Ensemble learning, Boosting techniques) + +All these algorithms exist in two versions: regression and classification. Even if the logic is similar in both classification and regression, the loss function is specific to each case. + +It is really easy to get lost among all the existing algorithms. This article is very useful to have a clear overview of the models and to understand which algorithm use and when. https://towardsdatascience.com/how-to-choose-the-right-machine-learning-algorithm-for-your-application-1e36c32400b9 + +Preliminary: + +- Import California Housing data set and split it in a train set and a test set (10%). Fit a linear regression on the data set. *The goal is to focus on the metrics, that is why the code to fit the Linear Regression is given.* + +```python +# imports +from sklearn.datasets import fetch_california_housing +from sklearn.model_selection import train_test_split +from sklearn.linear_model import LinearRegression +from sklearn.preprocessing import StandardScaler +from sklearn.impute import SimpleImputer +from sklearn.pipeline import Pipeline +# data +housing = fetch_california_housing() +X, y = housing['data'], housing['target'] +# split data train test +X_train, X_test, y_train, y_test = train_test_split(X, + y, + test_size=0.1, + shuffle=True, + random_state=43) +# pipeline +pipeline = [('imputer', SimpleImputer(strategy='median')), + ('scaler', StandardScaler()), + ('lr', LinearRegression())] +pipe = Pipeline(pipeline) +# fit +pipe.fit(X_train, y_train) + +``` + +1. Create 5 pipelines with 5 different models as final estimator (keep the imputer and scaler unchanged): + 1. Linear Regression + 2. SVM + 3. Decision Tree (set `random_state=43`) + 4. Random Forest (set `random_state=43`) + 5. Gradient Boosting (set `random_state=43`) + +Take time to have basic understanding of the role of the basic hyperparameter and their default value. + +- For each algorithm, print the R2, MSE and MAE on both train set and test set. \ No newline at end of file diff --git a/one_exercise_per_file/week02/day04/ex06/audit/readme.md b/one_exercise_per_file/week02/day04/ex06/audit/readme.md new file mode 100644 index 0000000..2244157 --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex06/audit/readme.md @@ -0,0 +1,31 @@ +1. This question is validated if the code that runs the `gridsearch` is (the parameters may change): + +```python +parameters = {'n_estimators':[10, 50, 75], + 'max_depth':[3,5,7], + 'min_samples_leaf': [10,20,30]} + +rf = RandomForestRegressor() +gridsearch = GridSearchCV(rf, + parameters, + cv = [(np.arange(18576), np.arange(18576,20640))], + n_jobs=-1) +gridsearch.fit(X, y) +``` + +2. This question is validated if the function is: + +```python +def select_model_verbose(gs): + + return gs.best_estimator_, gs.best_params_, gs.best_score_ +``` + +In my case, the `gridsearch` parameters are not interesting. Even if I reduced the over fitting of the Random Forest, the score on the test is lower than the score on the test returned by the Gradient Boosting in the previous exercise without optimal parameters search. + +3. This question is validated if the code used is: + +```python +model, best_params, best_score = select_model_verbose(gridsearch) +model.predict(new_point) +``` diff --git a/one_exercise_per_file/week02/day04/ex06/readme.md b/one_exercise_per_file/week02/day04/ex06/readme.md new file mode 100644 index 0000000..090605e --- /dev/null +++ b/one_exercise_per_file/week02/day04/ex06/readme.md @@ -0,0 +1,51 @@ +# Exercise 6 Grid Search + +The goal of this exercise is to learn how to make an exhaustive search over specified parameter values for an estimator. This is very useful because the hyperparameter which are the parameters of the model impact the performance of the model. + +The scikit learn object that runs the Grid Search is called GridSearchCV. We will learn tomorrow about the cross validation. For now, let us set the parameter **cv** to `[(np.arange(18576), np.arange(18576,20640))]`. +This means that GridSearchCV splits the data set in a train and test set. + +Preliminary: + +- Load the California Housing data set. As precised, this time, there's no need to split the data set in train set and test set since GridSearchCV does it. + +You will have to run a Grid Search on the Random Forest on at least the hyperparameter that are mentioned below. It doesn't mean these are the only hyperparameter of the model. If possible, try at least 3 different values for each hyperparameter. + +1. Run a Grid Search with `n_jobs` set to `-1` to parallelize the computations on all CPUs. The hyperparameter to change are: n_estimators, max_depth, min_samples_leaf. It may take + +Now, let us analyse the grid search's results in order to select the best model. + +2. Write a function that takes as input the Grid Search object and that returns the best model **fitted**, the best set of hyperparameter and the associated score: + + ```python + def select_model_verbose(gs): + + return trained_model, best_params, best_score + ``` + +3. Use the trained model to predict on a new point: + +```python +new_point = np.array([[3.2031, 52., 5.47761194, 1.07960199, 910., 2.26368159, 37.85, -122.26]]) +``` + +How do we know the best model returned by GridSearchCV is good enough and stable ? That is what we will learn tomorrow ! + +**WARNING: Some combinations of hyper parameters are not possible. For example using the SVM, the kernel linear has no parameter gamma.** + +**Note**: + +- GridSearchCV can also take a Pipeline instead of a Machine Learning model. It is useful to combine some Imputers or Dimension reduction techniques with some Machine Learning models in the same Pipeline. +- It may be useful to check on Kaggle if some Kagglers share their Grid Searches. + +Ressources: + +- https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html + +- https://stackoverflow.com/questions/38555650/try-multiple-estimator-in-one-grid-search + +- https://medium.com/fintechexplained/what-is-grid-search-c01fe886ef0a + +- https://elutins.medium.com/grid-searching-in-machine-learning-quick-explanation-and-python-implementation-550552200596 + +- https://scikit-learn.org/stable/auto_examples/model_selection/plot_grid_search_digits.html \ No newline at end of file diff --git a/one_exercise_per_file/week02/day04/readme.md b/one_exercise_per_file/week02/day04/readme.md index e69de29..830e5b2 100644 --- a/one_exercise_per_file/week02/day04/readme.md +++ b/one_exercise_per_file/week02/day04/readme.md @@ -0,0 +1,34 @@ +# D04 Piscine AI - Data Science + +# Table of Contents: + +# Introduction + +Today we will learn how to choose the right Machine Learning metric depending on the problem you are solving and to compute it. A metric gives an idea of how good the model performs. Depending on working on a classification problem or a regression problem the metrics considered are different. It is important to understand that all metrics are just metrics, not the truth. + +We will focus on the most important metrics: + +- Regression: + - **R2**, **Mean Square Error**, **Mean Absolute Error** +- Classification: + - **F1 score**, **accuracy**, **precision**, **recall** and **AUC scores**. Even if it not considered as a metric, the **confusion matrix** is always useful to understand the model performance. + +Warning: **Imbalanced data set** + +Let us assume we are predicting a rare event that occurs less than 2% of the time. Having a model that scores a good accuracy is easy, it doesn't have to be "smart", all it has to do is to always predict the majority class. Depending on the problem it can be disastrous. For example, working with real life data, breast cancer prediction is an imbalanced problem where predicting the majority leads to disastrous consequences. That is why metrics as AUC are useful. + +- https://stats.stackexchange.com/questions/260164/auc-and-class-imbalance-in-training-test-dataset + +Before to compute the metrics, read carefully this article to understand the role of these metrics. + +- https://www.kdnuggets.com/2018/06/right-metric-evaluating-machine-learning-models-2.html + ++ ML models + GS + +## Historical + +## Rules + +## Resources + +- https://scikit-learn.org/stable/modules/model_evaluation.html diff --git a/one_exercise_per_file/week02/day05/audit/readme.md b/one_exercise_per_file/week02/day05/audit/readme.md deleted file mode 100644 index e69de29..0000000 diff --git a/one_exercise_per_file/week02/day05/ex01/audit/readme.md b/one_exercise_per_file/week02/day05/ex01/audit/readme.md new file mode 100644 index 0000000..3b945de --- /dev/null +++ b/one_exercise_per_file/week02/day05/ex01/audit/readme.md @@ -0,0 +1,18 @@ +1. This question is validated if the output of the 5-fold cross validation is: + + ```console + Fold: 1 + TRAIN: [2 3 4 5 6 7 8 9] TEST: [0 1] + + Fold: 2 + TRAIN: [0 1 4 5 6 7 8 9] TEST: [2 3] + + Fold: 3 + TRAIN: [0 1 2 3 6 7 8 9] TEST: [4 5] + + Fold: 4 + TRAIN: [0 1 2 3 4 5 8 9] TEST: [6 7] + + Fold: 5 + TRAIN: [0 1 2 3 4 5 6 7] TEST: [8 9] + ``` \ No newline at end of file diff --git a/one_exercise_per_file/week02/day05/ex01/readme.md b/one_exercise_per_file/week02/day05/ex01/readme.md new file mode 100644 index 0000000..b8241fc --- /dev/null +++ b/one_exercise_per_file/week02/day05/ex01/readme.md @@ -0,0 +1,27 @@ +# Exercise 1: K-Fold + +The goal of this exercise is to learn to use `KFold` to split the data set in a k-fold cross validation. Most of the time you won't use this function to split your data because this function is used by others as `cross_val_score` or `cross_validate` or `GridSearchCV` ... . But, this allows to understand the splitting and to create a custom one if needed. + +```python +X = np.array(np.arange(1,21).reshape(10,-1)) +y = np.array(np.arange(1,11)) +``` + +1. Using `KFold`, perform a 5-fold cross validation. For each fold, print the train index and test index. The expected output is: + + ```console + Fold: 1 + TRAIN: [2 3 4 5 6 7 8 9] TEST: [0 1] + + Fold: 2 + TRAIN: [0 1 4 5 6 7 8 9] TEST: [2 3] + + Fold: 3 + TRAIN: [0 1 2 3 6 7 8 9] TEST: [4 5] + + Fold: 4 + TRAIN: [0 1 2 3 4 5 8 9] TEST: [6 7] + + Fold: 5 + TRAIN: [0 1 2 3 4 5 6 7] TEST: [8 9] + ``` \ No newline at end of file diff --git a/one_exercise_per_file/week02/day05/ex02/audit/readme.md b/one_exercise_per_file/week02/day05/ex02/audit/readme.md new file mode 100644 index 0000000..d1ca44d --- /dev/null +++ b/one_exercise_per_file/week02/day05/ex02/audit/readme.md @@ -0,0 +1,16 @@ +1. This question is validated if the output is: + +```console +Scores on validation sets: + [0.62433594 0.61648956 0.62486602 0.59891024 0.59284295 0.61307055 + 0.54630341 0.60742976 0.60014575 0.59574508] + +Mean of scores on validation sets: + 0.60201392526743 + +Standard deviation of scores on validation sets: + 0.0214983822773466 + +``` + +The model is consistent across folds: it is stable. That's a first sign that the model is not over fitted. The average R2 is 60% that's a good start ! To be improved. diff --git a/one_exercise_per_file/week02/day05/ex02/readme.md b/one_exercise_per_file/week02/day05/ex02/readme.md new file mode 100644 index 0000000..09edfaf --- /dev/null +++ b/one_exercise_per_file/week02/day05/ex02/readme.md @@ -0,0 +1,53 @@ +# Exercise 2: Cross validation (k-fold) + +The goal of this exercise is to learn how to use cross validation. After reading the articles you should be able to explain why we need to cross-validate the models. We will firstly focus on Linear Regression to reduce the computation time. We will be using `cross_validate` to run the cross validation. Note that `cross_val_score` is similar but the `cross_validate` calculates one or more scores and timings for each CV split. + +Preliminary: + +- Import California Housing data set and split it in a train set and a test set (10%). Fit a linear regression on the data set. *The goal is to focus on the cross validation, that is why the code to fit the Linear Regression is given.* + +```python +# imports +from sklearn.datasets import fetch_california_housing +from sklearn.model_selection import train_test_split +from sklearn.linear_model import LinearRegression +from sklearn.preprocessing import StandardScaler +from sklearn.impute import SimpleImputer +from sklearn.pipeline import Pipeline + +# data +housing = fetch_california_housing() +X, y = housing['data'], housing['target'] +# split data train test +X_train, X_test, y_train, y_test = train_test_split(X, + y, + test_size=0.1, + shuffle=True, + random_state=43) +# pipeline +pipeline = [('imputer', SimpleImputer(strategy='median')), + ('scaler', StandardScaler()), + ('lr', LinearRegression())] +pipe = Pipeline(pipeline) +``` + +1. Cross validate the Pipeline using `cross_validate` with 10 folds. Print the scores on each validation sets, the mean score on the validation sets and the standard deviation on the validation sets. The expected output is: + +```console +Scores on validation sets: + [0.62433594 0.61648956 0.62486602 0.59891024 0.59284295 0.61307055 + 0.54630341 0.60742976 0.60014575 0.59574508] + +Mean of scores on validation sets: + 0.60201392526743 + +Standard deviation of scores on validation sets: + 0.0214983822773466 + + ``` + +**Note: It may be confusing that the key of the dictionary that returns the results on the validation sets is `test_score`. Sometimes, the validation sets are called test sets. In that case, we run the cross validation on X_train. It means that the scores are computed on sets in the initial train set. The X_test is not used for the cross-validation.** + +- https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_validate.html + +- https://machinelearningmastery.com/how-to-configure-k-fold-cross-validation/ \ No newline at end of file diff --git a/one_exercise_per_file/week02/day05/ex03/audit/readme.md b/one_exercise_per_file/week02/day05/ex03/audit/readme.md new file mode 100644 index 0000000..ff20dc2 --- /dev/null +++ b/one_exercise_per_file/week02/day05/ex03/audit/readme.md @@ -0,0 +1,33 @@ +1. This question is validated if the code that runs the grid search is similar to: + +```python +parameters = {'n_estimators':[10, 50, 75], + 'max_depth':[4, 7, 10]} + +rf = RandomForestRegressor() +gridsearch = GridSearchCV(rf, + parameters, + cv = 5, + n_jobs=-1, + scoring='neg_mean_squared_error') + +gridsearch.fit(X_train, y_train) +``` + +The answers that uses another list of parameters are accepted too ! + +2. This question is validated if you called this attributes: + +```python +print(gridsearch.best_score_) +print(gridsearch.best_params_) +print(gridsearch.cv_results_) +``` + +The best score is -0.29028202683007526, that means that the MSE is ~0.29, it doesn't give any information since this metric is arbitrary. This score is the average of `neg_mean_squared_error` on all the validation sets. + +The best models params are `{'max_depth': 10, 'n_estimators': 75}`. + +As you may must have a different parameters list than this one, you should have different results. + +3. This question is validated if you used the fitted estimator to compute the score on the test set: `gridsearch.score(X_test, y_test)`. The MSE score is ~0.27. The score I got on the test set is close to the score I got on the validation sets. It means the models is not over fitted. \ No newline at end of file diff --git a/one_exercise_per_file/week02/day05/ex03/readme.md b/one_exercise_per_file/week02/day05/ex03/readme.md new file mode 100644 index 0000000..a1f3308 --- /dev/null +++ b/one_exercise_per_file/week02/day05/ex03/readme.md @@ -0,0 +1,49 @@ +# Exercise 3 GridsearchCV + +The goal of this exercise is to learn to use GridSearchCV to run a grid search, predict on the test set and score on the test set. + +Preliminary: + +- Import California Housing data set and split it in a train set and a test set (10%). Fit a linear regression on the data set. *The goal is to focus on the gridsearch, that is why the code to fit the Linear Regression is given.* + +```python +# imports +from sklearn.datasets import fetch_california_housing +from sklearn.model_selection import train_test_split +from sklearn.linear_model import LinearRegression +from sklearn.preprocessing import StandardScaler +from sklearn.impute import SimpleImputer +from sklearn.pipeline import Pipeline + +# data +housing = fetch_california_housing() +X, y = housing['data'], housing['target'] +# split data train test +X_train, X_test, y_train, y_test = train_test_split(X, + y, + test_size=0.1, + shuffle=True, + random_state=43) +# pipeline +pipeline = [('imputer', SimpleImputer(strategy='median')), + ('scaler', StandardScaler()), + ('lr', LinearRegression())] +pipe = Pipeline(pipeline) +``` + +1. Run `GridSearchCV` on all CPUs with 5 folds, MSE as score, Random Forest as model with: + +- max_depth between 1 and 20 (at least 3 values) +- n_estimators between 1 and 100 (at least 3 values) + +This may take few minutes to run. + +*Hint*: The name of the metric to put in the parameter `scoring` is `neg_mean_squared_error`. The smaller the MSE is, the better the model is. At the contrary, The greater the R2 is the better the model is. `GridSearchCV` chooses the best model by selecting the one that maximized the score on the validation sets. And, in mathematic, maximizing a function or minimizing its opposite is equivalent. More details: + +- https://stackoverflow.com/questions/21443865/scikit-learn-cross-validation-negative-values-with-mean-squared-error + +2. Extract the best fitted estimator, print its params, print its score on the validation set and print `cv_results_`. + +3. Compute the score the test set. + +**WARNING: If the score used in classification is the AUC, there is one rare case where the AUC may return an error or a warning: The fold contains only one class. In that case it can't be computed, by definition.** \ No newline at end of file diff --git a/one_exercise_per_file/week02/day05/ex04/audit/readme.md b/one_exercise_per_file/week02/day05/ex04/audit/readme.md new file mode 100644 index 0000000..571864d --- /dev/null +++ b/one_exercise_per_file/week02/day05/ex04/audit/readme.md @@ -0,0 +1,27 @@ +1. This question is validated if the outputted plot looks like: + +![alt text][logo_ex5q1] + +[logo_ex5q1]: ../images/w2_day5_ex5_q1.png "Validation curve " + +The code that generated the data in the plot is: + +```python +from sklearn.model_selection import validation_curve + +clf = RandomForestClassifier() +param_range = np.arange(1,30,2) +train_scores, test_scores = validation_curve(clf, + X, + y, + param_name="max_depth", + param_range=param_range, + scoring="roc_auc", + n_jobs=-1) +``` + +2. This question is validated if the output is + +![alt text][logo_ex5q2] + +[logo_ex5q2]: ../images/w2_day5_ex5_q2.png "Learning curve " diff --git a/one_exercise_per_file/week02/day05/ex04/images/w2_day5_ex5_q1.png b/one_exercise_per_file/week02/day05/ex04/images/w2_day5_ex5_q1.png new file mode 100644 index 0000000000000000000000000000000000000000..54e9f3cc3675ae883c3aee430edaf6d12548969d GIT binary patch literal 67705 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

&X}RhP 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
h*kT3*rV!ow?lX2ff*;m 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�*2za^B@>LYznVHdf71Qgql@mLRM@*c(Pd~V3_|;cPRAHqyE&9LsD%7tW34s)m zgP*9WNEEw77YliT(;a(6(-`WPc~g*SiSrSv^4k*mRqsiM+qLt_SG|LCl@y#TuQAfU zQy@Dw*QDB*lOBb>d)PyBxOvR!jhH5M9}b)J>x(6 zEgEksLPAcy&OR6qvJ^nBmpZw;X0SVd4&LHfA{q z&MAp9jKfs360tZM6+mHB@%Uk`qRXWWx8?@CvU}TY#4cg01z&7Gz8IWh>9L4AT&sTt zeX!T$V_HBk+M(;Ec7Ln>Na~4ZE5nZQ@*X$Ql_ibOmy1h1A^lN4oV32M*1)RZ^kQ@q z^=qQ?BEzKmZ29=+l5cRpWM~L?-ZTZm>nzb~sFD!J1L6qGW15sQq#@~$A&*Syv-B5_ zpN2-<)36b6d{XK1Izs89qdMoOq>gl9a&Lo$&+kQ0iuM^!rrz;v-29>q@Q6u!i zQijwpuJ$H{=PHRfKE3`DGxDyImVOr<#$aWhkeO@2+V{0k@xo*)OB@%bf0*utZbdF#A-$~H9@9+iU_-cw%g4_s(JjOp zsdQt+Z+Z?3gh9fd12JFrlXo- zMe2RwYjo)g2~CRi;vtD7=jYv*Kh{a`c5$Uvp{(sb=;-+2&}OSWhA_s(MLh3}X9aTrspEWr7_ueCFubyjJO`el^o zN%~G;dvp=1wx929=fz7HB5LBb`tv4f>b7`X8LO_MKb@7bC6^(yyUVgY=jOiTjdHqu z0oyr5vVAnW@r~Vh>oELDh*0Twab`KbRKa&P*jG8e=p1hcqd>9c;D$0KqkL!L{p`?6 z=1A$X?MhOHon%n~x}7_3QKjkGRj6?r+V1z2_4hB@sLcv8ia*yb(x%ajzt6J&%wVYd zzVsLutI&<{`{tS2om}%=*9%=}NN9WG4o4D?k}OtkNZhu`EN{~xLY6$iEo~(E-_iiu zu#%_8-adK*y;hLfHBeFTj;bcnBh8@iqI6?e&!nR5PlFPc%bwT>vLgIjG%luj36ja% zk{5JFX$H`HB_j<+edAfV-q$KrZPtQJyJ04!UMWjFJyRkyUOUUj ztkV@*8>W>SrE`te8i8sFoUL@tUMHT9n?%Pk?0se~XO5_r3I6qtZKtPh)b4ob^|pi2 zVKtvz!wz1ED2EZ#xbT}VL@(~m{hX6ruEt%2Hnl!Q=b|G8X6!y~_tMX_dA`ZI0324~+@?2F2^Wv#cLIXN7z07u3>a7- z=(Dg3Z7`_ELngK4#Wdo*DVq!|Emrn=>Jg0#hfMm@O1UAF_Ck48(GS`3kBm7&Bf@v> z3`XyukD2b9w52Ou@xZDQ+1j>g=TUe{$<9e_N7#scPusUvBm*nwf3 zxdfefv3C0R7uQ}_e+bV<+wAl;A%Fa>gRJVIeG(_5+8BR1Q*suDG*A zCNAlNs2r+NFg!DA*147{EcD-0qv`eMAdT(0m;{%!g@BdvYETF_SX)oZ)wk&NsU-}$ zV?-g5PR%D;8afg;yZvS^ zkjXectwbrAuBeI`{#?K_j9TnyqDcB57C`Z*G7Sz?MAZgmBS?<`;0YN!ZZVJrnSNWI z&au6XvdaVAZxC*KHGEi3X%fSJnU#q8kh(h0MC0An0eN*}NfJHz_@A@Rx1gKOkVR99 z)O%^6w)k-H2LIq!wXsFY&k|k%0s+m^Wp=q{0!$AIJ*Ep(OAYyY0kA|hRCKHp5HXTox-@py#UxFhE<`8QMTYq4Vd38a>TKLxt`xdJtpPs zRHthhlnt^UkXJLY%GXm+F_9QtCFR>NAfd|g|JYA^{}$H%;TPdWM={c`dWJ^Kc+tc< zmMv2D%W9FU492>9W?s(t9S>uk-ZG6vhuIhEeDNgtvKi!U8Kx}}yLe@j>u8S7@JGC( zNBw0>3AM2|np`?7sz%MsI?s{9=s28}ecy-$2vyk*Pu+*-l8*)#Kcuz@ZOL*@k+?@z zw8)ij81LnKi>zQ6ltn1kSbjWIdPq^#OK$Y^?X8UL;Llr&#@|MkAGm&#l6UwbwLav0 zI1`>KlHR;J`{RMg==(|`%Q$mRot7-FG@Y6IG*XV4)%TvqaU=EAf;VY2MV-pQD{N|e z253ceJDpBEe&4wA|Hymuc&yvET~w1MrKAjrNT_5EMKnqxg-jVz=FBo?cuFb>N#;zCka?ch@xArDYwh=4d$0A^{_Oo({qgHpkM806Ue|e@=W!nAap1$$ zil9XcX&iLz$z(E`CBJ(jp>haAyZ4&VMW^#Bxk+Bw(V@Nl$_%x@LzzC62wUT*69($- ziRQ1al3(vVvtRO^@+l*7Z)~u!M&i4i3=vJI>adNzzOI>>VR?=&pQb9Axvy@?30&pn zA~GVU*YZ-uo~K%zev?U_)*~~ilYGHkYVwzPW6JddF8{iq{;T)^eTT_*-kZnThzl0< zSb~Kyl;MD8I&?));z1!Eb_^*^1r26n9i^MW*uz{q*w~?8PCm2}NFIrBk#St2yK-A9((goybm|9ZPj<32qP`>`-q9)?E=PG1!Q@VKNO zYEHOnLeBN$G(iysr$V_dZ|?^1)Icp5UzoK8P7)FoWn^c!v)-oSQg6%O(|bi3hsiRxImrS5$#+10_rV(h$EV8u^ueZWGbQOVW%$XyTXTmCH?tRL2OlC% z^GP+GvqdSH8m#rzn!alR-<-7g$uu*7~ zLuiEUf#C05n@xl)ez=n|tGp6+woFwJ>vqr40g*ZW*{5_~2y4UL22igg=?3^l(Bi^2 zq(U!$MJoFPNIkPIONWu6ygB+=|j^m|Q7bx{kvj!wh>fPP0GVd}-8o!`y2f&(uuMW3C$l?NqwAHA|hHzWHMH ztz%_-FUOfAr`Ge1xp0?`ANTNycoN;I+uRGS8=X_H0KyTiTCeUu8FCJ9*9PP5aiENZCEI z**2J*LL(}+p2cj!m~Fj!%DL6f!A$fjf~q zzSjiThT!c&m<)ZWE}QIxJ{Afq&#Vzz8kZ95Ku>FL$S?w_?)UGoiP;^}JeoJZv40tU zk!$q&r(llLhQQ$7TCh(gW|DR_C&#ro7~kVlh%UdJ_0`@kX!7)fNwu)f{3lbPem@`S zH^ix56c!#%Pkm}IsT$cG$eS?^SxaXAU}AVf|5eS=EvIEx)^4T%F@G2sbL;ZbH1ua7 zKVJM72L|PlJyc#N?Bilr*F6~a*+6u+v&;`tv6L~Hjt6HSY@6%-xoWO$pST-MovX@t zh}ETHT9LyUmkPt7QQE2!yPj$=z zl72`;<>NP)rKbtnA8kwFB`-X|X{$FAb($U9k9%@quyyJ1U(wd;o7@H|DhCOHI2h=_ z6QdRGON7#O?(ocO&l%HqTQ9%#>#zUjb6Wg1O|JV3hlRTrAyduty*Cy^%RA-%{P32P z<{2~PuUb--otM=Ur>=ObFlzYpdtULFrf+whq?oGh*XrCZoAY@tn@B!yZVMeF2C|S| z)+4<{M+dr_+tv~$gzyyBs&^fn0^t&Vgy4Y{&Q@6>X^viX?cPj*@=L#|@JmkX8kc>f zoF69tsj--9u-w@oP8z=@P5OL3tXMc8QU#P78lc%EsRQT4lsTI`+&+ z=$WC=Gr6q|E}P2IWaD0?a{s$Bskmgo1qTfGj~3tbZ#mtsndT5=#R!K04V;hHo*dC; zd9zJ7bgS#LR*xa3H<=2K69*O}q?KA*J7#!`bdHy)#($l2@@L3(+DiNMT{U~}RnE=3 zWQW`5?}L$=l3)88WY z{b*30___Q|+VNE9pC{z`151Tuu^E@FkLM4cPx6mZQ~t#iFqXvIU26Oys3DtX_UY;D z=W&u`rGs%53`%IlRXjVo=|2{D(gxY2r1|OG<{r=+!6X0~7-eH|NV4WVJz4xM_9!IU zDVAKk1HYedwQgSPdaLk`>7J9_M;8}Ky%uhtYnE2+=H41L6g1O&Hndso?5RU{BF_8k zUbqzEpswjNHk5BtN(t#o@9mZ)+`Tj?cspVz+wm_#f7TY zg)Pu3R1Z3`$z6{TiXu>lCrG}Mx2GP%TLYshe=o=6xcM!wlXpbA`2Jp86S25u$}e29 z>A+a4B7;+&Mwc1CN5qA+sgt3l;p=*KX&V{}bv-&D7fX|o!8GP6a*^xg!97=|JC^?Y zQrMf{jUqb{c9&qvS5$0NjFdcifRHXuP%%}h8h4F?sxewOicwOrkUEDo6S_9ghP0g3 z-XJJq=Js}x?~Q}+8}pZbY~LGi16Ph{&Zk!N)mqBC+EW{x@q8HFn>|58J=x1@<4rkN z^{tOyNPG6#noeBjy7;m9d@iVZswmE4}apb93h$c~NGcT{f0g||51AW4?^Bg7@A6J{m+EIvu9ee%` z5tx{4{0Btz!q)i4K`<8~oIF!NduC@LIX>`>Do;oK)LFWHRb zahjBU&fLNjv2xAsaWKEjhJiJ(irq%Nb*L{Ol?7}NS8&e{L$i?D3XJgTb52&sgA#9 z-Trnb-qs3hauJRDWX3v+mIFe<15f$IKj{4Mqm7{@Mhw~SJ=Dr=V^EfZe-ch&W%`EV zZ4ckv%{2FmbH!x9PC^Abl1v%g!jqpz&g00C@a-He^Xo4cCZ;TV2VLdH9fKLJQWrYs zlyL7}mpRRHYEZ}_@#7f&cZg&&VBz(iI1rNQvz)#GAJbzrD53UV2)2K#zTGgoQ1GeS zwl@0coFoaxdfV@_gMAFu;Pk>m5?b|O9>EyMH_T(xsCLauzp>oj>H|MA8ChIpZg=`U zw-`=!G9Hf~lq__=tnU#2*k4Xrr^067WN7X%$!dO)N!6n30LietTREmyG}F9bFpJQ3 zMT-0Yfexks(DWMVs@OsC1)_LwiLOvmh@@E2ZEOd4PN2js7lXzMqZO!jBU2`37b3~| zgIVk?f?tN|GHEZx`{~U)+_I0d`QZM=DBQ$tQ9qOO1z(Ea@MOv1nyggMU zhfLiP?JubdZjsaOLS+%tUw98QghovBREg``0xZIm7qR&$byuRw!G(5O_iOI%QN$=B zA;$hvo%hwV4uoV#V7o02=t2lhLqnsTkVPlNreIh_@#7Qs#eTf+s5Y_tUZ9cH0@I&G zuisOAeqy&5oNffQrjSyz!{e3h4m8`&wlQqJoKao3`obZnUAvBtty|B1BS1Dp$aG~( z%y<(|1v6K$Pcah(g_c5phI;?nlOGWlaSB&(#=?be{@IaYig7`=&8#_Fj^lc`s7bi3 zuRDHDO>Bdo)XVqd_cGKP-&)$u6b`aP4F;*VhQ&5kD;ET}|6GK1()QM_CVOP=q<{%4IQM5GZvIP+Zbe0^f#bTJeW`6=o(KC)`J~q0zh5<5_zhuf zD`65j2gWXJvYQ<2zjo|-ar#;7X)*h2(_%DJQn7X)isocKrm&Jm$ZAfa4nk`kzqWj} z?lcU&I!*pyomkQ#7a8j0cfF#hk}FnvCDzP*!6Oz{2!JActP(~!(AYIKc6WDI+27FG zS~#%)#|m_sIcK~q?`>VPVg6g$bI!MP8PW(6O%abnU&;ws5o^LG6!Ab zzt7ztq*lqBM6aP?8NnP&ZJ zg~*xREhKEKA=gdQptY&qyQg>Mk#!8@h^hq=BLZ-HWSs1rPiHCfPuNpZAGhB8mMz0Y zsRt3Q%8i=jhD2)jmh#a;{+?e=2fiok^E6w}jPe_1+ohEMx$ZyfxqAG9#v@@q9nq7= z%x`E29mu6z2Q!Aq%P}gTd$ndqN25?=RLbT><{#7T6M{+2q@zxwcYS;gy8oV-G0Q5S zo8pa-xifa##G+8QZE3ym+m?d?hq@0u)0PuvvYF*fc;;ykYB}w*0z2L81~$gt!o25| z^UjHe9iO5}8>U%p-dUHNQUsB91&fb8Cf7*0caInHS4uV> zvU1ZYA@1I8o9RWm;br5X?mCXpx4?Cjc#W*`VOM)CjF_Y)QhzZ;sK4lXZjHX9_4`4u zhab})>6rZK$7%z6+$MR-xCdBw=d!x>3fUIl=u^Fe+a=v5+f-xR%Vu{W9AL+F04?vhy*ApN4J_9BAO;lZsM1K6eJcx&jAg z+sHY5C|jtaNDs&yH^h zv~GpV=Z^EO=KHm!={Gw)Yp0pJjLD7Az`E7CNntLT-$}n!pN^fs_aksyR*Ry5U?68> z6jyB&XDtJFppU=&{f%WbG{x}=5tLQXoOJmDiy_QHQ4vO_lB~;@{VK2ao5iHmetKVd zNvh<)+e?j3XWR_DCb<=}3-!h(?eBKK=k>99I`OQc>v8Fy_w>=72RIT$Mpd4x9Fvn| z;xJ_j>B+cyai1&Y^^Z-uj8u}xUFQ1Ysm?^#Fx+jPKF((;mZg2CgSonP-LXbpt9Ln7 z&FjK%Co-{`$2f-hbqZd8yr_Ne>hS)M5c#KHIn%yx{GPqmOP=PC9^Ka65SFXkOT02e zG}$AneqjH$4YvxH)9{(!)ZSHPBH!|^UOFuoKK|#hW!eX&&gy`*-nr+;6fpCg?GkELlh+asFs`A^x6637vF%ND$)=CS>57Ia0JTDos*H|NFzJoL1GDpx! zj5sOV6EB%K-9@VB2frYS^ z1H^Jz-iuT`hGYtP0_tVZ;bb{K!D0zgpXldhG?ZkTFStq97}FOE@XbBz<~V9@9QjSM z1W;N)EE1lWtoi@tpy5{`#1kU!5vj>gzN{i3DT18Ww z5+QMx*zi6z8Ab5GfDIEd$OR%iO4pS-y`Vq}3IIsj!3c$?H(W~KNeVHEvr#!(RP}bN z7_u&Zsz|X)9}SuHlyo3VG+p(zeiz8u#Gr3{@XN#%?+P!@?3bKgx1L`5(;%zM!NktI zxo!IPk$h$19JKHp-@Sms`EL#egcn&Oq3ike>j;Dh1O){Cf$s*4??%hmU?c*|f}-K1 z?hb2~=l#me;ZbRe#-Y+~24kfzk2{NbM$@(pH)VbR6NX9lX*E}>()qWy78~z zopw8gaf?5gcFdW3NMaS4HDmwUZt>)rP>IhpuOXSPi(2Rm9m#n@gUMUvpj?TNV3pCp z?2iC#%3`WuF{|%J4&*$3{FrK+cPSM-<{c$jVN5F)JQZ?+^KbSeD_mMWxY>=$_fpX zL-f55-^RNX!y)Y3HV~@4`8wS6o7$)6kHT7Ai!XpgMh*-OTg+FJ_7iOGe4TiegO_>e zaSc%6TZ%B3rt{)6#F-RK%q9P{eUa&C6%pMbkhg_y<#DpVe)i}r4Kcz@BAaPauM6~H?%oq zCdQjLPE1el*!lo$V{DMNhKFr!ZF^6jK25WAE8;Jy+YWw85JVx091u{LaC0Tl9N;w+j)gZ8RqJM{Ko& z5iR zrVn3W&1;o|XhS&Ee}>-(gG_yOfO#YQ`)~{3q(B_1q+~6OoVe(`Qa^ks$2cc!$AE3v zI6BG-FuJhM9AVyq*nLz=DlR3(4~|i=TfK<6byz>zWXod=5>_C_B03F|6U?|9Z`@ED z`(eMUK}V;1Nhv(mXIqlYL&Vb>#GeZK>>_$E`MZuBr^FY`gc$}`?!#aWMLx|jM@c+b ztR~`FW2VV_P1NgObTaBp0b?E5)2Y4lb_lJq@socwG~O$X2uapq~SE-<%h8;^|Q{U`pYk96ZyZ) z1a9ys-Z*z(X<|$4d4tY-`#$TQYCRj3N1Up1#oCO0Zbt1XkX8Ed0geVG>AX0ntbSzA z?a%Sd@sa2^Eh?ncTVx%@+_q*C+|+{%5cYHPS9wq}3C*OR&6nTRndVzPza}8-?k^v6M7)EBILNC-G<4(@JvJnj4q7;(4j>*T&2%#R%<6JM-|LzOsQU{W}oa z{VP+*9<4wH3YQm$y-Kgs(9#CTa^~#2(<&k&Qi2Iz??R`l=jM$#KfWs|e2TrhR30X1RY=CG*79V4p$q#xC`Q$5n z!5TU`LvG#UPE`2xh#Ig+j*ItTqe}L;>Llm7D4fZfG*VGarF)$9#pR9up`sszcHD60 zEB$B{=E!xPmz9IjWz>PVL(X)iBSv687rYbXNW?uZ!n}6%DvZ2e@X!@!aqHXAMB6P6 zMUc&nnWM8VYggYP%k0e8;lHofHa(wao-5%wo&sY^WC9{p!56zBP=?`hAO?#c?OFd& zi})t6n57n^7A?5kDXnAi%oh*sLxjEj`Evk`Pt18*&hwl%LfF?7>ed<)cR-8-(u>WW zr?7%BEXU*VD?80Y-%p)h7}+0sF~0D9!kp85vd<|%vBd1Z>)f+DcUEz6b7wnG9z=-1 zr~@JtRt9SCwXLm+e8Kb8oe@XU*;rV*7J+41ydlF_UE*%hHAO!&Bnr2DS*>RD?bP=j~rsYH!t5~q0#gqG{#+Afj5F9^wD;o@U^Q~j`{bi&Z0ACIkv;6D2+E!Le8*J z6cx@3iG$=xsm8R?__xCzM*E!aoIuTkVKgVbGsE*TYf0E?#P|j9dskOi!uqgUVi?H< zR3AEUDY%T5G9XG^R8&ke-(A?coYW4xzwdn$7veqL(0ORK9X^tLgGe|YoqPWFa9Ym0 zYPCwffkwfF_HAoAFLQBsK33qWz@duSapvs{O)=s?$tvQ3GWZ}t4tv#LW`C9KnOyA9 z!(fvzcE=ID#OwFMGQ&7kjg=1+@Q=k-02VX#la`vm#8<>ie@`3hrF+1@iDwx zb5qbT`Ewtee85-3@`?TDV}GP55}VCgjTE;I&vfrL=tU6y{xtO%%_K~YuiCJ7HDWO| z44}JKEa3LNyk4xHUNl?*HkJ+<3|LVZo?{FUSq6r#`flaqc9O-A0zlYbGpQp7wP%XN zkvj5t`=m3Rz{{+4a%4u#QG$NhdU5bs&yvt>MO8-uT|Kutl8KRN!5Dg%=Q=IPO32$l$l>Tw2*ly4#eD)NLD*=+_T1pst!Gx^3!khJduxo}?WUie zp7tv1oLO{3ipI^&jU51!F%gBkMK9)NT>}PC{Ae8Onij z(Vf;ZpOq*43}wl5Yxl*?O?put_&`IOT7rtYj*cO$vA|Inj|Q9@^#2F zGa-m`c=vXz8OyD1MkE+BA|tRxOCLZs5N#{*uK-qKl@cTjYSVcUQgWmv2I?F#MQb`o zkrFszUJ`r6N?ab2S}1QEB_R&9f0wt(BeL$zdaEzD>9e9zXN>*ky?2Uc(*02ElwZ)k zS7GAaK1!e6F4Cv!^yF~=dPL0sIuy*$Jty>kH>9UN*QMunj} zNCCk>er|q#xu+gVDv-J$Ou~A|*0}?O76%PInKf(HAbkf^ zI}58&8F7}LrNw!)4T%1&Br9#E`3|o$cp%+ycYsHq?QB;6{)>wtQ`O`@hoyQtQ}SG- zqT*cipD-Q?$==mD=Oa=at?@lnq{dNwaV4Qj`i4SJCnX~{7f!|3pz05j!3_=7EQ8{P zW0Fy%GDulKGZTKnQ42XJHgDD^w~soaO^hdu3^bh=SqBlT8q9Xp+vzfkzpCNEEeow4 zqzS&A$b6uhFg{z}ZPS!vhuTPkw{ot6+$enPaFc4FsatSyEH|&@@6Lfhf%V~n9Io3x z$8pH(oEJP6$szWHBl7WfrNWh>=>nptt#;P#Ai^A*clDhU)1xQ${$rp~a$V3xsx{j@ z$mXZ?2ybuQfE_-R01XOM7~eqxa3F^mn1wVLInLQRUkB z$m6pcJWt^YgrF7tHTE(4*ca;}n@~!?kZ+UukQ-}w%*^7F#Yc(o@3ZCw=9&p6VaQ0h z0%j}7wF6r9MV-IiC6=jV1~+JFb}pUr?)KTchx?2vFOrM3YH><5G_mImpO(DcCNt7_ zo9z)12q(fKx42PAiV)^mm?gRQAb=cFOUC9{C4Tg%9wswUBvHY~*Ma%97AtGnQYAgf zRkXmZd_hfu_wDBc^t|7TFLN2bqVb6<-(pa)HCEQ(6=Tsqrzk~H-WB3Dh`tPzdc-*& zS+%IBD4NL4cGkdSk%NL_3qcoo1%<^J>Y*{`2nAO==AFkpk3=S?jEv~rS%1OYck5lp zHG(p7z`8|lnFF_vHSZ4MUwFbjG)%A26| z^xD6hdGJR@5kLJVK@pLAdW=ZmO~QZ`*oj^6l8Hv*CwT1G7pR$LYh64(%C{r;PNU?@ zTdAc1vkI(|Uo-N;Iw#6sEt@_(R4e$ItCq$mwqj!c!~LHaWlsEiQhwB)C-b&x=Q{^_ zd2PgM;I4GcoULrI2=kYX$+eA(qtc;EQf`WVz>>^6RuOD2b(^urk)){q?b?vc^YCGP z#?W&AF9xY}+wT@pNky%My7I;ZBM)6P3~t{>3xtuGnIpKeeR8SwcXEb3ExLt(32+1C znlpA)bsrPGrTIhAm**|7^zOmie^RrVN*_O940|jj7^v@ZP+|E}nBx}?dZCSLf8?Ab z?xq$URJjQJGmveu#GObGJRY9mAQGOtQRaGi`9ZCtQ>FIYn#Z?Xl z248HSaFirUKULM7T=y^G6?WQId;a`B;FE7)ucrDzT34^#>w#$nXPCE;ROmJ5V^wXk z_iyo?7unA7dL@){VI0 z*os$nZ(DKaD9-|MLzQ1mG4g0_co^9Ua_YJjMZ4xQ6pzr3z+d3y-3sH@7E~OYTwOJo z`-iuM96c{J#2c3o84^=Q6PNNi+fBHvT;Eqk_mP##%Kkc2kYE(=eE$@?jEoF{K-k(6 zUY>lx`{=x=E+wfFFdQs!AR(ix%Z5wuE=g18n@M}-O_lN6X8g%xz3rBvQe0u`>uA)x{5JXXge|h#DPsz^HntAVq*3 zryf*_LO$ENlR81AAMdgh)|lKLY4N00t20BIVYW6{^g*M}-HL6(VjWE`+*Q5$Yza#& zX)!C?`C*E;(~OyxY#( zM)2%%;09q^>(5-a6MmEagBM=wQX*ivLvJX7!sEgt_F3&V8tRRnr=TSV=m5=nJXoaZ zZiP`u7C8L((s^BD{A@eO+I4p!HdZG7a_kj#ven>5U3b^7^%u-HJy^ARl&5%yb)2En zV|o3GEitKddUuQd5hWAQ+4k98$9F8Cb^@-2`3p`uc9yL>HhJbO&I1gDxGdzL2+<)T{1@m47sTawx+jE*aPg z>1nm*-XlEJHTm)E{wl;GOtsu#O6g0H8V^Le6^-yPu(u{{54N_rA z$;Sp746X+(kJMXqh99N@H!nRo!(f$RF|7?6H-|MDWio zo7{*X&(RuZbhj0>N`hU1EueC+^y5b=R=)=_(M2d3fWQ!~g6ENugy;^iEg;$ONz6j_+LH3u!!7D&x`x&7;zhc6FZj_dg@f6<7EQEt21-}A%v)`*Z6 zhcF|cS^*lAhy#;KNvfa}al>(5Qt~T6DClHeLw2m1Sc((ov@jzGY_~C!AMd3TvCE<} zS8{!>FD1Ej))uddwu=-k62W!E)0?fN4Zl-8DZJK-V4<&a{rNZ`?Pp&e~{`6 zjm=LO9}66fxNgW-Iih}FMf4;m-M;~W?PdIZd8AC%&xaUJApZkH0w)SZ3$o6&9!2EH z>8e8hlyL8XUq2q5`{U*sT*}WnHj);+=s{C+D`d29gR=0^&vA2oY_fD0?*A=`y3X~7 zZZABs_XLOk3qT;)#(TGY9G=cdPyYmkyW{~l)b|by>|>Z8Z3&}|9V50Q)>J1!gcJe8L>U}CJg_HWJAWmzL!#82lXaP(*eC~Snn znEPC9)COt~Vq0N>%F8z_E-vE6hc6;U3>ZjOv)!Fd?kQ2qhc2})+#Ni3XkpluR`+m> zao`pqVJ_SHTCLn8<>iQFS}gmFc_xS$|8QXoHWtj(0nb`%2ZJksq86<*Am}L2K`tfY zkFm%mFc?rNb&Ssf)a0Vy1R#fh=3om)gs4TX%zpQea|_J0g)N}n%j)sV7z&l3r}jh3 zcQk>wPwK+o$nSPHa-$pI3W#aew6>A}tRVzos6v1dC90sfc=^YVA8kqa3^+`LyxOUk z+rZnqTfH>cnR!#Z`>=1O=xl4Q!P10hRjoGdOS31TyEnEt@mF@;lFq*K_-|xhID?1- z`!qyHpu7eeSSt|Fkiim=sbAUX{PM63P!LLbnZ}E|GdKFqSpSD)kFvgRZ=YY%x@tIC zbBwlU_uC{UM;ER&J1)nOh2%-yjEv`ZD4rGkH^&=Oo{%4rfG`>&J?^UbTB4&tLydBi zl+?a??P~R)vz&BAcG|eo@9Sx`g%<9SytuwTS=rgSd?AWqW^CMCwLV&;-}=7ctFJl= zRtEO}w2!*cg)$ocP4UjSy@}lH26S$HQk}%^(SZ6c{^Pp_4Fh{HP;)4;$^8kr{dz#{ zspprDeVLJenthW=hASgxUin`1$<=ov=XdTT0*2GzM6#yNzF^g(q|xttREMP7y`A_K ze+tiR323j_D_ox;ugiALm{UQLNwt>}VUBW#o#syQY&2Ld)&2r<_xoaNl^l>)_m(YZnHd0!iHoo)=UGI(Gn_b*=C38xXH+kJJUE1yEA23Gv z3fdki>(Y{TT|ECOO+e~zpDC!M7|IyIg)g#4sb-w*RR zh?hNcgG{5MK5F!rc#Pgb5PeB;!4 z*Zw0qL{E7#$B6|{ZlkQaQ$FzrC3i{%=wGkc$U`ZD9!`j_lO}$6yFY7u8|Ae)zIW0u z5E(DQ|xNYAo^yg>R>|e6360_--F+#0ntlP!UBH#b&FG#vZOg6vi^=&H<81>CT}n zOxKvwh=dU!2vl;r7#IknatR3u-1y)R!IvEBQpAM}Hq?bET^{-m_|JZ9(gc&)CYwfb zvnwS~qZY<{1r`C$d8K0+U22oFu|{D0^j0n|`6%e;@}=@k347#mFGgT_BunSCAYw z*NN@W(1*Yk?hhoa{PMH%u}TZTT*&=(i6n(d7tAW5<3mg-O!U5d-D?TG9X$~R-bxOZt>|ixm~ryMn?A7)us&7; z-GFJNfFC*v zh`__kh3-249j_O9ueqf$)BT(Ep+G`n`Fa}cVc7#J1Ox;|Jc#ts(8(!#K9EGFzzi5s zLC0_95E5t5;UYXF>P+<-MWv$r0Lzqh_DKy*It$XQK>=sp2#%*#{bEa}DDxIV99T-~ z^S~r}bm-i{l!ffezw-3W=@uZqHXq6E|zi6p2cb^ zbcF!4Vqc-GL0$(op=h}4%f4L7Nh^1#VJ@`on4aJGpcsbpfD+MPGX(5|N>QA}5VjXe z3HMCGP_ghc%x7E^m}#0IA@@czXV!(aSO5ObL;=%$UBnS)QM>0sW9thdH^f`fl0xbhuX zS7?hSYqtF$Grj=^PNHi*+G&H}?d%+eIPi09!JeB9- zANfMr?p^6bq;o4Q+&xkqcgrn&X=%yQm6wsmjoe9j{2bEH>?bK-|Np;N!~Y>S;Qwh~ z(=&VHzJIv@4tnr#j>1k<2-@ns=fkkd>qoTAcIYQ-y#Kg*^ z7mB3?L`A2>U{wfbQ{I34|T^3&`O{#>NlPhC>X#uXiinGjg3&6lwZ*3WX4NhK~)4 zjDF((l`4R{)p6HPn`{<*VI+T2QQ+8sEr2)=L>)t3kibHP1^fe5-fD=hBU-BS%J9&C z8eSfv%hWs!ssK0z_?HhN2hqHuYVjZzZ=H>{F0IF#{tb#i4R0P>h^seKS-L9#zSr@U9MY8)6cc^^N)s%s7 zrZCo-kB7hcJu|R=czAo>s8~Dcn ztU#7p98ys%vql?+ir@T@HG$$S3^^38Y13Vv)Xmkq+#-*6C*Jl=Bk>#YSteZVPy{q) zqUZ70*H@?Hz$RpWM9Q^c?Z~VP5*G%Ui2}IJ2wS|V8IFaYBZ zD?7{*OgituHcTp_wC_cLH&_;AW+<8i3~^dsoL=tfEFXCJU%vgD#&E@=;pZ;4TXZS5 z22x@VvTOS=9859IIZ3cD^6Uy*6~$S&0xF(Vb|dH6kG|QtNu>mO5Xn&KP$+Of406NE zDJjpxg(ElscyQRlvYe+-Jg6MB6T1!K20D;LK6(5&W{05Lq09V}l4OBZ1W=UlYJ-s*n>PY3N9K3u zMBD0Q^_5t-8K2Td^sI2890B2AJ0h<`8x*esr3C;25CH62G0D%z3Vo zRe2Imy|mLhSv&WBS?5bwXF#@Cn*k>wGO`Et8RnfaY;1CEe0~uK5IPuW5@Tr*(Gye- z0#L)_uTRl6!XS&v!AZGu^Hi^DjHhK(TLZ;`&F!^J40n`^-a#C`_f$59e3Sb+Cn6L_7`nVl;DYdc$uI@0xSbo1#}v;T6M zaI&}l2YfJ8cX;axrr~(HO!I>D1^yD2=vU?z$;NguW}l~( z-Du&F>aJAR(3vcIBC2$Wk_Z%MDqkl?w4HX(1&!F+k3!JxH_Iuc~$d>zCS!c(ZR*;GR(35x9TQEp!lgI5@Ohyz3;YI(|X z`7`>$RN&~Di8lQH-4X34bsZF4x!BbUtv`Rke`vWR@Q|7SO=n=1rPI~LZ_Yct&l2uM zfFl4J;1Z-mM6qK+89BT(G)#nNM@RMiw>sM!GlA$5yPrrK@VosQi4)+~A^xJWz;2ci z3jMLNN*U%?u}bjlfFT5W3y8nVrC+{mLKC>m8Y;?oa5FRFU>D@g59OjZ!(D-QCOm%d zssIZB+yK38YGNr|noMD0W2;}!%OG2%7zqcK|5g5UNA0(yj@yTfoWq9?qlb+a7dYwz z(r+2M{wR}BgMw~1U2Bf0iiX`1%BE^OMBGzALZEo?!&MnKuz*4UoDqQ=0~ZIB;hhr` zIdysfJ}HQ7a3}J>6l7SHp+k(U4lokjHn506s|%n&nRU*-?a0+2zKgsdRG!+e4A4y4 zP{!t|8v{M#vv7{8U9>N%HjHzzy|s(L`}6W159H9$(0rrVO5MODB@idDf+!a+LJjgk z@Xc^Lanfz9V#(dR$?bc04j;|{rmjJp_=@pQrro>uv1|n;rExLl7A4h--aWnL2jZ%w z+xTvRNGibi=c4P;@csiS=a7||nm$7358@g4CWLSn{{m5(6DBR-0)apaN{j7e{}n2v zo*;rXD{7p6`J`nek3;&Mju8rFP-h6q(B>Q>FpYHl5Oz9JZ777la+}JCvL5((7_F^Zwe-FOpS3W+!lw1lCc~UHwM6W#M0%o@|A1k-@kubFGO=q>tb_55RunC(C_Uqe_q)~y2mviCp=85znQro$}3+SLrMa+a|`(LhRqeTiS0haMwL zhDJOK35pelUIFrfmqc9b$i!A5Ng!q+up=-SJni%5c_Eu-ig26>op&iC8yop&(pAur z@;+zmOsT)HciY}jd3)(Lx%gUy)!b%~#z)`>V~zO;z+y*l2}wbtxb01_;J3ppX^XKW1n37^!h<=?jH= z=e^4cx*J9H?SDYw=r^sPaNr3TXn>c9DQiWn8OUAGP?2OU>{VuP>cqv3+zT+B>H9|} zVf+!hv>{vqHt>oRb-G0VT7e@+a3c^btA)a;A+v0s0nLvit<8+g#`2t07x!+ge#S#P z_C$SWqfN4QvZO34J8c_xg~5?~k zb5R!D(k7$=4hG^=eion!HCi*FT$a>e_J-;-jc@Y6!P~O+c2_#5|IkV*cuI?lUy6!H z^u@i7`EH=0{i`1*4+xQ{WmikDI+4|QMa>LMWKg5Pd)vE>Dl(GM=ka5N)GJ#an>VhJ zGHoAa&PG~=PAXC;ELENLAv!NqoOO0>;v~-oxc_Gdn<9?s?B^);!I{-3Wn{hZ?QbU zi=@;STeFBLD4X0vZglSy`^s0W8rZjY+b&Oa~Z^{0j88 z{)vQvoK0(Kw{ArXo9geEeeuW=t~&&#dThLX;ZI-=V5p1+m52`|-9&vyD8!)WjG(+C zgMqd*@8QG#@?7g(A9gT7Qp!Hpr&AoE>Qj5F>9KZgM`)8wI3Ld*bM*qh1?z*I>@r!W zhCq*IDHeL6U#$@MmS)cBt^d@=#B1@{Iyyca$e~=t+k87;Z}ku&@dYoNH-XWIgb-`A z3J!o|D1L#(HIP!+1FI^9T7YxJ#KOgRq_?J0ARz}H8T~UGo%M!~?B}uXP88K8-A65T z7KN?uJ^i6swBGeE6B-92`-V8F@ti=z$2(#HX^LO84ihs>(BV1wL`-2^UcyXJT_;$= zajtvjPwB4VFCQE@4q|b!7m##=>j|d`%_I~EsC=Ls@M0iG&fVR9S=xG(rK}xA3x=Oi zYJ&Ix5L75s<*FDY;6japzq&JL=?hh0NFh+}Y)|8Ukm$qW^cX*fzH>w&6D-J1_6zo2 z>(;>?aO+W}k&DZ70Zx3a62`DekdfPZf(gRYg8)kh$=J~F3|bj~We zpQ8y{>$ZBvA?vVZY;UfbzMI+EOEf|CL(GwJd_}dVZbp&f3m9oJ+W?D|^mtG5vBUT0F1967h`JzZT42bH$WwD@jYPx$S+Lx|l!UR@5wT%aJjvtRe$ABhfZho zaO6$N+tMc{w;`f{g$so%v}rKd605{c=k-J`RzGsf6DWQ=IM;S2Q~ zB1Zq4D!Q=YS8@=%kUGL`6Z~Z~is-!VxwPqUw0v$y6|=bL z`hJr7BP@w9UxRr8VNp@8@j<$gWUVzu$(mx}3P_@nu3ciN(T~*5!+9W5Wyp8HR~HkQ z7A<)&m!wNmmv2_=Y3R0Tu@0CORbLrunV#=Im7X>Hs^04e;HiUwDsn>@9mRP*_3{K? z@C{U5&iQVJkqQb56_UI6Zd_RVk7@CM>+Bvjw#4I_s9=$t0sazT)YsR)=kM>otp4#( zBrU%~OYWm))AuTE^@H}r3>A8dmv}fkr&x}J6N7py#2)Bvp+&*9Z38i6SC?I#Nx)w@ z$pno>tkoqt`FS!Z<%xCW6bvF^$Cc4>iDAd=HP3IR(qDdTJCoY8t{I zvc32L(H>bqy>hzV?mg2CFvC!JndDS$x|a3h@H;0;ZqWU;>#y{ClE}sByt{Vo`ti&2 z)XS4>Q-OrGBDzon>5jk@(X5Gx*n?P&t+l-5isyG8GkAuE)U_hSj}aItd}P-}`VQh* zrQ}aB1K)aMo;@=g;gE+;Aq8h7K*45}90+BDwoT)G-T8@>muw27$I0YPn|Q z&ul5-u`x6>6gu4s6m64d2$U&-7Q%({SOkGZ5u<8Qw2W*ZS=!sHHme;=-Rg^g{}{y( zN~5qiXq^CRGZn5wR!2nPV-c$B>aV9pCUxJ=>{)f`HcM4?^_yK2V|w#0PG?78L4%ti z&cvt(;5I|X}^;4>*Q66l&`BO5>2l#r?w?#J>O+w(p zs#OO{N;f?y2HXJFm$C7NS`qiut1nE#Og&6OjXWG$tZPNK6t?n@o1e%dNmyb`{?hwr zImtUHGn(xLgy!fzy^KI#nIYa zqQ2mg_pC@R7M1>`14FHY<$bXyc31(mq%FZnLWnO85E!3T2UF+lFh5 z_nli#?g@qnY~@+X2kbCP&B`i^TAJX-l}RWY;rxWeVI+uQE)Ss!ISo=|ydokkhFg$u ztvSwzw<9tZLNtT)0<91jI%YL?ixtjpfx~c_b>!7Hv}f_7D0cR4yL6}Zh3^IYXg9|l zLIP%VIfQ{2wE=$@7X`EsPO=5z<6MxTd>n>P)+~5K+{+vAWe>#3^=rL5ZK1~SS6$y zxTjPTp?8aP32DRiv|ri%%>=oR1t1e@c+`-Et>^0PkoMiaeH$2w6y(5b%(XVame15qU7^CV(~6 zh6DfY$6#y;AeMG8Do?N#AWZ-^K=OrFF>I$tld@DwV5RQpCTiC`RXd$;i zs*dl6i}u&AU!i4~EkWK-3?`z4hYABr89SxoMA+#;QH;5WmnO`h)DW|d`ruJwJW0Nm za5}~##np*R)}h7efy%+Ns7aBC;LQLmW6&F7o_<&&#LMA=c|Pp3db3HeKt|RF+n*y${I80*rYf?u4`pwcLN~Ewe^q7=+L}273o0u7Jzk3R6_8aRnk@ zq@hNc31v>y*kN&L1qBeG;|5YaJZ;T#ZgCNpUt%2yMyY9OcUp&y^z=?P>mW_}_3MSo zLFj3sJYYwn3<)p576{ThDGo#Rhx;yceJqlX_wSK5+`#(BmiOmWBT45k znBhQ-LK4p^>3AYmsU3sq_`~0152!KT1He`3*w|R83Q05Rew+#8eIUF9O{&TesXQ^U z#}`bbXF16*e#d}GPOm$mH&1 zfA9cJTuH}~f6%&wFg?BmsJ(~*t;30Rg>Hq4Nvby>9Pr-?JJ+D7%P5Sm6v`kX86Xgm zQ;syau_&7cqFX9VqFh8kOcrl>;bJ7R38dhZgfoDQBw}ldND(Xor4fW85h^+kSkSg! zVTyuu19uZ-#c=z*OCS0cpLUkL{P+L9=bYy}&pGEMN|pTxkU)r`O_TGPPoFs>X3KFW zc^@bpX4I?Bc<%9y^pHq;QjVzAf_D?QiiQJL1ph>3Qgct6N?CWa{_NSSco()Ry(Rj_ zZR+xf4f={PwnK(@{BSSMN&i^J8b+koYs(Wi-#l85M(}Z#Z zSf*Rf$BqWWsOoO=se$(%-)>7@Bj%zf&CA`qhV$v2-6ZRd=3k_sR3Ef8VUKh#hDaEYFehD~YvDmyinhrLgCsF@|I5 zPDV%&Og{9a{ua4G{Ba4E%Witmxm;Fxv$3gZAwcx~ zu9mI?Cjp7$b56)BRMn@VtEdtv^0-%hddx+(S-ZoX8a~p@n8WyqGHn7xh$ceDM~)N( zl`+6V09hb9yl-BV4wW&(;kCH(} z)3xpb*1u|*#Um7}>tET|`x;9^FTanSHfb}gI>M~fdBILIG%fmtjIxaM-u(HXm)i5A z;%G=BBb+Kb?pLGf+XJo3pI5o(FsMZ8ylQqTSObkHB_jjEHKF7@$b`2?ZD0RwZ1i(C z64gPV+xA4HTaaykqTDSY{jYr#INrYPj_-i)gAIW~M9S9u6d?=zSwG9GY8U?N{PKUV zR+kUxMq#GMbelS;xo34a{UV3$Lmt3n%rJ)1vi^DIu7lc(Sg=KVrX3Gy%SwrtU zc=+;Ag7xav(CJ=z1qHqeMVO^jkea?Pw~HPqc}Q8Tw=dqxWNJ9|D|=EhZfRFgOyhPN z1GzpCC30owq0=E)2w**vlQ6AagSR)}T=5fx#B1`fM}0?=O+#H_s2HR;Q435-y+tpO zG^G*sD6!xD*A-6zCzxYIi1jES)%USmVqJ)ZfG`lylFu0@5`4rM2BA!8IyzKJoQ`<9 zWqtVetF-DyHr|70E6E(Kw0(k3lRh@ALxTIL(TshtAd{wg7${jlJZ(Uj8%Hc*ABcot z+}K>mrkLOJc?2AggU!>C{<8uG5=c`+0z9^oz;hF4IGDP7@gK6Lp=r#XPD`^17zmG7 zi{4V)^LVpPjI=zV8*6WEZN*IJgNxF&15&(;m*|Ff>PA|+_Sj$raLr<#=KT>KV15+p z{_?JiP9@whB zE1<;0bbdd-%Ff{azCH*poU(29_n*v|=bS4-kp-3Za+BV5wa;;NbrmV&zQv`!mF4Wn z8t3++t9yCi&5SC@Voa4voIe^fw`?-f%mKXsRJYI37Hn|Y>H*?Ji_xhl?GixzBvp?D z6NGFs-_TGhJoyLv51@)3u-%DpOcn%RClA>KkxF4nO=MW@j$o=KVx-4!gto{-;I1az zq;&)ztJG-^JBm>7luMerQ(P*YDI}YA6Cd>}%vT=YZ)Vbb-$=80;r!(8&zR1mAC63j z_dmugmx|^d%TdJu8p4vg98xq&vvpBPo9d2l+wa=N8Fe{v25Ad%@?ZDrP<&bO#5h&V z^^u5SHwJLkRMUQv$XM&q6H{NeOaLahUMzGIyQKNeIQ1sRq%kAmZfd51PL43GZVD-w zZMOGN153`fC>&MtE|cGz8iuFtU-ucZG^7~i=;FBcjbE8Q9LdEYXnIC0 zWFeqWQqeb`6}Vt7IwgF+L-GFlJ%j=qv$`?1u2_PCVjsmB=~Jo>5yO${)|Z>Y2HYdpiN-LR^)YR_O|g^XJey3g z>b?*Q&E8jUUtHZ=*&nJ?l|A!qxS?99arAqU#_^%utrsV2ovsZBnO+H%^`N~g&-){`1hwL2fVikpZ#Bd-52|4jp_gTK=~Ch z%JplRL~QSAaLMZE?Dg~WqusSjeAM6!GjFo0Pj|P$h7B8jjgGQ2_^DjJTwT0qzv}<& z8N(l^zt&Ds|)?!9#Bl11xVzpr0a#F(ku+uQMp5lV-g zXGdk?>tDTj^QqOU_?(Rm@9IkDs`}3#C zTg!HZix(RbC4PSSvfZk1nr`pjz2u`OCvCTEC^6+(kffHF>st5o=T9>;vzX*$Z#=oO z>%;kZ#}1dNb15k)b3MC@AJmvE`bJ$OakMnZFCW01jRBPwT z6K>bRvto?pVr9~96wdp*7i)za~wYW!7|5)FN}Hi5%Z?O8w}BPa%?oQNl6b>Ij3{I z)}Le#{xCM%JK;dN;qIqio3DccSF;%kbpuKb_e)Af-?_8)jn+u?OS^GpPh-A{##D6? z`%$K;sVU~^h-7n5l{PTp>5(Y*5^=BZw`mY;0=hpX8=*1{Yd9CN`o zaYv6G``X@K^ZPevvg&VTzOING6D-)vv@~8JAvyNoyz3)B`}@1Cg_Dw!P9`>pzX+5N z4pZEa(R6m-_I+WBD(BCiG%)DyWqv{ySteMXjnbc^%Z*p=vg}Nf-*)()?O0Q;9X_pU8 ze{F58njUI8%*}0D?!Wh`B74t-aB6C*S+>^e7B0>ZA2Wf{Q$HY*CR!x6ice};ni7IF5w{Ns#MT^I<`qHc(N{J<7vyxx! z&M+VSp#P|&L-&|&fxNOZwP@tFG_|wBOzdHb9TWT#(E$||XC|2R1;gvj1hA2D^&Cb< zMoSA##V;~5Ct@vT>KIMyqOLeNJQa7I>9Wm}xcOdWJ0*{ZNJZ>vFM0N0B*ytHIV8X! zx$5HO)?%BPVa=k2#*D8mEoZJ@AL(WOdH^9e)tKQHVj<}JL4PjT`T>W>7Y~m${w$KU z$OFEe( zT3Ua(Am-1lF<(jYzxW`10I^X82{Ul>n#jr~&f@GuuiN}`eeKYnO!V-}lB=G6VS zmbuI@i90U0U#=aJ_Oq51Ih<3}k$i{|%5u8R&U^8@um(`EwC9-I8Z_2oIr=_C0^$=EjX1 z=f_r;i?i&KyK8Todu5X==LC`(e@h-d z%@kxH5V>kJnig!V#D22m-Pe~uDH5J=H-bXbuyd3pEvk9p&Ta7 zdWwhM`1*A}3&FEz&sMqi>(jQB_4i+~5MHW&&oOHYRHJcO~-!=`E_D*cy=EX8E zLKbgQpCg3R)z!6Ns`dog4~v#NjaOw7R05R}&#=+tUOx79@J%y|gw?NUCm&zmu|=fAeo4XMTKg-|f1A_=E%*4u7`bGl;9Oh={(g31>CZ)I>!^nLigfZb!1IFb+Do z?<5aB8#11%sx%(be{AGJ#6}55y-#|4nHmpEOJ!10QMjrYArLf_2< zkn9xMFZyTh_ANz~{ba~%^Uy);7~j5|qI+8`)C$s7l0VTSI_P}=iLZZv9P2Mv+{w)u z;U{~5GejZcK$v1&Kca9kKnYEV6*kvG$F4U`I$LQRJ!W5fFZhgC&{WR-5 zhqM^8TztL000S@m7AzmK)d&6U!4+&jH(9Rl&T4s?^s{kjTI5oa50?>YnPrY|o??QE zbo_;n-LI^FB{yD0hWHe5B!s_mNtSiT{_y8&srVo%r!hC0P%ODTo0J&yp+NZuH|?f) zQT?u6yQZk9*fqO|AHtHjNU&sTY{_qT>zqRMn2KJVa+i&--|j7~p`p>WyLj%OvBFvA za3QM~Z{Db`j~L62sxjeb58hO$>)tf&k~8gOC*?u2h1yf<Sk_r}<$qbiI)&GKS- z#^P;Vf-4?Rx&Cn~jH6NvYrP@rhx~0OV8|CH9l+SnfL#Fg75+2krIuQ1m^t3#%RSjX z<~AEOcIl@8K48&hO6x-3a>JlNg|P}-DK;~x;gC01J9#$U{`Zl}c2m~arQuB-FSj*gCY@0@=`U}*gQ;0nCtud%U# zNc)a%=gviD?t<~P;eywt($scRc|Lvi3^nQJu)B4ykR+Y2cc;shVgdRs2xxUr4 zdL@3YXOiDwV`f8K6xoCCl^FC)kY^8k?-^ z!&CG3X#3kaBlyF%;Iu{8;l&ePy?SIOpa2-a;78+II_@CGb?jJN!=SB&ZHU6b;XC0# zOxPs@p|-Q)@*?giad?;+UZ2RA=DV@yDRWwDPzA7o;WhVLN7yALS@17PiTP0_>5Ta`nw-mhmT@)v&zV#=6g%uu@F3BVOaV^y(6RAk&R|QjrXGp<1bgUarX9$ zyB|qb0BV#p-0|y_O3ox8XP+_ClMB}|4Q5sq$gLFgVjk8tSOxr3qVP%&6 zBjT--RvKM!#l6O>HJRLonNKMncMiK>EOW~ekDEL5c*2x#k4iEvVs1|ArP?)rZs{{U zsxG`fok|HRoAlD+c;e@h9y_X8#D@<|oLZ6=YGqV7Ij1!9ux`M}(Q!{st6x<=Ylwn( zM=MHjP750{hCa`O&avGiQ^=>US}cSkm28S>0m3{^o@{<``;}uzc7k=Pp2|c*huBYN z9cMuK5QR;v&-m!B_;K1Lsih(Vi3D}$ba;g~-REP!vgD)VmO2?|JN8&)<2|Xb?KDce z+_ey7MtRfE4hGd7AgoSIwm_GA=gyrGB6jybd^ok_CaIPhl9IwnO5L?DP0~q-|pE($JOQ8JTM5LRPcZcT3VcC zIPZ=#Ev7A~|2hMfSFie{s%N}@^F~@uZX?OL$w^7?yR9h?s0QAtHs)iM7Zek#UY%oE zy&HMLelk15b*op&e!+PlT3%66pT?^RSy{nv-wJ~F2m|bs1Q!_@iTvW^?2M!ch?V*J z^_{AIg0}>Ogf6P6tZn1@_OY91^^fwZv@p}pA-z>mKneT?-R|9a2BLHNLn^0D<1}Z}o={AI7Mq&esRHNz2ImGcq#b(#zO6 zryA5O8y^Ug1-QY%#q|mK=IvW{-Qp&vjx1B^)*P$E$ zsU*wdk+(nv6Is?pgVlEnU&Q*#i3}nK>6_x8(Db7#Ze#QUcP)-=sY{Q zG*xFLz`zn#9rCqmsW(9K1(qT(a0kWY)KtqW1A5aKilaZose+w z?e*5O>gp{B;BVi)y}I5isOvU=1=M2?14GZB!3N}VWN5tc^Z59?>o#sXucmgt-EyNo zp2&AMx9#-rOW0W?d4wDu&tWug06)t{zr}X4?+oFRID7c$g4qt|zJUQkNs5+7tR#c- z{uYL1o}lYqkY~2IAn5b+WUwTYvWykX%ho zO~KM+)wjk*10MQZ>+ZGc8M+A>8Oljos2FdpI%|WKCC*&D7~Cv3TK4hd+VTLFfgjn| z$cqG&^M==eIZc2cymFi};XHE0j>#lU@jg}>Y()6RukFFX!N{-p3r7HR9H*Tjd+|q0 z!={q);Owr8Gws;}c5E~TI9Sok!=|cgYLi0lQ$l}cW^9+{Y!((5Cl;5%CdNne$5eE5 z&H=4zrKzni7rOrAQ@T#Rt-s^%Z-?(2(Ufi_=40&v(T+wAHxi;9#$_PVVJNXDWn;q>DGU>^gZ5+KO|8sE5ib7HcJJ2*7- z5YyAmn>Uk1K%z4-F?mpG2=vRq$S8trvvup%j~fD{S)t6>{jA;t)kF?K3!;m(z<%h^ znDF<;#!FbaJckL^-rio2IczeHJd>EiBR@tV!>ktLX+qZJnfKt$f`VwYw6!%gH4V(o z&#b5Doe&1S>|dInQapEVhqpA6B>wlxb@A4%u@1j_Gd8Ae{5(7-_4HT{95{e%gCC)% zr{BKjJD39^S3^&4AbMpmTG(|#fKkw*ixf}f6M#1B`N=Cvk)o(+(g`XTAVFPJ7B9vB z$(%anA)oF%l$Jx!z+hPQCpEyP#b>a$Atw^ zI$zK4-_`I?=fL||T*lWlrRx~oycvS@Ok(y(Mgc381cj`utOGz2@Sr|0f-0wsn_JPi zx@Ge#4{QSkj^%vUU24?lBvnrA0cZ@u`l5!0JW?FtT_iVO&0Z^%;vvpVO`-<80MGYG zksZ1A#;sf6Hl;WnhZl783LFBViQT_{AA6<2MTg4pNsPg-Y>_=N?d8iaO-<#Vn|IT* zupFZEy`Z7t5H3EIvAU2!0?5?R@J>j`E=2SFQbU8;(e{Fsg`sAPw-I&+X*T&Yi&rj= z71vc(Qpx!<#pdLI4zRjho}QlWS?1^GCpi{z+I1@*%7(>{H{Pg#w?^9zf1}B2;err! zIoH|)#m>ak)VtL1@#Du|+S;l;)@>Y3?HHI{)VzGTuY_9C*uvr=N}rm#`rzOo2uZ`2 zFYoQ@#JyT9%7&)NAw-=(8Aott8kKLeVd=WR)n(+zaiwU98h{|?fQ=_POh;RD0)XV1 z@@INVeJ{Ve;T;>hUzKwg(#~*8mRDnAV{2KsQX(N%-;ysP7@~%R$iSqTCkD z85kHwwVMwFE{U+JXM-aF^Fgt>@8u=pGWY895A{2xfc^v#XmFKf)kz#-^I3M2qyS1m z7WCcn5$F8Qhkdv5BP%NvK-M6lKvt4i_;moGO($-aldKDxn%+%A zR}2h1jLQ9E)ly~NJDQt&XPMUV2@5{}s~x;yC>Tyw&E6haGE;*K(&b2$U2bmf=TD#3 zgK*QY7gFDFO@IMpfs*0~hwF%skB{x^@vi$eA}I3>gU^eKblXq^4=Y6odjM+3#;(b4 z_pdQ2vCP4~mq31ix=LPt%2R6p&w&9{HQHW$A)?b7d-ftRvBD&amX6NnWd)=iBthHCLkctbwgCLv7o~bKZS51IS^UIL(y`L_F(((m2d-&Ya*>xL+>eyM0pRn^W}-Q?l7Efyebmyd=1+RK(2j($U5 zKtSBF;2IN1!G^ZBG!Q*&O!DIyyy9r=kozR&`*woC&d<*aGi|#tO(c!P24lWG^?FFL zhB>V=SKiRLR998yn|2zX9M-H{iBrve*KS!GC4N?nxxC-DUzK{}+BHbA(4RgEZuXSo z;^wwn_+t*TP$xdigx!QbfeM3v0r2U_-s^9eL!xh+mrQ?7yJfjCUtonX6yF#eI%w#? zztW9U&CT?(@fX%dgjBZR#2N&599eTTOp)(jG4bB%)aTFdf%#&Y0Dst-woQH9%ne}@ zTM_rM#4z)`uC5Z2FMIHyptDkP(S@kfctNZoP+etJl}+Adk&q^+qCHW&XlcP>!k#?? zKfQS2!YMmDew@4L1(5+=phIiC#qh2CS6iE!nl}C0!+^wuPpB~FLjc|o-P_R6067T% zLzyqTn*AEJ6a|Q&z^1_)qTc1bADMm1dy%066%sU%)yBI^5U>GQ?X;y-yMG_>o9LaYy@8{p1(Yyf1Ezh{GFOtk1#F)ENwY9W9 zUd=Yl*22TE+9)`(t80DVx^0^+V8^?6@2vAKBZE;n1N)=E`vYqB+g`YE!K12Q3jGfB z6TEjG0*GF>-ECWGEglhJu18CusH9{&+9neC=4o^^w-ZFPt0?ipz_o$$>k}Ki8wRCQ z8$ohKZvLhPUVy#`vE;m=rmpUbjEsPH??kZ>(gw18VF1l&9Uz={xfMY)Mn*oz7iNsO zeeY+Sg+D;rKf@mU@qW_Fm!BXfB55PZ{QCVnE;~EqhUn3t1Br==o4iUs&VoVVEXMUX z;k&if_iEr2`zAZhbYrFLXjsuK7uMBb)h!$X576?+8MuxhM?@r zrKx4*<`N|wz++cqBSJ(P_f4_R=LfX0p<(1A#$i`v>%3k&bYGoUFDDPeSQ zbkqdmb@|(iR9xx0g$nq7Aj>&H03dKi!^k$K_o4C<-2X~;=ZzI>qb2LO-RIA`&6TiB zRvyVXudRI~f|EcKv)rbzJ%_92cYX9qxMwA51?ET zFm`cvti0PA>4iuN>gksW0tSE+wCebajG#J$SM{~qcOImrn)r56xm}39Z)zUV{mDXb z3V@RQnGK?lAcXv}qO&-N_{fb!PmW$)8W0c^e2sFw@;hUNDqE{2`&yGjube({3cfHq3p`3WfD%F5Vk)XdB+ zkfu@%sn{>#i$~TGT-)<$6TxQS#q%ArMH}Cj`tF_|RCcdC6zw9#7uMIPuD7ctQgUS? zfHzEWsqc^^qESM1mn>9jNR?q>d)h38OtM7ef+lo_=G~VwR!e{VN|M(c=!yGuqk8GsUDkgX zs66Msh8BH-L~!rkSL{7{Bk?%wEGy$)MA*QVkme`=m;=5MdIh!@Ni^FRu#IUSv12IW9qCQ;j6;-#sh zb7icfP~=uj>xhY&*@MI=C!f0;sbAk5QUiezxiw6Wg*dRC@|FAQiezq_KC~F*5BydA z;Emz7ykNAz&gEH2CWJI-h)4o>9(P}8KzV#}4Izc-n(Yn9s5c|*b(>_N zuCkHQ0rzQj_mJQ>$sB!Xqd+Q|!`h$`a{!Hi)tSzfaO;?7itLDa$!WXVR8j8&Z z8HFlYd9AiL9EU%B314m-* zdWoj)d+|^!#8#HH3O%I_bslU3i44e{Z{esPb z^UMNv&k(Op@&VfHe4?V28Scy1z#hoy3keCa-zt14nAB#XWUbDwB5nS(TDh;T>*xtw zrW7US2yzJB&kvd>a6$9Cn@99k7n;nkUoY*pZkw1x4{IRGdE4#aL&~;Y@7EN;e9-Xy zJNunVg@Zh8ukz4)>0Dizt*ELpLOB%baJUQYg6vCoT|RV4)7pqw=vb@cEGz2>ZiKda zK+fO#*O&d|lpAI?i?6Gt@{xWQ_b?Ai9?)l1-~qY0Cii7^$WhJN*LHURkFMMC1<0?4&_T)_~P9Cne=~Q4?3- zQXaA5R2c1}^Q~`c@`6Nt=?;zu(h($FD6J=;Y67tGi-;VKut8%4=Se?P14tV&58OsP z9z#PzXePXd>iAG5Qpu~`GO@5Qa_@;-4r`ZPP0&dg26N&g0O~sZTqV ztRliaZPgQ;5@*RAPD2Aw(_nz~=zrU4HLs$3bC-0p=_rAK{fg*t6 zdu{W~EG=bI8~I?w0c6LEf|)?ef^sOAppt1&vH>YuW}mB@ThzjW6DS>;9e9BKt?_?! z-nNe9Oz+DJ0UiX!M@FG;eS3XpOEUDPg1H`FDBxJYav};izg#4``bw|+QUL3!UN~e+`ThGFh|UR}4}lk-nHdP7 z2^#m~EK6kMPZ2peISp-X4{JfF?coT zmIm2c=-VgY=q)X|fKx#6N7c@R+k%ZIZ!ChdC3kg_d-Wp>FLt`lzmpT2Utigb_kkmW zhmTJR$6H57=c8lBXSJC>f2<*?5`|%hwOX<&cAvBnw6(*34HXp?)dFqYsW2wTRmxBy zv7!FQ4^B=u+Fk1sM3150IpLt8t-bToHHFu=Z7oQ#Tr!V&!$NxTk_+_#0PjTh1;+W? zhV=waC%PUC1fW!(DSl5oMY+ysLS}eS)lbv79W9?fu@_StNx1Awv>!)u%5$3Lgcu6N zw)EjJ&@%50i6-^>}&f`S3%#UVz-mDj2?p2@fSr!QKr$Z zPrzHBJb8lNql&}@;=ZGXsiJGPcvYOR36By7F(m_o{n~FWx?4=6OHH!SM5%4H zM9|{?IFJQ(vwQQ8R|a>-_cLtS0H8iNJZwDmvj)mFOlso6C6K^m`mJ!p8HFrAS>^;+ z7|(s&UGyI02-K8Fh9Co4*&>ljBm$rvf)6$OP$9PhP5o$X&1@aP`s2))TUbbg0;{Xb z-Mo1mNr3_a#)H0jeI5?~i;zT-1)%oRHg+Q5Sz|_S<$KGd zac=O+adE}yubkZX9&`{Q0Q$qgAmG5n{DKz5COvZ~xX+zCM{J6OePw25wrVY(VT<0_ z7wivJ@%-}%T1`>(o!`H|?VvO0O}AwOL{K(KNxk)Zpy*>SMQker<)w|E{j=61;O9B#wxo_32Qj2eqBtO%nwV^W zsSzhhFnnubgQMOi+1&jGqf_(PqpCq~xIPtuSC*HTiLmcmy3*xHOEwa-;Vlr z5x5t}LFsr#&#$5eCx{tnxPfMU(C0bSl}LtTp)NYzbE9>2b#~)jr%>xkUDcRH zGj#H0t*oq+9%-jG`dD;A_%~?wlG+a~hrKTbLfNMus=RCfP;&O?p~X=FFCl5p zqEJiufZ|Z5sX42MsgTqz#{5Pr?a`Bb2&3>PLOnwEe;OWcgfphW#ZHri)B}So>IY0o zQZh20lyr=KWf3vv?7=&ZGC+TY&|=tmiOIZD*EM5ip8|z5S`jF@^)GNdc6v*nPi@4? z860`-x1)Gb%RUAgh3TL;EQmn+3`_bLC3Esna>gr7)>I!cQArJjTtvlX5+J z8`RSgcE!#Hd|~&*-o`EUSqoc>Mxt|rs5ylIM_qaoi?u3}w&d#uKJU z4#TBO2Q9Ycw=11FvkA}<%o+I{pyU7u9TprffZfkII7?JFv_)j&<8p2aFzhPj#rq5} zAS|JFqf46prn!UiCWf6;LE#vW!0xrUECdRy5;fy`tlYUkUz#tvX2#ycJF_xzVz^d`;uF4Zi ziNP9N_nU?e!hdA!f$aly1xTa2_VUFGA}!TMh?GEDxc%xddMPq|hudCx*bg^#||MCgBXuq`DBYV5+Vp`of|P~2b?zbtfq z_cy(ue*l|U3;;bk>)@N#2jaiz^K7SFZ+k~W;r+a&Z3B!esg2K!?m*Ohp8KI627ztoDtWW(rrk)DndBWjyb3G9DA?< zI)U)x>Sh2Th(kjpT_&_E0Wpw(K@NmLwNaU7Uv5!(csPM2{!UNQT}J=T#pye4+o2d$ zN-mX1QV?+$h68l;h$jTk%pP13sQj+gDJndiw43yKp6-0^@@4v2g)xpGdIwM>9~rBh z?<-vA@qX{X;CCO#E7!4r&?zPyF1sW?=4~J5P@|!JT-R2h`*;?%$c=nlAw?oYs<}Sd z;6t0Dn}OaT+N}t4k>Z2UDpl)`6bkIJtW_(T&rfB$4~`4}31RZK%(u`2M>8|drvhp@ z5EZHkOkr`*^Ux#!^dOzpt`B!r)zu{**?N#(@JcQm2Y_*ZohqPtSPin6Kuc)kL$P8D zt{6|?cHNYlxshYJbM)Y5rhsxNU)^YkMx3zs$DVgz*3#76F`_VPT9Svp1>`DXw%@yV zm$Rm5q=~I<5L$f(dYp?7(dp=FgC|k?3K_F1x#4MWW9pHX!jo*!SLad6+=SpgL|qxZQd#flyX1=;?9KoCdpg*{NWt4w>Rh>}g~> z%Hn%LxuFUPpLCNEk<$GmcWs6A*0+s&z+l5g=Sw-s35}tC^Q;maxcQ^Ym3gDtvqzdl z!GA(L*ekp6D|A!DW0wEsJ=PvUfKg^G6O-T$&ohZ^S*Xb ztDKxxaN7EYMctwUXn?`Vw_P-H1mELG4;6ObFP&*}Qc_$@SU&Fkd*d3HE2l9u^ga;f)YD6?bkaVielAtdgu+`x9Ucg)8U! zT;+88;2g3(n)`s=sOwZ2K4aETZ<4hK#yWTo9z9e2Y?1|pPa46OE`=ny z!1#%T3bYB!B`je33n%|HD0kk9&@NA`H$xQ@`5-GZ!;pJ)-{LD^8$#@~(#p_+$!SF= z523&#C@6dC)EX3tkFSbboh0mjKIBVyCEbrpB=U zt{E8hjKeyXTvcjsCi0pKJc}q!RpsQpzj5pMku}}O;CP9#1&Px4uy++SXty$GxWAc#EAYIZ$a3+8FSg1+j% zC!JZ6!EXc1t-Z#n=nJ8pjF6g}6UIlyB|Jcq39o^ddhA^&+y@X0=6}Tp00-^-y}xp$ z1=ARR{s>qf*lvGF?yO*V>A)0RcGZYQme=w^m1eKi-e|*X zoHO5-*%q1aEsk9C`PB2{$FpB8y93J652P8nG}_1@o4F2}1yK zS=P+7vdo@eGf_Qm9&N`gJ$k`B&rZmB==)HSqoNO20zA)3MX(k2{JJy@RhBzQaqNkM z^ANwUZ4GEf^T^DJ%6pR2-!8(21(Vf`ocTt$yl|!uDcl5;YuKx8j_xa3RIfIp57qMS z=FnbOO{mm(58vYUh%c+=WoV0GN$vj(9A4R7x*8KR9639wzOvuhU5we(#wHMi6#Cea zrCV3CwN$$^LjH5PR_X0)XlIpYp*>e7*42r`agy=718{E{gfM^PoV9L zmO)TxXnAPSpMz*JxoCGOI%bsj8UVzQ0TLcfp|hvL=cu{?O!&@YQkPaln1V|s9%@+Q?ILkBRv1>d7W z!n?%By(KX!$skXpaRRePJ)?Z!9#9?VSF7XHt0(R4bAD}IGQYrQ7NRhK5e;2kW=wG? zvY+0!{r$jH`*#+2PcjP%6k)za{YV)!<~sw=Jaa&2=Gq12HNa}^mWR-hC@MPk^C)wG z9bCOosFV_?JorLF^s}n^<8TDI-6nkFX16b`ZrmeND-m8pb!cd2q}8*2nGBCXk0oMh zwTYe5d(FU4p-3$iy{B!~AO4`#Z!Zo4049TxF(fS`C^&$0x*3V!m>8OYwpwqd%I0*q zcnIqv&-M{;4qb5Q!sD1^%K6sR%I{Py2g>oMXgDR>`_^)5TPAD`62g}OJZZl3I zD1-5D&b4=e<6K9@m;;jJRcMBQ^dO|7Em$u(c1r73+sNhjECq7zKL#QsHz+XfNJxzN z>Mwsr7nB$p0vaNosyP+L#Mw^eDQ%bDGs=43P_XL&Waq7Hq;uYtDdtGqUfOZ{I$l z7(s+Y%M1D;s%6}26-o}A8K8Nay+`3W*#EbI&NP4bPeyu1Mq+L*@wJgjJRC#Vdr_l+ zLvb?k?t@Xb{_d2JdB_2Wc@kd<_C2dp2S*}xTh*cxhxpFal$7y#mx9%mMPeqRT>ms8 z!WjL<`uch%kwmC95UN47jM0C>2Y{7=6S~ZGdlA)Lp`%Xg$u9%qb;`>NgA4_Ul`H5F zQk#g=9}Z0JpxFB8^3TS_#GL$`(%~Zcc%y7UISDcFUyM>fGRexydg$-(qo0EbGjY0* z=TtIEXMsP=FYUR3;o_k3yOYixkaf_`1uCa`D~ss?aWlAIAbMl+5oRFL*b7r6<~w2w zEbm=oDSsUW2BSFWrAf2y9|n{1`8!ZZtVJ6(ZUlkPOMGc97=AEN9+^VsbxezeY=R1D z4PxD%Mn>)$$P0t$hVqTkFT>*Kr%$`kxk1PyOu?1hV=8|v#(utGnx!emTz9?cd2=zc zIs$qUem7#>L{IJT(W8ZFPCwN^2`Rs4z@;fH{25XzRs=)0uuxQD+!1LBqmq(u{NmaY z!Lgc#T+JA_Sjz9Q>?oM`h_+jyFC2nii8?2j*kA(>3`RdmuLlAi7TSOB3Cw@QzkVGA z{6?D4z$Zh~q=N?kK5YA-qxg}szP{&=-W1F~gWqJVcvS-L;~*9lag7;$co&z;Gruu{ zN>gF#6C|bqLGIeMBhZkDPZFls*grpEdxRJC#tnf(%}YGcoEpA<{RmZP4?TSs8j1*O ztTAbGT)j$#kwO`n(!^thHRdz;JEH+ZvNbGhZI-jAS@bfRE@F%h*7kpu zZV(@@x&f#S57t-XD`6CXP>nXp$8DTsxrY9r`~n0E8KA<)7JE=)Ip%LGYOPl@7;&y$ESLe=EK)GNK7Z zlQi7W4%(E@3pdl-w`I_gv2sG17e1GO@MR^29lziqYD#0#Y4E2+Igg59m@sqPG^+*S0(N_Fk6@0H`U z-N#}$s9;q>RNT-Ja`FHvK=bd}3n*tFP|ks0d(f#%N`bM9m+$mgzZm>_&%(ne=3Sti zlF?D<`OR;yhu0t4L&vfR1%?c#m}HS)gwg;jhzQ8ITUK6Cq-hzG|-~^f%(EbO9hH&I*V0???z`;VB z79$%d8!;R{6AS8Gbi}Jlrl_%T5NEVaesA7?FSocdVS}8U98o(UF&x(|nVJ_v4-D2~ zC{E3}HV3+`>5Dt-VBJBjN4txpF&=(?BV&IEr!X|Z?0{WGN9_EiklykDM!Pl`i$VUc zuS>(|6=vIEhXRg+*tKo1=siqD1{LD$%75oe6KCjaM&t|l6bS1R6;*&4@n8G? z4$AeTXU~jGx)#~?`|#?K`I(dyA7EOvS%_d+QA2p8fZ>_nhL$>370>3YfPG zmKS8oMIt(It9I?ZW2^QVpn$y8sPts$0Ku-1K!Zs5^{y5P9NSB6(LN{(F9oU@j4tK9 zu}CWzhSAT~!caFf_l2m`kMDb2__tGj`SF8<}t7)m}C+6!ARjw-_7 z;VlpQ5;Xi_JQ6rZ)S$BaYFGygs?YtlV1#I1yVMyKF#`L+ArNEE0Jr!+PVw?lxN0bf ztp=fdYq;6q@k=Y5miYLRr%gq0+5qGcjk&zH&o=MiE?*2l2Z+zmLv~CkE@nw=I0IuZ z%-5UbeB#Im392y1tmXqR^DA;m_Z+0pDJxGkM6Z0~xNe(P6*L%-Z~a=2gUiuYvKMHtUc2_!@`T4^s{w100n<7#g& z1W!y?-au4Izis=i-5E$KAg%BcqE|xZSJ0V5*AP)$@0*X*1GQB3QUVlP@;vC0f=0tS zhYSMY=`)N0=U_CzAD|Ti3I-Qa7g=^!3x-dz6X{4PE`3Q&35%xqN(Kwh|vE;;Tw9??d zpe)Oh1qcjFH1hqsE51~?Q31Bh<%MaYz!M84xhnw^;^fYQ7w5u(!-3C+*482>&<;1u zq$d|A5FyYctG>DUGs{Xh%WJ6gi*(~tPKCoivV8$hX2v?n)hsAa25t-f->Dgssd~#kL?=OK3oZ*pG!!wEfQNZ0H6}(i&yJVPOTxalipv@# zfweqJJ!>Z0)cG{;ZI=?;f0ahl3iL7^NB-8xnwhU!FyO;<#7eXX&vH=CNn_rvqM|{%i>n&C0941-wpe| zlC$$-=+#iQ(Q|FM>_u;>RByaWZzTwB%fGXchMBOb^du)n^&mox+TYzolAsTt3jp4R zySNJ9_%0py&=9PG!N;O2+uN>Yf5q;RjKdZM6JPk{V=y&L-<%3_-nGq(O#3}_OiW3! z=qL!=t?S@HCi5CI;S2yxEa|p>R5u{vILRitJg7`eAeK4s==yQ;Qu}s}k$Fr3!IC19 z3Pd%}p52Uf?Z;dlZxCx`xY;3gc44xncrjC283Q~hF%CqCIoeh%r7txvF1z7O!gAY9 z2FGxr4jO^DWCM*JF-U`WOrxGYTX~Nkzw)O8-VDtBtU1?^gx(~68=hBiSrh_LzSpqkK(qDZ zHG6ieDtb57KO{^0l(ORF@1x(M!Wl9**BgN8_Og*?3&CFD{=NEO=Vdm~Rpu~|EAg2`r7q~IU2PR518wpH@Eo%x3A5+|lsv|lGBr*H!NZ`r!F9z+!@;3@Utb04NNUh3q3r?hax4H2@Ap|&hifJ!+0 zBR{fn#wQZ4$*^dM?!<07I${&_l=6TEgBGeu*8GdQfk`i%4=IotkCR>g(HWT9-dU3I{C*EfwZRk=$TC`_D~aSP*c& zGD9^kx?Y&i$uyskkm>q#kO=ad3Y*b2FcJ)hGh3UFSq1%D=y*TzNhDV%`7@Qz`;7mtBcaUeb~J$>74 zC z)DYn04;gcw7a=|~#3LE1M0vv`DFAC=0)pMjLin1wd2Dv}E{&ISHxi@mEVC(=yS-S* zP!#wa4*l_;FW|32${{zxARqz#QSE?mv7@pT!^f|ECmft>rj{rYAY2Y&ma3vD>FI(| za{XHi`e($561HW_c@El#)$yvFo&fJZQ~K*9ao)&c3JaS(&b?Q9`^LWQF)&gB%|MXH z;EW3<)X}ibvKvske5}bQL*wAR?S_t#60Xkxen|*tWE5X1J#nr9l!o}`pw9gH^CnXX z6H??NENEE(4-wc8YF`W@ff`qo<=Wm13QzM(PEo)WFwhyW|F(G%nPrU_lg0sn;lm;N zgl!)s;tV?nze##{B0<{_h4F=<)i#w^@~bZG)7IAZyIBSi4+xD2Z3rgBeq0JCP#kFv zBX1$h(MrXX9S?mUW{YvZKql(ZhcX6m%s!~22x!KkvVIZVRVOs+?07V3DGY8MU}@vW zuZmipV)A=8H#(gP6JVJPb?!P%L~e!In-p1aHO7!xpVGMcTj_Wbq$W7!p1t4|6f}8r zoa;~*$~aEVweK%u7M*OD$eVZQbDE`S0IKJ&^OZh}|V6 zrkbo;`O6&RuNW3HhNA(GW{u%;fpY{4oaIaS_vamGaj^?tM8vl5LH*ah9}-r7zXSj8 zle)+H2+!@*m-57P^7;(&-1YNz>!5gpfyq`d;W_X#%*Tr*3 z@A~&6qxz;C;e7&NrltA^f*?pY_7j)C*-|T$H6=flo59w__3yv_-xuL;dZIY0#3}ys zBmd8z2e5AvhHmly{K?M_t8ko)CK&+L{G|?M-<{p%Dg2?b*pSC+uOkL4=o1hg06TP*s>CC%V8S2e4w)Xt zf>3ASDyaqma3+e_^Jb05Wa)fmFjjzvzb6&j&s_UDJUpBj+jMmNT1Rw8ySc(~>l$ZB z+`D(=`D1=Po ztd>jSO`fG9#VILxhKz-O;M%M~+W=2Dx4c5W6PJu2b6&)EHVx_EJ5voa&8mx;zYTnV zgadaf%$~E$&9k^eQQyTS0>ue;IGv{@{&)y2fYn6?k9b0>V0t7YukeYhB;QLP!n8kd z;-66JZuMXzluoVqKg zd75}OZrDI3GGXKM=%_6Wx;>>1VnmX)m z&Yjx|T1PffedT0JOA8LQCKhP(rAx3jt%=FXvTGb=LYP1{?6MZ_J1q$Duo8_Ukjo=i zr@oX3qGkg=;y)omX}s&k68ZG0zM-L%#H*M3u*kz)Q#2JhMv@=`am(aFA;O$Q zyDCJ;3S-+#bvF%cYNMuuqsUH35ro`B1)!nww0t@*j(7&7ov%=K zlj5QSAVsl<3DRZcnw}8|9+E1Gr&aN?;Odb3GB;W|eoZ~ls3FHfFz7W6{~&E0fEi-s^BC`-4OATFT>Srfne2QDMfg7TdgFi8 ztZV$=(^q5#wU%_C#AN%FX1tk~%_3D_9<>fuo)vI+tQ{}q<~u#4zB<=go@!OL9+3Y* z5as-#)#z`UryH9Q0%3cP{d{gCs-54cLrV^rU&mTOoeQ}$iZvlqKci$bZPH|uY~WpSfM3m5)>ZyfyI|FOOZ zIBEdBV0zQhYyv9q|8TnPcL&QT+vOVSGT_B2E98%AYfH+=sKZr-%oGb?7Nq3I2VinW zmHBP}>Oo@Xg0&1uO9id^(5OJ|XCldjAY<@Hq$7#i`76UeExF7O;#6o-ft*0r#s9i) z4f&2dq?12JDE#mDmhun^1uW)>_%&?)NPYvNh);{F6P5*%e^OLbe`P?P1G~C%G}?+dq2+kE zsJc1Scjb>>$b-@>?ZpeHMmI%8MI28AktL2pINESp&L>L*@-zt_IT{NE+Pj{Vf^rz4 zaEhY)sQ&g133gd#1swpFQQ81P!Wbv;MyhjvcwRB9|Eo!RIhD0?d)u9 zpTK^goCBBnt^?X-ut5pB<~ZJQI8?p$Nfkq?JBRLlBHZwo!SO2^!^hol!<& zqaE7xENw9w>IYp)*ii0U)K?l$@1!b=oeWWpHBH*{-Xc8>|GD70MjtiqHFHTtcBgl+ zE}pS7jGZKn4Xt@7osKeW=KIl^t00-1e_sIcibREIuuyObU9UM~iH$qeG%(HI>h!g1 z4+#n)4qCAG_>1%4MU8|eA>C(sqJA;++G_LN-8mugws>GX8?5_fT8w6#81$d3j>IR+ zf&>99+R)HIf3)|9%Wf1TAgEmx^2mh>-b^-f2gmaB)5JD~gAwZ-#}hz``N7BMw(1SV z^SKqFa`i%WKoig{V`n`>;sW?TINs5fbU31Q9n+irX+rRGpugl8BNjGL++NBRIIl@E zE=f_EOH%IdNqgvj{dyM6VsI?A-SIoO`))Q`4#=V!9jsyZ#|=wNtRQcQ@e{8ir!@;Y zRnQC_p!kjQz1Hb}jMv_}7P$?$q|V7bJK8XxLILb%VP^K`Ythb=*S(aH#si72OO0=n ziEZgJ7a$&J!Nfg+eNK!d2ujaP+Mr zxl%Yk5XonloF*i4RX-KW0ZjwWig?@mWj`*KKYXb#f+x7anZ5nuwo41h$$-V7ZecwS&HC?zzh9d@vR>hDxBUd3dKOeOS zyNK2Hr`5Lb;*c5vC>-wVc6UCuB~aLau)`gL_!b~4I2q@}XrNR(uA2oG!wtC&qNtnu z{ff)pL8BU3w(aJ2_Px9BHi4EKr(PRk+h!cu z2--e7T`)_7uNy)SoM~PF_z1$`J3BDD2RHh{mJ~!u5ag8vG5Zww)`-7YvFRiOj}JK{ zNE3I@4UTFZ{eAtJ?fPsZHk?e=-CpzJykFvQ#7V;DZ$Vko!b&EwJzT7xj~Mq@1JqMo zzuZgL0WZ7`pi3d@K(+LLdZZhcVC9Ma23lA^OQ(N!F`Xq1+p3LnN%;_tz3% zg1sOG46QfF+PQlXWZjrozF_pT(&$rLZZCzT6$SY&6&1&S9>Q~l3mCs$SAtLgX@(9qOXYkB^5Zr%AE^>WuZYJh+#M2##>2ii!h$rvoB|X`kKY zd0l+;?*CpKjF$^a9|d6BdH^(FK+*CenhQ0)b1>i#;7bTNHyF~w zZE8M@z#3>#9t$nU7eUuS@-E$?0Q--V0JVd==XtdLJLq?U%x_Ru{Q!?U<~|= zQ~DK)(nwozXZyh!_vu+p9Gk;IQeZ^&VXf zms-HuL(SK}d{T#lLw#Sh^p*|XR#-tm`*1Nq6f&Q1BM|c8r9c5UFqD^j9z{eK-)?z% zY#;+%%GV*%RpK}4k4;(%WEfW^-1K~-Tc_zeMiVa=-kI(@|BO4NiowG)am5)!YmM2QH7mkl&mIPbGp7RHns z!F37vvRHh-$6r;YweA~TWT4$KX(Ga<=e@&*S{vN?Hg75zn=UT8F?hxpaY`RLTud%J z{96_`1moP`P)7-M8EXc=z@-hk78gDqDvB_4Ixw!yBQc?tEG`apm_ye^bK(d=Cxx;M z968n@;X~0mL(Nn*@B%PDVEGr9o zACL**rnrlS+7j46&*kljASJd&S74gP!Bl-Cw70ofow}5~#I#`(nTU8CSM#81%;{^M z*1&=TBSoPMu!cOdO*UZL;0z|BOo05rc5nt6i6Lij8_&x1(|I^_VB05`{Bn7Ac6LIZ z<3mvS1ONG+Dqg_-oSyT2jKpFNlk_xrs&TJ#4jcLwH1;Yb9q8~&XY^z?-g4hUr-NvN zRP^08nq66WxlecSmjAqvWE=r-JmYqkoAQLy2F>~rF_6wA$+51^lVt&7x9ZCm_Y$}o zZCfj5dMg|zhHyAPg1|*lc@9u5I+Lytr^F6S;4Rq2J?5o28-8`dY`kxuhg6=?r=$- z7@7x&1>baZh4twWhAf@Fetse1&khQ=VD}SCl)bEPx3k@~1>yQDd%kb|@qp)^Zsq*+ zb*eJQPOYe^`86-y69Ut@Yh$TMxR(GwKa%H&bD_T=MaiX@R|gm z8X6~&)DJXaaH^6n^JsL$Xc}N~`VC%i-k&}#4?8l+&BP^-9Sl|sbs{k6&tJZzx%Yva zA%Z}N063N-co)CJp@7TK0%BcZv(V|dh!Bf|=)#3ua?5baL$ap^D-KFpq2<{| zAuyz(B!Rq5PGq4R#ANtVSf2P&xV6z=Ag~|n9{U~x9Z+jy2jWabh1}=>Bn$8)5Mex4 zBJ)9VIb9f>4Qd=K_M1T03xBcKDKFaR?^*09sieoIP9n%@g|SBSz711QIZ z${f>E&(_e$wr_3});o%NUe0S48zS^`Pw4+#V&;~&YlQXU31NSjRSxBG?A8*3KDvbR;B(!Ib%@VelS3{dVTJNi^ z+@pQZ`)G{HkaRpXbWf$({3v;_K#jhN{fmFTf;~4idBvvWA@FM3h6sAxhJKs)^VWf|SD67D!Y&#b?^Y38RYl zh29w37H%@)TR_V@Gl_B<1r$mE61}LCz7ylggy^>`JH}f!2};9(0iwR#uC( zsz$m{$>z)SlZsEe1HonI|CZa`)W-b@l{ z#}MMIVy#-k>;+$KK2-F0Pmt+DZ*n|g zKZtNAr^@H1&gn6!j2?U=c;-khd8RXx1s)Z}5wJAJbwsy_cAiY&0XRfnQkh&c85)C2 z6P5e00>51kV#`yH_zV*#Ro)U&N($aj(1%n^cV;^XJ)hwky{7&9EzweYY z5<>T<>hC8=Cd59##KdTTC{HVWV2G+1LaYYWrIs;*XmlyqIQW^7*>hxK3&N5>z(R5_ z!!W z_Xply^RN3rT5!Td$k@T7k2?|vGcg!L31KgLk+n;G^BRJ$BhDF5Z{Ih(JD^d}LclTv zA11LV|%UbtbK8UH%-{Zc^- z=$%n-YdnSX4Xtp)h|;pTax3+rG06JL_0S((luneg@N0YCf6QL|is}925S+?10HrzS*rU zUjI5|ZW!J3XGI2fvDG&M1fV?B;vT=Yy6yH|@tEy*x~g|+rpt*{c}0C)sVT_4kR>UYws!?S@wf5=rXIF9dgugc*yXJ0# zeWKkTI|G8=Nd;-d6Bynkm*KOWEm1d*9JEDoh41Id&ZJCb zi!GZjTFqgana%NnXugteD^zWUm$CsXW%#8PDeeg2P|gMoV@ z<5wu!k#gkeaT2=>1%|O_2j@&j!4wS-l|Y%mkbyQFPjD?v6Zc!=mB;iwHE!3J-sFJX z-+Az zq%F^D?4rU7J9O29$CYXgp`wvk=IL{bL{26lD=9Gd)QUxL)u)c*&_U4*bL*oN@@(}Q zG6Emw#HZg9msF1I_;c)G^KkKQ73qW9o;}{#l7FXTP-dSyW0|?5&hwFPsmd`GQse;C z=X1z>l=c1mz%SM5ZOz>i8S{k(FI^bQGs&qBu|2^(HO~IVE%N8T;Lth4 z&hHu%$4T*+PQTr1hjrcI0uB@&v0_EK*WkuQbLt`Bm#6|r$%8~$A~1#eN#m)5N1n^; zq+`f=69&2nrV(A__+Y3nkx1dH#RqU@p?&<`kbUj|yY-wT1D*)nTO>mizzHe^U<0@f zU|>gwO`v#qBRrIR8s*V~l3Ey=WOV2_!G2xHLu-Im9ccGl5O`tFuyR-Rj(_lbf!VQ= zhsxd4J$|#P zsi{7^(1!=gH@QM@?O2!!f*V11Az;NQ-`85xaC}{{`NP_UD+ZC7^ z1ZUr&(M0%zNcTcG1j|&q5Ej1n~-fF=Zr>l*-pl)Z)Z%hzGMg{ru13cUk#!C z^N41(p5{0@q}g6^@OQE4x$%k7yQkNye4A5AnUB9rxnv!EXu~^=bM(5d@Vbr{B-f}me?*4pq7WI6`9GnU+C`A3scMz!f4AMe ziApGcvT=Zf_{5*q?KW4t}Ts`_bMGeiQ3F9&_@F6fV0{sKPl zu~kX?GX6uZV8`4s-nLW2+SyEAPeeyoMw;4LI;IrOw$0#uLc??6Cybu0+yPS~zon}* z|7(V2bK!%ye;ezJbRGU<&n zaxYj=w3dfUE=^LeAOA3kt!nYt^d+BG92->pBSqWQu_C6s%Y8%X1eazb_1EVUFPKBI ziyk5e3!9cGl5rtp`6C1vRKy^1$BA=FP3_9yXmn5j3WCbYFhuQkPeX8~ zD|F@tzzTU@S&hjHdB!s>>@$A2JemheFnj~S%*6Qsiwf$2dC+3-l92E#v%-8;6TPNd zDC+^XAze(2#_HOh+@pZT65#{bVd#L!dq=oLI^H|r$QSy{bAgRRfr0CZq;x>L0igUi z^kIg{M7K~`iBYcaI)_pn8Wl+LJHiixo$p;dAtx&fwCgV_Vxh{n{2H+fr2TFU)8Ssg zHG2Raa8MQR?Zw~|gm~w2ig%wKWDPK)la+>}mqczrO(RzQeC}Pw+>?r2@pP>xMNQQ9 zo^oWmm5cDX?21yG=BsqukJbUFe;519oW?Px>b0z6)JLm!hxdrvc$(csF5i**BO3a& zFsUGJ-z$Pu4ZmrET2l0992!pr*Ok{Ue)yClLtlHX6PN1JRIkhXT%X-l74t9derun; zPk9MQiGB>psyyHO`lZ>zs{&1IzL3=r>Vk%ld~^@ajUCu2aE)Wcjc2_@3KloS%_7cjD4zFE4pZLZgl5a2 z>2HrW9ftj8%Ae3X;FvC$%q?h#TnBdqa3(A_lDLmX(S+NcOSQomnBr_-!L%G2Rufwx3N^jkf(}z1g z*Ym6CXnOE+^`0EM!k0vTr2hNyLk1F_&gUM)ci(eWPWk7(xkS#xr&Gl%tu~!pF;~Ip zpWLRtZ`4D`Gw+uHyRNe@DsKc!;uHW=XJKs#Ck?bj*h^5TN`@Z4anQf!Ob0+Opi1r2 zv%QTNKR@a@J3DGyzk%yoSMdH#hhF$;mEAinGr9d>D&NuGuOa_dcx?NiF4lWfd{1^+ z@VSofZy$UJK4G->)U14jJahAraKRH%=8M#C&8wPR5SaXIM!dZLj&$Ny4O35Jsnvds z>45`cd;98!9(E2DwabU7WgC%JXdb}8^wiW#?eaDeClzDkCNeAyXi9BqvCm>`6FP>s!^;! z8GIZ|NN<0C^AVgG;g%$)Yvby#y&d-S;NVrI9g>Jzi_E*HmBD0Qw~auCghjoa*z2Zc zbn)(x9`juOlTXv@oXwKI?+V+sJN=lsS)L!AQl64`z~cCRf9BRMhyL(a@wz6_a|_gs zR;J1*GMV*}W}aFne!knShQ&CkA3kH@oN{N&d{Wm^845$=N1=j|y|_cQffJ2Cq2yai zKEQ4S>~;*90W5@>6Ro<1#X@x*A8{X+uiAyY{g=YR&TyL@_^%d#lW6z8KfxnDm|t9GbNBowCok_(IAQ_N(4no_L>mux>Fcf6B@A^|8b1oD&;l-Wnrp zxy|3$LX0+9IZ95$h7Sz4w9(=o@sQ#dI~!T4 zEC**q^41Xkhh%w+dRY`50P&$HUcD4nj2CAiopmnLE&xNv@A-WVrf3-`9-1P0a{{#j z_yK~c!YuLJ5^oDD$YGc>Am>b{rQ2eyKskVR9Cd{3#odwHATq;Wz<8_dY)|}!Zh-s{ zCV*pFoA3Xx5vt2wT6fFK%P-~^dSWUOEaoW95e(db^%Q}`2>b=KQQ(ywM_iOSDuyKZ zGG*hkzmv^lPul!ZNo_@p?xdMo~L^y+ZDE%v;UY)!VO` zn!EGEBgQ{k&QZ??TaSLiSa9Uf_;gJYD6ikuM`!$#O>f{3jhdoxH~U*%Z;8c`WP=-{ z2bcdxY}l~1V#tXKb&j3R9}qe{7m@?3oOvM?pRa<$SA)1V0ZM~yU@#blZze|7<8)BW zg1yUN0qP*3=OnK_7ScWi|JVq-FB&AT``yO?D=@DkegIOLICz@}Zt;fl^`F2)Z^pcX{7gTQ6 zNMKobdxeuo_}L$|r9mkj^6B5x9L_xX*X+8&ao%3Lm>rytMNd50wC0K6I=uUZ>X+VK zS8#WY|JwBEapsN#TRrU9Y8PF3bIL`9?5#e=dQWPZK=vyquU(5L+on27m8={Z7X4pK zYTNFRE4C3HkNo3pi88ew@7o!Q0;AfFOH264@Jup-tM}_J7zltBk??&)MZSN3D0!nO zmh271(2lHoB1`I>?Q|j;J*im^zo$NUYHKG+<{Cc96fBR;U;OB6jV6Lsbi+=6HNALh zElWg7%5y%I!qYXdonvW??eYk^{qHyeAM`8HIPc~Krhc9A4_u-bl__#H%k9a3ObJC= zl3I5$Mv3r#63}EbdcHEXvW?yiDPbMg!Tt;AiFl?#h71u3V(K@o;50(bu>6&W6OJ}k zSFy+giF&TkT$SW1qZe3)qpXg9!1%qB`R2l#E7s{!%${s7JLDKK!`xaGbLsI|ocsd1 z#xmf zu#%#rtJ`fw4hlb(MRH!L?^FeM;Ct>)@r&FA`CHeYTAG^uf1YN*{>@!&&|E(p3VcYgA-e|Z zxDk=lQc*W?MUjyofJK3Us^TICKSc!AsCFUk^ew9o2?@cB1~S_OtT_H!)8~qhokL*u z9``7qZrQu>SZ+V!6722mEAdJsA3)*f)m0)?H2IV+3}-j2SQ{L;=MrlLs!QjtvYiz6 zGl~p>SSpjsTM|9rK;rC4IZbU%hO^h^!tCNzIiJ={oLU=XuT`xhAh>RD)Iw&_ON}5V zBhiL_`SBrZ{A4#S9u@r&ai$@oIm63fDx;J8F14cY+|H^xqo(=P+=9?qJYR;|+@aO) z`KZ$@VjBkc5L5NsVuosH&RIbEZ+OOWPr`Sn$MI0Su{$r4jUUM4FCwA98k2&akxnP0 zzyzjRmP~a+dg->JoXFS7>>f;HL=^f!{EBh}oe`Rl0RNchgc*0qT~p=x9{F45a%gVIbjfbNkmPVbsNB+X=Bvovo$9WfBO_0C zS2iEI=zZVRl0SVp4_!kd#=>TK#MXycHd%qx0iFXgT=i~Lqgvl!H{q1TkoM9f%T4_Y z{$6f=kZ;ZOHO~ZN5IiDV#u595XoI~J3d9CF9E)n*cFn+A8e>|tjOPAxrK zlFTzGuVfZwrxaW|E4qxi^$Jheyi@QXIWv} zk1p`-y{gx3G*U3KB`uM!oICenW9f*?N3|QdSLXJ;y>N+}zOdNc9U|#gmQH+2Duybh zgI!B)0_AM7hc2Kw@)(IAfqi%cJag;-r+Aqao)*Q#`OL#=-+`bZZoEVJ^M#Xv&VbQ6X5PE<`z>~(pfw3D013_)ZrRZjJj5^A+&vaaUJMJM%8_ zgRlhE3~1`EoZc^Ubc7dAjnGk+bE^Gp-1^}MJML?WbMN-qR5+L*V^w>^{%nBMrxPWY z&IWJYtgx?e!2S#6nqT}{3F(zsM`Q^$bkj>bUX}XNZ*DXeTs&zmGE%%Cy=NjNxu*8S zrlQ6pA)3&eebu#m_OYu}NSx|%d)9G^`(EH~``S(GLk3Te#_{%hUR{{HEPv!y@x3TWhdEYJvqci{&%3V zXU*kv3A$uqw*n$U$?z+?!kfYTfpYLao*TUJ7L=Zw$#61{nek4ja&g1pJ%uVy2#q$L z7hvD>r_wV0uDBbNQu&y<^*hVmI!#k5$#iR zc?d#x$5(@kRqz~u`Wt2>Rdd#Ws9(u+Ym!TaV;rbF^K5lvW3U+y3=d@b6xn?^!tA#1ge(9x zJbG6g?!S=4bPq~f;!s0?1fVPs?9jy=l;`~c-X5JUPC>Mmpj6oSmEObXR_PW+hHpWo z3US4m;z9glgs6~_TPD*#^#&f?cP1U|jZ?`Ak#(*{ny3!N_$5r<-;$0RJDPZf+w$S@zulW;$Xh1FO*Je6JAFBrvgz&wE9 zBKJW>n%$bZ<2GDvkG3x&6k+E6CXpA$<)*v2LV6lLpFKc3Fy8oa&CI~tBfMn~7u4o^ zJPm8l=&*QoJ8$pTrR`a=Ar@vf@7xAX)VjXCaR2o4kk_l2$)z1GkhucQbD-OF=7`~j z04&Gv{fEp_4Ywq(o9K4ly<1F@h|mYkn{!PN8UTemAmBS^>_N17_JuMSdL1AY%*w4JbpZ|Cb~tCkb{GR zhMREKw0QDk31Mh9MkA6l8*X9!a59DkMRGEqD zm()_`mF_H$uz}j&+v3jkymCErJDcKbRBn3ej+*zX-kt=t#3IX`%ex{}_f{`mFHC=Y zDAoY$?rcwhO>gP>kRD3NzvJ7@viplYKZf)i7GbV#%b9DN+QRSa3v_0u&YJC#JIZ|J zd?NFKNo0qS)x#6l##w=76h`o=^520&;!YPjL@H_voC?`GuiI={I6OU7kR1JZ*SA0W z_)Awo*^gY2_TudG!UJ-KkpmMVYaEgO& zHH7*8h4>d_c5A^*PXW<#0bxZSfbf$<#^Jdp4rn}VFZk>rE`TaydNmY{u*;^RP@0Ev zd>`ym^4@_M2Os!1A`i4IP6VU$!tvw4#QtVDVDu_+0<2sNI|Xii6xL@dfJb6+{YHoI z3%n=>&A|^(W;WrZfA2v*Q9t4}$8HB#mHCqASJSh$52YYmjea`(oYB6Q{z} zQ}vV7J)j)Kk|16)6c4Kj^GjxSAWme4iJB0D5E9i-(^!^}WFaNBC2zC|`V-hpm}hH! zN@~gn?9^lDLJV#srW=K(^&PZP3^|o+zvI-8rzZj*Mi{pD+K2ax>Hv6AlBhg%PWWnk zg3#ESZyBCt5dlGVXtbSkhkhxBM|}&jRN=}!y<0x4w%DsqMZ5DPtLnHl;BUXVwxD6{ zqMa3=->qz~+Yug^DCZX0J-pj0t=;G9NQMVj`}kq52Fcwu2To-4G+Ad-H*#v2Wq;91 z*|YZMXN3cf@m&U@WDq55IsKX{TyCgQK%q-(B{uqQT?@QdS}P99GlXrCy>zxdzg1yZauAsP$cIm$0YK-jLI69!AHyaF`Zz8?1}exm8}*8@x0 z{R^`g7t5kg1-FbSrJOuefUrzp)g&4XBSJC%3cUwf0Wi^L_}&FP#?2dV+a}Kz(r(Ig zAo+^&>ZP}|pV?J?t-NXYF6r* zsb}pM^g~SSnN;rj;TL?go5f1ctiQ;+n}r!wJr?D&vOdUHNZs+RXUo-9Whx0eluDT} zKZd!D&l4s-Lu%a_zK=EU?XtEmj|@x?Z!GPJ?JTjV53~4J`)Q)VQs;BLwU(Z7MfTce z-i40BI-HBBdbWqIe!a8&cF3Y->uOaP-p}q5%;SbuoM+Q84v|NJgKPS`zRaP9WLy&{ zP}BVMUPcv%T=BNatt|$f9ZY?=pNM>y$aPLR<`t9JM>H3VuF`zUB9lT1 z#*NVtrBD*<26JC$+TC@3(TFAO7x)EP?_8%;rTp5n>^aUFE9Mr>Mm^kqSElX@Z+mMi z*NFSGZu_kJvQLCeyM*^qw>)R%Kfsf&5A5`m7yHWaZ_mkM_)~XCnk3%u&5`ssxWWF` z#i(4oV;xn$J@Xm&2kx`HC0o|lc-q9=EL3E^$V}9pLuQJ~x(*Nj%82q+tr9U+_@UMK z!}q{!WP!@`76~~9e*%^B&@T_xQj_}8&i#K94{GRL3zBeamHuGbsFjk3ty*5LtxK6J z*icNQ)xAN@fXdju-pZo=r*kX31i1bnRPjJKrMy$iUeRrypj!d(lWCo|4s8V-2C)Rn zF*4LABAzHMka~fkWRG=)A=?LV1#=I|8ql{th(sEfjZnbbPL)|t6a-6+dYv3>Y+k2{ zpxY@SIzq&fp}j|V(+ixgC=TOok&%T~dd^q!1Xd&D=c3+hIsdsS2p@y0m>6D=Nl1d! zkVy2S@rF1F;&i%jVp!hz0}jPu?iX2H30on)ev@t(Vgpinulah5fgIZR>-H zrN9kd>Jnu8fk43YO2dOgOImZp>g<_cHu1Ch11d)~1@A1Jy=36I5QjXR&-iv>XZ)91 z3%EXto zRb)GN>>HV6F^T#<}Psf|-=L{AEyxpRhDNz}2nkA*B*4wu1 z()IYYmAWgb>M2_*NVOrby<$i>sx*wva@4%j#qCR)-h&FS)ZDteXp$UKGaj=Z2;M!{ z!_u_m{jI)%<>EXj#Bo+z^R&>tvmz`r>w^L1*V%oNe!Ks-q*Z%z`}(2w$(*v|KDP@4 zOFS-G1{v87{@h?|HWGiKuAWId>aL#e7Gdz0! z>OrvtU9#a>M7xD&uR{rg3<%vAL*L)hfXH~&b#N}h_D^JvNJjuNTrq^iTTlleBgwIY z8QW<3AwVAVn2L`^1XdB?9?Vbf0NP5jkC4o0X@ElFxERfDkp-@_r^iw3kQ@Wd{RAXQ z{z!z&Zgkz;l=C-fB3MV)EDcD+M@@~J!FHG7UAimAi182i3?drPb|aLDTyG$}szWON)|-lID5G0|<~l2t zG6O9Y<(rCkhhZ_jQhe0<{vzw@mGyb2+IYL{V$k`VQdl`gEz6;=O>&h@q+b@c&{BQ@ z+cCnNkYDYRZL~q0^b|PwDJQ(?+viu5mDMyk>Nd9n!-hKorgT=?UpYFHDbD`6NsUB> zLXpxgkN(hDHsl!{x1{XlLpmHv6)?nKLYWSxzUA4!Af)iPcCA!<*RXVx!vjMR_YRdN z!Q!?vy3BU!!ve2vC99i-Ty5{ff*+;K z5zfPkIg3Ckjt!~Io+EQB$b4PImS-F8lgI2%B*jQoD4i=4YKNu*6GzeS0!{pl*}6k< z0@F*O>&SFz_8v_IP>sV9DFI}hDtcB9^*7GEaD@`LFOs*nM3(*TO|NhPU&UMU#*K=Q zAeq3Av`=mr6RV0w7fa^v7+2h+c>iWRNYEJ~LrlnKf!81xh!$!TtYKhl-`?EcfP$MW zE#gK%=}aJ)wj43^--I`4Y}69spqEja0OSM)29j))M82;1vwO7>lYbgl8yQGU;ygj7 z5=e%mI!&ZGbmAujghh}Y66{IxV!_tpgNUfZwTuq0M~%}=ltl)I6HgAni_cb02RE}m3_qzTd`Z;^4{XoL zxH4Gxs%-4j;@R`AA=T+U_hpr&^((xu1iQw^6}_FADOhep*Z5i~Ax-%q)4TvqFXGiF zKqAg?95b+9Dj^b7X`(AmZ_heeP>du70|F%Dldeq|q)NVXcxk|Gz;8L$%I^EVV0N;g z8hOP+91CKAp};XWcum|3DWF#9v`NmYC!%n19YP{;v0^mgsP~&q6I=eP1qev-8BWAg zUs?E?d6q1+85BJF0pOTPTR|U~HM*s?+2e`B8x4+KxTC%gNEI5_Gk+qfW z)Q!;!7pkv7YVYwh-hgnm?os8^_#oTgVRuJ`wN zIl6`^#}=C?P{s;>ECiYhy;L^x;UNXekZQp2$F(;xa#j-~7U^{KRJdBv*?jXxDkvy> z#BOU<<1|PpyW#+;G7f!L1!~V%@9(z{qDMa1$HaOEA#_)B8xZ!%fr9A%{{C<4CZV&% z1h^{PlZ7RZZP%0D39t~Bv{TFLONOnKS~sBP{_FzrkSn2i$0Bz-{;b*-Ul=tt`p^8| zVJXDpi=7e?PoT)m{9#eJ-TYA8Jx&J?Fvmuu>aV0w{z7!{aTAUX4kU#6;&7hJ)Uk7} zuIa?yhfK<0Wg!Wm!d)>JxHEY3sMlqntt7r2upmGI{15?j}~$pt^yQEkkVd=Q0vvjD#a(ZvqJ+iR)-)NqiS248dX$W??5| znLv5vM5UnxPd^kvgzbctWojN$E z5ku@Bz{Wk-O+-=@kA2j*%B0j4h@E0fw-Y?@?2E_w&4s7q_j)V6XOt_ryVX|JtlqT# zbEOQYmd=?q-{xznQ#iX%Pv26iXvcO(mh4re7m(CiMh|euLHPS>n-=Phb|(^_B}yec z&)&vd8f1Uy@B!PAxMmVlh1<%kUKZ(cwQjpzyH*2k^7ECnMv`Tp54Bbhav?HF9GdIo z$~=VOz@ZWmPiA6(VI>TL#7csFX;wqYLV_Of%^)E(eA;DGkyh?kYWMl0Cv(H8V!`hi z@60Y{hs z8gs?AY*~00*W(L8cWl>6zm=z}W$V6nrmDs+jqdWgrAB2>E$|cD*!p4GCA(op26TIw|@e2r2L6MNt>W-xcAj;g}WU|`&7Q{K~+1JWfJkMMDvI>Z^8lAFRdbMY0i5+d;d z`+$+f7nX6D?k&6A^wH1WXR z#(SJAob8N6)|x0Cew(gtUha6n zX32`P+07w3Y0jP2eVj?vWX0Mm>W5#k&AqoXTB}|yA?bt;$LCUOU*8IhtamBS2_e7V}=jYB+j=UjwU;Of)^O?2mm0V|k%nqwu>roKm z7mCo3)ITWsaPt~XhY`uYNgJ!r^VAPYoSmH)cOp>W+UO5Cd4=1pUD=#2mXS?ActTgo z;Efzq;D24Y^RN`Xxr$eM>aOh5axXg==g?5&R6%9}gbToJ0HVTK2^a(ldBmdZJ;LhP z&aY>^1Nl<+^&`18JBOlABz*Q?pKxvus$kOI<0K$AGBVmgec08Cks&V#Bi>a8obd3{ z!8eq^(iyud!CiGef~(li=)4l6RrqnXX?I-kv3C66z9SMEjaVa5uG)atVJy)l)qjNQ z*#zs0=?)f(U*l)%UQU;vt{u*O7^Si6o3q%Xq}IhG`GFh}mECP=HtiRm9yxVMd$4KlE~rG9nwdHLF5rv{CKM+Akd22GP~ zB=d|~`UWZ5TFG~J*1xP(|5_Jjp0!i!ltPg4?u`jx3bYCjiRE1 z$PG%*%DNG6OITrqr)|FdTyV#H=*wInumpGkxQGNF0SN7m2yTTWE#>$zcixK7p=4K4y%psJ0)e7MR`i*?Zw!+cZbs}S@myQ_O7u;R z_qtJeJKIK>J!pCv=LYSbtvyI(xUM}FHZ580E*wo2VX5qXp*y~tJ9jFTx_|Bq9-A}iaNT2b>XRveb@T=)O{%&G_{)49XamKS2fO_ z3X5swe&(jNkHX+hl$8DV$)1E4FIsPln@o=f|KmClVewLCKO_GQRds|2bmowB>7YjeTJpLd~llyGy)$uk894t1^>Uetv4v~`P zau=a{d;#%lA6$hV$QGw*)%~_$@YRd+G^2cxSg^j;Pr!h0)tRdc6k>1flaE=m?9A1b zQBIZ3+m4SbtgT$OMA~uz-B#0`p){@Oy386!uk#} zYu**QPfxn=6~tvv$l2u>KMfpjvt+hU3>EKTrv(m$zELX_wDQ=xl3lc|L~BF9tWp>K za_qjngGYO%q}kOd5}yNW?INNj;&v>L_z|1HM*nH-9>q9mo~BbJx~ObXqplMr>@nTc zPIwU|p@^y%ofqovul*sVYMonZ=3b@ePG)6=Y17$d^H+VlvwY9+t!-+~*+n+Cg9~Sq z&}|rvj+7m^H3#srCvn+cE@CZnR?Ml|w~M^}8;Vpn-;&|iE>oU<@$Kf>V&Uy+X~tIO zyG!f_M5R*iL$Aj8g~r=U-u{4ocDL0TLn1R{^B5aTyWDttzyh-n9`-BD~yq-qn-DBycg>bABw zp`IjdGZ!~E!eTaIWEvpBdFTTmNJ8Kc05%-A-$4d~N}`@G3u$l35d)M@|49*mdJGzK zpw5`fw+PH-i#!`d=wa%aWmfgFA?@eGN{239gnTQD5ol>}zHHz}+w8wns^{F8y-_0} z4QZN26~# z1+;P7?@Z65jrt7EzuC-=+pu~!eS_!z#B*{xqi+T|R2IEUp5o<@=HTFTEe;J~lnb4dDey?tTWhLI*{8SfL_!e1 zjT)Qdea_q!t@;reldlgJzHBwr_yF{5`bSb8- zlJ~^TA`9twnTRh+yi1f8U5-#arSUXTJ5DBcZA~8g@a!H|nnRC;_kY#ge-8kWiXov> zV&Q$q-J=YHY?-D*BV)o90+ANBd72iI?-$l@Sl9nNE^&v(q1rRlgnepTo+sLbjj0b- zA)^cJa!pRi+4{v(%@)ehuwMco!VChvh7q_3NG2W>eUYp-1q-lR4vE;q%xk`r*U&i6OR^G9c%KA*X8Y!Am2D^DXJ z=&|lZ(9US_$(*$Ij^>J}Om1eD#EPHG^Ug+Hja!B!tQgzpi1YSsyA(U#*znWe{;Q#p z(W{@!JTq79ATjD5&2!|aeLd2mJ>g_85|T9%e>h5M^NL4$T~r{=DUhMV+BMdpd% zs*&7?J?ydpT<7croA^vRioUNuvcYoVRGa<4q10!JTIYlhZH%i-q!1%+h#85kYV2xOoKh-@sl zzq*obYj3Vzxj1D!6ZBt|&C8Pwiy;Pr_#I)jXPl{C9wZt*N2wqau8gbkwmjFJ^`;z* zY6moA__*1*sa0Y(*X5`4T%S)5u;Sr)(_$sw8FK8~i`~2LT6<*|9jMD~+rO~>(yN|b zsYY+jf_1a@zCJcR%~djd!hk+08J6|)%;4B&&J#NOD9aAM-MXq#VBzBg9w-1PRWh7Z zy=6Ab=aYn@e$R9=WF{DT#Kr}giDX~*$O~rRW z)oZ{-r++E`lTR}Urv%>4joNZt`Akjco3y0*3$hud#qgqL+YinD1w0>8ryR5FjW$Np@CpWkH<&(EI^yag1 z2|lU2b#MAly`XMy`vG(w{xPHk;60+GJ+pn+QB6(sZUj(4X9^U=uvH$z>Cl!y^JZ@! z1jzic5CGUT@V;|V#=!6(;`++$tLQvQ0oMm&3F`=Pj1M&N-d~6Wf<4fzMzH}X3_Bl( z4~_;Ba8tFb&Zn8*y@R*Jc2fLbH z)v6kC!^P53nukiK|Ug=)a){m;GG6Mr}LKAH{IBu)fV<+TTt0ZsBjGo>bn9Ds6+#8Il)xm+=V68%8h>sOjuNW&VWYb^ zWTe&7Do#~d-?R`7t#Y~MuP}5<>9w1Uh z>WCu~03VJ|XRx)H>PKeOL2tQb{fGU1mYj zktA8Fwuz&1>Cg3M)Z#fcY*dnNKvB)^(z+T;NtUcApY5Fwx_t_i`IN-|dR;5A#F}*< z1(e^y#Pe4V-y{d&u76>M)Ff}o`0K_jShmOr25M7G`}rph_V%BxE;lC9Q$0qJlV%#R z4MIZT>08%&nqZ0mTD(-%dnspD{1uuVc<+ZPc*E;-*R=K!?lf74%)R2J) z%Q9o( zO%gZR$^A zjmy6tmk$UuopCU${>bt`Qt-s~v8!t~-U>_ThMUkumk|GrbR4(BlQ*WO*jb+jlJVc< z#fD-zdcFBuv+fsqN_zqefG)-_?}+8CEEN7Ao`AftYKsuJBB*a+^bArg;19qR&KG5w z3=IY{yJC4efoKU~k!^2t1&E8EMj`jteA<%7EI<>^^9u;b#sa^ znKY2`dLbt8UE-;6oN}{LPd-_SRH(G_zRcT4r5+d{c@4nh0FHzA@ao0Cxig>F%G6jo z!2K5{3!@F2z%PQyhZQE*WJ<`HfJrb+r#$g8#$fex&=8iQFeL zc_&k91=aECG!r?l2XfC6{c||#^^Bf-MwOS>7MwlV@_IVm6e^oCfJN@GjSI@{F30@V~+o6SzdSa z2I=>_7#s^l8Ows0fhmd%Hd@B_`SL|e{c0g9U55AVRak|9WRb%hjK$(odJcR2@!n3( zQpfoXroUsu|8&BRI!?N041Qfs2WR8;)yq{InA82uO~E+=Ea6B}qRa=6<5|1n z*R)Hi`5*h)?d>F3x}hz(L{JqCKjpp9r`LYTvwIFdpD5T!+DPfO8~ot7!gE;bxZZxT ztE|^tMVJKV{QOIoKO2!3B-L(qN8gC3IQVQPa9!e@t|nG#^QO5---3&F!XJsRviT?? z_Cg1bqIQ+iuAwx7PNr?|IRh~t%8P@_6#k}E?W`nnEGd8tdgJO*sPoqQisw}Zqm=%c zA-XdxVplkvsFlxIuWej8`9a0a(vz|4!$W<(-Uog!e6a6)IZ`#b%6F;r`UZtSRX{%J z(K?SFu@OthxXwee5gi`1XqD~vgec7Msa{%okF$e-)FfZ^k>Ta7u}A+mmd7>Dp}eei zP}8!<4%{(%prb8E9*VE+%)`3E?9EjQT#qAtq$s7m zVm~aXOtGffUHw1#K;gF4wO@()CH?A2`09QAN4`5?j}+WHb2feJW?$5Aap7}GQ;fbK zPjhL*eO#~1+HlzbONw@y%V@R4(9&l_k6~dhe;p|qUw=M|C#mq>R1dS^5i>B zFx4p0n8m>)%TP_D+Tw&!NQhCY_MlY8qfRzl&v_b}^||kl;-zkg{7@l#ygc~O;$)lx z{&e2nj=^MHD$RQQ|2QBzD$w!pCeOv455a1bTiyS<8xtsm7TY$pfFmI#BtdmEX z1^+#)(D1N+ZMPT+Jz|&9-%^j0#fbQ3q}+WU4PMUU@wQ@%i3;s@s_jzA@0j!qiVBrO zUw(vU!cL;7jcc>;doedH;B_>xV{XHh8b7){EfL-)jfF6;|Fc<3*8{~>-LL~W)~eW_ z6?^JxF=PIWKU|6=j2rmu?eHog=ORUKr{kx*XH|yGM)8kZ`8HDunc=I2Sgv5#)CA?V~P zQNSKl7D)ZLgen116FeN@9y8NV^bat}Qw$7v6~U-<>>~Ps=RWbWY#MyYq~F-^hsm;K zQ!4A^gzz5UwEc2%kigWKVE5)%bDHg66b-*9MD9eYO-eFuk_WrT-TaR>`|rb18d{R{ zBewc1KDdo_Y`|@^r=@AX-BRe%+xLlEHIJJ!asEf6sPFCphhyhWvn1vV@%beRv5BSz zNniNHSl|f@O)YK7SSwJtei1n6|7=!@d2l;N0!`%5;2%$|V(b2CRM+m4M$)rF&U(F0 z+Y7-NOmm4l%U56SN+4y(5@P!hlWaREUWZ&)2Nirm))jDK;B8g* zSWo8%_C7xEY)xoaJW|u3ZJe)}t8CZ5gT+A#-a#1+BJuJ}nr=>PQ*j{Bc>0h1QKZKpW z46>xs3~l8kwCP^!)hC5VEc%#YMbSL!{h+jt+ugK|Jv2@E6YIk`E4tN6zD4a6CzPpa zR)=gtEBmwmasjeCJg07bPc|7ayPldOMv}!(ZO%+?UUIud`JVJZX$f1t8QJ{fSnyr{ zp9L=Lsx3p`7~Q&*Lp=-cB9v$1{OD5_@6EOAav_4u0-VF$cf&5;uPr8*dgx3>$Y7QP z2f8fk0b4X7&F-( zR`nzrS!ef(u;pCO@f0Q3HrV;$TDVnroGFm&$%QdHne%|$CViCK|@6)L3 z9oi`^X##!G%lAc-%smAZdib8m8dBrua+hmS%CaOOhe_NB6(Np9_-GO~4Gv>KFbXXR z@5)Ns_ff+yRZ9=G6uJ(pl($ZiheoN3vXNGUZG41W(H&`YVJ+V8GNy6h2;Teg=7%a- z{2f}w;IW9C4!+?U1s&l0;(oF_dI)q8w^j}l=!6ju)logKDDX8oZA81Lfy2T)_$AE> z%^Y5-)F#X(h5lLWFjj0%PXEtUh>8G52$(U!#EA*0=)icu@drtvX!cAj0=!VvnjmO;6DVet|4U=)rmQA=l=o#93Zv|kapkzl3gjI`24^L*!e1HQAx&RQE zL2OnFFh7C3sW~zQ{Z`c%YWvS1Lj7^LoNm53-Ea=%Gl(MUXubLnr1tWVcVVqiFpSVa zk@V>cKr#j0I5>IqR0$*E*?+H&aG8$H3J#Z(yr?_Po((7)m!N(7B4=B}AcmpOJX3w8 zTQo9zd#{wxnmGa4q|v5EI=EGoY+P~=W0Cu8eC@;B1;#Y``H&2F+YAJ}3hV|AOJ$$? zKPX$NiBhd_LFch@3x02*t?MLmZwY0Pht*l-^?*~0EK#0&^L9Wkf1bn&f z=+qY(rvLri?uQbj9Q6`B+^X2ae3QCFwRKfrysu#qHa&kI^YjW4*GS6s*q8D7tb@&^ znI&3gynpW+Z?O;8g57-?%3&nKj(2B7*pB>T&!?eU)x1(|JC*!;o`zQ@14ax924!N% zgWEbKO$t`vGW*AwU_L&;^c$!C8jY-NXcxXq-{_N{HpC&_Ri*|MFM^HVloeXsd|4`# z-hEZT@1=I3bhZj(s$wk43=#PPCkga0|Kgp?9{ZEMJPIHKD_R8*6C@-z@UURC0bPH# z8WOGjv8_(T6yx8kWJ}AY&|zEft*K$2 zWsT_FMLzNbt9SZ)cPa@6A_QbQorIf;6Y}SH9;4e!3FO;;R`pN6n?p3h!e7lyF=m%- z`NO~PKf1i$d3OkkT;^e)ZixZd9|S;h(+BS8Js3e*EkgyN(*WO?Lsmn;0Q!t z!G>RvvCy+;9s531QMhT#8F3JLhIk;Ko^GDeWs^d0e*CTY7#~ED;40#?Mz3K=F@Gf5 zxJeS)Pw>ID9`05giSL9JZhdc6U{2E4gev+zPsd;hJD0+zNG(mZLRj=AC;&AIqFYE{Ns6E6yk!GoZm^7XDx`rq|0cier4RYeEs}p zG*I(K+@hZN(xg`8#kG#vINI9eYibq5dK_6y z7hoBbnR7kAIU2%r7d+^y?WR^-iO1kRH}UbI^#`SlAw|8j1iV(@TE?5M=ZzMv zs}yQj@=(FV8N`MqQz_-PK=-!bp@R7{-0#(1&Q-$;qR~Z#g|J2F4p07O;<#O^{IZ|L zH{nZh)k1+dRQKJ??ArR(gyrtIkAz=5ujva;bmpH({os1y607o}#&kB3Dc-cCdvpc% zfH!^yuGkulTcC35QYSMWuk~9#xkV;^4(^3+%WcLReNcp2~)U=;Hx&~(lL@Y=#b z07nE=Mu0aV@q0iShpRv!8q@rL3Q41S%fd@-d38O|^rR-Cs9j0isb>6 zHN$^9H>29FR3qrzB3Hvc*v6j9zniXTQx@&A(0{YlNZLS|B0m|uVb8x$KHb5mqbQR; zLl|29BG3qqMK_S9+kO2cm~LMv+(<1xlbY?l@45XBeGfSpp;Upy;eLxr)m>N?Ag5=} zh9OO2jz`}*Yd4rlIDjM(ve~9>NvJ~^p}I2!!zUOO*vhciW4v?u3I}DZ(2I7J{jb=HB7R@!Z~bV`%nbay|YlcI7|1acybsmH!-q2-2oMgjcuTK8%vSNJ&oAXka2CAmyX z{NB)hRpB&2pkI~MxY|c*su`aNn@bsfdl&O!YIWD}>ba*5NMXnVY;ZVxVO#=l0@fdl z*pOWgqz<5lPK_>c6G-Wf-h!A(#oY5?1BYyX&=LVl7iMq=jY`Bgi8=+M$Gca0H z7Tnb;i(hETmEKwm7-SD*&Rqz`eYuxQ`Bi`bY^u$ScXr!<^|k+!Lz`T6<<}%lx7R^y zv`slA+PTyCI9AuW%b7audwx9Hocj0!bu{BdsguTy?{P)sf~$Sq)+LC3gtq|88N?|N zuW<_$aY91fz^b_KIFEy<{xQNIhgsrH=L8hp$bOj(m#VzD`?TmcuGA9Pxr?C#!BK={R`>-Ze4Vx=gUV$!fWgcM)OFI((z<0DD~_#GF#C#X%P=;~PzKFi zWPF>`=ZRXJP+2g}S3un9cmOufFGrFAyoVWADQjd3zx`i%F_4cl<5o0oB4M?vxr*Rla)&HZx85}h zDY;Ax4bKDH&xgL#Q2+vO!T!R?!UC_;v1)mX9N*#B)z7CQJ7}?o?Bq`rh$N#vR(?+? z&iZ!C0X=&$FH1&z!trmQ7gC`qHK0OP;>n3apHymPtT-*1y{^7j4DEyo2lXB$&~*NtN=N)klSxVW-GQ zXH(H+Hcr(~0TKBBPlF5D6-PxcXe zu#zk$QplST>WR)8_%jUN1cBt zP`4g;DA>q-OiB+vLTkC5USO3nd|!gHpy>+I(Yb4|x@J;WSjgYhR7tpJ=FV!Y(4KW2 zI$Ag=VKu?lTXOT;ccXVtEe1;W{xcBCa>BfG@B7il`g(SCbpi;8HeTDT-l*mXJ3Twa zW{Ju(@ABa}NdBGbOp#COz3%5X&-%Zhr?>9~L$%?_J*hy&l)+)y6e9D{!|98c^)F30g>+-C znQ0V2W3$yjJgD+R<;qbgH_cSa!q;g!&zF3at*mWXmVd%LtBx4g@b`OUHCEF0hC(wq zgwka;GZ^fWJ{a$buody!v$wkfa3!ocE0ujI?d*F&z6SM+RfiMYu`4_KZjFrW4u7j- zLqB?Ux}V0LO7S+WF9MeoZ$%qZ z4aw)f0-oa5R>eqg#+NBBV@+)fKdwSvs=R9N7wQQeDnZ#QL5ohYP952k4*4GELo?i6 zg*z=oTO5=EPd`cBqrH*v{Oc{+<9H>h+=bp8lQpDRZlO*6p38!tHS?t z4yH@hskYFBQWdM3R#Bddv$|KUQQ+-R&|VqBwV2!;Afly6`*Sfn=;Y>F-boGs_Rwg` z%d2+vARC#ef-(_Tf~UB4Jq%}V%8qJYFJ-+xH1cW3!uYu?ClBOUBnHl6@ZBwP0CkJPGUBb z6zSZMz4(VulkOrHmqf(~4(vcywhA%5JYF_-gRG?|c~y5bl1W+aSr3zS09@~x!tmWh z<;p^kC2kq#A1=o~o<;;_^E;+SKUDatOeY7wX?eTKK2-0?$tWSfu2=Q=tQEo9Zil>- zlGjfTni}!fnc@nRi=^)2@KC%TbW~HqS3J8)^76v$iqNa#Q|N;^cfcH=9Oq^hagK+*mW`QRqYZ_<&gq>>4v8K$pT|4? zxw>e2@bkt{_T8V{te$`5SBTsE3(-wDH1yMaA9z1V;`*by3dln`V?0(xiNsw>W_K_FqRt zprirQ2C5Lm?rSht2|_3~>J!QoNUA zY49z=MRHOK*|!l7b{w~F-i+lC4*qB-KAW|s$y0E6a7mzq9v3$Y{qkk&57D2iVWpRb z+9`Ta#^C>lDmJR2m(0e;xG5jy7`PL?j271yo2Yt{S}yg!$J37o>Y1}4fXbpQ?K~LS z`j(fRqM$|R|`4fh^7GQ9inspHk<}p8fwqRlN9J8JL*QaeA2rU*db^y>D@bs`5d&W)C3F@ z_|8tXJwQl>bOdx2xbA~FlihGR@%)0V#zv_2LRfMYJ@L<}DM_KV3esX8Z@%PvFfpke z$tjsDQ?o14wR}=kPa)1?R?eUPq4;*M!M)zJ>6P5~dP-HGDXNOp0)%iGug2Urw#OlG!mZSW5zujH{kI$v-tfnHy4v5CESU>i$s zVy4r&FNQ-Tkug1@E?z5CqK7LS9nbnaQc1xY<+a(+2`;nU`X|HsNcI6ZjQU~t{o3H! z)nDs{K4*V&132NxJ^_RmvH3%68v)w@LyxmBGsh?hjyP}xLJa|=WFrFSzh)$0Y&Y+N zo;?x;<18>7(}PGX_$Ppj0*P%qY3gFlEl@`e5MC;tE=Fvjinr7cqY zHVZRnq*iqE86$Xtr*C~>Qn%2_qx9QuHoo&+^$`}^iqPi+W*p?pzo+Ta#?fuB`)O+9 z9uB;=SawuReZt6z{#nr*e++lt>!-K2+?lUk_#R7w6WZcA$*9Hr>f`9_v1w~7)k>~d zNQltyHv0EDdu^|8^vehmiaFyVe!Kr3E_5Pdcw2!Mu1jWk%6S#FjTJ3Iqoaw>3STRY zzk5fsG#){hgFEnHo+;f4GdiwL;#nVAK;lV07?N(It?7^X5^V57JrP$)$~cx%Yb@!554#68aGw*)oLIvCdbl<0vEo`ens=NO+JsQ)74$U zDCr>RJ|WW;K#{5D$*T3v&&$CF-u4%j}=Jv(T zc2(_#*(@km|1#2Fi5&;xFH9yg*F)k~Z2=yNGkv2tv14wuM*E19FVRTfFFD|o6cb%T zIe=k&j-}Lpb^Pn!8 z3EVs*rx8Avn-<3IL;0mMbM}Ad&@uAFR=Q#zZT5m*5i_ez=)Sv)nMu${d{#hGuFwc( zJ_$sG9N$T9%xO~i8&d-_3C;1U(tZo$^eh34Q4A@jJiZaL?Sb4MW_mE&Fe~?%u~kYF zj#&0MUJyIIff#5&nNU1>A3Qt!4#NDv0$pvt4jvasrneC5O^|wm{6qin+tY(Z{ZmuW zvdVBJecn73>B~}MaXj2Mh5HfF8bjKzNyr1m|;@%Cbo{Q{^x_bJliT`N($MoBWgxb>`U)DNU~Tjr#=$D z9ssP$S~@kBC`SjXjmZF=>VAH+`S9m8|K$SA?h$+}`==63m*OAsSis@j-rDQm|MS2P zUIM_xfX8D;JpTtKbt;ygJ)|o@vHIQLBbXi94KVXElh=K|*Tzbs(Z(t5eB{OoB<1DG z_l7m*m$L!sKJl8+l-kkdBFNHt@`?Vtvm1b;5VZ!nWDjuJL%blBnV|whlB8hC!k8Rt zw*$oHSeP!ix;%c!f(P_7rpCrW#eOHNfLl&sFqI>Sc^abehJTLuG6N$N^ydH!fQTM( zfa?XZFKA1Ltat$&1lNFjAmKnfBTTrGE{ZO}PX~7t(Ek9F8w;WPv%EzF0D##Gw~DYb z2ztENE*!9`G&vJBOlhjsb~ED*OJ*RrBsk-sqcEuvYgJoei#`zW@ck;ozxu9T)wpnF z-gE!UTEGa7oxh5KPRZ?m9BMjEo9$lV2|v$Lq;{yDJD9K<+M2Ls$#w~3aGw`Dd(3^V z0~jralpistX3GuLV5eE3%@&`K0Eig6;l5EM*b8L!8-TO1Q|+;)-w1?LSFe8i+bCt$ zv5!RHu)Ox4GlZzn=NbNj&bYe^X90H;3|;Ab=2+_3V>l~`8jo3Mgm8~?8OXxiY1Rea zyDps<|Ic|IJa&gKNT`qzPbxW;Y(kG%+0AEZg!*_#`gH-u)UI%7Ozhp<4>kJYREq1g z)mfCN(AHA<`KkzD%pL0JdP}EBl#l#L6Tg9=1klQb?;xDtP4H2<8o<9K==^`UO=Kyd=%sj!X4UEllES=UTc&B}jY!R~zF7Sth-1_6v0E}7XF1Yfl zLWxAw3^mfOXDXQaZEtU9O{41dh;d+$H?dx|Hgnqo)6P`L8?Y2mo-8%f=8WdCda`ys)t_*)uj33DszL-q8{>uBf^mE|Hij&D$)FW**djv&eVW%*pVaY_e?^ZNVdyzc=e zV)daqN{@IxgwfniraYOwFTR8=$T-%c(cRtOT-x(d$68)$uI1J8OupEh9xl=*2nz+` zKHS4#eaP=HpbdNmOTH8s%g+;OVvrIM8Q8Dtp9w@Kai@#_oJj0Mn0bGvkK=7>E;w zb%;dnbuYqPrJW44(ZJz=bPln-_Hr4>k`(0KO;r%hcbCquFFV_MBB%WUnm}qITLEfKx9b#Px6UaCf zc>Mo{GUp6iIqt5gBO@B0bl}1R9R^%LK}Gbd_d2xp5d+#Ju4JtuVm~Vet^l6zSg*X; zK>g6JP|eXMs4IiuHWLQGF=J-(POg_5@@?Qdyrl5WQU2HnZZ>#T7KQc0;_I%|Gy9-W z1k*Awv&*o%yH*I3>|IaVK1?0kE&jV%B7NAIR=jzZCwMFm9bf(_Oq z_umw7qQOPE<*vK8X_N2X;;W>WM)s7^ggPtv>h zy0dZlpHApLvs1P6b-IwLVxWz?)!sW!6tHQmNmfc*q0q#v`tX?+;GN0+5zem5n7&x; zLWmQAC+eYqHiW6{TiL}3nm&FdUvxeoWI))DEM;}1!Nr{P2 zg{9j29ib7gx1m)R_}GZ|t>1B{pFCemgSp0gJmwadF+$KV)Vj*d%B*B?6HtWq zr#c=FgDp>*gDXgf!HWxtn5CsP1*RGJaObN5y$q(WklC^;7`^b^T(TN%3%LNmw93*h ze505P9%2WLePCwM3@wgKrS>8;_lS{4i{m>l-;E{VSv8hn!qUi&>rabxVRQ>4!bK5? zB?)Bsuo&WQ=zr#zjZ$JHWKGb~ttoF2diqpLvsl#{=RJ>XepppwB|(r$Zfv-_aGXk_ z^iW0zXSD{9Rp>54-O<~hl;W?_A7=WHzKXVTO4OZrH(Nhcr+RM5c4ysVXgtQi^xE{% zoiB|i;N`c&$rD^9gKx7AL4!kF`@HPI-Wq@NO)@ zoF~1#RKbS(qfN9H(@6YBvqNefVSI=SK=UD<&6V0wn|^0UNTOXkj{-bOq>zKd3Frgc z{WA3ZXmmG}8gN(wM1t=hNzTs2%`J5=Axp1#q3&MOzE@KxfFb}e!3F39Y0O}C0q4!k zzGXEUY%UOk*)$O^e~ajCw0#pw$#f1L8a zAdex&cjrctev=~0+cyYDpxwAqOW|5Dl^B7g$9Y?^=3S|HIkqD9rw3ba)ycjo09Uab zpse*xV=In_lhLQHuD}j>vBcLsGcfO{Eb9o<4DXp`ubCq{=s)3^BN6jZ$b*UtSykiX zTHZ68p|xNR{?Hnkgo81_WSvWa*J1I=L@{vtBq%~*Tf=K}KRem4SBD-I`Bf38EZFMx zV8*fvjTKyxa6>?0c@D5gpgF;<37r}ke*-5BIyG=Ihhq;?lm1h@T)lKDs(s^qr8Kt0 z`>objRWMxtlQH}`-7RI#GizP7$cyz8f6eETmZRzyJldk1Z3Z>`U8NDiolH(@XiZ zO=RK07!cj+pB+WEsmu0zZx{=hctA&c8gqqHB+j&kKiZZuQCe+yO|wk=E?pD!wouqX zXg5yLYGxc5E5gA3F;gsJM+KZ%nodT#7;I1;-iK)>ByYK=jS|)X3kV+UgX;k*FTfEW zK~L;YM(oeK6<~m$0uGtfSHP2DJHhWT0bb);`meYI@CG&Eg8QMB;|D*0I*2nQL|%nU z-WcQoXtE)9xQbXwsIY~ob)!q(@V38i@`V7itT|`H#`f`~tC#}bk&m{M%FZ_S(Kn1m zXsEgd(j#IYCmv+v+_p2OctK?Uwx&)qdw83Z?IGWsgOgv{^4_kKw|$z4qR20%fkJWpVNanlVxJk}COHtxd;F^>_`7O+YBceq?@gORuZ5_?Qf6dN**3fiDj$DPJYYQq1hEB+nt9KYL`tZf6RN)BY15Woy>OmNq0TSL*Q(PeW_ znI#*frG{`hXcvwYCL$?dbYUDr2iglRlIO$-w2G^f?(!Uf8X)_SYdEL#bw6FS(hql6 zRwYr}*og75(AJe60Up8-M(E6YU0{1C$(7WT zI}w_npRZKe0H$E+E1r_VQB|&ezXLg}vS@=3l$_O_^DarEjPkqYJ%ef`gLLkyFO95f zhQgQ#qzuU?UR*$mr|j(rA9t&_+33RF=}&PI;2H>8y+{#yeM3|JN-pK5!W)Hgr@&G3 z52Ttb_zAY$$-_33_=B%T#wBgY;hI@i;rE^v3ZUGLQb+j2z%d5IZ0}g!=+v<6dPkCok{Atp0PE z8fcUm$;>`9kNaw0VbTC#H5_GT<%i$X{|RMm+yuDFkOK9`s#1Gjw^7x`ZegivT_fd) z5f5vesEocYkYVg~Q?=5>$Y}V~XL<%tMTk@M&=q<3mEE|G64UJT2z5O}M;gaAyqg^D z&d=9-Qx#!3-PHIl8ZEzBnlz2+y4@6>9+RI*vOqJ~UPVBoDrv^(iUm(}u!Se1iC*y? zG?xeS>{({!%FFDT?9U|n*xol{p1Gfij8zj|5y8$?%#@a9NI-8C{w1$mfh^WqpCi5y z$qb=xdw^hs+%~*djt+SI&atzzJ41tgPw(?r@Vq@YTC5Lt3{C)I!-zl(W9&ZUJ(H_@ z&sa;tt;L%kAez6FJomI}gh>aCO6cDf7Z;U;OO5!!AqtRfyQ#X6^2qwT2tn@%xi`ml z3(ZncOn}dT*#6`2%8e$!LJ1PKxUkf5R7WVxY-hhYrHmUmX&aFD2oW9|{t2Mmp0zV84wd)&KJC__uXW zYTPp@i(N$S;9QB^vrm`!G^Z^FERH~Ga$oq};;cm|=)q2H-UZvr%DlSW?w^-D9=^n# zlJg?a{8Dnr7^myLzW03o`?wdL7B^%2JDbnRD`eynW$wLv9~!3YW@c#kkIxoW4_lVm z@_Wtj*5&>N4q=>HVZo%h7k_8&ley3`td6ij8Hi9nKD)mL+fFbmsBu{(1L?VLgXdd# z48nak@B%k%eP)2JXRI|+bR`YSBVjs;y!yh5%8?r1M;QY@%ra2fi+mlRgd2aC*yC*S zbzZzU!dSZe3LD@|Wtw;48W%NOzL|p}n@FR-Dx954a?J2ydhd?Lso&nl8h_DItz+%&C_LTb(9@9)W7oASH4B&pcto@JNmO}C&*$tdc( zx6Gc($=k;LdMWhsITPiE+*Z3m^49dtC+PM+i66}z&+;2CFKDxs>nyXEorMUv!xb1q zYfJI!(R=Ao!xDNuU&{FSxhc1PvC~VF$&yW5cZYQBvv9o(=W&i(3LG|c4=67Eji=jU zgjEDp3Ixb}3As#Oe=w6;@TDM36&{|7nUwNPz!Ar%rc9qd-?@R2A&Le3@k#M03<|)icw>KQt)Q@w z4ZbT>BLIR;jxHC~iW2s9qEp6oKk<6_c|{eV(YjiNT$3c`PB%M8Z+rb(aR9+rH%GW8 z6KALQtU78R#P852a0v*w|6HD{x@U$B&Z!63zp%h8K6@1wKs6c8+(UVn(aY?16Ptvd z{#FX|@dzu2lG30dX(-$rkFDLv=BAD6{Weak9^%lVLzOI;vkyp(`uu$jwr z=Cb1}pv}+;t-mmD6Hj3pyYj7!;cCmz&7ck;4k7GO`waf7*>Bg>YVpXY15SMf9I?K1 zwtZW+;PFP%+$CwOz&{0X&I8nEd$-t+Hk%ae^uR_BUXe72F0A#BsQ%_PJc7st;NJsd z3YuvI*8m?|Fpd17+7yG#c`*U9KP`A(7*c4)yS&#P(2l=Wr9XwPYWrA8FFzP}!f=#< z;z3~_dL5Na9r4d|Y+l4WOHr1cN|<@=wJcZX>tB3L`>t>y2)h;sTKN)|@YSf#-wrDi z7D-<2c}es1nU@4mB`@QSt{zYe`v_z5G1HH0`_X7ymeDr0H~ zTUgB9rfmsCi$zEBg=9%ucgssO%qlf+{N`1nLpgl7+oh}&*y0_y@jST3`0>$NSTn;X zGd@(q-ng_t@whTqu2y)^hC}*PWM`TRKI>($nh=Z<}^73{Jf*_qzSGO;3;k|CwqG6ffU>H8%83Q)GV|HF1mwZq7Rt8LWqAcApssHJ`0rp6z=4TtB_X4TQfS6{4b}Tk1Pq>pM8zZ|ZYv#L)h=#f7bme9YU5@5VM2 zKw7sIj=@%#BDDA;+DNZ#`=_Vq>A~FMwVZ?(q}Fuion`N+d!1Zw%5YuPFnOpzg64CS z$JVL`C6^<+0>zh+XJVghu3*u1IznTr%v}GOzZzB9fmOY+rsC*xl{3Y8A@!Z;o23W# z7il?D+=nJNQ6fC@F8l^ntk|k|;;`;N`)9uYdO*1V&&1QralVN%hS&bOSBBBlq2F(` zQ7HAcv|>$aN%yg5u&8V5hoy{iN=qC3#v{0rDJ0ZV_G5()>BWd6JB;9b_zfImM7OcF z1`Q;VAvrQa2GlpR^2h&Hk}#K0$sh8y2aa{P%&QTq!WIm+uGlBR0v?f%yy*pzLb}Q9 z4j9D%_xAZ;)2z#1wrN(^8PZ=GP_o#h+a`_Wycv&$XF5?avQ9QJJ-yYjk4=~R={_D0 zl$jHDL5qd>80u>|8ggrKDHJ&^U1>Mlo;{ZSqe8GqvSX5IICf{Xktj|DU+xZq>=-Uz z>sB5Jco;5|h|@c-Y(-y@`6T?o`-0199=KM#0)BM9hj)jHeF-ni;qd3Q_+sz9_^w7OhQ*9e#5EUc~qf}6vej-$#S)W=y7<2 z(?iKadpllqI%Rz8D=NaA9$z^Z+osj{ye?s`2q!-;>imOGB_UO&RNIZ}c#IE@#;}Mj z9DEeoF!}YTqISb4gQBiw{DG~zT5LnL9Mz~JZnUmGi;)FIPe&pRYOA$WF?ydV;@ium zurF$cC2NUH(WVAE1L|twodF=(tNa2n z1p)ghHa2fCx4)lxY|pm|3po=1f+R^C1bEB5)soALse(_*Tn`qbTt-}1cg!+BJA8_a zxM3N+w9sxtg60WN#D$;u&7B#(l78T$g`Ma5Q)9jY%J<5)Wfjks|40V>dV5_?NImde z^e)qV?nKiMw_C*TN!+7sDOLE9{OMx1zr&9qz2$3Yg3C1o<6Dx#d~mmBx+rs_eveEM zf>rpItqUH(wkM-nrUhi|MX`?c4dLvs7`SrJi zEGqBYdY&&L@3omOth2dBt*bRQ_su(CwZQa?;KDoMH*@1#ik@XpR5&kpb2!Kch1(i2 z-@2xQtgg3B0VD1K(?V6jY!yL1(^W^=bARGiMN>Mcy3y)6qd+ykQ>Je9>P6y?+bxRK z$But2LK}5oMkjun6Sa`7WJ!+NOC<6t1|7lt7VIiwdMRq@F{`7W!~_J*n7+38tGcy; ze-7F4dYg!r+1n1~@}kcIZud1u_O%u02c+rcyZ-NIxP+zPTwDemlUxt;f^Un5SoY7f zOv?vurj{HIbkU_zZr)6JUc!c4w&P^crVRHH;+fa42C@m>(awEr?-O@*KJo%O?$uk< zpR0P;tRk{gS-KKCl-=GWC_Q)n+!S=D265i*e(lUngH|we|zE#{@ zE0q7wIh5tpJ)rq?>t5E5Q9&!z?+b?6(+RYp2z5I%2F#;MGCFFzOjOiLT+ylh~2 ze!40A^?f2|=aMpM2V<(?sR%(n$VSUs=xoFPrFM}g<>#!UrSgsc?1FjU0zMHImxRtmXCL%;ZAS#4}pHPgc4Jr%2jvK zN3sDCl9c$J1TtQlIgD?ANYY$KKFEE`!3VcuIrzwWy?mD}H9upI7G?MzUis5Yd$8*< z6t((&=HiX4-vi|Di|H5Zjv5aC^C}px|rugWN-x3R+XSy%|cYB zOiQ@CYWszk!H^*b=+%5rI^*6Sp65ntGLVZ8HgmLIo-rxD>{tW-8STqMMebFs&sjsi znK32=J;!}3n`M@3=zBgszQ4Pmq&Di~XvFUB_g?}ZKB_y=JimAGb@;pA|E?m&cE;>| zveN>E7?etooU_pJpAn`}GPm(N`~Z9xR=?D4du0CxR`JQWyFmFkkApl3nyVyRJsVDd z4UKab1HSCGfq#R0McdNIR+*;rI18WFbUs(PwwYDsSB+YUo>GcmvRnhBEt>i-jHm9X zI9~4N+4Jb8*T*%WaMLkM32o(TyN_}bz1}_tJVoLrY*Py22yuJ%x_WAt4H_G})*+rh zyQ6cd7>85AKLZ3TR{i5|8TT$)TXajNibT57yuvQ|_b7!D6aAKHv&Rnei}UuZqKIIq7h31qg?S&x4Uuk1nOh_V|tRodCt>hE^_&D*X~`%C!8$A4J5 z(Y#c4&7}dP<}#Si+Yg9Rf8lk7KcFMhzH1Y$tsyYd_69@D7z}%NQVc9SB$==~V=~@c za{og!spW6Y&tbmoxRk&#EgGY(7uw=GG{!05f&Zm#Z*qd;2R_Gt&U^tJZD(HUw7zYP zD1BX>MA)eS%ez<(9*0ca=eNh9G~0qjEwj%7l8QfEGD3ANbed(?^d}f zGl5n&ndBPOSm8$xDzTQ`g>5RQhC@Vs3DlXJUo+M?UEudTUs)UBV~y*x&bRWFl$EVz zg_45y;UdP+AXWD90ixVQmP|~BhK{n>clUstxeIG?)RVfbWqNkMEoqgW;=9lkgl}5X z{OceSj8)hlkn=07JefM}EWa~0i1j|xnX|ebjHWFcL+;_Q& zO3I*l_6zS)zLl>*9KJaZwX7kfA+K|R3zRaGa;H}>Z~0ra;k7M4BHi_Bl5sH#tc8qA z6g%;=8tl!+m`0Jy)wxfKPjIATTHy}B^kv+>{p9r{3WNXBsog)}z^`**NQ9pKyL*~a z?c98Ax?aSH&7UDEy_$o&mmA>I?csQlbMOk&&k(skC^uv9W~*0^DTur7$##2-4J~j&Wxg8&F`5}YJwtx$zsI86 zRUE3mQ68W49P;lDKJiu7J+>NKpZn~*tj2Jojg2T|1&uDj_RXzi0#3*Ktvv)r>L*AE zYAB+Ig-llUZBna%qyCARVXkZ|XHt(j<%S~HWUNUEw}hJvPUoAAS41yNDINf?MmaI( zpQ_&Yy>ZF#K49|@6D6vwYi5*A7Rq{)}s-F$)B-0> zFvxR5OKnz4^dhZg_`{Zp58MBxn$R(7hgBOCPgxG{=JN~7s>fJI*2@>ifA_Md75jfY zeRn*T?f-XWm6bBHMRv&EGnBnI*?aFz*=4j4va_?f?7gzd-m8!;Awi+(oKkk3- zSGcb8JdV$Nk76`i`t^~8I~{NC!CiE*u9o4dVlyqQ6Ai>$7Bdy8il4Nm@cfg{BjU+I zNxV^0$6wPiE_Y|@_GaW9`L;5bz{l@9D&Zf@Oi5j_{qeBdJ?v4+6hdkpOm)LU2P7kx zpwyHUwl6*qAPvjRem&UQ%V2DC$8qtoVY8ew^b%VhA5ufo8*zIWmVYsM@9A#-2-C1_ zdG`MiU&93}7vm|EX;kpwR@w)66E_gLOyf@;*ej^37GI#YVMw9mz+NDYWM}zoE%np8 zA<-seHFu%7?L6eNaC};r>>(5y_#Rb!?Dhve7B{!@FY#v-lUO{qCCXm(-G^7)RF!BACv7+Q|v5cn84$AP1t6!_uH@Ldls!(8tlrG15y%cXwnaij+LG z`T8bVD~TZHD=%Xov;aR!#H;*x3myIEnKYYJp>5aQc_Uu-=qoq2uq*suWXG^BzEwp( zBGK^DuHmb(V>Z+`6pJZyxswN*{hj=aQ*FNGLqC<`CsGCDlOu?&k%Apn0$-Dsp;5Dn zIQnG9=?cy4DN8yZ;$bBbXD+7{&z1hVz(n4s!%8v ziLr35_P=6It$R(+I~@G-P9vrlJiBD5Pnyd=fcn3sv3cn2vuwT7NExJJfWJ>gT%L?; zw1<2T3r#40H226aZk*w~m9vW`ftKpr+eL(fIq?pTjt=UqeC4bm&HmAeX`Aaw zs`nAm1pX>|CT`;u&a4x-zgThyx`-tIoInx1no-W`&KX5Y6{3L&tN=GR4z8GHPkc{I z=vK?Bab?k0zThb+01RYgEF@Oud*}awcTSQvFt|^dM{Ea!O}Uo0b|0?4l6GV#?xiPB zBOQDMr(8!F17X22oboKYwREFy1}=xO+b1*+~#n{JMB#x9qq!?^GcVWOtQ?$RCw}C_G34T zk`==&zC>HnbY9ZJt;dkwUUp12>EA7J{PKOYCpJ@S3Rsg9V^}qg`)DIrs9atuz4G~a zd#$si(J@)|e$L`?^(Lx{sSs+nFZGE%qRz*pzMN?!HH#wYR85hL1+FHL|im@nm5m z^P{C@8zTCk$FBCU!9CaP*M_=6tfj!>9F(Q8HeU|+1JyAVayT?dIOY2(tehjz9*~m@2_{SOs=`%4s6WK1-$HE zdvgn;_Z{wEab4@-D1V4DhrPkclJi>RVW>AA@>o&NHdH87i+Yk*SxB&=15PY4M1hFM z1)E0<1M8Ku)vc!57q)+HR99ek$U^?$5hOw^?(IBI$u+3{KZ%Odq(!Xj22Q2l3#iI8 z3oC0i*H(9UwfA>a3Nb#CeBlsyzcHW^eq|7C-q~G_4cJ584n)GwG)3eWp&s$pTk~1z zl6S;A$TuI9$SB|zPVlmY-XKZ8l%v5YSHr6}mt3YE{}&yBOHkrUqoTIp3pF(hKe2nk zHldmW;dh3t5ZKjTv3CMvcARKBLy%b|?xqEaNwu3`%-*Ir;HK&rOsp^#TW;+@5)v z_|tVy?~6%6vIflxRc~MJj{ZE~r#<#rh$x2-k56t`={gfjMs^eh2-AF=nm<4>nCcN( zK1$Y~qp(&Sn;N$jWeH>6AKrKNF^Tvw!5M49@geS!3tc~#nSk%w^%QxYibwcTg~|J5 zAqT?kD$6?Pu{Kq*?qANrfG7zFut?eW2-YXLDsLDY@xsa<(3rp!(ztg0GaidmyWn_+DhRP=&{4t*;x~+-s_c(pwB3RMe>tNlwCTp-)BYc^>02J#%9T z#UgmOb(#9taoDik+{NYF|7Ffq@lic|)Z|<$l~eyMm@daK^CfyAbGK{eOB>RUf^SXu zvwvuz{e1fFacBFZK~EMW;Uz-bk4`G%@K10q@$%XAHrf%X2ABibQnG}RdhzxRRLxpx z8@fJ?$WFZ#UjI%3+j4X8@e`SjaAaRyqXDL%b=gpcErOomA7@yZJ1t@$LF)XF8FGj z(05FADEj+Z$e4(`v_ZnU{9^~GMND*88j&Qt`y{X-wMY0B>83^h$9o@o$F+&j%=$k6*LMxsz{ zy>Al6bxbpM?+4wn%r&t^ho?44(EZ1MTF=h{MYAAeBl||oB3oAA2@$ugN@-icI}UI2 zmS@TT>yLICj7ux(R?fx^(@ht?pSVVOZAdWJLrvT|j%|F~Xz%b&rBH5n(er70Ch0%qYB93Ro~Nd$@iFBXgcXi#!@FM= ztLAsrT3uUo!|U_j3N$8SO^4!Pgdtyu<$E>Q8&E`LROpgWVs7v%D|bv39#Ed2 z3!_r`zMvK-+}@NQW1K=Ec;Dw-L9Qh@$NTu>!D4xvXS>hW+^2RNkp_yOPJj&0-sEU{ zYiKL}gRULfDmEN7Mk@<56pM}JO5@xxujA)S-uO0(-Q)WfbWnPWcNC@T=eE=$J4*D5 z!FCaes2a7-c%KDEulBt1qUk-{gK@&$N5X&t0iX#tDGq!TJ4KkK78SiR=Zvz@1*QXF z`2oVi9~)v4y1Nbb)nHEv+a2)ey#{Reot>Sse+st1{RU%bVBpNm+zNGw3s|!9@Q5EA z1R!Y_2R7I|1N{WV;Qe<_Fb{3oN3pLfinZPrZ4~$7u!a;4^9DwEJ+ zL_>WBZ5Sz4#70`k-_yUwCitX#Jz^tcn*|T1e?J?aAmb3koFR8#A2}0dPLCKm$Q2Z% zPNU`+Y&gpKzl;26ZGUj;vyZ5L4n5blg^{0Al0J(xvqw6y(kZgW8r>t9`4nP7`q%+~ ziZ`baTxCHrX$6!SknVtH78Ypz72aC~dEP&A61~B|4qV=-d=%;o*8AdFkkqp?@lAiw z*l0eCapC}!4wyn(Sw(>Ft&so4+)^$)b8BwQR^XZdPUH{hE-?WQ4K$iSo1o=)7yECd zY8j|S0G@#%&HDwC_v{ZAe;BQ&0iaQU6of|p2XBGST?iOaJ7 zY=IdrA_!Nk@HHFhw??})E+u$<~2H%NylLoe$p%=OlcBRzxG(nLS}59Pcp z`Z5VUNGzq8d|@RVl#C3KyRo4Rb~Y&~DM(`y9v(E%)iwn>06<{s8yduZk}RDTOl{9M z2c!VO2mqRLOsxG#Tr|0e?|WEWsbNle=o%TpdiZ%#Qqsv0(s+cQf4cdlTI7<}1*$Sr zm6|bqYgDj_IQNZnu9CFRbt)`bgJ}60G(^%5@bfk9sy%%|pGkYGoWIkQM2XJ-N{8US zYGl`mqf2BD%^leu(|l_J3e=3_g_Mu1$n6laEXg-!Cjfm#(*+BMnxU8+!;%4Fo!OGt zQFE~NvU26`f8zDhppWK30pv)lvPzkmeD$Mb)_x!VrAqK?#x4q_ISOh{;l{4Sq`vWHY#_Rs? zvvzKHC6`SXdkx4(1iK1Ar^qpZ=M(s+BH_nFLqnb;P37fqFpzvfz%Rk;hCc&bL;x}^ z1R8;u(IQr26LrRqA18ms81?2V4LxV3iz_SC0r5VtTYa}HSzeUTgoD_smI0XB7*eUX zIB${tH*=zzG?FDyuhz4U&>S>Ljr)i!b?9$>6q5!#<@xb85-a$vddf)3PVw0@Dx_f} zk~Q+g%F3$YfwFw%4AML9pTG3}-z)Zi%6Q;1;S_k30w8z*)PO`hC=cbxCn8OzfA=Z} z-Vg`tdZc6Tv-7WsP|}@hHvF7+X&2YIp7xhaSS`EAW4xPaoXmO{1xIjXdE0rtGP4yy zeFrOK(;YLuUsCjTs(^+zvAdUqHZk+ktyF;>(>p~ot@-a~wjW{?J7_R}ly36+>ta%c z`D{F3QT~5*>z#VOYtA9TP=4F_+7po(=+AynoSO9U@{DkwUpX_o*L*lYefD08*>VlJ zQMg;(LDcY7Pb0FSYSKHc2MiR4;S2n3Xt@vq+%&+&odUM?4O#+ILHr(=y0SMm0M6;W z){O(pn146?XDBun#I7JZ-m3dUb@hm_B3b(-6La2Kp%cJnz51VyORt zEE+77jxIkDd|>>yywu5k>jv{RS}C~88P%3{cCV07Q8?j9;w50^kv=f8V&`|j3Me`{ z8cuE5ZUe^T@v#S(qh3V-4MDs4Cm~2JpocoVfTMf%Lpi9AulW!M&N6%fB%&Cwx=VjA zmugz}KuM7r%s_!Qc>hi0K=7U0!8aIQ#7e8gcQXVfS!B@ib{Da?5x3kNq#w6cVak4K z!5BaKowHEwxg3tIhkN$*Iia%ZnB=tUJ(xuW`g{zH`*z$eim$w#*guV#s4R@SoF)uq zaNYazsbkB!N8+B0PQgP4-T#h4WCY}~4lHZ$>xxSo-D+?8;pwE#eA01)G0?%+C`ToV zr(^N1Ph=cS5i=z+cP0Hba@0&f6QBC#=H4DM6352k8cbRE`+u~o>;>->fa|5DrQH_R zVv@!~1yG*B6i$%r>ADy|$Uw3_rUue#Swn+-j#?YS0geZN^%!&b{Z3dRb0Xm_5Fo*n zBazK;wg1@_r`2#8prl8@SrbfgJG@#h41u{5)1CLZ^rlOkxLvYQFfsXOty#Se%ks7z znIw5EG$KA```t+!^kn=H8>QR10$<}Z#K`h0J8Yh5fWo@T12_Kc8E%3E6Jy2)@)@xD ze2F@g4(y+b^71x-heA3*GE?BDF8b|@AfaNQ?)4!(o#D+Be`@E&g@x}6UP~6BT#u9x z0S?4_HKaN3u2WD7U=)yUpum>~b^%bNk+#r9r4X=R0%-VW(BIP_P?)T&ub1=k;_Eec zr8*7uW=*2Urfegjdc5>8{}t(tLTOj%BTmeP6URsLwVTLD@nW>@TVeFm)I5s!6DH z%0NdF=oMj-E3|RDAddT|8p0Lf=J~eL`1k1)x&%pz-3T#n!XXhfk*1Y-izSRDtT~qp%Go2;5-8;z@rBtN&qTRN zP4Jo;LKfM?O)#1&vBGY|Oz<>HUeBBC)R_yFi)lT+h7o5avB>1QZD=?$5w*34JLhf1X+8G%9{O{eMF)oeEH*>&TCNvo!lc_Ey?*-qj86<$Zn2>--0aV8S3h!`}suo1`CHT!2Xxw}e@|8rF-26HE z(iFGwU-7E1CpQ$!*Imw(os2Fs@ppa8Dqk%!XY8Q8H$zT^_&d#3uzz@y6UKyTj=W)%5vD|Zi)Em`7xDP++ow-* z+ikZV-?)FL%A##i;k}kc)yK{MYC@M<)aTu|xfR7S<`1TsdAx%hU-eg_IkNA(l^6I( zIrMYfIpJ^-SM5;*NNwxW=bGR($G<+kBk50C>>>1#M|9k`nWso2NHS#wR8iq>@q6x& zAi051s{@+@-r;W`*(hIul+{OICIf}+_m*~x9Ei_?oiFuGfPa4e{Q011KOnB<_p26a z@XtYQ>lu=5@)FXkndDu%sD|V4_i_x7`H=LHPH!$QcY*=b1TI71d}(fLyLGht_%I1_ z6TBMRYG31%(#d4;5Moqsqt?I)z6(;};u%IeEjdvZv^b$T9++EoV#i&vk?aINj}^Sv z60DzJrd}7cTbU9g7^4@zu&emuc5yKkx^1Z@B9kCIvusbmYkJ=;5_Ct3wannC_%=0{ z&fOQy2Qp95gpQux`7|!I>0f&%CnQH36dfSv-~Q!SE%TOK10)7t0ADbB6#1>99?z!p zDZT@Y`((0h_4ykrN6w^gQ4DDrT1CKk={nf~U+a5_nwq&v3ka4_Q1-Zhff1F@)j!3P z%O@ENKwbt{x%d6wJsF$o>ShA>Tyn3CA)e0aV#mKCQJ4|&YJO)_oQ;(=4)Vb+C}pC`K^r1)r;N4ACd=VfYsE;ev~ekFJ$2+J1?@N!5{xx3v-E1c@(J5&sU|T1L_$0$ z*1EmBFVi0)8mq-jX!92-PdL&rCnJ=xj;66iX%|L{L|)W4x248#q9(&QC5>|Mkq@^N zr|sGYdO($Ow@aIWBp(-01reiqH5(jKzx_6m`m6w^m2I~UE+}9^;_wU9^St-!Hjsv1 zUVHN^7-GM#BZb%oh?@`od3%ARTNm-OZ*?1Kw3KlG_e8QQkk<1^U}svbqpQ$wTmvrBS8Hy@ zc)7cj!q=Mj$Lx6z1OAHdEFH9m9`LX2tAG7mox2XW7|O7hJ--k=J4&s-gsdHO6gBsH zWl08;qAhXA)lKs0jhddGiCV^`ZLIpR4f>{5FfX<+h#F&yvxK!RzAd%jQDtKYuALfVN2k0O zo^?!eDvp(Ckkal_dXt~WFd1J}u1*1%ZdEoktdMaPs}?6LjNY6Uc#`)>`1Y>f%DmMu zPKd>l>;E1?nNCmzsncjE}v_itM;3MY5wtzU4HA1+KY=b{WKbM3Go7r8_Sc$ z`cxN|=b+1%Zdx8`ll*n!x+n(~lrau1d{#?UC55ReDR$2qJ#<7i*ET`&t1$^6hc268 zG{L!h=%6uV*MJk~;}(*>q+@1Q^Yj^8A68F;fWUOyXbEa>zTyDFnH99P$Xj{LXmDA9 z>ub)rd-|f7hqc(_A^@~V=!jkgd@JX3S~LeXCz5y#NI>I%D%RlDy;|?s&`SH}30{oM zs2+$TLAHBB*WTK9Oyco>Sb)}RP|xh_?R}k@c`BId_-uNn`JnR@nUzlifEWSCRhOth z19RyV`0Jn43Qm0LEp$N}Tsc5Fz1Q4(C5#yEhWo|*1yUFu$p;7DZA(+r)$2PyIzSK? zBzvXk?wY`KtA!6^__p(9aQz1UPREXAamOA7UxNJn{QP&=JqTG)-IflrdO0Rr`H`aU z^{Y9$te5%K+F=*h5IK5Gm55q#Szg)ZhSTf*5g`%<&I92Nq&k-Tc>?xN7Yi*Hmv%4s zg@lA)>;i3rvJ>z(Dt!owOG+xLsyaurW#=edyV{VgpYrfdO07Bk-H4qn$`>4>p<^l~1XyHP23T;U28gP~BJa7aqQ=>cTX9sOs1lttL94{Qfj!*ud4j`M^RpabkzUtl zt#W3<0biUVt&Y!pWefD)iunyI20wf+_X3(ERP2_C`%&A7FgX-Z`pZ@BU6i&d4bT%g2;J z@$%IQwR~5r?DhfQu&!cs>ETZ;EJJVnKf>~~+fNNP+>tuy31`Mw_x+b-lZX=VX-I?o zCq>%j*2~s<7d&VDB#sspUCM^(%egErq{1}->it4fVFjTlnyO6E{zfu0q z%+EbMqkcQlr95&Tmpy^dvx`xCDU;m>hd12hb+5T-h4`Fp)MYysJBZY?U#lv8?++}! z>G^p&(wMKKqY{FtmVtq30Q40-gOMAwT;O#G?Nz$Y#KhE;ESyRZQE^O2Wl8CF=Cv{wP@9FBFpU;I?E zxZO?ejCST9-l*{k;(}pApH!2$zq!8d&#eDBGDa~J6Wc|dbZrci%4>LVinLTsf($)d zO3FmOyg|fMbW%c;>C&Nk@c^U?q%QfgEI>K~=4!32*MJECtNIH|N5@#|oBUv2p4o!8 z0w)wdsx$NUF^sRtm5NWmWn;wJ_dOY#8yVqZ%FKGTeE;u2@gTOLM5R+#Uk)i{LCJ9h zyhMbBaKgsAq%cyS0JNCNdrY911PabS(K6rycYsVY%zwc4mlO_XPPI)kNFQa5GD22^ z{|D?vkY0x1Z!*VQt^+FD5J^Eh!ZFGadWOYCOE)+CDUYXlW8YlsJPD8BrGh#G*he%O zZNL~DB!OVK1`!@6ZXiqrRFuZkML&q+6%f6Et^x+r*f=;8=R*ps?`(=;I~Kli#6j4^h`SR?U74QVW6#zcj#_&JE4-1Iqv{+Tebt%OxoBvHe zCiR`}#PuLm#qLIpEG!H{cP@5y7zeR!*HchmUmr%lA;i!8-vED8?BK3H4W;xfN4xDx z6E4bmNBpo}wns2#`|vik_>XG~Z^C653Kt6+ zGHQ-|$JDUfw8b$jk}7yH%XH%iuUrK|fk2Iup(aAJ+Bajsj6$VbeXStL879{mrD?b6 zj)56Aw9y{q_L1Yg7UqeiOwsVotpDvW(&MN?ccsZnhQE5or1Up@Y-#Em*Spih$uE?! zk#wje)1VHDq%J+}71*Dp1TkeJFCKip#*K8zfX>$c@5RyvQh8?9EhXLm=Ti`P=!5+a zQcVbM3Q$o(VUmRuQ2@p_%#6NoO%y?X0CEv@kH{Ze2h|j4I+4ud(*>`(z)L}BXIMUt z{ooGz$q>{I=NO!&FGP`ZVNeoUZdkfx1Jb%KQQF2MPEJ@7=Yj1wc#9yJjECS`a#Wdq z84V&T#KT8Wc_5qW-MUdpf1M042WdS%mb#U4J=sXSe9Oh5p!GQCKGyaF%y|0n0^ouU zmp9X8i!jv-WtqPlLMgQlG)R&&A%&D<6H3dAL`>LetOq(}0{z1P*|vZ(y0$hkOlIK2 z2mZ>Ydh>)1+1!+Df1Q|+hTaXvc)PA=(78`0gVZ*3eY4u?Y#@XIGD+d#;ohrJ471w$ zxS;tnyaAWtdxY2@nrq0P5w9;TWw+;H4Yj_gt?NBaYbo&C6C;0IRO_fMGgcUR65x(E z6h=Sd#gZj*duy<4w$4B@UQT7cq4d3K7pKNcl>&)k^g&+|Exv^VEw+vmT<(Bhi}sWb zGkDcBcf-udQ={K;<3z`DPo|=MF{h5NC)1eY<-emrcQ<_G&6kC14aWj=GWuE#hJ4O7 z0eqno^C>B12+Tp5-?KPee?%9WUJr*+{Ra?qd4h^uV22Z{IM%W{YSxuk^*3>8MN~~9C%(v7kW3HiI96Z~1D>WYyH;f> z`FMF{@K7N-msM86vUq8lR z=QTO0<@b0I)aD_#eQIbRyD3Dfq@YmN*f_Aahb-C6IiFtrwc1yDu~t9auoU#yYU_@; z8T$3t*KQ6~J{ikm)SuE4UYzc|&!?%R$@{cUZP7BtaB^m`KAu^-!X=(XGsYm?vUDnBmrHa729LLp#z{1ZeD#r~cRpMerzh}uioAgyCeAVsy6 z@>2SjVA6{e7rHv6`gp^s-D3mRRtejeYU%i~+*>Z+`Eu`R29cr9 z*IsYAp!l;xTvmo!E%-^@*_i!2W$AI#c_FNGk%$*l`CC$ogIM`K*IDe?tV$mqE>7P~ z%+s0~O^xgk7+h|Y5$e}`v>qt{5BvdtP71OjBAl52JIY$m-YjO2#1t_ixY4y z-?Nl=2tGOS1apI-OsR-fL|eU&*c{@~VE#i;nv9sKaiR+R)6{h5#zIq?2?_j?gZNVa zFwhR=lij)(UQQ$KIN*PU+^42EHP09*GfCfnQ)~4t4G)iEnE;h$kL$zS4hBsTVfvAo z58J%K`n!S~Mj5>p_Da#7hkZ|kBD|_rbm$ZA4U!Pu9=@hPYa8#7geeq=^T3!$GE(T< z*hn7iiFcM-(jg~3N5KFw@ULHyp%N%+RaI5ausvz#upcsaB#*JtB?8R{v@F{nCnqPC zSbN=Ms?71Lo1@v_{>?W9-I#^Bd1zZ(+s26-R=KYKRz&l~LaxVnv*6X&Lb8cbz3dmu zO4P;K;)1pl#iJ&Tje4&NQ;Rh7HB=@rkxLh}LQM^kk{2iQjK7ODnI3*0jVBdAE7W_X z=P|WqJtdV`q{5a7shnqBhCyA`_~TRA_>lqvI(5|vcR{oQZst^Ui{SmXp2X#!gui|h z5ELz=zy6%@i}3x1WDa&UsjoE#ILGQxEZp2)o01cK{4elCCdPx$*YCh5U09%`Te8Ro zZhC~G$vT;8rvg>9JuI{o#Azuo~<{_p_*{L50#~!a@XcnQQp4W*Kn7-`uaOMOBa%2GtWN$hlja6k{>uu3Ia3V z&cD54<6^NGiurzac`V)N+p3}+uI=gJ>i_B8n>6fLo3~}y_AG^k?^Ao>R#GNRCacJ5 z_5|XImd^~voN}{|*Fyf?;i^Yj=@!F&jx0mHY5(UM>o2r>Id_!w0 zdesw$+dP|lk{+I!C_p+<#d2DTpvEmh5wqPeWR~X2c_pp$Fl%yhq{wcw`o3*7YCN;8 z$t}m>3=yhb^nAJ0i=fKUWxHQzaVqcB0gfhJT!*j3%`oed)gQCnYtAhsnDla8Ht+3g zg)H@g-v|O`LX5=%cen1Umr@%tAC^96G#B~)lNFJS%#*eQO|_R~WmQ^hUp1cpy>d=S z`i`l|xBRN1fuD1JD06q$-8{Q+J=CJ_GZOt2_W-E&BOvR2K+u=+$|5dB-eQre-);AV zS-yyee9k;ysJ}PWaOa0pRJY_O*0%^IS{lk11sYrih=Kg#<^u7|$iMi2aJ>hsbIHh_ zvX#j02FWo$(a^<-w3J$&8YQ}$ocA=CrTIsw28TygtACv*ePxcee7x<7rpYE%hk97Y z9KU8ks8Ni0Oj_$PKCSqxbm{L7mAOkynVRfGfP4G(=*^I-%vKH6_)3^n;#&y4E^DjE zrUn6ErN#l5tYCp8YoqRpwF@$1y+NoITM;S=XbCaJQhFQfE?d`f4NYf44q)?njPTU*YX^w8{Q1iVa-s;kH{{)`>G%c5 zhgh;xclPXZT12AEz>qRqj{b}lM7CE~c$i;@h^wEXyg29$8|0a?s$S(vWp}g794HRE zJJwHFm^Q4UobWuBTS`RN^R#+oE{*P8*|&fl^$#x96`8A^Gcx0Xb82dXz}SeBN8+Zv z`zWUi=eV;+2vr;$MlFi7J=(36+{fPvVP@Fap)ASv5RM39t4Lf6yty@$NK(wx9dt<^ zcyxtQn6huGzj;F5hsd5>I2J6_ll4=ruJ*k2wyZ|ywnnqoxJg6GJ^J(Yy6ZKEuHCwa zDE1iNAv0kXY2JUXL{FVW?QGAfXO_biYPg%PK^p%wd+diby$AC>&1ZRIgKqIkvRp+D zLcX{bk7?>S_o^<9o=G%a`FDKZtjW?`i<}Uu5zD`!UmVo9(R;e~j<{M&7DaU;;K<|A z;6@XY#S@A*Y+x1h&$1?tz(MJpaa)oYQfhv)nzb>_L&rb*(Y$D#9 zncl;!9Bq37Kj!^d)x+({AeQK<8Qcb*zzkhIx4Jr=)d2=9gY<_L8lT4|l8v>WVU<#C znpi1g%?XVuFEdQfW3PsXg+GUpRPLRY)1Hf6qtHtcIG%6+i5(e<3#L8)jGbNAf!z}& zxmo*D0MpBZ0G)5nv!|xIDzlPFqZoHD@6*szEVD9^;jjZR(zJvy&T=PRZg=I%W1F)K3Pjxjyd9ZTpFM4Ga(UKAf<;w)xoK9t3em7 znDlu8p|*62rN&ufVBJiuqx80prv{D#L)OTIOKa3HepJ4Q_kGOzr=P{T9(JUne!3e9 zIN~Hp0o>V&tfh`ulQ;f!lNi*a?zdotP2?Zfrv|6eI&7~EQHJy0pYy1_%}+9ZkcZDW zuzD!x2Y}EgKNv8Ut9jbU&ykbu8G8jKWR|cl6fbNY@BlIIH$|KpEBqi;~28H zJ9^)3wzUb>{8;~+r8_PW=_%s8z^LJAsBt-DAuLuH>$&Z6u#?66nHX)Pa8G8%-At)^ z!{nUOr1~z}j|9T7If;?a2i>=`Hg2vi3t?w(IX+vuwWj(wz7PEadLL(NO{H+$^7;K3F>&KRh-k7iPFiGT5&)&O6Tm2}s7Ex@o1tg#pzm?Q_i3u1Ejp<4hm- zI)ROIlh4I%w$~R$Fsz0$hSMT)H1jVuqeIGrP!qIUy|Nwb_9N3||5bbM#`N$5+;Ivn zXt=^K*Nz^D*4DLG&lL?2+wIIu_KmLKDgiD-#BMCP>ZuNW?!D>>q+KkfY&Pl4vDAwL zli5Lu@~sNJ6J6aR2p#PzvTmUdLqaXyvQH!#6*}A0i#KcZoJyh#eU1KAUFPH$`(_W@ z@SzfUa-ZL{uO&Gh88c=Aj+99f(lYOT)d0MKJc$!=EO@6%1(w_2EI$hizqqR0&$`<9 z`*^q{I7oZh{#rtmpfBFyA7*TvOxN8}hr^FQj`L*lDR$eivY5AIsL7vAy6{wCO1a}{ zoANn2p>}wsXBYU1*8G&GlboKIy-`hCuO&5M3tj*2r0TKYxNW{I&K6st5$)%ROsxpt zhlSrtCbPC3DGXsv$~^0lxtB>sgP;odfdxX6bBx$%g3aXB^l`E7nlJNtYHT_u#)!Dr zb$YH>D?Lz+qWh%wTJBD+IzZ-t3prMhf9b`HwyhWXt~cYWjXOO>^)2PR>W|k z^>C6CVNv0xPqrjDIow9!@J;QOTI|!Wyyg)|lJM}uagaVc48i+L!}2jNvB=-OsFkYp zVMVQ8&oPSHt#>Cx5qpyaP?ROS^q8kM*LK3fkZlm)ne8=}O?LlkKSWAImL#|G0X_F# zDp@$W27vm9U+g@G*OHi|cB&zcGO`dO=yO*~TLlr;>`kb}qJl+jlIiK*(bjZuzU{op zQD4oIyh3iLfm`IUp*rfOAsx`7lH4u4(Jgqm#<)PTrQk-<l&P3@sxH-;t3*pO<0o^7?5VLRWkgKH+Q}jUEf#-?lHE>2 zj0~M3=kAK_o5|CqxOLA`Cql;=XE*ZW(Fe6I_?n*=h4LDerIKRkIycMyKUcHmKS4rbPIk;UoYFem;VntI(3S(;Y zXWj$JWLV}qQ5)QApIRtLYgHZx|CB7TR;H*DI%7fKHR zKhB&a&XDc7Wb28}wh+BxBDS2kV)yGpTQ&Fk#YraOxM#QH-Kf3Y+>2wb0=|z$wNgH7 zKhN>E_qO#r;ZJWS)Tnt;)@Pz-TjR}k%ek(iDHE@+FzZ8=@MaSl1sVR zYcnu-dAOQdF)+>1nIzG%7W^}MJ>$WhK1ES{cyqr&Xw|X*K_V7@f1?nhbK(b2y9eQD z3Gu2gTi0E8gn<42z(I`JCANERFTJ^TV2FenUsyXgjy-LmHDb_O3wgDyloxZLJLa0> z!8A-gm@Qx=zyT9No>V}O=D&dWN5yR$6WekPD8ghi?h7uw;p5y|LE`dzGT(Vf*M|CH zu&f8eU)nb{Kkz2UE#gSSr|5oI6GB}-*s?8rbMK@7U!^X0yrr5up?rmTQ-ck;MsZfU z4XRHJy|T4dVz$#Tj`MwmK2IJLYLZ(R*9U4mr3h8csl^@5k<;kC)TPbbqCEdevi0{W zC@VuiaGVbl5p&GIRXD`Eidf05E-9RC##iBEMmR7O4j|U%$TyU75DwX?-g_QqB0Ule ztH<_M3%k6th@8HERd+ftm2cnBVxc?=BW=0zj=k;3=4Mwukmm4^e0Fq*rDNBAUuo=Z zSr$=B1ugtQCw>;sZ=~IF=xu=pAD8Oxnf_M;Y*W0UgI-6%Nb~4-yiEFw4b+0h3mP## z1FE&;n*8{~6@iQT02{tuql2X5gjzQ?$n0a2_W_mJxYHw?NKL`KKIfR7vX~*ytQZa(}O}AAI_4s&W zaJ*|OncD-=G}eQ*LE*5s{b`G=rP1!L?zO4VF*-1%Knp}J3k9lj=lN+?J*aM(Ph+c; z_{{4usvrGPHZ0wWs5Odou-`3Qu*|S$1Z256Zw#X|?|*rh7)hCczm|?sWg9p$6{l>+ zbd@o;=kvMY#SiN@fyR+dfg&$5W;p#lOr96a=yIZ<(CO=~PR@DFMi%`&{F_;-n3XTF ztKR%kkEpN)>+(Ch>~5bSpDlxt6Y6qIzlXC()y85{)UNOHq^jMa#V`h+IL4vBwV1fr zAFm(ER?=+Q>_gmgzezfZOd!ZOG|xT%8pi5rSVrM=59tuT8p|M zoxR#SM*4^2(;mico`yP_1F1gEeXgma`QYSjF^!bHLFPhBUa-8S@M3xtO}yFA0KXcb z-B7|tGUSZ%`d`+x$sBWU>xC?N=<*bPx^BoSvtq@IRcGKI6!SG>)Oqt}_upf~-Ay()zF;2@Tlq9?OsEy2|8+)gk1YBJDk~p_X2O%Cp3*pGtf^|FR}IJ zTB1N2zQbd#%!ztTD~koqg~sN$Gxh2#c#dr^z3$@ z)laS^c;syfH5-=dD}#zqxyqqnefa<)JKf11doh3*2#syWE*f=25r0UV3?5&eV2>A# z0@BJa+xEgVy5aw@07xRODVB~H!x)aF=^fp#IIjQCiR$z?s-ptk7FIL^JVPe)TsJ6Jvz1~s?`!DxRF+MpPuAQzy%gH*6iFW` z3fbVZa^Tyr@uT!LR4EY_OAeqw-Sj2=j={JT!4a9T%|AYQxP3Q3UxsYEu&mma%_;De zmRBli|Ftc)dJTv0!P5htm2c$Tf3KXt$w?{A|CiVkh>o4|xp#OI4b!9i!z!nUejBq6 zcS?pKh$7S*8oZB;sYL4N>Z+vr9sxlK{;hf@4=OS%{*L2-*zvAvdNDr7=vj_?x~i_+ za}(wh>?#*$#)vihp%G1{Fp!zceQv>Q&$VY7uEB|HfS&y0p07U0TD8@~r3_Xe^^7sq z=u^GsFjH21+jBQ;H$;`iLA0UboGbmP(lKuCdFkzfiSyQT8ppVyy#d4tc1W@f-p({` zaq-~G9h`^VDbGFdH2Z~7~?bN=XkK(g2Sv(FkMTjU|#=fOMtWWgqk zJGF`kGty5KEVk*z)Y;)k!J()5;Yk#2YI-Kl&Wg-Vb&vKz9KVb3Rv(} z7!-0Pu^-J9z4GTSmkg}#Zhp>dG&9picHz5er~Jl+m37Q|uMC;m(>`^d%CKV>TmTDo z$Pt(4{g!Bdkq3Pub5)+htPlk@nxhB^Sbx2hl6v{@2={fJ}Am;XQ(L%ME_<~cD$5c$ijqTrk zsYNj=4XV53=^7+5T;)^RlBG_!DMQJI-w|{3AP(+|^%Klt%Y{EH4|!E*ezaeFH`?FYvqQ&SJ^G;~o^3R>ULk{n@ezT#UJ zJ!<3#Zsv^+Xvoalps7KM!F&6Jy7Z4qc3EVqtbH|qe(L!B?ArLg`(+n~3@b#Tg~wKGd% z51O;jA;`Uv?czxCp*yv;?oiZ$g!2ShJJJ64=xNfpJ^s$9r=P{^F?k!+E`-q=bl;er9+ z3Fo({kCfaIexzpy^MP`mwROoPF(dtNKX-2wX(rN!j5e;*3eDcz8hWibJDt1JiH!O7 z-kG4sqw^NSTUp(1j2`_)wV=qOyiT zQ?oAb&s{BcY1CCv~Fi zfQSAUI${?WZuW5Ds}%p&jYeDJNRX_e(-{5UtW3#1<%^37yIZp^hka^sZ*TDH%qq7P zX$$sVXuoQM{g?(L!6C@{{F8k`>06`(G+0VHR;io%U^A)FtL*ItDS*eU6yfW==&0H}wA}$2{qMDwCE|A@BF9qxnk9 z)7>iVD^ZXrdWI$euYT@x2a*q#Hchg?VEqg{Y!S&psG&lGq)roRyVhjC(3MHX;)hHb8qQ( ziMKPf2_doIggKC?T2$WAenh+91}~5@_W$PXBLa8Ln>b@fg8DpW3~{o6M>BquF> zc#R)-V<zFJSI(5@UB{r(t_NWS0qY@H=@1j&!%g z2PnpdemgST_WiYEqWU!ZNC_&+!B-yq@yLN=C|gJ@}VW)g~XTYIq8x?BGueB73~C+kYaQ7^>+)?Jtn}I zq_#;hCx7?Z?2W5}eSd3o$3LHN)u&*CD&KF^(3dA!qTsE?-?Ate>={bSh5Cgn-=0covXE}#i3E-XcM?Ow3*s~R`Ae$dHVF-MsG`+ zy8ZG$=$m(DN21^~G*{#z#uFD+cVu3+2@79&R;GoU%~xLtQ}0E$ucy)dsmd$su;{bx zKT&z=QeghQBm%V2vt%diim+b%JERDXLG<;IV>PT6s|v_`U`0wEEk5!(SgpE43LV$t zLol-!k}=NdXVw&E&jIM{VTNmSY5#?c1PtV=O`V;VAPo0A>NBEXgU0AZQxrY4>Y&0rS!u4K` zG%zW=)0>hhU}cgVRJo35^o~Jf{61b>ox%cPw@Zxy=?e5*}->~=Fx5*EEaGMenUh> znQJ!Y8cV*uHt{r@>XgK8?&m9=tsR6Wy>l`Kvz33KP2ICE>Z(x%?KXm)^J}BachefmRY}_nwH+P!q|}p?WV|7q=hOdFtj@+(lV~di-@$dV9O7Jb)+I zjQY{MpGpg3h23pLt|;96pC+N0&3|(ScqgE<0r*|8DeX)Pk-GRE)rz(o9UUF6^Kfv< zo16Wq19k}+za2o(y`!`930DGGl)#k+j;f4}4ZGAueh+WzAgPBBNzir`An37N``=@^ zD&I+RYfwxg(P?kCle%hXsnR?qbz-tJe_Vfs{(ICzQScyJxpdWdIXNwDeq$bkoPQ2Z zP9tqfpY4@t2pb61-BrY|+Yfjz;BzpAkmbQR6*y0W$&d&)0OiRC>{8Gfa5;i&2HYah zO8`eiNu$X|KjbFO0i-lBw;cizf^!2%srM#On4WS_j?}oYBK)Ja2s#L>$GdHk&S0fv zKiLTSC0`MI;WQi(1Xcxd>a@6#N@dDN1{YsfODXIo4s=R=WQ!G(pf)tOFZzM*y38zo zZ66!cd3&~-9Y$$9v$xIbo^*~`CKUY}O2Wnbhf;y~AqXzrS|DKoL=?FH@$vBhSOqpj zsdiF*b#=(BFkr`?QMKZ{C5qfCh+BC`zw&?q69>jx0<9VbTsR{t;EujzsK%SbVa(wF z20~qy+U=8$V6p@(IEWwc?EH%D{Gx%Lpiv-Tq2-|dj}ts`IBut&qk3-04JazQ`)-!N zBLo&YWDMY_cKf)bUn>%@f3JPZOKDD@ODVnvwKAO;c5EAcBz{w-DEaLtRfBOI!U>>U z&3Ii0g9Y7vyh53lZID+a*37iR5%H@az9*3paC@L^%ljx)av{bQK2cY?I0oD<8u6Ec z7$NSpy6J=4MH$C(`Uwxnzz-9+?g$D74JHE$1*L;9<-u|pA<5bkrGhalB9;M`SE-^N z7bbTWmzQV3;A-c5CF8z}_d>@tI1KU;v{n(y$ZZBU4GVB=hSvm;{-=I^%@vst>uF*_xL0a{P4xVYNiDkVJ)zPF@2=VwC$N03Z` zL!l(c{{xpP=Kdv1scTe^lVaKTx ze}9wxy_cgp4H^0n({xAz+-M-(JO=wi8!T>NLD*%1)S@eOx;32U1P3=a;K^&eHg5tp zI&!P}kqlMPKc_3tl?)F)qLa^Ed#WCHUQ=RGlfmYuLJOM9^p(uq!j^F zYp<%$rJvN&MeDCV#%<5437uA&d*~~y&0x48T;34Qy}F!PC$L_F?o=c0<5{ch5L8oZ zsYgvnL)Bk@Lr{5Y?4ueyJK)%sx!_bpL`2}^cWU#D*lxezdj@$1Uj4%3B8|PNS7d+{ z|7U+z@^`B#IgS_@VSxPvvPU{j-2LonSw4b_5e{%pPpl{7+JYQk_N1LpuNHKit02+Vx`nY;AZ`EXk7msHeIKF z`wApR;1N}#PzhhCub)%4n`+6nW|nOVk4b-?`BM9U0n(+cqu|fGc$op7xSQeWF@GL zg1h9gjWwuMR~J>jx(KB}qM?axu>zM(MT02jo<&%;3tnmck;%OZeYBaZi5KaBWs0(k z;HHMCgwl2^t0ejUUTbpsniK(lHA78jIixDJOBq{gZ04a{%UgV~lndQ`60!BRQT4QH- z_tPScMLa%W>cWT~mpoU(?9WUYn)ra->0mewAX~IcRr0+LxbwFt!3Vbes&!pD3d)Ym z#~^rOw>Xsf_!j75N&EO5#QW1xQ`=P@?C*a!ujux&Nsnl4$|$~CuCa4VQzMDvte&>U zW&Jm+`WFameIw4B371(sk5?jgA*njj)6rr2C#Y4E^EUznT7ZZFw@7!NfiC1Y&C-?V z8Wol2ZO+!d#Xq)^WO5R~Xp1ORtotlkSD$uu{gfxrX6^WMQh0@=U! zl~q)bGz(7=WD@$VQQfI!Vn7%w(yf9_SdDL*29i}x&0RPlJ%_aY!^hpCxpHE<;X8LE z`>Xx=>-L<~8lDGAr-iogz9|s6aK4JKKP8iS({i9QKC?6yR^1#=japXA&!0>9@7l{v zjV12!f>j#?J8-!}IxBIXZGPQ9sdrt1=s|7if65=*lksK(1^R>d!#*8JNB@m)mL0nM zq^H}Qfc3W9IBDypUov#pcNg(Igb)p#jnaQ2XOP9Bz?;qgP#9#*9?i5}hDz`@slcX< z0GBf5?zaKC3Ht6!r-G}hHn%=tf41BmeM;Q+c0q-h(Le$&*Wvz9(*kf{z@ZIURw9@Tfte?@c7qTWUE4H?z=gawgrgv2(avi;swc; zV91lNHuL$#>BB95G#Y9@(D&=3V7^iuh2~_wUe1A~ldmVRE#mEvvTZzJ5YtZ|;)bkR7@O3N#bw ze^m4Tq*eg{65_6yUA$S(__#7vP^x4=dSGDS!dM3cEBlH1bN3t^@XVT7|7pkpo#@=2 zZ{vty-GAZ|jeepBJ9t)78Suht0peF;V&eOp9KAQNV&^gLLqHwhoD%=695V(T6{f0`m~0!{kES@c~^6WRd=r z1aRySM>OQgBLe{-6uPgDZhaROroM6);i>@Bi-A<8au7~ELcoY(mPZOL(91v$Ou*4l zfSI>9w4cLpB9K`FNUW8c$Pulp_Ue3ik&LU*`?OiNOmcWUN@2oh=_V(;>Ys#J@3*K}g`M)K`dnLDKS3M?fmRKtp#E#raRT`;il zqHd;T+Uq(HhJn`!oMWgGLfl|Z3cmoK@-D;FSs)KXwlOln1oL?~-+2p`*VIH(=z=E^!E3l0;OAK;gpa9BH5{JKKfVBnBY?j1u_Y{e4$aMFh>95bH0c*b4wbfOi1ShSt zzV>7bgelnpRD)9V5q(MfG}~&Cuyruu zI~h=Timc7a(!l|ONLY)pOOrlTQ0I>}5Vqt^s>d}B73lwNbC_$S=!2AlzOnA~4 zAWQ#y?@$jQO)I=9(~6P2eLYC;+<%UL-B55!LMtrhhrN@g!1M%%BxPhkhyx~$5?4YU zuCc{9YG7dCd<$!Mm`(TQPaVhu!xa`}P^7Bejtd^m1$$e_H9VxR#_K%#Mn}CL#r2MV z$p)>;S63z3T_4?`0BH%^kI4ogm<2|zn0Y9;y+5vACMy9avC>k|qOfgj4F9oEd-X9W zbMeeMZI};{e2f=gz+f)xy?POGSrpKdbiZyGO?uHEaztF~v{RAz>L+*_Q=XWT!kp6i zBjf1mJ3B1Uy1wHVkQ)fJWT?N}k$<@z2Vy9|nLhA$_lgEjJHuaiEl9!Fsi+W7I{AkiO@8@+k+ zCQKTT7zKrr09F@2idxR3=L7F8e*V`+R2|)52wtrKN{>NCh%h2D`W+o=bf2vGIbutR zDW{^Rckmy?;5MOEhILKEY$@16-5yk&vtkYz+q>a{?3EvIZN3GQRlwT;LtLC!ehc44YvpmW^{;I1NI)@g_IXM?vwWnZGvf+C`# z&}NK|{s1La_*iC+j=#Mea*;Fo+LHkC&{b{&gh4)jQCLWa&blaNlTgxb5Fi}3>OCh# z9vAy4;R^JUbrz};u2#GH#C5&>HchwcJO7wo)Ti9ll;Rf4YDM61p;BKq#4n(vL!g5P z0io~|kC@ol7=HVs$x5s$oFY)9-5crlZ-r@3yqObFU*XwF!My>ecq3!uQeB@-; z#bAaE<8nB@$cg3p+bY!f<>$|zei__xieQ!wqe{?*JO9F!DhOnbp*=!|tUVmd>X2t| zH9;nfRRw(n#BmSgVqs_={ff%aQOD-+@$5e1u?ay}W>7MYFOJ*A$oMRV2jDkG-Dt}4 z_Tb6R>w%pF@kX}!8l&)B1gjDx94~x(_dk5-#+?TIdJeZ=zE|ake=YRhXI3N(mjyya z>%WIFgi+q)-{T#)5Va014{U6fnent&q(h3nl1UeL6gsW#Q#b^OJMa(L8yJv{q9ncF*I-_v$hC)>At>~;_cV@!MS- zSNW&Ma?el8KDhB^(^cl<4>7L|Qw?(UB)r#T_hx;U1n3$gWjz$!X~~`Mnq3nVS$Y@$ z)E-dN)900xkZBb?8f|r=ji9~zHREU`!;O?v`cFI&bQV)P{`eiDm+xH;SE;*TR0AY1P(RZ$?V+ z>Pu;o=dZICm~se;u>YcCV}Xul^K9=k9xCL&{{EGT%GD?UPA>8xb5z@jFz~C6S1pU4 z=|v-OeFCj8Q`u?p@e6!z!AmL9j%Yg? zkYCFRxfM3pZ*}M2cX`GmCPKuBsBw^zmYQKGX9eNcgX&~YD_V1PYwS(0TS#AqV1|y$9kGSVQ3MrvJ}CHX5o2`N<4=*}!M({k zd@~=|A1ZMRP<=m8BE?ZHKdOjQvt^9FWry{Rr-nyq6jR0)tBpm&!s=fu3>6wom}!UH zeC)Zr)7vV#C2Y)@k>3bk!PXhp9^8$)OmL^CxsPYKhil!~VOGxQokoZ(V}%_*D{1h< zmtqKEAz?r1kd}gbMe-)KzFd}Z+1XQ5vU`=zcyjPmP3#+!F)e~`%&^dbx(rlKe}Fwa z_|$^abMfABrNd;SN~q|oX({R3%6!q^Bekn)I#Gc)S#y7I#HNs5Q56#(>3$}Gx>I(| z(Ut_;Zzl+U;R!#CFd(eO7#IUe@@1WrIH>In?#t7Fhepd8YZML-!Sl56+i~M5b)7%Jp=s7QWQE2jKJokAyT z>p;y%9gcQoFvM>#k@Gj(VSs1Bw0u{%HQbCx%o!9~plC*#81Rt>)k09XcGR!ROJj4e z@cj9+h(2FHsxU+{cPceDO=NaXH;KE73;03v^sjPF`CGgDyeN1X`=Mojp1nQ1=d#^x;F;h%uq8VN%STb^%y zkq*;=4Kgbe(X2R8BIGt+hp8n8%qT3D2a6Qg*2Nr@tx2iAjQpO;ioF@TVdB88&ZK3S zTI_r{$~#ht*?ki1WnHAF?Lvd`gg%t;DSv+ZwnV9HfzLIwMgS6^j&&f z!L!1`5hjg?$T6PglUmm8P8}Tc*Fg2(PLe9Rtk^y%SkNJ~Q1hhWOMyke*8)ugT<1t+ zq7Bz`(l5$SL#fqL)L)iL@lf;VP<^|!wl8|{y1MU! zocp{@5qxuBSnTfi=Ew2UKU&I%6JKHAhEju$Ic#1sM{JpLvUQ3mQ`Y^M!zPx;OM}csPgcz; zx!rZ!Mr#`@WAAHID?~ISo6UG?SGyox80?r=T`} z6ll0{+R`N@3c^0)i zKzgOX_v(RS^|%uYzCyRyz@xt1#;fjVD>~KUeEh;f)#mDi>8c5_X>%|i{rX^>&|W}S z$a0bT~$V~w>fNeIBZQ;Wk(Xz$4d|8IN#RrJe_aq z?%Le&d3uXqbf3@nIF$SXe#K-*;Utex%lRPrG=SAWy$16t*h4brtYo)B;MzYp5REw? z4I&KO7O1huSqF?s@ONmQo~SGR?ph<&<8fEmz}T0kYPwqVo1xZ*h_&NWjeN)?C;N3V`i}bU07L(@ z`B5e(s+oPZn*{C~9lI{HRNgP`0`2JN3R!}S7v*=pzZz#>yC1t^_rczpruk%9yzK4V z>jK_GOI&w)d$o#^AO5f=K?y~wqRuNMB`?YE{3s_EO~BC{v;BP-Qpfd~*A~ReSFY?;FfRy$0{I0X_0oa)mck z+nN=f?bj|l82UuI%oj8myI4FUR{PwYH({D9h*__>WSV;UlbieKOG|ko2Re&`ngQ~b z7_$ak&XKO0LCS#3xSv1vV5y!dZD+XC?{-nG0o(XUu6EH=2mW^Mg^THZ*F4ILmR3I0 z;ZqE8Ye!X)r~`2}?JL!qZSI>s_cBp(JGY7k@92tSum{=8!!cz=K~-Dn!R`kG>nxXe zD8KOz(U4q>(=O0C%{%vJ<4R#4cST-hj0`j35ZbHRNk8GAWDg7@Q(@7=%fsW?6l?~u zmyDEep5U*GU7%rV;=&w?SMiI>L6GNK8RNDcJ8$9+e&^zOf^Vl`?1dc25K!MmQtCV=p+_eMGf#Exnh}f+mM5y!6v@w=M5NXMj?nDHBzQte zNr^{9L=hsHsv?ApyCB#LOA1$!^EXhrn|orS?kmX9A*16QFFc7eLL{l5=2y;!t5H1E zF8FF+rHkI0L_f~09jg@Y8Xfcw&!tw^F63T+gDKet7vm2^}m++{ffeQ-=7pHo|w10Tc}_2aaLoE*2FnA8Xcp}sGIeEuzj*)Z-F+# z_1Vahup&xBp{PeEtA~@-RWo4u4^|?NIQ-_?TNdp>lmUCJs`$aupB@49+A8+IK)iLp zkBud??)AK>Qc;@@BkI(^fgXCWO3q?HXVUfz|I+!f+Bd7j#?fw01*>ZFB6!a96IUh| zI&+09oYV6y0~al?O}gurWXd@xRIP<%O7}VIutuIVzE^qHs-QtHvv95b%ypdKwlSSr#4-B*zbwT1%dI2vq2s*evI= z6wv4t%?|t;ysIlNLE_Zs{z;(A^lw%lepHuqbv8!PDa$$SR%+Agt-O>?rS5^frsa7o z+D8r24Jg3Hv1Wv{q>r%4W%pnb1>>2g^P0`K|<`lAqJE)EKnm*mJ5 z+5BOYno<&Qv`j1J`3}_oV3-`RpBL~0mL#GkT$hQJR8%(7@V;$CT~Kjmi#lt&g{G8+ zJ+U508VNN(^Xn`|+{04xqf~ATptVLg!)_N<*ES^vh+PkQp@Oe1GR#uFus;G6F&Q_cG9`3fmtS(zPGnY4Ss!_D1*v9|u z`QFm0;jrbtz9MwAmK>djL!n6)nomovXiI-J_J;K;w+2NH)2X;W+}Ksu0{XbOY?d|A zsE8;wOH zNIhS!6^^L5sd1n?xlaibfGjPJiM%LCgx@TJ2b1HxzuVvzc3VQVCq%104<7S(uhGnS z7$!c;es^;@<(x3Vt4x@~Ya4hkvZVWMYa^Y1ncMPUgq1OdUVISjhS?QB5k{qsqu3qYmF0PNTBBz3f9;XIVBl0? z?ALM*Xr8_8si1uVS+yi30=9WO8;J=R;lgYQk+Y9gJ?x=BB2Q8Z0+`8!_cABwG>!m3 z0>*K|T}xJaT3S;G0ut~@2wZYyq=FFKe84OOP*#Z4Jsd*NCX*&YtcL(S@*Qj~#=8=+ z7c3yNFZPhTi*}7qB-e>g%y5xciw0He#|Y)OVV&!H*^f`zpshrsX0>`lsGnI;Qg05U z!(VEgabf!SBSL{abnBBN4O?jJ>eijIFp(^)8zx*_sk7ni4vyA)z56O!MfX~K`8OX@ z8-;I@X3ahAr=0v<@Fh?GU>C0! z7+d0so-Gb+_G})S<3+Ue?Hs_Fj>oQOtt4gO+<3#XcU9F#PW6wP)UiPiJ*@)9S1VDq z`q;A3Wxh3vO3}8eZCY2nhug3ncf~-1w_8A(L=g(>;b2jgOJ9H+)6#Dv==}I)?5nzp zMv1hVzQtS4*JK6+ZFjzY_J(%WvO=sLzw8~cV zb+iht;s*Y2;MpIYA*U~~G?qFfeiJ36`jPXS?&zviZ(n>Vg-(tf;BsfA?g^%>g0i|SI26HUiD7-TF&Fdb zpLdC`L^rZ+YT@?(0>x)FYzC8*a`Pqu0s%Uc0O|!C!S9(j+%TX3nf;kpWD-+=JUk=y zlN^z&L>##GOaAV&`Wui2iIO*;WS2^6*=LG-KbBN)guQT-bTTa8pV;7nu5YbS#$XC* zd2U4MTKsdL+1#OmJJ^VW0e$Q?QIkmiXLc}5tCCe4xPq$RujedpEiy}XKPi5a9aL+6<;|P zyoYL(Iwm&CufGmbDi&z)Z+v>Cu6?R*OW4Vk__dsT^#Jt@Pb=jqdU{=5OCv^Ctl8~* z&p%wcS{$BMh^O!`Ler>M?pMmrG+#NT8`9ihqdP3DMdwsKVEFJmN>|#kSAsksuv8RN zCpSG;)~CH@%q+X1r6pKA&+vMDNpi6deI`O{{Jz$O2(wutnx3U0O2L6ZVoZe@IwDe) z;|fJyX{qkPMNfmUr*W86?Zyth)&2dFB9`G4dR#td@b1Q(=C$vn6Wfzh-d}&WHSyzf zj_~$=FRJLSOtKH0;@I7c9VgaBhrer|3}pBi2x zoc)=6Uk!H@WujN4k2`ANTOL{@KxY$-2$jb8whFsoZ{-kuyZBFaT#M56M}p4--n!O-Zt_8r?_ zIdc*=hnL^9bnWE9Ih&bbLgY?!x9g^lvrzZhZ?^MY8NLJfnlI2i z3C%sz*3x?R4`9{?O2;sm26h1~B#~WpgbA{{gtfznE!sjCQywy#XkL*NqN)lAuXR6q ztjd|wFwS~bR`b2C55M_lQ*wUQ#-Y!4kQ^<;hHcYiZR*;b?RI+h>p}U1#q6=_>VCBy z?zghr8_w}#<+i)*MFSrf(Fbk=W_9QZhjKA;*AMZ0!m*4|VLFm`qTYt6DR6w4D|;L2 zCd(khloZmG8F5ZswqJ*`V6G7lx=yk5 zsFJ&l^@I*%{p^iLPjNrD9>^Zx4Ca=-m3+&ZS7}LL@>~&veR)4ejC-FY<8K`Re^{sy+jj(pI)l#}q`*B@Vr z*|_EYe!pjv@!&wVPA}K-SQR^@ z&Q{s>S$Xgka9LxP{LU`fzpAx-w?jPFS0lQTDQ^0LWpF~vQr%VMxUS1Dcul0E>S=7< zFoULU2?vFl#cPhu(ttUi7DI{JVa-8RuHJUM#6>HbG~!YLq<*ocZ( zR1_>ASragKK*7F9qi$6Y!ZZM6lJMrxz(38Z%pH8Y`@5Io@AmeUV$S|^%t5Ha&4;XC4e+9pSL*=x#P~8%z+G`Du`eSkJSkL|q6% zi0BlTLH+lR4pIcPdcukJ(wUQylE=bG+Xleh;)B8gYZ!R~5CLZKv&Jepst7GWR1|?O zKk3&MErXRBQkerPbsa>V?}&?^zaiiN1F3`UwYY({|HT5VGRL&Lnvbg&s80m^^*i3+ z{tHwxP^z6;Z=<&`HEr&{#P4gZz*1Ao+Y;Q@wmY3fzp>U4TwmcTLVhdol_n=6GCw;v z8!~=6hSV(RIoFe7IG)}G$g(Z*1| zyVj^slr#l%j&yIaTxxZW2|Ia^X@c)H4{`Te*_#6te{9=W;uL2qX+OI!2NXM&%FXz0 z=|pIQi}Rz|@fY9U%}`uIpFiHJvMFms*i?o~A)OBvb*hkl!xhEn zL{c?gYd76z-Ev!8j*h9lyGWwJ(!@158L*5}hg&EX1|D!9ccf}6R7$zOweiTk;#K8BQRm{FE zt!rdeugQbL$Y<2<8EN_|(`)4)>+QlGl8f^Z7v@FX9rIk)+gJW-6xpu+p8I`L%|;rN z+|+FlT5_I#VQ<}H@9Qq^8pffa;7FVp*3*cyM}^Ohz5Ci&JF=~XM%2Ep(}=64IqOWDN+!Gq=8s6 zIR!;BfX+6jgX!JZq6AWup*BYBK@qfs-}U_ICpqF}V$oqdgEY7EJ^7?KwDa5a(h8ic z&|e=5o87bm9jRf>(>`Lg(eYrGO`(0&||N2 zUq!TFX+>NuzeSD0+{9G`?&cDQ2W_yg#H3T_nBIq*8Qm_wr=*a)fPlTdHf{jkxnN*- z&7%p^=yw2~mAAqiX@iw+egl-mKLh}1!vp#NID+6Z0i(LA`rXK^k9@7dD$UsdZ@(-D z64Un(-#n+iy3hYv(C0sAIgwoX^PLzS(PpiQ_n@{@VKPn@eq_H!NEo38^df zhb3$9=D!$IbDCk$ppcJ|Wn;An;eSqfgMf^rYHLi6A+WVKYm2b&>&aLakr^i@Zyn)? zKIgSjE%Yn1y6ix#S9*E9tSnkz4BLXX&8C?>m*89W8dvT4^$R&y@#?fTSH$YnC|COL z-?|vOwiXnf9>!*XP9@!^XsdC4eQ-d?(_}rMTFvme<9a-vyqkSP%jjhZ{*XX)-`&4( zXXFz}ng$(iZm)BFAx&X3KCN2Zh>_UDx4XsNj$r&taih*r75#Fv(U<|3?o4CO{3mT~ zkHx?TU!8|$?eB;{PhVQwywTig<0d||>P~kDYhR@`enEt(;Hbzoq&9HD9TKJW8RqUpDztR%(Thdp@X>+1q%tlSkan>aYpr#s^J_*jTuDnD^4>9Ise1#sSh^f-&~Kwy)L#(JiEv<=%qSL&JgSn-l# z%T~)x)?&`}40=7>hVS`DT4Hx6+DIZJ9iJ5{NZ9>22bZqS1ngzG1NJaTU(zLtM}8_G z`E_jESBAg9iA9`?M2an-sd!&`GamMfb=4yJ^hE;U3=12+ahOf@cy`8M_w5P`{zt73 zDJIt_v5HxhX&On~NNY@W{p^3e@s3}*|Gw2WesZ#A-5M(h+yGyRzh(B>6IS=fyp0_J zbaS*bDNpnd+>889TdX-C&_Vit6O1|$pcSMO$VXFT$5Uhgq6fzB$_fWU6CngMr6-r~ z+`01t=QX@Ndd+n;`6s>aZ>cspKah2PeG%v}YcFb@#)@;sZ3WN0+_HHhK@2wvthc%y}I>=IW(k$qiY-5Dj49%lRdDsRoSvkxz4HC!Nhh)S&+ zm2TFL`cXOFT0o9@A5uhQ)xux&T!hko0EY?ecH-E7PL?&lWoUw#uj#kHIW8VsqM4|Z zSbIeCNwA~r^yR}hcz7kZqyvL9Vri-+%K90zBl**?4?ca(OIKLYcE|u4Jxp) zQND?sJ3y9V2G&x|fg{u<8OifSeH9%Vr>@hqZ?>??d)hvX3XK{IqSHaDpxm^dRls+F z!6jIoq@D9=!~>)am;^g>w*{!y0=G>Iw8m5Fu05-vT%XvJ#xiHee64@Y? zP|nHWEB~zW-yld#(U$nj-r?RRQmM%VUw~8DLvD#0Y<7aa*P_~W5g|tzEf3bcN&h28 zHo0@|<#QfVQ4Dq~5hh@9ibeT*np`k%9rqCJ8HM%&ypzl=EcSrui(t0m6my<>?C0mD ze?{B*P6C|tg>b~)7c&3PP`AObT{XY5cxuJ#dZ6@+>FMb%DnQymx|rPY(Hq&JVLXGj zo2^|tEl_;$;^Itkm&^f)vq!^>dX*)6xelB3HHz;ymEmvCc`gu{-MjTI+q{%C)Kq~( zhUv`(WGOj)tE`?>xp)>`QvL1W;;>?O*7A|1 zkfu{u=V<>@QKz3-19^6+fM~5>ruw?~?2q2{>v?d{&=96*mkOGh$|zLCu175 zaaOH5x_-hvdA)<^(Pj4ycIJ%Psn3i-Pi3-Y_bIb%9xCY=*T!IPYK6= zH-8I+!})`uapMLT=R83&_9vGaUw_`L#~v2}7nYRo@LI%5MUMD`MX3X&gF=OGvN>V9;K_2&-fn7z20PKBi$j;0J*Ts4c}Dl@ zwXE2!Te%K~=HDRR+M9!)4f6AV9S_*MH?zWNHkxcK$c!F%qd;U>hvCfxu7~#vOa0=)3SpjSW-1geSspZH45DT{6 z5*darugdi$evSKr7Y~+%=5SfVv_K)8q@*{DQ`IVqcd7OLvvbrAAX^D*lD(q z!meju{Qebhb0>D_k3JujoVrl^1mPc^Lxay$vtI7bA8&h*tUx3k5+B&4@R!1ug+>+NKb3N?}14fU#}~8 zGFhc~^OqfVqOs1dt?b9BS(TW8khYi4sBWR#{zRpcO=qDZZJ`X7Am-O5FFPF zx?lMTqy<(af~#+mw(-oQhFIyzIDg9Se&I$6nTxLy=0h{Z4@XU!S~s!jvt=*ZG$P;I z(62TY>58q<;o9;>Y@Go>t(t!so^f4Xqu^<9K?knI?(Qx#-9wMXUKRwf41^K2+vE7@ zF-?ip?jG>SeAhnam$nl80*I)SN8^)sL_~f7*rdVS@8X%mP07D}CjkBUYfr))%4jm) z0rTci8#8}@01Pa^41w#01Yv~C1P_NfO=ZUxSIY%MddP1GV>jlJM5t;QY)2t~ zodCE=Oa<5+9{9_fep0&)xKlSKH9`UcrH)w{#j1~?1cB1GLkGjOTF*FL8li}ei{>|t zxv!Q-t&uOMZf%sNqn1NGVD;LK`boI=7z5GrnI|##`x!2rPIkJ-Y~TA<#=880j9@$hGI5svZy9g5)I{Mvl=qI4x~ zOBVZm9oKj)XK)z{hin_mn6-&EQQ6Wh1Jd}A0q&uatYxQ%m0d zvf0+R;)D&$lfKmnxeYzV2Lt&=CtoEo(zdPr>8}v7DM}otnM@U177v=+c`@B~t?RWq zap~voJJBNcQvXPMDZBEp_W0>&1|YHm%;8)@pI-Ho%!v@_>aE{ci!XdCoVhDl^Y+`O zPw;NR#*Q<%A>1_!2!TWVVwg%PIh5gbhoSs=G1zd{8&>`PXGPVwcjJ&2t14 zt-1`@U7SC?Ej!YjV?qdk@7ssA+?owog$FS{x$GvZlXDru z%&jnrwqFGHw-%i5B8$+h&E=9N6^RTS!b2)7{5dq#28d)hW$-WW6mtOk2N)X|GRj|; zLpEIuM9?0>uITke;LF0s9SU7Y3qa(+z3~C17AW$8GC)8`2o+ANlS{^;Uw7qUq4&Vh zr=LZ*+Rf{4)RYQMX50%=VIiinHT4|>qw4WL9&#vklVcKjRG3O^o`hRJ&Y_KE3uZ4o zb4BAN@qDSGK=G5%Wwlv?@M@`x!Lq!q@nM%wJwkf0D_rUG@2*}yG9c*Qa%#A2#jV_m ziQXzVJrX<19m%f8A)4>uYdycgX@UwqVswu~Z+4&!rvV;jQbgqA!+}`}JA*IsNjFgJ zd*5zp&+ac0SZ(Dee}9!i)4_drDJ7k?%Ro6nQYdtKaNG`CJT@@<%fH@x(YLQmM~I}X zp?ta1WL1LDMwb;cE8OZ3+TbNwWuMmLW5zG}!_xmUn)bN)0DyKugrN*X;Bq?+=($u8 zw=mf7%?KlcHUzayJK5PimQ%tPU|yTTq%sC@D(cjX{Eck{Nmcq?l~X5e?vp_0<6csh zM%G34eKEmk+=#eLb;Lc}(zR>|8in$-ZE4X$cEPYQPD}1Gr^uMDkgbxPd3@X0%VA=H zA(mr^iAz~CiBpJ*E$15jk8%_@YI<=SZ8j}@s?B%%ALNYO6v7TVtzR4X0}uz(A$c)` zTBU(b5n`~r7G!@*Cm!LpG;P~7wIb>Bc%}Q8R6!36&yIy5e?bB0e>h9eoMQ^;2?Y89 zMtYlwX*}Xo^!KRguaG3L7JGDF46j(k!zL21O;RlBhrjQ>~`1(rx z?KgTE4N}6`8;!T}1=-bJQHQ@*q-tyCW$KT9%zldViB7NV6GDQ9%hx1jzF_VoMqP`+h;=NCgoJ|L)JBKFIAQH6L)Vbj994%EHJ#iH~HtR zzVHfX#AaN3$?xX)SAQ(_?~!n1J_sWyaXWPPalxugP6W7VKWK((po7Pot#6eCq(wzVo!?67H22zQX9X@fOp5{X zti@3dJuqVHhuZ|f4SF^faOnCEG7d@dpBxS(F=2y-YlsX1(4qqI2SCg&bC?7!4;VbF z_ziAv!0}@i43PfQs>_P<-%>7~Gu39gWm6P_x}i!gmD;Q+G()geEyZX3^PTd`k1EU; zM3!GwKe#MF^zFHKYO~2u)=gAAdkrH^|F`GP4MBhIc|JI-4F9Y=&vq^{Rw2r*&ou2a z8>@2bgW07JY@wb>yIFvmV&6 z8<;>9$==eqrD~rXt$D+)?*9i(ZYuh^{kqs4DTyJulwnaG5FHz%_jvohXi2!Cfl#!U z@}Vm)B?*b9@B=^dO@ARID2s!+wpeB(8Edks^!+i>%x*i@) z{uKwvGu;<2C`q9T0&dHoFOHW=;{52&u5r#eV>w?kUtOV^!tUwy%|P3 z3NNO!nx+rb(44<%3tS?Hkg6m|K0H{%(SFDT&G80Sr5Def4A{~PXvuk)0Ntko8+3;- z6m&RVaM%EvXa%$EBqx~o0Z|*i1j1e!vUBCAin|9uE1-VPprw34}bct^TJp z)O{bmkGJs_-Pf;5caMKi^iC%$R@&-8A&X+$t(*|`4ZTl^S}o1Iq2G$-&;R&B{06Cc zohdx%VzuqLDlS8sxB|cW5cv2dJEcy{J2Ktd>%0Qa6EiQLL)CcTohv0R$dl3 zo?pXJyTnCi5w!SdXV!;}L-%pGjT()*ZJU{}&}Wi5gDDcx#?RAH-%J};#2bQ^dyY@p zH-`M%Tf{J=be02=2Bt}mKJ-k%;D|M*9Zc88<1T|@1p>VT)(-U-1VZ~x_6bFbpJ?_V z|EbV0<;o&>ox3-jT8J^_$Vfw=8A zX6fh~`60&b4Zfpn=feSNm){kfkT5Lx&d8PrqZJTj+=_J!K$kk&I#uAl{`X>o;KinA zWaRZ&!h8aZIuTfrB_JMk!bkvzyGe1~>+US+J7AsMT>=T8jL9cn= z7c)y=BmeX+DD1Jw&C;{!t23k5MK?Z(t!3XDwsKa9s89GXh5KHkO>7_WHYMnLmY^Xs zHsJ&R&*1;V)OEm9*}v~nNfIf0Rz{MQomnzUq-2j|@0~pwvJ#Sz9kMw>j!iO72ubF# zPnZ?|NT##<9oNk)=A$4MS zpY{D4z4%~46$KtG{ED^3>uV#D$qC6A0m*&5-cN#NQ4d7gh+Pss;N^&zVam7mGQy6< zG`k*6yG)j4D4i1g;mdm#qro4!u$9@mfZ=wcyEyZx{vzT^@1;aw-kTg4Sp`n`SOMW?dgtl)Iqpc=O|yZ z_jA4=xxh%>dVc*wnxr>8zjw-91@}%AYFVcGj=np8WS*DvHMN1V9=VYt?nLOz#i?O7 zMnMgODsObCeQi}*C?O}-#$NDt+wEAQn?(wXkKpZr&evY<7WI7k5)nnWXV*!xn=TwN zJpQ!heck+$V|Z)Pi*~f-MX?V4xFO-7 zIg%c(dg+_(ADO>d?B*mZ5s}9i(S}{#pX>#%!m$cviqMg%- z`$fF{J3HcyX29?47jNp$_>^30)31M;Riwz`%<7qcu_NQwY^7|g{^P~>_|2^fSqj>d{jbXJTgKa;udPgAVD9*y?jgYv z?r1n!OM(gOLOz#wi;vAQ{5dkR=2u$0!LUmR9?<7fg3<&;I9OzT-vk|}(u7Su6Q_%) zG3E^tHvNXESQFv}T?1EHE?P(3x7P`?e2MpU;CC`#UctSj$IRVc54ywhWo&hzhSt^C zd4O#CiJhJ~N-p7t!M!W$jGEB|(M+lJ57&(c@+;X@#F9)?l}FEoF+rIuL>ZR(>RO2C zG}OkT)7&1z@6R7elFBr_^qk9uKjLFTPLJRR-7Sj+(W??S+PYr33tNnd>PrOSx2n*g zi;|M)APyOpi{b4Xj*z`fRm-IW;`8JrYe+GtT@N%mUyO+pnWH7(>gEv#7;YtyrfS?FcxG0vQZqcLQ;1sLb*tBq=h) zuOa{(BV9s-;tEn`OPe1~C8r1tJl7=N`bu42qlF)8Rhlh4e8VSQaDmnA_LU0L(6U1g z=Up63NB?+~5=Ktb}zC(yG8rMmFUUxAd{85hEi z*tteVTgm#Y~w2T&P7)T`h3oemthvqwXQrR z54VJF3QjqI$q@T>;_dZYN<251%9>Q~nnE!V&Rg^xicM`^(@0hBVu|&Cxd29%Tm_oZ zOmA>f>v`cX%~|qS_~}iCs^Wt#vN)LHaChDAQ|!puLe%SwA-eypm+_HT85g{}vi9>Y z$+41ay*>ATpWM1bu2Ge`8SB*Qf01#b#**j3?&qQW7(N5n!Ov~fch2}Y4ok)#I&V-q zlu11DaC?&cVmRKjFMa*C9XvWn{RM4?{ZBB>A9X0n^gG2yco5BOx znE5|A3N^PfYm?_&GF^Xesc)ev(6hie`K|l##!I@JwagJm#9$FPeH`G){@}NleL>a*z|GVJ1tADqPwRqzp?N9+THX0uE+Gr*FrXD6xA=#Uc6B8BK(osJI<$0{ao%W zGJ{;pvkYqM_r6+R^7VmC;#qpuFM1xIW8{HPpQYzc&aRHppcfypwAJ85=~y>Q&99P~ z0u>G8_Dz*~o(x-dIzH0Aw*3!UkI&%B;81vMH8$?$vH1S)?+thCWJ%9Hbv(GpW@YJo zOU!hf zjD(Jp&>OaMIz(<$U-YFHPV>sO4gGL7{fFqx@&ELrDn$I*#;gl|d)rX6~Q{t!=H#2*G#|8GJV@-Aat?gP$2W zm^U*r%p-Q*j;Ql9jVU}S=1F1YZRW?WvPmI)^|iTVx}v3_zPl`}OF7w*iewEKJwi;B zr+4Ho-buN3sTI^qAas$PhfW$uOmH6S7H=mH(TLyR4AHYaIQTW}@y1^og6>nVU|W0s;as z_o~G^y|f)bbN`rX{+Zne;SE~h3V*=mx;qe8v%Iq}-y^<55ehP^E+(9+KLqSo zc`-{8;i&^229pW1nKnmgezlg^2<)iP@c8yekW|}{zrTrn*NDzfoh7t%PfM0@b&gm% z8Y#K5cQ>T1dtG-m(~oz&_l75Y`8eOFOsj5xtE#V4c#rXAFXc@h~>(X>Gl+Dr2-%bj{89xUQ@25pxeQ8F4LE^}b%(BgVbov}o6L-WBn56yM#} z>9ju)1A-J`7oRy|VWPp5fmBvj*6VLAp$4cnN4~*GeL=z2ZXjsRDO+3Pn;)P~n?)Gx z1hlQoFvWNNaElW;tG|bDPJWX_H__W#OxnI8~xA6zCB_hDZ zO+yYUW}xE;6C=>6IRw*dpopN5aT>&DVs-h`6bp?n8>@9zm*|Xq@O9NinYo$y2XFhQ zZiGdT)n5tuKIJDDpILLBfM^+wITe4xRSZ6;UBoFk9PK&M=UU3T+|X?GWJWV~ZbsPs zHf`qlAmaen*S()=3X(mPT1)J0H0v(Fo%|?+e(DZtfW^g;pc0y|_1VK1@BnA~pgdcq zjJsiQLlNN?;l$AvTKNpE)CQM}J-_8|>lP({pyr-FdG`B_=f8zQa?Hi~>5@)9&piKq zjfykdP-x_C8i|1BDCEfEi9qGz*4Co4q12n9j+`%UEJ%wsep*B z^s2D;4iAHb>|e)9cjE*Q&w++FS+Ig+)RAlFPD6vmLL^?``Oq_?o-EUmue9?i>D}&b z4#DBo!cllvmk+6UFHe_8oJul3n@esd8=P-xrj2Mdcnpj~n1uk2m98#*i0MZs{N@g< z%yVqfXCsv*TwAAa;e5vD7p$nRH|M<&6)=F3wZr<+f6J_O~X)f@4*uNBb zgF}t?ds9>Q?t6u~e!3xkws>>XVQv&*vWhOpF>@>_uE<`hreMO(qc|%gqadB)wXVkK z0Ld?noIcG ARtLs&f)w4tD%gov;reN7Lfo4-_LT&iaQdaUE)8HV8Jy{)(8x{ z1*NANPW~Jc9<;jsoAU+>i`v>njm_Rz3hE8!FLG!wq|5HJ1y#-!8E22i+50K4Lw$5KS%gtoVg_ zc7KOK#+=wCJ5Wk`Zow1WR$O4Au5{gTcQ@9tMEkwLfikwqxWS~1xOf{NSbF;UO`__M zaJpj`2f8n(`OaSg-d}hR9{X~J{5+Zm>uRea5b9AE50^^7IqyCg?ze zitNhX4kBD!3X|`|UyF-~s>~xVuZe-(Zyv^W6-)?r07Ge}aOwfz_Q8Ho;6e-;Y;E@a zEexVIVQj*>j^3!FWS9F26SWjYo_$x;V`1XK4J2+sJ-7ySHX4HrHv+=86AE$kA4jwZr}Tqn{QLu09FJL1f-(_Ci&Q2 zcH2;uIPC}Um0xe-b1$wTyF)8Ouaz1m*yNHIWG<`Wp0~qu#pLA^>T9~Ee(Pkf&A*&U zGREXG9({Re@u}pw^JR$0i+DWV2ilo-F{x_YCrE>aHWul-7(=e}&>#v}&@~?&pwk4o zf0`bm5Nm=$tA%HFo1bpHq#XLCdG*Ujt&(LNtq~lye>A5Ivx0waa)E%mvzgg5ME@J9 z95wTwqX;0me~*Xe*W6r_&`W7@MCH30G=&=X)=ToWc=HNg*e1cvg^rvLumPM;rto)8 zBM0_IW#bGYYzqt)$75Lgr$nrCV;68C5wWl3%`Dr(9fP??H6AIx_1&P>fQTO;_5&Wq zG)m`b$YXADLf8O}zzjlJzpp%^{r|~L7i&9VGQRK>AH#3>m5!W`micG^)A5jzIrWf1 z57UGko?kUD1n7ei3mLCh<>yutzh_XU5&TFoVkfq<>aJ|NqY|7^=)nz)cd5I)Ak{9L z;0C+7wcVRnY>L_yhQv3z8Z|VBl&U+*4SR1EsA zU`ST#0RoMo?15k4E^N>lY8T0*<&1Dr=34flxloK(i2@-v=lk zKpw0c_zRF*K^C-i7_g|y)P00N?Sp4UMsvS>`Qn(hDQ64Vf8(FRM&J-t@D|E%4?%~q zZhgS;9~7(2y+;-U_!hGG=lcs`dI9DsRr%=r4wVcHO!+>%DiGzq-`^$h(C>p@9ub>- zO0Cl}Po$$8#lU)HUzT0tn3hu0-F}a*0OV{;dvr!JqUYz}?v{uAjx^P2@y`?$>-QYr zl(I6XPh}MrN2jLNGTJe7QakLAnqTTz9-(fJ`vbrC-1{^n%CLb!qOhi>21I}mO)+3( z4DP^pK(MOOMKJ>6QnW&sg@6fu^e4GBH}NIE4#Umo42zDqxfmL3ZRVqvB?o4Z;@2op z&boe}0}FXKpz*-}0P_(^P!~kFXHb2Cw6HWH;Rb>QnV^#kR2$Ig2y9G8WGj2{SJcZr zurRv>>WbAyl+8i_1veJ|*^d1@B?OwoAY9Yq09H2m?UiP#VE`@>TyS~39*6-Tcn(tO zKM3nOJC3f)b%s-AgmKXPtl11u!vxQ~z&JEnaO2BLN+Ns58N$P;(gT<2Q|$^~WaQ@+ zEI5O2$LVw>66@7!Qd|&4+wtxBl|ga8OUS)B?Nw1$_PHc*{W3Dh3ScSVouC1_;C}h- zCM-h8;SkGe2gx3yi)?hxqL2w{b;>*5tGh=ewwU@PlT0~B>+<4a&P8g@U$N=eL7)hf z&4Gmv77_qm!qHY(zYZ%7NMbOX4vr~HzjVq6tZEI4L5CSsC!ht*f;k`Cewu>Ruo60z zGq`B^w&l&fv9ZWZo~_+VT{MbT1vGIE8u2iXUW3Xa_!4AF!NLS+B0$OLfKPlPSOIPj z66TRf8W67YHyq+$O2t22tPyq0rM*_Nug8{ybItnclJ(OpQ2;A#4t61!<-P%02K%IE z8HL{?72!ryo&48(##}I=a~1IU*LQhZpvMx1!9l2bY!%#*^hk=IzascFm0E_?+R_Xc zieLPybhSdWtB+k?YQm-!!=e+%+0Bx|&v1CKdBt1aT+|Mm)FUw9JWwQr9+4Uk4e$xS_4l_T%0^cX=IQ`EgEr9?C|)B1YM>(vW#t^o zo(b@1_Pr@~hyg9Q1C2Ad1&9LlA+#f?%-z+Fvk`rfV+;AWSt$d2hGHF8iFdqSmql3V z`&^f$9Y{a0Myrm^D351YK4ERVo*Fu`ImoI;{~p}S z%G2XB)2Ewp)0dNoehXr9H4ksg7z_mF(2@uD$aoC{Nze9%z*pb9$Ob}oTC}Y3V7M}( zP7lK?5D~edbF?zqR67nw(`{+T^DQB6M$rYf#MQE{k~U^O?fLiE&n!dn)9bmuLw#7~ zZzWl(K45-U)CsE1pyIxOt&HYSi9$s8pgFreBlx&|vtd&fcyBc*BFw^M*fI&$|2_k4 z=k4w79+?N{PER89%a8wJ9;?Z)A>#SlYnFSf?EBP%9&kQd1K((~ehDNLkF)!K@>{OQ zz%ct^gT+s|xw&xbI|Ag}a2@6q$I$pOrdy?lF?I1ClC=*@jfCdH3l?nbr{iZ6ZO3<7 zb9f6g$_vhwCrgAmVnIP#=NbnaD=fppe$YrXx3sh@PvDRPshICJq6lOaV(PHr)^bsl z>6BWZg`HhNf5pso&`Aw=FJ17jDFd4yB%4Q$Q@-l5+C~)3Aj3m=7l;|bl5aZXVJjo{ zC1Y1QHJ}!XBlx^wrjv-bPf0bJ`f3rLlqLL~)zbO#vu5lWiucV&cat3SU@_KJoIEyI z5Hl!#N46)c*XA3rvx60iRi`yTY0MhN?eJ-SQ83YZCj96jkhguO#|Mv`=U@_F6I5sc z{|EmA7`CY7P4V;fg~JmMkS5fpl~L4WN6C(oATq(_66eL*O~^Jdcn&j4Rfg;N)vxJ(tMK#N*FLO%f0e*X{^G0i_&HF21-J+i@8*t8u4h?20ova1 z4Y-WO#l?ef07WA%E=~u3YV{Xn$r*ZlVEO}>PW8JK%0jle2`;XG*J?e8>Zd*4^FcIy zK`9F%K0#DO{5`xz2Z%B>N*Pe6c3dt&o>G+{8u$GJi&dG}ok&3A$|M<#G;(~`dtx;AI{@-?O@si60T5~imG$O z+&mqr44E|OYKteshJgeehr3^dqF9kJrD&<~Q5lTbrJr~?QBW+_3_smtnY z~+!h2{seEj%)Vi_a!vS%^nY`CI_Sd`I_hgcYK(kSWD-MnE3 z4I7qUr(7I3+pih$o(BEiSU^Ldlg9JnGlWZE+dlI2BoTsA2pOsa0ntRY*{Ge6X46N; z){vf92;VX^WQLFk5>=M^P)Pt`qZOw4jpx^W?IG3x+Y#|tkckF?{|3mmML;jRd>Gnm zqUz0fA`p6j`~j`Cvy`D%y;sgPJ$wafkVrEerYNAlj9d<^I7B-bS%%q~>H0DJOWjBK zFs*K*r%ogvCfAOLHSbijEIj&XDE`~8h~mf3qcraKR;YNHn;?hHoB!>4x%6nzt_7t@ z@E3s;9jc`s=u21$s*|lAU6Y9pnGrH6a`(yklGx6YU`4JM)#;8s`atK36UQq0Z$0Df!*fD2BhMU#Q6VR#XurM(fp~54^|w! zCJ3}6;Flx|cbuv#%=5NkFjrltj{-j)!YibHFhK^~k27RP#ph@P{(7f{;(hhd5#`s* zdF*q#+)A5fn3d*pny>MydHvvO=+=mUDkJFyN)-{}BwMxo_ZFq`KuQ60EC{J^=brh% z_`K6v(-3)Mb=9YEd;Qmrfoa&@rt}6OMKOtp!J;u@(M@p3;?>fgfjKfbCa#~~r|404_3^ahQ3O*df%x(({ax7wU8AazrQ5=Z8;5F1GdXWq`V;c*>KxX-_f1rZ z_rUyG@YaEM?ZMGHecQzd)S|CSr{aGo#+RStS#9*fAbB@P*6v-0;!{_vcUX)J`L2} zV2SZ~)_ffTy>c=9cxEq8QVs}+cA9{j*nzCVr}<+*GmnmnqJ&h}U~^D3(nazs;u!!` z0d+WN0vw8Kw(q6oZ{@ifQT2Jcj_pt-4_aL}N#u9&l#0grP~>pPh`oKHX>N@9p>-@B zmDxUe;7E7-KQ@-gwQjMb;Z3Cls#Rl$_+>iAGB0y(XP z#|c&l4G|Dez?TiC9KTra`Ekcqn@70|F(5WBdwY9+zD0@`u3w0$!r@lEQ{c>7I=Ng@ zzzY`u^2wD2X|44{nG&(u;n8=)T{*b#Lac3c9ctEvA5{V<-hZa>e6H_M1d*am=uKjk2iN0jf5#>`eptOy_KhmEAb@sP7D*u>dw)=L)-AGz`D;M!0F z2DaF!h>Gjw$(KDs^BsbdJGC7;r@ll{l75dde7aiCu5q8{k+y*?0-|4E}ZwX|=uftuv{a*JjF|^-2bV!Le1A)S%iz@0pk>Uk>-|KYv>$Qs9 zrw!tb`Z?KFOQB#wZJd5VGK$+N%PAu5s>$i_15*Mr*XVz$LvwPvCTj>6^Kts0nrPi9(?8FP~MuxLlt9;otU8r%% zeQT4DsYh@2qJ$3Lz%E!Kxq0-lP7m7}wkW*YzN?5Hy0b+yZnc$s`$aoZT53py;Udkq zrHT)XhiCz`zj6QDKNqr;_#cNzc+;bWi&u?%%()G5BmUuMar&s9xIA%(jg8i;HL~r! zi91P z&l^(kuHePTJ|xv0xcy0#Vy#x$Y^p@G3w@*hq}%w`}pC*o||auQ>xz( zOweDSt#G*ny=ZoIQ@)n*lZR}9N9gT7AFDELsgWZTp1{)z9tco_i}??RSd{R;t3itn zuG{EQ4&pmm8qr@{=U6(kNu_a-LcK!hj$pgj9IlAq1;e@BR(OVQ0P9T z{4`rLH7YFHT1EOxOAtXWEtAJ4=|x7t%~9k76-EEQHz>+kyz4lmCaAmZ;*gkbqW8(e zSn5I`rK85$!UoOGA8haYRz&-FHQOgG^!N}e!nU?*Y4>b} zo_?AQDyhHSIFG$U?D9JV~m#evBr$d zb|p*X#{>Q~4}?F*-xqP5jqngqo4G0ygPS)B&ojaQYT^v7gDz#@eD#;(rPLB|3+V@2%JtXh|Gw&HopU4WD`0 z2U?7|y%qd%RW=T{mCbcWefH+_Q~7W`ge zvhEQFy-O0?E;1PZ2Ia3M<+YWOP2DRs(S-%%Nd@oh358JyO_Jq*kHF`r%{pC-qltY! zcOpw%rvC`XB`H1TZMh6S&_Zt>O0u4RcvBlWG)o^u5zM3n(D+j7uD&YL(SNxBA7$T- ze0bY4SS6DRfWS~M{lz{u&UuLe4>ejLEn4-@NQ5%G@xOPQ4xa^~b3&<>olvRPR7-`W zz&PLCA_IzC4i*Lnd}0jcAIb3KSMF0xd8u0j&;;x?Ett5q`he@=IiPznuEPyKRv_DxFg z%>6fpfWK>x90XBj#s4ihjUt0StLo9oAM1S9-0olb;^!Qxu8cBHec9lw^)&-*)1nJm zLc6ZAkZ?^p+_e22SP!@%yVrgRTF;TB#{Rp%ngA6Gf;2r&{n$0VB%-UVzDfnLA;d}0rHhA32=GJax>Zt4G<)t{p3~&P2!j(lu_q3=!%>o_U4c>x z4qyb@1%Y_NzwV2lE?v7$5`~wdBsw?t$nFVJsn17u*DjYL3z6CZ)9h))=Y=z{J@R$d z?(as&neCcZ7v9fP8JwxB>**TyFP`P(!;Nn_xbbZ<6Q~32fB2yGwB68F8y|l_VP0|J zyDJN{sFoXc1R!^ziBJLv0JLJxF;IZ+<29(O!0HnaGK%JhJ!!JZyN{lGn?Z2G`F@?X zSL4%>lr8;?kvK_1pxfEO`q&9IiEvz!!anflLoZ&gpub6Ka0B&dcY7`hA9_mur!^zLJvP?$q#CwHMODJE!rX@TS9*8>Gj&)9}3? zSaaeFzw&AGX!E5Fr+!Sk+ov z8~zWK0Fa_`Y!S&qP~qE#u0j`rGae;@A|H{_5B#0Qenm{IVpu~d?BeU=P!IY?^K`EZ4x$LhRg_AfXQ^y-WP$U>6V`O!6uF;&ZQe^P;w>ys);{=PVW<9^7?@nUN8>NYE;q6KnHLPO)z4zlt1?vSJu0Az z1%v80IThdz*Py@wc5ZPo8|eD*72X5w`PjKCt$FU)PHj1+&b9FhzWyX7(Y*3Xd1w!7 zvar})d}u>Jg@J|n`IbeQ9(&^z%MpR@VkZvf45P}b#F8uGCYf_p3%{azlgZCUZ|OOY z7hNW=;a&WQv|x_|nhXmCes=)&3sgM_x&tE$kWd2dt;L%`keYH~P`U?bh~fomQ1X9J z;=EB7>^=QMJvl#{cYmUt*{CYUI(z8nx4X|cu&@0C9@FRB97;cb{UBWT!ja%<^z~HA z7==)>vx^Vpp?>AV5Y*Mk?+^-vwAe?hxq7zZ32ZR-TzMUKu_7UM+`8}LG zVgv-zMW!-cg4x3k!k`WT2%opNH}Z60?SQ)hAQE7UBJOuJ8K^`ssDB+ql)zBuscaO! z7`;^IQvM|}jy6!FLb3n3n#|WhD$mkJiSCEIPc*Qj>N8+W3u^?LMbDe3)D1CK$uKAj zZzCg9mwmbZFyQm>2GFknt_<=9R$zdHbYA@YfW0uZFyl~QRX$u(PlH_zm>ku?0fQSumk6=uIO~LL$N@&wBlbbuMJG)@4 zIDi4)6Ap^zb2Q}C;fid(h_&=JD02oj#_VDj|OcA$1j@?D_ zZ!rC+%p6lBX%Z}iz0(S8`x41YWzU`;n{6!VWk|}L?4$h=D)Zn5lDXOa{CXe$55Z9o zlxLCcg`lN?Eg_;n$bS$Ep@RY!%NFepUM29T!08%Bd_@4OYmJ}>s}D098=LaI-zg#|BGjm12lT;HRh0zxt1pc$gr--igV{I2bOd z+uz#()bMqe6=DwsEoS)8Fw%oiv49zb!^`hqU9KZig0{(F*p%r#n9C(~pP@A-zLQV3 zI&_6UblWU-Q$Wz&Qy9}!45iJchf#1pV>j%~=iV#-4d}P$!J`$1^4#6GZNOpA@i#(a)h{@Khtd`TY;x^=>TkV~ow#wsB_*B*NN&oP%nFa$l zWZ6%5{#!_e3Bn47o(Udd*KQ9~HUwvmHn?UN@P?Savt=qMSW|iYTjg&P``^Q9_za|H zKfSrr`*8;=de-bRa8HP>OwJ~6@w)W%diie`7NXWZFWre+yeaa7y6s!G(m^RHRD}w~ z)x6zktN2cuXGqyO!;N$2TBD8aZ4m!+-_*=BbtgPr``Ayu>&Wf$=5*O(fl~tpc9CVb zO~kLtL_^jJ7-Snr69ax)i<5&8R@g7;x50<+Nymt)vtXKtGL&pGU%FGJ=a!bh%o;Wa zqN@#~3sJA}s$mK!DVXY#DX^@<)3#ay|m-%emEeQZ5su} zn(LSKbB99}j^>(kqRJS@?9`%od1`zK7kW<_6(MnYNtFcO1FpJ=H#0&;faMC99Uq-J zFfsw>2P3`^(@}I2kOTo=p9XtDM3n(ri#SPe^Et@oq3cjk09^-35X3?#(w?4lJw(8! zA(+!B{rgDCO1X+E=8KXkw+&(=`i|X+vfN&uQ8Eh*T1>t7U?jm*!-P2?TpBxkun?M{ zrWpio3%&gjL)%(Z=uFk#BGC3Lw)@z7$*i@inX;)K_p<1 zJUxVHX+YoN?}D{F4(1-9MGPQ65=GdeiGv_24X`!B&4_;d*BtP25Jb49oxKg*1|%*` zx8r@;?ho^_M_Kyp&z}()<~`ilecMl%g;`zX4P_tQ?|{{($RjQ_W$_Yo@HDFQcsiu~ zfh8eWAt*7Mx4ctZd1r)SE}Z)0Jj2MJ%^TX+bhT;zllikk`zH+g$*jAJYNUW|P zJ=HPeX8+O{tdM}y0(B_o8QZaOq73W{a7CPfm4)>6WMsa=m?Ly~^0lgfkOWqGfTSOK z)^rY1O<-Aq@mHS#0Wkw}9*0y9j-R{GRv%x%Ian(iT9Xt|OR-}7pcQSe9zpCo zmZNL;oP-H0LJg$g{tw=%I)Ws3dqrsnwVjxQcwkk99VfI)ogBFav{Hj&WzI9_S@ywUspl9f|`^N(|VR);V*U@e;ct>)R+|Kvc6+Y~4sZip02uj*Kva2Y@yEkfL^0IY_%DNe%EI^3nCvc6uTJQCl;`j; z6ga*3Q5d zOcRvZ7+GEReD(`bVoLGD{mPYkR!DM{hP+~LYU|KDJ#yKr4%o<|Y(god}q>dLTJm&qHHZD%mwj0^=P3)NQ{d-FsACY*` z^2f334gNNi4o8Eo&#(V+JPfoNIOS=SY_%^x)-2Wg*-Rz>9*&mW^uQ#THv)nQ91n=z z7PMsHjDpaAmj~q20e`7nT9%{)MhGN^pQl!ggR0;UKz>AUFS}fmzti+UY5-e0h~9_m zcnN(rqJR@T6uK#uI*#1x3cGsf^g||yJS=`bJ}4d_yE62=Q;m}>zE)aZepVfuRDOcL z)6CTLaI+9we!6ioghk-&g)2^@hs_PUIyxW{##jjZU~|6d{C+o~BBt&)J+gn|Je#aN z{ipy9;iVt|lMSC|5=m~)kV*^R+gPu3w=sPE^wC=zmvse>{5xj=)4C52+|u%xwstrM z2O&adh&dVqNHX-_0We|RgrpUb?189^priGhY_KN|)$RQuz}XCh%_y7;Y(hjJ6%I`B zxfT&|$Ntm#@x(4q!}>BSy(y58RbQXl-QA7d;6sGC0Z)RFR$v%H9tpF)T(RvB8QRVg z$1ST1-IE*Dn!eUU^UTWK!z#Y;2NPwjFOI@0^Z8$?O=3s>6I201(u-#)NPT!Z`8o-{ zmMpYcF$*jNRSU&74A#e>C{D@&-tkgi4G1_P0#tC&fh`;GDxg1pklQ{?;)c{7{&pee zosmE#i8-{_MVbC_ZUXewYwXaS+&5Z z-hU5bBM%KA@lZ_h?@ATvC!3FBv9*>r#IR^X`V_<)cUW~9=&cn7T&KytY?8hsNI}d6 zcL1z^Y4MjbJ~&>SlM~UjvVc`WU2ZA(ms&yQpLTRyPFH{R8BB@w_DaVY?Y<0-S^O~6 z57^k8LjFe+{pzrk*#hiY{k62Y&V+wdn5;fk{s z4TJV3J0pXTp+k(2OScAUIM{bSc)aWJuwr_fNTSt4gx^3kI^C+(pqmYT)z{8FF=c=o z3mFf<9|-MgU_hBW_PREd+wZcnaHz&X>8KmffsdpQ>c4XXj)Ar%S@MAgX-T$yA6Z6E zolKE6dRYDK=fb13B%ZDZIh}{J2!WY&J_N1C;lqqgHbw&5mbNOiTZfu=-0)GPW~sr-57FV zcs`KBL(2mae}D$>=iXWUd{PkfLVU3-^oN>-fJ~NaP>h@u@B=6UAi3X@ZZJ}Y0!a&Y z{kS*o6v@+Tg=1@w5yPTn2m!a#304gKe=-Y9_>AvY`gx=enz+g`Xcdtc(%~L-;=xdy z)q4?DYrZfIY!XfhvbW0yJq*%MR##nt*f|UXPoVK*4gn8toXg^f*nv6e*m58}%#6U% z^3+nl?)UfGKu*S5Nk5LSQ2&cafE;k`fk=YTLm;Jq2OFol3XThIU@&}uAR;5hFdHrj z#22{IL6gU+05@-&?IJ_p*B50UKFfUXbHFJ7R4DM=El97#NH!%!Fxx%_kg3pgpj%vkMG3xE1XA zt~Kf0Pl?8GL697Sds6ru#$n+o}KH%Y?^%7;ufLt5Qo1#Y?Lz_)uqpocG7dt%%)CG=Vm=*`76VQ)l zP(AvC9)SMA3I}SrL zGfpy6vS;ngU!~tJ-D+G;o{PdRfzEln*DW-s9ml05zOok;x~Wq5I(kw2BJ@x7H@99i zQoTFb?>3)*5*e`g9Q0{+2)9=s|GAjoh#OpQ0iqe2SaEhx9NOmyj@wlWJJ5LHnnzjTA{yYdj*ly3`-qXEYcTn=z2WxdJ@Op!ndkpaZy^%}Gz3@a@&cfv^qUbya&uJ-3m30I&;bo| zsPlmvSu4x3{T$#isO5pjbv*E7Lp>CwAv1HCMfCr20cI>iLPObi&`*#wy7=bCg=5|6 z=UFI4u3l}Ydc1W*z^LlU@(!Faa0=ku} z1q%L>k`j+#E6y`h2o(+>g#?p8#%3X4)FBg668W?T&u~~U38jM8!e{yUJZLQK_^oib zImnrvF#Y>xQY?q9ucm2{>|Z5)MMbvso1C9vk^;JtH8mY0BTSI}gQyg!4OMw9vmt{* zK!8p6b>gD~Nr$D;>KlH3(!iUBQIobd1K)O-!gAd!MW zXn9~44fK4(OAUd~AQHg%Tr&*sZ05UEgUn>U79=jkn5v+J=1y^WT*q5|-pSF>+0)}vY z&CgE*>Ck7=90uP0=3`;qBj8?3_}O&7zo4xHiK&-G-Gzg%+I%DDvNt7e0fDg+&Xzul zS+pZql9!&C?Y2^Z9MbzQJ=?Cl3|;QIbm4*q8j@X@NQH4;s5<%!b%#esTgv!g2okDF zcvYw{Ksw7sQVptmx(L@_-_Aqv3sLh>QE_o;Lqj**R-}9K=n=5CiTNM?fV>lkmBNHM z@FEdvE0AZ!lV=7S_rze>=X|0Xkl3NLd1!7P1pmSv3$Fw_vmIC$t)0 z=eHCEMMVp$yOVtX+yrT}OD0pzqf90KA6il?&Y(`>FV=W3-Mpys=S&Nh#713DQBke$ zCxm~19}dP~8XBS;vA{BQ+xzPSx{Zhc3(UIV080mn92X#^B6>NtNq@&Cc3B(2ckvK_ zb&wDow6?Ea-44dQ>YPE0?qFtd3ha~Km6RYl!ARU9eF7%tD}Ifeek@nro&&P9x8b}W z4+4mga>J;sLC`+pG=>Z~Fh$D6yRTRIG-&h@U1SnwF~&?@-_1~;nI+1L=bb3Xm~3HnJaJy|AJW0Vh*3;EyN_ zaDaL7j{N5Oy6fMq)zBsT;l93RiNiL8JmT5Og|H0+8e#j1;NvLX|PfT5!|2Zae6bWc!(`_8`J(ng~TzHD(do&M;S z$ZeSz@#Lu`hJZ!t%nTK2U9|1#k7^EmKY|_L@%pvwC7lQlL%zPGfqGFIRj^%9uu%|| zZjzA+s_dQ^NU9*S>lr>IZK8er9^slhy5m=Ri#aH9h!ccCE&_h7=yP=*bU zDB@go`+2*5AZWzFncdmn|F3&Gd!+Jqv;5y?!S$pa(4dt}3+?;u;#E~MZ0pO1w;%1) z(fgt!DIH^4CwN_$>70f9NZ??+?dcEdYBv@?Dk&;%kRR**XCiy5cC==-^DU-;M4 zH}W!3jAZJZMl`qgsv;F;=f1_XDM^7H9X0i^yUYZ}wQ>)F1I68f>N{D;-C<~Ldodh6WNiZ%(x#x)}t6T`%COcnh z`ouA5DCcSZM_5-D8u$L)R3>i;+YWCCbpaPU_t)Dfs?CDJhJPwLKUro`Cw{(vL@&p{ z=tWrAf_55}dQWceZyULg`PoRbpy3K(k;_W2OV8!1h&ri)81N6g)#oQ-35EXNf*PgsD_?I)bJ!+-)PFB+WhSRO_Zogw#xtt6 z!nwS%*_629Kh-wPy*xJdX*GZp5E?e8TvpOT49fTVVi-awcO_-%hF?>n`|qs z9_`jOGvF3pdztHX@3|X^49%(3MJj6H{LP=lPm#=L!s9Nxc*zAGC6a4|uF0gYYo*!4!Zw+2Mr*Z88pw#y2W&Ey4CsFr_LxuZg_`@ zWU{8~}+TJeI-VF+~=(IZQG(=~FZFs<0B55t=Q{_J3=ZIsgexLdsIgb)RvJ0Ti=egTvwV0FUR`_^@Ta_!L0@~eRX=5g4FW8$5ZD#v3}SQjT3^g?bV zl4U%pz}|pNAV%=hX2z7SsPSV=v(?Z@t&eYh%Wt=Ex7MlrCK`=sk5^$sGIm$W9GQmV zgSW%{uEFy9g3JETD){*X>r|m{E2=NppZI`hWww|v!O8N3K6g+ePwqu&N!cGwy$wfm zEFTu6BFi8Rzq2U=*LjItBjUPw*t=%*I<)5&Ukd+V%$6TRbMSxQ?>lG17;SV3*1?771QP3i zR@#vcc%J7>Y=tUyX2-Dla&Oy9KkA!TiL|vh(Oe|OCNA85_44Qker_t77fFrk zUs@X|_84zSwG=nZk?3!mi=lk*c0S`GZI0}jqu-t(mm*gha4!+JEt=Wc7Vgjx|Mb-`c?%|)lax==Y5tU^|HHkB0 zhWcuKlP)H&C*=D(dvDzO(|7M#eD!}8K>KFXuv7LfLqRfYPp*-(aHYZQfd5mq3twHl zQqr`@{Ep93VxJQ4e4K#|8H3UI?>kKU$idz+LVvCZmT?~I5H2_PO!-#r)O&AV&Mr78 zjq`;ZuLoGt!19lld0ZHWCiq0pY{eCHR%DZi*mJR9%rhmry`5j){p9=8JUQp7Bjekg z4JRai3x4!HcM$T|o)hI!4r>8<62@h%Ov|HPYw{C@79Lp&d=?_GGyU$@r!X#_WBDMY zeUB4%v~%^I&Sl3Q?Do7>&t|*se4V>rs$VsE>8sZ88@Jkg&7|G@v7-e};-~&|vYhz$ zWI3*g`u@%5Mb>4&b}dTNN+;gR##9^EwFlES|m z2dPPM`Lc_hU`mpS{HmMxMK|hVRR8bke1BtxgrI@X36Ha{+xn{4TzSj)DLa++8Pi$Y z7m{bcw7p{6f+e1-__=a7i_EE^8DI9ypmPc4^}#?JO@*C{ZvvNzg)$W|*A2qi=XRG;| zA2J&I$!^}#bBZjbN;?)(c;?!DzEj4}%|%l_n=!31+e)bogBdX>Saw-sw^ct~eyYtm z)+|%5nHzLXFHO2;^e4vs@msq_s5bVhy8jz1O*!Uv=&bYp+6|%UiqCNh#pJSwQ?#!? z)!n!kis3eByQtNI}!f%vf>Ld$0B*(O`l?Od&&#(I4PKuvaR zll;;8JxfDgz`W+aeT*?eyP^xkb2Jw1mh1be%-*e`(QLbqbO*P;)ct0wpAzmNcU>mu z1?lgFy^2gBPItGGI~Emx0uFviES7J3n=PH+*+MVqt`yhSUDPDD(X=P|#&zOybY==W z4e#iw|;-#P{*!gZiT$-RAb&7;v-yTmruV$AMt5{+@hQowJ!x)yd>(4 zof5VWY~!eG5I#vxL9%AmwX12BEhcw@A8#27*c0e_RwPibd6j?L@ftXXkTr7VqkGA> zF1w+oSeN#aDOb&^*j}(FHwbvm z_-=4exmO#)RYIl2JaG5ny){kVP6jpn>zde}=)HWLK`dR&Uyow2n_VabG2wK?$Pufn zf+Z~`-e(%0@7rOJ*ivZhB63|&{?>K=(mQ2bADseo`EAHoa6bX>sH&%|*VI5s@0lbh zIj_uR-W#qc=U=D3_EQLn)`XTX$?WaES*-02TLFnM%D22=nizT?;ruFidgfup2i{b{ zYDa9Zq!#{C3czgBUomM(wuw~auM1*UrGs;J#u?CauRpZv0{xfyFyDNKA{@rma znBhvR^%nEVeV6zBwfdjPVL7;HlktcF;*}&&ko9Hb$Y#1c(&ISy8^)~lzY1Q4VLw~@ z*MZlhzy5l0vPG4B%SI|ACyBaytB-5!FN8;U7F=reg8RhVBPr!0vgE5@#S8{;i+;u& zBei&*=Iv3ETO&ocw*_?V^z<+fM%ZW!|17qC*#P~pPU@>Ma(e4}E!@G<(rRW{Wai!} zMb-~Oe%Eb(oqt%AXWbmN_x;MiDA)DB1I@+U--O2Wt<()=^FDJ^it~)dm*yS^*gaO~ zCd245=d_)$TPf5Lfv1L;`zhH&!qlrz_NtJ)>Fy8r%xc-H zea$KRc-#O_n72*$`Fm+yjB7=s44$9(>>q!-+1zK+$SAY@U-A*B;7goRKlbDv6Xc+A zqU^hGFVk<_9-Mt=!h66_xwrz)p}1ywADtf!{!Xy0&${mHyD>*ZeVL8Tl z?PYdZu*&jcR;uc^Jj%`%)#evav$Q!>oa(Xdpx0MGTgDrkpQ^tkfzz(*wyC9$v&GV5 zsz&`7`aX)Bk+!#BY!Z}T72_SlLmrp*e~){6(CHDAeEkO0KYMPB46of?*=w!kpPIx# z|B+8jp!uDnVwhE-QX@&ZMPvG%_%;10<);^c0Db`}N_jCyOg%(;B&&!q?QC z6JKGwZ#+NrH$raOXX01>Lp?Y`ORe*hoZn13@2Jtu*b=@!^KlYuMVi0g^;+M|rXE9{ zIsBrXX8i^l!yupTdv<=bFN9%`chLSQ)h_qc+w_K$v*!F_PPA2e+01caqU%lByfW$N zcXh$cLD$AzcrrakiVWQU4LoHWLmU0{yU*5*&1+WIbNQ=FNp)9WO;ZE$s{{m$#zh1K z2`zY;5V3=%#jm(Nf|1kHlb#0*{R3OXr9Cz?GYAqhps$<~W3d!(n{q|bh|pdp8g%-A z84xBIh@2o5J?l#a00mSy3sgaj&_Y!Z$S_1zFh_IE3aC6>WG8e&kPud*3Sw$Xq!|G8 zc;@Fz$kqI5u54AHJo7gY8hm@hH2m>NUjvPsv7QvhGcpbdOilbW|32|fT=b~VgqP2< z{kuu+iaO8oPU**?<^Rl2QJvEauDUY4R@v*Jn5}S;&_Pi&c&uxjb=ZqIwcDYhvT_VG z63+&0XWxklJ3u~WX7|zLTZ2x7J)5R4-pvKj188U_w_sKjh{dzM4q;j_Q_(|#4#@1; zRejKBM|q{-PY?GD-9m??6#x`Wew)9EH&~Kv0@;;RqqJQoE&)(XRlN@topDn70H6eH z6w(zKPzuV%M@-;Ag9}Opzzl&8fpYV_`g=ZY_|Bvff`Zh zJyYwXDH+t}>u~_b)+qgrxL?N;f22VEzYRS>CF^>4w zu+ZqKsXyHgTj$kxgQ)M2UWy=Xr?~Au=93pD3LF>arf&T1k0regfn~GLrXW>CB#nXk zJ$?EVgH|7z36_(Rz5879!efB=fZsIyxgX0ej(%5EgjmiAG>?urqC!ffmqDMO|E0L_ z2vencd)Xw>I5SNqg+T-dY7^-HCV2IcL$m6McjVGZIJ0~b@}-mdE?7E! zzQ)m_$@OzMoCa4@m0L)-Iq=)G?!&aMaOO`^-|w2IZ@ol0i<_ymr1cRWA5X-HmUIj- z)c{o|UPz1J1gk$Tig;9EsHUS6i;h^}g9^};gbYEZWxFBj`jGT+`hoX@4h||P>#N4W z?9Lf+L{TL@T|njXWnhY^lo0JXlv+rqJzC>&G*F-!92_Jxy|>eyK4em;E>0lox`5PC z`vYgsd+Wi;tKWXiN~DwSy;Tk>=lI1VFgML>cFUVPpLfMc3wqqVx`jucnm?I@23wXx zlNqLCNs9SOeZHZle+ovpU%yddW6oe0JU8|=cx9!Z-2 z64uJf;;)?C0D4_4`hq~w02GGihuo2DPrYw9SfCq$YUZM*GT6zFWj8~O$6rfby%V!d zP=W=S3tbb0eFUUC7}f-h z4p3+Sb;Og1oWbaTz|de%>+q27qAAzzmI~`D*=IPn=)M*DXkf`~>-8#trjXZn7iA+% znA9Z8veotv9+_RyLOH~jcd>gYR1FCCq03BROcs6LkKc=xX=WU_zh!+>Gv&OL)H7As zBNqw(t7^DuXh_I--;HO4+<~d7De5eW;!~K;0U8?VMF((>sz;YQP);J?5wS4tUWrP7 z{sG9;JO6FYObJdUp@f35Dnam_09l6T~ARTz%v zUs*^R8tomw0m<(b`285|WC-7Zc_wP_mU#@YQk3`918Z}C2gB_5kDFG_==-)AJc!Z~ zG&c-4F~0UuFL*;ntB+xnLQh+C`Xj3%?@f zxAtFWs^Oo3N`W&Lh>W&rZEa0RN|Lam*168?pOY1eZXpy;NnHztfR!1OQEey#*xNsW zGKS>W(cK@$T{Nru^z0fm=!@SyZdw~;H~{_r7EjeHzMY>$9;b&lH3R17_f2*kF>J6q z98~@^W~R{OMw2+$PK0OZbuu!AQWT(wLzL)a4?AQ*CnKRZyXqzSc0iMLa26h04>N=+ zEDAXu$G@fK*F*mD+3?F{5Via0p*m)j4VRKW_hyR)^+nBy<*7U<7bS;)lP$UYJjlNr~pLp}C=*2c#cJV3@ zl_8)BKSY$w4y5TZpj-idFy0|wg+hnE1BP9@iuvX7H7meaWJe8eNld~1kC>2_e@<7Y zMECs3=y&g>A3v78^{UGn!DgV>^IsF5M^`RvF47B39O%6XXi;>lwmYL=SIXPBa(gy8 za`s)$&lxf)#1)W{DIsead66A=6butQ;>e^`_f`Y~NrMo>0Xc86R*1*}#Zsd9xy4(o zz9A$ubXJ|a?f2{dh4eS;Pp0<)=I2bfoFx*`x8Q6U09eS^vm`FSo>X8fQ!RK?AN-31 zTqDL>CEbz?nDd z77c@T2;o3bfGQ4({e*bL8c?rYOSi?Rm~b*sZZle{!3woG-U1I1)lUbkGFa6Wku#!o zO)!P4d(wH&ahP_8Ggbdr9@jyw9JTA$3yOXB#F5n}GftOgtXrEuKcj$>t0or&VRo03 zYn;2wO-9DcP0(3RkPyIX;2sML3(2Ct%Pd;5O5cYWlc)q{yR3j70CP8(?p}qCrRpQ z4n_hbSJ3Qw_39mzC=qR~B(-TcZZf68P4|)s$~qb57VY`+5c?=IcwHCLY|RYDFmxh& zsxbKq+S-K1Z2=h~bmAaLK&+R)FgH@u-rnBK;e?Nc%SRU@bmu@KN71EyrqTh&2P!gP zbRK>z>oVQpMJj}_DMaA})DRS8=n_iX;+g!)P4Yj@I@mrMkf*gPVfb;snz225N>^7` zgY8MW14k;!eEOD?h#OJ}am=%T#%5={DRXuZ%1TpuanaO9e@}5-hrNRD3&tOJANYCR zOm^6Pir6yNP3s<<*-v77Jv|Rhv$dX`H0LbWN7oku4hRpzA%dQ`)u$K_`=X{_<$G=` z?`)L61Z%|N5ExW=Wh^bZ<1P*;ZC8bvoepC_>u|eIYJWx$UH_fKbZGp+?cdi=-E5rHXX|PmNJlRi zS4&#Kvw7N1u;Htrmsr=z=KUi~Kk9ZY3tK zjyX}td!Zh&iH(&}-6rU%AVh3;Rt%mMu_jkA_nw`%^4)Eq`8``JeuCY3HG^F?Zwfl|~S{0$4x@v4s zjGs55PE-0Wa=CzV4#lmV8~<^0<}0_fR8iv)SWk7!W!90q>VEXGmLOD_^@G(-NamiW zxA$_dZ$IZ?u}EtfPoK0X!@%94#?d21dyG(Kh#Vk*)9SxzdnrA?kWfjwX#+-TAp?QA zAquM~&aPOr*DgQbQGpe%l&As;T?mmP7C8&C>5Rm~({8BL36xw-Ki}1>A22lxjcXS_ zmkK?UK;o(u6#VUZnzu&r?f7_c5vg##2~=ZHenAS^XtNB!jw9bk_>Y*ircq&PKwWca8@P*ntEp?o?JyACfY9B zry#Qnjkb{6jJp*}@#r3fmFa1?tD6I490u!;%>Pba2tg+GIzM0G(6-JhjIz@3u+7tk zvg$bI0fvz*5u|5fX7rofwGwV=_Bua_N<36+2BSrGf9{~Jcl2sUDe@?8b3!{a}y+aBNHX-Syj4>X=&_w4TX>Nc0yo+6xCc#1$31iio&t}Ym zBa;~R?Halsa@xH88C0GqS316C@<1jBtOBD`29L4+!DC|%`N&ewI|-@ zaf?9hiD)osfLM@rKS;J=uOO{EFu;z)6Z}3f72xilMx?#G$hiZ`efqAhyHLU8XIgQQ zeY@K%rJYcS(DOZQ_x1qU(i>}_ArU6w%7n4tYi|+N{rr)6D8@QwgWlyZ z+_HDmIx9H9_Z=y#`dmMZXQ&%-)4yubJY;o4uw*vv7;p)IX|W|DPrq;Iu&ghW;=CkC zj@~onM2u`tu)d-fsFYV`<#0csl0nORQ${*pf699BKFWFPNRhGorqZ`RoAO7}fY2zq z|5gSHF%z^frh~BG5nS%+%!SEz^i#j9j*{u`?}uV@`m+W|rtY4r-rd@u1S!T40{S3E zMgV{pDO8!o?8IZ}8(jFUvoKh1PC1fJ%CZKQ#+H@`S^U#dQz2RXyY}B^WadOkV{vB@ z8Z9yKkns`Uma1wNB+aFBXYhu>IRWh%tKf4&uQfx zu9f8#NkvvCZr|CWeI)hik-+<2!hCHf*cjVVQy2^RVI$Vm_Tv${3(1QjR7U0uzz7H# zQ5&Q6f__5}hBG4a1M&O>Z}3}gD?$13{DRdmAEd7jlF;x$v$b;`$8S1{&8NTRCfheN zK&0mq>QDb$5U-sah}o?K<~b`@vww^C135Ny&|?at7DKv=nm|dks$B+q$Th(%8*at) z4&I{=zI{GJb&v{0Rqw6-Ype!YdQZ)ZlZ5KW4!WN%5xE?vQGTud=}K!S^%Sil+i89@ zwiNSH1Dr8_6;4V9Ct?a`_978Lq^`;-4f7pvW(B_VnA5LAVEf}Xfowk!Tml(K#HXYK zkLdIwW*Ujto^*`>w-B?QH6B-ZOZ|Ih|5%(ZN&TfJGjKh#H4zTO8Ku}+>mj@L>w1%+ za^orTl0|(9w0n9a3brC&f->i0S^qh4mkSe4yNEo7t)lN>JnFl?T1>Zg6VNG7M;I;M~Rw|vuMV>!w<#rbw#b_lk z#~?wXkx6yy1bD}xp`qJ0+)<(Ypt9Bqf)zy|4X8mOmXV1GxjEwU94^w1y)d9N$AO>} z(5BvVBv9?F-=3ABZQ1B@AAcrqwN;iXZFrWJ)xMw@4(fBwu=f!fx*<&x7 z@`Q!a4YL;=2T7AY#rl7u+<*C_bpS^$HvP;5D8pz8L1qSEL;NRu19Cn*SujQ?oc3N19 zlEH3aqCkicXMZjFw5*?`<8k?~Nj?3^+Khkwi3)^&xS$hoqk>}M?Is^*czEiutt zC&EkSQlbjBhH4(Ox{}zzj-<-5t+T&l%Nij3<(;UR>+Xb$?8qKh&xz`XK+^J#5r6Z* zeuwkN{BCs#7pe&5m5jP#kdnk^`a5NProvqDAPH1-PY+F8N~$8v%?qYx+dtjDwIf?8 zyhqb_W`aG~@j=Fys6_eTo5oD4G1*;vVM*@(kd)11(HGq|>AIjCIX2lYnJh1diDAGX zvB2ngJVy}dW1#p+&IC%LaSS;Y+}$5&+IO`733WfkxuXjLpXkvQ=Lyr)((3sdeU3E# zpz(KQ%InuB5fQt&xheh=0``2|MRgx*s=7)2w80#z{B#yGyUkWwQ^%*VZN502 zC=NOXAt3QrijDE_8NWd=8UkZH(n@PJbTu&OF4Q*2ITBg{+9TYi9x~5NuQXHONGSd+ zwJfJmikdE^t0&e8SVH%Q>R%sBNG9dw0+&X`t8jSy076!t5O8xBXg=s zER7{VamY=yITRR&e9%v=f5FM(Pl(7EnG45;98@v=SDPThf1+m%e-T$dy%=wz`|2oq zoj-i|pb+M{3(Dq@uh_T4r@Fnp052c__#M9gYyU5g1$`RQAeydDvO#p65YuC&m1*~` z^xL;@9yDz`eb-`47dq-dj0KpMYhiBgi+BfrLzO01JWPuWNJUUUxZ+NcEG!Fs-_gAm zaK@m--}yWyp`h2wxW1tw8weHjp>@G2Mv`5FP~^*(FBWtcB=pi%yLy!Zgpx25Cbh8H z5F&OAC2N(!b`I*M@X4|=e^9COBPU+(aY#{gDD)RC-Pq0Adb1^_USH+Xs^V>Ai58tO zqF)ufcFhsxal#K+xlLH|BKWN6OvA353^J};1Gk4h8ZUHv!j_(*unIEKz+l0A9SoM^ z6%aU0`bFKU#vxUJ_AZZc``O_kS7)&*XQT3AM==F47S!ur*ilFyHQp3cG3x%c=Ei42 zpa9y-Q?*(778&MP2Xt49e(BTGz>L~)F`RKav!}IYf-qyNNn=%^igmpSDTbiW@pr54 zpi4q>GK8q;e$C*c;2QC;9u}hO{TFO&t;1Hg_x>tZ)zZ2O>ODea(z=cL^kY5cXg)0X z51BOt@rl+J$|-0CgMu;-B5U-uqJ)V0qhn_Kdyfq9Os={RgN*_b>W$r>%=|#CYK(cO z>JS#!u`Sk9^eL0vmN!R+WDX&WcGgbpIGU+sa9GD#w~_kW>;n#wmdG>Fy<%Sn8P_(( zcwaRhLAJKJ$%d!KmwQjR0`?CoMEU^Spcc>mm^HLw3=Q7nUhdOggiRZ{{RE|oW7`HC zT-;nYor&kLxr25{jnF$q5rl*A^`#-id$gVaE~d&DQzo${caF;p@4`^QoDk_HL?;lj zS#>&d+eyKQs0ZNyeTxp#?kxBdwD6wWZFHmCSYQMs=1^?vB!f3Fq@;N$)9Tv|2{2-3 z>L#{xX>0V<%X%L#{C1~H+-2(G?xNsz!Kw_Dubpw^Owm2-Q%(}na2Axj-{l0%DWvU` zQa|?@;xF(1;rgeN4jRtLcj$Fo0tj_`u3%wmv9(kL+7mz)k^W^}@86PgDZCNb*Q@vH znws5^1c9OuhB^I-`-J|1Qk2L@{DC(?bqGNKYD(afqmc?y*AhQxH3^mZ#{tr^^3zMw z0PJ{x_)*n+Hm!pw5Xw$bD7K+;Nayx*wIB1buLBPO5@WjV&%WUfPJhJ;>$1m#ZzTh} zKAAm>PdmnxR5JQ*KbRTJJI$^oh)T0E@6nZXEFe1^NAtCr%G zE*}INSAs7?O}%=koz(GfLOtXW@`sK)^wUHlpR6#--RK!4T~4TLBDUn<;8-kz7bI6) zg%pJ~GhT(IQKZ^V3(z$74Hq1vI)1uF0C9NcI;n;RXX|eocY&SX{UHDq2_2)|z4$b1 z?0&MI)YuKphNyw8gx>fT&BJ5k<>f7ETuSkx%;Jwae>qZdvy4RY?OfX3#0GEk_(%;9o-b^Aa@l)LTcPp?@=tArn(j6d_G^F!qR3F)n|{YQa8C91}DII3ox5M%y!p6z|jKI53R zl(VN->-5{nfnFM_>KU0Gh!t#+`Aen{+e`>vk!{!G_%+*d(kllWRA#KW6g5iq6Ao7H z7UL_d)fLq$%czq455H9^0WvJ(h=T4;w#fe~k|i`f?#Ls{)&25ZDDP5}m_TEtl;t0e zJkRxwo+nB(F1C^*7qMK0dA9D^NSc~8=z2eUD>xf=j3v+y-v9MMSfI8Nq#`gOKTz`3 zF9C@{%R~KUx>0|$2VpOS!%$WH|F=yv#94-RlG zUvRwjp3p+F-wpM!jJAvzf4aEKf1`4qm}pZO zE@K=>zO}1}u_+C@$^h5Dif~xTg%n@r<^4EE({LqEweR z%BP0zPk!vb@0FT6rP=rKq{l+v+&{xy zI}TsmN$r3M-d3JL3R7DxH*TW+&at?Dm#>DbU0ME~pN2ZUhA=9ERJu8(jEgo9`_q?E=#1Xclltkd)It2L9 z?H~ej_PuJ+;u!D96C0^AOS$lpuYP;qhx4MbFiS({(34?u;iA;M`{XdEaMEDq$n;d3 zcB-AwmlaH+$2YAxzG(&h1GXb&tVfz2a{6+f<6|$kj+SQf=U|LwfBb?yIqvL%I9Ybf zI4QTY6_3L2U#+@-HTcPo0IAU0lisYw+xP6yZ@(LzY8O>K`;h83pp!$UEC0DW?fUBC z0m0vG60X0w7HsFI!mz;+0j;VLvJ^w6L$3*c)&KczV)O6bHFM5pzO8?_l7`#HZBOaW zyzy;4$Bg19e%1yJ8pn?+^^~^{=o4Gkvfa$nqt!w`Gx(|cTe1rCD-JC2*bOMM(PCY0y+21&%ztS|N4bNA-31c=4KsPJR0#E!Py2|EEG_wO z`5{CBcce>&+^G}3GH&{|PN=G9^gwC%OU}xu=!~ab&gI5&W8dC{J{_P2%(}U08{43% z5QRTyaWmNd_ZVdcwsM@($0V7%)60d_)|HgmHfF^p{(Fn2`1%n0-u9~{#zN^ai}#l8 zb(0*k;MUy8^u;^Vb>ThvDA<}inp`r1p;w%aeJcFS-r7}8-AbMI`pNV3=5x-8{(ir= z49JcjK74(pu8{#*z0w$)r)%v)z4Z>&FRrP~`X!QjlTEOhpOna{Lm}M*A2!4~8#3lF zvIUnZbyf9o%&uyoDESq9xl?XI8R%SG*~j&i7l#O$<|$#3mcBIOes{ znWbf9NQ1(%FzdcxN#s{by3l@4yG!H)5qX4;&ZwgpI^uqUzcmK+B9o#?I>|pgXdYRI zx(b3o1bdZa9;Yql@C}NiyaHcKbc~?-R(y(1T#Eg1=i|%TWcUS6|TX)^2X=@~uf zK6bDLg(xDchl+j4;E=-W(6ts`@==TDajWv*^C)q-U+zh|LCBQMlkY5AG1v6HtynAC z)VZgI4qvr2Kbp(o^D|3Q`1M(GY^G7ACgCDVUF7XBPz9@rNVyvWEATzY%}<{`y)z>h z5htpwq!k>49F#9zLiWl_qA@~pImF4?jTO3h@#10|8zLIugu!ws3X^*KLB(e;l9K#F zLYM{y2X72#_c>y=MWT&7)`!T8VMndM6|RK#%sbspH=jJ&LFUw9F@8Gb?UWW44X>=q zV-X5$4{nRh<0$nl(5sN7F@ht|HR`gbLk!$9bleIE z2p~eg4b3rL`~yr+{7j}mYHEJyusW})DR=g)_hTzR=_qtAb7|#}wor7#3p3No%F1S8 z>OsO>GLT8g9+19lc6N3n6O-pDDPLrTFJHWPUQ4TDpTF2iHMOQbbxVhb>l@A41Vg>! zI*7*@JN%MfhS(G-3Hq|@p23eNq{dAzTk_KTDQjYuX4{G>fuL&b!RXSVLJOhHoR{Rh zdLbY}F$)zTT!ByJqvs8@#xZuJ@(UPvNe zd+ksMiA-2o9pt!z_EE`kB^~8YlbxF8U0t*HN&Um?wbO72U)#=~ymDjjfjeB^Cc_Ky z!(+ukXZDkIPog{h_U)LaBej3aOkqZ1Vj^fUL^Ktch$9$&iPa_klJmmp z>FI?|oP;Ne?IXgmAiyEn05Adt?UKO>H>0-*z2Bjf3^P$%U$39mB=K_!C45XFdinBY zAtu1JwJDrFT}<_`MQ5Af6<2n1L@@=9#q>BF<|mge#C5n7P1??W>iE%Z4IeKHJM1eh z4miES@oyz0am@tUVN2iLqB_jZo@4(02H2BC zA$)K!v0)c26>cE(gJ55uhJ}3?oKU)O0YlDk*gk#wltPhw8!v!icTlV;>8hVn$4sSg z1!T+kTST0Kq#SGb-T=A4ie8B^SGAhL6v~;Mj5ZF{MkHNdtc$h>{C=#+9dPDBnE}fA zzs)m(7aNlEt~4B&`SpuprUP&cZ~&R;QBdJkEKTv=vedI_BO?`P?AgZ}HWU$SX>zA2 znqi(*DBMoMPax>)dG)&mU!tq|vEQO{TvOF&zfgR)v4GACqn+nGHTLBcUGw9H*C&YoQl+Qn5&3Pq_31`OO=$ZFd{tsF4I4e%&%Cw8k3gK7t>4LgRm*40Gf z4hRgM0GGry#N^KzxL*U2^52?#nb(-s+MC`UZ{7L`$P5Yw)keSkYLi`@P!BfZ|AdU& zTS`CPXJ5fVVC+7{(5c?X1@! z9a)$kxdG#gG9^w=i-nLyCK;In-9(U4$iU6#XvhZJ1fq}t%nF@WnSp?TauQqwCVas) z4BGnKyJuu!@v;AUr%fXF%CDey13-dQlq%;(Fi?kGddyjGO?=3Qxi%eIj4JLgM-}qh zsZ06`7<(J&WBZ?}?|t&w=52ad@(+%_^QYF&v(hWrnIWqAafa4wHB`u9ikN93=H@YR zdmIh)phLfZf3n45iYj9lbVaUTuVwNu%cR65CB?jX^9Ztv{7eUS_~>O)gzi7Atg0#* zvWFBr&mwj4(6-lGDp7m`840TeBl76cBeQ9j+}3#y<1BDEp`+lO1?L8;9>5`r+qH4=(|8hZN4R3>F>bt^z+S?Fnm>-|_-haRyer-gef?m0hlCnpY_1)aTn*ey|_; zcKp=(Av=i>cArCsH5CQhEncCIdvkVfPhX$%<;z|e7*|!L5#^iKL?AC5e_K>N@jMbK zLy6VJs5d_f3hJ700=WjG<4g_GDh&5++t6W?U0PmV#6t}{9K;+PiIb5J1b)vv0icQU z@ZFkz16;Lj+qRiaw_vs$^dWj|Iy#4)q#acZMP!D`94ww88YZZ^h(l zJ{YF8+7ITd4_PRdOFw;_DA(p7HuU?rHt?PyErXB-mvSKU;nQ6gPgA@4BHy#iX zL6_j4pbhmYV31$}!s%Gd4Lt$X3oaUKqw>`ezzI$xydQ#A71rNA?+rtQ&Ddh%yjCEZ z?oRt(6qoMETcIiZG5)fJjfItm_cx{IkhUd>Y>jCMC_HCdK50`C9X?qY5+nk$OB^7F{xx|W?8Katw4=6 zCMPFE5~4)0+1bIk%#bpJ1Z)=yCG|%C0lQRI-l`}zx&~2Ey-`1aHo&Q%VY~F7(*aFr zX!ZI&L{V;|J~})AiOH2~!hA@vKR=5w@8aj`sOOn{xyJfw=mPclN}`dPp^V9T}@_;pok6D^cT=^TEnlySMTe?2-Q_Dvl!7uK_CP6X=9}Y-a zH?8Sqaxxy65f;PP_%N0ems{2JNJDKcac8kLh|WyKyK{0xAP$PT?MM|~y?WJ{>%eW1 zxwA%7=Mzpi9Hx=EdGX+cy6K*fn6p}1yA&no_(4sIdGVrqwX(jG7z6cjY7>FRg+qei8bh46=o?CoQk zY)3A!u=Kx*$*YtJFR=1C$AQvL%ey8@hqZpA3sjeOkn4K3M z$u2fbn|n8fmm)JR+!N-^9oW9{&@c=7l8)Mdim1QYunT7s^9v=$B!vVk3!`Tor%X9d z)4Y-$7j9FpjMO^t)dzmZURGUKVjRb=uXtMGPSYluV*3p(gB2TmAK^tdH$D5|=~2X=8qBt# z37=??cKB~lx)Yhf!+z>=)3Zs6cO0+nIn!Rt%VB!<)wvDRO16wLOyUWj_a83HJX}p; z*w?NG*23~*TC{KfQFy{? zE#24P=xz|8%6rQ8>gJ(|;x`SmMv0?J-S!U@4hWni_u3#djd87DO`##*wp;?G?fSdd zrL+MRJ!h`j-ai5k;I{5okADz|B@`=d>pr$_TW*tbkDlStPoVW3ELcYR{Ksi&J3ENs5^lK>&< zguhrioTap>Z$rMlKmQ;;>Kt{YRH>nDef!rY=6=~tlI=l1UD0>sx zkg+@ZWB$s<6tlITg#NG3*`)CEk0JkPeO#Wjvu zeq^%7F=;Or3cvSiipYpOJ`gzjeF{Hvw{+5g;Tw;9;u12u(KdeLQcrsXU2eq-WM=)- z-wkip81Iv;@~DVmL4N?G7}yUi=IG=9TjP#0+my^UnZm(*bE+45$D^y{&-wbF45}v? z?&cX*Uh1OXieya{{`vz0ub<9ZEd|`iPuq-cqCPnR)(i{z87& zNWEwgm%?xKiuNZ=Y*sWlWYydsL3?!Py{(FdR-)z?9b2#0(%Zhse&kxGy`fe1ud)c< zOy+;zR_f4P#+@42^7ufNaa2}m@#jvaQ7NX(a)s!Eo40%qyivLFlD)Eh35&v-+%2WQ z`S%8k%9&eB^qjWv`!N~#$)KzUIF)^)Tnp_^u3YnYA5unJ{G+q!@Av-Tq0Oc7YK=LZ zM)rgJ>E`3h%vrJggG>KAR{ZxYkuO{NPJ_y6yQ^xFqknO#H0 z3T_!qi{N#w$kOD3M?P@iz_#t%U3EjDu!leZ9B@@m!@Oq|h5)V*)qHJfxnJG`00%nc zQ2f)kwyth=hv&g~!+-z%x2n&Fn1cWF$7O@8u={O%6x6*7=7ub1Q1_!kFb#B!sNg|r zIv$4JMK=`LHeqTaH$gU1=+r5KekpG$DD8feoQqwMx^!tf0!y^e5gItSPyZaZvlAe4 zmcn2}p@2Q7S&;mHz7_wk^kC%eaT%~udZ925A@b3})pQ6-)xcoDxay0SFDol6-zw>P zXPBl&afE}ztW`KTB5R6Zkxc1ChC^H=Kd8FUe6sEr(We|yD>P?+^z^5x=CH-$K-+q`0^|7G(*lUGWox zxJaMs!f%}gpN9`0`p+G6PzOoI!lE+dp-XH|xvX^V32AakqGmpmVw5-H9Z+%{`D4GVy5YTdhpcN;tJ;fadLX2gh zaK5IWKSiQ>#(w<(XpuY&20*|(a|JwwX@D>!QYVkVveqJ5$7t=vy0;i*4#vfvWv1F_#Apa-u2j2H#TO~6*t*{ zT7jWFk_Z+z&xRFi$*gi~B%;(=`&FsvNE zocjHDoSYk|jC=55H%hBWloN8~TVVldr$!P$H4XB!VJi~}Zq^jMlQcITWVeO{; zTAeIc*JrLzVKs57%_)~(-5nRSkhg=}^vCArkO?QOF$ABBcn-0%zb9Gg?o4UnSf#`H zqrR4A-%IUsTj2%Ju?kGLeh_lqz(7FO`spYp%L4#q1B;JlRJ9t5*cxNt3bbBV zG<+X1@7&qtCHZGB8l?X8W0pL5mtT{UV}Hi0Y|&gr)RYssDxWxG3=TNtecbb%+{pGD zu|wWKl^_g9R|o>btz8sGM(VXU@Kc95IJ&^sct<{H4ixI%k@?|~>0yV0a@@j<9AS;c zf8f~VD>U6Ul`o^ALBUU+b7h&TMlv27l$pBqpu(5t=6e-}vr=h2Eyg)+$;t`2*br&S z-_`!#hlX00E&-&WiMYS0M7AR;5`>}7;{L~)#r0P;dEOiNd@{O+bbF(#ahiO`KetX0 zRlk)EN#ak-46JfnnNDQM?}AfX7?qqak)ah1P=qSkWOSDGtkT=pu5krcv%ke=d4NI$ z%NbH6Ha)*RZjLcnDC)q+0>%YQXPvEyd<{HvlGH^;c4R0TmvmVJ1cqTK8ktIS7(vb) zG2ws#EpUHCY7&?Y;67bfliNseQ8qYt>Qs?=tPGwet96+Bv(bw`e_Zel6%`d4T91yT z<>cI>48`C`$utxlDK0L?F=Jw4vNv-@GyS0Pivfe8&kWWVyB=W%iC;jGyL(T+u9 zDgj|#D3PKV*WK5b1~pU~U$3uUmGG{FCxuo56zd2nH8@yLUw;*hi?VW!pH9u0Men`* zUm4uKR{0o~f@<6!BE1L;|7U7pzCD#P1jGdIPhh|v8=}|0^1QZoB}O|WY%W1ufdj9k ztUMk$cpI;Z)hF}2$Y@I(i-mPJQA;EaH9tbsHRDUDxS3 zToCev76qbiEU`6b0lE3<@RbhPYnWP=|30*EX8*r6{VfB}%@_gSb8~0TyT`t!455PM zqW5H7R*e`79jXYT_VObdhzfyv;6NpEeR@*kdNG4TtDvEuSu0l6Aqs^N01Ea?Hcc=z z&$Kxs;xv3Wez$(xC(%oA&M0(-NQ6wxzHGk5>hOO%hG>b;?k`l@W#Go5fV*hr+K+Yz zDy|yzT>c6xfQ_1h&Hv-VJq|EI}lxXbV;;x6%_w<$wyOO^tm>wt@%_>5b->(tP+DJm2H zpy~6!=g$F$zwT+V$Rw}%;Q#V}iIqgm}{~`7{j=!ckfp8y`nMu*tgD`EUM3@b>)qswH2;n>i4Ph@!-w_W!$+`@D)! zwr*Owv)mjUQ7>K?lyK8uMSwKpg0CI^9)QTKHDsl3tmIv*L5Z9i3f}YH|KEFdBWO~g zhtTT(`%k{(@H4$P%kkUN|BhuhXWKe^UqxRfx|?AdiV!_2#0K{E8sea~&=_H9sTBwru(R+EIdRHXh;86wf#^Zp6&1qL9vfUg6BCn{iHXs` z50}Oz!P#CxJSoMBIv3b%p6G~zS4`;d#9tVgnfGIamrpTvkzYU{^;#8+7>oZUOS~2e z;Y2u)IYsX-k3>eW50 z7aUBYu@F+uM5ipfA42^6UutXLMCRikV9?lea2OrM{P4rbf8Ym2U++-h4en0NY(rD& zmfTi|r`NlK5lV7LK(NTs$c~_NgNhx%YFHW+>^rT56Rxf%y^Sm^Yz)-MI#Qd=ND7AA z4XcJjgn@iF#$)XKp!AAsVvHyYdwG11?&BlOw1hDY#R}X+5p4~1bwO9(K=k~gP6zpl zgXsJ@vwuZnp0kkihaAUoO{ zVl0pV2{=PULhxWvhgtF8%a^6EyfoUm(YlWoB`g#gt;_^{8U~|ZzkUdxFR!7vAGI~= zwS*7dVb$m)9SBVf#LP!cY|PBg-Ka(j>vy-q=tru zKrm3Nsg;hp5YK`p4UY){Pvm5AuUR$sn;J*lM?F5qg+7D#%k5v@Qx36~818Q*cGF0>__HQ=t@5nu{% zVP8=i6`yLkRn)Nu;J898YI)!Atzfl_+W6t9XdG=*35x=Hv4kvuEQ%-yL1>{TLlrXm zsQ^s2fN_9{gx80!ILyVBQJDvFG`x;*P<#S6-s2Ngb%zAcsOC2mbwiJqB|0U`Sy$ z;lpu$uoxc^RpOnOf@ZWZq2L=Yo|Tn##=$`dFGYs!Wl;6?_9i%^FN8fMU(n^sm3_pj zy1L*{V;OP2h#l1A;`kV!nArL&XHydwY$HZNq%?nlXM+@$7d(-!`26ggshSuI>a@xi zF1!O@3bcpj(R1Q0hrOlVn^bug>A|k2w6VR6i;IK-M%WvlJcBVCU_q?Fg>S@k5zNtO z{sI`>mcy+8J+bJj00RrBG{zXkO}MSAfL7pQ09$3*50OSHm^;`%6o3%|bzK*km~A-$ zu#G@Ja2hb>RCFvKhU}3fm`o(c*7Vc)3Uyb4oJN$da15`cH3|Omc0gGMo6Y|CcjFv~ z1IK}|J0NaZx{dFI?s*k*YFxS4XHK7FNiGR}48mR^!%p<<{=;n`6HqQ_YTj=cEaqX! zFM7Ak1)zpE#*~8&Ft9*GSV=q*UzJ!92EQd%7U9;C$r=!mlE*Hrz^=HUfwl*l_Vu%9 z6CgybSjoA=coUF#>>lAuJFklfndc3{C%{h>ss538iP}N=5IS{U(jKfc=hY~aUw{PEGUu?mLoxrJ>E>m=S4<8M5 z3_AzP0kUSXneITiQFz*EjEX6NiVj+Q2nL5!LS!YdO-Q~jvR~bGjr7Q1=w>Fx{GSK2 zQzNl&--aPd0jNlNAjrRTbVU7`0HprnlMJBUy%y^sK5JXJXu^q!i%h|r||a3rltvYOBC7=Cut`Kp{9sc!t4?}E{fzJ zt8}ALOyzyqkUe@n?v!+;iqP3+GZTg!$=lI4hA;>vB79w6fDB6qv-Vb>o zxN%%O^y?wur+NuWz^{pKU8BO1vrScw;}t>(LseuR8ix?+uWy*UKpJ0BmR=nB0p0-2 zJ&V5=0hGaf!pte_+*YhIYQBs82^jGJV~VYNcB7XO(+-nKc&5okkIRn86Yv-#CNmHs z2gnpa46HgotdHNywZ)rPF zx^8Z51M8fARm&u{=OL0IIuYoT3y@<&awhisdlYOUhz8ao;fM=}v=^CSLfXnox`3>Y zedepO0!9KOi+F_)z`)%h(rKb2Z&xQcxRAE-p6SspmA>XgDrGWj5LZqSV;K;;%*{># z>k>@VBk&I1RdTLhF>%dwVpT*~*rMK+zr^oDo_bc$+*|B}@s>)ECe!gwqar*wp`S^? z5e$=be}=(HK&_0lx)zrSA-IP3T_8W?ZU^&SBYJl$5o&Zm(XRvdPlb1|zUU&^A9Scd zU;>FY7v@gf2V(cr>Wd+~J8tvn??FhLcb?|(Cc}LpqqAupNU;gCC1|k6(I%;FQ88)@;oc6(TRs6w1SLpBF7JGL%`mwh`wNVLeVsW!ow=W zariW(3Pm|8-~u5n!gqCcc)0`pmKo1CjwmFZ8BS-)*6vt{DL^bQ~(#?YmArTRMFwlPnE*HFJc}Rv>;|HU&vKTTc zdHqM*61{rdCetF&HR#_k*wa2wareQ1c6+@(N5m@xhldwi zWCBv1j=R!|aF$TqaMOSa9tGDx`!SMqlstHqXtHj2s!30U!Qij(i4vm;?B$X?$ zlV-&Z1q=CTHMBIM6BH02B2WVZ17P&F{BmwgWauMvx)EU_)LTs&vfw9>I3hQ5O;DYR z$efm_9brn+&Sgq99Xkn&&h8NFcR__+{ge)T8kIUzTW@Uv*F;ugU7Ca-$Yyi zzzP&M+@7mCpgA<-s5>T15Uz>9RtdEPN=wVz{-cr!C5{M=$@my(s8x&5x&r+BMk-%$ z=5POum6IlP1TM(AK(@-LqzfuXv`sEg#KNCGOzVJ97cSB7sNfl%iXU&P?vke)jI z17TNE8OYP&WRnSdxUWF13O!aMW&+MOTzabX_56wf)cwd59sD3Dx(ILc^Pdq}&(eMV zfWH)lnR_vexfhLkuUYh`fM7vtDEiHtS`)9*|A(L9-@h4zn6flUS}Y++lC9E0 zmMBsQp%E#WgceeyY)vXeBuyKdBq3#zgoa8IB_w;htffMw)bH`ke80zW-^Xzuzx$uh zF&|^<{eHck&ucl)^E$6LSHC`}=hcbo0hi2VCEb^(R+>tE4U3D5iH>-C<(IbIFJ;M_ zu(v@%0v=<5+^ewWl9Kk(`z+XFLwBWbdtpZarDR%~kb;$baG;nMLwZ4j#?u%YPI`T4 zn&=-zsJ6-Q_%*3yeQG$8D{&_Tt!Pb=(<)zh)u|5|Z-nu|2Xyb6a{tJ0O@mo$VB<7{ z=C{Ibd>M(m3Dd!1o)2P=NN@$SR>;OU7$Zt>H2p0CvnE$?9E8gfnVNc&$iJjAfi_@t zjQ4<@bO&MyuF$*|^<$Y6`(kW+ zxIKwMgI)|aR&Y&4ze`r69;LC5W4={?`#0-_=OcBu1a7ap9!3qizG^LxpNKdGP=O+j zA1!u!iEj>_#<+oq`pCe2+iQHy2xo`qW}CcJ)^Y0|mY)NrBAlGaWZoUErK0lSONxs~ z?g1YYu-o%9(zICX*N^qBALP4Q-!D4P9<;q0HkSUde{il2UN4XnqoX}{^I_=e#2?`9 z1#?Kl1{P3({GP*&T3(56EiLna@MO&t6a`fC{B_h@yLbYfzNr*(#I2Th3w=#! zMvBYDjvnzPgp&yyJZU1t*QaH0rCWkS0Z)st9F%5*(;k0_;%~}F;dX+%<#BXGx2d;&ktzK~-Wg5Ds(p zh0*##_{=&SrU~aF@hx8M3!e#6e>?_~m!u_{^7j{C%m=gY+)c)t zy}UboMNI_?`*aFOT$Nk)42|8N(Yf4{%^MGOTB9*+V`U510f)Z@6qKS^J?0s<}(S3rZ=5)YjnBACksg3vTKMQL8@|4f!!O%y+KTB*R6^6xw1~t}o{K({;Oauerp)-6VhCWzG#BE5r z@m&q{af$v*lhYEvbR{iAn3LJXj>Z&fN`_cxAS4hwQc;%jFN7p_!`gjlL|Iw(bL6)% zd*DKITiakN0p5U^pP&}}sl$F;QnI4y6^?Tg@VLTfx{FxZ&W&H<_L+gxQ)>#iECWqGCSE2J%dWcW7Kk<;wyQ>pTb zN=l4PP5Y3@oQ}Wrla!Ry_WV4QzMdkIRkXnzjQA|Zhl^F69-b%v($P}F5E>_z4gfDmtATTUrv-9 z)X$EN@sqE*au6`w#<8${KZqU}nZVq-2<7uKR-*D7NEZ(uKD@Oxv-NkLJ|K_CS*K2% z*a;P#@=f08n7{c`YD`hRe~^21?wRh!!Tfd3UvB5T2eu8?zRh2`v@H*; zw{q$D(J8(iK14v_Yz4N8X^|_QpmbcvqoRI1POjw~2oq?L`?&nH3T^}oab|!G&iC9o z^^usIAQ-LE|6J~(jh54alP;Y4pj4?+jWK6LIq;;fHMJ#_?S^&IwVdZV-;P%C0w_-~ z)&6s}99X#ZL@ANaMNKVgwl2cDRhU0P48mhkB#JNA(op^Dr<*J*(`3#Y!48T|p-OPl zzt&otK?Wq(XNi;ucuvnmfFV7J+vei(S^D->`t%{s_i$K%5O3$^dbL!Cd3}54NGbv0 z`El{vDsE5beIEE>$+>1;W<5q>eXN7)0nWtsu(?#M^vUA#>+AmruzM98*fK~~R#de# zG5n0{K0m&n&TR{yf7|3sCi-5{vx~AYYh#+2h9D!JyRrd!0Zr`<6iHN|*jEfCh?55t z>4=HwK=LQz<9lXldeX~LTCMf=_MW-@Gra7Q0aIVLN4lYUe23w;f{$tU$1Z3ztZh{b z{QH~V^FgMUM<&WlGpo>cU92;A)KpUt{ZVREpXD19P%i+Ne@&H>>|U zk+gg}3+ZqU)@&V@fXds%&hnpzwiKI z+HX+Wi~GLc7j^{DEax^H&^kDXpV#&!-Y|5*h*LAPqRf2bnoSa{0@|%C%(TOH<=CBM z9s}%FQ%=t^r*BU;N8T>IKd)X;0^##nKPwh=(wB(^>|{JZ6O*_QXs4B)0p+ zJ#Rn(HnG=Nirx&+6W{><`lqj7zoEn@;E$=9VrW>%xCmteMpJ`gi|&wp_>_VvXR?sb zLm;3dV=NDza|B&nkZs%U6=@q0#nJj4%3K;}Sr1@PR__VlWqE2fUUXFdDg(qa0&z*< zfUm6_FW^oyGyH#vB;edf)yuIQ0@OJ=V_E9*aYxjAGTDE*+cH6TQIM-#DVUfDq;3t3 zc}H*|=nB&~(%#xj;n;H`1Gq!<=DCRq2$)PH**9-ae>}YrG8X9%LwBHGBKi4b+Iq-2 zJ3G&{d(MPRvb8;t4!|1NSN_0h`x#e${MZ2`PKu0O6OJ zzK}r$*r<#;5|EJqUD3IUhJvu=P1q2h163gB$9lzzBbJR+Y68cw*UH0`3rGq^ z&ZPHC3PaFTdN_DF)`DY(92(j|hRPkV3h`A+V#n$~T6u4TU||(UPR3y}U%#O~S2^Eo zLh_uINlV)`I3;3UwXy7Gw*dirk3Q++XC&8G0whF7UA7N)!@{bT;ln9Yrf@EJ#Ui%- z_*&vspED@#`OaQ{lJ4>}lH+HbG+(uKYZ$3e((f0MH5kPrL`wSY{ulyTux9=GAn+$( zCzYleu(255b{)Qxs*EJp%v3A<=nT_K&;F|wEN9QyoD1b6KV(RCx(*S+%5L9Ihm}#vu=v+~7lCF&*At~**SFS>weSG+1DUD9D6P{;JXwXr;UnTZv z^&cSRZ;@EMH)}P>ErmXrtUphVqBF+ld&1GWsd9a*_cm_r2Pt;9ebkY832GxQW@HG; z3*Qe>Ht6Yjt8f28SyBo6`2ESZGnNUn;vbbawxG=kdv!A1#!NO3dn$lh9@dFVmlj>{ zfAQ(flk+QZ@g78ZOAw9AP9PM~0n)XUH?@lNE_QzqF+P6$NGZ+(!-I>c1c)l$@XK_; ze`8Z8cVG^Km0S*M{NL*VhWSStG9^7v3U#$*x0Z2;lC1%trzcpM9K=^mV4U+{syID| z5BJY2=4X%$>9}bK@s~Ww%nP*uEtLF$Kj|`~kvCP;U#arcjXH>>=wg!~ATv(i$lUz3 zm)bsLwvWa6KBST~n+%>fWYe`_p}~|rRr+t-(oK%JXvj!XU~^lT>4VWeWu+#3i=@sz zHJ&qv+R$_Fhud}&#CfH{8FPUp{$qb}i!awPRCq%T~!Abva(nRJIE zO|=IF&0e-D15ZE3o#*@d3gJ{rD}Yq;wQFsmS8B7`SMi;Qn!athzQU5!TK!M6_%%Cr z{8;b)%KyjB=|l0dyY^*Kv;-c9qptPuTJKl^d3JB<-@;}SZ6JUAn z$=2#AUA$PHf#QK{E1t^g)#dvPRRdqnJlW4F^)KphMA9P{|IJ(%-2h4kkF8q;9AT~A zK#;Ad_pEABJTND?SXn)G|E3|d>{=Gb3Tu?-X(ydKr)gkdhW|19ojc1W=PB;EUvoH- zOOF{H8QgpLl2uyakRfDLxAe&Uy@RIJkv?DnT70@})>WjyLta3Mn&5V;<@nGme-+jo zc^`3Vx(=auvReO4u`HG{HpSe{*|~3U?jka_+^GkjP(2V*9wKvMH^}FnIiXAue#T2s zgb_qxYg*m0ke#j2_UzTG9*4RT9cQjzpLnk9+4JXW&ve(NE(akZDd@f@$Hx|_?(v>BZ5rq4B9;iS ziPXb5+EM4guvhT4D0ByFtIJ4=rwP6EOKj0xm}l7_Kia2)f`ff8b5@X8O^H}AKr5!u zzi3?*C!5rH@zSN4pv`v4j9%_6T9;i}FDw~I8^p;&6BnBF!1E1GOJ!yE<=>i`s%_pt zApf&`9Acz@?UMD1rjQqC%X&!tvfLnMp@(l(qt_opgcHH((-PNL2BRK>YUXI7tAQ>B z&azaMu}?8o_)O~MW$GNcW~HrQ526hgNZ6|?+3MjTkVEGw;0_0h*8Pn{0|d3@UTbSB zu~|7;al)e)mGyHY3K4tXzn`a)GWV|~R#s@!5zKLz)1~<6$W)+}*IpXTLx9cm$cQ2n z@}NyGOWFR0Fh#4`ipF?ll5mpZvr+RyKpGc>K8jxm|9H__9mOPP48I6ZJ&l^f0ka~D zopRPqLh?b|gK5^Crg7i)z1kRm;eu3@S<};|&;RuE8)Wpl0YuErEbZw;syrZLxFSwB z2+A6*aD;ie_SoM}n4vC<>m4>60eSXJ0W)8`pC5!qmy}tungoiGrB1v}WCYKg$#m=} z#e29k3m6_&kLKw_(K?~qg#9NBP`mYh-4Kfy!;ubQl_mqD+0||*i=B{t$6KpwO`3$F z>^9^9?dhD@)r1o8g>T=cfIzt2j(yq+#$fq}(YB{wVU9}w9PPykY~ zk-KwMN`*%T#|*F2qQ{R_j`YAhY@}^BS2JuZxtsItF*Bw-A*Df4>i7=ytP0Q8-jj8C z#JAKudprE%qM{Ua`YcyfCDG{QTBtmtd;u6DNO#+Fb0-?7loZR_li06Qy|NHJ`sm*A zl^H#v%tjYWDCO3ZqwxEK%L2RK>b(7*l$3@QuVOLnOe_vW-EjG`?Ddu7`}{gqP0jv+ z&mVux8zsY~ASv5kFV z?CakWSf(ZIe$M~LjGHa5Hm1$*HEKX_lovc8Vm8Pg6rkIteS-^jO`l$SDYs>hQMF0) z%D7wY?FR2QFaN%hi+ObRHsZp3B=x=wxtO-!xb10G| zB4+o`PAiu_W^r4&8+9hyQ$Ldh!9g=qFJDI2)@+<<-0^Z~f%>qFbLOh{_fmq=SMVAL3QG|BhWo-B&Cf^gmjFlU;@e`Ss}VwrR`Q|IlvJ zriE_R+zdkC;o;7QmolvJ&p-co4=Yuzd@*B6#1E7D&^q0_iUkf`=H73~z27yzrV)h% zHouXR#ZIPl8@GdhP;@d(6rAgDYgXR{B~Gbsr^DU`f=pOGpVzj4V~)s(qBLL@YT=Y_ zGw(T3-dLYsa&PTKj>O$7$0RGldw{CGc=5t*)MB_7wa`EYpPxC4O4(fX;_~xvziuO- zY~Q}!?SA*X0abKntC>ugn$K-!3Yqu$YGYVq3m)M_yG}t7qG2>m6T;^kua$rQbsO&t zlnJ=>aAA$5 z4Vf_0a`V=G;SQ%HS5O*i%8{KPPAMB|?sVx{Rhw>osl*<3EZJDTz^1)iAW_5}YHt`p zxxROII%|X-i7`Gj`LIfXy%v?}ofFlywHG22yY^Jc6;!)9Z`!2XTPd(+P_Zo`3M_yoVB2-22(|-_AwTnC!sp-B56QD9@Y8JR zB+kEvQtpoyrD$0S-{^(ZbOIaXjgtUDkPu$q{Uy{cnP7Xgu*yZ-Jh7M>_^0%WJ{Q@^ zyUll-&MZk3&;IJ4Teohdk^hiRGj+a6MhJ5MocBa zk6O(c7Bvu{87`wn#P86AKtz_RM|IsyX?esIX{N|a=xOihyBAd z=BgYjdj4bXmQqQ3s6W>9;j82sWGp{_o1|V;bQ21LMMvcflg*~JXlmsvkVoipt96Ej z=t&zcqHks`!<}WG&F3)E1}pdQ@E{{=sqXNU4sbU*_oKE}Lt;<)ok&w27i@2+N#4Zx z{dJ?H+^_k2MbGUL4rrs|rm)>A{?U%a?J`Q$o_q|RGrE~Pd&`1l3snYidWo))j$;FR zpqEYl!571?lP}Rg9mJDUl^G6-=9?cu}&lTCXTeP;+yqb8BxFZ)e>ty?BcGPbK^J2F2?a-qp6 zC@5H3aaFo?Pet?;`2#$|yztE4B|DxfM@B^fVu$G!sa*v6Ba=}L0_w+t9ld%L+SZil z_KHYN@lyD5)2%J0_gl)#q$Wq)ry{Pu)n~j5f)+~l2k$m>Zn;|&<{xWomFhR;{HWLL zV0RRHu4Q{SH=pa*enRz4{~k|<9~ z2+4J|(bj%6Fkr9V(lTiU^}}GATYu%spk^xeZmt*Zv*v25Z{t+T=18;nFX20rWNce5#74SkRGJP`yWVw7iTdt& zMsqky=yKtr*QGumv8!90gl+lyq5425NeqQ!S-YkQdu+pu~j^(S?1eJx& z{h~OCIt*SAt~ReM;jK3jtU;%XS4&`)ZFielJ8e~Dvuk7)Kd5jIJaM2o(j?AOVnB8i z_ef{R^y%HV%}z@`V>I@wE{%s9+c$_{ROQ4gVn27Dw;HZ8t!+O4`0>*x{U=k(qziWS zIz@Smq9-$C1Lp@T-cd*1?b|?b!YDk!>a5D;VQY`~8hlgm$w-k+EY%HG@R4Wi&bryZ z{+^v8i3CrT>nnX#T!ucGp>pv^o(ezy`29D=Ps%TTk_pNgpBiOpYfqU9^G-1aZb#2{ zs^kON9wiy-A?iQQ>|kdJ`>EloM*aMHx%3;V`*O=x&)~Y+T2?wdST`wHe<^m&OAVH0 zZ}(izN1s>Y=;-KAp*`4Ul3ZUP2i_#55GcbRVRnkM$}Bg}VSnZLe`>B@*9Rxd$jAtO zDm8S^7DB{@tgvSVGN+!9grSfA!T?(yQk7+ zM~i(YNDJ4mWnj)0qqJ2vaOmBvn(=KnJ$A0iFudFR$e7HwX;UzQ|23~-Z@s>8UjMr$ zFaPk|S!xn|l?2t4v^0N83di%kQh37&)}OEFtKDdFwfXj0>9?51&-$Z1|4mCa?zU@Z zC+-2*yKL^5T36SV`nBQF_CuuIuZ@l>9X{cAb=fhpLBXGEDlZ=3c_611JFh_LL@P8>*X>nS+qAHJ{bNabzn1uocK_S*J5q(-jQPHP9UVCvMcqAtjv6h9 zv(ze=@-4ITpH|6Mz8u|NFIvueS6__za?#M*sbD-mk@t}@l*uF$*}d|8B?$98WAbd$ zy)DW$(mb8=sXmJ?v}%_oK4vpwO1BnxbgJdKr4r4{ZJOpqcFeonxcJJ(1RcY+)haU? zNg)944-USRo*u9yF~=#@Wbw$GMatiLD!(ZWpa16YrO&SICq7S&v7dIU=KJs${p-UF z{r_D%*g;Qack97X%Cv8wx63JfEL0qR@)}DK!L`Mt9i{fsScTc`aptOeQ`)^>*5A;Q zIA5#?Pqhk-TgWTgnU0{kuMTqPI8JDYv2bb+N3`&yM^K#g`V(@!6OI18MtWLXOnm4!y?)oGV6j|o<^HGOv_zuxVue5Lj#!! zLX@n^dW9h8EeYm#xAf~>MmL73c;^teY2H1-L4%x*>DID1dY+0+w1jO<h^(7zx3_08wVG(jrl%~;I`3qxW6Bn}tAh6TZk0)Lfuv^UZ7hix9Uag1|~cH#U9Q^ZQW zn6|3XBsuU7HdNF%AD({fjQv#k z0}ZWG9qL2JCMcH-vry}mkOn7H4<|sfhLig8<;w{KQic^eQcH~kO~x11kNEqx)M$rG z{B*mi;q$3A*@oAlEm=&em$Z^2$s0S^-(TE7`la5T z6Pv7Z8KI1rcEmxB<7UuY)(!D5J+S~;fjrsN3N4?q&E{NIxufiFHK&H}pxIgyrMR+Z z@>+VmC6^7aN%?Q+*?#CP5kkkN#a43P;E0{)PCRl-eaV_n^e>P(B(no^+-GgnJCb)t za{RD`URNGfyYy@PtTZS}!APn$zaVrp`QvU!{I0hr`h{fMt+i!t2|$FpAzg~v>~1+b z7sgB*qx*~B=5Jxo@N}C4rrG7p&O>jzSLvRyIy?G#LFJnj`s0X*d>IzD+^y(4tW>?= zmX+Gb#5J==Cuxt!e%(HNyMgz33Jm_1l1?Ax8-_BHIU{~o^j|Dt;^j*QOlF_fB>CBi z#o&v=wUp;YAMx$mH-2Vl<=|PPj~kr?8=2K~{B5rRbuPpj{N})C&g}S5d=^{bE;+i`d5Yn!!%|6u73!3jWJ7`a?B)*Stz=&ioCb~l zHN}4*1Y~~I^fi!r@$~ug5O1@S<{W?i(T>~$UCMNRm?UO=h*KGQv)2*^uFKCi?3dZz(OCfdOnC7< z-?=78WUS2Q>-2FjKwXdx3Y`NlXO*UE=4JLsjXL6$t?Yf=H)!I=&&!%;x1TV-)Iz$d z$t!p7sYIpJx`zl-*TZPSj61FCQ2yR0RJL(vE3g#9GPMuaB$SqPPj7{M}7`2jtHF+lRfpWwi1VM`HB^B%Bs!2WMSmxWTJ#Q-~VpD zyH&AzulrzINmd$wD}vx(zkYxYJf@JTm#X>WhP|-A^o$IKi(j5e2RH#@bZd2_*$HRP zFiv-o59C^kKmYcjM`c7g_9p3iyNn+91X-Wat2?^g~PCb)y(qAs;!^>~zsa)rm#hsO^5v z$L5YYYo*2|fkEJeKE5fOOmn44e{{oU6 zINoHG83<$>t=eOteWhXnbl7HT5#>)sI~-lzwKFCTtfWo;|C8bh|5eHvP>^}U0P8tjEV+H-fW zyjR)JJ)rBDW$JfsXI*wzu&;D6_P-cFohQDUaiUNUKFPWF)p^QTN3B5n4Lm*tDP^x< zu;lrpMsyP{f7~E`8bt`@t7C7ze7Z5;4@N=anqOpTR$ciY!`>{=?evZ0yzop2wJ=Y7 z?0!=Iac%V=K9qm3{+Kbw6y}H1=`V>+;EOfrE16B<|A>bvu?G>!yfMqQd+lZgqk@#b zjo=sbl)~Jm8JR7-*Pq2$3$IH^<6`38(Y~XvL^qP4+sb$4?(EFHqf^XJqw#Q_5~2PO zjYLDEf=?j@``gXBUcP`ZcF9ls=M`~cb$S-#P`O#xg6gQ?taVRUiGb-I3BWc2Y62$c z9&%{UxrBsaq>*da)D@>B*G!hbKcet&5G|aR-E`=Ml!AL^ywdR9=|_J<11EP6!k_^M9(n%@S(PaAB#NoeC!WiI5b+o5}SF>J^8mh z-x1qoq~7R`JTecK#4LW1td?ZUIM;aa?=>%C{dJTSUet>e=uG5>9zFf~*;(b3ci)__0pve9Jv|Sj zO`#9xl801&s;w0h2QbQCW-Gn9>fe%9_7x)xYxPmNCY1XC^ArOS^oTKK9wOXIKjX=t1Cdxp?ma2-5Niu58<>ZZKD6fT~R3i1t;gGP)tEY+xev z5d6gWP`S&U?Vo;j1w%d0H)n9pw9=nHew+;}hMwW*yqn`I1@5r>18D8Cb89r^z(Q;z zJ{WwIR(fL-H;V-{a0zzFP)yg`yieT$FWxckLaR!_rc2L2{|+a2Yu+ZnVP&b>B+3F1 z5_qSA2NG~)l<&!GbkbHZs3;A*6~Y(JvD0yrg~Nd;{pq+dP@3L%$;wu|97F0=@b@J%UvJMP5hXV9oJCrXax{q^AY*(d-3U*E&kVHa-2fr+>){X380`L z8E}F?$X=x>5I~6ME68i_9w(vuZ5jZ|5obv}n}(gb0HlUltKn zAefAu*LZmi#{B})63`3=6S)^W1?(kP6phAzg1-D^TLI?~_yc6WN|p38k~oXoz|TE| z2n@nBepd_FKnpI!Ffcq~Sjv9t6Amm?Fx6&*a(kBV^f=4B!GAK5C_WBLyjU820Phcm zmP1XpWP4y(Og=%5SlQGX+&v1qgI_No@Sj2uyh*k8)w!it=~Ai#UY<0c>tXo{wG}ah zfrf+K$HmCnNv%k>KI$>-jof&eF0*(P2govx@XGn>&`2Z#3g9Yd+xSOg3PX7-jA$eG z$yudIKZjc4`25o&dMGf;#Ywu;#R^Mc_S3`^j&6EIV@g}#A;10l$`&OISiGed_5mVg z^0ia^K*azRPU(gUh+0$3AaojwiKWq?{*2`yX@klV#4KJ9m!1J5i>jP)QN#;f@hBS= zmY=t!-}VlqIIFj8SsWdK_=^w7AfEUVaB#YX{0WPY#&q+g73AeO)XyK2oSG_DuL?Hm z;gOwseSVYd!5KvLD^D|x{s-d_)D`*mB}h@0LFy3~;A;s*LMk=UBD+0!)^Ji$a&q#p z60w1l6GQ3363?&?P?_W@dQyg6I2m+V*rYR3I__D`pn`_iua%%`Q--kV4uBz#djc@Z zTO%{Bn zrrfNP=H@?b*;Z+isyG7h#&lMs=4o4N`3P0pRVxdnVKabXxdcdg#-Jh3O);K%@%eEbPO>fIj9G=@NU{(dj03e@?9O6%+ zR&pK-llh|>_icb|7j|~&@p$UU;wdZ8@KCKV3DOmocr=PW^!SXEs1D4aGC|S8|GpHX z=Gbk)_$dX$O>;EXa!>>!G4j#@rci+*gsALUX{pepP%0tK;~TwUz?C5pOAjf%ds}{! z^s6dG$_@89?*$gzhr7mhvX)eFTF*58-fo(+rTm1ag^JE(`2*@gJ;>YD)YF^q?tV%A zJ0sSPodTPo>9tvrzOJr9G==1%T4_+gBm{=k)ea7`)yQ>r2zekJkp!wb_6q!E53K^- zZ~xLns|QZ0;3s5nk_25lSKH;{Cdx|c7~Ew*nlq1zbVYtgQ!IEK(3nAGKLs?r7tWyR z1t}!l={s64f3cW#XhEbOO_6QT2Xq3y!)h4t7dxKi`u@2oTL9=eHUHqZ43>W^=)yPV z%OF+I3nF|6heZ9emOcQw9!Nx}l|Ffxw*PKxOM&L_(@=tmpib!wTo!kYnCk)%ET$hB z0jmm6&&UXZ$wrFA!KJ&<8%z9ws$$xO?^kHp;XUuiO|84lO?$IkRe3y={1Cn{7s@O2 zlJ^^~LXSl)5lpu$dK;vTX!#mG_^-LoMHO<8Zc=tB{yIwr$N8H-uwr!H;+I49`?B|fA<0IHd8+7)`lR1itXRW|LEs`*u#05@Nbw0rB91n; zDCJMRtEx|#tX{h)!Aff(%^j}n$F`c$0B^hA9?(gh_O8*Q+0zBD5;}140LMd#4_~6B(?gk#WW>+#`<82c5=0Sf~`bX>s)2&V0vN zdgq>@yD6@1k=kili=U52np0{DTMl3oYZ?`M4=@-vEB>ueIg-Qh3dF@+WdLhM?>M?= zydp6JI?5?30(+waQ$(f$M~?SDU^t_|pig3SfE+-D^)MOzDf(`Db_ZjjgY))QAgv+j zIFe_+bg40JWspw%3A&!6MQ6^Q6{dh36$H5Ok|Prz$VACfwCY}{82URwfYN>FspF$v zG3(&BG988cHwsf`QD!CpvIpRSOVzD|Id;4^oC_HW6L&X* z7S&CWmkLG^mzilRp^tElEgCqXgkWz0q(*f@d?bg!iW9;JEe>f9P&m?Pcz7$U^oIyV z@W2qWj?S3sZ7^DdSz6>8Y4~hL2auU5Z)$z11tXQCk_*f^FL~8^sr1}?Ysd@5@ z;cyxz$R7}93q`~JY`tX%2PoXmd zm=yN{l&&ZYFq5Em;eweA@E&ki3aHxhFS?Z!^p|aIW`Q*y{znU-hi(A$ub~Ls{(y z@H?XpGeFL#I0p<$%o;v}^8s^7*X3`aDnpzkBHrneZ0(3hiMv7q1WI3|F3VGB(0GSl z$SxVG;vFLmsDkM4DI~ZqoJf}W5ZjI6a^2D?s6qSiDzoW1Vb7&gr;MUe+eV;efl>Hd zU%Y9vc%&MKy1urYzPWB+RsNSR|9o7v(#8fV=FX*CxV#QWsw0{3?ua!u0 zp&aBIQdcn<=Or!qf;!YKhPN>h`7hehqIEJ|f^$bqo5$cibq8giD0d_7lgWvOfYzY1 zVPo4eW05~VdZnbNk8#ZZ@O9fpEPpU1@-vztQ6c!pb(6@cH8nMv#rkS0Uh$_-H@}Sy zCisxs2OgNijSGpPk*AUcm_=3DGt?x9Sz)#h3zJYnFJ%u0jMAAwvAd*5G(kW?AR4i; zGeA6+@qbk9sX-O;GzCcxuy0JK~?{=os~SZ`PDUMXxQxRjY$$c`V1bB?+Gt@`dI zpWeR@xoHmS&#~YdU?sxXy|t~aqk}{B5cgMzzEB2I23pE*UBAAMKoA$i$Qm6`8xR1l zF)Ho^h%ckNB&+nK$@0Ha(@`1b)d^j1Zl%{bL!3tLa4?yB;*}zHUdVTw6WgE9pI?1z z-6YYe7YeUVNE+LccbhrrY&S>!%Fq1w=ErxI&$Egw!ldXv?rTab{`>Qc)m!UPN^{b8S^<{%iHee`mK?ndFg&J^VB7$V1 zD3!nPi76=={UeV9LMq48=TKB7vTftG8RwUn0&4+!lghXUNBb^}v*h+Z`!sItgPy;1 z<$}3tE6^lUM$xy7Z0eb>TDh<{A^Wx#vp-dRAM+fE4df8!1n3V?(SgoT({Y)JrJ*m! zYg9@@7ce*6fF}S+#wm=M=XMP0B~*`go9F8j4-Fy4}`&ESrD&D7Y3j$uLY3xcT5+nB?JHCg{(~gH` z0HrTm#)sB)6RRtjU}6YHOvkZ|OS;ou1;4y1z2`AMK00D~3Ls#AaT_UuC(`~tsXfr> z)iAjbVNN*q^5=n+f3%}@Qt`*_~VhG$eJ|VD9e!zHZT=w zxnjlGX@3%$#ZW<5X4}YsS-;Q>G9%rL%LraDKX;un38NBa*4X6R(Uem0gWoD>J}+zH zwQ@&uu9#Zo16fZ6@uj_I-2M)1kPQ#$So^CiMr4aYMwIzrGmD*Uukp9luC zE@ozq&oBgF)^V-q4&^Md4r!?vG!c)^;g@g1ffNa-ae|fDDTE&}W-t`_J`AFF6??&j z_N=`< z&GaG=@xlRtol(bTTp?qEXNy5FF~jZPSIvyCSW0&A&If&HL~lG!+r%6#H=a6Ps9nS? z!~QiSh)vh(B|5%s>bNaNVNADgz&Q% z#8XG67f>hQzkQ4%He%C_JhCdJT9jF?7;a`3jjGm7qXj5NWVvSLj!IvqX2>Eg8m4>~ zB6G%QSm@LsOGu1-7P6bLLORLd1U6zNneCIA3vmEvg`5V9LE^xt22RH!0>KZ-IggKx zMe!VlzBsxK$l~*Uxqw>znMG4$OoxrhIQ@>cMg$6GChM20%dTYO8s-AGJKAD825KKK z8RLBG!`EYu+P=o5ixzAhgfSpGWD;#3ZXziTx1cieI3SX_x~v#7CxB7`B%VEcqgekh zlQ{eGeDab?ZfkR8@UA@vFNr%(DdCPbzrEVF-H#C>|I+qvX9QxnusqFo4olny=;9!19#QobS zR+v+|IXn}vbGV~WG8)ts~>QHO_`Zd1G7 zRS4hE^b1D@F5|ZYS2prj@^muiwnI&claacfg~^+IgG}OhSCl{F2j)~1{NPTabPbCt zJmu2s(EC-K%r-Wqg*D~!Nn(q@Vrj?X6BC2P3jl5?`?pC%5wLWGA@qt~s0sgG2qaG# zOb>H+@AB}<(E8tV;J>fHl!?JI^bz#Ag}&|X8(&?`;rWPJC9Z>(N7Dz}4tWSdW`Y^~ zKRdtgQHyQ8dZds95u82)E1vyV7sIx4>5a9d! z6_hO(N9?QQH-L<6)*V-~gcOmd3I~x8x5?ZdrftMnes1OA zT^E3*DFXlAtffq*gZlaXQ>7ki~ZBQ?b|cv?}O?CJ!bNW$Z-+ajlTz0 z%(Wi8Su1?LFibA2Vb&oeK#~HyGtxiGzIK$k{Tm%W>XgH?RIl#lF+g8|<W|)Zq7;-OaAQf5Y(3vY_v@E0ce0kmSz54+GAC$|K*}2HfoT|3H+Yzb^Si2J z%_o|Yy7e139-9$fxs%Vs$P2uxu#`A|p0N`&?{|bL8)Z72X~D9M8#aVa8D@XmmH^Cc zg65$qrO%}#3GF(uD81oFoo@{3m+F^QoCw*uk6wE>2USHMAEJ6SWru<7yr!NC-E9!7 zIu=I9F?%w7W#n+xjhb>OnIC=|akv*_hZ3^0i*H;M9THs&pyB*cd!Tz8CjsY0Dr)SW z&l@4*)A)i*8h_hY>=ei4z&(~JO7brmolz-bgz6s`SDte>h%rtoF`f4to$k`5VIM1= zmzLJ#8n#aW<6>Z7>&2 zL+nZE2l35;1Z`t{MI6X^Zbjw8BZm|@RDr*2+=wZyS^EYMH(Og}zEwl%aJezMsV3=C z02(}Cawm`>;Z!FP&|=A`Enm0kVX?JowiKCW9_h$gv-D6*-DA1tj=n}+~DjyVtYCe0F%>TKXkqU#iv|41uXh~CdW`H!mefcssVGF}z_>Ev>0`(OhiO`05@4SgL zZRH*r!e}2Xf(4=E4`Fy58(X>WTpZY_r>C{YU4|mD9mU5q#3$Ev`uQcOP<7nj?EeR* zdwie%aHEi03=kbPiHmgiVT7C$Pry4<{64;d0s2(zj${*y)q)I%$jgIYsl7Y5vM69X zO$Tj)OTW#m8?`if?UYKa*4h5;T;!0kZw#8ao3({ZTT&?8TxEWvm5JOuJEjk2Fn~ec z*5my#Y~96cypDpD*OFdegR|OC0Mw?Zw>*6_4XoF+7E-_Z+GX(Mym~9OV#M0Wx-F(Z z;gk`iKFa#YUl`jqBc^a^!?Nq(aqtQ4AAEl#5u8`2F0XE1q!tQ-#n=w>n!im9K(smg z@Ii=2MFU&^58L#jL)?8_=S-b41v3l>S{q;xj(GaFQ~hppkZ5}D7OA44^7&om{ed|n z2>PNzU<-*>I2NJ`^*#Nv6EG-euR&Li70AcjfM;3B-7Pkc3q0nh3?4Y051H4AEH5%5 zQHb&ku+nnn$}=1G8LhYI_ZsIP-Kb+Gfn4_LW%0SaxQ?_w%@~ZE2If?ZSU*nE4zabm zoy_b_uqAY2cW>R(GLh~dtjJLK`vAMm(dKJqUP?;^E+(k7c(0ry7jP;?>!9?U*uzvX zxFGnAaK8i#=P=>RAedGYY4|Rh!IqjBQf;5%gWBYqhIfWD9)arEk4-I;pVCV@ABHC;p-H|NYPZyc{%7yU+jgkN6u`#)r7b{=fffFIQWYa`pfD5C8Y) zRNQ!LSl6eY(Y}QsJYv(|s3Y&!2c9~kygs!fE$Q|r51{b6*6o;@GcG3^)ML+0m;7`? zvji(V0J|blL?zbbeeUV<1S@!)Zc%0oz06E1VIJ znf8jf?@?Nc4lA?mLx9zy}1<=sQYVz^*u`a?5exbssZr^ z{0kSiF|9TFU{H=7gJ~eIz}+8TrVq?`v@bGQPZUNY<2N7q<87u#x}0pNghKdoT5?*mb(t3A~C1 zsT(Ve5RP^E*D2K!TKLgBE5nXSi!bssfn}aKx6kVHm&Bf~u%mNgZ=%@o*YS0KEK*chxq{>3O3<+_RMZE$KA!?>l_2-ElWQ9$eyq=^-&)o(SIHO!@I{Z5hI!#-me6U*#{!N_pW;Lyd`@l;~6#vS|tYp%) z21%M_c+!K)hR70HkLCJ2lw%s$KRP;kq4xnE9E^`|MP=s$&mOc?BTU$i2p>cNW(gry zukN1sf_MRt3A;H4)2RZ;UI|G_nKcXCfa@qOQZOpzRPpFLl~*-lVJNERTxH)#x_cXq zl8(kGN$!BDII`ofQ#}1=LJxyYMFZ7e?G}#BvE*zE0b3~rGmQt{NZl%^4oV<{80nqD z#)6p~8ora}y=Zj>fB<_!zz1Cg$V8IB;TC?WC_`m~T=7Un_`y^uoW2;Uda)^U0iY;( z8=93=NxgwHl&F@WE5PPZu^U0%;_6md!wP6`{=Bk0aOFrNQggAaNFeAI5SW!i-4@*q% zbT)T!%p*WIATJ&&BG5ZEjqjTjY*_b8`-omm2WMM zM^H{mb!+7OQ9?`!%?ynyGn<1Cv#*USX1R;p^_7J``yfG(CwzT&L1TjOCi_5;-5Vc@sISrK3)V&gz80@c5$BF(pfMT3%W+Fyk$|v_PXow zmmgE3__|4fE0Y}A_Np+=qc1~76sVjkC(}h#zP6DRt zFG5}d!^9T3ynQgtqxPkE6}%v38o?NZe&9$R4JpMWP>+&Nb0;^~;!RwfR;zz_E-3E5 zxS_%7FB$91`NJ^m_J^;KFnO5t1ujVx%e$R2>YQxWC0lcNdu;sYw;0CBWP@lHpe;mO zkgpk`*Y9L%f8P*|?cz-GCbTjT8F(S6% z`CbqkY_P4c(nZ|H`r>2v*AB*#B(~`DR^O(rRHdvwSYB?^iG5xjx$$br-bT*9viIk% z=&O=Sg7T}4=-(S#gqx#}soy2y+&Yo#njemp6;49f%j$y@X2WDy$S`ysU(nrV*)jw& zp(q9sBJd9^0i!}>@f-JxzFj!6Fm=u@T*_L^s4<)-U9jt$;R2Mg@Difudi)saU>SbY zV3C|rXx%m3YbFGaYh4Ux{-^SSfi%&~x z=9NafT(D9DZe^lB8|q?P5?2%T?$CZGXkIbXf{%r#h4T67QB=vtLWIQ~oy~=1jbcy^ zvb@zu;w=-hLE<|1buFh02hqX?&=vlbz8gk?SBy{%=l+wH3HZ9sM_R&vL}-8^rm8kd zD&b0afrbv2m$w}ICy4@hfoTB5LM*trR;jNMmJfCyf&t71;zgiHnb{Uo2UEF2*$QJC zKz9PboY)zO#b*mMY&1G%_>2jy{%VD$_4A5a#YaklUgzyJ%nm zYB21b;KBjy!3yY51dv8trp@~4K3u^NiNM)rTcDJ1+8u?-9_=ShDLKfX?ek13e3(zd{TcU@P@S|#+EE451{81?#Y7@F z-Ijqdr&MW>;kY62X$kp6a82*$++zLevN$`Fw8m!eVHNuKhuOb-Z9npMqI}o&cWbDYFFt+&CVg6iL z47L6^n(qMa&*vb$@^TZFrVg6-IliH?Pgp?y9S*&re&&SDVjlr6=JwD2D#f0e$;4^YDcC(Zd%3#A{=_!5Mv{7n|=2+oI z3ZkDxxqMk~)0U!onqeVNWbT%!;lw4)D=~r=~wWpi3h_T2pUT*x<~WVR^!`F^4*K;V+^jPFH=5KtfRjb za}6R^Rptg`L+{;_UxUY93uK_&kRh>*6<|V&btL&v2#ipX^WYwv41P94O%#%z96f$W zl`uv}ic2vA))Z>eBmNPjKI)%XRY|c{&afqK;oA=%_^$`{l}OWbJZU~Xu^2}!*3_V4 zXyogn8oWtD&E3_lXYDp;F_gga1jeo0s_*_Lf;M@MAFu|-kfdXoU?t2-#VP`-S5)8) zjMmX3Bv zQW~isH4zm6)fM{$a&h<22-9(^>LoU`qfFRgCWt{ygjtUIvVY~LR~cc@J8lhC^MuW~ zKzgY!3v2=N?KI^)@mUsrs@mSonlI8e;Tv%XbA_i*S5aKBy!{X*Vdq|V9UVbh(&rG; zUb$s*(?|{EebBvX<@R!AO}V~QE$;jh0yO|hU(TV}bt5>e>vcPVabQMQ`FO$Uhar}t zk!!M}1QHwuCpQG8cy8rKJ}2!r#Ua?8fGhF%1Z4vjrmg`SZF!P*BZtNVz-VjaR!VY! z=nFRK;@r{N2#=g(YhfvzH6mE=)(3lv)BNMYZ$p<40k}M-M^S&H}aD z?>098bN@x)geJ7@_+BFFh-n@lPgo{kV9GyUV!vw;ZY(2|DMlcBnmGn)t6^^B9{cjA&Vg{&FIE6r@hksVrm+NvE4n4CZQ#J4w z0aDC`H1DSd2+=!?WTe6Oo}$ z8Ml{wdHfUkbRB60fEm>#X_VSKEZ?ta-OGlT80}M}qCdileE^a}N)Wuepb05ep`#HaG2*ulzPKEUT$H}WPB;NOEjCXbR}EgweW3_S{3P2IIFV;TWg*x; zXD1jwm85!-Kf*tC|>a84KG+C_2c(7+SEf7qOdCBuV8oyi_7~42B#73 zl=70dR0A<+a9F!m0+v@(?r$6nxpH(X>5yqagy6A7uV1s~R;&TQfX3tFQ(=|N%&cf@ zrTo3B4ja>C^0;8of;kf9E}EUVP$NkPaW88VHuOv|-51UiG2OV_V3~ z-f-mCGoRKMMC<1>jg1~IDq-n{v6PE-+sv-7Owx!Dh*@X6g=>hR^dj z>5opD0rh^=J4U8xPf&P^O_KC|2y8v|qQ^O|?(8Xp@|{ve8IqW|=*WG#d%loxJ4GSD zqKY{1i%;iEo;-PcL2U)sl0t@iOr=Y?#F7if0(q0TUgWM^q$y{$V&PJ?--x_?LYDgB z21F~0g%P-xXjbG8NI+ll{!gENb0JiP;Ki?^m!={Y&ZR{3vN`*gE_jbI(BzHIPEMzo zVF3L;Y!cTD?O8~1@c4iS&s&VMp@LxE`mwhdDXl2AEHwje&Er!#(EkkRe!3mA2}bA7^>eMg!&fgAZTn z3jlwBMaaXz56oe4v#0^MVrZ{}cNBJFFkFE@i=C?PPc2nJ(hhqY!J|j!MCZ;^qE{s} z@{@$MeO(=V-j6kf>$Sp#Mu+$fw+Ci-iy8vP19=tZYhJk%iVLRjXeq!r%%V&tSrPu> zfqcKm`-(=Lx>>pXv;TYDan%H@zEM5{qTGPForO=v7GBxyxtUuT&cJ=A9z+5DFmB$@d?M({qruzF$vT7I$h7 zq42#;=KKA(MCm4W9tb;C+N^^4m!CPO>BYalzIc#UV&U1V&0ekU<}$OdJ2F;Xa`tm@ z>t8e=FD`Eog$Oq1({8+JYK6(xtIr;YJeQC=W%Mvfj2;9*CbqCIm*L$2iM(7bb))NqnWXw(G`#6}6}3D;EbR-1eNBYZ^1^ zHL7K3*UwY{jmLU0?Gbcy)s?u$`9v`c(?KwAt^%$++q;ntjy6|VcI1mV@pTbF?6xrdO53 zKpGuUZoq3mNnH;!9@_~s_?aKb5JKopn{cs0i1_$^Akqi|4$4aotG7YY!PhJ3sA<}8 z`Xk!|6aBM%zU8at)gQXQy&n{nS$IFU^qS^U{U>}9t#EEIuoxC@KYK8>&{Njx z8@*n?zgF#(noHdYZHe#Gnch{jI9Lo)sxy@icNk@cVQBy&Js=5$y0l&d1)6DMb?Nsf zX~LNw%@AKE)$Z-Ln$6p_Zv3_R_1*hTk%cwP&yo*ljiEhxZn#B$@+h?^K40vFe96f) z2e~oeZ+wB*5*a_ElPB6+_yc}EAQ4R|isly3Kc;~ySxEGgdr;C$%k`uSL)?h(8%kEP zk}Df6ws`k;v7NB8__|8uCd2k`&E##n)aAg4i)tp9DpbBw$apzFsYF;bE&OjNiH zHWXOwv^deHu|*FK$}RmKb5u0gfDn(^r;BkN;%ic^(aA&0C+xsjTuM>*@7tclUe5DZ zpH056({htmY`Asq^`@`UK{><2=g)~s|NVN$tl=kbpHG9pbc+8A13o$?4D)6s7N1fL z)OCD-=4!=?Aec-12G2iMl9Lk_;&h89x0Z>TTl%Qet!L#fXV$DjmMK5POHT=K3p+|= z0?F1^Q-52s#w6nY=?k&s4W1JlgN7+Hx*B{*oO`s;`-8@(Di`)-iO~T~< zx6DnnOdwgA%k;oJGRF=ag)%N2S7(MaYHMo?zshsw#3&YrlPo662ka22tblP+zkd5f zej`T$%pjPhAOb}N)hmATCr#5&%Ujfg6h~b@V~dZfq?t`8f#e^;1Fa*q6BbE9IlF0} zQAX?Q-@kL`j^p=8ym|h*bD`kX5Jr3WRUGPR18#9%ewr83BmL(cz%UMSd;9{2AMRqF zxEU-O;WIIY(2Z1=;p3O7=TCzM4O3DmmP^uoo{gSrk~|Lt?-SAW0f)AvuUv!NqhBwv z831TBSg%1$gz*=!_4Ul{by$r$3DRVhCcFsGC6>ybBrY?1HN6a0x~QD7=lk@0@~F|H zQPk`G`0@zQ^Yf#ab{Qyn4%FG(o_G-+@HdSc@E?+o@l)Z)XuO1r4@6Uk@YBeB*py;f ztrSzZHFp9E3G|a7Ydp~RFF!e{U&U7d#Q_C<(K_lWz9H*VIV z55Ic7Ou~G{@4hxuqu$RA%T?OG-(P7PbCBNoI@Fv@l)xU4(SPm?Zh)_;7dygsw0+K5#|u0f0!h)Z1DB8DJf&1f`SbeKetU?jmYxQl>5ga`^^ zB?M@o3A-|`++?*2D8hD&umVeeXX&Jqq~GEP2QLfffBxsZm*;(+_k}J)j?ZMYo7f#v zB_bM51nJ2I2GM8w1gHC6C~r-MCJNnMzuxOv#r{e9y-`%Q*)Z~1(X1K8C`Oe?r1DYP1Fw%sj-+3Efa#;~U}wmo zHL4wDcN3d>=Z)6b6jPLd91apodM4Xms*$0tp^@}aW_y5Jl8I8Zex5T(_tqZJ4J4If z@?077LkY!rMQ`3nIKyP0jp+tnz+kVFaUXUHZ5n(sK1{6)V}~0;O@p1T)}8I2U@Xiz zQbRLrR=@NlA_QQ@so0hKfJ624h8e01P|wJft+rHX4IxB5JQX>qDbYN4o-1k?;HZax zF%^Z+9Blh`Q9Mw*KzlI<+&)pK2`r!?5)>ZIx;UsfbP%D{ucZgdR0UPQ2UNaV{%v=B zc7$A*=tL#JI!~06N9%vJ6%Due2zAOYv@?7WCmG^-9iLM#!=iv^g3&S9hQJ62_;zI3 zb8e1Kv^oWTr|l(g3U14O#k5O>avUmAyG(ij4W>onM34(l1mt-r;Re2Scp(a8S^?3w z*owFrT8`kC;`8AtPfmpvUOtgpZYx&_YiL5iLsL0 zByI80hmw*X0D_;)h3DR-=gs>F-GDUXEGJvPCqjC-&_Y6?YCRuX*u zV)$pQ4s9R+##w@7fwIQ0=JhN-{CK%^sd8z4%&GNUM>raMQtC-qMT)h>;TY?7bN$4U zA_2l8OC!5I>TQM3;5hgzDKfBTnMbdzEt_&GyjdzaEm%+ z#l6Dvoy^p&?K`MyX|UAd_~{~VfcUr!7XTGmdgp4e6A%<YL71ZxIulcRG zLX6Tf`n?Y)gdmoK!({Kz)y9{~t`CPqWXj>Z+| z{ev#_4o_BekxQ^x&GAav8`-kFFWr~9+NA@|Ar_L24S=G=Z7mJmN2`d9t8!?}hZs;4 z`(ByOYo?k^Z(aJ%FFp-H3au5Efb8GW-vzn_prKL^e zaz#ONV^~B)kabtLuLta5W%I#P>y}JaXSh|+1DNO>?4l z)HhkOi1^VhS_lC#*=OR7yDoOfiMl)Dn!gm+!qbcGLzNEw z&`#GkoB-8?_y+PJ7B;4D^G6m;Q`AV#Uox*b5}QVgN_G5gzTNL_@U?WeQ8l#4s`{yx zxnynAofCnb5BNDx%4iCLv=2kPlfr4$vHQ=g3g=F2a?zg#&h)PRyVyJd7n`3IPloz! zi5Xt4n)w0j$aDj)`K1$o^b1_SWDbu=t(r2QH1l$xu6 z_IZB_7XszsOkI@9u%LWd= zzTNFKjdfU@GC}-yf_A(|K)Q*1YYOg#$z3ldSy37^iFR?6 zjRdQjGHfLCIy0~O(?38mX^@D)<6?df_!LA<+2yk>`uF;k`LBVqBfUyl3531L5qeXE zBakMQRF56>N0VuW27p>Z>&6x3?t=q`lPZm?Tae*ax~ePZTE`RTs5wEuiz^`H0~JAX zhN!x7!&#cXGUY&o0@00~l;!9$ zRESl=JZr+vDGt9w_&Rv9Kvmqeuqwc9B%D@tdsa;MW-v5Mqi&A(Q#W=O2Ds@as=v}d z4ZfM$^z4b+2ctY(eJ99!T1>YsS|W}OOT)~D*U(;cp{&8=~Nqy1!#t}TllB_ zrj<)9sVmClmjpbHX_}wvGvLn*A^1kzJob)ai3pq=&){eJeXCAyLvnI{jTqcXB8s8H z{9%*9{t1%(t4vbDVrwQVGJ2?>9)+C9f@*i()EkvK3()ck96+}k&jK8cFZ&E9MJ*5T zBP=1v!~Kp%gEZ-4b4ro?H5yh>=rqJiqz=d8uWS%i_{5`o%R+Ewqgh8x)=W=P_ge%j zhV+;##I{u~rJiqdVz`fj!Yu-?L_?kHw>PE>bKdTh)g&~ZFDDO8W9C&+`CsKI5EgWe zz5pxaUB5=pw^e7_Yewr_g&1Cpn*=b(9ocL7tl$I9+9>k0>YG^PscJ7hq_m6w!ANOX zO88CvJkMUtj4AOvWlg>yXpZ>g@Lci2zsk;YAhsZNAS;%oMU~x!<$P0TNZhBj4h&n_ z+|p9Ue1@Q)w!wjF5tNE_u%~v(^eC}z@rSA3PL4sTfD94EA=tDuw!W>v-YUtnD^usk ze{b@R{3&s-{RH@(KvUQ;Zu2$WBZ3nqg$k+$D6)CT+TqyjBUb)DCGjaFY$8bj(fO5< z5=Ff@F?3lWA%4HMTYum **0.65**. + +Then, check: +- Train accuracy score < **0.98**. It can be checked on the learning curve. If you are not sure, load the model, load the training set (0), score on the training set (0). +- The confusion matrix is represented as a DataFrame. Example: +![alt text][confusion_matrix] + +[confusion_matrix]: ../images/w2_weekend_confusion_matrix.png "Confusion matrix " + +- The learning curve for the best model is plotted. Example: + +![alt text][logo_learning_curve] + +[logo_learning_curve]: ../images/w2_weekend_learning_curve.png "Learning curve " + +Note: The green line on the plot shows the accuracy on the validation set not on the test set (1) and not on the test set (0). + +- The trained model is saved as a pickle file \ No newline at end of file diff --git a/one_exercise_per_file/week02/raid02/images/w2_weekend_confusion_matrix.png b/one_exercise_per_file/week02/raid02/images/w2_weekend_confusion_matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..f96b37e9acf0a9a746485a249a5094a2e23e80a4 GIT binary patch literal 54562 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 literal 0 HcmV?d00001 diff --git a/one_exercise_per_file/week02/raid02/images/w2_weekend_learning_curve.png b/one_exercise_per_file/week02/raid02/images/w2_weekend_learning_curve.png new file mode 100644 index 0000000000000000000000000000000000000000..e25120eb31ba54ec2025fa34d0e19bd0389f1dc3 GIT binary patch literal 80437 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 literal 0 HcmV?d00001 diff --git a/one_exercise_per_file/week02/raid02/readme.md b/one_exercise_per_file/week02/raid02/readme.md index e69de29..15ef755 100644 --- a/one_exercise_per_file/week02/raid02/readme.md +++ b/one_exercise_per_file/week02/raid02/readme.md @@ -0,0 +1,101 @@ +# Forest Cover Type Prediction + +The goal of this project is to use cartographic variables to classify forest categories. You will have to analyse the data, create features and to train a machine learning model on the cartographic data to make it as accurate as possible. + +## Data + +The input files are `train.csv`, `test.csv` and `covtype.data`: + +- `train.csv` +- `test.csv` +- `covtype.info` + +The train data set is used to **analyse the data and calibrate the models**. The goal is to get the accuracy as high as possible on the test set. The test set will be available at the end of the last day to prevent from the overfitting of the test set. + +The data is described in `covtype.info`. + +## Structure + +The structure of the project is: + +```console +project +│ README.md +│ environment.yml +│ +└───data +│ │ train.csv +│ | test.csv (not available first day) +| | covtype.info +│ +└───notebook +│ │ EDA.ipynb +| +|───scripts +| │ preprocessing_feature_engineering.py +| │ model_selection.py +│ | predict.py +│ +└───results + │ plots + │ test_predictions.csv + │ best_model.pkl + +``` + +## 1. EDA and feature engineering + +- Create a Jupyter Notebook to analyse the data sets and perform EDA (Exploratory Data Analysis). This notebook will not be evaluated. + +- *Hint: Examples of interesting features* + + - `Distance to hydrology = sqrt((Horizontal_Distance_To_Hydrology)^2 + (Vertical_Distance_To_Hydrology)^2)` + - `Horizontal_Distance_To_Fire_Points - Horizontal_Distance_To_Roadways` + +## 2. Model Selection + +The model selection approach is a key step because, t should return the best model and guaranty that the results are reproducible on the final test set. The goal of this step is to make sure that the results on the test set are not due to test set overfitting. It implies to split the data set as shown below: + +```console +DATA +└───TRAIN FILE (0) +│ └───── Train (1) +│ | Fold0: +| | Train +| | Validation +| | Fold1: +| | Train +| | Validation +... ... ... +| | +| └───── Test (1) +│ +└─── TEST FILE (0) (available last day) + +``` + +**Rules:** + +- Split train test +- Cross validation: at least 5 folds +- Grid search on at least 5 different models: + - Gradient Boosting, KNN, Random Forest, SVM, Logistic Regression. *Remember that for some model scaling the data is important and for others it doesn't matter.* + +- Train accuracy score < **0.98**. Train set (0). Write the result in the `README.md` +- Test (last day) accuracy > **0.65**. Test set (0). Write the result in the `README.md` +- Display the confusion matrix for the best model in a DataFrame. Precise the index and columns names (True label and Predicted label) +- Plot the learning curve for the best model +- Save the trained model as a [pickle](https://www.datacamp.com/community/tutorials/pickle-python-tutorial) file + +> Advice: As the grid search takes time, I suggest to prepare and test the code. Once you are confident it works, run the gridsearch at night and analyse the results + +**Hint**: The confusion matrix shows the misclassifications class per class. Try to detect if the model misclassifies badly one class with another. Then, do some research on the internet on the two forest cover types, find the differences and create some new features that underline these differences. More generally, the methodology of a models learning is a cycle with several iterations. More details [here](https://serokell.io/blog/machine-learning-testing) + +## 3. Predict (last day) + +Once you have selected the best model and you are confident it will perform well on new data, you're ready to predict on the test set: + +- Load the trained model +- Predict on the test set and compute the accuracy +- Save the predictions in a csv file +- Add your score on the `README.md` \ No newline at end of file