Newer
Older
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Chapter 2: Classification"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we have learned in the previous chapter *classification* belongs to the field of *supervised learning*. In such problems the aim is to predict a category. Such categories can be \n",
"\n",
"- ok/not ok\n",
"- good / bad / dont't know\n",
"- digit 0 ... / digit 9\n",
"- etc \n",
"\n",
"In this chapter we introduce the core concepts of classification."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## How could we build a simple classifier ?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we look at the beer example, we can assume that the person who rated tbe beers has preferences like, \"I don't like high alcohol content\", \"I like fruity beer\", etc."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This means we could construct a score where high numbers relate to \"favorable beer\". One simple way to implement such a score is to use a weighted sum like\n",
"\n",
"\n",
" score = -0.1 * alcohol_content + 4 * bitterness + 0.8 * darkness + 1.8 * fruitiness \n",
"\n",
"Positive weights contribute to a heigher score and negative weights to a lower.\n",
"\n",
"The actual weights here are guessed and serve as an example.\n",
"\n",
"The size of the numbers also reflects the numerical ranges of the features: alcohol content is in the range 3 to 5.9, where as bitterness is between 0 and 1.08:"
]
},
{
"cell_type": "code",
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>alcohol_content</th>\n",
" <th>bitterness</th>\n",
" <th>darkness</th>\n",
" <th>fruitiness</th>\n",
" <th>is_yummy</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>225.000000</td>\n",
" <td>225.000000</td>\n",
" <td>225.000000</td>\n",
" <td>225.000000</td>\n",
" <td>225.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>4.711873</td>\n",
" <td>0.463945</td>\n",
" <td>2.574963</td>\n",
" <td>0.223111</td>\n",
" <td>0.528889</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.437040</td>\n",
" <td>0.227366</td>\n",
" <td>1.725916</td>\n",
" <td>0.117272</td>\n",
" <td>0.500278</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>3.073993</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>4.429183</td>\n",
" <td>0.281291</td>\n",
" <td>1.197640</td>\n",
" <td>0.135783</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>4.740846</td>\n",
" <td>0.488249</td>\n",
" <td>2.026548</td>\n",
" <td>0.242396</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>5.005170</td>\n",
" <td>0.631056</td>\n",
" <td>4.043995</td>\n",
" <td>0.311874</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>5.955272</td>\n",
" <td>1.080170</td>\n",
" <td>7.221285</td>\n",
" <td>0.535315</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" alcohol_content bitterness darkness fruitiness is_yummy\n",
"count 225.000000 225.000000 225.000000 225.000000 225.000000\n",
"mean 4.711873 0.463945 2.574963 0.223111 0.528889\n",
"std 0.437040 0.227366 1.725916 0.117272 0.500278\n",
"min 3.073993 0.000000 0.000000 0.000000 0.000000\n",
"25% 4.429183 0.281291 1.197640 0.135783 0.000000\n",
"50% 4.740846 0.488249 2.026548 0.242396 1.000000\n",
"75% 5.005170 0.631056 4.043995 0.311874 1.000000\n",
"max 5.955272 1.080170 7.221285 0.535315 1.000000"
]
},
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"# read some data\n",
"beer_data = pd.read_csv(\"beers.csv\")\n",
"\n",
"beer_data.describe()"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": [
"scores =( -0.1 * beer_data[\"alcohol_content\"] + 3 * beer_data[\"bitterness\"] \n",
" + 0.8 * beer_data[\"darkness\"] + 1.8 * beer_data[\"fruitiness\"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we can plot the histogram of the scores by classes:"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"scores_good = scores[beer_data[\"is_yummy\"] == 1]\n",
"scores_bad = scores[beer_data[\"is_yummy\"] == 0]\n",
"\n",
"plt.hist(scores_good, bins=25, color=\"blue\", alpha=.5) # alpha makes bars translucent\n",
"plt.hist(scores_bad, bins=25, color=\"red\", alpha=.5);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Consequence: A simple classifier could use these scores and use a threshold around 3.5 to assign a class label."
]
},
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"not yummuy\n",
"yummy\n"
]
}
],
"source": [
"def classify(beer_feature):\n",
" scores =( -0.1 * beer_feature[\"alcohol_content\"] + 3 * beer_feature[\"bitterness\"] \n",
" + 0.8 * beer_feature[\"darkness\"] + 1.8 * beer_feature[\"fruitiness\"])\n",
" if scores > 3.5:\n",
" return \"yummy\"\n",
" else:\n",
" return \"not yummuy\"\n",
" \n",
"print(classify(beer_data.iloc[0]))\n",
"print(classify(beer_data.iloc[1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**This is how so called linear classifiers work. The magic is in computing the weights and the final threshold to guarantee good results.**\n",
"\n",
"*Comment*: although this seems to be a simple concept, linear classifiers can work very well, especially for higher resp. very high dimensions."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercise section 1\n",
"\n",
"Modify the weights in the beer classifiers and check if you can improve separation in the histogram.\n",
"\n",
"Try weights `[-0.05837955, 3.69479038, 0.6666397 , 1.62751838]` in the beer classifier. These are the weights the `LogisticRegression` classifier in the previous script computed.\n"
]
},
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Geometrical interpretation of feature vectors\n",
"\n",
"If you take the values of a input-feature vector you can imagine this as a point in a d-dimensional space.\n",
"\n",
"\n",
"E.g. if a data set consists of feature vectors of length 2, you can interpret the first feature value as a x-coordinate and the second value as a y-coordinate.\n",
"\n",
"Labeled features then group such points to different point clouds.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Example\n",
"\n",
"For sake of simplicity we restrict our beer data set to two features: `alcohol_content` and `bitterness`.\n",
"\n",
"The following plot shows how these reduced feature vectors can be interpreted as point clouds. For every feature vector we color points in green or red to indicate the according classes:"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xv = beer_data[\"alcohol_content\"]\n",
"yv = beer_data[\"bitterness\"]\n",
"\n",
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
"\n",
"plt.scatter(xv, yv, color=colors, marker='.');\n",
"plt.xlabel(\"alcohol_content\")\n",
"plt.ylabel(\"bitterness\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"What do we see here ?\n",
"\n",
"1. Both point clouds overlap, this tells us that the two features lack information for a 100% separation of classes. \n",
"2. We could draw a line to separate most points of both clouds.\n",
"3. Later we could use this line to make a guess for classifying a new feature vector.\n",
"\n",
"Eventually **classification is about finding a procedure to separate point clouds in an n-dimesional space.**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next we illustrate how more features can support classification. We add the `darkness` feature as third dimension.\n"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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vGIbCoHy3/8ibdwIQqC99BIiw2/aq5fOqFEae/dKvP76jR2nAGw2kel+3r59Mf++i5jYWMMcCw4u6pGYmJi4w3TilFHSIkRZRYrKqkPGxEOcTirPmoXf2bOkvvEGeqNG2a5+003unSTt2umweAAwgKzkekePdrFokZV27dRM7crzw5EjMk8/7UNqKtStq/Paa06qVvWeQWe3G/atywWpqTmvXxopSE2czz77jPfee4+oqCjat2+fXj515coV2rdv71a81MTEpPQjSRIpKSlER0fTsWNHhBBERUVRr169QrdtPMnEcbe8WGoT+vsjWrTI9WbXSvdh4UKZHTskHn1Up2lTDz+fw4G0cyfSqVPgcKDMm4favHm6h8FigTfeyNp5A8XDpi0OY/CUFStkZs5U8PWFTz5RS13JWUn6LUxMssO0dks5ZbZFuEmBEfjLL5RfvRrZ5cJn4kTsa9YU2LHatdNp1867npB586ycOyeRmAihoYazxZu0aaOj60YUq3bt0mX8eIoQosC0ae6++24GDBjAxIkT00undF2nXLlyBJthQxOTMs2IESO4ePEiVqsVu91OTEwMISEhHDlyhEAPpVtGjQAAIABJREFUS4C8iRCiTATKpAMHUCZPhuBg1LfeMtJHAWX3bir98guEhrLvcgTvvqsgSRAdLfHjjx5ml/r5oQ8ahHLggCHYFhRkpP9mgRAwd67Mli0y48Zp9OpVNu/B+WHDBhmLxehQuW+fVOqcOMWB0jgHmBQ+pgKkSTrFLupjkns0DXn/frhypcAOoYaGGnVGVisiPLzAjpOcDIsWWVizRiEvp+bcuVWpVy+A557zybR9WJigalXj38iRLsLDvXveBwRA9+467dvnXRi4pFOQmTjlypWjSpUqyLJMREQE4eHhREREEBwczMiRI9E09xFZExOT0s0ff/zBgQMH2LNnD0eOHGHv3r307t27SB6acnPMrNYtbjaZvHIlliefRPrrrxuXffYZxMcj7duHvGGD8eb589g++ICg7dtR3nmH8uVFepZqaGjujq3ffz+uP/5Afest1NdfN260WRAVJbFsmcKlSzBjxrU4tTe+S+nwYaStW8HpWZfLksr992tYrRJ16gi6dHGfSW2SN4rbdW1ScjEzccoIBT1pFMvU3ywoCWPMDcrPP2P57TdcI0agN2mCz1NPYVm/HlGxIik//ECe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jud7U6iBUhFHRERsUnx8PB06dKBu3bqsX78eyNsiE+C1114zH2cwGJg9ezY//vgjPXv2ZODAgbi6urJ371769OnDwYMHteV4Qcq0rI/yLxERKVK3Tqs6f/48Hh4erFixgi5dupiPuXjxIq6urtjZ2dGpUye2bt1KdnY2dnZ21KtXj8jISPO6OQcOHODw4cPm3a58fHx0E+12mk4ld3bz5k2aN2+Or68vDRs25I033rjtmKysLPr164enpyctWrQgPj6+6AO9RWFi/vLLL6latSp+fn74+fmxePFiC0T61wwGA40bN6Zbt263PWZtY53v72K21rGuXbs23t7e+Pn50axZs9seN5lMjB49Gk9PT3x8fNi3b58Forzd3eKOjIykQoUK5vF+++23LRDl7VJTUwkJCaF+/fp4eXmxe/fuAo8/6PHOzc2lZs2a5j/XqFGDxMTEAsfY29tTs2ZN3njjDV544QVcXV0BSE5OpmPHjtolQUSs2p2mjFrK8OHDqVatGo0aNbJ0KACcO3eO9u3b06BBAxo2bMgnn3xi0XgKk69awt/ldJZwt7zHEu6W0xSl48ePm3M+Pz8/nJ2dmTVrVpHGcOu0qieffJIqVaqwbNkyatasSevWrUlPT2f58uU0atQIX19f9u7dS2BgoDnOGjVqkJCQAMBXX33FlClTiImJ4bvvvuO5554jISEBe3t7jEZjkZ7XQyF/q69C/pKHhNFoNKWlpZlMJpMpOzvb1Lx5c9Pu3bsLHPPpp5+ann/+eZPJZDItXbrU1Ldv3yKP81aFiTk8PNz0n//8xxLh3dVHH31keuaZZ0xdu3a97TFrG+t8fxeztY51rVq1TElJSXd8fM2aNaannnrKZDQaTbt37zY1b968CKO7s7vFvWXLlr/8e7C0wYMHmxYtWmQymUymrKws09WrVws8/qDGu3///qbq1aub7O3tTWXLljUtXrzYZDKZTEuWLLnjv0uDwWAymfI+S/773/+aPD09TcuWLStwjNFovC/x2bh7zQ3068H/kmIqNzfX5OHhYTp16pQpKyvL5OPjYzpy5IhFY9q6datp7969poYNG1o0jnznz5837d2712QymUzXr1831a1b16JjVJh81RL+LqezhLvlPZZwt5zGUnJzc02urq6m+Ph4i8UQHR1tsre3N+3Zs8dkMplMo0ePNk2dOrXAMV27djVt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j/IvEREp1gwGA/b29qSlpeHk5GTpcB6UQuVgKuKIiIjIrVTEsT7Kv0RERB5+hcrBNJ1KRERERERERMQGqIgjIiIiIiIiImIDVMQREREREREREbEBKuKIiIiIiIiIiNgAFXFERERERERERGyAijgiIiIiIiIiIjZARRwRERERERERERugIo6IiIiIiIiIiA1QEUdERERERERExAaoiCMiIiIiIiIiYgNUxBERERERERERsQEq4oiIiIiIiIiI2AAVcUREREREREREbICKOCIiIiIiIiIiNkBFHBERERERERERG6AijoiIiIiIiIiIDVARR0RERERERETEBqiIIyIiIiIiIiJiA1TEERERERERERGxASriiIiIiIiIiIjYABVxRERERERERERsgIo4IiIiIiIiIiI2QEUcEREREREREREboCKOiIiIiIiIiIgNUBFHRERERERERMQGqIgjIiIiIiIiImIDVMQREREREREREbEBKuKIiIiIiIiIiNgAh3s83u6BRCEiIiIid6L8S0RERAB14oiIiIiIiIiI2AQVcUREREREREREbICKOCIiIiIiIiIiNkBFHBERERERERERG6AijoiIiIiIiIiIDVARR0RERERERETEBqiIIyIiIiIiIiJiA1TEERERERERERGxASriiIiIiIiIiIjYABVxRERERERERERswP8HDhDS10jy51MAAAAASUVORK5CYII=\n",
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from mpl_toolkits.mplot3d import Axes3D\n",
"\n",
"fig = plt.figure(figsize=(20, 7))\n",
"\n",
"xv = beer_data[\"alcohol_content\"]\n",
"yv = beer_data[\"darkness\"]\n",
"zv = beer_data[\"bitterness\"]\n",
"\n",
"\n",
"def plot(ax):\n",
" ax.scatter(xv, yv, zv, c=colors, marker='.') \n",
"\n",
" ax.set_xlabel('alcohol_content')\n",
" ax.set_ylabel('darkness')\n",
" ax.set_zlabel('bitterness');\n",
"\n",
"ax = fig.add_subplot(121, projection='3d')\n",
"\n",
"plot(ax)\n",
"\n",
"ax = fig.add_subplot(122, projection='3d')\n",
"plot(ax)\n",
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The first view is very similar to the scatter plot before as we don't see the effects of the third feature. \n",
"\n",
"The second view shows the same cube rotated by 90˚ to the left. We see that the new dimenission adds extra information which could improve separation. So tiling the plane which separates in the first view could improve separation.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"The concept of decision surfaces is crucial in classification. \n",
"Lets start with an easy to visualize example 2D: \n",
"For a score based on a weighted sum for two features `x` and `y` the equation\n",
"\n",
"\n",
" weight_x * x + weight_y * y = threshold\n",
" \n",
"\n",
"defines a line in 2d space. Points fulfilling\n",
"\n",
" weight_x * x + weight_y * y < threshold\n",
" \n",
" \n",
"vs\n",
"\n",
" weight_x * x + weight_y * y > threshold\n",
" \n",
"\n",
"are located on opposite sides of this line. Such a classifier thus determines a line which separates the feature space in two parts according to the two classes."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets visualize this! \n",
"\n",
"We \n",
"\n",
"- create random points in 2D,\n",
"- compute scores for given weights\n",
"- split points according to their score compared to the threshold \n",
"- plot them in different colors.\n",
"\n",
"Additionally we did some math and computed the decision line:"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"wx = -.5\n",
"wy = 1.2\n",
"threshold = 0.2\n",
"\n",
"weights = np.array((wx, wy))\n",
"points_2d = np.random.random((200, 2))\n",
"scores = points_2d @ weights # matrix - vector product\n",
"\n",
"above_points = points_2d[scores > threshold]\n",
"below_points = points_2d[scores < threshold]\n",
"\n",
"plt.scatter(above_points[:, 0], above_points[:, 1], c=\"b\", marker=\".\", label=\"above\")\n",
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
"plt.scatter(below_points[:, 0], below_points[:, 1], c=\"r\", marker=\".\", label=\"below\")\n",
"\n",
"# plot decision line\n",
"x = np.linspace(-.01, 1.01, 2)\n",
"y = threshold / weights[1] - weights[0] / weights[1] * x\n",
"plt.plot(x, y, 'k:')\n",
"plt.legend();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Higher dimensions**: For 3D features a linear classifiers separates classes by a plane, and for higher dimensions `n` we get `n-1` dimensional planes."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Example\n",
"\n",
"In the beer example, features fulfilling\n",
"\n",
" -0.1 * alcohol_content + 4 * bitterness + 0.8 * darkness + 1.9 * fruitiness == threshold\n",
" \n",
"are located on a 3D-plane in 4D. \n",
"\n",
"Points in the \"not yummy\" class fulfilling\n",
"\n",
" -0.1 * alcohol_content + 4 * bitterness + 0.8 * darkness + 1.9 * fruitiness < threshold\n",
" \n",
"and points in the \"yummy class\"\n",
"\n",
" -0.1 * alcohol_content + 4 * bitterness + 0.8 * darkness + 1.9 * fruitiness > threshold\n",
" \n",
"are located on different sides of this plane.\n",
"\n",
"Again: **Here the classifier separates the 4d space into two parts, the separation boundary is a plane in this space.**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### About 2D examples\n",
"\n",
"For the sake of simplicity and visualisation we continue with 2 dimensional examples.\n",
"\n",
"It is clear that such examples only represent very small subset of realistic ML scenarios. But most concepts can be illustrated in 2- or 3D without loss of generality.\n",
"\n",
"The examples also might look artificial, but general classifiers should work on all kind of problems."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## More complex decision surfaces"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The next example data set can not bew classified by a line, the decision line is curved:\n"
]
},
{
"cell_type": "code",
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>a</th>\n",
" <th>b</th>\n",
" <th>label</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>-3.591782</td>\n",
" <td>3.612599</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>6.580586</td>\n",
" <td>-2.105557</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-0.670938</td>\n",
" <td>-5.905074</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" a b label\n",
"0 -3.591782 3.612599 1\n",
"1 6.580586 -2.105557 1\n",
"2 -0.670938 -5.905074 1"
]
},
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv(\"2d_points.csv\")\n",
"df.head(3)"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xv = df[\"a\"]\n",
"yv = df[\"b\"]\n",
"\n",
"plt.figure(figsize=(5, 5))\n",
"plt.xlim([-8, 8])\n",
"plt.ylim([-8, 8])\n",
"plt.scatter(xv, yv, color=colors, marker=\".\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this case a suitable decision surface is curved and is looks like a circle. A hand-crafted classifier could classify new points based on their distance to the center.\n",
"\n",
"\n",
"It should be clear that a linear classifier is not suitable for this problem !\n",
"\n",
"### Example for feature engineering\n",
"\n",
"To improve ML performance we can try to enhance / transform a given feature-set by transformations. This process is called **feature engineering**.\n",
"\n",
"In the previous example we see that the distance of the origin of a point could be used to implement a classifier.\n",
"\n",
"Computing the distance of a point to the origin (0, 0) using the euclidian formula includes terms $x^2$ and $y^2$. \n",
"\n",
"Let us create a scatter plot for this transformation:"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(xv ** 2, yv ** 2, color=colors, marker='.');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see both sets can be separated by a line now !"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The so called \"xor-problem\" is a typical benchmark problem for machine learning. The following example illustrates this problem:"
]
},
{
"cell_type": "code",
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>x</th>\n",
" <th>y</th>\n",
" <th>label</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>-1.539782</td>\n",
" <td>0.950822</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.436266</td>\n",
" <td>-1.768324</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-1.466436</td>\n",
" <td>1.391890</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>-1.037642</td>\n",
" <td>-0.953587</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>-0.691444</td>\n",
" <td>-0.219826</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" x y label\n",
"0 -1.539782 0.950822 False\n",
"1 0.436266 -1.768324 False\n",
"2 -1.466436 1.391890 False\n",
"3 -1.037642 -0.953587 True\n",
"4 -0.691444 -0.219826 True"
]
},
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xor = pd.read_csv(\"xor.csv\")\n",
"xor.head()"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAUwAAAE/CAYAAAAt2PowAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsnXeYE1Xbxu+TbEt2l97LihSpAgpSBAEFu4ggiK8KKIi9olixd1D0VV8pItZPRUFEERCkKSAqvUpbYKUsLH17SZ7vjztxkmU3mSSTtuR3XXNtNpk552Qy88w5T1UighgxYsSI4R1TuAcQI0aMGNFCTGDGiBEjhk5iAjNGjBgxdBITmDFixIihk5jAjBEjRgydxARmjBgxYugkJjBjBIxSKk0plaOUMge5n0ZKKVFKxQWzHx3j+EQp9bLOfZcopW73sx+/j40RHGICM0bAiEiGiKSIiM3bvpEi9KIZpdRExwMqRylVpJQqdvl/brjHV5GJCcwIJiZUYpSFiNzleEClAHgVwDTn/yJyZen9Y9eRccQEZohRSp2vlFqrlMpWSn2rlJrmXN4ppXoppfYppR5XSmUC+Njx/jVKqXVKqRNKqRVKqbYu7dVTSs1QSmUppXYrpR5w+ex5pdQ3SqnPHP1tVkp19DA2UUo9oJRKV0odUUqNU0qZHJ+ZlFJjlFJ7lVKHHW1WdnzmNmt0LCVfUkotd/Q7XylVw9HNr46/Jxwzoq5KqaZKqaVKqZOOfqd5OY03K6UyHPs+7TL+Tkqp3x3n6aBS6n2lVILjswlKqTdLfd9ZSqlR3s6jJ5RSVZVSsx3HHXe8blBqtyZKqT+VUqccfVZzOb6L4zc9oZRar5TqpadfL2Nq6vg9blNKZQCYr5Tqo5TaU2q/fc7+HL/vU0qpXY7z+rVSqmqgY6loxARmCHHcvDMBfAKgGoCvAPQvtVsdx2dnAbhDKXUegKkA7gRQHcAkAD8opRIdwuxHAOsB1AfQG8BDSqnLXdq7FsDXAKoA+AHA+16G2R9ARwDnA+gHYLjj/Vsd28UAGgNI8dLWTQBuA1ALQAKARx3v93D8reKYEf0O4CUA8wFUBdAAwHtextgdQHPw+z6rlGrpeN8G4GEANQB0dXx+j+OzrwAMVkopgIIOwGUAvtZ5HsvDBD7YzgKQBiAfp5+XoeB5rAugBMC7jjHUB/ATgJfB3/xRADOUUjV19KuHHgBaALhax74PO/brAf4GOc5xxnBBRGJbiDbwYtwPQLm8twzAy47XvQAUAUhy+XwCgJdKtbMNQE8AnQFklPrsSQAfO14/D+AXl89aAcj3MD4BcIXL//cAWOh4vRDAPS6fNQdQDCAOQCPHsXGOz5YAGFOqnXmO1277Ot77DMBkAA28nD/nsQ1c3vsTwI3l7P8QgJmO1wpABoAejv9HAljkeO3xPJbR7ifO36yMz9oDOO7y/xIAr5f6DYoAmAE8DuDzUsf/DGCYy7G3ezknzwP4otR7TR3nKc3lvT4A9pTabx+AXo7XOwD0dPmsIYACAKZw3zeRtMV0G6GlHoD94rgiHfxTap8sESlw+f8sAMOUUve7vJfgaMsGoJ5S6oTLZ2YAv7n8n+nyOg9AklIqTkRKyhmj63j2Ovpxjn1vqc/iANQup53S/aaUsx8APAbOMv9USh0H8JaITPWwf5ltK6XOATAenCFbHeNbDQAiIkqprwH8B1QL3ATgC0cbZ8H7eSwTpZQVwNsArgBnyACQqpQyi2YEK31O48FZ8FkABiml+rp8Hg9gsbd+dVL62vJEGoAflVL2Uu/Xgvv5PqOJCczQchBAfaWUchGaDQHsctmndPqofwC8IiKvlG5MKdUVwG4RaWbgGBsC2Ox4nQbggOP1AfAGh8tnJQAOgUs4vZyWHktEMsEZH5RS3QH8opT6VUR2+jZ0TACwFsB/RCRbKfUQgIEun38F6vNeB2eVTnXIP/D/PD4CzrY7i0imUqq9YwzKZZ+GLq/TwJn5EUe/n4vISD/69UqpB3Mu+BAB8K8hqLrL5/sA3CQifwRjLBWFmA4ztPwOzgrvU0rFKaX6Aejk5ZgPAdyllOqsSLJS6mqlVCq4HM1WNBJZlFJmpVQbpdQFAYxxtMOQ0RDAgwCcBpivADyslDpbKeVqnS1vploeWQDsoB4UAKCUGuRiKDkOCtXSMx09pAI4BSBHKdUCwN2uH4rIWlBQTQHws4g4Z5SBnMdUUG95wmHMea6MfW5RSrVyzEZfBDDdMfv8AkBfpdTljj6TFA1/vjyA9PI3OPO9XCkV7xhnvMvnEwG8qpRKAwClVC2l1LVBGEdUExOYIUREigAMADACwAkAtwCYDaDQwzGrwNnX+6Aw2QkaX+C46a4B9Wa7oQmDygEMcxa4jF0HGiQ+crw/FcDn4HJ2N6jfur+sBjwhInkAXgGw3GEZ7gLgAgB/KKVyQMPUgyKS7sfYHwWX2tngg6Ysa/uXoD7vS5cxBXIe3wFgcRyzEsC8Mvb5HNR7ZgJIAvCAo99/QMPaU+CD5B8AoxGE+1JEjoO/16egHv0Y3Jfa4x1jX6iUygawAvxdYrig3GftMUKNUuoPABNF5OMIGIsAaObHUjhGjDOC2AwzxCileiql6jiW5MMAtEXZs5IYMWJEGAELTKVUQ6XUYqXUFkXH6AfL2Ecppd5VSu1USm1QSp0faL9RTHPQ3+8EaDAYKCIHwzukGDFi6CHgJblSqi6AuiKyxmGIWA3gOhHZ4rLPVaD+5CrQOvlfEekcUMcxYsSIEWICnmGKyEERWeN4nQ1gKxgt4Uo/AJ8JWQmgikPQxogRI0bUYKgOUynVCMB5AEr7ctWHuxPtPpwuVGPEiBEjojHMcd3hmzcDwEMiciqAdu4AcAcAJCcnd2jRooVBIwwiW7cCeXl8bTIBLVoAFkt4xxQORIDjx4Fjx4D4eKBePf71xpo1PNZJhw7BG2MEsHMncPIkXxtxuRQXAxs3aqcwKQlo3TrwcZbVT04O24/2y3v16tVHRMT3mH0j4itBB9ifAYwq5/NJYPSF8/9toN7TY7sdOnSQqGDWLBGLRSQlRaR7d5GSknCPKPQUFYmcd56IUiKAiMkkovf3GzKE5y4lRWTgwOCOMwK45hrtNFmtImvXBtbe4cMiiYlsD+DPYDSZmSLVqomkpnLMv/xifB+hBMAq8UPWGWElV6Bz81YRGV/Obj8AGOqwlncBcFIqkmX42muB7duBxYu5mYOaeDwy2bCB58A5zbHbgW3b9B37ySfAN98AX3/NLYJYswaYORPIzjauzfHjgbQ0IC4OGDkSaNfOv3YKCoCbbwY6dQJ69QKsVqBhQ2Cqpyh8P1m8GCgq4nnIywM++8z4PqIBI5bk3QAMAbBRKbXO8d5TYMwsRGQigDmghXwnmCzhNgP6NZa//gL27AEuuwyo7EegTIMG3M5U6td3X1bHxQG366yuYDIBV56W9zas5OcDEyYAY8bwq9SqxWWvEUvRZs14qYkASnndvVzeegv47jsKzqwsCvbLLgt8fGXRpg2fgQAFc2c/fVyKivjA2L0buO8+4NxzjRtjKAhYYIrIMrgnGihrHwFwb6B9BY1PPwXuuYc3bo0awObNvCpi6KdOHWD2bODVVylV7rsPuPTScI/KL7ZuBbp1o57R7hLRvn490KWLcf0EIiwB4PBhCiAnWVmBteeJNm2AWbM4s+zSBbj7bu/HlMWoUZwBFxRwMbFnD1A1itIUx7IVAcCkSZrRRineGV27hndM0cjFF3OLcl5/HThxwn3CbLcDZ58dvjGVxYMPAl9+CeTmAo0aAf36Bbe/Pn24BcLy5Zy9Azy/0SYwY6GRAIWjc60lAjRu7Hn/GBWS3FygsBCoWxdISOB78fEUEgsXArXLy/wZJPLygAMH3AW3K40bA//8A2zZwmd8iqeMoxHCiBFAcjLHWqsW0LKl92MiiegVmDYb/TNycgJv6/XXqawaOpTabSPujF9/pV7u/vt5J8aIaJ5/HqhShbOdTp2Avn05o3zxRWDBAv91dt6w24HbbqMAuegizd1oxQpeho0bA9df764acCUpibPLaLEz3ncfMG8eMHkyDWpJSeEekY/4Y1oP1VauW1FBgcgFF9C/oXJlkXXr/PEsCB6HDnFsAP09br1V+2zCBJHmzUUGDRI5dSp8Y4zxLydOiMTHa245aWmh63vWLJHkZPabkCDy5JN8v3t3bTzJySJr1oRuTK5kZ4vYbOHpO5ggXG5FYWHRIuDvv7lmOXkSeO21cI/InX37aEACuMbbuJGv168HHnmE7jY//AA89VT4xhjjX+Lj3WdooVzauhpt7HYaQwCgZk1tTHY7Z7+u7N7NxcsLL2jqdyOx24FBgzjjrlWLy/4Y0bokr1mTS3IASExkREkkce65QNOmQGoqre2jR/P9Q4e0u6CwkII1RtixWoHPP6ehv3lz4KuvQtd3v37AhRfS1tioEfDYY3x/wgQu0dPSgPfeczc4FRXRUv3BB9QmDRtm/Lh+/51L55ISBm49+aTxfUQj0Wkl79iR7ivvvw+cdx4VTZFEfDywciVNgvXr8y4E6F3csiWwaRMF59NPe2wmIrDb6a9So0b0KMr8YOBAbqEmPh6YP59C0GloAqi/XFxOKbSsLODUKW1G+vvvxo/LatX0pmYzn/0xonWGCdCnYscORohEonkwMRG45BJNWAK8I1asoLZ73z4K/kjm1CmgbVvgrLNofTh0KNwjolrv3XeB/v2B6dND3rXe5e+BA3yWp6YCjz/ufX9XYemNunX53E1O5jZ0qP5j9XLeeRx3tWoM7X/zTeP7AHhOC8st0GJcHw88QEeYNm0CXNj5o/gM1RY1seTh4ORJkYwMEbs9eH1MmsQYeUAkLk7kueeC15depk7VDGpWq8jy5SHp9tAhkaZNRcxmGmTy8z3vf9NN3NdptPnzT2PHk5sr8tVXIj//HNxLIJjs3ClSrx7TDlx/ffCMSytWaIY1s1nk5pvPNKPPmc4vv3Cacc45wA03lO+oFyiVK2vGq7g4TjfCzbp17tM8A6wRp05pUTJ2O5Cefnrs+H//Sydrmw1Yuxb49lvPbRYWursCGT2LslqBG29kKGSgEUPeKCqiBmzkSKYMMIpnnwUOHuR5+vlnYOlS49p2xWnuAHirFBf731ZMYAaT/fuB7t2Nz4jw+OMUGgUFwJw59BgIBoMGAbfcQoXaddcBd94ZnH584ZZbuA6tVIlOfAHGoE+bRitwgwZ0YLjkEi7b6tWjGtqJ1equwvUWU/7aazxtJhMNO926BTTMgBCh3bFJE+Cuu2jI8YWHHwZefhmYMoWGqOPHjRlXUpJ2TkWoxQoG3bpRP20y8VZ8/fUAGvNnWhqqLeqX5Ndco63LLBaRvXuNaffKK7V2k5JEDhwwpt1oYfduOjAeOhRwU/Xqaf6OZrO2dANELrtM2y87W+TSS0UqVRIZNkzf8tFuFyksDHiIAfPNN9r3slpFJk707fj27bVzkppqnE9oZqZIx45s85FHgq9acP3NEFuSRyBHjmjrAaW49jOCKVOAHj04Zfj4Yy7PzyQaNWJKvVq1Am6qWjVtSRsXpy2jExLcvdVSUmjNPnmS2ehMOu4cpXwz5gSLw4e1y7CoyHfb3ciRWjhj7dpAq1bGjKt2bSYJO3WKRiUjVAu7dgHnn88VQ2n3MD2/mVf8kbKh2qJ+hvnbb3y0JySI/Oc/0audj0RyckSWLhXZty+gZrZuFTn/fBp05s4VmTJFpFkzkWuvFTl2zKCxhpmjR0XOPpuzyzp1/Dtly5eLfP01bY2RTNeuWnLmpCSRI0e0z9as4e+ckuL/DDPgqpHBpGPHjrJq1apwDyMw8vNpQTBgNhTDwalTzLp77BinTj//HF4lYQB88AHw9tuMdfjkE6pmg0FxMZCRwZlXsHSFkUCrVkzPB/B77txJV+i77mL8uoZaLSI++/XFluTBxmKJCUujWbwYOHqUgjM3l36ZUcj69TTG7NwJ/PRTcCNl4+OpwYkEYTl9OgV3mzbG2yvffZcGuvh4qhIaNGAfn39uTPsVQ2CuXUtT5MiR/pvw7Hamgu7fn5lSY0QuZ5+tKeUsluBU/AoBWVmaXq2oiE4VFZ1Tp+josH8/PcJuusnY9vv0oekgM5MhpQAvEcMW0v6s40O16dJh5uUxY5Ez3ctVV+lRdZzOhAnuDtF//eVfOzFCw7RpIr16iTz6KAuweWDbNpHNm0M0Lh8oLBTp0oUOFJUqiaxaFe4RBZ/Dh3mbOq3ujRsHv8/iYpErrmBGqrPOEtmx40y2kh85onkFFxWxvIQ/rF3rnnX9TEjPIsJQzcWLT0+4uH07HeMrVaKSLRKYNw944w1g1Sqm67nqKuC55zyW8n3xRaB9e0ahPvRQCMeqg4QEphvYsIHhepFaXVgEWLKELr+++nCWpmZN/g7x8Zz5/e9/hgzRI+PGMT1tcTFn9QFld/JHyoZq0zXDtNs500hJ4cxw6FCRZ58V+ftvn55CsmIFj69USaRGDTqJVXRGjaIVPyWF+Tld6dHD3dxolA+pv3zxBX+fuDjG0iUkMNdo9+4eD3P1q1RKpGVLkddf963rbdvoL9ismci8eQF8hyjl4Ye1y8TfBVxpTpzwHl5qFH37ipsf6fTp/s8wwy4UPW263YqKi0UWLdIEgFIUfL4KvV27RH74QSQry7fjohX6V8i/dcRdvaw7d9Y+s1gY+BtOBg/WxuO6xcd7PKxpU03uuybkXbBAf9dt22ptWCzUAp1JODVeTuf+3Nxwj0g/u3dr6RAAzoWOH/dfYEb/khygx/HFF9PsmJuraXg3bfKtncaNWZugRg3jxxiJNG/Oc2cy0fnddWn7/vvMHms2s6JmkybhGycAXHONFp9oNnM9Z7V6rco1dy6LV9av7/7+gQP6uz56VLukSkqCn12nNL//DvTsyUjVcCSMatOGl4bJRGdzI0oNh4pFi9wd4vv1Oz0Zsy9EZz7M8hg4kAHAJSW8qdq3D/eIIhunL0tBAfDSS+5XVseOlBTFxZERrnLLLRTgGzYAV1zBFHkmE3DzzR4Pa9qUbprbt7MuT0kJb3pfKiyOH88kvSIsLxvIDecreXlMsJGTw2fb0aMUAqFk1izWPMrNZcKMYCf7MBJXvbCO56tXKp7j+ty5vDv692e66nCweTMwZAiv8scfp9Hk1Cn6OQS7FmqMcsnOpvN2s2a+PwNOnOBzpU6d4IytPA4c4MLHOatNSwP27g3tGKKdpUuZNveii5jhCQCU8s9xveIJzEigRQvW7QH4OHae46QkRqcYsabJyKCJtUMHWrOjBRFKrtRUY6YqOTlMJv3338ATT1ClUoEQ4bP/l1/oyPDf/9LdOEZg+CswDdFhKqWmKqUOK6XKVBoqpXoppU4qpdY5tmeN6DdiOXZMe+36QLLZ6Pr066/ABRdwrZWR4Xv7u3ZRsXTnnUyNHS0PlcxM6kKrV2ct+Pz8wNscNQr4v/+je9SNN5Y5/crOBj78kKncyitXG6koBXz3HWdJGzfGhGW4Mcro8wmAK7zs85uItHdsEVaEx2DeeosxaAkJ1KsmJfH16NH8e9VVFHILFzIBsK/Mncs1WnY2lVwzZhj/HYLBu+8C//xDReKmTd6z8Oph2zZtvWoynVZ/wG5nStKHHgJGjKD9KtowmbiQCLfdzWhOnODzLYIXuadhiMAUkV8BHPO645nCkCGcTe3bR6Fw9CjNm6+8Qs25M+Wz3e5fgZGzznKvz7pzpzHj1sPu3cxi4M+sNiXFPQtvcnLg43nqKWrzU1Jo9b/gArePjx3TKjLn5gIzZwbeZUVBhM8tXxc5TiedQJg/n+nzWrTgnCJqhKY/vkhlbQAaAdhUzme9ABwFsB7AXACt9bQZ9endymPYMDqHJSWJfPyx78f/9psWxgmIdOtm9AjLZs8eev5aLOzfkxd3ZqbIxReLpKWJTJ7M93Jy6PlctarIiBHGFXHZt0/kjz/KDJEsKWE4XFwcT/fAgcZ06crhwyJvviny6afsL1oYPJg/Y1KSyEcfed/fZuMxJpNIlSoiv//uf9+uSYmtVqbZCyUIt+O6F4FZCUCK4/VVAHZ4aOcOAKsArEpLSwvS6QozdjsjkfzN5XjqFBMbWq30wp4wIbDxbNwoMnMmwy888emn7s7uI0aUv+/AgZRSTm/vXbsCG2MAZGayftv48SIFBca2XVjIZ0JCAn+Oe+81tv1gkZnpHtPdsKH3Y+6+2z0AoEUL//svXTTg4EH/2/KHiBaYZey7B0ANb/tV2BmmERw6JPLhh4xw8saOHSKPPy7yv/+dPgWaOZN3emoq75pTp8pvZ9Mm9wQln39e/r49emh3VnKyyOrV+r5XlJGe7h5J0qhRuEekjx07GFnqjN7xEmEqIgwNdRWYzZr53/+BAyK9e4uccw5LaISaiBaYAOpAc2HqBCDD+b+nrYPZzKtxypSgnLQzgpMnuQQ2mSjkRo1y//yyy7Q7oFIlkfnzPbe3bJnIQw8xW5Anli/nbDQxUaRfv+DUUI2AojlZWTy1ZdUBilQOHeIlkZjIsZ9/vsj+/d6PGz1am5WaTCGrcOyV/HyR2bN9eyaHVWAC+ArAQQDFAPYBGAHgLgB3OT6/D8Bmhw5zJYAL9bTbwXkVJiSceQG8RrF2LWePznPZrp37508/rU2RrFbqKY0iN5dTiWCU5tix49+i1ieuGybbttqCVtfaE/Pnu2spLr009GPwlVmz+Gx0jvm6607fx27n4mXuXG1RYrOJfPmlyFtvGZObJiNDpGdPLu1//FH/cYWF2iVVXCxy3nla7p3//U9fG2GfYQZjiwlMA8jLE2nQQNN3vvaa++fFxSIvvyxyww2skRMN/PabyIUXiphM8js6SwqyxZpYIt26eU2NaTh797pXZHzuudD27w+7d7uP+d13T9/n/vu1DEXXXhuccfTooc3OLRYmxfBESQkzD5lM1Bvv3UtjkWtGKr161YopMM1maoQ//FDfWRChDm7ECFpoFy7Uf5w3Vq4U6d+fua5ycoxrNxRkZYlMmiQyZ070F2IbO5Z3iMOgdCV++vdmSUkRWbIk9ENavlzklls4tGixkv/1FzUrn3xS9iXhuigxmYw3lolQf+nsIymJM05PzJmjzebNZt7mBw9qtkWzmbUG9eCvwIzs5Bvt2/vu73f33SwaUlgI/PEHkJ7ObAuBcOwYo/ZzcuiEfvQo8OmngbUZSmrUAO64g6/T01krtl07g+qOBsCSJUyWcvnljFjSw+TJdKgEAKXQwHwICfZiFNnjYbOFp3zShRdyiyY6duRWHq1aMb+JzcZMT8HIvzJuHDB4MF/fcAPr73giMVHz1zSZGGH8wQfaZWwyAUOHGj9OVypGejdXtm7VIj+UAg4eDLzN/fu1X6qgAFi3LvA2Q8Xq1cAzzzDlzEcfMaTyoouA668Pr7fwzz8DV18NjBnDUBy9mfI7deJDSymgcmWM23sDrrkuHs2bMyNdy5bBHbYrIkxWP3Nm6FO+AYyN6N2byURK1+D2xt69fF6Vl3189mzg9tuZpem334KToejaa5lcZNs2Vsz01sfFF3M8KSmsPf7cczwHzjiQxETOaYKKP9PSUG1+uRV9+y0VIqmpIp06UUcXKEVF9LRNTaXSZ+rUwNsMBdu2ubsBVa+urYESE/WZRoPFww9rY7FY9PuS5uWJjBkjMnx42Av1jBmj6fm6dg29tuOaazRfRotF/8+5cKHmSdasWfRpmFz5+29a/K1W2jP1JjdGhVyS+8PAgXz8HDzI2UicAV8xPp5ZXJcsYTxX27aBtxkK/vxTW6/k5TFDUFwcY7nj44HKlcM3tssuAyZN4tRMKc4y9WCxMHdnBDBliqYdWLMGOHw4cO2PL2RmasUzlWJsdr163o8bP959ZrlsGbUi0Ujz5lwAHjzIiGHXyNtgUPGW5AATCNavT+F55ZVaZfdASEpi4tpoEZaAJoQSExlvPW4c10Hdu3NJbEQst79ccQXXfS++yDVfmzbhG4ufdOzIU6sUa8VVqxba/l9/nT+r89LUq45o00bLMGizAY0alb+v3c4sgpGshbJYeMsHW1gCqIBLcictW9K8p5RIrVqMWUtK4vuhjsMKJ9u2ibzzjsivv4Z7JBWOU6dEHnuM1tpwlTw6eZLuNb6oAwoKGL9w8cX0yfTEwIFUO1itIi++GNhYIwn4uSSvmAmE58wBrrtO0wYrxcePs0bo+efTGBIjRoxyyclhVRDnbVOtGh1EKgJhTSAcMnbupKtR/frlmwV/+onVopzCMimJy3LXgsobNgR/rDFiBMDx48CbbwITJ7pn8svIYBmjIUOYWtQTP/7IGjz+zg0sFqq5nfONZs38a6dC4c+0NFTbaUvyzp3da2UfPXr6XHv0aM36mpDApBPFxe6pWaIlQ0KMMxK7XaR5c16yFguDsJw0aUJNk9nMfcpj2jR3Bwl/06dt3kxr/E03VSxNFs6IMrsnT2q+gyJllzhwlmNNSqIleNgwWoZXrQJ69GDN1QULaJ19/33gtdcqzjojklm9miZcq5WZ12OUy8mTjC8oKuIlvnAh3xcB9uyhIcZm4z7lMX++Zgk3megw4Q+tWnGm+n//F/oCcIFQXExfU+dC0zD8kbKh2k6bYS5YwMdlfLzIAw+U//j46y+R994T2bKl/H2uv56z1Ph4OqNFe8hgWezaJXLRRSLnnqsvDVwwadtW3HxAs7LCO54Ixm4Xad2al6fVytmdk+HDaYRJTha5667y2/jxRx6bkEA/0TCmIw05hw4x1txi4WKyrEsNFTKWvCwreX6+9yh9PVSrpt3A8fHGtBlpnHeelt0gOTk4AcF6ad3aXVVy+HD4xhIFnDgh8t//MhO6a+yF3c7cI8uWlf2Mz81l9qFatTgnGD+ezt3B5sgROu+nptIhJZzzj7FjeUs7n83jx5++j78CM7qW5ACX2lWqBN7O1VdzeWix0IEtnE7c/pCVxbi4hg1PX+JOn04n9XXrtDKJRUXlx8GFgo8+opk1Lo6O5zVrhm8sUUDlysADDwDDh7vHXjh9/Lt1KzuU8O23gXnz6EQ/bx4LpzVv7v84FixgMc633/ZccfP556n1ys5mmOOiRf73GSjVq1MbB9BYVb26cW1XvEgzjoocAAAgAElEQVQfvUydqiXUGDLk9Ktv3ToqkDp3Dn+SirIYNYrlektKWI+7Tx8qnESYgcBVv5uUBNx2G31EwkXnztQViwQnMDkGAEb7uOrtTp70v60tW+idl5dHPaZSrL5ZFgUFmkBVKjyx9U6GDaPOdu5czotuvtm4ts9cgRkXV35qkxdfBN54g7/81VezoHWkceSI5iplNvNOcSIuvrWVKgHr13sO5wglMWEZVB58kB53WVmcWV5/vf9tbdmiRc/k5TH5V3k88wwNTfv2AT17MvI1XJjNdMcCOG8oLjYuCigCp04RwDvvaHVZZ8zQAob1kJUF9OtH5/i5c4M3xpdfpjBMTKT1v3Nnvq8U10RWK5flX3wROcIyRtBp0IDW4X37uES2Wv1vq1cvLk5SU9nO8OHl75uWRgt+bi4jXo1I4RAoH35I7V3lylxQGkHFjPQJlE6dmE3BbqcC5NAh/cvyvn2pPCopoX50797g6esKCjizrF07NnOLIJzaEGe8djRz5AiwdCnV/K1ahXs0+hHh+XeqBqxW93nPmRHpEypmzWK00NVX82rxRYe5d6+2VFYquD6eSUl0josJy4jho484q6lShTOcaKGoCLj3XuaVfvtt7f0aNbisjyZh6cT1gWXYw8sf03qotqgssztrFh3ArFaRq66qmP6dMU5j3TqRyZPpO+ladsEIioqYe/PKK1kdMRiMHavVwktOFlm8ODj9hJLFi+mPedZZp5erQiwfZoRw7bUMwTh6lOuY2OyvwrN8uWbkKCjQ3k9Kct9v8WJg1y5eIr6U0nj1VS2H5dKlDJpq0aLsfXNzqb9s3FhzrdHDnj3ujhX79uk/NpJ48kkG8DVpwrQSe/ca235sSR4M6tQBWreOHHekDRsYX2d4nFiImTWLd0LnzpQ8EcIPP1CY5eWx9k21ajSCzJyp7TN5MqN2H3yQKVVPndLf/rp1mgut2cwcNGWxcyf77dCBl58vfdx7L40jKSlUifftq//YSOGbb+jckpPDS/6RR4zvI0Lu6BhB44MPgK5d6VDXq5dn72Oj+fRTOtZ36cI0O75y6hQVaM2aMXXPjTdy9v7XX8BNNxk/Xj/p1k2zRsfF0Tli716ebidffKEJ1fx87wl5c3Lozfb996zrZ7XSKaJqVTpFlMUHHzDLUW4ua+W4CmxvtGrFMS9fTneiaIvjAICnn3ZPNZGdHYRO/FnHh2rTrcOcP1+kcmUqYT77TN8xZwpNmmhKNYsldJlu9+/XFHomk0ifPr63cd99jG1zjt0Z7waING5s/Ji9sGABY5PPOYfpClz57jumN/jll7KPff55LXtQairjncujqIh9OBNzVa4ssmKFyLx5TFpcHuPGuesh583z/TtGM82aaZcHIPL77+XvizMmlrwsatcWtzhlIwqfVRSuu05LbZeaKpKdHZp+t2/X7l5A5PzzfW9jwADt+NRU5hlLSKAg/uEH48fsAZuNQsg5nIYNfT9+0iTWftu40fO+mzZpzwnn9swz3vsoLGT293POYXb0UNkb16wRqV+fD4R33glNn2XhLO4WF0cjmSfCKjABTAVwGMCmcj5XAN4FsBPABgDn62lXt8CsUycmMMvj5EmRu+8W6ddPZNWq0PVrt4vceit/j+RkkSVLfG9j9WqRSpUoeLt0oUTIzPQ8zdJBejqt2r4IlKIi3ojOy6xq1YCG4JGTJ7XZKMDcl2+/Hbz+/MVmExkyxF2wJybyJ/KV7dt5uTz8ML+/vxQXMz+PN8ItMHsAON+DwLwKwFyH4OwC4A897eoWmL/8IlKlCq+yL77Qd0yM0HDkiL4ruDyys6lGsNkMGc6HH2pp0wYN8u1YZxacuDiRe+4ROXbMkCGVyYYNLD+VmsoEwuFMNFUeS5YwdVxpgXnggG/tFBWJ1KhBFURCAr3xgk3Yl+QAGnkQmJMA/Mfl/20A6nprMyr9MGNENA0bBjYbmjSJwjYlRaRBg9BpOCKR335zV1M4z+myZb61k5nproKoW1f/sQUFZc9IbTYK9D//LPs4fwVmqKzk9QG4ViDZ53gvtNjtzBAwf35orcUxIgbX2tXx8bQ8+8Lnn9PSnZNDI/6aNcaPMVro1g249VamM3BSWAjcfrtv7dSqBVxwAV2akpP1H//zz/QaqFGDCbtcGTiQbly9erGukWH4I2XL2uB5hjkbQHeX/xcC6FjOvncAWAVgVVpamv5HjR5uuolTg5QUKl/OBOx2mmQjcU1nIEePUkXrbfV/4ADVuRdeKLJ8uftn2dneZ4xPPqnpF5OTfV9+VkSOHXOfIbZp43sbhYW045WOyPGEqwOIa07q7Gzv+mbEluQ6MJu1sxgXV/5+s2bRDeaxx/hLRgr5+SLffkudrR6LRUkJLcuJiTSe3HsvFUTTpwd/rCFk3Trq+lJTeRP5YzSYNIk3XUKCyNChdC6YPPn001xcTF3m8OEi777Lut1jxxqmYo1aJkzgA6R+fdrqfMFuZwWVn37yzV573nnuqoA1a6jvHTJE04nGxdFeWJpIF5hXw93o86eeNg0XmC1bUmjGxYm0alX2Plu2aFMIi0WfP0cosNtFOnXi7Dg5WeSpp7wfs2yZu1beWa7Caj3dkTCKGTFC+4opKSJff+17G64eUM4tOVlkxoyy99+0yb0q41tvBfYdzmTuv5/nOiVF5Oqr9R+3ZQtv47p1+ZvXqcNLPC6OFVEGDhQZNqxsn1d/BaYhOkyl1FcAfgfQXCm1Tyk1Qil1l1LqLscucwCkg25FHwK4x4h+fWbhQmDECG4LFzJt27RpwObN2j7p6ZqSKz8/cmqYZ2YyEXBODkM5Pv7Y+zGVK7unwXa+NpmAbduCN9YQ07ixlo3Gbmdwka8kJ5/+Xl4esHFj2fv//bd7ct1wZCEMBTk5wY+o/eQTXtI5OYySco3H90TLlrx1DxxgINvhw/z9S0oYWPbtt2zbl7h9r/gjZUO1BdVKnpkpUr0613FWK8M4ROjjd/bZ2vvhrrbopKiIla1MJq4/rr1W33Fvvy1Srx7XL1Yrl+a1alWoImSFhQwKOv98Lg19oaiIS8EPPuByvmFD7TSlpHAmWRZHjvA0Oi+T8iJ8opkHH+RszV83Wr107Up3LZOJ599fh/sbbtAWYI895nlfhHtJHowtqALz66/dl6uuRqCcHN4Be/b43q7dLrJ7d3Cc9HbtErnzTpGnn/bPn2X3bpE5c4LrQBhF2O0iPXtqN9nzz/P9Aweoxs7I8Hz8kSMiM2eGpipjqMnIcE9Vd+65wevryBE+8IYP9++Wc+J0JVq50vu+MYHpK6WVUO+9F3ibdjsfc0lJVIrNmRN4m2cChw5RM1+1qsizz4a0W1frbp06Ies64jl0SBOYStGroCLhr8A8c7MVtW7NdGE338ycUPfeG3ibu3axvF5BAfWfjz8eeJuBkJlJh7SLL2YZvUhl9GgqAY8fB155hUrJb78NerdVq7JejVJMy9auXdC7jBpq1WL2o1q1eKt88km4RxQh+CNlQ7VFXaTP4cOaudVsFrn00vCOp3t3zZUqNTWwEMVgMmCAlprHNbPSP//obqKwUOT225mx5oUX9OvB/v5b5JZbmGnoxInTP58zR2TkSJGvvtI9lBhRAGJL8gDIz6ebzsCBnnNC6eG770SaNxe55BKmOAsn9eppAighoWz/il27RNq2FalZU2TixNCPUURk61b2X9qnZ+1a3U28+aZ7arO5cwMf1ooV7lqbmTMDbzNGZOCvwDxzl+SujBrFyk/TpwN9+tA/wV/696fPycKFQL16xo3RH55+mv42yclMoV2Wf8WIEcCmTSwP/NBDwP79oR9nixZUH/zwAzPlWq1A9+5MTa6TAwfc3VEyMwMf1urVmieWt7rcocRu5yXbvDnw6KPRHeUrwsqUNlu4R6ITf6RsqLaQzTA7ddJmNqmp5UfsRyM7djD0orxQlA4d3JfBO3aEdnylOXpUZNs2j2vqjAy6EFWrxpmlCBMaVa/O2WWzZmUvr31l+3bNgm616rO+esNup1W4pMTzfkeOMCvfkCGn53z+9FP38MxoTdCVm8vLLyGBEUL79oWub8SW5AHw2We8AlNTuZyO5LjrWbMYEz91qjEZYpcv5/eOi+MdGgX07asFLVkslK8ivAH//pu+lWWRk8Ov2KePfr/J9HQKqC1bAh93Xp7IBRfQ57BBA88Cols37qcUrfeuz7s33tCSzyckMNN6NPL551q2I7NZ5NFHQ9d3TGCK8Oru3ZtX5YoV1E1mZOgL9F23TuTHH3lXRSrLlrkr1aZNM6bd4uKoylN28cXapNhq1a/qHDFCcyOyWkOfOOOLL9wFxCOPlL9v1arad4yLc/95Dh5kOGByMtXU/iTsjQRmzdLOR2KiyMsvh65vfwVmdOgwbTZg2DCG+l1+OeOoyqJ/f2DRIhbJuvRSoG5d4JxzgAsvZN4pT7Rrx3xQZcXIRQrr12tVnoyMx4uLY26tULJgAdCzJ3N5nTjh06FvvUWXoLg4YNAg/e5Amzdrl4HJFPpSsq6p5OLiPBcau/12XoopKbzkXX+eOnUYwbt6NT3ZatcO3piDSd++wG23ATVr8js+/HC4R6QDf6RsqLZ/Z5jffOP+KHrllbIfG66WVlc3lZSUkNeACQrp6YzZc8bjRauudd487bcBRK680ucmSkp8XwzMmKFpXtq3D30iKrudES01ajCJVG6u531/+03k55+96zujhY0bmfotLY2LuXCCCr0k//RTTWDGxTE0sCwmTNCibNq21dZfycm+p4GOVP75h2Gd27eHeyT+07Onu8B0WlYaNw56nOHOnQyfi2Q1dUWlZUvtJ7dYwusW7K/AjI4l+aBBdDExm4FGjYAHHih7v7vuArZvZ9Hn334DrriCqWuefJLpoSsCDRoAgwezVnc4yM4GfvnFvzrjTtq2ZXiNk4ICqll27wbuvDPwMXqgSRNqAlyzhEcDf/zBwLT8/HCPxH9OndJel5QEPwtSUPBHyoZqO83ok5vrbhkuLqb50ggfkorGn38yWfDtt4scP25Mm8eP07xbqVJgs/bcXGZaaNGCaWVck1GWFbR88iRdv5zRUwZOD202LhUj2XDy3ntaHaG2baO3KOqMGVwAJiR4L4MbbFChl+RlkZ/PlGXJyVRKhbKEbKSTnc1z4vQ76dvXmHa//dY9w9N//mNMu6NHUxjWqFG2yfu117Ta6lYrXaoMwGaji1FyMmX27NmGNGs4LVpopzw52RgXp3CRm2vc8zsQ/BWYkb0kz8wExo5lZtHSLF4M7NzJpVx2NvDaa6EfX6SSlcU1DwAUFQFbtvjf1qJFTFDyzjtczzrDSqxW4NxzAx8rwN+4sJARVu3be9/fdTkfAJs3A7//zksoP9/gYlkGcsEFQFISX5vNQP3Qlw80DKsVqFKFr3ftAu6+m+e9PMeXiMMfKRuqrYNSNNx063b6I2LNGs0nMTFRZNSowB45FQmbTaRHD84GLRbfs+o62brV3e9z/HjWA+rTh2uqUK0NT51iltm4OJErrjDMvH3woKYNiI8Xuf56Q5o1nLw8Fl+7+Wa6C1cECgvp1OLMh92/f2DtzZvHvN+tW+s7R6iQS3JvBcsmTGCa7OrVaYJbvNj7mQoFR48ygsafalxO7HaRDz9k4TJ/6u8UF9McXF7KcD3MmKEt7QGRQYP8bytC+eEHanYGDGA4YozQsG+fe4Li+vX9b6uoSHuuAyJNm3o/pmIKTJOJZ+Lyy8v/5q1baz6Xycnlx8WFiu3bRSpX1kpB+BtO8uab7gHDgaSi9pesLE4DnH6f8+aFfgwGc/w4J6uJiSKDB1ccH8dQ8sEHjDTq0sX/+G+bjXHkTo+y8jwF9ZCX515Wt1Yt78dUTIF51lkiH33k2Spaq5Z2pkrHkIWDMWO0QOekJP8zuV9zjfa9KlUKn0Xi8GGGYG7cGJ7+DWbMGM1+lJxMO1YM/ezapc0MzWb9paXKIi+PMSl6q0Z74oUX+LsmJop8+aX3/f0VmJFt9KlRAxg+3LPT3Nix/Dwxkf6ZRof4iQATJgC33gosWcL3fvqJWcHPO4+p3Fxp0sRdQ9+4sX/9DhmipTqLjwc6d/b3GwRGzZrADTcAbdr4dpzdzpBHkeCMy0+Ki92H5LSNxdDHpk1aGj2bDTh61P+2LBa6WPfuHbgd79lnWQT2yBHgP/8JrC2P+CNlQ7XpTr6RlRW83FDvvutu+Fi92r3YSbt27vvbbKym1aULKzYGwooVnGGHOktEoOzbx/J/cXH0q4ygTO9ZWZoW5/LLw6fBsdkYHvjDD9GlFrj5Zm3hA0RvPXb4OcOMC6IsDh01agSv7eXLmegC4Ixx/Xot26kIcOyY+/4mE/Dcc9wCpWtXbtHGW28xo6/NxvP1/ffAjTca03ZeHqcmfk5JatTgLMlu508VLoYMYb5kEaBHD76Oi4K7sVo11j8qKuLip0uXcI8otET2ktwIiouBiRNZXOvQId+Pv+02XhkpKbxSrr4aePBBvk5Kon9iDHdc0/Lk5xsTA2ezAQMGsO169YAdOwJqLpzCEmCNt5wc+h/OnUuNh2voYKTy0kusqVe3LvDYY0wEFkqKioBJk3jbnTwZ2r4BVJAluSeGD6eznTNrqz9rsPXrqUl2jZ/Lygq/gSlSWbJEK76mlHvNd39ZtEiLMjKZaOKOYtq102yDBgcweSQ3V+T997l5ypYUSWRmslRWejr9NS0WGnfatvXfWIRwGn2UUlcopbYppXYqpZ4o4/NblVJZSql1ju12I/r9FxGWkV227HQjw4IF2izn6FH/ir20bUtNsmviwRo1Qp9DMlpQistmJ0ZkjLBYtN/WZApK3tLiYmoOqlXj39ITY5uNORtbtQLGjAnMnrVgAfPBmM38X6ngapacXHUV6wA9+igXS5HOP/+w5NOttzKwbP58Xk6FhYzUCnkyEn+krOsGwAxgF4DGABIArAfQqtQ+twJ439e2dc8wR4+mj0hKCss3uHLvvfwsKYlO7kZEp+Tn68viXtFZuVLk++/pH+KKzUYnd5NJpHZtrYZEINjtIo8/Th/Xzp3LroAZIJMna5E/Fgv/d2XKFHfX2OnTA+uvoEBk6FCRRo341YyoOFKajRs5OXcurJwTf0/xIOFg1y4WbC19e06a5J6bpWlT/gbhmmEaITC7AvjZ5f8nATxZap/gCkzXhBAmk/uy22bjcvq990SOHXM/Lj+f66BPPtEXbme3i9x1F6+6qlUZnunKkSOBR/hEEosX08Ft+fLTP3NNoXPuuWU/iPLzgyMFgsT48VoK1cRE/u/KCy9oAicpiQ4UkczEiRQ2KSmMLrbZmIrUmTK2Vy997eTlsS77zz8H5+f8v//Txtmjh/tcZPlydyeVjz/m93r77cBus3AKzIEAprj8P6S0cHQIzIMANgCYDqChnrZ1C8z27Xklm0wscqL3V+3dm7+C1Spy9dXe99+0yT0Gq0cP7bO//9YifGrXZqByNLN4Mb+rUrya//jD/XPXbLDRnkLHwfHjIq1acebVqtXpWXUyMhgnkZJCdfjhw+EZp16aNtV+IouFyZNzc/mse+89fTpMm40VOp0ROU8+afw4W7fWxmm1nn4pTZ/O0NX//c84gR3pArM6gETH6zsBLPLQ3h0AVgFYlZaWpu/b799PB7GBA5kebNUq7wYZu91d6x4f772fHTvcfTBdQzaffFIL0bRYGD8WDaxbR8F/6aXuJXafe077PvHxWj1bJ0OHaueiUqUKM6u225letbwbMzeXz80Ici0tl+uu06KaUlOZw8RXjIz5Lo8BA9yjr44e9e34gwcZcdSpE9UPeojoJXmp/c0ATupp22cr+d69TMSRmsqpwP79nvfv2FGLp+reXV8fY8dyJtm6Nc12TkoruKIh7tpu5/lyPgDOOUf7zFmhMj6ef0urH5wpdG65peKk0KlgnDghcscdjLL1t/xTYSFvJWdWoQEDjB2jCGfyw4ZRXbBkie/H9+6tqUqsVn0PhnAKzDgA6QDOdjH6tC61T12X1/0BrNTTts8C89VXtSj8hATvYQgnTvCY118P3EXIZuOsrGtXkf/+N7C2QkVxsbsVICXF/fOVK1n0evXq8IzPTxYuZG7jt96K2eaMID2dttPnn49MV6QmTbRLOCmJ8yZvhE1gsm9cBWC7w1r+tOO9FwFc63j9GoDNDmG6GEALPe36LDBdCz/HMivo44EH+FhOSuLDI8opncJz3LhwjyhGsPniC16+Visjkq+7zvvD0l+BqXhsZNKxY0dZ5UvtbRGGJM6eDVx3HfDMM4Zl567QbN3KBB9Nm4Z7JAEzcyZL2Gdn8/+BAxlVE6kUFTEkMtyRR9HOvn3Mnj9sGH0zrVZg3DjgnnvK3l8ptVpEOvraT8X6mZQCXnwRWLOG6UtiwlIfLVtGlbAsKADuvx+46CJgxgz3z3r0oI97aipvmtuNDZEwlEce4RirVwf++ivco4luGjTgw8cZCJCXB6xebXw/FUtgxtBHbi5n4evXh3skfvHcc8CUKQzsGjrUPcNe9eosYTR1KoO/Lr/cc1u5ucAttzCKZOrU4I7blfR0Zg202ZgF7777Qtd3ReXSS5neoVIlPohuu834PqIgP0oMQyksBDp2BPbv5906YQKlThRxcG0mXip4E3mwYpLpUezdWwktWmifV6/OpbgennoKmD6dp+W++1hwzKjabp6Ij9dCK5XSUqjG8J9atahdWraMyUyCsWiKzTCjjVOntAyu/rBxIxU+2dlct7z3nnFjCwUimLTpQjyI/+JxvIEZ9utw0UX+N7d3L4UlQF3iwYPGDNMbDRuy0GnlykCzZsCHH+o7rqQEeP55xoHPnh3UIUYlNWrQfBEsDVNMYEYTzz7LK6JaNf/vlrPO0qY2SUlAhw7GjS8UFBTAcmgv4lGCRBShs3k1rFb/m3vqKeZQSU6m4OrZ07iheuOhh7gc37YNOOccfce88QaNGXPmAIMHB1ZBOYbvxARmtHDyJPD660yhk59fvvnPGzVrAgsXcs360EORkc9z1y7WPr/9dtYmL4elS4EJn1hQ0OkiSrjkZKhBOtfe5dCpE5CRQQvrypWeq6FEAuvWueezDjAtaIWjoCCwBZhX/PFFCtXWoUMHRqO8/bbIJZfQIVxPMGlRUVQlfdBFbq57jFrr1p73Ly6mx3Gkx/DZ7Yz/V4pBBxdcUOZuX3yhuYvWrlIgJyZ+xUxJBnimf/MNo1ktFr6OZBYt4nmoVInx7CdOhHtE+rHZmEY2WMEEU6YwXiUhwXtuUVTIqpEdOrA2tqsz+nfflX8WiotF+vblzXf22cGr8xMuZsxgMG/Llp6rOJ48KdKiBe+smjVFdu8O2RB9Jj/fPaY/NbXM3UoX0fzxRx1tHzvG5MU9e4osXVrubs7Ly3mJRTq7djHyNprC90+cYEKThASRxo2Dk7jEdT5hsXje11+BGflL8u3bNa18YaHnNcjcucDixTxnGRnMpx9JlJQA33wDfP21f2UbBgygwWbLFs9VHL/7jt8/L49Jk99/3/8xB5ukJGrpnYrEO+4oc7dLL8W/ukqbDWjXTkfbw4fzXC9dClx5JXD8eJm7uTqNR4MDeePGdJdyrQQS6fzf/wG7d9NX8p9/9Bu5fMHV0yBYXgeR71Z0ww3U3YnQ/2LQoPL3TUhwz8odab4agwcDP//M1198ETwzZ82amtN+QoJ7pvhI5NtvWcI4MbHcIjH3309b14YNwE030crslW3b3B9Mhw8DVauettuXX7IoGQB8/rnvw4/hnUqVtIdRXBy9A4zmu+80D7mg/Y7+TEtDtf0bS56VxYwKWVme59l2O9OzJCczK/eRI573DzXx8dqawWQKnp7Vbhd5+mmqJYYOZWpvPeTnG5ORPlL44gstM22vXrFMHGGkpITltWrVYjkmPfm6gwliseRRQOfOwNq1XJonJTFkpVYtzjwD8Y0xgtdeo9tSfDzjDa+8MrzjMYr0dCAri876zri5GGHn+eeBsWNZfXLuXP1uVUbhbyx5TGCGkuPHWSLW6ffgLBZ27rn0aQkX2dkMj3EuXxs2pA40RowgsH070L49veOUAvr0YXGzUBJLvhENVK7M2aUTERpmVq1iUHO4KJ0ux7XiY4wYBmOzuf/vektEOjGBGUpMJtZnTUzka7OZS+Czzw7vktxiAT79lMaixo1pWY7Bh9mCBTHvcINp2ZJxF2Yz7ZHRFJ0bW5KHg/37uSyfMYMzy/vuo7CKETnk59N3KTOTU6Jp04Brrgn5MOx2dp2VRe+AUNQu18Po0cC771J7M38+n7O+YreHz43L3yV52C3hnjafM64Hwt69Im+8QefwmDXVNzZtYjmLCnTeTny/WIosqZpXwyWXeD1m5kzW4vvkE+PGcf/9WoEwpeiwX1LCQmElJSw7++qr3stXGcm6dVpWe5OJsSLRBipspE9piotZoGvbtsDOmCt//aXVAgKi8woIF2+8wbsnOZlVOysABw+KtK+6R3JBqVCSaBEZNcrjMb/95l4aw6jqKA0bapclIFKtGl1z4uP5mcXCS7d2bdalCwVr1mjfVamyK1Tn5LBgWlqayIsvhmZcvuCvwIwuHabdDvTuDVxxBc1sn35qTLsff+yueZ49279InDORN9+kri83F+kz1+P5Jwrw6af8qaKV+fOBHUVnoR++xxxciV+a3we8+qrHY9at076zp2zfv/7KpvRmWO/d2/3/ggIuz4uLGfSVn89LNzcX2LNHX5uB0r49MGIEdZANGgBvv336Pi+/DPz0E50t3niD37tC4I+UDdV22gxz+3bt0QYwXtoIJk7UanADfFzH0EeXLiJmsxxHZamqjonJZBerVeSZZ8I9MGGww8svs069D/z5p/tsccIE78fs2sUw+NRUTrbL6tKZOMNs5l89xTiLikRuv51x0rVqiQwapC3R4+P5fmIiUwzozbNy/LjIZZeJ1K0r8sor+o4pC09xF8OHa7dUShMCVI8AACAASURBVAo1XZEEzogl+YkTWqaEhASWh3Nit7NUrj/RMzabyJgxTP9y0UWRnawi0jhwQOSGG2RllwelUnLJv8+ccpIOhY65cymVTCb+3bDBp8O/+07k2mtF3nxTv2o2I0Pkq6/4XC+LMWO0Z3Jiosg77/g0JBGhsOvdW6RGDZEnnhD58kuR8eNFDh3S38Y992hBZ1Yr1c9Gs20b1QdJSSIdOkRe0qwzQ2CKUH/Zuzcrvx8/zveyskTOOYeP7o4dqUCJEVJOneIMKCmJz7SxY8M8oFGjNOlkseibJgaZxYs5FOcMc82a8Ixj8GD32d/PPwenn/x8PkQi0Rbor8CsGG5FL7/MapHFxfRnfOcdYOTI4A8whhsHD7I+zllnAX37hrlo5/z5QP/+TI+TkMCKaK1bh3FAZNkybn36MFozHGzdCnTvTr3nhRcyH0x8fHjGEi78dSuK/GxFerBYqIEuLuZdmpwc7hGdkdSty6xCEcFllzFIeeVKvo4AYQlQUHXvHt4xtGzJh9vx40xlEKtGrZ/ospKXxz338JFduTJzKw4eHO4R6efkSd5BVitw442nx43F0Mfixbz7q1ThNBdgkfLHHqNZN4r5/HOmGxg8mDXwjMCZ9S8mLH3En3V86Q3AFQC2AdgJ4IkyPk8EMM3x+R8AGulpN6SO6+Hi2Wc1s2dycuTXSIhUatfWdJZJSfTqrgD8/Tf1nk4758iROg/cs4f+xRXkPBgNwuWHqZQyA/gfgCsBtALwH6VUq1K7jQBwXESaAngbwBuB9lthKCnRkh47/w+UaHaC9BfXmbnd7n5Oo5hDh7SsdEVFLAvslenTue7u1Ysrr0i9HnJzge+/1++UGgEYsSTvBGCniKSLSBGArwH0K7VPPwBOL/PpAHorVXEWA3l5XE03buzVv/l0Hn6YyQCVogb++uv9H8jBg0CLFsw+1L//mbW8//hjqjUSEoAJE3gOKgBdu3I5brVSNf/M/SdYqqRDB+poy+LFF+nRnptLY9fff4d20HooKgIuuICp7nv1AiZNCveI9OHPtNR1AzAQwBSX/4cAeL/UPpsANHD5fxeAGt7ajpYl+Zgx9Ktzrqo91NsqHyOWTvfdp4V4pqSIzJrl9vGECSJXXhkRHjbBwW6PTB+WACkpEdmyhTXd5Nprtd/YYim7mtiAAe6Olt4qFQSL4mKRp55iHH7pWNF163iNOtUobduGdGjwc0kecY9hpdQdAO4AgLS0tDCPRh8HDvCBCXCimJXlef8VK4Bjx2i8TUhwvGlENnCz2V2L7zLL+uEH4JFHOBv+9VdatPuVXgdEO0pVSCuG2cwVNgBWEnOqbZQCjhw5PdPVlCnMgLV3L/DCC+FLcTR2LOMm8/PprdCsmVa9Li1N+62SkjjbjAKMWJLvB+BakqqB470y91FKxQGoDOBoWY2JyGQR6SgiHWuGKeVZSQnwyy/AmjX69h89msZZiwVo2hS46qqy93v9dRZHvOgiLuF79TJYvTRmDNC2LS/AAQMYc+9gyxZNqBcW0hcvRhTy0ku80KxWegE0b376PlWrskzjsmWnB6MHm717qRayWmnez8/n+2YzsGuX+xiXLgVuvplP8kiubOqKP9NS1w305UwHcDaABADrAbQutc+9ACY6Xt8I4Bs9bXtakq9bJ/Lhh4zh1cuyZSL9+omMHl1+qJbdznpZKSlczbz5pr628/JE0tPLX1m7psRyNeb+84/+8QfCjh2s5+3cduwITb+6sNsZ2xdp8XORyoEDrEsfieqH/v21OvOJiVQbVKrE1EonToR7dP+CcIZGArgKwHZQN/m0470XAVzreJ0E4FvQrehPAI31tNuuXQe56y6R226jl4STX3+l8LFaKdj03PyZmVoYelKSyF13lb3fvn3uBeEbNPDeth5++81dZQOIVK0aWhmRmSkyZw7Tl0UMNhtvsoQEZq4IRmDzmcKhQ0ygef/9vgWXG8k112hxl8nJTOC5cCHzPEQQYRWYwdqs1g4SF8cHVlqallfj4Yc1oWOxMNmQN/74w11gdepU9n75+SJVqsi/fm9XXum9bT3YbNTXx8fzwXv11VTk2+0UZBWpuq1PrFqlPckAkYsvDveIopc2bWgQiosTOffc8Ixh2zamTjKZRO68M3ilpAPEX4EZ0ZE+BQXUJ9rtwD//aLrubt20EjhK6YvJbdeO6fRTU6kCevBB98/T0+nZsGkTVSsDBgC33QZ8+WXg30OEKpq4OGDqVBZpnD0baNQI6NSJsdcNGoQun2FEUamSpsg1m1m9MoZ/bN3Km6SkJHxK6nPOYaLO4mJg4kTeoKdOUd9aEaLZ/JGyodpq1uwgycmcGbpmchOhl8K993K2r5fcXC5JN250f3/3bq4Gncv8BQv0t6mHyZPd8yv++Sff//prbdZrMtEr6Ewke/xk2Vv7ArFf1CPC9AVRxg038IJKSRG58cZwj0bjxRfdo9mmTQv3iCqOW5EraWnAuHG07vbp4/7ZwIHcfMFqBa688vT3lyzhJCcvj/9Pn356f4Gwdq3WtlLA5s30oqhSRQtIiY8HqlUzrs9oYcUK4PJnR6KkZCR6JQOzawIGOFidmXz5pebMXp6rRjgoKnKPvIrmagb+SNlQbaFyXN+wwX0G+OWXxra/YgXbTU1lUtUDB/i+3U6Lfd261G9GaxrPd96hTvipp3z3v7/4Yk19mZJCXXOMCkZWlkjr1jQGXXKJSEFBuEdUMY0+wRCYJ0+KbN58upHlt99oTApW7oudO1lVsKzAjHDw668iN93EGmaBBBnNm6fZbKxWkUmTfDv+xhu1oBSLJcLcnSo6GzbQmpqc7F/6d1+JIMtmTGDqYN06uoQlJ9OImJtraPP/Mm2aSPfuFMCFhcHpIxDS091n1C+84H9bEydq2XSUEnnsMd+Oz8pifZnGjUWmTPF/HDH8oGNHbXqfmHhG6Y/9FZgRrcM0mnHjtHyCe/YACxaUHx64fj2wYwcDJapW1d/Hhg20rjsrB6akMBdCJLFtmxY1mZcH/PGH720UFlIV1b8/8Pzz1MEqBQwf7ls7NWow43eMMFA6M1Y0W69DRES7FXlCXHTIeXnMH+vNLSctjVGDAK+NunXL3m/mTKBLF+A//wHq1dMfIglwDM6w8Pz8yAxB7NqVmW9SU2kIGzCA2bf1MmcOHyJVq9JdascOVoRITy87Ui9GhDJpEn9Esxl48kmgfv1wjyjy8WdaGqqtrCW53S4ydCgLSTVrRj/Zpk01tyBPLkF5eTy2ZUuR994rf7/LL9dWKoBI9erl71ua7GyRJk20cqvLluk/NpQcO0bXrH79GNmUlCTy/ff6jj3rLO3cJCQ4sujEiE7s9shKMmy306Awf35Qx4UzRYe5aJHmu2g2i/TpQ+HkvIGvuirAMykizz3nLjCV8u23y83lb75/f+Bj0cuMGSJ33+1bBcB9+7S0dAAfQHpo00Y7JikpCq37zpvyp59Y+DsGle0rV/KiCCePPSb/Ol/37Ru0bvwVmFG3JDeZtOW4UgwUcapeLBYmWw2UMWOAnj25UklKol7Ol+xrVivL9NSrF/hY9PDDD8zDOmECdYq//67vuJQUnk+Af2vV0nfcV18xIU3dukxIE3U15555hpmcBg8GLr+8wmRn95vCQoac9enDSJ1ffgnfWCZPZuLjnBzqfnJywjeWsvBHyoZqK29JPmIEXVFatuQD8ccfWar80UeNdfFau5ZROREaDvsvTz7pPuN79139x/74I5fYZjOjja67LvK/b8DUquWuUzh6NHh9nTzJ7DE9exofQmYUS5e6L9NSU8OnZ7nwQt7cSml/e/Qw3KUFZ8qSPMbp/P479bfJydz+/tv7MQcPUrB+/z0zMrmqIEonx65w9O5NQWkyUXgG0z/wppu0sECrlZlWIo1du7QxOnVQTz8dnrFkZYnccYdIhw7amCwWkQ8+MLQbfwVm1C3JKwI2G/DGG8ANNwCLFgXeXpcudA16911g3TrvlurcXFaefewx5m89csT988zMwMcEMNx09mxg1qwI81iZPh24805++WXLglv/Z9s293T8Bw8a025JCfDJJ8A77/jm4lAWjRsDDzyg6WfMZmMzW2dlAddcA7Rpw4vBEzVq0Ho/dKg2HsD9dTjxR8qGajNyhpmXJ/Lxxwx7DGXAQUEBLfmuqoJXXnF3HN++PXTjEWH1VdcVWFqa9rp6deNWPzfdpOWC6N/fmDaDTnq6yKZNxuklpk/nDCklRaRzZ+MuvuHDefEkJtJNJFCLclER43PNZpH27Y1VU5SuQ6THQT43l3Gz8fEil15qeOJYxJbknuneXVu2Dh5sWLMeycwUqVePfdarp63G+vXTBFSlStQjhpKTJxnTbjbznDz1FO+PtWuNTeLtusozmSJQN5qTIzJunMjrrzMb+LvvUglstVLvGAg7djDAvmlTkalTRZYvN9YiX6eOdnKNjNJx/kh//SXy9tu8KALlvPO0sVqtfCCFmZjA9EBBgZYE2plhKhSMG6cJjYQEkbFj+f6cOVoyjjp1RI4fD814XElPF3n+ec66g1Xp4PzzOUGIi6OBLqKw2URq15Z/dXZt24rUrKldJHFxfLL4y/nnaxedxWJ8HO6wYbyIEhIYV2qkz6JTKZ6YyL9r1gTW3ty5PAdWKzNnG3nBZWTwXNes6VM8fExgeqFlSy3beZ8+hjXrkc8+c196f/aZ9tnmzSLffVexnb6PHGE8/QMPRKCtY8ECTTg6t/PO0+rRVKoU2PLZVc+RkMCToZeSEu/OrcXFLGo1bpxvbYt4n+q/+KIm7OPj2YeT557jk75tWworvWRl0Rpp9DLj6qu138xiYZYbHcQEpheOHOGM6rXXgu9oXVBA4fjFFyIPPshV2UMPRWbNqjOWX36hTsIp1OrUEdm7l5EP3bppWZ795dtvubxPTGSNHb2sXs0aKXFxVAsYKWAyMngxmkwiQ4aUf0EuXqxlVLFYmJ9QxD0PotnM+ufh5qKLxG25v2GDrsNiAjOC6N1bc/G5/vpwjyZGmdjtFBpmMxOSpqcb38fx41ryU7306OGXANDFsGHaQyIlxXO5goULRcaMoY+mk7/+0nL5KWVcwatA+OsvkcqV+YAZNkz3A8ZfgXlGZSuy2ejhYbEErw+7na5C4gge+emn4PUVIwCUAj77jJsviDC06sAB+oWVrkGUkcE0Tk2aMKV+lSq+te8Mv7Lb2ZeRF6ura46IZ1edSy7h5kqHDsCgQTxn1asDb75p3Nj8pWNH+sXl5zObTLDxR8qGajNyhvnnn3wQmc0i99xjWLNl0rYtVT8JCbTOx6hAPPccZ1kWC/WUru4ub73FZbjFIjJqlH/t791LXWq1aiLjxxsy5H/Zv5+ZzxMS6Bzu73K/oCACXR58A7EluWe6dNFWOhYLfSODxdGjvK9eeikwQ2s0sWOHyDnn0B7gaiOoMNjtIp9/zmLyrjU1XF1kXJ1bTabIzB5dUSgooD/cgAFMpOIjMYHphd69NWNaUpLInj2GNR1D6GPsNKwmJbESZ4Xigw80g4dTINao4W5BrFRJ+xwoO13VpEl00xg/PupnaWHlgQc0w1Ryss+pwfwVmBESbxR8Jk8GWrVivtQ33mAt8BjGUVjonkXKGQ1oBOvXM5LxrbdOTxLuiYwM4NJLqXpbujTAQSxerJX+TExkWqhVq9xTNZ19tvbaagX++ce9jc8/Bx5+mNmAnnkGmDYtwEGdwaxeTb0lQF3s7t2h6dcfKevcAFQDsADADsffquXsZwOwzrH9oLf9aLWSn4msXs3VqtlMFyqjOHxYW+laLKyyqZfOnbVVRXIyw2P95rvvtML1VaqUbf3+5hstIqF1a/d42Cee0MIDnVbmZ58NYEBhxm6n79z999PRPdRMm6ad62bNfP5xEY4lOYCxAJ5wvH4CwBvl7JfjT/sVVWDu3Vsx603Z7cbn412+3H2l27Wr/mNdszAlJNB3OiBWrBCZPNmzw/bWrcwW7noDFxW5+3w6U6ht3RrggMLIxInuURnhKPe5aZPI7Nl+OVb7KzADXZL3A/Cp4/WnAK4LsL0Kz+jRzCbUqBEwcWK4R2MsSrEYmpG0awdUrsyVr9XqW5G1l19mAmiLhfWZatRw+XDdOuCJJ4Cvv9afQLhrV2DkSKBhw/L3adGCegBXd6C4OLoLOalbF9i+nftGK64qCrOZ5zPUtG4NXH01Lw6bDTh2LPjJoP2Rss4NwAmX18r1/1L7lQBYBWAlgOv0tl/RZpj5+e4TjapVwz2i8LJxIwNrBg/27N997BgN1P7UR9q/n9mg3Owru3e7F1OfMMH3hn1l5Uq6C3XpIrJlS/D7CzazZnlXUYSKvXuZ3SY+nlFanrKIFxSIHD0avCU5gF8AbCpj61daQAI4Xk4b9R1/GwPYA6CJh/7ucAjXVWlpacac0AihpETTxykl0qJFuEcUfI4do9dH6WxhJSV0NXRG2XXqFMJBffed+zq/dIjfvn0M0briCmMjbSoaK1cynt2XmPJgcN997hFM5WXAXr6cn8fHBy/SR0T6lPeZUuqQUqquiBxUStUFcLicNvY7/qYrpZYAOA/ArnL2nQxgMgB07NgxyPPr0GI2A/PmAffey+Xl1Knun9vttDYHMxIplGRkAOedR8u22UzDptOQnJen1Yi32YCdO0M4sC5dqD9ISqKF9YYb3D+/9lqa5m024M8/mQA3UhLYRhKdO3PzhZwcJnCuWpXnWanAx1GpEtUeNhsfgeVF/IwaFXCNoECvgh8ADHO8HgbgtHTKSqmqSqlEx+saALoB2BJgvxHJ0aPA2LHABx+U71Zz4YXA2rXA8uXumdHXraOOLTWVarJgq2JCwTffANnZFIzZ2VQXOklNZT10p27ykUcC66uggJsu6tblCX/zTRbaGjzY/fPdu7UU8SdOUIl69tnApk2BDfJMx26nHvjee5nt/tFHjWn3iSeAiy/mDTRyJHDZZWXvV6VK4A8+f6alzg1AdQALQbeiXwBUc7zfEcAUx+sLAWwEsN7xd4Te9n3VYe7eLfL+++75AkKF3c5Il4QEur8MGuTb8b16aStEq1Vk/frgjDOUzJihqQqTk+kJ4ordTo+UQFe9H33E856QwBViwLzyipa/0emXBIhccIEBjZ/B7NvHqAbn+axfP7T9Z2RQ91O37pkR6VNURGFYVkmH/fsZK+5MmB3qQl7Hj1Pn7FrqwReuuso9rV8wQzdDhd3OMMkLL2RaPSMCW7KyRP73P5GZM7X2XANwkpIMCqDZtImZnl3TxrdrZ0DDZzBFRcwMZTbzh7rxxrANpcILzOJiOiKnpFCgfPml+wmYMcNdj+/rDC9Q7HaRNm00gX3LLfqP3bpV5NxzeW8mJ4u88Ubg48nN5UTpscd8jhqLWPLzRRo25O+fnMx4fRHNeATQYGsozz7LG7xKFRo5YgRGRobI44/zSWpwnR5fqPACc8MGbXlX1sM+Pd19+Td5cgBn009OnhR57z2RTz7xLVl369bu1QyMqK3ety9z15rNTKpTEZIXb9rEB6bzGmjViu8vWcLv2LChyKJFQei4pCQW913B8FdgRk0+zLp1tdeJifRZdeXss4Fff2V47vnnn274DCZ2O2OV4+Koz/bV8Ofqb1tSQkt5YmJgY/r9d7YDsLLriRNAtWqBtRkoJSX0DDh0iA7o9ev7dnyjRjRs5+fz/PRx+G/07Ans3VVCi3atWgCaGjtws9nY9mJEL/5I2VBtpXWYS5cy0cvIkSKnThnwmDGIW27hzCc52b9cm19+ydlgQoLIo48aM6YhQ7SZmMnkVwYsw7n7bqor4uJYEcKfFdmePSLPPMOkP//W/bLZmKncqa9xLZ4UQx8HDlB/8/LLwa/hEgHAzxmmEufUJgLp2LGjrFq1KtzD8IjdznBAZ9175wzIV06c4Iywdm1jxvXRR5ztOmeZd99Nd6dw0qQJkJ7O18nJ9OxpasRkcNs2LiucoXotWwJbKqTnWnCw24HGjYF9+7hM6tMH+P/2zjs+imr9/5+z6ckmIEWk3igggoCAKFjBcEUEFflR1KsIomJBBSsoV0ERFfSiKGIBC3xFEAQUkSZIkaIQeheCSO8lkJ7s8/vjs+tkw26yOzuzu0nm/XrNa9vMmWfPzp4556mzZ4daKlNRSq0VkZb+Hmd54waIzQbUqcPHiAigfn197VSsaNxgCQDNmmkryfh44NprjWtbLy6/y9hYoGpV9pshXHyxpgeJji7dMdqhID2dJTcKCniHXbUq1BKFLaVGhxnOLFkC/Pe/vDm/9VZwz11QAIwbx1wOjzzCnJ8Ac0BOmwZMmkQdX69exbcTDEaO5MB97Bhw770c2wzhoosYQjVkCEfh9983qOFyQoUKDMnaupWvu3cPrTzhjJ51fLC2q6++WrKy6D7y4IMi69cbqMQogczMkHo9uJGVRb9MT9bzwYM1P8TERANSmFn4z6lTdNMIxJLuclpt1Yr1oINtlc/MpO53xgz/XCr27aO7Qmwsa0r7KveoUXRcT0nhRXv2rMjLL4v068dkGiaDsupW9OijWib6xEQ6iJtFairdkV57TXMir107KL+fVw4epIEkIYH5HY8dc//8uus0405Skr6MPhYBMG8eL9C4OJEuXfQPdD/+6J5BqbQYru69V0t8kZDgm6/qpk3anzoqiuVx27en1TMigpmHTPaD0ztghr0O848/NCOKCBM6lER+PvNOXnMNMGaMb+dZuBC4+Wagf3/gjTc0I87+/cDTT+uT3QgmTGAV0YwM5oCYNMn98549qaN0bU2bhkbOcsugQbxAs7KA+fOpG9HDX39p9TdycjTrWLjjSnjhwpcaImfOaAr2vDxe4GvXMgFDQQEvdFdmlqIcPQp06EDd08yZgcvvL3pG2WBtV1999T+1p+x2pkMrWohv/ny6maxYob334YfaDSw6mhEvJd34+/bVZmpFt1tvLf5YEa4qrrmG5+3Tx7gV1RdfaEvuhASRyZMv3GfRIsZQF519WgSBjh21GVZsrMiRI/raOXhQpGpVLhMqVhRJSzNWTrNIS2PUgM0m8tBDvl34+flMnRcTw3jmdeu4nE9I4B/9xhu9t9Opk1bqIy5Od3+jrC7JRTjL//57kXPn3L/03LnuWfLXruX7/fu7D3gxMVSPFMc332htRUdrOQIqVPAtOUT//losud3OlZoRnD0rcscdvCZfeKFsROxMmkR/2tdfL+RLWVo5dIglSa+4ghdpIJw9y2wkp04ZI1sw8ffCdDg42LkU8w4H/zTTphVfnrhZM+2PHR/PZMz5+Uzs4Ud9lDI9YHrjpZe0vouNZViiiMjWre4hdIDIv/5VfAc6HJy9PfOMyLJlfM+fevVPPOGew/Snn3w7rjiysrRa3/HxF8bPl0Z+/939Jjd6dKglCoANG/jjKCXSu7cVPhkM5szRdMadO9Oo0aABB4CaNX1OnFAuB8zFi9lvMTGczW/Zon126BBLQNhs7MuePX3qR90cPChSty7/O507GzNzWrVKy9AOsLqBUWRl0cJ+//1cEQWL//s/95wAjz4avHMbTs2a2hex2YLbkeWZkydFdu/mDerTTzX9W2Skz5U49Q6YpdoPs21b1mJatQpo1849vrx6dSbqHTOGDuFmG25q1GDW8IIC30KPHQ4asKpWdS9tXZjkZPcIoquvNkxcPP008M03TLo7axbw9990ZzSbDh2YPDgign316KPmn9M0jhUqMOBw0IBhoZ/vvwfGjwduuAF45RXvf6RKlbTECJUqaUmBo6JoHe3Zk9m5Bw40viqfnlE2WFtZK4LmIjeXeu24OOr4i5uYrFjBkjOvvGJMFiMXTZtqkyO7navLYHHmjMjChSL79wfvnKZwyy1amqkKFcqGgrkowcrUlJrqrqsZNcq34woKWBu9Zk2Rbt20NuLiRJ57zuthKKtuRWWRZcsYR52VRe+JN97wvu/11wPTpwPDhweewagwTz5JNyS7nVVjGzY0ru2SqFCBK4JatS78bM8eoEsXbn/9FTyZvJKRocWoF+Wnn4Bhw4CXXgK2by97dX9ee40XXeXKwJo15p7rzz+1/svMBDZt8u04mw348EPGwQ8YwHA7gH+uP/4wXk49o2ywtrI6w9ywwd0i//jjJR+zYweNWUayejUDO8IpOc1ll3HSZrNRJxxSRo/Wal9MmBBiYYLMvn00DriWIWb/F0+cYIRGUhKV3CtXlnzM8eP0IZwyhTPNjAyR5GTNSlqM8z/Ko9GnNPPRR7Tcp6RcWIK2KEOGaIbBZ58NhnShw+Vi5woCCSqFl54FBe41R+x2v9xWSj0HD7rX32nVyvxznj5N16K9e0veNyeHf6DYWA6wrryIZ8/SvcvlY+iFcjNgzp4tMnIkjWSlmVWrtByarVsX73rmMgK6anibqSrLyWHNJCP1pf7w1FPsk4QEqqaCQm4unV1tNtYKOX6cg2dR37TKlTnVLy+8/z5/iORkdxeUcGDXLnd3Cz+XI+ViwBw3jn0UFcWZ++HDfvVRWNGxo/ZbJyYWX1rB5a6kFFctZnH8OB3kExJYq0pvLaAtW0SmTtWXCMThEFmzhlvQ3BqnTdP+fFFRdPAVYQhV1aqaYUcp/4o1WRjD0aOcVVSsSOunCO/ol1zCJUl8vN+Zu/UOmKVKS/3DD9TBu7w31q0LrTyBUKeOZsTJzy8+F+bcucCtt7L08sKF5sn07bcM1XXFrU+Y4H8b8+czhdvDD9PN68QJ/45XCmjZkpu/pT50Y7O5n8xlfEhJYbxyXBxfR0XRAFJWyc+nAWXAABqxwoVBgxhrfuYMMHo0jTkxMXxvyBDggw8odzDQM8oGays6w/zkE04EIiI4Kzt0yK+bSlhx9qxIjx4iDRuKfPllyftnZZk/45o82T1hzvjx/rfRvbv7zHnGDOPlNJz8fAoeHc2EAEVDE4cO5ZS7Qwf6RJVVnn2W+h+l6CZlZmowf+jRQ5vl2+2GVLpDCLEpLwAAIABJREFUeViSOxysRz18ePlRJR0/zkHVZmMEmJn5LgsKRJ5/niqAfv30RSv973/u7nTbtxsvp4VJNG/ufrdLTQ21RGTnTpFq1ThTuvtuQ5T4egdMq6ZPGJORwWqYx4/zdUQEM7sPHRpSsYrF4eDqaM0aVoZs1y7UEln4zAcf8AIDqHrYsUNTR4Qah4O+ld7C4vxEb02fgEIjlVLdAQwF0BDAtSLicXRTSnUAMBpABIDxIvJOIOctL6xcCZw7p70WCZ/r1xs2G1VgFqWQAQOYUHXfPqBz5/C62Gy2wAfL/Hw6xScl6RcjMAmwBcD/A7DM2w5KqQgAHwO4HUAjAPcppRoFeN5ywWWXudsi6tQBnnoqdPJYlANSUoDevbXEAr4kBNbLd98xEfAdd/hvHfSXzZtZLK9y5YBqFgU0YIrIdhHZWcJu1wLYLSJ7RCQXwBQAnQM5b3mhbl0aaTt0YB6BnTsNW5FYWBRPRgZw3XWsVHfNNd4zoOtl/37goYdojZ8/n3WgzWTQIOD0ad4A5s7V3Uww3IpqAthf6PUB53slkpcHHD5sikylhttu4+/7zjsGVlm0sCiJr78GNm6kHmjzZha6N5KTJzX3rfx8xoKbSVKSlv0oALtNiQOmUmqhUmqLh82UWaJSqq9SKlUplbpp03FceikHCwuLkPLmm5ze162rv26PJ3JyaFzxluAjVERFafogpYxPk9a0KXDTTdSTxsezf83k/fc5U65SBXj1Vd3NGGIlV0otAfCCJ6OPUuo6AENF5Dbn65cBQETeLrndlgKkIjqa15WFd86f58qmTh1eFxYGkpYGNG7M5KFKUc9nRATByZNMcnryJAeO1FT+gOFATg7QtSvw66+sDvjDD0zKaiQi7NvKlYOTjLUQeq3kwViSrwFQXyl1qVIqGsC9AGb500DFiqbIVWbIyQFatKCuvm1b5mC1MJD8fG22JeJfomAR4MsvmU9v5Ur3z6ZOZRLi8+eBU6fC64eLiQFmz+bMd9484wdLgH1ar57/g2V+PvDxx1Tsp6UZL1dx6HHedG0AuoA6yRwARwHMd75fA8CcQvt1BPAngDQAg31tPz7+amnePHz8Z8OV1FT3UhYtWoRaojLI88/Tcfrii0U2bvT9uDFj3D35//xT+2zGDPfQqk8+0SdbQYHI2LHMXLJ+vb42ShP9+zMiyWZjHZr0dL+bQHmI9NHD4cMid97JdH6//BJwc2HJiRPagBkXx4Js4UJ2NlNJTphQfEamgNi7V+SttxjbaWb8qJ7s4z16uEfPFK4s6XCwsNLllzO0Ki9Pn1zDhmmDst2uP2vKhg0MJ6tVS+THHylPuIRHFqZJE/c+9ecG5sQaML1w663uZYzD8fc3grVrWeht6NDQpWbzxG23aenaOnY04QRnzohUqqRlrRk2zISTBMCsWZQrIYGzIb11y4ujXTttAElKYv0PPVx+udZOdDTljYpijZRwKr/x1lvsz7g4ptfKyvK7Cb0DZpkPjWzQQDNqxsUBW7cy3NDCfERYMcBVyC0y0oQ6Yb//Tt8rl5/gtdeaU5ogEFJTgS1bmHKqpk8edf4xcSL9GJWiJX/nTn2K/0suYboqgG25xga7HViwgH6ZRcnOpgGsalWgVSv938EfROhrd+AADVM6MkiFJDQymOzfT12vv4PdsGE0hijF6zU52QzpPHP2LDByJK+pF1/k9VieUIpG4I0b+bpFC+2zlStZ8bNtWxYJ1E2jRnRQjY6m60vnMIyJcOWrM4sHH2RY2K5dQKdO+gbLVavo2O2iUSMOvPn5vOPZ7RceU1AA3HgjZyQFBfyzPfec/u/hK0oBHTuafx5P6JmWBmtzLclHjWIm+thYkRdf9Hv2LQcPMqlt0BLSOrnpJq5sIiNF6tcP7rnDhTNnRN58kxmmzp7leytXcpVqs3FVtXx5gCfZt0/k3XeZCDjYP3JZoWtXbTlut7OA/PXXM4Hy2297PiYtzb0cQMiLMPkOynJd8iFDOEsDgFGjWEHRHz/aGjW4AUxmERUFjBvHqoR9+wJXXGG8zAATHOfm8vnu3Xxe3qJ1KlQABg92f2/ZMvaFw8HHJUsCnGXWrg288EIgYlrUq0fXoexs/jBNmwIrVhR/TLVqvKCzs/lYeAlRRikVGderVdPc4JKStEqa/iDCpXmlSlyxvPgis1m1bu2+EjGS7t2pUkpIYJozIwfLYcOAxESWx92zx7h2g8Ett7AvIiP5mJISaoksMHQoY7uvuQb47DMOmCWRkAD89htw333A00/T37SMUyqMPjt3Ao88wtnIxx/rUwdt2kSdddEItMREBjOYoWJyOFi6OicHuPtu4wbMnTuB5s2ZHtBmA9q3955PYNs2Dqht23pWQwWKCOWIj/fvuNWrObNs0yZ4tgILCxdl2ujToAFvZIEQH69Za13ExnK22cjAZHMiHNBiY2lgMsMGkZurzbgdDu9hozNnAg88wJwDVavypmFktqMDB6jzP3CAA9/cub7fFK69lpuFRWmiVCzJjaBePc7yCtO6NbB+vf+zo+J44gmqcho2NK8uU+PGVC/YbBwIR4/2vN+YMZxRnzvHrO1r1hgrx4gRHCwLCjhjnD3b2PbLPGfOUNGdlRVqScKLY8eA/v25HTvGGcj69QFlGTKKcjNgAsCzz2qDY0ICcP/9xhYBzMxkOHBWFvXgr79uXNuFUYqqiexsus01aeJ5vxYttKTZBQX0PDGS+Hj3jFlG3njKPDt2cAnSti3vrkYo0nNyWK6zYUPgvfcCby9UtGsHjB3L7aqrqH+66SagV69QS1Y63IqMZMYMkS5dRD74wHgPlPx8BloAdJlp0sTY9v0lJ0fk1VcZqLFkifHtnzkj0qYNCww+8YR7f/72m8hXX4kcO2b8ecsEzzyjVUJMSGBnBcqbb9L3ztWmGT96MIiI0FyVCm+RkSLnzvnXVkaGyKpVF1yIKMtuRUbSpQs3M4iIYNDDgAGcwX72mTnn8ZXoaOCNNy583+EApk9ncMw99+g3BlWoQMNNUb7+GujXjzPhl1/miiqAMirmk51NH7Pk5ODVsUlOpqLbtRyvXTvwNvfv1xTaSpXe7NtduwJz5vB5VBQv1IICXqj+/D5nzwLNmjF9ngj92Zo3D0w2PaNssDYzZpgWIo8/zglIfLzIVVcZP9Nu21abFCQliSxebGz7hnL0qEjNmnTWrlZNZP/+4Jw3L49Zd5o1Y2SGEWzfLlKxIn/cBg38n42FC/n5jMGfNYuJVTp3FklJEVm3zr92Jk/m7+q6GPv0+ecjWDNMC1+ZMYMlWwCWVDl5komoi5Kfz1SN/kbatWlDI1BmJmezZgUGGMLkySzAlZPDmeaECRd62ptBZCQdgY3kiis4y9y/n1ZOo7OkB4uICODOO7XXP/ygr53kZM01Ji4OuPzygEUrV0afULJlC/Dtt8CRI6GWhPrz2Fj+Zy+5xHP+1u3b+dnFF7OoX0GB7+2/+ipj6Pv1oztYWMfQV6+uRUJER2shYaUVu51Gn9I6WBpJ69bARx/R0feJJwyJc7dmmEFg0SLgrrvoBhQdzYxJoRxEvvmGVvYzZziouSzdhXn1VSYBFwGWLuXA17atb+1HRLDdUkH37sCGDZx23347E1lYlH7Gj2cMdd26wKxZvPMbgDVgGoQIjR0bNtBdqbBT9sSJWoSR3c4sPffdFxIxAXB2+fzzxe/jCkHNy+OqJjExOLIFHaWAt97iZlE2SEsDnnmGBrUDBxi2+d13hjRtLckNYswY4Kmn6KyekuIe333ddZqPosPh3W/SbBwO+gJfeilXKPn53vcdMYIrmipVgJdeYpq2UoXDwT+LK/tJuLJ8ORMcxMbS79AicE6fdi/ha6QeTI+lKFhbabKSd+miGeMSE0VmztQ+czhYruXBB/UnwzaCSZPcS8iMGxc6WUwlM5M1SWJjmZ4sLS3UEnmnbl3twomO1lWfxqIIBQUid9zB399uF1mx4oJdoNNKbs0wA+D0aS7Bc3K4DI+P5xYZCVx/vbafUsDjj9MA265d6OQ9flybVebl8XU4kJ5Oy7or+sofA5NHfvqJzp/Z2XQBCJeol9OnqRA+cSLUkphLWhrD6kaODE19bJuNestduzi7LPxnDBBLh6mTTZtobXY4aGhdu5bGnS1baDswSMdsKPffT0+WY8doGX/ooZKP+esvqhsuvpgO+TExxss1ahQrTeTmAj/+yKQh3boF0GClSlrccVSUZ5+pYHPgAJ2o8/J4B12zBqhfnwruzp3pv/XBB8Uriw8epItN/fpMURWOZGXRKn36NC2c27cDX30VfDmUAmrVMr5dPdPSYG3hvCTv00dbSdntIt99F2qJfCM3V2TPHt8qOGZlcUVrs3F107OnOTINGqQVqktIoOrAFz79lH7fjz1WpPCbqxpjrVrMJJ6RYYrcfvH++yIxMfJP3OzQof4df/KkSOXK/CESEvjlw5Fdu7QKlmGchR3Wkjy4XHqpFqXlcJhzMzODqCjK7ksatsOHOfFxOLi6Xb7cHJmee47eH0pxcuLL7HL1ah63YQNVHW+/XehDpYA336QD9/ffu2cF2bqVW7CpV0/z94yN5SzRHzZs4Ow0O5tRB1OnGi+jESQnM8zTlTm7Z0997SxezD668kpmKgoX9IyywdrCeYaZnc0Qw2bNRD7+ONTSeObUqcAmV3l5IldcoZXJHTzYONk84U/d8unTtVrsgI+z3xdfZA2auDjvxaGWLxcZO5YheUYzejQLPb39tv/xqEeO8AsrxRnciBG+Hbd8uciVV4o0b8664yIMPVy2THttBA6HyPnzfJ6eLjJxosi8efribgsK3EMa69Txv42//xbp1Enk5ptF1qy54GNYdcktCjNwIEtKx8aK/Pij/nbS00UmTBCZMye86oudO8cy2nY7xxGfwoxd635X5puiTJ/OwSgujimYDh40XO6A2LaNd62JE337MRwOLX0WIPKvf/G9jh3ZcfHxIiNHBi7X0aNcekdEsHCajjrhbuTmuv9WFSv630aLFlR9APwt8/I4EOfliUiIBkwA3QFsBeAA0LKY/fYC2Axggz+CWgOmPk6d4mAZyA26NJCdLbJ+PdV7PlGnDmdoSnHwKEqPHlqnJSayCmVpJi/PfeBJTGSas+ho7b1LLgn8PK+84q6EnjiRs80vvhCZMoUzWn956y3KGRPjPfXd9OnUUzduzJtJYapUcb85/vwzbxKRkSJvvx2yAbMhgAYAlvgwYFbxt31rwCye/HyRYcNEbr/d3e/z/HktLaJrYrF1a8jEDB927hS57TZuO3de+Pm4cZqjakKCyO7dwZfRaF5/nYNOTAydgXNyRC66iN8xKoqppQLlzTc1g1ZCgsjUqfSDjY/n64ce0tfuqVNabeainDvnfpFfdZX75x98wJVCfLxI794i9epp+0ZHh3ZJbg2YoeG99zSDZHw8Z1suZs7kzTcyUkvlNmdO6GTVy44dIkuXcpVmOg4HU4L17SsyZkzZcSI/ckTkxAnt9caNInfeKdKrl8jx44G3f/48b0JJSRycTp1yn9ledJFv7WzcKPLRR551qytWcHbgKmJ/8qT7Mio5+cJjdu8W2bSJv2ujRtq+MTFhP2D+BWAdgLUA+vrarjVgFk/Pnto14Mm1adYsdxXW3XeHRk4RXrOnTvm3Ops4kZMEu12kdWt9Kzu/WbKEd5ekJJHatZlW3sI/HA6Ryy7joBkby8G5JNauZb/HxvKxsKFm5Uq+Z7PxgnANmi+9pCnqf/qp+PbXraNKpkIFkS+/NM+tSCm1UCm1xcPmTz3EG0WkBYDbAfRTSt1czPn6KqVSlVKpx8MlFCVMeewxeswkJTGpx7//7f75FVdokT3x8aGr0pidzeqS1aoBderQ28cX3n2XftDnzwObNzN4x3Q+/piZUtLTmc5p8WJzz7d2LT3316419zzBRClg1SrglVeY8t+XxBe//MLIhexsbvPna58tXcrPHA4+Ll3K90eMYBTGqVPMQVgczZsDf//N39SXiA1v6Blli24oYYZZZN+hAF7wZd/yMMN0OET69eONr00bkdOn/Tt+zx6RuXO9H7doEW0Z77wTpBmaB6ZO1bxEIiJEnn7at+PuuUezTyQk+GHcCYRhw9z1HJs3m3euP/7gOaKjOXNavdq8c4U7y5a593vhNP2//873IiP5uGpVwKdDuGZcV0olALCJyDnn8/YAPFSaKZ8sWMC0cBkZvCkPH86Zla9ceik3b6SkcAsldrsWqRgZyVpAvvD555w9//0383NWqmSejP8waBDjn1evBp58kjWNzWLhQp6roIAds2gRcM015p0vnLnpJsZ/L1jApVLh5KutWnGmv2QJkw60ahUqKQMbMJVSXQB8BKAqgJ+VUhtE5DalVA0A40WkI4BqAGYqpVzn+1ZE5gUod0hYtYpp226/3bg/b1YWVzAA/zfnzxvTbjjRoQOrv377LdCyJdPF+UJSEgfNoBIZCQwbFpxz3XwzQ66ysxmCddNNwTlvuNKunffsNNdeGzqdUiGUuG79YUjLli0lNTU11GIA0Coh2myscbN9u/5qi4XJy+MAvGQJqyOsWFF8AcGff6bqpmFDqr4SEgKXwSKELF0K/PorlwFt2oRamnKDUmqtiLT0+7hwHjCjo1vK55+nonfvUEtCo8WKFXyelATMnm3shCAjg4YZ12zTE3//DTRqRJtETAx11598YpwMFhbFIgLMncsUVl276quzcuYMMG8e9UghXFrrHTDDOvlGXh4zgx86FGpJuHpyJdvIy+Ps7sMPtaJ0gZKQUPxgCTBDmKv+Tk4OZ7nlhdxcpra0CCHvvw/06AG88AJT1Z0759/xGRlA06bAo49yRv3116aIaSZhPWACHERcJWFDyRtvMAFOt2680f7wA/Dyy/RCATio9+4NPPAAsHevOTJccw2z+iQmcjY6aJA55wk31q1jPs4aNTixMeomZeEnU6fyz5idTeW7v1mfNmwAzp6loj4zExg3zvN+hX9gEa0gVhgQ1gOmUsC99zIzVqiJjGQ6se7dtQqmmZnAH3/weYcOrMY4ebLv1RX9JTqa55s3j7PLDh3MOU+4MWgQ/2e5uXTPCxO1dtnlr79orU5Pd3+/fXtNb6QU0KCBf+3Wq+deJ/yGG9w/376dd8WoKBbIOnWKBbCSkmgtDAOLaFhnXG/aFPjyy1BL4c4tt2hZxwsKNB/YXbu00gr79/O6sJlwO4qONjTjfqngoot4w8rPZ78mJYVaojLMkiVAp07s8KQklhBw+YENHUrdY1oa0KuX54L2xVGtGtsfO5aDbdE64c8+y5ISIszSHhmp/bG2bWN2+iefNOBL6iesB8zIMJSualX+dkuX0gDTqBHff/hhqmSUYsUBMwbL8sro0azOkJYGDBzICCYLkxg7VlsCi9D/8e67+dpmCyxKBmD50S++8PxZZCT/QC5DdHy89kdyvd+9O7BjB/Vh//lPYLLoIKyt5OHkVlQSIrSi5+fTQGQNmBZ+s3499YOtW5dsATSL4cNZoz0zkwPW6tXMeh4M9uyhnunAAeD554HBgzlALlsG3HYbl/FTplA3ExfHeNm6dX1re/ZsznS6dgXq1tVtJTckNNKsrTyERpY30tKYv7Z9+wtTGJZr/vtfLR3a/feHTo68PJHXXmPOwEAyT5tBSop7thkP5XM98tln7NuoKCZVOXxYd2ikNcO0CCqXX86ltQjd+MLBZSwsqFBBM7LYbJqzrYXG0qXUrwJMprF4sW96u06dgDlz+DwpCZgyBapjx7LnhxlK0tOB++4DWrQApk0LtTRlhwMHaLgRAY4etVyE/qFuXTrZKsWywL5UqStvtGnD6I3Vq2k88tXIceedVC9ERPDCa95ctwhhaFYJDwYMAGbMoLqkVy96NRSX5MLCN55/Hvjf/zgu9Olj6Xr/4aef2DlZWYx9DZUOM9ypXJmbPzz2GJcz69dzhrl5s+7TW0tyL7Rtq6Xds9vplnbddSERpdQweTJTH/7734y79/af37aNxrEmTUrxuJCby6iXRYvoazZtmrWEDmcKCoCrrvonqkRlZFhLciN57TXO4hMS+Mdu6b89rVyxdCnwyCPAjz/S9WfyZO/7NmpEH9tSO1gC9CFbsIDO1AsXhp/DsIU7+/bRIT8jI6DQQWvA9EJKCvt35Urgt9+06J7yQHo6V4d9+gC7d/t2zLZtmj4yMxPYuNE8+cKC7GzNX9DhYHC/RfhSvTr/xEoFtBKwBsxiuPhizoRcCS9KK59/Tmd6X3Md9OgBjBnD/a+/nslGSqJTJyA2liqihATgrrt4szlxIhDJw5iHHuJU2WZjrr0+fQJv89AhYORIxtj6ag3bvBm45x6GEp49G7gMLnbsACZN8r2eSLDYt48JVd97z7+b1CefcP/ISIZf6kWPL1KwNssPM3BmznSvHOtL5chq1TR3t+holrL2hSNHWHht7VqWu05K4lam/S2zsoxpJyODHR8VRZ/BgQNLPiYzU6RiRe2HuuMOY2RZtYoy2O38AffsMabdQMnOZh/ZbCx89sADvh9bu7Z2UcfGmlcErSwiApw+XT5cWrZsoeEVoJ3ClwQzjzzCWaLdzpSFVar4dq5q1ejBsXYtJzvp6cwAFlbqvXXrgHfe0Sx6gRIba0w7aWnUZeTl8XH27JKPOXGCqgGAP+6mTcbIMnUqZTh/nvIULkgWSo4c4UXlcPB7L1vm+7GNG2uuWtaS3HcyMhjOWq0ak6ccOxZqicylWzcOfklJjCZzhQUXx7Bh9POdNIn2DKWoz73ySmabHzGi+OMvvVRzF4qNZY6GsLg5bd7MrM+vvgp07MhKheFC3bq0MkZH8/Guu0o+plYtWiNd+f6eftoYWVq1YnsAf/wA/BYNpVYtIDlZs8bee6/vx377LfMv3n13YDdLPdPSYG1mLMnHj9eK00VGigwZYvgpwo4DB7hUPnTows+GD2fFyiZNRPbu9d5Ghw4iSrHf4uJE/vzT835Ll4pMmyYyapRI06ZaQcQbbhDJzTXm+5SIw8FwuF69RBYu1N7/+GMK41qavfBCkAQqwrffivTtK7Jggfv7hw6JvPuuyKRJ/A6+kJsrMn++ex3vQHE4RL7+mv3388/GtWsE6ekiX37JC9rXPvIAdC7JQz4oFreZMWBOmaLp9GJjRd57z/BTlBq2b9fGD5tN5M47ve/btq02zsTHi2zZcuE+77zDvrXbOVh27qwdY7eL/PKLed/Fjc8/dy/ZumkT39+0ia8jIvg4f37x7eTkUG9mJFOnussWDqV18/Opt/R2FzQSh0Pk119Fpk83Tv+rA70DZrlbknfrRqNi5cpMgNKvX6glCh3Z2ZovpMNRfGLr999npUybDXjwQS2tXWHGjaPK4/x5uiPZ7ZrayOHwXRcaMKtWaV/GZtN0e02aUO81bBirybVv772NyZOpx0hMBD77zDjZVq50T5+2fr1xbetBhBmCbr2Vjt1ffWXu+V57jYruXr0Y6hgWuho/0DPKBmuzrOTm4nCIPPwwJ1yVK4ts3Fjy/sVNuP7zH87alaLx9uBBzjIvu0zko4+Mlb1YFi3SrLwXXURB/CUpSdxcBQoKjJFt+XItK1FiItM3hZI9e9zVFPXrm3u+GjW0c8XEeNYTBQHonGGW61jy9HSG8NaqFdwKp8ePM1JLT9E9I1EKGD+ePpcxMSVH3pTk8zt+PG0Xhw7R8b1GDdY+CjopKazlsXEjn1ev7n8bcXFa9iCXw7MR3HADZUtNZfxtcrIx7eqlShXNQhcVxXRSZtKyJa3uubmcvfsbFx5q9IyywdrMnGFmZ4vUrcsbfXw8jRTBYOxY3lhjYsqHwckXMjJEdu4MolHIF377jb571auXrOss7SxfzlyTDzwgcuKEuec6d07k5ZdFHn1UZNcuc89VDCiL+TCbNm0pzzyTimbNjI/l3riRtcZddZWSkhgDPXCguZE9SUladdKICOoRw7EUR7DYvZteLNnZQO3awJo1nHhYWBSLwwEMGcI66V27slKeH6uAkNQlV0q9q5TaoZTapJSaqZSq6GW/DkqpnUqp3Uopn4vDbt0K9O/P5fK8eYFIeiHJye4DY3o6s/OPHGnseYpSeAWSkFB6wi6PHaPbW/v29P02io8+YhBBZiZzZYZkCW9R+vjmG2DUKEZJDB/OrC9BIFAr+S8AGotIUwB/Ani56A5KqQgAHwO4HUAjAPcppTzYWD2Tmclt6tQAJS1ChQo0WHbooOnlMjM5wzGTWbOYlLhxY94ESkvGnm7dgOnT6eudkmJcrokaNdz1otWqGdOuRRln717tIszPZ2LhIBDQgCkiC0Qk3/nydwC1POx2LYDdIrJHRHIBTAHQ2Z/zxMezsJjRNGpE75HKlbVgiSeeMP48hWnShDfFzZtLV37N3bt5XQIMtSxaslovAwYws329elSH3HqrMe1alHEefJCznsREPvboEZTTGqk96wPgOw/v1wRQOOXJAQCtfGmwfn0uAVu35p/KDCpW5NJ/2TKWSva3Nn15YeBAVja12TioVa1qTLsxMWEWa25ROkhOZpXJP/9ktii7PSinLdHoo5RaCMCTA8xgEfnRuc9gAC0B/D8p0qBSqhuADiLyiPN1TwCtROQpL+frC6Cv82VjAFt8/zqmUQVAuCQqs2TxjCWLZyxZPNNARPw2L5Y4wxSRfxf3uVKqN4A7ALQrOlg6OQigdqHXtZzveTvf5wA+d7adqseSZTThIgdgyeINSxbPWLJ4Rimlq/ZNoFbyDgBeAnCXiHgLrFsDoL5S6lKlVDSAewHMCuS8FhYWFqEgUCv5GACJAH5RSm1QSn0KAEqpGkqpOQDgNAo9BWA+gO0ApoqID1kZLSwsLMKLgIw+IlLPy/uHAHQs9HoOgDk6TvG5TtGMJlzkACxZvGHJ4hlLFs/okiWsI30sLCwswolyl97NwsLCQi9hNWCaHWrphxzdlVJblVIOpZRXq56riaKdAAAEKElEQVRSaq9SarNTf6vL6magLKb2ifMclZRSvyildjkfL/KyX4GzTzYopQw18JX0PZVSMUqp75yf/6GUSjby/H7K0lspdbxQXzxikhxfKqWOKaU8uuAp8qFTzk1KqRZmyOGjLG2VUmcL9clrJslRWym1WCm1zfn/6e9hH//7RU/GDrM2AO0BRDqfjwAwwsM+EQDSAFwGIBrARgCNDJajIYAGAJYAaFnMfnsBVDG5T0qUJRh94jzPSACDnM8Hefp9nJ+dN6kvSvyeAJ4E8Knz+b0AvguhLL0BjDHz+nCe52YALQBs8fJ5RwBzASgArQH8EUJZ2gKYHYQ+qQ6ghfN5Ihi6XfT38btfwmqGKUEKtfRBju0istPINvXioyym94mTzgAmOJ9PAOBDSTVD8eV7FpbxewDtlDIlYj9YfV4iIrIMwKlidukMYKKQ3wFUVErpSBJqiCxBQUQOi8g65/NzoIdOzSK7+d0vYTVgFqEPOPoXxVOoZdGOCBYCYIFSaq0zQilUBKtPqonIYefzIwC8pcqIVUqlKqV+V0oZOaj68j3/2cd58z0LwIwstb72eVfncu97pVRtD58Hg3D6zwDAdUqpjUqpuUqpK80+mVMt0xzAH0U+8rtfgp6J0Y9Qy3wAk0Iphw/cKCIHlVIXg76oO5x32FDIYgjFyVL4hYiIUsqbi8W/nP1yGYBflVKbRSTNaFlLAT8BmCwiOUqpx8CZb0qIZQo168Dr47xSqiOAHwDUN+tkSik7gOkABohIwCljgj5gSpBDLfXK4WMbB52Px5RSM8Flmt8DpgGyGNInJcmilDqqlKouIoedSxePVd0L9csepdQS8O5uxIDpy/d07XNAKRUJoAKAkwac229ZRKTweceDOuBQYNj1ESiFBy0RmaOUGquUqiIihseYK6WiwMFykojM8LCL3/0SVktyVYpCLZVSCUqpRNdz0GAVqkQhweqTWQB6OZ/3AnDB7FcpdZFSKsb5vAqAGwBsM+j8vnzPwjJ2A/Crlxuv6bIU0YfdBerRQsEsAA86rcKtAZwtpFoJKkqpS1w6ZaXUteAYZPgNzXmOLwBsF5FRXnbzv1/Mtlb5adnaDeoUNjg3l7WzBoA5Raxbf4KzlsEmyNEF1GfkADgKYH5ROUDr6EbnttUMOXyVJRh94jxHZQCLAOwCsBBAJef7LQGMdz6/HsBmZ79sBvCwwTJc8D0BvAHeZAEgFsA057W0GsBlJl6vJcnytvPa2AhgMYArTJJjMoDDAPKc18rDAB4H8LjzcwUm8U5z/iZePT+CIMtThfrkdwDXmyTHjaCNYVOh8aRjoP1iRfpYWFhY+EhYLcktLCwswhlrwLSwsLDwEWvAtLCwsPARa8C0sLCw8BFrwLSwsLDwEWvAtLCwsPARa8C0sLCw8BFrwLSwsLDwkf8PDt2jkmUeOgQAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xv = xor[\"x\"]\n",
"yv = xor[\"y\"]\n",
"\n",
"plt.figure(figsize=(5, 5))\n",
"plt.xlim([-2, 2])\n",
"plt.ylim([-2, 2])\n",
"plt.title(\"green points have label True\")\n",
"plt.scatter(xv, yv, color=colors, marker=\".\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Again, this example data set can not be separated by a line. But we see that points where the sign of x and y are the same appear to form one class, and point with different signs for x and y belong to the other class.\n",
"\n",
"How can we engineer a more descriptive feature which describes \"x and y have the same sign\" ? Here we can use the fact that the product of two numbers is postive if and only if both numbers have the same sign.\n",
"\n",
"So lets plot a histogram over `x * y`:"
]
},
{
"cell_type": "code",
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"products = xor[\"x\"] * xor[\"y\"]\n",
"\n",
"features_class_true = products[xor[\"label\"]]\n",
"features_class_false = products[~xor[\"label\"]]\n",
"\n",
"plt.hist(features_class_true, bins=30, color=\"g\", alpha=.5, histtype=\"stepfilled\")\n",
"plt.hist(features_class_false, bins=30, color=\"r\", alpha=.5, histtype=\"stepfilled\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this case a simple classifier would just introduce a threshold of 0 to distinguish both classes."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Other examples of feature engineering\n",
"\n",
"Feature engineering requires understanding your data to extract meaningful and discriminative (?) information.\n",
"\n",
"Proper feature engineering can boost the performance of a classifier significantly.\n",
"\n",
"Examples:\n",
"\n",
"- early classifiers to detect nudity in images used color histograms of full image and image patches (plus more features) to create suitable features. \n",
"\n",
"\n",
"- spam classifier: choice of dictionary, extra feature which counts words only in capital cases or words with unusual characters (like \"pill$\")\n",
"\n",
"\n",
"- to distinguish background noise from speach audio samples, the frequency distribution might help. Also std deviation or a histogram of loudness / energy of a sample might help.\n",
"\n",
"\n",
"- to classify DNA sequences, n-gram histograms (n>=1) can be benefitial.\n",
"- for geopolitical data a feature \"state\" can be enhanced by \"political system\" and / or \"gross national product (GNP)\".\n",
"\n",
"\n",
"- for sales data add a feature \"is week day\".\n",
"\n",
"\n",
"Most cases are beyond the 2- or 3D case and visual inspection can be difficult. Thus engineering features as we did in the 2D examples becomes tricky. But here are some general recommendations:\n",
"\n",
"- use statistics (mean, std deviations, higher order features) as well as histograms if applicable.\n",
"\n",
"- polynomial features (e.g. extend `x, y` to `x, y, x * y, x ** 2, y ** 2`) (see examples section).\n",
"\n",
"- image classification: dig into *computer vision* to learn about image descriptors.\n",
"\n",
"- audio classification: learn about FFT, wavelets, filter banks, power spectrum, ...\n",
"\n",
"- try to incorporate external data.\n",
"\n",
"*Comment*: \n",
"\n",
"We will see later that adding too many features can introduce other problems (-> *overfitting*) but there are also methods for feature selection in this case (see https://scikit-learn.org/stable/modules/feature_selection.html)"
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Examples below only discuss the two classes case !?\n",
"\n",
"\n",
"The following examples in this script will only consider two class problems. \n",
"Before we dig deeper into classification, we want to say a few words on how can we handle more than two classes. \n",
"\n",
"\n",
"The general idea for `n > 2` classes is to build multiple 2-class classifiers and determine a winner:\n",
"\n",
"- the **one-vs-all** approach builds `n` classifiers for \"label n vs. the rest\". \n",
"\n",
"\n",
"- the **one-vs-one** approach builds classifiers for `label i vs label j` (in total `n x (n - 1) / 2` classifiers).\n",
"\n",
"For new incoming data then the `n` resp. `n x n` classifiers are applied and the overall winner class is the final result.\n",
"\n",
"For the digit classificaton example:\n",
"\n",
"- we could build 10 classifiers `is it 0 or one of the others`, `is it 1 one or one of the others`, etc.\n",
" \n",
" A new image then would hopefully yield `True` for exactly one of the classifier, in other situations the result is unclear.\n",
" \n",
" \n",
"- we could build 45 classifiers `is it 0 or 1`, `is it 0 or 2`, etc.\n",
"\n",
" For a new image we could choose the final outcome based on which of the classifiers \"wins\" most often.\n",
"\n",
"\n",
"#### Note:\n",
"In `scikit-learn` many classifiers support such multi-class problems out of the box and also offers functionalities to implement `one-vs-all` or `one-vs-one` for specific cases. See https://scikit-learn.org/stable/modules/multiclass.html"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercise section 2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To prepare the next bigger exercise, we quickly introduce how to add so called polynomial features to our data:"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0 1 2 3 4\n",
"0 -1.539782 0.950822 2.370928 -1.464059 0.904063\n",
"1 0.436266 -1.768324 0.190328 -0.771460 3.126968\n",
"2 -1.466436 1.391890 2.150435 -2.041118 1.937358\n",
"3 -1.037642 -0.953587 1.076700 0.989482 0.909329\n",
"4 -0.691444 -0.219826 0.478094 0.151997 0.048323\n",
"5 1.436550 -0.046027 2.063676 -0.066121 0.002119\n",
"6 0.664361 -1.234410 0.441375 -0.820094 1.523768\n",
"7 0.164649 -1.848453 0.027109 -0.304346 3.416779\n",
"8 -1.883945 -0.222088 3.549248 0.418402 0.049323\n",
"9 0.934993 -1.081893 0.874212 -1.011563 1.170493\n"
]